c5_labsci/web/admin/demo/catlist.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 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" zipjpg="0.7" 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.once.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.once.zc_depart });
ciycmp({ dom: $5('[com=roleid]', dom), value: table.data[id].roleid, range: table.once.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>