slxx.vue 12 KB
<!--
 * @Description:
 * @Autor: renchao
 * @LastEditTime: 2023-08-16 09:06:15
-->
<template>
  <!-- 受理信息 -->
  <div class="slxx">
    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag"
      label-width="120px">
      <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
        <div class="slxx_title title-block">
          受理信息
          <div class="triangle"></div>
        </div>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="业务号:" prop="ywh">
              <el-input disabled v-model="ruleForm.ywh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="受理人员:" prop="slry">
              <el-input disabled v-model="ruleForm.slry"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="受理时间:" prop="slsj">
              <el-input disabled v-model="ruleForm.slsj"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="权利类型:" prop="qllx">
              <el-select disabled v-model="ruleForm.qllx" filterable clearable placeholder="请选择权利类型">
                <el-option v-for="item in dictData['A8']" :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 label="登记类型:" prop="djlx">
              <el-select disabled v-model="ruleForm.djlx" filterable clearable placeholder="请选择登记类型">
                <el-option v-for="item in dictData['A21']" :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 label="登记情形:" prop="djqx">
              <el-input disabled v-model="ruleForm.djqxmc"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <div class="slxx_title title-block">
          不动产单元情况
          <div class="triangle"></div>
        </div>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="宗地代码:" prop="zddm">
              <el-input disabled v-model="ruleForm.bdcdyh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="不动产单元号:" prop="bdcdyh">
              <el-input disabled v-model="ruleForm.bdcdyh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="权利性质:" prop="qlxzmc">
              <el-input disabled v-model="ruleForm.qlxzmc"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="自然幢号:" prop="zrzh">
              <el-input disabled v-model="ruleForm.zrzDetail.zrzh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="户不动产单元号:" prop="ghytmc">
              <el-input disabled v-model="ruleForm.ghytmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="登记状态:" prop="djzt">
              <el-select disabled v-model="ruleForm.djzt" filterable clearable>
                <el-option v-for="item in djztList" :key="item.value" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="图幅丘幢号:" prop="tfqzh">
              <el-input disabled v-model="ruleForm.tfqzh"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="16">
            <el-form-item label="坐落:" prop="zl">
              <el-input disabled v-model="ruleForm.zl"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="房屋用途:">
              <el-input disabled v-model="ruleForm.ytmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="房屋性质:">
              <el-input disabled v-model="ruleForm.fwxz"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="房屋结构:">
              <el-input disabled v-model="ruleForm.fwjg"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <div class="slxx_title title-block">
          土地用途
          <div class="triangle"></div>
        </div>
        <tdytTable
          :ableOperation="ableOperation"
          :tableData="ruleForm.tdytqxList"
          @upDateTdytxxList="upDateTdytxxList" />
        <div class="slxx_title title-block">
          权利人信息
          <div class="triangle"></div>
        </div>
        <el-row :gutter="10">
          <el-col :span="14">
            <el-form-item label="共有方式:">
              <el-radio-group :disabled="!ableOperation" v-model="ruleForm.gyfs">
                <el-radio label="1">单独所有</el-radio>
                <el-radio label="2">共同共有</el-radio>
                <el-radio label="3">按份所有</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="5" v-show="ruleForm.gyfs == '2'">
            <el-form-item label="是否分别持证:">
              <el-radio-group v-model="ruleForm.sffbcz" :disabled="!ableOperation">
                <el-radio label="1"></el-radio>
                <el-radio label="0"></el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="5" v-show="ruleForm.gyfs == '2'">
            <el-form-item label="持证人:">
              <el-select v-model="ruleForm.czr" placeholder="持证人" :disabled="!ableOperation">
                <el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <qlrCommonTable :tableData="ruleForm.qlrList" :gyfs="ruleForm.gyfs" :disabled="!ableOperation" />
        <div class="slxx_title title-block">
          登记原因
          <div class="triangle"></div>
        </div>
        <el-row :gutter="10">
          <el-col>
            <el-form-item label="登记原因:" prop="djyy">
              <el-input class="textArea" type="textarea" maxlength="500" :disabled="!ableOperation" v-model="ruleForm.djyy">
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>
      </div>
      <el-row class="btn" v-if="ableOperation">
        <el-form-item>
          <el-button type="primary" @click="onSubmit">保存</el-button>
        </el-form-item>
      </el-row>
    </el-form>
  </div>
