<template> <div class="eibs-tab"> <c-col :span="12"> <c-col :span="12"> <el-form-item label="交易代码" prop="rec.trncod"> <c-select v-model="model.rec.trncod" disabled style="width: 100%" placeholder="请选择交易代码" dbCode="PMSTRN"> </c-select> </el-form-item> </c-col> <c-col :span="12"> <el-form-item style="text-align: left; margin-left: 5px" label-width="0px" prop="rec.trnnam"> <c-input v-model="model.rec.trnnam" disabled style="text-align: left; width: 100%" placeholder=""></c-input> </el-form-item> </c-col> </c-col> <c-col :span="24" style="text-align: right"> <el-button type="primary" size="small" @click="jcktrnCtl">选择交易</el-button> <el-button type="primary" size="small" @click="selectJckyhflgAll">全选</el-button> <el-button type="primary" size="small" @click="selectJckyhflgNul">全否</el-button> </c-col> <c-col :span="24" style="margin-top: 10px;"> <el-table :data="model.trnbchlst" height="480" :sticky-header="true" :border="true"> <el-table-column label="控制标识" prop="jckyhflg" width="auto"> <template v-slot="scope"> <div class="checkbox-container"> <el-checkbox v-model="scope.row.jckyhflg" @change="jckyhflgChange(scope.row)" true-label="X" false-label="" :disabled="isDisable"></el-checkbox> </div> </template> </el-table-column> <el-table-column label="机构代码" prop="branch" width="auto"> </el-table-column> <el-table-column label="机构名称" prop="bchnam" width="auto"> </el-table-column> <el-table-column label="操作用户名称" prop="jckyhusrnam" width="auto"> </el-table-column> <el-table-column label="操作用户INR" prop="jckyhusrinr" width="auto"> </el-table-column> <el-table-column label="操作时间" prop="jckyhdat" width="auto"> </el-table-column> <el-table-column label="INR" prop="inr" width="auto"> </el-table-column> <el-table-column label="机构INR" prop="bchinr" width="auto"> </el-table-column> </el-table> </c-col> <!-- 进出口押汇交易选择弹窗 --> <el-dialog title="进出口押汇交易选择" v-dialogDrag width="64%" :visible.sync="dialogTableVisible" v-if="dialogTableVisible" destroy-on-close :close-on-click-modal="false" :close-on-press-escape="false" :show-close="true" :modal-append-to-body="false" :append-to-body="true"> <div v-if="!tableLoading && this.model.jcklst.length === 0">暂无数据</div> <div v-else style="width: 100%;height: 100%;"> <el-table id='tableRef' height="calc(100% - 32px)" style="width: 100%;" v-loading="tableLoading" :data="model.jcklst" @row-dblclick="dbClickRow" :before-close="beforeClose"> <el-table-column label="选中标志" prop="flg" width="auto"> <template v-slot="scope"> <div class="checkbox-container"> <el-checkbox v-model="scope.row.flg" true-label="X" false-label=""></el-checkbox> </div> </template> </el-table-column> <el-table-column label="交易代码" prop="trncod" width="auto"> </el-table-column> <el-table-column label="交易名称" prop="trnnam" width="auto"> </el-table-column> </el-table> </div> <span slot="footer" style="padding-top:30px; text-align: left;"> <c-button type="primary" @click="jcktrnAll">全选</c-button> <c-button type="primary" @click="jcktrnNul">全否</c-button> <c-button type="primary" @click="jcktrnSave">保存</c-button> </span> </el-dialog> <c-col :span="24" style="padding-top:20px"> <span>控制标识勾选则表示该机构对选中交易进行低风险校验</span> </c-col> </div> </template> <script> import codes from "~/config/CodeTable"; import moment from "moment"; import event from "../event"; import Api from "~/service/Api"; import { jckyhflgChange, selectJckyhflgAll, selectJckyhflgNul } from "~/service/manage/tbp.js"; import commonFunctions from "~/mixin/commonFunctions.js"; export default { props: ["model", "codes"], inject: ["root"], mixins: [commonFunctions], data() { return { tableLoading: false, dialogTableVisible: false, // 控制弹框的展示和隐藏 pagination: { pageNum: 1, pageSize: 10, total: 0 } }; }, mounted() {}, computed: { isDisable() { if (this.model.rec.trncod === "YAHUIP") { return false; } else { return true; } } }, methods: { //单选 jckyhflgChange(row){ const params = { rec: row, trnbchlst: this.model.trnbchlst }; const loading = this.loading(); jckyhflgChange(params).then((res) => { if(res.respCode == SUCCESS) { loading.close(); this.model.trnbchlst = res.data.trnbchlst; } else { this.$notify.error({ title: '错误', message: res.respMsg }); } loading.close(); }) }, //全选 selectJckyhflgAll(){ if (this.model.rec.trncod == "YAHUIP") { const loading = this.loading(); selectJckyhflgAll(this.model).then((res) => { if(res.respCode == SUCCESS) { loading.close(); this.model.trnbchlst = res.data.trnbchlst; } else { this.$notify.error({ title: '错误', message: res.respMsg }); } loading.close(); }) } }, //全否 selectJckyhflgNul(){ if (this.model.rec.trncod == "YAHUIP") { const loading = this.loading(); selectJckyhflgNul(this.model).then((res) => { if(res.respCode == SUCCESS) { loading.close(); this.model.trnbchlst = res.data.trnbchlst; } else { this.$notify.error({ title: '错误', message: res.respMsg }); } loading.close(); }) } }, //选择交易 async jcktrnCtl() { const loading = this.loading(); const res = await Api.post("/manager/tbp/jcktrnCtl", this.model); if (res.respCode === SUCCESS) { loading.close(); this.model.trnbchlst = res.data.trnbchlst; this.model.jcklst = res.data.jcklst; this.dialogTableVisible = true; } else { this.$notify.error({ title: '错误', message: res.respMsg }); } loading.close(); }, //弹窗全选 jcktrnAll() { for (let i = 0; i < this.model.jcklst.length; i++) { this.model.jcklst[i].flg = "X"; } }, //弹窗全否 jcktrnNul() { for (let i = 0; i < this.model.jcklst.length; i++) { this.model.jcklst[i].flg = ""; } }, //保存 async jcktrnSave() { const loading = this.loading(); const res = await Api.post("/manager/tbp/jcktrnSave", this.model); if (res.respCode === SUCCESS) { loading.close(); this.model.trnbchlst = res.data.trnbchlst; this.dialogTableVisible = false; } else { this.$notify.error({ title: '错误', message: res.respMsg }); } loading.close(); }, } }; </script> <style scoped> .checkbox-container { display: flex; justify-content: center; align-items: center; } </style>