slxx.vue 10.8 KB
<!--
 * @Description: 
 * @Autor: renchao
 * @LastEditTime: 2023-05-25 08:59:02
-->
<template>
  <!-- 受理信息 -->
  <div class="slxx">
    <el-form :model="ruleForm" :rules="rules" class="loadingtext" ref="ruleForm" :label-position="flag ? 'top' : ''"
      :inline="flag" label-width="120px">
      <div class="slxx_con" v-if="isShow" :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="业务号:">
              <el-input disabled v-model="ruleForm.flow.ywh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="受理人员:">
              <el-input disabled v-model="ruleForm.slsq.slry"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="受理时间:">
              <el-input disabled v-model="ruleForm.slsq.slsj"></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.sldy.qllxmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="登记类型:">
              <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="登记情形:">
              <el-input disabled v-model="ruleForm.slsq.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="宗地代码:">
              <el-input disabled v-model="ruleForm.zdjbxx.zddm"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="不动产单元号:">
              <el-input disabled v-model="ruleForm.zdjbxx.bdcdyh"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="权利性质:">
              <el-input disabled v-model="ruleForm.zdjbxx.qlxzmc"></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.zdjbxx.zdmj"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="土地用途:">
              <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="权利设定方式:">
              <el-input disabled v-model="ruleForm.zdjbxx.qlsdfsmc"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="10">
          <el-col :span="8">
            <el-form-item label="取得价格:">
              <div style="display:flex">
                <el-input v-model="ruleForm.jsydsyq.qdjg" style="width:500%" :disabled="$route.query.viewtype == '1'"
                  oninput="value=value.replace(/[^\d.]/g,'')"></el-input>
                <el-select v-model="ruleForm.jsydsyq.jedw" :disabled="$route.query.viewtype == '1'">
                  <el-option v-for="item in dictData['A57']" :key="item.dcode" :label="item.dname" :value="item.dcode">
                  </el-option>
                </el-select>
              </div>
            </el-form-item>
          </el-col>

          <el-col :span="16">
            <el-form-item label="坐落:">
              <el-input disabled v-model="ruleForm.zdjbxx.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.jsydsyq.tdsyqx"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="16">
            <el-form-item label="使用权起止时间:">
              <el-input disabled v-model="ruleForm.jsydsyq.syqqzsj"></el-input>
            </el-form-item>
          </el-col>
        </el-row> -->
        <!-- <el-row :gutter="10">
          <el-col>
            <el-form-item label="附记:" prop="fj">
              <el-input type="textarea" v-model="ruleForm.jsydsyq.fj" :disabled="$route.query.viewtype == '1'"></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="12">
            <el-form-item label="共有方式:">
              <el-radio-group :disabled="$route.query.viewtype == 0" v-model="ruleForm.sldy.gyfs">
                <el-radio label="0">单独所有</el-radio>
                <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="6" v-show="ruleForm.sldy.gyfs == '1'">
            <el-form-item label="是否分别持证:">
              <el-radio-group v-model="ruleForm.sldy.sqfbcz">
                <el-radio :label=1></el-radio>
                <el-radio :label=0></el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col :span="6" v-show="ruleForm.sldy.sqfbcz == '0'&&ruleForm.sldy.gyfs == '1'">
            <el-form-item label="持证人:">
              <el-select v-model="ruleForm.czr" placeholder="持证人">
                <el-option v-for="item in czrOptions" :key="item.zjh" :label="item.sqrmc" :value="item.zjh">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <qlrCommonTable :tableData="ruleForm.qlrList" @upDateQlrxxList="upDateQlrxxList" :key="key"
          :viewtype="$route.query.viewtype" :gyfs="ruleForm.sldy.gyfs" />

        <div v-if="ruleForm.ywrList && ruleForm.ywrList.length > 0">
          <div class="slxx_title title-block">
            义务人信息
            <div class="triangle"></div>
          </div>
          <qlrCommonTable v-if="ruleForm.ywrList" :tableData="ruleForm.ywrList" :key="key" @upDateQlrxxList="upDateYwrxxList"
            :viewtype="$route.query.viewtype" />
        </div>

        <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" :disabled="$route.query.viewtype"
                v-model="ruleForm.jsydsyq.djyy">
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>
      </div>
      <el-row class="btn" v-if="!$route.query.viewtype && ableOperation">
        <el-form-item>
          <el-button type="primary" @click="onSubmit">保存</el-button>
        </el-form-item>
      </el-row>
    </el-form>
  </div>
</template>
<script>
  import { mapGetters } from "vuex"
  import { Init, saveData } from "@/api/workflow/tdsyqFlow.js"
  import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"
  export default {
    mounted () {
      this.ableOperation = this.$parent.currentSelectTab.ableOperation
      this.propsParam = this.$attrs;
      var formdata = new FormData();
      let that = this
      this.$startLoading();
      formdata.append("bsmSldy", this.propsParam.bsmSldy);
      formdata.append("djlx", this.propsParam.djlx);
      formdata.append("isEdit", this.ableOperation);
      Init(formdata).then((res) => {
        this.$nextTick(() => {
          that.ruleForm = res.result;
          that.$endLoading();
          that.isShow = true;
          this.czrOptions = this.ruleForm.qlrList;
        })
      })
    },
    components: { qlrCommonTable },
    computed: {
      ...mapGetters(["dictData", "flag"])
    },
    data () {
      return {
        //表单是否可操作
        ableOperation: true,
        key: 0,
        isShow: false,
        disabled: true,
        czrOptions: [],
        ruleForm: {},
        //传递参数
        propsParam: {},
        rules: {}
      }
    },
    methods: {
      // 更新权利人信息
      upDateQlrxxList (val) {
        this.ruleForm.qlrList && (this.ruleForm.qlrList = _.cloneDeep(val))
        this.czrOptions = this.ruleForm.qlrList;
        this.key++
      },
      // 更新义务人信息
      upDateYwrxxList (val) {
        this.ruleForm.ywrList && (this.ruleForm.ywrList = _.cloneDeep(val))
        this.key++
      },
      onSubmit () {
        if (this.ruleForm.qlrList.length == 0) {
          this.$message({
            showClose: true,
            message: "请确认权利人信息",
            type: "error",
          });
          return false;
        }

        if (this.ruleForm.sldy.gyfs == "0") {
          if (this.ruleForm.qlrList.length > 1) {
            this.$message({
              showClose: true,
              message: "共有方式:单独所有,权利人只能是一个人",
              type: "error",
            });
            return false;
          }
          this.ruleForm.qlrList[0].sfczr = "1";
        }
        if (this.ruleForm.sldy.gyfs == "1") {
          //是否分别持证
          if (this.ruleForm.sldy.sqfbcz == '1') { //是
            this.ruleForm.qlrList.forEach((item, index) => {
              item.sfczr = "1"
            });
          } else {
            this.ruleForm.qlrList.forEach((item, index) => {
              if (item.zjh == this.ruleForm.czr) {
                item.sfczr = "1"
              } else {
                item.sfczr = "0"
              }
            })
          }
        }
        saveData(this.ruleForm).then((res) => {
          if (res.code === 200) {
            this.$message({
              showClose: true,
              message: "保存成功!",
              type: "success"
            })
            this.$store.dispatch('user/refreshPage', true);
          } else {
            this.$message({
              showClose: true,
              message: res.message,
              type: "error"
            })
          }
        })
      }
    }
  }
</script>
<style scoped lang='scss'>
  @import "~@/styles/public.scss";
  @import "~@/styles/slxx/slxx.scss";
</style>