adsovw.vue 11.6 KB
<template>
    <div class="eibs-tab">
        <!-- 第1行 -->
        <c-row>
            <c-col :span="8">
                <el-form-item label="业务主键" prop="recgrp.ads.levyno">
                    <c-input disabled placeholder="请输入业务主键" v-model="model.recgrp.ads.levyno"></c-input>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="操作类型" prop="recgrp.ads.opertype">
                    <c-select :disabled="disabledOpertype" v-model="model.recgrp.ads.opertype">
                        <el-option :key="item.value" :label="item.label" :value="item.value"
                                   v-for="item in opertypeOptions"></el-option>
                    </c-select>
                </el-form-item>
            </c-col>

            <c-col :span="8">
                <el-form-item label="银行机构代码" prop="recgrp.ads.bankorgcode">
                    <c-input disabled placeholder="请输入银行机构代码" v-model="model.recgrp.ads.bankorgcode"/>
                </el-form-item>
            </c-col>

        </c-row>

        <!-- 第2行 -->
        <c-row>
            <c-col :span="8">
                <el-form-item label="委托行银行机构代码" prop="recgrp.ads.entrustbankorgcode">
                    <c-input :disabled="isDisabled" maxlength="12" placeholder="请输入委托行银行机构代码"
                             v-model="model.recgrp.ads.entrustbankorgcode"/>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="业务类型" prop="recgrp.ads.transtype">
                    <c-select :disabled="isDisabled" @change="handleTranstypeChange" dbCode="rmb131"
                              placeholder="请输入业务类型" v-model="model.recgrp.ads.transtype"></c-select>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="业务属性" prop="recgrp.ads.transattr">
                    <c-select :disabled="disabledTransattr" dbCode="rmb121" placeholder="请输入业务属性"
                              v-model="model.recgrp.ads.transattr"></c-select>
                </el-form-item>
            </c-col>
        </c-row>

        <!-- 第3行 -->
        <c-row>
            <c-col :span="8">
                <el-form-item label="境外对手行代码" prop="recgrp.ads.forbankswiftbic">
                    <c-input :disabled="isDisabled" maxlength="11" placeholder="请输入境外对手行代码"
                             v-model="model.recgrp.ads.forbankswiftbic">
                    </c-input>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="进口商名称" prop="recgrp.ads.importername">
                    <c-input :disabled="isDisabled" maxlength="128" placeholder="请输入进口商名称"
                             v-model="model.recgrp.ads.importername"></c-input>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="进口商国家(地区)代码" prop="recgrp.ads.impcountrycode">
                    <c-select-cty :disabled="isDisabled" @change="handleImpcoutrycodeChange"
                                  v-model="model.recgrp.ads.impcountrycode"></c-select-cty>
                </el-form-item>
            </c-col>
        </c-row>

        <!-- 第4行 -->
        <c-row>
            <c-col :span="8">
                <el-form-item label="进口商机构代码" prop="recgrp.ads.importercode">
                    <c-input :disabled="disabledImportercode" placeholder="请输入进口商机构代码"
                             v-model="model.recgrp.ads.importercode"></c-input>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="出口商名称" prop="recgrp.ads.exportername">
                    <c-input :disabled="isDisabled" maxlength="128" placeholder="请输入出口商名称"
                             v-model="model.recgrp.ads.exportername"></c-input>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="出口商国家(地区)代码" prop="recgrp.ads.expcountrycode">
                    <c-select-cty :disabled="isDisabled" @change="handleExpcoutrycodeChange"
                                  v-model="model.recgrp.ads.expcountrycode"></c-select-cty>
                </el-form-item>
            </c-col>

        </c-row>

        <!-- 第5行 -->
        <c-row>

            <c-col :span="8">
                <el-form-item label="出口商机构代码" prop="recgrp.ads.exportercode">
                    <c-input :disabled="disabledExportercode" placeholder="请输入出口商机构代码"
                             v-model="model.recgrp.ads.exportercode"></c-input>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="业务发生日期" prop="recgrp.ads.occurdate">
                    <c-date-picker :disabled="isDisabled" placeholder="请输入业务发生日期" type="date"
                                   v-model="model.recgrp.ads.occurdate"></c-date-picker>
                </el-form-item>
            </c-col>

            <c-col :span="8">
                <el-form-item label="业务到期日" prop="recgrp.ads.enddate">
                    <c-date-picker :disabled="isDisabled" placeholder="请输入业务到期日" type="date"
                                   v-model="model.recgrp.ads.enddate"></c-date-picker>
                </el-form-item>
            </c-col>

        </c-row>

        <!-- 第6行 -->
        <c-row>
            <c-col :span="8">
                <el-form-item label="信用证到期日" prop="recgrp.ads.creditenddate">
                    <c-date-picker :disabled="disabledCreditenddate" placeholder="请输入信用证到期日" type="date"
                                   v-model="model.recgrp.ads.creditenddate"></c-date-picker>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="币种" prop="recgrp.ads.currencycode">
                    <c-select-cur :disabled="isDisabled" dbCode="curtxt" placeholder="请选择币种" sort="SRT"
                                  v-model="model.recgrp.ads.currencycode"></c-select-cur>
                </el-form-item>
            </c-col>

            <c-col :span="8">
                <el-form-item label="金额" prop="recgrp.ads.amt">
                    <c-input-currency :currency="model.recgrp.ads.currencycode" :disabled="isDisabled"
                                      placeholder="请输入金额"
                                      v-model="model.recgrp.ads.amt"></c-input-currency>
                </el-form-item>
            </c-col>
        </c-row>

        <!-- 第7行 -->
        <c-row>
            <c-col :span="8">
                <el-form-item label="期限条件" prop="recgrp.ads.termtype">
                    <c-select :disabled="isDisabled" dbCode="rmbqxt" placeholder="请输入期限条件"
                              v-model="model.recgrp.ads.termtype"></c-select>
                </el-form-item>
            </c-col>

            <c-col :span="8">
                <el-form-item label="银行业务编号" prop="recgrp.ads.banktrano">
                    <c-input :disabled="isDisabled" placeholder="请输入银行业务编号" v-model="model.recgrp.ads.banktrano"/>
                </el-form-item>
            </c-col>
        </c-row>

        <!-- 第12行 -->
        <c-row>
            <c-col>
                <el-form-item label="变更/撤销原因" prop="recgrp.ads.actiondesc">
                    <c-input :disabled="disabledActiondesc" maxlength="128" placeholder="请输入变更/撤销原因" show-word-limit
                             type="textarea"
                             v-model="model.recgrp.ads.actiondesc"></c-input>
                </el-form-item>
            </c-col>
        </c-row>

        <!-- 第13行 -->
        <c-row>
            <c-col>
                <el-form-item label="交易附言" prop="recgrp.ads.addword">
                    <c-input :disabled="isDisabled" maxlength="128" placeholder="请输入交易附言" show-word-limit
                             type="textarea"
                             v-model="model.recgrp.ads.addword"></c-input>
                </el-form-item>
            </c-col>
        </c-row>
    </div>
