<template>
    <div v-loading="loading" element-loading-text="跳转中..." class="car_add">
        <div class="communal-title">
            <div>签证费用资料</div>
        </div>
        <div>
            <el-form :model="addData" :rules="rules" ref="addData" label-width="100px" class="demo-ruleForm">
                <div style="display: flex;">
                    <div style="width: 49%;">
                        <el-form-item label="所在洲" label-width="125px" prop="VisaContinent">
                            <el-input placeholder="所在洲" v-model="addData.VisaContinent">
                            </el-input>
                        </el-form-item>
                    </div>
                    <div style="width: 49%;">
                        <el-form-item label="国家名称" label-width="125px" prop="VisaCountry">
                            <el-input placeholder="国家名称" v-model="addData.VisaCountry">
                            </el-input>
                        </el-form-item>
                    </div>
                </div>
                <div style="display: flex;">
                    <div style="width: 98%;">
                        <el-form-item label="签证地址" label-width="125px" prop="VisaAddress">
                            <el-input placeholder="签证地址" v-model="addData.VisaAddress">
                            </el-input>
                        </el-form-item>
                    </div>
                </div>
                <div style="display: flex;">
                    <div style="width: 25%;">
                        <el-form-item label="签证类型" label-width="125px">
                            <el-select v-model="addData.VisaType" placeholder="请选择签证类型">
                                <el-option key="暂无" label="暂无" value="暂无">
                                </el-option>
                                <el-option key="大公务" label="大公务" value="大公务">
                                </el-option>
                                <el-option key="小公务" label="小公务" value="小公务">
                                </el-option>
                                <el-option key="大小公务同时" label="大小公务同时" value="大小公务同时">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </div>
                    <div style="width: 25%;">
                        <el-form-item label="是否免签" label-width="125px">
                            <el-radio-group v-model="addData.IsVisaExemption">
                                <el-radio :label="0">是</el-radio>
                                <el-radio :label="1">否</el-radio>
                            </el-radio-group>
                        </el-form-item>
                    </div>
                    <div style="width: 25%;">
                        <el-form-item label="是否落地签" label-width="125px">
                            <el-radio-group v-model="addData.IsVisaOnArrival">
                                <el-radio :label="0">是</el-radio>
                                <el-radio :label="1">否</el-radio>
                            </el-radio-group>
                        </el-form-item>
                    </div>
                    <div style="width: 25%;">
                        <el-form-item label="是否电子签" label-width="125px">
                            <el-radio-group v-model="addData.IsElectronicSignature">
                                <el-radio :label="0">是</el-radio>
                                <el-radio :label="1">否</el-radio>
                            </el-radio-group>
                        </el-form-item>
                    </div>
                </div>
                <div style="display: flex;flex-wrap: wrap;">
                    <div style="width: 49%;">
                        <el-form-item label="普通签证时间" label-width="125px" prop="VisaTime">
                            <el-input style="width: 100%;" placeholder="普通签证时间" v-model="addData.VisaTime">
                                <template slot="append">天</template>
                            </el-input>
                        </el-form-item>
                    </div>
                    <div style="width: 49%;">
                        <el-form-item label="签证费用" label-width="125px" prop="VisaPrice">
                            <el-input-number style="width:100%" v-model="addData.VisaPrice" auto-complete="off"
                                :precision="2" :controls="false"></el-input-number>
                            <!-- <el-input placeholder="签证费用" v-model="addData.VisaPrice">
                                <template slot="append">元</template>
                            </el-input> -->
                        </el-form-item>
                    </div>
                    <div style="width: 49%;">
                        <el-form-item label="大公务代办费 " label-width="125px">
                            <el-input-number style="width:100%" v-model="addData.grandBusinessAgencyFee" auto-complete="off"
                                :precision="2" :controls="false"></el-input-number>
                           
                        </el-form-item>
                    </div>
                    <div style="width: 49%;">
                        <el-form-item label="小公务代办费" label-width="125px">
                            <el-input-number style="width:100%" v-model="addData.pettyBusinessAgencyFee" auto-complete="off"
                                :precision="2" :controls="false"></el-input-number>
                        </el-form-item>
                    </div>
                </div>
                <div style="display: flex;">
                    <div style="width: 98%;">
                        <el-form-item label="签证价格描述" label-width="125px" prop="VisaPriceDesc">
                            <el-input type="textarea" :rows="3" placeholder="签证价格描述"
                                v-model="addData.VisaPriceDesc"></el-input>
                        </el-form-item>
                    </div>
                </div>

                <div style="display: flex;">
                    <div style="width: 49%;">
                        <el-form-item label="加急签证时间" label-width="125px" prop="UrgentTime">
                            <el-input  style="width: 100%;" placeholder="加急签证时间" v-model="addData.UrgentTime">
                                <template slot="append">天</template>
                            </el-input>
                        </el-form-item>
                    </div>
                    <div style="width: 49%;">
                        <el-form-item label="加急签证费用" label-width="125px" prop="UrgentPrice">
                            <el-input-number style="width:100%" v-model="addData.UrgentPrice" auto-complete="off"
                                :precision="2" :controls="false"></el-input-number>
                        </el-form-item>
                    </div>
                </div>
                <div style="display: flex;">
                    <div style="width: 98%;">
                        <el-form-item label="加急签证价格描述" label-width="125px" prop="UrgentPriceDesc">
                            <el-input type="textarea" :rows="3" placeholder="加急签证价格描述"
                                v-model="addData.UrgentPriceDesc"></el-input>
                        </el-form-item>
                    </div>
                </div>
                <div style="display: flex;">
                    <div style="width: 98%;">
                        <el-form-item label="签证备注" label-width="125px" prop="Remark">
                            <el-input type="textarea" :rows="3" placeholder="签证备注" v-model="addData.Remark"></el-input>
                        </el-form-item>
                    </div>
                </div>

                <el-form-item>
                    <div style="margin-left: 60%;">
                        <el-button type="primary" @click="addBtn">保存</el-button>
                        <router-link to='/home/CountryFeeCost'>
                            <el-button>取消</el-button>
                        </router-link>
                    </div>
                </el-form-item>
            </el-form>
        </div>
    </div>
