fe2bdbd0 by 杨威

添加层户功能完善

1 parent e0d614ec
......@@ -11,9 +11,18 @@ export function getLpbMenuTree (data) {
},
})
}
/**
* 新增幢单元接口信息
* 添加逻辑幢信息接口
*/
export function insertLjzInfo (data) {
return request({
url: '/system/qjLjz/insertQjLjz',
method: 'post',
data:data
})
}
/**
* 添加幢单元接口信息
*/
export function insertZdyInfo (data) {
return request({
......@@ -22,3 +31,13 @@ export function insertZdyInfo (data) {
data:data
})
}
/**
* 添加层户接口信息
*/
export function insertChInfo (data) {
return request({
url: 'fw/lpb/insertQjCH',
method: 'post',
data:data
})
}
\ No newline at end of file
......
......@@ -69,16 +69,6 @@ export function queryYzgy(id) {
params: {id}
})
}
/**
* 新增逻辑幢信息接口
*/
export function insertLjzInfo (data) {
return request({
url: '/system/qjLjz/insertQjLjz',
method: 'post',
data:data
})
}
/**
* 新增逻辑幢信息接口
......
<template>
<div class="addCh">
<el-table
class="addChTable"
:data="tableData"
style="width: 100%"
border
>
<el-table class="addChTable" :data="tableData" style="width: 100%" border>
<el-table-column prop="cz" width="40" align="center">
<template slot-scope="scope">
<span class="cp" @click="handleRowClick(scope.row,scope.$index)">{{scope.row.cz}}</span>
<span class="cp" @click="handleRowClick(scope.row, scope.$index)">{{
scope.row.cz
}}</span>
</template>
</el-table-column>
<el-table-column prop="ljzbsm" label="逻辑幢" align="center">
<template slot-scope="scope">
<el-table-column prop="ljzmc" label="逻辑幢" align="center">
<!-- <template slot-scope="scope">
<el-input size="small" v-model="scope.row.ljzbsm"></el-input>
</template>
</template> -->
</el-table-column>
<el-table-column prop="zdybsm" label="幢单元" align="center">
<template slot-scope="scope">
<el-table-column prop="zdymc" label="幢单元" align="center">
<!-- <template slot-scope="scope">
<el-input size="small" v-model="scope.row.zdybsm"></el-input>
</template>
</template> -->
</el-table-column>
<el-table-column prop="qsc" label="起始层" align="center">
<template slot-scope="scope">
......@@ -41,61 +38,132 @@
</template>
<script>
import { insertChInfo } from "../../../../../api/lpb";
export default {
name:"",
components:{},
props:{},
data(){
name: "",
components: {},
props: {
treeData: {},
dialogVisible: {
type: Boolean,
default: false,
},
},
data() {
return {
tableData:[
],
formData:{
cz:'+',
ljzbsm:'',
zdybsm:'',
qsc:'',
jsc:'',
mchs:'',
}
}
ljzBsm: null,
zdyBsm: null,
zrzBsm: null,
tableData: [],
formData: {
cz: "+",
ljzbsm: "",
ljzmc:"",
zdymc:"",
zdybsm: "",
zrzbsm: "",
syclx: "0",
qsc: "",
jsc: "",
hs: "",
},
created(){
this.tableData.push(this.formData)
};
},
mounted(){},
methods:{
created() {},
mounted() {
console.log(this.treeData, "treeData");
},
methods: {
//行操作
handleRowClick(row,index){
handleRowClick(row, index) {
console.log(this.tableData, "this.tableData");
console.log(this.formData, "this.formData");
console.log(index);
if(row.cz =='+'){
if (row.cz == "+") {
let temp = JSON.parse(JSON.stringify(this.formData));
temp.cz = '-';
temp.cz = "-";
this.tableData.push(temp);
}else{
this.tableData.splice(index, 1)
} else {
this.tableData.splice(index, 1);
}
},
onSave(bsm) {
insertChInfo(this.tableData).then((res) => {
if (res.code === 200) {
this.$message.success("保存成功");
//更新树结构数据
console.log(this);
this.$parent.$parent.getLpbMenuTree(bsm);
//关闭弹框
this.$parent.$parent.closeDaialog();
}
});
},
//重置数据
reset(){
reset() {
this.tableData = [
{
cz:'+',
ljzbsm:'',
zdybsm:'',
qsc:'',
jsc:'',
mchs:'',
}
]
}
cz: "+",
ljzbsm: "",
zdybsm: "",
qsc: "",
jsc: "",
mchs: "",
},
];
},
},
computed: {},
watch: {},
}
watch: {
treeData: {
handler(n) {
this.formData = {
cz: "+",
ljzbsm: "",
zdybsm: "",
zrzbsm: "",
syclx: "0",
qsc: "",
jsc: "",
hs: "",
};
switch (n.type) {
case "zrz":
this.formData.zrzbsm = n.bsm;
break;
case "ljz":
this.formData.zrzbsm = n.zrzbsm;
this.formData.ljzbsm = n.bsm;
this.formData.ljzmc = n.ljzmc;
break;
case "zdy":
this.formData.zrzbsm = n.zrzbsm;
this.formData.ljzbsm = n.ljzbsm;
this.formData.ljzmc = n.ljzmc;
this.formData.zdybsm = n.bsm;
this.formData.zdymc = n.mc;
break;
default:
break;
}
this.tableData = [];
this.tableData.push(this.formData);
},
//深度监听,第一次接收到父组件传值就触发事件
immediate: true,
deep: true,
},
// dialogVisible(n){
// this.tableData = [];
// if(n){
// this.tableData.push(this.formData);
// }
// }
},
};
</script>
<style lang="less">
.addCh{
.addCh {
.addChTable {
.el-input__inner {
height: 20px;
......@@ -109,9 +177,8 @@ export default {
text-align: center;
}
}
.cp{
.cp {
cursor: pointer;
}
}
</style>
......
......@@ -38,7 +38,7 @@
<LineTree :pd="pd" class="treeData" :islpb="islpb"></LineTree>
<p
@click="createFlag = false"
style="width:20px;float:left;cursor:pointer;"
style="width:20px;float:left;margin-top: 12px;margin-left:10px;cursor:pointer;"
>
X
</p>
......@@ -96,7 +96,7 @@
<addZdy ref="zdy"></addZdy>
</div>
<div class="addCh" v-show="menuType == 'ch'">
<addCh ref="ch"></addCh>
<addCh ref="ch" :dialogVisible="dialogVisible" :treeData="treeData"></addCh>
</div>
<div class="btnGroup">
<el-button type="primary" @click="saveInfo">保存</el-button>
......@@ -203,7 +203,7 @@ export default {
this.getHeight();
},
mounted() {
this.getLpbMenuTree("d1b82b27f2a6ab7bf3f0e7708c96e46f");
this.getLpbMenuTree("1e0c83dfe2e73284f834a80a0947f0c9");
// 楼盘表绘制区域宽度计算:楼盘表区域宽度-图例宽度34-滚动条宽度6
setTimeout(() => {
this.lpbContentwidth = this.$store.state.contentWidth - 34 - 6;
......@@ -243,8 +243,8 @@ export default {
this.$refs.zdy.submitForm("form", this.pd[0].bsm, this.treeData.bsm);
break;
case "ch":
this.$refs.ch.onSave(this.pd[0].bsm);
break;
default:
break;
}
......@@ -276,15 +276,6 @@ export default {
},
},
computed: {
// tabContentWidth(){
// let w = this.$refs.tabContent != undefined ? this.$refs.tabContent.offsetWidth : 0
// return w;
// // if(this.$refs.tabContent != undefined){
// // return this.$refs.tabContent.offsetWidth
// // }else{
// // return
// // }
// }
},
destroyed() {
window.removeEventListener("resize", this.getHeight);
......@@ -304,13 +295,6 @@ export default {
this.lpbContentwidth += 260;
}
},
// tabContentWidth(n){
// debugger
// if(n != 0){
// // 楼盘表绘制区域宽度计算:楼盘表区域宽度-图例宽度34-滚动条宽度6
// this.lpbContentwidth = this.$refs.tabContent.offsetWidth - 34 - 6;
// }
// }
},
};
</script>
......
<template>
<div class="h content-form">
<el-form ref="form" :model="form" label-width="160px">
<table border="1" width="100%" cellspacing="0" cellpadding="0" class="hTable">
<table
border="1"
width="100%"
cellspacing="0"
cellpadding="0"
class="hTable"
>
<tbody>
<tr height="30">
<td colspan="12" align="center" ><font size="4">逻辑幢基本信息</font></td>
<td colspan="12" align="center">
<font size="4">逻辑幢基本信息</font>
</td>
</tr>
<tr height="30">
<td colspan="2" align="center" >逻辑幢号</td>
<td colspan="4" >
<td colspan="2" align="center">逻辑幢号</td>
<td colspan="4">
<el-input v-model="form.ljzh"></el-input>
</td>
<td colspan="2" align="center" >自然幢号</td>
<td colspan="4" >
<td colspan="2" align="center">自然幢号</td>
<td colspan="4">
<el-input v-model="form.zrzh"></el-input>
</td>
</tr>
<tr height="30">
<td colspan="2" align="center" >逻辑幢名称</td>
<td colspan="4" >
<td colspan="2" align="center">逻辑幢名称</td>
<td colspan="4">
<el-input v-model="form.ljzmc"></el-input>
</td>
<td colspan="2" align="center" >不动产单元号</td>
<td colspan="4" >
<td colspan="2" align="center">不动产单元号</td>
<td colspan="4">
<el-input v-model="form.bdcdyh" style="width: 70%"></el-input>
<el-button @click.prevent="" size="mini" type="primary" style="width:25%;margin-left:3%">生成</el-button>
<el-button
@click.prevent=""
size="mini"
type="primary"
style="width:25%;margin-left:3%"
>生成</el-button
>
</td>
</tr>
<tr height="30">
<td colspan="2" align="center" >门牌号</td>
<td colspan="4" >
<td colspan="2" align="center">门牌号</td>
<td colspan="4">
<el-input v-model="form.mph"></el-input>
</td>
<td colspan="2" align="center" >竣工日期</td>
<td colspan="4" >
<td colspan="2" align="center">竣工日期</td>
<td colspan="4">
<el-date-picker
v-model="form.jgrq"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
placeholder="选择日期"
>
</el-date-picker>
</td>
</tr>
<tr height="30">
<td colspan="2" align="center" >预测建筑面积(㎡)</td>
<td colspan="4" >
<td colspan="2" align="center">预测建筑面积(㎡)</td>
<td colspan="4">
<el-input v-model="form.ycjzmj"></el-input>
</td>
<td colspan="2" align="center" >实测建筑面积(㎡)</td>
<td colspan="4" >
<td colspan="2" align="center">实测建筑面积(㎡)</td>
<td colspan="4">
<el-input v-model="form.scjzmj"></el-input>
</td>
</tr>
<tr height="30">
<td colspan="2" align="center" >预测地下面积(㎡)</td>
<td colspan="4" >
<td colspan="2" align="center">预测地下面积(㎡)</td>
<td colspan="4">
<el-input v-model="form.ycdxmj"></el-input>
</td>
<td colspan="2" align="center" >实测地下面积(㎡)</td>
<td colspan="4" >
<td colspan="2" align="center">实测地下面积(㎡)</td>
<td colspan="4">
<el-input v-model="form.scdxmj"></el-input>
</td>
</tr>
<tr height="30">
<td colspan="2" align="center" >预测其他面积(㎡)</td>
<td colspan="4" >
<td colspan="2" align="center">预测其他面积(㎡)</td>
<td colspan="4">
<el-input v-model="form.ycqtmj"></el-input>
</td>
<td colspan="2" align="center" >实测其他面积(㎡)</td>
<td colspan="4" >
<td colspan="2" align="center">实测其他面积(㎡)</td>
<td colspan="4">
<el-input v-model="form.scqymj"></el-input>
</td>
</tr>
<tr height="30" v-for="(item1,index) in form.ytList" :key="'yt'+index">
<td colspan="2" v-if="index===0" :rowspan="ytTitleRowspan" align="center" >
<el-button type="primary" size="mini" style="margin-right: 10px" @click="addYtInfo">添加</el-button>
<tr
height="30"
v-for="(item1, index) in form.ytList"
:key="'yt' + index"
>
<td
colspan="2"
v-if="index === 0"
:rowspan="ytTitleRowspan"
align="center"
>
<el-button
type="primary"
size="mini"
style="margin-right: 10px"
@click="addYtInfo"
>添加</el-button
>
<span>用途</span>
</td>
<td colspan="1" align="center" >
<td colspan="1" align="center">
<span @click="deleteYtInfo(index)">删除</span>
</td>
<td colspan="9" >
<el-select v-model="item1.fwytzdbsm" placeholder="请选择" >
<td colspan="9">
<el-select v-model="item1.fwytzdbsm" placeholder="请选择">
<el-option
v-for="item in $store.state.tdytList"
:key="item.bsm"
:label="item.mc"
:value="item.bsm">
:value="item.bsm"
>
</el-option>
</el-select>
</td>
</tr>
<tr height="30" v-for="(item1,index) in form.fwjgList" :key="'jg'+index">
<td colspan="2" v-if="index===0" :rowspan="fwjgTitleRowspan" align="center" >
<el-button type="primary" size="mini" style="margin-right: 10px" @click="addFwjgInfo">添加</el-button>
<tr
height="30"
v-for="(item1, index) in form.fwjgList"
:key="'jg' + index"
>
<td
colspan="2"
v-if="index === 0"
:rowspan="fwjgTitleRowspan"
align="center"
>
<el-button
type="primary"
size="mini"
style="margin-right: 10px"
@click="addFwjgInfo"
>添加</el-button
>
<span>房屋结构</span>
</td>
<td colspan="1" align="center" >
<td colspan="1" align="center">
<span @click="deleteFwjgInfo(index)">删除</span>
</td>
<td colspan="9" >
<el-select v-model="item1.fwjgzdbsm" placeholder="请选择" >
<td colspan="9">
<el-select v-model="item1.fwjgzdbsm" placeholder="请选择">
<el-option
v-for="item in $store.state.jgOptions"
:key="item.bsm"
:label="item.mc"
:value="item.bsm">
:value="item.bsm"
>
</el-option>
</el-select>
</td>
</tr>
<tr height="30">
<td colspan="2" align="center" >地下层数</td>
<td colspan="4" >
<td colspan="2" align="center">地下层数</td>
<td colspan="4">
<el-input v-model="form.dxcs"></el-input>
</td>
<td colspan="2" align="center" >地上层数</td>
<td colspan="4" >
<td colspan="2" align="center">地上层数</td>
<td colspan="4">
<el-input v-model="form.dscs"></el-input>
</td>
</tr>
<tr height="30">
<td colspan="2" align="center" >总层数</td>
<td colspan="4" >
<td colspan="2" align="center">总层数</td>
<td colspan="4">
<el-input v-model="form.zcs"></el-input>
</td>
<td colspan="2" align="center" >建筑物状态</td>
<td colspan="4" >
<td colspan="2" align="center">建筑物状态</td>
<td colspan="4">
<el-input v-model="form.jzwzt"></el-input>
</td>
</tr>
<tr height="30">
<td colspan="2" rowspan="2" align="center" >
<td colspan="2" rowspan="2" align="center">
<span>备注</span>
</td>
<td colspan="10" rowspan="2" >
<td colspan="10" rowspan="2">
<el-input v-model="form.bz" type="textarea"></el-input>
</td>
</tr>
<tr height="30">
</tr>
<tr height="30"></tr>
</tbody>
</table>
</el-form>
</div>
</template>
<script>
import {insertLjzInfo} from "../../../../../api/zrz";
import {formdate} from "../../../../../libs/function";
export default {
name:'ljz',
components:{},
data () {
import { insertLjzInfo } from "../../../../../api/lpb";
import { formdate } from "../../../../../libs/function";
export default {
name: "ljz",
components: {},
data() {
return {
form:{
zrzbsm:'',
ljzh:'', //逻辑幢号
zrzh:'', //自然幢号
ljzmc:'', //逻辑幢顺序号
bdcdyh:'', //不动产单元号
mph:'', //门牌号
jgrq:'', //竣工日期
ycjzmj:'', //预测建筑面积
scjzmj:'', //实测建筑面积
ycdxmj:'', //预测地下面积
scdxmj:'', //实测地下面积
ycqtmj:'', //预测其他面积
scqymj:'', //实测其他面积
ytList:[{
glbsm:'', //关联标识码
fwytzdbsm:'', //房屋用途字典标识码
sx:'', //顺序
}],
fwjgList:[{
fwjgzdbsm:'', //房屋结构字典标识码
glbsm:'', //关联标识码
sx:'', //顺序
}],
dxcs:'', //地下层数
dscs:'', //地上层数
zcs:'', //总层数
jzwzt:'', //建筑物状态
form: {
zrzbsm: "",
ljzh: "", //逻辑幢号
zrzh: "", //自然幢号
ljzmc: "", //逻辑幢顺序号
bdcdyh: "", //不动产单元号
mph: "", //门牌号
jgrq: "", //竣工日期
ycjzmj: "", //预测建筑面积
scjzmj: "", //实测建筑面积
ycdxmj: "", //预测地下面积
scdxmj: "", //实测地下面积
ycqtmj: "", //预测其他面积
scqymj: "", //实测其他面积
ytList: [
{
glbsm: "", //关联标识码
fwytzdbsm: "", //房屋用途字典标识码
sx: "", //顺序
},
value: '',
ytTitleRowspan:1, //用途的单元格垂直合并数量
fwjgTitleRowspan:1, //房屋结构的单元格垂直合并数量
}
],
fwjgList: [
{
fwjgzdbsm: "", //房屋结构字典标识码
glbsm: "", //关联标识码
sx: "", //顺序
},
],
dxcs: "", //地下层数
dscs: "", //地上层数
zcs: "", //总层数
jzwzt: "", //建筑物状态
},
value: "",
ytTitleRowspan: 1, //用途的单元格垂直合并数量
fwjgTitleRowspan: 1, //房屋结构的单元格垂直合并数量
};
},
methods: {
addYtInfo(){
addYtInfo() {
this.form.ytList.push({
glbsm:'',
fwytzdbsm:'',
sx:'',
glbsm: "",
fwytzdbsm: "",
sx: "",
});
this.ytTitleRowspan=this.form.ytList.length;
this.ytTitleRowspan = this.form.ytList.length;
},
deleteYtInfo(index){
if(this.form.ytList.length<=1){
deleteYtInfo(index) {
if (this.form.ytList.length <= 1) {
this.$message({
message: '不能删除,最少含有一条用途信息',
type: 'warning'
message: "不能删除,最少含有一条用途信息",
type: "warning",
});
}else{
this.form.ytList.splice(index,1);
this.ytTitleRowspan=this.form.ytList.length;
} else {
this.form.ytList.splice(index, 1);
this.ytTitleRowspan = this.form.ytList.length;
}
},
addFwjgInfo(){
addFwjgInfo() {
this.form.fwjgList.push({
fwjgzdbsm:'', //房屋结构字典标识码
glbsm:'', //关联标识码
sx:'', //顺序
fwjgzdbsm: "", //房屋结构字典标识码
glbsm: "", //关联标识码
sx: "", //顺序
});
this.fwjgTitleRowspan=this.form.fwjgList.length;
this.fwjgTitleRowspan = this.form.fwjgList.length;
},
//重置数据
reset(){
reset() {
this.form = {
zrzbsm:'',
ljzh:'', //逻辑幢号
zrzh:'', //自然幢号
ljzmc:'', //逻辑幢顺序号
bdcdyh:'', //不动产单元号
mph:'', //门牌号
jgrq:'', //竣工日期
ycjzmj:'', //预测建筑面积
scjzmj:'', //实测建筑面积
ycdxmj:'', //预测地下面积
scdxmj:'', //实测地下面积
ycqtmj:'', //预测其他面积
scqymj:'', //实测其他面积
ytList:[{
glbsm:'', //关联标识码
fwytzdbsm:'', //房屋用途字典标识码
sx:'', //顺序
}],
fwjgList:[{
fwjgzdbsm:'', //房屋结构字典标识码
glbsm:'', //关联标识码
sx:'', //顺序
}],
dxcs:'', //地下层数
dscs:'', //地上层数
zcs:'', //总层数
jzwzt:'', //建筑物状态
}
zrzbsm: "",
ljzh: "", //逻辑幢号
zrzh: "", //自然幢号
ljzmc: "", //逻辑幢顺序号
bdcdyh: "", //不动产单元号
mph: "", //门牌号
jgrq: "", //竣工日期
ycjzmj: "", //预测建筑面积
scjzmj: "", //实测建筑面积
ycdxmj: "", //预测地下面积
scdxmj: "", //实测地下面积
ycqtmj: "", //预测其他面积
scqymj: "", //实测其他面积
ytList: [
{
glbsm: "", //关联标识码
fwytzdbsm: "", //房屋用途字典标识码
sx: "", //顺序
},
deleteFwjgInfo(index){
if(this.form.fwjgList.length<=1){
],
fwjgList: [
{
fwjgzdbsm: "", //房屋结构字典标识码
glbsm: "", //关联标识码
sx: "", //顺序
},
],
dxcs: "", //地下层数
dscs: "", //地上层数
zcs: "", //总层数
jzwzt: "", //建筑物状态
};
},
deleteFwjgInfo(index) {
if (this.form.fwjgList.length <= 1) {
this.$message({
message: '不能删除,最少含有一条房屋结构信息',
type: 'warning'
message: "不能删除,最少含有一条房屋结构信息",
type: "warning",
});
}else{
this.form.fwjgList.splice(index,1);
this.fwjgTitleRowspan=this.form.fwjgList.length;
} else {
this.form.fwjgList.splice(index, 1);
this.fwjgTitleRowspan = this.form.fwjgList.length;
}
},
onSave(data,bsm){
onSave(data, bsm) {
debugger
//自然幢标识码
this.form.zrzbsm= bsm;
insertLjzInfo(this.form).then((res)=>{
if(res.code===200){
this.$message.success("保存成功")
this.form.zrzbsm = bsm;
insertLjzInfo(this.form).then((res) => {
if (res.code === 200) {
this.$message.success("保存成功");
//更新树结构数据
console.log(this);
this.$parent.$parent.getLpbMenuTree(bsm);
//关闭弹框
this.$parent.$parent.closeDaialog()
this.$parent.$parent.closeDaialog();
}
})
});
},
onSubmit(){
console.log(this.form)
}
onSubmit() {
console.log(this.form);
},
created() {
},
mounted() {
}
}
created() {},
mounted() {},
};
</script>
<style rel="stylesheet/less" lang="less" scoped>
.h {
.h {
min-height: 200px;
width: 100%;
margin: 0 auto;
/deep/.el-input__inner{
/deep/.el-input__inner {
width: 100%;
border: 0;
}
/deep/textarea{
/deep/textarea {
width: 100%;
border: 0;
}
.el-form-item{
.el-form-item {
font-weight: bold;
font-size: xx-large
font-size: xx-large;
}
table{
table {
background: #fff;
table-layout: fixed;
}
td{
td {
//bgcolor:#F1F4FC;
background-color:#fff;
width:8.33%
background-color: #fff;
width: 8.33%;
}
.el-select{
display:block;
}
.el-select {
display: block;
}
}
table{
table {
font-size: 14px;
}
}
.hTable{
.hTable {
margin-top: 10px;
}
}
</style>
......