Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
山
山西华远大屏
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lichunliang
山西华远大屏
Commits
3d9edc03
Commit
3d9edc03
authored
Feb 21, 2025
by
xinzhedeai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 用户密码 大屏替换修改
parent
34c3d30f
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
112 additions
and
85 deletions
+112
-85
ai.js
src/api/avoidanceSys/ai.js
+2
-2
home.js
src/api/avoidanceSys/home.js
+1
-1
plans.js
src/api/avoidanceSys/plans.js
+1
-1
qiaoliang.js
src/api/avoidanceSys/qiaoliang.js
+2
-2
suidao.js
src/api/avoidanceSys/suidao.js
+1
-1
AiAnalysis.vue
src/components/BigScreen/AiAnalysis.vue
+1
-1
BianpoMonitor.vue
src/components/BigScreen/BianpoMonitor.vue
+3
-3
index.js
src/router/index.js
+16
-4
bigscreen.vue
src/views/bigscreen.vue
+15
-1
index.vue
src/views/system/user/index.vue
+67
-66
resetPwd.vue
src/views/system/user/profile/resetPwd.vue
+2
-2
vue.config.js
vue.config.js
+1
-1
No files found.
src/api/avoidanceSys/ai.js
View file @
3d9edc03
...
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询应急仓库信息列表
export
function
getChartData
()
{
return
request
({
url
:
'
/s
lope/screen
/count
'
,
url
:
'
/s
ystem/slope
/count
'
,
method
:
'
get
'
,
})
}
...
...
@@ -11,7 +11,7 @@ export function getChartData() {
// 查询应急仓库信息详细
export
function
getListData
(
query
)
{
return
request
({
url
:
'
/s
lope/screen
/day
'
,
url
:
'
/s
ystem/slope
/day
'
,
method
:
'
get
'
,
params
:
query
})
...
...
src/api/avoidanceSys/home.js
View file @
3d9edc03
...
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 应急预案更新提醒
export
function
getEquipmentNum
(
query
)
{
return
request
({
url
:
'
/s
lope/screen
/equipmentNum
'
,
url
:
'
/s
ystem/slope
/equipmentNum
'
,
method
:
'
get
'
,
params
:
query
})
...
...
src/api/avoidanceSys/plans.js
View file @
3d9edc03
...
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询应急预案信息列表
export
function
listPlans
(
query
)
{
return
request
({
url
:
'
/s
lope/screen
/list
'
,
url
:
'
/s
ystem/slope
/list
'
,
method
:
'
get
'
,
params
:
query
})
...
...
src/api/avoidanceSys/qiaoliang.js
View file @
3d9edc03
...
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询应急仓库信息列表
export
function
getChartData
()
{
return
request
({
url
:
'
/s
lope/screen
/getAlarmCount
'
,
url
:
'
/s
ystem/slope
/getAlarmCount
'
,
method
:
'
get
'
,
})
}
...
...
@@ -11,7 +11,7 @@ export function getChartData() {
// 查询应急仓库信息详细
export
function
getListData
(
query
)
{
return
request
({
url
:
'
/s
lope/screen
/getTypeMon
'
,
url
:
'
/s
ystem/slope
/getTypeMon
'
,
method
:
'
get
'
,
params
:
query
})
...
...
src/api/avoidanceSys/suidao.js
View file @
3d9edc03
...
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询数据字典-物资类别信息列表
export
function
getList
(
query
)
{
return
request
({
url
:
'
/s
lope/screen
/listMax
'
,
url
:
'
/s
ystem/slope
/listMax
'
,
method
:
'
get
'
,
params
:
query
})
...
...
src/components/BigScreen/AiAnalysis.vue
View file @
3d9edc03
...
...
@@ -65,7 +65,7 @@ export default {
pageNum
:
1
,
pageSize
:
99999
,
}).
then
((
response
)
=>
{
this
.
dataList
=
response
.
data
;
this
.
dataList
=
response
.
data
.
data
;
});
},
...
...
src/components/BigScreen/BianpoMonitor.vue
View file @
3d9edc03
...
...
@@ -104,9 +104,9 @@ export default {
pageNum
:
1
,
pageSize
:
99999
,
}).
then
((
response
)
=>
{
this
.
plansList
=
response
.
voList
;
this
.
plansNum
.
hiddenNum
=
response
.
total
[
0
]
this
.
plansNum
.
dealNum
=
response
.
total
[
1
]
this
.
plansList
=
response
.
data
.
voList
;
this
.
plansNum
.
hiddenNum
=
response
.
data
.
total
[
0
]
this
.
plansNum
.
dealNum
=
response
.
data
.
total
[
1
]
this
.
startScrolling
(
"
.bottom-yuan .list-wrap
"
,
...
...
src/router/index.js
View file @
3d9edc03
...
...
@@ -63,13 +63,25 @@ export const constantRoutes = [
},
{
path
:
''
,
// component: Layout,
redirect
:
'
/bigscreen/index
'
,
// children: [
// {
// path: 'index',
// component: () => import('@/views/system/user/index'),
// name: 'Index',
// meta: { title: '首页', icon: 'dashboard', affix: true }
// }
// ]
},
{
path
:
'
/home
'
,
component
:
Layout
,
redirect
:
'
index
'
,
children
:
[
{
path
:
'
index
'
,
component
:
()
=>
import
(
'
@/views/
bigscreen
'
),
name
:
'
Index
'
,
component
:
()
=>
import
(
'
@/views/
system/user/index
'
),
name
:
'
Home
'
,
meta
:
{
title
:
'
首页
'
,
icon
:
'
dashboard
'
,
affix
:
true
}
}
]
...
...
@@ -90,7 +102,7 @@ export const constantRoutes = [
},
{
path
:
'
/bigscreen/index
'
,
component
:
bigscreen
,
component
:
()
=>
import
(
'
@/views/bigscreen
'
)
,
meta
:
{
title
:
'
一张图
'
},
name
:
'
一张图
'
,
hidden
:
true
...
...
src/views/bigscreen.vue
View file @
3d9edc03
...
...
@@ -6,11 +6,13 @@
<header
id=
"header"
>
<div
class=
"b1_bg"
>
<h2>
山西华远陆港平台
</h2>
</div>
</header>
<div
class=
"content"
>
<div
class=
"map"
>
<i
class=
"el-icon-user home"
@
click=
"gohome"
></i>
<div
class=
"sys-tit"
>
<span
@
click=
"toOtherSys(1)"
>
边坡监测
</span>
<span
@
click=
"toOtherSys(2)"
>
桥梁监测
</span>
...
...
@@ -141,6 +143,9 @@ export default {
});
},
methods
:
{
gohome
(){
this
.
$router
.
push
({
path
:
"
/home/index
"
});
},
getEquipmentNum
()
{
getEquipmentNum
().
then
((
response
)
=>
{
this
.
equipList
=
response
.
data
||
[];
...
...
@@ -365,7 +370,15 @@ footer{
width
:
100%
;
height
:
100vh
;
position
:
relative
;
.home
{
font-size
:
0
.34rem
;
color
:
#11a8e7
;
position
:
absolute
;
right
:
0
.2rem
;
top
:
0
.36rem
;
cursor
:
pointer
;
z-index
:
12
;
}
.sys-tit
{
width
:
8
.49rem
;
height
:
0
.63rem
;
...
...
@@ -464,6 +477,7 @@ footer{
z-index
:
5
;
display
:
flex
;
user-select
:
none
;
.b1_bg
{
position
:
relative
;
height
:
1
.03rem
;
...
...
src/views/system/user/index.vue
View file @
3d9edc03
...
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<el-row
:gutter=
"20"
>
<!--部门数据-->
<el-col
:span=
"4"
:xs=
"24"
>
<
!--
<
el-col
:span=
"4"
:xs=
"24"
>
<div
class=
"head-container"
>
<el-input
v-model=
"deptName"
...
...
@@ -26,9 +26,9 @@
@
node-click=
"handleNodeClick"
/>
</div>
</el-col>
</el-col>
-->
<!--用户数据-->
<el-col
:span=
"2
0
"
:xs=
"24"
>
<el-col
:span=
"2
4
"
:xs=
"24"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"用户名称"
prop=
"userName"
>
<el-input
...
...
@@ -91,7 +91,7 @@
v-hasPermi=
"['system:user:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<
!--
<
el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
...
...
@@ -101,8 +101,8 @@
@
click=
"handleUpdate"
v-hasPermi=
"['system:user:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
</el-col>
-->
<
!--
<
el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
...
...
@@ -112,8 +112,8 @@
@
click=
"handleDelete"
v-hasPermi=
"['system:user:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
</el-col>
-->
<
!--
<
el-col
:span=
"1.5"
>
<el-button
type=
"info"
plain
...
...
@@ -132,18 +132,18 @@
@
click=
"handleExport"
v-hasPermi=
"['system:user:export']"
>
导出
</el-button>
</el-col>
<
right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
:columns=
"columns"
></right-toolbar
>
</el-col>
-->
<
!--
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
:columns=
"columns"
></right-toolbar>
--
>
</el-row>
<el-table
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"50"
align=
"center"
/>
<el-table-column
label=
"用户编号"
align=
"center"
key=
"userId"
prop=
"userId"
v-if=
"columns[0].visible"
/>
<el-table-column
label=
"用户名称"
align=
"center"
key=
"userName"
prop=
"userName"
v-if=
"columns[1].visible"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"用户昵称"
align=
"center"
key=
"nickName"
prop=
"nickName"
v-if=
"columns[2].visible"
:show-overflow-tooltip=
"true"
/>
<
el-table-column
label=
"部门"
align=
"center"
key=
"deptName"
prop=
"dept.deptName"
v-if=
"columns[3].visible"
:show-overflow-tooltip=
"true"
/
>
<el-table-column
label=
"手机号码"
align=
"center"
key=
"phonenumber"
prop=
"phonenumber"
v-if=
"columns[4].visible"
width=
"120"
/>
<el-table-column
label=
"状态"
align=
"center"
key=
"status"
v-if=
"columns[5].visible"
>
<el-table-column
label=
"用户编号"
align=
"center"
key=
"userId"
prop=
"userId"
/>
<el-table-column
label=
"用户名称"
align=
"center"
key=
"userName"
prop=
"userName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"用户昵称"
align=
"center"
key=
"nickName"
prop=
"nickName"
:show-overflow-tooltip=
"true"
/>
<
!--
<el-table-column
label=
"部门"
align=
"center"
key=
"deptName"
prop=
"dept.deptName"
v-if=
"columns[3].visible"
:show-overflow-tooltip=
"true"
/>
--
>
<el-table-column
label=
"手机号码"
align=
"center"
key=
"phonenumber"
prop=
"phonenumber"
width=
"120"
/>
<el-table-column
label=
"状态"
align=
"center"
key=
"status"
>
<template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.status"
...
...
@@ -153,7 +153,7 @@
></el-switch>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
v-if=
"columns[6].visible"
width=
"160"
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"160"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
...
...
@@ -179,15 +179,15 @@
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:user:remove']"
>
删除
</el-button>
<el-dropdown
size=
"mini"
@
command=
"(command) => handleCommand(command, scope.row)"
v-hasPermi=
"['system:user:resetPwd', 'system:user:edit']"
>
<
!--
<
el-dropdown
size=
"mini"
@
command=
"(command) => handleCommand(command, scope.row)"
v-hasPermi=
"['system:user:resetPwd', 'system:user:edit']"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-d-arrow-right"
>
更多
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"handleResetPwd"
icon=
"el-icon-key"
v-hasPermi=
"['system:user:resetPwd']"
>
重置密码
</el-dropdown-item>
<el-dropdown-item
command=
"handleAuthRole"
icon=
"el-icon-circle-check"
v-hasPermi=
"['system:user:edit']"
>
分配角色
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown-menu
slot=
"dropdown"
>
-->
<
!--
<
el-dropdown-item
command=
"handleResetPwd"
icon=
"el-icon-key"
v-hasPermi=
"['system:user:resetPwd']"
>
重置密码
</el-dropdown-item>
-->
<
!--
<
el-dropdown-item
command=
"handleAuthRole"
icon=
"el-icon-circle-check"
v-hasPermi=
"['system:user:edit']"
>
分配角色
</el-dropdown-item>
-->
<
!--
<
/el-dropdown-menu>
</el-dropdown>
-->
</
template
>
</el-table-column>
</el-table>
...
...
@@ -212,10 +212,22 @@
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"用户性别"
>
<el-select
v-model=
"form.sex"
placeholder=
"请选择性别"
>
<el-option
v-for=
"dict in dict.type.sys_user_sex"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="归属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
</el-form-item>
</el-col>
</el-col>
-->
</el-row>
<el-row>
<el-col
:span=
"12"
>
...
...
@@ -237,23 +249,12 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
v-if=
"form.userId == undefined"
label=
"用户密码"
prop=
"password"
>
<el-input
v-model=
"form.password"
placeholder=
"
请输入用户密码
"
type=
"password"
maxlength=
"20"
show-password
/>
<el-input
v-model=
"form.password"
placeholder=
"
大于8位含数字,字母,符号
"
type=
"password"
maxlength=
"20"
show-password
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"用户性别"
>
<el-select
v-model=
"form.sex"
placeholder=
"请选择性别"
>
<el-option
v-for=
"dict in dict.type.sys_user_sex"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.status"
>
...
...
@@ -267,7 +268,7 @@
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<
!-- <
el-col :span="12">
<el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位">
<el-option
...
...
@@ -279,8 +280,8 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
</el-col>
-->
<
!-- <
el-col :span="12">
<el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色">
<el-option
...
...
@@ -292,7 +293,7 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
-->
</el-row>
<el-row>
<el-col
:span=
"24"
>
...
...
@@ -417,7 +418,7 @@ export default {
{
key
:
0
,
label
:
`用户编号`
,
visible
:
true
},
{
key
:
1
,
label
:
`用户名称`
,
visible
:
true
},
{
key
:
2
,
label
:
`用户昵称`
,
visible
:
true
},
{
key
:
3
,
label
:
`部门`
,
visible
:
true
},
//
{ key: 3, label: `部门`, visible: true },
{
key
:
4
,
label
:
`手机号码`
,
visible
:
true
},
{
key
:
5
,
label
:
`状态`
,
visible
:
true
},
{
key
:
6
,
label
:
`创建时间`
,
visible
:
true
}
...
...
@@ -433,8 +434,8 @@ export default {
],
password
:
[
{
required
:
true
,
message
:
"
用户密码不能为空
"
,
trigger
:
"
blur
"
},
{
min
:
5
,
max
:
20
,
message
:
'
用户密码长度必须介于 5 和 20 之间
'
,
trigger
:
'
blur
'
},
{
pattern
:
/^
[^
<>"'|
\\]
+$/
,
message
:
"
不能包含非法字符:< >
\"
'
\\\
|
"
,
trigger
:
"
blur
"
}
{
min
:
8
,
max
:
20
,
message
:
'
用户密码不能少于8位
'
,
trigger
:
'
blur
'
},
{
pattern
:
/^
(?=
.*
[
A-Za-z
])(?=
.*
\d)(?=
.*
[
!@#$%^&*
])
.
{9,}
$/
,
message
:
"
密码需要包含数字、字母、符号
"
,
trigger
:
"
blur
"
}
],
email
:
[
{
...
...
@@ -537,7 +538,7 @@ export default {
this
.
dateRange
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
.
deptId
=
undefined
;
this
.
$refs
.
tree
.
setCurrentKey
(
null
);
//
this.$refs.tree.setCurrentKey(null);
this
.
handleQuery
();
},
// 多选框选中数据
...
...
@@ -585,25 +586,25 @@ export default {
this
.
form
.
password
=
""
;
});
},
/** 重置密码按钮操作 */
handleResetPwd
(
row
)
{
this
.
$prompt
(
'
请输入"
'
+
row
.
userName
+
'
"的新密码
'
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
closeOnClickModal
:
false
,
inputPattern
:
/^.
{5
,20}
$/
,
inputErrorMessage
:
"
用户密码长度必须介于 5 和 20 之间
"
,
inputValidator
:
(
value
)
=>
{
if
(
/<|>|"|'|
\|
|
\\
/
.
test
(
value
))
{
return
"
不能包含非法字符:< >
\"
'
\\\
|
"
}
},
}).
then
(({
value
})
=>
{
resetUserPwd
(
row
.
userId
,
value
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功,新密码是:
"
+
value
);
});
}).
catch
(()
=>
{});
},
/
/ /
** 重置密码按钮操作 */
//
handleResetPwd(row) {
//
this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
//
confirmButtonText: "确定",
//
cancelButtonText: "取消",
//
closeOnClickModal: false,
// inputPattern: /^.{8
,20}$/,
// inputErrorMessage: "密码长度需要大于8位,且含数字、字母、符号
",
//
inputValidator: (value) => {
// if (!/^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&*]).{9,}$
/.test(value)) {
// return "密码长度需要大于8位,且含数字、字母、符号
"
//
}
//
},
// }).then(({ value }) => {
//
resetUserPwd(row.userId, value).then(response => {
//
this.$modal.msgSuccess("修改成功,新密码是:" + value);
//
});
//
}).catch(() => {});
//
},
/** 分配角色操作 */
handleAuthRole
:
function
(
row
)
{
const
userId
=
row
.
userId
;
...
...
src/views/system/user/profile/resetPwd.vue
View file @
3d9edc03
...
...
@@ -41,8 +41,8 @@ export default {
],
newPassword
:
[
{
required
:
true
,
message
:
"
新密码不能为空
"
,
trigger
:
"
blur
"
},
{
min
:
6
,
max
:
20
,
message
:
"
长度在 6
到 20 个字符
"
,
trigger
:
"
blur
"
},
{
pattern
:
/^
[^
<>"'|
\\]
+$/
,
message
:
"
不能包含非法字符:< >
\"
'
\\\
|
"
,
trigger
:
"
blur
"
}
{
min
:
8
,
max
:
20
,
message
:
"
长度在 8
到 20 个字符
"
,
trigger
:
"
blur
"
},
{
pattern
:
/^
(?=
.*
[
A-Za-z
])(?=
.*
\d)(?=
.*
[
!@#$%^&*
])
.
{9,}
$/
,
message
:
"
密码需要包含数字、字母、符号
"
,
trigger
:
"
blur
"
}
],
confirmPassword
:
[
{
required
:
true
,
message
:
"
确认密码不能为空
"
,
trigger
:
"
blur
"
},
...
...
vue.config.js
View file @
3d9edc03
...
...
@@ -37,7 +37,7 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
// target: `http://192.168.3.226:8579`,
target
:
`http://192.168.2.16:
9090
`
,
target
:
`http://192.168.2.16:
8579
`
,
// target: `http://182.92.170.89:10080`,
changeOrigin
:
true
,
pathRewrite
:
{
...
...
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