<template>
    <div>
        <el-dialog :close-on-click-modal="false" title="批量户" :visible.sync="isVisible" width="72%" @close="close"
            :modal-append-to-body="false">
            <div>
                <table border="1">
                    <tr>
                        <td colspan="2" class="tdright">建筑面积(㎡)</td>
                        <td colspan="4"><input type="text" v-model="form.jzmj" class="inputtitle" /></td>
                        <td colspan="2" class="tdright">套内建筑面积(㎡)</td>
                        <td colspan="4"><input type="text" v-model="form.tnjzmj" class="inputtitle" /></td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">分摊建筑面积(㎡)</td>
                        <td colspan="4"><input type="text" v-model="form.ftjzmj" class="inputtitle" /></td>
                        <td colspan="2" class="tdright">地下部分建筑面积(㎡)</td>
                        <td colspan="4"><input type="text" v-model="form.dxbfjzmj" class="inputtitle" /></td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">其他建筑面积(㎡)</td>
                        <td colspan="4"><input type="text" v-model="form.qtjzmj" class="inputtitle" /></td>
                        <td colspan="2" class="tdright">分摊系数</td>
                        <td colspan="4"><input type="number" @blur="inputBlur($event)" ref="ftxs" v-model="form.ftxs"
                                class="inputtitle" /></td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">户型</td>
                        <td colspan="4">
                            <el-select class="selectTitle" v-model="form.hxbsm">
                                <el-option v-for="i in $store.state.hxList" :key="i.bsm" :label="i.mc" :value="i.bsm">
                                </el-option>
                            </el-select>
                        </td>
                        <td colspan="2" class="tdright">户型结构</td>
                        <td colspan="4">
                            <el-select class="selectTitle" v-model="form.hxjgbsm">
                                <el-option v-for="i in $store.state.hxjgList" :key="i.bsm" :label="i.mc" :value="i.bsm">
                                </el-option>
                            </el-select>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">共有土地面积(㎡)</td>
                        <td colspan="4"><input type="text" class="inputtitle" v-model="form.gytdmj" /></td>
                        <td colspan="2" class="tdright">分摊土地面积(㎡)</td>
                        <td colspan="4"><input type="text" class="inputtitle" v-model="form.fttdmj" /></td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">独有土地面积(㎡)</td>
                        <td colspan="4"><input type="text" class="inputtitle" v-model="form.dytdmj" /></td>
                        <td colspan="2" class="tdright">房屋类型</td>
                        <td colspan="4">
                            <el-select class="selectTitle" v-model="form.fwlxbsm">
                                <el-option v-for="i in $store.state.fwlxList" :key="i.bsm" :label="i.mc" :value="i.bsm">
                                </el-option>
                            </el-select>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">产别</td>
                        <td colspan="4">
                            <el-select class="selectTitle" v-model="form.fwcbbsm">
                                <el-option v-for="i in $store.state.cbOptions" :key="i.bsm" :label="i.mc"
                                    :value="i.bsm"></el-option>
                            </el-select>
                        </td>
                        <td colspan="2" class="tdright">产权来源</td>
                        <td colspan="4">
                            <el-select class="selectTitle" v-model="form.fwcqlybsm">
                                <el-option v-for="i in $store.state.cqlyOptions" :key="i.bsm" :label="i.mc"
                                    :value="i.bsm"></el-option>
                            </el-select>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">房屋性质</td>
                        <td colspan="4">
                            <el-select class="selectTitle" v-model="form.fwxzbsm">
                                <el-option v-for="i in $store.state.fwxzOptions" :key="i.bsm" :label="i.mc"
                                    :value="i.bsm"></el-option>
                            </el-select>
                        </td>
                        <td colspan="2"></td>
                        <td colspan="4"></td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">东墙体归属</td>
                        <td colspan="4"><input type="text" class="inputtitle" v-model="form.dqtgs" /></td>
                        <td colspan="2" class="tdright">南墙体归属</td>
                        <td colspan="4"><input type="text" class="inputtitle" v-model="form.nqtgs" /></td>
                    </tr>
                    <tr>
                        <td colspan="2" class="tdright">西墙体归属</td>
                        <td colspan="4"><input type="text" class="inputtitle" v-model="form.xqtgs" /></td>
                        <td colspan="2" class="tdright">北墙体归属</td>
                        <td colspan="4"><input type="text" class="inputtitle" v-model="form.bqtgs" /></td>
                    </tr>

                    <tr height="30" v-for="(item1, index) in form.fwytList" :key="index">
                        <td v-if="index === 0" colspan="2" :rowspan="ytTitleRowspan" align="center" id="ytTitle"
                            class="tdright">
                            <i class="iconfont iconicon-test2" style="margin-right: 8px;color:#66b1ff;font-size:30px"
                                @click="addYtInfo"></i>
                            <span>房屋用途</span>
                        </td>

                        <td width="30" colspan="1" align="center" class="tdright">
                            <i class="iconfont iconicon-test" style="color:#FA6400;font-size:30px"
                                @click="deleteYtInfo(index)"></i>
                            规划用途
                        </td>
                        <td width="30" colspan="3" align="center">
                            <el-select-tree style="width:100%" v-if="show" :default-expand-all="defaultExpandAll"
                                :multiple="multiple" :placeholder="placeholder" :disabled="disabled"
                                :data="$store.state.fwytList" :props="treeProps" :check-strictly="checkStrictly"
                                :clearable="clearable" v-model="item1.fwytzdbsm"></el-select-tree>
                        </td>
                        <td width="30" colspan="2" align="center" class="tdright">用途</td>
                        <td width="30" colspan="4" align="center">
                            <el-select-tree style="width:100%" v-if="show" :default-expand-all="defaultExpandAll"
                                :multiple="multiple" :placeholder="placeholder" :disabled="disabled"
                                :data="$store.state.fwytList" :props="treeProps" :check-strictly="checkStrictly"
                                :clearable="clearable" v-model="item1.fwsjytbsm"></el-select-tree>
                        </td>
                    </tr>

                    <tr height="30" v-for="(item1, index) in form.fwjgList" :key="'jg' + index">
                        <td colspan="2" v-if="index === 0" :rowspan="fwjgTitleRowspan" align="center" class="tdright">
                            <i class="iconfont iconicon-test2" style="margin-right: 8px;color:#66b1ff;font-size:30px"
                                @click="addFwjgInfo"></i>
                            <span>房屋结构</span>
                        </td>
                        <td colspan="1" align="center">
                            <i class="iconfont iconicon-test" style="margin-right: 8px;color:#FA6400;font-size:30px"
                                @click="deleteFwjgInfo(index)"></i>
                            <span>房屋结构</span>
                        </td>
                        <td colspan="9">
                            <el-select style="width:100%" v-model="item1.fwjgzdbsm" placeholder="请选择">
                                <el-option v-for="item in  $store.state.jgOptions" :key="item.bsm" :label="item.mc"
                                    :value="item.bsm">
                                </el-option>
                            </el-select>
                        </td>
                    </tr>

                    <tr>
                        <td colspan="12" align="center">
                            <Qlxz ref="qlxzModule" :hasSyqx='false' :formData="form"></Qlxz>
                        </td>
                    </tr>

                </table>
            </div>
            <div class="shop">
                <el-button type="primary" @click="save">保存</el-button>
                <el-button type="primary" @click="reset" icon="el-icon-refresh">重置</el-button>
                <el-button type="primary" @click="cancel">取消</el-button>
            </div>
        </el-dialog>
    </div>
