123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- const associationOprObj = {
- treeObj: null,
- iniAssociateNodes: function(allTopTplNodes) {
- // 同类表初始化
- const me = associationOprObj;
- zTreeHelper.createTreeDirectly(
- allTopTplNodes,
- associationSetting,
- "tpl_data_info_association",
- associationOprObj
- );
- me.treeObj.expandAll(true);
- const topNodes = me.treeObj.getNodes();
- const private_setup_checked = function (itemNode) {
- if (itemNode.nodeType === RT.NodeType.NODE) {
- me.treeObj.setChkDisabled(itemNode, true);
- } else if (itemNode.nodeType === RT.NodeType.TEMPLATE) {
- me.treeObj.checkNode(itemNode, false); // 在初始化时,默认是不选;只有用户选择了具体的某一个表时,才会更新选择
- }
- if (itemNode.items && itemNode.items.length > 0) {
- for (let subItem of itemNode.items) {
- private_setup_checked(subItem);
- }
- }
- };
- for (let node of topNodes) {
- me.treeObj.setChkDisabled(node, true);
- if (node.items && node.items.length > 0) {
- for (let item of node.items) {
- me.treeObj.setChkDisabled(item, true);
- private_setup_checked(item);
- }
- }
- }
- },
- refreshNodes: function (refNode) {
- const me = this;
- // 不管三七二十一,先把所有节点的check给清除
- const setUnCheck = (itemNode) => {
- me.treeObj.checkNode(itemNode, false);
- if (itemNode.items && itemNode.items.length > 0) {
- for (let subItem of itemNode.items) {
- setUnCheck(subItem);
- }
- }
- };
- const topNodes = me.treeObj.getNodes();
- topNodes.forEach(node => {
- setUnCheck(node);
- });
- const checkRefTpl = (itemNodes, associateRefIds) => {
- for (const itemNode of itemNodes) {
- if (itemNode.nodeType === RT.NodeType.TEMPLATE) {
- if (associateRefIds.includes(itemNode.refId)) {
- me.treeObj.checkNode(itemNode, true);
- }
- } else {
- if (itemNode.items && itemNode.items.length > 0) {
- checkRefTpl(itemNode.items, associateRefIds);
- }
- }
- }
- };
- $("#hasAssociationChk").get(0).checked = false;
- if (refNode && refNode.nodeType === RT.NodeType.TEMPLATE) {
- if (refNode.associateRefIds && refNode.associateRefIds.length > 0) {
- $("#hasAssociationChk").get(0).checked = true;
- checkRefTpl(topNodes, refNode.associateRefIds);
- }
- }
- },
- getCheckedRefIds: function() {
- const me = associationOprObj;
- const rst = [];
- const getCheckedId = (itemNodes) => {
- for (const itemNode of itemNodes) {
- if (itemNode.nodeType === RT.NodeType.TEMPLATE && itemNode.checked) {
- rst.push(itemNode.refId);
- }
- if (itemNode.items && itemNode.items.length > 0) {
- getCheckedId(itemNode.items);
- }
- }
- };
- if (me.treeObj) {
- const topNodes = me.treeObj.getNodes();
- getCheckedId(topNodes);
- }
- return rst;
- },
- onCheck: function(event, treeId, treeNode) {
- const me = associationOprObj;
- if (zTreeOprObj.currentNode) {
- // 不考虑细节交互了,直接从头到尾扫一遍,重新整理associateRefIds信息,最后更新
- zTreeOprObj.currentNode.associateRefIds = me.getCheckedRefIds();
- if (zTreeOprObj.currentNode.associateRefIds.length > 0) {
- $("#hasAssociationChk").get(0).checked = true;
- } else {
- $("#hasAssociationChk").get(0).checked = false;
- }
- const topPNode = zTreeOprObj.getParentNodeByNodeLevel(zTreeOprObj.currentNode, NODE_LEVEL_COMPILATION_NEW);
- const newTopNode = zTreeOprObj.buildRootNodeDoc(topPNode);
- zTreeOprObj.updateTreeRootNode(newTopNode, true, function (rst) {
- if (!rst) {
- alert("修改同类表请求失败!");
- }
- });
- }
- },
- };
|