Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fns_backend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Zhang Xiaojie
fns_backend
Commits
ba4fb74e
Commit
ba4fb74e
authored
Sep 26, 2021
by
chenqikuai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调配
parent
dccacbdf
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
316 additions
and
71 deletions
+316
-71
addNormalManagerModal.vue
src/components/UserManage/addNormalManagerModal.vue
+223
-49
topBar.vue
src/components/UserManage/topBar.vue
+19
-0
userTable.vue
src/components/UserManage/userTable.vue
+29
-3
index.ts
src/service/StaffService/index.ts
+1
-1
index.ts
src/store/UserManagement/index.ts
+1
-1
types.ts
src/store/UserManagement/types.ts
+6
-6
staff.ts
src/types/staff.ts
+21
-1
index.vue
src/views/Root/OutletManagement/index.vue
+16
-10
No files found.
src/components/UserManage/addNormalManagerModal.vue
View file @
ba4fb74e
...
...
@@ -14,24 +14,58 @@
ref="addForm"
:rules="addrules"
>
<a-form-model-item
label=
"名称"
:required=
"true"
prop=
"name"
>
<a-form-model-item
label=
"名称"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
name
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"UID"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
uid
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"手机号"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
phone
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"名称"
:required=
"true"
prop=
"name"
v-if=
"modalMode === eAddManagerModalMode.create"
>
<a-input
v-model=
"form.name"
placeholder=
"请输入名称"
style=
"width: 200px"
/>
</a-form-model-item>
<a-form-model-item
label=
"手机号"
prop=
"tel"
>
<a-form-model-item
label=
"手机号"
prop=
"tel"
v-if=
"modalMode === eAddManagerModalMode.create"
>
<a-input
v-model=
"form.tel"
placeholder=
"请输入手机号"
style=
"width: 200px"
/>
</a-form-model-item>
<a-form-model-item
label=
"初始密码"
prop=
"password"
>
<a-form-model-item
label=
"初始密码"
prop=
"password"
v-if=
"modalMode === eAddManagerModalMode.create"
>
<a-input
v-model=
"form.password"
style=
"width: 200px"
/>
</a-form-model-item>
<a-form-model-item
label=
"岗位角色"
>
<a-form-model-item
label=
"岗位角色"
v-if=
"modalMode === eAddManagerModalMode.create"
>
<span
class=
"text-sm text-black mr-2"
>
{{
theRole
}}
</span>
<!--
<a-switch
@
change=
"onChange"
v-if=
"isManager"
/>
-->
<!--
<span
class=
"ml-2"
v-if=
"isManager"
>
可对同级管理员进行管理调配
</span>
-->
...
...
@@ -39,6 +73,66 @@
<a-form-model-item
label=
"用户所在机构层级"
>
<span
class=
"text-sm text-black"
>
{{
searchLevel
|
filterLevel
}}
</span>
</a-form-model-item>
<a-form-model-item
label=
"现属一级分行"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
fb
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"现属二级分行"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
sb
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"现属一级支行"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
fsb
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"现属二级支行"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
ssb
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"现地址"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
address
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"选择调配级别"
v-if=
"modalMode === eAddManagerModalMode.edit"
>
<a-select
class=
"header-select-item mx-3 my-2"
placeholder=
"选择调配级别"
:value=
"form.level"
@
change=
"handleLevelChange"
>
<a-select-option
v-for=
"option in levelOptions"
:value=
"option.value"
:key=
"option.value"
>
{{
option
.
value
|
filterLevel
}}
</a-select-option
>
</a-select>
</a-form-model-item>
<HeaderSelect
ref=
"headerSelect"
:setFooList=
"setFooList"
...
...
@@ -46,11 +140,11 @@
:level=
"level"
:userLevel=
"searchLevel"
/>
<a-form-model-item
label=
"新地址"
:required=
"true"
prop=
"location"
>
<a-form-model-item
label=
"新地址"
prop=
"location"
>
<a-input
class=
"mx-3 my-2"
:disabled=
"true"
v-model=
"form.location"
placeholder=
"请输入新地址"
style=
"width: 200px"
/>
</a-form-model-item>
...
...
@@ -85,6 +179,55 @@ export default Vue.extend({
HeaderSelect
,
},
computed
:
{
addrules
()
{
const
rules
=
{
name
:
[{
required
:
true
,
message
:
"请输入名称"
,
trigger
:
"blur"
}],
tel
:
[{
required
:
true
,
message
:
"请输入手机号"
,
trigger
:
"blur"
}],
location
:
[],
fooProp0
:
[
{
required
:
true
,
message
:
"请选择一级分行"
,
trigger
:
"blur"
,
},
],
fooProp1
:
[
{
required
:
true
,
message
:
"请选择二级分行"
,
trigger
:
"blur"
,
},
],
fooProp2
:
[
{
required
:
true
,
message
:
"请选择一级支行"
,
trigger
:
"blur"
,
},
],
fooProp3
:
[
{
required
:
true
,
message
:
"请选择二级支行"
,
trigger
:
"blur"
,
},
],
};
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
}
else
if
(
this
.
modalMode
===
eAddManagerModalMode
.
edit
)
{
}
return
rules
;
},
levelOptions
()
{
const
optionList
=
[
{
value
:
eLevel
.
firstLevel_branch
},
{
value
:
eLevel
.
secondary_branch
},
{
value
:
eLevel
.
firstLevel_sub_branch
},
{
value
:
eLevel
.
secondary_sub_branch
},
];
return
optionList
.
filter
((
i
)
=>
i
.
value
>=
this
.
searchLevel
);
},
title
():
string
|
undefined
{
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
return
"新增"
;
...
...
@@ -143,44 +286,9 @@ export default Vue.extend({
},
},
data
()
{
const
addrules
=
{
name
:
[{
required
:
true
,
message
:
"请输入名称"
,
trigger
:
"blur"
}],
tel
:
[{
required
:
true
,
message
:
"请输入手机号"
,
trigger
:
"blur"
}],
location
:
[
{
required
:
true
,
message
:
"请输入详细地址"
,
trigger
:
"blur"
},
],
fooProp0
:
[
{
required
:
true
,
message
:
"请选择一级分行"
,
trigger
:
"blur"
,
},
],
fooProp1
:
[
{
required
:
true
,
message
:
"请选择二级分行"
,
trigger
:
"blur"
,
},
],
fooProp2
:
[
{
required
:
true
,
message
:
"请选择一级支行"
,
trigger
:
"blur"
,
},
],
fooProp3
:
[
{
required
:
true
,
message
:
"请选择二级支行"
,
trigger
:
"blur"
,
},
],
};
return
{
eAddManagerModalMode
,
fooList
,
addrules
,
form
:
{
name
:
""
,
tel
:
""
,
...
...
@@ -191,12 +299,16 @@ export default Vue.extend({
fooProp1
:
undefined
as
number
|
undefined
,
fooProp2
:
undefined
as
number
|
undefined
,
fooProp3
:
undefined
as
number
|
undefined
,
level
:
eLevel
.
firstLevel_branch
,
},
outletName
:
""
,
};
},
methods
:
{
initFooList
()
{
handleLevelChange
(
value
:
any
)
{
this
.
form
.
level
=
value
;
},
async
initFooList
()
{
const
list
=
this
.
fooList
.
map
((
i
)
=>
{
return
{
...
i
,
...
...
@@ -206,37 +318,85 @@ export default Vue.extend({
};
});
this
.
fooList
=
list
;
const
branchDetailMsg
=
this
.
branchDetailMsg
as
iBranchDetailMsg
;
let
branchDetailMsg
:
iBranchDetailMsg
=
undefined
as
unknown
as
iBranchDetailMsg
;
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
branchDetailMsg
=
this
.
branchDetailMsg
;
}
else
if
(
this
.
modalMode
===
eAddManagerModalMode
.
edit
)
{
branchDetailMsg
=
this
.
personalMsg
.
branchDetailMsg
;
this
.
form
.
level
=
this
.
level
;
}
if
(
branchDetailMsg
.
fb
!==
undefined
)
{
this
.
fooList
[
0
].
options
=
[
{
Name
:
branchDetailMsg
.
fb
,
ID
:
branchDetailMsg
.
fb_id
},
];
this
.
fooList
[
0
].
value
=
branchDetailMsg
.
fb_id
;
this
.
fooList
[
0
].
disable
=
true
;
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
this
.
fooList
[
0
].
disable
=
true
;
}
}
if
(
branchDetailMsg
.
sb
!==
undefined
)
{
this
.
fooList
[
1
].
options
=
[
{
Name
:
branchDetailMsg
.
sb
,
ID
:
branchDetailMsg
.
sb_id
},
];
this
.
fooList
[
1
].
value
=
branchDetailMsg
.
sb_id
;
this
.
fooList
[
1
].
disable
=
true
;
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
this
.
fooList
[
1
].
disable
=
true
;
}
}
if
(
branchDetailMsg
.
fsb
!==
undefined
)
{
this
.
fooList
[
2
].
options
=
[
{
Name
:
branchDetailMsg
.
fsb
,
ID
:
branchDetailMsg
.
fsb_id
},
];
this
.
fooList
[
2
].
value
=
branchDetailMsg
.
fsb_id
;
this
.
fooList
[
2
].
disable
=
true
;
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
this
.
fooList
[
2
].
disable
=
true
;
}
}
if
(
branchDetailMsg
.
ssb
!==
undefined
)
{
this
.
fooList
[
3
].
options
=
[
{
Name
:
branchDetailMsg
.
ssb
,
ID
:
branchDetailMsg
.
ssb_id
},
];
this
.
fooList
[
3
].
value
=
branchDetailMsg
.
ssb_id
;
this
.
fooList
[
3
].
disable
=
true
;
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
this
.
fooList
[
3
].
disable
=
true
;
}
}
const
fetchOptionListForEverySettledBranchEdit
=
async
(
list
:
typeof
fooList
)
=>
{
list
.
forEach
(
async
(
item
,
index
)
=>
{
if
(
index
===
0
)
{
const
ret
=
await
StaffService
.
getInstance
().
getBranch
({
level
:
eLevel
.
firstLevel_branch
,
page
:
1
,
page_size
:
10000
,
});
if
(
ret
.
code
===
200
)
{
this
.
fooList
[
0
].
options
=
ret
.
data
.
item
;
}
}
else
{
const
ret
=
await
StaffService
.
getInstance
().
getBranch
({
level
:
index
+
1
,
page
:
1
,
page_size
:
10000
,
parent_id
:
this
.
fooList
[
index
-
1
].
value
,
});
if
(
ret
.
code
===
200
)
{
this
.
fooList
[
index
].
options
=
ret
.
data
.
item
;
}
}
});
};
if
(
this
.
modalMode
===
eAddManagerModalMode
.
edit
)
{
await
fetchOptionListForEverySettledBranchEdit
(
this
.
fooList
);
}
this
.
fooList
=
[...
this
.
fooList
];
this
.
fetchNextOptions
();
await
this
.
fetchNextOptions
();
},
async
fetchNextOptions
()
{
const
fooIndex
=
this
.
fooList
.
findIndex
(
...
...
@@ -304,6 +464,18 @@ export default Vue.extend({
refreshMark
:
new
Date
().
getTime
(),
});
});
}
else
if
(
this
.
modalMode
===
eAddManagerModalMode
.
edit
)
{
StaffService
.
getInstance
()
.
deploy
({
level
:
this
.
form
.
level
,
second_sub_branch
:
this
.
fooList
[
3
].
value
as
number
,
uuid
:
this
.
personalMsg
.
uid
,
})
.
then
(()
=>
{
this
.
save
({
refreshMark
:
new
Date
().
getTime
(),
});
});
}
this
.
setModal
(
false
);
}
else
{
...
...
@@ -328,6 +500,8 @@ export default Vue.extend({
if
(
newV
[
3
].
value
!==
undefined
)
{
this
.
outletName
=
newV
[
3
].
options
.
find
((
i
)
=>
i
.
ID
===
newV
[
3
].
value
)?.
Name
||
""
;
}
else
{
this
.
form
.
location
=
""
;
}
},
async
outletName
(
newV
,
oldV
)
{
...
...
src/components/UserManage/topBar.vue
View file @
ba4fb74e
...
...
@@ -58,6 +58,8 @@ import { eLevel } from '@/types/level'
import
{
addUser
}
from
'./const'
import
{
mapActions
,
mapMutations
,
mapState
}
from
'vuex'
import
{
nextTick
}
from
'vue/types/umd'
import
{
eAddManagerModalMode
}
from
'@/store/UserManagement/types'
import
{
eTypeOfOperatedObject
,
iUserManagementState
}
from
"@/store/UserManagement/types"
export
default
Vue
.
extend
({
components
:
{
addNormalManagerModal
,
addSuperManagerModal
,
timerange
},
...
...
@@ -135,6 +137,23 @@ export default Vue.extend({
})
},
showModal
()
{
const
rankVal
=
(
JSON
.
parse
(
this
.
$route
.
query
.
rankVal
as
string
))
as
{
name
:
string
,
value
:
number
}[];
this
.
$store
.
commit
(
'UserManagement/save'
,
{
modalMode
:
eAddManagerModalMode
.
create
,
typeOfOperatedObject
:
eTypeOfOperatedObject
.
manager
,
// !!!!要改
searchLevel
:
this
.
level
,
branchDetailMsg
:
{
fb
:
rankVal
[
0
].
name
,
fb_id
:
rankVal
[
0
].
value
,
sb
:
rankVal
[
1
]
&&
rankVal
[
1
].
name
||
undefined
,
sb_id
:
rankVal
[
1
]
&&
rankVal
[
1
].
value
||
undefined
,
fsb
:
rankVal
[
2
]
&&
rankVal
[
2
].
name
||
undefined
,
fsb_id
:
rankVal
[
2
]
&&
rankVal
[
2
].
value
||
undefined
,
ssb
:
rankVal
[
1
]
&&
rankVal
[
1
].
name
||
undefined
,
ssb_id
:
rankVal
[
1
]
&&
rankVal
[
1
].
value
||
undefined
,
}
}
as
iUserManagementState
)
;(
this
.
$refs
.
addrModal
as
any
).
showModal
()
},
},
...
...
src/components/UserManage/userTable.vue
View file @
ba4fb74e
...
...
@@ -71,7 +71,7 @@
<
script
lang=
"ts"
>
import
Vue
,
{
PropType
}
from
"vue"
import
{
firstLevelManager
}
from
'@/mock/index'
import
{
staff
}
from
'@/types/staff'
import
{
iStaffQueryResItem
,
staff
}
from
'@/types/staff'
import
{
eUserStatusAction
}
from
'@/types/user'
import
{
eRole
}
from
"@/types/role"
import
{
eLevel
}
from
"@/types/level"
...
...
@@ -83,6 +83,7 @@ import { mapActions, mapMutations, mapState } from 'vuex'
// import Mixin from "@/views/Root/User/Mixin/index"
import
StaffService
from
'@/service/StaffService'
import
{
message
}
from
"ant-design-vue"
import
{
eAddManagerModalMode
,
eTypeOfOperatedObject
}
from
"@/store/UserManagement/types"
const
staff
=
new
StaffService
()
...
...
@@ -175,8 +176,33 @@ export default Vue.extend({
})
this
.
platformQuery
()
},
deploy
(
record
:
staff
){
(
this
.
$refs
.
deployModal
as
any
).
showModal
()
deploy
(
record
:
iStaffQueryResItem
){
this
.
$store
.
commit
(
'UserManagement/save'
,
{
modalMode
:
eAddManagerModalMode
.
edit
,
typeOfOperatedObject
:
eTypeOfOperatedObject
.
manager
,
//!!!!需要调整
searchLevel
:
this
.
level
,
branchDetailMsg
:
{
fb
:
'zhejiang'
,
fb_id
:
1
,
},
personalMsg
:
{
name
:
record
.
user_name
,
uid
:
record
.
uuid
,
phone
:
record
.
phone
,
branchDetailMsg
:
{
fb
:
record
.
first_branch
,
fb_id
:
1
,
sb
:
record
.
second_branch
,
sb_id
:
1
,
fsb
:
record
.
first_sub_branch
,
fsb_id
:
1
,
ssb
:
record
.
second_sub_branch
,
ssb_id
:
1
,
address
:
record
.
location
,
},
},
modalShow
:
true
,
})
},
enable
(
key
:
string
){
this
.
type
=
userModal
.
enable
...
...
src/service/StaffService/index.ts
View file @
ba4fb74e
...
...
@@ -84,7 +84,7 @@ export default class StaffService {
return
baseAxios
<
{
data
:
any
}
>
({
url
:
'/staff/deploy'
,
method
:
'put'
,
params
:
data
data
:
data
})
}
...
...
src/store/UserManagement/index.ts
View file @
ba4fb74e
...
...
@@ -10,7 +10,7 @@ export default <Module<iUserManagementState, {}>>{
namespaced
:
true
,
state
:
{
refreshMark
:
NaN
,
modalShow
:
tru
e
,
modalShow
:
fals
e
,
modalMode
:
eAddManagerModalMode
.
create
,
typeOfOperatedObject
:
eTypeOfOperatedObject
.
manager
,
searchLevel
:
eLevel
.
secondary_branch
,
...
...
src/store/UserManagement/types.ts
View file @
ba4fb74e
...
...
@@ -34,11 +34,11 @@ export interface iPersonalMsg {
export
interface
iUserManagementState
{
modalShow
:
boolean
modalMode
:
eAddManagerModalMode
modalMode
:
eAddManagerModalMode
/* 模态框的形态 */
typeOfOperatedObject
:
eTypeOfOperatedObject
|
undefined
searchLevel
:
eLevel
|
undefined
branchDetailMsg
:
Partial
<
iBranchDetailMsg
>
personalMsg
:
iPersonalMsg
address
:
string
refreshMark
:
number
searchLevel
:
eLevel
|
undefined
/* 当前搜索的层级 */
branchDetailMsg
:
Partial
<
iBranchDetailMsg
>
/* 分支行搜索页面所选中的信息需要设在此处 */
personalMsg
:
iPersonalMsg
/* 调配人员时 该人员的个人信息 */
address
:
string
/* 新地址 */
refreshMark
:
number
/* 供表格刷新的标记,组件监听refreshMark,若变化,则刷新表格 */
}
src/types/staff.ts
View file @
ba4fb74e
import
{
eRole
}
from
"./role"
;
import
{
eLevel
}
from
"./level"
;
import
{
eNewRoleRelatedToBackEnd
,
eRole
}
from
"./role"
;
import
{
eUserStatus
}
from
"./user"
;
enum
bank
{
'一级分行'
,
...
...
@@ -34,6 +36,24 @@ interface staff{
state
:
string
}
export
interface
iStaffQueryResItem
{
bank_name
:
string
created_at
:
number
first_branch
:
string
first_sub_branch
:
string
level
:
eLevel
location
:
string
operator_name
:
string
operator_uuid
:
string
phone
:
string
role
:
eNewRoleRelatedToBackEnd
second_branch
:
string
second_sub_branch
:
string
status
:
eUserStatus
user_name
:
string
uuid
:
string
}
export
{
bank
,
role
,
...
...
src/views/Root/OutletManagement/index.vue
View file @
ba4fb74e
...
...
@@ -402,19 +402,25 @@ export default Vue.extend({
}
},
methods
:
{
async
handleInput
(
e
:
Event
){
const
ret
=
await
handle
建设银行
excelFileChange
(
e
)
async
handleInput
(
e
:
Event
)
{
const
ret
=
await
handle
建设银行
excelFileChange
(
e
)
;
StaffService
.
getInstance
().
import
({
staffs
:
ret
as
any
})
staffs
:
ret
as
any
,
})
;
},
getLalo
()
{
window
.
navigator
.
geolocation
.
getCurrentPosition
((
position
)
=>
{
this
.
formData
.
la
=
position
.
coords
.
latitude
.
toString
();
this
.
formData
.
lo
=
position
.
coords
.
longitude
.
toString
();
const
form
=
this
.
$refs
.
form
as
FormModel
;
form
.
validateField
([
"la"
,
"lo"
],
(
err
)
=>
{});
});
if
(
"geolocation"
in
window
.
navigator
)
{
window
.
navigator
.
geolocation
.
getCurrentPosition
((
position
)
=>
{
this
.
formData
.
la
=
position
.
coords
.
latitude
.
toString
();
this
.
formData
.
lo
=
position
.
coords
.
longitude
.
toString
();
const
form
=
this
.
$refs
.
form
as
FormModel
;
form
.
validateField
([
"la"
,
"lo"
],
(
err
)
=>
{});
},
(
error
)
=>
{
message
.
error
(
'获取失败'
)
});
}
else
{
message
.
error
(
"浏览器不支持获取GPS"
)
}
},
async
clickViewNote
(
record
:
any
)
{
console
.
log
(
record
);
...
...
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