Gitfrep1.vue 12 KB
<template>
	<div class="eibs-tab">
		<!-- ======================= 左边 ========================= -->
		<c-col :span="12" style="padding-right: 20px">
			<c-col :span="24">
				<el-form-item :label="$t('gitfre.保函编号')" prop="gidgrp.rec.ownref" style="width: 100%">
					<c-fullbox>
						<c-input v-model="model.gidgrp.rec.ownref" maxlength="8" placeholder="请输入" disabled></c-input>
						<template slot="footer">
							<c-button v-model="model.gitp0.recget.sdamod.seainf" disabled style="margin: 0 0 0 10px; padding: 0 12px" size="small" type="primary">
								<i class="el-icon-info"></i>
							</c-button>
						</template>
					</c-fullbox>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<c-col :span="13">
					<el-form-item :label="$t('gitfre.保函金额')" prop="gidgrp.cbs.max.cur" previewLabel="信用证币种">
						<c-select v-model="model.gidgrp.cbs.max.cur" style="width: 100%" disabled placeholder="请输入索赔金额" dbCode="curtxt"></c-select>
					</el-form-item>
				</c-col>
				<c-col :span="11">
					<el-form-item previewLabel="信用证金额" label-width="5px">
						<c-input-currency disabled v-model="model.gidgrp.cbs.max.amt" placeholder="请输入" class="m-input-currency"></c-input-currency>
					</el-form-item>
				</c-col>
			</c-col>
			<c-col :span="24">
				<c-col :span="13">
					<el-form-item :label="$t('gitfre.保函余额')" prop="gidgrp.cbs.opn1.cur" previewLabel="信用证币种">
						<c-select v-model="model.gidgrp.cbs.opn1.cur" placeholder="" style="width: 100%" disabled dbCode="curtxt">
						</c-select>
					</el-form-item>
				</c-col>

				<c-col :span="11">
					<el-form-item previewLabel="信用证金额" label-width="5px" prop="gidgrp.cbs.opn1.amt">
						<c-input-currency v-model="model.gidgrp.cbs.opn1.amt" :currency="model.gidgrp.cbs.opn1.cur" placeholder="请输入" disabled></c-input-currency>
					</el-form-item>
				</c-col>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('gitfre.来报目的')" prop="gidgrp.rec.purposin">
					<c-input disabled v-model="model.gidgrp.rec.purposin" style="width: 100%" placeholder="请选择来报目的">
					</c-input>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('gitfre.目的信息')" prop="gidgrp.rec.purpos">
					<c-select disabled v-model="model.gidgrp.rec.purpos" style="width: 100%" placeholder="请选择目的信息" dbCode="purpos">
					</c-select>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('gitfre.保函种类')" prop="gidgrp.rec.gartyp">
					<c-select disabled v-model="model.gidgrp.rec.gartyp" style="width: 100%" placeholder="请选择保函种类" dbCode="typgar">
					</c-select>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<c-col :span="13">
					<el-form-item :label="$t('gitfre.到期')" prop="gidgrp.rec.expdat">
						<c-date-picker type="date" disabled v-model="model.gidgrp.rec.expdat" style="width: 100%" placeholder="请选择">
						</c-date-picker>
					</el-form-item>
				</c-col>
				<c-col :span="11">
					<el-form-item label="" label-width="5px" prop="gidgrp.rec.exptyp">
						<c-input v-model="model.gidgrp.rec.exptyp" disabled placeholder="请输入"></c-input>
					</el-form-item>
				</c-col>
			</c-col>
			<c-col :span="24">
				<el-form-item :label="$t('gitfre.报文类型')" prop="fremsg.sndmt">
					<c-select v-model="model.fremsg.sndmt" style="width: 100%" placeholder="请输入报文类型" @change="changeSndmt" dbCode="sndmt" sort="SRT" :filterKey="['99','92','95','96','30','59','AVN','SAN','AME','ARR','AOA']">
					</c-select>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('gitfre.发报类型')" prop="fremsg.fulmt" :required="['59','99'].includes(this.model.fremsg.sndmt)">
					<c-select 
					:disabled="model.fremsg.sndmt != '99' && model.fremsg.sndmt != '59'" 
					v-model="model.fremsg.fulmt" 
					style="width: 100%" 
					dbCode="fulmt"
					@change="changeTag20ref"
					:filterKey="fulmtFilterKey"
					placeholder="请输入发报类型">
					</c-select>
				</el-form-item>
			</c-col>
			<c-col :span="24">
				<el-form-item :label="$t('gitfre.标题')" prop="fremsg.prttitle">
					<c-mul-row-input :disabled="model.fremsg.sndmt != '99'" :autosize="{ minRows: 1, maxRows: 1}" :charmod="2" :cols="35" :rows="1" placeholder="请选择标题" v-model="model.fremsg.prttitle">
					</c-mul-row-input>
				</el-form-item>
			</c-col>
			<c-col :span="24">
				<el-form-item :label="$t('gitfre.相关报文')" prop="fremsg.relmt" :required="['92', '95', '96'].includes(model.fremsg.sndmt)">
					<c-select :disabled="!['92', '95', '96'].includes(model.fremsg.sndmt)" v-model="model.fremsg.relmt" style="width: 100%" placeholder="请选择相关报文" dbCode="relmt" :filterKey="['103','202','700','701','705','707','710','711','720','721','730','732','734','740','742','747','750','752','754','756','760','767','768','769','790','791','792','795','796','798','799','999']">
					</c-select>
				</el-form-item>
			</c-col>
			<c-col :span="24">
				<c-col :span="13">
					<el-form-item :label="$t('gitfre.保函日期')" prop="fremsg.reldat" :required="['92', '96', '30'].includes(this.model.fremsg.sndmt)">
						<c-date-picker type="date" :disabled="!['92', '95', '96', '30'].includes(this.model.fremsg.sndmt)" v-model="model.fremsg.reldat" style="width: 100%" placeholder="请选择保函日期">
						</c-date-picker>
					</el-form-item>
				</c-col>
				<c-col :span="11">
					<el-form-item label="" label-width="5px" prop="fremsg.reldir">
						<c-select :disabled="model.fremsg.sndmt != '95' && model.fremsg.sndmt != '96'" dbCode="RELDIR" v-model="model.fremsg.reldir" placeholder="请输入"></c-select>
					</el-form-item>
				</c-col>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="tag20" prop="fremsg.tag20ref" v-if="['799','499','759'].includes(model.fremsg.fulmt)">
					<c-input v-model="model.fremsg.tag20ref" style="width: 100%" placeholder="">
					</c-input>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('gitfre.详细说明')" prop="fremsg.strinf" v-if="model.fremsg.sndmt != '59'">
						<c-mul-row-input
							:isRequired="['99','92','95','96','ARR'].includes(model.fremsg.sndmt)"
							:disabled="!['99','92','95','96','AVN','ARR'].includes(model.fremsg.sndmt)"
							:autosize="{ minRows: 7, maxRows: 12}"
							:charmod="2"
							:cols="50"
							:rows="35"
							:isShowWordLimit="true"
							:isCheckMaxRows="true"
							v-model="model.fremsg.strinf"
						></c-mul-row-input>
				</el-form-item>
			</c-col>
			<c-col :span="24">
				<el-form-item label="" v-if="model.fremsg.sndmt != '59'">
					<c-checkbox 
					true-label="X" 
					false-label="" 
					v-model="model.fremsg.flg" 
					@change="setStrinf" 
					class="checkbox-left" 
					:checked="model.fremsg.sndmt=='30'" 
					:disabled="!['99','92','95','96','AVN','ARR'].includes(this.model.fremsg.sndmt)">发送确认保函真实性电文</c-checkbox>
				</el-form-item>
			</c-col>
		</c-col>
		<!-- ======================右边====================== -->
		<c-col :span="12" style="padding-left: 20px">
			<c-col :span="24">
				<el-form-item :label="$t('gitfre.申请人')" prop="gidgrp.apl.pts.ennam">
					<c-input v-model="model.gidgrp.apl.pts.ennam" type="textarea" :rows="2" placeholder="请输入申请人" disabled></c-input>
				</el-form-item>
			</c-col>
			<c-col :span="24">
				<el-form-item :label="$t('gitfre.受益人')" prop="gidgrp.ben.pts.ennam">
					<c-input v-model="model.gidgrp.ben.pts.ennam" type="textarea" :rows="2" placeholder="请输入受益人" disabled></c-input>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('gitfre.账户行')" prop="gidgrp.ctr.pts.ennam">
					<c-input disabled v-model="model.gidgrp.ctr.pts.ennam" type="textarea" :rows="2" placeholder=""></c-input>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('gitfre.保函开立行')" prop="gidgrp.iss.pts.ennam">
					<c-input disabled v-model="model.gidgrp.iss.pts.ennam" type="textarea" :rows="2" placeholder=""></c-input>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('gitfre.收报行')" prop="fremsg.msgrol" >
					<c-select 
					v-model="model.fremsg.msgrol" 
					style="width: 100%" 
					placeholder="请选择收报行" 
					@clear="othClear('othmsg')"
					@change="changeMsgrol($event,'othmsg','OTHMSG')"
					dbCode="ROLALL" 
					:isShowKeyAndLabel="true"
					:filterKey="changeMsgrolSet"
					></c-select>
				</el-form-item>
			</c-col>
			<c-col :span="24">
				<c-ptap 
				:noRef="true" 
				:haveAdrLabel="false" 
				:isAdrblk="false" 
				:disabledExtkey="model.fremsg.msgrol!='OTH'" 
				:disabled="model.fremsg.msgrol!='OTH'" 
				:model="model"
        :isLable='false'
				:requiredExtkey="true"
				chooseLanguage="CN"
				:isFieldLabelVisible="false"
				:argadr="{title: '', grp: 'fremsg', rol: 'othmsg'}" ptytyp="B">
				</c-ptap>
			</c-col>
			<c-col :span="24">
				<el-form-item :label="$t('gitfre.副本的收报行')" prop="fremsg.ccrol">
					<c-select 
					v-model="model.fremsg.ccrol" 
					style="width: 100%" 
					placeholder="请选择副本的收报行" 
					@clear="othClear('othcc')"
					@change="changeMsgrol($event,'othcc','OTHCC')"
					dbCode="ROLALL" 
					:isShowKeyAndLabel="true"
					:filterKey="model.fremsg.msgrolSet">
					</c-select>
				</el-form-item>
			</c-col>
			<c-col :span="24">
				<c-ptap 
				:noRef="true" 
				:haveAdrLabel="false" 
				:isAdrblk="false" 
				:disabledExtkey="model.fremsg.ccrol!='OTH'" 
				:disabled="model.fremsg.ccrol!='OTH'" 
				:isFieldLabelVisible="false"
				:isLable='false'
				:model="model" :argadr="{title: '', grp: 'fremsg', rol: 'othcc'}" ptytyp="B">
				</c-ptap>
			</c-col>
		</c-col>
	</div>
