Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
163fb101
authored
2023-07-21 15:00:47 +0800
by
yangwei
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
楼盘表修改
1 parent
4f8e246d
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
207 additions
and
88 deletions
src/views/lpb/index.vue
src/views/lpb/lpbContent/ch.vue
src/views/lpb/lpbContent/index.vue
src/views/lpb/lpbContent/ljzs.vue
src/views/lpb/lpbContent/zdys.vue
src/views/workflow/components/leftmenu/ordinaryMenu.vue
src/views/workflow/mixin/index.js
src/views/zhcx/lpcx/lpcx.vue
src/views/lpb/index.vue
View file @
163fb10
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-
19 09:50:51
* @LastEditTime: 2023-07-
21 11:23:22
-->
<
template
>
<div
class=
"edit"
>
...
...
@@ -16,14 +16,16 @@
:style=
"
{ height: lpbContentHight + 'px' }"
v-show="bjztFlag">
<!-- 楼盘表主体 -->
<div
class=
"lp-overview"
:style=
"
{ width: lpbContentwidth + 'px' }">
<div
class=
"lp-overview"
:style=
"
{ width: lpbContentwidth + 'px'
,'margin-right': formData.onlyShow ? '10px' : 0
}">
<lpbContent
ref=
"lpbContent"
:zrzbsm=
"formData.bsm"
:onlyShow=
"formData.onlyShow"
:unitData=
"formData.unitData"
:key=
"time"
></lpbContent>
</div>
<!-- 右侧图例 -->
<div
class=
"lp-legend"
>
<div
class=
"lp-legend"
v-if=
"formData.onlyShow"
>
<div
class=
"handleCol"
>
<div
class=
"btn"
@
click=
"legendToggle"
>
<i
v-show=
"!legendToggleFlag"
class=
"el-icon-d-arrow-left"
></i>
...
...
@@ -182,7 +184,9 @@
props
:
{
formData
:
{
type
:
Object
,
default
:
{},
default
:
()
=>
{
return
{}
}
},
},
components
:
{
...
...
@@ -404,30 +408,30 @@
}
}
});
getLpbQsxtj
(
this
.
formData
.
bsm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
qsxList
=
[
{
name
:
"坐落"
,
bsms
:
res
.
result
.
zl
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
zl
.
bsms
.
length
,
},
{
name
:
"分层分户图"
,
bsms
:
res
.
result
.
fcfht
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
fcfht
.
bsms
.
length
,
},
{
name
:
"室号"
,
bsms
:
res
.
result
.
shbw
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
shbw
.
bsms
.
length
,
},
];
}
});
//
getLpbQsxtj(this.formData.bsm).then((res) => {
//
if (res.code === 200) {
//
this.qsxList = [
//
{
//
name: "坐落",
//
bsms: res.result.zl.bsms,
//
color: "#2591FD",
//
ts: res.result.zl.bsms.length,
//
},
//
{
//
name: "分层分户图",
//
bsms: res.result.fcfht.bsms,
//
color: "#2591FD",
//
ts: res.result.fcfht.bsms.length,
//
},
//
{
//
name: "室号",
//
bsms: res.result.shbw.bsms,
//
color: "#2591FD",
//
ts: res.result.shbw.bsms.length,
//
},
//
];
//
}
//
});
},
},
computed
:
{},
...
...
@@ -488,7 +492,6 @@
border
:
1px
solid
rgb
(
236
,
236
,
236
);
border-top
:
0
;
border-bottom
:
0
;
margin-right
:
10px
;
box-sizing
:
border-box
;
}
...
...
src/views/lpb/lpbContent/ch.vue
View file @
163fb10
...
...
@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-02-28 15:47:12
* @LastEditors: yangwei
* @LastEditTime: 2023-0
6-16 16:14:51
* @LastEditTime: 2023-0
7-21 14:39:12
* @FilePath: \bdcdj-web\src\views\lpb\lpbContent\ch.vue
* @Description:
*
...
...
@@ -86,7 +86,8 @@ export default {
openMenu
:{
value
:
'openMenu'
,
default
:
null
},
selectAll
:{
value
:
'selectAll'
,
default
:
null
},
changeChoosedObj
:{
value
:
'changeChoosedObj'
,
default
:
null
},
clearChangeChoosedObj
:{
value
:
'clearChangeChoosedObj'
,
default
:
null
}
clearChangeChoosedObj
:{
value
:
'clearChangeChoosedObj'
,
default
:
null
},
getBsmList
:{
value
:
'getBsmList'
,
default
:
null
}
},
props
:
{
ch
:
{
...
...
@@ -102,15 +103,31 @@ export default {
hbsmList
:
[],
//选中层bsm合集
cbsmList
:
[],
//选中户qszt集合
hqsztList
:
[],
//区分单双击事件的定时器
time
:
null
,
// 边框颜色
borderColor
:
'rgb(230, 230, 230)'
borderColor
:
'rgb(230, 230, 230)'
,
// 申请单元列表数据
unitIdList
:[]
};
},
mounted
()
{},
mounted
()
{
// 根据申请单元列表数据处理选中户
if
(
window
.
unitData
.
length
){
window
.
unitData
.
forEach
(
e
=>
{
this
.
unitIdList
.
push
(
e
.
bdcdyid
)
})
this
.
ch
.
forEach
((
c
)
=>
{
c
.
hs
.
forEach
((
h
)
=>
{
if
(
h
.
dyhbsm
.
indexOf
(
this
.
unitIdList
)
>
-
1
)
{
h
.
select
=
true
;
// 使用hbsmList时,需要去重
this
.
hbsmList
.
push
(
h
.
bsm
)
}
});
});
}
},
methods
:
{
// 层选中事件
/**
...
...
@@ -120,17 +137,24 @@ export default {
* @author: renchao
*/
handleClickC
(
e
,
item
)
{
//判断点击的层是否选中
// if (e.target.className.indexOf("tdSelect") == -1) {
// //未选中→选中
// e.target.className += " tdSelect"; //加边框
// this.cbsmList.push(item.bsm);
// } else {
// //选中→未选中
// e.target.className = "floor";
// this.cbsmList = this.cbsmList.filter((i) => i != item.bsm);
// }
// this.$parent.getCbsm(this.cbsmList);
// 判断点击的层是否选中
if
(
e
.
target
.
className
.
indexOf
(
"tdSelect"
)
==
-
1
)
{
//未选中→选中
item
.
hs
.
forEach
((
h
)
=>
{
//加边框
e
.
target
.
className
+=
" tdSelect"
;
h
.
select
=
true
;
// 使用hbsmList时,需要去重
this
.
hbsmList
.
push
(
h
.
bsm
)
});
}
else
{
//选中→未选中
item
.
hs
.
forEach
((
h
)
=>
{
e
.
target
.
className
=
"floor"
;
h
.
select
=
false
;
this
.
hbsmList
=
this
.
hbsmList
.
filter
((
i
)
=>
i
!=
h
.
bsm
);
});
}
},
//户单击事件
/**
...
...
@@ -141,6 +165,26 @@ export default {
* @author: renchao
*/
handleClickH
(
e
,
bsm
,
hs
)
{
let
self
=
this
;
// 开启延时器,200ms的间隔区分单击和双击,解决双击时执行两次单击事件
clearTimeout
(
self
.
time
);
self
.
time
=
setTimeout
(()
=>
{
// this.closeMenu();
//判断点击的户是否选中
if
(
!
hs
.
select
)
{
//未选中→选中
//加边框
hs
.
select
=
true
;
// 将户bsm放进hbsmList
self
.
hbsmList
.
push
(
bsm
);
}
else
{
//选中→未选中
hs
.
select
=
false
;
self
.
hbsmList
=
self
.
hbsmList
.
filter
((
i
)
=>
i
!=
bsm
);
}
//更新当前选中户数据
this
.
$forceUpdate
();
},
200
);
},
// 户单元状态点击事件
/**
...
...
@@ -151,7 +195,7 @@ export default {
* @author: renchao
*/
hDyztClick
(
e
,
bsm
,
hs
)
{
//
this.handleClickH(e.target.parentNode, bsm, hs);
this
.
handleClickH
(
e
.
target
.
parentNode
,
bsm
,
hs
);
},
//户双击事件
/**
...
...
@@ -191,21 +235,51 @@ export default {
// item.style.border = `1px solid ${this.borderColor}`
});
},
//清除选中
clearChoosed
(){
//清除选中户
this
.
zdySelectAll
(
false
)
//清除选中层
this
.
cbsmList
=
[];
this
.
$refs
.
cBsm
&&
this
.
$refs
.
cBsm
.
forEach
((
item
)
=>
{
item
.
className
=
'floor'
})
},
},
watch
:
{
selectAll
:
{
handler
(
val
)
{
this
.
zdySelectAll
(
val
.
selectAll
);
val
.
cancelChoosed
&&
this
.
clearChoosed
()
},
immediate
:
true
,
deep
:
true
,
},
hbsmList
(
val
){
let
list
=
[]
val
.
length
&&
val
.
forEach
((
i
)
=>
{
this
.
ch
.
forEach
((
c
)
=>
{
c
.
hs
.
forEach
((
h
)
=>
{
if
(
i
==
h
.
bsm
)
{
list
.
push
(
{
bdcdyh
:
h
.
bdcdyh
,
bsm
:
h
.
bsm
,
dyhbsm
:
h
.
dyhbsm
}
)
}
});
});
})
this
.
getBsmList
(
list
)
},
changeChoosedObj
:
{
handler
(
val
)
{
//清除选中户
this
.
borderColor
=
'rgb(230, 230, 230)'
;
this
.
zdySelectAll
(
false
,
true
)
if
(
val
.
bsms
.
length
)
{
//清除选中户
this
.
zdySelectAll
(
false
,
true
)
this
.
$refs
.
hBsm
.
forEach
((
item
)
=>
{
val
.
bsms
.
forEach
((
i
,
ind
)
=>
{
if
(
item
.
dataset
.
bsm
==
i
)
{
...
...
@@ -214,19 +288,17 @@ export default {
window
.
lpbContent
.
$refs
.
lpbContent
.
scrollTop
=
item
.
offsetTop
;
window
.
lpbContent
.
$refs
.
lpbContent
.
scrollLeft
=
item
.
offsetLeft
;
}
item
.
style
.
border
=
'1px solid '
+
val
.
color
;
// item.style.backgroundColor = val.color;
// item.style.border = '1px solid '+ val.color;
// 背景色高亮
item
.
style
.
backgroundColor
=
val
.
color
;
}
});
});
}
else
{
this
.
borderColor
=
'rgb(230, 230, 230)'
}
},
immediate
:
true
,
deep
:
true
,
}
,
}
},
};
</
script
>
...
...
src/views/lpb/lpbContent/index.vue
View file @
163fb10
<
template
>
<div
class=
"lpbContent-wrap"
ref=
"lpbContentWrap"
>
<div
class=
"lpbContent"
ref=
"lpbContent"
>
<div
class=
"lpbContent"
ref=
"lpbContent"
:style=
"
{ 'height': 'calc(100% - '+ lpbContentHeight +'px)'}"
>
<!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 -->
<div
class=
"ch-zdy-wrap"
>
<!-- 幢单元 -->
<zdy-cpn
v-if=
"lpbData.zdys.length"
:zdys=
"lpbData.zdys"
/>
<zdy-cpn
v-if=
"lpbData.zdys.length"
:zdys=
"lpbData.zdys"
:onlyShow=
"onlyShow"
/>
<!-- 独立层户 -->
<ch-cpn
v-if=
"lpbData.cs.length"
:ch=
"lpbData.cs"
/>
</div>
<!-- 逻辑幢 -->
<ljzs-cpn
v-if=
"lpbData.ljzs.length"
:ljzs=
"lpbData.ljzs"
/>
<ljzs-cpn
v-if=
"lpbData.ljzs.length"
:ljzs=
"lpbData.ljzs"
:onlyShow=
"onlyShow"
/>
</div>
<!-- 自然幢名称 -->
<p
class=
"lpb-xmmc"
>
<
!--
<el-checkbox
@
change=
"zdySelectAll($event)
"
>
{{
<p
class=
"lpb-xmmc"
:style=
"
{ 'border-bottom': onlyShow ? 0 : '1px solid #e6e6e6'}"
>
<
el-checkbox
@
change=
"zdySelectAll($event)"
v-if=
"!onlyShow
"
>
{{
lpbData
.
xmmc
}}
</el-checkbox>
-->
{{
lpbData
.
xmmc
}}
}}
</el-checkbox>
<span
v-else
>
{{
lpbData
.
xmmc
}}
</span>
</p>
<el-button
type=
"primary"
class=
"save-btn"
v-if=
"!onlyShow"
@
click=
"saveLpb"
>
保存
</el-button>
<!-- 右键菜单 -->
<ul
v-show=
"lpbChVisible"
...
...
@@ -40,7 +41,8 @@ export default {
openMenu
:
this
.
openMenu
,
selectAll
:
this
.
selectAllObj
,
changeChoosedObj
:
this
.
changeChoosedObj
,
clearChangeChoosedObj
:
this
.
clearChangeChoosedObj
clearChangeChoosedObj
:
this
.
clearChangeChoosedObj
,
getBsmList
:
this
.
getBsmList
};
},
name
:
""
,
...
...
@@ -58,6 +60,10 @@ export default {
type
:
Boolean
,
default
:
true
,
},
onlyShow
:{
type
:
Boolean
,
default
:
true
,
}
},
data
()
{
return
{
...
...
@@ -79,7 +85,9 @@ export default {
changeChoosedObj
:{
bsms
:[],
color
:
''
}
},
// 选中户bsm合集
bsmList
:[]
};
},
mounted
()
{
...
...
@@ -87,6 +95,24 @@ export default {
window
.
lpbContent
=
this
;
},
methods
:
{
/**
* @description: 获取当前楼盘表选中户信息
* @param {Array} bsmList
* @author: renchao
*/
getBsmList
(
bsmList
){
this
.
bsmList
=
bsmList
;
},
/**
* @description: 保存当前楼盘表
* @author: renchao
*/
saveLpb
(){
// todo 调用保存接口 传入参数待定
console
.
log
(
this
.
bsmList
,
'this.bsmList'
);
// 保存成功后关闭弹框
this
.
$popupCacel
()
},
// 改变户选中状态
/**
* @description: 改变户选中状态
...
...
@@ -125,8 +151,8 @@ export default {
getLpb
(
zrzbsm
,
scyclx
,
actual
)
{
getLpb
(
zrzbsm
,
scyclx
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
res
.
result
.
l
jzs
=
res
.
result
.
ljzs
.
sort
(
this
.
compare
(
"place"
));
this
.
lpbData
=
res
.
result
==
null
?
this
.
lpbData
:
res
.
result
;
res
.
result
.
l
pb
.
ljzs
=
res
.
result
.
lpb
.
ljzs
.
sort
(
this
.
compare
(
"place"
));
this
.
lpbData
=
res
.
result
.
lpb
==
null
?
this
.
lpbData
:
res
.
result
.
lpb
;
// this.$nextTick(() => {
// //渲染楼盘表
// this.dataChange();
...
...
@@ -182,6 +208,11 @@ export default {
};
},
},
computed
:{
lpbContentHeight
(){
return
this
.
onlyShow
?
36
:
76
}
},
watch
:
{
//户右键菜单显示时,监听到鼠标点击时关闭户右键菜单
lpbChVisible
(
value
)
{
...
...
@@ -190,7 +221,7 @@ export default {
}
else
{
document
.
body
.
removeEventListener
(
"click"
,
this
.
closeMenu
);
}
}
,
}
},
};
</
script
>
...
...
@@ -201,7 +232,6 @@ export default {
overflow
:
hidden
;
.lpbContent
{
width
:
100%
;
height
:
calc
(
100%
-
36px
);
position
:
relative
;
overflow
:
scroll
;
-webkit-user-select
:
none
;
...
...
@@ -221,6 +251,10 @@ export default {
border
:
0
;
border-top
:
1px
solid
#e6e6e6
;
}
.save-btn
{
display
:
block
;
margin
:
5px
auto
;
}
//
自定义右键菜单样式
.contextmenu
{
margin
:
0
;
...
...
src/views/lpb/lpbContent/ljzs.vue
View file @
163fb10
...
...
@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-02-28 17:25:45
* @LastEditors: yangwei
* @LastEditTime: 2023-07-
11 10:05:55
* @LastEditTime: 2023-07-
21 14:59:46
* @FilePath: \bdcdj-web\src\views\lpb\lpbContent\ljzs.vue
* @Description:
*
...
...
@@ -20,11 +20,13 @@
"
>
<!-- 逻辑幢名称 -->
<p
class=
"lpb-xmmc ljz-xmmc"
>
{{
ljz
.
ljzmc
}}
</p>
<p
class=
"lpb-xmmc ljz-xmmc"
>
<span>
{{
ljz
.
ljzmc
}}
</span>
</p>
<!-- 独立层户 -->
<ch-cpn
v-if=
"ljz.cs.length"
:ch=
"ljz.cs"
/>
<!-- 幢单元 -->
<zdy-cpn
v-if=
"ljz.zdys.length"
:zdys=
"ljz.zdys"
/>
<zdy-cpn
v-if=
"ljz.zdys.length"
:zdys=
"ljz.zdys"
:onlyShow=
"onlyShow"
/>
</div>
</div>
</div>
...
...
@@ -40,7 +42,7 @@
<!-- 独立层户 -->
<ch-cpn
v-if=
"ljzarr[0].cs.length"
:ch=
"ljzarr[0].cs"
/>
<!-- 幢单元 -->
<zdy-cpn
v-if=
"ljzarr[0].zdys.length"
:zdys=
"ljzarr[0].zdys"
/>
<zdy-cpn
v-if=
"ljzarr[0].zdys.length"
:zdys=
"ljzarr[0].zdys"
:onlyShow=
"onlyShow"
/>
</div>
</div>
</div>
...
...
@@ -59,12 +61,15 @@ export default {
return
[];
},
},
onlyShow
:{
type
:
Boolean
,
default
:
true
,
}
},
data
()
{
return
{
};
},
mounted
()
{
console
.
log
(
this
.
ljzsCptd
);
},
...
...
src/views/lpb/lpbContent/zdys.vue
View file @
163fb10
...
...
@@ -2,7 +2,7 @@
* @Author: yangwei
* @Date: 2023-02-28 16:29:04
* @LastEditors: yangwei
* @LastEditTime: 2023-0
6-08 13:58:58
* @LastEditTime: 2023-0
7-21 14:55:30
* @FilePath: \bdcdj-web\src\views\lpb\lpbContent\zdys.vue
* @Description:
*
...
...
@@ -13,10 +13,10 @@
<div
v-for=
"zdy in realZdys"
:key=
"zdy.bsm"
>
<!-- 幢单元名称 -->
<p
class=
"lpb-xmmc"
>
<
!--
<el-checkbox
@
change=
"zdySelectAll($event,zdy.bsm)
"
>
{{
<
el-checkbox
@
change=
"zdySelectAll($event,zdy.bsm)"
v-if=
"!onlyShow
"
>
{{
zdy
.
zdymc
}}
</el-checkbox>
-->
{{
zdy
.
zdymc
}}
}}
</el-checkbox>
<span
v-else
>
aaa
{{
zdy
.
zdymc
}}
</span>
</p>
<!-- 每个幢单元下的层户 -->
<ch-cpn
:ref=
"zdy.bsm"
:ch=
"zdy.cs"
/>
...
...
@@ -36,6 +36,10 @@ export default {
return
[];
},
},
onlyShow
:{
type
:
Boolean
,
default
:
true
,
}
},
data
()
{
return
{};
...
...
src/views/workflow/components/leftmenu/ordinaryMenu.vue
View file @
163fb10
<!--
* @Description: workFrame左侧菜单列表-普通
* @Autor: renchao
* @LastEditTime: 2023-07-
17 16:20:37
* @LastEditTime: 2023-07-
21 10:15:11
-->
<
template
>
<div
class=
"leftmenu"
:class=
"
{ 'animation-map-drawer': isShowdrawer }">
...
...
@@ -88,6 +88,7 @@
leftMenu
(
formdata
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
&&
res
.
result
)
{
this
.
unitData
=
res
.
result
;
window
.
unitData
=
res
.
result
;
this
.
currentSelectProps
=
res
.
result
[
0
];
this
.
$emit
(
'getCurrentSelectProps'
,
this
.
currentSelectProps
);
this
.
judgeBatchShow
();
...
...
@@ -164,6 +165,7 @@
},
//批量按钮点击事件
batchUnitClick
()
{
debugger
this
.
currentSelectProps
.
batchOperation
=
true
;
this
.
activeIndex
=
"-1"
;
this
.
$parent
.
stepForm
();
...
...
src/views/workflow/mixin/index.js
View file @
163fb10
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-
17 14:20:17
* @LastEditTime: 2023-07-
21 14:04:56
*/
import
{
getPrintTemplateByCode
}
from
"@/api/print"
;
import
{
uploadUndo
}
from
"@/api/clxx"
;
...
...
@@ -146,7 +146,9 @@ export default {
getZrzbsmList
(
this
.
bsmSlsq
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
$popupDialog
(
'楼盘表'
,
'lpb/index'
,
{
bsm
:
res
.
result
[
0
]
bsm
:
res
.
result
[
0
],
onlyShow
:
false
,
unitData
:
window
.
unitData
},
'90%'
,
true
)
}
else
{
this
.
$message
.
error
(
res
.
message
)
...
...
src/views/zhcx/lpcx/lpcx.vue
View file @
163fb10
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-
19 14:00:03
* @LastEditTime: 2023-07-
21 11:25:20
-->
<
template
>
<div
class=
"from-clues"
>
...
...
@@ -96,13 +96,10 @@
moreQueryClick
()
{
},
//打开楼盘表
openlpbClick
(
scope
)
{
this
.
$popup
(
'楼盘表'
,
'lpb/index'
,
{
width
:
'90%'
,
height
:
"92%"
,
formData
:
{
bsm
:
scope
.
row
.
bsm
}
})
this
.
$popupDialog
(
'楼盘表'
,
'lpb/index'
,
{
bsm
:
scope
.
row
.
bsm
,
onlyShow
:
true
},
'90%'
,
true
)
}
}
}
...
...
Please
register
or
sign in
to post a comment