<template> <el-dialog v-dialogDrag :close="close" :title="title" :visible.sync="centerDialogVisible" center destroy-on-close :model-append-to-body="true" width="60%" v-if="centerDialogVisible"> <el-form :disabled="suppress" :model="dialog" :rules="formRules" label-width="120px" ref="form"> <el-row> <c-col :span="12"> <c-col :span="24"> <c-ptap :argadr="{ title: 'Send Message to', grp: 'xxxgrp', rol: 'rcv' }" :isFieldLabelVisible="true" :isAdrblk="true" :disabled="true" :model="dialog" ptytyp="B" :requiredExtkey="true" @clear="handleChangeRcv" @handleChange="handleChangeRcv"> </c-ptap> </c-col> </c-col> <c-col :span="12" style="padding-left: 20px"> <c-col :span="24"> <el-form-item label="Addressing" prop="adrbic"> <c-input v-model="dialog.adrbic" disabled /> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="Authentication" prop="adrbicaut"> <c-select v-model="dialog.adrbicaut" dbCode="autflg" disabled> </c-select> </el-form-item> </c-col> </c-col> </el-row> <el-row> <c-col> <el-form-item :label="'Sender to Rec. Information'" prop="addtxt"> <c-mul-row-input v-if="title === 'MT799'" :autosize="{minRows: 4, maxRows: 6}" disabled :rows="6" :cols="35" v-model="dialog.addtxt" :charmod="3"/> <c-mul-row-input v-else :disabled="dialog.docnam === 'SETSUM1' || dialog.docnam === 'SETSUM3'" :autosize="{minRows: 4, maxRows: 6}" :rows="6" :cols="35" v-model="dialog.addtxt" :charmod="3"/> </el-form-item> <el-form-item label="79Z" prop="tag79z" v-if="dialog.usetag79z && dialog.usetag79z.rows.length"> <c-mul-row-input :rows="35" :cols="50" :autosize="{minRows: 6, maxRows: 10}" v-model="dialog.tag79z" :charmod="3"/> </el-form-item> </c-col> </el-row> </el-form> <template #footer> <span class="dialog-footer"> <c-button @click="saveDialog" type="primary" v-if="!isDispaly">确 定</c-button> <el-button @click="close">取 消</el-button> </span> </template> </el-dialog> </template> <script> import commonDepend from "~/mixin/commonDepend.js"; import { cloneDeep } from "lodash"; import Api from '~/service/Api'; import commonFunctions from '~/mixin/commonFunctions.js'; export default { inject: ["root"], mixins: [commonDepend, commonFunctions], props: { docpanDialog: { type: Object, default: {} } }, computed: { isDispaly() { return this.$store.state.Status.mode === "display"; } }, data() { return { dialog: { rcv: { pts: {}, ptyinftxt: {} } }, title: "详情", dialogRcvPtyinftxtRows: [], suppress: false, centerDialogVisible: false, formRules: { addtxt: [ { validator: this.validateSpecialChars, trigger: "blur" }, { validator: this.validateChineseChars, trigger: "blur" } ], adrbicaut:[ { validator: this.validateAdrbicaut, trigger: ["blur", "change"] } ], adrbic: [{ required: true, message: "必填" }], } }; }, methods: { //初始化传值 init() { this.dialog = this.docpanDialog; this.dialog.xxxgrp = { rcv : this.docpanDialog.rcv } }, //确定 saveDialog() { this.$refs.form.validate(valid => { if (valid) { if (this.dialog.adrbicaut === 'C') { let txt = "收报行"+this.dialog.adrbic+"与我行未建立密押关系,将生成MT999报文,是否确定此操作?"; this.$confirm(txt, '提示', { confirmButtonText: '是', cancelButtonText: '否', type: 'warning', showClose: false }).then(() => { //yes的执行在这里写 this.close(); this.dialog.addstr = this.dialog.addtxt; this.$emit("docpanQueryFunc", this.dialog); }).catch(() => { //No的功能在这里写 }); } else { this.close(); this.dialog.addstr = this.dialog.addtxt; this.$emit("docpanQueryFunc", this.dialog); } } else { // 表单验证未通过,阻止提交操作并显示错误提示 } }); }, //取消 close() { this.centerDialogVisible = false; }, async handleChangeRcv(){ this.dialog.rcv = cloneDeep(this.dialog.xxxgrp.rcv); let ptainr = this.dialog.xxxgrp.rcv.pts.ptainr; if (ptainr !== '') { this.dialog.ptainr = ptainr; const loading = this.loading('正在获取发报行的密押关系') let rtnmsg = await Api.post(`/${this.moduleRouter()}/codetable/getSwtinfo`, ptainr); if (rtnmsg.respCode == SUCCESS) { this.dialog.adrbic = rtnmsg.data['adrbic']; this.dialog.adrbicaut = rtnmsg.data['adrbicaut']; } loading.close(); } else { this.dialog.adrbic = ''; this.dialog.adrbicaut = ''; } }, validateAdrbicaut(rule, value, cb) { if (value !== 'C' && value !== 'A') { cb(new Error("无效的密押标识,请重新选择收报行")); } cb() } } }; </script> <style lang="less" scoped> .dialog-wrap { height: 400px; overflow: auto; } .el-dialog__header { height: 36px; .el-dialog__headerbtn { top: 10px; } } .dialog-footer { width: 100%; position: absolute; left: 0; bottom: 0; padding: 10px 0; display: flex; justify-content: center; } </style>