<template>
    <div class="h content-form"  ref="mainBox" :class="$route.path == '/h' ? 'hpage':''"  :style="{'height': $route.path == '/h' ? '100%' : formHeight+'px'}">
        <el-form ref="form" :model="form" label-width="160px" class="form">
            <Qlr ref="qlrxxModule" :bsm='bsm' :qszt="form.qszt" :type="lx"></Qlr>
            <table border="1" width="100%" cellspacing="0" cellpadding="0" class="hTable">
                <tbody>
                <tr height="30">
                    <th colspan="12" align="center"  ><font size="4">户基本信息</font></th>
                </tr>
                <tr height="30">
                    <td  colspan="2" align="center"  >宗地代码<i class="requisite">*</i></td>
                    <td  colspan="4"  >
                        <el-input v-model="form.zddm" disabled></el-input>
                    </td>
                    <td  colspan="2" align="center"  >自然幢号<i class="requisite">*</i></td>
                    <td  colspan="4"  >
                        <el-input v-model="form.zrzh" disabled></el-input>
                    </td>
                </tr>
                <tr height="30">
                    <td  colspan="2" align="center"  >不动产单元号<i class="requisite">*</i></td>
                    <!-- todo 此处暂时存放的是不动产单元号标识码,而不是不动产单元号-->
                    <td  colspan="4" class="psr">
                        <el-input v-model="form.bdcdyh" class="percent80" :disabled="disableFlag" ref="bdcdyh"></el-input>
                        <el-button @click.prevent="generatorCode" size="mini" class="createBtn" type="warning" :disabled="disableFlag">生成</el-button>
                    </td>
