{"remainingRequest":"/data/jenkins/workspace/test-v5inweb-5.x-vue/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/test-v5inweb-5.x-vue/src/components/form_new_flowpanel.vue?vue&type=script&lang=js&","dependencies":[{"path":"/data/jenkins/workspace/test-v5inweb-5.x-vue/src/components/form_new_flowpanel.vue","mtime":1739760944315},{"path":"/data/jenkins/workspace/test-v5inweb-5.x-vue/node_modules/babel-loader/lib/index.js","mtime":315532800000},{"path":"/data/jenkins/workspace/test-v5inweb-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/test-v5inweb-5.x-vue/node_modules/vue-loader/lib/index.js","mtime":1655715099000}],"contextDependencies":[],"result":["\nimport form_processHosting_flowpanel from \"@/components/form_processHosting_flowpanel.vue\";\nimport API from \"@/api.js\";\nimport {currDateTime} from '@/utils/global.js'\nexport default {\n props: [\n \"stateId\",\n \"act\",\n \"openParams\",\n \"buildFormData\",\n \"approverName\",\n \"submitTo\",\n \"nextUserId\",\n \"approvers\",\n \"subFlowApproverData\",\n \"subFlowGroup\",\n \"newHostOrCohostList\",\n \"cCname\",\n \"subFlowGroupNum\",\n \"isShowHandSign\",//是否显示手签按钮(补签和点评时不需要手签)\n \"isShowKeyboard\",//流程启动时不需要显示输入意见\n ],\n components: {\n form_processHosting_flowpanel,\n },\n\n watch: {\n submitTo() {\n this.newSelectData();\n },\n subFlowApproverData() {\n this.setSubflowselectData();\n },\n\n //流程启动下拉框选择类型\n selectProcessNode() {\n //我也不知道启动流程是不是有多个下拉框的,先当他是一个吧\n for (let i = 0; i < this.processNodes.length; i++) {\n if (this.selectProcessNode == this.processNodes[i].id) {\n this.processNodeList = this.processNodes[i].firstNodeList;\n if (this.processNodeList.length > 0) {\n this.selectProcessNodeUserRadio = this.processNodeList[0].id;\n }\n }\n }\n },\n },\n\n data: function () {\n return {\n isKeyboard: true,\n radio: 3,\n input: \"\",\n nextNodeIds: undefined,\n selectData: [],\n isSplit: true,\n currentAct: true,\n isOrSuggest: false,\n attitude: \"\",\n showInput: false, //是否展示添加常见意见框\n showEditFirst: false, //展示{{$t('form.edit')}}意见框\n showDelAndEdit: false,\n allSuggests: [],\n showEditSecond: false,\n inputSecond: \"\",\n opinionId: \"\", //更新意见信息的ID\n\n /*\n 手签\n */\n points: [],\n canvasTxt: null,\n startX: 0,\n startY: 0,\n moveY: 0,\n moveX: 0,\n endY: 0,\n endX: 0,\n isDown: false,\n\n flowId: \"\", //当前流程ID\n isAppentCirculator: \"\", //是否抄送\n isAppentData: {},\n currentNodeId: \"\",\n isToPerson: \"\",\n firstSubmission: true, //第一次点击提交禁止按钮再次点击\n existCanvas: false, //是否存在手写签名\n\n backNodes: \"\", //流程回退节点\n selectBackNodes: \"\",\n nodesList: [], //催办节点数据\n selectNodesId: [],\n processNodes: [], //流程启动按钮的节点\n selectProcessNode: \"\", //流程启动按钮下拉框选择的值\n processNodeList: [],\n selectProcessNodeUser: [],\n selectProcessNodeUserRadio: \"\",\n isMoreCurrentNode: \"\",\n htmlExparams: \"\",\n fileList: [],\n field:{limitNumber:1},\n fileType:'',//文件类型\n loading:false,//审批附件上传loading\n };\n },\n created(){\n console.log('props', this.$props)\n },\n beforeCreate(){\n\n },\n\n mounted() {\n if (this.act.type == 48 || this.act.type == 33 || this.act.type == 55 || this.act.type == 56) {\n this.setNodes(this.act.type);\n } else {\n this.getSubmission();\n this.getSuggest();\n this.show();\n }\n window.addEventListener('click', (e)=> {\n if(this.isOrSuggest && e.target.className != \"option-input\"){\n this.hiddenSuggest()\n }\n })\n },\n methods: {\n beforeUpload(file){\n this.fileType = file.type;\n },\n uploadImg(e) {\n this.loading=true\n //obs文件上传start\n if(__network__){\n this.obsFile(e)//obs文件上传\n\t\t\t return\n\t\t }\n console.log('e', e)\n let form=new FormData();\n form.append(\"files\",e.file) \n console.log(form)\n form.forEach(function (value, key) {\n\t\t\t\tif (value instanceof File) {\n\t\t\t\t\tform.set(key, value, value.name.replace(/ /g, ''))//去掉文件名称所有空格\n\t\t\t\t}\n\t\t\t})\n let files = form;\n let actionType = this.fileType;\n let appId = this.openParams.appId;\n let allowedTypes = '00';\n let fieldId = '';\n\t\t \tlet fileSaveMode = '00';\n\t\t\t let path = \"ITEM_PATH\";\n this.$api.uploadFile(\n files, \n appId, \n allowedTypes, \n fieldId, \n fileSaveMode, \n path, \n actionType,\n {\n onSucess: response => {\n console.log(response.data.data) \n if(response.data.data.length){\n let obj={\n name:response.data.data[0].fileName,\n path:response.data.data[0].filePath,\n url:'obpm'+response.data.data[0].filePath,\n fileType:response.data.data[0].fileType,\n uploader:sessionStorage.getItem(\"myProfileName\")||'',\n uploadTime:currDateTime(),\n userName:sessionStorage.getItem(\"myProfileName\")||'',\n time:currDateTime(),\n size:e.file.size,\n uid:e.file.uid,\n status:'success'\n }\n this.fileList.push(obj) \n this.loading=false;//加载完取消loading\n }\n \n }\n },\n (res)=>{\n console.log(res)\n },\n e.file.uid,\n \n ) \n },\n obsFile(e){//obs文件上传\n\t console.log(e)\n //去掉文件名称空格start\n\t\t\tlet form = new FormData();\n\t\t\tform.append(\"files\", e.file);\t\t\t\n\t\t\tform.forEach(function (value, key) {\n\t\t\t\tif (value instanceof File) {\n\t\t\t\t\tform.set(key, value, value.name.replace(/ /g, ''))//去掉文件名称所有空格\n\t\t\t\t}\n\t\t\t})\n\t\t\tform.get('files')\n\t\t\tconsole.log(form.get('files'))\n\t\t\te.file=form.get('files')\n //去掉文件名称空格end\n\n\t\t var that=this;\n\t\t var domainId=localStorage.getItem(\"domainId\")||\"default\"//保存本地企业id\n\t\t\t// var objectKey=\"uploads/\"+domainId+\"/\"+new Date().getFullYear()+\"/\"+new Date().getTime()+e.file.name\n\t\t\t// https://bcxin-v5-prod.obs.cn-north-1.myhuaweicloud.com/uploads/2022/06-20/公司id/uuid/文件名.xls\t\t\n\t\t\tlet now=new Date()\n\t\t\tlet y=now.getFullYear()\n\t\t\tlet m=now.getMonth()+1<10?'0'+(now.getMonth()+1):now.getMonth()+1\n\t\t\tlet d=now.getDate()<10?'0'+now.getDate():now.getDate()\n\t\t\tlet md=m+'-'+d\t\t\t\n\t\t\tvar objectKey=`uploads/${y}/${md}/${domainId}/${now.getTime()}/${e.file.name}`\t\n\n\t\t\tvar obs = new ObsClient({\n\t\t\t\taccess_key_id: ak,\n\t\t\t\tsecret_access_key: sk,\n\t\t\t\tserver : urlserver,\n\t\t\t\ttimeout : 60 * 5,\n\t\t\t});\n\t\t\tobs.putObject({\n\t\t\t\tBucket: BucketName,\n\t\t\t\tKey : objectKey,\n\t\t\t\tSourceFile:e.file //获取file文件\n\t\t\t}).then(function(result) {\n\t\t\t\tconsole.log(result)\n\n\t\t\t\tif(result.CommonMsg.Status < 300){\n\n\t\t\t\t\tconsole.log('Create object:' + objectKey + ' successfully!\\n');\n\t\t\t\t\tvar httpurl=`https://${BucketName}.${urlserver}/${objectKey}`\n\n\t\t\t\t\tlet uploadTime = '';\n\t\t\t\t\tlet date = new Date();\n\t\t\t\t\tlet Y = date.getFullYear() + '-';\n\t\t\t\t\tlet M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';\n\t\t\t\t\tlet D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';\n\t\t\t\t\tlet h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours())+ ':';\n\t\t\t\t\tlet m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';\n\t\t\t\t\tlet s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()); \n\t\t\t\t\tuploadTime = Y+M+D+h+m+s;\n\n\t\t\t\t\tlet obj = {\n\t\t\t\t\t\tname: e.file.name,\n\t\t\t\t\t\tpath: httpurl,\n\t\t\t\t\t\turl: httpurl,\n\t\t\t\t\t\tfileType: \"\",\n\t\t\t\t\t\tuploader: sessionStorage.getItem(\"myProfileName\")||'',\n\t\t\t\t\t\tuploadTime,\n\t\t\t\t\t\tuserName: sessionStorage.getItem(\"myProfileName\")||'',\n\t\t\t\t\t\ttime: uploadTime,\n\t\t\t\t\t\tsize: e.file.size\n\t\t\t\t\t};\n that.fileList.push(obj) \n that.loading=false;//加载完取消loading\n\t\t\t\t}\n\t\t\t});\n\t },\n handleRemove(file, fileList){\n console.log(file)\n this.fileList.forEach((item,index)=>{\n if(item.uid == file.uid){\n this.fileList.splice(index,1)\n }\n })\n },\n handleExceed(files, fileList) {\t//文件超出个数限制时的钩子\n\t\t\tif(this.field.limitNumber==\"1\"){//上传限制一张用覆盖的方式重新上传\n\t\t\t console.log(files[0])\n\t\t\t files[0].uid=new Date().getTime()\n\t\t\t this.fileList=[]\n\t\t\t let e={file:files[0]}\n\t\t\t this.uploadImg(e)\t\t\n\t\t\t}else{\n this.$message.warning(this.$t('view.out'));//文件上传超出数量限制。\n\t\t\t}\n\t\t},\n //结束自由流程\n endTheFreeFlow() {\n let op = this.openParams;\n let appId = op.appId;\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let templateForm = ''\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n }\n let document = {\n applicationId: appId,\n attitude: this.attitude,\n docId: docId,\n document: formData,\n formId: formId,\n id: id,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n this.$api.completeFreeFlow(appId, docId, document, {\n onSucess: (res) => {\n if (res.data.errcode == 0) {\n status = \"SUCCESS\";\n this.$emit(\"closePopup\", status);\n this.$notify({\n title: res.data.data,\n message: \"\",\n type: \"success\",\n });\n }\n },\n });\n },\n\n setSubflowselectData() {\n for (let i = 0; i < this.selectData.length; i++) {\n if (this.selectData[i].id == this.subFlowApproverData.nodeid) {\n this.selectData[i].approverName = this.approverName;\n this.selectData[i].subFlowApproverData = this.subFlowApproverData;\n }\n }\n this.$forceUpdate(); //重新渲染数据\n },\n\n //流程启动\n startProcess() {\n if (!this.selectProcessNode) {\n this.$message({\n message: this.$t('view.noselect_data'),\n type: \"warning\",\n });\n } else {\n if (\n this.selectProcessNodeUser.length <= 0 &&\n !this.selectProcessNodeUserRadio\n ) {\n this.$message({\n message: this.$t('view.noselect_data'),\n type: \"warning\",\n });\n } else {\n let nextId = \"\";\n if (this.selectProcessNodeUserRadio) {\n nextId = this.selectProcessNodeUserRadio;\n } else {\n if (this.selectProcessNodeUser.length > 0) {\n for (let i = 0; i < this.selectProcessNodeUser.length; i++) {\n nextId += this.selectProcessNodeUser[i] + \";\";\n }\n }\n }\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let op = this.openParams;\n let appId = op.appId;\n let templateForm = '';\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n }\n\n let document = {\n applicationId: appId,\n actId: this.act.id,\n docId: docId,\n document: formData,\n flowId: this.selectProcessNode,\n formId: formId,\n id: id,\n nextId,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n console.log(\"-3---->\", document);\n this.$api.InitiateWorkFlow(appId, docId, document, {\n onSucess: (response) => {\n let status;\n if (response.data.errcode == 0) {\n status = \"SUCCESS\";\n this.$emit(\"closePopup\", status);\n this.$notify({\n title: response.data.data,\n message: \"\",\n type: \"success\",\n });\n } else if (response.data.errcode == 4001) {\n status = \"ERROR\";\n this.$emit(\"closePopup\", status);\n this.$notify({\n title: response.data.errmsg,\n message: \"\",\n type: \"error\",\n });\n }\n },\n });\n }\n }\n },\n\n //催办提交\n remind() {\n let op = this.openParams;\n let appId = op.appId;\n let pJson = this.getSignImageData();\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let templateForm = '';\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n }\n let document = {\n applicationId: appId,\n currentNodeId: this.currentNodeId,\n docId: docId,\n document: formData,\n formId: formId,\n id: id,\n nodertIds: this.selectNodesId,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n if (pJson) {\n //手写签名\n document.signatureJson = JSON.stringify(pJson);\n }\n document.attitude = this.attitude;\n this.$api.remindFlow(appId, docId, document, {\n onSucess: (response) => {\n let status;\n if (response.data.errcode == 0) {\n status = \"SUCCESS\";\n this.$emit(\"closePopup\", status);\n this.$notify({\n title: response.data.data,\n message: \"\",\n type: \"success\",\n });\n } else if (response.data.errcode == 4001) {\n status = \"ERROR\";\n this.$emit(\"closePopup\", status);\n this.$notify({\n title: response.data.errmsg,\n message: \"\",\n type: \"error\",\n });\n }\n },\n });\n },\n //催办数据\n setNodes(type) {\n let op = this.openParams;\n let appId = op.appId;\n if (type == 48) {\n let obj = JSON.parse(this.act.reminderNodesData);\n this.nodesList = obj.data;\n } else if (type == 33) {\n //流程启动\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let templateForm = '';\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n }\n\n let document = {\n applicationId: appId,\n docId: docId,\n document: formData,\n formId: formId,\n id: id,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n this.$api.getPanelsInitiate(appId, docId, document, {\n onSucess: (res) => {\n this.processNodes = res.data.data;\n },\n });\n }\n },\n //补签提交\n endorsement(val) {\n if (val == 56) {\n let appId = this.openParams.appId;\n let instanceId = this.approvers[0].instanceId;\n let attitude = this.attitude;\n\t\tif(attitude.indexOf('%') > -1) {\n attitude = encodeURI(attitude) \n }\n this.$api.supplement(appId, instanceId, attitude, {\n onSucess: (response) => {\n let act = response.data.data;\n let status = \"SUCCESS\";\n if (response.data.errcode == 0) {\n this.$notify({\n title: response.data.data,\n message: \"\",\n type: \"success\",\n });\n this.$emit(\"closePopup\", status);\n } else if (response.data.errcode == 4001) {\n status = \"ERROR\";\n //this.$emit(\"closePopup\", status);\n let prompt = response.data.errors[0].errmsg\n ? response.data.errors[0].errmsg\n : response.data.errmsg;\n this.$notify.error({\n title: response.data.errmsg,\n message: response.data.errmsg,\n });\n }\n //this.$emit(\"action\", act);\n },\n });\n } else if ((val = 55)) {\n let attitude = this.attitude;\n let appId = this.openParams.appId;\n let instanceId = this.approvers[0].instanceId;\n this.$api.review(appId, instanceId, attitude, {\n onSucess: (response) => {\n let act = response.data.data;\n let status = \"SUCCESS\";\n if (response.data.errcode == 0) {\n this.$notify({\n title: response.data.data,\n message: \"\",\n type: \"success\",\n });\n this.$emit(\"closePopup\", status);\n } else if (response.data.errcode == 4001) {\n status = \"ERROR\";\n //this.$emit(\"closePopup\", status);\n let prompt = response.data.errors[0].errmsg\n ? response.data.errors[0].errmsg\n : response.data.errmsg;\n this.$notify.error({\n title: response.data.errmsg,\n message: response.data.errmsg,\n });\n }\n //this.$emit(\"action\", act);\n },\n });\n }\n },\n newSelectData() {\n for (let i = 0; i < this.selectData.length; i++) {\n let _st = this.submitTo;\n let _sd = this.selectData;\n if (_sd[i].id == _st.nodeid) {\n if (!_st.isAppentCirculator) {\n _sd[i].approverName = this.approverName;\n if(_st.row && _st.row.length > 0) {\n _sd[i].submitTo = _st;\n }else {\n _sd[i].submitTo = '';\n }\n \n }\n }\n }\n if (this.submitTo.isAppentCirculator) {\n this.isAppentData.approverName = this.cCname; //this.approverName;\n this.isAppentData.circulatorInfo = this.submitTo.userids;\n this.isAppentData.submitTo = this.submitTo;\n }\n this.$forceUpdate(); //重新渲染数据\n },\n\n stowPopup() {\n // this.approverName = '';\n this.$emit(\"closePopup\");\n },\n //指定审批人\n selectApprovers(\n isToPerson,\n nodeid,\n submitTo,\n approverNumType,\n isAppentCirculator,\n groupNum\n ) {\n // this.subFlowApproverData = subObj;\n // this.subFlowGroup = currentGroup; //数据保存在流程面板中\n // this.subFlowGroupNum = groupNum;\n if ((groupNum && groupNum > 1) || groupNum <= -1) {\n //子流程分组\n let approversObj = {\n isToPerson: isToPerson,\n nodeid: nodeid,\n groupNum: groupNum,\n };\n if (isAppentCirculator) {\n approversObj.isAppentCirculator = isAppentCirculator;\n }\n let saveApprover = submitTo;\n let subFlowGroup = [];\n if (this.subFlowGroup && this.subFlowGroup.length > 0) {\n subFlowGroup = [...this.subFlowGroup]; //this.subFlowGroup\n }\n let isSubFlow = true;\n this.$emit(\n \"showSubFlow\",\n approversObj,\n this.flowId,\n \"\",\n saveApprover,\n approverNumType,\n isAppentCirculator,\n groupNum,\n subFlowGroup,\n isSubFlow\n );\n } else {\n let approversObj = {\n isToPerson: isToPerson,\n nodeid: nodeid,\n };\n if (isAppentCirculator) {\n approversObj.isAppentCirculator = isAppentCirculator;\n }\n let saveApprover = submitTo;\n this.$emit(\n \"action\",\n approversObj,\n this.flowId,\n \"\",\n saveApprover,\n approverNumType,\n isAppentCirculator\n ); //调用父组件designatedApprover()方法\n }\n },\n\n //流程回退执行前\n rollBack() {\n let op = this.openParams;\n let appId = op.appId;\n if (this.act.workFlowType == 1) {\n //自由流程\n let pJson = this.getSignImageData();\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let templateForm = '';\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n }\n let document = {\n applicationId: appId,\n docId: docId,\n document: formData,\n formId: formId,\n id: id,\n nextUserId: this.selectBackNodes,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n document.attitude = this.attitude;\n if (pJson) {\n //手写签名\n document.signatureJson = JSON.stringify(pJson);\n }\n this.$api.backFreeFlow(appId, docId, document, {\n onSucess: (response) => {\n let status;\n if (response.data.errcode == 0) {\n status = \"SUCCESS\";\n this.$emit(\"closePopup\", status);\n this.$notify({\n title: response.data.data,\n message: \"\",\n type: \"success\",\n });\n } else if (response.data.errcode == 4001) {\n status = \"ERROR\";\n this.$emit(\"closePopup\", status);\n this.$notify({\n title: response.data.data,\n message: \"\",\n type: \"error\",\n });\n }\n },\n });\n } else {\n if (this.selectBackNodes) {\n let pJson = this.getSignImageData();\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let templateForm = '';\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n }\n let document = {\n applicationId: appId,\n currentNodeId: this.currentNodeId,\n docId: docId,\n document: formData,\n flowId: this.flowId,\n formId: formId,\n id: id,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n let _flowType = this.act.flowType;\n this.$api.runBeforeActionScript(\n appId,\n this.act.id,\n document,\n this.act.type,\n '', //treedocid\n _flowType, //flowType\n {\n onSucess: (response) => {\n if (response.data.errcode == 0) {\n let resData = response.data.data;\n if(resData && !resData.type) { //没有type值,但是有返回数据,把数据放进document\n if(resData.changedField) {\n let resDataItem = resData.changedField;\n if(resDataItem) {\n for(let i=0; i {\n let status;\n if (response.data.errcode == 0) {\n status = \"SUCCESS\";\n // this.$emit(\"closePopup\", status);\n this.$notify({\n title: this.$t('success'),\n message: response.data.data,\n type: \"success\",\n });\n this.runAfterAction(status);\n } else if (response.data.errcode == 4001) {\n status = \"ERROR\";\n this.$emit(\"closePopup\", status);\n ;\n }\n },\n });\n },\n\n //取消自由流程选中的用户\n onTabClose(id) {\n this.approverName = \"\";\n this.nextUserId = \"\";\n },\n\n //自由流程选择用户\n select() {\n let isFreeFlow = true;\n this.$emit(\"action\", \"\", \"\", isFreeFlow); //调用父组件designatedApprover()方法\n },\n\n //保存重新编辑的意见\n updateSuggestion() {\n console.log(\"更新编辑的数据-->\");\n console.log(this.inputSecond);\n let opinion = this.inputSecond;\n if(!opinion) {\n this.$message({\n message: this.$t('view.notnull_ss'),\n type: 'warning'\n });\n }else {\n let userId = this.$store.state.userId,\n opId = this.opinionId;\n const employeeId = localStorage.getItem(\"employeeId\") || this.$store.state.userId ;\n API.editMostUseSuggestion(employeeId, opId, opinion, {\n onSucess: (response) => {\n if (response.data.data) {\n let id = response.data.data.id;\n let content = response.data.data.content;\n for (let i = 0; i < this.allSuggests.length; i++) {\n if (this.allSuggests[i].id == id) {\n this.allSuggests[i].content = content;\n this.inputSecond = \"\";\n }\n }\n }\n },\n });\n }\n },\n //重新编辑意见\n editSuggestion(id, content) {\n this.inputSecond = content;\n this.opinionId = id;\n },\n //删除意见\n deleteSuggestion(id) {\n const employeeId = localStorage.getItem(\"employeeId\") || this.$store.state.userId ;\n let opId = id;\n API.deleteMostUseSuggestion(employeeId, opId, {\n onSucess: (response) => {\n console.log(response.data.data);\n //后台返回500,未执行以下步骤\n if (response.data.data) {\n let delId = response.data.data.id;\n let allSug = this.allSuggests;\n for (let i = 0; i < allSug.length; i++) {\n if (allSug[i].id == delId) {\n allSug.splice(i, 1);\n i--;\n }\n }\n this.allSuggest = allSug;\n }\n },\n });\n },\n\n //添加意见\n addSuggestion() {\n console.log(this.input);\n const employeeId = localStorage.getItem(\"employeeId\") || this.$store.state.userId ;\n\n let opinion = this.input;\n API.AddMostUseSuggestion(employeeId, opinion, {\n onSucess: (response) => {\n console.log(response.data.data);\n let newSuggest = response.data.data;\n this.allSuggests.push(newSuggest);\n this.input = \"\";\n },\n });\n },\n\n // 选中的数据放进文本框中\n putData(content) {\n if (this.showDelAndEdit == false) {\n if (!this.attitude) {\n this.attitude = content;\n } else if (this.attitude) {\n this.attitude = this.attitude + \",\" + content;\n }\n }\n },\n\n editSuggest() {\n this.showInput = true;\n this.showEditFirst = false;\n this.showEditSecond = true;\n this.showDelAndEdit = true;\n },\n\n cancelAddSuggest(num) {\n if (num == 1) {\n this.showInput = false;\n this.showDelAndEdit = false;\n this.showEditFirst = false;\n } else if (num == 2) {\n this.showInput = false;\n this.showDelAndEdit = false;\n this.showEditSecond = false;\n }\n },\n\n showInputBox() {\n this.showInput = true;\n this.showEditFirst = true;\n },\n\n showEditBox() {},\n\n //清除画布数据\n clear() {\n this.canvasTxt.clearRect(\n 0,\n 0,\n this.canvasTxt.canvas.width,\n this.canvasTxt.canvas.height\n );\n this.existCanvas = false;\n },\n show() {\n this.canvas = this.$refs.canvas; //指定canvas\n this.canvasTxt = this.canvas.getContext(\"2d\"); //设置2D渲染区域\n this.canvasTxt.fillStyle = \"#F9F9F9\";\n this.canvasTxt.fillRect(0, 0, 500, 125);\n },\n canvasDown(ev) {\n ev = ev || event;\n ev.preventDefault();\n if (1) {\n let obj = {\n x: ev.offsetX,\n y: ev.offsetY,\n };\n this.startX = obj.x;\n this.startY = obj.y;\n this.canvasTxt.beginPath();\n this.canvasTxt.moveTo(this.startX, this.startY);\n this.canvasTxt.lineTo(obj.x, obj.y);\n this.canvasTxt.stroke();\n this.canvasTxt.closePath();\n this.points.push(obj);\n this.isDown = true;\n }\n },\n canvasMove(ev) {\n ev = ev || event;\n ev.preventDefault();\n if (this.isDown) {\n let obj = {\n x: ev.offsetX,\n y: ev.offsetY,\n };\n this.moveY = obj.y;\n this.moveX = obj.x;\n this.canvasTxt.beginPath();\n this.canvasTxt.moveTo(this.startX, this.startY);\n this.canvasTxt.lineTo(obj.x, obj.y);\n this.canvasTxt.stroke();\n this.canvasTxt.closePath();\n this.startY = obj.y;\n this.startX = obj.x;\n this.points.push(obj);\n }\n },\n canvasUp(ev) {\n ev = ev || event;\n ev.preventDefault();\n if (1) {\n let obj = {\n x: ev.offsetX,\n y: ev.offsetY,\n };\n this.canvasTxt.beginPath();\n this.canvasTxt.moveTo(this.startX, this.startY);\n this.canvasTxt.lineTo(obj.x, obj.y);\n this.canvasTxt.stroke();\n this.canvasTxt.closePath();\n this.points.push(obj);\n this.points.push({ x: -1, y: -1 });\n this.isDown = false;\n }\n this.existCanvas = true;\n },\n canvasLeave() {\n // this.existCanvas = true;\n this.canvasMoveUse = false;\n },\n\n getSignImageData() {\n if (this.existCanvas) {\n //判断是否存在手写签名\n let pJson;\n let canvas = document.getElementById(\"canvas\");\n let signature = canvas.toDataURL(\"image/png\");\n let str = signature.replace(\"data:image/png;base64,\", \"\");\n pJson = {\n type: \"image/png;base64\",\n data: str,\n };\n return pJson;\n } else {\n return false;\n }\n },\n\n //提交\n onSubmit() {\n let op = this.openParams;\n let appId = op.appId;\n let arrayIuput = document.getElementsByTagName(\"input\");\n let arrayTextA = document.getElementsByTagName(\"textarea\");\n let htmlArr = [];\n if (arrayIuput.length > 0) {\n for (let i = 0; i < arrayIuput.length; i++) {\n let obj = {};\n if (\n arrayIuput[i].hasAttribute(\"storage\") &&\n arrayIuput[i].getAttribute(\"storage\") == \"exparams\"\n ) {\n if (arrayIuput[i].type == \"radio\" && arrayIuput[i].checked) {\n obj.id = arrayIuput[i].getAttribute(\"name\");\n obj.value = arrayIuput[i].value;\n htmlArr.push(obj);\n } else if (arrayIuput[i].type != \"radio\") {\n obj.id = arrayIuput[i].getAttribute(\"name\");\n obj.value = arrayIuput[i].value;\n htmlArr.push(obj);\n }\n }\n }\n }\n if (arrayTextA.length > 0) {\n for (let i = 0; i < arrayTextA.length; i++) {\n let obj = {};\n if (\n arrayTextA[i].hasAttribute(\"storage\") &&\n arrayTextA[i].getAttribute(\"storage\") == \"exparams\"\n ) {\n obj.id = arrayTextA[i].getAttribute(\"name\");\n obj.value = arrayTextA[i].value;\n htmlArr.push(obj);\n }\n }\n }\n let exparams = {};\n if (htmlArr.length > 0) {\n for (let i = 0; i < htmlArr.length; i++) {\n exparams[htmlArr[i].id] = htmlArr[i].value;\n }\n }\n this.htmlExparams = exparams;\n\n if (this.selectData.length > 0 || this.act.workFlowType == 1) {\n if (this.firstSubmission) {\n //当提交时,确定按钮禁止再次点击提交\n this.firstSubmission = false;\n let status = \"\";\n if (this.isToPerson) {\n //当要选择指定审批人时\n if (this.isSplit) {\n //多选\n if (this.nextNodeIds.length > 0) {\n for (let i = 0; i < this.nextNodeIds.length; i++) {\n for (let j = 0; j < this.selectData.length; j++) {\n if (this.nextNodeIds[i] == this.selectData[j].id) {\n if (this.selectData[j].type != \"CompleteNode\") {\n if(this.selectData[j].type == 'SubFlow') {\n if (!this.selectData[j].subFlowApproverData) {\n if (this.selectData[j].isToPerson) {\n this.$message({\n showClose: true,\n message: this.$t('view.noselect_approver'),\n type: 'warning'\n });\n this.firstSubmission = true;\n //this.$emit(\"closePopup\", status);\n return;\n }\n }\n }else {\n if (!this.selectData[j].submitTo) {\n if (this.selectData[j].isToPerson) {\n this.$message({\n showClose: true,\n message: this.$t('view.noselect_approver'),\n type: 'warning'\n });\n this.firstSubmission = true;\n //this.$emit(\"closePopup\", status);\n return;\n }\n }\n }\n }\n }\n }\n }\n } else if (this.nextNodeIds.length == 0) {\n this.$message.error(this.$t('placeholder.select')+this.$t('label.approval_node'));\n this.firstSubmission = true;\n //this.$emit(\"closePopup\", status);\n return;\n }\n } else {\n //单选\n if (this.nextNodeIds) {\n for (let y = 0; y < this.selectData.length; y++) {\n if (this.nextNodeIds == this.selectData[y].id) {\n if (this.selectData[y].type != \"CompleteNode\") {\n if (\n !this.selectData[y].submitTo &&\n !this.selectData[y].subFlowApproverData\n ) {\n if (this.selectData[y].isToPerson) {\n this.$message({\n showClose: true,\n message: this.$t('view.noselect_approver'),\n type: 'warning'\n });\n this.firstSubmission = true;\n // this.$emit(\"closePopup\", status);\n return;\n }\n }\n }\n }\n }\n } else {\n this.$emit(\"closePopup\", status);\n return;\n }\n }\n }\n\n if (this.nextNodeIds instanceof Array) {\n //多选但没有指定审批人没有选择审批人时\n if (this.nextNodeIds.length < 1) {\n return;\n }\n }\n\n if (this.act.workFlowType == 1) {\n if (!this.nextUserId) {\n this.$message({\n message: this.$t('view.noselect_approver'),\n type: 'warning'\n });\n this.firstSubmission = true;\n // status = \"ERROR\";\n // this.$emit(\"closePopup\", status);\n return;\n }\n }\n\n let pJson = this.getSignImageData();\n //let formData = this.$parent.$parent.$parent.$parent.$parent.buildFormData();\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n if (this.htmlExparams) {\n formData.exparams = this.htmlExparams;\n }\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let templateForm = '';\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n }\n let subDocuments = [];\n let subDoc = this.$store.state.subDocuments;//包含元素里配置网格视图的数据,提交按钮时网格视图的数据也要一起保存\n if(subDoc && subDoc.length > 0) {\n subDocuments = subDoc;\n delete formData.subDocuments;\n formData.subDocuments = subDocuments\n }\n let document = {\n applicationId: appId,\n currentNodeId: this.currentNodeId,\n docId: docId,\n document: formData,\n flowId: this.flowId,\n formId: formId,\n id: id,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n if (this.isMoreCurrentNode) {\n document.isMoreCurrentNode = this.isMoreCurrentNode;\n }\n if (this.isAppentCirculator) {\n //判断是否抄送\n if (this.isAppentData.circulatorInfo) {\n document.circulatorInfo = this.isAppentData.circulatorInfo;\n }\n }\n\n this.documentData = document; //保存值放到执行后脚本\n document.attitude = this.attitude;\n let isRelate = \"\";\n let _flowType = this.act.flowType; //提交为80\n\n //非自由流程\n document.subFlowApprover = []; //多种流程处理方式,此数据为完善未完善\n document.submitTo = [];\n //流程单选或多选\n if (this.nextNodeIds instanceof Array) {\n //多选\n let checkArr = [];\n document.nextNodeIds = this.nextNodeIds;\n for (let j = 0; j < this.nextNodeIds.length; j++) {\n for (let y = 0; y < this.selectData.length; y++) {\n if (\n this.nextNodeIds[j] == this.selectData[y].id &&\n this.selectData[y].submitTo\n ) {\n delete this.selectData[y].submitTo.row;\n document.submitTo.push(this.selectData[y].submitTo);\n if (this.selectData[y].type == \"SubFlow\") {\n let s = this.selectData[y];\n if(s.groupNum == -2) { //groupNum有-1,-2和>0, 当-1时无限制添加分组,-2是每个用户都是单独的分组\n let checkSubmit = s.submitTo;\n let approver = [];\n let subFlowUserId = '';\n if(s.subFlowApproverData && s.subFlowApproverData.approver && s.subFlowApproverData.approver.length > 0) {\n s.subFlowApproverData.approver[0].userids.forEach(el => {\n subFlowUserId += el + \";\";\n });\n }\n if(subFlowUserId) {\n checkSubmit.userids = subFlowUserId;\n }\n if(checkSubmit.userids) {\n let list = checkSubmit.userids.replace(/^(\\s|;)+|(\\s|;)+$/g, '')\n let useridList = list.split(\";\");\n for(let z=0; z0, 当-1时无限制添加分组,-2是每个用户都是单独的分组\n let approver = [];\n let subUserids = ''\n if(s.subFlowApproverData && s.subFlowApproverData.approver && s.subFlowApproverData.approver.length > 0) {\n console.log(\"subFlowApproverData-->\",s.subFlowApproverData)\n s.subFlowApproverData.approver[0].userids.forEach(el => {\n subUserids += el + \";\";\n });\n }\n if(subUserids) {\n let list = subUserids.replace(/^(\\s|;)+|(\\s|;)+$/g, '')\n let useridList = list.split(\";\");\n for(let z=0; z 0) {\n s.subFlowApproverData.approver[0].userids.forEach(el => {\n subUserids += el + \";\";\n });\n }\n obj.userids = subUserids.replace(/^(\\s|;)+|(\\s|;)+$/g, \"\");\n let useridData = obj.userids.split(\";\");\n let approverObj = {\n position: 1,\n userids: useridData,\n };\n let approverArr = [];\n approverArr.push(approverObj);\n //arr.push(obj);\n let subFlowObj = {\n approver: approverArr,\n nodeid: s.subFlowApproverData.nodeid,\n };\n document.subFlowApprover.push(subFlowObj);\n }\n }\n }\n }\n }\n document.subFlowApprover = checkArr;\n } else { // 单选\n document.nextNodeIds = [];\n if(this.nextNodeIds) {\n document.nextNodeIds.push(this.nextNodeIds);\n }\n //let arr = [];\n let subArr = [];\n let checkArr = [];\n for (let i = 0; i < this.selectData.length; i++) {\n if (\n this.selectData[i].submitTo &&\n this.selectData[i].submitTo.nodeid == this.nextNodeIds\n ) {\n delete this.selectData[i].submitTo.row;\n subArr.push(this.selectData[i].submitTo);\n if (this.selectData[i].type == \"SubFlow\") { // //主子流程\n let s = this.selectData[i];\n if(s.groupNum == -2) { //groupNum有-1,-2和>0, 当-1时无限制添加分组,-2是每个用户都是单独的分组\n let checkSubmit = s.submitTo;\n let approver = [];\n let subFlowUserId = '';\n if(s.subFlowApproverData && s.subFlowApproverData.approver && s.subFlowApproverData.approver.length > 0) {\n s.subFlowApproverData.approver[0].userids.forEach(el => {\n subFlowUserId += el + \";\";\n });\n }\n if(subFlowUserId) {\n checkSubmit.userids = subFlowUserId;\n }\n if(checkSubmit.userids) {\n let list = checkSubmit.userids.replace(/^(\\s|;)+|(\\s|;)+$/g, '')\n let useridList = list.split(\";\");\n for(let z=0; z 0) {\n let approvers = [];\n for (let k = 0; k < arr.length; k++) {\n let obj = {};\n obj.position = k + 1;\n let id = [];\n id.push(arr[k]);\n obj.userids = id;\n approvers.push(obj);\n }\n let subFlow = {};\n subFlow.approver = approvers;\n subFlow.nodeid = subflowData.nodeid;\n document.subFlowApprover.push(subFlow);\n }\n } else {\n subflowData = Object.assign(\n {},\n this.selectData[i].subFlowApproverData\n );\n for (let j = 0; j < subflowData.approver.length; j++) {\n delete subflowData.approver[j].rows;\n }\n document.subFlowApprover.push(subflowData);\n }\n }\n }\n }\n \n if(!document.attitude){\n this.firstSubmission = true;\n return this.$message.error('请输入审批意见!');\n }\n\n this.$api.submitRunBeforeActionScript(\n appId,\n this.act.id,\n document,\n docId,\n document.viewId,\n formId,\n document.templateForm,\n document.parentId,\n isRelate,\n _flowType,\n {\n onSucess: (response) => {\n if (response.data.errcode == 0) {\n if (response.data.data) {\n let resData = response.data.data;\n if(!resData.type) { //没有type值,但是有返回数据,把数据放进document\n if(resData.changedField) {\n // let items = document.document.items;\n let resDataItem = resData.changedField;\n if(resDataItem) {\n for(let i=0; i {\n this.submitFlowData(document, pJson);\n }).catch(() => {\n this.firstSubmission = true\n });\n }else {\n this.$notify.error({\n title: response.data.data.content,\n message: \"\",\n });\n status = \"ERROR\";\n this.$emit(\"closePopup\", status);\n }\n } else {\n this.submitFlowData(document, pJson);\n }\n }\n },\n }\n );\n }\n }\n },\n\n submitFlowData(allData, pJson) {\n //let formData = this.$parent.$parent.$parent.$parent.$parent.buildFormData();\n let appId = this.openParams.appId;\n let formData = this.buildFormData;\n let docId = formData.id;\n // 这里多加上 上传附件\n debugger\n allData.fileList = this.fileList\n let document = allData;\n\n if (pJson) {\n //手写签名\n document.signatureJson = JSON.stringify(pJson);\n }\n if (this.htmlExparams) {\n document.document.exparams = this.htmlExparams;\n }\n document.attitude = this.attitude;\n if (this.act.workFlowType == 1) {\n //自由流程\n document.nextUserId = this.nextUserId;\n delete document.currentNodeId;\n delete document.flowId;\n API.submitFreeFlow(appId, docId, document, {\n onSucess: (response) => {\n this.firstSubmission = true;\n let status;\n let prompt;\n if (response.data.errcode == 0) {\n status = \"SUCCESS\";\n prompt = response.data.data;\n this.$notify({\n title: prompt,\n message: \"\",\n type: \"success\",\n });\n this.runAfterAction(status);\n } else if (response.data.errcode == 4001) {\n status = \"ERROR\";\n this.$emit(\"closePopup\", status);\n if (response.data.errors && response.data.errors.length > 0) {\n Toast({\n message: response.data.errors[0].errmsg,\n iconClass: \"fa fa-close fa-2x\",\n });\n }\n }\n },\n });\n } else {\n API.submitFlow(appId, docId, document, {\n onSucess: (response) => {\n this.firstSubmission = true;\n let status;\n let prompt;\n if (response.data.errcode == 0) {\n status = \"SUCCESS\";\n prompt = response.data.data;\n this.$notify({\n title: prompt,\n message: \"\",\n type: \"success\",\n });\n this.runAfterAction(status);\n } else if (response.data.errcode == 4001) {\n status = \"ERROR\";\n //this.$emit(\"closePopup\", status);\n let prompt = response.data.errors[0].errmsg\n ? response.data.errors[0].errmsg\n : response.data.errmsg;\n this.$notify.error({\n title: response.data.errmsg,\n message: prompt,\n });\n }\n },\n });\n }\n },\n\n //执行脚本后\n runAfterAction(status) {\n let appId = this.openParams.appId;\n let document = this.documentData;\n let isRelate = \"\";\n let _flowType = this.act.flowType; //提交为80\n try {\n this.$api.submitRrunAfterActionScript(\n appId,\n this.act.id,\n document,\n document.docId,\n document.viewId,\n document.formId,\n document.templateForm,\n document.parentId,\n isRelate,\n _flowType,\n {\n onSucess: (response) => {\n if (response.data.errcode == 0 && !response.data.data) {\n // this.$notify({\n // title: '成功',\n // message: prompt,\n // type: 'success'\n // });\n this.$emit(\"closePopup\", status);\n } else if (response.data.errcode == 0 && response.data.data) {\n this.$notify({\n title: response.data.data.content.content,\n message: \"\",\n type: \"error\",\n });\n let sta = \"ERROR\";\n let isClose = true;\n this.$emit(\"closePopup\", sta, isClose);\n }\n let workflowOrder = sessionStorage.getItem(\"workflowOrder\");\n this.$store.dispatch(\"getPendingListWithWidget\", {workflowOrder}); //流程提交完毕后首页流程处理widget数据重新刷新\n this.$store.dispatch(\"getProcessedListWithWidget\", {workflowOrder});\n this.$store.commit(\"iscriptChanage\") //流程提交完毕后首页计算脚本widget数据根据配置项重新刷新\n },\n }\n );\n } catch (error) {\n console.log(error);\n }\n \n },\n\n //隐藏小意见框\n hiddenSuggest() {\n console.log(\"隐藏小意见框\");\n this.isOrSuggest = !this.isOrSuggest;\n },\n\n changeDiv() {\n this.currentAct = !this.currentAct;\n },\n\n //获取返回的数据\n getSuggest() {\n // let userId = this.$store.state.userId;\n const employeeId = localStorage.getItem(\"employeeId\") || this.$store.state.userId ;\n this.$api.getCommonOpinions( employeeId || this.$root.user.id, {\n onSucess: (response) => {\n this.allSuggests = response.data.data;\n },\n });\n },\n\n //节点数据\n getSubmission() {\n let op = this.openParams;\n let appId = op.appId;\n if (this.act && this.act.type == 47) {\n //流程回退\n if (this.act.workFlowType == 1) {\n //自由流程\n let instanceId;\n for (let i = 0; i < this.approvers.length; i++) {\n instanceId = this.approvers[i].instanceId;\n }\n this.$api.getHisActorsFreeFlow(appId, instanceId, {\n onSucess: (response) => {\n this.backNodes = response.data.data;\n },\n });\n } else if (this.act.workFlowType == 0) {\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let templateForm = '';\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n }\n let document = {\n applicationId: appId,\n docId: docId,\n document: formData,\n formId: formId,\n id: id,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n this.$api.getBackPanel(appId, docId, document, {\n onSucess: (response) => {\n this.backNodes = response.data.data.backNodes;\n this.selectBackNodes = this.backNodes[0].id;\n this.currentNodeId = response.data.data.currentNodeId; //当前节点ID\n this.flowId = response.data.data.flowId;\n },\n });\n }\n } else {\n let formData = this.buildFormData;\n formData.stateId = this.stateId;\n let docId = formData.id,\n id = formData.id;\n let formId = '';\n let templateForm = '';\n if(op.realformId) {//如果是模板表单,realformId是真实formID,而不是templateForm\n formId = op.realformId;\n formData.formId = op.realformId;\n templateForm = op.actionContent;\n }else {\n formId = formData.formId;\n templateForm = op.actionContent;//bcx-模板表单\n }\n let document = {\n applicationId: appId,\n docId: docId,\n document: formData,\n formId: formId,\n id: id,\n parentId: \"\",\n templateForm,\n viewId: \"\",\n };\n console.log(document)\n API.getFlowPanel(appId, docId, document, {\n onSucess: (response) => {\n let nodesArr = response.data.data.nextNodes;\n this.isMoreCurrentNode = response.data.data.isMoreCurrentNode\n ? response.data.data.isMoreCurrentNode\n : \"\";\n let min;\n for (let i = 0; i < nodesArr.length; i++) {\n for (let j = i; j < nodesArr.length; j++) {\n if (nodesArr[j].orderNum > -1) {\n if (nodesArr[i].orderNum > nodesArr[j].orderNum) {\n min = nodesArr[j];\n nodesArr[j] = nodesArr[i];\n nodesArr[i] = min;\n }\n }\n }\n }\n this.selectData = nodesArr;\n nodesArr.forEach((item) => {\n if (item.isToPerson) {\n this.isToPerson = item.isToPerson;\n }\n if(item.checkedOnMultiplePerson) { //当后台设置了选中下一步审批人,默认选中全部人\n let flowId = response.data.data.flowId, \n nodeId = item.id, \n type = 0, \n selectId = '', \n pageNum = 1, \n pageSize = 10;\n this.$api.getSelectApprovers(\n appId, \n docId, \n flowId, \n nodeId, \n type, \n encodeURIComponent(selectId), \n pageNum, \n pageSize,\n {\n onSucess: res => {\n let list = res.data.data.datas;\n let name = '', userids = '';\n let submitTo = {};\n if(list && list.length) {\n list.forEach(el => {\n name += el.name + \";\";\n userids += el.id + \";\";\n });\n name = name.replace(/^(\\s|;)+|(\\s|;)+$/g, '');\n userids = userids.replace(/^(\\s|;)+|(\\s|;)+$/g, '');\n submitTo = {\n isToPerson: item.isToPerson,\n nodeid: item.id,\n userids: userids,\n row:res.data.data.datas,\n }\n item.approverName = name;\n item.submitTo = submitTo;\n // item.isARole = true;\n this.$forceUpdate();\n }\n \n }\n }\n );\n }else if(item.checkedOnSinglePerson) { //当后台设置了下一步审批人只有一人,默认选中该人时\n let flowId = response.data.data.flowId, \n nodeId = item.id, \n type = 0, \n selectId = '', \n pageNum = 1, \n pageSize = 10;\n this.$api.getSelectApprovers(\n appId, \n docId, \n flowId, \n nodeId, \n type, \n encodeURIComponent(selectId), \n pageNum, \n pageSize,\n {\n onSucess: res => {\n let list = res.data.data.datas;\n let name = '', userids = '';\n let submitTo = {};\n if(list && list.length == 1) {\n list.forEach(el => {\n name += el.name + \";\";\n userids += el.id + \";\";\n });\n name = name.replace(/^(\\s|;)+|(\\s|;)+$/g, '');\n userids = userids.replace(/^(\\s|;)+|(\\s|;)+$/g, '');\n submitTo = {\n isToPerson: item.isToPerson,\n nodeid: item.id,\n userids: userids\n }\n item.approverName = name;\n item.submitTo = submitTo;\n item.isARole = true;\n this.$forceUpdate();\n }\n \n }\n }\n );\n \n }\n });\n \n this.isSplit = response.data.data.isSplit;\n this.currentNodeId = response.data.data.currentNodeId; //当前节点ID\n this.isAppentCirculator = response.data.data.isAppentCirculator; //是否抄送;\n this.flowId = response.data.data.flowId;\n if (this.isSplit) {\n //复选\n this.nextNodeIds = [];\n this.selectData.forEach((item) => {\n if (item.checked == true) {\n this.nextNodeIds.push(item.id);\n }\n });\n } else {\n //单选\n this.selectData.every((item) => {\n if (item.checked == true) {\n this.nextNodeIds = item.id;\n }\n return false;\n });\n }\n },\n });\n }\n },\n },\n};\n",null]}