</template>
<script>
import Api from "~/service/Api";
import event from "../event";
import Default from "../model/default.js";
import check from "../model/check.js";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [event, Default, check],
  data() {
    return {
    };
	},
	watch: {
    "model.fremsg.sndmt": {
      immediate: true,
      handler(val, oldval) {
			 if (val != '59') {
				 this.model.fremsg.tag22d = '';
				 this.model.fremsg.tag23 = '';
				 this.model.fremsg.tag23h = '';
				 this.model.fremsg.tag45d = '';
			 }
      }
    }
	},
  computed: {
    tag20() {
      if (this.model.fremsg.fulmt == "799") {
        return "MT799 Tag20";
      }
      if (this.model.fremsg.fulmt == "499") {
        return "MT499 Tag20";
      }
      if (this.model.fremsg.fulmt == "759") {
        return "MT759 Tag20";
      }
		},
		
		fulmtFilterKey(){
			let filterKey = [];
			if (this.model.fremsg.sndmt === '99'){
				filterKey = ['199','299','799'];
			}else if(this.model.fremsg.sndmt === '59'){
				filterKey = ['199','299','759'];
			}else{
				filterKey = [];
			}
			return filterKey;
		},  

		changeMsgrolSet(){
			if (this.model.fremsg.msgrolSet == undefined || this.model.fremsg.msgrolSet.length == 0) {
				return;
			}
			let filterKey = ['AAA'];
			switch (this.model.fremsg.sndmt) {
				case "AVN":
				case "AVM":
					for (let item of this.model.fremsg.msgrolSet) {
						if (item == "ADA") {
							filterKey.push("ADA");
						}
						let sndmtStr = item.substring(0,2);
						if (sndmtStr == "AP") {
							filterKey.push(item);
						}
					}
					break;
				case "SAN":
					for (let item of this.model.fremsg.msgrolSet) {
						if (item == "BEN") {
							filterKey.push("BEN");
						}
						if (item == "ATB") {
							filterKey.push("ATB");
						}
					}
					break;
				case "95":
				case "96":
					for (let item of this.model.fremsg.msgrolSet) {
					  if ((this.model.gidgrp[item.toLowerCase()] && this.model.gidgrp[item.toLowerCase()].ptytyp === "B") || item == "OTH") {
							filterKey.push(item);
						}
					}
					break;
				default:
					filterKey = this.model.fremsg.msgrolSet;
					break;
			}
			return filterKey;
		},
  },
  methods: {},
  mounted() {
  },
  created: function() {}
};
</script>
<style></style>