251 lines
10 KiB
HTML
251 lines
10 KiB
HTML
<!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 class="lang 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 class="lang btn" onclick="edit(0)">添加管理员</a>
|
||
<a class="lang btn" onclick="multiin()">导入</a>
|
||
<a class="lang btn" onclick="exportxls()">导出</a>
|
||
</div>
|
||
<div class="table">
|
||
<div class="loading col-24">Loading...</div>
|
||
<div class="list">
|
||
</div>
|
||
<div>
|
||
<div class="btmbtn">
|
||
<a class="lang btn def" onclick="ciyfn.select_all(table)">全选</a>
|
||
<a class="lang btn def" onclick="ciyfn.select_diff(table)">反选</a>
|
||
|
|
||
<a class="lang 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 class="lang btn btn-sm def" href="/ud/inpl/zc_admin.xlsx" target="_blank">下载导入模板</a><br />
|
||
<div class="lang">每次导入建议不超过1000条</div>
|
||
<div class="lang">导入更新,首列为导出的行码</div>
|
||
<div class="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 class="lang imp">姓名</label>
|
||
<div>
|
||
<input type="text" name="name" style="width:100%;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24 col-sm-8">
|
||
<label class="lang imp">状态</label>
|
||
<div>
|
||
<ciy-select com="stpstatus" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24 col-sm-8">
|
||
<label class="lang imp">手机号</label>
|
||
<div>
|
||
<input type="text" name="mobile" style="width:100%;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24 col-sm-8">
|
||
<label class="lang imp">性别</label>
|
||
<div>
|
||
<ciy-select com="sex" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24 col-sm-16">
|
||
<label class="lang">所属组织</label>
|
||
<div>
|
||
<ciy-selcas com="departid" all="本级" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24 col-sm-16">
|
||
<label class="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 class="lang btn" onclick="menubtn(this, 'edit')">修改</a>`;
|
||
html += `<a class="lang 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="" class="lang selected">全部</div>';
|
||
for (var i in departs) {
|
||
var deep = toint(departs[i]['_deep']);
|
||
html += '<div data-id="' + departs[i]['id'] + '" class="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 class="lang">导出数据已生成</span><br/><br/><a class="lang btn lg" href="' + json.url + '" target="_blank">下载数据</a></div>'
|
||
, btns: null
|
||
});
|
||
});
|
||
}
|
||
</script>
|
||
</body>
|
||
|
||
</html> |