302 lines
9.7 KiB
HTML
302 lines
9.7 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>
|
||
</head>
|
||
|
||
<body>
|
||
<div class="container">
|
||
<form class="search" onsubmit="search(this);return false;">
|
||
<div>
|
||
<div class="sinps"></div>
|
||
<div class="sbtns">
|
||
<button class="lang btn" type="submit">查询</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
<div class='table'>
|
||
<div class="topbtn">
|
||
<a class="lang btn btn-multi" onclick="multiadd(0)">批量添加</a>
|
||
<a class="lang btn btn-multi" onclick="showtext()">文本</a>
|
||
<a class="lang btn btn-multi" onclick="createurl()">字典链接</a>
|
||
<a class="lang btn def" onclick="ciyfn.sendsignal(window.top,'restorage', {show:true})">刷新缓存</a>
|
||
<span><code id="id_code" style="display:none;"></code></span>
|
||
</div>
|
||
<div class="loading">Loading...</div>
|
||
<div class="list"></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}条,确认是否删除?',{cbid:table.json.cbid},function(json){table.delline(json)})">批量删除</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="alert_multiadd" style="display:none;">
|
||
<div class="char2">
|
||
<div class="ciy-form">
|
||
<label class="lang">格式</label>
|
||
<div>
|
||
<ciy-radio com="multi_format" value="1"></ciy-radio>
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form top">
|
||
<label class="lang">代码</label>
|
||
<div>
|
||
<ciy-textarea com="multi_code" minheight="26em"></ciy-textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="alert_createurl" style="display:none;">
|
||
<div class="char4">
|
||
<div class="ciy-form">
|
||
<label class="lang">批量添加</label>
|
||
<div>
|
||
<ciy-switch com="ismulti" y="支持" n="无"></ciy-switch>
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form">
|
||
<label class="lang">子码</label>
|
||
<div>
|
||
<ciy-switch com="issub" y="支持" n="无"></ciy-switch>
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form">
|
||
<label class="lang">扩展名</label>
|
||
<div>
|
||
<input type="text" name="ext" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript" src="/jscss/ciy.js"></script>
|
||
<script type="text/javascript" src="/jscss/ciycmp.js"></script>
|
||
<script type="text/javascript" src="/jscss/ciytable.js"></script>
|
||
<script type="text/javascript" src="../common.js"></script>
|
||
<script type="text/javascript">
|
||
'use strict';
|
||
var table;
|
||
var Glob = {};
|
||
ciyfn.pageload(function () {
|
||
$5(document).on('keydown', function (e) {
|
||
if (e.ctrlKey && e.keyCode == 83) {//Ctrl+S
|
||
e.preventDefault();
|
||
var upbtns = $5('.upbtn:not(.def)');
|
||
upbtns.each(function (dom) {
|
||
menubtn(dom, 'edit');
|
||
}, 0.5);
|
||
}
|
||
});
|
||
table = new ciyclass.table({
|
||
dom: '.table'
|
||
, url: 'init'
|
||
, thfield: function (name, key, field, json) {
|
||
if (key == 'name') {
|
||
if (table.json.issub)
|
||
return '<a style="font-size: 1.5em;vertical-align: middle;padding-right: 0.5em;" onclick="$5(\'div[data-treeid][data-deep=0]\').trigger(\'click\');">⇅</a> ' + ciyfn.lang(name);
|
||
}
|
||
}
|
||
, fn_beforedata: function (json) {
|
||
json.list = ciyfn.conv_treerow(json.list, 0, 0);
|
||
if (json.once) {
|
||
if (!json.ismulti)
|
||
$5('.btn-multi').hide('', 0, true);
|
||
else
|
||
$5('#id_code').text(json.codename).show();
|
||
}
|
||
ciyfn.fillsearch({
|
||
searchdom: '.search'
|
||
, data: json
|
||
});
|
||
return json;
|
||
}
|
||
, fn_trprop: function (data, json) {
|
||
var rettxt = ' data-upid="' + data['upid'] + '"';
|
||
if (data['_count'] == '0')
|
||
rettxt += ' data-search="ok"';
|
||
// if (data['_deep'] > 0)
|
||
// rettxt += ' style="display:none;"';
|
||
return rettxt;
|
||
}
|
||
, fn_tdcontent: function (key, datashow, field, data) {
|
||
if (key == 'extdata' || key == 'codeid' || key == 'clas' || key == 'csort') {
|
||
return '<input style="width:100%;" onkeydown="btnset(this)" type="text" name="' + key + '" value="' + datashow + '"/>';
|
||
}
|
||
if (key == 'isuse') {
|
||
return '<ciy-switch com="' + key + '" value="' + data[key] + '" y="可选" n="显示" />';
|
||
}
|
||
if (key == '_btn') {
|
||
var html = '';
|
||
if (data['id'] == 0)
|
||
html += '<a class="lang btn def upbtn" onclick="menubtn(this, \'edit\')">新增</a>';
|
||
else
|
||
html += '<a class="lang btn def upbtn" onclick="menubtn(this, \'edit\')">更新</a>';
|
||
if (data['id'] > 0 && table.json.issub)
|
||
html += '<a class="lang btn def" onclick="menubtn(this, \'sub\')">添加子码</a>';
|
||
return html;
|
||
}
|
||
if (key == 'name') {
|
||
if (data['id'] == 0) {
|
||
var html = '';
|
||
if (table.json.issub)
|
||
html += '<ciy-checkbox com="upcheck" text="' + ciyfn.lang('子码') + '" style="margin-right: 0.3em;"></ciy-checkbox>';
|
||
html += '<input style="width:100%;" onkeydown="btnset(this)" type="text" name="' + key + '" value="' + data['name'] + '"/>';
|
||
return { divprop: ' style="display: flex;"', datashow: html };
|
||
}
|
||
var deep = toint(data['_deep']);
|
||
var html = ' '.repeat(deep);
|
||
if (data['_count'] > 0) {
|
||
html += '<span class="ciy-tree-dot">▶</span> <input style="margin-left: 0.3em;width:100%;" onkeydown="btnset(this)" type="text" name="' + key + '" value="' + data['name'] + '"/>';
|
||
} else {
|
||
if (deep > 0)
|
||
html += ' ';
|
||
html += '<input style="width:100%;" onkeydown="btnset(this)" type="text" name="' + key + '" value="' + data['name'] + '"/>';
|
||
}
|
||
return {
|
||
divprop: (data['_count'] > 0 ? ' data-treeid="' + data['id'] + '"' : '') + ' data-deep="' + data['_deep'] + '" style="display: flex;" class="ciy-tree-spread"'// class="ciy-tree-spread"
|
||
, datashow: html
|
||
};
|
||
}
|
||
}
|
||
, fn_done: function () {
|
||
table.tree();
|
||
var doms = $5('[com]', table.dom);
|
||
for (var i = 0; i < doms.length; i++) {
|
||
ciycmp({
|
||
dom: doms[i]
|
||
, onchange: function (e) {
|
||
if (e.from == 'init') return;
|
||
btnset(e.dom);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
});
|
||
table.callpage(1);
|
||
});
|
||
function search(dom) {
|
||
Glob.key = ciyfn.getform(dom);
|
||
$5('[data-search]').each(function (rdom) {
|
||
var bshow = true;
|
||
for (var k in Glob.key) {
|
||
if (!Glob.key[k])
|
||
continue;
|
||
var val = $5('[name=' + k + ']', rdom).val();
|
||
if (val.indexOf(Glob.key[k]) == -1) {
|
||
bshow = false;
|
||
break;
|
||
}
|
||
}
|
||
rdom.style.display = bshow ? '' : 'none';
|
||
});
|
||
}
|
||
function btnset(dom) {
|
||
var domtr = $5(dom).parent('tr');
|
||
$5('.btn.upbtn', domtr).removeClass('def');
|
||
}
|
||
function createurl() {
|
||
ciyfn.alert({
|
||
title: '字典链接生成'
|
||
, width: 'mb'
|
||
, content: document.getElementById("alert_createurl").innerHTML
|
||
, btns: ["复制", "*关闭"]
|
||
, fn_showed: function (doc, dom) {
|
||
ciycmp({ dom: $5('[com="issub"]', dom) });
|
||
ciycmp({ dom: $5('[com="ismulti"]', dom) });
|
||
}
|
||
, cb: function (opn) {
|
||
if (opn.btn == "关闭")
|
||
return opn.close();
|
||
var txt = 'rigger/cata.html?cbid=' + table.json.cbid;
|
||
if (opn.inputs.issub == 1)
|
||
txt += '&issub=yes';
|
||
if (opn.inputs.ismulti == 1)
|
||
txt += '&ismulti=yes';
|
||
if (opn.inputs.ext)
|
||
txt += '&ext=' + opn.inputs.ext;
|
||
ciyfn.copyboard(txt);
|
||
ciyfn.toast(txt);
|
||
}
|
||
});
|
||
}
|
||
function menubtn(dom, btn) {
|
||
var trdom = $5(dom).parent('tr');
|
||
var id = trdom.attr('data-id');
|
||
if (btn == 'edit') {
|
||
var postparam = ciyfn.getform(dom, 'TR');
|
||
postparam.id = id;
|
||
if (id > 0)
|
||
postparam.upid = table.data[id].upid;
|
||
else {
|
||
if (postparam.upcheck != "") {
|
||
var domselect = $5('.table tr.selected');
|
||
if (domselect.length != 1)
|
||
return ciyfn.alert('请只选择一个母代码');
|
||
postparam.upid = domselect.attr('data-id');
|
||
}
|
||
}
|
||
postparam.cbid = table.json.cbid;
|
||
ciyfn.callfunc('update', postparam, function (json) {
|
||
$5(dom).addClass('def');
|
||
if (id == 0) {
|
||
$5('input', trdom).val('');
|
||
table.updateline(json);
|
||
}
|
||
});
|
||
}
|
||
if (btn == 'sub') {
|
||
multiadd(id);
|
||
}
|
||
}
|
||
function showtext() {
|
||
var text = '';
|
||
for (var i in table.data) {
|
||
if (table.data[i].id == 0)
|
||
continue;
|
||
text += table.data[i].name + ',' + table.data[i].codeid + '<br/>';
|
||
}
|
||
ciyfn.alert(text);
|
||
}
|
||
function multiadd(upid) {
|
||
var newtitle = '根码';
|
||
if (upid == 0) {
|
||
var domselect = $5('.table tr.selected');
|
||
if (domselect.length == 1)
|
||
upid = domselect.attr('data-id');
|
||
}
|
||
if (upid > 0)
|
||
newtitle = '子码 - ' + table.data[upid].name;
|
||
ciyfn.alert({
|
||
title: '批量新增' + newtitle + ' <span style="font-size:0.6em;">(一行一条)</span>'
|
||
, width: 'mb'
|
||
, content: document.getElementById("alert_multiadd").innerHTML
|
||
, btns: ["新增", "*关闭"]
|
||
, fn_showed: function (doc, dom) {
|
||
ciycmp({ dom: $5('[com="multi_format"]', dom), range: [{ id: 1, name: '名称,值,扩展值' }, { id: 2, name: '值,名称,扩展值' }] });
|
||
ciycmp({ dom: $5('[com="multi_code"]', dom) });
|
||
}
|
||
, cb: function (opn) {
|
||
if (opn.btn == "关闭")
|
||
return opn.close();
|
||
opn.inputs.upid = upid;
|
||
opn.inputs.cbid = table.json.cbid;
|
||
if (ciyfn.throttle(opn.dombtn)) return;
|
||
ciyfn.callfunc('multiadd', opn.inputs, function (json) {
|
||
opn.close();
|
||
ciyfn.toast('操作成功', function () {
|
||
location.reload();
|
||
});
|
||
});
|
||
}
|
||
});
|
||
}
|
||
</script>
|
||
</body>
|
||
|
||
</html> |