Commit f6601fc1 by WH

infbrd前端页面整改

parent 995b3bc0
export default {
buildPtspta (ptsptaObj) {
let pts = ptsptaObj.pts;
let ptspta = {
rol: pts.rol,
name: pts.nam,
ptyinr: pts.ptyinr,
ptainr: pts.ptainr,
extkey: pts.extkey,
dftdsp: pts.dftdsp,
dftcur: pts.dftcur,
dftact: pts.dftact,
dftfeecur: pts.dftfeecur,
dftactptainr: pts.dftactptainr,
glggrpflg: pts.glggrpflg,
adrblk: pts.adrblk
};
return ptspta;
},
buildCommonData (model, trnName) {
let ptsptaList = [];
if (model.gidgrp.apl.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.gidgrp.apl));
}
if (model.gidgrp.adv.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.gidgrp.adv));
}
if (model.gidgrp.ben.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.gidgrp.ben));
}
let dataObj = {
rec: {
objtyp: 'GID',
ownref: model.gidgrp.rec.ownref,
opndat: model.gidgrp.rec.opndat,
expdat: model.gidgrp.rec.expdat,
branchInr: model.gidgrp.rec.branchInr,
hndtyp: model.gidgrp.rec.hndtyp,
gartyp: model.gidgrp.rec.gartyp,
fingua: model.gidgrp.rec.fingua,
segtyp: model.gidgrp.ghd.segtyp,
fromflg: model.gidgrp.rec.fromflg,
othersno: model.gidgrp.rec.othersno,
sndto: model.gidgrp.rec.sndto,
swiftflg: model.gitp.swiftflg,
giduil: model.gidgrp.rec.giduil,
purpos: model.gidgrp.rec.purpos,
revflg: model.gidgrp.rec.revflg,
cnfsta: model.gidgrp.rec.cnfsta,
},
cbsMap: {
MAX: model.gidgrp.cbs.max,
OPN1: model.gidgrp.cbs.opn1,
MAC: model.gidgrp.cbs.mac,
MAC2: model.gidgrp.cbs.mac2,
OPC2: model.gidgrp.cbs.opc2,
CNF: model.gidgrp.cbs.cnf,
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : 'ZL'
};
return dataObj
},
buildSetfeg (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaall: model.liaall,
liaccv: model.liaccv,
doceot: model.trnmod.trndoc.doceot,
};
return params
},
buildSetglg (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
setfeg: model.setmod.setfeg,
liaall: model.liaall,
liaccv: model.liaccv,
};
return params
},
buildGlentry (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaallg: model.liaall.liaallg,
setfog: model.setmod.setfog,
setfeg: model.setmod.setfeg,
setglg: model.setmod.setglg,
};
return params
},
buildEngp (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaallg: model.liaall.liaallg,
};
return params
},
buildDocpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
};
return params
},
buildCcvpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaccvg: model.liaccv.liaccvg,
oldamt: model.liaccv.oldamt,
chgamt: model.liaccv.chgamt,
concur: model.liaccv.concur,
};
return params
},
buildLimitbody (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'GID',
objinr: model.gidgrp.rec.objinr,
ownref: model.gidgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'GID',
objinr: model.gidgrp.rec.objinr,
ownref: model.gidgrp.rec.ownref,
swiftflg: model.gitp.swiftflg,
},
};
return params
},
// 公共组件setmod中dsp字段改变,触发联动时候的入参
buildSetgllAccts (model, trnName, setglg) {
let params = {
...this.buildCommonData(model, trnName),
setglg
};
return params
}
}
\ No newline at end of file
import Api from '~/service/Api'; import Api from '~/service/Api';
import commonFunctions from '~/mixin/commonFunctions.js'; import { getTrnNameByInr } from "~/service/business/common";
import buildFn from './buildCommons.js'; import moment from 'moment';
import setmod from '~/components/business/setmod/event';
import glentry from '~/components/business/glentry/event';
import engp from '~/components/business/engp/event';
import docpan from '~/components/business/docpan/event';
import ccvpan from '~/components/business/ccvpan/event';
import limitbody from '~/components/business/limitbody/event';
import doctre from '~/components/business/doctre/event';
import Utils from "~/utils"
export default { export default {
mixins: [commonFunctions],
methods: { methods: {
...setmod, async handleSearch() {
...glentry, let opndatfrom = this.model.infcon.opndatfrom;
...engp, if (!opndatfrom || opndatfrom == '') {
...docpan, this.$notify.error({ title: '错误', message: '查询开始日期必输!' });
...ccvpan,
...limitbody,
...doctre,
async init () {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
}
const res = await Api.post('/service/infbrd/init', {
...params,
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; return;
} }
let name = tab.name; let opndatto = this.model.infcon.opndatto;
switch (name) { if (!opndatto || opndatto == '') {
case 'ccvpan': this.$notify.error({ title: '错误', message: '查询结束日期必输!' });
let ccvpanRequest = buildFn.buildCcvpan(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.buildDocpan(this.model, this.trnName);
this.processTrndoc(docpanRequest);
break;
case 'glepan':
let glentryRequest = buildFn.buildGlentry(this.model, this.trnName);
this.processGlentry(glentryRequest);
break;
case 'limitbody':
let limitbodyRequest = buildFn.buildLimitbody(this.model, this.trnName);
this.processLimitbody(limitbodyRequest);
break;
case 'doctre':
let doctreRequest = buildFn.buildDoctre(this.model, this.trnName);
this.processDoctre(doctreRequest);
break;
default:
return; return;
} }
},
// 点击获取按钮拉取当前key字段下的表单数据
queryFormData(key) {
console.log(key);
},
// 业务信息=》基本信息=》保函编号-----获取保函编号
async queryOwnref() {
let params = { let params = {
ptainr: this.model.gidgrp.apl.pts.ptainr, ...this.model.infcon,
businessType: 'LG', seadocflg: this.model.seadocflg,
tbl: 'LG', seagodcod: this.model.seagodcod,
inr:this.model.brdgrp.rec.inr,
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
opndatfrom:moment(opndatfrom).format('YYYY-MM-DD'),
opndatto:moment(opndatto).format('YYYY-MM-DD'),
}; };
const loading = this.loading(); let rtnmsg = await Api.post('/service/infbrd/getList', params);
let res = await Api.post('/service/infbrd/getOwnRef', params); if (rtnmsg.respCode == SUCCESS) {
if (res.respCode == SUCCESS) { this.stmData.data = [];
loading.close(); // debugger
this.model.gidgrp.rec.ownref = res.data; this.stmData.data = rtnmsg.data.list;
// debugger
this.pagination.total = rtnmsg.data.total;
} else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
} }
}, },
// 获取infbrd弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) { async handleReset() {
let params = { this.model.infcon.chksubcon = '';
userId: window.sessionStorage.userId || 'ZL', this.model.infcon.opndatfrom = new Date();
ptytyp: ptytyp, this.model.infcon.opndatto = new Date();
extkey: this.model.gidgrp[type.toLowerCase()].pts.extkey, this.model.infcon.seaownref = '';
}; this.model.infcon.seashgref = '';
let res = await Api.post('/service/ptspta/list', params); this.model.infcon.seaamtfr = '';
if (res.respCode == SUCCESS) { this.model.infcon.seasta = '';
this.root.$refs['etyDialog'].show = true; this.model.infcon.seacur = '';
this.root.promptData.data = res.data.ptaInfos; this.model.infcon.pty.extkey = '';
this.root.promptData.type = type; this.model.infcon.pty.nam = '';
} this.model.infcon.usr.extkey = '';
this.model.infcon.objinr = '';
this.model.infcon.seaamtto = '';
this.model.infcon.searol = '';
this.model.infcon.nam = '';
this.model.infcon.seapty = '';
this.model.infcon.searef = '';
this.model.brdgrp.rec.inr = '';
this.model.seagodcod = '';
this.model.seadocflg = '';
}, },
// 选中infbrd弹框表格的行数据
async selectGridEtyPromptData(row) { // pageSize改变
let params = { handleSizeChange(val) {
...row, 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 details(row) {
const params = {
//根据xx字段 查询详情表的数据
ownref: row.ownref,
}; };
let res = await Api.post('/service/ptspta/fetch', params); const res = await Api.post('/service/infbrd/getDetailByOwnref', params);
if (res.respCode == SUCCESS) { if (res.respCode === SUCCESS) {
this.$set(this.model.gidgrp, row.role.toLowerCase(), res.data); this.trnData.data = res.data;
} }
}, },
// 业务信息=》基本信息=》支出目的
purposChange(key, value) { // 关闭详情弹框
this.handleChangeForm(key, value); closeDetailsDialog(refId) {
}, this.$refs[refId].doClose();
// 初始化保函开立类型码表下拉列表 console.log('close');
async queryHndtypCodeTableList(trnName) {
let params = {
gitp: {
swiftflg: this.model.gitp.swiftflg,
},
gidgrp: {
rec: {
purpos: this.model.gidgrp.rec.purpos,
},
}, },
transName: trnName.toUpperCase(),
// 处理
async handler(row) {
this.initdialog = true;
this.currentHandleRow = row
const params = {
//根据xx字段 查询处理的数据
ownref: row.ownref,
}; };
let res = await Api.post('/service/infbrd/initHndtyp', params); const res = await Api.post('/service/infbrd/dealWithByOwnref', params);
if (res.respCode == SUCCESS) { if (res.respCode === SUCCESS) {
this.$set(this.codes, 'voHndtyp', res.data); if (res.data) {
this.handlerDataList = []
Object.keys(res.data).map((item) => {
this.handlerDataList.push({
label: item,
value: res.data[item]
})
})
}
} }
}, },
// 是否SWIFT格式修改--联动保函开立类型
handleChangeSwiftflg() {
this.queryHndtypCodeTableList(this.root.trnName);
},
// 支出目的修改--联动保函开立类型
handleChangePurpos() {
this.queryHndtypCodeTableList(this.root.trnName);
},
buildLiaccv () {
let params = {
...buildFn.buildCommonData(this.model, this.trnName),
liaccvg: this.model.liaccv.liaccvg,
oldamt: this.model.liaccv.oldamt,
chgamt: this.model.liaccv.chgamt,
concur: this.model.liaccv.concur,
};
return params handleClick (btn) {
}, if (btn.value === 'N') {
// 公共组件setmod处理方式改变触发联动
changeSetmodModel (emitParams) {
let reqParams = {}
switch (emitParams.code) {
case 'processMethods':
reqParams = buildFn.buildSetglg(this.model, this.trnName);
this.calcPayDetail(reqParams)
break
case 'changeDsp':
let index = emitParams.index;
let setglgRequest = buildFn.buildSetglg(this.model, this.trnName);
setglgRequest.setglg = {setgll: emitParams.list};
this.setgllAccts(setglgRequest, index);
break
default:
return return
} }
let filterRoute = this.btnRouteMap.filter((item) => {
return item.label === btn.label
})
this.$router.history.push({
path: filterRoute[0].route,
query: {
inr: this.currentHandleRow.inr
} }
});
},
// 关闭处理弹框
closeHandlerDialog() {
this.initdialog = false;
},
/**
* 打开详情页面
* @param {string} inr
*/
display(inr) {
getTrnNameByInr({ inr }).then((res) => {
if (res.respCode == SUCCESS) {
const trnName = res.data.toLowerCase();
let viewurl = "/#/display/" + trnName + "?trn=" + inr
window.open(viewurl, 'newwindow', 'height=1500,width=1200,top=100,left=100,toolbar=no,resizable=no,menubar=no,location=no, status=no');
}
});
},
}, },
}; };
export default {
"infcon.seaownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"infcon.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"infcon.searef":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"infcon.pty.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 24,message:"长度不能超过24"}
],
"infcon.pty.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"infcon.seapty":[
{type: "string", required: false, message: "必输项"},
{max: 24,message:"长度不能超过24"}
],
"infcon.opndatfrom":[
{type: "string", required: false, message: "输入正确的日期"}
],
"infcon.opndatto":[
{type: "string", required: false, message: "输入正确的日期"}
],
"infcon.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"infcon.seaamtfr":[
{required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"infcon.seaamtto":[
{required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"infbut.dspstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recpan.lidget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"lidgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"recpan.lidget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"lidgrp.rec.expdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"lidgrp.cbs.opn1.cur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"lidgrp.cbs.opn1.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"recpan.recget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"brdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"recpan.recget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"brdgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"brdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"brdgrp.apl.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"brdgrp.cbs.opn1.cur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"brdgrp.cbs.opn1.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"brdgrp.apl.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"brdgrp.rec.rcvdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.rec.advdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.ben.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"brdgrp.rec.matdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.rec.stadat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.ben.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"brdgrp.rec.tenmaxday":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"brdgrp.prb.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"brdgrp.prb.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"recpan.prechkdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.blk.docdis":[
{type: "string", required: true, message: "必输项"},
{max: 50,message:"长度不能超过50"}
],
"brdgrp.rec.totdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.rec.disdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.blk.comcon":[
{type: "string", required: true, message: "必输项"},
{max: 65,message:"长度不能超过65"}
],
"brdgrp.blk.setinsbr":[
{type: "string", required: true, message: "必输项"},
{max: 65,message:"长度不能超过65"}
],
"recpan.connum":[
{type: "string", required: false, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"brdgrp.rec.relgoddat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.rec.expdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.blk.carnam":[
{type: "string", required: false, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"brdgrp.rec.blnum":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"brdgrp.rec.trpdocnum":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"brdgrp.rec.tradat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"brdgrp.blk.relstoadr":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"brdgrp.blk.vesnam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"brdgrp.blk.pordis":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"recpan.shpp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"brdgrp.blk.delplc":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"brdgrp.shp.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"recpan.shpp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"brdgrp.shp.namelc":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"brdgrp.blk.roggod":[
{type: "string", required: true, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"brdgrp.shp.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"brdgrp.shp.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"brdgrp.shp.adrelc":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"brdgrp.blk.notpty":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"brdgrp.blk.porlod":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"brdgrp.blk.voynum":[
{type: "string", required: false, message: "必输项"},
{max: 30,message:"长度不能超过30"}
],
"mtabut.coninf.oitinf.oit.inftxt":[
{type: "string", required: true, message: "必输项"},
{max: 60,message:"长度不能超过60"}
],
"mtabut.coninf.oitset.oit.inftxt":[
{type: "string", required: true, message: "必输项"},
{max: 60,message:"长度不能超过60"}
],
"mtabut.coninf.conexedat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"mtabut.coninf.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"infcon.trnstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.cbbstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.cbestm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.fepstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.fcpstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.sepstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.seabucdatfro":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.seabucdatto":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.seatrninr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"infcon.glestm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.smhdatfrom":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.smhdatto":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.smhstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.sptstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.diadatfrom":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.diadatto":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.diastm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.liastm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"prtpanblk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
"infcon.ordstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recpan.furide" :null,
"recpan.ischktyp" :null,
}
\ No newline at end of file
...@@ -32,7 +32,9 @@ export default class Infbrd { ...@@ -32,7 +32,9 @@ export default class Infbrd {
nam: '', nam: '',
seapty: '', seapty: '',
searef: '' searef: ''
} },
pageId:'',
}; };
} }
} }
<template>
<el-dialog
:visible.sync="initdialog"
:title="'交易列表'"
append-to-body
:before-close="beforeClose"
@opened="opened"
>
<div class="m-list-btns">
<div class="busnavbar">
<div class="busnavbar-items">
<c-button
style="margin-left: 7px"
size="medium"
type="primary"
class="medium_bcs"
v-for="(item, index) in navcode"
v-bind:key="index"
:title="item.title"
:disabled="item.isDis === 'N'"
>{{ item.label }}</c-button
>
<div style="margin-top: 15px; margin-left: 10px">
<div
v-for="(str, idx) in tState"
:key="idx"
style="margin-bottom: 5px; font-weight: bold"
>
{{ str }}
</div>
</div>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
import event from "../event"
export default {
props: {
ownref: {
required: true,
},
trnCode: {
required: true,
},
model: {
required: true,
},
ownrefPath: {
required: false,
default: "didgrp",
},
tabIndex: {
required: false,
default: 1,
},
},
components: {},
mixins: [event], // 里面包含了Default、Check等的公共处理
data() {
return {
initdialog: false,
navcode: [
// {code:"",label:"",isDis:"",title:""},
],
tState: [],
};
},
methods: {
getIndex(module) {
for (let i = 1; i <= 12; i++) {
var temp = this.model.cfgfil[`subtxt${i}`];
if (module == temp) {
return i;
}
}
return 1;
},
opened() {
this.tState = [];
this.$emit("childmethods");
},
beforeClose() {
this.navcode = [];
this.initdialog = false;
},
},
mounted() {},
};
</script>
<style>
</style>
<template> <template>
<div class="eibs-tab"> <div class="eibs-tab">
<c-list-search> <c-list-search @form-reset="handleReset" @form-search="handleSearch">
<template v-slot="searchSlot"> <template v-slot="searchSlot">
<el-form <el-form
class="m-table-search-form" class="m-table-search-form"
ref="paramsForm" ref="paramsForm"
...@@ -10,7 +9,6 @@ ...@@ -10,7 +9,6 @@
label-width="110px" label-width="110px"
size="small" size="small"
> >
<el-row> <el-row>
<c-col :span="8"> <c-col :span="8">
<el-form-item <el-form-item
...@@ -65,8 +63,6 @@ ...@@ -65,8 +63,6 @@
</el-row> </el-row>
<el-row v-show="searchSlot.searchToggle"> <el-row v-show="searchSlot.searchToggle">
<!--line 1--> <!--line 1-->
<c-col :span="8"> <c-col :span="8">
...@@ -125,13 +121,22 @@ ...@@ -125,13 +121,22 @@
</el-form-item> </el-form-item>
</c-col> </c-col>
<c-col :span="8"> <c-col :span="8">
<el-form-item style="width: 100%" label="当事人角色" prop="infcon.searol"> <el-form-item
label="当事人角色"
style="width: 100%"
>
<c-select <c-select
v-model="model.infcon.searol" v-model="model.infcon.searol"
style="width: 100%" style="width: 100%"
placeholder="请选择当事人角色" placeholder="请选择当事人角色"
:code="searol"
> >
<el-option
v-for="item in codes.payrol"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select> </c-select>
</el-form-item> </el-form-item>
</c-col> </c-col>
...@@ -217,24 +222,31 @@ ...@@ -217,24 +222,31 @@
</c-col> </c-col>
</el-row> </el-row>
</el-form> </el-form>
</template> </template>
</c-list-search> </c-list-search>
<div style="height:90%">
<div style="height: 90%">
<c-col :span="24"> <c-col :span="24">
<c-istream-table <el-table
:list="stmData.data" :list="stmData.data"
:columns="columns" :columns="stmData.columns"
:showButtonFlg="true" :showButtonFlg="true"
> >
<el-table-column fixed="right" prop="op" width="140px"> <el-table-column
v-for="(item, key) in stmData.columns"
:key="key"
:label="item.label"
:prop="item.prop"
></el-table-column>
<el-table-column fixed="right" prop="op" label="操作" width="140px">
<template slot="header"> <template slot="header">
<c-col :span="11" style="text-align: center"><span>操作</span></c-col> <c-col :span="11" style="text-align: center">
<span>操作</span>
</template> </c-col>
</template>
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover <el-popover
placement="top-start" placement="top-start"
title="历史信息" title="历史信息"
...@@ -242,37 +254,44 @@ ...@@ -242,37 +254,44 @@
trigger="click" trigger="click"
:ref="'popover_' + scope.row.IDX" :ref="'popover_' + scope.row.IDX"
> >
<div <div style="text-align: right;margin-top: -30px;margin-right: 5px;font-size: 16px;">
style="
text-align: right;
margin-top: -30px;
margin-right: 5px;
font-size: 16px;
"
>
<span <span
class="el-icon-close" class="el-icon-close"
@click="closeTrn('popover_' + scope.row.IDX)" style="cursor: pointer"
/> @click="closeDetailsDialog('popover_' + scope.row.IDX)"
></span>
</div> </div>
<c-istream-table :list="trnData.data" :columns="trnData.columns"> <el-table
<el-table-column prop="op" label="操作" width="0"> :data="trnData.data"
:columns="trnData.columns"
:showButtonFlg="true"
>
<el-table-column
v-for="(item, key) in trnData.columns"
:key="key"
:label="item.label"
:prop="item.prop"
>
<template slot-scope="scope">
<div>{{ scope.row[item.prop] }}</div>
</template>
</el-table-column>
<el-table-column fixed="right" prop="op" label="操作" width="250px" >
<template slot-scope="scope"> <template slot-scope="scope">
<c-button <c-button
style="margin-left: 0" style="margin-left: 0"
size="small" size="small"
@click="display(scope.row['INR'])" @click="display(scope.row['inr'])"
>详情</c-button
> >
详情
</c-button>
</template> </template>
</el-table-column> </el-table-column>
</c-istream-table> </el-table>
<c-button <c-button
style="margin-left: 0" style="margin-left: 0"
size="small" size="small"
slot="reference" slot="reference"
> @click="details(scope.row)">
详情 详情
</c-button> </c-button>
</el-popover> </el-popover>
...@@ -280,128 +299,188 @@ ...@@ -280,128 +299,188 @@
style="margin-left: 5px" style="margin-left: 5px"
size="small" size="small"
type="primary" type="primary"
@click="getButtons(scope.row['单据编号'],scope.row['关闭日期'])" @click="handler(scope.row)"
> >处理
处理
</c-button> </c-button>
</template> </template>
</el-table-column> </el-table-column>
</c-istream-table> </el-table>
<div class="pagination-box">
<el-pagination
style="margin-right: 30px;"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pagination.pageIndex"
:page-sizes="[10, 20, 50, 100, 500]"
:page-size="pagination.pageSize"
layout="sizes, prev, pager, next"
:total="pagination.total">
</el-pagination>
</div>
</c-col> </c-col>
</div> </div>
<!-- 点击处理ba弹框 -->
<el-dialog
<m-busbtn :visible.sync="initdialog"
ref="childs" title="交易列表"
:ownref="ownref" append-to-body
trnCode="litsel" width="60%"
:model="litselModel" >
ownrefPath="brdgrp" <div class="dialog-wrap">
tabIndex=3 <div class="btn-group-wrap">
@onChoose="onChoose" > <div class="btn-item" v-for="(item, index) in handlerDataList" :key="index">
11 <el-button
</m-busbtn> type="primary"
:disabled="item.value === 'N'"
@click="handleClick(item)"
>{{ item.label }}
</el-button>
</div>
</div>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import event from "../event"; import event from "../event";
import LitselModel from "~/model/Litsel"
import BusNavbar from "./BusNavbar";
export default { export default {
inject: ["root"], inject: ["root"],
props: ["model", "codes"], props: ["model", "codes"],
mixins: [event], mixins: [event],
components: { "m-busbtn": BusNavbar }, components: {},
data() { data() {
return { return {
searol:[
{ label: "Acc. with Bank (ACB)", value: "ACB" }, inr: '',
{ label: "Applicant", value: "APL" },
{ label: "受益人银行", value: "BEB" },
{ label: "Beneficiary", value: "BEN" },
{ label: "Issuing Bank", value: "ISS" },
{ label: "Old Account Party", value: "OAP" },
{ label: "Presenter (PRP)", value: "PRB" },
{ label: "Reimbursement Bank", value: "RMB" },
{ label: "Carrier (ROG)", value: "ROG" },
],
litselModel: new LitselModel().data,
initdialog:false,
ownref: "", ownref: "",
trnData: { trnData: {
columns: [ columns: [
'1 1 "编号" 200',
'2 2 "交易名称" 120',
// '3 3 "日期" 200',
{ index: 3, position: 3, width: 110, pattern: "date", label: "日期" },
// '4 4 "状态" 50',
{ {
index: 4, label: '交易id',
position: 4, prop: 'inr'
width: 100, },
pattern: "code", {
label: "状态", label: '保函编号',
code: this.codes.relstaEN, prop: 'ownref'
},
{
label: '交易名称',
prop: 'ininam'
},
{
label: '条目',
prop: 'inidattim'
},
{
label: '状态',
prop: 'relflg'
},
{
label: '币种',
prop: 'reloricur'
},
{
label: '相关金额',
prop: 'reloriamt'
},
{
label: '标识',
prop: 'relres'
}, },
'5 5 "币种" 80',
'6 6 "金额" 110',
], ],
data: [], data: [],
}, },
columns: [
'1 1 "单据编号" 140',
'2 2 "客户经理" 100',
'14 3 "单据币种" 100',
'15 4 "单据金额" 130 2 8 1 14',
//'16 16 "单据币种" 130',
'17 5 "单据余额" 140 2 8 1 16',
{ index: 4, position: 6, width: 100, pattern: "date", label: "创建日期" },
'7 7 "申请人编号" 133',
'8 8 "申请人名称" 160',
// '9 6 "申请人名称(中文)" 160',
// '10 7 "受益人编号" 133',
'11 9 "受益人名称" 150',
// '6 9 "申请人PTA主键" 160',
'12 10 "交单行编号" 140',
//'13 11 "交单行名称" 220',
{ index: 5, position: 11, width: 100, pattern: "date", label: "关闭日期" },
//'3 3 "货物类型" 100 1 0 1 GODCOD',
{ index: 3, position: 12, width: 100, pattern: "code", label: "货物类型" ,"code":"godcod"},
],
stmData: { stmData: {
data: [], columns: [
{
label: '单据编号',
prop: 'ownref'
}, },
}; {
label: '客户经理',
prop: 'ownusr'
}, },
methods: { {
async getButtons(ownref,closedDate){ label: '单据币种',
this.ownref = ownref prop: 'maxcur'
this.litselModel.lidget.clsflg = (closedDate ?? "").trim() === "" ? "" : "C";
this.$refs.childs.initdialog = true
console.log("ownref:" +ownref);
}, },
async onChoose(code, prePageId){ {
//跳转交易 label: '单据金额',
// this.$router.history.push("/business/" + code) prop: 'maxamt'
this.$router.push({ name: code.charAt(0).toUpperCase() + code.substring(1), params: { prePageId } });
this.$refs.childs.initdialog = false;
} ,
async closeTrn(refId) {
this.$refs[refId].doClose();
}, },
{
label: '创建日期',
prop: 'opndat'
}, },
created: function () {}, {
label: '申请人编号',
prop: 'aplref'
},
{
label: '申请人名称',
prop: 'aplnam'
},
{
label: '受益人名称',
prop: 'benefi'
},
{
label: '交单行编号',
prop: 'bankno'
},
{
label: '关闭日期',
prop: 'clsdat'
},
{
label: '货物类型',
prop: 'stagod'
},
// {
// label: '操作',
// prop: 'ownref'
// },
],
data: [],
},
pagination: {
pageIndex: 1,
pageSize: 10,
total: 0
},
initdialog: false,
handlerDataList: [],
currentHandleRow: {}
};
},
methods: {},
mounted: function () {},
}; };
</script> </script>
<style> <style>
.m-table-search { .pagination-box {
padding: 20px 0px 10px 0px; width: 100%;
height: 30px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 10px;
background: #fff;
margin-top: 5px;
}
.btn-group-wrap {
max-height: 200px;
width: 100%;
overflow-y: auto;
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
}
.btn-item {
margin-bottom: 10px;
margin-right: 10px;
} }
</style> </style>
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
size="small" size="small"
:validate-on-rule-change="false" :validate-on-rule-change="false"
> >
<c-content> <c-content>
<m-infsea :model="model" :codes="codes" ref="infsea" /> <m-infsea :model="model" :codes="codes" ref="infsea" />
</c-content> </c-content>
...@@ -20,7 +19,6 @@ ...@@ -20,7 +19,6 @@
import CodeTable from "~/config/CodeTable"; import CodeTable from "~/config/CodeTable";
import Infbrd from "../model"; import Infbrd from "../model";
import event from "../event" import event from "../event"
import formRules from '../model/check'
import Infsea from "./Infsea"; import Infsea from "./Infsea";
export default { export default {
...@@ -39,7 +37,7 @@ export default { ...@@ -39,7 +37,7 @@ export default {
tabVal: "infsea", tabVal: "infsea",
trnName: "infbrd", trnName: "infbrd",
model: new Infbrd().data, model: new Infbrd().data,
rules: formRules, rules: null,
codes: { codes: {
...CodeTable, ...CodeTable,
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment