Commit 948f337e by WH

Merge remote-tracking branch 'origin/settle-test-20230110' into settle-test-20230110

# Conflicts:
#	src/routers/modules/business.js
parents 8b1c2e26 cde1b23a
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 commonFunctions from '~/mixin/commonFunctions.js';
import buildFn from './buildCommons.js';
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 {
mixins: [commonFunctions],
methods: {
...setmod,
...glentry,
...engp,
...docpan,
...ccvpan,
...limitbody,
...doctre,
async init () {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
}
const res = await Api.post('/service/brtacp/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;
}
let name = tab.name;
switch (name) {
case 'ccvpan':
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;
}
},
// 点击获取按钮拉取当前key字段下的表单数据
queryFormData(key) {
console.log(key);
},
// 业务信息=》基本信息=》保函编号-----获取保函编号
async queryOwnref() {
let params = {
ptainr: this.model.gidgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/brtacp/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.gidgrp.rec.ownref = res.data;
}
},
// 获取brtacp弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.gidgrp[type.toLowerCase()].pts.extkey,
};
let res = await Api.post('/service/ptspta/list', params);
if (res.respCode == SUCCESS) {
this.root.$refs['etyDialog'].show = true;
this.root.promptData.data = res.data.ptaInfos;
this.root.promptData.type = type;
}
},
// 选中brtacp弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.$set(this.model.gidgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》支出目的
purposChange(key, value) {
this.handleChangeForm(key, value);
},
// 初始化保函开立类型码表下拉列表
async queryHndtypCodeTableList(trnName) {
let params = {
gitp: {
swiftflg: this.model.gitp.swiftflg,
},
gidgrp: {
rec: {
purpos: this.model.gidgrp.rec.purpos,
},
},
transName: trnName.toUpperCase(),
};
let res = await Api.post('/service/brtacp/initHndtyp', params);
if (res.respCode == SUCCESS) {
this.$set(this.codes, 'voHndtyp', res.data);
}
},
// 是否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
},
// 公共组件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
}
}
},
};
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<!--el-collapse-item title="备查表" name="addbcb">
<c-addbcb :model="model" :codes="codes" />
</el-collapse-item-->
<el-collapse-item title="附言" name="coninfp">
<c-coninfp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from '../event'
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"c-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {},
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ---------------Left--------------- -->
<c-col :span="12">
<c-col :span="24">
<c-col :span="13">
<el-form-item
label="单据金额"
prop="brdgrp.cbs.max.cur"
>
<c-select
v-model="model.brdgrp.cbs.max.cur"
style="width: 100%"
placeholder="请选择单据金额"
disabled
>
<el-option
v-for="item in codes.cur"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item
label=""
label-width="5px"
prop="brdgrp.cbs.max.amt"
>
<c-input
v-model="model.brdgrp.cbs.max.amt"
placeholder="请输入单据金额"
disabled
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="13">
<el-form-item label="提取附加金额" prop="brdgrp.cbs.opn2.cur">
<c-select
v-model="model.brdgrp.cbs.opn2.cur"
style="width: 100%"
placeholder="请选择附加金额"
disabled
>
<el-option
v-for="item in codes.cur"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item
label=""
label-width="5px"
prop="brdgrp.cbs.max2.amt"
>
<c-input
v-model="model.brdgrp.cbs.max2.amt"
placeholder="请输入附加金额"
disabled
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="13">
<el-form-item
label="待支付金额"
prop="brdgrp.rec.totcur"
>
<c-select
v-model="model.brdgrp.rec.totcur"
style="width: 100%"
placeholder="请选择币种"
disabled
>
<el-option
v-for="item in codes.cur"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item
label=""
label-width="5px"
prop="brdgrp.rec.totamt"
>
<c-input
v-model="model.brdgrp.rec.totamt"
placeholder="请输入"
disabled
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-ptap1
:model="model"
:argadr="{
title: '账户银行',
grp: 'brdgrp',
rol: 'acb',
}"
:disabled="true"
:disabled1="true"
>
</c-ptap1>
</c-col>
</c-col>
<!-- ---------------Right--------------- -->
<c-col :span="12">
<c-col :span="24">
<el-form-item label="已扣除费用" prop="brdgrp.blk.chaded">
<c-input
type="textarea"
v-model="model.brdgrp.blk.chaded"
maxlength="210"
:rows="4"
show-word-limit
placeholder="请输入已扣除费用"
disabled
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="已添加费用" prop="brdgrp.blk.chaadd">
<c-input
type="textarea"
v-model="model.brdgrp.blk.chaadd"
maxlength="210"
:rows="4"
show-word-limit
placeholder="请输入已添加费用"
disabled
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="不符点信息" prop="brdgrp.blk.docdis">
<c-input
type="textarea"
v-model="model.brdgrp.blk.docdis"
maxlength="3500"
:rows="8"
show-word-limit
placeholder="请输入不符点"
disabled
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="brdgrp.blk.docdisflg">
<c-checkbox v-model="model.brdgrp.blk.docdisflg" disabled
>不符点修改</c-checkbox
>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import event from '../event'
import Ptap1 from "~/views/Public/Ptap1";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
components: {
"c-ptap1": Ptap1,
},
data() {
return {};
},
methods: {},
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="接受不符点" name="acpp">
<c-acpp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="不符点通知" name="mt750p">
<c-mt750p :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from '../event'
import Acpp from "./Acpp";
import Mt750p from "./Mt750p";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
components: {
"c-acpp":Acpp,
"c-mt750p":Mt750p,
},
data() {
return {
activeNames:["acpp"],
};
},
methods: {},
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eContainer">
<c-page title="进口信用证单据接受不符点">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" label-position="right" size="small" :validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<el-tab-pane label="业务信息" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="费用/账务" name="setmod">
<c-content>
<m-setmod
:model="model"
:codes="codes"
@changeSetmodModel="changeSetmodModel"
/>
</c-content>
</el-tab-pane>
<!--PD000510 -->
<el-tab-pane label="备查/附言" name="addbcb">
<c-content>
<div class="eibs-tab">
<m-addbcb :model="model" :codes="codes" />
</div>
</c-content>
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000546 -->
<el-tab-pane label="附件信息" name="doctre">
<c-content>
<m-doctre :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
</c-function-btn>
</c-page>
</div>
</template>
<script>
import event from '../event';
import commonFuncs from "~/mixin/commonFuncs";
import CodeTable from "~/config/CodeTable"
import formRules from '../model/check'
import Brtacp from "../model"
import Acpp from "./Acpp"
import Ovwp from "./Ovwp"
import Mt750p from "./Mt750p"
import Addbcb from "./Addbcb";
import Engp from "~/components/business/engp/views";
import Ccvpan from "~/components/business/ccvpan/views";
import Setmod from "~/components/business/setmod/views";
import Glentry from "~/components/business/glentry/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Limitbody from "~/components/business/limitbody/views";
export default {
name: "Brtacp",
components:{
"m-acpp" : Acpp,
"m-mt750p" : Mt750p,
"m-docpan" : Docpan,
"m-doctre" : Doctre,
"m-addbcb": Addbcb,
"m-ovwp": Ovwp,
"m-engp": Engp,
"m-ccvpan": Ccvpan,
"m-setmod": Setmod,
"m-glentry": Glentry,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-limitbody": Limitbody,
},
provide() {
return {
root: this
}
},
mixins: [event,commonFuncs],
data(){
return {
tabVal: "ovwp",
trnName: "brtacp",
model: new Brtacp().data,
rules: formRules,
codes: {
...CodeTable
},
activeNames: ["setpan"],
}
},
methods:{
},
mounted () {
this.init()
},
}
</script>
<style>
</style>
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 commonFunctions from '~/mixin/commonFunctions.js';
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";
import buildFn from './buildCommons.js';
export default {
mixins: [commonFunctions],
methods: {
...setmod,
...glentry,
...engp,
...docpan,
...ccvpan,
...limitbody,
...doctre,
async init () {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
}
const res = await Api.post('/service/fctopn/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;
}
let name = tab.name;
switch (name) {
case 'ccvpan':
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;
}
},
// 点击获取按钮拉取当前key字段下的表单数据
queryFormData(key) {
console.log(key);
},
// 业务信息=》基本信息=》保函编号-----获取保函编号
async queryOwnref() {
let params = {
ptainr: this.model.gidgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/gctadd/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.gidgrp.rec.ownref = res.data;
}
},
// 获取gctadd弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.gidgrp[type.toLowerCase()].pts.extkey,
};
let res = await Api.post('/service/ptspta/list', params);
if (res.respCode == SUCCESS) {
this.root.$refs['etyDialog'].show = true;
this.root.promptData.data = res.data.ptaInfos;
this.root.promptData.type = type;
}
},
// 选中gctadd弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.model.pta.nam = 'Brilliance';
this.$set(this.model.gidgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》支出目的
purposChange(key, value) {
this.handleChangeForm(key, value);
},
// 初始化保函开立类型码表下拉列表
async queryHndtypCodeTableList(trnName) {
let params = {
gitp: {
swiftflg: this.model.gitp.swiftflg,
},
gidgrp: {
rec: {
purpos: this.model.gidgrp.rec.purpos,
},
},
transName: trnName.toUpperCase(),
};
let res = await Api.post('/service/gctadd/initHndtyp', params);
if (res.respCode == SUCCESS) {
this.$set(this.codes, 'voHndtyp', res.data);
}
},
// 是否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
},
// 公共组件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
}
},
async handleSave() {
let result = await this.save();
if (result.respCode == SUCCESS && Object.keys(result.fieldErrors).length == 0) {
this.$notify({
title: "成功",
message: "保存成功",
type: "success",
});
this.$store.dispatch("TagsView/delView", this.$route)
this.$router.go(-1)
} else if(result.fieldErrors && Object.keys(result.fieldErrors).length > 0 ){
const tab = this.showBackendErrors(result.fieldErrors)
if (tab) {
// tab切换之后,需出发tab-click的事件
this.tabClick(tab);
}
this.$notify({
title: "错误",
message: "检核失败!",
type: "error",
});
} else{
this.$notify({
title: "失败",
message: "保存失败",
type: "error",
});
}
}
},
};
export default {
"aplp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"fcdgrp.apl.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"aplp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"fcdgrp.apl.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"fcdgrp.apl.pta.nam1":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"reason":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"cashamt":[
{required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"cshstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"fcdgrp.apl.pts.extkey" :null,
"fcdgrp.apl.pts.nam" :null,
"cashamt" :null,
"cashcur" :null,
"cashacc" :null,
}
\ No newline at end of file
import Pts from '~/components/business/commonModel/Pts';
export default class Fctopn{
constructor () {
this.data = {
gidgrp:{
apl:{
pts:new Pts().data
},
},
cashcur:"", // currency .cashcur
cashamt:"", // 金额 .cashamt
gleflg:"", // 是否过帐 .gleflg
cashacc:"", // account .cashacc
trmtyp:"", // 科目 .trmtyp
reason:"", // collect reason .reason
cshstm:"", // STREAM OF CSH .cshstm
pageId: "", // ctx的key
pta:{
nam:""
}
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-col :span="24">
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<c-fullbox>
<el-form-item label="申请人" prop="gidgrp.apl.pts.extkey">
<c-input
v-model="model.gidgrp.apl.pts.extkey"
maxlength="16"
placeholder="请输入申请人Extkey"
@keyup.enter.native="
queryGridEtyPromptDialogData('APL', 'C')
"
></c-input>
</el-form-item>
<template slot="footer">
<c-button size="small" type="primary" @click="onAplpDet">
详情
</c-button>
</template>
</c-fullbox>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="gidgrp.apl.pts.adrblk">
<c-input
v-model="model.gidgrp.apl.pts.adrblk"
maxlength="40"
placeholder="请输入"
disabled
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="pta.nam">
<c-input
v-model="model.pta.nam"
maxlength="40"
placeholder="请输入Externally Visible Name of Address"
disabled
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<c-col :span="13">
<el-form-item label="保证金账号" prop="cashacc">
<!-- <c-select
v-model="model.cashacc"
style="width: 100%"
placeholder="请选择account"
>
</c-select> -->
<c-select
v-model="model.cashacc"
placeholder="请选择account"
></c-select>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item label="科目" label-width="60px" prop="trmtyp">
<c-select
v-model="model.trmtyp"
style="width: 100%"
placeholder="请选择科目"
>
<el-option v-for="k in codes.trmtyp" :label="k" :value="k.split('\t')[0]" :key="k"></el-option>
</c-select>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-fullbox>
<c-col :span="12">
<el-form-item label="金额" prop="cashcur">
<c-select
v-model="model.cashcur"
style="width: 100%"
placeholder="请选择currency"
:code="codes.infled_Cur"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="" label-width="5px" prop="cashamt">
<c-input-currency
v-model="model.cashamt"
placeholder="请输入金额"
></c-input-currency>
</el-form-item>
</c-col>
<template slot="footer">
<c-button size="small" type="primary" @click="onGet" disabled>
Get
</c-button>
</template>
</c-fullbox>
</c-col>
<c-col :span="24">
<c-col :span="20">
<el-form-item label="说明" prop="reason">
<c-input
v-model="model.reason"
maxlength="40"
placeholder="请输入collect reason"
></c-input>
</el-form-item>
</c-col>
<c-col :span="4">
<el-form-item label="" prop="gleflg" label-width="0px">
<c-checkbox v-model="model.gleflg">是否过帐</c-checkbox>
</el-form-item>
</c-col>
</c-col>
</c-col>
</c-col>
<c-col :span="24">
<c-istream-table
:list="model.cshstm.rows || []"
:columns="columns"
></c-istream-table>
</c-col>
</div>
</template>
<script>
import event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
columns: [
"0 1 \"INR\" 100",
"1 2 \"Own Reference\" 150",
"2 3 \"收取日期\" 150 4 7",
"3 4 \"Cur\" 100",
"4 5 \"Relevant Amount\" 150 2 8:1 2 5",
"5 6 \"机构号\" 120",
"6 7 \"保证金帐号\" 120",
"7 8 \"是否过帐\" 120 1 0 1 FCD:GLEFLG",
"8 9 \"是否到帐\" 120 1 0 1 FCD:RELFLG",
"9 10 \"是否被用\" 120 1 0 1 FCD:USEFLG",
"10 11 \"说明 \" 200",
"P COLORED TRUE",
"P VERTLINES TRUE",
"P HORZLINES TRUE",
"P MULTISELECT FALSE"
],
};
},
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eContainer">
<c-page title="保证金收取">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" label-position="right" size="small" :validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="myTabClick">
<!--PD000002 -->
<el-tab-pane label="概要" name="opnp1">
<c-content>
<m-opnp1 :model="model" :codes="codes"/>
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<!-- 底部按钮 -->
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
</c-function-btn>
<!-- 选择数据的表格弹框 -->
<c-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
@select-ety="selectGridEtyPromptData"
>
</c-grid-ety-prompt-dialog>
</c-page>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable"
import Fctopn from "../model"
import commonFuncs from "~/mixin/commonFuncs"
import Check from "../model/check"
import event from '../event'
import Opnp1 from "./Opnp1"
export default {
name: "Fctopn",
components:{
"m-opnp1" : Opnp1,
},
provide() {
return {
root: this
}
},
mixins: [event, commonFuncs],
data(){
return {
tabVal: "opnp1",
trnName: "fctopn",
model: new Fctopn().data,
checkRules: Check,
rules: null,
codes: {
cashcur: [],
trmtyp: [],
...CodeTable,
},
promptData: {
title: 'Select a Party',
columns: [
{
prop: 'ptyInr',
label: 'Party Number'
},
{
prop: 'inr',
label: 'Address Number'
},
{
prop: 'branch',
label: 'Branch Code'
},
{
prop: 'bchName',
label: 'Branch Name'
},
{
prop: 'adrName',
label: 'Address Name'
},
{
prop: 'adr1',
label: 'Address1'
},
{
prop: 'locCty',
label: 'City'
},
{
prop: 'locZip',
label: 'Zip'
},
{
prop: 'bicCode',
label: 'BIC'
}
],
data: []
}
}
},
mounted () {
this.init()
},
}
</script>
<style>
</style>
......@@ -24,7 +24,7 @@ export default {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
}
const res = await Api.post('/service/gctrop/init', {
const res = await Api.post('/service/gctcan/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
......@@ -103,13 +103,13 @@ export default {
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/gctrop/getOwnRef', params);
let res = await Api.post('/service/gctcan/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.gidgrp.rec.ownref = res.data;
}
},
// 获取gctrop弹框表格数据
// 获取gctcan弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
......@@ -123,7 +123,7 @@ export default {
this.root.promptData.type = type;
}
},
// 选中gctrop弹框表格的行数据
// 选中gctcan弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
......@@ -150,7 +150,7 @@ export default {
},
transName: trnName.toUpperCase(),
};
let res = await Api.post('/service/gctrop/initHndtyp', params);
let res = await Api.post('/service/gctcan/initHndtyp', params);
if (res.respCode == SUCCESS) {
this.$set(this.codes, 'voHndtyp', res.data);
}
......
......@@ -40,7 +40,48 @@ export default class Gctcan{
ref: '',
nam: ''
}
}
},
prb: {
adrelc: '',
dbfadrblkcn: '',
namelc: '',
pts: new Pts().data,
},
rec: {
clmdat: '',
ownref: '',
payrol: '',
nam: '',
docprbrol: '',
},
oth: {
adrelc: '',
dbfadrblkcn: '',
namelc: '',
pts: new Pts().data,
},
cbs: {
opn1: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
}
},
ben: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
adv: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
},
gidgrp: {
rec: {
......@@ -48,7 +89,37 @@ export default class Gctcan{
liadat: '',
ownref: '',
expflg: '',
gartyp: ''
gartyp: '',
},
ghd: {
wahnum: '',
remark: '',
bustyp: '',
segtyp: ''
},
ctr: {
pts: new Pts().data,
},
con: {
pts: new Pts().data,
},
iss: {
pts: new Pts().data,
},
ben: {
pts: new Pts().data,
},
atb: {
pts: new Pts().data,
},
avc: {
pts: new Pts().data,
},
adv: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
cbs: {
opn1: {
......@@ -57,6 +128,50 @@ export default class Gctcan{
}
}
},
gitp: {
chkpreper: '',
oldgidtxt: '',
swiftflg: '',
gidtxtmodflgc: '',
indirectswiadd: '',
exptxtmodflg: '',
prepercmodflg: '',
covgodsrvmodflg: '',
covgodc: {
chkast: ''
},
gidtxt: '',
liatxtcmodflg: '',
usr: {
extkey: ''
},
chkgidtxtc: '',
prepermodflg: '',
aacp: {
aacmod: {
addamtflg: ''
}
},
chargic: {
chkast: ''
},
gidtxtmodflg: '',
gtx: {
gidtxt: ''
},
covgodsrvcmodflg: '',
chargi: {
chkast: ''
},
covgod: {
chkast: ''
},
chkgidtxt: '',
dzbhflg: '',
chkpreperc: '',
oldgtxgidtxt: '',
inc760: ''
},
setmod: new Pub().data.Setmod,
mtabut: new Pub().data.Mtabut,
trnmod: new Pub().data.Trnmod,
......
......@@ -14,10 +14,8 @@
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import Utils from "~/utils";
import Event from "~/model/Gctcan/Event";
import event from '../event'
import Coninfp from "~/views/Public/Coninfp";
......@@ -27,7 +25,7 @@ export default {
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
......@@ -35,10 +33,6 @@ export default {
},
methods: {
...Event,
handleChange(val) {
console.log(val);
},
},
created: function () { },
};
......
......@@ -11,7 +11,7 @@
<el-button size="small">智能提示</el-button> -->
<el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" label-position="right" size="small"
:validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<!--PD000031 -->
<el-tab-pane label="业务信息" name="ovwp">
<c-content>
......@@ -116,11 +116,13 @@ export default {
model: new Gctcan().data,
rules: formRules,
codes: {
...CodeTable
...CodeTable
},
};
},
methods:{},
methods:{
},
mounted () {
this.init()
},
......
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,
revflg: 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 commonFunctions from '~/mixin/commonFunctions.js';
import buildFn from './buildCommons.js';
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 {
mixins: [commonFunctions],
methods: {
...setmod,
...glentry,
...engp,
...docpan,
...ccvpan,
...limitbody,
...doctre,
async init () {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
}
const res = await Api.post('/service/gctfee/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;
}
let name = tab.name;
switch (name) {
case 'ccvpan':
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;
}
},
// 点击获取按钮拉取当前key字段下的表单数据
queryFormData(key) {
console.log(key);
},
// 业务信息=》基本信息=》保函编号-----获取保函编号
async queryOwnref() {
let params = {
ptainr: this.model.gidgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/gctfee/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.gidgrp.rec.ownref = res.data;
}
},
// 获取gctfee弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.gidgrp[type.toLowerCase()].pts.extkey,
};
let res = await Api.post('/service/ptspta/list', params);
if (res.respCode == SUCCESS) {
this.root.$refs['etyDialog'].show = true;
this.root.promptData.data = res.data.ptaInfos;
this.root.promptData.type = type;
}
},
// 选中gctfee弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.$set(this.model.gidgrp, row.role.toLowerCase(), res.data);
}
},
// 业务信息=》基本信息=》支出目的
purposChange(key, value) {
this.handleChangeForm(key, value);
},
// 初始化保函开立类型码表下拉列表
async queryHndtypCodeTableList(trnName) {
let params = {
gitp: {
swiftflg: this.model.gitp.swiftflg,
},
gidgrp: {
rec: {
purpos: this.model.gidgrp.rec.purpos,
},
},
transName: trnName.toUpperCase(),
};
let res = await Api.post('/service/gctfee/initHndtyp', params);
if (res.respCode == SUCCESS) {
this.$set(this.codes, 'voHndtyp', res.data);
}
},
// 是否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
},
// 公共组件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
}
}
},
};
export default {
"gctp0.gidget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"gidgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"gctp0.gidget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"gidgrp.rec.expdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"gidgrp.cbs.opn1.cur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"gidgrp.cbs.opn1.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"gcdgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"gctp0.recget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"gctp0.recget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"gcdgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"gcdgrp.cbs.max.cur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"gcdgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"gcdgrp.apl.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"gcdgrp.apl.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"gcdgrp.cbs.opn1.cur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"gcdgrp.cbs.opn1.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"gcdgrp.ben.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"gidgrp.rec.liadat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"gcdgrp.ben.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"gcdgrp.rec.clmdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"xxtfee.intmbu.ums.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"xxtfee.intmbu.umsp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"xxtfee.intmbu.ums.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"xxtfee.intmbu.umsp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"xxtfee.intmbu.ums.namelc":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"xxtfee.intmbu.ums.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"xxtfee.intmbu.ums.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"xxtfee.intmbu.ums.adrelc":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"xxtfee.intmbu.umh.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"xxtfee.intmbu.umhp.ptsget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"xxtfee.intmbu.umh.pts.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"xxtfee.intmbu.umhp.ptsget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"xxtfee.intmbu.umh.namelc":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"xxtfee.intmbu.umh.pts.adrblk":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"xxtfee.intmbu.umh.dbfadrblkcn":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"xxtfee.intmbu.umh.adrelc":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"setmod.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"setmod.docamt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"setmod.zmqacc":[
{type: "string", required: false, message: "必输项"},
{max: 20,message:"长度不能超过20"}
],
"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"}
],
"trnmod.trndoc.advnam":[
{type: "string", required: false, message: "必输项"},
{max: 50,message:"长度不能超过50"}
],
"trnmod.trndoc.amdapl":[
{type: "string", required: true, message: "必输项"},
{max: 50,message:"长度不能超过50"}
],
"trnmod.trndoc.advdoc":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"trnmod.trndoc.filrecv":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"trnmod.trndoc.doctrestm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"trnmod.trndoc.condocstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"trnmod.trndoc.rcvatt.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"xxtfee.intmbu.umh.pts.ref" :null,
"xxtfee.intmbu.umsrol" :null,
"xxtfee.intmbu.ums.pts.extkey" :null,
"setmod.dspflg" :null,
"xxtfee.intmbu.ums.pts.ref" :null,
"xxtfee.intmbu.ums.namelc" :null,
"xxtfee.intmbu.ums.adrelc" :null,
"xxtfee.intmbu.othbussec" :null,
"xxtfee.intmbu.umh.adrelc" :null,
"xxtfee.intmbu.umh.pts.extkey" :null,
"mtabut.coninf.conexedat" :null,
"xxtfee.intmbu.umh.namelc" :null,
"xxtfee.intmbu.umh.pts.adrblk" :null,
"setmod.docamt" :null,
"xxtfee.intmbu.umhrol" :null,
"xxtfee.intmbu.ums.pts.adrblk" :null,
}
\ No newline at end of file
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Gctfee{
constructor () {
this.data = {
gitp:{
swiftflg:'',
},
gctp0: {
liadat: '',
adaflg: '',
lialab: ''
},
xxtfee: {
intmbu: {
umh: {
pts: new Pts().data,
},
umbflg: '',
umhrol: '',
umsrol: '',
ums: {
pts: new Pts().data,
},
othbussec: ''
}
},
gcdgrp: {
rec: {
clmdat: '',
ownref: '',
payrol: '',
nam: '',
docprbrol: '',
},
cbs: {
opn1: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
}
},
ben: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
}
},
sysmod: {
atp: {
bus: '',
cod: ''
}
},
gidgrp: {
rec: {
expdat: '',
ownref: '',
expflg: '',
gartyp: '',
inr: '',
opndat:'',
branchInr:'',
hndtyp:'',
fingua:'',
segtyp:'',
fromflg:'',
othersno:'',
sndto:'',
swiftflg:'',
giduil:'',
purpos:'',
revflg:'',
cnfsta:'',
objinr:'',
},
cbs: {
opn1: {
cur: '',
amt: ''
}
},
con: {
pts: new Pts().data,
},
iss: {
pts: new Pts().data,
},
ben: {
pts: new Pts().data,
},
atb: {
pts: new Pts().data,
},
avc: {
pts: new Pts().data,
},
adv: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
ghd:{
segtyp:'',
}
},
setmod: new Pub().data.Setmod,
mtabut: new Pub().data.Mtabut,
trnmod: new Pub().data.Trnmod,
liaall: new Pub().data.Liaall,
liaccv: new Pub().data.Liaccv,
docpan: new Pub().data.Docpan,
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<!--el-collapse-item title="备查表" name="addbcb">
<m-addbcb :model="model" :codes="codes" />
</el-collapse-item-->
<el-collapse-item title="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import Utils from "~/utils";
import event from '../event'
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"m-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {
},
created: function () { },
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs">
<!-- ====================左边======================= -->
<c-col :span="12" style="padding-right: 20px">
<c-col :span="24">
<el-form-item label="借方" prop="xxtfee.intmbu.umsrol">
<c-select
v-model="model.xxtfee.intmbu.umsrol"
style="width: 100%"
placeholder="请选择借方"
disabled
:code="getValues('xxtfee.intmbu.umsrol', 'rolall')"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="参考号" prop="xxtfee.intmbu.ums.pts.ref">
<c-input
v-model="model.xxtfee.intmbu.ums.pts.ref"
maxlength="16"
placeholder="请输入参考号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="xxtfee.intmbu.ums.pts.extkey">
<c-fullbox>
<c-input
v-model="model.xxtfee.intmbu.ums.pts.extkey"
maxlength="16"
placeholder="请输入"
disabled
@keyup.enter.native="
showGridPromptDialog(`xxtfee.intmbu.ums.pts.extkey`)
"
></c-input>
<template slot="footer">
<c-button
style="margin: 0 10px 0 10px; padding: 0 12px"
size="small"
type="primary"
>
<i class="el-icon-info"></i>
</c-button>
<c-button size="small" type="primary" style="margin: 0 0">
详情
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="地址名称" prop="xxtfee.intmbu.ums.pts.adrblk">
<c-input
disabled
rows="4"
type="textarea"
v-model="model.xxtfee.intmbu.ums.pts.adrblk"
maxlength="140"
show-word-limit
placeholder="请输入地址名称"
></c-input>
</el-form-item>
</c-col>
</c-col>
<!-- ====================右边======================= -->
<c-col :span="12" style="padding-left: 20px">
<c-col :span="24">
<el-form-item label="信贷方" prop="xxtfee.intmbu.umhrol">
<c-select
v-model="model.xxtfee.intmbu.umhrol"
style="width: 100%"
placeholder="请选择信贷方"
disabled
:code="getValues('xxtfee.intmbu.umhrol', 'rolall')"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="参考号" prop="xxtfee.intmbu.umh.pts.ref">
<c-input
v-model="model.xxtfee.intmbu.umh.pts.ref"
maxlength="16"
placeholder="请输入参考号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="xxtfee.intmbu.umh.pts.extkey">
<c-fullbox>
<c-input
v-model="model.xxtfee.intmbu.umh.pts.extkey"
maxlength="16"
placeholder="请输入"
disabled
@keyup.enter.native="
showGridPromptDialog(`xxtfee.intmbu.umh.pts.extkey`)
"
></c-input>
<template slot="footer">
<c-button
style="margin: 0 10px 0 10px; padding: 0 12px"
size="small"
type="primary"
>
<i class="el-icon-info"></i>
</c-button>
<c-button size="small" type="primary" style="margin: 0 0">
详情
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="地址名称" prop="xxtfee.intmbu.umh.pts.adrblk">
<c-input
disabled
rows="4"
type="textarea"
v-model="model.xxtfee.intmbu.umh.pts.adrblk"
maxlength="140"
show-word-limit
placeholder="请输入地址名称"
></c-input>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import event from '../event'
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {};
},
methods: { },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="费用" name="feep">
<m-feep :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="重新预定" name="cltrns" v-if="model.xxtfee.intmbu.umbflg == 'X'">
<m-cltrns :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from '../event'
import Feep from "./Feep";
import Cltrns from "./Cltrns";
export default {
components: {
"m-feep": Feep,
"m-cltrns": Cltrns,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
methods: {},
data() {
return {
activeNames: ["feep"],
};
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eContainer">
<c-page title="保函保证金调整">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="150px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-tabs
v-model="tabVal"
ref="elment"
type="card"
@tab-click="tabClick"
>
<el-tab-pane label="业务信息" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="费用/账务" name="setpan">
<c-content>
<m-setmod
:model="model"
:codes="codes"
@changeSetmodModel="changeSetmodModel"
/>
</c-content>
</el-tab-pane>
<!--PD000510 -->
<el-tab-pane label="备查/附言" name="addbcb">
<c-content>
<m-addbcb :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000546 -->
<el-tab-pane label="附件信息" name="doctre">
<c-content>
<m-doctre :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
@select-ety="selectGridEtyPromptData"
>
</c-grid-ety-prompt-dialog>
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
</c-function-btn>
</c-page>
</div>
</template>
<script>
import event from '../event'
import Api from "~/service/Api";
import operationFunc from "~/mixin/operationFunc";
import CodeTable from "~/config/CodeTable"
import Gctfee from "../model"
import formRules from '../model/check'
import Ovwp from "./Ovwp"
// import Feep from "./Feep"
import Cltrns from "./Cltrns"
import Engp from "~/components/business/engp/views";
import Glentry from "~/components/business/glentry/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Setmod from "~/components/business/setmod/views";
import Coninfp from "~/components/business/coninfp/views";
import Addbcb from "./Addbcb";
export default {
name: "Gctfee",
components: {
"m-ovwp": Ovwp,
// "m-setpan": Setpan,
"m-coninfp": Coninfp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-setmod": Setmod,
"m-addbcb": Addbcb,
},
provide() {
return {
root: this,
};
},
mixins: [event,operationFunc],
data() {
return {
tabVal: "ovwp",
activeNames: ["engp"],
trnName: "gctfee",
rules: formRules,
trnType: "",
model: new Gctfee().data,
codes: {
...CodeTable,
},
flag: false,
promptData: {
title: 'Select a Party',
columns: [
{
prop: 'ptyInr',
label: 'Party Number'
},
{
prop: 'inr',
label: 'Address Number'
},
{
prop: 'branch',
label: 'Branch Code'
},
{
prop: 'bchName',
label: 'Branch Name'
},
{
prop: 'adrName',
label: 'Address Name'
},
{
prop: 'adr1',
label: 'Address1'
},
{
prop: 'locCty',
label: 'City'
},
{
prop: 'locZip',
label: 'Zip'
},
{
prop: 'bicCode',
label: 'BIC'
}
],
data: []
}
};
},
methods: {
},
mounted () {
this.init()
},
};
</script>
<style>
</style>
......@@ -703,6 +703,10 @@ export default {
{
label:'绑定电子凭证',
route:'/business-new/gitatt'
},
{
label:'保证金收取',
route:'/business-new/fctopn'
}
],
currentHandleRow: {}
......
......@@ -12,7 +12,7 @@ const Business = [
{ path: 'gitfee', component: () => import('~/business/gitfee/views'), name: 'gitfee', meta: { title: '进口保函收费' } },
{ path: 'gitatt', component: () => import('~/business/gitatt/views'), name: 'gitatt', meta: { title: '绑定电子凭证' } },
{ path: 'gctfre', component: () => import('~/business/gctfre/views'), name: 'gctfre', meta: { title: '索赔自由报文' } },
{ path: 'gctfee', component: () => import('~/business/gctfee/views'), name: 'gctfee', meta: { title: '保函保证金调整' } },
{ path: 'giteng', component: () => import('~/business/giteng/views'), name: 'giteng', meta: { title: '保函保证金调整' } },
{ path: 'gitadd', component: () => import('~/business/gitadd/views'), name: 'gitadd', meta: { title: '保函编辑参考号(公共交易)' } },
{ path: 'gctadd', component: () => import('~/business/gctadd/views'), name: 'gctadd', meta: { title: '保函索赔编辑参考号(公共交易)' } },
......@@ -24,10 +24,10 @@ const Business = [
{ path: 'gitrop', component: () => import('~/business/gitrop/views'), name: 'gitrop', meta: { title: '保函注销后激活' } },
{ path: 'gitpca', component: () => import('~/business/gitpca/views'), name: 'gitpca', meta: { title: '关税保函预注销' } },
{ path: 'gitenc', component: () => import('~/business/gitenc/views'), name: 'gitenc', meta: { title: '保函定期保证金处理(公共交易)' } },
{ path: 'gitfre', component: () => import('~/business/gitfre/views'), name: 'gitfre', meta: { title: '保函自由格式报文' } },
{ path: 'fctopn', component: () => import('~/business/fctopn/views'), name: 'fctopn', meta: { title: '保证金收取' } },
{ path: 'litsel', component: () => import('~/business/litsel/views'), name: 'litsel', meta: { title: '进口信用证入口交易' } },
{ path: 'brtacp', component: () => import('~/business/brtacp/views'), name: 'brtacp', meta: { title: '进口信用证单据接受不符点' } },
]
export default Business
\ No newline at end of file
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