<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="所在城市" prop="City">
                            <el-input placeholder="所在城市" v-model="addData.City">
                            </el-input>
                        </el-form-item>
                    </div>
                    <div style="width: 49%;">
                        <el-form-item label="酒店名称" prop="Name">
                            <el-input placeholder="酒店名称" v-model="addData.Name">
                            </el-input>
                        </el-form-item>
                    </div>
                </div>
                <div style="display: flex;">
                    <div style="width: 49%;">
                        <el-form-item label="酒店电话" prop="Tel">
                            <el-input placeholder="酒店电话" v-model="addData.Tel">
                            </el-input>
                        </el-form-item>
                    </div>

                    <div style="width: 49%;">
                        <el-form-item label="酒店传真" prop="Fax">
                            <el-input placeholder="酒店传真" v-model="addData.Fax">
                            </el-input>
                        </el-form-item>
                    </div>
                </div>
                <div style="display: flex;">
                    <div style="width: 49%;">
                        <el-form-item label="酒店星级" prop="Level">
                            <el-select v-model="addData.Level" filterable placeholder="酒店星级" style="width: 100%;">
                                <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-option key="★★★★★" label="★★★★★" value="★★★★★">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </div>
                    <div style="width: 49%;">
                        <el-form-item label="酒店地址" prop="Address">
                            <el-input placeholder="酒店地址" v-model="addData.Address">
                            </el-input>
                        </el-form-item>
                    </div>
                </div>
                <div style="display :flex;">
                    <div style="width: 49%;">
                        <el-form-item label="联系人" prop="Contact">
                            <el-input placeholder="联系人" v-model="addData.Contact">
                            </el-input>
                        </el-form-item>
                    </div>
                    <div style="width: 49%;">
                        <el-form-item label="联系人电话" prop="ContactPhone">
                            <el-input placeholder="联系人电话" v-model="addData.ContactPhone">
                            </el-input>
                        </el-form-item>
                    </div>

                </div>
                <div style="display: flex;">
                    <div style="width: 98%;">
                        <el-form-item label="备注" 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/HotelData'>
                            <el-button>取消</el-button>
                        </router-link>
                    </div>
                </el-form-item>
            </el-form>
        </div>
    </div>
</template>
<script>
export default {
    data() {
        return {
            rules: {
                Name: [
                    { required: true, message: '请输入酒店名称', trigger: 'blur' },
                ],
                Tel: [
                    { required: true, message: '请输入酒店电话', trigger: 'blur' },
                ],
                City: [
                    { required: true, message: '请输入城市', trigger: 'blur' },
                ],
                Level: [
                    { required: true, message: '请选择酒店星级', trigger: 'blur' },

                ],
                Contact: [
                    { required: true, message: '请输入酒店联系人', trigger: 'blur' },
                ],
                ContactPhone: [
                    { required: true, message: '请输入联系人的联系方式', trigger: 'blur' },
                ],
                Address: [
                    { required: true, message: '请输入酒店地址', trigger: 'blur' },
                ]
            },
            loading: false,
            tableData: [],
            currentPage: 1, // 当前页码
            pageSize: 15,// 每页的数据条数
            input: '',
            token: '',
            userId: 0,
            addData: {
                Statu: '',
                Id: 0,
                City: '',
                Name: '',
                Level: '',
                Address: '',
                Tel: '',
                Fax: '',
                Contact: '',
                ContactPhone: '',
                OtherInformation: '',
                CreateUserId: '',
                Remark: '',
            },
            HotelDataData: {}

        }
    },
    methods: {
        HotelData() {
            this.loading = true
            var url = "/api/Resource/QueryHotelData"
            var that = this
            this.$axios({
                method: 'post',
                url: url,
                headers: {
                    Authorization: 'Bearer ' + this.token
                },
                data: {
                    portType: 1,
                    PageIndex: 0,
                    PageSize: 0,
                    City: '',
                    Name: '',
                    Contact: '',
                    ContactPhone: '',
                }
            }).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/OperationHotelData"
                    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/HotelData')
                            }, 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.HotelDataData = this.tableData[i];
                    break;
                }
            }
            this.addData.Status = 2;
            this.addData.Id = this.HotelDataData.id;
            this.addData.City = this.HotelDataData.city;
            this.addData.Name = this.HotelDataData.name;
            this.addData.Level = this.HotelDataData.level;
            this.addData.Address = this.HotelDataData.address;
            this.addData.Tel = this.HotelDataData.tel;
            this.addData.Fax = this.HotelDataData.fax;
            this.addData.Contact = this.HotelDataData.contact;
            this.addData.ContactPhone = this.HotelDataData.contactPhone;
            this.addData.OtherInformation = this.HotelDataData.otherInformation;
            this.addData.CreateUserId = this.HotelDataData.createUserId;
            this.addData.Remark = this.HotelDataData.remark;
        },
    },

    mounted() {

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

    }
}
</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;
}

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

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