{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\chart\\ReportSetting.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\chart\\ReportSetting.vue","mtime":1675071992038},{"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\r\nimport flow from \"@/api/flow.js\";\r\nconst eipFlowDialog = () => import(\"@/components/dialog/EipFlowDialog.vue\");\r\nconst eipSysTypeDialog = () =>\r\n import(\"@/components/dialog/EipSysTypeDialog.vue\");\r\nconst eipUserSelector = () =>\r\n import(\"@/components/selector/EipUserSelector.vue\");\r\nconst eipOrgSelector = () => import(\"@/components/selector/EipOrgSelector.vue\");\r\nexport default {\r\n components: {\r\n eipFlowDialog,\r\n eipSysTypeDialog,\r\n eipUserSelector,\r\n eipOrgSelector\r\n },\r\n props: {\r\n id: {\r\n type: String,\r\n default: \"\"\r\n },\r\n report: {\r\n type: Object,\r\n default: () => {\r\n return { id: \"\", name: \"\" };\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n dialogVisible: false,\r\n data: {\r\n porp: {\r\n flowType: \"1\",\r\n name: \"\",\r\n orgNames: \"\",\r\n orgType: \"1\",\r\n calcuCycle: \"year\",\r\n dimension: \"org\",\r\n orgIds:'',\r\n orgNames:''\r\n },\r\n reportName: \"\"\r\n },\r\n strategy: [\r\n { key: \"start_throughput\", value: \"启动流程吞吐量\" },\r\n { key: \"handle_throughput\", value: \"办件吞吐量\" },\r\n { key: \"handle_efficiency\", value: \"办件效率\" },\r\n { key: \"work_status\", value: \"工作状态\" },\r\n { key: \"task_num\", value: \"任务量\" },\r\n { key: \"inst_start_num\", value: \"流程启动\" },\r\n { key: \"flow_status\", value: \"流程状态\" }\r\n ],\r\n period: [\r\n { key: \"year\", value: \"年度\" },\r\n { key: \"quarter\", value: \"季度\" },\r\n { key: \"monthly\", value: \"月度\" },\r\n { key: \"custom\", value: \"自定义\" }\r\n ],\r\n timeArray: [],\r\n yearArray: [],\r\n quarterArray: [],\r\n monthlyArray: [],\r\n customArray: [],\r\n changeInit: {\r\n year: new Date().getFullYear(),\r\n quarter: new Date().getFullYear() + \"-2\",\r\n monthly: new Date().getFullYear() + \"-\" + (new Date().getMonth() + 1),\r\n custom: \"2020-01-01\"\r\n },\r\n name: \"\"\r\n };\r\n },\r\n mounted() {\r\n this.initTimeArray();\r\n },\r\n methods: {\r\n beforeClose() {\r\n this.dialogVisible = false;\r\n },\r\n handleOpen() {\r\n this.dialogVisible = true;\r\n this.$nextTick(() => {\r\n if (this.id) {\r\n this.getReportSettingData();\r\n } else {\r\n this.name = \"\";\r\n this.data = {\r\n reportName: \"\",\r\n porp: {\r\n name: \"\",\r\n id: \"\",\r\n flowType: \"1\",\r\n orgType: \"1\",\r\n calcuCycle: \"year\",\r\n dimension: \"org\",\r\n orgIds:'',\r\n orgNames:'',\r\n userIds:'',\r\n userNames:'',\r\n calcuStart: new Date().getFullYear(),\r\n calcuEnd: new Date().getFullYear(),\r\n flowStatus: {\r\n running: true,\r\n back: true,\r\n manualend: true,\r\n end: true,\r\n instances: true,\r\n hourLong: true,\r\n incomplete: true,\r\n avgLong: true,\r\n overtime: true,\r\n closingRate: true\r\n }\r\n },\r\n rightContent: {\r\n histogram: true,\r\n line: true,\r\n pie: true,\r\n dataViews: true\r\n },\r\n isDefault: \"1\",\r\n reportId: this.report.id ? this.report.id : \"\",\r\n name: this.report.name ? this.report.name : \"\"\r\n };\r\n }\r\n });\r\n },\r\n getReportSettingData() {\r\n flow.getAct(this.id).then(data => {\r\n if (data && data.porp) {\r\n data.porp = JSON.parse(data.porp);\r\n //选择的是用户\r\n if (data.porp.orgType == 2) {\r\n data.porp.userIds = data.porp.orgIds || '';\r\n data.porp.userNames = data.porp.orgNames || '';\r\n data.porp.orgIds = '';\r\n data.porp.orgNames = '';\r\n }else{\r\n data.porp.userIds = '';\r\n data.porp.userNames = '';\r\n data.porp.orgIds = data.porp.orgIds || '';\r\n data.porp.orgNames = data.porp.orgNames || '';\r\n }\r\n }\r\n this.data = data;\r\n this.data.rightContent = JSON.parse(data.rightContent);\r\n this.data.name = this.report.name;\r\n });\r\n },\r\n initTimeArray() {\r\n let date = new Date();\r\n date.setMonth(-10);\r\n let monthlyYear = date.getFullYear();\r\n let currentYear = new Date().getFullYear();\r\n\r\n for (let i = 0; i < 20; i++) {\r\n this.yearArray.push({\r\n key: currentYear - (10 - i),\r\n value: currentYear - (10 - i) + \"年\"\r\n });\r\n this.quarterArray.push({\r\n key: currentYear - Math.floor((10 - i + 1) / 4) + \"-\" + ((i % 4) + 1),\r\n value:\r\n currentYear -\r\n Math.floor((10 - i + 1) / 4) +\r\n \"年第\" +\r\n ((i % 4) + 1) +\r\n \"季度\"\r\n });\r\n date.setMonth(i % 12);\r\n date.setFullYear(monthlyYear + Math.floor(i / 12));\r\n this.monthlyArray.push({\r\n key: date.getFullYear() + \"-\" + (date.getMonth() + 1),\r\n value: date.getFullYear() + \"年\" + (date.getMonth() + 1) + \"月\"\r\n });\r\n }\r\n },\r\n dialogOnConfirm(data) {\r\n this.data.porp.name = \"\";\r\n this.data.porp.id = \"\";\r\n for (let i = 0; i < data.length; i++) {\r\n if (i === data.length - 1) {\r\n this.data.porp.name += data[i].name;\r\n this.data.porp.id += data[i].defKey;\r\n break;\r\n }\r\n this.data.porp.name += data[i].name + \",\";\r\n this.data.porp.id += data[i].defKey + \",\";\r\n }\r\n },\r\n sysTypeDialogOnConfirm(data) {\r\n this.data.porp.name = \"\";\r\n this.data.porp.id = \"\";\r\n for (let i = 0; i < data.length; i++) {\r\n if (i === data.length - 1) {\r\n this.data.porp.name += data[i].name;\r\n this.data.porp.id += data[i].id;\r\n break;\r\n }\r\n this.data.porp.name += data[i].name + \",\";\r\n this.data.porp.id += data[i].id + \",\";\r\n }\r\n },\r\n showDialog(type) {\r\n if (type === \"eipFlowDialog\") {\r\n let params = [];\r\n let names = [];\r\n let ids = [];\r\n if (this.data.porp.name) {\r\n names = this.data.porp.name.split(\",\");\r\n ids = this.data.porp.id.split(\",\");\r\n }\r\n for (let i = 0; i < names.length; i++) {\r\n params.push({ name: names[i], defKey: ids[i] });\r\n }\r\n this.$refs[type].showDialog(params);\r\n } else {\r\n this.$refs[type].showDialog();\r\n }\r\n },\r\n changeType(data) {\r\n this.data.porp.calcuStart = this.changeInit[data];\r\n this.data.porp.calcuEnd = this.changeInit[data];\r\n },\r\n changeFlowType() {\r\n this.data.porp.id = \"\";\r\n this.data.porp.name = \"\";\r\n },\r\n save() {\r\n if (this.report.id) {\r\n this.saveAct();\r\n } else {\r\n this.saveTitle();\r\n }\r\n },\r\n saveTitle() {\r\n let titleData = {\r\n name: this.name,\r\n type: 0,\r\n id: \"\"\r\n };\r\n this.data.name = this.name;\r\n if (!this.saveCheck()){\r\n return;\r\n }\r\n flow.saveReport(titleData).then(data => {\r\n if (data.state) {\r\n this.data.reportId = data.value;\r\n this.data.name = this.name;\r\n this.saveAct();\r\n } else {\r\n this.$message.error(data.message);\r\n }\r\n });\r\n },\r\n saveAct() {\r\n if (!this.saveCheck()){\r\n return;\r\n }\r\n let data = { ...this.data };\r\n data = JSON.parse(JSON.stringify(data));\r\n //选择的是用户\r\n if (data && data.porp && data.porp.orgType == 2) {\r\n data.porp.orgIds = data.porp.userIds ;\r\n data.porp.orgNames = data.porp.userNames ;\r\n }\r\n data.rightContent = JSON.stringify(data.rightContent);\r\n data.porp = JSON.stringify(data.porp);\r\n flow.saveAct(data).then(result => {\r\n if (result.state) {\r\n this.$message({ type: \"success\", message: \"保存报表成功\" });\r\n this.dialogVisible = false;\r\n this.$emit(\"after-save\", {});\r\n } else {\r\n this.$message.error(\"保存报表失败\");\r\n }\r\n });\r\n },\r\n saveCheck(){\r\n if (!this.data.name) {\r\n this.$message({ type: \"warning\", message: \"请输入分类标题\" });\r\n return false;\r\n }\r\n if (!this.data.reportName) {\r\n this.$message({ type: \"warning\", message: \"请输入统计标题\" });\r\n return false;\r\n }\r\n if (this.data.porp.dimension === \"flow\" && !this.data.porp.id) {\r\n this.$message({ type: \"warning\", message: \"请选择流程范围\" });\r\n return false;\r\n }\r\n if (this.data.porp.dimension === \"org\" && ((this.data.porp.orgType==='1' && !this.data.porp.orgIds) || (this.data.porp.orgType==='2' && !this.data.porp.userIds))) {\r\n this.$message({\r\n type: \"warning\",\r\n message:\r\n this.data.porp.orgType === \"1\" ? \"请选择部门范围\" : \"请选择人员\"\r\n });\r\n return false;\r\n }\r\n if (!this.data.params) {\r\n this.$message({ type: \"warning\", message: \"请选择统计策略\" });\r\n return false;\r\n }\r\n if (this.data.porp.calcuCycle === \"year\") {\r\n if (this.data.porp.calcuEnd < this.data.porp.calcuStart) {\r\n this.$message({\r\n type: \"warning\",\r\n message: \"结束时间不能小于开始时间\"\r\n });\r\n return false;\r\n }\r\n } else if (\r\n this.data.porp.calcuCycle === \"quarter\" ||\r\n this.data.porp.calcuCycle === \"monthly\"\r\n ) {\r\n let strEndYear = parseInt(this.data.porp.calcuEnd.slice(0, 4));\r\n let strStartYear = parseInt(this.data.porp.calcuStart.slice(0, 4));\r\n\r\n let strEnd = parseInt(this.data.porp.calcuEnd.slice(5));\r\n let strStart = parseInt(this.data.porp.calcuStart.slice(5));\r\n\r\n if (strEndYear < strStartYear) {\r\n this.$message({\r\n type: \"warning\",\r\n message: \"结束时间不能小于开始时间\"\r\n });\r\n return false;\r\n } else if (strEndYear === strStartYear) {\r\n if (strEnd < strStart) {\r\n this.$message({\r\n type: \"warning\",\r\n message: \"结束时间不能小于开始时间\"\r\n });\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n }\r\n};\r\n",null]}