<template> <el-dialog :visible.sync="initdialog" :title="'交易列表'" append-to-body :before-close="beforeClose" @opened="opened" > <div class="m-list-btns"> <div class="busnavbar"> <div class="busnavbar-items"> <c-button style="margin-left: 7px" size="medium" type="primary" class="medium_bcs" v-for="(item, index) in navcode" v-bind:key="index" @click.native="onNarBtnClick(item.code, item.index)" :title="item.title" :disabled="item.isDis === 'N'" >{{ item.label }}</c-button > </div> </div> </div> </el-dialog> </template> <script> import Api from "~/service/Api"; import commonProcess from "~/mixin/commonProcess"; import _ from "~/utils/Lodash" export default { props: { ownref: { required: true, }, trnCode: { required: true, }, model: { required: true, }, ownrefPath: { required: false, default: "didgrp", }, tabIndex: { required: false, default: 1, }, amt: { required: false, default: 0, }, inr: { required: false, default: '', }, opndat: { required: false, default: 0.000, }, }, components: {}, mixins: [commonProcess], // 里面包含了Default、Check等的公共处理 data() { return { initdialog: false, navcode: [ // {code:"",label:"",isDis:"",title:""}, ], }; }, methods: { //各入口按钮请求 async onNarBtnClick(code, i) { this.model.cfgfil[`subtrn${i}`] = code; let rtnmsg = await this.executeRule(`cfgfil.hotsub${i}`); if (rtnmsg.respCode == SUCCESS) { this.navcode = []; this.$emit("onChoose", code.toLowerCase(), this.model.pageId); } else { this.$notify.error({ title: "错误", message: "服务请求失败!" }); } }, getIndex(module) { for (let i = 1; i <= 12; i++) { var temp = this.model.cfgfil[`subtxt${i}`]; if (module == temp) { return i; } } return 1; }, opened() { this.tState = [] this.$emit("childmethods"); }, beforeClose() { this.navcode = []; this.initdialog = false; }, }, mounted() { this.trnName = this.trnCode; this.$nextTick(function () { this.$on("childmethods", async function () { this.model.cldgrp.cbs.opn1.amt = this.amt; this.model.cldgrp.rec.inr = this.inr; this.model.cldgrp.rec.ownref = this.ownref; this.model.cldgrp.rec.opndat = this.opndat; let res = await this.executeRule(`cfgfil.hotreg${this.tabIndex}`); if (res.respCode == SUCCESS) { this.updateModel(res.data); } else { this.$notify.error({ title: "错误", message: "服务请求失败!", }); } this.navcode = []; //请求按钮数据 let rulePath if (this.ownrefPath.endsWith(".ownref")) { _.set(this.model, this.ownrefPath, this.ownref); rulePath = this.ownrefPath } else { this.model[this.ownrefPath].rec.ownref = this.ownref; rulePath = this.ownrefPath + ".rec.ownref" } let rtnmsg = await this.executeRule(rulePath); //didgrp_rec_ownref if (rtnmsg.respCode == SUCCESS) { //重置数组 this.navcode = []; this.updateModel(rtnmsg.data); //this.model.cfgfil.btnstm = rtnmsg.data.cfgfil_btnstm.rows //给inr赋值,后面弹窗里面的按钮请求会用到 //this.model.didgrp.rec.inr = rtnmsg.data.didgrp_rec_inr const length = this.model.cfgfil.btnstm.rows.length; let btnStr = this.model.cfgfil.btnstm.rows; for (let i = 0; i < length; i++) { let arr = btnStr[i].split("\t"); var index = this.getIndex(arr[1]); let newList = { code: arr[0], label: arr[1], isDis: arr[2], title: arr[3], index: index, }; this.navcode.push(newList); } // 交易状态信息 const selbut = this.model.selbut ?? {} const arr = Object.keys(selbut) .filter(key => key.startsWith("dsp")) .map(key => selbut[key] || "") .filter(s => s.trim()!== "") this.tState = arr } else { this.navcode = []; this.$notify.error({ title: "错误", message: "服务请求失败!" }); } }); }); }, }; </script> <style> </style>