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