270 lines
8.3 KiB
HTML
270 lines
8.3 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>
|
||
<a class="lang btn" onclick="addnew()">添加字典</a>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
<div class='table'>
|
||
<div class="loading">Loading...</div>
|
||
<div class="list"></div>
|
||
</div>
|
||
</div>
|
||
<div id="alert_edit" style="display:none;">
|
||
<div class="char4">
|
||
<div class="ciy-form">
|
||
<label class="lang">上级</label>
|
||
<div>
|
||
<ciy-select com="upid" style="width:auto;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form">
|
||
<label class="lang">库代码</label>
|
||
<div>
|
||
<input type="text" name="codeid" style="width:7em;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form">
|
||
<label class="lang">库名称</label>
|
||
<div>
|
||
<input type="text" name="name" style="width:9em;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form">
|
||
<label class="lang">排序</label>
|
||
<div>
|
||
<input type="text" name="csort" style="width:4em;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form">
|
||
<label style="flex-direction: column;align-items: normal;align-self: flex-start;">
|
||
<div class="lang py3">引用表</div>
|
||
<div class="lang txt-smmm txt-gray">一行一个</div>
|
||
<div class="lang txt-smmm txt-gray">表名,字段名</div>
|
||
</label>
|
||
<div>
|
||
<ciy-textarea com="extdata" minheight="10em"></ciy-textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div id="alert_addnew" style="display:none;">
|
||
<div class="char2 row">
|
||
<div class="ciy-form col-24">
|
||
<label class="lang">上级</label>
|
||
<div>
|
||
<ciy-select com="upid" style="width:auto;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24 col-sm-12">
|
||
<label class="lang">库ID</label>
|
||
<div>
|
||
<input name="cateid" type="text" style="width:6em;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24 col-sm-12">
|
||
<label class="lang">值ID</label>
|
||
<div>
|
||
<input name="valid" type="text" style="width:6em;" />
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24">
|
||
<div>
|
||
<ciy-textarea com="data" minheight="10em"></ciy-textarea>
|
||
</div>
|
||
</div>
|
||
<div class="ciy-form col-24">
|
||
<code>
|
||
首行库信息: 库名称,库代码<br/>
|
||
次行字典项: 字典值名称,值ID
|
||
</code>
|
||
</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 () {
|
||
table = new ciyclass.table({
|
||
dom: '.table'
|
||
, url: 'init'
|
||
, thfield: function (name, key, field, json) {
|
||
if (key == 'name') {
|
||
return '<a class="exfold">⇅</a> ' + ciyfn.lang(name);
|
||
}
|
||
}
|
||
, fn_beforedata: function (json) {
|
||
json.list = ciyfn.conv_treerow(json.list, 0, 0);
|
||
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"';
|
||
return rettxt;
|
||
}
|
||
, fn_tdcontent: function (key, datashow, field, data) {
|
||
if (key == 'name') {
|
||
var deep = toint(data['_deep']);
|
||
var html = ' '.repeat(deep);
|
||
if (data['_count'] > 0) {
|
||
html += '<span class="ciy-tree-dot" style="margin-top: 0;margin-right:0.5em;">▶</span> ' + ciyfn.lang(data['name']) + '<span style="font-size:0.7em;">(' + data['_count'] + ')</span>';
|
||
} else {
|
||
if (deep > 0)
|
||
html += ' ';
|
||
html += ciyfn.lang(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
|
||
};
|
||
}
|
||
if (key == '_btn') {
|
||
var html = '';
|
||
html += '<a class="lang btn" onclick="edit(' + data['id'] + ',' + data['upid'] + ')">编辑</a>';
|
||
html += '<a class="lang btn dag" onclick="menubtn(this, \'del\')">删除</a>';
|
||
if (data['codeid'] != '')
|
||
html += '<a class="lang btn" onclick="menubtn(this, \'code\')">代码管理</a>';
|
||
return html;
|
||
}
|
||
}
|
||
, fn_done: function () {
|
||
table.tree();
|
||
}
|
||
});
|
||
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('[field=' + k + ']', rdom).text();
|
||
if (val.indexOf(Glob.key[k]) == -1) {
|
||
bshow = false;
|
||
break;
|
||
}
|
||
}
|
||
rdom.style.display = bshow ? '' : 'none';
|
||
});
|
||
}
|
||
function menubtn(dom, btn) {
|
||
var id = $5(dom).parent('tr').attr('data-id');
|
||
if (btn == 'del') {
|
||
ciyfn.callfastfunc(dom, '是否删除库?', 'del', { ids: id }, function (json) { table.delline(json) });
|
||
}
|
||
if (btn == 'code') {
|
||
ciyfn.sendsignal(window.top, 'manage_ifropen', {
|
||
url: 'rigger/cata.html?issub=yes&ismulti=yes&ext=扩展值&cbid=' + id
|
||
, name: ciyfn.lang('代码管理') + '<code>' + ciyfn.lang(table.data[id].name) + '</code>'
|
||
});
|
||
}
|
||
}
|
||
function edit(id) {
|
||
ciyfn.alert({
|
||
title: id == 0 ? '新建' : '修改'
|
||
, width: 'mb'
|
||
, content: document.getElementById("alert_edit").innerHTML
|
||
, fn_showed: function (doc, dom) {
|
||
if (id == 0 && !table.data[0])
|
||
table.data[0] = { upid: 0, csort: 10 };
|
||
|
||
var range = [];
|
||
range.push({ id: 0, name: '【根目录】' });
|
||
for (var i in table.json.list) {
|
||
if (table.json.list[i].upid != 0)
|
||
continue;
|
||
if (table.json.list[i].name == '')
|
||
continue;
|
||
range.push({ id: table.json.list[i].id, name: table.json.list[i].name });
|
||
}
|
||
ciycmp({ dom: $5('[com=upid]', dom), value: table.data[id].upid, range: range });
|
||
ciycmp({ dom: $5('[com="extdata"]', dom) });
|
||
$5('[name=name]', dom).val(table.data[id].name);
|
||
$5('[name=extdata]', dom).val(table.data[id].extdata);
|
||
$5('[name=codeid]', dom).val(table.data[id].codeid);
|
||
$5('[name=csort]', dom).val(table.data[id].csort);
|
||
}
|
||
, 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) {
|
||
opn.close();
|
||
ciyfn.toast('操作成功', function () {
|
||
if (table.data[id].upid != opn.inputs.upid)
|
||
location.reload();
|
||
else
|
||
table.updateline(json);
|
||
});
|
||
});
|
||
}
|
||
});
|
||
}
|
||
function addnew() {
|
||
ciyfn.callfunc('fore_addnew', {}, function (json) {
|
||
ciyfn.alert({
|
||
title: '添加字典'
|
||
, width: 'mb'
|
||
, content: document.getElementById("alert_addnew").innerHTML
|
||
, fn_showed: function (doc, dom) {
|
||
var range = [];
|
||
range.push({ id: 0, name: '【根目录】' });
|
||
for (var i in table.json.list) {
|
||
if (table.json.list[i].upid != 0)
|
||
continue;
|
||
if (table.json.list[i].name == '')
|
||
continue;
|
||
range.push({ id: table.json.list[i].id, name: table.json.list[i].name });
|
||
}
|
||
ciycmp({ dom: $5('[com=upid]', dom), value: 0, range: range });
|
||
ciycmp({ dom: $5('[com="data"]', dom) ,value: ',\n,\n,\n,\n,'});
|
||
$5('[name=cateid]', dom).val(json.cateid);
|
||
$5('[name=valid]', dom).val(json.valid);
|
||
}
|
||
, btns: ["添加", "*关闭"]
|
||
, cb: function (opn) {
|
||
if (opn.btn == "关闭")
|
||
return opn.close();
|
||
if (ciyfn.throttle(opn.dombtn)) return;
|
||
ciyfn.callfunc('addnew', opn.inputs, function (json) {
|
||
opn.close();
|
||
table.updateline(json);
|
||
ciyfn.toast('操作成功');
|
||
});
|
||
}
|
||
});
|
||
});
|
||
}
|
||
</script>
|
||
</body>
|
||
|
||
</html> |