</template>

<script>
import Qlxz from "@/components/formMenu/qlxz";
// import { batchUpdateQjH } from "@api/h";
export default {
    name: "plH",
    components: {
        Qlxz
    },
    props: {
        bsms: {
            type: Array
        },
        plhVisible: {
            type: Boolean,
            default: false
        }
    },
    data () {
        return {
            //树型结构
            show: true,
            clearable: true,
            defaultExpandAll: true,
            multiple: false,
            placeholder: '请选择',
            disabled: false,
            checkStrictly: true,
            treeProps: {
                value: 'bsm',
                children: 'children',
                label: 'mc'
            },
            form: {
                qszt: '0',
                jzmj: '',
                tnjzmj: '',
                ftjzmj: '',
                dxbfjzmj: '',
                qtjzmj: '',
                ftxs: '',
                hxbsm: '',
                hxjgbsm: '',
                gytdmj: '',
                fttdmj: '',
                dytdmj: '',
                fwlxbsm: '',
                fwcbbsm: '',
                fwcqlybsm: '',
                fwxzbsm: '',
                dqtgs: '',
                nqtgs: '',
                xqtgs: '',
                bqtgs: '',
                fwjgbsm: '',
                fwytList: [{
                    glbsm: '',     //关联标识码
                    fwytzdbsm: '',  //房屋用途字典标识码
                    sx: '',         //顺序
                    fwsjytbsm: '',  //房屋实际用途字典标识码
                }],
                fwjgList: [{
                    fwjgzdbsm: '',  //房屋结构字典标识码
                    glbsm: '',     //关联标识码
                    sx: '',         //顺序
                }],
                qlxzList: [{
                    qlxzdm: '',  //权利性质代码
                    glbsm: '',  //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
                    qlxzzdbsm: '',  //权利性质字典表标识码
                    qlxzmc: '',   //权利名称名称
                    zhqlxzlx: '',  //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
                    addQjTdytRequestList: [{
                    }],   //土地用途新增实体列表
                }]
            },
            isVisible: false,
            hx: [{
                label: '一居室',
                key: '1',
                value: '一居室'
            }, {
                label: '二居室',
                key: '2',
                value: '二居室'
            }, {
                label: '三居室',
                key: '3',
                value: '三居室'
            }
            ],
            ytTitleRowspan: 1,  //用途的单元格垂直合并数量
            fwjgTitleRowspan: 1,  //房屋结构的单元格垂直合并数量
        }
    },
    methods: {

        inputBlur (e) {
            if (e.target.value !== '' && +e.target.value > 0 && +e.target.value < 10) {
                e.target.style.border = ""
            } else {
                e.target.style.border = "1px solid red";
                e.target.style.boxSizing = 'border-box';
            }
        },

        lodding: function () {
            this.$emit('lodding')
        },
        addYtInfo () {
            this.form.fwytList.push({
                glbsm: '',
                fwytzdbsm: '',
                fwsjytbsm: '',
                sx: '',
            });
            this.ytTitleRowspan = this.form.fwytList.length;
        },
        deleteYtInfo (index) {
            if (this.form.fwytList.length <= 1) {
                this.$message({
                    message: '不能删除,最少含有一条用途信息',
                    type: 'warning'
                });
            } else {
                this.form.fwytList.splice(index, 1);
                this.ytTitleRowspan = this.form.fwytList.length;
            }
        },
        addFwjgInfo () {
            this.form.fwjgList.push({
                fwjgzdbsm: '',  //房屋结构字典标识码
                glbsm: '',     //关联标识码
                sx: '',         //顺序
            });
            this.fwjgTitleRowspan = this.form.fwjgList.length;
        },
        deleteFwjgInfo (index) {
            if (this.form.fwjgList.length <= 1) {
                this.$message({
                    message: '不能删除,最少含有一条房屋结构信息',
                    type: 'warning'
                });
            } else {
                this.form.fwjgList.splice(index, 1);
                this.fwjgTitleRowspan = this.form.fwjgList.length;
            }
        },
        close: function () {
            this.$emit('close')
            this.isVisible = false
            this.reset()
        },
        reset: function () {
            this.form = {
                qszt: '0',
                jzmj: '',
                tnjzmj: '',
                ftjzmj: '',
                dxbfjzmj: '',
                qtjzmj: '',
                ftxs: '',
                hxbsm: '',
                hxjgbsm: '',
                gytdmj: '',
                fttdmj: '',
                dytdmj: '',
                fwlxbsm: '',
                fwcbbsm: '',
                fwcqlybsm: '',
                fwxzbsm: '',
                dqtgs: '',
                nqtgs: '',
                xqtgs: '',
                bqtgs: '',
                fwjgbsm: '',
                fwytList: [{
                    glbsm: '',     //关联标识码
                    fwytzdbsm: '',  //房屋用途字典标识码
                    sx: '',         //顺序
                    fwsjytbsm: '',  //房屋实际用途字典标识码
                }],
                fwjgList: [{
                    fwjgzdbsm: '',  //房屋结构字典标识码
                    glbsm: '',     //关联标识码
                    sx: '',         //顺序
                }],
                qlxzList: [{
                    qlxzdm: '',  //权利性质代码
                    glbsm: '',  //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
                    qlxzzdbsm: '',  //权利性质字典表标识码
                    qlxzmc: '',   //权利名称名称
                    zhqlxzlx: '',  //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
                    addQjTdytRequestList: [{
                    }],   //土地用途新增实体列表
                }]
            };
            this.$refs.qlxzModule.reset();
            this.ytTitleRowspan = 1; //用途的单元格垂直合并数量
            this.fwjgTitleRowspan = 1; //房屋结构的单元格垂直合并数量
        },
        save: function () {

            this.rules = [
                {
                    data: this.form.ftxs,
                    name: '分摊系数',
                    dom: this.$refs.ftxs,
                    rule: /^(?!0(\.0{1,2})?$)(\d(\.\d{1,2})?)$/, //大于0小于10的所有保留两位的数字
                },
            ];
            let flag = true;
            this.rules.forEach(item => {
                if (item.data !== "") {
                    if (!item.rule.test(+item.data) || item.data == null) {
                        if (item.dom.$el) {
                            item.dom.$el.style.border = '1px solid red';
                            item.dom.$el.style.boxSizing = 'border-box';
                        } else {
                            item.dom.style.border = '1px solid red';
                            item.dom.style.boxSizing = 'border-box';
                        }
                        flag = false;
                        return false
                    }
                }
            })

            this.form['hbsms'] = this.bsms
            this.form.qlxzList = this.$refs.qlxzModule.getQlxzDataList();
            this.$nextTick(() => {
                if (flag) {
                    for (let i = 0; i < this.form.fwjgList.length; i++) {
                        if (this.form.fwjgList[i].fwjgzdbsm === '') {
                            this.form.fwjgList.splice(i, 1);
                        }
                    }
                    for (let i = 0; i < this.form.fwytList.length; i++) {
                        if (this.form.fwytList[i].fwsjytbsm === '') {
                            this.form.fwytList.splice(i, 1);
                        }
                    }
                    for (let i = 0; i < this.form.qlxzList.length; i++) {
                        if (this.form.qlxzList[i].qlxzdm === '') {
                            this.form.qlxzList.splice(i, 1);
                        }
                    }
                    console.log("批量户信息")
                    // batchUpdateQjH(this.form).then((res) => {
                    //     if (res.code === 200) {
                    //         this.lodding()
                    //         this.$message.success("保存成功!")
                    //         this.$nextTick(() => {
                    //             this.reset();
                    //         })
                    //         this.close();
                    //     } else {
                    //         this.$message.error(res.message)
                    //     }
                    // })
                } else {
                    this.$message({
                        // message: item.name+'不能为空',
                        message: '表单数据有误',
                        type: "warning",
                    });
                }
            })
        },
        cancel: function () {
            this.close()
        }
    },
    mounted () {

    },
    watch: {
        plhVisible (val) {
            this.isVisible = val
        }
    }
}
</script>

<style scoped>
table {
    margin-top: 10px;
    background-color: #fff;
    font-size: 14px;
    width: 100%;
    table-layout: fixed;
}

td {
    text-align: center;
    height: 36px;
    min-width: 60px;
}

table:hover {
    cursor: pointer;
}

.inputtitle {
    line-height: 40px;
    width: 95%;
    border: none;
    outline: none;
    height: 95%;
}

.selectTitle {
    width: 100%;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    position: relative;
    display: block;
}

.shop {
    text-align: center;
    margin-top: 20px;
}

/deep/.el-input__inner {
    width: 100%;
    border: 0;
}
</style>