fwsyq.vue 6.58 KB
<template>
  <div class="from-clues">
    <div class="from-clues-header">
      <el-tabs v-model="activeName" @tab-click="handleTabClick" v-if="!isJump">
        <el-tab-pane label="自然幢" name="zrz"></el-tab-pane>
        <el-tab-pane label="户" name="h"></el-tab-pane>
      </el-tabs>
      <el-form :model="queryForm" ref="queryForm" label-width="110px">
        <el-row>
          <el-col :span="7">
            <el-form-item label="宗地代码">
              <el-input placeholder="宗地代码" v-model="queryForm.zddm" clearable>
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="土地证号">
              <el-input placeholder="土地证号" v-model="queryForm.bdcqzh" clearable>
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="土地坐落">
              <el-input placeholder="土地坐落" v-model="queryForm.zl" clearable>
              </el-input>
            </el-form-item>
          </el-col>

        </el-row>
        <el-row>
          <el-col :span="7">
            <el-form-item label="自然幢号">
              <el-input placeholder="自然幢号" v-model="queryForm.zrzh" clearable>
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="项目名称">
              <el-input v-model="queryForm.xmmc"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="7">
            <el-form-item label="建筑物名称">
              <el-input placeholder="建筑物名称" v-model="queryForm.jzwmc" clearable>
              </el-input>
            </el-form-item>
          </el-col>

          <el-col :span="3" class="btnColRight">
            <el-form-item>
              <el-button type="primary" @click="fetchData()">查询</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <div class="from-clues-content">
      <lb-table ref="table" @row-click="handleRowClick" :page-size="pageData.pageSize" :heightNum="400"
        :current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange"
        @p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="tableData.columns"
        :data="tableData.data">
      </lb-table>
    </div>
    <div class="submit_button">
      <el-button @click="closeDialog">取消</el-button>
      <el-button type="primary" plain @click="submitForm">发起申请</el-button>
    </div>
  </div>
</template>
<script>
//国有建设用地使用权/房屋使用权
import { datas, sendThis } from "../javascript/fwsyq.js";
import table from "@/utils/mixin/table";
import jump from "@/views/ywbl/ywsq/components/mixin/jump";
import { selectScBdcdy, startBusinessFlow, choiceBdcdy, selectOtherH, selectZrz, selectH } from "@/api/ywbl.js";
export default {
  mixins: [table, jump],
  props: {
    isJump: { type: Boolean, default: false },
    djywbm: { type: String, default: '' },
    djqxObj: {
      type: Object,
      default: {}
    },
    bsmSqyw: { type: String, default: '' },
  },
  data () {
    return {
      activeName: 'zrz',
      queryForm: {
        qllx: '',
        bdcdyh: '',
        ywh: '',
        bdcqzh: ''
      },

      tableData: {
        total: 0,
        columns: datas.columns(),
        data: [],
      },
      bdcdysz: []
    };
  },
  mounted () {
    sendThis(this)
  },
  methods: {
    //点击行选中或取消复选框
    handleRowClick (row, column, event) {
      //通过ref绑定后这里使用$refs.table来操作bom元素
      this.$refs.table.toggleRowSelection(row);
    },
    closeDialog () {
      this.$emit("closeDialog");
    },
    fetchData () {
      if (!this.isJump) {
        //从业务办理进入
        this.queryForm.sqywbm = this.djywbm;
        this.queryForm.fwfl = this.activeName;
        if (this.activeName == "zrz") {
          selectZrz({ ...this.queryForm, ...this.pageData }).then((res) => {
            if (res.code === 200) {
              this.tableData.total = res.result.total;
              this.tableData.data = res.result.records;
            }
          });
        } else {
          selectH({ ...this.queryForm, ...this.pageData }).then((res) => {
            if (res.code === 200) {
              this.tableData.total = res.result.total;
              this.tableData.data = res.result.records;
            }
          })
        }

      } else {
        //从办理框架选择不动产单元进入
        //房屋首次办理选择不动产需找出对应自然幢下未选择的户
        this.queryForm.bsmSlsq = this.$route.query.bsmSlsq;
        selectOtherH({ ...this.queryForm, ...this.pageData }).then((res) => {
          if (res.code === 200) {
            let { total, records } = res.result;
            this.tableData.total = total;
            this.tableData.data = records;
          }
        })
      }
    },
    handleTabClick () {
      this.pageData.currentPage = 1;
      this.fetchData();
    },
    submitForm () {
      if (this.bdcdysz.length == 0) {
        this.$message.error("请至少选择一条数据");
        return;
      }
      if (!this.isJump) {
        startBusinessFlow({
          bsmSqyw: this.bsmSqyw,
          fwlx: this.activeName,
          bdcdysz: this.bdcdysz,
          djqxbm: this.djqxObj?.djqxbm,
          djqxmc: this.djqxObj?.djqxmc
        }).then((res) => {
          if (res.code == 200) {
            this.$message({
              showClose: true,
              message: '发起申请成功',
              type: 'success'
            })
            this.jump(res.result, this.djywbm)
          } else {
            this.$message.error(res.message);
          }
        })
      } else {
        choiceBdcdy({
          bsmSlsq: this.$route.query.bsmSlsq,
          bdcdysz: this.bdcdysz
        }).then(res => {
          if (res.code == 200) {
            this.$message({
              showClose: true,
              message: '发起申请成功',
              type: 'success'
            })
            this.$emit('updateDialog', true)
          } else {
            this.$message.error(res.message);
          }
        })
      }
    },
    handleSelectionChange (val) {
      this.bdcdysz = val
    },
    handleLpbClick (item) {
      this.$popup('楼盘表', 'components/bjlp/index', {
        width: '85%',
        formData: {
          bsm: item.bsm
        }
      })
    }
  }
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
</style>