</template>
<script>
  import ywmix from "@/views/ywbl/mixin/index"
  import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
  import tdytTable from "@/views/workflow/components/tdytTable";
  import { Init } from "@/api/workflow/fwsyqFlow.js";
  import { mapGetters } from "vuex";
  export default {
    mixins: [ywmix],
    mounted () {
      this.ableOperation = this.$parent.currentSelectTab.ableOperation
      this.propsParam = this.$attrs;
      var formdata = new FormData();
      formdata.append("bsmSldy", this.propsParam.bsmSldy);
      Init(formdata).then((res) => {
        if (res.code === 200 && res.result) {
          this.ruleForm = {
            ...res.result,
            ...res.result.zdjbxxdatas,
            ...res.result.qlxxdatas,
            ...res.result.jsydsyqdatas,
          };
          this.czrOptions = this.ruleForm.qlrList;
        }
      });
    },
    components: { qlrCommonTable, tdytTable },
    computed: {
      ...mapGetters(["dictData", "flag"]),
    },
    data () {
      return {
        //表单是否可操作
        ableOperation: true,
        disabled: true,
        tdytOption: [],
        czrOptions: [],
        ruleForm: {
          ywh: "",
          slry: "",
          slsj: "",
          qllx: "",
          djlx: "",
          djqx: "",
          // 宗地代码
          zddm: "",
          bdcdyh: "",
          qlxzmc: "",
          qlrxx: [],
          // 自然幢号
          zrzh: "",
          // 户不动产单元号
          ghytmc: '',
          djzt: '',
          // 图幅丘幢号
          tfqzh: '',
          zl: '',
          // 房屋用途
          fwyt: '',
          fwxz: '',
          fwjg: '',
          // 权利人信息
          gyfs: "1",
          // 是否分别持证
          sffbcz: "",
          // 持证人
          czr: "",
          djyy: ''
        },
        //传递参数
        propsParam: {},
        rules: {},
      };
    },
    methods: {
      // 更新土地用途信息
      /**
       * @description: 更新土地用途信息
       * @param {*} val
       * @author: renchao
       */
      upDateTdytxxList (val) {
        this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val));
        this.czrOptions = this.ruleForm.qlrData;
        this.key++;
      },
      /**
       * @description: list
       * @param {*} bsmSldy
       * @author: renchao
       */
      list (bsmSldy) {
        var formdata = new FormData();
        formdata.append("bsmSldy", bsmSldy);
        formdata.append("isEdit", this.ableOperation);
        Init(formdata).then((res) => {
          if (res.code === 200 && res.result) {
            this.ruleForm = {
              ...res.result,
              ...res.result.zdjbxxdatas,
              ...res.result.qlxxdatas,
              ...res.result.jsydsyqdatas,
            };
          }
        });
      },
      /**
       * @description: onSubmit
       * @author: renchao
       */
      onSubmit () {
        let arr = this.ruleForm.tdytqxList.filter(item => !item.yt)
        if (arr.length > 0) {
          this.$message({
            showClose: true,
            message: "土地用途不能为空",
            type: "error",
          });
          return false;
        }
        fristReg(this.ruleForm).then((res) => {
          if (res.code === 200 && res.result) {
            console.log(res);
            //this.ruleForm = { ...res.result, ...res.result.zdjbxxdatas, ...res.result.qlxxdatas, ...res.result.jsydsyqdatas }
          }
        })
      }
    }
  };
</script>
<style scoped lang='scss'>
  @import "~@/styles/public.scss";

  /deep/.el-form {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 130px);
  }

  /deep/.el-form-item__label {
    padding: 0;
  }

  /deep/.el-radio {
    margin-right: 10px;
  }

  /deep/.el-select {
    width: 100%;
  }

  /deep/.el-form-item {
    margin-bottom: 8px;
  }

  .marginBot0 {
    margin-bottom: 0 !important;
  }

  .slxx {
    box-sizing: border-box;
  }

  .slxx_con {
    flex: 1;
    height: 100%;
    background-color: #ffffff;
    overflow-y: auto;
    padding-right: 3px;
    overflow-x: hidden;
  }

  .submit_btn {
    height: 50px;
  }

  .slxx_title {
    border-bottom: 1px solid $borderColor;
    padding-left: 10px;
    padding-bottom: 5px;
    margin-bottom: 10px;
    margin-top: 5px;
    font-size: 16px;
    font-weight: 500;
    color: #4a4a4a;
  }

  .btn {
    text-align: center;
    padding-top: 10px;
    height: 36px;
    background-color: #ffffff;
    padding: 5px 0;
  }

  .textArea {
    /deep/.el-textarea__inner {
      min-height: 90px !important;
    }
  }

  /deep/.el-form-item__label {
    padding-bottom: 0px;
  }
</style>