Commit 1064ae5a by 李少勇

nxysdb 交易页面开发

parent 5f2f2eef
...@@ -17,6 +17,7 @@ const BusRouter = [ ...@@ -17,6 +17,7 @@ const BusRouter = [
{ path: 'dblktp', component: () => import("./Dblktp/views"), name: 'Dblktp', meta: { title: '记账类型管理', module: 'frontend', keepAlive: true } }, { path: 'dblktp', component: () => import("./Dblktp/views"), name: 'Dblktp', meta: { title: '记账类型管理', module: 'frontend', keepAlive: true } },
{ path: 'dotopn', component: () => import("./Dotopn/views"), name: 'Dotopn', meta: { title: '待对账信息录入', module: 'frontend', keepAlive: true } }, { path: 'dotopn', component: () => import("./Dotopn/views"), name: 'Dotopn', meta: { title: '待对账信息录入', module: 'frontend', keepAlive: true } },
{ path: 'fxdsdb', component: () => import("./Fxdsdb/views"), name: 'Fxdsdb', meta: { title: '人民币跨境基础数据查询', module: 'frontend', keepAlive: true } }, { path: 'fxdsdb', component: () => import("./Fxdsdb/views"), name: 'Fxdsdb', meta: { title: '人民币跨境基础数据查询', module: 'frontend', keepAlive: true } },
{ path: 'nxysdb', component: () => import("./Nxysdb/views"), name: 'Nxysdb', meta: { title: '农信银基础数据查询', module: 'frontend', keepAlive: true } },
{ path: 'bsnsel', component: () => import("./Bsnsel/views"), name: 'Bsnsel', meta: { title: 'CIPS业务状态查询', module: 'frontend', keepAlive: true } }, { path: 'bsnsel', component: () => import("./Bsnsel/views"), name: 'Bsnsel', meta: { title: 'CIPS业务状态查询', module: 'frontend', keepAlive: true } },
{ path: 'csnsel', component: () => import("./Csnsel/views"), name: 'Csnsel', meta: { title: '数字证书处理', module: 'frontend', keepAlive: true } }, { path: 'csnsel', component: () => import("./Csnsel/views"), name: 'Csnsel', meta: { title: '数字证书处理', module: 'frontend', keepAlive: true } },
{ path: 'patsel', component: () => import("./Patsel/views"), name: 'Patsel', meta: { title: '人民币跨境支付行号信息', module: 'frontend', keepAlive: true } }, { path: 'patsel', component: () => import("./Patsel/views"), name: 'Patsel', meta: { title: '人民币跨境支付行号信息', module: 'frontend', keepAlive: true } },
......
import Api from "~/service/Api";
import moment from "moment";
import Nxysdb from "../model";
import Utils from "~/utils";
export default {
methods: {
async handleSearch() {
let begdat = this.model.fddp.begdat;
if (!begdat || begdat == "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.导入起始日期必输!"),
});
return;
}
let enddat = this.model.fddp.enddat;
if (!enddat || enddat == "") {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.导入结束日期必输!"),
});
return;
}
this.load = true;
let rtnmsg = await Api.post("/frontend/nxysdb/query", {
...this.model.fddp,
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize
});
if (rtnmsg.respCode == SUCCESS) {
this.load = false;
this.stmData.data = [];
const { list } = rtnmsg.data;
this.stmData.data = list;
this.pagination = {
pageNum: rtnmsg.data.pageNum || 1,
pageSize: rtnmsg.data.pageSize || 10,
total: parseInt(rtnmsg.data.total),
};
} else {
this.$notify.error({
title: this.$t("financing.错误"),
message: this.$t("financing.服务请求失败!"),
});
}
this.load = false;
},
async handleReset() {
let resetModel = new Nxysdb().data
Utils.copyValueFromVoData(this.model, resetModel);
this.handleSearch();
},
// pageSize改变
handleSizeChange(val) {
this.pagination.pageNum = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
this.pagination.pageNum = val;
this.handleSearch();
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
handleAdd() {
this.$refs.addDialog.visible = true
}
},
};
export default {
"fddp.begdat": [
{ type: "string", required: false, message: "输入正确的日期" }
],
"fddp.enddat": [
{ type: "string", required: false, message: "输入正确的日期" }
],
"fddp.filnam": [
{ type: "string", required: false, message: "必输项" },
{ max: 0, message: "长度不能超过0" }
],
}
\ No newline at end of file
import moment from "moment";
export default class Nxysdb {
constructor() {
this.data = {
fddp: {
begdat: moment(new Date()).add(-3, 'd').format('YYYY-MM-DD'), // 导入起始日期 .fddp.begdat
enddat: moment(new Date()).format('YYYY-MM-DD'), // 导入截止日期 .fddp.enddat
filtyp: "", // 文件类型 .fddp.filtyp
filnam: "", // 文件名 .fddp.filnam
},
cpsfxdgrp: {
fxdlst: [], // .cpsfxdgrp.fxdlst
},
}
}
}
\ No newline at end of file
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<!-- 持续展示区 -->
<template v-slot="searchSlot">
<el-row>
<c-col :span="24">
<c-col :span="8">
<el-form-item label="文件类型" prop="fddp.filtyp" style="width: 100%">
<c-select v-model="model.fddp.filtyp" style="width: 100%" placeholder="请选择文件类型" dbCode="FILTYP" />
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="文件名" prop="fddp.filnam" style="width: 100%">
<c-input v-model="model.fddp.filnam" style="width: 100%" placeholder="请输入文件名" />
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item label="导入日期" prop="rcvdatsta" style="width: 100%">
<c-col :span="11">
<c-date-picker type="date" v-model="model.fddp.begdat" style="width: 100%"></c-date-picker>
</c-col>
<c-col :span="2" style="text-align: center">
<label style="display: inline-block; width: 100%">-</label>
</c-col>
<c-col :span="11">
<c-date-picker type="date" v-model="model.fddp.enddat" style="width: 100%"></c-date-picker>
</c-col>
</el-form-item>
</c-col>
</c-col>
</el-row>
<!-- 可控展示区 -->
<el-row v-show="searchSlot.searchToggle">
</el-row>
</template>
</c-list-search>
<el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
<c-button class="medium_bcs" size="medium" style="margin-left: 0" type="primary" @click="handleAdd">
新增
</c-button>
<c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 20px;" type="primary">
{{ $t('public.归档') }}
</c-button>
<c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium" style="margin-left: 20px;" type="primary">
ReRouting
</c-button>
<c-button class="medium_bcs" size="medium" style="margin-left: 20px;" type="primary">
{{ $t('public.导出Excel') }}
</c-button>
</el-col>
<el-col :span="24" style="margin-top: 10px">
<div style="height: 90%">
<c-col :span="24">
<el-table
:data="stmData.data" :columns="stmData.columns"
v-loading="load" style="width: 100%"
@selection-change="handleSelectionChange"
size="small" :border="true"
height="calc(100vh - 310px)"
:highlight-current-row="true">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column
v-for="(item, key) in stmData.columns"
:key="key" :label="item.label"
:prop="item.prop"
:width="item.width">
<template slot-scope="scope">
<c-select-value-to-label v-if="item.prop == 'filtyp'" v-model="scope.row.filtyp" dbCode="FILTYP"></c-select-value-to-label>
<span v-else>{{ scope.row[item.prop] }}</span>
</template>
</el-table-column>
</el-table>
<el-pagination
layout="total, sizes, prev, pager, next, jumper"
:total="pagination.total"
:page-size="pagination.pageSize"
:current-page.sync="pagination.pageNum"
@size-change="handleSizeChange"
@current-change="handleCurrentChange">
</el-pagination>
</c-col>
</div>
</el-col>
<add-dialog ref="addDialog"></add-dialog>
</div>
</template>
<script>
import event from "../event";
import addDialog from "./addDialog.vue";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
components: {
'add-dialog': addDialog
},
data() {
return {
load: false,
subtypCodes: [],
multipleSelection: [],
stmData: {
columns: [
{
label: "导入日期",
prop: "credat",
width: "120px"
},
{
label: "文件类型",
prop: "filtyp",
width: "240px"
},
{
label: "文件名称",
prop: "filnam",
width: "240px"
},
{
label: "文件保存路径",
prop: "filpth",
width: "auto"
}],
data: [],
},
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
computed: {
isFoldDisable: function () {
return this.multipleSelection.length == 0;
},
isRoutingDisable: function () {
return this.multipleSelection.length == 0;
}
},
methods: {},
mounted: function () {
},
};
</script>
<style lang="less" scoped>
::v-deep .c-content-scrollbar {
height: 100% !important;
}
.eibs-tabs /deep/ {
.m-table-search {
padding: 20px 0px 10px 0px;
}
}
.header-wrap {
height: 36px;
display: flex;
justify-content: space-between;
align-items: center;
.title {
font-size: 16px;
color: #000;
}
.close-btn {
padding: 3px;
cursor: pointer;
}
}
.m-list-btns {
height: 300px;
overflow: auto;
}
.medium_bcs {
border-radius: 5px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.pagination-box {
width: 100%;
height: 30px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 10px;
background: #fff;
margin-top: 5px;
}
.el-dialog__body {
padding: 10px 5px 50px;
}
.m-table-search {
padding: 20px 0px 10px 0px;
}
.btn-group-wrap {
max-height: 200px;
width: 100%;
overflow-y: auto;
display: flex;
align-items: flex-start;
justify-content: flex-start;
flex-wrap: wrap;
}
.btn-item {
margin-bottom: 10px;
margin-right: 10px;
}
</style>
<template>
<div class="eContainer-search">
<el-form
:model="model"
:rules="rules"
ref="modelForm"
label-width="100px"
label-position="right"
size="small"
:validate-on-rule-change="false"
>
<c-content>
<m-mainpanel :model="model" :codes="codes" ref="mainpanel"/>
</c-content>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable";
import Nxysdb from "../model";
import event from "../event"
import Mainpanel from "./Mainpanel.vue"
export default {
name: "Nxysdb",
components:{
"m-mainpanel" : Mainpanel,
},
provide() {
return {
root: this
}
},
mixins: [event],
data(){
return {
tabVal: "mainpanel",
trnName: "nxysdb",
model: new Nxysdb().data,
rules: null,
codes:{...CodeTable},
};
},
methods:{},
created:async function() {},
};
</script>
<style scoped>
</style>
\ No newline at end of file
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