<template> <div class="eibs-tab"> <c-col :span="24" style="display: flex;align-item: center;justify-content: space-between;"> <div class="doccur-form-style"> <el-form-item label="结算金额录入" label-width="92px"> <c-select-cur v-model="model.setmod.doccur" dbCode="CURTXT" :disabled="!doccurEnable" @change="changeDoccur()" style="width: 100px"></c-select-cur> <c-input-currency min=0 v-model="model.setmod.docamt" :currency="model.setmod.doccur" style="width: calc(100% - 65px);margin-left: 5px" @change="changeDocamt()" placeholder="请输入结算金额" :disabled="!docamtEnable"></c-input-currency> </el-form-item> </div> <div v-if="model.setmod.zmqflg === 'X'"> <el-form-item label="自贸区主账号" label-width="92px"> <c-input v-model="model.setmod.zmqacc" :disabled="true" :readonly="true" style="width: 200px"></c-input> </el-form-item> </div> <div> <el-button v-if="model.setmod.fale01List && model.setmod.fale01List.length > 0" @click="showFale01Dialog" size="small" type="primary"> E01报送 </el-button> <el-button @click="doDetail" size="small" type="primary"> 收费币种 </el-button> <el-button @click="showGlentryDialog" size="small" type="primary"> 会计分录 </el-button> </div> </c-col> <!-- ====================顶部==================== --> <c-col :span="24"> <c-collapse v-model="activeNames"> <!-- 国外收费表格 --> <el-collapse-item :title="model.setmod.setfog.invisibleFlag !== 'X'? '国外收费' : '他行收费'" name="setfog"> <c-table style="text-align: center" highlight-current-row @row-click="handleSetfogRowClick" :row-class-name="tableSetfogRowClassName" :list="model.setmod.setfog.setfol" :paginationShow="true" :border="true" :total="model.setmod.setfog.setfol.length"> <el-table-column label="付款人" width="185px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfog.setfol.' + scope.$index + '.ptydbt'"> <c-select :isFixed="true" v-model="scope.row.ptydbt" :customModifykey="'setmod.setfog.setfol.' + scope.$index + '.ptydbt'" @change="handleSetfogCallback(scope.row, 'ptydbt')" placeholder="请选择付款人"> <el-option v-for="item in scope.row.payerSet" :key="item.value" :label="item.value + '-' + item.label" :value="item.value"> </el-option> </c-select> </el-form-item> </template> </el-table-column> <el-table-column label="收款人" width="185px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfog.setfol.' + scope.$index + '.ptypay'"> <c-select :isFixed="true" v-model="scope.row.ptypay" :customModifykey="'setmod.setfog.setfol.' + scope.$index + '.ptypay'" @change="handleSetfogCallback(scope.row, 'ptypay')" placeholder="请选择收款人"> <el-option v-for="item in scope.row.payeeSet" :key="item.value" :label="item.value + '-' + item.label" :value="item.value"> </el-option> </c-select> </el-form-item> </template> </el-table-column> <el-table-column label="处理方式" min-width="100px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfog.setfol.' + scope.$index + '.dsp'"> <c-select :isFixed="true" :disabled="Number(scope.row.amt)==0" v-model="scope.row.dsp" dbCode="dspcod" uil="CN" :customModifykey="'setmod.setfog.setfol.' + scope.$index + '.dsp'" @change="handleSetfogCallback(scope.row, 'dsp')" placeholder="请选择处理方式"> </c-select> </el-form-item> </template> </el-table-column> <el-table-column label="付款人摘要" prop="txtdbt" min-width="150px"></el-table-column> <el-table-column label="收款人摘要" prop="txtpay" min-width="150px"></el-table-column> <el-table-column label="币种" prop="cur" min-width="130px"> <template slot-scope="scope"> <c-select-cur :isFixed="true" v-model="scope.row.cur" dbCode="CURTXT" :customModifykey="'setmod.setfog.setfol.' + scope.$index + '.cur'" @change="handleSetfogCallback(scope.row, 'cur')" placeholder="请选择币种"> </c-select-cur> </template> </el-table-column> <el-table-column label="金额" prop="amt" min-width="150px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfog.setfol.' + scope.$index + '.amt'"> <c-input-currency v-model="scope.row.amt" :currency="scope.row.cur" :customModifykey="'setmod.setfog.setfol.' + scope.$index + '.amt'" style="width: 100%" placeholder="请输入" @blur="handleSetfogCallback(scope.row, 'amt')" ></c-input-currency> </el-form-item> </template> </el-table-column> <el-table-column label="费用来源" prop="src" min-width="100px"> <template slot-scope="scope"> <el-tooltip :content="getSrcTips(scope.row.src)" placement="bottom" effect="light"> <span>{{scope.row.src}}</span> </el-tooltip> </template> </el-table-column> <el-table-column label="" prop="det" width="150px" fixed="right"> <template slot-scope="scope" slot="header"> <c-button circle style="padding: 4px" class="el-icon-plus" size="mini" @click="addRowSetfol(scope)"> </c-button> <c-button style="padding: 4px" circle class="el-icon-minus" size="mini" @click="removeRowSetfol(scope)"> </c-button> </template> <template slot-scope="scoped"> <c-button style="margin-left: 0" size="small" type="primary" icon="el-icon-info" @click="detailForeignDialog(scoped.$index, scoped.row)"></c-button> </template> </el-table-column> </c-table> </el-collapse-item> <!--=================== Own Commission/Charges:================== --> <el-collapse-item title="我行收费" name="setfeg"> <c-table style="text-align: center;" highlight-current-row @row-click="handleRowClick" :row-class-name="tableRowClassName" :list="model.setmod.setfeg.setfel" :paginationShow="true" :border="true" :total="model.setmod.setfeg.setfel.length"> <el-table-column label="收取对象" width="180px"> <template #default="scope"> <el-form-item label-width="0" :prop="'setmod.setfeg.setfel.' + scope.$index + '.rol'"> <c-select v-if="$store.state.Status.mode === 'display'" :isFixed="true" v-model="scope.row.rol" :customModifykey="'setmod.setfeg.setfel.' + scope.$index + '.rol'" placeholder="请选择收取对象" dbCode="rolall" :isShowKeyAndLabel="true" @change="handleChangeCallback(scope.row, 'rol')"> </c-select> <c-select v-else :isFixed="true" v-model="scope.row.rol" :customModifykey="'setmod.setfeg.setfel.' + scope.$index + '.rol'" placeholder="请选择收取对象" @change="handleChangeCallback(scope.row, 'rol')"> <el-option v-for="item in model.setmod.roleSet" :key="item.value" :label="item.value + ' - ' + item.label" :value="item.value"> </el-option> </c-select> </el-form-item> </template> </el-table-column> <el-table-column label="费用代码" min-width="120px"> <template #default="scope"> <el-form-item label-width="0" :prop="'setmod.setfeg.setfel.' + scope.$index + '.feecod'"> <span v-if="['T', 'P', 'E'].includes(scope.row.src)">{{ scope.row.feecod }}</span> <c-select v-else :isFixed="true" v-model="scope.row.feecod" :customModifykey="'setmod.setfeg.setfel.' + scope.$index + '.feecod'" @change="handleChangeCallback(scope.row, 'feecod')" placeholder="请选择费用代码" > <el-option v-for="item in model.setmod.feeCodeSet" :key="item.value" :value="item.value" :label="item.value + ' ' + item.label"></el-option> </c-select> </el-form-item> </template> </el-table-column> <el-table-column label="费用描述" prop="feetxtinf" min-width="200px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfeg.setfel.' + scope.$index + '.feetxtinf'"> <c-input v-if="scope.row.dscmodflg === 'X'" v-model="scope.row.feetxtinf" :customModifykey="'setmod.setfeg.setfel.' + scope.$index + '.feetxtinf'" @change.native="handleChangeCallback(scope.row, 'feetxtinf')" maxlength="45"> </c-input> <span v-else>{{ scope.row.feetxtinf }}</span> </el-form-item> </template> </el-table-column> <el-table-column label="处理方式" prop="dsp" min-width="100px"> <template #default="scope"> <el-form-item label-width="0" :prop="'setmod.setfeg.setfel.' + scope.$index + '.dsp'"> <c-select :isFixed="true" v-model="scope.row.dsp" dbCode="dspcod" uil="CN" :customModifykey="'setmod.setfeg.setfel.' + scope.$index + '.dsp'" @change="handleChangeCallback(scope.row, 'dsp')" placeholder="请选择处理方式"> </c-select> </el-form-item> </template> </el-table-column> <el-table-column label="数量" prop="unt"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfeg.setfel.' + scope.$index + '.unt'"> <c-input-number v-model="scope.row.unt" :min=0 :disabled="scope.row.commFeeFlag === 'Y' && scope.row.dsp === 'P'" @change="handleChangeCallback(scope.row, 'unt')" style="width:100%"> </c-input-number> </el-form-item> </template> </el-table-column> <el-table-column label="币种" prop="cur" min-width="130px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfeg.setfel.' + scope.$index + '.cur'"> {{ scope.row.cur }} </el-form-item> </template> </el-table-column> <el-table-column label="应收金额" prop="ogiamt" min-width="150px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfeg.setfel.' + scope.$index + '.ogiamt'"> {{ moneyFormat(scope.row.ogiamt, scope.row.cur) }} </el-form-item> </template> </el-table-column> <el-table-column label="实收金额" prop="amt" min-width="150px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setfeg.setfel.' + scope.$index + '.amt'"> <c-input-currency v-model="scope.row.amt" :currency="scope.row.cur" :disabled="scope.row.dsp === 'N' || (scope.row.commFeeFlag === 'Y' && scope.row.dsp === 'P')" @change.native="handleChangeCallback(scope.row, 'amt')" style="width:100%"> </c-input-currency> </el-form-item> </template> </el-table-column> <el-table-column label="费用来源" prop="src" min-width="100px"> <template slot-scope="scope"> <el-tooltip :content="getSrcTips(scope.row.src)" placement="bottom" effect="light"> <span>{{scope.row.src}}</span> </el-tooltip> </template> </el-table-column> <el-table-column label="" prop="det" width="150px" fixed="right"> <template slot-scope="scope" slot="header"> <c-button circle style="padding: 4px" class="el-icon-plus" size="mini" @click="addRowSetfel()"> </c-button> <c-button style="padding: 4px" circle class="el-icon-minus" size="mini" @click="removeRowSetfel()"> </c-button> </template> <template slot-scope="scoped"> <el-button style="margin-left: 0" size="small" type="primary" icon="el-icon-info" @click="detail2(scoped.$index, scoped.row)"></el-button> </template> </el-table-column> </c-table> </el-collapse-item> <el-collapse-item title="结算" name="setglg"> <c-table style="text-align: center" :row-key="(row) => { return row.rowIndex}" :list="model.setmod.setglg.setgll" :paginationShow="true" :border="true" :total="model.setmod.setglg.setgll.length" :expand-row-keys="expandRows" :row-class-name="classRowName" @row-click="handleExpand" > <el-table-column type="expand" width="1px"> <template slot-scope="scope"> <settleDialogContent v-if="isInDisplay && scope.row.acccur != scope.row.cur" :formData="scope.row" /> </template> </el-table-column> <el-table-column label="修改标识" prop="modflg" min-width="100px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setglg.setgll.' + scope.$index + '.modflg'"> {{scope.row.modflg}} </el-form-item> </template> </el-table-column> <el-table-column label="结算对象" prop="rol" min-width="200px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setglg.setgll.' + scope.$index + '.rol'"> <c-select-value-to-label v-model="scope.row.rol" dbCode="ROLALL" :isShowKeyAndLabel="true"> </c-select-value-to-label> </el-form-item> </template> </el-table-column> <el-table-column label="记账币种" prop="acccur" min-width="130px"> <template slot-scope="scope"> <c-select-cur v-if="scope.row.cur === 'CNY'" :isFixed="true" dbCode="CURTXT" v-model="scope.row.acccur" :customModifykey="'setmod.setglg.setgll.' + scope.$index + '.acccur'" placeholder="请选择记账币种" :disabled="acccurDisable(scope.row)" @change="handleSetgllCallback(scope.row, 'acccur')"> </c-select-cur> <c-select-cur v-else :isFixed="true" dbCode="CURTXT" :filterKey="['CNY', scope.row.cur]" v-model="scope.row.acccur" :customModifykey="'setmod.setglg.setgll.' + scope.$index + '.acccur'" placeholder="请选择记账币种" :disabled="acccurDisable(scope.row)" @change="handleSetgllCallback(scope.row, 'acccur')"> </c-select-cur> </template> </el-table-column> <el-table-column label="记账金额" prop="fmtaccamt" min-width="150px"> <template slot-scope="scope"> <c-input-currency min="0" v-model="scope.row.fmtaccamt" :currency="scope.row.acccur" :customModifykey="'setmod.setglg.setgll.' + scope.$index + '.fmtaccamt'" :disabled="fmtaccamtDisable(scope.row)" @change="handleSetgllCallback(scope.row, 'accamt')" /> </template> </el-table-column> <el-table-column label="处理方式" prop="dsp" min-width="200px"> <template #default="scope"> <el-form-item label-width="0" :prop="'setmod.setglg.setgll.' + scope.$index + '.dsp'"> <c-select :isFixed="true" v-if="['C', 'D'].includes(scope.row.debcdtflg)" v-model="scope.row.dsp" :customModifykey="'setmod.setglg.setgll.' + scope.$index + '.dsp'" :disabled="scope.row.dspflg === 'A' || scope.row.dspflg === 'J'" placeholder="请选择处理方式" @change="handleSetgllCallback(scope.row, 'dsp')" :popper-class="scope.row.debcdtflg==='D'?'custom-select-red':''" :class="scope.row.debcdtflg==='D'?'custom-select-red-input':''" > <el-option v-for="item in scope.row.dspSet" :key="item.value" :label="item.value + ' ' + item.label" :value="item.value"> </el-option> </c-select> </el-form-item> </template> </el-table-column> <el-table-column label="记账账号" prop="act" min-width="240px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setglg.setgll.' + scope.$index + '.act'"> <div v-if="scope.row.dspflg === 'A' || scope.row.dspflg === 'J'" style="width: 100%;text-align: left;padding-left: 10px;">{{scope.row.act}}</div> <c-select v-else :isFixed="true" :isShowCopy="true" v-model="scope.row.act" :customModifykey="'setmod.setglg.setgll.' + scope.$index + '.act'" :allow-create="true" :default-first-option="true" :filterable="true" placeholder="请选择记账账号" @change="handleSetgllCallback(scope.row, 'act')" > <el-option v-for="item in scope.row.actSet" :key="item" :label="item" :value="item"></el-option> </c-select> </el-form-item> </template> </el-table-column> <el-table-column label="借/贷" prop="debcdtflg" min-width="80px"> <template slot-scope="scope"> <span :style="{color:scope.row.debcdtflg==='D'?'red':'black'}">{{scope.row.debcdtflg}}</span> </template> </el-table-column> <el-table-column label="原始币种" prop="cur" min-width="100px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setglg.setgll.' + scope.$index + '.cur'"> {{scope.row.cur}} </el-form-item> </template> </el-table-column> <el-table-column label="原始金额" prop="fmtamt" min-width="150px"> <template slot-scope="scope"> <el-form-item label-width="0" :prop="'setmod.setglg.setgll.' + scope.$index + '.fmtamt'"> <c-input-currency min="0" v-model="scope.row.fmtamt" :currency="scope.row.cur" :customModifykey="'setmod.setglg.setgll.' + scope.$index + '.fmtamt'" :disabled="fmtamtDisable(scope.row)" @change="handleSetgllCallback(scope.row, 'amt')" /> </el-form-item> </template> </el-table-column> <el-table-column label="汇率" prop="rat" min-width="100px"></el-table-column> <el-table-column label="" width="150px" fixed="right"> <template slot-scope="scoped"> <c-button style="margin-right: 10px" size="small" type="primary" icon="el-icon-info" @click="getCoreAccountInfo(scoped.row, scoped.$index)">获取</c-button> <el-button style="margin-left: 0" size="small" type="primary" icon="el-icon-info" @click="handleDetail3(scoped.$index, scoped.row)"></el-button> </template> </el-table-column> </c-table> </el-collapse-item> </c-collapse> </c-col> <!-- 国外收费弹框 --> <ForeiDialog :visible="showForeignDialog" ref="foreignDialog" @closeForeignDialog="closeForeignDialog" :initData="dialog1" @onSubmit="onSubmit" /> <!-- 我行收费弹框 --> <setpan-dialog ref="setpanDialog" :dialog2="dialog2" @setpanQueryFunc="setpanQueryFunc" /> <!-- 结算弹框 --> <settle-dialog ref="settleDialog" :dialog3="dialog3" :zmqflg="model.setmod.zmqflg" @saveDialog="saveDialog" @changeSettleDialog="changeSettleDialog" @cancelSettleDialog="cancelSettleDialog" @getParams="getParams"/> <!-- 详情弹框 --> <DetailDialog :visible="showDetailDialog" @closeDetailDialog="closeDetailDialog" @onSubmitDetailDialog="onSubmitDetailDialog" :initData="this.model.setmod.ptydet" ></DetailDialog> <Fale01Dialog ref="fale01Dialog" :model="model" :codes="codes" :fale01List="model.setmod.fale01List"></Fale01Dialog> <GlentryDialog ref="glentryDialog" :model="model" :codes="codes"></GlentryDialog> </div> </template> <script> import ForeiDialog from "./ForeiDialog.vue" import SettleDialog from "./settleDialog.vue"; import settleDialogContent from "./settleDialogContent.vue"; import SetpanDialog from "./SetpanDialog.vue"; import DetailDialog from "./DetailDialog.vue"; import GlentryDialog from "./GlentryDialog.vue"; import Fale01Dialog from "./Fale01Dialog.vue"; import commonDepend from "~/mixin/commonDepend.js"; import { cloneDeep } from "lodash"; import event from "../event"; import Utils from "~/utils" export default { inject: ["root"], mixins: [commonDepend, event], components: { SetpanDialog, ForeiDialog, SettleDialog, settleDialogContent, DetailDialog, GlentryDialog, Fale01Dialog }, props: ["model", "codes", "docamtEnable", "doccurEnable"], data() { return { showForeignDialog: false, //国外弹窗显示与隐藏 showDetailDialog:false, //详情弹框显示与隐藏 dialog1:{}, dialog2: {}, setpanIndex: 0, index: 0, rattyp: "", dcbrattyp: "", scbrattyp: "", ogiamt: {}, // 结算 dialog3: {}, settleIndex: 0, currentSetfelIndex: -1, currentSetfolIndex: -1, activeNames:["setfeg","setglg"], // 当前展开的行 expandRows: [] }; }, computed: { }, methods: { //详情弹窗 doDetail(){ this.showDetailDialog=true }, showGlentryDialog () { this.$refs.glentryDialog.visiable = true if(!this.isInDisplay){ this.root.executeAfterKey('glepan', null); } }, showFale01Dialog () { this.$refs.fale01Dialog.visiable = true }, tableSetfogRowClassName({row, rowIndex}){ row.index = rowIndex; }, handleSetfogRowClick(row) { this.currentSetfolIndex = row.index; }, tableRowClassName({row, rowIndex}){ row.index = rowIndex; }, handleRowClick(row) { this.currentSetfelIndex = row.index; }, //第一个表格 addRowSetfol(row) { let newRow = { ptydbt: "", ptypay: "", src:"", dsp:"", txtdbt: "", txtpay: "", cur:this.model.setmod.doccur, amt:0, payerSet:this.model.setmod.foreignRoleSet, payeeSet:this.model.setmod.foreignRoleSet }; let start = 0; if (this.model.setmod.setfog.setfol) { start = this.model.setmod.setfog.setfol.length; } this.model.setmod.setfog.setfol.splice(start, 0, newRow); }, removeRowSetfol() { console.log("选中的他行费用下标", this.currentSetfolIndex); if (this.currentSetfolIndex === -1) { this.$notify.error({ title: "错误", message: "请选择一条数据删除!" }); return; } this.model.setmod.setfog.setfol.splice(this.currentSetfolIndex, 1); this.currentSetfolIndex = -1; this.processSetpan(); }, saveDialog() { this.dialogVisible = false; this.model.setmod.setfog.setfol.splice(this.index, 1, this.dialog); }, // 第二个表格 addRowSetfel() { let newRow = { rol: "", feecod: "", src: "", dsp: "", unt: "", feetxtinf: "", cur: "", ogiamt: 0, amt: 0, modifySet: [] }; let start = 0; if (this.model.setmod.setfeg.setfel) { start = this.model.setmod.setfeg.setfel.length; } this.model.setmod.setfeg.setfel.splice(start, 0, newRow); }, removeRowSetfel() { console.log("选中的费用下标", this.currentSetfelIndex); if (this.currentSetfelIndex === -1) { this.$notify.error({ title: "错误", message: "请选择一条数据删除!" }); return; } let setfelVo = this.model.setmod.setfeg.setfel[this.currentSetfelIndex]; if (setfelVo.src === 'T' || setfelVo.src === 'E') { this.$confirm( "Do you really want to remove the transaction fee?<br/>If you accept the amount is set to zero and a warning is set", "提示",{ confirmButtonText: "确定", cancelButtonText: "取消", dangerouslyUseHTMLString: true, type: "warning" }) .then(async() => { setfelVo.dsp = 'N'; this.handleChangeCallback(setfelVo, 'dsp'); }).catch(() => {}); return; } else if (setfelVo.src === 'P') { this.$confirm( "Do you really want to remove the fee from pool?<br/>If you accept the amount is set to zero and a warning is set", "提示",{ confirmButtonText: "确定", cancelButtonText: "取消", dangerouslyUseHTMLString: true, type: "warning" }) .then(async() => { setfelVo.dsp = 'N'; this.handleChangeCallback(setfelVo, 'dsp'); }).catch(() => {}); return; } else { this.model.setmod.setfeg.setfel.splice(this.currentSetfelIndex, 1); this.currentSetfelIndex = -1; this.calcSettleDetail(); } }, onSubmit(formValues) { this.$set(this.model.setmod.setfog.setfol, this.index, formValues); this.showForeignDialog = false; }, detailForeignDialog(index, row) { this.dialog1 = cloneDeep(row); this.dialog1.roleSet = this.model.setmod.roleSet; this.index = index; this.showForeignDialog = true; }, closeForeignDialog() { this.showForeignDialog = false; }, closeDetailDialog(){ this.showDetailDialog=false }, onSubmitDetailDialog(doSubmit, ptydet){ if (doSubmit) { this.model.setmod.ptydet = ptydet; this.processSetpan(); } this.showDetailDialog=false; }, // handleChangeCallback(row, prop) { // this.calcSettleDetail(); // this.customAddModify(row, prop); // }, // 格式化feecode formatFeeCodeSet(feeCode) { let val = ""; this.model.setmod.feeCodeSet.map(item => { if (item.value === feeCode) { val = item.label; } }); return val; }, // 第二个表格 detail2(index, row) { this.setpanIndex = index; this.dialog2 = cloneDeep(row); this.dialog2.roleSet = this.model.setmod.roleSet; this.dialog2.feeCodeSet = this.model.setmod.feeCodeSet; this.$refs.setpanDialog.visiable = true; this.$nextTick(() => { this.$refs.setpanDialog.init(); }); }, //我行收费回调 async setpanQueryFunc(action, val) { if (action === 'reset') { //重置 this.model.setmod.setfeg.setfel[this.setpanIndex].modflg = "r"; this.model.setmod.setfeg.setfel[this.setpanIndex].modifySet = []; this.model.setmod.setfeg.setfel[this.setpanIndex].graceDays = 0; this.model.setmod.setfeg.macbogold = ''; this.model.setmod.setfeg.setfel[this.setpanIndex].dat2 = this.model.setmod.setfeg.setfel[this.setpanIndex].dat2dft; await this.processSetpan(); this.dialog2 = cloneDeep(this.model.setmod.setfeg.setfel[this.setpanIndex]); this.$nextTick(() => { this.$refs.setpanDialog.init(); }); } else if (action === 'resetExcludeFec') { this.$set(this.model.setmod.setfeg.setfel, this.setpanIndex, val); //重置不包含fec let fecChanged = val.modifySet.includes('wrkfec'); this.model.setmod.setfeg.setfel[this.setpanIndex].modflg = "r"; this.model.setmod.setfeg.setfel[this.setpanIndex].modifySet = []; if (fecChanged) { this.model.setmod.setfeg.setfel[this.setpanIndex].modifySet.push('wrkfec'); } this.model.setmod.setfeg.setfel[this.setpanIndex].graceDays = 0; this.model.setmod.setfeg.macbogold = ''; this.model.setmod.setfeg.setfel[this.setpanIndex].dat2 = this.model.setmod.setfeg.setfel[this.setpanIndex].dat2dft; await this.processSetpan(); this.dialog2 = cloneDeep(this.model.setmod.setfeg.setfel[this.setpanIndex]); this.$nextTick(() => { this.$refs.setpanDialog.init(); }); } else if (action === 'submit') { console.log("修改之后的setfel", val); //修改 this.$set(this.model.setmod.setfeg.setfel, this.setpanIndex, val); //Utils.copyValueFromVoData(this.model.setmod.setfeg.setfel[this.setpanIndex], val); this.calcSettleDetail(); // let setfel = this.model.setmod.setfeg.setfel[this.setpanIndex]; // let modifySet = setfel.modifySet; // if (modifySet.includes('amt')) { // setfel.modflg = 'a'; // } // if (modifySet.includes('feecod')) { // if (setfel.modflg !== 'a') { // setfel.modflg = 'c'; // } // } // if (modifySet.includes('unt')) { // if (setfel.modflg !== 'a') { // setfel.modflg = 'u'; // } // } // this.processSetpan(); } }, // 第三个表格详情 handleDetail3(index, row) { this.settleIndex = index; this.$refs.settleDialog.settleDialogVisible = true; this.dialog3 = cloneDeep(row); this.$nextTick(() => { this.$refs.settleDialog.init(true); }); }, classRowName ({row, rowIndex}) { row.rowIndex = rowIndex.toString() }, handleExpand (row) { if (!this.isInDisplay || row.acccur == row.cur) { return; } if (this.expandRows.includes(row.rowIndex)) { this.expandRows = this.expandRows.filter((item) => { return item != row.rowIndex }) } else { this.expandRows.push(row.rowIndex) } }, //保存数据 saveDialog(formData) { this.$set(this.model.setmod.setglg.setgll, this.settleIndex, formData); }, //取消 数据回滚 cancelSettleDialog(formData) { //快照直接返回 if (this.root.isInDisplay) { return; } this.$set(this.model.setmod.setglg.setgll, this.settleIndex, formData); this.calcSettleDetail(); }, //保存弹框修改数据 async changeSettleDialog(formData, prop) { this.model.setmod.setglg.setgll[this.settleIndex] = formData; let setgll = this.model.setmod.setglg.setgll[this.settleIndex]; this.customAddModify(setgll, prop); if (prop === 'amt') { //参考Setgll的@Rule(target="fmtamt",order=1000) } else if (prop === 'accamt') { //参考Setgll的@Rule(target="fmtaccamt",order=1000) if (setgll.debcdtflg === 'C') { setgll.accamt = 0 - setgll.fmtaccamt; } else { setgll.accamt = setgll.fmtaccamt; } } else if (prop === 'act') { setgll.acccode = ''; setgll.accountBalance = 0; this.updateOrcact(setgll); // await this.getAcctInfo(setgll); // this.dialog3 = cloneDeep(this.model.setmod.setglg.setgll[this.settleIndex]); // this.$nextTick(() => { // this.$refs.settleDialog.init(); // }); // return; } else if (prop === 'trnman' || prop === 'txt2' || prop === 'trntyp' || prop === 'ctycod' || prop === 'oppnam' || prop === 'discod' || prop === 'oppacc' || prop === 'xzhacc' || prop === 'oppbnk' || prop === 'xzhnam' || prop === 'valdat' || prop === 'acttrmtyp' || prop === 'trdint' || prop === 'trdout') { this.dialog3 = cloneDeep(this.model.setmod.setglg.setgll[this.settleIndex]); this.$nextTick(() => { this.$refs.settleDialog.init(); }); return; } await this.calcSettleDetail(); this.dialog3 = cloneDeep(this.model.setmod.setglg.setgll[this.settleIndex]); this.$nextTick(() => { this.$refs.settleDialog.init(); }); }, getParams(args, callback){ callback(this.model.setmod.buildParams); }, strCalCode(str, code) { var result = ""; for (let i = 0; i < code.length; i++) { if (code[i].value === str) { result = code[i].label; continue; } } if (result === "") { return str; } else { return result; } }, onActpDet() {}, onSetgllCodsel() {}, onSetgllCtysel() {}, getSrcTips(src) { if (src === 'T' || src === 'E') { return "当前交易" } else if (src === 'P') { return "前手交易" } else if (src === 'U') { return "手工添加" } }, fmtamtDisable(setgll){ if (setgll.disableSet) { return setgll.disableSet.includes("fmtamt"); } else { return false; } }, fmtaccamtDisable(setgll){ if (setgll.disableSet) { return setgll.disableSet.includes("fmtaccamt"); } else { return false; } }, acccurDisable(setgll){ if (setgll.disableSet) { return setgll.disableSet.includes("acccur"); } else { return false; } }, } }; </script> <style scoped lang="less"> .eibs-tab { padding: 16px; /deep/ .el-col .el-divider--horizontal { margin-top: 10px; } .formItemLabel /deep/ .el-form-item__label { text-align: left; font-weight: bold; } .messageLabel /deep/ .el-form-item__label { text-align: left; font-weight: bold; font-size: 12px; } .doccur-form-style { /deep/ .el-form-item__content { display: flex; } } /deep/ .el-button--orange{ background: #99FFFF; border-color: #99FFFF; } /deep/ .el-table__expand-icon { font-size: 24px; height: 30px; .el-icon { margin-left: -12px; margin-right: -12px; display: none; } } } </style>