{"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]}