{"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\\flow\\simulation\\ProcessSimulation.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\flow\\simulation\\ProcessSimulation.vue","mtime":1675071992881},{"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\r\nimport uc from \"@/api/uc.js\";\r\nimport utils from \"@/hotent-ui-util.js\";\r\nimport {Base64} from \"js-base64\";\r\nconst eipAuthDialog = () => import(\"@/components/dialog/EipAuthDialog.vue\");\r\nconst processSimulationInst = () => import(\"@/views/flow/simulation/ProcessSimulationInst.vue\");\r\nconst chart = () => import(\"@/components/form/chart/Chart.vue\");\r\n\r\nexport default {\r\n components: {\r\n eipAuthDialog,\r\n processSimulationInst,\r\n chart\r\n },\r\n computed: {\r\n deleteUrl: function() {\r\n return window.context.bpmRunTime + \"/runtime/bpmTestCase/v1/remove\";\r\n },\r\n saveUrl: function() {\r\n let preUrl = window.context.bpmRunTime + \"/runtime/bpmTestCase/v1/save\";\r\n return preUrl;\r\n }\r\n },\r\n data() {\r\n return {\r\n formDialogVisible: false,\r\n dialogVisible: false,\r\n processSimulationdialogVisible: false,\r\n baseFlowInfo: {defKyes:[],nodeInfo:{},formId:null},\r\n defKey: null,\r\n testCase: {\r\n name: \"\",\r\n defKey: \"\",\r\n boFormData:{},\r\n startor: [],\r\n actionType: {},\r\n bpmDebugger: {},\r\n },\r\n testCaseSaveModel:{},\r\n isSubmit: true,\r\n data: [],\r\n pageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0\r\n },\r\n previewFormUrl: \"\",\r\n reportDialogVisible: false,\r\n reportData:{},\r\n reportOption:{},\r\n isAddDialog: false\r\n };\r\n },\r\n mounted() {\r\n this.$validator = this.$root.$validator;\r\n window.addEventListener('message', (e)=>{\r\n if(e.data && e.data.formData){\r\n this.testCase.boFormData = e.data.formData;\r\n }\r\n })\r\n },\r\n methods: {\r\n handleReportClose(){\r\n this.reportDialogVisible = false;\r\n },\r\n batchStartFlow(id){\r\n let elTable = null;\r\n if (this.$refs.testCaseTable.$refs.htTable) {\r\n elTable = this.$refs.testCaseTable.$refs.htTable;\r\n }\r\n if (\r\n elTable &&\r\n elTable.selection &&\r\n elTable.selection.length == 0 && !id\r\n ) {\r\n this.$message.error(\"请至少选择一条数据\");\r\n return;\r\n }\r\n\r\n let ids = [];\r\n\r\n for (let item of elTable.selection) {\r\n ids.push(item.id);\r\n }\r\n if(id){\r\n ids.push(id);\r\n }\r\n let idstr = ids.join(\",\");\r\n this.$http.post(window.context.bpmRunTime+\"/runtime/bpmTestCase/v1/startTest\",idstr).then(res=>{\r\n if(res.data.state){\r\n this.$message(res.data.message);\r\n }else{\r\n this.$message(res.data.message);\r\n }\r\n });\r\n },\r\n initData(){\r\n this.$http.get(window.context.bpmRunTime+\"/runtime/bpmTestCase/v1/getBaseInfo?defKey=\"+this.defKey).then(res=>{\r\n Object.assign(this.baseFlowInfo,res.data);\r\n });\r\n },\r\n addItem(type,defKey){\r\n if(type==\"actionType\"){\r\n var obj = {\"nodeId\":\"\",\"actionName\":\"agree\",\"count\":1};\r\n if(!this.testCase.actionType[defKey]){\r\n this.$set(this.testCase.actionType,defKey,[])\r\n }\r\n this.$set(this.testCase.actionType[defKey],this.testCase.actionType[defKey].length,obj);\r\n }\r\n\r\n if(type==\"bpmDebugger\"){\r\n if(!this.testCase.bpmDebugger[defKey]){\r\n this.$set(this.testCase.bpmDebugger,defKey,[]);\r\n }\r\n this.$set(this.testCase.bpmDebugger[defKey],this.testCase.bpmDebugger[defKey].length,[]);\r\n }\r\n },\r\n delItem(arr,key){\r\n arr.splice(key,1);\r\n\t },\r\n selectNodeId(type,defKey,key,idx){\r\n if(type==\"actionType\"){\r\n var __arr = [...this.testCase.actionType[defKey]];\r\n __arr.splice(idx,1);\r\n let isExist = __arr.find(item=>{return item.nodeId==key.nodeId})\r\n if( isExist ){\r\n this.$message.warning(\"已经设置了该节点,请重新选择,请不要重复设置\");\r\n key.nodeId = \"\";\r\n }\r\n }\r\n\r\n if(type==\"bpmDebugger\"){\r\n var __arr = [...this.testCase.bpmDebugger[defKey]];\r\n __arr.splice(idx,1);\r\n let isExist = __arr.find(item=>{return item==key})\r\n if(isExist){\r\n this.$message.warning(\"已经设置了该节点,请重新选择,请不要重复设置\", {icon: 2});\r\n key = \"\";\r\n return;\r\n }\r\n }\r\n },\r\n showAuthDialog() {\r\n let conf = {\r\n right: [],\r\n permissionList: [\r\n { type: \"user\", title: \"用户\" },\r\n { type: \"org\", title: \"组织\" },\r\n { type: \"pos\", title: \"岗位\" },\r\n { type: \"role\", title: \"角色\" }\r\n ]\r\n };\r\n if (this.testCase.startor) {\r\n conf.right = this.testCase.startor;\r\n }\r\n this.$refs.eipAuthDialog.showDialog(conf);\r\n },\r\n showFormDialog(){\r\n this.previewFormUrl = window.context.front +\r\n \"/previewForm/\" +\r\n this.baseFlowInfo.formId +\r\n \"?token=\" +\r\n this.$store.state.login.currentUser.token+\r\n \"&formData=\" + Base64.encode(JSON.stringify(this.testCase.boFormData));\r\n this.formDialogVisible = true;\r\n },\r\n handleFormDialogClose(cancel = true){\r\n if (cancel && this.isAddDialog){\r\n this.testCase.boFormData = {};\r\n }\r\n this.formDialogVisible = false;\r\n },\r\n showReportDialog(){\r\n let elTable = this.$refs.testCaseTable.$refs.htTable;\r\n if(!elTable.selection || elTable.selection.length==0){\r\n this.$message.warning(\"请至少选择一个测试用例\");\r\n return;\r\n }\r\n let aryIds = [];\r\n elTable.selection.forEach(element => {\r\n aryIds.push(element.id);\r\n });\r\n\r\n this.$http.post(window.context.bpmRunTime+\"/runtime/bpmTestCase/v1/getReportData\",aryIds.join(\",\")).then(res=>{\r\n\r\n this.reportData = res.data.value;\r\n\t\t\t\tlet app = {};\r\n\r\n\t\t\t\tapp.config = {\r\n\t\t\t\t rotate: 90,\r\n\t\t\t\t align: 'left',\r\n\t\t\t\t verticalAlign: 'middle',\r\n\t\t\t\t position: 'insideBottom',\r\n\t\t\t\t distance: 15,\r\n\t\t\t\t};\r\n let labelOption = {\r\n\t\t\t\t normal: {\r\n\t\t\t\t show: true,\r\n\t\t\t\t position: app.config.position,\r\n\t\t\t\t distance: app.config.distance,\r\n\t\t\t\t align: app.config.align,\r\n\t\t\t\t verticalAlign: app.config.verticalAlign,\r\n\t\t\t\t rotate: app.config.rotate,\r\n\t\t\t\t formatter: '{c} {name|{a}}',\r\n\t\t\t\t fontSize: 16,\r\n\t\t\t\t rich: {\r\n\t\t\t\t name: {\r\n\t\t\t\t textBorderColor: '#fff'\r\n\t\t\t\t }\r\n\t\t\t\t }\r\n\t\t\t\t }\r\n\t\t\t\t};\r\n\r\n this.reportOption = {\r\n name:\"流程仿真报表\",\r\n subtext:\"实例状态\",\r\n\t\t\t\t color: ['#003366', '#4cabce', '#e5323e'],\r\n\t\t\t\t tooltip: {\r\n\t\t\t\t trigger: 'axis',\r\n\t\t\t\t axisPointer: {\r\n\t\t\t\t type: 'shadow'\r\n\t\t\t\t }\r\n\t\t\t\t },\r\n\t\t\t\t legend: {\r\n\t\t\t\t data: ['end-已结束', 'unend-未结束', 'endProcess--人工结束']\r\n\t\t\t\t },\r\n\t\t\t\t toolbox: {\r\n\t\t\t\t show: true,\r\n\t\t\t\t orient: 'vertical',\r\n\t\t\t\t left: 'right',\r\n\t\t\t\t top: 'center',\r\n\t\t\t\t feature: {\r\n\t\t\t\t mark: {show: true},\r\n\t\t\t\t dataView: {show: true, readOnly: false},\r\n\t\t\t\t magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},\r\n\t\t\t\t restore: {show: true},\r\n\t\t\t\t saveAsImage: {show: true}\r\n\t\t\t\t }\r\n\t\t\t\t },\r\n\t\t\t\t calculable: true,\r\n\t\t\t\t xAxis: [\r\n\t\t\t\t {\r\n\t\t\t\t type: 'category',\r\n\t\t\t\t axisTick: {show: false},\r\n\t\t\t\t data: this.reportData.xAxis\r\n\t\t\t\t }\r\n\t\t\t\t ],\r\n\t\t\t\t yAxis: [\r\n\t\t\t\t {\r\n\t\t\t\t type: 'value'\r\n\t\t\t\t }\r\n\t\t\t\t ],\r\n\t\t\t\t series: [\r\n\t\t\t\t {\r\n\t\t\t\t name: 'end-已结束',\r\n\t\t\t\t type: 'bar',\r\n\t\t\t\t barGap: 0,\r\n\t\t\t\t label: labelOption,\r\n\t\t\t\t data: this.reportData.end\r\n\t\t\t\t },\r\n\t\t\t\t {\r\n\t\t\t\t name: 'unend-未结束',\r\n\t\t\t\t type: 'bar',\r\n\t\t\t\t label: labelOption,\r\n\t\t\t\t data: this.reportData.unend\r\n\t\t\t\t },\r\n\t\t\t\t {\r\n\t\t\t\t name: 'endProcess--人工结束',\r\n\t\t\t\t type: 'bar',\r\n\t\t\t\t label: labelOption,\r\n\t\t\t\t data: this.reportData.endProcess\r\n\t\t\t\t }\r\n\t\t\t\t ]\r\n\t\t\t\t}\r\n\r\n this.reportDialogVisible = true;\r\n });\r\n\r\n },\r\n showInstDialog(){\r\n this.$refs.processSimulationInst.handleInstDialogShow(this.defKey);\r\n },\r\n dialogOnConfirm(res){\r\n this.testCase.startor = res;\r\n },\r\n handleClose() {\r\n this.dialogVisible = false;\r\n },\r\n showProcessSimulation(defKey){\r\n this.defKey = defKey;\r\n this.testCase.defKey = defKey;\r\n this.initData();\r\n this.processSimulationdialogVisible = true;\r\n },\r\n handleCloseProcessSimulation() {\r\n this.processSimulationdialogVisible = false;\r\n },\r\n showDialog(add = true) {\r\n if (add){\r\n this.testCase = {name: \"\",boFormData:{},startor: [],actionType: {},bpmDebugger: {},id:\"\",pkVal:\"\"};\r\n this.isAddDialog = true;\r\n }\r\n this.dialogVisible = true;\r\n },\r\n dialogCancle(dialogVisible) {\r\n this[dialogVisible] = false;\r\n this.isAddDialog = false;\r\n },\r\n loadData(param, cb) {\r\n if(!param.querys){\r\n param.querys = [];\r\n }\r\n let defKeyParam = {property: \"def_key_\", value: this.defKey, group: \"quick\", relation: \"AND\", operation: \"EQUAL\"};\r\n param.querys = param.querys.concat(defKeyParam);\r\n this.$http.post(window.context.bpmRunTime+\"/runtime/bpmTestCase/v1/list\",param).then(response => {\r\n this.data = response.data.rows;\r\n this.pageResult = {\r\n page: response.data.page,\r\n pageSize: response.data.pageSize,\r\n total: response.data.total\r\n };\r\n })\r\n .finally(() => cb());\r\n },\r\n handleCommand(params) {\r\n switch (params.command) {\r\n case \"editTestCase\":\r\n let temp = {};\r\n temp = {...temp,...params.row};\r\n temp.startor = JSON.parse(temp.startor);\r\n temp.bpmDebugger = JSON.parse(temp.bpmDebugger);\r\n temp.boFormData = JSON.parse(temp.boFormData);\r\n temp.actionType = JSON.parse(temp.actionType);\r\n this.testCase = temp;\r\n this.showDialog(false);\r\n break;\r\n case \"startFlow\":\r\n this.batchStartFlow(params.row.id);\r\n break;\r\n default:\r\n break;\r\n }\r\n },\r\n async beforeSaveData() {\r\n // 提交前可以改变model中的数据\r\n this.testCaseSaveModel = {...this.testCaseSaveModel,...this.testCase};\r\n this.testCaseSaveModel.boFormData = JSON.stringify(this.testCaseSaveModel.boFormData);\r\n this.testCaseSaveModel.startor = JSON.stringify(this.testCaseSaveModel.startor);\r\n this.testCaseSaveModel.actionType = JSON.stringify(this.testCaseSaveModel.actionType);\r\n this.testCaseSaveModel.bpmDebugger = JSON.stringify(this.testCaseSaveModel.bpmDebugger);\r\n this.testCaseSaveModel.defKey = this.defKey;\r\n this.isSubmit = true;\r\n },\r\n afterSaveData() {\r\n this.dialogVisible = false;\r\n this.$refs.testCaseTable.load();\r\n setTimeout(() => {\r\n this.testCase = {name: \"\",boFormData:{},startor: [],actionType: {},bpmDebugger: {},id:\"\",pkVal:\"\"}\r\n }, 200);\r\n },\r\n afterLoadData(data) {\r\n // 菜单权限复制\r\n if (this.dialogVisibleMenuPerm) {\r\n this.allowRoles = data;\r\n }\r\n // 编辑角色\r\n if (this.dialogVisible) {\r\n this.role = data.value;\r\n setTimeout(() => this.$validator.validateAll(\"editRoleForm\"));\r\n }\r\n }\r\n }\r\n};\r\n",null]}