<!--                    <td  colspan="2" align="center"  >原不动产单元</td>-->
<!--                    <td  colspan="4"  >-->
<!--                        <el-input v-model="form.ydybsm" disabled></el-input>-->
<!--                    </td>-->
                    <td   colspan="2" align="center"  >
                        <span>坐落<i class="requisite">*</i></span>
                    </td>
                    <td   colspan="4"  >
                        <input class="formInput" v-model="form.zl" ref="zl" @blur="inputBlur($event)" :disabled="disableFlag" />
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" align="center"  >逻辑幢号</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.ljzh" disabled></el-input>
                    </td>
                    <td  colspan="2" align="center"  >层号</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.ch" :disabled="disableFlag"></el-input>
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" align="center"  >实际层数</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.sjcs" :disabled="disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >实际层</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.sjc" :disabled="disableFlag"></el-input>
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" align="center"  >所在单元</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.zdymc" :disabled="disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >房屋编号</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.fwbh" :disabled="disableFlag"></el-input>
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" align="center"  >房屋类型<i class="requisite">*</i></td>
                    <td  colspan="4"  >
                        <el-select v-model="form.fwlxbsm" placeholder="请选择" :disabled="disableFlag" ref="fwlxbsm">
                            <el-option
                                    v-for="item in $store.state.fwlxList"
                                    :key="item.bsm"
                                    :label="item.mc"
                                    :value="item.bsm">
                            </el-option>
                        </el-select>
                    </td>
                    <td  colspan="2" align="center"  >房屋性质<i class="requisite">*</i></td>
                    <td  colspan="4"  >
                        <el-select v-model="form.fwxzbsm" placeholder="请选择" :disabled="disableFlag" ref="fwxzbsm">
                            <el-option
                                    v-for="item in $store.state.fwxzOptions"
                                    :key="item.bsm"
                                    :label="item.mc"
                                    :value="item.bsm">
                            </el-option>
                        </el-select>
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" align="center"  >户号</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.hh" :disabled="disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >室号</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.shbw" :disabled="disableFlag"></el-input>
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" align="center"  >户型</td>
                    <td  colspan="4"  >
                        <el-select v-model="form.hxbsm" placeholder="请选择" :disabled="disableFlag">
                            <el-option
                                    v-for="item in $store.state.hxList"
                                    :key="item.bsm"
                                    :label="item.mc"
                                    :value="item.bsm">
                            </el-option>
                        </el-select>
                    </td>
                    <td  colspan="2" align="center"  >户型结构</td>
                    <td  colspan="4"  >
                        <el-select v-model="form.hxjgbsm" placeholder="请选择" :disabled="disableFlag">
                            <el-option
                                    v-for="item in $store.state.hxjgList"
                                    :key="item.bsm"
                                    :label="item.mc"
                                    :value="item.bsm">
                            </el-option>
                        </el-select>
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" align="center"  >产别<i class="requisite">*</i></td>
                    <td  colspan="4"  >
                        <el-select v-model="form.fwcbbsm" placeholder="请选择" :disabled="disableFlag" ref="fwcbbsm">
                            <el-option
                                    v-for="item in $store.state.cbOptions"
                                    :key="item.bsm"
                                    :label="item.mc"
                                    :value="item.bsm">
                            </el-option>
                        </el-select>
                    </td>
                    <td  colspan="2" align="center"  >产权来源<i class="requisite">*</i></td>
                    <td  colspan="4"  >
                        <el-select v-model="form.fwcqlybsm" placeholder="请选择" :disabled="disableFlag" ref="fwcqlybsm">
                            <el-option
                                    v-for="item in $store.state.cqlyOptions"
                                    :key="item.bsm"
                                    :label="item.mc"
                                    :value="item.bsm">
                            </el-option>
                        </el-select>
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" rowspan="6" align="center"  >预测</td>
                    <td  colspan="2" align="center"  >建筑面积(㎡) </td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.ycjzmj" type="number" :disabled="form.scyclx==='1'||disableFlag"></el-input>
                    </td>
                    <td  colspan="2" rowspan="6" align="center"  >实测</td>
                    <td  colspan="2" align="center"  >建筑面积(㎡)</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.scjzmj" type="number" :disabled="form.scyclx==='0'||disableFlag"></el-input>
                    </td>
                </tr>
                <tr height="30">
                    <td  colspan="2" align="center"  >套内建筑面积(㎡))</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.yctnjzmj" type="number" :disabled="form.scyclx==='1'||disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >套内建筑面积(㎡)</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.sctnjzmj" type="number" :disabled="form.scyclx==='0'||disableFlag"></el-input>
                    </td>
                </tr>
                <tr height="30">
                    <td  colspan="2" align="center"  >分摊建筑面积(㎡)</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.ycftjzmj" type="number" :disabled="form.scyclx==='1'||disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >分摊建筑面积(㎡)</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.scftjzmj" type="number" :disabled="form.scyclx==='0'||disableFlag"></el-input>
                    </td>
                </tr>
                <tr height="30">
                    <td  colspan="2" align="center"  >地下部分建筑面积(㎡)</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.ycdxbfjzmj" type="number" :disabled="form.scyclx==='1'||disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >地下部分建筑面积(㎡)</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.scdxbfjzmj" type="number" :disabled="form.scyclx==='0'||disableFlag"></el-input>
                    </td>
                </tr>
                <tr height="30">
                    <td  colspan="2" align="center"  >其它建筑面积(㎡)</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.ycqtjzmj" type="number" :disabled="form.scyclx==='1'||disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >其它建筑面积(㎡)</td>
                    <td  colspan="2" align="center"  >
                        <el-input v-model="form.scqtjzmj" type="number" :disabled="form.scyclx==='0'||disableFlag"></el-input>
                    </td>
                </tr>
                <tr height="30">
                    <td  colspan="2" align="center"  >分摊系数</td>
                    <td  colspan="2" align="center"  >
                        <input class="formInput" v-model="form.ycftxs" type="number" :disabled="form.scyclx==='1'||disableFlag" @blur="inputFtxsBlur($event)" ref="ycftxs" />
                    </td>
                    <td  colspan="2" align="center"  >分摊系数</td>
                    <td  colspan="2" align="center"  >
                        <input class="formInput" v-model="form.scftxs" type="number" :disabled="form.scyclx==='0'||disableFlag" @blur="inputFtxsBlur($event)" ref="scftxs" />
                    </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">
                        <el-button
                            type="primary"
                            style="margin-right: 10px"
                            class="changeBtn addMinus inAdd"
                            @click="addYtInfo"
                            >+</el-button
                        >
                        <span>用途<i class="requisite">*</i></span>
                    </td>

                    <td width="30" colspan="1" align="center"  >
                        <el-button
                            type="primary"
                            class="changeBtn addMinus inMinus"
                            @click="deleteYtInfo(index)"
                            >-</el-button
                        >
                        规划用途
                    </td>
                    <td width="30" colspan="4" align="center"  >
                        <el-select-tree
                                ref="ghyt"
                                v-if="show"
                                :default-expand-all="defaultExpandAll"
                                @change="updateSjfyyt(item1)"
                                :multiple="multiple"
                                :placeholder="placeholder"
                                :disabled="disableFlag"
                                :data="$store.state.fwytList"
                                :props="treeProps"
                                :check-strictly="checkStrictly"
                                :clearable="clearable"
                                v-model="item1.fwytzdbsm"
                        ></el-select-tree>
                    </td>
                    <td width="30" colspan="1" align="center"  >用途</td>
                    <td width="30" colspan="4" align="center"  >
                        <el-select-tree
                                ref="yt"
                                v-if="show"
                                :default-expand-all="defaultExpandAll"
                                :multiple="multiple"
                                :placeholder="placeholder"
                                :disabled="disableFlag"
                                :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"  >
                        <!-- <el-button type="primary" size="mini" style="margin-right: 10px" @click="addFwjgInfo">添加</el-button> -->
                        <el-button
                            type="primary"
                            style="margin-right: 10px"
                            class="changeBtn addMinus inAdd"
                            @click="addFwjgInfo"
                            >+</el-button
                        >
                        <span>房屋结构<i class="requisite">*</i></span>
                    </td>
                    <td   colspan="1" align="center"  >
                        <span @click="deleteFwjgInfo(index)">删除</span>
                    </td>
                    <td   colspan="9"  >
                        <el-select v-model="item1.fwjgzdbsm" ref="fwjg" placeholder="请选择" :disabled="disableFlag">
                            <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 height="30">
                    <td  colspan="2" align="center"  >共有土地面积(㎡)</td>
                    <td  colspan="2"  >
                        <el-input v-model="form.gytdmj" type="number" :disabled="disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >分摊土地面积(㎡)</td>
                    <td  colspan="2"  >
                        <el-input v-model="form.fttdmj" type="number" :disabled="disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >多幢独用土地面积(㎡)</td>
                    <td  colspan="2"  >
                        <el-input v-model="form.dytdmj" type="number" :disabled="disableFlag"></el-input>
                    </td>
                </tr>


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

                <tr height="30">
                    <td  colspan="2" align="center"  >东墙体归属</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.dqtgs" :disabled="disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >南墙体归属</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.nqtgs" :disabled="disableFlag"></el-input>
                    </td>
                </tr>

                <tr height="30">
                    <td  colspan="2" align="center"  >西墙体归属</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.xqtgs" :disabled="disableFlag"></el-input>
                    </td>
                    <td  colspan="2" align="center"  >北墙体归属</td>
                    <td  colspan="4"  >
                        <el-input v-model="form.bqtgs" :disabled="disableFlag"></el-input>
                    </td>
                </tr>

                <tr height="30">
                    <td   colspan="2" rowspan="2" align="center"  >
                        <span>附加说明</span>
                    </td>
                    <td   colspan="10" rowspan="2"   >
                        <el-input v-model="form.bz" type="textarea" :disabled="disableFlag"></el-input>
                    </td>
                </tr>
                <tr height="30">
                </tr>

                <tr height="30">
                    <td   colspan="2" rowspan="2" align="center"  >
                        <span>调查意见</span>
                    </td>
                    <td   colspan="10"  >
                        <el-input v-model="form.name" :disabled="disableFlag"></el-input>
                    </td>
                </tr>

                <tr height="30">
                    <td   colspan="4" rowspan="2" align="right"  style="width:8.33%;padding-right:10px">
                        <span>审查员</span>
                    </td>
                    <td   colspan="2"  >
                        <el-input v-model="form.name" :disabled="disableFlag"></el-input>
                    </td>
                    <td   colspan="2" rowspan="2" align="right"  style="width:8.33%;padding-right:10px">
                        <span>审查日期</span>
                    </td>
                    <td   colspan="2"  >
                        <el-date-picker
                                v-model="form.date"
                                type="date"
                                placeholder="选择日期">
                        </el-date-picker>
                    </td>
                </tr>
                </tbody>
            </table>
        </el-form>
        <div class="header-button" :style="{width:mainBoxWidth+'px'}">
            <el-button type="primary" class="saveBtn" @click="onSave" :disabled="disableFlag">保存</el-button>
            <el-button type="primary" @click="onSubmit" :disabled="disableFlag">提交</el-button>
            <el-button type="primary" @click="registerCall">登记调用</el-button>
            <!-- <el-button type="primary" class="saveBtn"  @click="save">保存</el-button> -->
        </div>
    </div>

