djbcx.vue 5.18 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"
        @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(scope) {
      let _this = this;
      let bsm = scope.row.bsmQlxx;
      axios
        .all([
          getDjbfm(bsm),
          getDjml(bsm),
          getZdjbxx(bsm),
          getQlname(bsm),
          getDetail(bsm),
        ])
        .all([getDjbfm(bsm), getDjml(bsm), getZdjbxx(bsm), getQlname(bsm)])
        .then(([djbfm, djml, zdjbxx, qlname]) => {
          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 (scope.row.qllxmc == "预告买卖登记") {
          //   this.$refs.djbxxDialog.showTab = "ygdj";
          // } else if (scope.row.qllx == "查封登记") {
          //   this.$refs.djbxxDialog.showTab = "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>