<template>
  <div class="naturalBuilding itemForm">
    <el-form :model="naturalForm" :rules="rules" ref="formList" label-width="115px" :key="key">
      <div v-for="(item, index) in naturalForm.naturalList" :key="index" class="naturalBuilding-item">
        <p class="naturalBuilding-name">自然幢{{ index + 1 }}</p>
        <div class="naturalBuilding-list">
          <el-row>
            <el-col :span="8">
              <el-form-item>
                <span slot="label">
                  标识码: <br />
                  <p class="label-detail">(BSM)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].bsm"
                  placeholder="标识码"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.YSDM'" :rules="rules.YSDM">
                <span slot="label">
                  要素代码: <br />
                  <p class="label-detail">(YSDM)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].ysdm"
                  placeholder="要素代码"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.BDCDYH'" :rules="rules.BDCDYH">
                <span slot="label">
                  不动产单元号: <br />
                  <p class="label-detail">(BDCDYH)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].bdcdyh"
                  placeholder="不动产单元号"></el-input>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.ZDDM'" :rules="rules.ZDDM">
                <span slot="label">
                  宗地代码: <br />
                  <p class="label-detail">(ZDDM)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].zddm"
                  placeholder="宗地代码"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.ZRZH'" :rules="rules.ZRZH">
                <span slot="label">
                  自然幢号: <br />
                  <p class="label-detail">(ZRZH)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].zrzh"
                  placeholder="自然幢号"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.XMMC'" :rules="rules.XMMC">
                <span slot="label">
                  项目名称: <br />
                  <p class="label-detail">(XMMC)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].xmmc"
                  placeholder="项目名称"></el-input>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.JZWMC'" :rules="rules.JZWMC">
                <span slot="label">
                  建筑物名称: <br />
                  <p class="label-detail">(JZWMC)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].jzwmc"
                  placeholder="建筑物名称"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.JGRQ'" :rules="rules.JGRQ">
                <span slot="label">
                  竣工日期: <br />
                  <p class="label-detail">(JGRQ)</p>
                </span>
                <el-date-picker :disabled="$store.state.business.Edit" type="date" placeholder="竣工日期" clearable
                  v-model="naturalForm.naturalList[index].jgrq" value-format="yyyy-MM-dd"></el-date-picker>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.JZWGD'" :rules="{ ...rules.JZWGD, ...typeNum }">
                <span slot="label">
                  建筑物高度: <br />
                  <p class="label-detail">(JZWGD)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" placeholder="建筑物高度" type="number"
                  v-model.number="naturalForm.naturalList[index].jzwgd"></el-input>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.ZZDMJ'" :rules="{ ...rules.ZZDMJ, ...typeNum }">
                <span slot="label">
                  幢占地面积: <br />
                  <p class="label-detail">(ZZDMJ)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" placeholder="幢占地面积" type="number"
                  v-model.number="naturalForm.naturalList[index].zzdmj"></el-input-number>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.ZYDMJ'" :rules="{ ...rules.ZYDMJ, ...typeNum }">
                <span slot="label">
                  幢用地面积: <br />
                  <p class="label-detail">(ZYDMJ)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" placeholder="幢用地面积" type="number"
                  v-model.number="naturalForm.naturalList[index].zydmj"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.YCJZMJ'" :rules="{ ...rules.YCJZMJ, ...typeNum }">
                <span slot="label">
                  预测建筑面积: <br />
                  <p class="label-detail">(YCJZMJ)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" placeholder="预测建筑面积" type="number"
                  v-model.number="naturalForm.naturalList[index].ycjzmj"></el-input>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.SCJZMJ'" :rules="{ ...rules.SCJZMJ, ...typeNum }">
                <span slot="label">
                  实测建筑面积: <br />
                  <p class="label-detail">(SCJZMJ)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" placeholder="实测建筑面积" type="number"
                  v-model.number="naturalForm.naturalList[index].scjzmj"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.ZCS'" :rules="{ ...rules.ZCS, ...typeNum }">
                <span slot="label">
                  总层数: <br />
                  <p class="label-detail">(ZCS)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" placeholder="总层数" type="number"
                  v-only-number="{ max: 9999, min: 0, precision: 3 }"
                  v-model.number="naturalForm.naturalList[index].zcs"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.DSCS'" :rules="rules.DSCS">
                <span slot="label">
                  地上层数: <br />
                  <p class="label-detail">(DSCS)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999, min: 0, precision: 0 }"
                  placeholder="地上层数" v-model="naturalForm.naturalList[index].dscs"></el-input>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.DXCS'" :rules="rules.DXCS">
                <span slot="label">
                  地下层数: <br />
                  <p class="label-detail">(DXCS)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 9, min: 0, precision: 0 }"
                  placeholder="地下层数" v-model="naturalForm.naturalList[index].dxcs"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.DXSD'" :rules="{ ...rules.DXSD, ...typeNum }">
                <span slot="label">
                  地下深度: <br />
                  <p class="label-detail">(DXSD)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 2 }" placeholder="地下深度" type="number"
                  v-model.number="naturalForm.naturalList[index].dxsd"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.GHYT'" :rules="rules.GHYT">
                <span slot="label">
                  规划用途: <br />
                  <p class="label-detail">(GHYT)</p>
                </span>
                <el-select :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].ghyt"
                  placeholder="规划用途">
                  <el-option v-for="item in dicData['A17']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.FWJG'" :rules="rules.FWJG">
                <span slot="label">
                  房屋结构: <br />
                  <p class="label-detail">(FWJG)</p>
                </span>
                <el-select :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].fwjg"
                  placeholder="房屋结构">
                  <el-option v-for="item in dicData['A46']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.ZTS'" :rules="{ ...rules.ZTS, ...typeNum }">
                <span slot="label">
                  总套数: <br />
                  <p class="label-detail">(ZTS)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-only-number="{ max: 999999, min: 0, precision: 0 }"
                  placeholder="总套数" type="number" v-model.number="naturalForm.naturalList[index].zts"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.JZWJBYT'" :rules="rules.JZWJBYT">
                <span slot="label">
                  建筑物基本用途: <br />
                  <p class="label-detail">(JZWJBYT)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].jzwjbyt"
                  placeholder="建筑物基本用途"></el-input>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.DAH'" :rules="rules.DAH">
                <span slot="label">
                  档案号: <br />
                  <p class="label-detail">(DAH)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].dah"
                  placeholder="档案号"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.BZ'" :rules="rules.BZ">
                <span slot="label">
                  备注: <br />
                  <p class="label-detail">(BZ)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].bz"
                  placeholder="备注"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.ZT'" :rules="rules.ZT">
                <span slot="label">
                  状态: <br />
                  <p class="label-detail">(ZT)</p>
                </span>
                <el-select :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].zt"
                  placeholder="状态">
                  <el-option v-for="item in dicData['A11']" :key="item.DCODE" :label="item.DNAME" :value="item.DCODE">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item :prop="'naturalList.' + index + '.QXDM'" :rules="rules.QXDM">
                <span slot="label">
                  区县代码: <br />
                  <p class="label-detail">(QXDM)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="naturalForm.naturalList[index].qxdm"
                  placeholder="区县代码"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </div>
      </div>
    </el-form>
    <message-tips ref="msg" />
  </div>
