<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>