<!-- * @Description: * @Autor: renchao * @LastEditTime: 2023-09-13 11:19:54 --> <template> <div class="from-clues"> <el-tabs type="card" v-model="activeName" @tab-click="handleTabClick" v-if="!isJump"> <el-tab-pane label="自然幢" name="zrz"></el-tab-pane> <el-tab-pane label="多幢" name="dz"></el-tab-pane> </el-tabs> <div v-show="activeName == 'zrz'"> <div class="from-clues-header"> <el-form :model="queryzrzForm" ref="queryzrzForm" label-width="110px"> <el-row> <el-col :span="7"> <el-form-item label="宗地代码"> <el-input placeholder="请输入宗地代码" v-model="queryzrzForm.zddm" clearable> </el-input> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="土地证号"> <el-input placeholder="请输入土地证号" v-model="queryzrzForm.bdcqzh" clearable> </el-input> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="土地坐落"> <el-input placeholder="请输入土地坐落" v-model="queryzrzForm.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="queryzrzForm.zrzh" clearable> </el-input> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="项目名称"> <el-input placeholder="请输入项目名称" v-model="queryzrzForm.xmmc"></el-input> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="建筑物名称"> <el-input placeholder="请输入建筑物名称" v-model="queryzrzForm.jzwmc" clearable> </el-input> </el-form-item> </el-col> <el-col :span="3" class="btnColRight"> <el-form-item> <el-button type="primary" @click="resetForm(true)">重置</el-button> <el-button type="primary" @click="handleSearch">查询</el-button> </el-form-item> </el-col> </el-row> </el-form> </div> <div class="from-clues-content loadingtext"> <lb-table ref="table1" @row-click="handleRowClick" :page-size="pageData.pageSize" :calcHeight="300" :current-page.sync="pageData.currentPage" :total="zrztableData.total" @size-change="handleSizeChange" @select="select" @p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="zrztableData.columns" :data="zrztableData.data"> </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> <div v-show="activeName == 'dz'"> <div class="from-clues-header"> <el-form :model="querydzForm" ref="querydzForm" label-width="110px"> <el-row> <el-col :span="7"> <el-form-item label="宗地代码"> <el-input placeholder="请输入宗地代码" v-model="querydzForm.zddm" clearable> </el-input> </el-form-item> </el-col> <el-col :span="7"> <el-form-item label="坐落"> <el-input placeholder="请输入土地坐落" v-model="querydzForm.zl" clearable> </el-input> </el-form-item> </el-col> <el-col :span="10" class="btnColRight"> <el-form-item> <el-button type="primary" @click="resetForm(true)">重置</el-button> <el-button type="primary" @click="handleSearch">查询</el-button> </el-form-item> </el-col> </el-row> </el-form> </div> <div class="from-clues-content loadingtext"> <lb-table ref="table" @row-click="handleRowClick" :page-size="pageData.pageSize" :calcHeight="300" :current-page.sync="pageData.currentPage" :total="dztableData.total" @size-change="handleSizeChange" @select="select" @p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="dztableData.columns" :data="dztableData.data"> </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> </div> </template> <script> import Vue from 'vue' import store from '@/store/index.js' import table from "@/utils/mixin/table"; //国有建设用地使用权/房屋使用权 import { ywPopupDialog } from "@/utils/popup.js"; import { datas, sendThis } from "../javascript/fwsyq.js"; import jump from "@/views/ywbl/ywsq/components/mixin/jump"; import { selectOtherH, selectZrz, selectDz } from "@/api/ywsq.js"; import { startBusinessFlow, choiceBdcdy } from "@/api/workFlow.js"; export default { mixins: [table, jump], props: { isJump: { type: Boolean, default: false }, sqywInfo: { type: Object, default: () => { } }, }, data () { return { loading: false, activeName: 'zrz', queryzrzForm: { qllx: '', bdcdyh: '', ywh: '', bdcqzh: '' }, querydzForm: { qllx: '', bdcdyh: '', ywh: '', bdcqzh: '' }, zrztableData: { total: 0, columns: datas.zrzcolumns(), data: [], }, dztableData: { total: 0, columns: datas.dzcolumns(), data: [], }, bdcdysz: [], }; }, mounted () { sendThis(this) }, methods: { /** * @description: queryClick * @author: renchao */ queryClick () { this.$startLoading(); if (!this.isJump) { //从业务办理进入 if (this.activeName == "zrz") { this.queryzrzForm.sqywbm = this.sqywInfo.djywbm; this.queryzrzForm.fwfl = this.activeName; selectZrz({ ...this.queryzrzForm, ...this.pageData }).then((res) => { this.$endLoading(); if (res.code === 200) { this.zrztableData.total = res.result.total; this.zrztableData.data = res.result.records; } }); } else { this.querydzForm.sqywbm = this.sqywInfo.djywbm; this.querydzForm.fwfl = this.activeName; selectDz({ ...this.querydzForm, ...this.pageData }).then((res) => { this.$endLoading(); if (res.code === 200) { this.dztableData.total = res.result.total; this.dztableData.data = res.result.records; } }) } } else { //从办理框架选择不动产单元进入 //房屋首次办理选择不动产需找出对应自然幢下未选择的户 this.queryzrzForm.bsmSlsq = Vue.prototype.$currentRoute.query.bsmSlsq; selectOtherH({ ...this.queryzrzForm, ...this.pageData }).then((res) => { this.$endLoading(); if (res.code === 200) { let { total, records } = res.result; this.zrztableData.total = total; this.zrztableData.data = records; } }) } }, /** * @description: handleTabClick * @author: renchao */ handleTabClick () { this.bdcdysz = [], this.pageData.currentPage = 1; this.queryClick(); }, /** * @description: submitForm * @author: renchao */ submitForm () { if (this.bdcdysz.length == 0) { this.$message.error("请至少选择一条数据"); return; } if (!this.isJump) { this.loading = true startBusinessFlow({ bsmSqyw: this.sqywInfo.bsmSqyw, //sjlx: 'zrz', sjlx: this.activeName, 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 }) } else { this.loading = true choiceBdcdy({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq, bdcdysz: this.bdcdysz }).then(res => { this.loading = false if (res.code == 200) { this.$message({ showClose: true, message: '发起申请成功', type: 'success' }) 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: handleSelectionChange * @param {*} val * @author: renchao */ handleSelectionChange (val) { if (this.sqywInfo.sqywdylx == "1") { if (val.length > 1) { this.bdcdysz = [...val[val.length - 1]]; } else { this.bdcdysz = val; } } else { this.bdcdysz = val; } }, /** * @description: handleLpbClick * @param {*} item * @author: renchao */ handleLpbClick (item) { ywPopupDialog('楼盘表', 'lpb/index', { bsm: item.bsm, bsmSqyw:this.sqywInfo.bsmSqyw, scyclx:1 }, '85%', true,false) }, /** * @description: select * @param {*} selection * @param {*} row * @author: renchao */ select (selection, row) { if (this.sqywInfo.sqywdylx == "1") { // 清除 所有勾选项 this.$refs.table.clearSelection() // 当表格数据都没有被勾选的时候 就返回 // 主要用于将当前勾选的表格状态清除 if (selection.length == 0) return this.$refs.table.toggleRowSelection(row, true); } }, /** * @description: handleRowClick * @param {*} row * @author: renchao */ handleRowClick (row) { // 自然幢多选,多幢单选 let refs = 'table1'; if (this.activeName == 'dz') { refs = 'table'; this.$refs[refs].clearSelection() } else { } const bdcdysz = this.bdcdysz if (bdcdysz.length > 0) { bdcdysz.forEach(item => { // 判断 如果当前的一行被勾选, 再次点击的时候就会取消选中 if (item == row) { this.$nextTick(()=>{this.$refs[refs].toggleRowSelection(row, false);}) } // 不然就让当前的一行勾选 else { this.$refs[refs].toggleRowSelection(row, true); } }) } else { this.$refs[refs].toggleRowSelection(row, true); } }, /** * @description: openBook * @param {*} row * @author: miaofang */ 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"; </style>