selectYbbgSplitMerge.vue 11.4 KB
<!--
 * @Description:
 * @Autor: renchao
 * @LastEditTime: 2023-11-16 14:14:10
-->
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
      <el-form :model="queryForm" ref="queryForm" label-width="100px">
        <el-row>
          <el-col :span="6">
            <el-form-item label="不动产权证号">
              <el-input placeholder="请输入不动产权证号" v-model="queryForm.bdcqzh" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="不动产单元号">
              <el-input placeholder="请输入不动产单元号" maxlength="28" v-model="queryForm.bdcdyh" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="坐落" label-width="60px">
              <el-input placeholder="请输入坐落" v-model.trim="queryForm.zl" clearable class="width100">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="4" class="btnColRight">
            <el-form-item>
              <el-button type="primary" @click="handleSearch">查询</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <!-- 表格 -->
    <div class="from-clues-content loadingtext">
      预告买卖登记信息
      <el-table
        :data="tableData.data"
        height="210"
        border
        :cell-style="{ textAlign: 'center' }"
        :header-cell-style="{textAlign: 'center'}"
        @row-click="clickChange"
        style="width: 100%">
        <el-table-column
          label="选择"
          width="50">
          <template slot-scope="scope">
            <el-radio v-model="radioVal"
              @click.native.stop.prevent="getCurrentRow(scope.row)"
              :label="scope.row.bdcdyh">{{''}}</el-radio>
          </template>
        </el-table-column>
        <el-table-column
          label="序号"
          type="index"
          width="50"
          align="center">
          <template slot-scope="scope">
            {{ scope.$index + (pageData.currentPage - 1) * pageData.pageSize + 1 }}
          </template>
        </el-table-column>

        <el-table-column
          label="状态"
          width="100">
          <template slot-scope="scope">
            <div>
              <a style='color:#3498db;' v-show="scope.row.djblzt==1">{{yWstatus(scope.row)}}</a>
              <span v-show="scope.row.djblzt !=1">{{yWstatus(scope.row)}}</span>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          width="100"
          label="预告登记种类">
          <template slot-scope="scope">
            <el-tooltip effect="dark" :content="scope.row.ygdjzlmc" placement="top" popper-class="tooltip-width ">
              <span class="ellipsis-table"> {{scope.row.ygdjzlmc}}</span>
            </el-tooltip>
          </template>
        </el-table-column>
        <el-table-column
          property="bdcdyh"
          label="不动产单元号"
          width="150">
        </el-table-column>
        <el-table-column
          width="150"
          label="不动产登记证明号">
          <template slot-scope="scope">
            <el-tooltip effect="dark" :content="scope.row.bdcqzh" placement="top" popper-class="tooltip-width">
              <span class="ellipsis-table"> {{scope.row.bdcqzh}}</span>
            </el-tooltip>
          </template>
        </el-table-column>
        <el-table-column
          width="100"
          label="权利人">
          <template slot-scope="scope">
            <el-tooltip effect="dark" :content="scope.row.qlrmc" placement="top" popper-class="tooltip-width">
              <span class="ellipsis-table"> {{scope.row.qlrmc}}</span>
            </el-tooltip>
          </template>
        </el-table-column>
        <el-table-column
          width="100"
          label="证件号">
          <template slot-scope="scope">
            <el-tooltip effect="dark" :content="scope.row.qlrzjhm" placement="top" popper-class="tooltip-width">
              <span class="ellipsis-table"> {{scope.row.qlrzjhm}}</span>
            </el-tooltip>
          </template>
        </el-table-column>
        <el-table-column
          property="ywrmc"
          label="义务人">
        </el-table-column>
        <el-table-column
          property="ywrzjhm"
          label="义务人证件号">
        </el-table-column>
        <el-table-column
          property="fwxzmc"
          label="房屋性质">
        </el-table-column>
        <el-table-column
          property="ytmc"
          label="房屋用途">
        </el-table-column>

        <el-table-column
          width="100"
          label="房屋结构">
          <template slot-scope="scope">
            <el-tooltip effect="dark" :content="scope.row.fwjgmc" placement="top" popper-class="tooltip-width">
              <span class="ellipsis-table"> {{scope.row.fwjgmc}}</span>
            </el-tooltip>
          </template>
        </el-table-column>

        <el-table-column
          property="jzmj"
          label="房屋面积(㎡)">
        </el-table-column>
        <el-table-column
          width="150"
          label="坐落">
          <template slot-scope="scope">
            <el-tooltip effect="dark" :content="scope.row.zl" placement="top" popper-class="tooltip-width">
              <span class="ellipsis-table"> {{scope.row.zl}}</span>
            </el-tooltip>
          </template>
        </el-table-column>
        <el-table-column
          label="操作"
          width="80">
          <template slot-scope="scope">
            <el-button type="text" icon="el-icon-edit-outline" @click="openBook(scope.row)">登记薄</el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination background layout="prev, pager, next,total" :total="tableData.total"
        @current-change="handleCurrentChange"></el-pagination>
    </div>
    <div class="from-clues-content loadingtext">
      预告抵押信息
      <lb-table ref="table" :pagination="false" :calcHeight="500" :column="tableData.columns"
        :data="tableData.dataList">
      </lb-table>
    </div>
    <div class="submit_button">
      <el-button @click="$popupCacel">取消</el-button>
      <el-button type="primary" plain @click="submitForm" :loading="loading">发起申请</el-button>
    </div>
  </div>