</template>

<script>
    export default {
        props: ["model", "codes"],
        inject: ["root"],
        computed: {
            isDisabled() {
                return this.model.rmbbut.flg !== 'X';
            },
            disabledOpertype() {
                return this.isDisabled || this.opertypeOptions.length === 3;
            },
            disabledTransattr() {
                return this.isDisabled || this.model.recgrp.ads.transtype === '2001';
            },
            disabledImportercode() {
                return this.isDisabled || this.model.recgrp.ads.impcountrycode !== 'CHN';
            },
            disabledExportercode() {
                return this.isDisabled || this.model.recgrp.ads.expcountrycode !== 'CHN';
            },
            disabledCreditenddate() {
                return this.isDisabled || this.model.recgrp.ads.transtype !== '1001';
            },
            disabledActiondesc() {
                return this.model.rmbbut.flg !== 'X' || this.model.recgrp.ads.opertype === '1';
            },
        },
        data() {
            return {
                opertypeOptions: [
                    {label: "新增", value: "1"},
                    {label: "变更", value: "2"},
                    {label: "撤销", value: "3"}
                ],
            };
        },
        watch: {
            'model.rmbbut.flg': {
                handler(newValue) {
                    if (newValue === "X") {
                        switch (this.model.recgrp.ads.opertype) {
                            case "1":
                            case "2":
                                if (this.model.pblmod.wrkpbl.sta === "8") {
                                    this.opertypeOptions = [{label: "变更", value: "2"}];
                                    this.model.recgrp.ads.opertype = "2";
                                }
                                break;
                            case "3":
                                this.model.recgrp.ads.opertype = "2";
                        }
                    } else {
                        this.opertypeOptions = [
                            {label: "新增", value: "1"},
                            {label: "变更", value: "2"},
                            {label: "撤销", value: "3"}
                        ];
                    }
                },
            },
        },
        methods: {
            handleTranstypeChange(value) {
                if (value !== '1001') {
                    this.model.recgrp.ads.creditenddate = '';
                }
                if (value === '2001') {
                    this.model.recgrp.ads.transattr = '';
                }
            },
            handleImpcoutrycodeChange(value) {
                const recgrp = this.model.recgrp;
                recgrp.ads.importercode = value === 'CHN' ? recgrp.ads.importercode : '';
            },
            handleExpcoutrycodeChange(value) {
                const recgrp = this.model.recgrp;
                recgrp.ads.exportercode = value === 'CHN' ? recgrp.ads.exportercode : '';
            },
        }
    };
</script>
<style>
</style>