Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
house-type
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangjiankun
house-type
Commits
caf9e637
Commit
caf9e637
authored
Sep 02, 2020
by
xingyuji
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into 'master'
Develop See merge request !55
parents
948c4d83
ea96c9db
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
215 additions
and
174 deletions
+215
-174
user.js
src/assets/js/api/user.js
+3
-9
index.vue
src/components/Layout/index.vue
+128
-90
index.vue
src/views/ProductAnalysis/index.vue
+3
-2
index.vue
src/views/RegionalPlate/index.vue
+2
-2
index.vue
src/views/plateSupplyData/index.vue
+13
-12
index.vue
src/views/propertiesDetail/index.vue
+65
-58
tableColum.js
src/views/propertiesDetail/tableColum.js
+1
-1
No files found.
src/assets/js/api/user.js
View file @
caf9e637
...
@@ -17,15 +17,6 @@ export function getUserInfo() {
...
@@ -17,15 +17,6 @@ export function getUserInfo() {
}
}
export
function
modifyPwd
(
userId
,
oldPwd
,
newPwd
,
confirmPwd
)
{
return
xhr
.
put
(
'/sys/sys-user/modifyPwd'
,
{
userId
,
oldPwd
,
newPwd
,
confirmPwd
})
}
export
function
getUsersByPage
(
page
,
size
,
keyword
,
roleId
,
groupId
)
{
export
function
getUsersByPage
(
page
,
size
,
keyword
,
roleId
,
groupId
)
{
return
xhr
.
get
(
'/sys/sys-user/withRoleAndGroup/page'
,
{
return
xhr
.
get
(
'/sys/sys-user/withRoleAndGroup/page'
,
{
...
@@ -48,7 +39,10 @@ export function addUser(username, password, roleList, groupList, detailInfo) {
...
@@ -48,7 +39,10 @@ export function addUser(username, password, roleList, groupList, detailInfo) {
detailInfo
detailInfo
})
})
}
}
export
function
modifyPwd
(
data
)
{
return
xhr
.
put
(
'/sys/sys-user/modifyPwd'
,
data
)
}
export
function
editUser
(
id
,
username
,
password
,
roleList
,
groupList
)
{
export
function
editUser
(
id
,
username
,
password
,
roleList
,
groupList
)
{
return
xhr
.
put
(
'/sys/sys-user/withRoleAndGroup/'
+
id
,
{
return
xhr
.
put
(
'/sys/sys-user/withRoleAndGroup/'
+
id
,
{
username
,
username
,
...
...
src/components/Layout/index.vue
View file @
caf9e637
<
template
>
<
template
>
<div
class=
"app-wrapper"
>
<div
class=
"app-wrapper"
>
<el-container>
<el-container>
<el-aside
:width=
"isCollapse ? 'auto' : '200px'"
>
<el-aside
class=
"transitionAnimation"
:width=
"isCollapse ? 'auto' : '200px'"
>
<div
class=
"logo-title-sign"
>
<div
class=
"logo-title-sign"
>
<!--
<img
src=
"@assets/img/tenio-logo.png"
width=
"21"
height=
"21"
>
-->
<!--
<img
src=
"@assets/img/tenio-logo.png"
width=
"21"
height=
"21"
>
-->
<!--
<b>
户型地图大数据
</b>
-->
<!--
<b>
户型地图大数据
</b>
-->
<img
src=
"@assets/img/logo.png"
alt=
""
>
<img
v-if=
"!isCollapse"
src=
"@assets/img/logo.png"
alt=
""
>
</div>
</div>
<transition
name=
"fade"
>
<transition
name=
"fade"
>
<el-menu
<el-menu
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
class=
"hamburger-container"
class=
"hamburger-container"
/>
/>
<breadcrumb
/>
<breadcrumb
/>
<div
style=
"width: 100%"
>
<div
style=
"width: 100%
;
"
>
<async-search
class=
"main-search"
></async-search>
<async-search
class=
"main-search"
></async-search>
</div>
</div>
<el-dropdown
class=
"avatar-container"
trigger=
"click"
>
<el-dropdown
class=
"avatar-container"
trigger=
"click"
>
...
@@ -49,9 +49,7 @@
...
@@ -49,9 +49,7 @@
</el-dropdown-item>
</el-dropdown-item>
</router-link>
</router-link>
<el-dropdown-item
divided
>
<el-dropdown-item
divided
>
<span
style=
"display:block;"
@
click=
"modifyDialog = true"
<span
style=
"display:block;"
@
click=
"passwordUpdateFlag = true"
>
修改密码
</span>
>
修改密码
</span
>
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item
divided
>
<el-dropdown-item
divided
>
<span
style=
"display:block;"
@
click=
"toLogout"
>
登出
</span>
<span
style=
"display:block;"
@
click=
"toLogout"
>
登出
</span>
...
@@ -66,47 +64,52 @@
...
@@ -66,47 +64,52 @@
</el-container>
</el-container>
<el-dialog
<el-dialog
title=
"修改密码"
title=
"修改密码"
:visible
.
sync=
"
modifyDialo
g"
:visible
.
sync=
"
passwordUpdateFla
g"
width=
"30%
"
custom-class=
"customDialogStyle
"
:close-on-click-modal=
"false"
:close-on-click-modal=
"false"
>
>
<el-form
<el-form
:model=
"ruleForm"
style=
"width: 80%;min-width: 200px"
:rules=
"rules"
:model=
"passwordUpdateForm"
:rules=
"passwordUpdateRules"
ref=
"ruleForm"
ref=
"ruleForm"
label-width=
"100px"
label-width=
"100px"
>
>
<el-form-item
label=
"
旧密码"
prop=
"old
Password"
>
<el-form-item
label=
"
原密码"
prop=
"origin
Password"
>
<el-input
<el-input
type=
"password"
show-password
v-model=
"ruleForm.oldPassword"
placeholder=
"请输入原密码"
v-model=
"passwordUpdateForm.originPassword"
autocomplete=
"off"
autocomplete=
"off"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"新密码"
prop=
"
pass
"
>
<el-form-item
label=
"新密码"
prop=
"
newPassword
"
>
<el-input
<el-input
type=
"password"
show-password
v-model=
"ruleForm.pass"
placeholder=
"请输入新密码"
v-model=
"passwordUpdateForm.newPassword"
autocomplete=
"off"
autocomplete=
"off"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"确认密码"
prop=
"c
heckPass
"
>
<el-form-item
label=
"确认密码"
prop=
"c
onfirmNewPassword
"
>
<el-input
<el-input
type=
"password"
show-password
v-model=
"ruleForm.checkPass"
placeholder=
"再次输入新密码"
v-model=
"passwordUpdateForm.confirmNewPassword"
autocomplete=
"off"
autocomplete=
"off"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
v-loading
.
fullscreen
.
lock=
"fullscreenLoading"
@
click=
"submitForm('ruleForm')"
>
确认修改
</el-button
>
<el-button
@
click=
"closeDialog('ruleForm')"
>
取消
</el-button>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
>
<el-button
type=
"primary"
:disabled=
"passwordUpdateBtnLoading"
v-loading=
"passwordUpdateBtnLoading"
@
click=
"updatePassword('ruleForm')"
>
确认修改
</el-button
>
<el-button
@
click=
"closeDialog('ruleForm')"
>
取消
</el-button>
</div>
</el-dialog>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
...
@@ -132,53 +135,48 @@ export default {
...
@@ -132,53 +135,48 @@ export default {
},
},
props
:
{},
props
:
{},
data
()
{
data
()
{
var
validateOldPass
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
""
)
{
callback
(
new
Error
(
"请输入旧密码"
));
}
else
{
callback
();
}
};
var
validatePass
=
(
rule
,
value
,
callback
)
=>
{
var
validatePass
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
""
)
{
if
(
this
.
passwordUpdateForm
.
confirmNewPassword
!==
""
)
{
callback
(
new
Error
(
"请输入新密码"
));
this
.
$refs
.
ruleForm
.
validateField
(
"confirmNewPassword"
);
}
else
if
(
value
.
length
<
5
)
{
callback
(
new
Error
(
'密码不能小于5位'
))
}
else
{
if
(
this
.
ruleForm
.
checkPass
!==
""
)
{
this
.
$refs
.
ruleForm
.
validateField
(
"checkPass"
);
}
}
callback
();
callback
();
}
}
};
var
validatePass2
=
(
rule
,
value
,
callback
)
=>
{
var
validatePass2
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
""
)
{
if
(
value
!==
this
.
passwordUpdateForm
.
newPassword
)
{
callback
(
new
Error
(
"请再次输入密码"
));
}
else
if
(
value
!==
this
.
ruleForm
.
pass
)
{
callback
(
new
Error
(
"两次输入密码不一致!"
));
callback
(
new
Error
(
"两次输入密码不一致!"
));
}
else
{
}
else
{
callback
();
callback
();
}
}
}
;
}
return
{
return
{
modifyDialog
:
false
,
isCollapse
:
false
,
isCollapse
:
false
,
menuStyle
,
menuStyle
,
systemName
:
"天友-户型查询"
,
systemName
:
"天友-户型查询"
,
avatar
:
null
,
avatar
:
null
,
userName
:
''
,
userName
:
''
,
access
:
''
,
access
:
''
,
ruleForm
:
{
userId
:
''
,
pass
:
""
,
passwordUpdateFlag
:
false
,
// 修改密码 弹出框控制变量
checkPass
:
""
,
passwordUpdateForm
:
{
oldPassword
:
""
,
originPassword
:
''
,
// 原密码
},
newPassword
:
''
,
// 新密码
rules
:
{
confirmNewPassword
:
''
// 确认密码
oldPassword
:
[{
validator
:
validateOldPass
,
trigger
:
"blur"
}],
},
// 修改密码 表单
pass
:
[{
validator
:
validatePass
,
trigger
:
"blur"
}],
passwordUpdateBtnLoading
:
false
,
checkPass
:
[{
validator
:
validatePass2
,
trigger
:
"blur"
}],
passwordUpdateRules
:
{
},
originPassword
:
[
fullscreenLoading
:
false
,
{
required
:
true
,
message
:
'请输入原密码'
,
trigger
:
"blur"
}
],
newPassword
:
[
{
required
:
true
,
message
:
'请输入新密码'
,
trigger
:
"blur"
},
{
min
:
5
,
max
:
50
,
message
:
'请设置5-50位字符的密码'
},
{
validator
:
validatePass
,
trigger
:
"blur"
}
],
confirmNewPassword
:
[
{
required
:
true
,
message
:
'请再次输入密码'
,
trigger
:
"blur"
},
{
validator
:
validatePass2
,
trigger
:
"blur"
}
],
}
// 验证规则
};
};
},
},
created
()
{
created
()
{
...
@@ -186,41 +184,18 @@ export default {
...
@@ -186,41 +184,18 @@ export default {
},
},
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
submitForm
(
formName
)
{
closeDialog
(
form
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
this
.
$refs
[
form
].
resetFields
()
if
(
valid
)
{
this
.
passwordUpdateFlag
=
false
this
.
fullscreenLoading
=
true
;
modifyPwd
(
this
.
userId
,
this
.
ruleForm
.
oldPassword
,
this
.
ruleForm
.
pass
,
this
.
ruleForm
.
checkPass
).
then
((
res
)
=>
{
if
(
res
.
code
===
"200"
)
{
this
.
$message
.
success
(
"密码修改成功"
);
this
.
closeDialog
();
}
this
.
fullscreenLoading
=
false
;
}).
catch
(()
=>
{
this
.
fullscreenLoading
=
false
;
});
}
else
{
return
false
;
}
});
},
closeDialog
(
formName
)
{
this
.
modifyDialog
=
false
;
this
.
$refs
[
formName
].
resetFields
();
},
},
searchByUserInfo
()
{
searchByUserInfo
()
{
getUserInfo
().
then
((
res
)
=>
{
getUserInfo
().
then
((
res
)
=>
{
console
.
log
(
res
);
console
.
log
(
res
);
if
(
res
.
code
===
'200'
){
if
(
res
.
code
===
'200'
){
this
.
avatar
=
res
.
data
.
headImg
;
this
.
avatar
=
res
.
data
.
headImg
;
this
.
userId
=
res
.
data
.
userId
?
res
.
data
.
userId
:
res
.
data
.
businessId
this
.
userName
=
res
.
data
.
realName
;
this
.
userName
=
res
.
data
.
realName
;
this
.
access
=
res
.
data
.
access
;
this
.
access
=
res
.
data
.
access
;
this
.
userId
=
res
.
data
.
userId
||
res
.
data
.
businessId
;
sessionStorage
.
setItem
(
'access'
,(
this
.
access
===
undefined
||
this
.
access
===
null
)
?
''
:
this
.
access
);
sessionStorage
.
setItem
(
'access'
,(
this
.
access
===
undefined
||
this
.
access
===
null
)
?
''
:
this
.
access
);
}
}
...
@@ -231,10 +206,41 @@ export default {
...
@@ -231,10 +206,41 @@ export default {
this
.
isCollapse
=
!
this
.
isCollapse
;
this
.
isCollapse
=
!
this
.
isCollapse
;
},
},
toLogout
()
{
toLogout
()
{
this
.
$store
.
dispatch
(
"FedLogOut"
).
then
(()
=>
{
this
.
$confirm
(
'您确定要退出登录吗?'
,
'退出登录'
,
{
location
.
reload
();
// 为了重新实例化vue-router对象 避免bug
confirmButtonText
:
'退出'
,
});
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
$store
.
dispatch
(
"FedLogOut"
).
then
(()
=>
{
location
.
reload
();
// 为了重新实例化vue-router对象 避免bug
});
})
},
},
updatePassword
(
form
)
{
this
.
$refs
[
form
].
validate
(
vaild
=>
{
if
(
vaild
)
{
this
.
passwordUpdateBtnLoading
=
true
modifyPwd
({
userId
:
this
.
userId
,
oldPwd
:
this
.
passwordUpdateForm
.
originPassword
,
newPwd
:
this
.
passwordUpdateForm
.
newPassword
,
confirmPwd
:
this
.
passwordUpdateForm
.
confirmNewPassword
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"200"
)
{
this
.
$message
.
success
(
"密码修改成功"
);
this
.
passwordUpdateBtnLoading
=
false
this
.
closeDialog
(
'ruleForm'
)
}
else
{
this
.
passwordUpdateBtnLoading
=
false
}
}).
catch
(()
=>
{
this
.
passwordUpdateBtnLoading
=
false
});
}
else
{
return
false
}
})
}
},
},
computed
:
{
computed
:
{
routes
()
{
routes
()
{
...
@@ -274,6 +280,7 @@ export default {
...
@@ -274,6 +280,7 @@ export default {
display flex
display flex
flex-direction column
flex-direction column
background:linear-gradient(180deg,rgba(40,102,144,1) 0%,rgba(16,34,68,1) 100%) !important;
background:linear-gradient(180deg,rgba(40,102,144,1) 0%,rgba(16,34,68,1) 100%) !important;
transition all .5s;
.logo-title-sign{
.logo-title-sign{
width 100%;
width 100%;
display flex
display flex
...
@@ -351,6 +358,37 @@ export default {
...
@@ -351,6 +358,37 @@ export default {
}
}
}
}
}
}
.customDialogStyle {
width 30%
min-width 300px
border-radius: 8px;
.el-dialog__header {
display: flex;
align-items: center;
justify-content: center;
width:100%;
height:50px;
padding: 0;
background:rgba(237,240,245,1);
border-radius:8px 8px 0px 0px;
}
.el-dialog__body {
min-height: 60px;
overflow-y: auto;
max-height: 60vh;
position: relative;
border-bottom: 1px solid rgba(231, 231, 231, 1);
padding: 30px 25px;
.el-form {
.el-form-item:last-child {
margin-bottom: 0;
}
}
}
.el-dialog__footer {
height: 62px;
}
}
}
}
.user-dropdown {
.user-dropdown {
.inline-block {
.inline-block {
...
...
src/views/ProductAnalysis/index.vue
View file @
caf9e637
...
@@ -629,6 +629,7 @@
...
@@ -629,6 +629,7 @@
computed
:
{
computed
:
{
haveAuth
()
{
haveAuth
()
{
return
(
accessName
)
=>
{
return
(
accessName
)
=>
{
if
(
accessName
)
{
return
true
}
const
auth
=
sessionStorage
.
getItem
(
'access'
)
const
auth
=
sessionStorage
.
getItem
(
'access'
)
if
(
auth
===
'master'
)
{
if
(
auth
===
'master'
)
{
return
true
return
true
...
@@ -639,7 +640,8 @@
...
@@ -639,7 +640,8 @@
return
auth
.
split
(
','
).
includes
(
accessName
)
return
auth
.
split
(
','
).
includes
(
accessName
)
}
}
}
}
},
}
},
created
()
{
created
()
{
window
.
eventBus
.
$on
(
'searchParamChange'
,
(
searchResult
)
=>
{
window
.
eventBus
.
$on
(
'searchParamChange'
,
(
searchResult
)
=>
{
this
.
$router
.
push
({
this
.
$router
.
push
({
...
@@ -686,7 +688,6 @@
...
@@ -686,7 +688,6 @@
}))
}))
}
}
}
}
}
}
}
</
script
>
</
script
>
...
...
src/views/RegionalPlate/index.vue
View file @
caf9e637
...
@@ -153,12 +153,12 @@
...
@@ -153,12 +153,12 @@
<p><b>
行政分区:
</b>
{{dataType.plateRegion.plateInfo.adminRegionName || '--'}}
</p>
<p><b>
行政分区:
</b>
{{dataType.plateRegion.plateInfo.adminRegionName || '--'}}
</p>
<p><b>
板块:
</b>
{{dataType.plateRegion.plateInfo.name || '--'}}
</p>
<p><b>
板块:
</b>
{{dataType.plateRegion.plateInfo.name || '--'}}
</p>
<p><b>
土地面积:
</b>
{{item.landArea || '--'}}m
<sup>
2
</sup></p>
<p><b>
土地面积:
</b>
{{item.landArea || '--'}}m
<sup>
2
</sup></p>
<p><b>
容积率:
</b>
{{item.plotRatio || '--'}}
%
</p>
<p><b>
容积率:
</b>
{{item.plotRatio || '--'}}
</p>
<p><b>
建筑面积:
</b>
{{item.builtArea || '--'}}m
<sup>
2
</sup></p>
<p><b>
建筑面积:
</b>
{{item.builtArea || '--'}}m
<sup>
2
</sup></p>
<p><b>
建筑密度:
</b>
{{item.builtDensity || '--'}}%
</p>
<p><b>
建筑密度:
</b>
{{item.builtDensity || '--'}}%
</p>
<p><b>
楼面价:
</b>
{{item.floorPrice || '--'}}元/m
<sup>
2
</sup></p>
<p><b>
楼面价:
</b>
{{item.floorPrice || '--'}}元/m
<sup>
2
</sup></p>
<p><b>
成交日期:
</b>
{{item.dealDate || '--'}}
</p>
<p><b>
成交日期:
</b>
{{item.dealDate || '--'}}
</p>
<p><b>
成交价:
</b>
{{item.dealPrice || '--'}}元
</p>
<p><b>
成交价:
</b>
{{item.dealPrice || '--'}}
万
元
</p>
<p><b>
溢价率:
</b>
{{item.premium || '--'}}%
</p>
<p><b>
溢价率:
</b>
{{item.premium || '--'}}%
</p>
<p><b>
受让方:
</b>
{{item.assignee || '--'}}
</p>
<p><b>
受让方:
</b>
{{item.assignee || '--'}}
</p>
</el-collapse-item>
</el-collapse-item>
...
...
src/views/plateSupplyData/index.vue
View file @
caf9e637
...
@@ -67,7 +67,7 @@
...
@@ -67,7 +67,7 @@
<td
v-for=
"(item,index) in value.data"
:key=
"index"
>
{{
item
}}
</td>
<td
v-for=
"(item,index) in value.data"
:key=
"index"
>
{{
item
}}
</td>
</tr>
</tr>
</table>
</table>
<div
class=
"tips red"
>
注:供
求比=供应数量/销售数量,供应
比越小,销售越好
</div>
<div
class=
"tips red"
>
注:供
销比=供应数量/销售数量,供销
比越小,销售越好
</div>
</div>
</div>
</div
>
</div
>
<div
v-else
style=
"height: 500px;display: flex;align-items: center"
>
<div
v-else
style=
"height: 500px;display: flex;align-items: center"
>
...
@@ -111,7 +111,7 @@
...
@@ -111,7 +111,7 @@
chartSettings2
:
{
chartSettings2
:
{
labelMap
:
{
labelMap
:
{
areaRange
:
'面积区间'
,
areaRange
:
'面积区间'
,
rate
:
'供
求
比'
rate
:
'供
销
比'
}
}
},
},
regionVal
:
''
,
// 区域选择
regionVal
:
''
,
// 区域选择
...
@@ -133,17 +133,17 @@
...
@@ -133,17 +133,17 @@
name
:
'成交数量'
,
name
:
'成交数量'
,
data
:
[]
data
:
[]
}
}
},
// 表格供
求
数量的数据
},
// 表格供
销比
数量的数据
supplyRateData
:{
supplyRateData
:{
areaRange
:
{
areaRange
:
{
name
:
'面积区间'
,
name
:
'面积区间'
,
data
:
[]
data
:
[]
},
},
Rate
:
{
Rate
:
{
name
:
'供
求
比'
,
name
:
'供
销
比'
,
data
:
[]
data
:
[]
},
},
},
// 表格供
求
比的数据
},
// 表格供
销
比的数据
colorArr
:
colors
,
colorArr
:
colors
,
// 区域名称对应
// 区域名称对应
plateMap
:
{
plateMap
:
{
...
@@ -184,7 +184,7 @@
...
@@ -184,7 +184,7 @@
formatter
:
(
params
)
=>
{
formatter
:
(
params
)
=>
{
if
(
params
.
data
==
0
)
{
return
''
}
if
(
params
.
data
==
0
)
{
return
''
}
return
`<div>
${
params
.
name
}
区间</br>
return
`<div>
${
params
.
name
}
区间</br>
供
求
比:
${
params
.
data
?
(
1
/
params
.
data
).
toFixed
(
1
)
:
''
}
供
销
比:
${
params
.
data
?
(
1
/
params
.
data
).
toFixed
(
1
)
:
''
}
</div>`
</div>`
}
}
},
},
...
@@ -198,11 +198,11 @@
...
@@ -198,11 +198,11 @@
exportSupplyDataForeExcel
()
{
exportSupplyDataForeExcel
()
{
this
.
exportLoading
=
true
this
.
exportLoading
=
true
exportSupplyData
({
exportSupplyData
({
title
:
`
${
this
.
regionVal
}
区
${
this
.
plateVal
}
板块
${
this
.
timeVal
}
年份供
求
信息`
,
title
:
`
${
this
.
regionVal
}
区
${
this
.
plateVal
}
板块
${
this
.
timeVal
}
年份供
销
信息`
,
dataJson
:
this
.
exportSaveStatus
dataJson
:
this
.
exportSaveStatus
}).
then
(
res
=>
{
}).
then
(
res
=>
{
if
(
res
)
{
if
(
res
)
{
const
title
=
`
${
this
.
regionVal
}
-
${
this
.
plateVal
}
-
${
this
.
timeVal
}
年份供
求
信息`
const
title
=
`
${
this
.
regionVal
}
-
${
this
.
plateVal
}
-
${
this
.
timeVal
}
年份供
销
信息`
downloadFile
(
res
,
title
,
'application/vnd.ms-excel;charset=utf-8'
).
then
(()
=>
{
downloadFile
(
res
,
title
,
'application/vnd.ms-excel;charset=utf-8'
).
then
(()
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
...
@@ -221,14 +221,14 @@
...
@@ -221,14 +221,14 @@
this
.
exportLoading
=
false
this
.
exportLoading
=
false
})
})
},
},
// 根据区域-板块名-年份获取供
求
信息
// 根据区域-板块名-年份获取供
销比
信息
getSupplyData
()
{
getSupplyData
()
{
getSupplyNumData
(
this
.
regionVal
,
this
.
plateVal
,
this
.
timeVal
).
then
(
res
=>
{
getSupplyNumData
(
this
.
regionVal
,
this
.
plateVal
,
this
.
timeVal
).
then
(
res
=>
{
if
(
res
.
data
)
{
if
(
res
.
data
)
{
let
exportList
=
[]
let
exportList
=
[]
let
supplyChartsData
=
[]
// 供
求
百分比 图表数据
let
supplyChartsData
=
[]
// 供
销比
百分比 图表数据
let
supplyDealRate
=
[]
//供
求
比图表数据
let
supplyDealRate
=
[]
//供
销比
比图表数据
let
rate
=
[]
// 供
求
比
let
rate
=
[]
// 供
销
比
let
supplyNumber
=
[]
// 供应套数
let
supplyNumber
=
[]
// 供应套数
let
dealNumber
=
[]
// 成交套数
let
dealNumber
=
[]
// 成交套数
let
areaRange
=
[]
// 面积区间
let
areaRange
=
[]
// 面积区间
...
@@ -288,6 +288,7 @@
...
@@ -288,6 +288,7 @@
computed
:
{
computed
:
{
haveAuth
()
{
haveAuth
()
{
return
(
accessName
)
=>
{
return
(
accessName
)
=>
{
if
(
accessName
)
{
return
true
}
const
auth
=
sessionStorage
.
getItem
(
'access'
)
const
auth
=
sessionStorage
.
getItem
(
'access'
)
if
(
auth
===
'master'
)
{
if
(
auth
===
'master'
)
{
return
true
return
true
...
...
src/views/propertiesDetail/index.vue
View file @
caf9e637
...
@@ -155,7 +155,7 @@
...
@@ -155,7 +155,7 @@
</table>
</table>
</el-col>
</el-col>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<!-- 供
求
比数据分析-->
<!-- 供
销
比数据分析-->
<ve-histogram
<ve-histogram
:data=
"supplyRateCharts"
:data=
"supplyRateCharts"
:tooltip=
"rateTooltipResize"
:tooltip=
"rateTooltipResize"
...
@@ -164,15 +164,15 @@
...
@@ -164,15 +164,15 @@
:extend=
"rateExtend"
:extend=
"rateExtend"
:colors=
"colorArr"
:colors=
"colorArr"
:settings=
"supplyDemandRatioSettings"
></ve-histogram>
:settings=
"supplyDemandRatioSettings"
></ve-histogram>
<!-- 供
求
比表格信息-->
<!-- 供
销
比表格信息-->
<table
cellspacing=
"0"
cellpadding=
"0"
class=
"table"
>
<table
cellspacing=
"0"
cellpadding=
"0"
class=
"table"
>
<tr
v-for=
"(value, key) in supplyRateTable"
:key=
"key"
>
<tr
v-for=
"(value, key) in supplyRateTable"
:key=
"key"
>
<th>
{{value.name}}
</th>
<th>
{{value.name}}
</th>
<td
v-for=
"(item,index) in value.data"
:key=
"index"
>
{{item}}
</td>
<td
v-for=
"(item,index) in value.data"
:key=
"index"
>
{{item}}
</td>
</tr>
</tr>
</table>
</table>
<!-- 供
求
比提示信息-->
<!-- 供
销
比提示信息-->
<div
class=
"tips"
style=
"color: red;text-align: end"
>
注:供
求比=供应数量/销售数量,供应
比越小,销售越好
</div>
<div
class=
"tips"
style=
"color: red;text-align: end"
>
注:供
销比=供应数量/销售数量,供销
比越小,销售越好
</div>
</el-col>
</el-col>
</div>
</div>
</el-row>
</el-row>
...
@@ -252,18 +252,21 @@
...
@@ -252,18 +252,21 @@
</div>
</div>
</div>
</div>
</main>
</main>
<el-dialog
:close-on-click-modal=
"false"
title=
"下载技术资料"
:visible
.
sync=
"downloadDataFlag"
custom-class=
"customDialogStyle"
>
<div
>
<file-list
v-for=
"(item,index) in propertyData.fileList"
:file-name=
"item.fileName"
:key=
"index"
:process=
"downloadDataProcessArray[index]"
:type-src=
"item.fileName.split('.')[item.fileName.split('.').length -1]"
@
downLoadSingleFile=
"downloadsingleFile(item, index)"
>
</file-list>
</div>
<div
slot=
"footer"
>
<el-button
@
click=
"downloadDataFlag = false"
>
关闭
</el-button>
</div>
</el-dialog>
</section>
</section>
<el-dialog
:close-on-click-modal=
"false"
title=
"下载技术资料"
:visible
.
sync=
"downloadDataFlag"
custom-class=
"customDialogStyle"
>
<div
>
<file-list
v-for=
"(item,index) in propertyData.fileList"
:file-name=
"item.fileName"
:key=
"index"
:process=
"downloadDataProcessArray[index]"
:type-src=
"item.fileName.split('.')[item.fileName.split('.').length -1]"
@
downLoadSingleFile=
"downloadsingleFile(item, index)"
>
</file-list>
</div>
</el-dialog>
</el-card>
</el-card>
</template>
</template>
...
@@ -315,26 +318,26 @@
...
@@ -315,26 +318,26 @@
data
:
[]
data
:
[]
}
}
},
// 供应比例、套数 表格数据
},
// 供应比例、套数 表格数据
// 供
求
比 图表设置
// 供
销
比 图表设置
supplyDemandRatioSettings
:
{
supplyDemandRatioSettings
:
{
labelMap
:
{
labelMap
:
{
areaRange
:
'面积区间'
,
areaRange
:
'面积区间'
,
rate
:
'供
求
比'
rate
:
'供
销
比'
}
}
},
},
// 供
求
比 图表数据
// 供
销
比 图表数据
supplyRateCharts
:
{
supplyRateCharts
:
{
columns
:
[
'areaRange'
,
'rate'
],
columns
:
[
'areaRange'
,
'rate'
],
rows
:
[]
rows
:
[]
},
},
// 供
求
比 表格数据
// 供
销
比 表格数据
supplyRateTable
:{
supplyRateTable
:{
areaRange
:
{
areaRange
:
{
name
:
'面积区间'
,
name
:
'面积区间'
,
data
:
[]
data
:
[]
},
},
rate
:
{
rate
:
{
name
:
'供
求
比'
,
name
:
'供
销
比'
,
data
:
[]
data
:
[]
},
},
},
},
...
@@ -447,7 +450,7 @@
...
@@ -447,7 +450,7 @@
formatter
:
(
params
)
=>
{
formatter
:
(
params
)
=>
{
if
(
params
.
data
==
0
)
{
return
''
}
if
(
params
.
data
==
0
)
{
return
''
}
return
`<div>
${
params
.
name
}
区间</br>
return
`<div>
${
params
.
name
}
区间</br>
供
求
比:
${
params
.
data
?
(
1
/
params
.
data
).
toFixed
(
1
)
:
''
}
供
销
比:
${
params
.
data
?
(
1
/
params
.
data
).
toFixed
(
1
)
:
''
}
</div>`
</div>`
}
}
},
},
...
@@ -697,13 +700,13 @@
...
@@ -697,13 +700,13 @@
this
.
propertyLoading
=
false
this
.
propertyLoading
=
false
})
})
},
},
// 供
求
数据 图表加表格数据
// 供
销比
数据 图表加表格数据
getPropertySupplyData
()
{
getPropertySupplyData
()
{
queryPropertySupplyData
(
this
.
propertyId
).
then
(
res
=>
{
queryPropertySupplyData
(
this
.
propertyId
).
then
(
res
=>
{
if
(
res
.
data
)
{
if
(
res
.
data
)
{
let
supplyChartsData
=
[]
// 供
求
百分比 图表数据
let
supplyChartsData
=
[]
// 供
销比
百分比 图表数据
let
supplyDealRate
=
[]
//供
求
比图表数据
let
supplyDealRate
=
[]
//供
销
比图表数据
let
rate
=
[]
// 供
求
比
let
rate
=
[]
// 供
销
比
let
supplyNumber
=
[]
// 供应套数
let
supplyNumber
=
[]
// 供应套数
let
dealNumber
=
[]
// 成交套数
let
dealNumber
=
[]
// 成交套数
let
areaRange
=
[]
// 面积区间
let
areaRange
=
[]
// 面积区间
...
@@ -750,7 +753,7 @@
...
@@ -750,7 +753,7 @@
}).
catch
(
e
=>
{
}).
catch
(
e
=>
{
this
.
$message
({
this
.
$message
({
type
:
'error'
,
type
:
'error'
,
message
:
'查询供
求
比数据失败'
message
:
'查询供
销
比数据失败'
})
})
this
.
supplyNoDataFlag
=
true
this
.
supplyNoDataFlag
=
true
return
e
return
e
...
@@ -846,12 +849,16 @@
...
@@ -846,12 +849,16 @@
computed
:
{
computed
:
{
haveAuth
()
{
haveAuth
()
{
return
(
accessName
)
=>
{
return
(
accessName
)
=>
{
const
auth
=
sessionStorage
.
getItem
(
'access'
)
if
(
accessName
===
'downloadFile'
)
{
if
(
auth
===
'master'
)
{
return
true
}
const
auth
=
sessionStorage
.
getItem
(
'access'
)
if
(
!
auth
)
{
if
(
auth
===
'master'
)
{
return
true
}
return
false
if
(
!
auth
)
{
return
false
}
else
{
return
auth
.
split
(
','
).
includes
(
accessName
)
}
}
else
{
}
else
{
return
auth
.
split
(
','
).
includes
(
accessName
)
return
true
}
}
}
}
},
},
...
@@ -1143,34 +1150,34 @@
...
@@ -1143,34 +1150,34 @@
}
}
}
}
}
}
}
.customDialogStyle {
.customDialogStyle {
width 40%
width 40%
border-radius: 8px;
border-radius: 8px;
.el-dialog__header {
.el-dialog__header {
display: flex;
display: flex;
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
width:100%;
width:100%;
height:50px;
height:50px;
padding: 0;
padding: 0;
background:rgba(237,240,245,1);
background:rgba(237,240,245,1);
border-radius:10px 10px 0px 0px;
border-radius:10px 10px 0px 0px;
}
}
.el-dialog {
.el-dialog {
border-radius: 10px 10px 10px 10px;
border-radius: 10px 10px 10px 10px;
}
.el-dialog__body {
min-height: 120px;
max-height: 60vh;
position: relative;
padding: 35px 35px 30px 25px;
.fileList {
margin 0 auto
}
}
.fileList:nth-child(2n) {
margin 8px auto
.el-dialog__body {
min-height: 120px;
max-height: 60vh;
position: relative;
padding: 35px 35px 30px 25px;
.fileList {
margin 0 auto
}
.fileList:nth-child(2n) {
margin 8px auto
}
}
}
}
}
}
}
...
...
src/views/propertiesDetail/tableColum.js
View file @
caf9e637
...
@@ -32,7 +32,7 @@ export const columData = [
...
@@ -32,7 +32,7 @@ export const columData = [
label
:
'成交日期'
label
:
'成交日期'
},{
},{
prop
:
'dealPrice'
,
prop
:
'dealPrice'
,
label
:
'成交总价(元)'
label
:
'成交总价(
万
元)'
},{
},{
prop
:
'premium'
,
prop
:
'premium'
,
label
:
'溢价'
label
:
'溢价'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment