Gitfrep1.vue 11.6 KB
<template>
	<div class="eibs-tab">
		<!-- ======================= 左边 ========================= -->
		<c-col :span="12" style="padding-right: 20px">
			<c-col :span="24">
				<el-form-item :label="$t('getfre.保函编号')" 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" 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('getfre.保函金额')" 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('getfre.保函余额')" 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('getfre.来报目的')" 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('getfre.目的信息')" prop="gidgrp.rec.purpos">
					<c-input disabled v-model="model.gidgrp.rec.purpos" style="width: 100%" placeholder="请选择目的信息">
					</c-input>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('getfre.保函种类')" 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('getfre.到期')" 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('getfre.报文类型')" 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','AVM','REV','AVN','SAN','AME','AOA']">
					</c-select>
				</el-form-item>
			</c-col>

			<c-col :span="24">
				<el-form-item :label="$t('getfre.发报类型')" 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"
					:filterKey="fulmtFilterKey"
					placeholder="请选择发报类型">
					</c-select>
				</el-form-item>
			</c-col>
			<c-col :span="24">
				<el-form-item :label="$t('getfre.标题')" 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('getfre.相关报文')"  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('getfre.保函日期')" prop="fremsg.reldat" :required="['92', '95', '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'" v-model="model.fremsg.reldir" dbCode="reldireng" 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('getfre.详细说明')" prop="fremsg.strinf" v-if="model.fremsg.sndmt!='59'">
					<c-mul-row-input 
						:disabled="!['99','92','95','96','AVM','AVN','SAN'].includes(model.fremsg.sndmt)" 
						:isEn="false" 
						:isRequired="['99','92','95','96','AVM'].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','AVM','AVN','SAN'].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('getfre.申请人')" 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('getfre.受益人')" 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('getfre.账户行')" 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('getfre.保函开立行')" 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('getfre.收报行')" 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"
				:requiredExtkey="true" 
				chooseLanguage="CN"
				:isFieldLabelVisible="false"
				:isLable='false'
				:disabledExtkey="model.fremsg.msgrol!='OTH'" 
				:disabled="model.fremsg.msgrol!='OTH'" 
				:model="model" 
				:argadr="{title: '', grp: 'fremsg', rol: 'othmsg'}" ptytyp="B" >
				</c-ptap>
			</c-col>
			<c-col :span="24">
				<el-form-item :label="$t('getfre.副本的收报行')" 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" 
				:isFieldLabelVisible="false"
				:isLable='false'
				:disabledExtkey="model.fremsg.ccrol!='OTH'" 
				:disabled="model.fremsg.ccrol!='OTH'" 
				:model="model" 
				:argadr="{title: '', grp: 'fremsg', rol: 'othcc'}" ptytyp="B" >
				</c-ptap>
			</c-col>
		</c-col>
	</div>
</template>
<script>
import event from "../event";
import Default from "../model/default";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [event, Default],
  data() {
    return {
	};
  },
	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;
			}
			console.log('filterKey',filterKey);
			return filterKey;
		},
	},
  methods: {},
	mounted() {
	},
  created: function() {}
};
</script>
<style>
</style>