<template>
    <div class="eibs-tab">
        <!-- 第1行 -->
        <c-row>
            <c-col :span="8">
                <el-form-item label="业务主键" prop="recgrp.ads.levyno">
                    <c-fullbox>
                        <c-input disabled maxlength="24" placeholder="请输入业务主键"
                                 v-model="model.recgrp.ads.levyno"></c-input>
                        <template slot="footer">
                            <c-button :disabled="disabledGetRef" @click="getRef" size="small"
                                      style="margin: 0 0 0 10px; padding: 0 12px"
                                      type="primary">获取
                            </c-button>
                        </template>
                    </c-fullbox>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="操作类型" prop="recgrp.ads.opertype">
                    <c-select dbCode="OPETYP" disabled placeholder="请输入操作类型"
                              v-model="model.recgrp.ads.opertype"></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 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 @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 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 maxlength="126" 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 placeholder="请输入进口商国家(地区)代码" 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 maxlength="126" 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 placeholder="请输入出口商国家(地区)代码" 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 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 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 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" 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 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 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 maxlength="126" 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 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>

    import {getDecnum, getRef} from "../../../../../../service/business/rmb";

    export default {
        props: ["model", "codes"],
        inject: ["root"],

        computed: {
            disabledGetRef() {
                return this.model.recgrp.ads.banktrano === '' || this.model.recgrp.ads.levyno !== '';
            },
            disabledTransattr() {
                return this.model.recgrp.ads.transtype === '2001';
            },
            disabledImportercode() {
                return this.model.recgrp.ads.impcountrycode !== 'CHN';
            },
            disabledExportercode() {
                return this.model.recgrp.ads.expcountrycode !== 'CHN';
            },
            disabledCreditenddate() {
                return this.model.recgrp.ads.transtype !== '1001';
            },
        },
        data() {
            return {};
        },
        watch: {
            'model.rmbbut.ownextkey': {
                handler(newValue) {
                    getDecnum(newValue).then(response => {
                        if (response.respCode === SUCCESS) {
                            this.model.recgrp.ads.bankorgcode = response.data;
                        }
                    });
                    this.model.recgrp.ads.ownextkey = newValue;
                },
            },
            'model.recgrp.ads.impcountrycode': {
                handler(newValue) {
                    const recgrp = this.model.recgrp;
                    recgrp.ads.importercode = newValue === 'CHN' ? recgrp.ads.importercode : '';
                },
            },
            'model.recgrp.ads.expcountrycode': {
                handler(newValue) {
                    const recgrp = this.model.recgrp;
                    recgrp.ads.exportercode = newValue === 'CHN' ? recgrp.ads.exportercode : '';
                }
            },
        },
        methods: {
            getRef() {
                let data = {
                    rmbtyp: "TDN",
                    banktrano: this.model.recgrp.ads.banktrano
                };
                getRef(data).then(response => {
                    if (response.respCode === SUCCESS) {
                        this.model.recgrp.ads.levyno = response.data
                    } else {
                        this.$notify({
                            title: "失败",
                            message: "获取业务主键失败",
                            type: "error",
                        });
                    }
                });
            },
            handleChange() {
                this.model.recgrp.ads.levyno = '';
            },
            handleTranstypeChange(value) {
                if (value !== '1001') {
                    this.model.recgrp.ads.creditenddate = '';
                }
                if (value === '2001') {
                    this.model.recgrp.ads.transattr = '';
                }
            },
        }

    };
</script>
<style>
</style>