</template>

<script>
    import Qlr from "@components/formMenu/qlr";
    import Qlxz from "@components/formMenu/qlxz";
    import {getQjHDetailByBsm,updateQjH} from "@api/h";
    import {getBdcdyh} from "@api/zrz";
    import {submit,registerCall} from "@api/common"
    export default {
        name:'zrz',
        components:{
            Qlr,
            Qlxz,
        },
        inject:['getTreeByBsm'],
        props:{
            bsm:String, //户标识码
            scyclx:{
                type: String,
                default: "1",
            },
        },
        data () {
            return {
                disableFlag:false,
                //树型结构
                show:true,
                clearable: true,
                defaultExpandAll: true,
                multiple: false,
                placeholder: '请选择',
                disabled: false,
                checkStrictly: true,
                treeProps: {
                    value: 'bsm',
                    children: 'children',
                    label: 'mc'
                },

                lx:'h',
                hbsm:'',
                form:{
                    bsm:'',//户标识码
                    zrzbsm:'',  //自然幢标识码
                    ljzbsm:'',  //逻辑幢标识码
                    ljzh:'',  //逻辑幢号
                    zdybsm:'',  //幢单元标识码
                    cbsm:'',  //层标识码
                    ch:'',  //层号
                    zdbsm:'',  //宗地标识码
                    bdcdyh:'',  //不动产单元号标识码
                    ydybsm:'',  //原单元标识码
                    zrzh:'',  //自然幢号
                    mjdwbsm:'',  //面积单位编号
                    sjcs:'',  //实际层数
                    hh:'',  //户号
                    hxbsm:'',  //户型标识码
                    hxjgbsm:'',  //户型结构标识码
                    dltdmj:'',  //独立使用土地面积
                    fttdmj:'',  //分摊土地使用面积
                    gytdmj:'',  //共有土地面积
                    fwlxbsm:'',  //房屋类型标识码
                    fwxzbsm:'',  //房屋性质标识码
                    sjc:'',  //实际层
                    dqtgs:'',  //东墙体归属
                    nqtgs:'',  //南墙体归属
                    xqtgs:'',  //西墙体归属
                    bqtgs:'',  //北墙体归属
                    fwbh:'',  //房屋编号
                    fjsm:'',  //附加说明
                    fwcbbsm:'',  //房屋产别标识码
                    sjhs:'',  //实际户数
                    shbw:'',  //室号部位
                    fwcqlybsm:'',  //房屋产权来源标识码
                    myc:'',  //名义层
                    qszt:'',  //权属状态

                    //预测数据
                    ycjzmj:'',  //建筑面积
                    yctnjzmj:'',  //套内建筑面积
                    ycftjzmj:'',  //分摊建筑面积
                    ycdxbfjzmj:'',  //地下部分建筑面积
                    ycqtjzmj:'',  //其它建筑面积
                    ycftxs:'',  //分摊系数

                    //实测数据
                    scjzmj:'',  //建筑面积
                    sctnjzmj:'',  //套内建筑面积
                    scftjzmj:'',  //分摊建筑面积
                    scdxbfjzmj:'',  //地下部分建筑面积
                    scqtjzmj:'',  //其它建筑面积
                    scftxs:'',  //分摊系数

                    scyclx:'0',  //实预测类型(0:预测,1:实测;),区别户是实测还是预测数据
                    scycglbsm:'', //实测预测关联标识码
                    bz:'',  //备注
                    name:'',
                    date:'',
                    fwytList:[{
                        glbsm:'',     //关联标识码
                        fwytzdbsm:'',  //房屋用途字典标识码
                        sx:'',         //顺序
                        fwsjytbsm:'',  //房屋实际用途字典标识码
                    }],
                    fwjgList:[{
                        fwjgzdbsm:'',  //房屋结构字典标识码
                        glbsm:'',     //关联标识码
                        sx:'',         //顺序
                    }],
                    qlxzList:[{
                        qlxzdm:'',  //权利性质代码
                        glbsm:'',  //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
                        qlxzzdbsm:'',  //权利性质字典表标识码
                        qlxzmc:'',   //权利名称名称
                        zhqlxzlx:'',  //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
                        addQjTdytRequestList:[{
                        }],   //土地用途新增实体列表
                    }]
                },
                value: '',
                ytTitleRowspan:1,  //用途的单元格垂直合并数量
                fwjgTitleRowspan:1,  //房屋结构的单元格垂直合并数量
                formHeight:0,
			    mainBoxWidth:0,

                rules:[],
                ftxsrules:[],
            }
        },
        created(){
            let bsm=this.bsm;

            if (bsm) {
                this.getHInfo(bsm);
            }
            this.$nextTick(()=>{
			    this.mainBoxWidth = this.$refs.mainBox.clientWidth;
                this.formHeight =  (document.documentElement.clientHeight || document.body.clientHeight) - 230
            })
        },
        methods: {

            inputFtxsBlur(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';
                }
            },

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

            registerCall(){
                let data={
                    type:'h',
                    bsm:this.bsm
                }
                registerCall(data).then(res=>{
                    if (res.success) {
                        this.$message.success("登记成功")
                        this.getTreeByBsm(this.$store.state.zdbsm,'h','0,1,2')
                    }
                })
            },

            updateSjfyyt(data){
                data.fwsjytbsm = data.fwytzdbsm;
            },

            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;
                }
            },
            //根据户bsm查询户信息
            getHInfo(hbsm){
                //this.bsm = hbsm;
                getQjHDetailByBsm(hbsm).then((res)=>{
                    if(res.code===200){
                        this.form = res.result;
                        this.hbsm = res.result.bsm;
                        if(res.result.gygyqlrqk!=null){
                            this.$refs.qlrxxModule.changeGyfs(res.result.gygyqlrqk);
                        }
                        this.$refs.qlrxxModule.getQlrInfo(hbsm);
                        if(this.form.bblx === 0  && this.form.qszt === '0' && this.form.bhqkbsm == null){
                            this.disableFlag = false
                        }else {
                            this.disableFlag = true
                        }
                        if(this.form.scyclx==='0'){
                            this.$set(this.form,"ycjzmj", this.form.jzmj)
                            this.$set(this.form,"yctnjzmj", this.form.tnjzmj)
                            this.$set(this.form,"ycftjzmj", this.form.ftjzmj)
                            this.$set(this.form,"ycdxbfjzmj", this.form.dxbfjzmj)
                            this.$set(this.form,"ycqtjzmj", this.form.qtjzmj)
                            this.$set(this.form,"ycftxs", this.form.ftxs)
                            this.$set(this.form,"scjzmj", this.form.gljzmj)
                            this.$set(this.form,"sctnjzmj", this.form.gltnjzmj)
                            this.$set(this.form,"scftjzmj", this.form.glftjzmj)
                            this.$set(this.form,"scdxbfjzmj", this.form.gldxbfjzmj)
                            this.$set(this.form,"scqtjzmj", this.form.glqtjzmj)
                            this.$set(this.form,"scftxs", this.form.glftxs)
                        }else if(this.form.scyclx==='1'){
                            this.$set(this.form,"scjzmj", this.form.jzmj)
                            this.$set(this.form,"sctnjzmj", this.form.tnjzmj)
                            this.$set(this.form,"scftjzmj", this.form.ftjzmj)
                            this.$set(this.form,"scdxbfjzmj", this.form.dxbfjzmj)
                            this.$set(this.form,"scqtjzmj", this.form.qtjzmj)
                            this.$set(this.form,"scftxs", this.form.ftxs)
                            this.$set(this.form,"ycjzmj", this.form.gljzmj)
                            this.$set(this.form,"yctnjzmj", this.form.gltnjzmj)
                            this.$set(this.form,"ycftjzmj", this.form.glftjzmj)
                            this.$set(this.form,"ycdxbfjzmj", this.form.gldxbfjzmj)
                            this.$set(this.form,"ycqtjzmj", this.form.glqtjzmj)
                            this.$set(this.form,"ycftxs", this.form.glftxs)

                        }
                        if(res.result.fwytList.length===0){
                            this.form.fwytList.push({
                                glbsm:'',     //关联标识码
                                fwytzdbsm:'',  //房屋用途字典标识码
                                sx:'',         //顺序
                                fwsjytbsm:'',  //房屋实际用途字典标识码
                            })
                        }
                        if(res.result.fwjgList.length===0){
                            this.form.fwjgList.push({
                                fwjgzdbsm:'',  //房屋结构字典标识码
                                glbsm:'',     //关联标识码
                                sx:'',         //顺序
                            })
                        }
                        this.fwjgTitleRowspan=this.form.fwjgList.length;
                        this.ytTitleRowspan=this.form.fwytList.length;
                        if(res.result.qjQlxzListVOS.length>0){
                            if(res.result.qjQlxzListVOS[0].list.length<1){
                                res.result.qjQlxzListVOS[0].list.push({
                                    "pzdjbsm": "",
                                    "pzdjmc": "",
                                    "pzytdm": "",
                                    "pzytmc": "",
                                    "pzytmj": 0,
                                    "qlxzbsm": "",
                                    "sjdjbsm": "",
                                    "sjdjmc": "",
                                    "sjytdm": "",
                                    "sjytmc": "",
                                    "sjytmj": 0,
                                    "syqx": "",
                                    "tdsyjssj": "",
                                    "tdsyqssj": "",
                                    "tdzh": ""
                                })
                            }
                            //权利性质数据传给子组件
                            this.$refs.qlxzModule.countList = res.result.qjQlxzListVOS
                        }else {
                            this.$refs.qlxzModule.countList = [
                                {
                                    id: Math.random(),
                                    isInside: false,
                                    hasNotBorder: false,
                                    "bsm": "",//权利性质标识码
                                    "glbsm": "",//宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
                                    "qlxzdm": "",
                                    "zhqlxzlx": "", //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
                                    list:[
                                        {
                                            "pzdjbsm": "",
                                            "pzdjmc": "",
                                            "pzytdm": "",
                                            "pzytmc": "",
                                            "pzytmj": 0,
                                            "qlxzbsm": "",
                                            "sjdjbsm": "",
                                            "sjdjmc": "",
                                            "sjytdm": "",
                                            "sjytmc": "",
                                            "sjytmj": 0,
                                            "syqx": "",
                                            "tdsyjssj": "",
                                            "tdsyqssj": "",
                                            "tdzh": ""
                                        }
                                    ]
                                },
                            ]
                        }
                    }
                })
            },
            //保存户信息
            onSave(){

                if(this.form.scyclx === '0'){
                    this.ftxsrules=[
                        {
                            data:this.form.ycftxs,
                            name:'不动产单元号',
                            dom:this.$refs.ycftxs,
                            rule:/^(?!0(\.0{1,2})?$)(\d(\.\d{1,2})?)$/, //大于0小于10的所有保留两位的数字
                        },
                    ]
                }else {
                    this.ftxsrules=[
                        {
                            data:this.form.scftxs,
                            name:'不动产单元号',
                            dom:this.$refs.scftxs,
                            rule:/^(?!0(\.0{1,2})?$)(\d(\.\d{1,2})?)$/, //大于0小于10的所有保留两位的数字
                        },
                    ]
                }


                this.rules=[
                    {
                        data:this.form.bdcdyh,
                        name:'不动产单元号',
                        dom:this.$refs.bdcdyh,
                        rule: /^\s*$/g, //非空
                    },
                    {
                        data:this.form.fwlxbsm,
                        name:'房屋类型',
                        dom:this.$refs.fwlxbsm,
                        rule: /^\s*$/g, //非空
                    },
                    {
                        data:this.form.fwxzbsm,
                        name:'房屋性质',
                        dom:this.$refs.fwxzbsm,
                        rule: /^\s*$/g, //非空
                    },
                    {
                        data:this.form.fwcbbsm,
                        name:'产别',
                        dom:this.$refs.fwcbbsm,
                        rule: /^\s*$/g, //非空
                    },
                    {
                        data:this.form.fwcqlybsm,
                        name:'产权来源',
                        dom:this.$refs.fwcqlybsm,
                        rule: /^\s*$/g, //非空
                    },
                    {
                        data:this.form.zl,
                        name:'坐落',
                        dom:this.$refs.zl,
                        rule: /^\s*$/g, //非空
                    },
                ]
                this.form.fwytList.forEach((item,index)=>{
                    this.rules.push(
                        {
                            data:item.fwytzdbsm,
                            name:'规划用途',
                            dom:this.$refs.ghyt[index],
                            rule: /^\s*$/g, //非空
                        },
                        {
                            data:item.fwytzdbsm,
                            name:'用途',
                            dom:this.$refs.yt[index],
                            rule: /^\s*$/g, //非空
                        },
                    )
                })
                this.form.fwjgList.forEach((item,index)=>{
                    this.rules.push(
                        {
                            data:item.fwjgzdbsm,
                            name:'房屋结构',
                            dom:this.$refs.fwjg[index],
                            rule: /^\s*$/g, //非空
                        },
                    )
                })
                this.form.qlxzList= this.$refs.qlxzModule.getQlxzDataList();
                this.$refs.qlxzModule.getRules();
                let flag = true;

                this.rules.forEach(item=>{
                    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
                    }
                })

                let ftxsflag = true;

                this.ftxsrules.forEach(item=>{
                    console.log(item.data+":item.data")
                    console.log(item.data !=="" +":item.data !==")
                    if(item.data !=="" && item.data !==null){
                        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';
                            }
                            ftxsflag = false;
                            return false
                        }
                    }
                })

                this.$nextTick(()=> {
                    if (flag && ftxsflag && this.$refs.qlxzModule.getRulesResult()) {
                        if(this.form.scyclx==='0'){
                            this.form.jzmj =  this.form.ycjzmj;
                            this.form.tnjzmj=this.form.yctnjzmj;
                            this.form.ftjzmj=this.form.ycftjzmj;
                            this.form.dxbfjzmj=this.form.ycdxbfjzmj;
                            this.form.qtjzmj=this.form.ycqtjzmj;
                            this.form.ftxs=this.form.ycftxs;
                        }else if(this.form.scyclx==='1'){
                            this.form.jzmj =  this.form.scjzmj;
                            this.form.tnjzmj=this.form.sctnjzmj;
                            this.form.ftjzmj=this.form.scftjzmj;
                            this.form.dxbfjzmj=this.form.scdxbfjzmj;
                            this.form.qtjzmj=this.form.scqtjzmj;
                            this.form.ftxs=this.form.scftxs;
                        }
                        updateQjH(this.form).then((res)=>{
                            if(res.code===200){
                                this.$message.success("保存成功!")
                            }else {
                                this.$message.warning(res.message)
                            }
                        })
                    }else {
                        this.$message({
                            // message: item.name+'不能为空',
                            message: '表单数据有误',
                            type: "warning",
                        });
                    }
                })

            },
            onSubmit(){
                let data={
                    glbsm:this.bsm,
                    status:1,
                    type:"h"
                }
                submit(data).then((res)=>{
                    if(res.code===200){
                        this.$message.success("提交完成!");
                    }else {
                        this.$message.warning(res.message)
                    }
                })
            },
            onReset(){
                this.form.bdcdyh='',  //不动产单元号
                this.form.mjdwbsm='',  //面积单位编号
                this.form.hxbsm='',  //户型标识码
                this.form.hxjgbsm='',  //户型结构标识码
                this.form.dltdmj='',  //独立使用土地面积
                this.form.fttdmj='',  //分摊土地使用面积
                this.form.gytdmj='',  //共有土地面积
                this.form.fwlxbsm='',  //房屋类型标识码
                this.form.fwxzbsm='',  //房屋性质标识码
                this.form.sjc='',  //实际层
                this.form.dqtgs='',  //东墙体归属
                this.form.nqtgs='',  //南墙体归属
                this.form.xqtgs='',  //西墙体归属
                this.form.bqtgs='',  //北墙体归属
                this.form.fwbh='',  //房屋编号
                this.form.fjsm='',  //附加说明
                this.form.fwcbbsm='',  //房屋产别标识码
                this.form.sjhs='',  //实际户数
                this.form.shbw='',  //室号部位
                this.form.fwcqlybsm='',  //房屋产权来源标识码
                //预测数据
                this.form.ycjzmj='',  //建筑面积
                this.form.yctnjzmj='',  //套内建筑面积
                this.form.ycftjzmj='',  //分摊建筑面积
                this.form.ycdxbfjzmj='',  //地下部分建筑面积
                this.form.ycqtjzmj='',  //其它建筑面积
                this.form.ycftxs='',  //分摊系数
                //实测数据
                this.form.scjzmj='',  //建筑面积
                this.form.sctnjzmj='',  //套内建筑面积
                this.form.scftjzmj='',  //分摊建筑面积
                this.form.scdxbfjzmj='',  //地下部分建筑面积
                this.form.scqtjzmj='',  //其它建筑面积
                this.form.scftxs='',  //分摊系数
                this.form.scyclx='0',  //实预测类型(0:预测,1:实测;),区别户是实测还是预测数据
                this.form.scycglbsm='', //实测预测关联标识码
                this.form.bz='',  //备注
                this.form.name='',
                this.form.date='',
                this.form.fwytList=[{
                    glbsm:'',     //关联标识码
                    fwytzdbsm:'',  //房屋用途字典标识码
                    sx:'',         //顺序
                    fwsjytbsm:'',  //房屋实际用途字典标识码
                    }],
                this.form.fwjgList=[{
                    fwjgzdbsm:'',  //房屋结构字典标识码
                    glbsm:'',     //关联标识码
                    sx:'',         //顺序
                    }],
                this.form.qlxzList=[{
                    qlxzdm:'',  //权利性质代码
                    glbsm:'',  //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
                    qlxzzdbsm:'',  //权利性质字典表标识码
                    qlxzmc:'',   //权利名称名称
                    zhqlxzlx:'',  //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
                    addQjTdytRequestList:[{
                    }],   //土地用途新增实体列表
                }]
                console.log("----------------------------------")
                console.log(this.form)
            },

            //不动产单元号再次生成提示框
            open() {
                this.$confirm('已经存在不动产单元号或者自然幢号, 是否继续?', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(() => {
                    getBdcdyh(this.form.zrzh,"h")
                        .then((res)=>{
                            this.form.zrzh=res.result.substring(0,24);
                            this.form.bdcdyh=res.result;
                        })
                    this.$message({
                        type: 'success',
                        message: '生成成功!'
                    });
                }).catch(() => {
                    this.$message({
                        type: 'info',
                        message: '已取消'
                    });
                });
            },

            generatorCode(){
                if(this.form.bdcdyh!=null&&this.form.bdcdyh!==''){
                    this.open();
                    return;
                }
                getBdcdyh(this.form.zrzh,"h")
                    .then((res)=>{
                        this.form.zrzh=res.result.substring(0,24);
                        this.form.bdcdyh=res.result;
                    })
            },
        },
        watch: {
            scyclx:{
                handler(n){
                    this.$nextTick(()=>{
                        this.form.scyclx = this.scyclx;
                    })
                }
            },

            "form.bdcdyh":function (val) {
                if (val != '') {
                    this.$refs.bdcdyh.$el.style.border = '';
                }
            },

            "form.fwlxbsm":{
                handler:function (val) {
                    if (val != '') {
                        this.$refs.fwlxbsm.$el.style.border = '';
                    }
                },
                immediate:false
            },

            "form.fwxzbsm":{
                handler:function (val) {
                    if (val != '') {
                        this.$refs.fwxzbsm.$el.style.border = '';
                    }
                },
                immediate:false
            },

            "form.fwcqlybsm":{
                handler:function (val) {
                    if (val != '') {
                        this.$refs.fwcqlybsm.$el.style.border = '';
                    }
                },
                immediate:false
            },

            "form.fwcbbsm":{
                handler:function (val) {
                    if (val != '') {
                        this.$refs.fwcbbsm.$el.style.border = '';
                    }
                },
                immediate:false
            },

            "form.fwytList": {
                handler : function (newVal, oldVal) {
                    newVal.forEach((item,ind)=>{
                        if(item.fwytzdbsm != ''){
                            this.$refs.ghyt[ind].$el.style.border=""
                            this.$refs.yt[ind].$el.style.border=""
                        }
                    })
                },
                deep:true
            },
            "form.fwjgList": {
                handler : function (newVal, oldVal) {
                    newVal.forEach((item,ind)=>{
                        if(item.fwjgzdbsm != ''){
                            this.$refs.fwjg[ind].$el.style.border=""
                        }
                    })
                },
                deep:true
            },

            "$store.state.sxdrType": {
                handler(n) {
                    this.$nextTick(()=>{
                        if (n === 'h') {
                            this.getHInfo(this.$store.state.hbsm)
                        }
                    })
                },
                immediate: false,
                deep: true,
            }
        }
    }
