c5_labsci/web/admin/rigger/cataindex.html
2026-01-27 00:52:00 +08:00

270 lines
8.3 KiB
HTML
Raw Permalink 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.

This file contains Unicode characters that might be confused with other characters. 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>
</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>