123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- /**
- * [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
- }
- });
|