Commit 33482d1d by WH

feat:inftrd

parent 0e08d382
import Api from '~/service/Api';
import { getTrnNameByInr } from "~/service/business/common";
import moment from 'moment';
export default {
methods: {
async handleSearch() {
let opndatfrom = this.model.infcon.opndatfrom;
if (!opndatfrom || opndatfrom == '') {
this.$notify.error({ title: '错误', message: '查询开始日期必输!' });
return;
}
let opndatto = this.model.infcon.opndatto;
if (!opndatto || opndatto == '') {
this.$notify.error({ title: '错误', message: '查询结束日期必输!' });
return;
}
let params = {
...this.model.infcon,
// seadocflg: this.model.seadocflg,
// seagodcod: this.model.seagodcod,
inr:this.model.trdgrp.rec.inr,
pageIndex: this.pagination.pageIndex,
pageSize: this.pagination.pageSize,
opndatfrom:moment(opndatfrom).format('YYYY-MM-DD'),
opndatto:moment(opndatto).format('YYYY-MM-DD'),
};
let rtnmsg = await Api.post('/service/inftrd/getList', params);
if (rtnmsg.respCode == SUCCESS) {
this.stmData.data = [];
this.stmData.data = rtnmsg.data.list;
// debugger
this.pagination.total = rtnmsg.data.total;
} else {
this.$notify.error({ title: '错误', message: '服务请求失败!' });
}
},
async handleReset() {
this.model.infcon.chksubcon = '';
this.model.infcon.opndatfrom = new Date();
this.model.infcon.opndatto = new Date();
this.model.infcon.seaownref = '';
this.model.infcon.seashgref = '';
this.model.infcon.seaamtfr = '';
this.model.infcon.seasta = '';
this.model.infcon.seacur = '';
this.model.infcon.pty.extkey = '';
this.model.infcon.pty.nam = '';
this.model.infcon.usr.extkey = '';
this.model.infcon.objinr = '';
this.model.infcon.seaamtto = '';
this.model.infcon.searol = '';
this.model.infcon.nam = '';
this.model.infcon.seapty = '';
this.model.infcon.searef = '';
this.model.trdgrp.rec.inr = '';
// this.model.seagodcod = '';
// this.model.seadocflg = '';
},
// pageSize改变
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pagination.pageIndex = 1;
this.pagination.pageSize = val;
this.handleSearch();
},
// 页码改变
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pagination.pageIndex = val;
this.handleSearch();
},
// 详情
async details(row) {
const params = {
//根据xx字段 查询详情表的数据
inr:row.inr,
userId: window.sessionStorage.userId || 'ZL',
ownref: row.ownref,
};
const res = await Api.post('/service/inftrd/getDetail', params);
if (res.respCode === SUCCESS) {
this.trnData.data = res.data;
}
},
// 关闭详情弹框
closeDetailsDialog(refId) {
this.$refs[refId].doClose();
console.log('close');
},
// 处理
async handler(row) {
this.initdialog = true;
this.currentHandleRow = row
const params = {
//根据xx字段 查询处理的数据
seaownref: row.seaownref,
};
const res = await Api.post('/service/inftrd/dealWithByOwnref', params);
if (res.respCode === SUCCESS) {
if (res.data) {
this.handlerDataList = []
Object.keys(res.data).map((item) => {
this.handlerDataList.push({
label: item,
value: res.data[item]
})
})
}
}
},
handleClick (btn) {
if (btn.value === 'N') {
return
}
let filterRoute = this.btnRouteMap.filter((item) => {
return item.label === btn.label
})
this.$router.history.push({
path: filterRoute[0].route,
query: {
inr: this.currentHandleRow.inr
}
});
this.initdialog = false;
},
// 关闭处理弹框
closeHandlerDialog() {
this.initdialog = false;
},
/**
* 打开详情页面
* @param {string} inr
*/
display(inr) {
getTrnNameByInr({ inr }).then((res) => {
if (res.respCode == SUCCESS) {
const trnName = res.data.toLowerCase();
let viewurl = "/#/display/" + trnName + "?trn=" + inr
window.open(viewurl, 'newwindow', 'height=1500,width=1200,top=100,left=100,toolbar=no,resizable=no,menubar=no,location=no, status=no');
}
});
},
},
};
import Pts from '~/components/business/commonModel/Pts';
import Pub from '~/components/business/commonModel/index.js';
export default class Inftrd {
constructor() {
this.data = {
seafintyp: '',
trdgrp: {
rec: {
stagod: '',
inr: '',
oseflg: ''
}
},
infcon: {
chksubcon: '',
opndatfrom: '',
opndatto: '',
seaownref: '',
seaamtfr: '',
seasta: '',
seacur: '',
pty: {
extkey: '',
nam: ''
},
cxmflg: '',
usr: {
extkey: ''
},
objinr: '',
seaamtto: '',
searol: '',
nam: '',
seapty: '',
searef: ''
}
};
}
}
<template>
<div class="eibs-tab">
<c-list-search @form-reset="handleReset" @form-search="handleSearch">
<template v-slot="searchSlot">
<el-form
class="m-table-search-form"
ref="paramsForm"
label-position="right"
label-width="110px"
size="small"
>
<el-row>
<c-col :span="8">
<el-form-item
label="进口融资编号"
prop="infcon.seaownref"
style="width: 100%"
>
<c-input
v-model="model.infcon.seaownref"
maxlength="16"
placeholder="请输入进口融资编号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="开立日期"
prop="infcon.opndatfrom"
style="width: 100%"
>
<c-col :span="11">
<c-date-picker
type="date"
value-format="yyyy-MM-dd"
v-model="model.infcon.opndatfrom"
style="width: 100%"
placeholder="请选择开立日期"
></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"
value-format="yyyy-MM-dd"
v-model="model.infcon.opndatto"
style="width: 100%"
placeholder="请选择开立日期"
></c-date-picker>
</c-col>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="简略信息"
prop="infcon.nam"
style="width: 100%"
>
<c-input
v-model="model.infcon.nam"
maxlength="40"
placeholder="请输入简略信息"
></c-input>
</el-form-item>
</c-col>
</el-row>
<el-row v-show="searchSlot.searchToggle">
<c-col :span="8">
<el-form-item
label="当事人参考号"
prop="infcon.searef"
style="width: 100%"
>
<c-input
v-model="model.infcon.searef"
maxlength="16"
placeholder="请输入当事人参考号"
></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="当事人编号"
prop="infcon.pty.extkey"
style="width: 100%"
>
<c-input
v-model="model.infcon.pty.extkey"
maxlength="24"
placeholder="请输入当事人编号"
:disabled="model.infcon.seapty != ''"
></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="当事人名称"
prop="infcon.pty.nam"
style="width: 100%"
>
<c-input
v-model="model.infcon.pty.nam"
maxlength="40"
placeholder="请输入当事人名称"
></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="当事人BIC编码"
prop="infcon.seapty"
style="width: 100%"
>
<c-input
v-model="model.infcon.seapty"
maxlength="24"
placeholder="请输入当事人BIC编码"
:disabled="model.infcon.pty.extkey != ''"
></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="角色"
prop="infcon.searol"
style="width: 100%"
>
<c-select
v-model="model.infcon.searol"
style="width: 100%"
placeholder="请选择角色"
>
<el-option
v-for="item in codes.searol4"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="客户经理"
prop="infcon.usr.extkey"
style="width: 100%"
>
<c-input
v-model="model.infcon.usr.extkey"
maxlength="8"
placeholder="请输入客户经理"
:disabled="true"
></c-input>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="状态"
prop="infcon.seasta"
style="width: 100%"
>
<c-select
v-model="model.infcon.seasta"
style="width: 100%"
placeholder="请选择状态"
>
<el-option
v-for="item in codes.seasta"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="币种"
prop="infcon.seacur"
style="width: 100%"
>
<c-select
v-model="model.infcon.seacur"
style="width: 100%"
placeholder="请选择币种"
>
<el-option
v-for="item in codes.curtxt"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="融资状态"
prop="infcon.cxmflg"
style="width: 100%"
>
<c-select
v-model="model.infcon.cxmflg"
style="width: 100%"
placeholder="请选择是否显示查询码"
>
<el-option
v-for="item in codes.ovdflg"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="融资品种"
prop="seafintyp"
style="width: 100%"
>
<c-select
v-model="model.seafintyp"
style="width: 100%"
placeholder="请选择融资品种"
>
<el-option
v-for="item in codes.boppayattr1"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="货物代码 "
prop="trdgrp.rec.stagod"
style="width: 100%"
>
<c-select
v-model="model.trdgrp.rec.stagod"
style="width: 100%"
placeholder="请选择货物代码 "
>
<el-option
v-for="item in codes.godcod"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</c-select>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item prop="trdgrp.rec.oseflg" style="width: 100%">
<c-checkbox v-model="model.trdgrp.rec.oseflg"
>海外代付
</c-checkbox
>
</el-form-item>
</c-col>
<c-col :span="8">
<el-form-item
label="金额区间"
prop="infcon.seaamtfr"
style="width: 100%"
>
<c-col :span="11">
<c-input-currency
v-model="model.infcon.seaamtfr"
placeholder="请输入金额区间"
></c-input-currency>
</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-input-currency
v-model="model.infcon.seaamtto"
placeholder="请输入金额区间"
></c-input-currency>
</c-col>
</el-form-item>
</c-col>
</el-row>
</el-form>
</template>
</c-list-search>
<c-col :span="24" style="margin-top: 10px">
<c-button
class="medium_bcs"
size="medium"
type="primary"
style="margin-left: 0px"
@click="toTrtopn"
>进口融资开立
</c-button
>
</c-col>
<div style="height: 90%">
<c-col :span="24">
<el-table
:data="stmData.data"
:columns="stmData.columns"
:showButtonFlg="true"
>
<el-table-column
v-for="(item, key) in stmData.columns"
:key="key"
:label="item.label"
:prop="item.prop"
></el-table-column>
<el-table-column fixed="right" prop="op" label="操作" width="140px">
<template slot="header">
<c-col :span="11" style="text-align: center">
<span>操作</span>
</c-col>
</template>
<template slot-scope="scope">
<el-popover
placement="top-start"
title="历史信息"
width="800"
trigger="click"
:ref="'popover_' + scope.row.IDX"
>
<div style="text-align: right;margin-top: -30px;margin-right: 5px;font-size: 16px;">
<span
class="el-icon-close"
style="cursor: pointer"
@click="closeDetailsDialog('popover_' + scope.row.IDX)"
></span>
</div>
<el-table
:data="trnData.data"
:columns="trnData.columns"
:showButtonFlg="true"
>
<el-table-column
v-for="(item, key) in trnData.columns"
:key="key"
:label="item.label"
:prop="item.prop"
>
<template slot-scope="scope">
<div>{{ scope.row[item.prop] }}</div>
</template>
</el-table-column>
<el-table-column fixed="right" prop="op" label="操作" width="250px">
<template slot-scope="scope">
<c-button
style="margin-left: 0"
size="small"
@click="display(scope.row['inr'])"
>详情
</c-button
>
</template>
</el-table-column>
</el-table>
<c-button
style="margin-left: 0"
size="small"
slot="reference"
@click="details(scope.row)">
详情
</c-button>
</el-popover>
<c-button
style="margin-left: 5px"
size="small"
type="primary"
@click="handler(scope.row)"
>处理
</c-button>
</template>
</el-table-column>
</el-table>
<div class="pagination-box">
<el-pagination
style="margin-right: 30px;"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pagination.pageIndex"
:page-sizes="[10, 20, 50, 100, 500]"
:page-size="pagination.pageSize"
layout="sizes, prev, pager, next"
:total="pagination.total">
</el-pagination>
</div>
</c-col>
</div>
<m-busbtn
ref="childs"
:ownref="ownref"
:model="TrtselModel"
ownrefPath="trdgrp"
trnCode="trtsel"
@onChoose="onChoose"
>
</m-busbtn>
</div>
</template>
<script>
import event from "../event";
import BusNavbar from "~/views/Public/BusNavbar";
import TrtselModel from "~/model/Trtsel";
export default {
inject: ["root"],
props: ["model", "codes"],
mixins: [event],
components: {"m-busbtn": BusNavbar},
data() {
return {
TrtselModel: new TrtselModel().data,
ownref: "",
dialogTableVisible: false,
searchToggle: true,
initdialog: false,
stmData: {
columns: [
{
label: '进口融资编号',
prop: 'seaownref'
},
{
label: '客户经理',
prop: 'ownusr'
},
{
label: '融资品种',
prop: 'fintyp'
},
{
label: '货物类型',
prop: 'stagod'
},
{
label: '单据编号',
prop: 'pntref'
},
{
label: '执行利率',
prop: 'actrat'
},
{
label: '融资状态',
prop: 'ovdflg'
},
{
label: '融资账号',
prop: 'finact'
},
{
label: '开立日期',
prop: 'opndat'
},
{
label: '到期日期',
prop: 'opndat'
},
{
label: '关闭日期',
prop: 'clsdat'
},
{
label: '融资天数',
prop: 'tenday'
},
{
label: '海外代付天数',
prop: 'oseday'
},
{
label: '支行名称',
prop: 'bchname'
},
],
data: [],
},
pagination: {
pageIndex: 1,
pageSize: 10,
total: 0
},
trnData: {
columns: [
'1 1 "编号" 200',
'2 2 "交易名称" 130',
// '3 3 "日期" 200',
{index: 3, position: 3, width: 110, pattern: "date", label: "日期"},
// '4 4 "状态" 50',
{
index: 4,
position: 4,
width: 100,
pattern: "code",
label: "状态",
code: this.codes.relstaEN,
},
'5 5 "币种" 80',
'6 6 "金额" 100',
],
data: [],
},
};
},
methods: {
...Event,
async getButtons(ownref, closedDate) {
this.ownref = ownref;
this.TrtselModel.clsflg = (closedDate ?? "").trim() === "" ? "" : "C";
this.$refs.childs.initdialog = true;
console.log("ownref:" + ownref);
},
async onChoose(code, prePageId) {
//跳转交易
// this.$router.history.push("/business/" + code);
this.$router.push({name: code.charAt(0).toUpperCase() + code.substring(1), params: {prePageId}});
this.$refs.childs.initdialog = false;
},
async getDitSelInfo(code) {
//跳转交易
this.$router.history.push("/business-new/" + code);
this.$refs.childs.initdialog = false;
},
async getTrnInfo(idx, row) {
this.model.infcon.objinr = row["INR"];
this.model.trdgrp.rec.inr = row["INR"];
this.model.infcon.chksubcon = "X";
this.dialogTableVisible = true;
let rtnmsg = await this.executeDefault("infcon.chksubcon");
if ((rtnmsg.respCode = SUCCESS)) {
this.trnData.data = rtnmsg.data.infcon_trnstm.rows;
}
},
closeTrn(refId) {
this.$refs[refId].doClose();
},
toBptopn() {
this.$router.history.push("/business-new/bptopn");
},
toTrtopn() {
this.$router.history.push("/business-new/Trtopn");
},
},
created: function () {
},
};
</script>
<style>
.el-dialog__body {
padding: 10px 5px 50px;
}
</style>
<template>
<div class="eContainer-search">
<el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" label-position="right" size="small"
:validate-on-rule-change="false">
<c-content>
<m-infsea
v-show="!showPanel"
:model="model"
:codes="codes"
ref="infsea"/>
</c-content>
<c-button
v-show="showPanel"
style="margin-left: 75%; bottom: 10%; position: sticky"
size="small"
@click="goBack()">
返回
</c-button>
</el-form>
</div>
</template>
<script>
import CodeTable from "~/config/CodeTable"
import Inftrd from "../model"
import Infsea from "./Infsea"
export default {
name: "Inftrd",
components: {
"m-infsea": Infsea,
},
provide() {
return {
root: this
}
},
data() {
return {
tabVal: "infsea",
trnName: "inftrd",
trnType: "",
model: new Inftrd().data,
showPanel: false,
codes: {...CodeTable},
rules: null,
}
},
methods: {},
initPanel(val) {
if (val) {
this.tabVal = "infsea";
//
} else {
this.tabVal = "";
}
},
async updateShowPanel(value) {
this.showPanel = value;
this.initPanel(value);
},
goBack() {
this.showPanel = false;
},
}
</script>
<style>
</style>
......@@ -95,6 +95,7 @@ const Business = [
{ path: 'cctset', component: () => import('~/business/cctset/views'), name: 'Cctset', meta: { title: '光票托收结汇' }},
{ path: 'cctdcr', component: () => import('~/business/cctdcr/views'), name: 'Cctdcr', meta: { title: '光票托收退票' }},
{ path: 'infcld', component: () => import('~/business/infcld/views'), name: 'Infcld', meta: { title: '打包托收查询' }},
{ path: 'inftrd', component: () => import('~/business/inftrd/views'), name: 'Inftrd', meta: { title: '进口融资查询' }},
]
export default Business
\ 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