Commit 8b1c2e26 by WH

++

litsel
parent ddedf319
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.lidgrp.apl.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.lidgrp.apl));
}
if (model.lidgrp.adv.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.lidgrp.adv));
}
if (model.lidgrp.ben.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.lidgrp.ben));
}
let dataObj = {
rec: {
objtyp: 'GID',
ownref: model.lidgrp.rec.ownref,
opndat: model.lidgrp.rec.opndat,
expdat: model.lidgrp.rec.expdat,
branchInr: model.lidgrp.rec.branchInr,
hndtyp: model.lidgrp.rec.hndtyp,
gartyp: model.lidgrp.rec.gartyp,
fingua: model.lidgrp.rec.fingua,
// segtyp: model.lidgrp.ghd.segtyp,
fromflg: model.lidgrp.rec.fromflg,
othersno: model.lidgrp.rec.othersno,
sndto: model.lidgrp.rec.sndto,
// swiftflg: model.gitp.swiftflg,
giduil: model.lidgrp.rec.giduil,
purpos: model.lidgrp.rec.purpos,
revflg: model.lidgrp.rec.revflg,
cnfsta: model.lidgrp.rec.cnfsta,
},
cbsMap: {
MAX: model.lidgrp.cbs.max,
OLDMAX: model.lidgrp.cbs.oldmax,
MAX2: model.lidgrp.cbs.max2,
NOM1: model.lidgrp.cbs.nom1,
OPN1: model.lidgrp.cbs.opn1,
MAC: model.lidgrp.cbs.mac,
MAC2: model.lidgrp.cbs.mac2,
OPC2: model.lidgrp.cbs.opc2,
CNF: model.lidgrp.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.lidgrp.rec.objinr,
ownref: model.lidgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'GID',
objinr: model.lidgrp.rec.objinr,
ownref: model.lidgrp.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 Utils from '~/utils';
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';
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/litsel/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;
}
},
// 获取弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.lidgrp[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;
}
},
// 选中gitopn弹框表格的行数据
async selectGridEtyPromptData(row) {
let params = {
...row,
};
let res = await Api.post('/service/ptspta/fetch', params);
if (res.respCode == SUCCESS) {
this.$set(this.model.lidgrp, row.role.toLowerCase(), res.data);
}
},
//获取信用证编号
async onLitpButgetref() {
let params = {
ptainr: this.model.lidgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/litsel/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.lidgrp.rec.ownref = res.data;
}
},
onSeainf() {},
async onExtkey(e) {},
},
};
import Api from '~/service/Api';
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Litsel {
constructor() {
this.data = {
brdgrp: {
prb: {
pts: new Pts().data,
},
rec: {
rcvdat: '',
shgref: '',
docflg: '',
docsta: '',
advdat: '',
nam: ''
},
cbs: {
opn1: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
}
},
ben: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
}
},
trpnttyp: '',
matp: {
mattxtlab: ''
},
dfdget: {
clsflg: ''
},
aamlid: {
addamtflg: ''
},
lidget: {
clsflg: '',
lid: {
ownref: '',
nam: ''
}
},
dfdgrp: {
rec: {
stttendat: '',
ownref: '',
fintyp: '',
matdat: '',
nam: '',
opndat: ''
},
cbs: {
opn1: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
}
},
dff: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
}
},
brdget: {
clsflg: '',
brd: {
ownref: ''
},
sdamod: {
seainf: ''
}
},
trdget: {
clsflg: '',
sdamod: {
seainf: ''
}
},
aambrd: {
addamtflg: ''
},
trdgrp: {
rec: {
stttendat: '',
pctfin: '',
ownref: '',
fintyp: '',
matdat: '',
nam: '',
finact: ''
},
cbs: {
opn1: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
}
},
fip: {
pts: new Pts().data,
}
},
selbut: {
syswrn: {
dsp: ''
}
},
lidgrp: {
rec: {
revflg: '',
expdat: '',
expplc: '',
lcrtyp: '',
shpdat: '',
avbby: '',
opndat: ''
},
adv: {
pts: new Pts().data,
},
cbs: {
opn1: {
cur: '',
amt: ''
},
nom1: {
cur: '',
amt: ''
}
},
ben: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
avbnam: ''
},
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">
</div>
</template>
<script>
import event from "../event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [event],
data(){
return {
}
},
methods:{},
created:function(){
}
}
</script>
<style>
</style>
<template>
<!-- <el-table-->
<!-- :data="tableData"-->
<!-- border-->
<!-- stripe-->
<!-- :show-header="false"-->
<!-- :cell-style="cellSttyle"-->
<!-- >-->
<el-table
:data="tableData"
border
stripe
:show-header="false"
:cell-style="cellSttyle"
>
<el-table-column prop="label" align="center">
<template slot-scope="scope">
<c-button
@click="onNarBtnClick(scope.row.url, scope.row.label)"
:label="scope.row.label"
:disabled="scope.row.disabled"
>{{ scope.row.label }}
</c-button>
</template>
</el-table-column>
</el-table>
</template>
<script>
import event from "../event"
export default {
inject: ["root"],
props: ["data", "model"],
mixins: [event], // 里面包含了Default、Check等的公共处理
data() {
return {
cellSttyle: { height: "25px" },
meumItem: [],
};
},
methods: {
},
computed: {
tableData() {
const arr = [];
var data = this.data;
for (let i = 0; i < data.length; i++) {
const items = data[i].split("\t");
arr.push({
url: items[0],
label: items[1],
disabled: items[2] == "N" ? true : false,
other: items[3],
});
}
return arr;
},
},
};
</script>
<style>
a {
text-decoration-line: none;
color: #606266;
}
a:hover {
color: blue;
}
</style>
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-col :span="12">
<c-form-item label="Display" prop="selbut.syswrn.dsp">
<c-input v-model="model.selbut.syswrn.dsp" :placeholder="$t('other.please_enter')+'Display'"></c-input>
</c-form-item>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary">
{{$t('syswrn.CF000003')}}
</c-button>
</c-col>
<c-col :span="12">
<c-button size="small" type="primary">
{{$t('syswrn.CF000004')}}
</c-button>
</c-col>
</div>
</template>
<script>
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="eContainer">
<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">
<el-tab-pane label="Menu" name="sel">
<c-content>
<m-sel :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>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable"
import Litsel from "../model";
import event from "../event"
import formRules from '../model/check'
import Sel from "./Sel"
import Regp from "./Regp"
import Syswrndisplay from "./Syswrndisplay"
export default {
name: "Litsel",
components:{
"m-sel" : Sel,
"m-regp" : Regp,
"m-syswrndisplay" : Syswrndisplay,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "sel",
trnName: "litsel",
trnType: "",
model: new Litsel().data,
rules: formRules,
codes: {...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: []
}
}
},
methods:{},
mounted () {
this.init()
},
}
</script>
<style>
</style>
......@@ -24,7 +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: 'litsel', component: () => import('~/business/litsel/views'), name: 'litsel', 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