<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="left" label-width="110px" size="small" > <c-row> <c-col :span="24"> <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" v-model="model.infcon.opndatfrom" style="width: 100%" placeholder="请选择开立日期" value-format="yyyy-MM-dd" ></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.infcon.opndatto" style="width: 100%" placeholder="请选择开立日期" value-format="yyyy-MM-dd" ></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> </c-col> </c-row> <!-- 可控展示区 --> <c-row v-show="searchSlot.searchToggle"> <c-col :span="24"> <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="16" placeholder="请输入当事人编号" :disabled="model.infcon.seapty != ''" @keyup.enter.native=" showGridPromptDialog('infcon.pty.extkey') " ></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="请输入当事人名称" disabled ></c-input> </el-form-item> </c-col> </c-col> <c-col :span="24"> <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.searol3" :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="24" placeholder="请输入客户经理" disabled ></c-input> </el-form-item> </c-col> </c-col> <c-col :span="24"> <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.curtxt1" :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.seaamtfr" style="width: 100%" > <c-col :span="11"> <c-input v-model="model.infcon.seaamtfr" style="width: 100%" placeholder="请输入金额区间" ></c-input> </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 v-model="model.infcon.seaamtto" style="width: 100%" placeholder="请输入金额" ></c-input> </c-col> </el-form-item> </c-col> </c-col> <c-col :span="24"> <c-col :span="8"> <el-form-item label="托收方式" prop="seadoctypcod" style="width: 100%" > <c-select v-model="model.seadoctypcod" style="width: 100%" placeholder="请选择托收方式" :code="codes.purflg" > </c-select> </el-form-item> </c-col> </c-col> </c-row> </el-form> </template> </c-list-search> <c-col :span="24" style="margin-top: 10px"> <c-button class="medium_bcs" size="medium" style="margin-left: 0px" type="primary" @click="toCctdav">光票托收建立</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" :formatter="item.rounding" > <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: 0px" size="small" @click="details(scope.row)" slot="reference" > 详情 </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> <!-- 点击处理ba弹框 --> <el-dialog :visible.sync="initdialog" title="交易列表" append-to-body width="60%" > <div class="dialog-wrap"> <div class="btn-group-wrap"> <div class="btn-item" v-for="(item, index) in handlerDataList" :key="index" > <el-button type="primary" :disabled="item.value === 'N'" @click="handleClick(item)" >{{ item.label }} </el-button> </div> </div> </div> </el-dialog> </div> </div> </template> <script> import event from "../event"; import CctselModel from "~/model/Cctsel"; import BusNavbar from "~/views/Public/BusNavbar"; /*export default { inject: ['root'], props:["model","codes"], mixins: [commonProcess], data(){ return { } }, methods:{...Event}, created:function(){ } }*/ export default { inject: ["root"], props: ["model", "codes"], mixins: [event], components: { "m-busbtn": BusNavbar }, data() { return { cctselModel: new CctselModel().data, ownref: "", dialogTableVisible: false, dialogFlag: true, trnData: { columns: [ { label: "业务id", prop: "inr", }, { label: "托收编号", prop: "ownref", }, { label: "交易名称", prop: "ininam", }, { label: "日期", prop: "inidattim", }, { label: "状态", prop: "relflg", }, { label: "币种", prop: "reloricur", }, { label: "金额", prop: "reloriamt", rounding:this.rounding }, { label: "签署", prop: "", }, ], data: [], }, stmData: { columns: [ { label: "光票托收编号", prop: "seaownref", }, { label: "客户经理", prop: "ownusr", }, // { // label: "PTA NO.", // prop: "", // }, // { // label: "第一当事人编号", // prop: "", // }, // { // label: "委托人", // prop: "", // }, // { // label: "交单行 CN", // prop: "", // }, // { // label: "第二当事人编号", // prop: "", // }, // { // label: "付款人账户行", // prop: "", // }, // { // label: "第三当事人编号", // prop: "", // }, // { // label: "出票人", // prop: "", // }, // { // label: "第四当事人编号", // prop: "", // }, // { // label: "代收行", // prop: "", // }, { label: "开立日期", prop: "opndat", }, { label: "关闭日期", prop: "clsdat", }, { label: "金额币种", prop: "seacur", }, { label: "汇票金额", prop: "maxamt", }, { label: "余额币种", prop: "opncur", }, { label: "汇票余额", prop: "opnamt", }, ], data: [], }, initdialog: false, btnRouteMap: [ { label: '光票托收催收', route: '/business-new/ccttra' }, // { // label: '光票托收开立', // route: '/business-new/cctdav' // }, { label: '光票托收结汇', route: '/business-new/cctset' }, // { // label: '光票托收入口交易', // route: '/business-new/cctsel' // }, { label: '光票托收退票', route: '/business-new/cctdcr' }, ], pagination: { pageIndex: 1, pageSize: 10, total: 0, }, handlerDataList: [], }; }, methods: { async getButtons(ownref, closedDate) { this.$refs.childs.initdialog = true this.ownref = ownref this.BotselModel.clsflg = (closedDate ?? "").trim() === "" ? "" : "C"; 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; }, closeTrn(refId) { this.$refs[refId].doClose(); }, // async getDitSelInfo(code) { // //跳转交易 // this.$router.history.push("/business/" + code); // this.$refs.childs.initdialog = false; // }, // async getTrnInfo(idx, row) { // this.model.infcon.objinr = row["INR"]; // this.model.ccdgrp.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; // } // }, }, created: function () {}, }; </script> <style> .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>