KunWeb/web/admin/rigger/cataindex.html
2025-05-16 01:00:48 +08:00

202 lines
6.3 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>
</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="edit(0,0)">添加字典</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>
<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);
});
});
}
});
}
</script>
</body>
</html>