17 changed files with 426 additions and 77 deletions
-
33src/components/customerOrg/customerOrgEdit.vue
-
89src/components/customerOrg/customerOrgTree.vue
-
2src/components/patientRegister/customerOrgTreeAll.vue
-
2src/components/patientRegisterSign/customerOrgEdit.vue
-
201src/components/report/CusOrgOCX.vue
-
2src/components/report/PatientRegisterQueryNobtn.vue
-
35src/utlis/proFunc.js
-
113src/utlis/tree.js
-
2src/views/charge/charge.vue
-
2src/views/checkStatus/index.vue
-
2src/views/customerOrg/patientRegisterRefuse.vue
-
2src/views/doctorCheck/doctorCheck.vue
-
2src/views/doctorCheck/personnelBatch.vue
-
6src/views/doctorCheck/positiveresults.vue
-
2src/views/doctorCheck/unitphysicalexamination.vue
-
6src/views/fee-settings/diseaseStatistics.vue
-
2src/views/report/report.vue
@ -0,0 +1,113 @@ |
|||
//树对象相关操作 目前只支持单主键操作
|
|||
|
|||
//将list数据,生成tree
|
|||
function madeTree(dataSource, childNodeName, pidName, idName, pidVal) { |
|||
if (!dataSource || dataSource.length < 1) return []; |
|||
let trees = [] |
|||
let lchildNodeName = childNodeName || 'children'; |
|||
let lpidName = pidName || 'pid'; |
|||
let lidName = idName || 'id'; |
|||
|
|||
dataSource.forEach(e => { |
|||
let tree = {}, ret = null; |
|||
if (pidVal) { //根节点有具体的值
|
|||
if (e[lpidName] == pidVal) { |
|||
tree = e; |
|||
ret = madeTree(dataSource, lchildNodeName, lpidName, lidName, e[lidName]); |
|||
if (ret && ret.length > 0) tree[lchildNodeName] = ret; |
|||
trees.push(tree); |
|||
} |
|||
} else { |
|||
if (!e[lpidName]) { //根节点为0,空或null
|
|||
tree = e; |
|||
ret = madeTree(dataSource, lchildNodeName, lpidName, lidName, e[lidName]); |
|||
if (ret && ret.length > 0) tree[lchildNodeName] = ret; |
|||
trees.push(tree); |
|||
} |
|||
} |
|||
}) |
|||
return trees; |
|||
} |
|||
|
|||
//通过ID值,找出所有父节点值
|
|||
function getTreePids(tree, childNodeName, pidName, idName, idVal) { |
|||
let pids = [],treeNode = null; |
|||
if (!tree || tree.length < 1) return []; |
|||
if (!idVal) return []; |
|||
let lchildNodeName = childNodeName || 'children'; |
|||
let lpidName = pidName || 'pid'; |
|||
let lidName = idName || 'id'; |
|||
|
|||
treeNode = getTreeNode(tree,lchildNodeName,lidName, idVal); |
|||
//console.log('treeNode',treeNode);
|
|||
if(treeNode){ |
|||
pids.push(treeNode[lpidName]); |
|||
getTreePids(tree, lchildNodeName, lpidName, lidName, treeNode[lpidName]).forEach(e =>{ |
|||
pids.push(e); |
|||
}); |
|||
} |
|||
|
|||
return pids; |
|||
} |
|||
|
|||
|
|||
//通过ID值,找出所有子节点值
|
|||
function getTreeAllChildIdsByNode(treeNode, childNodeName, idName) { |
|||
let childIds = []; |
|||
let lchildNodeName = childNodeName || 'children'; |
|||
let lidName = idName || 'id'; |
|||
|
|||
if (!treeNode) return []; |
|||
if (!treeNode[lchildNodeName] || treeNode[lchildNodeName].length < 1) return []; |
|||
|
|||
treeNode[lchildNodeName].forEach(e => { |
|||
childIds.push(e[lidName]); |
|||
getTreeAllChildIdsByNode(e, lchildNodeName, lidName).forEach(e2 =>{ |
|||
childIds.push(e2); |
|||
}); |
|||
}); |
|||
return childIds; |
|||
} |
|||
|
|||
//通过ID值,找出所有子节点值
|
|||
function getTreeAllChildIdsById(tree, childNodeName, idName, idVal) { |
|||
let childIds = [], treeNode = null; |
|||
let lchildNodeName = childNodeName || 'children'; |
|||
let lidName = idName || 'id'; |
|||
|
|||
if (!tree || tree.length < 1) return []; |
|||
treeNode = getTreeNode(tree, lchildNodeName, lidName, idVal); |
|||
childIds = getTreeAllChildIdsByNode(treeNode, lchildNodeName, lidName); |
|||
|
|||
return childIds; |
|||
} |
|||
|
|||
//获取节点本身
|
|||
function getTreeNode(tree, childNodeName, idName, idVal) { |
|||
let treeNode = null; |
|||
let lchildNodeName = childNodeName || 'children'; |
|||
let lidName = idName || 'id'; |
|||
|
|||
if (!tree || tree.length < 1) return treeNode; |
|||
|
|||
for (let i = 0; i < tree.length; i++) { |
|||
if (tree[i][lidName] == idVal) { |
|||
treeNode = tree[i]; |
|||
break; |
|||
} else { |
|||
if (tree[i][lchildNodeName] && tree[i][lchildNodeName].length > 0) { |
|||
treeNode = getTreeNode(tree[i][lchildNodeName], lchildNodeName, lidName, idVal); |
|||
} |
|||
if (treeNode) break; |
|||
} |
|||
} |
|||
return treeNode; |
|||
} |
|||
|
|||
|
|||
module.exports = { |
|||
madeTree, |
|||
getTreePids, getTreeAllChildIdsByNode,getTreeAllChildIdsById, getTreeNode, |
|||
} |
|||
|
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue