<template>
	<div class="eibs-tab">
		<div :class="model.cfagit.recgrp.vrf.length > 1 ? 'vrf-wrap' : 'vrf-wrap1'" v-if="model.cfagit.recgrp.vrf && model.cfagit.recgrp.vrf.length">
			<div class="vrf-left div-tags" v-if="model.cfagit.recgrp.vrf.length > 1">
				<div class="vrf-item" v-for="(item, index) in model.cfagit.recgrp.vrf" :key="index" @click="handleActive(index)" :class="[curActive === index ? 'active-tag' : '']">
					履约信息{{ index + 1 }}
				</div>
			</div>
			<div :class="model.cfagit.recgrp.vrf.length > 1 ? 'vrf-right' : 'vrf-right1'">
				<c-col :span="24">
					<!-- ==================================左边-外债编号================================ -->
					<c-col :span="12" style="padding-right: 20px">
						<c-col :span="24">
							<el-form-item label="对外担保编号" :prop="`cfagit.recgrp.vrf.${curActive}.exguarancode`">
								<c-input v-model="model.cfagit.recgrp.vrf[curActive].exguarancode" disabled maxlength="28" placeholder="请输入对外担保编号"></c-input>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="履约编号" :prop="`cfagit.recgrp.vrf.${curActive}.complianceno`">
								<c-input v-model="model.cfagit.recgrp.vrf[curActive].complianceno" disabled maxlength="4" placeholder="请输入履约编号"></c-input>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="操作类型" :prop="`cfagit.recgrp.vrf.${curActive}.actiontype`">
								<c-select v-model="model.cfagit.recgrp.vrf[curActive].actiontype" disabled style="width: 100%" placeholder="请选择操作类型" dbCode="action" @change="changeActiontype(curActive)">
								</c-select>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="担保人代码" :prop="`cfagit.recgrp.vrf.${curActive}.guarantorcode`" :rules="[{required: model.cfagit.recgrp.vrf[curActive].guarantorcode ? false : true, message: '必输项',trigger: ['blur', 'change'] }]">
								<c-input v-model="model.cfagit.recgrp.vrf[curActive].guarantorcode" disabled maxlength="12" placeholder="请输入担保人代码"></c-input>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="银行业务参号" :prop="`cfagit.recgrp.vrf.${curActive}.buscode`" :rules="[{required: model.cfagit.recgrp.vrf[curActive].buscode ? false : true, message: '必输项',trigger: ['blur', 'change'] }]">
								<c-input v-model="model.cfagit.recgrp.vrf[curActive].buscode" :disabled="!isDisabled" maxlength="32" placeholder="请输入银行业务参号"></c-input>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="受益人代码" :prop="`cfagit.recgrp.vrf.${curActive}.bencode`">
								<c-input v-model="model.cfagit.recgrp.vrf[curActive].bencode" :disabled="!isDisabled" maxlength="32" placeholder="请输入受益人代码"></c-input>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="受益人中文名称" :prop="`cfagit.recgrp.vrf.${curActive}.bename`" :rules="[{ validator: validateBename, trigger: ['blur', 'change'] }]">
								<c-input v-model="model.cfagit.recgrp.vrf[curActive].bename" :disabled="!isDisabled" maxlength="90" placeholder="请输入受益人中文名称"></c-input>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="受益人英文名称" :prop="`cfagit.recgrp.vrf.${curActive}.benamen`">
								<c-input v-model="model.cfagit.recgrp.vrf[curActive].benamen" :disabled="!isDisabled" maxlength="90" placeholder="请输入受益人英文名称"></c-input>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="履约日期" :prop="`cfagit.recgrp.vrf.${curActive}.guperdate`" :rules="[{ required: model.cfagit.recgrp.vrf[curActive].guperdate ? false : true, validator: validateGuperdate, trigger: ['blur', 'change'] }]">
								<c-date-picker type="date" v-model="model.cfagit.recgrp.vrf[curActive].guperdate" :disabled="!isDisabled" style="width: 100%" placeholder="请选择履约日期" value-format="yyyy-MM-dd"></c-date-picker>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<c-col :span="12">
								<el-form-item label="履约金额" :prop="`cfagit.recgrp.vrf.${curActive}.gupercurr`" :rules="[{ required: model.cfagit.recgrp.vrf[curActive].gupercurr ? false : true, validator: validateGupercurr, trigger: ['blur', 'change'] }]">
									<c-select v-model="model.cfagit.recgrp.vrf[curActive].gupercurr" :disabled="!isDisabled" maxlength="3" placeholder="请输入履约币种" dbCode="curtxt"></c-select>
								</el-form-item>
							</c-col>
							<c-col :span="12">
								<el-form-item label="" :prop="`cfagit.recgrp.vrf.${curActive}.guperamount`" label-width="0" style="margin-left:5px;" :rules="[{ validator: validateGuperamount, trigger: ['blur', 'change'] }]">
									<c-input-currency v-model="model.cfagit.recgrp.vrf[curActive].guperamount" :disabled="!isDisabled" placeholder="请输入履约金额">
									</c-input-currency>
								</el-form-item>
							</c-col>
						</c-col>
						<c-col :span="24">
							<el-form-item label="购汇履约金额" :prop="`cfagit.recgrp.vrf.${curActive}.pguperamount`" :rules="[{ validator: validatePguperamount, trigger: ['blur', 'change'] }]">
								<c-input-currency v-model="model.cfagit.recgrp.vrf[curActive].pguperamount" :disabled="!isDisabled" placeholder="请输入购汇履约金额">
								</c-input-currency>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="备注" :prop="`cfagit.recgrp.vrf.${curActive}.remark`">
								<c-input type="textarea" v-model="model.cfagit.recgrp.vrf[curActive].remark" :disabled="!isDisabled" maxlength="248" show-word-limit placeholder="请输入备注" :rows="5"></c-input>
							</el-form-item>
						</c-col>
					</c-col>

					<!-- ==================================右边-删除原因================================ -->
					<c-col :span="12" style="padding-left: 20px">
						<c-col :span="24">
							<el-form-item label="删除原因" :prop="`cfagit.recgrp.vrf.${curActive}.actiondesc`" :rules="[{ validator: validateActiondesc, trigger: ['blur', 'change'] }]">
								<c-input type="textarea" v-model="model.cfagit.recgrp.vrf[curActive].actiondesc" maxlength="128" show-word-limit placeholder="请输入删除原因" :rows="5" :disabled="disabledActiondesc" @change="changeActiondesc(curActive)"></c-input>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item label="" :prop="`cfagit.recgrp.vrf.${curActive}.acp`" class="checkbox-left">
								<c-checkbox true-label="X" false-label="" v-model="model.cfagit.recgrp.vrf[curActive].acp" :disabled="model.cfagit.vrfflg == ''" @change="acpChange">确认</c-checkbox>
							</el-form-item>
						</c-col>
						<c-col :span="24">
							<el-form-item>
								<span v-if="this.model.cfagit.recgrp.vrf[curActive].sta == 'S'">已发送</span>
								<span v-if="this.model.cfagit.recgrp.vrf[curActive].sta == 'W'">待发送</span>
								<span v-if="this.model.cfagit.recgrp.vrf[curActive].sta == 'D'">已撤销</span>
								<span v-if="this.model.cfagit.recgrp.vrf[curActive].sta == 'G'">已删除</span>
								<span v-if="this.model.cfagit.recgrp.vrf[curActive].sta == 'P'">已作废</span>
								<span v-if="this.model.cfagit.recgrp.vrf[curActive].sta == 'E'">待修改</span>
							</el-form-item>
						</c-col>
					</c-col>
				</c-col>
			</div>
		</div>
	</div>
