Commit 8d8d9d1e by huxi

giteng 清理

parent b69675bd
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/giteng/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/giteng/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.gidgrp.rec.ownref = res.data;
}
},
// 获取gitopn弹框表格数据
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;
}
},
// 选中gitopn弹框表格的行数据
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/giteng/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
}
}
},
};
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Giteng {
constructor() {
this.data = {
setmod: {
refdat: ''
},
gidgrp: {
ctr: {
pts: new Pts().data,
},
rec: {
expdat: '',
purpos: '',
liadat: '',
liatypc: '',
ownref: '',
exptyp: '',
nam: '',
gartyp: '',
purposin: ''
},
cbs: {
opn1: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
}
},
iss: {
pts: new Pts().data,
},
ben: {
pts: new Pts().data,
},
apl: {
pts: new Pts().data,
},
adv: {
pts: new Pts().data,
}
},
gitp0: {
aamgid: {
addamtflg: ''
}
},
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">
<!-- ====================左边======================= -->
<c-col :span="12" style="padding-right: 20px">
<c-col :span="24">
<el-form-item label="保函编号" prop="gidgrp.rec.ownref">
<c-fullbox>
<c-input
v-model="model.gidgrp.rec.ownref"
maxlength="16"
placeholder="请输入保函编号"
disabled
></c-input>
<template slot="footer">
<c-button
style="margin: 0 0 0 10px; padding: 0 12px"
size="small"
type="primary"
icon="el-icon-info"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="保函币种和金额" prop="gidgrp.cbs.max.cur">
<c-select
v-model="model.gidgrp.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="8">
<el-form-item label-width="5px" prop="gidgrp.cbs.max.amt">
<c-input-currency
disabled
v-model="model.gidgrp.cbs.max.amt"
></c-input-currency>
</el-form-item>
</c-col>
<c-col :span="4" class="centerLable">
<c-checkbox disabled v-model="model.gitp0.aamgid.addamtflg"
>附加金额</c-checkbox
>
</c-col>
<c-col :span="24">
<c-col :span="12">
<el-form-item label="保函余额" prop="gidgrp.cbs.opn1.cur">
<c-select
disabled
v-model="model.gidgrp.cbs.opn1.cur"
style="width: 100%"
placeholder="请选择保函余额币种"
@keyup.enter.native="nom1CurEvent"
>
<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="8">
<el-form-item label-width="5px" prop="gidgrp.cbs.opn1.amt">
<c-input-currency
disabled
v-model="model.gidgrp.cbs.opn1.amt"
></c-input-currency>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<el-form-item label="接收目的" prop="gidgrp.rec.purposin">
<c-select
v-model="model.gidgrp.rec.purposin"
style="width: 100%"
placeholder="请选择接收目的 "
:code="codes.purposin"
disabled
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="报文目的" prop="gidgrp.rec.purpos">
<c-select
v-model="model.gidgrp.rec.purpos"
style="width: 100%"
placeholder="请选择报文目的"
:code="codes.purpos"
disabled
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="保函类型" prop="gidgrp.rec.gartyp">
<c-select
disabled
v-model="model.gidgrp.rec.gartyp"
style="width: 100%"
placeholder="请选择保函类型"
:code="codes.typgar"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="13">
<el-form-item label="到期" prop="gidgrp.rec.expdat">
<c-date-picker
disabled
type="date"
v-model="model.gidgrp.rec.expdat"
style="width: 100%"
placeholder="请选择"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item
style="text-align: left"
label-width="5px"
prop="gidgrp.rec.exptyp"
>
<c-select
v-model="model.gidgrp.rec.exptyp"
style="width: 100%"
placeholder="请选择到期类型"
:code="codes.exptyp"
disabled
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="13">
<el-form-item
v-show="model.gidgrp.rec.liadat != ''"
label="责任日期"
prop="gidgrp.rec.liadat"
>
<c-date-picker
disabled
type="date"
v-show="model.gidgrp.rec.liadat != ''"
v-model="model.gidgrp.rec.liadat"
style="width: 100%"
placeholder="请选择责任日期"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="11" v-show="model.gidgrp.rec.liadat != ''">
<el-form-item
style="text-align: left"
label-width="5px"
prop="gidgrp.rec.liatypc"
>
<c-select
v-model="model.gidgrp.rec.liatypc"
style="width: 100%"
placeholder="请选择责任类型"
:code="codes.liatypc"
disabled
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="参考日期 " prop="setmod.refdat">
<c-date-picker
disabled
type="date"
v-model="model.setmod.refdat"
style="width: 100%"
placeholder="请选择参考日期 "
></c-date-picker>
</el-form-item>
</c-col>
</c-col>
<!-- ========================右边======================= -->
<c-col :span="12" style="padding-left: 20px">
<c-col :span="24">
<el-form-item label="简略信息" prop="gidgrp.rec.nam">
<c-input
disabled
v-model="model.gidgrp.rec.nam"
maxlength="40"
placeholder="请输入简略信息"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="申请人" prop="gidgrp.apl.pts.nam">
<c-input
disabled
v-model="model.gidgrp.apl.pts.nam"
maxlength="40"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="受益人" prop="gidgrp.ben.pts.nam">
<c-input
disabled
v-model="model.gidgrp.ben.pts.nam"
maxlength="40"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="帐户行" prop="gidgrp.ctr.pts.nam">
<c-input
disabled
v-model="model.gidgrp.ctr.pts.nam"
maxlength="40"
placeholder="请输入"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="开证行" prop="gidgrp.iss.pts.nam">
<c-input
disabled
v-model="model.gidgrp.iss.pts.nam"
maxlength="40"
placeholder="请输入开证行"
></c-input>
</el-form-item>
</c-col>
</c-col>
</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>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="收费详情" name="gitsetp1">
<m-gitsetp1 :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event";
import Gitsetp1 from "./Gitsetp1";
export default {
components: {
"m-gitsetp1": Gitsetp1,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["gitsetp1"],
};
},
methods: {},
created: function () {},
};
</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="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>
<el-tab-pane label="保证金" name="ccvpan">
<c-content>
<m-ccvpan
:model="model"
:codes="codes"
:buildLiaccv="buildLiaccv"
/>
</c-content>
</el-tab-pane>
<el-tab-pane label="统一授信" name="limitbody">
<c-content>
<div class="eibs-tab">
<el-collapse v-model="activeNames1">
<el-collapse-item title="统一授信" name="limitbody">
<m-limitbody :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="表外记账" name="engp">
<c-content>
<!-- 表外记账 -->
<m-engp :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>
<!--PD000027 -->
<el-tab-pane label="会计分录" name="glepan">
<c-content>
<m-glentry :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="备查/附言" name="coninfp">
<c-content>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<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 operationFunc from "~/mixin/operationFunc";
import formRules from "../model/check";
import CodeTable from "~/config/CodeTable";
import Giteng from "../model";
import Ovwp from "./Ovwp";
import Engp from "~/components/business/engp/views";
import Ccvpan from "~/components/business/ccvpan/views";
import Coninfp from "~/components/business/coninfp/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Limitbody from "~/components/business/limitbody/views";
import Glentry from "~/components/business/glentry/views";
import Setmod from "~/components/business/setmod/views";
export default {
name: "Giteng",
components: {
"m-ovwp": Ovwp,
"m-engp": Engp,
"m-ccvpan": Ccvpan,
"m-coninfp": Coninfp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-limitbody": Limitbody,
"m-glentry": Glentry,
"m-setmod": Setmod,
},
provide() {
return {
root: this,
activeNames: ["ovwp"],
};
},
mixins: [operationFunc, event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
trnName: "giteng",
model: new Giteng().data,
rules: formRules,
codes: { ...CodeTable },
activeNames: ["engp", "coninfp"],
activeNames1: ["limitbody"],
};
},
methods: {},
mounted() {
this.init();
},
};
</script>
<style>
</style>
......@@ -9,5 +9,6 @@ const Business = [
{ path: 'litopn', component: () => import('~/business/litopn/views'), name: 'litopn', meta: { title: '进口信用证开立' } },
{ path: 'gitcrq', component: () => import('~/business/gitcrq/views'), name: 'gitcrq', meta: { title: '保函索赔登记' } },
{ path: 'gitcrj', component: () => import('~/business/gitcrj/views'), name: 'gitcrj', meta: { title: '进口保函拒付' } },
{ path: 'giteng', component: () => import('~/business/giteng/views'), name: 'giteng', meta: { title: '保函保证金调整' } },
]
export default Business
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