{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\portal\\AppModelManager.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\portal\\AppModelManager.vue","mtime":1675071993022},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\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//\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//\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//\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//\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//\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//\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//\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//\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//\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport portal from '../../api/portal'\r\n\r\nconst EipChartSelector = () =>\r\n  import('@/components/selector/EipChartSelector.vue')\r\nconst htAsideTree = () => import('@/components/common/HtAsideTree.vue')\r\nconst EipSysTypeSelector = () =>\r\n  import('@/components/selector/EipSysTypeSelector.vue')\r\nconst iconDialog = () => import('@/components/dialog/IconDialog.vue')\r\nconst DataTemplateDialog = () =>\r\n  import('@/components/dialog/DataTemplateDialog.vue')\r\nimport util from '@/hotent-ui-util.js'\r\nconst eipFlowDialog = () => import('@/components/dialog/EipFlowDialog.vue')\r\nconst eipAuthDialog = () => import('@/components/dialog/EipAuthDialog.vue')\r\nimport req from '@/request'\r\nimport {mapState} from 'vuex'\r\nexport default {\r\n  components: {\r\n    htAsideTree,\r\n    EipSysTypeSelector,\r\n    iconDialog,\r\n    DataTemplateDialog,\r\n    EipChartSelector,\r\n    eipFlowDialog,\r\n    eipAuthDialog,\r\n  },\r\n  data() {\r\n    return {\r\n      dialogVisible: false,\r\n      data: [],\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 50,\r\n        total: 0,\r\n      },\r\n      appModel: {\r\n        icon: '',\r\n        iconColor: '',\r\n        content: '',\r\n        typeName: '',\r\n        typeId: '',\r\n      },\r\n      defaultQuerys: [],\r\n      selectNode: '',\r\n      selectNodeId: '',\r\n      selectedId: '',\r\n      importDialogVisible: false,\r\n      uploadUrl: window.context.portal + '/portal/appModel/v1/import',\r\n      fullscreenLoading: false,\r\n    }\r\n  },\r\n  computed: mapState({\r\n    uploadHeaders: function (mapState) {\r\n      return {Authorization: 'Bearer ' + mapState.login.currentUser.token}\r\n    },\r\n  }),\r\n  mounted() {\r\n    this.$validator = this.$root.$validator\r\n  },\r\n  methods: {\r\n    rowClick(row, column, event) {\r\n      this.$refs.htTable.$refs.htTable.toggleRowSelection(row)\r\n    },\r\n    rowClick2(row, column, event) {\r\n      this.$refs.dataTemplateDialog.$refs.htTable.toggleRowSelection(row)\r\n    },\r\n    handleNodeClick(item) {\r\n      let list = util.nest2tile([item])\r\n      let ids = []\r\n      list.forEach((e) => {\r\n        ids.push(e.id)\r\n      })\r\n      if (item.id != '1285867753718288384') {\r\n        this.selectNode = item.name\r\n        this.selectNodeId = item.id\r\n      }\r\n      this.$set(this.defaultQuerys, 0, {\r\n        property: 'TYPE_ID_',\r\n        value: ids.join(','),\r\n        operation: 'IN',\r\n      })\r\n      this.$refs.htTable.load()\r\n    },\r\n    treeCheck(item, list) {\r\n      if (list && list.checkedKeys && list.checkedKeys.length > 0) {\r\n        this.$set(this.defaultQuerys, 0, {\r\n          property: 'TYPE_ID_',\r\n          value: list.checkedKeys.join(','),\r\n          operation: 'IN',\r\n        })\r\n        this.$refs.htTable.load()\r\n      }\r\n    },\r\n    parseContent(val, type) {\r\n      let j = JSON.parse(val)\r\n      let name = \"\";\r\n      if (type===3) {\r\n        name = \"表单列表\"\r\n      }else {\r\n        name = \"新建流程\"\r\n      }\r\n      return '【'+name+'】' + j.name\r\n    },\r\n    parseName(val) {\r\n      return '【图表】' + val\r\n    },\r\n    showDialog(id) {\r\n      if (id) {\r\n        this.$http\r\n          .get('${portal}/portal/appModel/v1/getJson?id=' + `${id}`)\r\n          .then(\r\n            (resp) => {\r\n              this.appModel = resp.data\r\n              this.dialogVisible = true\r\n              if (this.appModel.mode === 3) {\r\n                let json = JSON.parse(resp.data.content)\r\n                this.$set(this.appModel, 'tempAlias', json.alias)\r\n                this.$set(this.appModel, 'tempName', json.name)\r\n              } else if (this.appModel.mode === 5) {\r\n                let json = JSON.parse(resp.data.content)\r\n                this.$set(this.appModel, 'tempName', json.name)\r\n              }\r\n            },\r\n            (error) => {\r\n              reject(error)\r\n            }\r\n          )\r\n      } else {\r\n        this.dialogVisible = true\r\n        this.appModel.icon = 'icon-application'\r\n        this.appModel.iconColor = this.getRandomColor()\r\n        this.appModel.typeName = this.selectNode\r\n        this.appModel.typeId = this.selectNodeId\r\n      }\r\n    },\r\n    getRandomColor() {\r\n      var colorValue = '0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F'\r\n      var color = '#'\r\n      var colorArray = colorValue.split(',')\r\n      for (var i = 0; i < 6; i++) {\r\n        color += colorArray[Math.floor(Math.random() * 16)]\r\n      }\r\n      return color\r\n    },\r\n    beforeCloseDialog() {\r\n      this.appModel = {icon: '', iconColor: '', content: '', typeId: ''}\r\n      this.selectNode = ''\r\n      this.dialogVisible = false\r\n    },\r\n    loadData(param, cb) {\r\n      this.$http\r\n        .post('${portal}/portal/appModel/v1/listJson', param)\r\n        .then(\r\n          (resp) => {\r\n            let response = resp.data\r\n            this.data = response.rows\r\n            this.pageResult = {\r\n              page: response.page,\r\n              pageSize: response.pageSize,\r\n              total: response.total,\r\n            }\r\n          },\r\n          (error) => {\r\n            reject(error)\r\n          }\r\n        )\r\n        .finally(() => cb())\r\n    },\r\n    beforeSaveData() {\r\n      if (this.appModel.mode === 3) {\r\n        this.appModel.content = JSON.stringify({\r\n          alias: this.appModel.tempAlias,\r\n          name: this.appModel.tempName,\r\n        })\r\n      }\r\n    },\r\n    afterSaveData() {\r\n      setTimeout(() => {\r\n        this.beforeCloseDialog()\r\n        this.$refs.htTable.load()\r\n      }, 500)\r\n    },\r\n    selDataTemplate(val) {\r\n      this.$set(this.appModel, 'tempAlias', val.alias)\r\n      this.$set(this.appModel, 'tempName', val.name)\r\n    },\r\n    selIcon(item) {\r\n      this.$set(this.appModel, 'icon', item)\r\n    },\r\n    modeChange() {\r\n      this.$set(this.appModel, 'content', '')\r\n    },\r\n    updateEnable(id) {\r\n      this.$http\r\n        .get('${portal}/portal/appModel/v1/updateEnable/' + id)\r\n        .then((resp) => {\r\n          console.log(resp)\r\n          if (resp.data.state) {\r\n            this.$message.success(resp.data.message)\r\n            this.$refs.htTable.load()\r\n          }\r\n        })\r\n    },\r\n    setFlowData(data) {\r\n      if (!data) {\r\n        return\r\n      }\r\n      this.appModel.content = JSON.stringify({\r\n        id: data[0].id,\r\n        name: data[0].name,\r\n      })\r\n      this.appModel.tempName = data[0].name\r\n      this.$forceUpdate()\r\n    },\r\n    async auth(app) {\r\n      let _this = this\r\n      let id = ''\r\n      if (app) {\r\n        id = app.id\r\n        this.selectedId = id\r\n        let resp = await portal.getRights(app.typeId, 'app')\r\n        if (!resp.data.right || resp.data.right.length < 0) {\r\n          this.$message.warning('请先设置所属分类权限')\r\n          return\r\n        }\r\n      } else {\r\n        if (this.$refs.htTable.$refs.htTable.selection.length <= 0) {\r\n          this.$message.warning('请选择需要设置的应用')\r\n          return\r\n        } else {\r\n          id = this.$refs.htTable.$refs.htTable.selection[0].id\r\n          this.selectedId = ''\r\n        }\r\n      }\r\n\r\n      portal.getRights(id, 'app').then((resp) => {\r\n        if (resp.data) {\r\n          let conf = {\r\n            right: resp.data.right,\r\n            permissionList: resp.data.type,\r\n            autoClose: false,\r\n          }\r\n          _this.$refs.appAuth.showDialog(conf)\r\n        }\r\n      })\r\n    },\r\n    authConfirm(data) {\r\n      if (this.selectedId) {\r\n        this.saveRight(data)\r\n      } else {\r\n        this.batchSaveRights(data)\r\n      }\r\n    },\r\n    saveRight(data) {\r\n      let param = {\r\n        id: this.selectedId,\r\n        objType: 'app',\r\n        ownerNameJson: JSON.stringify(data),\r\n      }\r\n      let _this = this\r\n      this.$http\r\n        .post('${portal}/sys/authUser/v1/saveRights', param)\r\n        .then((resp) => {\r\n          _this.showResponse(resp)\r\n        })\r\n    },\r\n    batchSaveRights(data) {\r\n      let param = {\r\n        ids: this.$refs.htTable.$refs.htTable.selection.map((item) => item.id),\r\n        objType: 'app',\r\n        ownerNameJson: JSON.stringify(data),\r\n      }\r\n      let _this = this\r\n      this.$http\r\n        .post('${portal}/sys/authUser/v1/batchSaveRights', param)\r\n        .then((resp) => {\r\n          _this.showResponse(resp)\r\n        })\r\n    },\r\n    showResponse(resp) {\r\n      if (resp.data) {\r\n        if (resp.data.state) {\r\n          this.$message.success('授权成功')\r\n          this.$refs.appAuth.closeDialog()\r\n        } else {\r\n          this.$message.error(resp.data.message)\r\n        }\r\n      }\r\n    },\r\n    handleExport() {\r\n      let selection = this.$refs.htTable.$refs.htTable.selection\r\n      if (selection && selection.length === 0) {\r\n        this.$message.warning('请选择至少一项记录')\r\n        return\r\n      }\r\n      let ids = selection.map((item) => item.id)\r\n      let url = `${window.context.portal}/portal/appModel/v1/exportXml?ids=${ids}`\r\n      req.download(url)\r\n    },\r\n    handleUploadResult(data) {\r\n      if (data.state) {\r\n        if (data.message.includes('已存在故跳过')) {\r\n          this.$message({\r\n            type: 'warning',\r\n            message: data.message,\r\n            showClose: true,\r\n            duration: 5000,\r\n            dangerouslyUseHTMLString: true,\r\n          })\r\n        } else {\r\n          this.$message({type: 'success', message: '导入成功'})\r\n        }\r\n      } else {\r\n        this.$message({type: 'error', message: data.message})\r\n      }\r\n      this.importDialogVisible = false\r\n      this.fullscreenLoading = false\r\n      this.$refs.htTable.querys = []\r\n      this.$refs.htTable.load()\r\n    },\r\n    beforeUpload(file) {\r\n      if (!file.name.endsWith('.zip')) {\r\n        this.$message.warning('只能导入zip文件!')\r\n        return false\r\n      }\r\n      this.fullscreenLoading = true\r\n    },\r\n    onExceed(file) {\r\n      this.$message.warning('只能选择一个zip文件!')\r\n    },\r\n    uploadSubmit() {\r\n      if (\r\n        !this.$refs.upload.uploadFiles ||\r\n        this.$refs.upload.uploadFiles.length === 0\r\n      ) {\r\n        this.$message.warning('请选择要导入的应用!')\r\n        return false\r\n      }\r\n      this.$refs.upload.submit()\r\n    },\r\n  },\r\n}\r\n",null]}