import Api from '~/service/Api'; import Utils from "~/utils" export default { methods: { async init() { const res = await Api.post('/service/gitopn/init', { trnmodVo: { trn: { inr: this.$route.query.trn } }, transName: this.trnName, userId: window.sessionStorage.userId || 'ZL', }); if (!res.data) { return; } this.copyValueFromVoData(this.model, res.data) this.copyValueFromVoData(this.model.setmod.setfeg, res.data.setfeg) this.copyValueFromVoData(this.model.setmod.setfog, res.data.setfog) this.copyValueFromVoData(this.model.setmod.setglg, res.data.setglg) }, // 兼容处理在前端model中定义了字段,后端返回的数据中不存在字段的问题 copyValueFromVoData (model, data) { let keysList = Object.keys(model) keysList.map((key) => { if (data[key]) { if (Utils.typeOf(model[key]) === 'Object') { this.copyValueFromVoData(model[key], data[key]) } else { this.$set(model, key, data[key]) } } }) }, async tabClick(tab) { if (this.isInDisplay) { return; } let name = tab.name; switch (name) { case 'ccvpan': let ccvpanRequest = buildFn.builCcvpan(this.model, this.trnName); this.processLiaccv(ccvpanRequest); break; case 'engp': let engpRequest = buildFn.builDengp(this.model, this.trnName); this.processLiaall(engpRequest); break; case 'setpan': let setfegRequest = buildFn.buildSetfeg(this.model, this.trnName); // 此处利用回调是为了等setfeg的接口调用完成后才去获取setglg参数,由于setglg参数依赖于setfeg函数的返回值 this.processSetpan(setfegRequest, () => { return buildFn.buildSetglg(this.model, this.trnName); }); break; case 'docpan': let docpanRequest = buildFn.builDocpan(this.model, this.trnName); this.processTrndoc(docpanRequest); break; case 'glepan': let glentryRequest = buildFn.buildGlentry(this.model, this.trnName); this.processGlentry(glentryRequest); break; default: return; } }, //处理-复核 async handlePass(val) { let params = { transName: 'trnrel', userId: window.sessionStorage.userId || 'ZL', selirn: [this.$route.query.trn] } let rtnmsg = await Api.post('/service/trnrel/relrow', params); if (rtnmsg.respCode === SUCCESS) { let errorMsg = ''; let fieldErrorsFlag = !rtnmsg.data.fieldErrors; if (!fieldErrorsFlag) { let errorMsgkey = ''; let errorMsgVal = ''; for (const key in rtnmsg.data.fieldErrors) { errorMsgkey = key; errorMsgVal = rtnmsg.data.fieldErrors[key]; } errorMsg = errorMsgkey + ':' + errorMsgVal; this.$notify.error({ title: '错误', message: '复核失败!错误信息[' + errorMsg + ']', }); } else { this.$notify({ title: '成功', message: '复核成功', type: 'success', }); this.$store.dispatch('TagsView/delView', this.$route); this.$router.history.push('/taskList', () => { this.$store.commit('setTaskListTabVal', 'trnrel'); // 刷新表格 this.$store.commit('setLoadingFreshReview', true); }); } } else { let errorMsg = ''; let fieldErrorsFlag = !rtnmsg.data.fieldErrors; if (!fieldErrorsFlag) { let errorMsgkey = ''; let errorMsgVal = ''; for (const key in rtnmsg.data.fieldErrors) { errorMsgkey = key; errorMsgVal = rtnmsg.data.fieldErrors[key]; errorMsg = errorMsg + errorMsgkey + ':' + errorMsgVal + ';'; } } else if (rtnmsg.respMsg) { errorMsg = rtnmsg.respMsg; } this.$notify.error({ title: '错误', message: '复核失败!错误信息[' + errorMsg + ']', }); } }, //处理-打回 async handleRefuse(val) { let params = { trninr: this.$route.query.trn, transName: 'trnrel', userId: sessionStorage.getItem('userId') || 'ZL', pageId: this.model.pageId || '1', dflg: '', relflg: '', inidatfro: '', inidattol: '', }; let rtnmsg = await Api.post('/service/trnrel/reprow', params); if (rtnmsg.respCode == SUCCESS) { let errorMsg = ''; let fieldErrorsFlag = !rtnmsg.fieldErrors || JSON.stringify(rtnmsg.fieldErrors) == '{}'; if (!fieldErrorsFlag) { let errorMsgkey = ''; let errorMsgVal = ''; for (const key in rtnmsg.fieldErrors) { errorMsgkey = key; errorMsgVal = rtnmsg.fieldErrors[key]; } errorMsg = errorMsgkey + ':' + errorMsgVal; this.$notify.error({ title: '错误', message: '退回失败!错误信息[' + errorMsg + ']', }); } else { this.$notify({ title: '成功', message: '退回成功', type: 'success', }); this.$store.dispatch('TagsView/delView', this.$route); this.$router.history.push('/taskList', () => { this.$store.commit('setTaskListTabVal', 'trnrel'); // 刷新表格 this.$store.commit('setLoadingFreshReview', true); }); } } else { let errorMsg = ''; let fieldErrorsFlag = !rtnmsg.fieldErrors || JSON.stringify(rtnmsg.fieldErrors) == '{}'; if (!fieldErrorsFlag) { let errorMsgkey = ''; let errorMsgVal = ''; for (const key in rtnmsg.fieldErrors) { errorMsgkey = key; errorMsgVal = rtnmsg.fieldErrors[key]; errorMsg = errorMsg + errorMsgkey + ':' + errorMsgVal + ';'; } } else if (rtnmsg.respMsg) { errorMsg = rtnmsg.respMsg; } this.$notify.error({ title: '错误', message: '退回失败!错误信息[' + errorMsg + ']', }); } }, //处理-退出 handleExit() { this.$store.dispatch('TagsView/delView', this.$route); this.$router.history.push('/taskList', () => { this.$store.commit('setTaskListTabVal', 'trnrel'); }); }, }, };