/** * [ONEMAP.M.projectController] * @return {[object]} */ define(function () { var app = null $('#vue-menu').html('') var vectorFunc, rasterFunc, modelFunc; require(['modDir/layerVue/vector'], function (obj) { vectorFunc = obj; }); require(['modDir/layerVue/raster'], function (obj) { rasterFunc = obj; }); require(['modDir/layerVue/model'], function (obj) { modelFunc = obj; }); // 目录初始化 app = new Vue({ el: '#vuemenu', data: { defaultProps: { children: 'children', label: 'label', isLeaf: 'leaf', disabled: function (data, node) { if (data.label == "暂无数据") { return true } } } }, methods: { handleOpen() { console.log('handleOpen') }, handleClose() { console.log('handleClose') }, // handleNodeClick(data, node, self) { // if (data.leaf) { // if (data.layerType == "vector") { // if (data.type == 1) { // } // } else if (data.layerType == "raster") { // } else if (data.layerType == "model") { // modelFunc.add(data); // } // } // }, handleCheck(data, checkedNodedObj) { // data.id // checkedNodedObj.checkedKeys if (checkedNodedObj.checkedKeys.indexOf(data.id) > -1) { // 选中 if (data.layerType == "vector") { // if (data.type == 1) { // } vectorFunc.add(data, this.setTreeChecked); } else if (data.layerType == "raster") { rasterFunc.add(data, this.setTreeChecked); } else if (data.layerType == "model") { modelFunc.add(data, this.setTreeChecked); } } else { // 取消选中 if (data.layerType == "vector") { // if (data.type == 1) { // } vectorFunc.remove(data); } else if (data.layerType == "raster") { rasterFunc.remove(data); } else if (data.layerType == "model") { modelFunc.remove(data); } } }, setTreeChecked(id) { this.$refs.menuTree.setChecked(id, false, false); }, loadNode(node, resolve) { if (node.level === 0) { return resolve([ { label: '矢量数据', type: 0, layerType: "vector", id: onemapUrlConfig.columnConfig.vector.id }, { label: '二维数据', type: 0, layerType: "raster", id: onemapUrlConfig.columnConfig.raster.id }, { label: '三维数据', type: 0, layerType: "model", id: onemapUrlConfig.columnConfig.model.id }, ]); } if (!localStorage.getItem("systemToken")) { ONEMAP.C.publisher.publish({ type: 'warning', message: '用户尚未登录!' }, 'noteBar::add'); return resolve([{ label: '暂无数据', leaf: true }]); } if (node.data.layerType == "vector") { $.ajax({ type: "POST", headers: { token: localStorage.getItem("systemToken"), }, data: { id: node.data.id, }, dataType: "json", url: onemapUrlConfig.DMS_URL + '/dms/column/selectChild', success: function (result) { if (result.code == 200) { const list = result.content.map(function (item) { item.label = item.title; item.layerType = node.data.layerType; if (item.type == 1) { item.leaf = true } return item }) resolve(list); } else { return resolve([{ label: '暂无数据', leaf: true }]); } } }) } else { if (node.data.type == 0) { $.ajax({ type: "POST", headers: { token: localStorage.getItem("systemToken"), }, data: { id: node.data.id, }, dataType: "json", url: onemapUrlConfig.DMS_URL + '/dms/column/selectChild', success: function (result) { if (result.code == 200) { const list = result.content.map(function (item) { item.label = item.title; item.layerType = node.data.layerType; return item }) resolve(list); } else { return resolve([{ label: '暂无数据', leaf: true }]); } }, error: function (result) { console.log(result); } }) } if (node.data.type == 1) { $.ajax({ type: "POST", headers: { token: localStorage.getItem("systemToken"), }, data: { columnId: node.data.id, states: "1,2,3", pageSize: 1000, page: 0, }, dataType: "json", url: onemapUrlConfig.DMS_URL + '/dms/content/selectContentList', success: function (result) { if (result.code == 200) { const list = result.content.data.map(function (item) { item.label = item.title; item.layerType = node.data.layerType; item.leaf = true return item }) resolve(list); } else { return resolve([{ label: '暂无数据', leaf: true }]); } }, error: function (result) { console.log(result); } }) } } } }, mounted() { } }) return ONEMAP.M.menuVue = { vueObj: app } });