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 {
if( name === "detp1"){
rulePath = "setmod.setpan"
}
if(name === "actinf"){
rulePath = "recpan.actinf"
}
if (!!rulePath) {
this.executeRule(rulePath).then(res => {
if (res.respCode == SUCCESS) {
......
......@@ -122,5 +122,8 @@ export default {
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
onSeainf(){
},
}
\ No newline at end of file
......@@ -7,6 +7,7 @@ let checkObj = {
"seatypo" :null,
"recgrp.rec.hbkaccflg" :null,
"recgrp.hbk.extkey" :null,
"recgrp.rec.idcode" :null,
"seatypc" :null,
"seatypb" :null,
"recgrp.ptamaa.issbchinf" :null,
......@@ -14,9 +15,12 @@ let checkObj = {
"seatyph" :null,
"recgrp.rec.heqaccflg" :null,
"recgrp.heq.extkey" :null,
"recgrp.rec.trnman" :null,
"recgrp.rec.extkey" :null,
"recpan.bchkey" :null,
"recgrp.rec.juscod" :null,
"recgrp.rec.bngcod" :null,
"recgrp.rec.idtype" :null,
}
for (const key in checkObj) {
......
......@@ -6,8 +6,10 @@ import Api from "~/service/Api";
import Utils from "~/utils/index"
export default {
"recpan.ratstm" :Utils.defaultFunction,
"recgrp.hbk.extkey" :Utils.defaultFunction,
"recgrp.rec.extkey" :Utils.defaultFunction,
"recgrp.ptyrat.buytyp" :Utils.defaultFunction,
"recgrp.typh" :Utils.defaultFunction,
"recgrp.typo" :Utils.defaultFunction,
"recgrp.typc" :Utils.defaultFunction,
......@@ -15,17 +17,24 @@ export default {
"recgrp.typb" :Utils.defaultFunction,
"recpan.bchkey" :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.adr1" :Utils.defaultFunction,
"recgrp.adrmaa.adr3" :Utils.defaultFunction,
"recgrp.heq.extkey" :Utils.defaultFunction,
"recgrp.adrmaa.loctxt" :Utils.defaultFunction,
"recgrp.adrmaa.nam1" :Utils.defaultFunction,
"recgrp.rec.idtype" :Utils.defaultFunction,
"infbut.dspstm" :Utils.defaultFunction,
"recgrp.rec.juscod" :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.adrmaa.pobtxt" :Utils.defaultFunction,
"recgrp.ptyrat.seltyp" :Utils.defaultFunction,
"recgrp.ptamaa.issbchinf" :Utils.defaultFunction,
}
//你可以添加自动default处理
......@@ -6,20 +6,27 @@ export default {
let rtnmsg = await this.executeRule("infbut.searow")
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
//TODO 处理数据逻辑
this.updateModel(rtnmsg.data);
this.stmData.data = rtnmsg.data.infbut_dspstm.rows;
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
}
},
async onInfbutDsp(){
let rtnmsg = await this.executeRule("infbut.dsp")
async onInfbutDsp(idx, row){
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)
{
//TODO 处理数据逻辑
//TODO 处理数据逻辑
this.updateModel(rtnmsg.data);
console.log(this);
this.root.tabVal="ptyp0";
}
else
{
......@@ -122,5 +129,95 @@ export default {
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 {
{type: "string", required: false, message: "必输项"},
{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{
seatypo:"", // Other .seatypo
infbut:{
dspstm:"", // display stream .infbut.dspstm
selrow: 0 // Number of selected row
},
seatyph:"", // 海关 .seatyph
persontype:"", // 客户类别 .persontype
......@@ -36,7 +37,25 @@ export default class Infpty{
accusr:"", // User ID of Account Officer .recgrp.rec.accusr
nam1:"", // Chinese name .recgrp.rec.nam1
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
typc:"", // Client .recgrp.typc
......@@ -72,6 +91,12 @@ export default class Infpty{
adr1:"", // Chinese Address .recgrp.adrmaa.adr1
adr2:"", // .recgrp.adrmaa.adr2
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:{
extkey:"", // Address Number .recgrp.hbk.extkey
......@@ -85,6 +110,13 @@ export default class Infpty{
ptamaa:{
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:{
recget:{
......@@ -105,7 +137,32 @@ export default class Infpty{
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
}
......
......@@ -27,6 +27,9 @@ const UserContext={
state.menu = []
state.state = "LOGOUT"
state.token = ""
},
setMenu(state, menu) {
state.menu = menu;
}
}
}
......
......@@ -3,7 +3,7 @@
<c-row>
<!-- ====================左边======================= -->
<c-col :span="11">
<c-col :span="24">
<c-col :span="23">
<el-form-item
label="信用证参考号"
prop="didgrp.rec.ownref"
......@@ -41,7 +41,7 @@
</el-form-item>
</c-col>
<c-col :span="24">
<c-col :span="23">
<el-form-item
label="信用证号码"
prop="didgrp.rec.ownref"
......@@ -66,7 +66,7 @@
></c-button>
</c-col>
<c-col :span="24">
<c-col :span="23">
<el-form-item
label="单据参考号"
prop="bddgrp.rec.ownref"
......
<template>
<div class="eContainer">
<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-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">
<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">
<!--PD000046 -->
<el-tab-pane label="单据概况" name="brtdckp">
<c-content>
<m-brtdckp
:model="model"
:codes="codes"
v-on:changeShowDocpre="changeShowDocpre"
/>
</c-content>
</el-tab-pane>
<!--PD000046 -->
<el-tab-pane label="单据概况" name="brtdckp">
<m-brtdckp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000062 -->
<el-tab-pane label="单据详情" name="docpre">
<m-docpre :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="或有" name="engp">
<m-engp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="账务" name="setpan">
<m-setpan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文及面函" name="docpan">
<m-docpan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000001 -->
<el-tab-pane label="统一授信" name="limitbody">
<m-limitbody :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
</el-form>
</div>
<!--PD000062 -->
<el-tab-pane label="单据详情" name="docpre"> <!--v-if="isShowDocpre"-->
<m-docpre :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="或有" name="engp">
<m-engp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="账务" name="setpan">
<m-setpan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文及面函" name="docpan">
<m-docpan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000001 -->
<el-tab-pane label="统一授信" name="limitbody">
<m-limitbody :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
</el-form>
</div>
</c-page>
</template>
<script>
import Api from "~/service/Api"
import Utils from "~/utils/index";
import CodeTable from "~/config/CodeTable"
import Bdtdck from "~/model/Bdtdck"
import commonProcess from "~/mixin/commonProcess"
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Bdtdck/Check"
import Default from "~/model/Bdtdck/Default"
import Pattern from "~/model/Bdtdck/Pattern"
......@@ -74,10 +97,11 @@ export default {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [commonProcess,commonFuncs], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "",
isShowDocpre: false,
tabVal: "brtdckp",
trnName: "bdtdck",
model: new Bdtdck().data,
checkRules: Check,
......@@ -85,24 +109,33 @@ export default {
pattern: Pattern,
rules: null,
codes: {
...CodeTable
},
}
},
methods:{
tabClick(){
}
changeShowDocpre(val) {
this.isShowDocpre = val;
},
},
created:async function(){
console.log("进入bdtdck交易");
let rtnmsg = await this.init({})
let rtnmsg = await this.init(this.$route.query)
if(rtnmsg.respCode == SUCCESS)
{
//TODO 处理数据逻辑
console.log(rtnmsg);
Utils.copyValueFromVO(this.model, rtnmsg.data);
console.log(this.model);
if (this.isInDisplay) {
this.restoreDisplay();
}
}
else
{
this.$notify.error({title: '错误',message: '服务请求失败!'});
if (this.model.bddgrp.rec.dscinsflg == "X") {
this.isShowDocpre = true;
} else {
this.$notify.error({ title: "错误", message: "服务请求失败!" });
}
}
}
......
......@@ -3,7 +3,7 @@
<c-row>
<!-- 左边 -->
<c-col :span="12">
<c-col :span="24">
<c-col :span="23">
<el-form-item
label="信用证参考号"
prop="didgrp.rec.ownref"
......@@ -41,7 +41,7 @@
</el-form-item>
</c-col>
<c-col :span="24">
<c-col :span="23">
<el-form-item
label="信用证号码"
prop="didgrp.rec.ownref"
......@@ -66,7 +66,7 @@
></c-button>
</c-col>
<c-col :span="24">
<c-col :span="23">
<el-form-item
label="单据参考号"
prop="bddgrp.rec.ownref"
......
<template>
<div class="eContainer">
<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-page title="买方信用证单据展期">
<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">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<!--PD000024 -->
<el-tab-pane label="展期" name="brteus">
<m-brteus :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000024 -->
<el-tab-pane label="展期" name="brteus">
<m-brteus :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000027 -->
<el-tab-pane label="或有" name="engp">
<m-engp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="账务" name="setpan">
<m-setpan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000001 -->
<el-tab-pane label="分录" name="glepan">
<m-glepan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文及面函" name="docpan">
<m-docpan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000001 -->
<el-tab-pane label="统一授信" name="limitbody">
<m-limitbody :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
</el-form>
</div>
<!--PD000027 -->
<el-tab-pane label="或有" name="engp">
<m-engp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="账务" name="setpan">
<m-setpan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000001 -->
<el-tab-pane label="分录" name="glepan">
<m-glepan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000000 -->
<el-tab-pane label="附言" name="coninfp">
<m-coninfp :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000529 -->
<el-tab-pane label="报文及面函" name="docpan">
<m-docpan :model="model" :codes="codes"/>
</el-tab-pane>
<!--PD000001 -->
<el-tab-pane label="统一授信" name="limitbody">
<m-limitbody :model="model" :codes="codes"/>
</el-tab-pane>
</c-tabs>
</el-form>
</div>
</c-page>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Bdteus from "~/model/Bdteus"
import commonProcess from "~/mixin/commonProcess"
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Bdteus/Check"
import Default from "~/model/Bdteus/Default"
import Pattern from "~/model/Bdteus/Pattern"
......@@ -74,10 +83,10 @@ export default {
root: this
}
},
mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
mixins: [commonProcess,commonFuncs], // 里面包含了Default、Check等的公共处理
data(){
return {
tabVal: "",
tabVal: "brteus",
trnName: "bdteus",
model: new Bdteus().data,
checkRules: Check,
......
......@@ -155,7 +155,7 @@ const BusRouter = [
{ path: 'bdtudp', component: Bdtudp, name: 'Bdtudp', meta: { title: '国内证承兑' } },
{ path: 'bdtdcr', component: Bdtdcr, name: 'Bdtdcr', 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: 'cptopn', component: Cptopn, name: 'Cptopn', 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>
<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="24">
......@@ -64,7 +55,7 @@
</c-col>
</c-col>
<!------------- 右 ---------->
<c-col :span="11" :offset="1">
<c-col :span="12" :offset="1">
<c-col :span="24">
<el-form-item label="Party No." prop="ptysea.extkey">
<c-input
......@@ -117,18 +108,18 @@
</c-col>
</c-col>
</c-col>
<c-col :span="24">
<el-form-item label="Type">
<el-radio-group v-model="radio">
<el-radio :label="0" v-model="model.seatypb">Bank</el-radio>
<el-radio :label="1" v-model="model.seatypc">Client</el-radio>
<el-radio :label="2" v-model="model.seatypa">Own Address</el-radio>
<el-radio :label="3" v-model="model.seatypo">Other</el-radio>
<el-radio :label="4" v-model="model.seatyph">海关</el-radio>
</el-radio-group>
</el-form-item>
</c-col>
<el-form-item label="Type">
<el-radio-group v-model="radio">
<el-radio :label="0" v-model="model.seatypb">Bank</el-radio>
<el-radio :label="1" v-model="model.seatypc">Client</el-radio>
<el-radio :label="2" v-model="model.seatypa">Own Address</el-radio>
<el-radio :label="3" v-model="model.seatypo">Other</el-radio>
<el-radio :label="4" v-model="model.seatyph">海关</el-radio>
</el-radio-group>
</el-form-item>
<c-col :span="24" style="text-align: right; height: 36.8px">
<!--原生重置按钮 <c-col :span="12">
<c-button size="small" type="primary" @click="onInfbutClr">
......@@ -165,14 +156,17 @@
</c-button>
</c-col>
<c-col :span="24" >
<c-istream-table :list="stmData.data" :columns="stmData.columns"
<c-istream-table
:list="stmData.data"
:columns="stmData.columns"
: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 }">
<c-button
style="margin-left: 0"
size="small"
@click="display(scope.$index, scope.row)"
@click="onInfbutDsp(scope.$index, scope.row)"
>
详情
</c-button>
......@@ -205,7 +199,7 @@
></a>
</el-popover>
</template>
</el-table-column>
</c-table-column>
</c-istream-table>
</c-col>
......@@ -256,7 +250,7 @@
<!-- <c-col :span="8">
<c-checkbox v-model="model.seatypc">Client</c-checkbox>
</c-col> -->
</el-form>
</div>
</template>
<script>
......@@ -293,21 +287,7 @@ export default {
},
};
},
methods: {
...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']
},
},
methods: {...Event},
created: function () {},
};
</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 @@
size="small"
:validate-on-rule-change="false"
>
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="myTabClick">
<c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
<!--PD000039 -->
<el-tab-pane label="Search Panel" name="infsea">
<m-infsea :model="model" :codes="codes" ref="infsea" />
......@@ -18,6 +18,27 @@
<el-tab-pane label="Party" name="ptyp0">
<m-ptyp0 :model="model" :codes="codes" ref="ptyp0" />
</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>
</el-form>
</div>
......@@ -32,11 +53,26 @@ import Default from "~/model/Infpty/Default";
import Pattern from "~/model/Infpty/Pattern";
import Infsea from "./Infsea";
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 {
name: "Infpty",
components: {
"m-infsea": Infsea,
"m-ptyp0": Ptyp0,
"m-infsea":Infsea,
"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() {
return {
......@@ -57,21 +93,15 @@ export default {
};
},
methods: {
myTabClick() {
this.tabClick(tab);
/**
* do it yourself
**/
},
//修改原事件MytabClick的V-on
},
created: async function () {
console.log("进入infpty交易");
let rtnmsg = await this.init({});
if (rtnmsg.respCode == SUCCESS) {
this.updateModel(rtnmsg.data);
//处理istream的数据
// this.$refs.infsea.stmData.columns = rtnmsg.codeSet['infbut.dspstm']
//TODO 处理数据逻辑
this.updateModel(rtnmsg.data);//刷新前端数据
} else {
this.$notify.error({ title: "错误", message: "服务请求失败!" });
}
......
......@@ -17,7 +17,7 @@
</template>
<script>
import CellHeaderVue from "./CellHeader.vue";
import CellHeaderVue from "./common/CellHeader.vue";
import * as echarts from "echarts";
export default {
......
......@@ -29,7 +29,7 @@
</template>
<script>
import CellHeaderVue from "./CellHeader.vue";
import CellHeaderVue from "./common/CellHeader.vue";
export default {
name: "Hall",
......
......@@ -23,7 +23,7 @@
</template>
<script>
import CellHeaderVue from "./CellHeader.vue";
import CellHeaderVue from "./common/CellHeader.vue";
export default {
name: "NoticeAnnouncement",
......
<template>
<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' }">
<div class="cell-content">
<router-link
v-for="(item, index) in options"
:key="index"
: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>
<quick
ref="quick"
:cellScrollHeight="cellScrollHeight"
quickType="search"
></quick>
</div>
</template>
<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 {
name: "QuickSearch",
components: { CellHeaderVue },
components: { CellHeaderVue, quick },
props: {
cellScrollHeight: {
type: Number,
required: true,
},
},
data() {
return {
// options: [
// {
// 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: "",
// },
// {
// 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",
},
],
},
};
},
mounted() {
this.genItems()
created() {
const admin = localStorage.getItem("quick-search-admin");
if (!admin) {
localStorage.setItem(
"quick-search-admin",
JSON.stringify(defaultQuickSearchItems.admin)
);
}
const normal = localStorage.getItem("quick-search-normal");
if (!normal) {
localStorage.setItem(
"quick-search-normal",
JSON.stringify(defaultQuickSearchItems.normal)
);
}
},
methods: {
genItems () {
const userId = this.$store.state.UserContext.userId;
if (userId.toLowerCase() === "zl") {
this.options = this.all.admin;
} else {
this.options = this.all.normal;
}
}
}
openSetting() {
this.$refs.quick.openSetting();
},
},
};
</script>
<style scoped>
#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>
<style scoped></style>
<template>
<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' }">
<div class="cell-content">
<router-link
v-for="(item, index) in quickVisitItem"
:key="index"
: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>
<quick
ref="quick"
:cellScrollHeight="cellScrollHeight"
quickType="visit"
></quick>
</div>
</template>
<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 {
name: "QuickVisit",
components: { CellHeaderVue },
components: { CellHeaderVue, quick },
props: {
cellScrollHeight: {
type: Number,
required: true,
},
},
data() {
return {
// quickVisitItem: [
// {
// 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: "",
// },
// {
// 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",
},
],
},
};
},
mounted() {
this.genItems()
created() {
const admin = localStorage.getItem("quick-visit-admin");
if (!admin) {
localStorage.setItem(
"quick-visit-admin",
JSON.stringify(defaultVisitItems.admin)
);
}
const normal = localStorage.getItem("quick-visit-normal");
if (!normal) {
localStorage.setItem(
"quick-visit-normal",
JSON.stringify(defaultVisitItems.normal)
);
}
},
methods: {
genItems() {
const userId = this.$store.state.UserContext.userId;
if (userId.toLowerCase() === "zl") {
this.quickVisitItem = this.all.admin;
} else {
this.quickVisitItem = this.all.normal;
}
}
}
openSetting() {
this.$refs.quick.openSetting();
},
},
};
</script>
<style scoped>
/* 快速访问 */
#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>
<style scoped></style>
......@@ -47,7 +47,7 @@
</template>
<script>
import CellHeaderVue from "./CellHeader.vue";
import CellHeaderVue from "./common/CellHeader.vue";
export default {
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 {
const arr = [];
this.generateMenuTree(arr);
this.menus = arr;
this.$store.commit('UserContext/setMenu', arr)
this.initOpenFlgIndex();
},
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