import Api from '~/service/Api'; import moment from 'moment'; export default { methods: { async handleSearch() { if(this.activeTab === 'di'){ if ((this.model.infcon.seaownref == '' || this.model.infcon.seaownref == null) && this.model.infcon.opndatfrom == null) { this.$notify.error({ title: '错误', message: '开始日期必输!' }); return; } if ((this.model.infcon.seaownref == '' || this.model.infcon.seaownref == null) && this.model.infcon.opndatto == null) { this.$notify.error({ title: '错误', message: '截止日期必输!' }); return; } if (this.model.infcon.opndatfrom != null && this.model.infcon.opndatto != null) { if (new Date(this.model.infcon.opndatfrom).getTime() > new Date(this.model.infcon.opndatto).getTime()) { this.$notify.error({ title: '错误', message: '开始日期应小于或等于截止日期!' }); return } } }else{ let ownref = this.model[this.activeTab + 'con'][this.activeTab + 'ownref'] let opndatfrom = this.model[this.activeTab + 'con'].opndatfrom let opndatto = this.model[this.activeTab + 'con'].opndatto if ((ownref == '' || ownref == null) && opndatfrom == null) { this.$notify.error({ title: '错误', message: '开始日期必输!' }); return; } if ((ownref == '' || ownref == null) && opndatto == null) { this.$notify.error({ title: '错误', message: '截止日期必输!' }); return; } if (opndatfrom != null && opndatto != null) { if (new Date(opndatfrom).getTime() > new Date(opndatto).getTime()) { this.$notify.error({ title: '错误', message: '开始日期应小于或等于截止日期!' }); return } } } this.load = true; let queryCon = this.activeTab === 'di' ? this.model.infcon : this.model[this.activeTab + 'con'] let params = { ...queryCon, opndatfrom : queryCon.opndatfrom ? moment(queryCon.opndatfrom).format("YYYY-MM-DD") : '', opndatto : queryCon.opndatto ? moment(queryCon.opndatto).format("YYYY-MM-DD") : '', branch : JSON.parse(sessionStorage.getItem('currentOrg')).departmentNumber, pageNumber: this.pagination.pageIndex, pageSize:this.pagination.pageSize, }; if( this.activeTab === 'tr' ){ params.pnttyp = 'BDD' } delete params.markSet delete params.modifySet let rtnmsg = await Api.post('/Domlc/ditsel/list' + this.activeTab, params); if (rtnmsg.respCode == SUCCESS) { if(this.activeTab === 'di'){ this.stmData.data = []; this.stmData.data = rtnmsg.data.list; }else{ this['stmData' + this.toTitleCase(this.activeTab)].data = []; this['stmData' + this.toTitleCase(this.activeTab)].data = rtnmsg.data.list; } this.pagination.total = rtnmsg.data.total; } else { this.$notify.error({ title: '错误', message: '服务请求失败!' }); } this.load = false; }, toTitleCase(str){ return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase() }, async handleReset() { if(this.activeTab === 'di'){ this.model.infcon = {} }else{ this.model[this.activeTab + 'con'] = {} } }, // pageSize改变 handleSizeChange(val) { console.log(`每页 ${val} 条`); this.pagination.pageIndex = 1; this.pagination.pageSize = val; this.handleSearch(); }, // 页码改变 handleCurrentChange(val) { console.log(`当前页: ${val}`); this.pagination.pageIndex = val; this.handleSearch(); }, toDitopn() { // 点击开立,清空从待经办进来的时候带的行参数 localStorage.setItem('row_litopn', null) localStorage.setItem('review_litopn',null) this.routerPush({ path: '/business/ditopn', }); }, // 详情 async details(row) { const params = { ownref: row.ownref, }; const res = await Api.post('/manager/trn/getTrnListByOwnref', params); if (res.respCode === SUCCESS) { if (res.data.length === 1) { if(this.oldRefId && this.$refs[this.oldRefId]){ this.$refs[this.oldRefId].showPopper = false; } this.display(res.data[0]) }else{ this.trnData.data = res.data; this.oldRefId = 'popover_' + row.inr this.$refs[this.oldRefId].showPopper = true; } } }, closeDisplayDialog(){ if(this.oldRefId){ this.$refs[this.oldRefId].showPopper = false; } }, // 关闭详情弹框 closeDetailsDialog(refId) { if(refId && this.$refs[refId]){ this.$refs[refId].showPopper = false; } }, // 处理 async handler(row) { this.handleModel = row; if(this.activeTab === 'tr'){ this.trnUrl = 'Financing'; this.inifrm = 'trtsel'; }else{ this.trnUrl = 'Domlc'; this.inifrm = 'ditsel'; } this.initdialog = true; }, //双击表格数据 async TableDblRow(row) { this.handler(row) }, //单击表格数据 TableRowClick(row) { this['selectedModel' + this.toTitleCase(this.activeTab)] = row }, //点击页签 async handleClickTab(){ if(this.activeTab === 'bd'){ //从信用证跳转到单据页签 if(this.selectedModelDi.inr){ this.load = true; let params = { didinr : this.selectedModelDi.inr, pageNumber: this.pagination.pageIndex, pageSize:this.pagination.pageSize, }; let rtnmsg = await Api.post('/Domlc/ditsel/listbdByDid', params); if (rtnmsg.respCode == SUCCESS) { this.stmDataBd.data = []; this.stmDataBd.data = rtnmsg.data.list; this.pagination.total = rtnmsg.data.total; } else { this.$notify.error({ title: '错误', message: '服务请求失败!' }); } this.load = false; } }else if(this.activeTab === 'tr'){ //从单据跳转到融资或代付页签 if(this.selectedModelBd.inr) { this.load = true; let params = { pntinr: this.selectedModelBd.inr, pnttyp: 'BDD', pageNumber: this.pagination.pageIndex, pageSize: this.pagination.pageSize, }; let rtnmsg = await Api.post('/Domlc/ditsel/list' + this.activeTab + 'ByBdd', params); if (rtnmsg.respCode == SUCCESS) { this['stmData' + this.toTitleCase(this.activeTab)].data = []; this['stmData' + this.toTitleCase(this.activeTab)].data = rtnmsg.data.list; this.pagination.total = rtnmsg.data.total; } else { this.$notify.error({title: '错误', message: '服务请求失败!'}); } this.load = false; } } }, changeOwnref(){ if(this.activeTab === 'di'){ if(this.model.infcon.seaownref){ this.model.infcon.opndatfrom = null } }else{ if(this.model[this.activeTab + 'con'][this.activeTab + 'ownref']){ this.model[this.activeTab + 'con'].opndatfrom = null } } }, async checkPending(btn,row){ let objtyp = ''; if (this.activeTab === 'di') { objtyp = 'DID'; } else if (this.activeTab === 'bd') { objtyp = 'BDD'; } else if (this.activeTab === 'tr') { objtyp = 'TRD'; } else { objtyp = ''; } let obj = { objtyp:objtyp, objinr:row.inr, pntinr:row.pntinr, pnttyp:row.pnttyp, ledinr:row.ledinr, trnName:btn.code.toLowerCase(), } let isPush = await this.$refs.lockAndPending.checkLockAndPending(obj) if(!isPush){ return } this.routerPush({ path: "/business/" + btn.code.toLowerCase(), query: { inr: row.inr,pntinr: row.pntinr } }) this.handleVisible = false; }, async handleClick (btn,row) { if(btn.code == 'DITDCK' && row.elcflg == 'Y'){ this.$confirm('该业务为电证业务,请从来报入口处理到单业务,是否继续进入?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning', }).then(() => { this.checkPending(btn,row); } ) }else{ this.checkPending(btn,row); } this.initdialog = false; }, // 关闭处理弹框 closeHandlerDialog() { this.initdialog = false; }, /** * 打开详情页面 * @param {string} inr */ display(row) { if(this.oldRefId){ this.$refs[this.oldRefId].showPopper = false; } // 历史快照 if (row.inr.length == 8) { this.routerPush({ path: '/business/HistoryRecord', query: { businessInr: row.inr, businessType: 'TRN', type:'view' } }) } else if (row.inr.length == 16) { this.routerPush({ path: `/display/${row.inifrm.toLowerCase()}`, query: { businessInr: row.inr, businessType: 'TRN' } }); } }, checkData(row){ this.routerPush({ path: '/business-new/litdck', query: { inr: this.currentHandleRow.inr,brdinr:row.inr } }); this.litdckdialog = false this.$options.methods.closeHandlerDialog.call(this); }, async getdbCode(codeType, uil, codeNam) { let params = { codeType: codeType, uil: uil ? uil : 'EN' } let rtnmsg = await Api.post("/manager/dic/listDicInfo", params) if (rtnmsg.respCode === SUCCESS) { let curList = rtnmsg.data.map(item => ({ value: item.codeValue, label: item.codeName })); this.dbCodes[codeNam] = curList } }, getCodelabel(value,codenam) { const codeobj = this.dbCodes[codenam].find(obj => obj.value === value) return codeobj ? codeobj.label : value; }, //Info toInfo(row,objtyp,subobjtyp){ this.routerPush({ path: "/business/" + this.activeTab.toLowerCase() + "dinf", query: { inr: row.inr,objtyp:objtyp,pntinr:row.pntinr,subobjtyp:subobjtyp} }); }, //修改弹窗状态 changeBtn(isVisible){ this.initdialog = isVisible; }, }, };