<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 placeholder="请输入业务主键" v-model="model.recgrp.ads.levyno"></c-input>
                    </c-fullbox>
                </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>

        <c-row>
            <c-col :span="8">
                <el-form-item label="收款人账号" prop="recgrp.ads.payeeacct">
                    <c-input :disabled="isDisabled" placeholder="请输入收款人账号" maxlength="32" v-model="model.recgrp.ads.payeeacct"/>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="付款人常驻国家(地区)代码" prop="recgrp.ads.payercountrycode">
                    <c-select-cty :disabled="isDisabled" placeholder="请输入付款人常驻国家(地区)代码" v-model="model.recgrp.ads.payercountrycode"></c-select-cty>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="付款人账户类型" prop="recgrp.ads.payeraccttype">
                    <c-select :disabled="isDisabled" dbCode="payeea" placeholder="请输入付款人账户类型"
                              v-model="model.recgrp.ads.payeraccttype"></c-select>
                </el-form-item>
            </c-col>
        </c-row>

        <!-- 第4行 -->
        <c-row>
            
            <c-col :span="8">
                <el-form-item label="付款人账号" prop="recgrp.ads.payeracct">
                    <c-input :disabled="isDisabled" placeholder="请输入付款人账号" maxlength="32" v-model="model.recgrp.ads.payeracct"></c-input>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="是否退款" prop="recgrp.ads.ifrefund">
                    <c-select :disabled="disablesta" dbCode="cxmflg" placeholder="请输入是否退款" v-model="model.recgrp.ads.ifrefund"></c-select>
                </el-form-item>
            </c-col>
            <c-col :span="8">
                <el-form-item label="原支出申报号码" prop="recgrp.ads.oripaylevyno">
                    <c-input :disabled="disablesta" placeholder="请输入原支出申报号码" v-model="model.recgrp.ads.oripaylevyno"></c-input>
                </el-form-item>
            </c-col>
        </c-row>

        <!-- 第8行 -->
        <c-row>
            <c-col :span="8">
                <el-form-item label="银行业务编号" prop="recgrp.ads.banktrano">
                    <c-input disabled placeholder="请输入银行业务编号" maxlength="16" v-model="model.recgrp.ads.banktrano"/>
                </el-form-item>
            </c-col>
        </c-row>
        <c-row>
			<c-col>
				<el-form-item label="变更/撤销原因" prop="recgrp.ads.actiondesc">
					<c-input maxlength="128" :disabled="disabledActiondesc" placeholder="请输入变更/撤销原因" show-word-limit type="textarea"
							 v-model="model.recgrp.ads.actiondesc"></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;
            },
            disabledFlg() {
                if(this.model.rmbbut.flg === 'X'){
                    return this.model.recgrp.ads.ifrefund !== "Y";
                }
            },
            disabledActiondesc() {
                return this.model.rmbbut.flg !== 'X' || this.model.recgrp.ads.opertype === '1';
            },
            disablesta() {
                if(this.model.pblmod.wrkpbl.sta === "8"){
                    return true;
                }
                if(this.model.pblmod.wrkpbl.sta === "0"){
                    return false;
                }
            },
        },
        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"}
                        ];
                    }
                },
            },
            
        },
        data() {
            return {
                opertypeOptions: [
                    {label: "新增", value: "1"},
                    {label: "变更", value: "2"},
                    {label: "撤销", value: "3"}
                ],
            };
        },
        methods: {}
    };
</script>
<style>
    .el-form-item__label {
        padding: 0 0 0 20px;
        line-height: 20px !important;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
</style>