src/components/MapView/mapMenuTop.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/MapView/mapSpaceTop.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/utils/treeData.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/Tools/LayerTree.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/SpatialData.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/dictionaryManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/domainManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/components/MapView/mapMenuTop.vue
@@ -355,31 +355,31 @@ var val = data.result var std = []; val.filter((item) => { if (std.indexOf(item.bak) == -1) { std.push(item.bak); this.layerData.push( { val: item.bak, label: item.bak, children: [], } ) } }); for (var i in this.layerData) { var item = this.layerData[i]; for (var j in val) { var res = val[j]; // var std = []; // val.filter((item) => { // if (std.indexOf(item.bak) == -1) { // std.push(item.bak); // this.layerData.push( // { // val: item.bak, // label: item.bak, // children: [], // } // ) // } // }); // for (var i in this.layerData) { // var item = this.layerData[i]; // for (var j in val) { // var res = val[j]; if (item.val === res.bak) { // if (item.val === res.bak) { res.label = res.tabDesc this.layerData[i].children.push(res) } } } // res.label = res.tabDesc // this.layerData[i].children.push(res) // } // } // } }, //è·åéæ©æ çèç¹ src/components/MapView/mapSpaceTop.vue
@@ -59,6 +59,9 @@ <script> import queryinfo from "../../views/Tools/queryinfo.vue"; import { inquiry_SelectTabs, dataLib_selectTabed } from "../../api/api.js"; import { getTreeData } from "../../utils/treeData.js" export default { components: { queryinfo }, data() { @@ -67,20 +70,7 @@ queryLayer: "", }, layerData: [ // { // id: 1, // label: 'åºç¡æ°æ®', // tabDesc: 'åºç¡æ°æ®', // value: 'BD', // children: [], // }, // { // id: 2, // label: 'ä¸å¡æ°æ®', // tabDesc: 'ä¸å¡æ°æ®', // value: 'BS', // children: [], // }, ], defaultProps: { children: "children", @@ -104,11 +94,12 @@ this.$message.error("å表è°ç¨å¤±è´¥"); } var option = data.result; this.layerData = option.filter((res) => { // this.layerData = option.filter((res) => { return res; // return res; }); // }); this.layerData = getTreeData(option) // var val = data.result // var std = []; // val.filter((item) => { src/utils/treeData.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,170 @@ var num = -1; var tree = []; //è·åç®å½æ æ°æ® export function getTreeData(result) { tree = []; num = -1 var val = JSON.parse(JSON.stringify(result)); //è·åä¸çº§èå var fdata = getFatherData(val); //è·åä¸çº§èå䏿æå级èå var cdata = getChildData(val, fdata); for (var i in fdata) { tree.push(fdata[i]) } for (var i in cdata) { tree.push(cdata[i]) } var tree_Data = []; for (var i in cdata) { for (var j in val) { if (val[j].bak == cdata[i].bak) { num++; val[j].label = val[j].tabDesc; val[j].pid = cdata[i].id; val[j].id = num; var valData = tree_Data.filter(rs => { if (rs.label == val[j].label && rs.bak == val[j].bak) { return rs } }) if (valData.length == 0) { tree_Data.push(val[j]) } } } } for (var i in tree_Data) { tree.push(tree_Data[i]) } var tree_data = setTreeData(tree); return tree_data } //çæé彿°æ® function setTreeData(source) { let cloneData = JSON.parse(JSON.stringify(source));// å¯¹æºæ°æ®æ·±åº¦å é return cloneData.filter((father) => { // å¾ªç¯ææé¡¹ let branchArr = cloneData.filter((child) => father.id === child.pid); // 对æ¯IDï¼åå«ä¸ä¸çº§èåï¼å¹¶è¿åæ°æ® branchArr.length > 0 ? (father.children = branchArr) : ''; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ // å±äºåä¸å¯¹è±¡é®é¢ï¼ä¾å¦ï¼ä»¤ a=bãc=1 ï¼ç¶åå令 b.c=c ï¼ é£ä¹ a.c=b.c=c=1 ï¼åçï¼åç»ä»¤ c.d=2 ,é£ä¹ a.c.d 乿¯=2ï¼ // ç±æ¤å¾ªç¯å¤æ¬¡åï¼å°±è½å½¢æç¸åºçæ å½¢æ°æ®ç»æ return father.pid == -1; // è¿åä¸çº§èå }); } //è·åä¸çº§èåä¸å级èå function getChildData(result, res) { var std = []; for (var i in result) { let dir = result[i].bak; let c_filter = dataFilter(std, dir); if (c_filter.length == 0) { std.push(dir); } } var str = []; for (var i in std) { let dir = std[i].split('/'); for (var j = 1; j < dir.length; j++) { if (j == 1) { var clabel = dir[0] + "/" + dir[j] let f_val = res.filter((rs) => { if (rs.label === dir[j - 1]) { return rs; } }) var c_Data = str.filter(rs => { if (rs.bak == clabel) { return rs; } }) if (f_val.length != 0 && c_Data.length == 0) { num++; var val = { id: num, pid: f_val[0].id, label: dir[j], bak: clabel } str.push(val) } } else { var clabel1 = dir[0] for (var k = 1; k < j; k++) { clabel1 = clabel1 + "/" + dir[k]; } var f_val = []; for (var w in str) { if (str[w].label == dir[j - 1]) { if (str[w].bak == clabel1) { f_val.push(str[w]) } } } var clabel2 = clabel1 + "/" + dir[j] var c_Data = str.filter(rs => { if (rs.bak == clabel2) { return rs; } }) if (f_val.length != 0 && c_Data.length == 0) { num++; var val = { id: num, pid: f_val[0].id, label: dir[j], bak: clabel2 } str.push(val) } } } } return str } //è·åä¸çº§èç¹Data function getFatherData(result) { var std = []; var str = []; for (var i in result) { var dir = result[i].bak.split('/'); var f_filter = dataFilter(std, dir[0]); if (f_filter.length == 0) { std.push(dir[0]) num++ str.push({ id: num, pid: -1, label: dir[0] }) } } return str; } //éåå¹é è·åæ°æ® function dataFilter(result, bak) { let val = result.filter(res => { if (res == bak) { return res; } }) return val; } src/views/Tools/LayerTree.vue
@@ -10,6 +10,7 @@ filterable style="width :100%" @change="setproChange" placeholder="è¯·éæ©é¡¹ç®" > <el-option v-for="item in optionts" @@ -21,7 +22,6 @@ </el-select> </el-form-item> <el-form-item> <el-input placeholder="è¾å ¥å ³é®åè¿è¡è¿æ»¤" v-model="filterText" src/views/datamanage/SpatialData.vue
@@ -519,6 +519,11 @@ import { getToken } from "../../utils/auth.js"; import catalogueTree from "../../components/catalogueTree.vue"; import MyBread from "../../components/MyBread.vue"; import { getTreeData } from "../../utils/treeData.js" export default { //importå¼å ¥çç»ä»¶éè¦æ³¨å ¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ name: "dataSearch", @@ -962,7 +967,7 @@ this.$message.error("å表è°ç¨å¤±è´¥"); } var val = data.result; this.tree = getTreeData(val) // for (var i in option) { // var val_Data = option[i]; // val_Data.id = "1" + i; @@ -976,28 +981,28 @@ // } // } var std = []; val.filter((item) => { if (std.indexOf(item.bak) == -1) { std.push(item.bak); this.tree.push( { val: item.bak, label: item.bak, children: [], } ) } }); // var std = []; // val.filter((item) => { // if (std.indexOf(item.bak) == -1) { // std.push(item.bak); // this.tree.push( // { // val: item.bak, // label: item.bak, // children: [], // } // ) // } // }); this.tree.filter((item) => { val.filter((res) => { if (item.val === res.bak) { res.label = res.tabDesc item.children.push(res) } }) }) // this.tree.filter((item) => { // val.filter((res) => { // if (item.val === res.bak) { // res.label = res.tabDesc // item.children.push(res) // } // }) // }) this.handleNodeClick(this.tree[0].children[0]); }, src/views/datamanage/dictionaryManage.vue
@@ -18,14 +18,19 @@ :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" suffix-icon="el-icon-search" ></el-input> <el-tree :data="domainData" :props="defaultProps" > </el-tree> <!-- <el-tree :data="domainData" :props="defaultProps" @node-click="getTableDesc" :filter-node-method="filterNode" ref="tree" ></el-tree> ></el-tree> --> <!-- <ul> <li @click="getTableDesc(item)" @@ -574,6 +579,10 @@ insertDict, } from "../../api/api"; import MyBread from "../../components/MyBread.vue"; import { conditions } from '../Archive/Archive'; import { getTreeData } from "../../utils/treeData.js" export default { name: "dictionaryManage", components: { MyBread }, @@ -611,7 +620,7 @@ domainData: [], defaultProps: { children: "children", label: "val", label: "label", }, }; }, @@ -757,7 +766,7 @@ var m = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var mm = time.getMvinutes(); var s = time.getSeconds(); return y + "-" + this.add0(m) + "-" + this.add0(d); }, @@ -769,59 +778,67 @@ this.formInline.tab = null; this.getSelectDictTab(); }, treeData(source) { let cloneData = JSON.parse(JSON.stringify(source));// å¯¹æºæ°æ®æ·±åº¦å é if (cloneData.length != 0) { return cloneData.filter((father) => { // å¾ªç¯ææé¡¹ let branchArr = cloneData.filter((child) => father.label == child.pname); // 对æ¯IDï¼åå«ä¸ä¸çº§èåï¼å¹¶è¿åæ°æ® branchArr.length > 0 ? (father.children = branchArr) : ''; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ // å±äºåä¸å¯¹è±¡é®é¢ï¼ä¾å¦ï¼ä»¤ a=bãc=1 ï¼ç¶åå令 b.c=c ï¼ é£ä¹ a.c=b.c=c=1 ï¼åçï¼åç»ä»¤ c.d=2 ,é£ä¹ a.c.d 乿¯=2ï¼ // ç±æ¤å¾ªç¯å¤æ¬¡åï¼å°±è½å½¢æç¸åºçæ å½¢æ°æ®ç»æ return father.pname == -1; // è¿åä¸çº§èå }); } }, //ç®å½æ è·å async getSelectDictTab() { const data = await selectDictTab({ name: this.formInline.tab }); if (data.code != 200) { this.$message.error("䏿è°ç¨å¤±è´¥"); this.$message.error("å表è°ç¨å¤±è´¥"); } var val = data.result; var std = []; val.filter((item) => { if (std.indexOf(item.bak) == -1) { std.push(item.bak); this.domainData.push( { val: item.bak, children: [], } ) } }); this.domainData.filter((item) => { val.filter((res) => { if (item.val === res.bak) { res.val = res.tabDesc item.children.push(res) var val = JSON.parse(JSON.stringify(data.result)); var tree = getTreeData(data.result); this.domainData = tree this.getQueryNameData(tree[0]); // var = this.domainData[0].children; // }, getQueryNameData(res) { if (res.children) { this.getQueryNameData(res.children); } else { if (res.length != 1) { if (res[0].children) { this.getQueryNameData(res[0].children); } else { var result = res[0] this.insertform.tab = result.tab; this.insertform.tabDesc = result.tabDesc; this.insertform.ns = result.ns; this.listData.tab = result.tab; this.listData.ns = result.ns; this.activeName = result.tab; this.startQueryNameData(); } }) }) // let bdres = data.result.filter((item) => item.ns == "bd"); // let bsres = data.result.filter((item) => item.ns == "bs"); // let mdres = data.result.filter((item) => item.ns == "md"); // for (var i in bdres) { // // bdres[i].val = bdres[i].tabDesc + '(' + bdres[i].tab + ')'; // bdres[i].val = bdres[i].tabDesc; // } // for (var i in bsres) { // // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')'; // bsres[i].val = bsres[i].tabDesc; // } // for (var i in mdres) { // // bsres[i].val = bsres[i].tabDesc + '(' + bsres[i].tab + ')'; // mdres[i].val = mdres[i].tabDesc; // } // this.domainData[0].children = bdres; // this.domainData[1].children = bsres; // this.domainData[2].children = mdres; var result = this.domainData[0].children; this.insertform.tab = result[0].tab; this.insertform.tabDesc = result[0].tabDesc; this.insertform.ns = result[0].ns; this.listData.tab = result[0].tab; this.listData.ns = result[0].ns; this.activeName = result[0].tab; this.startQueryNameData(); } else { if (res.children) { this.getQueryNameData(res.children); } else { var result = res this.insertform.tab = result.tab; this.insertform.tabDesc = result.tabDesc; this.insertform.ns = result.ns; this.listData.tab = result.tab; this.listData.ns = result.ns; this.activeName = result.tab; this.startQueryNameData(); } } } }, handleClose() { this.$confirm("å ³éåæ æ³ä¿åï¼æ¯å¦å ³é?") src/views/datamanage/domainManage.vue
@@ -402,6 +402,9 @@ domain_selectDomainNames, } from "../../api/api"; import MyBread from "../../components/MyBread.vue"; import { getTreeData } from "../../utils/treeData.js" export default { name: "domainManage", components: { MyBread }, @@ -447,7 +450,7 @@ ], defaultProps: { children: "children", label: "val", label: "label", }, }; }, @@ -514,26 +517,27 @@ getAllTabelData() { getDomainTabs().then((res) => { var val = res.result; var std = []; val.filter((item) => { if (std.indexOf(item.bak) == -1) { std.push(item.bak); this.domainData.push( { val: item.bak, children: [], } ) } }); this.domainData.filter((item) => { val.filter((res) => { if (item.val === res.bak) { res.val = res.tabDesc item.children.push(res) } }) }) this.domainData = getTreeData(val) // var std = []; // val.filter((item) => { // if (std.indexOf(item.bak) == -1) { // std.push(item.bak); // this.domainData.push( // { // val: item.bak, // children: [], // } // ) // } // }); // this.domainData.filter((item) => { // val.filter((res) => { // if (item.val === res.bak) { // res.val = res.tabDesc // item.children.push(res) // } // }) // }) }); }, handleSelectionChange(val) {