Commit ca0fe66b by liaoxing

Merge branch 'settle-test-20230110' of http://114.115.138.98:8900/fukai/vue-gjjs…

Merge branch 'settle-test-20230110' of http://114.115.138.98:8900/fukai/vue-gjjs into settle-test-20230110
parents f2a5d0cf cb26102a
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.bedgrp.prb.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.prb));
}
if (model.bedgrp.iss.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.iss));
}
if (model.bedgrp.apl.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.apl));
}
if (model.bedgrp.oth.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.bedgrp.oth));
}
let dataObj = {
rec: {
objtyp: 'BED',
ownref: model.bedgrp.rec.ownref,
predat: model.bedgrp.rec.predat,
rcvdat: model.bedgrp.rec.rcvdat,
doctypcod: model.bedgrp.rec.doctypcod,
docsta: model.bedgrp.rec.docsta,
payrol: model.bedgrp.rec.payrol,
matdat: model.bedgrp.rec.matdat,
nam: model.bedgrp.rec.nam,
docprbrol: model.bedgrp.rec.docprbrol,
advdocflg: model.bedgrp.rec.advdocflg,
},
cbsMap: {
MAX: model.bedgrp.cbs.max,
OPN1: model.bedgrp.cbs.opn1,
// MAC: model.bedgrp.cbs.mac,
// MAC2: model.bedgrp.cbs.mac2,
// OPC2: model.bedgrp.cbs.opc2,
// CNF: model.bedgrp.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: 'BED',
objinr: model.bedgrp.rec.objinr,
ownref: model.bedgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'BED',
objinr: model.bedgrp.rec.objinr,
ownref: model.bedgrp.rec.ownref,
},
};
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/betdcr/init', {
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
// brdinr: this.$route.query.inr,
brdgrp:{
rec:{
inr: this.$route.query.inr
}
},
});
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 'setmod':
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.bedgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/betdcr/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.gidgrp.rec.ownref = res.data;
}
},
// 获取betdcr弹框表格数据
async queryGridEtyPromptDialogData(type, ptytyp) {
let params = {
userId: window.sessionStorage.userId || 'ZL',
ptytyp: ptytyp,
extkey: this.model.brdgrp[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;
}
},
// 选中betdcr弹框表格的行数据
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);
},
// 支出目的修改--联动保函开立类型
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 Betcan {
constructor() {
this.data = {
betp: {
adaflg: '',
docgrdm:{
docgrd:'',
},
},
advdisflg: '',
ledgrp: {
rec: {
ownref: ''
},
cbs: {
opn1: {
cur: '',
amt: ''
}
},
},
rejpenins: '',
advrefflg: '',
bedgrp: {
blk: {
docdisflg: '',
disdoc: '',
docdis: '',
docins: '',
intdis: ''
},
rec: {
predat: '',
rcvdat: '',
doctypcod: '',
docsta: '',
ownref: '',
payrol: '',
matdat: '',
nam: '',
docprbrol: '',
advdocflg: ''
},
cbs: {
opn1: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
}
},
prb: {
pts: new Pts().data,
},
iss: {
pts: new Pts().data,
},
apl:{
pts: new Pts().data,
},
oth:{
pts: new Pts().data,
},
},
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="coninfp">
<m-coninfp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event";
import Coninfp from "~/components/business/coninfp/views";
export default {
components: {
"m-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {},
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ======================= 左边 ========================= -->
<c-col :span="12" style="padding-right: 20px">
<c-col :span="24">
<el-form-item label="内部不符点" prop="bedgrp.blk.intdis" style="width: 100%">
<c-fullbox>
<c-input type="textarea" v-model="model.bedgrp.blk.intdis" maxlength="50" show-word-limit
placeholder="请输入内部不符点"></c-input>
<template slot="footer">
<c-button style="margin-left: 10px; padding: 0 10px" size="small" type="primary"
icon="el-icon-more"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="不符点" prop="bedgrp.blk.docdis" style="width: 100%">
<c-fullbox>
<c-input type="textarea" v-model="model.bedgrp.blk.docdis" maxlength="65" show-word-limit
placeholder="请输入Discrepancies" :disabled="!docdisflg"></c-input>
<template slot="footer">
<c-button style="margin-left: 10px; padding: 0 10px" size="small" type="primary" :disabled="!docdisflg"
icon="el-icon-more"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item>
<c-checkbox v-model="docdisflg" class="checkbox-left">不符点修改</c-checkbox>
</el-form-item>
</c-col>
<c-col :span="24">
<c-docpre :model="model" :argadr="{
path: 'bedgrp.blk.prsdoc',
grp: 'betp',
code: 'docpre',
}">
</c-docpre>
</c-col>
</c-col>
<!-- ======================右边====================== -->
<c-col :span="12" style="padding-left: 20px">
<c-col :span="24">
<el-form-item label="拒绝原因" prop="bedgrp.blk.docins" style="width: 100%">
<c-fullbox>
<c-input type="textarea" v-model="model.bedgrp.blk.docins" maxlength="50" show-word-limit
placeholder="请输入拒绝原因"></c-input>
<template slot="footer">
<c-button style="margin-left: 10px; padding: 0 10px" size="small" type="primary"
icon="el-icon-more"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="单据处理说明" prop="bedgrp.blk.disdoc" style="width: 100%">
<c-fullbox>
<c-input type="textarea" v-model="model.bedgrp.blk.disdoc" maxlength="65" show-word-limit
placeholder="请输入单据处理说明" disabled></c-input>
<template slot="footer">
<c-button style="margin-left: 10px; padding: 0 10px" size="small" type="primary" disabled
icon="el-icon-more"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="rejpenins">
<c-checkbox v-model="rejpenins" class="checkbox-left">拒绝复核指示</c-checkbox>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import Docpre from "~/views/Public/Docpre";
import event from "../event";
export default {
components: { "c-docpre": Docpre },
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {};
},
computed: {
docdisflg: {
get() {
return this.model.bedgrp.blk.docdisflg != "X";
},
set(val) {
this.model.bedgrp.blk.docdisflg = val ? "X" : "";
this.model.bedgrp.blk.docdis = "";
},
},
rejpenins: {
get() {
return this.model.rejpenins != "";
},
set(val) {
this.model.rejpenins = val ? "X" : "";
},
},
},
methods: {},
created: function () { },
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" >
<el-collapse-item title="详情信息" name="betdcrs">
<m-betdcrs :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="不符点/拒绝信息" name="betdcrd">
<m-betdcrd :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from "../event";
import Betdcrs from "./Betdcrs";
import Betdcrd from "./Betdcrd";
export default {
components: {
"m-betdcrs": Betdcrs,
"m-betdcrd": Betdcrd,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["betdcrs"],
};
},
methods: {},
created: function () { },
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
\ No newline at end of file
<template>
<!-- <div class="eibs-tab"> -->
<div>
<c-col v-if="!enRef" :span="24">
<el-form-item :label="argadr.title + ' 编号'" :prop="`${argadr.grp}.${argadr.rol}.pts.ref`">
<c-input
v-model="model[argadr.grp][argadr.rol].pts.ref"
maxlength="16"
:placeholder="'请输入' + argadr.title + '编号'"
:disabled="disabled"
></c-input>
</el-form-item>
</c-col>
<c-col v-else :span="24">
<el-form-item :label="argadr.title + '参考号'" :prop="`${argadr.grp}.${argadr.rol}.pts.ref`">
<c-input
v-model="model[argadr.grp][argadr.rol].pts.ref"
maxlength="16"
:placeholder="'请输入' + argadr.title + '参考号'"
:disabled="disabled"
></c-input>
</el-form-item>
</c-col>
<c-col v-if="!enNam" :span="24">
<el-form-item :label="argadr.title + '名称'" :prop="`${argadr.grp}.${argadr.rol}.pts.nam`">
<c-input
v-model="model[argadr.grp][argadr.rol].pts.nam"
maxlength="40"
:placeholder="'请输入' + argadr.title + '名称'"
:disabled="disabled || disabled1"
></c-input>
</el-form-item>
</c-col>
<c-col v-else :span="24">
<el-form-item :label="argadr.title + '名称'" :prop="`${argadr.grp}.${argadr.rol}.pts.nam`">
<c-input
v-model="model[argadr.grp][argadr.rol].pts.nam"
maxlength="40"
:placeholder="'请输入' + argadr.title + '名称'"
:disabled="disabled || disabled1"
></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import event from "../event"
export default {
inject: ["root"],
mixins: [event],
props: {
model: {
type: Object,
default: undefined,
},
codes: {},
argadr: {
type: Object,
default: function () {
return {
title: "", //角色名称
rol: "", //角色
grp: "", //所属模块
};
},
},
disabled: {
//名称地址是否灰显
type: Boolean,
default: false,
},
disabled1: {
//名称是否灰显
type: Boolean,
default: false,
},
enRef: {
//英文编号
type: Boolean,
default: false,
},
enNam: {
//英文名称
type: Boolean,
default: false,
},
},
data() {
return {
data: [],
};
},
watch: {},
// methods: { ...Event },
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>
<el-tab-pane label="统一授信" name="limitbody">
<c-content>
<m-limitbody :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="表外记账" name="engp">
<c-content>
<!-- 表外记账 -->
<m-engp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="费用/账务" name="setmod">
<c-content>
<m-setmod
:model="model"
:codes="codes"
@changeSetmodModel="changeSetmodModel"
/>
</c-content>
</el-tab-pane>
<el-tab-pane label="会计分录" name="glepan">
<c-content>
<m-glentry :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="备查/附言" name="addbcb">
<c-content>
<m-addbcb :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--trndoc PD000546 Attachments -->
<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="doxpDialog" :isPty="false" :promptData="promptData">
</c-grid-ety-prompt-dialog>
<c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash">
</c-function-btn>
</c-page>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Betdcr from "../model";
import formRules from '../model/check'
import Ovwp from "./Ovwp";
import Limitbody from "~/components/business/limitbody/views";
import Engp from "~/components/business/engp/views";
import Setmod from "~/components/business/setmod/views";
import Glentry from "~/components/business/glentry/views";
import Addbcb from "./Addbcb";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import operationFunc from "~/mixin/operationFunc";
import event from "../event";
export default {
name: "Betdcr",
components: {
"m-ovwp": Ovwp,
"m-limitbody": Limitbody,
"m-engp": Engp,
"m-setmod": Setmod,
"m-glentry": Glentry,
"m-addbcb": Addbcb,
"m-docpan": Docpan,
"m-doctre": Doctre,
},
provide() {
return {
root: this,
};
},
mixins: [operationFunc, event], // 里面包含了Default、Check等的公共处理
data() {
return {
tabVal: "ovwp",
activeNames: ["engp"],
trnName: "betdcr",
model: new Betdcr().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>
......@@ -38,6 +38,8 @@ export default class Brtacp {
docdis: '',
},
rec: {
inr:'',
branchinr:'',
totcur: '',
ownref: '',
disdat: '',
......@@ -73,7 +75,9 @@ export default class Brtacp {
lidgrp: {
rec: {
expdat: '',
ownref: ''
ownref: '',
inr:'',
branchinr:'',
},
cbs: {
opn1: {
......
......@@ -75,7 +75,9 @@ export default class Brtame {
nam: '',
opndat: '',
redclsflg: '',
branchinr:''
branchinr:'',
shppars18:'',
shppar:''
},
cbs: {
......
......@@ -22,7 +22,14 @@ export default {
...doctre,
async init () {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
spt: JSON.parse(localStorage.getItem('row_' + this.trnName)),
trnmod:{
trn:JSON.parse(localStorage.getItem('review_'+this.trnName))
}
}
if ( typeof(this.$route.query.inr) == 'string' ){
params.spt = null
params.trnmod.trn =null
}
const res = await Api.post('/service/brtcan/init', {
...params,
......@@ -32,7 +39,8 @@ export default {
rec:{
inr:this.$route.query.inr
}
}
},
});
if (!res.data) {
return
......
......@@ -139,7 +139,6 @@ export default {
tabVal: "ovwp",
trnName: "brtdcr",
model: new Brtdcr().data,
// pattern: Pattern,
rules: formRules,
codes: {
...CodeTable
......
......@@ -25,6 +25,9 @@ export default {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
}
if ( typeof(this.$route.query.inr) == 'string' ) {
params.spt = null
}
const res = await Api.post('/service/brtlat/init', {
...params,
transName: this.trnName,
......@@ -32,7 +35,7 @@ export default {
brdgrp:{
rec:{
// inr:this.$route.query.inr
inr:'00000032'
inr:'00000045'
}
}
});
......
......@@ -45,6 +45,11 @@ export default class Bctset {
pts: new Pts().data,
},
},
bptbck:{
bptbckg:[], // .bptbck.bptbckg
dscbckcur:"", // currency discount paid back .bptbck.dscbckcur
},
zcsdrq: '',
cfatrt: {
cda: {
......
......@@ -24,8 +24,8 @@ export default {
const params = {
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
}
if( this.$route.query.inr !='') {
localStorage.setItem('row_brtsnd',null)
if( typeof(this.$route.query.inr) == 'string') {
params.spt = null
}
const res = await Api.post('/service/brtsnd/init', {
...params,
......
......@@ -27,7 +27,7 @@ export default {
}
let dataObj = {
rec: {
objtyp: 'brd',
objtyp: 'BRD',
objinr:model.brdgrp.rec.objinr,
ownref: model.brdgrp.rec.ownref,
opndat: model.brdgrp.rec.opndat,
......@@ -114,7 +114,7 @@ export default {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'GID',
objtyp: 'BRD',
objinr: model.gidgrp.rec.objinr,
ownref: model.gidgrp.rec.ownref,
},
......@@ -125,7 +125,7 @@ export default {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'lid',
objtyp: 'BRD',
objinr: model.brdgrp.rec.objinr,
ownref: model.brdgrp.rec.ownref,
swiftflg: model.brtp.swiftflg,
......
......@@ -34,11 +34,11 @@ export default {
{ type: 'string', required: false, message: '必输项' },
{ max: 3, message: '长度不能超过3' }
],
'lidgrp.cbs.opn1.amt': [
{ type: 'string', required: false, message: '必输项' },
{ max: 18, message: '整数位不能超过14位' },
{ pattern: /(^-?\d+$)|(^\.\d{1,3}$)|(^-?\d+\.\d{1,3}$)/, message: '小数位不能超过3位' }
],
// 'lidgrp.cbs.opn1.amt': [
// { type: 'string', required: false, message: '必输项' },
// { max: 18, message: '整数位不能超过14位' },
// { pattern: /(^-?\d+$)|(^\.\d{1,3}$)|(^-?\d+\.\d{1,3}$)/, message: '小数位不能超过3位' }
// ],
'brtp.recget.sdamod.dadsnd': [
{ type: 'string', required: false, message: '必输项' },
{ max: 16, message: '长度不能超过16' }
......
import Api from '~/service/Api';
import { getTrnNameByInr } from "~/service/business/common";
import moment from 'moment';
export default {
methods: {
async handleSearch() {
let opndatfrom = this.model.infcon.opndatfrom;
if (!opndatfrom || opndatfrom == '') {
this.$notify.error({ title: '错误', message: '查询开始日期必输!' });
return;
}
let opndatto = this.model.infcon.opndatto;
if (!opndatto || opndatto == '') {
this.$notify.error({ title: '错误', message: '查询结束日期必输!' });
return;
}
let params = {
...this.model.infcon,
seadocflg: this.model.seadocflg,
seagodcod: this.model.seagodcod,
inr:this.model.brdgrp.rec.inr,
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
opndatfrom:moment(opndatfrom).format('YYYY-MM-DD'),
opndatto:moment(opndatto).format('YYYY-MM-DD'),
};
let rtnmsg = await Api.post('/service/infbed/getList', params);
if (rtnmsg.respCode == SUCCESS) {
this.stmData.data = [];
this.stmData.data = rtnmsg.data.list;
// debugger
this.pagination.total = rtnmsg.data.total;
} else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async handleReset() {
this.model.infcon.chksubcon = '';
this.model.infcon.opndatfrom = new Date();
this.model.infcon.opndatto = new Date();
this.model.infcon.seaownref = '';
this.model.infcon.seashgref = '';
this.model.infcon.seaamtfr = '';
this.model.infcon.seasta = '';
this.model.infcon.seacur = '';
this.model.infcon.pty.extkey = '';
this.model.infcon.pty.nam = '';
this.model.infcon.usr.extkey = '';
this.model.infcon.objinr = '';
this.model.infcon.seaamtto = '';
this.model.infcon.searol = '';
this.model.infcon.nam = '';
this.model.infcon.seapty = '';
this.model.infcon.searef = '';
this.model.brdgrp.rec.inr = '';
this.model.seagodcod = '';
this.model.seadocflg = '';
},
// pageSize改变
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pagination.pageIndex = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pagination.pageIndex = val;
this.handleSearch();
},
// 详情
async details(row) {
const params = {
//根据xx字段 查询详情表的数据
inr:row.inr,
userId: window.sessionStorage.userId || 'ZL',
ownref: row.ownref,
};
const res = await Api.post('/service/infbed/getDetail', params);
if (res.respCode === SUCCESS) {
this.trnData.data = res.data;
}
},
// 关闭详情弹框
closeDetailsDialog(refId) {
this.$refs[refId].doClose();
console.log('close');
},
// 处理
async handler(row) {
this.initdialog = true;
this.currentHandleRow = row
const params = {
//根据xx字段 查询处理的数据
ownref: row.ownref,
};
const res = await Api.post('/service/infbed/dealWithByOwnref', params);
if (res.respCode === SUCCESS) {
if (res.data) {
this.handlerDataList = []
Object.keys(res.data).map((item) => {
this.handlerDataList.push({
label: item,
value: res.data[item]
})
})
}
}
},
handleClick (btn) {
if (btn.value === 'N') {
return
}
let filterRoute = this.btnRouteMap.filter((item) => {
return item.label === btn.label
})
this.$router.history.push({
path: filterRoute[0].route,
query: {
inr: this.currentHandleRow.inr
}
});
},
// 关闭处理弹框
closeHandlerDialog() {
this.initdialog = false;
},
/**
* 打开详情页面
* @param {string} inr
*/
display(inr) {
getTrnNameByInr({ inr }).then((res) => {
if (res.respCode == SUCCESS) {
const trnName = res.data.toLowerCase();
let viewurl = "/#/display/" + trnName + "?trn=" + inr
window.open(viewurl, 'newwindow', 'height=1500,width=1200,top=100,left=100,toolbar=no,resizable=no,menubar=no,location=no, status=no');
}
});
},
},
};
import Utils from "~/utils"
/**
* Infbed Check规则
*/
let checkObj = {
"bedgrp.apl.pts.nam" :null,
"bedgrp.prb.pts.nam" :null,
"recpan.recget.sdamod.dadsnd" :null,
"recpan.ledget.sdamod.dadsnd" :null,
"infcon.seaamtto" :null,
"mtabut.coninf.conexedat" :null,
"bedgrp.iss.pts.nam" :null,
"infcon.seaownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"infcon.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"infcon.searef":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"infcon.pty.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 24,message:"长度不能超过24"}
],
"infcon.pty.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"infcon.seapty":[
{type: "string", required: false, message: "必输项"},
{max: 24,message:"长度不能超过24"}
],
"infcon.opndatfrom":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.opndatto":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.usr.extkey":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"infcon.seaamtfr":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"infcon.seaamtto":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"infcon.invnum":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"infbut.dspstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recpan.ledget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"ledgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"recpan.ledget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ledgrp.cbs.opn1.cur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"ledgrp.cbs.opn1.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"recpan.recget.sdamod.dadsnd":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"bedgrp.rec.ownref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"recpan.recget.sdamod.seainf":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"bedgrp.rec.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"bedgrp.cbs.max.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"bedgrp.prb.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"bedgrp.cbs.opn1.cur":[
{type: "string", required: false, message: "必输项"},
{max: 3,message:"长度不能超过3"}
],
"bedgrp.cbs.opn1.amt":[
{type: "number", required: false, message: "必输项"},
{max: 18,message:"整数位不能超过14位"},
{pattern: /(^\d+$)|(^\.\d{1,3}$)|(^\d+\.\d{1,3}$)/, message: "小数位不能超过3位" }
],
"bedgrp.prb.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"bedgrp.iss.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"bedgrp.iss.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"bedgrp.rec.matdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"bedgrp.rec.rcvdat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"bedgrp.rec.predat":[
{type: "date", required: false, message: "输入正确的日期"}
],
"bedgrp.apl.pts.ref":[
{type: "string", required: false, message: "必输项"},
{max: 16,message:"长度不能超过16"}
],
"bedgrp.rec.docsta":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"bedgrp.apl.pts.nam":[
{type: "string", required: false, message: "必输项"},
{max: 40,message:"长度不能超过40"}
],
"infcon.trnstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.cbbstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.cbestm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.fepstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.fcpstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.sepstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.seabucdatfro":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.seabucdatto":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.seatrninr":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"infcon.glestm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.smhdatfrom":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.smhdatto":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.smhstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.sptstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.diadatfrom":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.diadatto":[
{type: "date", required: false, message: "输入正确的日期"}
],
"infcon.diastm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"infcon.liastm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"prtpanblk":[
{type: "string", required: true, message: "必输项"},
{max: 200,message:"长度不能超过200"}
],
"infcon.ordstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"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"}
],
}
for (const key in checkObj) {
if (Object.hasOwnProperty.call(checkObj, key)) {
checkObj[key] = checkObj[key] ? checkObj[key] : Utils.reflectCheck(key)
}
}
export default checkObj
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Infbed{
constructor () {
this.data = {
ledgrp: {
rec: {
inr: ''
}
},
seadoctypcod: '',
cfgfil: {
btnstm: ''
},
infcon: {
chksubcon: '',
opndatfrom: '',
opndatto: '',
seaownref: '',
forflg: '',
invnum: '',
seaamtfr: '',
seasta: '',
seacur: '',
pty: {
extkey: '',
nam: ''
},
usr: {
extkey: ''
},
objinr: '',
seaamtto: '',
searol: '',
nam: '',
seapty: '',
searef: ''
},
pageId: '',
didgrp: {
rec: {
inr: ''
}
}
}
}
}
\ No newline at end of file
<template>
<el-dialog
:visible.sync="initdialog"
:title="'交易列表'"
append-to-body
:before-close="beforeClose"
@opened="opened"
>
<div class="m-list-btns">
<div class="busnavbar">
<div class="busnavbar-items">
<c-button
style="margin-left: 7px"
size="medium"
type="primary"
class="medium_bcs"
v-for="(item, index) in navcode"
v-bind:key="index"
:title="item.title"
:disabled="item.isDis === 'N'"
>{{ item.label }}</c-button
>
<div style="margin-top: 15px;margin-left: 10px;">
<div v-for="(str,idx) in tState" :key="idx" style="margin-bottom: 5px;font-weight: bold;">
{{str}}
</div>
</div>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
import Api from "~/service/Api";
import event from "../event"
import _ from "~/utils/Lodash"
export default {
props: {
ownref: {
required: true,
},
trnCode: {
required: true,
},
model: {
required: true,
},
ownrefPath: {
required: false,
default: "didgrp",
},
tabIndex: {
required: false,
default: 1,
},
},
components: {},
mixins: [event], // 里面包含了Default、Check等的公共处理
data() {
return {
initdialog: false,
navcode: [
// {code:"",label:"",isDis:"",title:""},
],
tState: []
};
},
methods: {
getIndex(module) {
for (let i = 1; i <= 12; i++) {
var temp = this.model.cfgfil[`subtxt${i}`];
if (module == temp) {
return i;
}
}
return 1;
},
opened() {
this.tState = []
this.$emit("childmethods");
},
beforeClose() {
this.navcode = [];
this.initdialog = false;
},
},
};
</script>
<style>
</style>
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-content>
<m-infsea :model="model" :codes="codes" ref="infsea"/>
</c-content>
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Infbed from "../model";
import Infsea from "./Infsea"
import event from "../event"
export default {
name: 'Infbed',
components:{
"m-infsea" : Infsea,
},
provide() {
return {
root: this
}
},
mixins: [event], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "infsea",
trnName: "infbed",
model: new Infbed().data,
rules: null,
codes: {...CodeTable
},
// showflg: true,
}
},
methods:{
},
}
</script>
<style scoped>
</style>
......@@ -142,6 +142,10 @@ export default {
}
});
},
toLetopn() {
// 点击开立,清空从待经办进来的时候带的行参数
localStorage.setItem('row_getopn', null)
this.$router.history.push('/business-new/letopn');
},
},
};
......@@ -505,22 +505,22 @@ export default {
initdialog: false,
handlerDataList: [],
btnRouteMap: [
{
label: '出口信用证预开立',
route: '/business-new/letnot'
},
{
label: '出口信用证开立',
route: '/business-new/letopn'
},
{
label: '非我行通知及收单行登记',
route: '/business-new/letdrw'
},
{
label:'出口信用证补通知',
route:'/business-new/letrsv'
},
// {
// label: '出口信用证预开立',
// route: '/business-new/betnot'
// },
// {
// label: '出口信用证开立',
// route: '/business-new/letopn'
// },
// {
// label: '非我行通知及收单行登记',
// route: '/business-new/letdrw'
// },
// {
// label:'出口信用证补通知',
// route:'/business-new/letrsv'
// },
],
currentHandleRow: {},
};
......
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse v-model="activeNames">
<el-collapse-item title="提示信息" name="coninfp">
<m-coninfp :model="model" :codes="codes" />
</el-collapse-item>
......@@ -10,33 +10,25 @@
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import Event from "~/model/Letame/Event";
import event from '../event'
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"m-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
inject: ["root"],
components: {"m-coninfp": Coninfp,},
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {
...Event,
handleChange(val) {
console.log(val);
},
},
created: function () {},
};
methods: {},
created: function () {},
}
</script>
<style>
......
......@@ -22,7 +22,6 @@
style="margin: 0 0 0 0; padding: 0 10px"
size="small"
type="primary"
@click="onSeainf"
icon="el-icon-search"
>
</c-button>
......@@ -93,7 +92,6 @@
v-model="model.trnmod.swiadd.ameamt"
placeholder="请输入金额"
@keyup.enter.native="$event.target.blur()"
@blur="ameamtOtherDefault"
style="width: 100%"
class="m-input-currency"
></c-input>
......@@ -475,30 +473,16 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letame/Event'
import Utils from "~/utils"
import event from '../event'
export default {
inject: ['root'],
props: ['model', 'codes'],
mixins: [commonProcess],
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: {
...Event,
onSeainf(){},
ameamtOtherDefault(){
this.executeDefault('letamep.swiadd.newamt').then((res) => {
if ((res.respCode == SUCCESS)) {
Utils.copyValueFromVO(this.model, res.data)
}
})
},
},
methods: {},
created: function () {},
}
</script>
......
......@@ -11,7 +11,6 @@
style="width: 100%"
placeholder="请选择指定银行"
:code="codes.avbwth"
@change="avbwthEvent"
>
</c-select>
</el-form-item>
......@@ -28,9 +27,6 @@
}"
:noRef="true"
:onlySearch="true"
@onSeainf="onSeainf"
@onAplpDet="onAvbpDet"
:disabledExtkey="!avbFlag"
>
</c-ptap>
</c-col>
......@@ -58,7 +54,6 @@
style="width: 100%"
placeholder="请选择兑付方式"
:code="codes.avbby0"
@change="avbbykeyEvent"
>
</c-select>
</el-form-item>
......@@ -74,7 +69,6 @@
maxlength="140"
show-word-limit
placeholder="请输入指示内容"
:disabled="defdetFlag"
></c-input>
</el-form-item>
</c-col>
......@@ -90,7 +84,6 @@
maxlength="105"
show-word-limit
placeholder="请输入汇票期限"
:disabled="blkDftatFlag"
></c-input>
<template slot="footer">
<!-- @click="onLcrdftatButtxmsel" -->
......@@ -99,7 +92,6 @@
type="primary"
icon="el-icon-search"
@click="showGridPromptDialog('letp.lcrdftat.buttxmsel', null, null,{TXT: 'ledgrp.blk.dftat'}, {TXT: false},'doxpDialog')"
:disabled="blkDftatFlag"
>
</c-button>
</template>
......@@ -120,9 +112,6 @@
:onlySearch="false"
:isAdrblk="false"
:haveAdrLabel="false"
@onSeainf="onSeainf"
@onAplpDet="onDrwpDet"
:disabled="blkDftatFlag"
>
</c-ptap>
</c-col>
......@@ -317,90 +306,21 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letame/Event'
import event from '../event'
import Ptap from '~/views/Public/Ptap'
export default {
inject: ['root'],
inject: ["root"],
components: { 'c-ptap': Ptap },
props: ['model', 'codes'],
mixins: [commonProcess],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: {
...Event,
avbwthEvent(){
if (this.model.ledgrp.rec.avbwth != 'A'||this.model.ledgrp.rec.avbwth != 'O') {
this.model.ledgrp.avb.pts.extkey = ''
this.model.ledgrp.blk.avbwthtxt = ''
}
},
onSeainf(){},
avbbykeyEvent() {
if (this.model.ledgrp.rec.avbby == 'P') {
this.model.ledgrp.rec.tenmaxday = 0
this.model.ledgrp.blk.defdet = ''
}
if (this.model.ledgrp.rec.avbby == 'D'||this.model.ledgrp.rec.avbby =='M') {
this.model.ledgrp.blk.defdet = '' //汇票期限置空
this.model.ledgrp.drw.pts.extkey = ''//付款人置空
this.model.ledgrp.drw.pts.adrblk = '' //名称地址置空.pts.adrblk
}
this.executeCheck('ledgrp.rec.avbby').then((res) => {
if (res.respCode == SUCCESS) {
Utils.copyValueFromVO(this.model, res.data)
}
})
},
},
created: function () {},
computed: {
avbFlag: {
get() {
return (
this.model.ledgrp.rec.avbwth == 'A' ||
this.model.ledgrp.rec.avbwth == 'S'
)
},
},
defdetFlag: {
get() {
return (
// this.model.ledgrp.rec.avbby == 'A' ||
// this.model.ledgrp.rec.avbby == 'P' ||
// this.model.ledgrp.rec.avbby == 'M' ||
// this.model.ledgrp.rec.avbby == ''
this.model.ledgrp.rec.avbby != 'D' &&
this.model.ledgrp.rec.avbby != 'N'
)
},
},
blkDftatFlag: {
get() {
return (
this.model.ledgrp.rec.avbby == 'D' ||
this.model.ledgrp.rec.avbby == 'M' ||
this.model.ledgrp.rec.avbby == ''
)
},
},
},
watch: {
'model.ledgrp.avb.pts.adrblk': {
handler(val, oldVal) {
this.model.ledgrp.blk.avbwthtxt = val
},
immediate: true,
},
},
methods: {},
created: function () { },
}
</script>
<style>
.letame_rec_tenmaxday {
......
......@@ -83,19 +83,16 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letame/Event'
import event from '../event'
export default {
inject: ['root'],
props: ['model', 'codes'],
mixins: [commonProcess],
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: { ...Event },
methods: {},
created: function () {},
}
</script>
......
......@@ -83,19 +83,17 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letame/Event'
import event from '../event'
export default {
inject: ['root'],
props: ['model', 'codes'],
mixins: [commonProcess],
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: { ...Event },
methods: {},
created: function () {},
}
</script>
......
......@@ -25,19 +25,16 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letame/Event'
import event from '../event'
export default {
inject: ['root'],
props: ['model', 'codes'],
mixins: [commonProcess],
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: { ...Event },
methods: {},
created: function () {},
}
</script>
......
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse v-model="activeNames">
<el-collapse-item title="修改内容" name="amep">
<m-amep :model="model" :codes="codes" />
</el-collapse-item>
......@@ -72,8 +72,7 @@
</div>
</template>
<script>
import commonProcess from "~/mixin/commonProcess";
import Event from "~/model/Getamc/Event";
import event from '../event'
import Amep from "./Amep";
import Aamp from "./Aamp";
import Ovwp1 from "./Ovwp1";
......@@ -84,9 +83,9 @@ import Inspame from "./Inspame";
import Revp from './Revp';
import Rcldetp from "./Rcldetp";
export default {
components: {
inject: ["root"],
components: {
"m-amep": Amep,
"m-aamp": Aamp,
"m-ovwp1": Ovwp1,
......@@ -96,21 +95,18 @@ export default {
"m-inspame": Inspame,
'm-revp': Revp,
"m-rcldetp" : Rcldetp,
},
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
props: ["model", "codes"],
mixins: [event],
data(){
return {
activeNames: ["amep"],
}
},
methods:{...Event},
created:function(){
}
}
},
methods: {},
created: function () {},
}
</script>
<style>
......
......@@ -23,7 +23,6 @@
style="margin: 0 10px 0 0; padding: 0 12px"
size="small"
type="primary"
@click="onSeainf"
>
<i class="el-icon-info" style="font-size:15px"></i>
</c-button>
......@@ -36,7 +35,6 @@
? false
: true
"
@click="onLetpButgetref"
>
获取
</c-button>
......@@ -81,7 +79,7 @@
<c-input v-model="model.letp.usr.extkey" maxlength="8" placeholder="请输入" disabled></c-input>
<template slot="footer">
<c-button style="margin-left:10px;padding: 0 10px;" size="small" icon="el-icon-search" type="primary"
@click="onExtkey"></c-button>
></c-button>
<c-checkbox :disabled="true" style="margin-left:5px;" v-model="model.ledgrp.rec.collflg">Collateralized L/C</c-checkbox>
</template>
</c-fullbox>
......@@ -262,7 +260,6 @@
style="width: 100%"
placeholder="请选择适用规则"
:code="codes.apprul1"
@change="apprulChange"
>
</c-select>
</el-form-item>
......@@ -318,8 +315,6 @@
rol: 'ben',
}"
:disabled="true"
@onSeainf="onSeainf"
@onAplpDet="onBenpDet"
>
</c-ptap>
</c-col>
......@@ -334,8 +329,6 @@
rol: 'iss',
}"
:disabled="true"
@onSeainf="onSeainf"
@onAplpDet="onIsspDet"
>
</c-ptap>
</c-col>
......@@ -350,8 +343,6 @@
rol: 'apl',
}"
:disabled="true"
@onSeainf="onSeainf"
@onAplpDet="onAplpDet"
>
</c-ptap>
</c-col>
......@@ -359,7 +350,6 @@
<c-col :span="12">
<c-checkbox v-model="model.ledgrp.rec.revflg" class="checkbox-left" style="margin-left:120px"
@change="openRevolvingDetails"
>循环信用证</c-checkbox
>
</c-col>
......@@ -384,66 +374,21 @@
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Letopn/Event";
import Utils from '~/utils';
import event from '../event'
import Ptap from "~/views/Public/Ptap";
export default {
components: { "c-ptap": Ptap },
inject: ["root"],
components: { "c-ptap": Ptap },
props: ["model", "codes"],
mixins: [commonProcess],
mixins: [event],
data() {
return {};
},
methods: {
...Event,
onExtkey(){},
apprulChange(v) {
if (v !== "OTHR") {
this.model.ledgrp.rec.apprultxt = "";
}
},
openRevolvingDetails(val){
if(val ==='' && !(this.model.ledgrp.rec.revtyp ===''&& this.model.ledgrp.rec.revtimes == '0' && this.model.ledgrp.rec.revdat ===''
&&this.model.ledgrp.rec.revcum ===''&&this.model.ledgrp.blk.revcls ===''&&this.model.ledgrp.blk.revnotes ==='') ){
this.$confirm('是否确定要删除输入的循环详细信息?','提示',{
confirmButtonText: '是',
cancelButtonText: '否',
type: 'warning',
showClose:false
}).then(() => {//yes的执行在这里写
this.executeRule('ledgrp.rec.revflg').then(res => {
if (res.respCode == SUCCESS) {
this.model.ledgrp.rec.revdat ='';//后端在事件中把日期置为null而不是nullstr,导致日期实际并没有清空,故在此加清空日期
this.updateModel(res.data)
}
})
// this.model.ledgrp.rec.revtyp ='';
// this.model.ledgrp.rec.revtimes = '0';
// this.model.ledgrp.rec.revdat ='';
// this.model.ledgrp.rec.revcum ='';
// this.model.ledgrp.blk.revcls ='';
// this.model.ledgrp.blk.revnotes ='';
// this.$message({
// type: 'success',
// message: '删除成功!'
// });
}).catch(() => {//No的功能在这里写
this.model.ledgrp.rec.revflg ='X'
// this.$message({
// type: 'info',
// message: '已取消'
// });
});
}
},
return {}
},
methods: {},
created: function () {},
};
}
</script>
<style>
</style>
......@@ -15,8 +15,6 @@
:disabledRef="true"
:disabledExtkey="true"
:disabled="true"
@onSeainf="onSeainf"
@onAplpDet="onAdvpDet"
>
</c-ptap>
</c-col>
......@@ -30,8 +28,6 @@
grp: 'ledgrp',
rol: 'a2b',
}"
@onSeainf="onSeainf"
@onAplpDet="onA2bpDet"
>
</c-ptap>
</c-col>
......@@ -62,8 +58,6 @@
grp: 'ledgrp',
rol: 'apb',
}"
@onSeainf="onSeainf"
@onAplpDet="onApbpDet"
>
</c-ptap>
</c-col>
......@@ -85,8 +79,6 @@
grp: 'ledgrp',
rol: 'rmb',
}"
@onSeainf="onSeainf"
@onAplpDet="onRmbpDet"
>
</c-ptap>
</c-col>
......@@ -103,8 +95,6 @@
:disabledRef="true"
:disabledExtkey="true"
:onlySearch="true"
@onSeainf="onSeainf"
@onAplpDet="onConpDet"
>
</c-ptap>
</c-col>
......@@ -137,17 +127,14 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letame/Event'
import event from '../event'
import Ptap from "~/views/Public/Ptap"
export default {
inject: ['root'],
inject: ["root"],
components: { "c-ptap": Ptap },
props: ['model', 'codes'],
mixins: [commonProcess],
props: ["model", "codes"],
mixins: [event],
data() {
return {
ptsaddg: {
......@@ -179,13 +166,9 @@ export default {
},
};
},
methods: {
...Event,
handleEdit() {
console.log("1111测试");
},
},
methods: {},
created: function () {},
}
</script>
<style></style>
......@@ -36,8 +36,6 @@
rol: 'rmbrmb',
}"
:noRef="true"
@onSeainf="onSeainf"
@onAplpDet="onRmbp1Det"
:disabledExtkey="rmbrolRefFlag"
:disabled="rmbrolAdrblkFlag"
>
......@@ -67,8 +65,6 @@
rol: 'acwacw',
}"
:noRef="true"
@onSeainf="onSeainf"
@onAplpDet="onAcwpDet"
>
</c-ptap>
</c-col>
......@@ -96,8 +92,6 @@
rol: 'bebbeb',
}"
:noRef="true"
@onSeainf="onSeainf"
@onAplpDet="onBebpDet"
>
</c-ptap>
</c-col>
......@@ -120,44 +114,19 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letame/Event'
import event from '../event'
import Ptap from '~/views/Public/Ptap'
export default {
inject: ['root'],
inject: ["root"],
components: { 'c-ptap': Ptap },
props: ['model', 'codes'],
mixins: [commonProcess],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: { ...Event },
methods: {},
created: function () {},
computed:{
rmbrolRefFlag: {
get() {
return (
this.model.rmbclm.rmbrol=='ADV'||this.model.rmbclm.rmbrol=='AVB'
||this.model.rmbclm.rmbrol=='ISS'||this.model.rmbclm.rmbrol=='CON'
)
},
},
rmbrolAdrblkFlag: {
get() {
return (
this.model.rmbclm.rmbrol=='ADV'||this.model.rmbclm.rmbrol=='AVB'
||this.model.rmbclm.rmbrol=='ISS'||this.model.rmbclm.rmbrol=='CON'
||this.model.rmbclm.rmbrol=='RMB'
)
},
},
}
}
</script>
<style></style>
......@@ -109,19 +109,16 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letame/Event'
import event from '../event'
export default {
inject: ['root'],
props: ['model', 'codes'],
mixins: [commonProcess],
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: { ...Event },
methods: {},
created: function () {},
}
</script>
......
......@@ -3,7 +3,7 @@
<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">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<el-tab-pane label="业务信息" name="ovwp">
<c-content>
......@@ -85,8 +85,9 @@ import Addbcb from "./Addbcb";
// import Doxpame from "~/components/business/doxpame/views";
import Engp from "~/components/business/engp/views";
// import Setpan from "~/components/business/setpan/views";
import Setmod from "~/components/business/setmod/views";
// import Glepan from "~/components/business/glepan/views";
import Glentry from "~/components/business/glentry/views";
import Coninfp from "~/components/business/coninfp/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
......@@ -96,6 +97,8 @@ import Limitbody from "~/components/business/limitbody/views";
export default {
name: 'Letame',
components: {
'm-glentry': Glentry,
'm-setmod': Setmod,
'm-amep': Amep,
'm-ovwp': Ovwp,
'm-ovwp1': Ovwp1,
......
......@@ -3,6 +3,73 @@ import Pub from '~/components/business/commonModel/index.js';
export default class Letcan {
constructor() {
this.data = {
brdgrp: {
adv:{
pts: new Pts().data,
},
prb: {
adrelc: '',
dbfadrblkcn: '',
namelc: '',
pts: new Pts().data,
},
acb: {
adrelc: '',
dbfadrblkcn: '',
namelc: '',
pts: new Pts().data,
},
apl: {
adrelc: '',
dbfadrblkcn: '',
namelc: '',
pts: new Pts().data,
},
ben: {
adrelc: '',
dbfadrblkcn: '',
namelc: '',
pts: new Pts().data,
},
blk: {
chaded: '',
docdisflg: '',
chaadd: '',
docdis: '',
},
rec: {
totcur: '',
ownref: '',
disdat: '',
totamt: '',
nam: '',
docprbrol: ''
},
cbs: {
opn1: {
cur: ''
},
opn2: {
cur: ''
},
max: {
cur: '',
amt: ''
},
max2: {
amt: ''
}
},
matp: {
mattxtlab: ''
}
},
brtp: {
furide: '',
matp: {
mattxtlab: ''
}
},
sndmsg: '',
ledgrp: {
rec: {
......
......@@ -5,40 +5,32 @@
<m-coninfp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import Event from "~/model/Letcan/Event";
import Coninfp from "~/views/Public/Coninfp";
</template>
export default {
components: {
<script>
import event from '../event'
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"m-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {
...Event,
handleChange(val) {
console.log(val);
},
},
created: function () {},
};
</script>
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {},
created: function () {},
}
</script>
<style>
</style>
<style></style>
......@@ -321,35 +321,20 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letcan/Event'
import Utils from '~/utils'
import event from '../event'
import Ptap from '~/views/Public/Ptap'
export default {
inject: ["root"],
components: { 'c-ptap': Ptap },
inject: ['root'],
props: ['model', 'codes'],
mixins: [commonProcess],
props: ["model", "codes"],
mixins: [event],
data() {
return {
// watch:{
// ownref(newValue){
// this.model.ledgrp.rec.ownref = newValue;
// }
// }
}
},
methods: {
...Event,
return {}
},
methods: {},
created: function () {},
}
// let vm = new Vue({
// el="#ownref",date:{}
// });
</script>
<style></style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="取消信息" name="canp">
<m-canp :model="model" :codes="codes" />
</el-collapse-item>
<!-- v-if="model.ledgrp.rmb.rolsetflg=='Y'" -->
<el-collapse-item title="索偿(MT 742)" name="rcldetp" >
<m-rcldetp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import commonProcess from "~/mixin/commonProcess";
import Event from "~/model/Getamc/Event";
import Canp from "./Canp";
import Rcldetp from "./Rcldetp";
export default {
components: {
"m-canp": Canp,
"m-rcldetp": Rcldetp,
},
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
activeNames: ["canp"],
}
},
methods:{...Event,handleChange(){}},
created:function(){
}
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="取消信息" name="canp">
<m-canp :model="model" :codes="codes" />
</el-collapse-item>
<!-- v-if="model.ledgrp.rmb.rolsetflg=='Y'" -->
<el-collapse-item title="索偿(MT 742)" name="rcldetp">
<m-rcldetp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import event from '../event'
import Canp from "./Canp";
import Rcldetp from "./Rcldetp";
export default {
inject: ["root"],
components: {
"m-canp": Canp,
"m-rcldetp": Rcldetp,
},
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["canp"],
}
</script>
<style>
</style>
},
methods: {},
created: function () { },
}
</script>
<style></style>
......@@ -116,21 +116,18 @@
</div>
</template>
<script>
import Api from '~/service/Api'
import commonProcess from '~/mixin/commonProcess'
import CodeTable from '~/config/CodeTable'
import Event from '~/model/Letcan/Event'
import event from '../event'
import Ptap from '~/views/Public/Ptap'
export default {
inject: ['root'],
inject: ["root"],
components: { 'c-ptap': Ptap },
props: ['model', 'codes'],
mixins: [commonProcess],
props: ["model", "codes"],
mixins: [event],
data() {
return {}
},
methods: { ...Event },
methods: {},
created: function () {},
computed:{
rmbrolRefFlag: {
......@@ -154,5 +151,6 @@ export default {
},
}
}
</script>
<style></style>
<template>
<div class="eContainer">
<c-page title="出口信用证注销">
<!-- <c-bus-button :$pntvm="this"></c-bus-button> -->
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
label-position="left"
size="small"
:validate-on-rule-change="false"
>
<c-tabs
v-model="tabVal"
ref="elment"
type="card"
@tab-click="tabClick"
>
<!-- <c-bus-button :$pntvm="this"></c-bus-button> -->
<el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" label-position="left" 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" />
......@@ -30,31 +18,27 @@
</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="engp">
<c-content>
<!-- 表外记账 -->
<m-engp :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>
<!--PD000027 -->
<el-tab-pane label="费用/账务" name="setmod">
<c-content>
<m-setmod :model="model" :codes="codes" />
</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>
<!--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="addbcb">
<c-content>
......@@ -79,59 +63,44 @@
</c-tabs>
</el-form>
<!-- 数据回填效果 -->
<c-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
@select-ety="selectEty"
>
</c-grid-ety-prompt-dialog>
<c-grid-ety-prompt-dialog
ref="doxpDialog"
:isPty="false"
:promptData="promptData"
@select-ety="selectMsg"
>
</c-grid-ety-prompt-dialog>
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
<!-- 数据回填效果 -->
<c-grid-ety-prompt-dialog ref="etyDialog" :promptData="promptData" @select-ety="selectEty">
</c-grid-ety-prompt-dialog>
<c-grid-ety-prompt-dialog ref="doxpDialog" :isPty="false" :promptData="promptData" @select-ety="selectMsg">
</c-grid-ety-prompt-dialog>
<c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash">
</c-function-btn>
</c-page>
</div>
</template>
<script>
import Api from '~/service/Api'
import Utils from '~/utils/index'
import event from '../event';
import operationFunc from "~/mixin/operationFunc";
import CodeTable from "~/config/CodeTable";
import formRules from '../model/check';
import Letcan from "../model";
import CodeTable from '~/config/CodeTable'
import Letcan from '~/model/Letcan'
import commonProcess from '~/mixin/commonProcess'
import commonFuncs from '~/mixin/commonFuncs'
import Check from '~/model/Letcan/Check'
import Default from '~/model/Letcan/Default'
import Pattern from '~/model/Letcan/Pattern'
import Ovwp from './Ovwp'
import Addbcb from "./Addbcb"
import Engp from "~/views/Public/Engp";
import Setpan from '~/views/Public/Setpan';
import Glepan from "~/views/Public/Glepan";
import Rcldetp from "./Rcldetp";
import Coninfp from '~/views/Public/Coninfp'
import Docpan from '~/views/Public/Docpan'
import Doctre from '~/views/Public/Doctre'
import Limitbody from '~/views/Public/Limitbody'
import Engp from "~/components/business/engp/views";
import Setmod from "~/components/business/setmod/views";
// import Glepan from "~/components/business/glepan/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";
export default {
name: "Letcan",
components: {
'm-setmod': Setmod,
'm-ovwp': Ovwp,
'm-engp': Engp,
'm-setpan': Setpan,
'm-glepan': Glepan,
'm-rcldetp':Rcldetp,
// 'm-glepan': Glepan,
'm-rcldetp': Rcldetp,
'm-coninfp': Coninfp,
'm-docpan': Docpan,
'm-doctre': Doctre,
......@@ -143,44 +112,25 @@ export default {
root: this,
}
},
mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
mixins: [event, operationFunc],
data() {
return {
tabVal: 'ovwp',
trnName: 'letcan',
model: new Letcan().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
activeNames: ["engp"],
codes: { ...CodeTable },
rules: formRules,
codes: {
...CodeTable
},
activeNames: ["setpan"],
}
},
methods: {
tabClick(tab) {
this.tabClick(tab)
/**
* do it yourself
**/
},
},
created: async function () {
console.log('进入letcan交易')
let rtnmsg = await this.init({})
if (rtnmsg.respCode == SUCCESS) {
//TODO 处理数据逻辑
Utils.copyValueFromVO(this.model, rtnmsg.data)
if (this.isInDisplay) {
this.restoreDisplay()
}
} else {
this.$notify.error({ title: '错误', message: '服务请求失败!' })
}
mounted() {
this.init()
},
}
</script>
<style>
</style>
<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.ledgrp.apl.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.ledgrp.apl));
}
if (model.ledgrp.adv.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.ledgrp.adv));
}
if (model.ledgrp.ben.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.ledgrp.ben));
}
let dataObj = {
rec: {
objtyp: 'LED',
ownref: model.ledgrp.rec.ownref,
opndat: model.ledgrp.rec.opndat,
expdat: model.ledgrp.rec.expdat,
branchInr: model.ledgrp.rec.branchInr,
hndtyp: model.ledgrp.rec.hndtyp,
gartyp: model.ledgrp.rec.gartyp,
fingua: model.ledgrp.rec.fingua,
// segtyp: model.ledgrp.ghd.segtyp,
fromflg: model.ledgrp.rec.fromflg,
othersno: model.ledgrp.rec.othersno,
sndto: model.ledgrp.rec.sndto,
// swiftflg: model.gitp.swiftflg,
giduil: model.ledgrp.rec.giduil,
purpos: model.ledgrp.rec.purpos,
revflg: model.ledgrp.rec.revflg,
cnfsta: model.ledgrp.rec.cnfsta,
},
cbsMap: {
MAX: model.ledgrp.cbs.max,
OLDMAX: model.ledgrp.cbs.oldmax,
MAX2: model.ledgrp.cbs.max2,
NOM1: model.ledgrp.cbs.nom1,
OPN1: model.ledgrp.cbs.opn1,
MAC: model.ledgrp.cbs.mac,
MAC2: model.ledgrp.cbs.mac2,
OPC2: model.ledgrp.cbs.opc2,
CNF: model.ledgrp.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: 'LED',
objinr: model.ledgrp.rec.objinr,
ownref: model.ledgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'LED',
objinr: model.ledgrp.rec.objinr,
ownref: model.ledgrp.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 loading = this.loading();
const res = await Api.post('/service/letopn/init', {
...params,
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
});
loading.close();
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.ledgrp[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.ledgrp, row.role.toLowerCase(), res.data);
}
},
//获取信用证编号
async onLitpButgetref() {
let params = {
ptainr: this.model.ledgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
};
const loading = this.loading();
let res = await Api.post('/service/letopn/getOwnRef', params);
if (res.respCode == SUCCESS) {
loading.close();
this.model.ledgrp.rec.ownref = res.data;
}
},
// 初始化开立类型码表下拉列表
async queryHndtypCodeTableList(trnName) {
let params = {
letp: {
swiftflg: this.model.letp.swiftflg,
},
ledgrp: {
rec: {
purpos: this.model.ledgrp.rec.purpos,
},
},
transName: trnName.toUpperCase(),
};
// let res = await Api.post('/service/litopn/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);
},
},
};
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Letopn{
constructor () {
this.data = {
number: '',
ledgrp: {
a2b: {
pts: new Pts().data,
},
blk: {
dftat: '',
revnotes: '',
feetxt: '',
mixdet: '',
revcls: '',
shpper: '',
addamtcov: '',
avbwthtxt: '',
defdet: '',
preper: ''
},
rec: {
tenmaxday: '',
nomton: '',
expplc: '',
stacty: '',
revtyp: '',
revtimes: '',
opndat: '',
nomtop: '',
avbwth: '',
revflg: '',
spcbenflg: '',
dbtflg: '',
shpdat: '',
revdat: '',
nam: '',
prepertxts18: '',
redclsflg: '',
cnfins: '',
nomspc: '',
shptrss18: '',
spcrcbflg: '',
collflg: '',
inctrf: '',
shpfro: '',
lcrtyp: '',
nonban: '',
ownref: '',
teskeyunc: '',
preadvdt: '',
avbby: '',
pordis: '',
apprul: '',
shppar: '',
prepers18: '',
expdat: '',
shpto: '',
revnbr: '',
chato: '',
cnfdet: '',
revcum: '',
aplbnkdirsnd: '',
advdat: '',
porloa: '',
apprultxt: ''
},
con: {
pts: new Pts().data,
},
cbs: {
opn2: {
cur: '',
amt: ''
},
max: {
cur: '',
amt: ''
},
nom1: {
cur: '',
amt: ''
},
max2: {
cur: '',
amt: ''
}
},
drw: {
pts: new Pts().data,
},
ben: {
pts: new Pts().data,
},
avb: {
pts: new Pts().data,
}
},
letp: {
usr: {
extkey: ''
},
aamp: {
aammod: {
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="13">
<el-form-item label="附加金额" prop="ledgrp.cbs.max2.cur">
<c-select
v-model="model.ledgrp.cbs.max2.cur"
style="width: 100%"
placeholder="请选择附加金额"
disabled
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item label="" label-width="5px" prop="ledgrp.cbs.max2.amt">
<c-input
v-model="model.ledgrp.cbs.max2.amt"
placeholder="请输入附加金额"
@keyup.enter.native="$event.target.blur()"
></c-input>
<!-- @keyup.enter.native="$event.target.blur()" :回车触发失去焦点发生的事件 -->
</el-form-item>
</c-col>
<c-col :span="13">
<el-form-item label="附加金额余额" prop="ledgrp.cbs.opn2.cur">
<c-select
v-model="model.ledgrp.cbs.opn2.cur"
style="width: 100%"
placeholder="请选择币种"
disabled
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="11">
<el-form-item label="" label-width="5px" prop="ledgrp.cbs.opn2.amt">
<c-input
v-model="model.ledgrp.cbs.opn2.amt"
placeholder="请输入附加金额余额"
disabled
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="39C场" prop="ledgrp.blk.addamtcov">
<c-input
type="textarea"
v-model="model.ledgrp.blk.addamtcov"
maxlength="140"
show-word-limit
placeholder="请输入39C场"
rows="4"
></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">
<c-blkTextarea :model="model" v-bind="blk"> </c-blkTextarea>
<!-- Special payment conditions for beneficiary -->
<c-col :span="24">
<el-form-item prop="ledgrp.rec.spcbenflg" class="checkbox-left" >
<c-checkbox v-model="model.ledgrp.rec.spcbenflg"
>受益人特殊付款条款</c-checkbox
>
</el-form-item>
</c-col>
<!-- Special payment conditions for receiving bank -->
<c-col :span="24">
<el-form-item prop="ledgrp.rec.spcrcbflg" class="checkbox-left">
<c-checkbox v-model="model.ledgrp.rec.spcrcbflg">
收款银行特殊付款条款</c-checkbox
>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item prop="ledgrp.rec.redclsflg" class="checkbox-left">
<c-checkbox v-model="model.ledgrp.rec.redclsflg">红/绿条款</c-checkbox>
</el-form-item>
</c-col>
<c-blkTextarea :model="model" v-bind="blk1"> </c-blkTextarea>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import event from '../event'
import BlkTextarea from "~/views/Public/BlkTextarea";
export default {
inject: ["root"],
props: ["model", "codes"],
components: { "c-blkTextarea": BlkTextarea },
mixins: [event],
data() {
return {
blk: {
blkMsg: {
title: "附加条款",
dataUrl: "ledgrp.blk.adlcnd", //字段所在model路劲
rows: 16,
},
rulePath: "letp.adlcnd.buttxmsel",
},
blk1: {
blkMsg: {
title: "付款、承兑、议付银行指示",
dataUrl: "ledgrp.blk.insbnk", //字段所在model路劲
rows: 4,
maxlength: 2000,
},
rulePath: "letp.insbnk.buttxmsel",
},
};
},
methods: { },
created: function () {},
};
</script>
<style>
/*
.letopn_adcp_cheak {
margin: 0px 0 10px 120px;
display: flex;
justify-content: flex-start;
}
*/
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<!--el-collapse-item title="备查表" name="addbcb1">
<m-addbcb1 :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 Addbcb1 from "~/views/Public/Addbcb1";
import Coninfp from "~/views/Public/Coninfp";
import event from '../event'
export default {
components: {
"m-coninfp": Coninfp,
//"m-addbcb1": Addbcb1,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["coninfp"],
};
},
methods: {
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames">
<el-collapse-item title="基本信息" name="ovwp1">
<m-ovwp1 :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="附加金额" name="aamp" v-if="model.letp.aamp.aammod.addamtflg">
<m-aamp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="信用证详情" name="detp">
<m-detp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="银行信息" name="ptyp">
<m-ptyp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="货物描述" name="dogp">
<m-doxp :model="model" :codes="codes" :dtyp="'dogp'" :rec="'led'"/>
</el-collapse-item>
<el-collapse-item title="单据要求" name="dorp">
<m-doxp :model="model" :codes="codes" :dtyp="'dorp'" :rec="'led'"/>
</el-collapse-item>
<el-collapse-item title="附加条款" name="adcp">
<m-doxp :model="model" :codes="codes" :dtyp="'adcp'" :rec="'led'"/>
</el-collapse-item>
<el-collapse-item title="循环信用详情" name="revp" v-if="model.ledgrp.rec.revflg == 'X'">
<m-revp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item title="受益人特殊付款条款" name="spcbenp" v-if="model.ledgrp.rec.spcbenflg">
<m-doxp :model="model" :codes="codes" :dtyp="'spcbenp'" :rec="'led'"/>
</el-collapse-item>
<el-collapse-item title="收款银行特殊付款条款" name="spcrcvp" v-if="model.ledgrp.rec.spcrcbflg">
<m-doxp :model="model" :codes="codes" :dtyp="'spcrcvp'" :rec="'led'"/>
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import event from '../event'
import Ovwp1 from './Ovwp1'
import Detp from './Detp'
import Ptyp from './Ptyp'
import Revp from './Revp'
import Aamp from './Aamp'
import Doxp from '~/views/Public/Doxp'
export default {
components: {
'm-ovwp1': Ovwp1,
'm-aamp': Aamp,
'm-detp': Detp,
'm-ptyp': Ptyp,
'm-doxp': Doxp,
'm-revp': Revp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
data() {
return {
activeNames: ["ovwp1"],
};
},
methods: {
},
created: function () {},
computed: {
},
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
<template>
<div class="eibs">
<!-- ============左边================= -->
<c-col :span="12" style="padding-right: 20px;">
<!-- 第一通知行 -->
<c-col :span="24">
<c-ptap
:model="model"
:argadr="{
title: '第一通知行',
grp: 'ledgrp',
rol: 'adv',
}"
>
</c-ptap>
</c-col>
<!-- 第二通知行 -->
<c-col :span="24">
<c-ptap
:model="model"
:argadr="{
title: '第二通知行',
grp: 'ledgrp',
rol: 'a2b',
}"
>
</c-ptap>
</c-col>
<!-- Confirm. Instruct. -->
<c-col :span="24">
<el-form-item label="第二通知行确认指令" prop="ledgrp.rec.cnfins">
<c-select
v-model="model.ledgrp.rec.cnfins"
style="width: 100%"
placeholder="第二通知行确认指令"
:code="codes.cnfflg1"
:disabled="model.ledgrp.a2b.pts.extkey==''"
>
</c-select>
</el-form-item>
</c-col>
</c-col>
<!-- ============右边================= -->
<c-col :span="12" style="padding-left: 20px;">
<!-- Applicant's Bank -->
<c-col :span="24">
<c-ptap
:model="model"
:argadr="{
title: '申请银行',
grp: 'ledgrp',
rol: 'apb',
}"
>
</c-ptap>
</c-col>
<!-- Send Directly to Applicant's Bank -->
<c-col :span="24">
<c-checkbox v-model="model.ledgrp.rec.aplbnkdirsnd" style="margin-left:150px;"
>直接发送至申请银行</c-checkbox
>
</c-col>
<!-- Reimbursement Bank -->
<c-col :span="24">
<c-ptap
:model="model"
:argadr="{
title: '偿付银行',
grp: 'ledgrp',
rol: 'rmb',
}"
>
</c-ptap>
</c-col>
<!-- Confirmation Bank -->
<c-col :span="24">
<c-ptap
:model="model"
:argadr="{
title: '保兑行',
grp: 'ledgrp',
rol: 'con',
}"
:onlySearch="true"
>
</c-ptap>
</c-col>
<c-col :span="24">
<el-form-item label="" prop="ledgrp.con.pts.nam">
<c-input
v-model="model.ledgrp.con.pts.nam"
maxlength="40"
placeholder="请输入"
disabled
></c-input>
</el-form-item>
</c-col>
</c-col>
<!-- =============================底部表格========================= -->
<c-edit-table :model="model" v-bind="ptsaddg">
<el-table-column label="操作" text-align="center">
<template>
<el-button
size="mini"
type="primary"
>详情</el-button
>
</template>
</el-table-column>
</c-edit-table>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Ptap from "~/views/Public/Ptap";
import event from '../event'
export default {
inject: ["root"],
components: { "c-ptap": Ptap },
props: ["model", "codes"],
mixins: [event],
data() {
return {
ptsaddg: {
columns: [
{
title: "角色",
width: "120px",
dataIndex: "rol",
show: "select",
},
{
title: "机构实体",
width: "180px",
dataIndex: "ptyextkey",
show: "input",
},
{
title: "名称",
width: "300px",
dataIndex: "nam",
},
{
title: "参考地址",
width: "300px",
dataIndex: "ref",
},
],
urls: "letp.ptsaddp.ptsaddg",
},
};
},
methods: {
},
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<!-- ============左边================= -->
<c-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<el-form-item label="循环信用证信息"></el-form-item>
</c-col>
<c-col :span="18">
<el-form-item label="循环类型" prop="ledgrp.rec.revtyp">
<c-select
v-model="model.ledgrp.rec.revtyp"
style="width: 100%"
placeholder="请选择循环类型"
:code="codes.revtyp"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="6">
<!-- Credit is Marked as Cumulative -->
<c-checkbox v-model="model.ledgrp.rec.revcum"
style="margin-left:10px"
>累计</c-checkbox
>
</c-col>
<c-col :span="12">
<el-form-item label="循环时间" prop="ledgrp.rec.revtimes">
<c-input
v-model.number="model.ledgrp.rec.revtimes"
placeholder="请输入循环时间"
></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="循环次数" prop="ledgrp.rec.revnbr">
<c-input
v-model.number="model.ledgrp.rec.revnbr"
placeholder="请输入循环次数"
disabled
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="下一循环日期" prop="ledgrp.rec.revdat">
<c-date-picker
type="date"
v-model="model.ledgrp.rec.revdat"
style="width: 100%"
placeholder="请选择下一循环日期"
value-format="yyyy-MM-dd"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="循环条款" prop="ledgrp.blk.revcls">
<c-fullbox>
<c-input
type="textarea"
v-model="model.ledgrp.blk.revcls"
maxlength="390"
show-word-limit
placeholder="请输入循环条款"
></c-input>
<template slot="footer">
<c-button
size="small"
type="primary"
icon="el-icon-more"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="受益人须知" prop="ledgrp.blk.revnotes">
<c-input
type="textarea"
v-model="model.ledgrp.blk.revnotes"
maxlength="210"
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 () {},
watch:{
"model.ledgrp.rec.revtimes":function(val){
this.model.ledgrp.rec.revtimes = val.replace(/\D/g, '');
}
},
}
</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="engp">
<c-content>
<!-- 表外记账 -->
<m-engp :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>
<!--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="addbcb">
<c-content>
<m-addbcb :model="model" :codes="codes" />
</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
:handleConfirm="handleConfirm"
: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 event from '../event'
import operationFunc from "~/mixin/operationFunc";
import formRules from '../model/check'
import CodeTable from '~/config/CodeTable'
import Ovwp from './Ovwp'
import Detp from './Detp'
import Ptyp from './Ptyp'
import Addbcb from "./Addbcb";
import Revp from './Revp'
import Aamp from './Aamp'
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: 'Letopn',
components: {
"m-addbcb": Addbcb,
'm-ovwp': Ovwp,
'm-detp': Detp,
'm-ptyp': Ptyp,
'm-docpan': Docpan,
'm-doctre': Doctre,
'm-engp': Engp,
'm-revp': Revp,
'm-aamp': Aamp,
'm-doxp': Doxp,
"m-ccvpan": Ccvpan,
"m-setmod": Setmod,
"m-glentry": Glentry,
"m-limitbody": Limitbody,
},
provide() {
return {
root: this,
}
},
mixins: [operationFunc, event],
data() {
return {
tabVal: "ovwp",
trnName: "letopn",
model: new Letopn().data,
rules: formRules,
codes: {
...CodeTable,
},
activeNames: ["engp"],
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()
this.queryHndtypCodeTableList(this.trnName)
},
}
</script>
<style></style>
......@@ -133,8 +133,8 @@
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="分批装运" prop="lidgrp.rec.shppar">
<c-select v-model="model.lidgrp.rec.shppar" style="width:100%" placeholder="请选择"
<el-form-item label="分批装运" prop="lidgrp.rec.shppars18">
<c-select v-model="model.lidgrp.rec.shppars18" style="width:100%" placeholder="请选择"
:code="codes.shptrss18"
>
</c-select>
......
......@@ -39,9 +39,10 @@ export default {
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)
// 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) {
......@@ -70,7 +71,7 @@ export default {
let engpRequest = buildFn.buildEngp(this.model, this.trnName);
this.processLiaall(engpRequest);
break;
case 'setpan':
case 'setmod':
let setfegRequest = buildFn.buildSetfeg(this.model, this.trnName);
// 此处利用回调是为了等setfeg的接口调用完成后才去获取setglg参数,由于setglg参数依赖于setfeg函数的返回值
this.processSetpan(setfegRequest, () => {
......@@ -182,21 +183,14 @@ export default {
}
);
},
async multipleSelect(selection) {
console.log(selection);
if (selection) {
let selIds = selection.map(x=>x+1);
let params = {selDst:"decstm",selIds}
const rtnmsg = await this.executeRule("decstm",params);
if (rtnmsg.respCode == SUCCESS) {
this.updateModel(rtnmsg.data)
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
}
},
choose(row){
this.model.amenbr = row.srcStr.split('\t')[0]
this.model.amecur = row.srcStr.split('\t')[2]
this.model.reduceamt = row.srcStr.split('\t')[3]
this.model.amedat = row.srcStr.split('\t')[4]
this.model.ameflg = '接受'
},
open(val) {
if (val === "" && !(this.model.lidgrp.blk.adlcnd == "")) {
this.$confirm(
......
......@@ -313,6 +313,28 @@ export default class Litdla{
},
},
},
swiadd: {
trnchato: '',
newnomtop: '',
purpos: '',
amedat: '',
addamtcov: '',
newnomton: '',
prepers18: '',
amenbr: '',
nartxt: '',
addamt: '',
amecur: '',
newshpdat: '',
newamt: '',
newexpdat: '',
trnfeetxt: '',
ameamt: '',
newcur: '',
prepertxts18: '',
nomspc: '',
reqcan: ''
},
setmod: new Pub().data.Setmod,
mtabut: new Pub().data.Mtabut,
......
......@@ -10,7 +10,7 @@
<c-col :span="12">
<el-form-item label="信用证金额" prop="lidgrp.cbs.nom1.cur">
<c-input disabled v-model="model.lidgrp.cbs.nom1.cur" maxlength="3" placeholder="请选择">
<c-input disabled v-model="model.lidgrp.cbs.nom1.cur" maxlength="3" placeholder="请输入信用证金额">
</c-input>
</el-form-item>
</c-col>
......@@ -175,12 +175,19 @@
<el-col :span="23">
<c-istream-table
:list="model.decstm.rows || []"
:list="model.decstm.rows "
:columns="trnData.columns"
:showSelection="true"
v-on:multipleSelect="multipleSelect"
>
<el-table-column
prop="display"
label="操作"
width="100">
<template slot-scope="scope">
<button @click="choose(scope.row)">选择</button>
</template>
</el-table-column>
</c-istream-table>
</el-col>
</div>
......
......@@ -8,8 +8,8 @@
</c-col>
<c-col :span="24">
<el-form-item label="修改日期" prop="trnmod.swiadd.amedat">
<c-date-picker disabled type="date" v-model="model.trnmod.swiadd.amedat" style="width:100%" placeholder="请选择修改日期"></c-date-picker>
<el-form-item label="修改日期" prop="swiadd.amedat">
<c-date-picker disabled type="date" v-model="model.swiadd.amedat" style="width:100%" placeholder="请选择修改日期"></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="12">
......@@ -37,48 +37,48 @@
</c-col>
<c-col :span="12">
<el-form-item label="修改金额" prop="trnmod.swiadd.amecur">
<c-select disabled v-model="model.trnmod.swiadd.amecur" style="width:100%" placeholder="请选择增减金额">
<el-form-item label="修改金额" prop="swiadd.amecur">
<c-select disabled v-model="model.swiadd.amecur" style="width:100%" placeholder="请选择增减金额">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="增减金额" prop="trnmod.swiadd.ameamt">
<c-input-currency disabled v-model="model.trnmod.swiadd.ameamt" placeholder="请输入增减金额"></c-input-currency>
<el-form-item label="增减金额" prop="swiadd.ameamt">
<c-input-currency disabled v-model="model.swiadd.ameamt" placeholder="请输入增减金额"></c-input-currency>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="修改后金额" prop="trnmod.swiadd.newcur">
<c-select disabled v-model="model.trnmod.swiadd.newcur" style="width:100%" placeholder="请选择修改后金额">
<el-form-item label="修改后金额" prop="swiadd.newcur">
<c-select disabled v-model="model.swiadd.newcur" style="width:100%" placeholder="请选择修改后金额">
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="修改后金额" prop="trnmod.swiadd.newamt">
<c-input-currency disabled v-model="model.trnmod.swiadd.newamt" placeholder="请输入修改后金额"></c-input-currency>
<el-form-item label="修改后金额" prop="swiadd.newamt">
<c-input-currency disabled v-model="model.swiadd.newamt" placeholder="请输入修改后金额"></c-input-currency>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="新的上浮比例" prop="trnmod.swiadd.newnomtop">
<c-input disabled v-model="model.trnmod.swiadd.newnomtop" placeholder="请输入新的上浮比例"></c-input>
<el-form-item label="新的上浮比例" prop="swiadd.newnomtop">
<c-input disabled v-model="model.swiadd.newnomtop" placeholder="请输入新的上浮比例"></c-input>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="新的下浮比例" prop="trnmod.swiadd.newnomton">
<c-input disabled v-model="model.trnmod.swiadd.newnomton" placeholder="请输入新的下浮比例"></c-input>
<el-form-item label="新的下浮比例" prop="swiadd.newnomton">
<c-input disabled v-model="model.swiadd.newnomton" placeholder="请输入新的下浮比例"></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="限额表述" prop="trnmod.swiadd.nomspc">
<el-form-item label="限额表述" prop="swiadd.nomspc">
<c-select
disabled
:code="codes.nomspc"
v-model="model.trnmod.swiadd.nomspc" style="width:100%" placeholder="请选择限额表述">
v-model="model.swiadd.nomspc" style="width:100%" placeholder="请选择限额表述">
</c-select>
</el-form-item>
</c-col>
......@@ -96,20 +96,20 @@
</c-col>
<c-col :span="12">
<el-form-item label="生效日期(新)" prop="trnmod.swiadd.newexpdat">
<c-date-picker disabled type="date" v-model="model.trnmod.swiadd.newexpdat" style="width:100%" placeholder="请选择新到期日"></c-date-picker>
<el-form-item label="生效日期(新)" prop="swiadd.newexpdat">
<c-date-picker disabled type="date" v-model="model.swiadd.newexpdat" style="width:100%" placeholder="请选择新到期日"></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="装运日期(新)" prop="trnmod.swiadd.newshpdat">
<c-date-picker disabled type="date" v-model="model.trnmod.swiadd.newshpdat" style="width:100%" placeholder="请选择新装运日"></c-date-picker>
<el-form-item label="装运日期(新)" prop="swiadd.newshpdat">
<c-date-picker disabled type="date" v-model="model.swiadd.newshpdat" style="width:100%" placeholder="请选择新装运日"></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="信息目的" prop="trnmod.swiadd.purpos">
<c-select disabled v-model="model.trnmod.swiadd.purpos" style="width:100%" placeholder="请选择信息目的" :code="codes.purpos5">
<el-form-item label="信息目的" prop="swiadd.purpos">
<c-select disabled v-model="model.swiadd.purpos" style="width:100%" placeholder="请选择信息目的" :code="codes.purpos5">
</c-select>
</el-form-item>
</c-col>
......@@ -127,15 +127,15 @@
</c-col>
<c-col :span="24">
<el-form-item label="收费方式(新)" prop="trnmod.swiadd.trnchato">
<c-select disabled v-model="model.trnmod.swiadd.trnchato" style="width:100%" placeholder="请选择收费方式">
<el-form-item label="收费方式(新)" prop="swiadd.trnchato">
<c-select disabled v-model="model.swiadd.trnchato" style="width:100%" placeholder="请选择收费方式">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="收费详情" prop="trnmod.swiadd.trnfeetxt">
<c-input disabled type="textarea" v-model="model.trnmod.swiadd.trnfeetxt" maxlength="35" show-word-limit placeholder="请输入收费详情" ></c-input>
<el-form-item label="收费详情" prop="swiadd.trnfeetxt">
<c-input disabled type="textarea" v-model="model.swiadd.trnfeetxt" maxlength="35" show-word-limit placeholder="请输入收费详情" ></c-input>
</el-form-item>
</c-col>
</el-col>
......@@ -148,8 +148,8 @@
</c-col>
<c-col :span="12">
<el-form-item label="修改次数" prop="trnmod.swiadd.amenbr">
<c-input disabled v-model="model.trnmod.swiadd.amenbr" placeholder="请输入修改次数"></c-input>
<el-form-item label="修改次数" prop="swiadd.amenbr">
<c-input disabled v-model="model.swiadd.amenbr" placeholder="请输入修改次数"></c-input>
</el-form-item>
</c-col>
......@@ -197,8 +197,8 @@
</c-col>
<c-col :span="24">
<el-form-item label="交单期限(新)" prop="trnmod.swiadd.prepers18">
<c-input disabled v-model="model.trnmod.swiadd.prepers18" placeholder="请输入交单期限(新)"></c-input>
<el-form-item label="交单期限(新)" prop="swiadd.prepers18">
<c-input disabled v-model="model.swiadd.prepers18" placeholder="请输入交单期限(新)"></c-input>
</el-form-item>
</c-col>
......@@ -221,20 +221,20 @@
</c-col>
<c-col :span="12">
<el-form-item label="附加金额" prop="trnmod.swiadd.addamt">
<c-input-currency disabled v-model="model.trnmod.swiadd.addamt" placeholder="请输入附加金额"></c-input-currency>
<el-form-item label="附加金额" prop="swiadd.addamt">
<c-input-currency disabled v-model="model.swiadd.addamt" placeholder="请输入附加金额"></c-input-currency>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="附加金额" prop="trnmod.swiadd.addamtcov">
<c-input disabled type="textarea" v-model="model.trnmod.swiadd.addamtcov" maxlength="35" show-word-limit placeholder="请输入附加金额 Covered" ></c-input>
<el-form-item label="附加金额" prop="swiadd.addamtcov">
<c-input disabled type="textarea" v-model="model.swiadd.addamtcov" maxlength="35" show-word-limit placeholder="请输入附加金额 Covered" ></c-input>
</el-form-item>
</c-col>
<c-col :span="12" class="checkbox-left">
<el-form-item label=" " prop="trnmod.swiadd.reqcan" label-width="120px" style=" float:left;">
<c-checkbox disabled v-model="model.trnmod.swiadd.reqcan">取消请求</c-checkbox>
<el-form-item label=" " prop="swiadd.reqcan" label-width="120px" style=" float:left;">
<c-checkbox disabled v-model="model.swiadd.reqcan">取消请求</c-checkbox>
</el-form-item>
</c-col>
......
......@@ -22,6 +22,9 @@ export default {
async init() {
const params = {
// spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
trnmod:{
trn:JSON.parse(localStorage.getItem('review_'+this.trnName))
}
}
const loading = this.loading();
const res = await Api.post('/service/litopn/init', {
......@@ -123,8 +126,8 @@ export default {
async onLitpButgetref() {
let params = {
ptainr: this.model.lidgrp.apl.pts.ptainr,
businessType: 'LG',
tbl: 'LG',
businessType: 'LC',
tbl: 'LC',
};
const loading = this.loading();
let res = await Api.post('/service/litopn/getOwnRef', params);
......
......@@ -99,6 +99,7 @@ export default class Litopn {
spcrcb: '',
},
rec: {
inr:'',
tenmaxday: '',
expplc: '',
nomton: '',
......
<template>
<ReviewWrapper>
<Brtcan></Brtcan>
</ReviewWrapper>
</template>
<script>
import Brtcan from '../business/brtcan/views';
import { ReviewWrapper} from "~/components/gj-common.min.js";
export default {
name: "ReviewBrtcan",
components: { ReviewWrapper, Brtcan },
created() {},
mounted() {},
}
</script>
\ No newline at end of file
<template>
<ReviewWrapper>
<Brtlat></Brtlat>
</ReviewWrapper>
</template>
<script>
import Brtlat from '../business/brtlat/views';
import { ReviewWrapper} from "~/components/gj-common.min.js";
export default {
name: "ReviewBrtlat",
components: { ReviewWrapper, Brtlat },
created() {},
mounted() {},
}
</script>
\ No newline at end of file
......@@ -45,7 +45,7 @@ const Business = [
{ path: 'gitenc', component: () => import('~/business/gitenc/views'), name: 'gitenc', meta: { title: '进口信用证单据提货担保注销' } },
{ path: 'litdla', component: () => import('~/business/litdla/views'), name: 'litdla', meta: { title: '进口信用证减额修改接受' } },
{ path: 'brtudp', component: () => import('~/business/brtudp/views'), name: 'brtudp', meta: { title: '进口信用证单据承兑' } },
{ path: 'letopn', component: () => import('~/business/letopn/views'), name: 'letopn', meta: { title: '出口保函通知' } },
{ path: 'brtame', component: () => import('~/business/brtame/views'), name: 'brtame', meta: { title: '进口信用证单据提货担保修改' } },
{ path: 'infbrd', component: () => import('~/business/infbrd/views'), name: 'infbrd', meta: { title: '进口信用证单据入口交易' } },
{ path: 'inflid', component: () => import('~/business/inflid/views'), name: 'inflid', meta: { title: '信用证入口交易' } },
......@@ -55,6 +55,7 @@ const Business = [
{ path: 'betcan', component: () => import('~/business/betcan/views'), name: 'betcan', meta: { title: '出口信用证单据注销' } },
{ path: 'betrcl', component: () => import('~/business/betrcl/views'), name: 'betrcl', meta: { title: '出口信用证单据出口单据索汇' } },
{ path: 'betacc', component: () => import('~/business/betacc/views'), name: 'betacc', meta: { title: '出口信用证单据承兑' } },
{ path: 'betdcr', component: () => import('~/business/betdcr/views'), name: 'betdcr', meta: { title: '出口信用证单据电提不符点/开证行拒付' } },
{ path: 'infbed', component: () => import('~/business/infbed/views'), name: 'infbed', meta: { title: '出口信用证单据查询' } },
]
export default Business
\ No newline at end of file
......@@ -3,5 +3,7 @@ const Business = [
{ path: 'litopn', component: () => import('~/review/ReviewLitopn.vue'), name: 'litopn', meta: { title: '复核-Litopn' } },
{ path: 'litdck', component: () => import('~/review/ReviewLitdck.vue'), name: 'litdck', meta: { title: '复核-Litdck' } },
{ path: 'litame', component: () => import('~/review/ReviewLitame.vue'), name: 'litame', meta: { title: '复核-Litame' } },
{ path: 'brtcan', component: () => import('~/review/ReviewBrtcan.vue'), name: 'brtcan', meta: { title: '复核-Brtcan' } },
{ path: 'brtlat', component: () => import('~/review/ReviewBrtlat.vue'), name: 'brtlat', meta: { title: '复核-Brtlat' } },
]
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