</template>
<script>
export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [],
  data() {
    return {
      curActive: 0,
      isDisabled: false
    };
  },
  computed: {
    disabledActiondesc() {
      let actiontype = this.model.cfagit.recgrp.vrf[this.curActive].actiontype;
      if (
        actiontype == "D" &&
        this.model.cfagit.recgrp.vrf[this.curActive].acp
      ) {
        return false;
      } else {
        if (this.model.cfagit.recgrp.vrf[this.curActive].acp) {
          this.model.cfagit.recgrp.vrf[this.curActive].actiondesc = "";
        }
        return true;
      }
      // this.changeActiondesc()
    }
  },
  methods: {
    handleActive(ind) {
      this.curActive = ind;
    },
    acpChange(val) {
      if (val == "X") {
        this.isDisabled = true;
        this.model.cfagit.recgrp.vrf[curActive].actiontype = "C";
      } else {
        this.isDisabled = false;
        this.model.cfagit.recgrp.vrf[curActive].actiontype = "A";
      }
    },
    // default
    changeActiontype(curActive) {
      if (!this.model.cfagit.recgrp.vrf[curActive].actiontype) {
        this.model.cfagit.recgrp.vrf[curActive].actiontype = "A";
      }
    },
    // changeActiondesc(curActive) {
    // 	let actiontype = this.model.cfagit.recgrp.vrf[curActive].actiontype;
    // 		if(actiontype == 'D' && this.model.cfagit.recgrp.vrf[curActive].acp) {
    // 				return;
    // 			}else{
    // 				if(this.model.cfagit.recgrp.vrf[curActive].acp) {
    // 					this.model.cfagit.recgrp.vrf[curActive].actiondesc = '';
    // 				}
    // 			}
    // },
    validateBename(rule, value, callback) {
      if (!value && !this.model.cfagit.recgrp.vrf[this.curActive].benamen) {
        return callback(new Error("受益人中文名称和英文名称至少填写一个!"));
      }
      callback();
    },
    validateGuperdate(rule, value, callback) {
      let valuedate = this.model.cfagit.recgrp.bas.contractdate;
      if (!value) {
        return callback(new Error("必输项"));
      } else {
        if (value < valuedate) {
          return callback(new Error("履约日期不能小于签约日期!"));
        }
      }
      callback();
    },
    validateActiondesc(rule, value, callback) {
      if (this.model.cfagit.recgrp.vrf[this.curActive].actiontype == "D") {
        if (!value) {
          return callback(new Error("必输项"));
        }
      }
      callback();
    },
    validatePguperamount(rule, value, callback) {
      if (Number(value) < 0) {
        return callback(new Error("购汇履约金额必须大于等于0!"));
      } else {
        if (
          Number(value) >
          Number(this.model.cfagit.recgrp.vrf[this.curActive].guperamount)
        ) {
          return callback(new Error("购汇履约金额必须小于等于履约金额!"));
        }
      }
      callback();
    },
    validateGuperamount(rule, value, callback) {
      if (!value) {
        return callback(new Error("必输项"));
      } else {
        if (Number(value) < 0) {
          return callback(new Error("履约金额必须大于等于0!"));
        } else {
          if (
            Number(value) > Number(this.model.cfagit.recgrp.bas.guaranamount)
          ) {
            return callback(new Error("履约金额不能大于保函金额!"));
          }
        }
      }
      callback();
    },
    validateGupercurr(rule, value, callback) {
      if (!value) {
        return callback(new Error("必输项"));
      } else {
        if (value != this.model.cfagit.recgrp.bas.guarancurr) {
          return callback(new Error("履约币种应等于签约币种!"));
        }
      }
      callback();
    }
  },
  created() {},
  watch: {}
};
</script>
<style scoped>
.vrf-wrap {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  border: 1px solid #f1f1f1;
  box-sizing: border-box;
  border-radius: 3px;
}

.vrf-wrap1 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  box-sizing: border-box;
  border-radius: 3px;
}

.vrf-left {
  width: 120px;
  height: 100%;
  overflow: auto;
  padding: 10px 0 10px 10px;
  position: relative;
}

.div-tags {
  padding: 0 !important;
}

.vrf-item {
  width: 100%;
  height: 30px;
  text-align: center;
  line-height: 30px;
  cursor: pointer;
}

.vrf-right {
  width: calc(100% - 200px);
  height: 100%;
  border-left: 1px solid #f1f1f1;
  overflow-y: auto;
  box-sizing: border-box;
  padding: 10px 10px 10px 0;
}

.vrf-right1 {
  height: 100%;
  overflow-y: auto;
  box-sizing: border-box;
}
</style>