</script>
<style rel="stylesheet/less" lang="less" scoped>
    .h {
        height: 100%;
        width: 100%;
        margin-top: 10px;
        overflow-y: scroll;
        overflow-x: hidden;

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

        /deep/textarea{
            width: 100%;
            border: 0;
        }


        .el-form-item{
            font-weight: bold;
            font-size: xx-large
        }

        table{
            background: #fff;
            table-layout: fixed;
        }

        td{
            //bgcolor:#F1F4FC;
            width:8.33%;
            height: 36px;
            text-align: right;
            padding-right: 10px;
        }

        .el-select{
            display:block;
        }
        .form{
            overflow-y: scroll;
            overflow-x: hidden;
            margin-bottom: 30px;
        }
    }
    .hpage{
        box-sizing: border-box;
        padding: 8px 6px 18px 18px;
    }

    table{
        font-size: 14px;
    }

    .hTable{
        margin-top: 10px;
    }

	/deep/.el-select-tree{
		width: 100%;
		.el-input__inner{
			height: 30px !important;
		}
	}

	.header-button {
        z-index: 3;
		height: 50px;
		position: absolute;
		bottom: 0;
		right: 6px;
		text-align: center;
		background-color: #ffffff;
		.el-button{
			padding: 10px 30px;
			margin-top: 8px;
		}
		.saveBtn {
			background-color: #00CACD;
			border-color: #00CACD;
		}
		.saveBtn:hover {
			background-color: rgba(0, 202, 205, .8);
			border-color: rgba(0, 202, 205, .8);
		}
	}
</style>