Commit 8e682029 by hulei
parents b2a8c180 a960ba51
<template>
<div class="bus-button">
<c-button type="primary" v-on:click="save">提交</c-button>
<c-button type="primary" v-on:click="pedding">暂存</c-button>
<c-button type="primary" v-on:click="check">校核</c-button>
<c-button v-on:click="exit">退出</c-button>
<c-button type="primary" v-on:click="save">{{ $t('buttons.submit') }}</c-button>
<c-button type="primary" v-on:click="pedding">{{ $t('buttons.stash') }}</c-button>
<c-button type="primary" v-on:click="check">{{ $t('buttons.check') }}</c-button>
<c-button v-on:click="exit">{{ $t('buttons.quit') }}</c-button>
</div>
</template>
<script>
......@@ -79,7 +79,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{
this.$router.history.push("/business/office")
this.$router.history.push("/home")
})
},
getVM(){
......
<template>
<el-form-item
:label="getL18nLabel()"
:prop="prop"
v-bind="$attrs"
v-on="$listeners"
>
<c-highlight-content
:id="previewLabel || label || prop"
:path="preProp ? preProp + '.' + prop : prop"
v-if="prop"
>
<slot></slot>
</c-highlight-content>
<slot v-else></slot>
</el-form-item>
</template>
<script>
export default {
props: ["label", "prop", "previewLabel", "preProp"],
methods: {
getL18nLabel() {
if (!this.label || this.label.trim() === "") {
return "";
}
// 默认中文作 key
if (this.$store.state.I18n.lang === "zh") {
return this.label;
}
let vm = this,
root = null;
while (true) {
if (vm.root) {
root = vm.root;
break;
}
if (vm.$vnode.componentOptions.tag === "el-form") {
break;
}
vm = vm.$parent;
}
// 若找到了root,表明该form-item是在交易下的
if (root) {
const opts = root.$vnode.componentOptions
const name = opts.Ctor.options.name || opts.tag
// const key = `tx.${root.trnName}.${this.label}`;
const key = `tx.${name}.${this.label}`;
const tVal = this.$t(key);
return tVal === key ? this.label : tVal;
}
return this.label;
},
},
};
</script>
<style></style>
......@@ -5,10 +5,10 @@
<template>
<div class="m-Btn-eContainer" v-if="!buttonHide && ((!isReview && !funcBtnHide) || showSetBtn)">
<div class="m-funcBtn-eContainer" v-if="!isReview && !buttonHide && !funcBtnHide">
<el-button type="primary" size="small" @click="start" :loading="$store.state.Status.loading.submit">提交</el-button>
<el-button size="small" @click="check" :loading="$store.state.Status.loading.check">检核</el-button>
<el-button size="small" @click="save" :loading="$store.state.Status.loading.stash">暂存</el-button>
<el-button size="small" @click="handleCancel">退出</el-button>
<el-button type="primary" size="small" @click="start" :loading="$store.state.Status.loading.submit">{{ $t('buttons.submit') }}</el-button>
<el-button size="small" @click="check" :loading="$store.state.Status.loading.check">{{ $t('buttons.check') }}</el-button>
<el-button size="small" @click="save" :loading="$store.state.Status.loading.stash">{{ $t('buttons.stash') }}</el-button>
<el-button size="small" @click="handleCancel">{{ $t('buttons.quit') }}</el-button>
</div>
<div class="m-zhanWei-forfuncBtn" v-if="!buttonHide && showSetBtn && (funcBtnHide || isReview)"></div>
<div class="m-openleft" v-if="!buttonHide && showSetBtn">
......@@ -19,7 +19,8 @@
class="m-setting-btn"
v-show="!openflag"
@click="open"
>展开
>
{{ $t('buttons.unfold') }}
<i class="el-icon-setting" size="mini"></i>
</el-button>
<el-button
......@@ -29,7 +30,8 @@
class="m-setting-btn"
v-show="openflag"
@click="close"
>收起
>
{{ $t('buttons.fold') }}
<i class="el-icon-setting" size="mini"></i>
</el-button>
<div class="m-openleft-item" v-show="openflag">
......@@ -103,7 +105,7 @@ export default {
}, 500)
} else {
setTimeout(() => {
this.$router.push('/business/office')
this.$router.push('/home')
}, 500)
}
})
......@@ -125,8 +127,8 @@ export default {
flex-wrap: nowrap;
justify-content: space-between;
align-items: flex-start;
height: 29px;
/* margin-bottom: 1px; */
height: 24px;
margin-bottom: 5px;
}
.m-funcBtn-eContainer {
order: 1;
......
......@@ -2,16 +2,16 @@
<div class="m-table-search">
<slot v-bind:searchToggle="searchToggle"></slot>
<div v-if="formCount>3" :class="searchToggle? (formCount%3 == 0?'m-table-search-operation':'m-table-search-operation-bottom'): 'm-table-search-operation-top'" >
<el-button size="small" @click="handleReset">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleSearch">查询</el-button>
<el-button size="small" @click="handleReset">{{ $t('buttons.reset') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleSearch">{{ $t('buttons.query') }}</el-button>
<el-button type="text" @click="handleToggleSearch">
{{searchToggle?'收起': '展开'}}
{{searchToggle? $t('buttons.fold') : $t('buttons.unfold') }}
<i :class="searchToggle? 'el-icon-arrow-up': 'el-icon-arrow-down'"></i>
</el-button>
</div>
<div v-if="formCount <= 3" :class="formCount == 3? 'm-table-search-operation': 'm-table-search-operation-top'">
<el-button size="small" @click="handleReset">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleSearch">查询</el-button>
<el-button size="small" @click="handleReset">{{ $t('buttons.reset') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleSearch">{{ $t('buttons.query') }}</el-button>
</div>
</div>
</template>
......
<template>
<el-table-column :label="generateI18nLabel()" v-bind="$attrs" v-on="$listeners">
<slot />
</el-table-column>
</template>
<script>
export default {
prop: {
label: {
type: String
}
},
methods: {
/**
* 以英文为主
* 若 lang 为中文 zh ,则列 label 不变
* 若 lang 为英文 en ,则需将中文翻译为英文(得提前配置好表格头的国际化:中 --> 英)
*/
generateI18nLabel() {
const lang = this.$store.state.I18n.lang
if (lang === "zh") {
return this.label;
}
return this.$t(this.label)
}
}
};
</script>
<style></style>
......@@ -30,6 +30,8 @@ import List from "./List"
import ListSearch from "./ListSearch"
import HighlightContent from "./HighlightContent"
import SearchInput from "./SearchInput.vue"
import FormItem from "./FormItem.vue"
import TableColumnItem from "./TableColumnItem.vue"
// 循环组件
import MessageArea from '~/widget/SwfMessage/MessageArea'
import CycList from '~/widget/SwfMessage/CycList'
......@@ -85,6 +87,8 @@ export default {
Vue.component("c-cascader", Cascader)
Vue.component("c-highlight-content", HighlightContent)
Vue.component("c-search-input", SearchInput)
Vue.component("c-form-item", FormItem)
Vue.component("c-table-column", TableColumnItem)
Vue.component("c-paged-select", PagedSelect)
Vue.component("c-function-btn", FunctionBtn)
Vue.component("c-bus-button", BusinessButon)
......
/**
* 交易中的公共模块
* 码表值
*/
export default {
......
/**
* 页面中的公共部分(顶部、左侧菜单栏、页签等)
*/
export default {
router: {
},
header: {
},
tagsView: {
refresh: "Refresh",
close: "Close",
closeOthers: "Close Others",
closeAll: "Close All",
},
login: {
namePlaceholder: "Please enter username",
pwdPlaceholder: "Please enter password",
loginBtn: "Login"
},
sideMenu: {
},
home: {
},
buttons: {
add: "Add",
delete: "Delete",
query: "Query",
edit: "Edit",
update: "Update",
details: "Details",
submit: "Submit",
check: "Check",
stash: "Stash",
quit: "Quit",
cancel: "Cancel",
fold: "Fold",
unfold: "Unfold",
reset: "Reset",
toolBar: "ToolBar"
}
};
import codeTable from "./codeTable";
import common from "./common";
import tx from "./tx";
export default {
tagsView: {
refresh: "Refresh",
close: "Close",
closeOthers: "Close Others",
closeAll: "Close All",
},
...common,
codeTable,
tx,
};
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
modules[moduleName] = value.default
return modules
}, {})
/**
* 交易模块
*/
export default {
...modules
}
\ No newline at end of file
import Setpan from "../public/Setpan"
export default {
"电话": "Tel",
"邮编": "Email",
...Setpan
}
\ No newline at end of file
/**
* 对应交易中的公共组件(Setpan.vue)
*/
export default {
}
\ No newline at end of file
......@@ -2,19 +2,44 @@
* 页面中的公共部分(顶部、左侧菜单栏、页签等)
*/
export default {
router: {
},
header: {
},
tagsView: {
refresh: "刷新",
close: "关闭",
closeOthers: "关闭其",
closeOthers: "关闭其",
closeAll: "关闭所有",
},
login: {
namePlaceholder: "请输入登录名",
pwdPlaceholder: "请输入密码",
loginBtn: "登录"
},
sideMenu: {
},
home: {
},
buttons: {
add: "添加",
delete: "删除",
query: "查询",
edit: "编辑",
update: "更新",
details: "详情",
submit: "提交",
check: "检核",
stash: "暂存",
quit: "退出",
cancel: "取消",
fold: "收起",
unfold: "展开",
reset: "重置",
toolBar: "工具条"
}
};
const modulesFiles = require.context('./', true, /\.js$/)
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
......
import Setpan from "../public/Setpan"
export default {
...Setpan
}
\ No newline at end of file
/**
* 对应交易中的公共组件(Setpan.vue)
*/
export default {
}
\ No newline at end of file
......@@ -96,6 +96,33 @@ export default {
//TODO 处理数据逻辑
this.stmData.data = res.data.sptstm.rows;
})
},
async sptfndHandleReset() {
this.model.chkinc = "";
this.model.chkdzt = "";
this.model.chkpen = "";
this.model.chkcor = "";
this.model.chkaut = "";
this.model.chkdel = "";
this.model.chktco = "";
this.model.chkcan = "";
this.model.selobj = "";
this.model.seltxt = "";
this.model.usfmod.flt = "";
this.model.inidatfro = "";
this.model.inidattil = "";
this.model.dflg = "1";
this.model.chkypt = "";
this.model.yptinf = "";
},
async sptfndHandleSearch() {
this.model.chkpen = "t";
this.executeDefault("sptstm").then(res => {
//TODO 处理数据逻辑
this.stmData.data = res.data.sptstm.rows;
})
}
}
\ No newline at end of file
......@@ -8,13 +8,20 @@ import { Message } from "element-ui";
router.beforeEach(async (to, from, next) => {
// 限制页签的数量
if (to.path.startsWith("/business")) {
if (store.state.TagsView.visitedViews.length >= store.state.TagsView.visitedViewsMaxVal) {
const visitedViews = store.state.TagsView.visitedViews;
const visitedViewsMaxVal = store.state.TagsView.visitedViewsMaxVal;
const fullPaths = visitedViews.map((tv) => tv.fullPath);
if (fullPaths.includes(to.fullPath)) {
next();
} else {
if (visitedViews.length >= visitedViewsMaxVal) {
Message.warning(
`页签数超过最大限制(${store.state.TagsView.visitedViewsMaxVal}),请先关闭其他页签!`
`页签数超过最大限制(${visitedViewsMaxVal}),请先关闭其他页签!`
);
return;
}
}
}
next();
});
......
......@@ -7,7 +7,9 @@ import Ditsel from "./Ditsel"
import Ditopn from "./Ditopn"
import Office from "./Office"
import Sptsel from "./Sptsel"
import Sptbrk from "./Sptsel/Sptbrk"
import Trnrel from "./Trnrel"
import Trnfnd from "./Trnrel/Trnfnd"
import Tstopn from "./Tstopn"
import Bdtudp from "./Bdtudp"
import Bdtdcr from "./Bdtdcr"
......@@ -62,7 +64,9 @@ const BusRouter = [
{ path: 'ditopn/:inr', component: Ditopn, name: 'DitopnInr', meta: { title: (params) => { return '买方信用证开立-' + params.inr } } },
{ path: 'office', component: Office, name: 'Office', meta: { title: 'Office' } },
{ path: 'sptsel', component: Sptsel, name: 'Sptsel', meta: { title: '待办任务' } },
{ path: 'sptbrk', component: Sptbrk, name: 'Sptbrk', meta: { title: '草稿箱' } },
{ path: 'trnrel', component: Trnrel, name: 'Trnrel', meta: { title: '复核任务' } },
{ path: 'trnfnd', component: Trnfnd, name: 'Trnfnd', meta: { title: '已完成任务' } },
{ path: 'trndtl', query: 'inr', component: Trndtl, name: 'Trndtl', meta: { title: 'Trndtl' } },
{ path: 'tstopn', component: Tstopn, name: 'Tstopn', meta: { title: 'Tstopn' } },
{ path: 'infpta', component: Infpta, name: 'Infpta', meta: { title: 'Infpta' } },
......
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<template>
<template v-slot="searchSlot">
<el-form
class="m-table-search-form"
ref="paramsForm"
:inline="true"
label-position="left"
label-position="right"
label-width="110px"
size="small"
>
<el-row>
<c-col :span="12">
<el-form-item label="from">
<c-col :span="23">
<c-col :span="8">
<el-form-item label="提示日期" style="width: 100%">
<c-col :span="11">
<el-date-picker
type="date"
v-model="model.diafro"
style="width: 45%"
style="width: 100%"
placeholder="请选择Diary From date"
></el-date-picker>
to
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<el-date-picker
type="date"
v-model="model.diatil"
style="width: 45%"
style="width: 100%"
placeholder="请选择Diary Till date"
></el-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="12">
<el-form-item label="Reasons" prop="reasen">
<c-col :span="8">
<el-form-item label="提示原因" prop="reasen" style="width: 100%">
<c-select
v-model="model.reasen"
style="width: 100%"
......@@ -46,10 +54,8 @@
</c-select>
</el-form-item>
</c-col>
</el-row>
<el-row>
<c-col :span="12">
<el-form-item label="Reference" prop="searef">
<c-col :span="8" v-show="searchSlot.searchToggle">
<el-form-item label="业务编号" prop="searef" style="width: 100%">
<c-input
v-model="model.searef"
maxlength="16"
......@@ -58,9 +64,13 @@
></c-input>
</el-form-item>
</c-col>
</c-col>
</el-row>
<el-row v-show="searchSlot.searchToggle">
<c-col :span="12">
<el-form-item label="Bus.Sector" prop="seasec">
<c-col :span="23">
<c-col :span="8">
<el-form-item label="业务类型" prop="seasec" style="width: 100%">
<c-select
v-model="model.seasec"
style="width: 100%"
......@@ -76,13 +86,15 @@
</c-select>
</el-form-item>
</c-col>
</el-row>
<el-row>
<c-col :span="12">
<el-form-item label="Selection of Users" prop="usfmod.flt">
<c-col :span="8">
<el-form-item label="选择用户" prop="usfmod.flt" style="width: 100%">
<c-col :span="24">
<c-col :span="16">
<c-select
v-model="model.usfmod.flt"
style="width: 60%"
style="width: 100%"
placeholder="请选择Filter"
>
<el-option
......@@ -93,30 +105,42 @@
>
</el-option>
</c-select>
<c-button size="small" type="primary" style="width: 30%">
</c-col>
<c-col :span="7">
<c-button size="small" type="primary" style="width: 100%">
show set
</c-button>
</c-col>
</c-col>
</el-form-item>
</c-col>
<c-col :span="12">
<c-col :span="8">
<el-form-item
v-if="model.usfmod.flt == '<SELU>'"
label="Selected User"
label="经办柜员"
prop="usfmod.usr.extkey"
style="width: 100%"
>
<c-col :span="24">
<c-col :span="16">
<c-input
v-model="model.usfmod.usr.extkey"
maxlength="8"
placeholder="请输入User ID"
style="width: 70%"
style="width: 100%"
></c-input>
<c-button size="small" type="primary" icon="el-icon-search"></c-button>
</c-col>
<c-col :span="7">
<c-button size="small" style="width: 100%" type="primary" icon="el-icon-search"></c-button>
</c-col>
</c-col>
</el-form-item>
<el-form-item
v-if="model.usfmod.flt == '<SELB>'"
label="Select Branch"
label="业务机构"
prop="usfmod.selusb"
style="width: 100%"
>
<c-select
v-model="model.usfmod.selusb"
......@@ -126,14 +150,14 @@
</c-select>
</el-form-item>
</c-col>
</c-col>
</el-row>
<c-col :span="24"> </c-col>
</el-form>
</template>
</c-list-search>
<div style="margin-top: 20px">
<!-- <div style="margin-top: 20px">
<c-button
size="small"
type="primary"
......@@ -185,18 +209,63 @@
<c-button size="small" type="primary" disabled="disabled">
导Excel
</c-button>
</div>
</div> -->
<el-row>
<c-col :span="23">
<c-istream-table
:list="stmData.data"
:columns="stmData.columns"
:showSelection="true"
v-on:multipleSelect="multipleSelect"
>
<el-table-column
fixed="right"
prop="display"
label="操作"
width="250px"
>
<template>
<c-button
style="margin-left: 0"
size="small"
type="primary"
>
处理
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
>
详情
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
>
修改
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
>
删除
</c-button>
</template>
</el-table-column>
</c-istream-table>
</c-col>
</el-row>
<el-row style="margin-top: 2rem">
<c-col :span="23">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>交易状态信息 —— {{ transactionStatus.busiNo }}</span>
......@@ -230,6 +299,7 @@
</form>
</div>
</el-card>
</c-col>
</el-row>
<el-dialog :visible.sync="initdialog" :title="'交易列表'" append-to-body>
<div class="m-list-btns"></div>
......@@ -376,34 +446,25 @@ export default {
},
stmData: {
columns: [
'1 1 "Date" 1',
'2 2 "Reason" 1',
'3 3 "Reference" 1',
'4 4 "Description" 1',
'5 5 "Transaction" 1',
'6 6 "User" 1',
'7 7 "Group" 1',
'8 8 "客户号" 1',
'9 9 "客户名称" 1',
'10 10 "币种" 1',
'11 11 "金额" 1',
'12 12 "预计核验" 1',
'1 1 "提示日期" 0',
'2 2 "提示原因" 0',
'3 3 "业务编号" 0',
'4 4 "提示信息" 0',
'5 5 "待操作交易代码" 0',
'6 6 "经办柜员" 0',
'7 7 "所属工作组" 0',
// '8 8 "客户号" 1',
// '9 9 "客户名称" 1',
// '10 10 "币种" 1',
// '11 11 "金额" 1',
// '12 12 "预计核验" 1',
],
data: [],
},
relrowDisabled: true,
multipleSelection: [],
};
},
methods: {
multipleSelect(val) {
// TODO 根据Status判断按钮是否禁用
this.relrowDisabled = !(val.length > 0);
this.multipleSelection = val;
},
getSelectedData() {
return this.multipleSelection.map((idx) => this.stmData.data[idx]);
},
...Event,
},
created: function () {},
......
......@@ -5,7 +5,9 @@
<!--PD000001 -->
<!-- <el-tab-pane label="Diary Selection" name="diaselp"> -->
<c-content>
<m-diaselp :model="model" :codes="codes" ref="diaselp"/>
</c-content>
<!-- </el-tab-pane>
</c-tabs> -->
</el-form>
......@@ -71,7 +73,7 @@ export default {
let rtnmsg = await this.init({})
if(rtnmsg.respCode == SUCCESS)
{
debugger;
this.$refs.diaselp.stmData.data = rtnmsg.data.dspstm.rows;
}
......
......@@ -505,16 +505,16 @@
</c-col> -->
<c-col :span="14">
<el-form-item label="邮编" prop="didgrp.apl.pts.youzbm">
<c-form-item label="邮编" prop="didgrp.apl.pts.youzbm">
<c-input
v-model="model.didgrp.apl.pts.youzbm"
maxlength="6"
placeholder="请输入邮编"
></c-input>
</el-form-item>
</c-form-item>
</c-col>
<c-col :span="10">
<el-form-item
<c-form-item
label="电话"
label-width="40px"
style="margin-left: 12px"
......@@ -525,7 +525,7 @@
maxlength="16"
placeholder="请输入电话"
></c-input>
</el-form-item>
</c-form-item>
</c-col>
<c-col :span="24">
......
......@@ -58,6 +58,7 @@
</c-col>
</el-row> -->
<el-row>
<c-col :span="23">
<c-col :span="8">
<el-form-item label="业务编号" prop="selobj" style="width: 100%">
<c-input
......@@ -78,12 +79,12 @@
></c-input>
</el-form-item>
</c-col>
<c-col :span="8" v-if="searchSlot.searchToggle&&!isDraftBox">
<c-col :span="8" v-if="searchSlot.searchToggle">
<el-form-item label="来源" style="width: 100%" prop="sourceModel">
<el-select
clearable
v-model="sourceModel"
style="width: 70%"
style="width: 100%"
placeholder="请选择来源"
multiple
collapse-tags
......@@ -98,10 +99,11 @@
</el-select>
</el-form-item>
</c-col>
</c-col>
</el-row>
<el-row v-show="searchSlot.searchToggle">
<c-col :span="24">
<c-col :span="23">
<c-col :span="8">
<el-form-item
label="选择用户"
......@@ -168,7 +170,7 @@
>
<c-select
v-model="model.dflg"
style="width: 70%"
style="width: 100%"
placeholder="请选择国内国际标志"
>
<el-option label="All" value="1"></el-option>
......@@ -179,6 +181,8 @@
</c-col>
</c-col>
<c-col :span="23">
<c-col :span="8" v-if="model.usfmod.flt==='<SELU>'">
<el-form-item label="经办柜员" style="width:100%">
<c-input></c-input>
......@@ -213,6 +217,7 @@
></c-input>
</el-form-item>
</c-col> -->
</c-col>
</el-row>
</el-form>
</template>
......@@ -275,9 +280,9 @@
详情
</c-button>
</c-col> -->
<c-col :span="24">
<c-col :span="23">
<c-istream-table :list="stmData.data" :columns="stmData.columns">
<el-table-column fixed="right" prop="op" label="OP" width="140px">
<el-table-column fixed="right" prop="op" label="操作" width="140px">
<template slot-scope="scope">
<c-button
style="margin-left: 0"
......@@ -301,6 +306,7 @@
</c-col>
</el-row>
<el-row style="margin-top: 2rem">
<c-col :span="23">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>交易状态信息 —— {{ transactionStatus.busiNo }}</span>
......@@ -334,6 +340,7 @@
</form>
</div>
</el-card>
</c-col>
</el-row>
<el-dialog :visible.sync="initdialog" :title="'交易列表'" append-to-body>
<div class="m-list-btns"></div>
......@@ -348,7 +355,7 @@ import Event from "~/model/Sptsel/Event";
export default {
inject: ["root"],
props: ["model", "codes","isDraftBox"],
props: ["model", "codes"],
mixins: [CommonProcess],
data() {
......@@ -394,7 +401,6 @@ export default {
},
mounted() {
if(this.root.tag == 'tohandle'){
this.sourceData = [
{ label: "Incoming", value: "chkinc" },
{ label: "E-Trade", value: "chkdzt" },
......@@ -405,11 +411,7 @@ export default {
{ label: "网银", value: "chktco" },
{ label: "归档", value: "chkcan" },
{ label: "云平台", value: "chkypt" },
]
}
else if(this.root.tag == 'draft'){
this.sourceData = [{ label: "Break", value: "chkpen" }]
}
];
},
computed: {
chkinc: {
......@@ -476,28 +478,27 @@ this.sourceData = [{ label: "Break", value: "chkpen" }]
this.model.chkcan = val ? "t" : "";
},
},
sourceModel:{
get(){
sourceModel: {
get() {
let arr = [];
this.sourceData.forEach(element => {
if(this.model[element.value]){
this.sourceData.forEach((element) => {
if (this.model[element.value]) {
arr.push(element.value);
}
});
return arr;
},
set(val){
set(val) {
let set = new Set(val);
this.sourceData.forEach(element => {
if(set.has(element.value)){
this.model[element.value]=true;
}
else{
this.model[element.value]=false;
this.sourceData.forEach((element) => {
if (set.has(element.value)) {
this.model[element.value] = true;
} else {
this.model[element.value] = false;
}
});
}
}
},
},
},
methods: { ...Event },
......
<template>
<div class="eContainer">
<el-form :model="model" :rules="rules" ref="modelForm" tokenKey="modelForm" label-width="170px" size="small" :validate-on-rule-change="false">
<!-- <c-tabs :value="tabVal" ref="elment" type="card" @tab-click="tabClick"> -->
<!-- <el-tab-pane :value="tabVal" label="待办任务查询" name="menu"> -->
<c-content>
<m-menu :model="model" :codes="codes" ref="Menu"/>
</c-content>
<!-- </el-tab-pane> -->
<!-- </c-tabs> -->
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Sptsel from "~/Model/Sptsel"
import CommonProcess from "~/mixin/CommonProcess.js"
import Pattern from "~/Model/Sptsel/Pattern"
import Utils from "~/utils/index"
import Default from "~/model/Sptsel/Default";
import Check from "~/model/Sptsel/Check";
import Menu from "./Menu"
import Event from "~/model/Sptsel/Event"
export default {
name: 'Sptbrk',
components:{
"m-menu" : Menu,
},
provide() {
return {
root: this
}
},
mixins: [CommonProcess], // 里面包含了Default、Check等的公共处理
computed: {
},
data(){
return {
tabVal: "menu",
trnName:"sptsel",
model:new Sptsel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules:null,
codes:{
flt:CodeTable.flt,
dflg:CodeTable.dflg
},
}
},
methods:{...Event},
mounted:async function(){
console.log("进入sptsel交易");
const that = this;
that.init(that.model).then(res => {
//TODO 处理数据逻辑
that.model = Utils.copyValueFromVO(that.model, res.data)
// that.$refs.Menu.stmData.columns = res.data.sptstm.rows;
})
}
}
</script>
<style>
</style>
......@@ -4,7 +4,7 @@
<!-- <c-tabs :value="tabVal" ref="elment" type="card" @tab-click="tabClick"> -->
<!-- <el-tab-pane :value="tabVal" label="待办任务查询" name="menu"> -->
<c-content>
<m-menu :model="model" :codes="codes" ref="Menu" :isDraftBox="isDraftBox"/>
<m-menu :model="model" :codes="codes" ref="Menu" />
</c-content>
<!-- </el-tab-pane> -->
<!-- </c-tabs> -->
......@@ -33,7 +33,6 @@ export default {
root: this
}
},
props: ["tag","isDraftBox"],
mixins: [CommonProcess], // 里面包含了Default、Check等的公共处理
computed: {
......
......@@ -395,7 +395,7 @@
fixed="right"
prop="display"
label="操作"
width="260px"
width="200px"
>
<template>
<!-- <a :href="`/#/display/${scope.row['10'].toLowerCase()}?trn=${scope.row['1']}`" target="_blank" >显示快照</a>-->
......@@ -406,23 +406,7 @@
style="margin-left: 0"
size="small"
type="primary"
v-if="this.root.tag === 'tocheck'"
>
复核
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
v-if="this.root.tag === 'tocheck'"
>
退回修改
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
v-if="this.root.tag === 'tocheck'"
>
详情
</c-button>
......@@ -430,32 +414,26 @@
style="margin-left: 0"
size="small"
type="primary"
v-if="this.root.tag === 'finish'"
>
信息显示
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
v-if="this.root.tag === 'finish'"
>
交易快照
复核
</c-button>
<c-button
style="margin-left: 0"
size="small"
type="primary"
v-if="this.root.tag === 'finish'"
>
冲正
退回
</c-button>
</template>
</el-table-column>
</c-istream-table>
</c-col>
</el-row>
<el-row style="margin-top: 2rem">
<!-- <el-row style="margin-top: 2rem">
<c-col :span="23">
<el-card class="box-card">
<div slot="header" class="clearfix">
......@@ -491,7 +469,7 @@
</div>
</el-card>
</c-col>
</el-row>
</el-row> -->
<!-- <el-dialog :visible.sync="initdialog" :title="'交易列表'" append-to-body>
<div class="m-list-btns">
</div>
......@@ -542,16 +520,16 @@ export default {
// '0 12 "Status" 54 1 tdViewTypeEdit:0 1 RELSTA',
// ],
columns: [
'10 1 "交易代码" 0',
'11 2 "业务编号" 0',
'12 3 "币种" 0',
'13 4 "金额" 0',
'14 5 "创建时间" 0',
'9 6 "签名要求" 0',
'2 7 "签名状态" 0',
'16 8 "经办柜员" 0',
'0 9 "业务状态" 0',
'15 10 "业务机构" 0',
'10 1 "交易代码" 80',
'11 2 "业务编号" 150',
'12 3 "币种" 50',
'13 4 "金额" 70',
'14 5 "创建时间" 170',
'9 6 "签名要求" 70',
'2 7 "签名状态" 70',
'16 8 "经办柜员" 70',
'0 9 "业务状态" 70',
'15 10 "业务机构" 200',
],
data: [],
},
......@@ -573,22 +551,17 @@ export default {
},
created: function () {},
mounted() {
if (this.root.tag == "tocheck") {
this.relflgCodes = [
{ label: "Correct", value: "C" },
{ label: "Closed", value: "M" },
{ label: "Entered", value: "E" },
{ label: "External", value: "X" },
{ label: "Picked up", value: "P" },
{ label: "Rejected", value: "N" },
{ label: "Waiting", value: "W" },
];
} else if (this.root.tag == "finish") {
this.relflgCodes = [
{ label: "Closed", value: "M" },
{ label: "Final", value: "F" },
{ label: "Released", value: "R" },
];
}
},
computed: {},
};
......
<template>
<div class="eContainer">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
tokenKey="modelForm"
:validate-on-rule-change="false"
label-width="150px"
size="small"
>
<!-- <el-tabs ref="elment" type="card" @tab-click="tabClick">
<el-tab-pane label="复核夹查询"> -->
<c-content>
<m-inftrnps :model="model" :codes="codes" ref="inftrnps" />
</c-content>
<!-- </el-tab-pane>
</el-tabs> -->
</el-form>
</div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Trnrel from "~/Model/Trnrel";
import CommonProcess from "~/mixin/CommonProcess";
import Pattern from "~/Model/Trnrel/Pattern";
import Default from "~/model/Trnrel/Default";
import Check from "~/model/Trnrel/Check";
import Inftrnps from "./Inftrnps";
import Utils from "~/utils/index";
// import * as poinMessage from '@/util/poin-common/messageManage.js'
import {
TabPane,
Col,
Table,
Form,
FormItem,
Upload,
TableColumn,
Card,
Input,
Button,
Dialog,
Select,
Tabs,
Option,
DatePicker,
Row,
} from "element-ui";
import Event from "~/model/Trnrel/Event";
export default {
name: "Trnfnd",
components: {
"m-inftrnps": Inftrnps,
},
mixins: [CommonProcess], // 里面包含了Default、Check等的公共处理
computed: {},
provide() {
return {
root: this,
};
},
data() {
return {
trnName: "trnrel",
model: new Trnrel().data,
checkRules: Check,
defaultRules: Default,
pattern: Pattern,
rules: null,
codes: {
dflg: CodeTable.dflg,
bchtyp: CodeTable.bchtyp,
usrsort: CodeTable.usrsort,
},
};
},
methods: {},
mounted: async function () {
console.log("进入trnrel交易");
const that = this;
that.init(that.model).then((res) => {
//TODO 处理数据逻辑
if ((res.data.trncorco_relflg = "W")) {
res.data.trncorco_relflg = "R";
}
that.model = Utils.copyValueFromVO(that.model, res.data);
// that.$refs.inftrnps.stmData.columns=res.data.trncorco_trnstm.rows
});
},
};
</script>
<style>
</style>
......@@ -11,9 +11,9 @@
>
<!-- <el-tabs ref="elment" type="card" @tab-click="tabClick">
<el-tab-pane label="复核夹查询"> -->
<c-content>
<!-- <c-content> -->
<m-inftrnps :model="model" :codes="codes" ref="inftrnps" />
</c-content>
<!-- </c-content> -->
<!-- </el-tab-pane>
</el-tabs> -->
</el-form>
......@@ -74,7 +74,6 @@ export default {
root: this,
};
},
props: ["tag"],
data() {
return {
trnName: "trnrel",
......@@ -96,11 +95,6 @@ export default {
const that = this;
that.init(that.model).then((res) => {
//TODO 处理数据逻辑
if (this.tag == "finish") {
if ((res.data.trncorco_relflg = "W")) {
res.data.trncorco_relflg = "R";
}
}
that.model = Utils.copyValueFromVO(that.model, res.data);
// that.$refs.inftrnps.stmData.columns=res.data.trncorco_trnstm.rows
......
......@@ -27,7 +27,7 @@ export default {
<style>
#business_container {
/* height: 100%; */
height: calc(100% - 45px);
height: calc(100% - 36px);
position: absolute;
width: 100%;
}
......
......@@ -12,10 +12,10 @@
<c-search-input v-show="menuOpen"></c-search-input>
</div>
<c-content :height="250">
<img
<!-- <img
src="../../assets/menu_bottom.png"
style="position: fixed; width: 200px; bottom: 0"
/>
/> -->
<el-menu
:default-active="activeMenu"
class="el-menu-vertical-demo"
......
......@@ -9,15 +9,20 @@
v-for="tag in visitedViews"
ref="tag"
:key="tag.path"
:class="{'active': isActive(tag), activeIcon: !isAffix(tag)}"
:class="{ active: isActive(tag), activeIcon: !isAffix(tag) }"
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag="span"
class="tags-view-item"
@click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''"
@contextmenu.prevent.native="openMenu(tag, $event)"
>
<span v-if="isAffix(tag) && tag.meta.icon" :class="tag.meta.icon"></span>
{{ typeof tag.title === 'function' ? tag.title(tag.params) : tag.title }}
<span
v-if="isAffix(tag) && tag.meta.icon"
:class="tag.meta.icon"
></span>
{{
typeof tag.title === "function" ? tag.title(tag.params) : tag.title
}}
<span
v-if="!isAffix(tag)"
class="el-icon-close"
......@@ -30,12 +35,14 @@
:style="{ left: left + 'px', top: top + 'px' }"
class="contextmenu"
>
<li @click="refreshSelectedTag(selectedTag)">{{ $t('tagsView.refresh') }}</li>
<li @click="refreshSelectedTag(selectedTag)">
{{ $t("tagsView.refresh") }}
</li>
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">
{{ $t('tagsView.close') }}
{{ $t("tagsView.close") }}
</li>
<li @click="closeOthersTags">{{ $t('tagsView.closeOthers') }}</li>
<li @click="closeAllTags(selectedTag)">{{ $t('tagsView.closeAll') }}</li>
<li @click="closeOthersTags">{{ $t("tagsView.closeOthers") }}</li>
<li @click="closeAllTags(selectedTag)">{{ $t("tagsView.closeAll") }}</li>
</ul>
</div>
</template>
......@@ -43,7 +50,7 @@
<script>
import ScrollPane from "./ScrollPane";
import path from "path";
import { routes as allRoute } from "~/routers"
import { routes as allRoute } from "~/routers";
export default {
components: { ScrollPane },
......@@ -151,6 +158,10 @@ export default {
});
},
closeSelectedTag(view) {
this.$confirm("您有未保存的数据,确定退出吗, 是否继续?", "提示", {
showCancelButton: true,
type: "warning",
}).then(() => {
this.$store
.dispatch("TagsView/delView", view)
.then(({ visitedViews }) => {
......@@ -158,6 +169,7 @@ export default {
this.toLastView(visitedViews, view);
}
});
});
},
closeOthersTags() {
this.$router.push(this.selectedTag);
......@@ -219,14 +231,14 @@ export default {
<style scoped>
.tags-view-container {
height: 34px;
height: 28px;
width: 100%;
background: #f5f4f9;
border-bottom: 1px solid #d8dce5;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 0 3px 0 rgba(0, 0, 0, 0.04);
/* box-sizing: inherit; */
/* padding-top: 5px; */
padding-bottom: 1px;
padding-top: 5px;
padding-bottom: 5px;
}
.tags-view-container .tags-view-wrapper .tags-view-item {
......@@ -240,8 +252,9 @@ export default {
background: #fff;
padding: 0 8px;
font-size: 12px;
margin-left: 5px;
margin-top: 4px;
/* margin-left: 4px; */
/* margin-top: 4px; */
margin:0 4px 0 0;
}
.tags-view-container .tags-view-wrapper .tags-view-item:first-of-type {
margin-left: 10px;
......@@ -254,7 +267,9 @@ export default {
color: #fff;
border-color: var(--themecolor);
}
.tags-view-container .tags-view-wrapper .tags-view-item.active.activeIcon::before {
.tags-view-container
.tags-view-wrapper
.tags-view-item.active.activeIcon::before {
content: "";
background: #fff;
display: inline-block;
......@@ -264,7 +279,7 @@ export default {
position: relative;
margin-right: 2px;
}
.tags-view-container .tags-view-wrapper .tags-view-item [class^=el-icon-] {
.tags-view-container .tags-view-wrapper .tags-view-item [class^="el-icon-"] {
font-size: 15px;
}
.tags-view-container .tags-view-wrapper .tags-view-item .el-icon-close {
......
......@@ -10,10 +10,10 @@
<el-aside width="240px" style="background-color: white">
<sideMenu></sideMenu>
</el-aside>
<div style="width: 8px"></div>
<div style="width: 2px"></div>
<el-main class="m-app-main">
<tagViews></tagViews>
<!-- <div style="height: 10px"></div> -->
<div style="height: 2px"></div>
<business style="background-color: var(--bgcolor)"></business>
<toolbars></toolbars>
</el-main>
......
......@@ -6,15 +6,15 @@
<p style="text-align:left;font-size:1.2em;color:#888">用户登录 / LOGIN IN</p>
<el-form :model="loginForm" status-icon :rules="rules" ref="loginForm" size="small" >
<el-form-item prop="username" >
<el-input prefix-icon="el-icon-user" placeholder="请输入登录名" v-model="loginForm.username"></el-input>
<el-input prefix-icon="el-icon-user" :placeholder="$t('login.namePlaceholder')" v-model="loginForm.username"></el-input>
</el-form-item>
<el-form-item prop="password" >
<el-input prefix-icon="el-icon-lock" placeholder="请输入密码" type="password" v-model="loginForm.password" autocomplete="off"></el-input>
<el-input prefix-icon="el-icon-lock" :placeholder="$t('login.pwdPlaceholder')" type="password" v-model="loginForm.password" autocomplete="off"></el-input>
</el-form-item>
<el-form-item>
<el-button style="width:100%;margin-top:1em;margin:0 0" type="primary" @click="submitForm('loginForm')">登录</el-button>
<el-button style="width:100%;margin-top:1em;margin:0 0" type="primary" @click="submitForm('loginForm')">{{$t('login.loginBtn')}}</el-button>
</el-form-item>
</el-form>
</div>
......
......@@ -49,7 +49,7 @@
type="primary"
@click="onAplpDet"
>
详情
{{ $t('buttons.details') }}
</c-button>
<!-- </el-form-item> -->
</c-col>
......
......@@ -3,21 +3,21 @@
<c-tabs :value="tabVal" type="card" @tab-click="tabClick">
<el-tab-pane label="待经办列表" name="sptsel">
<!-- <c-table :columnsConfig="tableColumns" :list="tableData"></c-table> -->
<t-sptsel tag="tohandle" :isDraftBox="false"/>
<t-sptsel />
</el-tab-pane>
<el-tab-pane label="待复核列表" name="trnrel">
<t-trnrel tag="tocheck" />
<t-trnrel />
</el-tab-pane>
<el-tab-pane label="已完成列表" name="finishedList">
<t-trnrel tag="finish" />
<el-tab-pane label="已完成列表" name="trnfnd">
<t-trnfnd />
</el-tab-pane>
<el-tab-pane label="待申报列表" name="bopsel">
<t-bopsel />
</el-tab-pane>
<el-tab-pane label="草稿箱" name="draftBox">
<t-sptsel tag="draft" :isDraftBox="true"/>
<el-tab-pane label="草稿箱" name="sptbrk">
<t-sptbrk />
</el-tab-pane>
<el-tab-pane label="到期提示" name="expirePrompt">
<el-tab-pane label="到期提示" name="diasel">
<t-diasel/>
</el-tab-pane>
</c-tabs>
......@@ -28,7 +28,9 @@
import Sptsel from "~/views/Business/Sptsel";
import Sptbrk from "~/views/Business/Sptsel/Sptbrk";
import Trnrel from "~/views/Business/Trnrel";
import Trnfnd from "~/views/Business/Trnrel/Trnfnd";
import Diasel from "~/views/Business/Diasel";
import Bopsel from "~/views/Business/Bopsel";
......@@ -45,7 +47,9 @@ export default {
},
components:{
"t-sptsel" : Sptsel,
"t-sptbrk" : Sptbrk,
"t-trnrel" : Trnrel,
"t-trnfnd" : Trnfnd,
"t-diasel" : Diasel,
"t-bopsel" : Bopsel,
},
......
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