import Api from '~/service/Api'; import moment from 'moment'; export default { methods: { //入口查询 async handleSearch() { if(this.activeTab === 'li'){ 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 let matdatfrom = this.model[this.activeTab + 'con'].matdatfrom let matdatto = this.model[this.activeTab + 'con'].matdatto 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 } } if (matdatfrom != null && matdatto != null) { if (new Date(matdatfrom).getTime() > new Date(matdatto).getTime()) { this.$notify.error({ title: '错误', message: '开始日期应小于或等于截止日期!' }); return } } } this.load = true; let queryCon = this.activeTab === 'li' ? 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' ||this.activeTab === 'df' ){ params.pnttyp = 'BRD' } delete params.markSet delete params.modifySet let rtnmsg = await Api.post('/Lc/litsel/list' + this.activeTab, params); if (rtnmsg.respCode == SUCCESS) { if(this.activeTab === 'li'){ 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 === 'li'){ this.model.infcon = {} }else{ this.model[this.activeTab + 'con'] = {} } }, // 处理 async handler(row) { this.handleModel = row; if(this.activeTab === 'li' ||this.activeTab === 'br'||this.activeTab === 'sg'){ this.trnUrl = 'Lc'; this.inifrm = 'litsel'; }else if (this.activeTab === 'tr'){ this.trnUrl = 'Financing'; this.inifrm = 'trtsel'; }else if (this.activeTab === 'df'){ this.trnUrl = 'Financing'; this.inifrm = 'dftsel'; } this.initdialog = true; }, //双击表格数据 async TableDblRow(row) { this.handler(row) }, //单击表格数据 TableRowClick(row) { this['selectedModel' + this.toTitleCase(this.activeTab)] = row }, //点击页签 async handleClickTab(){ switch (this.activeTab){ case 'li': this.titleNam = "进口信用证交易列表" break; case 'br': this.titleNam = "进口信用证单据交易列表" break; case 'sg': this.titleNam = "提货担保交易列表" break; case 'tr': this.titleNam = "进口融资交易列表" break; case 'df': this.titleNam = "委托方代付交易列表" break; default: this.titleNam = "交易列表" break; } if(this.activeTab === 'br'){ //从信用证跳转到单据页签 if(this.selectedModelLi.inr){ this.load = true; let params = { lidinr : this.selectedModelLi.inr, pageNumber: this.pagination.pageIndex, pageSize:this.pagination.pageSize, }; let rtnmsg = await Api.post('/Lc/litsel/listbrByLid', params); if (rtnmsg.respCode == SUCCESS) { this.stmDataBr.data = []; this.stmDataBr.data = rtnmsg.data.list; this.pagination.total = rtnmsg.data.total; } else { this.$notify.error({ title: '错误', message: '服务请求失败!' }); } this.load = false; } }else if(this.activeTab === 'sg'){ //从信用证跳转到提货担保页签 if(this.selectedModelLi.inr){ this.load = true; let params = { lidinr : this.selectedModelLi.inr, pageNumber: this.pagination.pageIndex, pageSize:this.pagination.pageSize, }; let rtnmsg = await Api.post('/Lc/litsel/listsgByLid', params); if (rtnmsg.respCode == SUCCESS) { this.stmDataSg.data = []; this.stmDataSg.data = rtnmsg.data.list; this.pagination.total = rtnmsg.data.total; } else { this.$notify.error({ title: '错误', message: '服务请求失败!' }); } this.load = false; } }else if(this.activeTab !== 'li'){ //从单据跳转到融资或代付页签 if(this.selectedModelBr.inr) { this.load = true; let params = { pntinr: this.selectedModelBr.inr, pnttyp: 'BRD', pageNumber: this.pagination.pageIndex, pageSize: this.pagination.pageSize, }; let rtnmsg = await Api.post('/Lc/litsel/list' + this.activeTab + 'ByBrd', params); if (rtnmsg.respCode == SUCCESS) { this['stmData' + this.toTitleCase(this.activeTab)].data = []; this['stmData' + this.toTitleCase(this.activeTab)].data = rtnmsg.data.list; this.stmDataTr.data this.pagination.total = rtnmsg.data.total; } else { this.$notify.error({title: '错误', message: '服务请求失败!'}); } this.load = false; } } }, changeOwnref(){ if(this.activeTab === 'li'){ 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 handleClick (btn,row) { this.routerPush({ path: "/business/" + btn.code.toLowerCase(), query: { inr: row.inr,pntinr: row.pntinr } }); this.initdialog = false; }, // 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(); }, toLitpop() { this.routerPush({ path: '/business/litpop', }); }, async toLitopn() { let params = { branch: JSON.parse(sessionStorage.getItem('currentOrg')).departmentNumber, frmtyp: 'LITOPN', } const res = await Api.post('/manager/atpbch/getInifrm', params); if (res.respCode === SUCCESS) { this.routerPush({ path: '/business/' + res.data.inifrm.toLowerCase(), }); } }, toLetopn() { this.routerPush({ path: '/business-new/letopn', }); }, // 详情 async details(row) { const params = { ownref: row.ownref, shgref: row.shgref ? row.shgref.trim() : '', }; 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]){ this.$refs[this.oldRefId].showPopper = false; } }, //Info toInfo(row,objtyp,subobjtyp){ console.log('activeTab:', this.activeTab.toLowerCase() == 'sg' ? 'br' : this.activeTab.toLowerCase() ) this.routerPush({ path: "/business/" + (this.activeTab.toLowerCase() == 'sg' ? 'br' : this.activeTab.toLowerCase()) + "dinf", query: { inr: row.inr,objtyp:objtyp,pntinr:row.pntinr,subobjtyp:subobjtyp} }); }, // 关闭详情弹框 closeDetailsDialog(refId) { if(refId && this.$refs[refId]){ this.$refs[refId].showPopper = false; } }, // 关闭处理弹框 closeHandlerDialog() { this.initdialog = false; }, /** * 打开详情页面 * @param row */ display(row) { if(this.oldRefId && this.$refs[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.handleModel.inr,brdinr:row.inr } }); this.litdckdialog = false this.$options.methods.closeHandlerDialog.call(this); }, //点击交易列表按钮 async handleClick (btn,row) { let objtyp = ''; if (this.activeTab === 'li') { objtyp = 'LID'; } else if (this.activeTab === 'br' || this.activeTab === 'sg') { objtyp = 'BRD'; } else if (this.activeTab === 'tr') { objtyp = 'TRD'; } else if (this.activeTab === 'df') { objtyp = 'DFD'; } 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.initdialog = false; }, //修改弹窗状态 changeBtn(isVisible){ this.initdialog = isVisible; }, //获取码表数据 getCodeTable(tbl,uil,value){ if(uil){ uil='EN' } let localCodes = localStorage.getItem('localCodes'); if (localCodes) { let codeobj = JSON.parse(localCodes)[tbl + '_' + uil + '_COD']; if(codeobj){ let codeobj = codeobj.filter(m => m.value === value); return codeobj ? codeobj.label : value; }else{ return value; } }else{ return value; } }, //获取码表数据 getCodelabel(value,codenam) { const codeobj = this.model.dbCodes[codenam].find(obj => obj.value === value) return codeobj ? codeobj.label : value; }, 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.model.dbCodes[codeNam] = curList } }, }, };