kttFwC.vue 9.17 KB
<!--
 * @Description  :层信息表单组件
 * @Autor        : miaofang
 * @LastEditTime : 2023-05-17 17:08:48
-->
<template>
  <div class="houseFloor itemForm">
    <el-form :model="ruleForm" :rules="rules" ref="formList" label-width="121px" :key="key">
      <div v-for="(item, index) in ruleForm" :key="index" class="obligee-item">
        <p class="obligee-item-name">层信息{{ index + 1 }}</p>
        <div class="obligee-item-list">
          <el-row>
            <el-col :span="8">
              <el-form-item prop="YSDM">
                <span slot="label">
                  要素代码: <br />
                  <p class="label-detail">(YSDM)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ysdm"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item prop="CH">
                <span slot="label">
                  层号: <br />
                  <p class="label-detail">(CH)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].ch"></el-input>
              </el-form-item>
            </el-col>

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

          <el-row>
            <el-col :span="8">
              <el-form-item prop="SJC">
                <span slot="label">
                  实际层: <br />
                  <p class="label-detail">(SJC)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].sjc"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item prop="MYC">
                <span slot="label">
                  名义层: <br />
                  <p class="label-detail">(MYC)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].myc"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item prop="CJZMJ" :rules="{ type: 'number' }">
                <span slot="label">
                  层建筑面积: <br />
                  <p class="label-detail">(CJZMJ)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number"
                  v-model.number="ruleForm[index].cjzmj"></el-input-number>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item prop="CTNJZMJ" :rules="{ type: 'number' }">
                <span slot="label">
                  层套内建筑面积: <br />
                  <p class="label-detail">(CTNJZMJ)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number"
                  v-model.number="ruleForm[index].ctnjzmj"></el-input-number>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item prop="CYTMJ" :rules="{ type: 'number' }">
                <span slot="label">
                  层阳台面积: <br />
                  <p class="label-detail">(CYTMJ)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number"
                  v-model.number="ruleForm[index].cytmj"></el-input-number>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item prop="CGYJZMJ" :rules="{ type: 'number' }">
                <span slot="label">
                  层共有建筑面积: <br />
                  <p class="label-detail">(CGYJZMJ)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number"
                  v-model.number="ruleForm[index].cgyjzmj"></el-input-number>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item prop="CFTJZMJ" :rules="{ type: 'number' }">
                <span slot="label">
                  层分摊建筑面积: <br />
                  <p class="label-detail">(CFTJZMJ)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number"
                  v-model.number="ruleForm[index].cftjzmj"></el-input-number>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item prop="CBQMJ" :rules="{ type: 'number' }">
                <span slot="label">
                  层半墙面积: <br />
                  <p class="label-detail">(CBQMJ)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number"
                  v-model.number="ruleForm[index].cbqmj"></el-input-number>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item prop="CG" :rules="{ type: 'number' }">
                <span slot="label">
                  层高: <br />
                  <p class="label-detail">(CG)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number" v-model.number="ruleForm[index].cg">
                </el-input-number>
              </el-form-item>
            </el-col>
          </el-row>

          <el-row>
            <el-col :span="8">
              <el-form-item prop="SPTYMJ" :rules="{ type: 'number' }">
                <span slot="label">
                  水平投影面积: <br />
                  <p class="label-detail">(SPTYMJ)</p>
                </span>
                <el-input-number controls-position="right" :disabled="$store.state.business.Edit"
                  v-only-number="{ max: 999999999999999, min: 0, precision: 3 }" title="" type="number"
                  v-model.number="ruleForm[index].sptymj"></el-input-number>
              </el-form-item>
            </el-col>

            <el-col :span="8">
              <el-form-item prop="QXDM">
                <span slot="label">
                  区县代码: <br />
                  <p class="label-detail">(QXDM)</p>
                </span>
                <el-input :disabled="$store.state.business.Edit" v-model="ruleForm[index].qxdm"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </div>
      </div>

    </el-form>
    <message-tips ref="msg" />
  </div>
</template>
<script>
  // 层信息
  import kttFwC from "@/api/kttFwC";
  import ruleMixin from "@/mixins/ruleMixin.js";
  export default {
    mixins: [ruleMixin],
    props: {
      bsmSjsb: {
        type: String,
        default: ""
      },
      bsmYwsjb: {
        type: String,
        default: ""
      },
    },
    data () {
      return {
        ruleForm: [{
          YSDM: "",
          CH: "",
          ZRZH: "",
          SJC: "",
          MYC: "",
          CJZMJ: "",
          CTNJZMJ: "",
          CYTMJ: "",
          CGYJZMJ: "",
          CFTJZMJ: "",
          CBQMJ: "",
          CG: "",
          SPTYMJ: "",
          QXDM: ""
        }]
      }
    },
    methods: {
      /**
       * @description: featchData
       * @author: renchao
       */
      async featchData () {
        try {
          let { result: res } = await kttFwC.getKttFwCById(this.bsmSjsb);
          this.ruleForm = res;
          //this.featchRule()
        } catch (error) {
          this.$refs.msg.messageShow()
        }
      },
      /**
       * @description: handleUpdateForm
       * @author: renchao
       */
      handleUpdateForm () {
        return new Promise(async (resolve, reject) => {
          try {
            let res = await kttFwC.updateKttFwC(this.ruleForm);
            // this.$refs['formList'].resetFields();
            resolve(res.code);
          } catch (error) {
            this.$refs.msg.messageShow()
          }
        })
      }
    }
  };
</script>
<style scoped lang="scss">
  @import "./css/itemForm.scss";
</style>