</template>
<script>
// 自然幢
import kttFwZrz from '@/api/kttFwZrz'
import ruleMixin from '@/mixins/ruleMixin.js'
export default {
  mixins: [ruleMixin],
  props: {
    bsmSjsb: {
      type: String,
      default: ''
    },
    bsmYwsjb: {
      type: String,
      default: ''
    }
  },
  data () {
    return {
      naturalForm: {
        naturalList: [
          {
            BSM: '',
            YSDM: '',
            BDCDYH: '',
            ZDDM: '',
            ZRZH: '',
            XMMC: '',
            JZWMC: '',
            JGRQ: '',
            JZWGD: '',
            ZZDMJ: '',
            ZYDMJ: '',
            YCJZMJ: '',
            SCJZMJ: '',
            ZCS: '',
            DSCS: '',
            DXCS: '',
            DXSD: '',
            GHYT: '',
            FWJG: '',
            ZTS: '',
            JZWJBYT: '',
            DAH: '',
            BZ: '',
            ZT: '',
            QXDM: ''
          }
        ]
      }
    }
  },
  methods: {
    async featchData () {
      try {
        let { result: res } = await kttFwZrz.getKttFwZrzById(this.bsmSjsb)
        this.naturalForm.naturalList = res
        //this.featchRule()
      } catch (error) {
        this.$refs.msg.messageShow()
      }
    },
    handleUpdateForm () {
      return new Promise(async (resolve) => {
        try {
          let res = await kttFwZrz.updateKttFwZrz(this.naturalForm.naturalList)
          // this.$refs['formList'].resetFields();
          resolve(res.code)
        } catch (error) {
          this.$refs.msg.messageShow()
        }
      })
    }
  }
}
</script>
<style scoped lang="scss">
@import "./css/itemForm.scss";

.naturalBuilding {
  .naturalBuilding-item {
    display: flex;
    height: 100%;
    margin-bottom: 15px;
    margin-right: 5px;

    .naturalBuilding-name {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      padding: 10px 20px;
      line-height: 28px;
      border: 1px solid #ccc;
      margin-right: 15px;
      border-radius: 3px;
    }

    .naturalBuilding-list {
      width: 100%;
      flex: 1;
    }
  }

  .bsm {
    white-space: nowrap;
  }
}
</style>