<!-- * @Description: * @Autor: renchao * @LastEditTime: 2024-02-02 16:38: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" v-if="sqywInfo.djywbm !== 'B37100'"></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="handleSearch">查询</el-button> <el-button type="primary" @click="resetForm(true)">重置</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" @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="90px"> <el-row> <el-col :span="6"> <el-form-item label="宗地代码"> <el-input placeholder="请输入宗地代码" v-model="querydzForm.zddm" clearable> </el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="坐落"> <el-input placeholder="请输入土地坐落" v-model="querydzForm.zl" clearable> </el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="权利人"> <el-input placeholder="请输入权利人" v-model="querydzForm.qlr" clearable> </el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="证件号"> <el-input placeholder="请输入证件号" v-model="querydzForm.zjh" clearable> </el-input> </el-form-item> </el-col> <el-col :span="24" class="btnColRight"> <el-form-item> <el-button type="primary" @click="handleSearch">查询</el-button> <el-button type="primary" @click="resetFormDz(true)">重置</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="262" :current-page.sync="pageData.currentPage" :total="dztableData.total" @size-change="handleSizeChange" @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" v-if="sqywInfo.isworkFrame">添加单元</el-button> <el-button type="primary" plain @click="submitForm" :loading="loading" v-else>发起申请</el-button> </div> </div> </div> </template> <script> import Vue from 'vue' import store from '@/store/index.js' import ywsqTable from "@/utils/mixin/ywsqTable"; //国有建设用地使用权/房屋使用权 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, againAddSldy } from "@/api/workFlow.js"; export default { mixins: [ywsqTable, jump], props: { isJump: { type: Boolean, default: false }, sqywInfo: { type: Object, default: () => { } }, }, data () { return { loading: false, activeName: 'dz', radioVal: '', queryzrzForm: { qllx: '', bdcdyh: '', ywh: '', bdcqzh: '' }, querydzForm: { zddm: '', zl: '', qlr: '', zjh: '' }, zrztableData: { total: 0, columns: datas.zrzcolumns(), data: [], }, dztableData: { total: 0, columns: datas.dzcolumns(), data: [], }, bdcdysz: [], }; }, mounted () { sendThis(this) if (this.sqywInfo.djywbm == 'B37100') { this.zrztableData.columns = [{ type: 'selection', label: '全选', width: '50' }].concat(datas.zrzcolumns()) } else { this.zrztableData.columns = [{ label: '选择', width: '50px', render: (h, scope) => { return ( <div class="orgColumn"> <el-radio onChange={() => { this.handleZrzChange(scope.row) }} v-model={this.radioVal} label={scope.row.bdcdyid}>   </el-radio> </div> ) } }].concat(datas.zrzcolumns()) } }, methods: { resetFormDz () { this.querydzForm = { zddm: '', zl: '', qlr: '', zjh: '' } this.pageData.currentPage = 1; this.queryClick() }, /** * @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 () { let that = this if (this.bdcdysz.length == 0) { this.$message.error("请至少选择一条数据"); return; } if (this.sqywInfo.isworkFrame) { store.dispatch('user/reMenuRefresh', false) againAddSldy({ bsmSqyw: that.sqywInfo.bsmSqyw, bdcdysz: that.bdcdysz, bsmSlsq: that.sqywInfo.bsmSlsq, }).then(res => { that.loading = false if (res.code == 200) { if (this.sqywInfo.sqywdylx != "1") { that.bdcdysz = [] that.$refs.table.clearSelection() } store.dispatch('user/reMenuRefresh', true) that.queryClick() that.$message({ showClose: true, message: '添加成功', type: 'success' }) } else { that.$message.error(res.message); } }).catch(() => { that.loading = false }) } else { if (!that.isJump) { that.loading = true startBusinessFlow({ bsmSqyw: that.sqywInfo.bsmSqyw, //sjlx: 'zrz', sjlx: that.activeName, bdcdysz: that.bdcdysz, }).then((res) => { that.loading = false if (res.code == 200) { that.$message({ showClose: true, message: '发起申请成功', type: 'success' }) if (!that.isJump) { that.jump(res.result, that.sqywInfo.djywbm); } else { store.dispatch('user/refreshPage', true); } that.$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(() => { that.loading = false }) } else { that.loading = true choiceBdcdy({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq, bdcdysz: that.bdcdysz }).then(res => { that.loading = false if (res.code == 200) { that.$message({ showClose: true, message: '发起申请成功', type: 'success' }) store.dispatch('user/refreshPage', true); that.$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) { this.bdcdysz = val; }, /** * @description: handleLpbClick * @param {*} item * @author: renchao */ handleLpbClick (item) { ywPopupDialog('楼盘表', 'lpb/index', { bsm: item.bsm, bsmSqyw: this.sqywInfo.bsmSqyw, onlyShow: false, scyclx: 1 }, '85%', true, false) }, // 自然幢单选 handleZrzChange () { let arr = this.zrztableData.data.filter(item => item.bdcdyid == this.radioVal) this.bdcdysz = arr }, /** * @description: handleRowClick * @param {*} row * @author: renchao */ handleRowClick (row) { // 自然幢单选,多幢多选 let that = this let refs = 'table1'; if (this.activeName == 'dz') { refs = 'table'; } else { if (this.sqywInfo.djywbm !== 'B37100') { that.bdcdysz = [row] that.radioVal = row.bdcdyid } } const bdcdysz = that.bdcdysz if (bdcdysz.length > 0) { bdcdysz.forEach(item => { // 判断 如果当前的一行被勾选, 再次点击的时候就会取消选中 if (item == row) { that.$nextTick(() => { that.$refs[refs].toggleRowSelection(row, false); }) } // 不然就让当前的一行勾选 else { that.$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 }) }, dzlist (row) { var param = { bdcdyid: row.bdcdyid, qllx: row.qllx, bdcdyh: row.bdcdyh, bsmQlxx: row.bsmQlxx, }; this.$popup("自然幢列表", "registerBook/dzlist", { formData: param }) }, } } </script> <style scoped lang="scss"> @import "~@/styles/mixin.scss"; @import "~@/styles/public.scss"; </style>