Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gavel-oa-app
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
李苏
gavel-oa-app
Commits
c089cc15
Commit
c089cc15
authored
Jan 22, 2025
by
王向前
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
通讯录、管理设置、部门列表
parent
46600559
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
345 additions
and
56 deletions
+345
-56
routes.js
common/router/modules/routes.js
+7
-0
pages.json
pages.json
+7
-6
department.vue
pages/system/department/department.vue
+28
-25
glysetting.vue
pages/system/glysetting/glysetting.vue
+12
-15
txl.vue
pages/system/txl/txl.vue
+5
-10
details.vue
pages/user/details.vue
+286
-0
folder-fill.png
static/icon/folder-fill.png
+0
-0
No files found.
common/router/modules/routes.js
View file @
c089cc15
...
...
@@ -156,6 +156,13 @@ const routes = [
title
:
'公司信息'
,
},
},
{
path
:
'/pages/user/details'
,
name
:
'updateuser'
,
meta
:
{
title
:
'编辑成员'
,
},
},
]
export
default
routes
pages.json
View file @
c089cc15
...
...
@@ -146,14 +146,15 @@
{
"navigationBarTitleText"
:
""
}
},
{
"path"
:
"pages/user/details"
,
"style"
:
{
"navigationBarTitleText"
:
""
}
}
],
"globalStyle"
:
{
"navigationBarBackgroundColor"
:
"#0081ff"
,
...
...
pages/system/department/department.vue
View file @
c089cc15
...
...
@@ -197,7 +197,7 @@
type
:
null
,
defaultHeadList
:
[],
dataList
:
[],
departmentPic
:
"/static/
xmtb
/folder-fill.png"
,
departmentPic
:
"/static/
icon
/folder-fill.png"
,
modalName
:
null
,
isMoreSetting
:
true
,
isDeleteBm
:
true
,
...
...
@@ -289,11 +289,11 @@
}
else
{
this
.
isDeleteBm
=
true
}
this
.
$http
.
post
(
_this
.
API
.
bmApi
,
{
this
.
$http
.
post
(
"kzzx/bm/query"
,
{
id
:
this
.
currentBmData
.
id
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
_this
.
currentBmData
=
res
.
data
.
data
.
records
[
0
];
_this
.
currentBmData
=
res
.
data
.
records
[
0
];
_this
.
$forceUpdate
();
}
});
...
...
@@ -400,12 +400,14 @@
let
_that
=
this
;
let
nodes
=
[];
_that
.
userList
=
[];
_that
.
nodeIds
=
[];
_that
.
nodeIds
=
[];
this
.
$http
.
post
(
"kzzx/user/query"
,
{
choosebmid
:
value
.
id
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
let
_res
=
res
.
data
.
data
.
records
;
}).
then
(
res
=>
{
if
(
res
.
data
)
{
let
_res
=
res
.
data
.
records
;
if
(
_res
.
length
>
0
)
{
_that
.
parseTreeJson
([
value
]);
nodes
=
[...
new
Set
(
_that
.
nodeIds
)];
...
...
@@ -463,8 +465,8 @@
this
.
$http
.
post
(
"kzzx/user/query"
,
{
choosebmid
:
value
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
let
_res
=
res
.
data
.
data
.
records
;
if
(
res
.
data
)
{
let
_res
=
res
.
data
.
records
;
_that
.
parseTreeJson
(
_that
.
dataList
);
nodes
=
[...
new
Set
(
_that
.
nodeIds
)]
_res
.
forEach
(
item
=>
{
...
...
@@ -515,15 +517,16 @@
getQyInfo
()
{
let
_that
=
this
;
this
.
$http
.
post
(
"kzzx/bm/query"
,
{}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
_that
.
bmList
=
res
.
data
.
data
.
records
;
let
_res
=
res
.
data
.
data
;
if
(
res
.
data
)
{
_that
.
bmList
=
res
.
data
.
records
;
let
_res
=
res
.
data
;
let
newBmdata
=
_that
.
transDataGUI
(
_that
.
bmList
,
"id"
,
"pid"
,
"children"
);
let
headData
=
{};
if
(
_res
)
{
headData
=
{
name
:
_res
.
name
,
id
:
_res
.
id
bmmc
:
_res
.
name
,
id
:
_res
.
id
,
children
:
newBmdata
}
}
...
...
@@ -540,11 +543,11 @@
fzrid
:
headData
.
fzrid
}
_that
.
currentBmData
=
headData
;
if
(
Object
.
keys
(
this
.
defaultHeadList
).
length
>
0
)
{
this
.
$refs
.
refUniMallHead
.
addTab
(
this
.
defaultHeadList
);
if
(
Object
.
keys
(
_that
.
defaultHeadList
).
length
>
0
)
{
_that
.
$refs
.
refUniMallHead
.
addTab
(
this
.
defaultHeadList
);
}
_that
.
dataList
=
headData
[
"children"
]
||
[]
_that
.
postUserList
(
this
.
defaultHeadList
.
id
);
_that
.
postUserList
(
_that
.
defaultHeadList
.
id
);
this
.
hackReset
=
false
;
this
.
$nextTick
(()
=>
{
this
.
hackReset
=
true
;
...
...
@@ -559,9 +562,9 @@
this
.
$http
.
post
(
"kzzx/bm/query"
,
{
pid
:
pid
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
_that
.
bmList
=
res
.
data
.
data
.
records
;
let
_res
=
res
.
data
.
data
;
if
(
res
.
data
)
{
_that
.
bmList
=
res
.
data
.
records
;
let
_res
=
res
.
data
;
let
newBmdata
=
_that
.
transDataGUI
(
_that
.
bmList
,
"id"
,
"pid"
,
"children"
);
_that
.
dataList
=
newBmdata
;
_that
.
postUserList
(
pid
);
...
...
@@ -641,7 +644,7 @@
this
.
$http
.
post
(
'/kzzx/bm/update'
,{
master
:
formData
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
if
(
res
.
data
)
{
_that
.
modalName
=
null
;
_that
.
editBmData
.
bmmc
=
""
;
_that
.
$tip
.
success
(
"更新部门成功"
);
...
...
@@ -668,7 +671,7 @@
this
.
$http
.
post
(
'/kzzx/bm/update'
,{
master
:
formData
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
if
(
res
.
data
)
{
_that
.
$tip
.
success
(
"操作成功"
);
_that
.
$forceUpdate
();
}
else
{
...
...
@@ -687,7 +690,7 @@
this
.
$http
.
post
(
'/kzzx/bm/delete'
,{
id
:
key
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
if
(
res
.
data
)
{
_that
.
$tip
.
success
(
"操作成功"
);
_that
.
postBm
(
_that
.
$refs
.
refUniMallHead
.
tabs
[
_that
.
$refs
.
refUniMallHead
.
tabs
.
length
-
2
].
id
);
...
...
@@ -727,7 +730,7 @@
this
.
$http
.
post
(
'/kzzx/bm/add'
,{
master
:
formData
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
if
(
res
.
data
)
{
_that
.
modalName
=
null
;
_that
.
resetBm
();
_that
.
$tip
.
success
(
"新建部门成功"
);
...
...
@@ -772,7 +775,7 @@
this
.
$http
.
post
(
'/kzzx/user/add'
,{
master
:
formData
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
if
(
res
.
data
)
{
_that
.
modalName
=
null
;
_that
.
resetUser
();
_that
.
$tip
.
success
(
"新建成员成功"
);
...
...
pages/system/glysetting/glysetting.vue
View file @
c089cc15
<
template
>
<view
class=
""
>
<cu-
header
bgColor=
"bg-blue"
isBack=
"true"
>
<cu-
custom
bgColor=
"bg-blue"
isBack=
"true"
>
<block
slot=
"content"
>
{{
title
}}
</text>
</block>
<block
slot=
"right"
>
</block>
</cu-header>
</cu-custom>
<view
:style=
"[
{top:CustomBar + 'px'}]">
<view
class=
"cu-bar bg-white solid-bottom"
>
<view
class=
"action"
>
...
...
@@ -95,9 +92,9 @@
},
queryUser
(){
let
_that
=
this
;
_that
.
$http
.
post
(
_that
.
API
.
userApi
,{
superFlag
:
"Y"
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
_that
.
myList
=
res
.
data
.
data
.
records
;
_that
.
$http
.
post
(
"kzzx/user/query"
,{
superFlag
:
"Y"
}).
then
(
res
=>
{
if
(
res
.
data
)
{
_that
.
myList
=
res
.
data
.
records
;
_that
.
options
.
status
=
"noMore"
}
else
{
_that
.
myList
=
[];
...
...
@@ -121,14 +118,14 @@
let
_that
=
this
;
this
.
$tip
.
confirm
(
"是否确认不通过?"
).
then
(
r
=>
{
if
(
r
.
confirm
){
_that
.
$http
.
post
(
_that
.
API
.
userFailApi
,{
id
:
item
.
id
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
_that
.
$http
.
post
(
"/kzzx/user/auditfail"
,{
id
:
item
.
id
}).
then
(
res
=>
{
if
(
res
.
data
)
{
_that
.
queryUser
();
_that
.
$tip
.
success
(
"操作成功"
);
}
else
{
_that
.
$tip
.
toast
(
res
.
data
.
message
||
"操作失败"
);
_that
.
$tip
.
toast
(
res
.
message
||
"操作失败"
);
}
_that
.
modalName
=
null
;
_that
.
$forceUpdate
()
...
...
@@ -145,12 +142,12 @@
}
this
.
$tip
.
confirm
(
"是否移除该管理员?"
).
then
(
r
=>
{
if
(
r
.
confirm
){
apiService
.
removeGlySetting
(
{
id
:
user
.
id
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
_that
.
$http
.
post
(
"/kzzx/user/cancel/super"
,
{
id
:
user
.
id
}).
then
(
res
=>
{
if
(
res
.
data
)
{
_that
.
$tip
.
success
(
"操作成功"
);
_that
.
queryUser
();
}
else
{
_that
.
$tip
.
toast
(
res
.
data
.
message
||
"操作失败"
);
_that
.
$tip
.
toast
(
res
.
message
||
"操作失败"
);
}
_that
.
$forceUpdate
()
...
...
@@ -161,7 +158,7 @@
},
addGly
(
user
){
let
_that
=
this
;
apiService
.
addGlySetting
(
{
id
:
user
.
userid
}).
then
(
res
=>
{
_that
.
$http
.
post
(
"/kzzx/user/set/super"
,
{
id
:
user
.
userid
}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
_that
.
$tip
.
success
(
"操作成功"
);
_that
.
queryUser
();
...
...
pages/system/txl/txl.vue
View file @
c089cc15
<
template
>
<view
class=
"bg-white"
>
<cu-
header
bgColor=
"bg-blue"
isBack=
"true"
>
<cu-
custom
bgColor=
"bg-blue"
isBack=
"true"
>
<block
slot=
"content"
>
{{
title
}}
</text>
</block>
<block
slot=
"right"
>
</block>
</cu-header>
</cu-custom>
<view
class=
"bg-white"
>
<city-select
placeholder=
"搜索"
...
...
@@ -22,11 +19,9 @@
<
script
>
import
citySelect
from
'@/components/city-select/city-select.vue'
;
import
apiService
from
'@/api/api.js'
;
export
default
{
data
()
{
return
{
API
:
apiService
.
API
,
title
:
"通讯录"
,
formatName
:
'username'
,
//显示的城市数据
...
...
@@ -39,10 +34,10 @@
methods
:
{
queryUser
(){
let
_that
=
this
;
_that
.
$http
.
post
(
_that
.
API
.
userApi
,{}).
then
(
res
=>
{
if
(
res
.
data
.
success
)
{
_that
.
$http
.
post
(
"/kzzx/user/query"
,{}).
then
(
res
=>
{
if
(
res
.
data
)
{
_that
.
obtainCitys
=
res
.
data
.
data
.
records
;
_that
.
obtainCitys
=
res
.
data
.
records
;
_that
.
options
.
status
=
"noMore"
}
else
{
_that
.
obtainCitys
=
[];
...
...
pages/user/details.vue
0 → 100644
View file @
c089cc15
<
template
>
<view>
<cu-custom
:isBack=
"true"
bgColor=
"bg-blue"
>
<block
slot=
"content"
>
{{
title
}}
</block>
</cu-custom>
<form
@
submit=
"formSubmit"
@
reset=
"formReset"
>
<view
class=
"cu-list menu margin-top-sm"
>
<view
class=
"cu-item animation-slide-bottom"
>
<view
class=
"content"
>
<text
class=
"text-grey"
>
姓名
</text>
</view>
<view
class=
"action"
>
<uni-easyinput
:inputBorder=
"false"
v-model=
"userinfo.username"
placeholder=
""
/>
</view>
</view>
<view
class=
"cu-item animation-slide-bottom"
>
<view
class=
"content"
>
<text
class=
"text-grey"
>
手机号
</text>
</view>
<view
class=
"action"
>
<uni-easyinput
:inputBorder=
"false"
v-model=
"userinfo.phone"
placeholder=
""
/>
</view>
</view>
<view
class=
"cu-item animation-slide-bottom"
>
<view
class=
"content"
>
<text
class=
"text-grey"
>
邮箱
</text>
</view>
<view
class=
"action"
>
<uni-easyinput
:inputBorder=
"false"
v-model=
"userinfo.email"
placeholder=
""
/>
</view>
</view>
<view
class=
"cu-item animation-slide-bottom"
>
<view
class=
"content"
>
<text
class=
"text-grey"
>
部门
</text>
</view>
<view
class=
"action"
>
<text
class=
"text-grey"
@
tap=
"tzBm"
>
{{
userinfo
.
bmmc
||
"未设置"
}}
</text>
</view>
</view>
<!--
<view
class=
"cu-item animation-slide-bottom"
>
<view
class=
"content"
>
<text
class=
"text-grey"
>
部门负责人
</text>
</view>
<view
class=
"action"
>
<view
class=
"text-grey"
><switch
:checked=
"checked"
@
change=
"switch2Change"
/></view>
</view>
</view>
-->
</view>
<view
class=
"text-center text-red padding-top-xl"
>
{{
errorMsg
}}
</view>
<view
class=
"text-center margin-bottom-sm padding"
v-show=
"isSuperuser"
>
<button
style=
"display: flex;"
class=
"cu-btn bg-blue lg margin-top-lg"
@
tap=
"saveUser"
><view
space=
"emsp"
>
保存
</view>
</button>
<!--
<button
style=
"display: flex;"
class=
"cu-btn bg-blue lg margin-top-lg"
@
tap=
"tzBm"
><view
space=
"emsp"
>
调整部门
</view>
</button>
-->
<button
style=
"display: flex;"
class=
"cu-btn text-red bg-white lg margin-top-lg"
@
tap=
"deleteUser"
><view
space=
"emsp"
>
删除成员
</view>
</button>
</view>
</form>
</view>
</
template
>
<
script
>
import
apiService
from
'@/api/api.js'
var
graceChecker
=
require
(
"@/common/util/graceChecker.js"
);
export
default
{
data
()
{
return
{
title
:
"编辑成员"
,
checked
:
false
,
userinfo
:{
username
:
""
,
phone
:
""
,
email
:
""
,
bmmc
:
""
,
bmid
:
""
,
id
:
""
},
errorMsg
:
null
};
},
computed
:{
isSuperuser
()
{
return
this
.
$store
.
state
.
isSuperuser
}
},
methods
:
{
handleClick
()
{
uni
.
makePhoneCall
({
phoneNumber
:
'18512542135'
//仅为示例
});
},
formSubmit
(){
},
formReset
(){
},
getUserinfo
(
key
){
let
_that
=
this
;
_that
.
$http
.
post
(
"/kzzx/user/query"
,{
id
:
key
}).
then
(
res
=>
{
if
(
res
.
data
)
{
_that
.
userinfo
=
res
.
data
.
records
[
0
]
}
else
{
_that
.
$tip
.
toast
(
res
.
message
||
"操作失败"
);
}
_that
.
$forceUpdate
()
});
},
switch2Change
(){
},
saveUser
(){
let
formData
=
this
.
userinfo
;
let
_that
=
this
;
let
rule
=
[
{
name
:
"username"
,
checkType
:
"notnull"
,
checkRule
:
""
,
errorMsg
:
"姓名不能为空"
},
{
name
:
"bmmc"
,
checkType
:
"notnull"
,
checkRule
:
""
,
errorMsg
:
"部门中文名称不能为空"
},
{
name
:
"phone"
,
checkType
:
"notnull"
,
checkRule
:
""
,
errorMsg
:
"手机号码不能为空"
},
]
var
checkRes
=
graceChecker
.
check
(
formData
,
rule
);
formData
[
"flag"
]
=
"U"
;
if
(
!
checkRes
){
this
.
errorMsg
=
graceChecker
.
error
;
}
else
{
this
.
errorMsg
=
null
;
_that
.
$http
.
post
(
"/kzzx/user/update"
,{
master
:
formData
}).
then
(
res
=>
{
if
(
res
.
data
)
{
_that
.
$tip
.
success
(
"操作成功"
);
_that
.
$eventHub
.
$emit
(
"refreshbm"
);
_that
.
$Router
.
back
(
1
);
}
else
{
_that
.
$tip
.
toast
(
res
.
data
.
message
||
"操作失败"
);
}
_that
.
$forceUpdate
()
});
}
},
deleteUser
(){
let
_that
=
this
;
let
key
=
this
.
userinfo
.
id
;
this
.
$tip
.
confirm
(
"是否删除成员?"
).
then
(
r
=>
{
if
(
r
.
confirm
){
_that
.
$http
.
post
(
"/kzzx/user/delete"
,{
id
:
key
}).
then
(
res
=>
{
if
(
res
.
data
)
{
_that
.
$tip
.
success
(
"操作成功"
);
_that
.
$eventHub
.
$emit
(
"refreshbm"
);
_that
.
$Router
.
back
(
1
);
}
else
{
_that
.
$tip
.
toast
(
res
.
data
.
message
||
"操作失败"
);
}
_that
.
$forceUpdate
()
});
}
})
},
tzBm
(){
this
.
$Router
.
push
({
name
:
"bm"
,
params
:{
id
:
"tz"
}})
}
},
onLoad
()
{
let
_this
=
this
;
this
.
userinfo
.
id
=
this
.
$Route
.
query
.
userid
;
this
.
getUserinfo
(
this
.
$Route
.
query
.
userid
);
this
.
$eventHub
.
$on
(
"updateBmids"
,
function
(
value
){
_this
.
userinfo
.
bmid
=
value
.
bmid
;
_this
.
userinfo
.
bmmc
=
value
.
bmmc
;
_this
.
$forceUpdate
();
})
},
onUnload
()
{
this
.
$eventHub
.
$off
(
'updateBmid'
);
}
};
</
script
>
<
style
scoped
lang=
"scss"
>
.user-info
{
background
:
#ffffff
;
display
:
flex
;
align-items
:
center
;
margin-bottom
:
10px
;
padding
:
14px
18px
;
box-sizing
:
border-box
;
.user-info-pic
{
width
:
60px
;
height
:
60px
;
background
:
#377fff
;
border-radius
:
10px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
margin-right
:
20px
;
overflow
:
hidden
;
image
{
width
:
60px
;
height
:
60px
;
}
}
.user-info-text
{
.user-info-text-top
{
font-weight
:
500
;
font-size
:
20px
;
line-height
:
23px
;
color
:
#333333
;
margin-bottom
:
10px
;
}
.user-info-text-bottom
{
text
{
font-size
:
14px
;
line-height
:
18px
;
color
:
#666666
;
margin-right
:
10px
;
}
}
}
}
.list
{
.list-item
{
background
:
#ffffff
;
height
:
48px
;
display
:
flex
;
align-items
:
center
;
margin-bottom
:
1px
;
padding
:
0
15px
;
box-sizing
:
border-box
;
position
:
relative
;
&
:last-child
{
margin-bottom
:
0px
;
}
&
:active
{
background
:
#f2f3f4
;
}
&
.show-icon
{
&
:
:
after
{
content
:
''
;
position
:
absolute
;
width
:
5px
;
height
:
10px
;
top
:
20px
;
right
:
15px
;
background
:
url(../../static/icon/more.png)
no-repeat
;
}
}
.list-item-left
{
font-size
:
16px
;
color
:
#666666
;
width
:
100px
;
}
.list-item-right
{
font-size
:
14px
;
color
:
#000000
;
flex
:
1
;
}
}
}
.list-btn
{
padding
:
0
20px
;
box-sizing
:
border-box
;
margin-top
:
30px
;
button
{
height
:
48px
;
background
:
linear-gradient
(
270deg
,
#55bafe
-0
.03%
,
#3072ff
100%
);
box-shadow
:
0px
4px
4px
rgba
(
0
,
0
,
0
,
0
.1
);
border-radius
:
24px
;
color
:
#ffffff
;
font-weight
:
bold
;
font-size
:
18px
;
outline
:
none
;
border
:
none
;
&
:active
{
opacity
:
0
.9
;
}
}
}
</
style
>
static/icon/folder-fill.png
0 → 100644
View file @
c089cc15
186 Bytes
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