3a5d3667 by 任超
2 parents 0e6f741b ad9ee93d
<template>
<el-dialog :close-on-click-modal="false" title="户重新落宗" :visible.sync="isVisible" width="50%" @close="close"
:modal-append-to-body="false">
<div class="content">
<table>
<tr>
<td class="label">宗地:</td>
<td class="input">
<el-input placeholder="请选择宗地" v-model="zdxx" :disabled="true"></el-input>
</td>
<td>
<el-button type="primary" @click="xzzdVisible = true">选择宗地</el-button>
</td>
</tr>
<tr>
<td class="label">自然幢:</td>
<td class="input">
<el-select v-model="hcxlzData.zrzbsm" filterable placeholder="请选择" @change="zrzChange">
<el-option v-for="(item, index) in zrzList" :key="index" :label="item.label"
:value="item.bsm">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td class="label">逻辑幢:</td>
<td class="input">
<el-select v-model="hcxlzData.ljzbsm" filterable placeholder="请选择" @change="ljzChange">
<el-option v-for="(item, index) in ljzList" :key="index" :label="item.ljzmc"
:value="item.bsm">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td class="label">幢单元:</td>
<td class="input">
<el-select v-model="hcxlzData.zdybsm" filterable placeholder="请选择">
<el-option v-for="(item, index) in zdyList" :key="index" :label="item.zdymc"
:value="item.bsm">
</el-option>
</el-select>
</td>
</tr>
</table>
</div>
<div class="footer">
<el-button type="primary" @click="save">保存</el-button>
<el-button type="primary" @click="close">取消</el-button>
</div>
<!-- <zd-query-data :isCxlz=true :centerDialogVisible="xzzdVisible" @close="xzzdClose" @getData="getZdxx"
:isZdClose="true"></zd-query-data> -->
</el-dialog>
</template>
<script>
// import zdQueryData from '@/components/zdQueryData/zdQueryData'
// import { zdXlcd, hzl } from '@api/zd'
import { Message } from 'element-ui'
export default {
name: "hCxlz",
// components: { zdQueryData },
data () {
return {
zd: {},
zrz: {},
ljz: {},
zdy: {},
xzzdVisible: false,
isVisible: false,
zdxx: '', // 宗地信息
hcxlzData: {
bsms: [],
zrzbsm: '',
ljzbsm: '',
zdybsm: ''
},
total: 1,
zrzList: [],
ljzList: [],
zdyList: []
}
},
props: {
hCxlzVisble: {
type: Boolean,
default: false
},
bsms: {
type: Array
}
},
mounted () {
this.hcxlzData.bsms = this.bsms;
},
methods: {
ljzChange: function () {
const item = this.ljzList.find(i => i.bsm == this.hcxlzData.ljzbsm)
this.hcxlzData.zdybsm = ''
this.zdyList = item.list;
this.zdyList.push({
zdymc: '空',
bsm: ''
})
},
zrzChange: function () {
const item = this.zrzList.find(i => i.bsm === this.hcxlzData.zrzbsm);
this.hcxlzData.ljzbsm = '';
this.hcxlzData.zdybsm = '';
this.ljzList = item.ljzList;
this.ljzList.push({
ljzmc: '空',
bsm: ''
})
this.zdyList = item.zdyList;
this.zdyList.push({
zdymc: '空',
bsm: ''
})
},
getZrz: function (bsm) {
zdXlcd(bsm).then(res => {
if (res.success) {
this.zrzList = res.result;
this.xzzdClose();
} else {
Message.error(res.message)
}
})
},
getZdxx: function (val) {
this.zd = val
this.zdxx = val.xmmc + "(" + val.zddm + ")";
},
xzzdClose: function () {
this.xzzdVisible = false;
},
result: function () {
this.hcxlzData = {
zrzbsm: '',
ljzbsm: '',
zdybsm: ''
};
this.hcxlzData.bsms = this.bsms;
},
save () {
if (this.hcxlzData.zrzbsm === '') {
Message.error("请选择自然幢");
return;
}
hzl(this.hcxlzData).then(res => {
if (res.success) {
this.$router.push({
path: '/zrz',
query: {
bsm: this.hcxlzData.zrzbsm,
source: 2,
auth: '0,1,2'
}
})
} else {
Message.error(res.message)
}
});
},
close () {
this.$emit('close', false);
this.result();
},
},
watch: {
hCxlzVisble: function (val) {
this.isVisible = val
},
zd: function (val) {
this.hcxlzData.zrzbsm = '';
this.hcxlzData.zdybsm = '';
this.hcxlzData.ljzbsm = '';
this.getZrz(val.zdbsm)
}
}
}
</script>
<style scoped lang="scss">
.input-suffix {
input {
width: 210px;
height: 30px;
border-radius: 3px;
border-color: #BBB;
}
}
.content {
text-align: center;
}
table {
border-collapse: separate;
border-spacing: 10px;
display: inline-block;
text-align: center;
.label {
width: 60px;
font-size: 15px;
text-align: justify;
text-align-last: justify
}
.input {
width: 300px;
.el-select {
width: 300px;
}
}
}
.footer {
margin-top: 20px;
text-align: center;
}
</style>
<template>
<div>
<el-dialog :close-on-click-modal="false" title="移动户" :visible.sync="isVisible" width="50%" @close="close"
:modal-append-to-body="false">
<div>
<div class="bottom-radio">
<el-radio-group v-model="moveHdata.sxzylx">
<el-radio label="up">向上</el-radio>
<el-radio label="down">向下</el-radio>
<el-radio label="left">向左</el-radio>
<el-radio label="right">向右</el-radio>
</el-radio-group>
</div>
<div class="bottom-buttom">
<el-button type="primary" @click="save">确认</el-button>
<el-button type="primary" @click="cacel">取消</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
// import { moveH } from '@api/lpb'
import { Message } from 'element-ui'
export default {
name: "moveH",
data () {
return {
isVisible: false,
moveHdata: {
hbsm: "",
sxzylx: "",
type: ""
}
}
},
props: {
moveHvisible: {
type: Boolean,
default: false
},
hbsm: {
type: String
},
type: {
type: String
}
},
methods: {
loading: function () {
this.$emit('loading')
},
save () {
this.moveHdata.hbsm = this.hbsm
this.moveHdata.type = this.type
// moveH(this.moveHdata).then(res => {
// console.log(res)
// if (res.success) {
// this.loading();
// this.close();
// Message.success("移动成功")
// } else {
// Message.error(res.message)
// }
// })
},
cacel () {
this.close()
},
close () {
this.$emit('close');
}
},
watch: {
moveHvisible (val) {
this.isVisible = val
}
}
}
</script>
<style scoped lang="scss">
.bottom-radio {
text-align: center;
}
.el-radio {
padding: 20px;
}
.bottom-buttom {
margin-top: 20px;
text-align: center;
}
</style>
<template>
<div>
<el-dialog :close-on-click-modal="false" title="批量层" :visible.sync="isVisible" width="50%" @close="close"
:modal-append-to-body="false">
<div>
<table border="1">
<tr>
<td class="tdright">层建筑面积(㎡)</td>
<td>
<el-input v-model="qlcData.cjzmj"
oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
</td>
<td class="tdright">
层套内建筑面积(㎡)
</td>
<td>
<el-input v-model="qlcData.ctnjzmj"
oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
</td>
</tr>
<tr>
<td class="tdright">层阳台面积(㎡)</td>
<td>
<el-input v-model="qlcData.cytmj" class=""
oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
</td>
<td class="tdright">
层半墙面积(㎡)
</td>
<td>
<el-input v-model="qlcData.cbqmj" class=""
oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
</td>
</tr>
<tr>
<td class="tdright">层共有建筑面积(㎡)</td>
<td>
<el-input v-model="qlcData.cgyjzmj" class=""
oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"></el-input>
</td>
<td class="tdright">
层分摊建筑面积(㎡)
</td>
<td>
<el-input v-model="qlcData.cftjzmj" class=""
oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null"
placeholder="层分摊建筑面积(㎡)"></el-input>
</td>
</tr>
<tr>
<td class="tdright">层高(m)</td>
<td>
<el-input v-model="qlcData.cg" class=""
oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null" placeholder="层高(m)">
</el-input>
</td>
<td class="tdright">
水平投影面积(㎡)
</td>
<td>
<el-input v-model="qlcData.sptymj" class=""
oninput="value = (value.match(/^\d*(\.?\d{0,3})/g)[0]) || null" placeholder="水平投影面积(㎡)">
</el-input>
</td>
</tr>
</table>
</div>
<div class="shop">
<el-button type="primary" @click="save">保存</el-button>
<el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
<el-button type="primary" @click="cancel">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { updatePlc } from '@api/zrz'
export default {
name: "plC",
data () {
return {
isVisible: false,
qlcData: {
cbqmj: '', // 层半墙面积
cftjzmj: '', // 层分摊建筑面积
cg: '', // 层高
cgyjzmj: '', // 层共有建筑面积
cjzmj: '', // 层建筑面积
ctnjzmj: '', // 层套内建筑面积
cytmj: '', // 层阳台面积
sptymj: '' // 水平投影面积
}
}
},
props: {
bsms: {
type: Array,
},
plcVisible: {
type: Boolean,
default: function () {
return false
}
}
},
methods: {
lodding: function () {
this.$emit('lodding')
},
save: function () {
this.qlcData['bsms'] = this.bsms
// updatePlc(this.qlcData).then(res => {
// if (res.success) {
// Message.success("保存成功")
// this.lodding()
// this.close()
// } else {
// Message.error(res.message)
// }
// })
},
close: function () {
this.$emit('close')
this.isVisible = false
this.result()
},
cancel: function () {
this.$emit('close')
this.isVisible = false
},
result: function () {
this.qlcData = {
cbqmj: '', // 层半墙面积
cftjzmj: '', // 层分摊建筑面积
cg: '', // 层高
cgyjzmj: '', // 层共有建筑面积
cjzmj: '', // 层建筑面积
ctnjzmj: '', // 层套内建筑面积
cytmj: '', // 层阳台面积
sptymj: '' // 水平投影面积
}
}
},
watch: {
plcVisible (val) {
this.isVisible = val
}
}
}
</script>
<style scoped>
table {
margin-top: 10px;
background-color: #fff;
font-size: 14px;
width: 100%;
}
td {
text-align: center;
height: 36px;
min-width: 50px;
}
table:hover {
cursor: pointer;
}
.inputtitle {
line-height: 41px;
width: 95%;
border: none;
height: 98%;
outline: none;
}
.shop {
margin-top: 20px;
text-align: center;
}
</style>
<template>
<div>
<el-dialog :close-on-click-modal="false" title="批量户" :visible.sync="isVisible" width="72%" @close="close"
:modal-append-to-body="false">
<div>
<table border="1">
<tr>
<td colspan="2" class="tdright">建筑面积(㎡)</td>
<td colspan="4"><input type="text" v-model="form.jzmj" class="inputtitle" /></td>
<td colspan="2" class="tdright">套内建筑面积(㎡)</td>
<td colspan="4"><input type="text" v-model="form.tnjzmj" class="inputtitle" /></td>
</tr>
<tr>
<td colspan="2" class="tdright">分摊建筑面积(㎡)</td>
<td colspan="4"><input type="text" v-model="form.ftjzmj" class="inputtitle" /></td>
<td colspan="2" class="tdright">地下部分建筑面积(㎡)</td>
<td colspan="4"><input type="text" v-model="form.dxbfjzmj" class="inputtitle" /></td>
</tr>
<tr>
<td colspan="2" class="tdright">其他建筑面积(㎡)</td>
<td colspan="4"><input type="text" v-model="form.qtjzmj" class="inputtitle" /></td>
<td colspan="2" class="tdright">分摊系数</td>
<td colspan="4"><input type="number" @blur="inputBlur($event)" ref="ftxs" v-model="form.ftxs"
class="inputtitle" /></td>
</tr>
<tr>
<td colspan="2" class="tdright">户型</td>
<td colspan="4">
<el-select class="selectTitle" v-model="form.hxbsm">
<el-option v-for="i in $store.state.hxList" :key="i.bsm" :label="i.mc" :value="i.bsm">
</el-option>
</el-select>
</td>
<td colspan="2" class="tdright">户型结构</td>
<td colspan="4">
<el-select class="selectTitle" v-model="form.hxjgbsm">
<el-option v-for="i in $store.state.hxjgList" :key="i.bsm" :label="i.mc" :value="i.bsm">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td colspan="2" class="tdright">共有土地面积(㎡)</td>
<td colspan="4"><input type="text" class="inputtitle" v-model="form.gytdmj" /></td>
<td colspan="2" class="tdright">分摊土地面积(㎡)</td>
<td colspan="4"><input type="text" class="inputtitle" v-model="form.fttdmj" /></td>
</tr>
<tr>
<td colspan="2" class="tdright">独有土地面积(㎡)</td>
<td colspan="4"><input type="text" class="inputtitle" v-model="form.dytdmj" /></td>
<td colspan="2" class="tdright">房屋类型</td>
<td colspan="4">
<el-select class="selectTitle" v-model="form.fwlxbsm">
<el-option v-for="i in $store.state.fwlxList" :key="i.bsm" :label="i.mc" :value="i.bsm">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td colspan="2" class="tdright">产别</td>
<td colspan="4">
<el-select class="selectTitle" v-model="form.fwcbbsm">
<el-option v-for="i in $store.state.cbOptions" :key="i.bsm" :label="i.mc"
:value="i.bsm"></el-option>
</el-select>
</td>
<td colspan="2" class="tdright">产权来源</td>
<td colspan="4">
<el-select class="selectTitle" v-model="form.fwcqlybsm">
<el-option v-for="i in $store.state.cqlyOptions" :key="i.bsm" :label="i.mc"
:value="i.bsm"></el-option>
</el-select>
</td>
</tr>
<tr>
<td colspan="2" class="tdright">房屋性质</td>
<td colspan="4">
<el-select class="selectTitle" v-model="form.fwxzbsm">
<el-option v-for="i in $store.state.fwxzOptions" :key="i.bsm" :label="i.mc"
:value="i.bsm"></el-option>
</el-select>
</td>
<td colspan="2"></td>
<td colspan="4"></td>
</tr>
<tr>
<td colspan="2" class="tdright">东墙体归属</td>
<td colspan="4"><input type="text" class="inputtitle" v-model="form.dqtgs" /></td>
<td colspan="2" class="tdright">南墙体归属</td>
<td colspan="4"><input type="text" class="inputtitle" v-model="form.nqtgs" /></td>
</tr>
<tr>
<td colspan="2" class="tdright">西墙体归属</td>
<td colspan="4"><input type="text" class="inputtitle" v-model="form.xqtgs" /></td>
<td colspan="2" class="tdright">北墙体归属</td>
<td colspan="4"><input type="text" class="inputtitle" v-model="form.bqtgs" /></td>
</tr>
<tr height="30" v-for="(item1, index) in form.fwytList" :key="index">
<td v-if="index === 0" colspan="2" :rowspan="ytTitleRowspan" align="center" id="ytTitle"
class="tdright">
<i class="iconfont iconicon-test2" style="margin-right: 8px;color:#66b1ff;font-size:30px"
@click="addYtInfo"></i>
<span>房屋用途</span>
</td>
<td width="30" colspan="1" align="center" class="tdright">
<i class="iconfont iconicon-test" style="color:#FA6400;font-size:30px"
@click="deleteYtInfo(index)"></i>
规划用途
</td>
<td width="30" colspan="3" align="center">
<el-select-tree style="width:100%" v-if="show" :default-expand-all="defaultExpandAll"
:multiple="multiple" :placeholder="placeholder" :disabled="disabled"
:data="$store.state.fwytList" :props="treeProps" :check-strictly="checkStrictly"
:clearable="clearable" v-model="item1.fwytzdbsm"></el-select-tree>
</td>
<td width="30" colspan="2" align="center" class="tdright">用途</td>
<td width="30" colspan="4" align="center">
<el-select-tree style="width:100%" v-if="show" :default-expand-all="defaultExpandAll"
:multiple="multiple" :placeholder="placeholder" :disabled="disabled"
:data="$store.state.fwytList" :props="treeProps" :check-strictly="checkStrictly"
:clearable="clearable" v-model="item1.fwsjytbsm"></el-select-tree>
</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" class="tdright">
<i class="iconfont iconicon-test2" style="margin-right: 8px;color:#66b1ff;font-size:30px"
@click="addFwjgInfo"></i>
<span>房屋结构</span>
</td>
<td colspan="1" align="center">
<i class="iconfont iconicon-test" style="margin-right: 8px;color:#FA6400;font-size:30px"
@click="deleteFwjgInfo(index)"></i>
<span>房屋结构</span>
</td>
<td colspan="9">
<el-select style="width:100%" v-model="item1.fwjgzdbsm" placeholder="请选择">
<el-option v-for="item in $store.state.jgOptions" :key="item.bsm" :label="item.mc"
:value="item.bsm">
</el-option>
</el-select>
</td>
</tr>
<tr>
<td colspan="12" align="center">
<Qlxz ref="qlxzModule" :hasSyqx='false' :formData="form"></Qlxz>
</td>
</tr>
</table>
</div>
<div class="shop">
<el-button type="primary" @click="save">保存</el-button>
<el-button type="primary" @click="reset" icon="el-icon-refresh">重置</el-button>
<el-button type="primary" @click="cancel">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import Qlxz from "@/components/formMenu/qlxz";
// import { batchUpdateQjH } from "@api/h";
export default {
name: "plH",
components: {
Qlxz
},
props: {
bsms: {
type: Array
},
plhVisible: {
type: Boolean,
default: false
}
},
data () {
return {
//树型结构
show: true,
clearable: true,
defaultExpandAll: true,
multiple: false,
placeholder: '请选择',
disabled: false,
checkStrictly: true,
treeProps: {
value: 'bsm',
children: 'children',
label: 'mc'
},
form: {
qszt: '0',
jzmj: '',
tnjzmj: '',
ftjzmj: '',
dxbfjzmj: '',
qtjzmj: '',
ftxs: '',
hxbsm: '',
hxjgbsm: '',
gytdmj: '',
fttdmj: '',
dytdmj: '',
fwlxbsm: '',
fwcbbsm: '',
fwcqlybsm: '',
fwxzbsm: '',
dqtgs: '',
nqtgs: '',
xqtgs: '',
bqtgs: '',
fwjgbsm: '',
fwytList: [{
glbsm: '', //关联标识码
fwytzdbsm: '', //房屋用途字典标识码
sx: '', //顺序
fwsjytbsm: '', //房屋实际用途字典标识码
}],
fwjgList: [{
fwjgzdbsm: '', //房屋结构字典标识码
glbsm: '', //关联标识码
sx: '', //顺序
}],
qlxzList: [{
qlxzdm: '', //权利性质代码
glbsm: '', //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
qlxzzdbsm: '', //权利性质字典表标识码
qlxzmc: '', //权利名称名称
zhqlxzlx: '', //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
addQjTdytRequestList: [{
}], //土地用途新增实体列表
}]
},
isVisible: false,
hx: [{
label: '一居室',
key: '1',
value: '一居室'
}, {
label: '二居室',
key: '2',
value: '二居室'
}, {
label: '三居室',
key: '3',
value: '三居室'
}
],
ytTitleRowspan: 1, //用途的单元格垂直合并数量
fwjgTitleRowspan: 1, //房屋结构的单元格垂直合并数量
}
},
methods: {
inputBlur (e) {
if (e.target.value !== '' && +e.target.value > 0 && +e.target.value < 10) {
e.target.style.border = ""
} else {
e.target.style.border = "1px solid red";
e.target.style.boxSizing = 'border-box';
}
},
lodding: function () {
this.$emit('lodding')
},
addYtInfo () {
this.form.fwytList.push({
glbsm: '',
fwytzdbsm: '',
fwsjytbsm: '',
sx: '',
});
this.ytTitleRowspan = this.form.fwytList.length;
},
deleteYtInfo (index) {
if (this.form.fwytList.length <= 1) {
this.$message({
message: '不能删除,最少含有一条用途信息',
type: 'warning'
});
} else {
this.form.fwytList.splice(index, 1);
this.ytTitleRowspan = this.form.fwytList.length;
}
},
addFwjgInfo () {
this.form.fwjgList.push({
fwjgzdbsm: '', //房屋结构字典标识码
glbsm: '', //关联标识码
sx: '', //顺序
});
this.fwjgTitleRowspan = this.form.fwjgList.length;
},
deleteFwjgInfo (index) {
if (this.form.fwjgList.length <= 1) {
this.$message({
message: '不能删除,最少含有一条房屋结构信息',
type: 'warning'
});
} else {
this.form.fwjgList.splice(index, 1);
this.fwjgTitleRowspan = this.form.fwjgList.length;
}
},
close: function () {
this.$emit('close')
this.isVisible = false
this.reset()
},
reset: function () {
this.form = {
qszt: '0',
jzmj: '',
tnjzmj: '',
ftjzmj: '',
dxbfjzmj: '',
qtjzmj: '',
ftxs: '',
hxbsm: '',
hxjgbsm: '',
gytdmj: '',
fttdmj: '',
dytdmj: '',
fwlxbsm: '',
fwcbbsm: '',
fwcqlybsm: '',
fwxzbsm: '',
dqtgs: '',
nqtgs: '',
xqtgs: '',
bqtgs: '',
fwjgbsm: '',
fwytList: [{
glbsm: '', //关联标识码
fwytzdbsm: '', //房屋用途字典标识码
sx: '', //顺序
fwsjytbsm: '', //房屋实际用途字典标识码
}],
fwjgList: [{
fwjgzdbsm: '', //房屋结构字典标识码
glbsm: '', //关联标识码
sx: '', //顺序
}],
qlxzList: [{
qlxzdm: '', //权利性质代码
glbsm: '', //宗地BSM、自然幢BSM、户BSM、多幢BSM、宗海BSM
qlxzzdbsm: '', //权利性质字典表标识码
qlxzmc: '', //权利名称名称
zhqlxzlx: '', //除宗海数据外,默认都是空;0:用海类型权利性质;2:海岛用途权利性质
addQjTdytRequestList: [{
}], //土地用途新增实体列表
}]
};
this.$refs.qlxzModule.reset();
this.ytTitleRowspan = 1; //用途的单元格垂直合并数量
this.fwjgTitleRowspan = 1; //房屋结构的单元格垂直合并数量
},
save: function () {
this.rules = [
{
data: this.form.ftxs,
name: '分摊系数',
dom: this.$refs.ftxs,
rule: /^(?!0(\.0{1,2})?$)(\d(\.\d{1,2})?)$/, //大于0小于10的所有保留两位的数字
},
];
let flag = true;
this.rules.forEach(item => {
if (item.data !== "") {
if (!item.rule.test(+item.data) || item.data == null) {
if (item.dom.$el) {
item.dom.$el.style.border = '1px solid red';
item.dom.$el.style.boxSizing = 'border-box';
} else {
item.dom.style.border = '1px solid red';
item.dom.style.boxSizing = 'border-box';
}
flag = false;
return false
}
}
})
this.form['hbsms'] = this.bsms
this.form.qlxzList = this.$refs.qlxzModule.getQlxzDataList();
this.$nextTick(() => {
if (flag) {
for (let i = 0; i < this.form.fwjgList.length; i++) {
if (this.form.fwjgList[i].fwjgzdbsm === '') {
this.form.fwjgList.splice(i, 1);
}
}
for (let i = 0; i < this.form.fwytList.length; i++) {
if (this.form.fwytList[i].fwsjytbsm === '') {
this.form.fwytList.splice(i, 1);
}
}
for (let i = 0; i < this.form.qlxzList.length; i++) {
if (this.form.qlxzList[i].qlxzdm === '') {
this.form.qlxzList.splice(i, 1);
}
}
console.log("批量户信息")
// batchUpdateQjH(this.form).then((res) => {
// if (res.code === 200) {
// this.lodding()
// this.$message.success("保存成功!")
// this.$nextTick(() => {
// this.reset();
// })
// this.close();
// } else {
// this.$message.error(res.message)
// }
// })
} else {
this.$message({
// message: item.name+'不能为空',
message: '表单数据有误',
type: "warning",
});
}
})
},
cancel: function () {
this.close()
}
},
mounted () {
},
watch: {
plhVisible (val) {
this.isVisible = val
}
}
}
</script>
<style scoped>
table {
margin-top: 10px;
background-color: #fff;
font-size: 14px;
width: 100%;
table-layout: fixed;
}
td {
text-align: center;
height: 36px;
min-width: 60px;
}
table:hover {
cursor: pointer;
}
.inputtitle {
line-height: 40px;
width: 95%;
border: none;
outline: none;
height: 95%;
}
.selectTitle {
width: 100%;
border-radius: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
position: relative;
display: block;
}
.shop {
text-align: center;
margin-top: 20px;
}
/deep/.el-input__inner {
width: 100%;
border: 0;
}
</style>
<template>
<div class="">
<el-dialog :close-on-click-modal="false" title="批量室号" :visible.sync="isVisible" width="50%" @close="close"
:modal-append-to-body="false">
<div>
<table border="1">
<tr>
<th>室号前缀</th>
<th>幢单元号</th>
<th>分割符A</th>
<th>层号前自动补0</th>
<th>层号</th>
<th>分割符B</th>
<th>户号前自动补零</th>
<th>户号</th>
<th>室号后缀</th>
</tr>
<tr>
<td>
<el-input v-model="plshData.shqz"></el-input>
</td>
<td>
<el-checkbox v-model="plshData.selectDyh"></el-checkbox>
</td>
<td>
<el-input v-model="plshData.fgfA"></el-input>
</td>
<td>
<el-checkbox v-model="plshData.chqbl"></el-checkbox>
</td>
<td>
<el-select v-model="plshData.c">
<el-option v-for="i in cs" :key="i.key" :label="i.label" :value="i.value"></el-option>
</el-select>
</td>
<td>
<el-input v-model="plshData.fgfB"></el-input>
</td>
<td>
<el-checkbox v-model="plshData.hhqbl"></el-checkbox>
</td>
<td>
</td>
<td>
<el-input v-model="plshData.shhz"></el-input>
</td>
</tr>
</table>
<div class="gz">
<span>室号规则:{{ gz }}</span>
</div>
<div class="xlgz">
<span>
样例1:1011 <span>(1单元01层01室)</span>([单元号][层号],勾选“层号自动补0”)
<br />
样例2:1131室<span>(1单元13层01室)</span>([单元号][层号][后缀],后缀填写'室')
<br />
样例3:101<span>(1层01室)</span>([层号],勾选“户号自动补0”)
<br />
样例4:1-011<span>(1单元-01层01室)</span>([单元号][分隔符A][层号],勾选“层号自动补0”)
<br />
样例5:1-12-1<span>(1单元12层01室)</span>([单元号][分隔符A][层号][分隔符B])
<br />
样例6:1-12<span>(1层12室)</span>([层号][分隔符B])
</span>
</div>
</div>
<div class="shop">
<el-button type="primary" @click="save">保存</el-button>
<el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
<el-button type="primary" @click="cancel">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { updateSh } from '@api/zrz'
import { Message } from 'element-ui'
export default {
name: "plSh",
props: {
plShVisible: {
type: Boolean,
default: false
},
bsms: {
type: Array
}
},
data () {
return {
isVisible: false,
plshData: {
shqz: '',
selectDyh: false,
fgfA: '',
chqbl: false,
c: '',
fgfB: '',
hhqbl: false,
shhz: ''
},
cs: [
{
key: '1',
label: '名义层',
value: '1'
}, {
key: '2',
label: '实际层',
value: '2'
}, {
key: '3',
label: '空',
value: '3'
}
]
}
},
methods: {
test: function () {
for (let key in this.plshData) {
if (key === 'chqbl') {
continue;
}
if (this.plshData[key] !== '' && this.plshData[key] !== '3' && this.plshData[key] !== false) {
return true;
}
}
return false;
},
lodding: function () {
this.$emit('lodding')
},
close: function () {
this.$emit("close")
this.isVisible = false
this.result();
},
result: function () {
this.plshData = {
shqz: '',
selectDyh: false,
fgfA: '',
chqbl: false,
hhqbl: false,
c: '',
fgfB: '',
shhz: ''
}
},
save: function () {
if (!this.test()) {
this.$message.info("请选择")
return;
}
this.plshData['bsms'] = this.bsms
// updateSh(this.plshData).then(res => {
// if (res.success) {
// this.lodding();
// this.close();
// } else {
// Message.error(res.message)
// }
// })
},
cancel: function () {
this.close()
}
},
computed: {
gz: function () {
let gz = "";
if (this.plshData.shqz !== "") {
gz += this.plshData.shqz
}
if (this.plshData.selectDyh) {
gz += "[单元号]"
}
if (this.plshData.fgfA !== "") {
gz += this.plshData.fgfA
}
if (+this.plshData.c === 1) {
gz += "[名义层]"
} else if (+this.plshData.c === 2) {
gz += "[实际层]"
}
if (this.plshData.fgfB !== "") {
gz += this.plshData.fgfB
}
gz += "[户号]";
if (this.plshData.shhz !== "") {
gz += this.plshData.shhz
}
return gz;
}
},
watch: {
plShVisible: function (val) {
this.isVisible = val
}
}
}
</script>
<style scoped lang="scss">
table {
margin-top: 10px;
background-color: #fff;
font-size: 14px;
width: 100%;
:hover {
cursor: pointer;
}
}
th {
height: 36px;
}
td {
text-align: center;
height: 36px;
min-width: 60px;
}
.xl {
color: blue;
float: right;
}
.xl:hover {
cursor: pointer;
}
.inputtitle {
line-height: 38px;
width: 90%;
border: none;
outline: none;
}
.shop {
text-align: center;
margin-top: 20px;
}
.gz {
color: #b2b2b2;
font-size: 14px;
margin-top: 40px;
}
.xlgz {
span {
font-size: 16px;
line-height: 22px;
span {
color: red;
}
}
}
</style>
<template>
<div>
<el-dialog :close-on-click-modal="false" title="批量坐落" :visible.sync="isVisible" width="60%" @close="close"
:modal-append-to-body="false">
<div>
<table border="1">
<tr>
<th>前缀</th>
<th>宗地</th>
<th>自然幢</th>
<th>逻辑幢</th>
<th>幢单元</th>
<th></th>
<th></th>
<th>后缀</th>
</tr>
<tr>
<td>
<el-input v-model="plzlData.qz"></el-input>
</td>
<td>
<el-select v-model="plzlData.zd">
<el-option v-for="i in zdgz" :key="i.label" :label="i.label" :value="i.value"
:disabled="i.disabled">
</el-option>
</el-select>
</td>
<td>
<el-select v-model="plzlData.zrz">
<el-option v-for="i in zrzgz" :key="i.label" :label="i.label" :value="i.value"
:disabled="i.disabled">
</el-option>
</el-select>
</td>
<td>
<el-select v-model="plzlData.ljz">
<el-option v-for="i in ljzgz" :key="i.label" :label="i.label" :value="i.value">
</el-option>
</el-select>
</td>
<td>
<el-select v-model="plzlData.zdy">
<el-option v-for="i in zdygz" :key="i.label" :label="i.label" :value="i.value">
</el-option>
</el-select>
</td>
<td>
<el-select v-model="plzlData.c">
<el-option v-for="i in cgz" :key="i.label" :label="i.label" :value="i.value">
</el-option>
</el-select>
</td>
<td>
<el-select v-model="plzlData.h">
<el-option v-for="i in hgz" :key="i.label" :label="i.label" :value="i.value">
</el-option>
</el-select>
</td>
<td>
<el-input v-model="plzlData.hz"></el-input>
</td>
</tr>
</table>
<div class="gz">
<span>户坐落规则:{{ gz }}</span>
</div>
</div>
<div class="shop">
<el-button type="primary" @click="save">保存</el-button>
<el-button type="primary" @click="result" icon="el-icon-refresh">重置</el-button>
<el-button type="primary" @click="close">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { updateZl } from '@api/zrz'
import { Message } from 'element-ui'
export default {
name: "plZl",
props: {
plZlVisible: {
type: Boolean,
default: false
},
bsms: {
type: Array
}
},
data () {
return {
isVisible: false,
plzlData: {
qz: '',
zd: '3',
zrz: '3',
ljz: '3',
zdy: '3',
c: '3',
h: '3',
hz: ''
},
zdgz: [
{
label: '宗地坐落',
value: '1',
disabled: false
}, {
label: "宗地名称",
value: '2',
disabled: false
}, {
label: "空",
value: '3',
disabled: false
}
],
zrzgz: [
{
label: '自然幢坐落',
value: '1',
disabled: false
}, {
label: "自然幢名称",
value: '2',
disabled: false
}, {
label: "空",
value: '3'
}
],
ljzgz: [
{
label: '逻辑幢名称',
value: '1'
}, {
label: "逻辑幢号",
value: '2'
}, {
label: "空",
value: '3'
}
],
zdygz: [
{
label: '幢单元名称',
value: '1'
}, {
label: "幢单元号",
value: '2'
}, {
label: "空",
value: '3'
}
],
cgz: [
{
key: '1',
label: '名义层',
value: '1'
}, {
key: '2',
label: '实际层',
value: '2'
}, {
label: "空",
value: '3'
}
],
hgz: [
{
key: '1',
label: '室号',
value: '1'
}, {
key: '2',
label: '户号',
value: '2'
}, {
label: "空",
value: '3'
}
]
}
},
methods: {
lodding: function () {
this.$emit('lodding')
},
save: function () {
if (!this.test()) {
this.$message.info("请选择")
return;
}
this.plzlData['bsms'] = this.bsms;
// updateZl(this.plzlData).then(res => {
// if (res.success) {
// this.lodding()
// this.close();
// } else {
// Message.error(res.message)
// }
// })
},
test: function () {
for (let key in this.plzlData) {
if (this.plzlData[key] !== '' && this.plzlData[key] !== '3') {
return true;
}
}
return false;
},
cancel: function () {
this.close();
},
close: function () {
this.$emit("close")
this.isVisible = false
this.result();
},
result: function () {
this.plzlData = {
qz: '',
zd: '',
zrz: '',
ljz: '',
zdy: '',
c: '',
h: '',
hz: ''
}
}
},
computed: {
gz: function () {
// [前缀][宗地][自然幢][单元][室号][室号][后缀]
let gz = "";
if (this.plzlData.qz !== '') {
gz += this.plzlData.qz
}
if (+this.plzlData.zd === 1) {
gz += "[宗地坐落]";
} else if (+this.plzlData.zd === 2) {
gz += "[宗地名称]";
}
if (+this.plzlData.zrz === 1) {
gz += "[自然幢坐落]"
} else if (+this.plzlData.zrz === 2) {
gz += "[自然幢名称]";
}
if (+this.plzlData.ljz === 1) {
gz += "[逻辑幢名称]"
} else if (+this.plzlData.ljz === 2) {
gz += "[逻辑幢号]"
}
if (+this.plzlData.zdy === 1) {
gz += "[幢单元名称]";
} else if (+this.plzlData.zdy === 2) {
gz += "[幢单元号]"
}
if (+this.plzlData.c === 1) {
gz += "[名义层]"
} else if (+this.plzlData.c === 2) {
gz += "[实际层]"
}
if (+this.plzlData.h === 1) {
gz += "[室号]"
} else if (+this.plzlData.h === 2) {
gz += "[户号]"
}
if (this.plzlData.hz !== "") {
gz += this.plzlData.hz
}
if (gz === "") {
gz += "无"
}
return gz;
}
},
watch: {
plZlVisible: function (val) {
this.isVisible = val
},
plzlData: {
handler (val) {
this.zrzgz[0].disabled = +val.zd === 1;
this.zdgz[0].disabled = +val.zrz === 1;
},
deep: true
}
}
}
</script>
<style scoped lang="scss">
table {
margin-top: 10px;
background-color: #fff;
font-size: 14px;
width: 100%;
:hover {
cursor: pointer;
}
}
th {
height: 36px;
}
td {
text-align: center;
height: 36px;
min-width: 60px;
}
.xl {
color: blue;
float: right;
}
.xl:hover {
cursor: pointer;
}
.inputtitle {
line-height: 38px;
width: 90%;
border: none;
outline: none;
}
.shop {
text-align: center;
margin-top: 20px;
}
.gz {
color: #b2b2b2;
font-size: 12px;
margin-top: 40px;
}
.xlgz {
span {
font-size: 16px;
line-height: 22px;
span {
color: red;
}
}
}
</style>
......@@ -12,49 +12,8 @@
</el-input>
</el-col>
</el-row>
<el-row class="searchContent">
<el-col :span="24">
<div class="fl">
<el-button class="radioBtn" label="1" border @click="create"><i
class="iconfont iconchuangjianloupan"></i>创建楼盘</el-button>
<el-button class="radioBtn" v-show='this.scyclx == "0"' label="2" border @click="plScYcChange"><i
class="iconfont iconshiyucezhuanhuan"></i>预测转实测</el-button>
<el-button class="radioBtn" v-show='this.scyclx == "1"' label="2" border @click="plScYcChange"><i
class="iconfont iconshiyucezhuanhuan"></i>实测转预测</el-button>
<el-button class="radioBtn" label="3" border @click="openPl('h')"><i class="iconfont iconpilianghu"></i> 批量户
</el-button>
<el-button class="radioBtn" label="4" border @click="openPlC"><i class="iconfont iconpiliangceng"></i>批量层
</el-button>
<el-button class="radioBtn" label="5" border @click="openPl('sh')"><i
class="iconfont iconpiliangshihao"></i>批量室号</el-button>
<el-button class="radioBtn" label="6" border @click="openPl('zl')"><i
class="iconfont iconpiliangzuola"></i>批量坐落</el-button>
<el-button class="radioBtn" label="7" border @click="addBdcdyh"><i
class="iconfont iconpiliangdanyuanhao"></i>批量单元号</el-button>
<el-button class="radioBtn" label="7" border @click="batchCommit"><i
class="iconfont iconhuzhongxinlazong"></i>批量提交</el-button>
<el-button class="radioBtn" label="7" border @click="batchDelete"><i class="iconfont iconshanchu"></i>批量删除
</el-button>
<el-button class="radioBtn" label="7" border @click="batchUpload"><i
class="iconfont iconshangchuan"></i>批量上传</el-button>
<el-button class="radioBtn" label="7" border @click="batchCancelChoosed"><i
class="iconfont iconquxiaoxuanze"></i>取消选中</el-button>
</div>
</el-col>
</el-row>
<div class="change">
<i class="iconfont iconloupanbiaoxinxi" v-show="bjztFlag" @click="bjztChange" title="详细信息"></i>
<i class="iconfont iconloupanbiaobianji" v-show="!bjztFlag" @click="bjztChange" title="编辑楼盘"></i>
</div>
</div> -->
<div class="tab-content" ref="tabContent" :style="{ height: lpbContentHight + 'px' }" v-show="bjztFlag">
<!-- 左侧树结构 -->
<!-- <div class="lp-tree" :class="createFlag ? 'w260' : 'w0'">
<LineTree :pd="pd" class="treeData" :islpb="islpb" @loading="loading"></LineTree>
<p @click="createFlag = false" style="width:20px;float:left;margin-top: 12px;margin-left:10px;cursor:pointer;">
X
</p>
</div> -->
<!-- 楼盘表主体 -->
<div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }">
<lpbContent ref="lpbContent" :zrzbsm="formData.bsm" :key="time"></lpbContent>
......@@ -154,69 +113,19 @@
</div>
</div>
</div>
<!-- 详细信息 -->
<!-- <xxxx v-show="!bjztFlag"></xxxx> -->
<!-- 右键菜单弹出框 根据菜单类型(menuType)和右键点击的楼盘类型(treeData.type)来区分弹框内容 -->
<!-- <el-dialog :close-on-click-modal="false" :title="taskTitle" :visible.sync="dialogVisible" width="50%">
<div class="addCh" v-if="menuType == 'ljz'">
<addLjz ref="ljz" :ljzbsm="curBsm"></addLjz>
</div>
<div class="addCh" v-if="menuType == 'zdy'">
<addZdy ref="zdy" :zdybsm="curBsm"></addZdy>
</div>
<div class="addCh" v-if="menuType == 'c'">
<editCinfo ref="c" :cbsm="curBsm"></editCinfo>
</div>
<div class="addCh" v-if="menuType == 'ch'">
<addCh ref="ch" :scyclx="scyclx" :dialogVisible="dialogVisible" :treeData="treeData"></addCh>
</div>
<div class="btnGroup">
<el-button type="primary" @click="saveInfo">保存</el-button>
<el-button type="primary" @click="resetInfo" icon="el-icon-refresh">重置</el-button>
<el-button type="primary" @click="dialogVisible = false">取消</el-button>
</div>
</el-dialog>
批量操作弹出框
<pl-h :plh-visible="plhVisible" :bsms="bsms" @close="plhClose" @lodding="lodding"></pl-h>
<pl-zl :pl-zl-visible="plzlVisible" :bsms="bsms" @close="plZlClose" @lodding="lodding"></pl-zl>
<pl-c :plc-visible="plcVisible" :bsms="cbsmList" @close="plcClose" @lodding="lodding"></pl-c>
<pl-sh :plShVisible="plShVisible" :bsms="bsms" @close="plshClose" @lodding="lodding"></pl-sh>
<el-dialog :close-on-click-modal="false" title="批量上传" :visible.sync="uploadVisible" width="30%">
<div class="wrap">
<div class="main-button">
<el-upload class="upload-demo" action="/api/file/uploadListByGlbsm" :data="fileData"
:on-preview="handlePreview" :on-remove="handleRemove" :before-remove="beforeRemove"
:before-upload="uploadProgress" :on-success="uploadSuccess" :on-error="uploadError" :show-file-list="false"
multiple :limit="1" :on-exceed="handleExceed">
<el-button type="primary" icon="iconfont iconshangchuan">上传附件</el-button>
</el-upload>
</div>
<el-button type="primary" class="download" @click="uploadVisible = false">取消</el-button>
</div>
<span slot="footer" class="dialog-footer">
</span>
</el-dialog> -->
</div>
</template>
<script>
import { Message } from "element-ui"
import PlC from "@/components/plc/plC";
import PlSh from "@/components/plsh/plSh";
import PlH from "@/components/plh/plH";
import PlZl from "@/components/plzl/plZl";
// import LineTree from "@/components/lineTree/lineTree";
import addLjz from "./ljz/index";
import addZdy from "./zdy/index";
import addCh from "./ch/index";
import editCinfo from "./c/index";
import lpbContent from "./lpbContent/index";
// import { getLpbMenuTree, batchScYcChange, getLpbTj, batchGeneratorBdcdyh, getLpbFwytAndQlxz, batchCommit, batchDelete, getLpbQsxtj } from "@api/lpb";
// import xxxx from '../xxxx/index'
export default {
name: "bjlp",
name: "lpb",
props: {
formData: {
type: Object,
......@@ -224,30 +133,17 @@ export default {
}
},
components: {
// LineTree,
addLjz,
addZdy,
addCh,
lpbContent,
PlC,
PlSh,
PlH,
PlZl,
// xxxx,
editCinfo
},
data () {
return {
bsms: [],
dialogVisible: false,
plcVisible: false,
plhVisible: false,
plShVisible: false,
plzlVisible: false,
scyclx: "0", //1是实测 0是预测
radio1: "",
radio2: "",
createFlag: false,
bdcdyh: "",
islpb: true,
pd: [], //创建楼盘的树结构数据
......@@ -319,7 +215,6 @@ export default {
lpbContentwidth: "",
time: "",
dyztBsmList: {}, //单元状态bsmList
cbsmList: [], // 层bsmlist
bjztFlag: true,
taskTitle: '添加',
curBsm: '',
......@@ -336,8 +231,6 @@ export default {
this.getHeight();
},
mounted () {
//获取楼盘表树结构
// this.getLpbMenuTree(formData.zrzbsm);
//获取各项单元状态的户bsm
// this.getDyztBsmList();
//获取房屋用途统计数据
......@@ -348,62 +241,11 @@ export default {
}, 100);
},
methods: {
//批量提交
batchCommit () {
if (this.bsms.length <= 0) {
Message.warning("请选择操作户")
return
} else {
if (this.qsztList.indexOf('1') > -1) {
Message.warning("已提交的户无法继续操作")
} else {
batchCommit(this.bsms).then(res => {
if (res.code === 200) {
Message.success("提交成功");
this.getlpbData();
} else {
this.$message.error(res.message);
}
})
}
}
},
//批量删除
batchDelete () {
if (this.bsms.length <= 0) {
Message.warning("请选择操作户")
return
} else {
if (this.qsztList.indexOf('1') > -1) {
Message.warning("已提交的户无法继续操作")
} else {
batchDelete(this.bsms).then(res => {
if (res.code === 200) {
Message.success("删除成功");
this.getlpbData();
} else {
this.$message.error(res.message);
}
})
}
}
},
//批量上传 start
batchUpload () {
if (this.bsms.length < 1) {
Message.warning("请选择操作户")
return
} else {
this.uploadVisible = true
}
},
//取消选中
batchCancelChoosed () {
this.cbsmList = [];
this.bsms = [];
this.qsztList = [];
this.$refs.lpbContent.hbsmList = [];
this.$refs.lpbContent.cbsmList = [];
this.$refs.lpbContent.choosedList = [];
this.$refs.lpbContent.$refs.hBsm.forEach((item) => {
item.style.border = '';
......@@ -414,144 +256,19 @@ export default {
item.className = "";
});
},
uploadError (err, file, fileList) {
Message.error("上传文件失败")
console.log("上传文件失败", err)
},
uploadProgress () {
vm.loadingShow('正在上传中')
},
uploadSuccess (res, file, fileList) {
vm.loadingHide();
Message.success("上传成功")
this.uploadVisible = false;
},
handleRemove (file, fileList) {
console.log(file, fileList);
},
handlePreview (file) {
console.log(file);
},
handleExceed (files, fileList) {
// this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
this.$message.warning("上传失败")
},
beforeRemove (file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
//批量上传 end
loading () {
this.getLpbMenuTree(this.$store.state.zrzbsm);
},
openPlC () {
if (this.cbsmList.length <= 0) {
Message.warning("请选择层")
return
}
this.plcVisible = true
},
openPl (val) {
if (this.bsms.length <= 0) {
Message.warning("请选择操作户")
return
} else {
if (this.qsztList.indexOf('1') > -1) {
Message.warning("已提交的户无法继续操作")
} else {
switch (val) {
case 'h':
this.plhVisible = true;
break;
case 'zl':
this.plzlVisible = true;
break;
case 'sh':
this.plShVisible = true;
break;
default:
break;
}
}
}
},
lodding () {
this.getlpbData();
},
plZlClose () {
this.plzlVisible = false;
},
plcClose () {
this.plcVisible = false;
},
plhClose () {
this.plhVisible = false;
},
plshClose () {
this.plShVisible = false;
},
//改变编辑或详细信息状态
bjztChange () {
this.bjztFlag = !this.bjztFlag;
},
//改变实预测数据类型
scyclxChange (val) {
//清空已选中层户
this.cbsmList = [];
this.bsms = [];
this.qsztList = [];
this.$refs.lpbContent.hbsmList = [];
this.$nextTick(() => {
//户
if (this.$refs.lpbContent.$refs.hBsm) {
this.$refs.lpbContent.$refs.hBsm.forEach(item => {
item.style.borderColor = 'rgb(230, 230, 230)';
if (item.className == "tdSelect") {
item.className = "";
}
});
}
//层
if (this.$refs.lpbContent.$refs.cBsm) {
this.$refs.lpbContent.$refs.cBsm.forEach(item => {
console.log(item.className, 'item.className');
item.className = "floor";
});
}
})
//获取图例数据
this.getDyztBsmList();
this.getLpbFwytAndQlxz();
//重新渲染楼盘表
this.$refs.lpbContent.dataChange();
},
//获取高度计算lpb内容区高度
getHeight () {
this.lpbContentHight = window.innerHeight - 190;
},
//创建楼盘
create () {
this.createFlag = true;
},
//获取自然幢树结构数据
getLpbMenuTree (zrzbsm) {
getLpbMenuTree(zrzbsm)
.then((res) => {
this.pd = res.result;
})
.catch((error) => { });
},
//打开新建楼盘树结构右键菜单唤起的弹框
openLpbDialog (data, type) {
this.treeData = data;
this.menuType = type;
this.$nextTick(() => {
this.resetInfo();
});
this.dialogVisible = true;
this.taskTitle = '添加';
this.curBsm = '';
},
//弹框中的保存按钮,根据不同菜单点击类型调用不同子组件的保存方法
saveInfo () {
switch (this.menuType) {
......@@ -609,20 +326,6 @@ export default {
this.bsms = data;
}
},
//获取选中户信息
getQsztList (data, type) {
if (type) {
// 双击
} else {
//单击 TO DO
this.qsztList = data;
}
},
//获取选中层bsmlist
getCbsm (data) {
this.cbsmList = data;
},
inputChange () {
console.log(this.bdcdyh, 'this.bdcdyh');
if (this.bdcdyh != "") {
......@@ -643,22 +346,6 @@ export default {
//改变楼盘表子组件的key值,重新渲染
// this.time = new Date().getTime();
},
//实预测装换
plScYcChange () {
let data = {
zrzbsm: this.$store.state.zrzbsm,
scyclx: this.scyclx,
};
batchScYcChange(data).then((res) => {
if (res.code === 200) {
this.$message.success("实预测转换成功");
this.$refs.lpbContent.loadingData(this.$store.state.zrzbsm, '1');
this.$refs.lpbContent.loadingData(this.$store.state.zrzbsm, '0');
} else if (res.code === 500) {
this.$message.warning(res.message);
}
});
},
//切换房屋状态
handleChoosedH (bsms, color) {
//每次切换房屋状态,将之前高亮的户边框颜色重置为默认
......@@ -676,30 +363,6 @@ export default {
this.$refs.lpbContent.borderColor = color;
})
},
//批量添加不动产单元号
addBdcdyh () {
if (this.qsztList.indexOf('1') > -1) {
Message.warning("已提交的户无法继续操作")
} else {
batchGeneratorBdcdyh(this.$store.state.zrzh, this.pd[0].bsm, 0).then(
(res) => {
if (res.code === 200) {
this.$message.success("生成完成!");
} else if (res.code === 206) {
let hasGenerateCount = res.result.hasGenerateCount;
let unGenerateCount = res.result.unGenerateCount;
if (+unGenerateCount === 0) {
this.$message.warning("不存在未生成不动产单元号的户,无需生成不动产单元号!")
return
}
this.open(hasGenerateCount, unGenerateCount);
} else {
this.$message.warning(res.message)
}
}
);
}
},
open (hasGenerateCount, unGenerateCount) {
......@@ -850,13 +513,6 @@ export default {
this.lpbContentwidth += 204;
}
},
createFlag (n) {
if (n) {
this.lpbContentwidth -= 260;
} else {
this.lpbContentwidth += 260;
}
},
selectedZt (n) {
this.legendToggleFlag = true;
},
......@@ -871,7 +527,6 @@ export default {
.edit {
height: 100%;
background-color: #F4F9FF;
.tab-header {
border: 1px solid #dedede;
box-sizing: border-box;
......@@ -879,19 +534,16 @@ export default {
background-color: #ffffff;
margin-bottom: 10px;
position: relative;
.searchContent {
margin-left: 62px;
box-sizing: border-box;
padding: 0 20px;
.searchInput {
transition: 0.5s;
margin-left: 20px;
display: inline-block;
}
}
.change {
position: absolute;
left: 0;
......@@ -899,7 +551,6 @@ export default {
height: 100%;
width: 80px;
border-right: 1px solid #dedede;
i {
cursor: pointer;
color: #0090FF;
......@@ -914,12 +565,10 @@ export default {
margin-left: 10px;
padding: 12px 10px;
border: 0;
i {
font-size: 13px;
padding-right: 4px;
}
/deep/.el-radio-button__inner {
border: 1px solid #dcdfe6;
border-radius: 4px;
......@@ -932,12 +581,10 @@ export default {
border: 1px solid #dedede;
background-color: #ffffff;
display: flex;
.lp-tree {
height: 100%;
overflow: hidden;
transition: 0.5s;
.treeData {
margin-top: 20px;
margin-left: 26px;
......
......@@ -182,81 +182,19 @@
<el-checkbox v-model="zrzChecked" @change='lpbSelectAll'>{{ lpbData.xmmc }}</el-checkbox>
</div>
</div>
<ul v-show="lpbChVisible" :style="{ left: lpbChLeft + 'px', top: lpbChTop + 'px' }" class="contextmenu">
<li v-show="rightClickFlag == 'h'" @click="handleAddH">添加</li>
<li v-show="rightClickFlag == 'h'" @click="handleMoveH">移动</li>
<li v-show="rightClickFlag == 'h'" @click="handleSyczh">实预测转换</li>
<li v-show="rightClickFlag == 'c'" @click="handleAddC('up')">
向上添加层
</li>
<li v-show="rightClickFlag == 'c'" @click="handleAddC('down')">
向下添加层
</li>
<li v-show="rightClickFlag == 'c'" @click="handleDeleteC">删除层</li>
<!-- 合并 -->
<li v-show="rightClickFlag == 'hb'" :class="canHb != 'zyhb' ? 'cantHb' : ''" @click="handleHb('zyhb')">左右合并</li>
<li v-show="rightClickFlag == 'hb'" :class="canHb != 'sxhb' ? 'cantHb' : ''" @click="handleHb('sxhb')">上下合并</li>
<!-- 分割 -->
<li v-show="rightClickFlag == 'fg'" @click="handleFg">户分割</li>
<!-- 范围属性变更 -->
<li v-show="rightClickFlag == 'fwsxbg'" @click="handleFwsxbg">变更信息</li>
<!-- 重新落宗 -->
<li v-show="rightClickFlag == 'cxlz'" @click="handleCxlz">重新落宗</li>
</ul>
<!-- 层操作弹框 -->
<el-dialog :close-on-click-modal="false" :title="addCData.title" :visible.sync="addCVisible" width="50%">
<el-form :model="addCData">
<el-form-item label="层号" :label-width="formLabelWidth">
<el-input disabled v-model="addCData.sjc" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="实际层" :label-width="formLabelWidth">
<el-input disabled v-model="addCData.sjc" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="添加的户数" :label-width="formLabelWidth">
<el-input v-model="addCData.hcount" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div class="btnGroup">
<el-button type="primary" @click="saveAddC">保存</el-button>
<el-button type="primary" @click="addCVisible = false">取消</el-button>
</div>
</el-dialog>
<!-- 户分割弹框 -->
<el-dialog :close-on-click-modal="false" title="户分割" :visible.sync="hfgDialogVisible" width="800px">
<el-form :model="fgData">
<el-form-item label="分割户数" required="" :label-width="formLabelWidth">
<el-input :disabled="fgData.fgfx != 0" v-model="fgData.fghs" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div class="btnGroup">
<el-button type="primary" @click="savefgData">保存</el-button>
<el-button type="primary" @click="hfgDialogVisible = false">取消</el-button>
</div>
</el-dialog>
<move-h :hbsm="chData.bsm" @close="moveHClose" :move-hvisible="moveHvisible" :type="scyclx"
@loading="loadingData($store.state.zrzbsm, $parent.scyclx)"></move-h>
<!-- 双击户的弹出框 -->
<el-dialog :close-on-click-modal="false" title="户编辑" class="hbjDialog" :visible.sync="hbjVisible" width="80%">
<hbj ref="hbj" :bsm="hbsm" :scyclx="scyclx" :lpbParent="lpbParent"></hbj>
</el-dialog>
<!-- 户重新落宗 -->
<h-cxlz :h-cxlz-visble="hcxlzVisible" :bsms="hbsmList" @close="hcxlzVisible = false"></h-cxlz>
</div>
</template>
<script>
import moveH from "@/components/moveH/moveH";
import HCxlz from "@/components/hCxlz/hCxlz";
import { getLpb } from '@/api/lpb'
// import { getLpb, insertUpDownC, deleteCByBsm } from "@api/lpb";
// import { hhb, hfg } from "@api/h";
import { Message } from 'element-ui';
// import { fwsxbgbl } from "@api/common";
import hbj from "../hbj/lpb-hbj/index";
export default {
name: "",
components: { moveH, hbj, HCxlz, },
components: { hbj },
props: {
zrzbsm: {
type: String,
......@@ -273,14 +211,12 @@ export default {
},
data () {
return {
moveHvisible: false,
lpbData: {
ljzs: [],
cs: [],
zdys: [],
},
hbjVisible: false,
hcxlzVisible: false,
lpbContentWidth: 0,
ljzWidth: 10000,
zdyWidth: 1000,
......@@ -391,10 +327,6 @@ export default {
}
// console.log("查询searchNum" + searchNum);
},
//接收范围属性变更传入的hbsm
getFwsxbgHbsm (bsm) {
this.hbsmList.push(bsm);
},
//自然幢下元素高度宽度计算
dataChange () {
//计算逻辑幢宽度 20为marginRight值
......@@ -674,184 +606,7 @@ export default {
closeMenu () {
this.lpbChVisible = false;
},
//户右键菜单 start
handleAddH () { },
handleMoveH () {
// 移动户
console.log(this.$parent.scyclx, "实预测类型");
this.moveHvisible = true;
},
moveHClose () {
this.moveHvisible = false;
},
handleDeleteH () { },
handleSyczh () { },
//end
// 层右键菜单 start
//添加
handleAddC (type) {
this.addCData.title = type == "up" ? "向上添加层" : "向下添加层";
this.addCVisible = true;
this.addCData.sjc =
type == "up"
? Number(this.chData.sjc) + 1
: Number(this.chData.sjc) - 1;
this.addCData.cbsm = this.chData.bsm;
this.addCData.scyclx = this.$parent.scyclx;
},
//删除
handleDeleteC () {
let params = {
cbsm: this.chData.bsm,
scyclx: this.$parent.scyclx,
};
this.$confirm("是否确认删除该层?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
deleteCByBsm(params).then((res) => {
if (res.code == 200) {
this.$message({
message: "删除成功",
type: "success",
});
this.getLpb(this.$store.state.zrzbsm, this.$parent.scyclx);
} else {
this.$message({
message: res.message,
type: "warning",
});
}
})
})
.catch(() => { });
},
//确认添加
saveAddC () {
insertUpDownC(this.addCData).then((res) => {
if (res.code == 200) {
this.$message({
message: "添加成功",
type: "success",
});
this.getLpb(this.$store.state.zrzbsm, this.$parent.scyclx);
this.addCVisible = false;
} else {
this.$message({
message: res.message,
type: "warning"
})
}
})
},
//户合并
handleHb (type) {
let olbBsms = '';
this.hbsmList.forEach((item, index) => {
olbBsms += index < this.hbsmList.length - 1 ? item + ',' : item
})
if (type == this.canHb) {
this.$confirm("是否确认合并选中户?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
//确定合并 调用合并接口 this.hbsmList为选中户bsm数组 TO DO
let params = {
"newuserbsm": "",
"oldBsms": olbBsms,
"scyclx": this.$parent.scyclx,
"ljzbsm": this.fghbChoosedList[0].ljzbsm,
"zdybsm": this.fghbChoosedList[0].zdybsm,
"zrzbsm": this.fghbChoosedList[0].zrzbsm
}
// hhb(params).then((res) => {
// vm.loadingHide();
// if (res.code == 200) {
// Message.success('合并成功');
// // 清除选中户
// this.clearChoosedH();
// this.fghbChoosedList = [];
// // 更新楼盘表
// this.getLpb(this.zrzbsm, this.$parent.scyclx);
// } else {
// Message.error(res.message);
// }
// })
// .catch((error) => {
// vm.loadingHide();
// console.log(error);
// });
})
.catch(() => { });
} else {
}
},
//户分割
handleFg () {
this.hfgDialogVisible = true;
},
//户分割保存
savefgData () {
// hfg(this.fgData).then((res) => {
// vm.loadingHide();
// if (res.code == 200) {
// Message.success('分割成功');
// // 清除选中户
// this.hfgDialogVisible = false
// this.clearChoosedH();
// this.fghbChoosedList = [];
// // 更新楼盘表
// this.getLpb(this.zrzbsm, this.$parent.scyclx);
// } else {
// Message.error(res.message);
// }
// })
// .catch((error) => {
// vm.loadingHide();
// console.log(error);
// });
},
//范围属性变更
handleFwsxbg () {
let params = { bsm: this.chData.bsm, type: 'h' };
this.$confirm('是否确定范围属性变更?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
// fwsxbgbl(params)
// .then((res) => {
// if (res.code == 200) {
// this.$message({
// message: '变更成功',
// type: "success",
// });
// this.getLpb(this.zrzbsm, this.scyclx);
// } else {
// this.$message({
// message: res.message,
// type: "warning",
// })
// }
// }).catch((error) => {
// });
}).catch(() => {
});
},
//户重新落宗
handleCxlz () {
if (this.hbsmList.indexOf(this.chData.bsm) == -1) {
this.hbsmList.push(this.chData.bsm);
}
this.hcxlzVisible = true
},
//楼盘表户全选
lpbSelectAll (val) {
if (val) {
......
......@@ -198,7 +198,7 @@ export default {
this.bdcdysz = val
},
handleLpbClick (item) {
this.$popup('楼盘表', 'components/bjlp/index', {
this.$popup('楼盘表', 'lpb/index', {
width: '85%',
formData: {
bsm: item.bsm
......
......@@ -114,7 +114,7 @@ export default {
});
},
handleLpbClick (item) {
this.$popup('楼盘表', 'components/bjlp/index', {
this.$popup('楼盘表', 'lpb/index', {
width: '90%',
height: "92%",
formData: {
......
......@@ -96,11 +96,11 @@ export default {
//打开楼盘表
openlpbClick (scope) {
// var zrzbsm = scope.row.bsm;
this.$popup('楼盘表', 'components/bjlp/index', {
this.$popup('楼盘表', 'lpb/index', {
width: '90%',
height: "92%",
formData: {
bsm: ''
bsm: scope.row.bsm
}
})
// getLpb({ zrzbsm: zrzbsm })
......