</template>
<script>
export default {
    data() {
        return {
            rules: {
                VisaContinent: [
                    { required: true, message: '请输入所属洲', trigger: 'blur' },
                ],
                VisaCountry: [
                    { required: true, message: '请输入国家', trigger: 'blur' },
                ],
                grandBusinessAgencyFee: [
                    { required: true, message: '大公务代办费不能为空', trigger: 'blur' },
                ],
                pettyBusinessAgencyFee: [
                    { required: true, message: '小公务代办费不能为空', trigger: 'blur' },
                ],
                VisaPrice: [
                    { required: true, message: '签证金额不能为空', trigger: 'blur' },
                    { pattern: /^(([1-9]?\d{0,8}(\.\d{1,2})?)|999999999|999999999\.(0){1,2})$/, message: '请输入正确的金额(最多2位小数)' }
                ],
                VisaTime: [
                    { required: true, message: '签证时间不能为空', trigger: 'blur' },
                    {
                        pattern: '^([0-9][0-9]*)?$',
                        message: "请正确的输入天数",
                        trigger: "blur"
                    }
                ],
                UrgentPrice: [
                    { required: true, message: '加急签证金额不能为空', trigger: 'blur' },

                    { pattern: /^(([1-9]?\d{0,8}(\.\d{1,2})?)|999999999|999999999\.(0){1,2})$/, message: '请输入正确的金额(最多2位小数)' }
                ],
                UrgentTime: [
                    { required: true, message: '加急签证时间不能为空', trigger: 'blur' },
                    {
                        pattern: '^([0-9][0-9]*)?$',
                        message: "请正确的输入天数",
                        trigger: "blur"
                    }
                ],
            },
            loading: false,
            tableData: [],
            currentPage: 1, // 当前页码
            pageSize: 15,// 每页的数据条数
            input: '',
            token: '',
            userId: 0,
            addData: {
                Status: 0,
                Id: 0,
                VisaContinent: '',
                VisaCountry: '',
                IsVisaExemption: 1,
                IsVisaOnArrival: 1,
                IsElectronicSignature: 1,
                VisaPrice: 0,
                VisaPriceDesc: '',
                VisaType: '',
                grandBusinessAgencyFee:0,
                pettyBusinessAgencyFee:0,
                VisaTime: '0',
                IsUrgent: 1,
                UrgentTime: '0',
                UrgentPrice: 0,
                UrgentPriceDesc: '',
                VisaAddress: '',
                CreateUserId: 0,
                Remark: ''
            },
            CountryFeeCostData: {}

        }
    },
    methods: {
        CountryFeeCost() {
            this.loading = true
            var url = "/api/Resource/QueryCountryFeeCost"
            var that = this
            that.addData.CreateUserId = that.userId
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data: {
                    portType: 1,
                }
            }).then(function (res) {
                console.log(res)

                if (res.data.code == 200) {
                    that.tableData = res.data.data;
                    that.addData.Id = that.$route.query.id;
                    if (that.addData.Id == undefined || that.addData.Id == null) {
                        //添加
                        that.addData.Status = 1
                    } else {
                        //编辑
                        that.upData();
                    }
                }
                that.loading = false
            }).catch(function (error) {
                that.loading = false
                that.$message.error("网络错误，请稍后重试");
            });
        },

        addBtn() {
            const that = this;

            that.addData.CreateUserId = that.userId
            that.$refs.addData.validate((valid) => {
                if (valid) {

                    console.log(that.addData)
                    var url = "/api/Resource/OperationCountryFeeCost"
                    that.$axios({
                        method: 'post',
                        url: url,
                        headers: {
                            Authorization: 'Bearer ' + that.token
                        },
                        data: that.addData
                    }).then(function (res) {
                        console.log(res)

                        if (res.data.code == 200) {
                            that.$message({
                                message: res.data.msg,
                                type: 'success'
                            });
                            that.loading = true;
                            setTimeout(() => {
                                that.$router.push('/home/CountryFeeCost')
                            }, 3000);
                        } else {
                            that.$message.error(res.data.msg);
                        }
                    })
                } else {
                    this.$message.error('请完善信息在保存！');
                    return false;
                }
            })
        },
        upData() {
            for (var i = 0; i < this.tableData.length; i++) {
                if (this.tableData[i].id == parseInt(this.addData.Id)) {

                    this.CountryFeeCostData = this.tableData[i];
                    break;
                }
            }
            this.addData.Status = 2;
            this.addData.Id = this.CountryFeeCostData.id;
            this.addData.VisaContinent = this.CountryFeeCostData.visaContinent;
            this.addData.VisaCountry = this.CountryFeeCostData.visaCountry;
            this.addData.IsVisaExemption = this.CountryFeeCostData.isVisaExemption;
            this.addData.IsVisaOnArrival = this.CountryFeeCostData.isVisaOnArrival;
            this.addData.IsElectronicSignature = this.CountryFeeCostData.isElectronicSignature;
            this.addData.VisaPrice = this.CountryFeeCostData.visaPrice;
            this.addData.VisaPriceDesc = this.CountryFeeCostData.visaPriceDesc;
            this.addData.VisaType = this.CountryFeeCostData.visaType;
            this.addData.grandBusinessAgencyFee = this.CountryFeeCostData.grandBusinessAgencyFee;
            this.addData.pettyBusinessAgencyFee = this.CountryFeeCostData.pettyBusinessAgencyFee;
            this.addData.VisaTime = this.CountryFeeCostData.visaTime;
            this.addData.UrgentTime = this.CountryFeeCostData.urgentTime;
            if (this.addData.UrgentTime != "" && this.addData.UrgentTime != 0 && this.addData.UrgentTime != null) {
                this.addData.IsUrgent = "0";
            }
            this.addData.UrgentPrice = this.CountryFeeCostData.urgentPrice;
            this.addData.UrgentPriceDesc = this.CountryFeeCostData.urgentPriceDesc;
            this.addData.VisaAddress = this.CountryFeeCostData.visaAddress;
            this.addData.CreateUserId = this.CountryFeeCostData.createUserId;
            this.addData.Remark = this.CountryFeeCostData.remark;
        },
    },

    mounted() {

        this.token = JSON.parse(localStorage.getItem('userinif')).token;
        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
        this.CountryFeeCost();

    }
}
</script>
<style>
.communal-list {
    background-color: #fff;
    padding: 10px;
    box-shadow: 0 0 5px #0005;
    border-radius: 10px;
    
}

.car_add .communal-title {
    display: flex;
    font-size: 17px;
    font-weight: 600;
    color: #555;
    margin-bottom: 20px;
    justify-content: space-between;
    align-items: center;
}

.appraise-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 50px 0;
}

.appraise-box>div {
    width: 30%;
}

.communal-box {
    display: flex;
}

.communal-box>button {
    margin-left: 10px;
    padding: 8px 20px;
}

.car_add {
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 0 5px #0005;
    border-radius: 10px;
}

.el-input-group {
    line-height: normal;
    display: inline-table;
    width: 90%;
    border-collapse: separate;
    border-spacing: 0;
}


@media screen and (max-width: 1700px) {
    .appraise-box>div {
        width: 48%;
    }

    .appraise-box>div el-form-item__content {
        width: 260px !important;
    }
}
</style>
