{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\generator\\sysModulePreview.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\generator\\sysModulePreview.vue","mtime":1667327529512},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport {Base64} from 'js-base64'\r\nimport req from '@/request.js'\r\nexport default {\r\n name: 'sysModulePreview',\r\n props: ['id', 'dialogVisible','appName'],\r\n data() {\r\n return {\r\n asideShow:true,\r\n workspaceList: [],\r\n datalistList: [],\r\n viewlistList: [],\r\n isShowIframe: true,\r\n loading:false,\r\n chartId: '',\r\n iframeSrc: '',\r\n menuData: {},\r\n chartList: [],\r\n menuTypeList: [\r\n {type: 'workspaceList', name: '工作空间'},\r\n {type: 'datalistList', name: '数据列表'},\r\n {type: 'viewlistList', name: '视图列表'},\r\n {type: 'chartList', name: '图表列表'},\r\n {type: 'otherList', name: '栏目列表'}\r\n ],\r\n otherList: []\r\n }\r\n },\r\n watch: {\r\n id: function(newVal, oldVal) {\r\n if (!newVal) {\r\n return\r\n }\r\n this.init()\r\n var url = window.context.portal + '/sys/sysModule/v1/getJson?id=' + this.id\r\n req.get(url).then(response => {\r\n this.initDetails(response.data)\r\n var menuData = []\r\n this.initMenuData(menuData)\r\n this.menuData = menuData\r\n }, true)\r\n }\r\n },\r\n created() {\r\n var id = this.id\r\n if (!this.dialogVisible) {\r\n id = this.$route.params.id\r\n }\r\n if (!id) {\r\n return\r\n }\r\n this.init()\r\n var url = window.context.portal + '/sys/sysModule/v1/getJson?id=' + id\r\n req.get(url).then(response => {\r\n this.initDetails(response.data)\r\n var menuData = []\r\n this.initMenuData(menuData)\r\n this.menuData = menuData\r\n })\r\n },\r\n methods: {\r\n testLoad() {\r\n this.loading = false;\r\n },\r\n init() {\r\n this.workspaceList = []\r\n this.datalistList = []\r\n this.viewlistList = []\r\n this.iframeSrc = ''\r\n this.menuData = {}\r\n this.chartList = []\r\n this.menuTypeList = [\r\n {type: 'workspaceList', name: '工作空间'},\r\n {type: 'datalistList', name: '数据列表'},\r\n {type: 'viewlistList', name: '视图列表'},\r\n {type: 'chartList', name: '图表列表'},\r\n {type: 'otherList', name: '栏目列表'}\r\n ]\r\n this.otherList = []\r\n },\r\n initDetails(data) {\r\n if (data.moduleDetail && data.moduleDetail.length > 0) {\r\n for (var i = 0; i < data.moduleDetail.length; i++) {\r\n var type = data.moduleDetail[i].type\r\n switch (type) {\r\n case 'workspace':\r\n this.workspaceList.push(data.moduleDetail[i])\r\n break\r\n case 'datalist':\r\n this.datalistList.push(data.moduleDetail[i])\r\n break\r\n case 'viewlist':\r\n this.viewlistList.push(data.moduleDetail[i])\r\n break\r\n case 'chart':\r\n this.chartList.push(data.moduleDetail[i])\r\n break\r\n case 'other':\r\n this.otherList.push(data.moduleDetail[i])\r\n break\r\n }\r\n }\r\n }\r\n },\r\n initMenuData(menuData) {\r\n for (var k = 0; k < this.menuTypeList.length; k++) {\r\n var type = this.menuTypeList[k].type\r\n if (this[type].length > 0) {\r\n var typeList = this[type]\r\n if (type == 'otherList') {\r\n var map = {}\r\n for (var i = 0; i < typeList.length; i++) {\r\n if (!map[typeList[i].columnName]) {\r\n map[typeList[i].columnName] = typeList[i].columnName\r\n var item = {\r\n text: typeList[i].columnName,\r\n children: []\r\n }\r\n for (var n = 0; n < typeList.length; n++) {\r\n if (typeList[i].columnName == typeList[n].columnName) {\r\n var sub = {\r\n text: typeList[n].name,\r\n code: typeList[n].code,\r\n type: type,\r\n url: typeList[n].url\r\n }\r\n item.children.push(sub)\r\n }\r\n }\r\n menuData.push(item)\r\n }\r\n }\r\n } else {\r\n var item = {\r\n text: this.menuTypeList[k].name,\r\n children: []\r\n }\r\n for (var i = 0; i < typeList.length; i++) {\r\n var sub = {\r\n text: typeList[i].name,\r\n code: typeList[i].code,\r\n type: type,\r\n url: typeList[i].url\r\n }\r\n item.children.push(sub)\r\n }\r\n menuData.push(item)\r\n }\r\n }\r\n }\r\n if (menuData.length > 0) {\r\n let item = menuData[0].children[0]\r\n this.iframeSrc = this.getUrl(item.url, item.type)\r\n }\r\n },\r\n handleSelect(index) {\r\n var path = index.split('_')\r\n if (path.length > 1) {\r\n let item = this.menuData[path[0]].children[path[1]]\r\n if (item.type == 'chartList') {\r\n this.isShowIframe = false\r\n this.chartId = item.url\r\n } else {\r\n this.isShowIframe = false\r\n setTimeout(() => {\r\n this.iframeSrc = this.getUrl(item.url, item.type)\r\n });\r\n }\r\n }\r\n },\r\n getUrl(url, type) {\r\n this.loading = true;\r\n this.isShowIframe = true\r\n var iframeSrc = url\r\n switch (type) {\r\n case 'workspaceList':\r\n iframeSrc = window.context.front + url + '?token=' + this.$store.state.login.currentUser.token\r\n break\r\n case 'datalistList':\r\n iframeSrc = window.context.front +\"/sysModulePreview\"+ url+\"/true\" + '?token=' + this.$store.state.login.currentUser.token\r\n break\r\n case 'viewlist':\r\n break\r\n case 'chartList':\r\n this.isShowIframe = false\r\n this.loading = false;\r\n this.chartId = url\r\n break\r\n }\r\n return iframeSrc\r\n }\r\n },\r\n destroyed() {}\r\n}\r\n",null]}