205828b4 by renchao@pashanhoo.com

style:国有建设用地使用权自然幢多幢业务拆分

1 parent c6c016b1
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-10-10 15:54:58
-->
<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" @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="262"
: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,
onlyShow: false,
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';
} else {
this.sqywInfo.djywbm !== 'B37100' && this.$refs[refs].clearSelection()
}
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
})
},
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>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-10-10 15:54:58
* @LastEditTime: 2023-10-10 16:32:22
-->
<template>
<div class="from-clues">
......@@ -62,7 +62,7 @@
</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"
:current-page.sync="pageData.currentPage" :total="zrztableData.total"
@p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="zrztableData.columns"
:data="zrztableData.data">
</lb-table>
......@@ -90,7 +90,6 @@
</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>
......@@ -100,7 +99,7 @@
</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" @select="select"
: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>
......@@ -132,6 +131,7 @@
return {
loading: false,
activeName: 'zrz',
radioVal: '',
queryzrzForm: {
qllx: '',
bdcdyh: '',
......@@ -159,6 +159,28 @@
},
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}>
&ensp;
</el-radio>
</div>
)
}
}].concat(datas.zrzcolumns())
}
},
methods: {
/**
......@@ -287,15 +309,7 @@
* @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
......@@ -310,21 +324,10 @@
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);
}
// 自然幢单选
handleZrzChange () {
let arr = this.zrztableData.data.filter(item => item.bdcdyid == this.radioVal)
this.bdcdysz = arr
},
/**
* @description: handleRowClick
......@@ -333,22 +336,26 @@
*/
handleRowClick (row) {
// 自然幢单选,多幢多选
let that = this
let refs = 'table1';
if (this.activeName == 'dz') {
refs = 'table';
} else {
this.sqywInfo.djywbm !== 'B37100' && this.$refs[refs].clearSelection()
if (this.sqywInfo.djywbm !== 'B37100') {
that.bdcdysz = [row]
that.radioVal = row.bdcdyid
}
const bdcdysz = this.bdcdysz
}
const bdcdysz = that.bdcdysz
if (bdcdysz.length > 0) {
bdcdysz.forEach(item => {
// 判断 如果当前的一行被勾选, 再次点击的时候就会取消选中
if (item == row) {
this.$nextTick(() => { this.$refs[refs].toggleRowSelection(row, false); })
that.$nextTick(() => { that.$refs[refs].toggleRowSelection(row, false); })
}
// 不然就让当前的一行勾选
else {
this.$refs[refs].toggleRowSelection(row, true);
that.$refs[refs].toggleRowSelection(row, true);
}
})
}
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-29 13:05:13
* @LastEditTime: 2023-10-10 16:32:09
*/
import filter from '@/utils/filter.js'
let vm = null
......@@ -16,12 +16,6 @@ class data extends filter {
zrzcolumns () {
return [
{
type: 'selection',
label: '全选',
width: '50',
selectable: this.selected
},
{
label: '序号',
type: 'index',
width: '50',
......@@ -152,8 +146,7 @@ class data extends filter {
{
type: 'selection',
label: '全选',
width: '50',
selectable: this.selected
width: '50'
},
{
label: '序号',
......