Commit 09410e66 by zxg
parents 7783763a c422b996
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -123,6 +123,9 @@ export default { ...@@ -123,6 +123,9 @@ export default {
if( name === "detp1"){ if( name === "detp1"){
rulePath = "setmod.setpan" rulePath = "setmod.setpan"
} }
if(name === "actinf"){
rulePath = "recpan.actinf"
}
if (!!rulePath) { if (!!rulePath) {
this.executeRule(rulePath).then(res => { this.executeRule(rulePath).then(res => {
if (res.respCode == SUCCESS) { if (res.respCode == SUCCESS) {
......
...@@ -122,5 +122,8 @@ export default { ...@@ -122,5 +122,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'}); this.$notify.error({title: '错误',message: '服务请求失败!'});
} }
}, },
onSeainf(){
},
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ let checkObj = { ...@@ -7,6 +7,7 @@ let checkObj = {
"seatypo" :null, "seatypo" :null,
"recgrp.rec.hbkaccflg" :null, "recgrp.rec.hbkaccflg" :null,
"recgrp.hbk.extkey" :null, "recgrp.hbk.extkey" :null,
"recgrp.rec.idcode" :null,
"seatypc" :null, "seatypc" :null,
"seatypb" :null, "seatypb" :null,
"recgrp.ptamaa.issbchinf" :null, "recgrp.ptamaa.issbchinf" :null,
...@@ -14,9 +15,12 @@ let checkObj = { ...@@ -14,9 +15,12 @@ let checkObj = {
"seatyph" :null, "seatyph" :null,
"recgrp.rec.heqaccflg" :null, "recgrp.rec.heqaccflg" :null,
"recgrp.heq.extkey" :null, "recgrp.heq.extkey" :null,
"recgrp.rec.trnman" :null,
"recgrp.rec.extkey" :null, "recgrp.rec.extkey" :null,
"recpan.bchkey" :null, "recpan.bchkey" :null,
"recgrp.rec.juscod" :null, "recgrp.rec.juscod" :null,
"recgrp.rec.bngcod" :null,
"recgrp.rec.idtype" :null,
} }
for (const key in checkObj) { for (const key in checkObj) {
......
...@@ -6,8 +6,10 @@ import Api from "~/service/Api"; ...@@ -6,8 +6,10 @@ import Api from "~/service/Api";
import Utils from "~/utils/index" import Utils from "~/utils/index"
export default { export default {
"recpan.ratstm" :Utils.defaultFunction,
"recgrp.hbk.extkey" :Utils.defaultFunction, "recgrp.hbk.extkey" :Utils.defaultFunction,
"recgrp.rec.extkey" :Utils.defaultFunction, "recgrp.rec.extkey" :Utils.defaultFunction,
"recgrp.ptyrat.buytyp" :Utils.defaultFunction,
"recgrp.typh" :Utils.defaultFunction, "recgrp.typh" :Utils.defaultFunction,
"recgrp.typo" :Utils.defaultFunction, "recgrp.typo" :Utils.defaultFunction,
"recgrp.typc" :Utils.defaultFunction, "recgrp.typc" :Utils.defaultFunction,
...@@ -15,17 +17,24 @@ export default { ...@@ -15,17 +17,24 @@ export default {
"recgrp.typb" :Utils.defaultFunction, "recgrp.typb" :Utils.defaultFunction,
"recpan.bchkey" :Utils.defaultFunction, "recpan.bchkey" :Utils.defaultFunction,
"recgrp.adrmaa.tid" :Utils.defaultFunction, "recgrp.adrmaa.tid" :Utils.defaultFunction,
"recgrp.ptyrat.cur" :Utils.defaultFunction,
"recpan.ptyinf.oit.inftxt" :Utils.defaultFunction,
"recpan.ptyinf.oit.inflev" :Utils.defaultFunction,
"recgrp.adrmaa.adr2" :Utils.defaultFunction, "recgrp.adrmaa.adr2" :Utils.defaultFunction,
"recgrp.adrmaa.adr1" :Utils.defaultFunction, "recgrp.adrmaa.adr1" :Utils.defaultFunction,
"recgrp.adrmaa.adr3" :Utils.defaultFunction, "recgrp.adrmaa.adr3" :Utils.defaultFunction,
"recgrp.heq.extkey" :Utils.defaultFunction, "recgrp.heq.extkey" :Utils.defaultFunction,
"recgrp.adrmaa.loctxt" :Utils.defaultFunction, "recgrp.adrmaa.loctxt" :Utils.defaultFunction,
"recgrp.adrmaa.nam1" :Utils.defaultFunction, "recgrp.adrmaa.nam1" :Utils.defaultFunction,
"recgrp.rec.idtype" :Utils.defaultFunction,
"infbut.dspstm" :Utils.defaultFunction, "infbut.dspstm" :Utils.defaultFunction,
"recgrp.rec.juscod" :Utils.defaultFunction, "recgrp.rec.juscod" :Utils.defaultFunction,
"recgrp.rec.nam" :Utils.defaultFunction, "recgrp.rec.nam" :Utils.defaultFunction,
"recpan.ptystp.oit.inftxt" :Utils.defaultFunction,
"recpan.ptystp.oit.inflev" :Utils.defaultFunction,
"recgrp.rec.nam1" :Utils.defaultFunction, "recgrp.rec.nam1" :Utils.defaultFunction,
"recgrp.adrmaa.pobtxt" :Utils.defaultFunction, "recgrp.adrmaa.pobtxt" :Utils.defaultFunction,
"recgrp.ptyrat.seltyp" :Utils.defaultFunction,
"recgrp.ptamaa.issbchinf" :Utils.defaultFunction, "recgrp.ptamaa.issbchinf" :Utils.defaultFunction,
} }
//你可以添加自动default处理 //你可以添加自动default处理
...@@ -7,19 +7,26 @@ export default { ...@@ -7,19 +7,26 @@ export default {
if(rtnmsg.respCode == SUCCESS) if(rtnmsg.respCode == SUCCESS)
{ {
//TODO 处理数据逻辑 //TODO 处理数据逻辑
this.updateModel(rtnmsg.data);
this.stmData.data = rtnmsg.data.infbut_dspstm.rows;
} }
else else
{ {
this.$notify.error({title: '错误',message: '服务请求失败!'}); this.$notify.error({title: '错误',message: '服务请求失败!'});
} }
}, },
async onInfbutDsp(){ async onInfbutDsp(idx, row){
let rtnmsg = await this.executeRule("infbut.dsp") const selIds= [idx + 1];
const selDst= "dspstm";//dspstm是数据流
let params = {selIds,selDst};
this.model.infbut.selrow = idx + 1;
let rtnmsg = await this.executeRule("infbut.dsp", params)
if(rtnmsg.respCode == SUCCESS) if(rtnmsg.respCode == SUCCESS)
{ {
//TODO 处理数据逻辑 //TODO 处理数据逻辑
this.updateModel(rtnmsg.data);
console.log(this);
this.root.tabVal="ptyp0";
} }
else else
{ {
...@@ -122,5 +129,95 @@ export default { ...@@ -122,5 +129,95 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'}); this.$notify.error({title: '错误',message: '服务请求失败!'});
} }
}, },
async onRecpanUpd(){
let rtnmsg = await this.executeRule("recpan.upd")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onRecpanUpdall(){
let rtnmsg = await this.executeRule("recpan.updall")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onRecpanEcif(){
let rtnmsg = await this.executeRule("recpan.ecif")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onRecpanDspadr(){
let rtnmsg = await this.executeRule("recpan.dspadr")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onRecpanLnkdbmpty(){
let rtnmsg = await this.executeRule("recpan.lnkdbmpty")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onRecpanLnkinfptm(){
let rtnmsg = await this.executeRule("recpan.lnkinfptm")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
/**
* Tabs切换事件
* @param {VM} tab
*/
// async tabClick(tab){
// const name=this.tab.name
// let rulePath;
// if(name=== "actinf" ){
// rulePath="recpan.actinf"
// let rtnmsg = await this.executeRule(rulePath)
// }
// if(rtnmsg.respCode == SUCCESS)
// {
// //TODO 处理数据逻辑
// console.log(事件触发了)
// }
// },
} }
\ No newline at end of file
...@@ -230,4 +230,113 @@ export default { ...@@ -230,4 +230,113 @@ export default {
{type: "string", required: false, message: "必输项"}, {type: "string", required: false, message: "必输项"},
{max: 10,message:"长度不能超过10"} {max: 10,message:"长度不能超过10"}
], ],
"recgrp.rec.rsktxt":[
{type: "string", required: false, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"recgrp.adrmaa.dtacid":[
{type: "string", required: false, message: "必输项"},
{max: 23,message:"长度不能超过23"}
],
"recgrp.adrmaa.dtecid":[
{type: "string", required: false, message: "必输项"},
{max: 23,message:"长度不能超过23"}
],
"recgrp.ptyrat.buyrat":[
{type: "string", required: false, message: "必输项"},
{max: 5,message:"长度不能超过5"}
],
"recgrp.adrmaa.dtgcid":[
{type: "string", required: false, message: "必输项"},
{max: 23,message:"长度不能超过23"}
],
"recgrp.ptyrat.selrat":[
{type: "string", required: false, message: "必输项"},
{max: 5,message:"长度不能超过5"}
],
"recpan.ratstm":[
{type: "string", required: false, message: "必输项"},
{max: 1,message:"长度不能超过1"}
],
"recgrp.adrmaa.namelc":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"recgrp.adrmaa.adrelc":[
{type: "string", required: true, message: "必输项"},
{max: 35,message:"长度不能超过35"}
],
"recgrp.rec.bilvvv":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"recgrp.rec.akkcom":[
{type: "string", required: false, message: "必输项"},
{max: 8,message:"长度不能超过8"}
],
"recgrp.rec.bngcod":[
{type: "string", required: false, message: "必输项"},
{max: 10,message:"长度不能超过10"}
],
"recgrp.rec.idcode":[
{type: "string", required: false, message: "必输项"},
{max: 32,message:"长度不能超过32"}
],
"recgrp.adrmaa.discod":[
{type: "string", required: false, message: "必输项"},
{max: 6,message:"长度不能超过6"}
],
"recgrp.rec.ecifno":[
{type: "string", required: false, message: "必输项"},
{max: 24,message:"长度不能超过24"}
],
"recgrp.rec.khbsdt":[
{type: "date", required: false, message: "输入正确的日期"}
],
"recgrp.rec.ecifnam1":[
{type: "string", required: false, message: "必输项"},
{max: 100,message:"长度不能超过100"}
],
"recgrp.rec.ecifjuscod":[
{type: "string", required: false, message: "必输项"},
{max: 50,message:"长度不能超过50"}
],
"recpan.ptyinf.oit.inftxt":[
{type: "string", required: true, message: "必输项"},
{max: 60,message:"长度不能超过60"}
],
"recpan.ptystp.oit.inftxt":[
{type: "string", required: true, message: "必输项"},
{max: 60,message:"长度不能超过60"}
],
"recpan.actnum":[
{type: "number", required: false, message: "必输项"},
{max: 6,message:"长度不能超过6"}
],
} }
\ No newline at end of file
...@@ -20,6 +20,7 @@ export default class Infpty{ ...@@ -20,6 +20,7 @@ export default class Infpty{
seatypo:"", // Other .seatypo seatypo:"", // Other .seatypo
infbut:{ infbut:{
dspstm:"", // display stream .infbut.dspstm dspstm:"", // display stream .infbut.dspstm
selrow: 0 // Number of selected row
}, },
seatyph:"", // 海关 .seatyph seatyph:"", // 海关 .seatyph
persontype:"", // 客户类别 .persontype persontype:"", // 客户类别 .persontype
...@@ -36,7 +37,25 @@ export default class Infpty{ ...@@ -36,7 +37,25 @@ export default class Infpty{
accusr:"", // User ID of Account Officer .recgrp.rec.accusr accusr:"", // User ID of Account Officer .recgrp.rec.accusr
nam1:"", // Chinese name .recgrp.rec.nam1 nam1:"", // Chinese name .recgrp.rec.nam1
juscod:"", // 组织机构'码 .recgrp.rec.juscod juscod:"", // 组织机构'码 .recgrp.rec.juscod
dshflg:"", // 是否电商 .recgrp.rec.dshflg dshflg:"",
rskcls:"", // Credit Class .recgrp.rec.rskcls
rskcty:"", // Risk Country .recgrp.rec.rskcty
rsktxt:"", // Risk Description .recgrp.rec.rsktxt
sla:"", // Service Level .recgrp.rec.sla
akkcom:"", // 金融机构类型 .recgrp.rec.akkcom
cunqii:"", // 流动资金贷款利率档次 .recgrp.rec.cunqii
bilvvv:"", // 上浮比率 .recgrp.rec.bilvvv
idtype:"", // 客户类型 .recgrp.rec.idtype
idcode:"", // 身份证号码 .recgrp.rec.idcode
trnman:"", // 交易主体 .recgrp.rec.trnman
speeco:"", // 特殊经济区域 .recgrp.rec.speeco
bngcod:"", // 企业海关十位制编码 .recgrp.rec.bngcod
ecifno:"", // ECIFNO .recgrp.rec.ecifno
crmtyp:"", // 贸金客户类别 .recgrp.rec.crmtyp
ecifnam1:"", // ECIFNO中文名称 .recgrp.rec.ecifnam1
ecifjuscod:"", // 组织机构代码 .recgrp.rec.ecifjuscod
qygmgb:"", // 企业规模(国标) .recgrp.rec.qygmgb
khbsdt:"", // 是否电商 .recgrp.rec.dshflg
}, },
typb:"", // Bank .recgrp.typb typb:"", // Bank .recgrp.typb
typc:"", // Client .recgrp.typc typc:"", // Client .recgrp.typc
...@@ -72,6 +91,12 @@ export default class Infpty{ ...@@ -72,6 +91,12 @@ export default class Infpty{
adr1:"", // Chinese Address .recgrp.adrmaa.adr1 adr1:"", // Chinese Address .recgrp.adrmaa.adr1
adr2:"", // .recgrp.adrmaa.adr2 adr2:"", // .recgrp.adrmaa.adr2
adr3:"", // .recgrp.adrmaa.adr3 adr3:"", // .recgrp.adrmaa.adr3
dtacid:"", // DTA Import L/C ID .recgrp.adrmaa.dtacid
dtecid:"", // DTA Export L/C ID .recgrp.adrmaa.dtecid
dtgcid:"", // DTA Guarantees ID .recgrp.adrmaa.dtgcid
discod:"", // 国内地区码 .recgrp.adrmaa.discod
adrelc:"", // 地址 .recgrp.adrmaa.adrelc
namelc:"", // .recgrp.adrmaa.adr3
}, },
hbk:{ hbk:{
extkey:"", // Address Number .recgrp.hbk.extkey extkey:"", // Address Number .recgrp.hbk.extkey
...@@ -85,6 +110,13 @@ export default class Infpty{ ...@@ -85,6 +110,13 @@ export default class Infpty{
ptamaa:{ ptamaa:{
issbchinf:"", // Info of bank .recgrp.ptamaa.issbchinf issbchinf:"", // Info of bank .recgrp.ptamaa.issbchinf
}, },
ptyrat:{
cur:"", // Currency .recgrp.ptyrat.cur
buytyp:"", // Customer Specific Buying Rate Type .recgrp.ptyrat.buytyp
seltyp:"", // Customer Specific Selling Rate Type .recgrp.ptyrat.seltyp
buyrat:"", // Buy rate discount .recgrp.ptyrat.buyrat
selrat:"", // Sell rate discount .recgrp.ptyrat.selrat
},
}, },
recpan:{ recpan:{
recget:{ recget:{
...@@ -105,7 +137,32 @@ export default class Infpty{ ...@@ -105,7 +137,32 @@ export default class Infpty{
dadsnd:"", // Drag Drop Sender .recpan.heqget.sdamod.dadsnd dadsnd:"", // Drag Drop Sender .recpan.heqget.sdamod.dadsnd
}, },
}, },
bchkey:"", // Branch Key .recpan.bchkey bchkey:"",// Branch Key .recpan.bchkey
idnam:"", // 名称 .recpan.idnam
selpct:"", // Percent .recpan.selpct
buypct:"", // Percent .recpan.buypct
ratstm:"", // Rate Stream .recpan.ratstm
ptyinf:{
labinftxt:"", // Label for INFTXT .recpan.ptyinf.labinftxt
oit:{
inftxt:"", // Infotext .recpan.ptyinf.oit.inftxt
inflev:"", // Infotext Level .recpan.ptyinf.oit.inflev
},
},
ptystp:{
labinftxt:"", // Label for INFTXT .recpan.ptystp.labinftxt
oit:{
inftxt:"", // Infotext .recpan.ptystp.oit.inftxt
inflev:"", // Infotext Level .recpan.ptystp.oit.inflev
},
},
actnum:0, // Total Number of Accounts .recpan.actnum
act:"", //后加进来的LIst 后端IDEA
ptssub:{
oited2:{
labinftxt:"", // Label for INFTXT .recpan.ptssub.oited2.labinftxt
},
},
}, },
pageId: "" // ctx的key pageId: "" // ctx的key
} }
......
...@@ -27,6 +27,9 @@ const UserContext={ ...@@ -27,6 +27,9 @@ const UserContext={
state.menu = [] state.menu = []
state.state = "LOGOUT" state.state = "LOGOUT"
state.token = "" state.token = ""
},
setMenu(state, menu) {
state.menu = menu;
} }
} }
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<c-row> <c-row>
<!-- ====================左边======================= --> <!-- ====================左边======================= -->
<c-col :span="11"> <c-col :span="11">
<c-col :span="24"> <c-col :span="23">
<el-form-item <el-form-item
label="信用证参考号" label="信用证参考号"
prop="didgrp.rec.ownref" prop="didgrp.rec.ownref"
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
</el-form-item> </el-form-item>
</c-col> </c-col>
<c-col :span="24"> <c-col :span="23">
<el-form-item <el-form-item
label="信用证号码" label="信用证号码"
prop="didgrp.rec.ownref" prop="didgrp.rec.ownref"
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
></c-button> ></c-button>
</c-col> </c-col>
<c-col :span="24"> <c-col :span="23">
<el-form-item <el-form-item
label="单据参考号" label="单据参考号"
prop="bddgrp.rec.ownref" prop="bddgrp.rec.ownref"
......
<template> <template>
<c-page title="买方信用证单据二次到单">
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
<el-button size="small">备忘录</el-button>
<el-button size="small">影像信息</el-button>
<!-- <el-button size="small">保存模板</el-button> -->
<!-- <el-button size="small">使用模板</el-button> -->
<el-button size="small">制裁信息</el-button>
<!-- <el-button size="small">拆分报文</el-button> -->
<el-button size="small">智能提示</el-button>
</c-function-btn>
<div class="eContainer"> <div class="eContainer">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right" size="small" :validate-on-rule-change="false"> <el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right" size="small" :validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick"> <c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<!--PD000046 --> <!--PD000046 -->
<el-tab-pane label="单据概况" name="brtdckp"> <el-tab-pane label="单据概况" name="brtdckp">
<m-brtdckp :model="model" :codes="codes"/> <c-content>
<m-brtdckp
:model="model"
:codes="codes"
v-on:changeShowDocpre="changeShowDocpre"
/>
</c-content>
</el-tab-pane> </el-tab-pane>
<!--PD000062 --> <!--PD000062 -->
<el-tab-pane label="单据详情" name="docpre"> <el-tab-pane label="单据详情" name="docpre"> <!--v-if="isShowDocpre"-->
<m-docpre :model="model" :codes="codes"/> <m-docpre :model="model" :codes="codes"/>
</el-tab-pane> </el-tab-pane>
...@@ -40,12 +60,15 @@ ...@@ -40,12 +60,15 @@
</c-tabs> </c-tabs>
</el-form> </el-form>
</div> </div>
</c-page>
</template> </template>
<script> <script>
import Api from "~/service/Api" import Api from "~/service/Api"
import Utils from "~/utils/index";
import CodeTable from "~/config/CodeTable" import CodeTable from "~/config/CodeTable"
import Bdtdck from "~/model/Bdtdck" import Bdtdck from "~/model/Bdtdck"
import commonProcess from "~/mixin/commonProcess" import commonProcess from "~/mixin/commonProcess"
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Bdtdck/Check" import Check from "~/model/Bdtdck/Check"
import Default from "~/model/Bdtdck/Default" import Default from "~/model/Bdtdck/Default"
import Pattern from "~/model/Bdtdck/Pattern" import Pattern from "~/model/Bdtdck/Pattern"
...@@ -74,10 +97,11 @@ export default { ...@@ -74,10 +97,11 @@ export default {
root: this root: this
} }
}, },
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理 mixins: [commonProcess,commonFuncs], // 里面包含了Default、Check等的公共处理
data(){ data(){
return { return {
tabVal: "", isShowDocpre: false,
tabVal: "brtdckp",
trnName: "bdtdck", trnName: "bdtdck",
model: new Bdtdck().data, model: new Bdtdck().data,
checkRules: Check, checkRules: Check,
...@@ -85,24 +109,33 @@ export default { ...@@ -85,24 +109,33 @@ export default {
pattern: Pattern, pattern: Pattern,
rules: null, rules: null,
codes: { codes: {
...CodeTable
}, },
} }
}, },
methods:{ methods:{
tabClick(){ changeShowDocpre(val) {
} this.isShowDocpre = val;
},
}, },
created:async function(){ created:async function(){
console.log("进入bdtdck交易"); console.log("进入bdtdck交易");
let rtnmsg = await this.init({}) let rtnmsg = await this.init(this.$route.query)
if(rtnmsg.respCode == SUCCESS) if(rtnmsg.respCode == SUCCESS)
{ {
//TODO 处理数据逻辑 //TODO 处理数据逻辑
console.log(rtnmsg);
Utils.copyValueFromVO(this.model, rtnmsg.data);
console.log(this.model);
if (this.isInDisplay) {
this.restoreDisplay();
}
} }
else if (this.model.bddgrp.rec.dscinsflg == "X") {
{ this.isShowDocpre = true;
this.$notify.error({title: '错误',message: '服务请求失败!'}); } else {
this.$notify.error({ title: "错误", message: "服务请求失败!" });
} }
} }
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<c-row> <c-row>
<!-- 左边 --> <!-- 左边 -->
<c-col :span="12"> <c-col :span="12">
<c-col :span="24"> <c-col :span="23">
<el-form-item <el-form-item
label="信用证参考号" label="信用证参考号"
prop="didgrp.rec.ownref" prop="didgrp.rec.ownref"
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
</el-form-item> </el-form-item>
</c-col> </c-col>
<c-col :span="24"> <c-col :span="23">
<el-form-item <el-form-item
label="信用证号码" label="信用证号码"
prop="didgrp.rec.ownref" prop="didgrp.rec.ownref"
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
></c-button> ></c-button>
</c-col> </c-col>
<c-col :span="24"> <c-col :span="23">
<el-form-item <el-form-item
label="单据参考号" label="单据参考号"
prop="bddgrp.rec.ownref" prop="bddgrp.rec.ownref"
......
<template> <template>
<c-page title="买方信用证单据展期">
<div class="eContainer"> <div class="eContainer">
<c-function-btn
:handleSubmit="handleSubmit"
:handleCheck="handleCheck"
:handleStash="handleStash"
>
</c-function-btn>
<el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right" size="small" :validate-on-rule-change="false"> <el-form :model="model" :rules="rules" ref="modelForm" label-width="150px" label-position="right" size="small" :validate-on-rule-change="false">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick"> <c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
...@@ -40,12 +47,14 @@ ...@@ -40,12 +47,14 @@
</c-tabs> </c-tabs>
</el-form> </el-form>
</div> </div>
</c-page>
</template> </template>
<script> <script>
import Api from "~/service/Api" import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable" import CodeTable from "~/config/CodeTable"
import Bdteus from "~/model/Bdteus" import Bdteus from "~/model/Bdteus"
import commonProcess from "~/mixin/commonProcess" import commonProcess from "~/mixin/commonProcess"
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Bdteus/Check" import Check from "~/model/Bdteus/Check"
import Default from "~/model/Bdteus/Default" import Default from "~/model/Bdteus/Default"
import Pattern from "~/model/Bdteus/Pattern" import Pattern from "~/model/Bdteus/Pattern"
...@@ -74,10 +83,10 @@ export default { ...@@ -74,10 +83,10 @@ export default {
root: this root: this
} }
}, },
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理 mixins: [commonProcess,commonFuncs], // 里面包含了Default、Check等的公共处理
data(){ data(){
return { return {
tabVal: "", tabVal: "brteus",
trnName: "bdteus", trnName: "bdteus",
model: new Bdteus().data, model: new Bdteus().data,
checkRules: Check, checkRules: Check,
......
...@@ -155,7 +155,7 @@ const BusRouter = [ ...@@ -155,7 +155,7 @@ const BusRouter = [
{ path: 'bdtudp', component: Bdtudp, name: 'Bdtudp', meta: { title: '国内证承兑' } }, { path: 'bdtudp', component: Bdtudp, name: 'Bdtudp', meta: { title: '国内证承兑' } },
{ path: 'bdtdcr', component: Bdtdcr, name: 'Bdtdcr', meta: { title: '国内证不符点/拒付' } }, { path: 'bdtdcr', component: Bdtdcr, name: 'Bdtdcr', meta: { title: '国内证不符点/拒付' } },
{ path: 'bdtdck', component: Bdtdck, name: 'Bdtdck', meta: { title: '买方信用证单据二次到单/修改单据' } }, { path: 'bdtdck', component: Bdtdck, name: 'Bdtdck', meta: { title: '买方信用证单据二次到单/修改单据' } },
{ path: 'bdteus', component: Bdteus, name: 'Bdteus', meta: { title: '方信用证单据展期' } }, { path: 'bdteus', component: Bdteus, name: 'Bdteus', meta: { title: '方信用证单据展期' } },
{ path: 'cptadv', component: Cptadv, name: 'Cptadv', meta: { title: '汇入汇款' } }, { path: 'cptadv', component: Cptadv, name: 'Cptadv', meta: { title: '汇入汇款' } },
{ path: 'cptopn', component: Cptopn, name: 'Cptopn', meta: { title: '汇出汇款' } }, { path: 'cptopn', component: Cptopn, name: 'Cptopn', meta: { title: '汇出汇款' } },
{ path: 'cptati', component: Cptati, name: 'Cptati', meta: { title: '境内外币汇入汇款' } }, { path: 'cptati', component: Cptati, name: 'Cptati', meta: { title: '境内外币汇入汇款' } },
......
<template>
<div class="eibs-tab">
<c-col :span="8" style="height: 24px" >
<el-form-item label="Accounts Defined" class="messageLabel">
</el-form-item>
</c-col>
<!-- <el-form-item label="Total Number of Accounts" prop="recpan.actnum">
<c-col :span="6">
<c-input
v-model="model.recpan.actnum"
placeholder="Total Number of Accounts"
></c-input>
</c-col>
</el-form-item> -->
<c-table
:border="true"
:list="data"
ref="table"
style="width:80%,text-aligen:center"
height="500"
:paginationShow="false"
>
<el-table-column label="Type"
width="auto"
prop="typ"
sortable
></el-table-column>
<el-table-column
label="Cur."
width="auto"
prop="cur"
sortable
></el-table-column>
<el-table-column
label="Account No."
width="auto"
prop="extkey"
sortable
></el-table-column>
<el-table-column
label="科目代码"
width="auto"
prop="trmtyp"
sortable
></el-table-column>
<el-table-column
label=" "
width="auto"
prop="nam"
sortable
></el-table-column>
</c-table>
</div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Infpty/Event";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [commonProcess],
data() {
return {
data: [],
};
},
methods: { ...Event
},
created: function () {},
watch: {
"model.recpan.act": function () {
this.data = this.model.recpan.act;
this.$nextTick(() => {
for (let i = 0; i < this.data.length; i++) {
if (this.data[i].exeflg == "Y") {
this.$refs.table.$refs.table.toggleRowSelection(
this.data[i],
true
);
}
}
});
},
},
};
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="24" style="height: 24px" text-align=justify>
<el-form-item label="Additional Addresses" class="messageLabel">
</el-form-item>
</c-col>
<!-- <c-col :span="24">
<el-divider></el-divider>
</c-col> -->
<c-table :border="true" :list="data" ref="table"
style="width:80%,text-aligen:center" height="500"
:paginationShow="false">
<el-table-column
label="Key"
width="auto"
prop="extkey"></el-table-column>
<el-table-column
label="Address"
width="auto"
prop="nam"
sortable
></el-table-column>
<el-table-column
label="BIC"
width="auto"
prop="bic"
sortable
></el-table-column>
<el-table-column
label="Location"
width="auto"
prop="loctxt"
sortable
></el-table-column>
</c-table>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Infpty/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
data:[]
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
// <c-col :span="12">
// <c-button size="small" type="primary" @click="onRecpanDspadr">
// Display
// </c-button>
// </c-col>
// <c-col :span="12">
// <c-button size="small" type="primary" @click="onRecpanLnkdbmpty">
// &Make Main
// </c-button>
// </c-col>
\ No newline at end of file
<template> <template>
<div class="eibs-tab"> <div class="eibs-tab">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="150px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-col :span="24" style="margin-top: 10px">
<!-- ----------左 ----------> <!-- ----------左 ---------->
<c-col :span="11"> <c-col :span="11">
<c-col :span="24"> <c-col :span="24">
...@@ -64,7 +55,7 @@ ...@@ -64,7 +55,7 @@
</c-col> </c-col>
</c-col> </c-col>
<!------------- 右 ----------> <!------------- 右 ---------->
<c-col :span="11" :offset="1"> <c-col :span="12" :offset="1">
<c-col :span="24"> <c-col :span="24">
<el-form-item label="Party No." prop="ptysea.extkey"> <el-form-item label="Party No." prop="ptysea.extkey">
<c-input <c-input
...@@ -117,8 +108,8 @@ ...@@ -117,8 +108,8 @@
</c-col> </c-col>
</c-col> </c-col>
</c-col> </c-col>
</c-col>
<c-col :span="24">
<el-form-item label="Type"> <el-form-item label="Type">
<el-radio-group v-model="radio"> <el-radio-group v-model="radio">
<el-radio :label="0" v-model="model.seatypb">Bank</el-radio> <el-radio :label="0" v-model="model.seatypb">Bank</el-radio>
...@@ -128,7 +119,7 @@ ...@@ -128,7 +119,7 @@
<el-radio :label="4" v-model="model.seatyph">海关</el-radio> <el-radio :label="4" v-model="model.seatyph">海关</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</c-col>
<c-col :span="24" style="text-align: right; height: 36.8px"> <c-col :span="24" style="text-align: right; height: 36.8px">
<!--原生重置按钮 <c-col :span="12"> <!--原生重置按钮 <c-col :span="12">
<c-button size="small" type="primary" @click="onInfbutClr"> <c-button size="small" type="primary" @click="onInfbutClr">
...@@ -165,14 +156,17 @@ ...@@ -165,14 +156,17 @@
</c-button> </c-button>
</c-col> </c-col>
<c-col :span="24" > <c-col :span="24" >
<c-istream-table :list="stmData.data" :columns="stmData.columns" <c-istream-table
:list="stmData.data"
:columns="stmData.columns"
:showButtonFlg="true"> :showButtonFlg="true">
<el-table-column fix="right" prop="op" label="操作" width="165px"> <c-table-column fixed="right" prop="op" label="操作" width="165px">
<template slot-scope="{ scope }"> <template slot-scope="{ scope }">
<c-button <c-button
style="margin-left: 0" style="margin-left: 0"
size="small" size="small"
@click="display(scope.$index, scope.row)" @click="onInfbutDsp(scope.$index, scope.row)"
> >
详情 详情
</c-button> </c-button>
...@@ -205,7 +199,7 @@ ...@@ -205,7 +199,7 @@
></a> ></a>
</el-popover> </el-popover>
</template> </template>
</el-table-column> </c-table-column>
</c-istream-table> </c-istream-table>
</c-col> </c-col>
...@@ -256,7 +250,7 @@ ...@@ -256,7 +250,7 @@
<!-- <c-col :span="8"> <!-- <c-col :span="8">
<c-checkbox v-model="model.seatypc">Client</c-checkbox> <c-checkbox v-model="model.seatypc">Client</c-checkbox>
</c-col> --> </c-col> -->
</el-form>
</div> </div>
</template> </template>
<script> <script>
...@@ -293,21 +287,7 @@ export default { ...@@ -293,21 +287,7 @@ export default {
}, },
}; };
}, },
methods: { methods: {...Event},
...Event,
async onInfbutSearow() {
let rule = "infbut.searow";
let rtnmsg = await this.executeRule(rule);
if (rtnmsg.respCode == SUCCESS) {
//处理响应
this.stmData.data = rtnmsg.data.infbut_dspstm.rows;
}
// this.executeRule("infbut_dspstm").then(res => {
// console.log(res);
// })
// this.$refs.infsea.stmData.data = rtnmsg.codeSet['infbut.dspstm']
},
},
created: function () {}, created: function () {},
}; };
</script> </script>
......
<template>
<div class="eibs-tab">
<c-col :span="12" style="height: 24px" >
<el-form-item label="Available Info of Party " class="messageLabel">
</el-form-item>
</c-col>
<c-table :border="true" :list="data" ref="table"
style="width:80%,text-aligen:center" height="500"
:paginationShow="false">
<el-table-column
label="Type"
width="auto"
prop="subtyp"
>
</el-table-column>
<el-table-column
label="Business Sector"
width="auto"
prop="subbus"
sortable></el-table-column>
<el-table-column
label="Display Level"
width="auto"
prop="inflev"
sortable
></el-table-column>
<el-table-column
label="Text"
width="auto"
prop="shttxt"
sortable
></el-table-column>
<c-table-column fixed="right" prop="op" label="操作" width="65px">
<template slot-scope="{ scope }">
<c-button
style="margin-left: 0"
size="small"
@click="onInfbutDsp(scope.$index, scope.row)"
>
Details
</c-button>
</template>
</c-table-column>
</c-table>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Infpty/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
data:[]
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<!-- <c-col :span="12">
<span v-text="model.recpan.ptssub.oited2.labinftxt" data-path=".recpan.ptssub.oited2.labinftxt" > </span>
</c-col> -->
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-col :span="8" style="height: 24px" :pull="1">
<el-form-item label="Contact Persons" class="messageLabel">
</el-form-item>
</c-col>
<c-table :border="true" :list="data" ref="table"
style="width:80%,text-aligen:center" height="500"
:paginatonShow="false">
<el-table-column
label="Gender"
width="auto"
prop="gen"
></el-table-column>
<el-table-column
label="Name"
width="auto"
prop="nam"
sortable
></el-table-column>
<el-table-column
label="Department"
width="auto"
prop="dep"
sortable
></el-table-column>
<el-table-column
label="Office Phone"
width="auto"
prop="teloff"
sortable
></el-table-column>
<el-table-column
label="E-mail"
width="auto"
prop="eml"
sortable
></el-table-column>
<el-table-column
label="Telefax"
width="auto"
prop="telfax"
sortable
></el-table-column>
</c-table>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Infpty/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
data:[]
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<template>
<div class="eibs-tab">
<c-col :span="8" style="height: 24px" >
<el-form-item label="Authentication of Address" class="messageLabel">
</el-form-item>
</c-col>
<c-table :border="true" :list="data" ref="table"
style="width:80%,text-aligen:center" height="500"
:paginationShow="false"
>
<el-table-column
label="Corr.Type"
width="auto"
prop="cortyp"
></el-table-column>
<el-table-column
label="Address of Message "
width="auto"
prop="coradr"
sortable
></el-table-column>
<el-table-column
label="Authenticator "
width="auto"
prop="autflg"
sortable
></el-table-column>
<el-table-column
label="Public key"
width="auto"
prop="autdet"
sortable
></el-table-column>
</c-table>
</div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Infpty/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
data:[]
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
// <c-col :span="12">
// <c-button size="small" type="primary" @click="onRecpanLnkinfptm">
// Info
// </c-button>
// </c-col>
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-col :span="24">
<c-col :span="11">
<c-col :span="24">
<el-form-item label="General" prop="recpan.ptyinf.oit.inftxt">
<c-input type="textarea" v-model="model.recpan.ptyinf.oit.inftxt" maxlength="60" show-word-limit placeholder="请输入Infotext" ></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="Display Type" prop="recpan.ptyinf.oit.inflev">
<c-select v-model="model.recpan.ptyinf.oit.inflev" style="width:100%" placeholder="请选择Infotext Level">
</c-select>
</el-form-item>
</c-col>
</c-col>
<c-col :span="11" :offset="1">
<c-col :span="24">
<el-form-item label="Stop" prop="recpan.ptystp.oit.inftxt">
<c-input type="textarea" v-model="model.recpan.ptystp.oit.inftxt" maxlength="60" show-word-limit placeholder="请输入Infotext" ></c-input>
</el-form-item>
</c-col>
<c-col :span="24">
<el-form-item label="Display Type" prop="recpan.ptystp.oit.inflev">
<c-select v-model="model.recpan.ptystp.oit.inflev" style="width:100%" placeholder="请选择Infotext Level">
</c-select>
</el-form-item>
</c-col>
</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 "~/model/Infpty/Event"
export default {
inject: ['root'],
props:["model","codes"],
mixins: [commonProcess],
data(){
return {
}
},
methods:{...Event},
created:function(){
}
}
</script>
<style>
</style>
<!-- <c-col :span="12">
<span v-text="model.recpan.ptyinf.labinftxt" data-path=".recpan.ptyinf.labinftxt" > </span>
</c-col> -->
<!-- <c-col :span="12">
<span v-text="model.recpan.ptystp.labinftxt" data-path=".recpan.ptystp.labinftxt" > </span>
</c-col> -->
\ No newline at end of file
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
size="small" size="small"
:validate-on-rule-change="false" :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">
<!--PD000039 --> <!--PD000039 -->
<el-tab-pane label="Search Panel" name="infsea"> <el-tab-pane label="Search Panel" name="infsea">
<m-infsea :model="model" :codes="codes" ref="infsea" /> <m-infsea :model="model" :codes="codes" ref="infsea" />
...@@ -18,6 +18,27 @@ ...@@ -18,6 +18,27 @@
<el-tab-pane label="Party" name="ptyp0"> <el-tab-pane label="Party" name="ptyp0">
<m-ptyp0 :model="model" :codes="codes" ref="ptyp0" /> <m-ptyp0 :model="model" :codes="codes" ref="ptyp0" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="Details" name="ptyp1">
<m-ptyp1 :model="model" :codes="codes" ref="ptyp1" />
</el-tab-pane>
<el-tab-pane label="Additional Addresses" name="addadrp">
<m-addadrp :model="model" :codes="codes" ref="addadrp" />
</el-tab-pane>
<el-tab-pane label="Info and Stoptext" name="ptytxt">
<m-ptytxt :model="model" :codes="codes" ref="ptytxt" />
</el-tab-pane>
<el-tab-pane label="Accounts" name="actinf">
<m-actinf :model="model" :codes="codes" ref="actinf" />
</el-tab-pane>
<el-tab-pane label="Contacts" name="ptcinf">
<m-ptcinf :model="model" :codes="codes" ref="ptcinf" />
</el-tab-pane>
<el-tab-pane label="Authentication of Address" name="ptmpan">
<m-ptmpan :model="model" :codes="codes" ref="ptmpan" />
</el-tab-pane>
<el-tab-pane label="Further Info and Stoptext" name="oitp">
<m-oitp :model="model" :codes="codes" ref="oitp" />
</el-tab-pane>
</c-tabs> </c-tabs>
</el-form> </el-form>
</div> </div>
...@@ -32,11 +53,26 @@ import Default from "~/model/Infpty/Default"; ...@@ -32,11 +53,26 @@ import Default from "~/model/Infpty/Default";
import Pattern from "~/model/Infpty/Pattern"; import Pattern from "~/model/Infpty/Pattern";
import Infsea from "./Infsea"; import Infsea from "./Infsea";
import Ptyp0 from "./Ptyp0"; import Ptyp0 from "./Ptyp0";
import Ptyp1 from "./Ptyp1";
import Addadrp from "./Addadrp";
import Ptytxt from "./Ptytxt";
import Actinf from "./Actinf";
import Ptcinf from "./Ptcinf";
import Ptmpan from "./Ptmpan";
import Oitp from "./Oitp";
export default { export default {
name: "Infpty", name: "Infpty",
components: { components: {
"m-infsea": Infsea, "m-infsea":Infsea,
"m-ptyp0": Ptyp0, "m-ptyp0":Ptyp0,
"m-ptyp1":Ptyp1,
"m-addadrp":Addadrp,
"m-ptytxt":Ptytxt,
"m-actinf":Actinf,
"m-ptcinf":Ptcinf,
"m-ptmpan":Ptmpan,
"m-oitp":Oitp,
}, },
provide() { provide() {
return { return {
...@@ -57,21 +93,15 @@ export default { ...@@ -57,21 +93,15 @@ export default {
}; };
}, },
methods: { methods: {
myTabClick() { //修改原事件MytabClick的V-on
this.tabClick(tab);
/**
* do it yourself
**/
},
}, },
created: async function () { created: async function () {
console.log("进入infpty交易"); console.log("进入infpty交易");
let rtnmsg = await this.init({}); let rtnmsg = await this.init({});
if (rtnmsg.respCode == SUCCESS) { if (rtnmsg.respCode == SUCCESS) {
this.updateModel(rtnmsg.data); this.updateModel(rtnmsg.data);//刷新前端数据
//处理istream的数据
// this.$refs.infsea.stmData.columns = rtnmsg.codeSet['infbut.dspstm']
//TODO 处理数据逻辑
} else { } else {
this.$notify.error({ title: "错误", message: "服务请求失败!" }); this.$notify.error({ title: "错误", message: "服务请求失败!" });
} }
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</template> </template>
<script> <script>
import CellHeaderVue from "./CellHeader.vue"; import CellHeaderVue from "./common/CellHeader.vue";
import * as echarts from "echarts"; import * as echarts from "echarts";
export default { export default {
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</template> </template>
<script> <script>
import CellHeaderVue from "./CellHeader.vue"; import CellHeaderVue from "./common/CellHeader.vue";
export default { export default {
name: "Hall", name: "Hall",
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</template> </template>
<script> <script>
import CellHeaderVue from "./CellHeader.vue"; import CellHeaderVue from "./common/CellHeader.vue";
export default { export default {
name: "NoticeAnnouncement", name: "NoticeAnnouncement",
......
<template> <template>
<div class="home-cell" id="quickSearch"> <div class="home-cell" id="quickSearch">
<CellHeaderVue title="快速查询"> </CellHeaderVue> <CellHeaderVue title="快速查询">
<span class="el-icon-setting" title="设置" @click="openSetting"></span>
</CellHeaderVue>
<el-scrollbar :style="{ height: cellScrollHeight + 'px' }"> <quick
<div class="cell-content"> ref="quick"
<router-link :cellScrollHeight="cellScrollHeight"
v-for="(item, index) in options" quickType="search"
:key="index" ></quick>
:to="item.url"
>
<div
class="content-wrapper"
:style="{ height: Math.floor(cellScrollHeight * 0.3) + 'px' }"
>
<div class="search-item-wrapper">
<div class="search-item">
<img :src="item.icon" alt="" />
<span>{{ item.name }}</span>
</div>
</div>
</div>
</router-link>
</div>
</el-scrollbar>
</div> </div>
</template> </template>
<script> <script>
import CellHeaderVue from "./CellHeader.vue"; import CellHeaderVue from "./common/CellHeader.vue";
import quick from "./common/quick.vue";
import defaultQuickSearchItems from "./common/defaultQuickSearchItems.js";
export default { export default {
name: "QuickSearch", name: "QuickSearch",
components: { CellHeaderVue }, components: { CellHeaderVue, quick },
props: { props: {
cellScrollHeight: { cellScrollHeight: {
type: Number, type: Number,
required: true, required: true,
}, },
}, },
data() { created() {
return { const admin = localStorage.getItem("quick-search-admin");
// options: [ if (!admin) {
// { localStorage.setItem(
// name: "报文查询", "quick-search-admin",
// icon: require("~/assets/icons/报文查询.svg"), JSON.stringify(defaultQuickSearchItems.admin)
// url: "", );
// }, }
// { const normal = localStorage.getItem("quick-search-normal");
// name: "银行查询", if (!normal) {
// icon: require("~/assets/icons/银行查询.svg"), localStorage.setItem(
// url: "", "quick-search-normal",
// }, JSON.stringify(defaultQuickSearchItems.normal)
// { );
// name: "公司查询", }
// icon: require("~/assets/icons/公司查询.svg"),
// url: "",
// },
// {
// name: "交易查询",
// icon: require("~/assets/icons/交易查询.svg"),
// url: "",
// },
// {
// name: "序号查询",
// icon: require("~/assets/icons/序号查询.svg"),
// url: "",
// },
// {
// name: "企业分类信息查询",
// icon: require("~/assets/icons/企业分类信息查询.svg"),
// url: "",
// },
// {
// name: "电子数据查询",
// icon: require("~/assets/icons/电子数据查询.svg"),
// url: "",
// },
// {
// name: "账务查看",
// icon: require("~/assets/icons/账务查看.svg"),
// url: "",
// },
// {
// name: "添加",
// icon: require("~/assets/icons/添加.svg"),
// url: "",
// },
// ],
options: [],
all: {
admin: [
{
name: "买方信用证交易查询",
icon: require("~/assets/icons/交易查询.svg"),
url: "/business/infdid",
},
{
name: " 买方信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbdd",
},
{
name: "卖方信用证交易查询",
icon: require("~/assets/icons/交易查询.svg"),
url: "/business/infdet",
},
{
name: "卖方信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbfd",
},
{
name: "出口信用证查询",
icon: require("~/assets/icons/进出口查询.svg"),
url: "/business/letsel",
},
{
name: "出口信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbed",
},
{
name: "进口信用证查询",
icon: require("~/assets/icons/进出口查询.svg"),
url: "/business/inflid",
},
{
name: "进口信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbpd",
},
{
name: "进口代收查询",
icon: require("~/assets/icons/进口代收查询.svg"),
url: "/business/infbcd",
},
],
normal: [
{
name: "买方信用证交易查询",
icon: require("~/assets/icons/交易查询.svg"),
url: "/business/infdid",
},
{
name: " 买方信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbdd",
},
{
name: "卖方信用证交易查询",
icon: require("~/assets/icons/交易查询.svg"),
url: "/business/infdet",
},
{
name: "卖方信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbfd",
},
{
name: "出口信用证查询",
icon: require("~/assets/icons/进出口查询.svg"),
url: "/business/letsel",
},
{
name: "进口信用证查询",
icon: require("~/assets/icons/进出口查询.svg"),
url: "/business/inflid",
},
{
name: "进口信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbpd",
},
],
}, },
}; methods: {
openSetting() {
this.$refs.quick.openSetting();
}, },
mounted() {
this.genItems()
}, },
methods: {
genItems () {
const userId = this.$store.state.UserContext.userId;
if (userId.toLowerCase() === "zl") {
this.options = this.all.admin;
} else {
this.options = this.all.normal;
}
}
}
}; };
</script> </script>
<style scoped> <style scoped></style>
#quickSearch .cell-content {
/* display: flex;
flex-wrap: wrap; */
}
#quickSearch .content-wrapper {
display: inline-block;
width: 33%;
height: 30%;
cursor: pointer;
}
#quickSearch .cell-content .search-item-wrapper {
display: flex;
height: 100%;
justify-content: center;
align-items: center;
}
#quickSearch .cell-content .search-item {
/* padding-bottom: 16px; */
display: flex;
flex-direction: column;
align-items: center;
/* cursor: pointer; */
}
#quickSearch .cell-content .search-item i {
color: #0088ff;
font-size: 36px;
}
#quickSearch .cell-content .search-item span {
color: #303133;
font-size: 14px;
margin-top: 10px;
}
/* #quickSearch .cell-content .search-item:hover i {
color: var(--themecolor);
} */
/* #quickSearch .cell-content .search-item:hover span { */
#quickSearch .cell-content .content-wrapper:hover span {
color: var(--themecolor);
}
</style>
<template> <template>
<div class="home-cell" id="quickVisit"> <div class="home-cell" id="quickVisit">
<CellHeaderVue title="快速访问"> </CellHeaderVue> <CellHeaderVue title="快速访问">
<span class="el-icon-setting" title="设置" @click="openSetting"></span>
</CellHeaderVue>
<el-scrollbar :style="{ height: cellScrollHeight + 'px' }"> <quick
<div class="cell-content"> ref="quick"
<router-link :cellScrollHeight="cellScrollHeight"
v-for="(item, index) in quickVisitItem" quickType="visit"
:key="index" ></quick>
:to="item.url"
>
<div
class="content-wrapper"
:style="{ height: Math.floor(cellScrollHeight * 0.3) + 'px' }"
>
<div class="visit-item-wrapper">
<div class="visit-item">
<img :src="item.icon" alt="" />
<span>{{ item.name }}</span>
</div>
</div>
</div>
</router-link>
</div>
</el-scrollbar>
</div> </div>
</template> </template>
<script> <script>
import CellHeaderVue from "./CellHeader.vue"; import CellHeaderVue from "./common/CellHeader.vue";
import quick from "./common/quick.vue";
import defaultVisitItems from "./common/defaultQuickVisitItems.js";
export default { export default {
name: "QuickVisit", name: "QuickVisit",
components: { CellHeaderVue }, components: { CellHeaderVue, quick },
props: { props: {
cellScrollHeight: { cellScrollHeight: {
type: Number, type: Number,
required: true, required: true,
}, },
}, },
data() { created() {
return { const admin = localStorage.getItem("quick-visit-admin");
// quickVisitItem: [ if (!admin) {
// { localStorage.setItem(
// name: "用户权限", "quick-visit-admin",
// icon: require("~/assets/icons/用户权限.svg"), JSON.stringify(defaultVisitItems.admin)
// url: "", );
// }, }
// { const normal = localStorage.getItem("quick-visit-normal");
// name: "银行信息管理", if (!normal) {
// icon: require("~/assets/icons/银行信息管理.svg"), localStorage.setItem(
// url: "", "quick-visit-normal",
// }, JSON.stringify(defaultVisitItems.normal)
// { );
// name: "财务费用管理", }
// icon: require("~/assets/icons/财务费用管理.svg"),
// url: "",
// },
// {
// name: "风险提示参数",
// icon: require("~/assets/icons/风险提示参数.svg"),
// url: "",
// },
// {
// name: "业务公共参数",
// icon: require("~/assets/icons/业务公共参数.svg"),
// url: "",
// },
// {
// name: "国内证开立",
// icon: require("~/assets/icons/国内证开立.svg"),
// url: "",
// },
// {
// name: "进口信用证开立",
// icon: require("~/assets/icons/进口信用证开立.svg"),
// url: "",
// },
// {
// name: "转让信用证开立",
// icon: require("~/assets/icons/转让信用证开立.svg"),
// url: "",
// },
// {
// name: "添加",
// icon: require("~/assets/icons/添加.svg"),
// url: "",
// },
// ],
quickVisitItem: [],
all: {
admin: [
{
name: "汇款查询",
icon: require("~/assets/icons/汇款查询.svg"),
url: "/business/infcpd",
},
{
name: "汇出汇款",
icon: require("~/assets/icons/汇出汇款.svg"),
url: "/business/cptopn",
},
{
name: "汇入汇款",
icon: require("~/assets/icons/汇入汇款.svg"),
url: "/business/cptadv",
},
{
name: "买方信用证开立",
icon: require("~/assets/icons/信用证.svg"),
url: "/business/ditopn",
},
{
name: "买方信用证交易查询",
icon: require("~/assets/icons/交易查询.svg"),
url: "/business/infdid",
},
{
name: " 买方信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbdd",
},
{
name: "卖方信用证通知",
icon: require("~/assets/icons/信用证通知.svg"),
url: "/business/detopn",
},
{
name: "卖方信用证交易查询",
icon: require("~/assets/icons/交易查询.svg"),
url: "/business/infdet",
},
{
name: "卖方信用证单据查询",
icon: require("~/assets/icons/单据查询.svg"),
url: "/business/infbfd",
},
],
normal: [
{
name: "汇款查询",
icon: require("~/assets/icons/汇款查询.svg"),
url: "/business/infcpd",
},
{
name: "汇出汇款",
icon: require("~/assets/icons/汇出汇款.svg"),
url: "/business/cptopn",
},
{
name: "汇入汇款",
icon: require("~/assets/icons/汇入汇款.svg"),
url: "/business/cptadv",
},
{
name: "买方信用证开立",
icon: require("~/assets/icons/信用证.svg"),
url: "/business/ditopn",
},
{
name: "买方信用证交易查询",
icon: require("~/assets/icons/交易查询.svg"),
url: "/business/infdid",
},
{
name: "卖方信用证通知",
icon: require("~/assets/icons/信用证通知.svg"),
url: "/business/detopn",
},
{
name: "卖方信用证交易查询",
icon: require("~/assets/icons/交易查询.svg"),
url: "/business/infdet",
},
],
}, },
}; methods: {
openSetting() {
this.$refs.quick.openSetting();
}, },
mounted() {
this.genItems()
}, },
methods: {
genItems() {
const userId = this.$store.state.UserContext.userId;
if (userId.toLowerCase() === "zl") {
this.quickVisitItem = this.all.admin;
} else {
this.quickVisitItem = this.all.normal;
}
}
}
}; };
</script> </script>
<style scoped> <style scoped></style>
/* 快速访问 */
#quickVisit .cell-content {
/* display: flex;
flex-wrap: wrap; */
}
#quickVisit .content-wrapper {
display: inline-block;
width: 33%;
/* height: 30%; */
}
#quickVisit .cell-content .visit-item-wrapper {
display: flex;
height: 100%;
justify-content: center;
align-items: center;
}
#quickVisit .cell-content .visit-item {
/* padding-bottom: 16px; */
display: flex;
flex-direction: column;
align-items: center;
cursor: pointer;
}
#quickVisit .cell-content .visit-item i {
color: #0088ff;
font-size: 36px;
}
#quickVisit .cell-content .visit-item span {
color: #303133;
font-size: 14px;
margin-top: 10px;
}
/* #quickVisit .cell-content .visit-item:hover i {
color: var(--themecolor);
} */
#quickVisit .cell-content .visit-item:hover span {
color: var(--themecolor);
}
</style>
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</template> </template>
<script> <script>
import CellHeaderVue from "./CellHeader.vue"; import CellHeaderVue from "./common/CellHeader.vue";
export default { export default {
name: "TaskStatistics", name: "TaskStatistics",
......
export default {
admin: [
"/business/infdid",
"/business/infbdd",
"/business/infdet",
"/business/infbfd",
"/business/letsel",
"/business/infbed",
"/business/inflid",
"/business/infbpd",
"/business/infbcd",
],
normal: [
"/business/infdid",
"/business/infbdd",
"/business/infdet",
"/business/infbfd",
"/business/letsel",
"/business/inflid",
"/business/infbpd",
],
};
export default {
admin: [
"/business/infcpd",
"/business/cptopn",
"/business/cptadv",
"/business/ditopn",
"/business/infdid",
"/business/infbdd",
"/business/detopn",
"/business/infdet",
"/business/infbfd",
],
normal: [
"/business/infcpd",
"/business/cptopn",
"/business/cptadv",
"/business/ditopn",
"/business/infdid",
"/business/detopn",
"/business/infdet",
],
};
const icons = {
"/business/infcpd": require("~/assets/icons/汇款查询.svg"),
"/business/cptopn": require("~/assets/icons/汇出汇款.svg"),
"/business/cptadv": require("~/assets/icons/汇入汇款.svg"),
"/business/ditopn": require("~/assets/icons/信用证.svg"),
"/business/infdid": require("~/assets/icons/交易查询.svg"),
"/business/infbdd": require("~/assets/icons/单据查询.svg"),
"/business/detopn": require("~/assets/icons/信用证通知.svg"),
"/business/infdet": require("~/assets/icons/交易查询.svg"),
"/business/infbfd": require("~/assets/icons/单据查询.svg"),
"/business/letsel": require("~/assets/icons/进出口查询.svg"),
"/business/infbed": require("~/assets/icons/单据查询.svg"),
"/business/inflid": require("~/assets/icons/进出口查询.svg"),
"/business/infbpd": require("~/assets/icons/单据查询.svg"),
"/business/infbcd": require("~/assets/icons/进口代收查询.svg"),
};
export default icons;
<template>
<el-scrollbar :style="{ height: cellScrollHeight + 'px' }">
<div class="cell-content">
<router-link
v-for="(item, index) in quickVisitItem"
:key="index"
:to="item.path"
>
<div
class="content-wrapper"
:style="{ height: Math.floor(cellScrollHeight * 0.3) + 'px' }"
>
<div class="visit-item-wrapper">
<div class="visit-item">
<img :src="item.icon" alt="" />
<span>{{ item.name }}</span>
</div>
</div>
</div>
</router-link>
</div>
<el-dialog :visible="visible" title="设置" :before-close="handleClose">
<div style="text-align: center">
<el-transfer
style="text-align: left; display: inline-block"
v-model="selectedVals"
filterable
:titles="['未添加', '已添加']"
:button-texts="['移除', '添加']"
:format="{
noChecked: '${total}',
hasChecked: '${checked}/${total}',
}"
:data="transferData"
>
</el-transfer>
</div>
<span slot="footer" class="dialog-footer">
<c-button @click="cancel">取消</c-button>
<c-button type="primary" @click="save">保存</c-button>
</span>
</el-dialog>
</el-scrollbar>
</template>
<script>
import icons from "./icons.js";
export default {
props: {
cellScrollHeight: {
type: Number,
required: true,
},
quickType: {
type: String,
required: true,
}
},
data() {
return {
allAvailableItems: [],
quickVisitItem: [],
visible: false,
selectedVals: [],
transferData: [],
};
},
mounted() {
this.$nextTick(() => {
this.init();
this.generateVisitItems(this.getCachedVisitItems());
})
},
methods: {
init() {
const arr = [];
this.getAllAvailableItems(this.$store.state.UserContext.menu, arr);
this.allAvailableItems = arr;
this.transferData = arr.map((item) => {
const ps = item.path.split("/")
return {
key: item.path,
label: `${ps[ps.length - 1]} - ${item.name}` ,
};
});
},
getCachedVisitItems() {
const userId = this.$store.state.UserContext.userId;
const data = localStorage.getItem(
`quick-${this.quickType}-${userId.toLowerCase() === "zl" ? "admin" : "normal"}`
);
return JSON.parse(data);
},
setCachedVisitItems(data) {
const userId = this.$store.state.UserContext.userId;
localStorage.setItem(
`quick-${this.quickType}-${userId.toLowerCase() === "zl" ? "admin" : "normal"}`,
JSON.stringify(data)
);
},
generateVisitItems(keys) {
const res = [];
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
const f = this.allAvailableItems.find((item) => item.path === key);
if (f) {
res.push({
name: f.name,
path: f.path,
icon: icons[key]
? icons[key]
: require("~/assets/icons/信用证.svg"),
});
}
}
this.quickVisitItem = res;
},
openSetting() {
this.selectedVals = this.quickVisitItem.map((item) => item.path);
this.visible = true;
},
cancel() {
this.visible = false;
},
save() {
this.setCachedVisitItems(this.selectedVals);
this.generateVisitItems(this.selectedVals);
this.visible = false;
},
handleClose(done) {
this.visible = false;
done();
},
getAllAvailableItems(source, arr) {
for (let i = 0; i < source.length; i++) {
const s = source[i];
if (s.children.length > 0) {
this.getAllAvailableItems(s.children, arr);
} else {
arr.push(s);
}
}
},
},
}
</script>
<style scoped>
.cell-content {
/* display: flex;
flex-wrap: wrap; */
}
.content-wrapper {
display: inline-block;
width: 33%;
/* height: 30%; */
}
.cell-content .visit-item-wrapper {
display: flex;
height: 100%;
justify-content: center;
align-items: center;
}
.cell-content .visit-item {
/* padding-bottom: 16px; */
display: flex;
flex-direction: column;
align-items: center;
cursor: pointer;
}
.cell-content .visit-item i {
color: #0088ff;
font-size: 36px;
}
.cell-content .visit-item span {
color: #303133;
font-size: 14px;
margin-top: 10px;
}
/* .cell-content .visit-item:hover i {
color: var(--themecolor);
} */
.cell-content .visit-item:hover span {
color: var(--themecolor);
}
.el-scrollbar >>> .el-transfer-panel {
width: 300px;
height: 600px;
}
.el-scrollbar >>> .el-checkbox-group.el-transfer-panel__list {
height: 500px;
}
</style>
\ No newline at end of file
...@@ -157,6 +157,7 @@ export default { ...@@ -157,6 +157,7 @@ export default {
const arr = []; const arr = [];
this.generateMenuTree(arr); this.generateMenuTree(arr);
this.menus = arr; this.menus = arr;
this.$store.commit('UserContext/setMenu', arr)
this.initOpenFlgIndex(); this.initOpenFlgIndex();
}, },
methods: { methods: {
......
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