KunWeb/ciyon/web/admin/rigger/admin.html

251 lines
10 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<link href="/jscss/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" charset="utf-8" src="/jscss/theme.js"></script>
<style>
.tabledepart {
white-space: nowrap;
background: var(--bg1);
min-width: 10em;
padding: 0.5em 0;
border-radius: 0.5em;
line-height: 2em;
cursor: pointer;
}
.tabledepart>div {
padding: 0 0.5em;
transition: all 0.8s;
}
.tabledepart>div.selected {
color: var(--man5);
background: var(--bg2);
}
</style>
</head>
<body>
<div class="container">
<form class="search" onsubmit="table.search(this,'btn');return false;">
<ul></ul>
<div>
<div class="sinps"></div>
<div class="sbtns">
<button data-lang class="btn" type="submit">查询</button>
</div>
</div>
</form>
<div style="display:flex;flex:1;min-height: 0;">
<div class="hidden-dn-sm" style="margin-top:0.5em;overflow: overlay;margin-right: 0.5em;">
<div class="tabledepart"></div>
</div>
<div style="flex:1;display:flex;flex-direction:column;min-width: 0;">
<div class="topbtn">
<a data-lang class="btn" onclick="edit(0)">添加管理员</a>
<a data-lang class="btn" onclick="multiin()">导入</a>
<a data-lang class="btn" onclick="exportxls()">导出</a>
</div>
<div class="table">
<div class="loading col-24">Loading...</div>
<div class="list">
</div>
<div>
<div class="btmbtn">
<a data-lang class="btn def" onclick="ciyfn.select_all(table)">全选</a>
<a data-lang class="btn def" onclick="ciyfn.select_diff(table)">反选</a>
|
<a data-lang class="btn dag" onclick="ciyfn.select_callfunc(table, this,'del','已选{n}条,是否批量删除?',{},function(json){table.delline(json)})">批量删除</a>
</div>
<div class="page"></div>
</div>
</div>
</div>
</div>
</div>
<div id="alert_multiin" style="display:none;">
<div style="display:flex;">
<div>
<ciy-upload com="file" />
</div>
<div style="margin-left:0.3em;">
<a data-lang class="btn btn-sm def" href="/ud/inpl/zc_admin.xlsx" target="_blank">下载导入模板</a><br />
<div data-lang>每次导入建议不超过1000条</div>
<div data-lang>导入更新,首列为导出的行码</div>
<div data-lang>请按模版列填写</div>
</div>
</div>
</div>
<div id="alert_edit" style="display:none;">
<div class="char4 row">
<div class="ciy-form col-24 col-sm-8">
<div>
<ciy-upload path="{Y}/{m}{d}/avar" showwh="13em" com="icon" num="1" type="jpg,png,webp" zipjpg="70" imgwidth="400" imgheight="400" zipext="jpg" style="justify-content: center;" />
</div>
</div>
<div class="ciy-form col-24 col-sm-8">
<label data-lang class="imp">姓名</label>
<div>
<input type="text" name="name" style="width:100%;" />
</div>
</div>
<div class="ciy-form col-24 col-sm-8">
<label data-lang class="imp">状态</label>
<div>
<ciy-select com="stpstatus" />
</div>
</div>
<div class="ciy-form col-24 col-sm-8">
<label data-lang class="imp">手机号</label>
<div>
<input type="text" name="mobile" style="width:100%;" />
</div>
</div>
<div class="ciy-form col-24 col-sm-8">
<label data-lang class="imp">性别</label>
<div>
<ciy-select com="sex" />
</div>
</div>
<div class="ciy-form col-24 col-sm-16">
<label data-lang>所属组织</label>
<div>
<ciy-selcas com="departid" all="本级" />
</div>
</div>
<div class="ciy-form col-24 col-sm-16">
<label data-lang id="id_role_label">岗位角色</label>
<div id="id_role">
<ciy-select com="roleid" minwidth="10em" />
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/jscss/ciy.js"></script>
<script type="text/javascript" src="/jscss/ciytable.js"></script>
<script type="text/javascript" src="/jscss/ciycmp.js"></script>
<script type="text/javascript" src="/jscss/ciycmp2.js"></script>
<script type="text/javascript" src="../common.js"></script>
<script type="text/javascript">
'use strict';
var table;
var Glob = {};
ciyfn.pageload(function () {
table = new ciyclass.table({
dom: '.table'
, url: 'init'
, pagecount: 10
, fn_beforedata: function (json) {
if (json.once)
filldepart(json.zc_depart);
ciyfn.fillsearch({
searchdom: '.search'
, data: json
, liall: '全部'
, lidata: 'stpstatus'
, liclick: function (dom) {
table.search(dom, 'li');
}
});
return json;
}
, fn_tdcontent: function (key, datashow, field, data) {
if (key == '_btn') {
var html = '';
html += `<a data-lang class="btn" onclick="menubtn(this, 'edit')">修改</a>`;
html += `<a data-lang class="btn warn" onclick="menubtn(this, 'repass')">重置密码</a>`;
return html;
}
}
});
table.callpage(1);
});
function filldepart(departs) {
departs = ciyfn.conv_treerow(departs, 0, 0);
var html = '<div data-id="" data-lang class="selected">全部</div>';
for (var i in departs) {
var deep = toint(departs[i]['_deep']);
html += '<div data-id="' + departs[i]['id'] + '" data-lang>' + ' '.repeat(deep) + departs[i]['name'] + '</div>';
}
$5('.tabledepart').html(html);
$5('.tabledepart').on('click', 'div', function (e) {
$5('.tabledepart .selected').removeClass('selected');
$5(e.currentTarget).addClass('selected');
var id = $5(e.currentTarget).attr('data-id');
table.post.departid = id;
table.callpage(1);
});
}
function chgdepart(departid) {
table.post.departid = departid;
table.callpage(1);
}
function menubtn(dom, btn) {
var id = $5(dom).parent('tr').attr('data-id');
if (btn == 'edit') {
edit(id);
}
if (btn == 'repass') {
ciyfn.callfastfunc(dom, '是否重置密码?', 'repass', { id: id }, function (json) { ciyfn.alert(json.msg) });
}
}
function edit(id) {
ciyfn.alert({
title: id == 0 ? '新建' : '修改'
, width: 'pc'
, content: document.getElementById("alert_edit").innerHTML
//, noparent:true
, fn_showed: function (doc, dom) {
Glob.edit = id;
if (id == 0 && !table.data[0])
table.data[0] = { stpstatus: 10, _urole: [] };
$5('[name=id]', dom).val(table.data[id].id);
$5('[name=name]', dom).val(table.data[id].name);
$5('[name=mobile]', dom).val(table.data[id].mobile);
ciycmp({ dom: $5('[com=icon]', dom), value: table.data[id].icon });
ciycmp({ dom: $5('[com=stpstatus]', dom), value: table.data[id].stpstatus, range: 'stpstatus' });
ciycmp({ dom: $5('[com=sex]', dom), value: table.data[id].sex, range: 'sex' });
ciycmp({ dom: $5('[com=departid]', dom), value: table.data[id].departid, range: table.json.zc_depart });
ciycmp({ dom: $5('[com=roleid]', dom), value: table.data[id].roleid, range: table.json.zc_role });
}
, btns: ["提交", "*关闭"]
, cb: function (opn) {
if (opn.btn == "关闭")
return opn.close();
opn.inputs.id = id;
if (ciyfn.throttle(opn.dombtn)) return;
ciyfn.callfunc('update', opn.inputs, function (json) {
table.updateline(json);
opn.close();
ciyfn.toast('提交成功');
});
}
});
}
function multiin() {
ciyfn.table_multiin('importxls', document.getElementById("alert_multiin").innerHTML, function (json) {
ciyfn.toast('导入成功');
table.cachecount = -1;
table.callpage();
});
}
function exportxls() {
ciyfn.table_exportxls('exportxls', table, function (json) {
ciyfn.alert({
content: '<div style="text-align:center;"><span data-lang>导出数据已生成</span><br/><br/><a data-lang class="btn lg" href="' + json.url + '" target="_blank">下载数据</a></div>'
, btns: null
});
});
}
</script>
</body>
</html>