</template>
<script>
  //首次登记
  import jump from "./mixin/jump";
  import store from '@/store/index.js'
  import ywsqTable from "@/utils/mixin/ywsqTable";
  import { ywPopupDialog } from "@/utils/popup.js";
  import { datas, sendThis } from "../javascript/selectYgdy.js";
  import { defaultParameters } from "../javascript/publicDefaultPar.js";
  import { selectYgdj200, selectYgdy } from "@/api/ywsq.js";
  import { startTogetherFlow } from "@/api/workFlow.js";
  export default {
    mixins: [ywsqTable, jump],
    props: {
      isJump: { type: Boolean, default: false },
      sqywInfo: { type: Object, default: () => { } },
    },
    data () {
      return {
        loading: false,
        queryForm: defaultParameters.defaultParameters(),
        // 表格数据
        tableData: {
          columns: datas.columns(),
          data: [],
          total: 0,
          dataList: []
        },
        bdcdysz: [],
        radioVal: ""
      }
    },
    mounted () {
      sendThis(this)
    },
    methods: {
      /**
       * @description: yWstatus
       * @param {*} row
       * @author: renchao
       */
      yWstatus (row) {
        let text = "";
        let keys = 0;
        // 定义策略对象
        const strategies = {
          djblzt: "正在办理",
          zjgcdyzt: "在建工程抵押",
          ycfzt: "已预查封",
          cfzt: "已查封",
          diyizt: "已地役",
          yyzt: "异议中",
          xzzt: "已限制",
          ygmmzt: "已预告买卖",
          ygdyzt: "已预告抵押",
          dyzt: "已抵押",
          sfbl: "正在补录"
        };

        for (let key in row) {
          if (row[key] === 1 && strategies[key]) {
            keys++;
            if (keys == 1) {
              text += strategies[key];
            } else {
              text += ',' + strategies[key];
            }
          }
        }

        return text;
      },
      /**
       * @description: clickChange
       * @param {*} row
       * @author: renchao
       */
      clickChange (row) {
        this.getCurrentRow(row)
      },
      /**
       * @description: 单选事件
       * @param {*} row
       * @author: renchao
       */
      getCurrentRow (row) {
        this.radioVal = row.bdcdyh;
        this.bdcdysz = [row]
        selectYgdy({ bdcdyh: this.radioVal, currentPage: 1, pageSize: 10 }).then((res) => {
          if (res.code === 200) {
            this.tableData.dataList = res.result.records
            this.bdcdysz = [this.bdcdysz[0], ...this.tableData.dataList]
          }
          console.log(this.bdcdysz, 'this.bdcdysz');
        })
      },
      /**
       * @description: queryClick
       * @author: renchao
       */
      queryClick () {
        this.$startLoading();
        this.queryForm.sqywbm = this.sqywInfo.djywbm;
        selectYgdj200({ ...this.queryForm, ...this.pageData }).then((res) => {
          this.$endLoading();
          if (res.code === 200) {
            let { total, records } = res.result;
            this.tableData.total = total;
            this.tableData.data = records;
          }
        })
      },
      /**
       * @description: handleCurrentChange
       * @param {*} val
       * @author: renchao
       */
      handleCurrentChange (val) {
        this.pageData.currentPage = val
        this.queryClick()
      },
      /**
       * @description: submitForm
       * @author: renchao
       */
      submitForm () {
        this.loading = true
        startTogetherFlow({
          bsmSqyw: this.sqywInfo.bsmSqyw,
          bdcdysz: this.bdcdysz,
        }).then((res) => {
          this.loading = false
          if (res.code == 200) {
            this.$message({
              showClose: true,
              message: "发起申请成功",
              type: "success",
            });
            if (!this.isJump) {
              this.jump(res.result, this.sqywInfo.djywbm);
            } else {
              store.dispatch('user/refreshPage', true);
            }
            this.$popupCacel()
          } else {
            if (res.result && res.result.length > 0) {
              ywPopupDialog("申请错误明细", "components/ywdialog", { result: res.result }, '36%', true)
            } else {
              ywPopupDialog("申请错误明细", "components/ywdialog", { message: res.message }, '36%', true)
            }
          }
        }).catch(() => {
          this.loading = false
        })
      },
      /**
       * @description: openBook
       * @param {*} row
       * @author: renchao
       */
      openBook (row) {
        var param = {
          bdcdyid: row.bdcdyid,
          qllx: row.qllx,
          bdcdyh: row.bdcdyh,
          bsmQlxx: row.bsmQlxx,
        };
        this.$popup("登记簿详情", "registerBook/djbFrame", {
          formData: param
        })
      }
    }
  }
</script>
<style scoped lang="scss">
  @import "~@/styles/mixin.scss";
  @import "~@/styles/public.scss";
  /deep/.el-radio__label {
    display: none;
  }
  /deep/.el-table .cell {
    line-height: 20px;
  }
</style>