<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="qrtp.ljschk"> <c-select v-model="model.qrtp.ljschk" style="width:100%" dbCode="LJSCHK"></c-select> </el-form-item> </c-col> <c-col :span="8"> <el-form-item label="记录范围" prop="qrtp.msgrag"> <c-select v-model="model.qrtp.msgrag" style="width:100%" dbCode="MSGRNG"></c-select> </el-form-item> </c-col> <c-col :span="8"> <el-form-item label="接收方向" prop="qrtp.revdrt"> <c-select v-model="model.qrtp.revdrt" style="width:100%" dbCode="MSGDRT"></c-select> </el-form-item> </c-col> </c-col> </el-row> <!-- 可控展示区 --> <el-row v-show="searchSlot.searchToggle"> <c-col :span="8"> <el-form-item :label="$t('qrtp.起始时间')" prop="qrtp.dts"> <c-date-picker type="date" v-model="model.qrtp.dts" style="width:100%"></c-date-picker> </el-form-item> </c-col> <c-col :span="8"> <el-form-item :label="$t('qrtp.截止时间')" prop="qrtp.dte"> <c-date-picker type="date" v-model="model.qrtp.dte" style="width:100%"></c-date-picker> </el-form-item> </c-col> <c-col :span="8"> <el-form-item :label="$t('qrtp.报文标准')" prop="qrtp.msgtyp"> <c-select v-model="model.qrtp.msgtyp" style="width:100%"></c-select> </el-form-item> </c-col> <c-col :span="8"> <el-form-item :label="$t('qrtp.报文种类')" prop="qrtp.mty"> <c-select v-model="model.qrtp.mty" style="width:100%"></c-select> </el-form-item> </c-col> <c-col :span="8"> <el-form-item :label="$t('qrtp.报文状态')" prop="qrtp.msgsta"> <c-select v-model="model.qrtp.msgsta" style="width:100%" dbCode="MGSSTA"></c-select> </el-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.收报行BIC')" prop="qrtp.revbnk"> <c-input v-model="model.qrtp.revbnk" maxlength="11"></c-input> </c-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.发报行BIC')" prop="qrtp.sedbnk"> <c-input v-model="model.qrtp.sedbnk" maxlength="11"></c-input> </c-form-item> </c-col> <c-col :span="8"> <el-form-item :label="$t('qrtp.币种')" prop="qrtp.cur"> <c-select v-model="model.qrtp.cur" style="width:100%"></c-select> </el-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.金额下限')" prop="qrtp.amtdwl"> <c-input v-model="model.qrtp.amtdwl"></c-input> </c-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.金额上限')" prop="qrtp.amtupl"> <c-input v-model="model.qrtp.amtupl"></c-input> </c-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.CASE编号')" prop="qrtp.casnum"> <c-input v-model="model.qrtp.casnum" maxlength="16"></c-input> </c-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.汇票号码')" prop="qrtp.drtnum"> <c-input v-model="model.qrtp.drtnum" maxlength="20"></c-input> </c-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.报文20域')" prop="qrtp.tagt20"> <c-input v-model="model.qrtp.tagt20" maxlength="16"></c-input> </c-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.报文21域')" prop="qrtp.tagt21"> <c-input v-model="model.qrtp.tagt21" maxlength="16"></c-input> </c-form-item> </c-col> <c-col :span="8"> <c-form-item :label="$t('qrtp.UETR')" prop="qrtp.uetr"> <c-input v-model="model.qrtp.uetr" maxlength="40"></c-input> </c-form-item> </c-col> </el-row> </template> </c-list-search> <!-- LT000081 : 记录范围 --> <!-- LT000305 : : --> <el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;"> <c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0" type="primary"> {{ $t('public.归档') }} </c-button> <c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium" style="margin-left: 20" type="primary"> ReRouting </c-button> <c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary" @click="exportToExcel"> {{ $t('public.导出Excel') }} </c-button> </el-col> <el-col :span="24" style="margin-top: 10px"> <div style="height: 90%"> <c-col :span="24"> <el-tabs v-model="activeTab" class="y-tabs"> <el-tab-pane label="报文查询" name="fb"> <el-table :data="stmData.data" :columns="stmData.columns" v-loading="load" style="width: 100%" @selection-change="handleSelectionChange" @row-dblclick="dbClick" size="small" :border="true" height="calc(100vh - 420px)" :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" :min-width="item.width" > <template slot-scope="scope"> <c-select-value-to-label v-if="item.prop == 'sta'" v-model="scope.row.sta" dbCode="STACD1"></c-select-value-to-label> <span v-else>{{ scope.row[item.prop] }}</span> </template> </el-table-column> <el-table-column label="操作" fixed="right" min-width="150"> <template slot-scope="scope"> <c-button style="margin-right: 5px" size="small" type="text" @click="toQrtmgd(scope.row)" >处理</c-button> </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> </el-tab-pane> <el-tab-pane label="CASE查询/处理" name="fc"> <el-table :data="stmData1.data" :columns="stmData1.columns" v-loading="load1" style="width: 100%" size="small" :border="true" height="calc(100vh - 420px)" :highlight-current-row="true" @selection-change="handleSelectionChange1" > <el-table-column type="selection" width="55"></el-table-column> <el-table-column v-for="(item, key) in stmData1.columns" :key="key" :label="item.label" :prop="item.prop" :min-width="item.width" ></el-table-column> <el-table-column label="操作" fixed="right" min-width="150"> <template slot-scope="scope"> <c-button style="margin-right: 5px" size="small" type="primary" @click="showMessage(scope.row)" >预览</c-button> <c-button style="margin-right: 5px" size="small" type="primary" @click="updateAck(scope.row)" >更新</c-button> </template> </el-table-column> </el-table> <el-pagination layout="total, sizes, prev, pager, next, jumper" :total="pagination1.total" :page-size="pagination1.pageSize" :current-page.sync="pagination1.pageNum" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" ></el-pagination> </el-tab-pane> </el-tabs> </c-col> </div> </el-col> </div> </template> <script> import event from "../event"; export default { inject: ["root"], props: ["model", "codes"], mixins: [event], data() { return { activeTab: 'fb', load: false, subtypCodes: [], multipleSelection: [], stmData: { columns: [ { label: "收发日期", prop: "seddat", width: "180px" }, { label: "汇票号码", prop: "drfnum", width: "180px" }, { label: "CASE编号", prop: "casnum", width: "120px" }, { label: "报文20域", prop: "sevref", width: "125px" }, { label: "报文21域", prop: "relref", width: "120px" }, { label: "UETR", prop: "uetr", width: "120px" }, { label: "币种", prop: "cur", width: "50px" }, { label: "金额", prop: "amt", width: "120px" }, { label: "起息日", prop: "vludat", width: "90px" }, { label: "发报行", prop: "sedbak", width: "100px" }, { label: "收报行", prop: "revbak", width: "100px" }, { label: "方向", prop: "megrevdrt", width: "50px" }, { label: "类型", prop: "typ", width: "50px" }, { label: "状态", prop: "sta", width: "80px" }, ], data: [], }, pagination: { pageNum: 1, pageSize: 10, total: 0, }, // CASE查询/处理 stmData1: { columns: [ { label: "更新时间", prop: "amdtim", width: "120px" }, { label: "G渠道", prop: "sweflg", width: "120px" }, { label: "发报行BIC", prop: "sedbak", width: "120px" }, { label: "收报行BIC", prop: "rcvbak", width: "120px" }, { label: "CASE编号", prop: "casnum", width: "120px" }, { label: "汇票号码", prop: "drtnum", width: "120px" }, { label: "20域编号(发)", prop: "ownt20", width: "120px" }, { label: "20域编号(收)", prop: "otht20", width: "120px" }, { label: "账户行BIC(53域)", prop: "t53bic", width: "120px" }, { label: "账户行BIC(54域)", prop: "t54bic", width: "120px" } ], data: [], }, pagination1: { pageNum: 1, pageSize: 10, total: 0, }, multipleSelection1: [], load1: false, rowdata: [], }; }, computed: { isFoldDisable: function () { return this.multipleSelection.length == 0; }, isRoutingDisable: function () { return this.multipleSelection.length == 0; } }, watch: { 'model.sndp.msgtyp': { handler(newTyp, oldTyp) { // 把已经选择的 subtyp 重置 this.model.sndp.subtyp = ''; const { codes } = this; if (newTyp === 'sf2') { this.subtypCodes = codes.mttyp; } else if (newTyp === 'iso') { this.subtypCodes = codes.isotyp; } else if (newTyp === 'txt') { this.subtypCodes = codes.fmttyp; } else { this.subtypCodes = codes.cipstyp; } }, deep: true } }, 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>