Commit 6a9cb25f by WF1020

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 9e179f6b 4b6f5f92
......@@ -22,7 +22,7 @@ export default {
...doctre,
async init () {
const params = {
spt: this.toHandleRowData['row_' + this.trnName]
spt: JSON.parse(localStorage.getItem('row_' + this.trnName))
}
const res = await Api.post('/service/gitopn/init', {
...params,
......
......@@ -375,11 +375,11 @@ export default {
{max: 16,message:"长度不能超过16"}
],
"gidgrp.blk.exptxt":[
{type: "string", required: true, message: "必输项"},
{type: "string", required: false, message: "必输项"},
{max: 780,message:"长度不能超过780"}
],
"gidgrp.blk.atxexptxt":[
{type: "string", required: true, message: "必输项"},
{type: "string", required: false, message: "必输项"},
{max: 65,message:"长度不能超过65"}
],
"gidgrp.rec.inudat":[
......
......@@ -72,7 +72,6 @@
<c-fullbox>
<c-input
v-model="model.gidgrp.con.pts.extkey"
disabled
maxlength="16"
placeholder="请输入"
@keyup.enter.native="queryGridEtyPromptDialogData('CON', 'B')"
......
......@@ -141,7 +141,6 @@ 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";
import { mapState } from 'vuex';
export default {
name: "Gitopn",
......@@ -175,11 +174,6 @@ export default {
"m-limitbody": Limitbody,
"m-aacp": Aacp,
},
computed: {
...mapState({
toHandleRowData: (state) => state.gitopn.toHandleRowData
})
},
provide() {
return {
root: this,
......
export default {
buildPtspta (ptsptaObj) {
let pts = ptsptaObj.pts;
let ptspta = {
rol: pts.rol,
name: pts.nam,
ptyinr: pts.ptyinr,
ptainr: pts.ptainr,
extkey: pts.extkey,
dftdsp: pts.dftdsp,
dftcur: pts.dftcur,
dftact: pts.dftact,
dftfeecur: pts.dftfeecur,
dftactptainr: pts.dftactptainr,
glggrpflg: pts.glggrpflg,
adrblk: pts.adrblk
};
return ptspta;
},
buildCommonData (model, trnName) {
let ptsptaList = [];
if (model.lidgrp.apl.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.lidgrp.apl));
}
if (model.lidgrp.adv.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.lidgrp.adv));
}
if (model.lidgrp.ben.pts.extkey) {
ptsptaList.push(this.buildPtspta(model.lidgrp.ben));
}
let dataObj = {
rec: {
objtyp: 'LID',
ownref: model.lidgrp.rec.ownref,
opndat: model.lidgrp.rec.opndat,
expdat: model.lidgrp.rec.expdat,
branchInr: model.lidgrp.rec.branchInr,
hndtyp: model.lidgrp.rec.hndtyp,
gartyp: model.lidgrp.rec.gartyp,
fingua: model.lidgrp.rec.fingua,
// segtyp: model.lidgrp.ghd.segtyp,
fromflg: model.lidgrp.rec.fromflg,
othersno: model.lidgrp.rec.othersno,
sndto: model.lidgrp.rec.sndto,
// swiftflg: model.gitp.swiftflg,
giduil: model.lidgrp.rec.giduil,
purpos: model.lidgrp.rec.purpos,
revflg: model.lidgrp.rec.revflg,
cnfsta: model.lidgrp.rec.cnfsta,
},
cbsMap: {
MAX: model.lidgrp.cbs.max,
OPN1: model.lidgrp.cbs.opn1,
MAC: model.lidgrp.cbs.mac,
MAC2: model.lidgrp.cbs.mac2,
OPC2: model.lidgrp.cbs.opc2,
CNF: model.lidgrp.cbs.cnf,
},
ptsList: ptsptaList,
transName: trnName,
userId: window.sessionStorage.userId ? window.sessionStorage.userId : 'ZL'
};
return dataObj
},
buildSetfeg (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaall: model.liaall,
liaccv: model.liaccv,
doceot: model.trnmod.trndoc.doceot,
};
return params
},
buildSetglg (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
setfeg: model.setmod.setfeg,
liaall: model.liaall,
liaccv: model.liaccv,
};
return params
},
buildGlentry (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaallg: model.liaall.liaallg,
setfog: model.setmod.setfog,
setfeg: model.setmod.setfeg,
setglg: model.setmod.setglg,
};
return params
},
buildEngp (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaallg: model.liaall.liaallg,
};
return params
},
buildDocpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
};
return params
},
buildCcvpan (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
liaccvg: model.liaccv.liaccvg,
oldamt: model.liaccv.oldamt,
chgamt: model.liaccv.chgamt,
concur: model.liaccv.concur,
};
return params
},
buildLimitbody (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'LID',
objinr: model.lidgrp.rec.objinr,
ownref: model.lidgrp.rec.ownref,
},
};
return params
},
buildDoctre (model, trnName) {
let params = {
...this.buildCommonData(model, trnName),
rec: {
objtyp: 'LID',
objinr: model.lidgrp.rec.objinr,
ownref: model.lidgrp.rec.ownref,
// swiftflg: model.gitp.swiftflg,
},
};
return params
},
// 公共组件setmod中dsp字段改变,触发联动时候的入参
buildSetgllAccts (model, trnName, setglg) {
let params = {
...this.buildCommonData(model, trnName),
setglg
};
return params
}
}
\ No newline at end of file
<template>
<div class="eibs">
<c-col :span="20">
<c-col :span="10">
<el-form-item label="附加金额" prop="lidgrp.cbs.max2.cur">
<c-select
v-model="model.lidgrp.cbs.max2.cur"
style="width: 100%"
placeholder="请选择币种"
disabled
>
<el-option
v-for="item in codes.curtxt1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item
style="text-align: left"
label-width="20px"
prop="lidgrp.cbs.max2.amt"
>
<c-input-currency
v-model="model.lidgrp.cbs.max2.amt"
style="text-align: left; width: 100%"
placeholder="0"
></c-input-currency>
</el-form-item>
</c-col>
<c-col :span="10">
<el-form-item label="附加金额余额" prop="lidgrp.cbs.opn2.cur">
<c-select
v-model="model.lidgrp.cbs.opn2.cur"
style="width: 100%"
placeholder=""
disabled
:code="codes.curtxt1"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item
label=""
style="text-align: left"
label-width="20px"
prop="lidgrp.cbs.opn2.amt"
>
<c-input-currency
v-model="model.lidgrp.cbs.opn2.amt"
style="text-align: left; width: 100%"
placeholder="0"
disabled
></c-input-currency>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="39C场覆盖" prop="lidgrp.blk.addamtcov">
<c-input
type="textarea"
v-model="model.lidgrp.blk.addamtcov"
maxlength="140"
:rows="4"
show-word-limit
placeholder=""
></c-input>
</el-form-item>
</c-col>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import event from "../event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess, event],
data(){
return {
}
},
methods:{
max2Amt(){
this.executeDefault("max2.amt").then(
(res) => {
if (res.respCode == SUCCESS){
Utils.copyValueFromVO(this.model, res.data);
}
}
);
}
},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs">
<c-col :span="20">
<el-form-item label="附加条款" prop="lidgrp.blk.adlcnd">
<c-input type="textarea" v-model="model.lidgrp.blk.adlcnd" maxlength="52000" :rows="25" show-word-limit placeholder="请输入附加条款" ></c-input>
</el-form-item>
</c-col>
<c-col :span="2">
<c-button size="small" type="primary" icon="el-icon-search"
@click="queryGridEtyPromptDialogData('BLK', '')">
</c-button>
</c-col>
<c-col :span="24" >
<c-checkbox
style="margin-left:150px;padding: 0 10px;"
:disabled="this.model.lidgrp.blk.spcrcb !='' "
v-model="model.lidgrp.rec.spcbenflg"
>受益人特殊付款条款</c-checkbox>
</c-col>
<c-col :span="24" >
<c-checkbox
style="margin-left:150px;padding: 0 10px;"
:disabled="this.model.lidgrp.blk.spcben !='' "
v-model="model.lidgrp.rec.spcrcbflg">银行专用特殊付款条款</c-checkbox>
</c-col>
<c-col :span="24" >
<c-checkbox
style="margin-left:150px;padding: 0 10px;"
v-model="model.lidgrp.rec.redclsflg">红/绿条款</c-checkbox>
</c-col>
<c-col :span="20">
<el-form-item label="付款指示Accept., Negot. Bank" prop="lidgrp.blk.insbnk">
<c-input type="textarea" v-model="model.lidgrp.blk.insbnk" maxlength="12000" :rows="8" show-word-limit placeholder="请输入付款指示" ></c-input>
</el-form-item>
</c-col>
<c-col :span="2">
<c-button size="small" type="primary" icon="el-icon-search"
@click="queryGridEtyPromptDialogData('BLK', '')">
</c-button>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import event from "../event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess, event],
data(){
return {
}
},
methods:{},
created:function(){
}
}
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="备查表" name="addbcb">
<c-col :span="24">
<el-col :span="12">
<el-form-item label="货物简称" prop="godnam">
<c-input
v-model="model.godnam"
maxlength="40"
style="width: 50%"
placeholder="请输入货物简称"
></c-input>
</el-form-item>
</el-col>
</c-col>
<c-col :span="24">
<el-form-item label="备案表类型" style="float:left;">
<c-checkbox v-model="model.bcbtyp1">不在名录</c-checkbox>
<c-checkbox v-model="model.bcbtyp2">异地付汇</c-checkbox>
<c-checkbox v-model="model.bcbtyp3">转口贸易</c-checkbox>
<c-checkbox v-model="model.bcbtyp4">90天以上信用证</c-checkbox>
<c-checkbox v-model="model.bcbtyp5">不需要</c-checkbox>
<c-checkbox v-model="model.bcbtyp6" style="margin-right:30px;">其它</c-checkbox>
</el-form-item>
<el-form-item label="" prop="bcbtyp7" v-if="model.bcbtyp6">
<c-input
v-model="model.bcbtyp7"
maxlength="30"
style="width: 21.8%"
placeholder="请输入备查表类型填写文本框"
></c-input>
</el-form-item>
</c-col>
<!-- <c-col :span="4" class=".centerLable">
<c-checkbox v-model="model.bcbtyp1">不在名录</c-checkbox>
</c-col>
<c-col :span="4" class=".centerLable">
<c-checkbox v-model="model.bcbtyp2">异地付汇</c-checkbox>
</c-col>
<c-col :span="4" class=".centerLable">
<c-checkbox v-model="model.bcbtyp3">转口贸易</c-checkbox>
</c-col>
<c-col :span="6" class=".centerLable">
<c-checkbox v-model="model.bcbtyp4">90天以上信用证</c-checkbox>
</c-col>
<c-col :span="4" class=".centerLable">
<c-checkbox v-model="model.bcbtyp5">不需要</c-checkbox>
</c-col>
<c-col :span="4" class=".centerLable">
<c-checkbox v-model="model.bcbtyp6">其它</c-checkbox>
</c-col> -->
<c-col :span="10" :pull="5"> </c-col>
<c-col :span="18">
<el-form-item label="备案表效期" prop="bcbdat">
<c-date-picker
type="date"
v-model="model.bcbdat"
style="width: 30.75%"
placeholder="请选择备案表效期"
></c-date-picker>
</el-form-item>
</c-col>
<!--
<c-col :span="15" :push="1">
<el-form-item label="1、申请人与我行已签署贸易融资协议(如需);" label-width="360px"></el-form-item>
</c-col>
<c-col :span="15" :push="1">
<el-form-item label="2、申请书要素齐全;" label-width="360px"></el-form-item>
</c-col>
<c-col :span="15" :push="1">
<el-form-item label="3、申请书是否双面签章,签章已经核符;" label-width="360px"></el-form-item>
</c-col>
<c-col :span="15" :push="1">
<el-form-item label="4、占用授信额度的开证业务;" label-width="360px"></el-form-item>
</c-col>
-->
<el-col :span="24">
<el-form-item label="交易银行部意见">
<div
v-text="model.label1"
data-path=".label1"
class="lableSize"
></div>
<div
v-text="model.label2"
data-path=".label2"
class="lableSize"
></div>
<div
v-text="model.label3"
data-path=".label3"
class="lableSize"
></div>
<div
v-text="model.label4"
data-path=".label4"
class="lableSize"
></div>
</el-form-item>
</el-col>
<!-- <c-col :span="15" :push="1">
<span v-text="model.label2" data-path=".label2" class="lableSize"> </span>
</c-col>
<c-col :span="15" :push="1">
<span v-text="model.label3" data-path=".label3" class="lableSize"> </span>
</c-col>
<c-col :span="15" :push="1">
<span v-text="model.label4" data-path=".label4" class="lableSize"> </span>
</c-col>
-->
<c-col :span="24">
<el-form-item label="" prop="label5">
<c-select
v-model="model.label5"
style="width: 33%"
placeholder="请选择国际部意见"
:code="codes.label5"
>
</c-select>
</el-form-item>
</c-col>
<!--
<c-col :span="12">
<span v-text="model.label6" data-path=".label6" > </span>
</c-col>
-->
<!-- <c-col :span="24">
<el-form-item label="异地通知" prop="bccls1" label-width="270px">
<c-select v-model="model.bccls1" style="width:30%" placeholder="请选择异地通知" :code="codes.bccls1">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="受益人为保税区企业" prop="bccls2" label-width="270px">
<c-select v-model="model.bccls2" style="width:30%" placeholder="请选择受益人为保税区企业" :code="codes.bccls2">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="运输单据抬头人为开证行,申请人不得拒付" prop="bccls3" label-width="270px">
<c-select v-model="model.bccls3" style="width:30%" placeholder="请选择运输单据抬头人为开证行,申请人不得拒付" :code="codes.bccls3">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="目的港在境外的转口贸易/境外工程业务" prop="bccls4" label-width="270px">
<c-select v-model="model.bccls4" style="width:30%" placeholder="请选择目的港在境外的转口贸易/境外工程业务" :code="codes.bccls4">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="起运地与目的地均为国内,属于加工贸易深加工" prop="bccls5" label-width="270px">
<c-select v-model="model.bccls5" style="width:30%" placeholder="请选择起运地与目的地均为国内,属于加工贸易深加工" :code="codes.bccls5">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="非物权凭证,贸易背景真实" prop="bccls6" label-width="270px">
<c-select v-model="model.bccls6" style="width:30%" placeholder="请选择非物权凭证,贸易背景真实" :code="codes.bccls6">
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="超90天,已经总行贸易金融部批准办理" prop="bccls7" label-width="270px">
<c-select v-model="model.bccls7" style="width:30%" placeholder="请选择超90天,已经总行贸易金融部批准办理" :code="codes.bccls7">
</c-select>
</el-form-item>
</c-col> -->
</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 commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import event from "../event";
import Coninfp from "~/views/Public/Coninfp";
export default {
components: {
"m-coninfp": Coninfp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess, event],
data() {
return {
activeNames: ["addbcb"],
};
},
methods: {
handleChange(val) {
console.log(val);
},
},
created: function () {},
};
</script>
<style>
.lableSize {
font-size: 1px;
}
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="申报信息" name="cnyp">
<c-col :span="12">
<c-col :span="18">
<el-form-item label="报送跨境人民币2101表" prop="cnybop.cnyflg" label-width="150px;">
<c-select
disabled
v-model="model.cnybop.cnyflg"
placeholder="请选择是否报送跨境人民币2101表"
:code="codes.cnyflg"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="18">
<el-form-item label="报送跨境人民币2107表" prop="cnybop.traflg" label-width="150px;">
<c-select
disabled
v-model="model.cnybop.traflg"
placeholder="请选择是否报送跨境人民币2107表"
:code="codes.traflg"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="18">
<el-form-item label="报送跨境人民币2111表" prop="cnybop.outflg" label-width="150px;">
<c-select
disabled
v-model="model.cnybop.outflg"
placeholder="请选择是否报送跨境人民币2111表"
:code="codes.outflg"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="18">
<el-form-item label="报送跨境人民币2106表" prop="cnybop.libflg" label-width="150px;">
<c-select
v-model="model.cnybop.libflg"
placeholder="请选择是否报送跨境人民币2106表"
:code="codes.libflg"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="18">
<el-form-item label="报送跨境人民币2122表" prop="cnybop.vouflg" label-width="150px;">
<c-select
disabled
v-model="model.cnybop.vouflg"
placeholder="请选择是否报送跨境人民币2122表"
:code="codes.vouflg"
>
</c-select>
</el-form-item>
</c-col>
</c-col>
</el-collapse-item>
<el-collapse-item
title="2106银行跟单结算及表外融资"
name="libp"
v-if="this.model.cnybop.libflg == '1'"
>
<!-- 2106银行跟单结算及表外融资 -->
<m-libp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import event from "../event";
import Libp from "./Libp";
export default {
inject: ["root"],
components: { "m-libp": Libp },
props: ["model", "codes"],
mixins: [commonProcess, event],
data() {
return {
activeNames: ["cnyp"],
};
},
methods: { handleChange(){} },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<c-col :span="22">
<el-form-item label="货物/服务描述" prop="lidgrp.blk.lcrgod">
<c-input type="textarea" v-model="model.lidgrp.blk.lcrgod" maxlength="52000" :rows="30" show-word-limit placeholder="请输入货物或服务描述" ></c-input>
</el-form-item>
</c-col>
<c-col :span="2">
<c-button size="small" type="primary"
@click="queryGridEtyPromptDialogData('BLK', '')">
</c-button>
</c-col>
<c-col :span="18">
<el-form-item label="货物类型" prop="lidgrp.rec.stagod">
<c-select
v-model="model.lidgrp.rec.stagod"
style="width:100%"
placeholder="请选择货物类型"
:code="codes.godcod"
>
</c-select>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import event from "../event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess, event],
data(){
return {
}
},
methods:{},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs">
<c-col :span="20">
<el-form-item label="单据要求" prop="lidgrp.blk.lcrdoc">
<c-input type="textarea" v-model="model.lidgrp.blk.lcrdoc" maxlength="52000" :rows="30" show-word-limit placeholder="请输入单据要求" ></c-input>
</el-form-item>
</c-col>
<c-col :span="2">
<c-button size="small" type="primary" icon="el-icon-search"
@click="queryGridEtyPromptDialogData('BLK', '')">
</c-button>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import event from "../event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess, event],
data(){
return {
}
},
methods:{},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs">
<!--===============左 =================== -->
<el-col :span="12" style="padding-right: 20px;">
<c-col :span="24">
<el-form-item label="业务主键" prop="cnybop.cnylib.spk">
<c-input
disabled
v-model="model.cnybop.cnylib.spk"
maxlength="20"
placeholder="请输入业务主键"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="银行机构代码" prop="cnybop.cnylib.sbankorgcode">
<c-input
disabled
v-model="model.cnybop.cnylib.sbankorgcode"
maxlength="12"
placeholder="请输入银行机构代码"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="业务属性" prop="cnybop.cnylib.stransattr">
<c-select
v-model="model.cnybop.cnylib.stransattr"
style="width: 100%"
placeholder="请选择业务属性"
:code="codes.stransattr"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label="境外对手行代码"
prop="cnybop.cnylib.sforbankswiftbic"
>
<c-input
v-model="model.cnybop.cnylib.sforbankswiftbic"
maxlength="11"
placeholder="请输入境外对手行代码"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="境内企业机构代码" prop="cnybop.cnylib.sorgcode">
<c-input
v-model="model.cnybop.cnylib.sorgcode"
maxlength="18"
placeholder="请输入境内企业机构代码"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item
label="境外企业国别地区代码"
prop="cnybop.cnylib.sforeigncountrycode"
>
<c-fullbox>
<c-input
v-model="model.cnybop.cnylib.sforeigncountrycode"
maxlength="3"
placeholder="请输入境外企业国别地区代码"
@keyup.enter.native="queryGridEtyPromptDialogData('CNYLIB', '')"
></c-input>
<template slot="footer">
<c-button
size="small"
type="primary"
icon="el-icon-search"
@click="
queryGridEtyPromptDialogData('CNYLIB', '')
"
>
</c-button>
</template>
</c-fullbox>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="业务到期日" prop="cnybop.cnylib.denddate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.denddate"
style="width: 100%"
placeholder="请选择业务到期日"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="币种" prop="cnybop.cnylib.currencycode">
<c-select
v-model="model.cnybop.cnylib.currencycode"
style="width: 100%"
placeholder="请选择币种"
:code="codes.currencycode"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="期限条件" prop="cnybop.cnylib.stermtype">
<c-select
v-model="model.cnybop.cnylib.stermtype"
style="width: 100%"
placeholder="请选择期限条件"
:code="codes.stermtype"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="承兑日期" prop="cnybop.cnylib.dexchangedate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.dexchangedate"
style="width: 100%"
placeholder="请选择承兑日期"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="承兑到期日" prop="cnybop.cnylib.dexchangeenddate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.dexchangeenddate"
style="width: 100%"
placeholder="请选择承兑到期日"
></c-date-picker>
</el-form-item>
</c-col>
</el-col>
<!-- ===============右 ===========================-->
<el-col :span="12" style="padding-left: 20px;">
<c-col :span="24">
<el-form-item label="银行业务编号" prop="cnybop.cnylib.sbanktrano">
<c-input
disabled
v-model="model.cnybop.cnylib.sbanktrano"
maxlength="22"
placeholder="请输入银行业务编号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="银行机构名称" prop="cnybop.sbankname">
<c-input
disabled
v-model="model.cnybop.sbankname"
maxlength="80"
placeholder="请输入银行机构名称"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="业务类型" prop="cnybop.cnylib.stranstype">
<c-select
v-model="model.cnybop.cnylib.stranstype"
style="width: 100%"
placeholder="请选择业务类型"
:code="codes.stranstype"
>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="境内企业名称" prop="cnybop.sorgname">
<c-input
v-model="model.cnybop.sorgname"
maxlength="80"
placeholder="请输入境内企业名称"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="境外企业名称" prop="cnybop.sforeignorgname">
<c-input
v-model="model.cnybop.sforeignorgname"
maxlength="80"
placeholder="请输入境外企业名称"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="业务发生日期" prop="cnybop.cnylib.doccurdate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.doccurdate"
style="width: 100%"
placeholder="请选择业务发生日期"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="信用证到期日" prop="cnybop.cnylib.dcreditenddate">
<c-date-picker
type="date"
v-model="model.cnybop.cnylib.dcreditenddate"
style="width: 100%"
placeholder="请选择信用证到期日"
></c-date-picker>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="金额" prop="cnybop.cnylib.famt">
<c-input-currency-min
v-model="model.cnybop.cnylib.famt"
placeholder="请输入金额"
class="input-currency-left"
></c-input-currency-min>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="承兑金额" prop="cnybop.fexchangeamt">
<c-input
v-model="model.cnybop.fexchangeamt"
maxlength="20"
placeholder="请输入承兑金额"
></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="交易附言" prop="cnybop.saddwordlib">
<c-input
v-model="model.cnybop.saddwordlib"
maxlength="80"
placeholder="请输入交易附言"
></c-input>
</el-form-item>
</c-col>
</el-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess, Event],
data() {
return {};
},
methods: { },
created: function () {},
};
</script>
<style></style>
<template>
<div class="eibs-tab">
<c-col :span="12">
<el-form-item label="交易对手名称" prop="hmdmod2.bennam">
<c-input v-model="model.hmdmod2.bennam" maxlength="105" placeholder="请输入交易对手名称"></c-input>
</el-form-item>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "../event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess, Event],
data(){
return {
}
},
methods:{},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="概要" name="ovwp1">
<m-ovwp1 :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item
title="附加金额"
name="aamp"
v-if="model.litp.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="'lid'" />
</el-collapse-item>
<el-collapse-item title="单据" name="dorp">
<!-- 单据 -->
<m-doxp :model="model" :codes="codes" :dtyp="'dorp'" :rec="'lid'" />
</el-collapse-item>
<el-collapse-item title="附加条款" name="adcp">
<!-- 附加条款 -->
<m-doxp :model="model" :codes="codes" :dtyp="'adcp'" :rec="'lid'" />
</el-collapse-item>
<el-collapse-item
title="仅适用于指定银行的特殊付款条款"
name="spcrcvp"
v-if="model.lidgrp.rec.spcrcbflg"
>
<m-spcrcvp :model="model" :codes="codes" />
</el-collapse-item>
<el-collapse-item
title="存在受益人的特殊付款条款"
name="spcbenp"
v-if="model.lidgrp.rec.spcbenflg"
>
<m-spcbenp :model="model" :codes="codes" />
</el-collapse-item>
</el-collapse>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "../event";
import Ovwp1 from "./Ovwp1";
import Detp from "./Detp";
import Ptyp from "./Ptyp";
import Dogp from "./Dogp";
import Dorp from "./Dorp";
import Adcp from "./Adcp";
import Doxp from "~/views/Public/Doxp";
import Aamp from "./Aamp";
import Spcrcvp from "./Spcrcvp";
import Spcbenp from "./Spcbenp";
export default {
components: {
"m-ovwp1": Ovwp1,
"m-detp": Detp,
"m-ptyp": Ptyp,
"m-dogp": Dogp,
"m-dorp": Dorp,
"m-adcp": Adcp,
"m-doxp": Doxp,
"m-aamp": Aamp,
"m-spcrcvp": Spcrcvp,
"m-spcbenp": Spcbenp,
},
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess, Event],
data() {
return {
zmqflg: null,
flag: true,
activeNames: ["ovwp1"],
};
},
methods: {
open(val) {
if (
val === "" &&
!(
this.model.lidgrp.cbs.max2.amt == "0.000" &&
this.model.lidgrp.cbs.opn2.amt == "0.000" &&
this.model.lidgrp.blk.addamtcov === ""
)
) {
this.$confirm(
"是否确定要删除此合同的附加金额?",
"提示",
{
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
showClose: false,
}
)
.then(() => {
//yes的执行在这里写
this.model.lidgrp.cbs.max2.amt = "0.000";
this.model.lidgrp.blk.addamtcov = "";
this.model.lidgrp.cbs.opn2.amt = "0.000";
this.$message({
type: "success",
message: "删除成功!",
});
})
.catch(() => {
//No的功能在这里写
this.model.litp.aamp.aammod.addamtflg = "X";
this.$message({
type: "info",
message: "已取消删除",
});
});
}
},
handleChange(val) {
console.log(val);
},
},
created: function () {},
watch: {
"model.lidgrp.rec.apprul": {
immediate: true,
handler(val, oldVal) {
if (val == "OTHR") {
this.flag = false;
} else {
this.flag = true;
}
},
},
},
computed: {
flag1() {
return this.model.lidgrp.apl.pts.extkey == "";
},
},
};
</script>
<style>
.marginLable {
padding-left: 160px;
}
</style>
<template>
<div class="eibs">
<c-col :span="22">
<el-form-item label="受益人特殊付款条款" prop="lidgrp.blk.spcben">
<c-input
type="textarea"
v-model="model.lidgrp.blk.spcben"
maxlength="65"
:rows="30"
show-word-limit
placeholder="请输入受益人特殊付款条款"
></c-input>
</el-form-item>
</c-col>
<c-col :span="2">
<c-button
size="small"
type="primary"
icon="el-icon-more"
@click="onSpcbenButtxmsel"
>
</c-button>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess, Event],
data() {
return {};
},
methods: { },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eibs">
<c-col :span="22">
<el-form-item
label="仅适用于指定银行的特殊付款条款"
prop="lidgrp.blk.spcrcb"
>
<c-input
type="textarea"
v-model="model.lidgrp.blk.spcrcb"
maxlength="65"
:rows="30"
show-word-limit
placeholder="请输入仅适用于指定银行的特殊付款条款"
></c-input>
</el-form-item>
</c-col>
<c-col :span="2">
<c-button
size="small"
type="primary"
@click="onSpcrcbButtxmsel"
icon="el-icon-more"
>
</c-button>
</c-col>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "../event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess, Event],
data() {
return {};
},
methods: { },
created: function () {},
};
</script>
<style>
</style>
<template>
<div class="eContainer">
<c-page title="进口信用证开立">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="120px"
size="small"
label-position="right"
:validate-on-rule-change="false"
>
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<!--PD000001 -->
<el-tab-pane label="业务信息" name="ovwp">
<c-content>
<m-ovwp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000001 -->
<el-tab-pane label="保证金" name="ccvpan">
<c-content>
<m-ccvpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000001 -->
<el-tab-pane label="统一授信" name="limitbody">
<c-content>
<m-limitbody :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="setpan">
<c-content>
<m-setpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="会计分录" name="glepan">
<c-content>
<!-- 会计分录 -->
<m-glepan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000510 -->
<el-tab-pane label="备查/附言" name="addbcb">
<c-content>
<m-addbcb :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000000 -->
<!-- <el-tab-pane label="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes" />
</el-tab-pane> -->
<!--PD000002 -->
<el-tab-pane label="申报信息" name="cnyp,libp">
<c-content>
<m-cnyp :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文/面函" name="docpan">
<c-content>
<m-docpan :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
<!--PD000546 -->
<el-tab-pane label="附件信息" name="doctre">
<c-content>
<m-doctre :model="model" :codes="codes" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<c-grid-ety-prompt-dialog
ref="etyDialog"
:promptData="promptData"
@select-ety="selectGridEtyPromptData"
>
</c-grid-ety-prompt-dialog>
<c-grid-ety-prompt-dialog
ref="doxpDialog"
:isPty="false"
:promptData="promptData1"
@select-ety="selectGridEtyPromptData"
>
</c-grid-ety-prompt-dialog>
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
</c-function-btn>
</c-page>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import operationFunc from '~/mixin/operationFunc';
import Litopn from "../model";
import commonProcess from "~/mixin/commonProcess";
import commonFuncs from "~/mixin/commonFuncs";
import Check from "../model/check";
import Event from "../event";
import Ovwp from "./Ovwp";
import Aamp from "./Aamp";
import Detp from "./Detp";
import Ptyp from "./Ptyp";
import Dogp from "./Dogp";
import Dorp from "./Dorp";
import Adcp from "./Adcp";
import Addbcb from "./Addbcb";
import Cnyp from "./Cnyp";
import Libp from "./Libp";
import Namp from "./Namp";
import Spcrcvp from "./Spcrcvp";
import Spcbenp from "./Spcbenp";
import Limitbody from "~/components/business/limitbody/views";
import Engp from "~/components/business/engp/views";
import Ccvpan from "~/components/business/ccvpan/views";
import Coninfp from "~/components/business/coninfp/views";
import Setpan from "~/components/business/setmod/views";
import Docpan from "~/components/business/docpan/views";
import Doctre from "~/components/business/doctre/views";
import Glepan from "~/components/business/glentry/views";
import Doxp from "~/views/Public/Doxp";
import { mapState } from 'vuex';
export default {
name: "Litopn",
components: {
"m-ovwp": Ovwp,
"m-aamp": Aamp,
"m-detp": Detp,
"m-ptyp": Ptyp,
"m-dogp": Dogp,
"m-dorp": Dorp,
"m-adcp": Adcp,
"m-doxp": Doxp,
"m-engp": Engp,
"m-ccvpan": Ccvpan,
"m-setpan": Setpan,
"m-glepan": Glepan,
"m-addbcb": Addbcb,
"m-coninfp": Coninfp,
"m-docpan": Docpan,
"m-doctre": Doctre,
"m-cnyp": Cnyp,
"m-libp": Libp,
"m-namp": Namp,
"m-limitbody": Limitbody,
"m-spcrcvp": Spcrcvp,
"m-spcbenp": Spcbenp,
},
provide() {
return {
root: this,
};
},
mixins: [operationFunc, Event],
computed: {
...mapState({
toHandleRowData: (state) => state.litopn.toHandleRowData
})
},
data() {
return {
tabVal: "ovwp",
trnName: "litopn",
model: new Litopn().data,
rules: Check,
codes: { ...CodeTable },
activeNames: ["engp"],
promptData: {
title: '',
columns: [],
data:[]
},
promptData1: {
title: '',
columns: [],
data:[]
}
};
},
methods: {
},
created: async function () {
console.log("进入litopn交易");
this.init();
},
};
</script>
<style></style>
......@@ -52,14 +52,10 @@ export default {
this.$router.push({ path: 'business-new/sptpopup', query: { inr: inr } });
},
async continueEdit(row, scope) {
this.updateToHandleRowData({
...this.toHandleRowData,
[`row_${row.frm.toLowerCase()}`]: row
})
localStorage.setItem(`row_${row.frm.toLowerCase()}`, JSON.stringify(row))
let trnName = row.frm.toLowerCase();
this.$router.push({
path: 'business-new/' + trnName,
params: { prePageId: this.model.pageId },
});
},
// pageSize改变
......
......@@ -148,15 +148,9 @@
<script>
import Api from '~/service/Api';
import event from '../event'
import { mapMutations, mapState } from 'vuex';
export default {
inject: ['root'],
props: ['model', 'codes'],
computed: {
...mapState({
toHandleRowData: (state) => state.gitopn.toHandleRowData
})
},
mixins: [event],
data() {
return {
......@@ -244,7 +238,6 @@ export default {
];
},
methods: {
...mapMutations(['updateToHandleRowData']),
getInidatfro() {
let datetime = new Date();
datetime = datetime.setDate(datetime.getDate() - 10);
......
......@@ -147,7 +147,6 @@ export default {
const selDst = 'trncorco.trnstm'; //列表对应后台模型中的stream
let params = { selDst: selDst, selIds: selIds };
let rtnmsg = await this.executeRule('relrow', params);
if (rtnmsg.respCode == SUCCESS) {
let errorMsg = '';
......
......@@ -211,7 +211,6 @@
watch: {
reload(val) {
if(val) {
debugger
this.handleSearch()
}
}
......
......@@ -7,7 +7,7 @@ export default {
let objtyp = trndocRequest.rec.objtyp;
let rtnmsg = await Api.post(`/service/${ objtyp.toLowerCase() }/docpan/assertTrndoc`, trndocRequest);
if (rtnmsg.respCode == SUCCESS) {
Utils.copyValueFromVO(this.model.docpan, rtnmsg.data);
this.copyValueFromVoData(this.model.docpan, rtnmsg.data)
}
loading.close();
}
......
<template>
<div class="eibs-tab">
<c-col :span="24" style="">
<el-table :data="stmData.data" :columns="stmData.columns">
<el-table :data="stmData.data">
<el-table-column label="介质" width="110px">
<template slot-scope="scope">
<el-form-item
......@@ -139,22 +139,18 @@
suppress
"
@click="
handleDisplay(
scope.row.index,
scope.row,
model.docpan.doceot[scope.row.idx]
)
"
handleDisplay(scope.row.index, scope.row)"
style="margin-right: 10px"
>预览</c-button
>
<c-button
<!-- 2023.4.13临时注释,为了当次演示使用,后期详情接口做完了在放开注释联调 -->
<!-- <c-button
size="small"
type="primary"
style="margin-left: 0"
@click="handleDetail(scope.row.index, scope.row)"
>详情</c-button
>
> -->
</template>
</el-table-column>
</el-table>
......@@ -502,15 +498,7 @@ export default {
},
centerDialogVisible: false,
stmData: {
columns: [
//注释的已改成静态
'role 收报人 70px',
'pandsc 描述 250px',
//"cortyp 类型",
//"docsnf 报文格式",
//"docuil 语言",
//"apf 传送方式"
],
columns: [],
data: [],
},
gitopn: {
......@@ -573,11 +561,10 @@ export default {
}
);
},
async handleDisplay(index, row, doceot) {
async handleDisplay(index, row) {
//后续要根据快照模式切换请求方式
let cortyp = row.cortyp;
let docuil = doceot.docuil;
let docnam = doceot.docnam || '';
let docnam = row.docnam;
docnam = docnam
.substr(docnam.indexOf('\\') + 1)
.toLowerCase()
......
......@@ -15,13 +15,6 @@ export default {
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
}
// 精简gidgrp
let gidgrpKeysList = Object.keys(params.gidgrp)
gidgrpKeysList.map((item) => {
if (params.gidgrp[item].pts && !params.gidgrp[item].pts.extkey) {
delete params.gidgrp[item]
}
})
// 精简cfagit
if (params.cfagit.cfaflg !== '1') {
delete params.cfagit
......@@ -30,8 +23,6 @@ export default {
if (params.cnybop.vouflg !== '1') {
delete params.cnybop.cnyvou
}
// gitp被放到了gidgrp
delete params.gitp
const res = await Api.post(`/service/${this.trnName}/save`, params);
if (res.respCode === SUCCESS) {
this.$notify({
......@@ -97,6 +88,22 @@ export default {
});
this.$nextTick(() => {
let isError = document.querySelectorAll('.is-error')
let fields = this.$refs['modelForm'].fields
fields.map((fieldItem) => {
if (fieldItem.validateState === 'error') {
let errorComponentName = fieldItem.$options.componentName
console.log('fieldItem===', fieldItem)
// 切换tab
if (errorComponentName === 'ElTabPane') {
fieldItem.$parent.currentName = fieldItem.name
// 切换收缩框
} else if (errorComponentName === 'ElCollapseItem') {
if (fieldItem.collapse.activeNames.indexOf(fieldItem.name) < 0) {
fieldItem.collapse.activeNames.push(fieldItem.name)
}
}
}
})
isError[0].scrollIntoView({
block: 'center',
behavior: 'smooth'
......@@ -106,6 +113,9 @@ export default {
})
})
},
showFrontendErrors () {
},
// 后端校验
showBackendErrors(fieldErrors) {
// 清除之前的校验状态
......@@ -134,7 +144,7 @@ export default {
setfeg: this.model.setmod.setfeg,
setglg: this.model.setmod.setglg,
doceot: this.model.docpan.doceot,
spt: this.toHandleRowData['row_' + this.trnName] || {},
spt: JSON.parse(localStorage.getItem('row_' + this.trnName)) || {},
gidgrp: this.model.gidgrp,
gitp: this.model.gitp,
}
......
......@@ -2,11 +2,12 @@ import Api from '~/service/Api';
export default {
methods: {
async init() {
const params = {
spt: this.toHandleRowData,
};
const res = await Api.post('/service/gitopn/init', {
...params,
trnmodVo: {
trn: {
inr: this.$route.query.trn
}
},
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
});
......@@ -72,8 +73,11 @@ export default {
//处理-复核
async handlePass(val) {
let params = {};
let rtnmsg = await Api.post('', params);
let params = {
transName: this.trnName,
userId: window.sessionStorage.userId || 'ZL',
}
let rtnmsg = await Api.post('/service/trnrel/relrow', params);
if (rtnmsg.respCode === SUCCESS) {
let errorMsg = '';
let fieldErrorsFlag = JSON.stringify(rtnmsg.fieldErrors) == '{}';
......
......@@ -247,26 +247,27 @@ export default {
}
},
},
created: async function () {
console.log("进入gitopn交易");
let params = {
transName: this.trnName,
trnmodVo: {
trn: {
inr: this.$route.query.trn
}
}
}
let res = await Api.post('/service/gitopn/init', params);
if (res && res.respCode == SUCCESS) {
this.model = res.data
//TODO 处理数据逻辑
if (this.isInDisplay) {
this.restoreDisplay();
}
} else {
this.$notify.error({ title: "错误", message: "服务请求失败!" });
}
mounted () {
this.init()
// console.log("进入gitopn交易");
// let params = {
// transName: this.trnName,
// trnmodVo: {
// trn: {
// inr: this.$route.query.trn
// }
// }
// }
// let res = await Api.post('/service/gitopn/init', params);
// if (res && res.respCode == SUCCESS) {
// this.model = res.data
// //TODO 处理数据逻辑
// if (this.isInDisplay) {
// this.restoreDisplay();
// }
// } else {
// this.$notify.error({ title: "错误", message: "服务请求失败!" });
// }
},
};
</script>
......
......@@ -6,5 +6,6 @@ const Business = [
{ path: 'getopn', component: () => import('~/business/getopn/views'), name: 'getopn', meta: { title: '出口保函通知' } },
{ path: 'gitame', component: () => import('~/business/gitame/views'), name: 'gitame', meta: { title: '出口保函修改' } },
{ path: 'inftrnpsDetail', component: () => import('~/business/trnrel/views/InftrnpsDetail.vue'), name: 'InftrnpsDetail', meta: { title: '待复核详情' } },
{ path: 'litopn', component: () => import('~/business/litopn/views'), name: 'litopn', meta: { title: '进口信用证开立' } },
]
export default Business
import Api from "~/service/Api"
export function queryByPage(data) {
return Api.post("/service/btb/queryByPage", data)
}
export function queryByPage_Agent(data) {
return Api.post("/service/btb/queryByPage_Agent",data)
}
export function queryByPageByInr(data) {
return Api.post("/service/btb/queryByPageByInr",data)
}
export function queryDetailById(data) {
return Api.post(`/service/btb/queryById`,data)
}
export function add(data) {
return Api.post("/service/btb/add", data)
}
export function edit(data) {
return Api.post("/service/btb/edit", data)
}
export function deleteById(data) {
return Api.post(`/service/btb/deleteById`,data)
}
import Api from "~/service/Api";
export function queryByPage(data) {
return Api.post("/service/txm/queryByPage", data);
}
export function queryById(inr) {
return Api.post(`/service/txm/queryById`, { inr });
}
export function add(data) {
return Api.post("/service/txm/add", data);
}
export function edit(data) {
return Api.post("/service/txm/edit", data);
}
export function deleteById(inr) {
return Api.post(`/service/txm/deleteById`, { inr });
}
......@@ -6,7 +6,8 @@ import TagsView from "./TagsView"
import Transaction from "./Transaction";
import Vuex from 'vuex'
import Vue from 'vue'
import gitopn from './modules/gitopn.js'
import gitopn from './modules/gitopn.js';
import litopn from './modules/litopn.js';
Vue.use(Vuex)
......@@ -18,7 +19,8 @@ const store = new Vuex.Store({
Swift: Swift,
TagsView: TagsView,
Transaction: Transaction,
gitopn
gitopn,
litopn,
}
})
......
const store = {
state: {
toHandleRowData: {},
},
mutations: {
updateToHandleRowData(state, params) {
state.toHandleRowData = params
}
}
}
export default store
......@@ -95,7 +95,6 @@ import Botdcr from "./Botdcr"
import Botset from "./Botset"
import Botcan from "./Botcan"
import Infbpd from "./Infbpd"
import Inftxm from "./Inftxm"
import Bctdav from "./Bctdav"
import Bctcan from "./Bctcan"
import Infbcd from "./Infbcd"
......@@ -353,6 +352,9 @@ import Dbaety from "~/views/Statics/ety/views/Dbaety";
import Dbeety from "~/views/Statics/ety/views/Dbeety";
import Dbdety from "~/views/Statics/ety/views/Dbdety";
import InfBtb from "~/views/Statics/btb/views/Infbtb";
import DbiBtb from "~/views/Statics/btb/views/Dbibtb";
import Dbatrl from "~/views/Statics/Trl/views/Dbatrl";
import Dbdtrl from "~/views/Statics/Trl/views/Dbdtrl";
import Dbetrl from "~/views/Statics/Trl/views/Dbetrl";
......@@ -391,6 +393,13 @@ import Dbiswm from "~/views/Statics/Swm/views/Dbiswm";
import Infswm from "~/views/Statics/Swm/views/Infswm";
import Inftxm from "~/views/Statics/Txm/views/Inftxm";
import Dbitxm from "~/views/Statics/Txm/views/Dbitxm";
import Dbatxm from "~/views/Statics/Txm/views/Dbatxm";
import Dbetxm from "~/views/Statics/Txm/views/Dbetxm";
import Dbdtxm from "~/views/Statics/Txm/views/Dbdtxm";
/**
* 带有name的才会被添加进顶部的标签页里
......@@ -523,7 +532,7 @@ const BusRouter = [
{ path: 'brtcan', component: Brtcan, name: 'Brtcan', meta: { title: '进口信用证单据注销' } },
{ path: 'brtsnd', component: Brtsnd, name: 'Brtsnd', meta: { title: '进口信用证单据寄单' } },
{ path: 'inftxm', component: Inftxm, name: 'Inftxm', meta: { title: '条式语句查询' } },
// { path: 'inftxm', component: Inftxm, name: 'Inftxm', meta: { title: '条式语句查询' } },
// { path: 'infdet', component: Infdet, name: 'Infdet', meta: { title: 'Infdet' } },
{ path: 'infbod', component: Infbod, name: 'Infbod', meta: { title: '出口托收查询' } },
{ path: 'botsel', component: Botsel, name: 'Botsel', meta: { title: '出口托收入口交易Botsel' } },
......@@ -795,5 +804,15 @@ const BusRouter = [
{ path: 'dbeety/:inr', component: Dbeety, name: 'StaticsDbeety', meta: { title: (tag) => { return '实体修改: ' + tag.params.inr } } },
{ path: 'dbdety/:inr', component: Dbdety, name: 'StaticsDbdety', meta: { title: (tag) => { return '实体删除: ' + tag.params.inr } } },
{ path: 'inftxm', component: Inftxm, name: 'StaticsInftxm', meta: { title: '查询固定格式文本' } },
{ path: 'dbitxm/:inr', component: Dbitxm, name: 'StaticsDbitxm', meta: { title: (tag) => { return '固定格式文本详情: ' + tag.params.inr } } },
{ path: 'dbatxm', component: Dbatxm, name: 'StaticsDbatxm', meta: { title: '固定格式文本新增' } },
{ path: 'dbetxm/:inr', component: Dbetxm, name: 'StaticsDbetxm', meta: { title: (tag) => { return '固定格式文本修改: ' + tag.params.inr } } },
{ path: 'dbdtxm/:inr', component: Dbdtxm, name: 'StaticsDbdtxm', meta: { title: (tag) => { return '固定格式文本删除: ' + tag.params.inr } } },
{ path: 'infbtb', component: InfBtb, name: 'StaticsInfbtb', meta: { title: '查询清算代理行' } },
{ path: 'dbibtb/:inr', component: DbiBtb, name: 'StaticsDbibtb', meta: { title: (tag) => { return '清算代理行详情: ' + tag.params.inr } } },
]
export default BusRouter
\ No newline at end of file
......@@ -323,7 +323,7 @@ export default {
},
toLitopn() {
this.$router.history.push("/business/litopn");
this.$router.history.push("/business-new/litopn");
},
},
created: function () { },
......
<template>
<div>
<el-button @click="downLoad">点击下载word文件</el-button>
<!-- <el-button @click="downLoadPdf">点击下载pdf文件</el-button> -->
<div class="docWrap">
<!-- 预览文件的地方(用于渲染) -->
<div ref="file"></div>
......@@ -45,6 +46,11 @@ export default {
document.body.appendChild(a); // 将a标签追加到文档对象中
a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
a.remove(); // 一次性的,用完就删除a标签
},
async downLoadPdf () {
let params = window.opener["params"];
let docnam = params.docnam
let res = await Api.post('/service/gitopn/download', this.wrapper(docnam));
}
}
};
......
......@@ -38,6 +38,9 @@ import Dbadia from "./dia/views/Dbadia";
import Dbedia from "./dia/views/Dbedia";
import Dbddia from "./dia/views/Dbddia";
import InfBtb from "./btb/views/Infbtb";
import DbiBtb from "./btb/views/Dbibtb";
import Infoit from "./Oit/views/Infoit"
import Dbioit from "./Oit/views/Dbioit"
import Dbaoit from "./Oit/views/Dbaoit"
......@@ -78,6 +81,12 @@ import Dbafec from "./Fec/views/Dbafec";
import Dbefec from "./Fec/views/Dbefec";
import Dbdfec from "./Fec/views/Dbdfec";
import Inftxm from "./Txm/views/Inftxm";
import Dbitxm from "./Txm/views/Dbitxm";
import Dbatxm from "./Txm/views/Dbatxm";
import Dbetxm from "./Txm/views/Dbetxm";
import Dbdtxm from "./Txm/views/Dbdtxm";
import Infgtx from "./Gtx/views/Infgtx";
import Dbigtx from "./Gtx/views/Dbigtx";
import Dbagtx from "./Gtx/views/Dbagtx";
......@@ -273,6 +282,16 @@ const StaticsRouter = [
{ path: 'dbeety/:inr', component: Dbeety, name: 'StaticsDbeety', meta: { title: (tag) => { return '实体修改: ' + tag.params.inr } } },
{ path: 'dbdety/:inr', component: Dbdety, name: 'StaticsDbdety', meta: { title: (tag) => { return '实体删除: ' + tag.params.inr } } },
{ path: 'inftxm', component: Inftxm, name: 'StaticsInftxm', meta: { title: '查询固定格式文本' } },
{ path: 'dbitxm/:inr', component: Dbitxm, name: 'StaticsDbitxm', meta: { title: (tag) => { return '固定格式文本详情: ' + tag.params.inr } } },
{ path: 'dbatxm', component: Dbatxm, name: 'StaticsDbatxm', meta: { title: '固定格式文本新增' } },
{ path: 'dbetxm/:inr', component: Dbetxm, name: 'StaticsDbetxm', meta: { title: (tag) => { return '固定格式文本修改: ' + tag.params.inr } } },
{ path: 'dbdtxm/:inr', component: Dbdtxm, name: 'StaticsDbdtxm', meta: { title: (tag) => { return '固定格式文本删除: ' + tag.params.inr } } },
{ path: 'infbtb', component: InfBtb, name: 'StaticsInfbtb', meta: { title: '查询清算代理行' } },
{ path: 'dbibtb/:inr', component: DbiBtb, name: 'StaticsDbibtb', meta: { title: (tag) => { return '清算代理行详情: ' + tag.params.inr } } },
]
export default StaticsRouter
import Api from "~/service/Api";
export function queryByPage(data) {
return Api.post("/manager/txm/queryByPage", data);
}
export function queryById(inr) {
return Api.post(`/manager/txm/queryById`, { inr });
}
export function add(data) {
return Api.post("/manager/txm/add", data);
}
export function edit(data) {
return Api.post("/manager/txm/edit", data);
}
export function deleteById(inr) {
return Api.post(`/manager/txm/deleteById`, { inr });
}
<template>
<m-txm ref="txm" title="dbatxm" type="add"></m-txm>
</template>
<script>
import Dbitxm from "~/views/Statics/Txm/views/Dbitxm";
export default {
name: "StaticsDbatxm",
components: {
"m-txm": Dbitxm
},
data() {
return {};
},
mounted() {
// this.$refs.fec.rules['fecList'] = [
// { type: 'array', required: true, min: 1, message: '地址信息栏不能为空' }
// ]
}
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<m-txm title="dbdtxm" type="delete"></m-txm>
</template>
<script>
import Dbitxm from "~/views/Statics/Txm/views/Dbitxm";
export default {
name: "StaticsDbdatp",
components: {
"m-txm": Dbitxm
},
data() {
return {};
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<m-txm title="dbetxm" type="edit"></m-txm>
</template>
<script>
import Dbitxm from "~/views/Statics/Txm/views/Dbitxm";
export default {
name: "StaticsDbeatp",
components: {
"m-txm": Dbitxm
},
data() {
return {};
},
};
</script>
<style>
</style>
\ No newline at end of file
export default class Txm {
constructor() {
this.data = {
inr: "",
extkey: "",
nam: "",
txt: "",
uil: "",
ver: "",
etgextkey: "",
};
}
}
export const Pattern = {
inr: [
{ required: true, message: "必输项", type: "string", trigger: "blur" },
{ max: 8, message: "最大长度8个字符", trigger: "blur" },
],
extkey: [
{ required: true, message: "必输项", type: "string", trigger: "blur" },
{ max: 17, message: "最大长度8个字符", trigger: "blur" },
],
nam: [
{ required: true, message: "必输项", type: "string", trigger: "blur" },
{ max: 40, message: "最大长度40个字符", trigger: "blur" },
],
uil: [
{ required: true, message: "必输项", type: "string", trigger: "blur" },
{ max: 2, message: "最大长度2个字符", trigger: "blur" },
],
etgextkey: [
{ required: true, message: "必输项", type: "string", trigger: "blur" },
{ max: 8, message: "最大长度8个字符", trigger: "blur" },
],
};
<template>
<div class="eibs-tab">
<c-col :span="12" class="col-left">
<!-- <el-form-item label="INR" prop="inr" v-if="type !== 'add'">
<c-input v-model="model.inr" placeholder="请输入主键" :disabled="type === 'edit'">
</c-input>
</el-form-item> -->
<el-form-item label="名称" prop="nam">
<c-input v-model="model.nam" placeholder="请输入名称">
</c-input>
</el-form-item>
<!-- <el-form-item label="实体组" prop="etgextkey" style="width:100%">
<c-select v-model="model.etgextkey" style="width:100%" placeholder="请选择实体组">
<el-option v-for="item in entyGrp" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item> -->
<!-- <el-form-item label="实体组" prop="etgextkey">
<c-input v-model="model.etgextkey" placeholder="请输入实体组">
</c-input>
</el-form-item> -->
</c-col>
<c-col :span="12" class="col-right">
<el-form-item label="条款模板关键字" prop="extkey">
<c-input v-model="model.extkey" placeholder="请输入条款模板关键字" :disabled="type === 'edit'">
</c-input>
</el-form-item>
<el-form-item label="语言" prop="uil" style="width:100%">
<c-select v-model="model.uil" style="width:100%" placeholder="请选择语言" :disabled="type === 'edit'">
<el-option v-for="item in getCodesByKey('uiltxt')" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="24" class="col-left">
<el-form-item label="内容" prop="txt">
<c-input-format type="textarea" v-model="model.txt" :maxRows="6" :maxCols="35"
placeholder="请输入内容"></c-input-format>
</el-form-item>
</c-col>
</div>
</template>
<script>
import codes from "~/config/CodeTable";
export default {
name: "",
entyGrp: [],
props: ["model", "type"],
data() {
return {};
},
methods: {
getCodesByKey(key) {
return codes[key] ?? [];
},
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eContainer">
<c-page :title="title">
<el-form ref="modelForm" label-width="120px" size="small" label-position="right" :model="model" :rules="rules"
:validate-on-rule-change="false" :disabled="isDisabled">
<c-tabs v-model="tabVal" ref="elment" type="card">
<el-tab-pane label="固定格式文本信息" name="txm">
<c-content>
<m-txm-info :model="model" :type="type" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
<div style="text-align: center">
<c-button type="primary" style="margin-right: 10px" @click="commitAdd" v-if="type === 'add'">提 交</c-button>
<c-button type="primary" style="margin-right: 10px" @click="commitEdit" v-if="type === 'edit'">提 交</c-button>
<c-button type="primary" style="margin-right: 10px" @click="commitDelete" v-if="type === 'delete'">
</c-button>
<c-button type="primary" @click="goBack">返 回</c-button>
</div>
</c-page>
</div>
</template>
<script>
import Utils from "~/utils";
import Txm, { Pattern } from "./Txm.js";
import TxmInfo from "./TxmInfo.vue";
import { queryById, add, edit, deleteById } from "~/service/test/txm.js";
export default {
name: "StaticsDbitxm",
components: {
"m-txm-info": TxmInfo,
},
provide() {
return {
root: this,
};
},
props: {
type: {
type: String,
default: "info"
},
title: {
type: String,
default: "dbitxm"
}
},
data() {
return {
model: new Txm().data,
tabVal: "txm",
rules: Pattern,
};
},
computed: {
isDisabled() {
return this.type === "info" || this.type === "delete";
},
},
created() {
if (this.type !== "add") {
const inr = this.$route.params.inr;
queryById(inr).then((res) => {
if (res.inr) {
this.model = res;
} else {
this.$message.error("该信息不存在")
}
});
}
},
methods: {
commitAdd() {
this.$refs.modelForm.validate((validated) => {
if (validated) {
add(this.model)
.then((res) => {
this.$message.success("添加成功!");
this.goBack(true)
})
.catch((err) => {
this.$message.error("添加失败!");
});
} else {
Utils.formValidateTips(this.$refs.modelForm.fields)
}
});
},
commitEdit() {
this.$refs.modelForm.validate((validated) => {
if (validated) {
edit(this.model)
.then((res) => {
if (res.inr) {
this.$message.success("修改成功!");
this.goBack(true)
} else {
this.$message.error("修改失败!");
}
})
.catch((err) => {
this.$message.error("修改失败!");
});
} else {
Utils.formValidateTips(this.$refs.modelForm.fields)
}
});
},
commitDelete() {
this.$confirm("是否确认删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
deleteById(this.model.inr)
.then((res) => {
if (res === true) {
this.$message.success("删除成功!");
this.goBack(true)
} else {
this.$message.error("删除失败,请刷新后再试");
}
})
.catch((err) => {
this.$message.error("删除失败!");
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
goBack(update) {
this.$store.dispatch("TagsView/delView", this.$route);
this.$router.push({ name: "StaticsInftxm", params: { update } });
},
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs-tab">
<!-- 查询条件 -->
<c-col :span="12" class="col-left">
<el-form-item label="条款模板关键字" prop="extkey" style="width:100%">
<c-input v-model="model.extkey" placeholder="请输入条款模板关键字" style="width: 100%">
</c-input>
</el-form-item>
</c-col>
<c-col :span="12" class="col-right">
<el-form-item label="条款模板名称" prop="nam">
<c-input v-model="model.nam" placeholder="请输入条款模板名称" style="width: 100%">
</c-input>
</el-form-item>
</c-col>
<c-col :span="12" class="col-left">
<el-form-item label="条款语种" prop="uil" style="width:100%">
<c-select v-model="model.uil" style="width:100%" placeholder="请选择条款语种">
<el-option v-for="item in lang" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</c-select>
</el-form-item>
</c-col>
<!-- 操作按钮 -->
<c-col :span="24">
<c-col :span="12" style="text-align: left">
<el-button type="primary" size="small" @click="txmAdd">新增</el-button>
</c-col>
<c-col :span="12" style="text-align: right">
<el-button size="small" @click="handleReset">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="onSearch">查询
</el-button>
</c-col>
</c-col>
<!-- 查询结果 -->
<c-col :span="24">
<c-paging-table :data="txmData" :columns="txmColumns" :pageNumber="model.pageNum" :pageSize="model.pageSize"
:total="model.total" v-on:queryFunc="queryFunc" :border="true">
<c-table-column fixed="right" prop="op" label="操作" width="240px">
<template slot-scope="{ scope }">
<c-button style="margin-left: 0" size="small" @click="txmInfo(scope.$index, scope.row)">详情</c-button>
<c-button style="margin-left: 5px" size="small" type="primary"
@click="txmEdit(scope.$index, scope.row)">修改</c-button>
<c-button size="small" style="margin-left: 5px" @click="txmDelete(scope.$index, scope.row)">删除</c-button>
<el-popover placement="top-start" width="50" trigger="click">
<ul class="table-button-item-list">
<li>
<c-button size="small" style="margin-left: 0">指派</c-button>
</li>
<li>
<c-button size="small" style="margin-left: 0">删除</c-button>
</li>
</ul>
<a slot="reference" href="javascript:void(0)" style="margin-left: 5px">
<i class="el-icon-more"></i>
</a>
</el-popover>
</template>
</c-table-column>
</c-paging-table>
</c-col>
</div>
</template>
<script>
import { queryByPage } from "~/service/test/txm.js";
import CodeTable from "~/config/CodeTable";
export default {
name: "",
props: ["model"],
inject: ["root"],
data() {
return {
lang: CodeTable['uiltxt'],
txmData: [],
txmColumns: [
{ label: "条款模板关键字", prop: "extkey", width: "auto" },
{ label: "条款模板名称", prop: "nam", width: "auto" },
{ label: "条款模板内容", prop: "uil", width: "auto" },
{ label: "版本号", prop: "ver", width: "auto" },
],
};
},
activated() {
const { update } = this.$route.params;
if (update) {
this.onInftxmSearch();
}
},
methods: {
handleReset() {
this.root.$refs.modelForm.resetFields();
},
onSearch() {
this.model.pageSize = 5;
this.model.pageNum = 1;
this.onInftxmSearch();
},
langValue(key) {
return this.lang.filter(item => item.value === key)[0]?.label;
},
onInftxmSearch() {
this.model.etgextkey = 'CEBGRP';
queryByPage(this.model).then((res) => {
const list = res.list ?? [];
list.map(item => item.uil = this.langValue(item.uil) ?? item.uil);
this.txmData = list;
this.model.pageNum = res.pageNumber;
this.model.pageSize = res.pageSize;
this.model.total = res.total;
});
},
queryFunc(pageNumber, pageSize) {
this.model.pageNum = pageNumber;
this.model.pageSize = pageSize;
this.onInftxmSearch();
},
txmAdd() {
this.$router.push(`/statics/dbatxm`);
},
txmInfo(index, row) {
this.$router.push(`/statics/dbitxm/${row.inr}`);
},
txmEdit(index, row) {
this.$router.push(`/statics/dbetxm/${row.inr}`);
},
txmDelete(index, row) {
this.$router.push(`/statics/dbdtxm/${row.inr}`);
},
},
};
</script>
<style scoped>
.table-button-item-list {
padding: 0;
margin: 0;
}
.table-button-item-list li {
list-style: none;
padding: 5px 0;
text-align: center;
color: #606266;
cursor: pointer;
}
</style>
<template>
<div class="eContainer">
<c-page title="固定格式文本查询">
<el-form :model="model" ref="modelForm" label-width="120px" label-position="right" size="small">
<c-tabs v-model="tabVal" ref="elment" type="card">
<el-tab-pane label="固定格式文本查询" name="infsea">
<c-content>
<m-infsea :model="model" ref="infsea" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
</c-page>
</div>
</template>
<script>
import Infsea from "./Infsea";
export default {
name: "StaticsInftxm",
components: {
"m-infsea": Infsea,
},
provide() {
return {
root: this,
};
},
data() {
return {
tabVal: "infsea",
model: {
etgextkey: "",
nam: "",
uil: "",
pageSize: 5,
pageNum: 1,
total: 0,
},
};
},
};
</script>
<style>
</style>
export default class Btb {
constructor() {
this.data = {
inr: "",
corbnk: "",
corbnknam: "",
coract: "",
corptyinr:"",
lnktyp: "",
orcbch: "",
orcbchnam: "",
orcptyinr: "",
pyebch: "",
pyeptyinr: "",
pyebchnam: "",
useflg: "",
chkflg: "",
btbData:[],
pageNum: 1,
pageSize: 20,
total: 0
}
}
}
export const Pattern = {
}
<template>
<div class="eibs">
<el-form
ref="modelForm"
label-width="170px"
size="small"
label-position="right"
:model="btb"
:rules="rules"
:validate-on-rule-change="false"
:disabled="operate === 'details'"
>
<c-col :span="20" class="col-left">
<c-col :span="24">
<el-form-item label="inr" prop="inr" v-if="operate !== 'add'">
<c-input v-model="btb.inr" style="width: 100%" placeholder="请输入inr" disabled> </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="代理行BIC" prop="corbnk">
<c-input v-model="btb.corbnk" style="width: 100%" placeholder="请输入代理行BIC" disabled> </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="代理行名称" prop="corbnknam">
<c-input v-model="btb.corbnknam" style="width: 100%" placeholder="请输入代理行名称" disabled> </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="参加行BIC" prop="pyebch">
<c-input v-model="btb.pyebch" style="width: 100%" placeholder="请输入参加行BIC"> </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="参加行名称" prop="pyebchnam">
<c-input v-model="btb.pyebchnam" style="width: 100%" placeholder="请输入参加行名称"> </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="启用标志" prop="useflg">
<c-checkbox v-model="btb.useflg" style="width: 100%;text-align: left;" placeholder="请选择启用标志" true-label="X" false-label=" "> </c-checkbox>
</el-form-item>
</c-col>
<c-col :span="24" v-show="false">
<c-col :span="24">
<el-form-item label="coract" prop="coract">
<c-input v-model="btb.coract" style="width: 100%" placeholder="请输入coract" > </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="corptyinr" prop="corptyinr">
<c-input v-model="btb.corptyinr" style="width: 100%" placeholder="请输入corptyinr" > </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="lnktyp" prop="lnktyp">
<c-input v-model="btb.lnktyp" style="width: 100%" placeholder="请输入lnktyp" > </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="orcbch" prop="orcbch">
<c-input v-model="btb.orcbch" style="width: 100%" placeholder="请输入orcbch" > </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="orcbchnam" prop="orcbchnam">
<c-input v-model="btb.orcbchnam" style="width: 100%" placeholder="请输入orcbchnam" > </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="orcptyinr" prop="orcptyinr">
<c-input v-model="btb.orcptyinr" style="width: 100%" placeholder="请输入orcptyinr" > </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="pyeptyinr" prop="pyeptyinr">
<c-input v-model="btb.pyeptyinr" style="width: 100%" placeholder="请输入pyeptyinr" > </c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="chkflg" prop="chkflg">
<c-input v-model="btb.chkflg" style="width: 100%" placeholder="请输入chkflg" > </c-input>
</el-form-item>
</c-col>
</c-col>
</c-col>
</el-form>
</div>
</template>
<script>
import { Pattern } from "../../model/Btb.js";
import codes from "~/config/CodeTable";
export default {
name: "",
props: ['btb','operate'],
data() {
return {
rules: Pattern,
};
},
methods: {
getCodesByKey(key) {
return codes[key] ?? [];
},
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs-tab">
<!-- ----------左 ---------->
<c-col :span="12" class="col-left">
<c-col :span="24">
<el-form-item label=" 代理行BIC" prop="corbnk">
<c-input
v-model="model.corbnk"
disabled
placeholder="请输入代理行BIC"
></c-input>
</el-form-item>
</c-col>
</c-col>
<!------------- 右 ---------->
<c-col :span="12" class="col-right">
<c-col :span="24">
<el-form-item label="代理行名称" prop="corbnknam">
<c-input
v-model="model.corbnknam"
maxlength="35"
placeholder="请输入代理行名称"
disabled
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="24" style="text-align: right">
<el-button type="primary" size="small" @click="btbAdd()">新增</el-button>
</c-col>
</c-col>
<c-col :span="24">
<c-paging-table
:data="model.btbData"
:columns="btbColumns"
:pageNumber="model.pageNum"
:pageSize="model.pageSize"
:total="model.total"
v-on:queryFunc="queryFunc"
:border="true"
>
<c-table-column fixed="right" prop="op" label="操作" width="240px">
<template slot-scope="{ scope }">
<c-button
style="margin-left: 5px"
size="small"
type="primary"
@click="btbEdit(scope.$index, scope.row)"
>修改</c-button
>
<c-button
size="small"
style="margin-left: 5px"
@click="btbDelete(scope.$index, scope.row)"
>删除</c-button
>
</template>
</c-table-column>
</c-paging-table>
</c-col>
<el-dialog
:title="
'参与行信息:' +
(operate === 'details' ? '详情' : operate === 'edit' ? '修改' : '新增')
"
:visible.sync="btbDialog"
top="10vh"
width="50%"
:destroy-on-close="true"
:before-close="handleClose"
>
<m-btb-info ref="btb" :btb="btb" :operate="operate"></m-btb-info>
<span slot="footer" class="dialog-footer">
<button
class="el-button el-button--default el-button--small"
style="margin-left: 0"
size="small"
:disabled="false"
@click.prevent="cancel"
>
<span>取 消</span>
</button>
<c-button type="primary" @click="" v-if="operate === 'details'"
>确 定</c-button
>
<c-button type="primary" @click="editBtb" v-if="operate === 'edit'"
>保 存</c-button
>
<c-button type="primary" @click="saveBtb" v-if="operate === 'add'"
>保 存</c-button
>
</span>
</el-dialog>
</div>
</template>
<script>
import codes from "~/config/CodeTable";
import { queryByPage,edit,add,deleteById } from "~/service/test/btb.js";
import BtbInfo from "./BtbInfo";
import Btb from "../../model/Btb.js";
export default {
name: "btbList",
components: {
"m-btb-info": BtbInfo,
},
props: ["model"],
data() {
return {
btbDialog: false,
btb: null,
operate: "",
btbColumns: [
{ label: '参加行BIC', prop: 'pyebch', width: '200' },
{ label: '参加行名称', prop: 'pyebchnam' },
{ label: '启用标志', prop: 'useflg', width: '120' },
// { label: '启用标志2', prop: 'chkflg', width: '120'},
],
};
},
created() {
},
methods: {
getCodesByKey(key) {
return codes[key] ?? [];
},
queryFunc(pageNumber, pageSize) {
console.log(this.model)
this.model.pageNum = pageNumber
this.model.pageSize = pageSize
this.onInfbtbSearch()
},
onInfbtbSearch() {
this.model.lnktyp="B";
queryByPage(this.model).then(res => {
const list = res.list
this.model.btbData = list
this.model.pageNum = res.pageNumber
this.model.pageSize = res.pageSize
this.model.total = res.total
})
},
/**
* 取消
*/
cancel() {
this.handleClose();
},
/**
* 修改
*/
btbEdit(index, row) {
this.btb = { ...row };
this.operate = "edit";
this.btbDialog = true;
},
editBtb() {
console.log(this.$refs.btb.$refs.modelForm);
console.log(this.$refs.btb.$refs.modelForm.$refs.useflg2);
this.$refs.btb.$refs.modelForm.validate((validated) => {
if (validated) {
edit(this.btb)
.then((res) => {
if (res.inr) {
this.$message.success("修改参与行信息成功!");
this.handleClose();
this.onInfbtbSearch();
}
})
}
});
},
btbDelete(index,row){
this.$confirm("是否真的删除?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning",
}).then((res) => {
deleteById(row).then((res) => {
if (res) {
this.model.btbData.splice(index, 1);
this.$message.success("删除成功!");
} else {
this.$message.error("删除失败!");
}
});
});
},
/**
* 新增
*/
btbAdd() {
this.btb = new Btb().data;
this.btb.lnktyp="B";
this.btb.corbnk=this.model.corbnk;
this.btb.corbnknam=this.model.corbnknam;
this.btb.chkflg="X";
//都不能为空,先给空格
this.btb.coract=" ";
this.btb.corptyinr=" ",
this.btb.orcbch= " ",
this.btb.orcbchnam= " ",
this.btb.orcptyinr= " ",
this.btb.pyeptyinr= " ",
this.operate = "add";
this.btbDialog = true;
},
saveBtb(){
this.$refs.btb.$refs.modelForm.validate((validated) => {
if (validated) {
add(this.btb).then((res) => {
this.$message.success("保存参与行信息成功!");
this.handleClose();
this.onInfbtbSearch();
})
}
});
},
handleClose(done) {
this.btbDialog = false;
if (done && typeof done === "function") {
done();
}
},
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eContainer">
<c-page :title="title">
<el-form
ref="modelForm"
label-width="160px"
size="small"
label-position="right"
:model="model"
:rules="rules"
:validate-on-rule-change="false"
>
<c-tabs v-model="tabVal" ref="elment" type="card">
<el-tab-pane label="基本信息" name="btb">
<c-content>
<m-btbList :model="model" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
</c-page>
</div>
</template>
<script>
import Utils from "~/utils";
import Btb, { Pattern } from "../../model/Btb.js";
import {queryDetailById,queryByPageByInr } from "~/service/test/btb.js";
import BtbList from "./BtbList.vue";
export default {
name: "StaticsDbibtb",
components: {
"m-btbList": BtbList,
},
provide() {
return {
root: this,
};
},
props: {
type: {
type: String,
default: "info"
},
title: {
type: String,
default: "dbibtb"
}
},
data() {
return {
model: new Btb().data,
tabVal: "btb",
rules: Pattern,
};
},
computed: {
},
created() {
const inr = this.$route.params.inr;
if(inr){
const data = {"inr":inr,"lnktyp":"B",pageNum:this.model.pageNum,pageSize:this.model.pageSize};
//通过inr查代理行信息
queryDetailById(data).then(res => {
this.model.corbnk = res.corbnk;
this.model.corbnknam = res.corbnknam;
})
queryByPageByInr(data).then(res => {
const list = res.list
if(list.length > 0){
this.model.btbData = list
this.model.pageNum = res.pageNumber
this.model.pageSize = res.pageSize
this.model.total = res.total
}else{
}
})
}
},
methods: {
commitAdd() {
this.$refs.modelForm.validate((validated) => {
if (validated) {
add(this.model)
.then((res) => {
this.$message.success("保存成功!");
this.goBack(true)
})
.catch((err) => {
this.$message.error("保存失败!");
});
} else {
Utils.formValidateTips(this.$refs.modelForm.fields)
}
});
},
/**
* update 是否更新infpty的查询列表
*/
goBack(update) {
this.$store.dispatch("TagsView/delView", this.$route);
this.$router.push({ name: "StaticsInfbtb", params: { update } });
},
},
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="eibs-tab">
<!-- ----------左 ---------->
<c-col :span="12" class="col-left">
<c-col :span="24">
<el-form-item label=" 代理行BIC" prop="corbnk">
<c-input
v-model="model.corbnk"
placeholder="请输入代理行BIC"
></c-input>
</el-form-item>
</c-col>
</c-col>
<!------------- 右 ---------->
<c-col :span="12" class="col-right">
<c-col :span="24">
<el-form-item label="代理行名称" prop="corbnknam">
<c-input
v-model="model.corbnknam"
maxlength="35"
placeholder="请输入代理行名称"
disabled
></c-input>
</el-form-item>
</c-col>
</c-col>
<c-col :span="24">
<c-col :span="12" style="text-align: right">
<el-button size="small" @click="handleReset">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="small"
@click="onSearch()"
>查询
</el-button>
</c-col>
</c-col>
<c-col :span="24">
<c-paging-table
:data="btbData"
:columns="btbColumns"
:pageNumber="model.pageNum"
:pageSize="model.pageSize"
:total="model.total"
v-on:queryFunc="queryFunc"
:border="true"
>
<c-table-column fixed="right" prop="op" label="操作" width="240px">
<template slot-scope="{ scope }">
<c-button
style="margin-left: 0"
size="small"
@click="btbInfo(scope.$index, scope.row)"
>详情</c-button
>
<!-- <c-button
style="margin-left: 5px"
size="small"
type="primary"
@click="btbEdit(scope.$index, scope.row)"
>修改</c-button
>
<c-button
size="small"
style="margin-left: 5px"
@click="btbDelete(scope.$index, scope.row)"
>删除</c-button
>
<el-popover placement="top-start" width="50" trigger="click">
<ul class="table-button-item-list">
<li>
<c-button size="small" style="margin-left: 0">指派</c-button>
</li>
<li>
<c-button size="small" style="margin-left: 0">删除</c-button>
</li>
</ul>
<a
slot="reference"
href="javascript:void(0)"
style="margin-left: 5px"
>
<i class="el-icon-more"></i>
</a>
</el-popover>-->
</template>
</c-table-column>
</c-paging-table>
</c-col>
</div>
</template>
<script>
import codes from "~/config/CodeTable";
import { queryByPage_Agent,queryByPage } from "~/service/test/btb.js";
export default {
name: "",
props: ["model"],
inject: ["root"],
data() {
return {
btbData: [],
btbColumns: [
{ label: '代理行BIC', prop: 'corbnk', width: '250' },
{ label: '代理行名称', prop: 'corbnknam' },
{ label: '参与行数', prop: 'pyenum', width: '200' },
],
};
},
computed: {
},
activated() {
const { update } = this.$route.params
if (update) {
this.onInfbtbSearch()
}
},
methods: {
handleReset() {
this.root.$refs.modelForm.resetFields();
},
onSearch(){
this.model.pageNum = 1;
this.model.pageSize = 5;
this.onInfbtbSearch();
},
onInfbtbSearch() {
this.model.lnktyp="B";
queryByPage_Agent(this.model).then(res => {
/**
* pageNumber: 0
* pageSize: 0
* total: 69
* totalPage: 0
*/
const list = res.list
this.btbData = list
this.model.pageNum = res.pageNumber
this.model.pageSize = res.pageSize
this.model.total = res.total
})
},
queryFunc(pageNumber, pageSize) {
this.model.pageNum = pageNumber
this.model.pageSize = pageSize
this.onInfbtbSearch()
},
getCodesByKey(key) {
return codes[key] ?? [];
},
btbInfo(index, row) {
//通过corbnk , pyebch获取inr
/* this.model.corbnk = row.corbnk;
this.model.lnktyp = 'A';*/
const date = {corbnk:row.corbnk,
lnktyp:'A',
pageNum:this.model.pageNum,
pageSize:this.model.pageSize}
queryByPage(date).then(res => {
const list = res.list
if(list.length == 1){
this.$router.push(`/statics/dbibtb/${list[0].inr}`)
}else{
}
})
},
},
};
</script>
<style scoped>
.table-button-item-list {
padding: 0;
margin: 0;
}
.table-button-item-list li {
list-style: none;
padding: 5px 0;
text-align: center;
color: #606266;
cursor: pointer;
}</style>
<template>
<div class="eContainer">
<c-page title="查询清算代理行">
<el-form
:model="model"
ref="modelForm"
label-width="120px"
label-position="right"
size="small"
>
<c-tabs v-model="tabVal" ref="elment" type="card">
<!--PD000039 -->
<el-tab-pane label="清算代理行查询" name="infsea">
<c-content>
<m-infsea :model="model" ref="infsea" />
</c-content>
</el-tab-pane>
</c-tabs>
</el-form>
</c-page>
</div>
</template>
<script>
import Infsea from "./Infsea";
export default {
name: "StaticsInfbtb",
components: {
"m-infsea": Infsea,
},
provide() {
return {
root: this,
};
},
data() {
return {
tabVal: "infsea",
model: {
inr:"",
corbnknam: "",
pyebch:"",
corbnk: "",
lnktyp:"",
pageNum: 1,
pageSize: 5,
total: 0
},
};
},
};
</script>
<style></style>
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