djbcx.vue 5.17 KB
<template>
  <div class="from-clues">
    <!-- 表单部分 -->
    <div class="from-clues-header">
      <el-form :model="queryForm" ref="queryForm">
        <el-row>
          <el-col :span="5">
            <el-form-item label="权利类型">
              <el-select v-model="queryForm.qllx" filterable clearable placeholder="请选择权利类型">
                <el-option v-for="item in dictData['权利类型']" :key="item.dcode" :label="item.dname" :value="item.dcode">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="不动产单元号">
              <el-input placeholder="请输入不动产单元号" v-model="queryForm.bdcdyh" clearable class="width200px">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="不动产权证号">
              <el-input placeholder="请输入不动产权证号" v-model="queryForm.bdcqzh" clearable class="width200px">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="5">
            <el-form-item label="业务号">
              <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width200px">
              </el-input>
            </el-form-item>
          </el-col>

          <el-col :span="4" class="btnCol">
            <el-form-item>
              <el-button type="primary" @click="queryClick()">查询</el-button>
              <el-button @click="moreQueryClick()">高级查询</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <!-- 表格 -->
    <div class="from-clues-content">
      <lb-table :page-size="pageData.size" border @sort-change="handleSort" :current-page.sync="pageData.current"
        :total="pageData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
        :column="tableData.columns" :data="tableData.data">
      </lb-table>
    </div>
    <djbxxDialog v-model="isDialog" ref="djbxxDialog" :data="djbxxData" />
  </div>
</template>
<script>
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./djbcxdata";
import djbxxDialog from "./components/djbxxDialog.vue";
import {
  getDjbBysearch,
  getDjbfm,
  getDjml,
  getZdjbxx,
  getQlname,
  getDetail,
} from "@/api/zhcx.js";
import { mapGetters } from "vuex";
import axios from "axios";

export default {
  name: "djbcx",
  components: {
    djbxxDialog,
  },
  mixins: [table],
  mounted () {
    sendThis(this);
  },
  data () {
    return {
      queryForm: {
        qllx: "",
        bdcdyh: "",
        bdcqzh: "",
        ywh: "",
      },
      pageData: {
        current: 1,
        size: 10,
        total: 0,
      },
      ywlys: datas.ywlys(),
      tableData: {
        columns: datas.columns(),
        data: [],
      },
      qllxs: [],
      isDialog: false,
      djbxxData: {},
    };
  },
  computed: {
    ...mapGetters(["dictData"]),
  },
  methods: {
    // 初始化数据
    fetchData () {
      getDjbBysearch({ ...this.queryForm, ...this.pageData }).then((res) => {
        if (res.code === 200) {
          let { total, records } = res.result;
          this.pageData.total = total;
          this.tableData.data = records;
        }
      });
    },
    handleSort (name, sort) {
      console.log(name, sort);
    },
    // 查询
    queryClick () {
      this.pageData.current = 1;
      this.pageData.currentPage = 1;
      this.fetchData();
    },
    // 高级查询
    moreQueryClick () { },
    openDialog (scroll) {
      //debugger;
      let _this = this;
      let bsm = scroll.bsmQlxx;
      axios
        .all([
          getDjbfm(bsm),
          getDjml(bsm),
          getZdjbxx(bsm),
          getQlname(bsm),
          getDetail(bsm),
        ])
        .then(([djbfm, djml, zdjbxx, qlname, detail]) => {
          let obj = {
            djbfm: djbfm.result,
            djml: djml.result,
            zdjbxx: zdjbxx.result,
            qlname: qlname.result,
            detail: detail.result,
          };
          this.$store.dispatch("djbxx/setDjbxx", obj);
          _this.isDialog = true;

          // 弹窗打开,自动切换到对应的登记类型
          if (scroll.qllxmc == "国有建设用地使用权") {
            this.$refs.djbxxDialog.showType = "JSYDSYQ";
          } else if (scroll.qllxmc == "抵押权") {
            this.$refs.djbxxDialog.showType = "DYAQ";
          } else if (scroll.qllxmc == "地役权") {
            this.$refs.djbxxDialog.showType = "DYIQ";
          } else if (scroll.qllxmc == "预告登记") {
            this.$refs.djbxxDialog.showType = "YGDJ";
          } else if (scroll.qllxmc == "异议登记") {
            this.$refs.djbxxDialog.showType = "YYDJ";
          } else if (scroll.qllxmc == "查封登记") {
            this.$refs.djbxxDialog.showType = "CFDJ";
          }
        });
    },
  },
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";

.icon-circle {
  position: relative;
}

.icon-circle::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #000;
  top: 0px;
  left: 0px;
}
</style>