{"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\\flow\\task\\taskToComplete.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\flow\\task\\taskToComplete.vue","mtime":1667327529466},{"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//\n\r\nimport OpinionText from \"@/components/common/opinionText.vue\";\r\nimport FileUpload from \"@/components/common/fileUpload.vue\";\r\nimport flow from \"@/api/flow.js\";\r\nimport { mapState } from \"vuex\";\r\nimport { Base64 } from \"js-base64\";\r\nexport default {\r\n name: \"taskToComplete\",\r\n props: [\r\n \"taskId\", \r\n \"leaderId\", \r\n \"opinion\",\r\n \"action\",\r\n \"instId\",\r\n \"signatureField\", //自动签章字段\r\n \"signatureCover\", //自动签章是否覆盖\r\n \"secretFree\", //自动签章时是否免密\r\n ],\r\n components: {\r\n OpinionText,\r\n FileUpload\r\n },\r\n data() {\r\n return {\r\n dialogVisible: false,\r\n dialogTitle: \"\",\r\n text:\"\",\r\n boData:{},\r\n opinionField:\"\",\r\n appendOpinion:false,\r\n data:{},\r\n appendStr:true,\r\n wrap: \"\\n\",\r\n initBoAttr:\"\",\r\n signaturePassword:\"\",\r\n isSignatureCallBack: false,\r\n signatureLoading: null,\r\n };\r\n },\r\n computed: mapState({\r\n signatureStatus: state =>state.storeProcess.signatureConfig.status,\r\n }),\r\n watch: {\r\n signatureStatus: function (newVal, oldVal) {\r\n if(newVal != 'start'){\r\n this.isSignatureCallBack = true;\r\n }\r\n if(newVal === 'success' && oldVal === 'ing' ){\r\n this.doConfirm();\r\n }else if(newVal === 'success' && oldVal === 'fail' ){\r\n\r\n }\r\n if(this.signatureLoading != null){\r\n this.signatureLoading.close();\r\n }\r\n },\r\n },\r\n methods: {\r\n showDialog(opinionField,boData,appendOpinion,completeData) {\r\n this.dialogVisible = true;\r\n if(this.action == \"agree\" || this.action == \"agreeTrans\"){\r\n this.dialogTitle = \"审批同意\";\r\n }else if(this.action == \"oppose\" || this.action == \"opposeTrans\"){\r\n this.dialogTitle = \"审批反对\";\r\n }\r\n this.data = completeData;\r\n this.opinionField = opinionField;\r\n this.boData = boData;\r\n this.appendOpinion = appendOpinion;\r\n \r\n },\r\n afterOpen(){\r\n if(this.opinionField){\r\n let con = document.querySelector(\"[model-name='data.\"+this.opinionField+\"']\");\r\n if(con && con.__vue__ && con.__vue__.isEditor){\r\n this.wrap = \"
\";\r\n }\r\n }\r\n let param = {instId:this.instId,taskId:this.taskId};\r\n flow.getBpmSaveOpinionByTeam(param).then(resp=>{\r\n if(resp.state && resp.value){\r\n this.getOpinion(resp.value);\r\n }else{\r\n if(this.action == \"agree\" || this.action == \"agreeTrans\"){\r\n this.getOpinion(\"同意\");\r\n }else if(this.action == \"oppose\" || this.action == \"opposeTrans\"){\r\n this.getOpinion(\"反对\");\r\n }\r\n }\r\n })\r\n },\r\n //获取意见\r\n getOpinion(opinion) {\r\n this.text = opinion;\r\n let opinioValue=this.$refs.opinionText.getOpinion();\r\n if( this.opinionField){\r\n let currentUser= this.$store.state.user.currentUserDetail.user;\r\n let moment = require(\"moment\");\r\n\r\n let boData = this.boData;\r\n let filed=this.opinionField.split(\".\");\r\n if(boData[filed[0]][filed[1]] == '


'){\r\n boData[filed[0]][filed[1]] = \"\";\r\n }\r\n //是否覆盖审批意见\r\n if (this.appendOpinion){\r\n if (opinioValue){boData[filed[0]][filed[1]]=opinioValue+this.wrap+currentUser.fullname+\" \"+moment().format(\"YYYY-MM-DD HH:mm:ss\");\r\n }\r\n }else{\r\n if (opinioValue){\r\n opinioValue+=this.wrap+currentUser.fullname+\" \"+moment().format(\"YYYY-MM-DD HH:mm:ss\");\r\n }\r\n if (this.appendStr){\r\n this.initBoAttr=boData[filed[0]][filed[1]];\r\n }\r\n if (filed.length==2){\r\n if(this.initBoAttr){\r\n if(opinion){\r\n boData[filed[0]][filed[1]]=this.initBoAttr+this.wrap+this.wrap+opinioValue;\r\n }else{\r\n boData[filed[0]][filed[1]]=this.initBoAttr\r\n }\r\n }else{\r\n boData[filed[0]][filed[1]]=opinioValue;\r\n }\r\n }\r\n this.appendStr=false;\r\n }\r\n /*else if (filed.length==3 &&boData[filed[0]][filed[1]].length>0){//处理子表\r\n for (let i = 0; i {});//点同意按钮先初始化状态\r\n this.$store.dispatch(\"storeProcess/doSignature\", {\r\n status: 'start',\r\n field: this.signatureField,\r\n isCover: this.signatureCover,\r\n secretFree: this.secretFree,\r\n password: this.signaturePassword,\r\n })\r\n .then(rep => {\r\n _this.signatureLoading = this.$loading({\r\n lock: true,\r\n text: '正在进行签章处理...',\r\n spinner: 'el-icon-loading',\r\n background: 'rgba(0, 0, 0, 0.7)'\r\n });\r\n // 设置5秒超时机制,如果超时则弹出提示\r\n setTimeout(function () {\r\n _this.signatureLoading.close();\r\n if (_this.isSignatureCallBack == false) {\r\n _this.$message({type:\"warning\",message:\"签章处理超时,请联系管理员确定是否配置签章控件。\"})\r\n return ;\r\n }\r\n }, 5000);\r\n });\r\n }else{\r\n this.doConfirm();\r\n }\r\n },\r\n doConfirm(){\r\n if (this.$refs.fileUpload.getFiles() != \"\") {\r\n this.data.files = JSON.stringify(this.$refs.fileUpload.getFiles());\r\n }\r\n if(this.$refs.opinionText.getOpinion()){\r\n this.data.opinion = this.$refs.opinionText.getOpinion();\r\n }else{\r\n this.$message({type:\"warning\",message:\"请输入审批意见\"})\r\n return ;\r\n }\r\n this.data.data = Base64.encode(JSON.stringify(this.boData))\r\n this.$store.dispatch(\"storeProcess/complete\", this.data).then(()=>{\r\n //this.$parent.nextTask();\r\n // this.$emit(\"nextTask\");\r\n this.$router.go(-1)\r\n })\r\n }\r\n },\r\n mounted () {\r\n \r\n },\r\n};\r\n",null]}