import Api from '~/service/Api'; import moment from 'moment'; import Utils from "~/utils"; export default { methods: { formSubmit() { this.column = '' this.order = '' this.handleSearch(); }, //双击表格数据 async TableDblRow(row) { this.toDetail(row) }, async handleSearch(orderObj) { if (this.model.infcon.opndatfrom == null || this.model.infcon.opndatfrom == '') { this.$notify.error({ title: '错误', message: '开始日期必输!' }); return; } if (this.model.infcon.opndatto == null || this.model.infcon.opndatto == '') { 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 } } if (new Date(this.model.infcon.opndatto).getTime() - new Date(this.model.infcon.opndatfrom).getTime() > 731 * 24 * 60 * 60 * 1000) { this.$notify.error({ title: '错误', message: '请将查询条件中时间范围控制在2年内(含)。' }); return } if(this.model.infcon.seacur == '' && (this.model.infcon.seaamtfr != '' || this.model.infcon.seaamtto != '')){ this.$notify.error({ title: '错误', message: '输入金额前请先选择币种!' }); return } if(this.model.infcon.seaamtfr != '' && this.model.infcon.seaamtto != ''){ if(Number(this.model.infcon.seaamtfr) > Number(this.model.infcon.seaamtto) ){ this.$notify.error({ title: '错误', message: '金额下限应小于等于金额上限!' }); return } } this.load = true; if (orderObj) { if(orderObj.order){ this.column = orderObj.column }else{ this.column = '' } this.order = orderObj.order === 'descending' ? 'desc' : 'asc' } let params = { ...this.model.infcon, column:this.column, order:this.order, branch : JSON.parse(sessionStorage.getItem('currentOrg')).departmentNumber, pageNumber: this.pagination.pageIndex, pageSize:this.pagination.pageSize, }; delete params.markSet delete params.modifySet let rtnmsg = await Api.post('/Financing/infdfd/queryInfdfd', params); if (rtnmsg.respCode == SUCCESS) { this.stmData.data = []; this.stmData.data = rtnmsg.data.list; this.pagination.total = rtnmsg.data.total; } else { this.$notify.error({ title: '错误', message: '服务请求失败!' }); } this.load = false; }, async handleReset() { this.model.infcon = {} this.model.infcon.opndatfrom = new Date() this.model.infcon.opndatto = new Date() }, // 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(); }, // 详情 async toDetail(row) { this.routerPush({ path: "/business/dfdinf", query: { inr: row.inr,objtyp:'DFD',pntinr:row.pntinr,subobjtyp:''} }); }, async exportExcel(){ // const loading = this.loading(); let params = { ...this.model.infcon, branch : JSON.parse(sessionStorage.getItem('currentOrg')).departmentNumber, pageNumber: this.pagination.pageIndex, pageSize:this.pagination.pageSize, }; delete params.markSet delete params.modifySet let res = await Api.post("/Financing/infdfd/exportExcel",params); if (res.respCode == SUCCESS) { let name=moment(new Date()).format('yyyy-MM-DD HH:mm:ss') ; let obj = [] let arr =[] for (let i = 0; i< this.columns.length;i++){ arr.push(this.columns[i].label) } obj.push(arr); for(let m = 0; m< res.data.length; m++){ let array = [] for(let n = 0; n < this.columns.length; n++){ if(this.columns[n].prop === 'stagod'){ array.push(this.getCodelabel(res.data[m][this.columns[n].prop],'stagod')) }else{ array.push(res.data[m][this.columns[n].prop]) } } obj.push(array) } Utils.exportToExcel (obj, "委托方代付登记薄_"+name+".xlsx", "委托方代付登记薄") ; } // loading.close(); }, 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 } }, getCodelabel(value,codenam) { const codeobj = this.model.dbCodes[codenam].find(obj => obj.value === value) return codeobj ? codeobj.label : value; }, sortChange(obj) { let orderObj = { order: obj.order, column: obj.prop } this.handleSearch(orderObj); }, columnSetting(cols) { this.showDig = false; this.digColumns = []; this.columnGroup = []; this.selectAll = false; // 点击自定义按钮 this.digColumns = cols; this.showDig = true; this.columnGroup = cols.filter(item => item.isShow).map(it => it.label); this.selectAll = cols.length === this.columnGroup.length; }, async handleColumnChange() { this.selectAll = this.digColumns.length === this.columnGroup.length; }, setAll(val) { this.columnGroup = val ? this.digColumns.map(item => item.label) : []; }, saveColumnEvent() { // 保存 const list = []; if(this.columnGroup.length < 1){ this.$notify.error({ title: '错误', message: '请至少选择1项结果列!' }); return; } this.digColumns.forEach(item => { if (!this.columnGroup.includes(item.label)) { list.push({ ...item, isShow: false }); } else { list.push({ ...item, isShow: true }); } }); this.stmData.columns = list; this.$nextTick(() => { this.$refs.configTable.doLayout() }) this.showDig = false; }, buttonClick(key) { let orInr = this.handleModel.gidinr || this.handleModel.inr; let name = key.toUpperCase().substring(0, 1) + key.toLowerCase().substring(1); this.routerPush({ name, params: { orInr } }); console.log(this.$route.params.orInr,4444); this.handleVisible=false }, }, };