<template>
  <div class="eibs-tab">
    <c-col :span="12" style="padding-right: 20px">
      <c-col :span="24">
        <el-form-item :label="$t('gitfre.承诺形式')" prop="fremsg.tag22d" :rules="[
            {required: true, message: '必输项', trigger:['blur','change'] },
            ]">
          <c-select v-model="model.fremsg.tag22d" style="width:100%" dbCode="legfrm" :filterKey="tag22dFilterKey" placeholder="">
          </c-select>
        </el-form-item>
      </c-col>
      <c-col :span="24">
        <el-form-item :label="$t('gitfre.企业编号')" prop="fremsg.tag23">
					<c-mul-row-input :autosize="{ minRows: 1, maxRows: 1}" :charmod="2" :cols="35" :rows="1" placeholder="" v-model="model.fremsg.tag23">
					</c-mul-row-input>
        </el-form-item>
      </c-col>
      <c-col :span="24">
        <el-form-item :label="$t('gitfre.功能')" prop="fremsg.tag23h" 
        :rules="[ {required: true, message: '必输项', trigger:['blur','change'] }, ]">
          <c-select 
					v-model="model.fremsg.tag23h" 
					style="width:100%" 
					dbCode="tag23h"
					:filterKey="tag23hFilterKey"
					placeholder="">
          </c-select>
        </el-form-item>
      </c-col>
      <c-col :span="24">
        <el-form-item :label="$t('gitfre.请求的详细信息')" prop="fremsg.tag45d">
					<c-mul-row-input :isEn="false" :isRequired="true" :autosize="{ minRows: 4, maxRows: 10}" :charmod="0" :cols="65" :rows="999" placeholder="" v-model="model.fremsg.tag45d">
					</c-mul-row-input>
        </el-form-item>
      </c-col>
    </c-col>
    <c-col :span="12">
      <c-col :span="24">
        <el-form-item :label="$t('gitfre.发行人')" prop="fremsg.issrol">
          <c-select
              v-model="model.fremsg.issrol"
              style="width: 100%"
              placeholder="请选择发行人"
              @clear="othClear('iss')"
              @change="changeMsgrol($event,'iss','ISS')"
              dbCode="ROLALL"
              :filterKey="model.fremsg.msgrolSet">
          </c-select>
        </el-form-item>
      </c-col>
      <c-col :span="24">
        <c-ptap
            :model="model"
            :noRef="true"
            :editExtLabel="true"
            :isAdrblk="false"
            :haveAdrLabel="false"
            :isFieldLabelVisible="false"
            chooseLanguage="CN"
            :isLable='false'
            :disabled="model.fremsg.issrol != 'OTH'"
            :disabledExtkey="model.fremsg.issrol != 'OTH'"
            :argadr="{title: '', grp: 'fremsg', rol: 'iss'}" ptytyp="B" >
        </c-ptap>
      </c-col>

    </c-col>
  </div>
</template>
<script>
import Pts from "~/components/business/commonModel/Pts.js"
import Utils from '~/utils/index.js';
export default {
  inject: ['root'],
  props: ["model", "codes","trntyp"],
  mixins: [],
  data() {
    return {
    }
	},
  computed:{
    tag22dFilterKey(){
      let filterKey = []
      switch(this.trntyp){
        case "lid":
        case "led":
        case "brd":
        case "bed":
        case "ltd":
        case "btd":
        case "rmd":
        case "rcd":
          filterKey = ["DOCR" ,"STBY", "UNDK"]
          break;
        case "bpd":
        case "trd":
        case "pad":
        case "mcd":
          filterKey = [ "DGAR" , "UNDK" , "STBY" , "DOCR"]
          break;
      }
      return filterKey;
    },
    tag23hFilterKey(){
				let filterKey = ['GENINFAD','REQFINAN','FRAUDMSG','REIMBURS','CLSVOPEN','CLSVCLOS','OTHERFNC','ADV','CNF','STA','DTAKORRE' , 'DTASTATU' ,'PREDENOT'];
        if('brd|bed|btd'.indexOf(this.trntyp) >= 0){
          filterKey.push('REXTMATU')
        }
      	if (this.model.fremsg.tag22d === "STBY" || this.model.fremsg.tag22d === "DGAR"){
					filterKey.push('TRANSFER') 
				}else if(this.model.fremsg.tag22d === "UNDK"){
					filterKey.push('TRANSFER','ISSUANCE','REQISSUE','REQAMEND','ISSAMEND');
				}else if(this.model.fremsg.tag22d === "DOCR"){
          filterKey.push('DTABESTA' , 'DTAFINAN' , 'DTASTATU' , 'DTAKORRE')
				}
					return filterKey;
			} ,
  },
  methods:{
    othClear(rol){
      if (rol === undefined) {
        return
      }
      const restObj = {
        pts: new Pts().data,
        namelc: "", //  名称		.fremsg.othcc.namelc
        adrelc: "", //  地址		.fremsg.othcc.adrelc
        dbfadrblkcn: "", //  Chinese address		.fremsg.othcc.dbfadrblkcn
      }
      Utils.copyValueFromVoData(this.model.fremsg[rol], restObj);
    },
    changeMsgrol(e, key, rol) {
      const restObj = {
        pts: new Pts().data,
        namelc: "", //  名称		.fremsg.othcc.namelc
        adrelc: "", //  地址		.fremsg.othcc.adrelc
        dbfadrblkcn: "", //  Chinese address		.fremsg.othcc.dbfadrblkcn
      }
      for (let item of this.model.fremsg.msgrolSet) {
        if (e === item) {
          if(item == 'OTH'){
            Utils.copyValueFromVoData(this.model.fremsg[key], restObj);
          }else{
            if("trd|bpd".indexOf(this.trntyp) >= 0){
                Utils.copyValueFromVoData(this.model.fremsg[key], this.model.issRol[item]);
            }else{
             if(this.model[this.trntyp + 'grp'][item.toLowerCase()]){
                Utils.copyValueFromVoData(this.model.fremsg[key], this.model[this.trntyp + 'grp'][item.toLowerCase()]);
              }else{
                Utils.copyValueFromVoData(this.model.fremsg[key], this.model[this.getPnttyp(this.trntyp) + 'grp'][item.toLowerCase()]);
              }
            }
          }
          this.model.fremsg[key].rol = rol;
          this.model.fremsg[key].pts.rol = rol;
          break;
        }
      }
    },
  }
}
</script>
<style></style>