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
26dba2cd
Commit
26dba2cd
authored
Sep 26, 2021
by
lshan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
https://gitlab.33.cn/CassiniatSaturn/fns_backend
into lshan
parents
44bda148
e2cdb1de
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
1648 additions
and
245 deletions
+1648
-245
const.ts
src/components/HeaderSelect2/const.ts
+30
-0
index.vue
src/components/HeaderSelect2/index.vue
+278
-0
addNormalManagerModal.vue
src/components/UserManage/addNormalManagerModal.vue
+494
-85
topBar.vue
src/components/UserManage/topBar.vue
+19
-0
userTable.vue
src/components/UserManage/userTable.vue
+219
-46
productTable.vue
src/components/productManage/productTable.vue
+7
-7
topbar.vue
src/components/productManage/topbar.vue
+8
-4
productColumn.ts
src/const/columns/productColumn.ts
+2
-2
userManagerCol.ts
src/const/columns/userManagerCol.ts
+27
-24
index.ts
src/filter/index.ts
+16
-1
index.ts
src/service/LoanProductService/index.ts
+1
-1
index.ts
src/service/StaffService/index.ts
+149
-13
index.ts
src/store/LoanProductManagement/index.ts
+1
-1
index.ts
src/store/UserManagement/index.ts
+38
-0
types.ts
src/store/UserManagement/types.ts
+44
-0
index.ts
src/store/index.ts
+14
-12
index.ts
src/store/platformUserManagement/index.ts
+44
-0
types.ts
src/store/platformUserManagement/types.ts
+3
-1
staff.ts
src/types/staff.ts
+21
-1
const.ts
...ws/Root/OutletManagement/components/HeaderSelect/const.ts
+1
-1
index.vue
src/views/Root/OutletManagement/index.vue
+19
-6
publish.vue
src/views/Root/Product/Loan/publish.vue
+2
-2
index.ts
src/views/Root/User/Mixin/index.ts
+56
-0
client.vue
src/views/Root/User/client.vue
+68
-17
firstLevel.vue
src/views/Root/User/firstLevel.vue
+6
-8
index.vue
src/views/Root/User/index.vue
+78
-11
getMenuList.ts
src/views/Root/getMenuList.ts
+2
-1
index.vue
src/views/Root/index.vue
+1
-1
No files found.
src/components/HeaderSelect2/const.ts
0 → 100644
View file @
26dba2cd
export
const
fooList
=
[
{
label
:
'所属一级分行'
,
placeholder
:
'请选择一级分行'
,
options
:
[]
as
{
ID
:
number
;
Name
:
string
}[],
disable
:
false
,
value
:
undefined
as
number
|
undefined
,
},
{
label
:
'所属二级分行'
,
placeholder
:
'请选择二级分行'
,
options
:
[]
as
{
ID
:
number
;
Name
:
string
}[],
disable
:
false
,
value
:
undefined
as
number
|
undefined
,
},
{
label
:
'所属一级支行'
,
placeholder
:
'请选择一级支行'
,
options
:
[]
as
{
ID
:
number
;
Name
:
string
}[],
disable
:
false
,
value
:
undefined
as
number
|
undefined
,
},
{
label
:
'所属一级支行'
,
placeholder
:
'请选择二级支行'
,
options
:
[]
as
{
ID
:
number
;
Name
:
string
}[],
disable
:
false
,
value
:
undefined
as
number
|
undefined
,
},
]
src/components/HeaderSelect2/index.vue
0 → 100644
View file @
26dba2cd
<
template
>
<div
class=
"header-select"
>
<FormModelItem
v-for=
"(item, index) in fooList"
:prop=
"`fooProp$
{index}`"
:key="index"
:label="item.label"
>
<a-select
class=
"header-select-item mx-3 my-2"
@
change=
"(value) => handleSelectChange(value, index)"
:placeholder=
"item.placeholder"
:value=
"item.value"
:disabled=
"index + 1
<
=
userLevel
?
true
:
item
.
disable
"
>
<a-select-option
:value=
"option.ID"
:key=
"option.ID"
v-for=
"option in item.options"
>
{{
option
.
Name
}}
</a-select-option
>
</a-select>
</FormModelItem>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
eLevel
}
from
"@/types/level"
;
import
{
message
}
from
"ant-design-vue"
;
import
StaffService
from
"@/service/StaffService"
;
import
{
fooList
}
from
"./const"
;
import
Vue
,
{
PropType
}
from
"vue"
;
import
{
iOutLet
}
from
"@/service/StaffService/types"
;
import
{
FormModel
}
from
"ant-design-vue"
;
const
FormModelItem
=
FormModel
.
Item
;
export
default
Vue
.
extend
({
components
:
{
FormModelItem
,
FormModel
,
},
props
:
{
fooList
:
{
type
:
Array
as
PropType
<
typeof
fooList
>
,
},
setFooList
:
Function
,
level
:
Number
,
userLevel
:
Number
,
},
data
()
{
return
{};
},
mounted
()
{
this
.
init
();
},
methods
:
{
handleSelectChange
(
value
:
number
,
index
:
number
)
{
const
baseList
=
[...
this
.
fooList
];
baseList
[
index
].
value
=
value
;
const
newList
=
baseList
.
map
((
i
,
idx
)
=>
{
idx
>
index
&&
console
.
log
(
i
);
return
{
...
i
,
options
:
idx
>
index
?
[]
:
i
.
options
,
value
:
idx
>
index
?
undefined
:
i
.
value
,
};
});
this
.
changeFooList
([...
newList
]);
index
+
1
!==
4
&&
this
.
fetchOptions
(
index
+
1
);
},
async
fetchOptions
(
index
:
number
)
{
const
ret
=
await
StaffService
.
getInstance
().
getBranch
({
level
:
index
+
1
,
page_size
:
10000
,
parent_id
:
this
.
fooList
[
index
-
1
].
value
,
});
if
(
ret
.
code
===
200
)
{
const
baseList
=
[...
this
.
fooList
];
baseList
[
index
].
options
=
ret
.
data
.
item
;
this
.
changeFooList
(
baseList
);
}
},
changeFooList
(
v
:
any
[])
{
let
lastIndexhasValue
=
true
;
const
newList
=
v
.
map
((
item
,
index
)
=>
{
if
(
index
>=
this
.
level
)
{
const
shouldDisable
=
!
lastIndexhasValue
;
lastIndexhasValue
=
item
.
value
!==
undefined
;
return
{
...
item
,
disable
:
shouldDisable
,
options
:
shouldDisable
?
[]
:
item
.
options
,
};
}
else
{
return
{
...
item
,
};
}
});
this
.
setFooList
(
newList
);
},
resetList
()
{
const
list
=
this
.
fooList
.
map
((
i
)
=>
{
return
{
...
i
,
disable
:
false
,
value
:
undefined
,
options
:
[],
};
});
this
.
setFooList
([...
list
]);
},
async
init
()
{
this
.
$nextTick
(()
=>
{
// if (this.level === eLevel.firstLevel_branch) {
// this.init_firstLevel(selfOutLet);
// } else if (this.level === eLevel.secondary_branch) {
// this.init_secondLevel(selfOutLet);
// } else if (this.level === eLevel.firstLevel_sub_branch) {
// this.init_first_sub_Level(selfOutLet);
// } else if (this.level === eLevel.secondary_sub_branch) {
// this.init_second_sub_Level(selfOutLet);
// }
});
},
async
initBackAdmin
(
selfOutLet
:
iOutLet
)
{
const
ret
=
await
StaffService
.
getInstance
().
getBranch
({
level
:
eLevel
.
firstLevel_branch
,
});
if
(
ret
.
code
===
200
)
{
const
options
=
ret
.
data
.
item
;
const
baseList
=
[...
this
.
fooList
];
baseList
[
0
].
options
=
options
;
const
newList
=
baseList
.
map
((
item
,
i
)
=>
{
return
{
...
item
,
disable
:
i
>=
1
,
};
});
this
.
setFooList
(
newList
);
}
},
init_firstLevel
(
selfOutLet
:
iOutLet
)
{
const
list
=
this
.
initFooListBasicValues
(
selfOutLet
,
eLevel
.
firstLevel_branch
);
this
.
setFooList
(
list
);
},
async
init_secondLevel
(
selfOutLet
:
iOutLet
)
{
const
{
fid
,
first_branch
,
sid
,
second_branch
}
=
selfOutLet
;
const
list
=
this
.
initFooListBasicValues
(
selfOutLet
,
eLevel
.
secondary_branch
);
this
.
setFooList
(
list
);
const
ret
=
await
StaffService
.
getInstance
().
getBranch
({
level
:
eLevel
.
firstLevel_sub_branch
,
page_size
:
10000
,
parent_id
:
sid
,
});
const
baseList
=
[...
this
.
fooList
];
if
(
ret
.
code
===
200
)
{
baseList
[
2
].
options
=
ret
.
data
.
item
;
}
this
.
setFooList
(
baseList
);
},
async
init_first_sub_Level
(
selfOutLet
:
iOutLet
)
{
const
baseList
=
[...
this
.
fooList
];
const
{
fid
,
first_branch
,
sid
,
second_branch
,
fs_id
,
first_sub_branch
}
=
selfOutLet
;
const
list
=
this
.
initFooListBasicValues
(
selfOutLet
,
eLevel
.
firstLevel_sub_branch
);
this
.
setFooList
(
list
);
const
ret
=
await
StaffService
.
getInstance
().
getBranch
({
level
:
eLevel
.
secondary_sub_branch
,
page_size
:
1000
,
parent_id
:
fs_id
,
});
if
(
ret
.
code
===
200
)
{
baseList
[
3
].
options
=
ret
.
data
.
item
;
}
this
.
setFooList
(
baseList
);
},
init_second_sub_Level
(
selfOutLet
:
iOutLet
)
{
this
.
initFooListBasicValues
(
selfOutLet
,
eLevel
.
secondary_sub_branch
);
},
initFooListBasicValues
(
selfOutLet
:
iOutLet
,
level
:
eLevel
)
{
let
list
=
this
.
fooList
;
const
{
fid
,
first_branch
,
sid
,
second_branch
,
fs_id
,
first_sub_branch
,
ss_id
,
second_sub_branch
,
}
=
selfOutLet
;
if
(
[
eLevel
.
firstLevel_branch
,
eLevel
.
secondary_branch
,
eLevel
.
firstLevel_sub_branch
,
eLevel
.
secondary_sub_branch
,
].
includes
(
level
)
)
{
list
[
0
].
value
=
fid
;
list
[
0
].
options
=
[{
ID
:
fid
,
Name
:
first_branch
}];
list
[
0
].
disable
=
true
;
}
if
(
[
eLevel
.
secondary_branch
,
eLevel
.
firstLevel_sub_branch
,
eLevel
.
secondary_sub_branch
,
].
includes
(
level
)
)
{
list
[
1
].
value
=
sid
;
list
[
1
].
options
=
[{
ID
:
sid
,
Name
:
second_branch
}];
list
[
1
].
disable
=
true
;
}
if
(
[
eLevel
.
firstLevel_sub_branch
,
eLevel
.
secondary_sub_branch
].
includes
(
level
)
)
{
list
[
2
].
value
=
fs_id
;
list
[
2
].
options
=
[{
ID
:
fs_id
,
Name
:
first_sub_branch
}];
list
[
2
].
disable
=
true
;
}
if
([
eLevel
.
secondary_sub_branch
].
includes
(
level
))
{
list
[
3
].
value
=
ss_id
;
list
[
3
].
options
=
[{
ID
:
ss_id
,
Name
:
second_sub_branch
}];
list
[
3
].
disable
=
true
;
}
return
list
;
},
popupScroll1
(
e
:
Event
)
{
let
h
=
e
.
target
as
HTMLElement
;
if
(
h
.
scrollHeight
-
h
.
scrollTop
<=
h
.
clientHeight
)
{
message
.
info
(
"臣妾做不到啊"
);
}
},
popupScroll2
(
e
:
Event
)
{
let
h
=
e
.
target
as
HTMLElement
;
if
(
h
.
scrollHeight
-
h
.
scrollTop
<=
h
.
clientHeight
)
{
message
.
info
(
"臣妾做不到啊"
);
}
},
popupScroll3
(
e
:
Event
)
{
let
h
=
e
.
target
as
HTMLElement
;
if
(
h
.
scrollHeight
-
h
.
scrollTop
<=
h
.
clientHeight
)
{
message
.
info
(
"臣妾做不到啊"
);
}
},
popupScroll4
(
e
:
Event
)
{
let
h
=
e
.
target
as
HTMLElement
;
if
(
h
.
scrollHeight
-
h
.
scrollTop
<=
h
.
clientHeight
)
{
message
.
info
(
"臣妾做不到啊"
);
}
},
},
});
</
script
>
<
style
scoped
lang=
"less"
>
.header-select {
.header-select-item {
width: 200px;
}
}
</
style
>
\ No newline at end of file
src/components/UserManage/addNormalManagerModal.vue
View file @
26dba2cd
<
template
>
<
template
>
<!-- 新增弹窗 -->
<!-- 新增弹窗 -->
<a-modal
v-model=
"show"
title=
"新增"
:centered=
"true"
footer=
""
:level=
"level"
>
<a-modal
<a-form-model
:model=
"form"
:label-col=
"
{span: 8}" :wrapper-col="{span: 14}" ref="addForm" :rules="addrules">
v-model=
"show"
<a-form-model-item
label=
"名称"
:required=
"true"
prop=
"name"
>
:title=
"title"
<a-input
v-model=
"form.name"
placeholder=
"请输入名称"
style=
"width: 200px"
/>
:centered=
"true"
footer=
""
:level=
"level"
>
<a-form-model
:model=
"form"
:label-col=
"
{ span: 8 }"
:wrapper-col="{ span: 14 }"
ref="addForm"
:rules="formRules"
>
<a-form-model-item
label=
"名称"
v-show=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
name
}}
</div>
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"手机号"
prop=
"tel"
>
<a-form-model-item
<a-input
v-model=
"form.tel"
placeholder=
"请输入手机号"
style=
"width: 200px"
/>
label=
"UID"
v-show=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
uid
}}
</div>
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"初始密码"
prop=
"password"
>
<a-form-model-item
<a-input
v-model=
"form.password"
style=
"width: 200px"
/>
label=
"手机号"
v-show=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
phone
}}
</div>
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"岗位角色"
>
<a-form-model-item
<span
class=
" text-sm text-black mr-2"
>
sds
</span>
label=
"名称"
<a-switch
@
change=
"onChange"
/>
:required=
"true"
<span
class=
" ml-2"
>
可对同级管理员进行管理调配
</span>
prop=
"name"
v-show=
"modalMode === eAddManagerModalMode.create"
>
<a-input
v-model=
"form.name"
placeholder=
"请输入名称"
style=
"width: 200px"
/>
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"用户所在机构层级"
>
<a-form-model-item
<span
class=
" text-sm text-black"
>
scs
</span>
label=
"手机号"
prop=
"tel"
v-show=
"modalMode === eAddManagerModalMode.create"
>
<a-input
v-model=
"form.tel"
placeholder=
"请输入手机号"
style=
"width: 200px"
/>
</a-form-model-item>
</a-form-model-item>
<!-- 不可选层级 -->
<a-form-model-item
<a-form-model-item
:label=
"'所属'+label[i-1]"
v-for=
"i in level"
:key=
"i.id"
>
label=
"初始密码"
<span
class=
" text-sm text-black"
>
fjhb
</span>
prop=
"password"
v-show=
"modalMode === eAddManagerModalMode.create"
>
<a-input
v-model=
"form.password"
style=
"width: 200px"
/>
</a-form-model-item>
</a-form-model-item>
<!-- 可选层级 -->
<a-form-model-item
<a-form-model-item
:label=
"'所属'+labelList[n-1]"
v-for=
"n in level_org-level"
:key=
"n.id"
>
label=
"岗位角色"
<a-select
:placeholder=
"'选择所属'+labelList[n-1]"
style=
"width: 200px; margin-right:10px;"
>
v-show=
"modalMode === eAddManagerModalMode.create"
<a-select-option
v-for=
"bank in bankList"
:key=
"bank"
>
{{
bank
}}
</a-select-option>
>
<span
class=
"text-sm text-black mr-2"
>
{{
theRole
}}
</span>
<!--
<a-switch
@
change=
"onChange"
v-show=
"isManager"
/>
-->
<!--
<span
class=
"ml-2"
v-show=
"isManager"
>
可对同级管理员进行管理调配
</span>
-->
</a-form-model-item>
<a-form-model-item
label=
"用户所在机构层级"
>
<span
class=
"text-sm text-black"
>
{{
searchLevel
|
filterLevel
}}
</span>
</a-form-model-item>
<a-form-model-item
label=
"现属一级分行"
v-show=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
fb
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"现属二级分行"
v-show=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
sb
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"现属一级支行"
v-show=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
fsb
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"现属二级支行"
v-show=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
ssb
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"现地址"
v-show=
"modalMode === eAddManagerModalMode.edit"
>
<div>
{{
personalMsg
.
branchDetailMsg
&&
personalMsg
.
branchDetailMsg
.
address
}}
</div>
</a-form-model-item>
<a-form-model-item
label=
"选择调配级别"
v-show=
"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-select>
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"新地址"
:required=
"true"
prop=
"location"
>
<HeaderSelect
<a-input
v-model=
"form.location"
placeholder=
"请输入新地址"
style=
"width: 200px"
/>
ref=
"headerSelect"
:setFooList=
"setFooList"
:fooList=
"fooList"
:level=
"level"
:userLevel=
"searchLevel"
/>
<a-form-model-item
label=
"新地址"
prop=
"location"
>
<a-input
class=
"mx-3 my-2"
:disabled=
"true"
v-model=
"form.location"
style=
"width: 200px"
/>
</a-form-model-item>
</a-form-model-item>
</a-form-model>
</a-form-model>
<a-form-model-item
:wrapper-col=
"
{ span: 14, offset: 4 }">
<a-form-model-item
:wrapper-col=
"
{ span: 14, offset: 4 }">
<a-button
type=
"primary"
@
click=
"onConfirm"
>
发布
</a-button>
<a-button
type=
"primary"
@
click=
"onConfirm"
>
发布
</a-button>
<a-button
style=
"margin-left: 10px;"
@
click=
"show=
false"
>
取消
</a-button>
<a-button
style=
"margin-left: 10px"
@
click=
"show =
false"
>
取消
</a-button>
</a-form-model-item>
</a-form-model-item>
</a-modal>
</a-modal>
</
template
>
</
template
>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
import
Vue
from
'vue'
import
Vue
,
{
PropType
}
from
"vue"
;
import
{
PropType
}
from
'vue'
import
{
FormModel
,
Switch
}
from
"ant-design-vue"
;
import
{
FormModel
,
Switch
}
from
'ant-design-vue'
import
{
eLevel
}
from
"@/types/level"
;
import
{
eLevel
}
from
'@/types/level'
import
{
LEVE_ORG
}
from
"@/views/Root/OutletManagement/const"
;
import
{
LEVE_ORG
}
from
'@/views/Root/OutletManagement/const'
import
{
mapMutations
,
mapState
}
from
"vuex"
;
Vue
.
use
(
Switch
)
import
{
eAddManagerModalMode
,
eTypeOfOperatedObject
,
iBranchDetailMsg
,
}
from
"@/store/UserManagement/types"
;
import
HeaderSelect
from
"@/components/HeaderSelect2/index.vue"
;
import
{
fooList
}
from
"@/components/HeaderSelect2/const"
;
import
StaffService
from
"@/service/StaffService"
;
import
AddressService
from
"@/service/AddressService"
;
Vue
.
use
(
Switch
);
export
default
Vue
.
extend
({
export
default
Vue
.
extend
({
computed
:{
components
:
{
bankList
():
Array
<
string
>
{
HeaderSelect
,
return
[
'ada'
,
'ads'
,
'ds'
,
'dsa'
]
},
computed
:
{
formRules
()
{
const
rules
:
any
=
{
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
)
{
delete
rules
.
name
;
delete
rules
.
tel
;
}
console
.
log
(
rules
);
return
rules
;
},
},
labelList
():
Array
<
String
>
{
levelOptions
()
{
return
this
.
label
.
slice
(
this
.
level
,
this
.
label
.
length
)
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
);
},
},
level_org
():
Number
{
title
():
string
|
undefined
{
return
LEVE_ORG
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
}
return
"新增"
;
},
}
else
if
(
this
.
modalMode
===
eAddManagerModalMode
.
edit
)
{
props
:{
return
"调配"
;
label
:{
}
type
:
Array
as
PropType
<
String
[]
>
,
},
default
(){
theRole
():
string
|
undefined
{
return
[
'一级分行'
,
'二级分行'
,
'一级支行'
,
'二级支行'
]
if
(
this
.
typeOfOperatedObject
===
eTypeOfOperatedObject
.
manager
)
{
return
"管理员"
;
}
else
if
(
this
.
typeOfOperatedObject
===
eTypeOfOperatedObject
.
clientManager
)
{
return
"客户经理"
;
}
}
},
},
level
:{
isManager
():
boolean
{
type
:
Number
as
PropType
<
eLevel
>
,
return
this
.
typeOfOperatedObject
===
eTypeOfOperatedObject
.
manager
;
default
:
0
},
}
show
:
{
set
(
v
:
boolean
)
{
this
.
setModal
(
v
);
},
get
():
boolean
{
return
this
.
modalShow
;
},
},
bankList
():
string
[]
{
return
[
"ada"
,
"ads"
,
"ds"
,
"dsa"
];
},
labelList
():
string
[]
{
return
this
.
label
.
slice
(
this
.
level
,
this
.
label
.
length
);
},
level_org
():
number
{
return
LEVE_ORG
;
},
...
mapState
(
"UserManagement"
,
{
modalShow
:
"modalShow"
,
modalMode
:
"modalMode"
,
searchLevel
:
"searchLevel"
,
personalMsg
:
"personalMsg"
,
branchDetailMsg
:
"branchDetailMsg"
,
typeOfOperatedObject
:
"typeOfOperatedObject"
,
}),
},
},
data
(){
props
:
{
const
addrules
=
{
label
:
{
name
:
[
type
:
Array
as
PropType
<
string
[]
>
,
{
required
:
true
,
message
:
'请输入名称'
,
trigger
:
'blur'
},
default
()
{
],
return
[
"一级分行"
,
"二级分行"
,
"一级支行"
,
"二级支行"
];
tel
:
[
{
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
},
],
location
:
[
{
required
:
true
,
message
:
'请输入详细地址'
,
trigger
:
'blur'
},
]
}
return
{
show
:
false
,
addrules
,
form
:{
name
:
''
,
tel
:
''
,
password
:
'abc123456'
,
location
:
''
,
privilege
:
false
},
},
}
},
level
:
{
type
:
Number
as
PropType
<
eLevel
>
,
default
:
0
,
},
},
data
()
{
return
{
eAddManagerModalMode
,
fooList
,
form
:
{
name
:
""
,
tel
:
""
,
password
:
"abc123456"
,
location
:
""
,
privilege
:
false
,
fooProp0
:
undefined
as
number
|
undefined
,
fooProp1
:
undefined
as
number
|
undefined
,
fooProp2
:
undefined
as
number
|
undefined
,
fooProp3
:
undefined
as
number
|
undefined
,
level
:
eLevel
.
firstLevel_branch
,
},
outletName
:
""
,
};
},
},
methods
:{
methods
:
{
showModal
()
{
handleLevelChange
(
value
:
any
)
{
this
.
show
=
true
this
.
form
.
level
=
value
;
},
},
onChange
(
checked
:
boolean
){
async
initFooList
()
{
this
.
form
.
privilege
=
checked
const
list
=
this
.
fooList
.
map
((
i
)
=>
{
return
{
...
i
,
disable
:
false
,
value
:
undefined
,
options
:
[],
};
});
this
.
fooList
=
list
;
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
;
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
;
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
;
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
;
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
];
await
this
.
fetchNextOptions
();
},
async
fetchNextOptions
()
{
const
fooIndex
=
this
.
fooList
.
findIndex
(
(
item
)
=>
item
.
value
===
undefined
);
if
(
fooIndex
===
-
1
)
{
}
else
{
if
(
fooIndex
===
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
:
fooIndex
+
1
,
page
:
1
,
page_size
:
10000
,
parent_id
:
this
.
fooList
[
fooIndex
-
1
].
value
,
});
if
(
ret
.
code
===
200
)
{
this
.
fooList
[
fooIndex
].
options
=
ret
.
data
.
item
;
}
}
}
},
setFooList
(
v
:
any
[])
{
this
.
fooList
=
[...
v
];
},
...
mapMutations
(
"UserManagement"
,
{
save
:
"save"
,
}),
showModal
()
{
this
.
setModal
(
true
);
},
setModal
(
show
:
boolean
)
{
this
.
save
({
modalShow
:
show
,
});
},
},
onConfirm
(){
onChange
(
checked
:
boolean
)
{
(
this
.
$refs
.
addForm
as
FormModel
).
validate
(
valid
=>
{
this
.
form
.
privilege
=
checked
;
},
onConfirm
()
{
(
this
.
$refs
.
addForm
as
FormModel
).
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
show
=
false
if
(
this
.
modalMode
===
eAddManagerModalMode
.
create
)
{
StaffService
.
getInstance
()
.
addNextLevel
({
attr
:
{
add_same_level
:
false
,
},
level
:
this
.
searchLevel
,
name
:
this
.
form
.
name
,
password
:
this
.
form
.
password
,
phone
:
this
.
form
.
tel
,
second_sub_branch
:
this
.
form
.
fooProp3
as
number
,
})
.
then
(()
=>
{
this
.
save
({
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
{
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
return
false
;
}
}
})
});
},
async
handleOutLetName
(
newV
:
string
)
{
if
(
newV
!==
""
)
{
const
ret
=
await
AddressService
.
getInstance
().
getOutlet
({
outlet_name
:
newV
,
});
if
(
ret
.
code
===
200
)
{
this
.
form
.
location
=
ret
.
data
.
location
;
}
}
else
{
this
.
form
.
location
=
""
;
}
},
},
watch
:
{
show
(
newV
)
{
if
(
newV
===
true
)
{
this
.
initFooList
();
}
else
{
const
form
=
this
.
$refs
.
addForm
as
FormModel
;
form
.
resetFields
();
}
},
},
}
fooList
(
newV
:
typeof
fooList
,
oldV
:
typeof
fooList
)
{
})
newV
.
forEach
((
item
,
index
)
=>
{
(
this
.
form
as
any
)[
`fooProp
${
index
}
`
]
=
item
.
value
;
});
if
(
newV
[
3
].
value
!==
undefined
)
{
this
.
outletName
=
newV
[
3
].
options
.
find
((
i
)
=>
i
.
ID
===
newV
[
3
].
value
)?.
Name
||
""
;
this
.
handleOutLetName
(
this
.
outletName
);
}
else
{
this
.
outletName
=
""
;
}
},
},
});
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.ant-form-item
{
.ant-form-item
{
margin-bottom
:
5px
;
margin-bottom
:
5px
;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/components/UserManage/topBar.vue
View file @
26dba2cd
...
@@ -58,6 +58,8 @@ import { eLevel } from '@/types/level'
...
@@ -58,6 +58,8 @@ import { eLevel } from '@/types/level'
import
{
addUser
}
from
'./const'
import
{
addUser
}
from
'./const'
import
{
mapActions
,
mapMutations
,
mapState
}
from
'vuex'
import
{
mapActions
,
mapMutations
,
mapState
}
from
'vuex'
import
{
nextTick
}
from
'vue/types/umd'
import
{
nextTick
}
from
'vue/types/umd'
import
{
eAddManagerModalMode
}
from
'@/store/UserManagement/types'
import
{
eTypeOfOperatedObject
,
iUserManagementState
}
from
"@/store/UserManagement/types"
export
default
Vue
.
extend
({
export
default
Vue
.
extend
({
components
:
{
addNormalManagerModal
,
addSuperManagerModal
,
timerange
},
components
:
{
addNormalManagerModal
,
addSuperManagerModal
,
timerange
},
...
@@ -135,6 +137,23 @@ export default Vue.extend({
...
@@ -135,6 +137,23 @@ export default Vue.extend({
})
})
},
},
showModal
()
{
showModal
()
{
const
rankVal
=
(
JSON
.
parse
(
this
.
$route
.
query
.
rankVal
as
string
))
as
{
name
:
string
,
value
:
number
}[];
this
.
$store
.
commit
(
'UserManagement/save'
,
{
modalMode
:
eAddManagerModalMode
.
create
,
// create表示新增
typeOfOperatedObject
:
eTypeOfOperatedObject
.
manager
,
// !!!!要改 表示管理员还是客服经理
searchLevel
:
this
.
level
,
// 当前搜索的层级 如果展示一级分行页面 则是 eLevel.firstLevel_branch
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
()
;(
this
.
$refs
.
addrModal
as
any
).
showModal
()
},
},
},
},
...
...
src/components/UserManage/userTable.vue
View file @
26dba2cd
<
template
>
<
template
>
<div
:columns=
"columns"
:role=
"role"
:dataSource=
"dataSource"
>
<div
:columns=
"columns"
:role=
"role"
>
<!-- 调配弹窗 -->
<!-- 调配弹窗 -->
<deplot-modal
ref=
"deployModal"
:level=
"level"
/>
<deplot-modal
ref=
"deployModal"
:level=
"level"
/>
<!-- 信息列表 -->
<!-- 信息列表 -->
<a-table
:columns=
"columns"
:data-source=
"dataSource"
style=
" text-align: center; margin-top:40px;"
bordered
>
<a-table
:columns=
"columns"
:data-source=
"dataSource"
style=
" text-align: center; margin-top:40px;"
bordered
:pagination=
"pagination"
@
change=
"changeHandle"
>
<span
slot=
"created_at"
slot-scope=
"text,record"
>
{{
record
.
created_at
|
formatTime
}}
</span>
<span
slot=
"level"
slot-scope=
"text,record"
>
{{
record
.
level
|
filterLevel
}}
</span>
<span
slot=
"status"
slot-scope=
"text,record"
>
{{
record
.
status
|
filterStatus
}}
</span>
<!-- 二级分行管理员 -->
<!-- 二级分行管理员 -->
<span
slot=
"secondaryManager"
slot-scope=
"text,record"
>
<a
@
click=
"getSecondaryManageList(record.
key
)"
>
查看
</a>
</span>
<span
slot=
"secondaryManager"
slot-scope=
"text,record"
>
<a
@
click=
"getSecondaryManageList(record.
level, record.uuid, 1
)"
>
查看
</a>
</span>
<!-- 一级支行管理员 -->
<!-- 一级支行管理员 -->
<span
slot=
"firstSubManager"
slot-scope=
"text,record"
>
<a
@
click=
"getfirstSubManageList(record.
key
)"
>
查看
</a>
</span>
<span
slot=
"firstSubManager"
slot-scope=
"text,record"
>
<a
@
click=
"getfirstSubManageList(record.
level, record.uuid, 1
)"
>
查看
</a>
</span>
<!-- 一级支行客户经理 -->
<!-- 一级支行客户经理
(无)
-->
<span
slot=
"firstSubClientManager"
slot-scope=
"text,record"
>
<a
@
click=
"getFirstSubClientManagerList(record.
key
)"
>
查看
</a>
</span>
<span
slot=
"firstSubClientManager"
slot-scope=
"text,record"
>
<a
@
click=
"getFirstSubClientManagerList(record.
level, record.uuid
)"
>
查看
</a>
</span>
<!-- 一级支行客户 -->
<!-- 一级支行客户 -->
<span
slot=
"firstSubClient"
slot-scope=
"text,record"
>
<a
@
click=
"getFirstSubClientList(record.
key
)"
>
查看
</a>
</span>
<span
slot=
"firstSubClient"
slot-scope=
"text,record"
>
<a
@
click=
"getFirstSubClientList(record.
uuid
)"
>
查看
</a>
</span>
<!-- 二级支行管理员 -->
<!-- 二级支行管理员 -->
<span
slot=
"secondarySubManager"
slot-scope=
"text,record"
>
<a
@
click=
"getSecondarySubManagerList(record.
key
)"
>
查看
</a>
</span>
<span
slot=
"secondarySubManager"
slot-scope=
"text,record"
>
<a
@
click=
"getSecondarySubManagerList(record.
level, record.uuid, 1
)"
>
查看
</a>
</span>
<!-- 二级支行客户经理 -->
<!-- 二级支行客户经理 -->
<span
slot=
"secondarySubClientManager"
slot-scope=
"text,record"
>
<a
@
click=
"getSecondarySubClientManageList(record.
key
)"
>
查看
</a>
</span>
<span
slot=
"secondarySubClientManager"
slot-scope=
"text,record"
>
<a
@
click=
"getSecondarySubClientManageList(record.
level, record.uuid
)"
>
查看
</a>
</span>
<!-- 二级支行客户 -->
<!-- 二级支行客户 -->
<span
slot=
"secondarySubClient"
slot-scope=
"text,record"
>
<a
@
click=
"getSecondarySubClientList(record.
key
)"
>
查看
</a>
</span>
<span
slot=
"secondarySubClient"
slot-scope=
"text,record"
>
<a
@
click=
"getSecondarySubClientList(record.
uuid
)"
>
查看
</a>
</span>
<!-- 操作 -->
<!-- 操作 -->
<p
slot=
"action"
slot-scope=
"text,record"
>
<p
slot=
"action"
slot-scope=
"text,record"
>
<
span
v-if=
"record.state!='已禁用'"
>
<
a
@
click=
"deploy(record)"
>
调配
</a
>
<a
@
click=
"deploy(record)"
>
调配
</a
>
<span
v-if=
"record.status===tableStatus.disable_notOnPosition || record.status===tableStatus.disable_noPosition"
>
<a-divider
type=
"vertical"
/>
<a-divider
type=
"vertical"
/>
<a
@
click=
"() => enable(record.
key
)"
>
启用
</a>
<a
@
click=
"() => enable(record.
uuid
)"
>
启用
</a>
</span>
</span>
<span
v-else
>
<span
v-if=
"record.status===tableStatus.enable_notOnPosition || record.status===tableStatus.enable_onPosition"
>
<a
@
click=
"disable(record.key)"
>
禁用
</a>
<a-divider
type=
"vertical"
/>
<a
@
click=
"disable(record.uuid)"
>
禁用
</a>
</span>
</span>
<span
v-if=
"record.stat
e==('启用中/在岗')
"
>
<span
v-if=
"record.stat
us===tableStatus.disable_noPosition || record.status === tableStatus.enable_onPosition
"
>
<a-divider
type=
"vertical"
/>
<a-divider
type=
"vertical"
/>
<a
@
c
onfirm=
"() => offJob(record.key
)"
>
不在岗
</a>
<a
@
c
lick=
"offJob(record.uuid
)"
>
不在岗
</a>
</span>
</span>
<span
v-
else-if=
"record.state==('启用中/不在岗')
"
>
<span
v-
if=
"record.status===tableStatus.disable_notOnPosition || record.status === tableStatus.enable_notOnPosition
"
>
<a-divider
type=
"vertical"
/>
<a-divider
type=
"vertical"
/>
<a
@
click=
"inJob(record.
key
)"
>
在岗
</a>
<a
@
click=
"inJob(record.
uuid
)"
>
在岗
</a>
</span>
</span>
</p>
</p>
</a-table>
</a-table>
...
@@ -55,15 +72,37 @@
...
@@ -55,15 +72,37 @@
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
import
Vue
,
{
PropType
}
from
"vue"
import
Vue
,
{
PropType
}
from
"vue"
import
{
firstLevelManager
}
from
'@/mock/index'
import
{
firstLevelManager
}
from
'@/mock/index'
import
{
staff
}
from
'@/types/staff'
import
{
staff
,
iStaffQueryResItem
}
from
'@/types/staff'
import
{
eRole
}
from
"@/types/role"
import
{
eUserStatusAction
,
eUserStatus
}
from
'@/types/user'
import
{
eRole
,
eNewRoleRelatedToBackEnd
}
from
"@/types/role"
import
{
eLevel
}
from
"@/types/level"
import
{
eLevel
}
from
"@/types/level"
import
{
getColumns
}
from
'@/const/columns/userManagerCol'
import
{
getColumns
}
from
'@/const/columns/userManagerCol'
import
{
userModal
}
from
'./const'
import
{
userModal
}
from
'./const'
import
deplotModal
from
"@/components/UserManage/deployModal.vue"
import
deplotModal
from
"@/components/UserManage/deployModal.vue"
import
Filter
from
'@/filter/index'
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
()
export
default
Vue
.
extend
({
export
default
Vue
.
extend
({
// mixins: [Mixin],
components
:{
deplotModal
},
components
:{
deplotModal
},
filters
:
{
filterStatus
(
val
:
number
)
{
return
Filter
.
filterUserStatus
(
val
)
},
formatTime
(
val
:
number
)
{
return
Filter
.
formatDate
(
val
)
},
filterLevel
(
val
:
number
)
{
return
Filter
.
filterLevel
(
val
)
}
},
props
:{
props
:{
level
:{
level
:{
type
:
Number
as
PropType
<
eLevel
>
,
type
:
Number
as
PropType
<
eLevel
>
,
...
@@ -73,16 +112,15 @@ export default Vue.extend({
...
@@ -73,16 +112,15 @@ export default Vue.extend({
type
:
Number
as
PropType
<
eRole
>
,
type
:
Number
as
PropType
<
eRole
>
,
default
:
0
default
:
0
},
},
dataSource
:{
type
:
Array
as
PropType
<
staff
[]
>
,
}
},
},
data
(){
data
(){
return
{
return
{
show
:
false
,
show
:
false
,
title
:
''
,
title
:
''
,
text
:
''
,
text
:
''
,
type
:
userModal
.
enable
type
:
userModal
.
enable
,
id
:
''
,
params
:
{}
as
any
}
}
},
},
computed
:{
computed
:{
...
@@ -91,77 +129,212 @@ export default Vue.extend({
...
@@ -91,77 +129,212 @@ export default Vue.extend({
},
},
columns
(){
columns
(){
return
getColumns
(
this
.
role
)
return
getColumns
(
this
.
role
)
},
pagination
()
{
return
{
current
:
this
.
$store
.
state
.
platformUserManagement
.
page
,
defaultPageSize
:
this
.
$store
.
state
.
platformUserManagement
.
page_size
,
total
:
this
.
$store
.
state
.
platformUserManagement
.
total
}
},
dataSource
()
{
return
this
.
$store
.
state
.
platformUserManagement
.
list
},
tableStatus
()
{
return
eUserStatus
}
}
},
},
methods
:{
methods
:{
deploy
(
record
:
staff
){
...
mapMutations
(
'platformUserManagement'
,
{
(
this
.
$refs
.
deployModal
as
any
).
showModal
()
platformSave
:
'save'
,
}),
...
mapActions
(
'platformUserManagement'
,
{
platformQuery
:
'queryUser'
,
platform
:
'queryNext'
}),
getRouteQuery
()
{
if
(
this
.
$route
.
query
.
rankVal
)
{
const
keys
=
JSON
.
parse
(
this
.
$route
.
query
.
rankVal
as
string
)
const
level
=
this
.
$route
.
query
.
level
const
uuid
=
this
.
$route
.
query
.
uuid
const
role
=
this
.
$route
.
query
.
role
this
.
params
=
{
firstBranch
:
+
keys
[
0
]?.
value
||
undefined
,
firstSubBranch
:
+
keys
[
2
]?.
value
||
undefined
,
secondBranch
:
+
keys
[
1
]?.
value
||
undefined
,
secondSubBranch
:
+
keys
[
3
]?.
value
||
undefined
,
level
,
uuid
,
role
}
}
else
{
this
.
params
=
{
location
:
this
.
$route
.
query
.
address
}
}
},
getLists
()
{
this
.
platformSave
({
...
this
.
params
})
const
uuid
=
this
.
$route
.
query
.
uuid
if
(
uuid
)
{
this
.
platform
()
}
else
{
this
.
platformQuery
()
}
},
changeHandle
(
e
:
any
)
{
this
.
platformSave
({
page
:
e
.
current
,
})
this
.
platformQuery
()
},
deploy
(
record
:
iStaffQueryResItem
){
const
rankVal
=
(
JSON
.
parse
(
this
.
$route
.
query
.
rankVal
as
string
))
as
{
name
:
string
,
value
:
number
}[];
this
.
$store
.
commit
(
'UserManagement/save'
,
{
modalMode
:
eAddManagerModalMode
.
edit
,
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
,
},
personalMsg
:
{
// 被调配人员信息
name
:
record
.
user_name
,
uid
:
record
.
uuid
,
phone
:
record
.
phone
,
branchDetailMsg
:
{
fb
:
record
.
first_branch
,
fb_id
:
1
,
// 后端没有传ID,但是任意设置不影响,制作展示,不做接口数据回传
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
){
enable
(
key
:
string
){
this
.
type
=
userModal
.
enable
this
.
type
=
userModal
.
enable
this
.
id
=
key
this
.
title
=
'启用用户'
this
.
title
=
'启用用户'
this
.
text
=
'确定启用该用户?'
this
.
text
=
'确定启用该用户?'
this
.
show
=
true
this
.
show
=
true
},
},
disable
(
key
:
string
){
disable
(
key
:
string
){
this
.
type
=
userModal
.
disable
this
.
type
=
userModal
.
disable
this
.
id
=
key
this
.
title
=
'禁用用户'
this
.
title
=
'禁用用户'
this
.
text
=
'确定禁用该用户?'
this
.
text
=
'确定禁用该用户?'
this
.
show
=
true
this
.
show
=
true
},
},
inJob
(
key
:
string
){
inJob
(
key
:
string
){
this
.
type
=
userModal
.
enable
this
.
type
=
userModal
.
enable
this
.
id
=
key
this
.
title
=
'设置在岗'
this
.
title
=
'设置在岗'
this
.
text
=
'确定将该用户设置为在岗?'
this
.
text
=
'确定将该用户设置为在岗?'
this
.
show
=
true
this
.
show
=
true
},
},
offJob
(
key
:
string
){
offJob
(
key
:
string
){
this
.
type
=
userModal
.
enable
this
.
type
=
userModal
.
enable
this
.
id
=
key
this
.
title
=
'设置不在岗'
this
.
title
=
'设置不在岗'
this
.
text
=
'确定将该用户设置为在岗?'
this
.
text
=
'确定将该用户设置为在岗?'
this
.
show
=
true
this
.
show
=
true
},
},
modifyStauts
(
status
:
number
)
{
staff
.
modifyStaffStatus
({
status
:
status
,
uuid
:
this
.
id
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
message
.
success
(
'操作成功'
)
this
.
getLists
()
}
})
},
handleOk
(
record
:
any
){
handleOk
(
record
:
any
){
if
(
this
.
type
==
userModal
.
enable
){
if
(
this
.
type
==
userModal
.
enable
){
this
.
modifyStauts
(
eUserStatusAction
.
enable
)
}
else
if
(
this
.
type
==
userModal
.
disable
){
}
else
if
(
this
.
type
==
userModal
.
disable
){
this
.
modifyStauts
(
eUserStatusAction
.
disable
)
}
else
if
(
this
.
type
==
userModal
.
inJob
){
}
else
if
(
this
.
type
==
userModal
.
inJob
){
this
.
modifyStauts
(
eUserStatusAction
.
onPosition
)
}
else
if
(
this
.
type
==
userModal
.
offJob
){
}
else
if
(
this
.
type
==
userModal
.
offJob
){
this
.
modifyStauts
(
eUserStatusAction
.
notOnPosition
)
}
}
this
.
show
=
false
this
.
show
=
false
},
},
// 二级分行管理员
// 二级分行管理员
getSecondaryManageList
(
key
:
string
){
getSecondaryManageList
(
key
:
string
,
uuid
:
string
,
count
:
number
){
this
.
$router
.
push
({
name
:
'secondary'
,
query
:{
key
}})
const
role
=
count
===
1
?
eNewRoleRelatedToBackEnd
.
Management
:
eNewRoleRelatedToBackEnd
.
ACM
this
.
platformSave
({
page
:
1
})
this
.
$router
.
push
({
name
:
'secondary'
,
query
:{
level
:
key
,
rankVal
:
this
.
$route
.
query
.
rankVal
,
uuid
,
role
}})
},
},
// 一级支行管理员
// 一级支行管理员
getfirstSubManageList
(
key
:
string
){
getfirstSubManageList
(
key
:
string
,
uuid
:
string
,
count
:
number
){
this
.
$router
.
push
({
name
:
'firstSub'
,
query
:{
key
}})
const
role
=
count
===
1
?
eNewRoleRelatedToBackEnd
.
Management
:
eNewRoleRelatedToBackEnd
.
ACM
console
.
log
(
key
)
this
.
platformSave
({
page
:
1
})
this
.
$router
.
push
({
name
:
'firstSub'
,
query
:{
level
:
key
,
rankVal
:
this
.
$route
.
query
.
rankVal
,
uuid
,
role
}})
},
},
// 一级支行客户经理
// 一级支行客户经理
getFirstSubClientManagerList
(
key
:
string
){
getFirstSubClientManagerList
(
key
:
string
,
uuid
:
string
,
count
:
number
){
this
.
$router
.
push
({
name
:
'firstSubClientManager'
,
query
:{
key
}})
const
role
=
count
===
1
?
eNewRoleRelatedToBackEnd
.
Management
:
eNewRoleRelatedToBackEnd
.
ACM
this
.
platformSave
({
page
:
1
})
this
.
$router
.
push
({
name
:
'firstSubClientManager'
,
query
:{
level
:
key
,
rankVal
:
this
.
$route
.
query
.
rankVal
,
uuid
,
role
}})
},
},
// 一级支行客户
// 一级支行客户
getFirstSubClientList
(
key
:
string
){
getFirstSubClientList
(
uuid
:
string
){
this
.
$router
.
push
({
name
:
'firstSubClient'
,
query
:{
key
}})
this
.
platformSave
({
page
:
1
})
this
.
$router
.
push
({
name
:
'firstSubClient'
,
query
:{
uuid
}})
},
},
// 二级支行管理员
// 二级支行管理员
getSecondarySubManagerList
(
key
:
string
){
getSecondarySubManagerList
(
key
:
string
,
uuid
:
string
,
count
:
number
){
this
.
$router
.
push
({
name
:
'secondarySub'
,
query
:{
key
}})
const
role
=
count
===
1
?
eNewRoleRelatedToBackEnd
.
Management
:
eNewRoleRelatedToBackEnd
.
ACM
this
.
platformSave
({
page
:
1
})
this
.
$router
.
push
({
name
:
'secondarySub'
,
query
:{
level
:
key
,
rankVal
:
this
.
$route
.
query
.
rankVal
,
uuid
,
role
}})
},
},
// 二级支行客户经理
// 二级支行客户经理
getSecondarySubClientManageList
(
key
:
string
){
getSecondarySubClientManageList
(
key
:
string
,
uuid
:
string
,
count
:
number
){
this
.
$router
.
push
({
name
:
'secondarySubClientManager'
,
query
:{
key
}})
const
role
=
count
===
1
?
eNewRoleRelatedToBackEnd
.
Management
:
eNewRoleRelatedToBackEnd
.
ACM
this
.
platformSave
({
page
:
1
})
this
.
$router
.
push
({
name
:
'secondarySubClientManager'
,
query
:{
level
:
key
,
rankVal
:
this
.
$route
.
query
.
rankVal
,
uuid
,
role
}})
},
},
// 二级支行客户
// 二级支行客户
getSecondarySubClientList
(
key
:
string
){
getSecondarySubClientList
(
uuid
:
string
){
this
.
$router
.
push
({
name
:
'secondarySubClient'
,
query
:{
key
}})
this
.
platformSave
({
page
:
1
})
this
.
$router
.
push
({
name
:
'secondarySubClient'
,
query
:{
uuid
}})
},
},
},
created
()
{
this
.
getRouteQuery
()
this
.
getLists
()
}
}
})
})
</
script
>
</
script
>
...
...
src/components/productManage/productTable.vue
View file @
26dba2cd
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
<span
slot=
"name"
slot-scope=
"text"
>
<span
slot=
"name"
slot-scope=
"text"
>
{{ text.inst_name }}-{{ text.product_name }}
{{ text.inst_name }}-{{ text.product_name }}
</span>
</span>
<
template
#
product
_type=
"text"
>
<
template
#
loan
_type=
"text"
>
{{
text
|
filterLoanType
}}
{{
text
|
filterLoanType
}}
</
template
>
</
template
>
<span
slot=
"date"
slot-scope=
"text"
>
<span
slot=
"date"
slot-scope=
"text"
>
...
@@ -53,12 +53,6 @@
...
@@ -53,12 +53,6 @@
<div
v-if=
"record.product_status == eProductStatus.unpublished"
>
<div
v-if=
"record.product_status == eProductStatus.unpublished"
>
<a
@
click=
"toAdd(record)"
>
上架
</a>
<a
@
click=
"toAdd(record)"
>
上架
</a>
<a-divider
type=
"vertical"
/>
<a-divider
type=
"vertical"
/>
<a
@
click=
"toDelete(record)"
>
删除
</a>
</div>
<!-- 上架状态 -->
<div
v-else
>
<a
@
click=
"toRemove(record)"
>
下架
</a>
<a-divider
type=
"vertical"
/>
<a
<a
@
click=
"
@
click=
"
$router.push({
$router.push({
...
@@ -69,6 +63,12 @@
...
@@ -69,6 +63,12 @@
>
编辑
</a
>
编辑
</a
>
>
<a-divider
type=
"vertical"
/>
<a-divider
type=
"vertical"
/>
<a
@
click=
"toDelete(record)"
>
删除
</a>
</div>
<!-- 上架状态 -->
<div
v-else
>
<a
@
click=
"toRemove(record)"
>
下架
</a>
<a-divider
type=
"vertical"
/>
<a
<a
v-if=
"record.product_status == eProductStatus.normal"
v-if=
"record.product_status == eProductStatus.normal"
@
click=
"setAsHot(record)"
@
click=
"setAsHot(record)"
...
...
src/components/productManage/topbar.vue
View file @
26dba2cd
...
@@ -12,13 +12,14 @@
...
@@ -12,13 +12,14 @@
:startTime=
"searchPageReqParams.startTime"
:startTime=
"searchPageReqParams.startTime"
:endTime=
"searchPageReqParams.endTime"
:endTime=
"searchPageReqParams.endTime"
/>
/>
<span
class=
"mr-3"
>
消息
分类
</span>
<span
class=
"mr-3"
>
产品
分类
</span>
<a-select
<a-select
:default-value=
"productType[0]"
:default-value=
"productType[0]"
style=
"width: 120px; margin-right: 10px"
style=
"width: 120px; margin-right: 10px"
v-model=
"searchPageReqParams.type"
v-model=
"searchPageReqParams.type"
@
change=
"handleChange"
>
>
<a-select-option
v-for=
"(type, i) in productType"
:key=
"i"
>
<a-select-option
v-for=
"(type, i) in productType"
:key=
"i"
:value=
"i"
>
{{
type
}}
{{
type
}}
</a-select-option>
</a-select-option>
</a-select>
</a-select>
...
@@ -64,7 +65,7 @@ export default Vue.extend({
...
@@ -64,7 +65,7 @@ export default Vue.extend({
return
{
return
{
searchPageReqParams
:
{
searchPageReqParams
:
{
name
:
""
,
name
:
""
,
type
:
""
,
type
:
0
,
startTime
:
undefined
as
undefined
|
number
,
startTime
:
undefined
as
undefined
|
number
,
endTime
:
undefined
as
undefined
|
number
,
endTime
:
undefined
as
undefined
|
number
,
offset
:
0
,
offset
:
0
,
...
@@ -86,6 +87,9 @@ export default Vue.extend({
...
@@ -86,6 +87,9 @@ export default Vue.extend({
},
},
},
},
methods
:
{
methods
:
{
handleChange
(
val
:
any
){
this
.
searchPageReqParams
.
type
=
val
},
...
mapMutations
(
'loanProductManagement'
,
{
...
mapMutations
(
'loanProductManagement'
,
{
productSave
:
'save'
,
productSave
:
'save'
,
}),
}),
...
@@ -104,7 +108,7 @@ export default Vue.extend({
...
@@ -104,7 +108,7 @@ export default Vue.extend({
},
},
reset
()
{
reset
()
{
this
.
searchPageReqParams
.
name
=
""
;
this
.
searchPageReqParams
.
name
=
""
;
this
.
searchPageReqParams
.
type
=
""
;
this
.
searchPageReqParams
.
type
=
0
;
this
.
searchPageReqParams
.
startTime
=
undefined
;
this
.
searchPageReqParams
.
startTime
=
undefined
;
this
.
searchPageReqParams
.
endTime
=
undefined
;
this
.
searchPageReqParams
.
endTime
=
undefined
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
...
src/const/columns/productColumn.ts
View file @
26dba2cd
...
@@ -13,8 +13,8 @@ export default[
...
@@ -13,8 +13,8 @@ export default[
{
{
title
:
'产品分类'
,
title
:
'产品分类'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'
product
_type'
,
dataIndex
:
'
loan
_type'
,
scopedSlots
:
{
customRender
:
'
product
_type'
},
scopedSlots
:
{
customRender
:
'
loan
_type'
},
},
},
{
{
title
:
'贷款期限(月)'
,
title
:
'贷款期限(月)'
,
...
...
src/const/columns/userManagerCol.ts
View file @
26dba2cd
...
@@ -5,21 +5,8 @@ const columns:Array<column> =
...
@@ -5,21 +5,8 @@ const columns:Array<column> =
{
{
title
:
'创建日期'
,
title
:
'创建日期'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'time'
,
dataIndex
:
'created_at'
,
role
:[
scopedSlots
:
{
customRender
:
'created_at'
},
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
secondary_branch
,
eRole
.
firstLevel_sub_branch
,
eRole
.
firstLevel_sub_clientManager
,
eRole
.
secondary_sub_branch
,
eRole
.
secondary_sub_clientManager
,
]
},
{
title
:
'uid'
,
align
:
'center'
,
dataIndex
:
'key'
,
role
:[
role
:[
eRole
.
superManager
,
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
...
@@ -30,10 +17,24 @@ const columns:Array<column> =
...
@@ -30,10 +17,24 @@ const columns:Array<column> =
eRole
.
secondary_sub_clientManager
,
eRole
.
secondary_sub_clientManager
,
]
]
},
},
// {
// title:'uid',
// align:'center',
// dataIndex:'uuid',
// role:[
// eRole.superManager,
// eRole.firstLevel_branch,
// eRole.secondary_branch,
// eRole.firstLevel_sub_branch,
// eRole.firstLevel_sub_clientManager,
// eRole.secondary_sub_branch,
// eRole.secondary_sub_clientManager,
// ]
// },
{
{
title
:
'姓名'
,
title
:
'姓名'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'name'
,
dataIndex
:
'
user_
name'
,
role
:[
role
:[
eRole
.
superManager
,
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
...
@@ -61,7 +62,7 @@ const columns:Array<column> =
...
@@ -61,7 +62,7 @@ const columns:Array<column> =
{
{
title
:
'手机号'
,
title
:
'手机号'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'
account
'
,
dataIndex
:
'
phone
'
,
role
:[
role
:[
eRole
.
superManager
,
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
...
@@ -75,7 +76,8 @@ const columns:Array<column> =
...
@@ -75,7 +76,8 @@ const columns:Array<column> =
{
{
title
:
'所在机构层级'
,
title
:
'所在机构层级'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'bank'
,
dataIndex
:
'level'
,
scopedSlots
:
{
customRender
:
'level'
},
role
:[
role
:[
eRole
.
superManager
,
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
...
@@ -89,7 +91,7 @@ const columns:Array<column> =
...
@@ -89,7 +91,7 @@ const columns:Array<column> =
{
{
title
:
'所属二级支行'
,
title
:
'所属二级支行'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'second
ary
_sub_branch'
,
dataIndex
:
'second_sub_branch'
,
role
:[
role
:[
eRole
.
secondary_sub_branch
,
eRole
.
secondary_sub_branch
,
eRole
.
secondary_sub_clientManager
,
eRole
.
secondary_sub_clientManager
,
...
@@ -98,7 +100,7 @@ const columns:Array<column> =
...
@@ -98,7 +100,7 @@ const columns:Array<column> =
{
{
title
:
'所属一级支行'
,
title
:
'所属一级支行'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'first
Level
_sub_branch'
,
dataIndex
:
'first_sub_branch'
,
role
:[
role
:[
eRole
.
firstLevel_sub_branch
,
eRole
.
firstLevel_sub_branch
,
eRole
.
secondary_sub_branch
,
eRole
.
secondary_sub_branch
,
...
@@ -109,7 +111,7 @@ const columns:Array<column> =
...
@@ -109,7 +111,7 @@ const columns:Array<column> =
{
{
title
:
'所属二级分行'
,
title
:
'所属二级分行'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'second
ary
_branch'
,
dataIndex
:
'second_branch'
,
role
:[
role
:[
eRole
.
secondary_branch
,
eRole
.
secondary_branch
,
eRole
.
firstLevel_sub_branch
,
eRole
.
firstLevel_sub_branch
,
...
@@ -121,7 +123,7 @@ const columns:Array<column> =
...
@@ -121,7 +123,7 @@ const columns:Array<column> =
{
{
title
:
'所属一级分行'
,
title
:
'所属一级分行'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'first
Level
_branch'
,
dataIndex
:
'first_branch'
,
role
:[
role
:[
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
eRole
.
secondary_branch
,
eRole
.
secondary_branch
,
...
@@ -212,7 +214,7 @@ const columns:Array<column> =
...
@@ -212,7 +214,7 @@ const columns:Array<column> =
{
{
title
:
'操作uid'
,
title
:
'操作uid'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'
actionUid
'
,
dataIndex
:
'
operator_name
'
,
role
:[
role
:[
eRole
.
superManager
,
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
...
@@ -226,7 +228,8 @@ const columns:Array<column> =
...
@@ -226,7 +228,8 @@ const columns:Array<column> =
{
{
title
:
'状态'
,
title
:
'状态'
,
align
:
'center'
,
align
:
'center'
,
dataIndex
:
'state'
,
dataIndex
:
'status'
,
scopedSlots
:
{
customRender
:
'status'
},
role
:[
role
:[
eRole
.
superManager
,
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
...
...
src/filter/index.ts
View file @
26dba2cd
...
@@ -4,6 +4,7 @@ import { editableProductStatus,eGuaranteeType,eProductType} from '@/types/loanPr
...
@@ -4,6 +4,7 @@ import { editableProductStatus,eGuaranteeType,eProductType} from '@/types/loanPr
// import { activityStatus } from "@/service/ActivityService/type"
// import { activityStatus } from "@/service/ActivityService/type"
import
moment
from
'moment'
import
moment
from
'moment'
import
{
activityStatus
}
from
'@/service/ActivityService/type'
import
{
activityStatus
}
from
'@/service/ActivityService/type'
import
{
eLevel
}
from
'@/types/level'
export
default
{
export
default
{
formatDate
(
timeStamp
:
number
)
{
formatDate
(
timeStamp
:
number
)
{
...
@@ -96,6 +97,20 @@ export default {
...
@@ -96,6 +97,20 @@ export default {
return
'已发布'
return
'已发布'
}
}
},
},
filterLevel
(
level
:
eLevel
)
{
switch
(
level
)
{
case
eLevel
.
firstLevel_branch
:
return
'一级分行'
case
eLevel
.
firstLevel_sub_branch
:
return
'一级支行'
case
eLevel
.
secondary_branch
:
return
'二级分行'
case
eLevel
.
secondary_sub_branch
:
return
'二级支行'
default
:
return
false
}
},
filterWorkDay
(
weekend_status
:
number
){
filterWorkDay
(
weekend_status
:
number
){
const
silly
=
'周一至周五'
const
silly
=
'周一至周五'
if
(
weekend_status
===
0
){
if
(
weekend_status
===
0
){
...
@@ -107,7 +122,7 @@ export default {
...
@@ -107,7 +122,7 @@ export default {
}
else
if
(
weekend_status
===
3
){
}
else
if
(
weekend_status
===
3
){
return
'周一至周日'
return
'周一至周日'
}
}
}
}
,
}
as
{
}
as
{
[
key
:
string
]:
(...
args
:
any
)
=>
any
[
key
:
string
]:
(...
args
:
any
)
=>
any
}
}
src/service/LoanProductService/index.ts
View file @
26dba2cd
...
@@ -89,7 +89,7 @@ export default class LoanProductService {
...
@@ -89,7 +89,7 @@ export default class LoanProductService {
items
:
iLoanProdcutItem
[]
items
:
iLoanProdcutItem
[]
total
:
number
total
:
number
}
>
({
}
>
({
url
:
prefix
+
'
/list'
,
url
:
'/loan/query/direct
/list'
,
method
:
'POST'
,
method
:
'POST'
,
data
,
data
,
})
})
...
...
src/service/StaffService/index.ts
View file @
26dba2cd
...
@@ -12,26 +12,54 @@ export default class StaffService {
...
@@ -12,26 +12,54 @@ export default class StaffService {
return
StaffService
.
instance
return
StaffService
.
instance
}
}
modifyStaffStatus
(
data
:
{
status
:
eUserStatusAction
;
uuid
:
string
})
{
addAcm
(
data
:
{
return
baseAxios
({
attr
:
{
url
:
'/staff/modifyStatus'
,
add_same_level
:
boolean
method
:
'PUT'
,
},
data
,
level
:
number
,
name
:
string
,
password
:
string
,
phone
:
string
,
second_sub_branch
:
number
})
{
return
baseAxios
<
{
data
:
any
}
>
({
url
:
'/staff/add/acm'
,
method
:
'post'
,
data
})
})
}
}
deleteStaff
(
uuid
:
string
)
{
addNextLevel
(
data
:
{
return
baseAxios
({
attr
:
{
url
:
'/staff/'
+
uuid
,
add_same_level
:
boolean
method
:
'delete'
,
},
level
:
number
,
name
:
string
,
password
:
string
,
phone
:
string
,
second_sub_branch
:
number
})
{
return
baseAxios
<
{
data
:
any
}
>
({
url
:
'/staff/add/next_level'
,
method
:
'post'
,
data
})
})
}
}
import
(
data
:
{
staffs
:
iStaffItem
[]
})
{
addSameLevel
(
data
:
{
return
baseAxios
({
attr
:
{
url
:
'/staff/import'
,
add_same_level
:
boolean
},
level
:
number
,
name
:
string
,
password
:
string
,
phone
:
string
,
second_sub_branch
:
number
})
{
return
baseAxios
<
{
data
:
any
}
>
({
url
:
'/staff/add/same_level'
,
method
:
'post'
,
method
:
'post'
,
data
,
data
})
})
}
}
...
@@ -47,6 +75,35 @@ export default class StaffService {
...
@@ -47,6 +75,35 @@ export default class StaffService {
params
:
data
,
params
:
data
,
})
})
}
}
deploy
(
data
:
{
level
:
number
,
second_sub_branch
:
number
,
uuid
:
string
})
{
return
baseAxios
<
{
data
:
any
}
>
({
url
:
'/staff/deploy'
,
method
:
'put'
,
data
:
data
})
}
import
(
data
:
{
staffs
:
iStaffItem
[]
})
{
return
baseAxios
({
url
:
'/staff/import'
,
method
:
'post'
,
data
,
})
}
modifyStaffStatus
(
data
:
{
status
:
eUserStatusAction
;
uuid
:
string
})
{
return
baseAxios
({
url
:
'/staff/modifyStatus'
,
method
:
'PUT'
,
data
,
})
}
getSelfOutLet
()
{
getSelfOutLet
()
{
return
baseAxios
<
iOutLet
>
({
return
baseAxios
<
iOutLet
>
({
url
:
'/staff/outlet'
,
url
:
'/staff/outlet'
,
...
@@ -54,4 +111,83 @@ export default class StaffService {
...
@@ -54,4 +111,83 @@ export default class StaffService {
})
})
}
}
queryStaff
(
data
:
{
end
?:
number
,
first_branch
?:
number
,
first_sub_branch
?:
number
,
level
?:
number
,
location
?:
string
,
page
?:
number
,
page_size
?:
number
,
phone
?:
string
,
second_branch
?:
number
,
second_sub_branch
?:
number
,
start
?:
number
,
user_name
?:
string
})
{
return
baseAxios
({
url
:
'/staff/query'
,
method
:
'get'
,
params
:
data
})
}
remarkStaff
(
data
:
{
remark
:
string
,
uuid
:
string
})
{
return
baseAxios
({
url
:
'/staff/remark/user'
,
method
:
'put'
,
params
:
data
})
}
getUserList
(
data
:
{
page
:
number
,
page_size
:
number
})
{
return
baseAxios
({
url
:
'/staff/self/users'
,
method
:
'get'
,
params
:
data
})
}
getNextLevel
(
data
:
{
uuid
:
string
,
role
:
string
})
{
return
baseAxios
({
url
:
'/staff/next_level'
,
method
:
'get'
,
params
:
data
})
}
getStaffList
(
data
:
{
page
:
number
,
page_size
:
number
,
uuid
:
string
})
{
return
baseAxios
({
url
:
'/staff/query/users'
,
method
:
'get'
,
params
:
data
})
}
deleteStaff
(
uuid
:
string
)
{
return
baseAxios
({
url
:
'/staff/'
+
uuid
,
method
:
'delete'
,
})
}
getBankList
()
{
}
}
}
src/store/LoanProductManagement/index.ts
View file @
26dba2cd
...
@@ -30,7 +30,7 @@ export default <Module<iProductModuleState, {}>>{
...
@@ -30,7 +30,7 @@ export default <Module<iProductModuleState, {}>>{
const
ret
=
await
LoanProductService
.
getInstance
().
queryDirectLoanReq
({
const
ret
=
await
LoanProductService
.
getInstance
().
queryDirectLoanReq
({
end_time
:
state
.
end_time
as
number
,
end_time
:
state
.
end_time
as
number
,
limit
:
state
.
limit
,
limit
:
state
.
limit
,
loan_type
:
0
,
loan_type
:
state
.
loan_type
,
offset
:
state
.
offset
as
number
,
offset
:
state
.
offset
as
number
,
product_status
:
0
,
product_status
:
0
,
start_time
:
state
.
start_time
as
number
,
start_time
:
state
.
start_time
as
number
,
...
...
src/store/UserManagement/index.ts
0 → 100644
View file @
26dba2cd
import
{
eLevel
}
from
'@/types/level'
import
{
Module
}
from
'vuex'
import
{
eAddManagerModalMode
,
eTypeOfOperatedObject
,
iUserManagementState
,
}
from
'./types'
export
default
<
Module
<
iUserManagementState
,
{}
>>
{
namespaced
:
true
,
state
:
{
refreshMark
:
NaN
,
modalShow
:
false
,
modalMode
:
eAddManagerModalMode
.
create
,
typeOfOperatedObject
:
eTypeOfOperatedObject
.
manager
,
searchLevel
:
eLevel
.
secondary_branch
,
branchDetailMsg
:
{
// fb: 'zhejiang',
// fb_id: 1,
// sb: 'hz',
// sb_id: 1,
},
personalMsg
:
{
name
:
''
,
uid
:
''
,
phone
:
''
,
branchDetailMsg
:
{},
address
:
''
,
},
address
:
''
,
},
mutations
:
{
save
(
state
,
payload
)
{
Object
.
assign
(
state
,
payload
)
},
},
actions
:
{},
}
src/store/UserManagement/types.ts
0 → 100644
View file @
26dba2cd
import
{
eLevel
}
from
'@/types/level'
export
enum
eAddManagerModalMode
{
edit
,
create
,
}
export
enum
eTypeOfOperatedObject
{
manager
,
clientManager
,
}
export
interface
iBranchDetailMsg
{
fb
:
string
sb
:
string
fsb
:
string
ssb
:
string
fb_id
:
number
sb_id
:
number
fsb_id
:
number
ssb_id
:
number
}
export
interface
iPersonalMsg
{
name
:
string
uid
:
any
phone
:
string
branchDetailMsg
:
Partial
<
Omit
<
iBranchDetailMsg
,
'fb_id'
|
'sb_id'
|
'fsb_id'
|
'ssb_id'
>
>
address
:
string
}
export
interface
iUserManagementState
{
modalShow
:
boolean
modalMode
:
eAddManagerModalMode
/* 模态框的形态 */
typeOfOperatedObject
:
eTypeOfOperatedObject
|
undefined
searchLevel
:
eLevel
|
undefined
/* 当前搜索的层级 */
branchDetailMsg
:
Partial
<
iBranchDetailMsg
>
/* 分支行搜索页面所选中的信息需要设在此处 */
personalMsg
:
iPersonalMsg
/* 调配人员时 该人员的个人信息 */
address
:
string
/* 新地址 */
refreshMark
:
number
/* 供表格刷新的标记,组件监听refreshMark,若变化,则刷新表格 */
}
src/store/index.ts
View file @
26dba2cd
...
@@ -4,19 +4,22 @@ import platformUserManagement from './platformUserManagement/index'
...
@@ -4,19 +4,22 @@ import platformUserManagement from './platformUserManagement/index'
import
{
iPlatformModuleState
}
from
'./platformUserManagement/types'
import
{
iPlatformModuleState
}
from
'./platformUserManagement/types'
import
loanProductManagement
from
'./LoanProductManagement/index'
import
loanProductManagement
from
'./LoanProductManagement/index'
import
{
iProductModuleState
}
from
'./LoanProductManagement/type'
import
{
iProductModuleState
}
from
'./LoanProductManagement/type'
import
UserManagement
from
'./UserManagement/index'
Vue
.
use
(
Vuex
)
Vue
.
use
(
Vuex
)
const
store
=
new
Vuex
.
Store
<
{
platformUserManagement
?:
iPlatformModuleState
,
loanProductManagement
?:
iProductModuleState
}
>
(
const
store
=
new
Vuex
.
Store
<
{
{
platformUserManagement
?:
iPlatformModuleState
state
:
{},
loanProductManagement
?:
iProductModuleState
mutations
:
{},
}
>
({
actions
:
{},
state
:
{},
modules
:
{
mutations
:
{},
platformUserManagement
,
actions
:
{},
loanProductManagement
,
modules
:
{
},
platformUserManagement
,
loanProductManagement
,
UserManagement
,
},
},
)
}
)
export
default
store
export
default
store
\ No newline at end of file
src/store/platformUserManagement/index.ts
View file @
26dba2cd
import
{
PAGE_SIZE
}
from
'@/const/config/page'
import
{
PAGE_SIZE
}
from
'@/const/config/page'
import
UserService
from
'@/service/UserManagementService'
import
UserService
from
'@/service/UserManagementService'
import
StaffService
from
'@/service/StaffService'
import
{
Module
}
from
'vuex'
import
{
Module
}
from
'vuex'
import
{
iListItem
,
iPlatformModuleState
}
from
'./types'
import
{
iListItem
,
iPlatformModuleState
}
from
'./types'
...
@@ -21,6 +22,8 @@ export default <Module<iPlatformModuleState, {}>>{
...
@@ -21,6 +22,8 @@ export default <Module<iPlatformModuleState, {}>>{
userName
:
''
,
userName
:
''
,
total
:
0
,
total
:
0
,
loading
:
false
,
loading
:
false
,
uuid
:
''
,
role
:
''
},
},
mutations
:
{
mutations
:
{
save
(
state
,
payload
)
{
save
(
state
,
payload
)
{
...
@@ -46,5 +49,46 @@ export default <Module<iPlatformModuleState, {}>>{
...
@@ -46,5 +49,46 @@ export default <Module<iPlatformModuleState, {}>>{
state
.
loading
=
false
state
.
loading
=
false
}
}
},
},
async
queryUser
({
state
,
commit
},
payload
)
{
state
.
loading
=
true
console
.
log
(
state
)
StaffService
.
getInstance
().
queryStaff
({
end
:
state
.
end
,
first_branch
:
state
.
firstBranch
,
first_sub_branch
:
state
.
firstSubBranch
,
location
:
state
.
location
,
page
:
state
.
page
,
page_size
:
state
.
page_size
,
phone
:
state
.
phone
,
second_branch
:
state
.
secondBranch
,
second_sub_branch
:
state
.
secondSubBranch
,
start
:
state
.
start
,
user_name
:
state
.
userName
,
level
:
state
.
level
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
commit
(
'save'
,
{
list
:
res
.
data
.
item
,
total
:
res
.
data
.
total
})
}
state
.
loading
=
false
})
},
async
queryNext
({
state
,
commit
},
payload
)
{
state
.
loading
=
true
StaffService
.
getInstance
().
getNextLevel
({
uuid
:
state
.
uuid
,
role
:
state
.
role
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
commit
(
'save'
,
{
list
:
res
.
data
.
item
,
total
:
res
.
data
.
total
})
}
state
.
loading
=
false
})
}
},
},
}
}
src/store/platformUserManagement/types.ts
View file @
26dba2cd
...
@@ -31,5 +31,7 @@ export interface iPlatformModuleState {
...
@@ -31,5 +31,7 @@ export interface iPlatformModuleState {
start
:
number
|
undefined
start
:
number
|
undefined
userName
:
string
,
userName
:
string
,
total
:
number
total
:
number
loading
:
boolean
loading
:
boolean
,
uuid
:
string
,
role
:
string
}
}
src/types/staff.ts
View file @
26dba2cd
import
{
eRole
}
from
"./role"
;
import
{
eLevel
}
from
"./level"
;
import
{
eNewRoleRelatedToBackEnd
,
eRole
}
from
"./role"
;
import
{
eUserStatus
}
from
"./user"
;
enum
bank
{
enum
bank
{
'一级分行'
,
'一级分行'
,
...
@@ -34,6 +36,24 @@ interface staff{
...
@@ -34,6 +36,24 @@ interface staff{
state
:
string
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
{
export
{
bank
,
bank
,
role
,
role
,
...
...
src/views/Root/OutletManagement/components/HeaderSelect/const.ts
View file @
26dba2cd
...
@@ -18,7 +18,7 @@ export const fooList = [
...
@@ -18,7 +18,7 @@ export const fooList = [
value
:
undefined
as
number
|
undefined
,
value
:
undefined
as
number
|
undefined
,
},
},
{
{
placeholder
:
'请选择
一
级支行'
,
placeholder
:
'请选择
二
级支行'
,
options
:
[]
as
{
ID
:
number
;
Name
:
string
}[],
options
:
[]
as
{
ID
:
number
;
Name
:
string
}[],
disable
:
false
,
disable
:
false
,
value
:
undefined
as
number
|
undefined
,
value
:
undefined
as
number
|
undefined
,
...
...
src/views/Root/OutletManagement/index.vue
View file @
26dba2cd
<
template
>
<
template
>
<div>
<div>
<!--
<input
type=
"file"
@
input=
"handleInput"
/>
-->
<div
v-if=
"showbranchFilter"
>
<div
v-if=
"showbranchFilter"
>
<p
class=
"text-2xl font-bold mb-5"
>
网点管理
</p>
<p
class=
"text-2xl font-bold mb-5"
>
网点管理
</p>
<div>
<div>
...
@@ -406,14 +407,26 @@ export default Vue.extend({
...
@@ -406,14 +407,26 @@ export default Vue.extend({
}
}
},
},
methods
:
{
methods
:
{
getLalo
()
{
async
handleInput
(
e
:
Event
)
{
window
.
navigator
.
geolocation
.
getCurrentPosition
((
position
)
=>
{
const
ret
=
await
handle
建设银行
excelFileChange
(
e
);
this
.
formData
.
la
=
position
.
coords
.
latitude
.
toString
();
StaffService
.
getInstance
().
import
({
this
.
formData
.
lo
=
position
.
coords
.
longitude
.
toString
();
staffs
:
ret
as
any
,
const
form
=
this
.
$refs
.
form
as
FormModel
;
form
.
validateField
([
"la"
,
"lo"
],
(
err
)
=>
{});
});
});
},
},
getLalo
()
{
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
)
{
async
clickViewNote
(
record
:
any
)
{
console
.
log
(
record
);
console
.
log
(
record
);
const
id
=
record
.
id
;
const
id
=
record
.
id
;
...
...
src/views/Root/Product/Loan/publish.vue
View file @
26dba2cd
...
@@ -60,11 +60,11 @@
...
@@ -60,11 +60,11 @@
</a-form-model-item>
</a-form-model-item>
<a-form-model-item
label=
"担保方式"
:wrapper-col=
"
{ span: 5 }">
<a-form-model-item
label=
"担保方式"
:wrapper-col=
"
{ span: 5 }">
<a-select
<a-select
:default-value=
"guaranteeType[0]"
style=
"width: 120px; margin-right: 10px"
style=
"width: 120px; margin-right: 10px"
@
change=
"changeGuarantee"
@
change=
"changeGuarantee"
v-model=
"form.guarantee"
>
>
<a-select-option
v-for=
"(type,
i) in guaranteeType"
:key=
"i
"
>
<a-select-option
v-for=
"(type,
i) in guaranteeType"
:key=
"type"
:value=
"i+1
"
>
{{
type
}}
{{
type
}}
</a-select-option>
</a-select-option>
</a-select>
</a-select>
...
...
src/views/Root/User/Mixin/index.ts
0 → 100644
View file @
26dba2cd
import
Vue
,
{
PropType
}
from
"vue"
import
StaffService
from
'@/service/StaffService/index'
import
{
eLevel
}
from
"@/types/level"
import
{
mapActions
,
mapMutations
,
mapState
}
from
'vuex'
const
staff
=
new
StaffService
()
export
default
Vue
.
extend
({
data
()
{
return
{
}
},
methods
:
{
...
mapMutations
(
'platformUserManagement'
,
{
platformSave
:
'save'
,
}),
...
mapActions
(
'platformUserManagement'
,
{
platformQuery
:
'queryUser'
,
}),
// getLevel(s: string) {
// switch(s) {
// case '1':
// return eLevel.firstLevel_branch
// case '2':
// return eLevel.secondary_branch
// case '3':
// return eLevel.firstLevel_sub_branch
// default:
// return eLevel.secondary_sub_branch
// }
// },
getLists
(
params
:
any
)
{
// const keys = JSON.parse(this.$route.query.rankVal as string)
// const level = keys.length + ''
// const _level = this.getLevel(level)
this
.
platformSave
({
...
params
})
this
.
platformQuery
()
}
},
created
()
{
const
keys
=
JSON
.
parse
(
this
.
$route
.
query
.
rankVal
as
string
)
const
level
=
this
.
$route
.
query
.
level
const
params
=
{
firstBranch
:
+
keys
[
0
]
||
undefined
,
firstSubBranch
:
+
keys
[
2
]
||
undefined
,
secondBranch
:
+
keys
[
1
]
||
undefined
,
secondSubBranch
:
+
keys
[
3
]
||
undefined
,
level
}
this
.
getLists
(
params
)
}
})
\ No newline at end of file
src/views/Root/User/client.vue
View file @
26dba2cd
...
@@ -5,8 +5,8 @@
...
@@ -5,8 +5,8 @@
<span
class=
" font-semibold"
>
注册时间:
</span>
<span
class=
" font-semibold"
>
注册时间:
</span>
<timerange
class=
" mr-3"
<timerange
class=
" mr-3"
@
getNewTime=
"getNewTime"
/>
@
getNewTime=
"getNewTime"
/>
<a-input
placeholder=
"姓名模糊搜索"
v-model=
"queryParam.
queryN
ame"
style=
" width:150px; margin-right:10px;"
/>
<a-input
placeholder=
"姓名模糊搜索"
v-model=
"queryParam.
user_n
ame"
style=
" width:150px; margin-right:10px;"
/>
<a-input
placeholder=
"手机号模糊搜索"
v-model=
"queryParam.
queryTel
"
style=
" width:150px; margin-right:10px;"
/>
<a-input
placeholder=
"手机号模糊搜索"
v-model=
"queryParam.
phone
"
style=
" width:150px; margin-right:10px;"
/>
<a-button
type=
"primary"
style=
" margin-right:10px;"
@
click=
"query"
>
查询
</a-button>
<a-button
type=
"primary"
style=
" margin-right:10px;"
@
click=
"query"
>
查询
</a-button>
<a-button
type=
"primary"
@
click=
"reset"
>
重置
</a-button>
<a-button
type=
"primary"
@
click=
"reset"
>
重置
</a-button>
<!-- 查看弹窗 -->
<!-- 查看弹窗 -->
...
@@ -44,7 +44,13 @@
...
@@ -44,7 +44,13 @@
</a-form-model>
</a-form-model>
</a-modal>
</a-modal>
<!-- 客户信息列表 -->
<!-- 客户信息列表 -->
<a-table
:columns=
"columns"
:data-source=
"userList"
style=
" text-align: center; margin-top:40px;"
bordered
>
<a-table
:columns=
"columns"
:data-source=
"userList"
style=
" text-align: center; margin-top:40px;"
bordered
:pagination=
"pagination"
@
change=
"changePage"
>
<div
slot=
"note"
slot-scope=
"text"
>
<div
slot=
"note"
slot-scope=
"text"
>
<a
@
click=
"check(text)"
>
查看
</a>
<a
@
click=
"check(text)"
>
查看
</a>
</div>
</div>
...
@@ -61,13 +67,16 @@ import { userList } from '@/mock/index'
...
@@ -61,13 +67,16 @@ import { userList } from '@/mock/index'
import
{
user
}
from
'@/types/user'
import
{
user
}
from
'@/types/user'
import
{
columns
}
from
'@/const/columns/userColumns'
import
{
columns
}
from
'@/const/columns/userColumns'
import
timerange
from
'@/components/TimePicker/index.vue'
import
timerange
from
'@/components/TimePicker/index.vue'
import
StaffService
from
'@/service/StaffService/index'
const
staff
=
new
StaffService
()
export
default
Vue
.
extend
({
export
default
Vue
.
extend
({
components
:{
timerange
},
components
:{
timerange
},
computed
:
{
computed
:
{
userList
():
Array
<
user
>
{
//
userList():Array
<
user
>
{
return
userList
//
return userList
},
//
},
columns
(){
columns
(){
return
columns
return
columns
}
}
...
@@ -78,11 +87,12 @@ export default Vue.extend({
...
@@ -78,11 +87,12 @@ export default Vue.extend({
notes
:
''
notes
:
''
},
},
queryParam
:{
queryParam
:{
start
Time
:
undefined
as
undefined
|
number
,
start
:
undefined
as
undefined
|
number
,
end
Time
:
undefined
as
undefined
|
number
,
end
:
undefined
as
undefined
|
number
,
queryName
:
''
,
user_name
:
''
as
undefined
|
string
,
queryTel
:
''
,
phone
:
''
as
undefined
|
string
,
},
},
userList
:
[]
as
Array
<
user
>
,
visible
:
false
,
visible
:
false
,
show
:
false
,
show
:
false
,
labelCol
:
{
span
:
10
},
labelCol
:
{
span
:
10
},
...
@@ -90,22 +100,62 @@ export default Vue.extend({
...
@@ -90,22 +100,62 @@ export default Vue.extend({
rules
:{
rules
:{
notes
:
[{
required
:
true
,
message
:
'请输入备注内容'
,
trigger
:
'blur'
}],
notes
:
[{
required
:
true
,
message
:
'请输入备注内容'
,
trigger
:
'blur'
}],
},
},
note
:{}
note
:{},
pagination
:
{
current
:
1
,
defaultPageSize
:
10
,
total
:
0
}
}
}
},
},
created
()
{
this
.
getList
()
},
methods
:{
methods
:{
getList
()
{
const
uuid
=
this
.
$route
.
query
.
uuid
as
string
if
(
uuid
)
{
staff
.
getStaffList
({
uuid
:
uuid
,
page
:
this
.
pagination
.
current
,
page_size
:
this
.
pagination
.
defaultPageSize
}).
then
(
res
=>
{
this
.
userList
=
res
.
data
.
item
this
.
pagination
.
total
=
res
.
data
.
total
})
}
else
{
staff
.
getUserList
({
page
:
this
.
pagination
.
current
,
page_size
:
this
.
pagination
.
defaultPageSize
}).
then
(
res
=>
{
this
.
userList
=
res
.
data
.
item
this
.
pagination
.
total
=
res
.
data
.
total
})
}
},
changePage
(
v
:
{
current
:
number
})
{
this
.
pagination
.
current
=
v
.
current
this
.
getList
()
},
getNewTime
(
startTime
:
number
,
endTime
:
number
){
getNewTime
(
startTime
:
number
,
endTime
:
number
){
this
.
queryParam
.
start
Time
=
startTime
this
.
queryParam
.
start
=
startTime
this
.
queryParam
.
end
Time
=
endTime
this
.
queryParam
.
end
=
endTime
},
},
query
(){
query
(){
console
.
log
(
this
.
queryParam
)
console
.
log
(
this
.
queryParam
)
staff
.
queryStaff
({
...
this
.
queryParam
}).
then
(
res
=>
{
console
.
log
(
res
)
this
.
userList
=
res
.
data
.
item
this
.
pagination
.
total
=
res
.
data
.
total
})
},
},
reset
(){
reset
(){
this
.
queryParam
.
start
Time
=
undefined
this
.
queryParam
.
start
=
undefined
this
.
queryParam
.
end
Time
=
undefined
this
.
queryParam
.
end
=
undefined
this
.
queryParam
.
queryN
ame
=
''
this
.
queryParam
.
user_n
ame
=
''
this
.
queryParam
.
queryTel
=
''
this
.
queryParam
.
phone
=
''
},
},
check
(
text
:
user
){
check
(
text
:
user
){
this
.
visible
=
true
this
.
visible
=
true
...
@@ -118,6 +168,7 @@ export default Vue.extend({
...
@@ -118,6 +168,7 @@ export default Vue.extend({
onSubmit
(){
onSubmit
(){
(
this
.
$refs
.
ruleForm
as
FormModel
).
validate
(
valid
=>
{
(
this
.
$refs
.
ruleForm
as
FormModel
).
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
// staff.
this
.
show
=
false
this
.
show
=
false
}
else
{
}
else
{
console
.
log
(
'error submit!!'
);
console
.
log
(
'error submit!!'
);
...
...
src/views/Root/User/firstLevel.vue
View file @
26dba2cd
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div>
<div>
<p
class=
" text-2xl font-bold mb-5"
>
浙江省分行信息
</p>
<p
class=
" text-2xl font-bold mb-5"
>
浙江省分行信息
</p>
<top-bar
:level=
"level"
/>
<top-bar
:level=
"level"
/>
<user-table
:level=
"level"
:role=
"role"
:dataSource=
"dataSource"
/>
<user-table
:level=
"level"
:role=
"role"
/>
</div>
</div>
</
template
>
</
template
>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
...
@@ -16,6 +16,11 @@ import { firstLevelManager } from "@/mock/index"
...
@@ -16,6 +16,11 @@ import { firstLevelManager } from "@/mock/index"
export
default
Vue
.
extend
({
export
default
Vue
.
extend
({
components
:{
TopBar
,
userTable
},
components
:{
TopBar
,
userTable
},
data
()
{
return
{
// dataSource: [] as PropType
<
staff
[]
>
}
},
props
:{
props
:{
level
:{
level
:{
type
:
Number
as
PropType
<
eLevel
>
,
type
:
Number
as
PropType
<
eLevel
>
,
...
@@ -25,12 +30,6 @@ export default Vue.extend({
...
@@ -25,12 +30,6 @@ export default Vue.extend({
type
:
Number
as
PropType
<
eRole
>
,
type
:
Number
as
PropType
<
eRole
>
,
default
:
eRole
.
firstLevel_branch
default
:
eRole
.
firstLevel_branch
},
},
dataSource
:{
type
:
Array
as
PropType
<
staff
[]
>
,
default
(){
return
firstLevelManager
}
}
},
},
});
});
</
script
>
</
script
>
\ No newline at end of file
src/views/Root/User/index.vue
View file @
26dba2cd
...
@@ -3,12 +3,19 @@
...
@@ -3,12 +3,19 @@
<p
class=
"text-2xl font-bold mb-5"
>
用户管理
</p>
<p
class=
"text-2xl font-bold mb-5"
>
用户管理
</p>
<div>
<div>
<!-- 级联选择 -->
<!-- 级联选择 -->
<a-cascader
<
!--
<
a-cascader
:disabled=
"search.length == 0 ? false : true"
:disabled=
"search.length == 0 ? false : true"
v-model=
"value"
v-model=
"value"
@
change=
"handleChange"
@
change=
"handleChange"
placeholder=
"通过选择搜索"
placeholder=
"通过选择搜索"
style=
"width: 40%; margin-right: 15px"
style=
"width: 40%; margin-right: 15px"
/>
-->
<header-select
ref=
"headerSelect"
:setFooList=
"setFooList"
:fooList=
"fooList"
:level=
"level"
:role=
"role"
/>
/>
<!-- 搜索框 -->
<!-- 搜索框 -->
<a-input
<a-input
...
@@ -36,30 +43,54 @@ import { message } from 'ant-design-vue'
...
@@ -36,30 +43,54 @@ import { message } from 'ant-design-vue'
import
StaffService
from
"@/service/StaffService"
;
import
StaffService
from
"@/service/StaffService"
;
import
{
getUserMsg
}
from
"@/utils/userMsg/userMsg"
import
{
getUserMsg
}
from
"@/utils/userMsg/userMsg"
import
{
eLevel
}
from
'@/types/level'
;
import
{
eLevel
}
from
'@/types/level'
;
import
{
fooList
}
from
"@/views/Root/OutletManagement/components/HeaderSelect/const"
;
import
{
PAGE_SIZE
}
from
"@/const/config/page"
import
{
PAGE_SIZE
}
from
"@/const/config/page"
import
HeaderSelect
from
"@/views/Root/OutletManagement/components/HeaderSelect/index.vue"
;
import
{
mapActions
,
mapMutations
,
mapState
}
from
'vuex'
Vue
.
use
(
Cascader
)
Vue
.
use
(
Cascader
)
Vue
.
prototype
.
$message
=
message
Vue
.
prototype
.
$message
=
message
export
default
Vue
.
extend
({
export
default
Vue
.
extend
({
components
:
{
HeaderSelect
},
computed
:{
computed
:{
options
(){
options
(){
return
options
return
options
}
},
level
():
number
|
undefined
{
return
getUserMsg
()?.
level
;
},
role
()
{
return
getUserMsg
()?.
newRole
;
},
},
},
data
(){
data
(){
return
{
return
{
search
:
''
,
search
:
''
,
value
:[],
value
:[],
fooList
}
}
},
},
mounted
(){
mounted
(){
this
.
clearPostion
()
this
.
getBranchList
()
this
.
getBranchList
()
},
},
methods
:{
methods
:{
handleChange
(){
...
mapMutations
(
'platformUserManagement'
,
{
// 调用请求接口
platformSave
:
'save'
,
console
.
log
(
1
);
}),
this
.
getBranchList
()
clearPostion
()
{
this
.
platformSave
({
location
:
''
,
firstBranch
:
undefined
,
firstSubBranch
:
undefined
,
secondBranch
:
undefined
,
secondSubBranch
:
undefined
,
})
},
setFooList
(
v
:
any
[])
{
this
.
fooList
=
[...
v
];
},
},
async
getBranchList
(){
async
getBranchList
(){
const
userLevel
=
getUserMsg
()?.
level
const
userLevel
=
getUserMsg
()?.
level
...
@@ -75,16 +106,52 @@ export default Vue.extend({
...
@@ -75,16 +106,52 @@ export default Vue.extend({
},
},
query
(){
query
(){
if
(
this
.
value
.
length
==
0
&&
this
.
search
.
length
==
0
){
console
.
log
(
this
.
fooList
)
this
.
$message
.
info
(
'请通过选择或者输入详细地址搜索'
)
const
levelList
=
[]
}
else
{
for
(
let
item
of
this
.
fooList
)
{
const
search
:
string
|
Array
<
string
>
=
this
.
value
.
length
==
0
?
this
.
search
:
this
.
value
if
(
item
.
value
)
{
let
name
=
''
for
(
let
i
of
item
.
options
)
{
if
(
i
.
ID
===
item
.
value
)
{
name
=
i
.
Name
}
}
levelList
.
push
({
value
:
item
.
value
,
name
})
}
else
{
break
}
}
if
(
levelList
.
length
==
0
&&
this
.
search
.
length
==
0
){
this
.
$message
.
info
(
'请通过选择或者输入详细地址搜索'
)
}
else
{
const
search
:
string
|
Array
<
{
value
:
number
,
name
:
string
}
>
=
levelList
.
length
==
0
?
this
.
search
:
levelList
console
.
log
(
search
)
console
.
log
(
search
)
this
.
selectTables
(
search
)
}
}
// this.$router.push({name:'firstLevel'})
// this.$router.push({name:'firstLevel'})
},
},
selectTables
(
arr
:
Array
<
{
value
:
number
,
name
:
string
}
>|
string
)
{
if
(
typeof
arr
===
'string'
)
{
this
.
$router
.
push
({
path
:
'/backend/user/secondarySub'
,
query
:
{
address
:
arr
}})
}
else
{
const
count
=
arr
.
length
switch
(
count
)
{
case
1
:
this
.
$router
.
push
({
path
:
'/backend/user/firstLevel'
,
query
:
{
rankVal
:
JSON
.
stringify
(
arr
)
}})
break
case
2
:
this
.
$router
.
push
({
path
:
'/backend/user/secondary'
,
query
:
{
rankVal
:
JSON
.
stringify
(
arr
)
}})
break
case
3
:
this
.
$router
.
push
({
path
:
'/backend/user/firstSub'
,
query
:
{
rankVal
:
JSON
.
stringify
(
arr
)
}})
break
case
4
:
this
.
$router
.
push
({
path
:
'/backend/user/secondarySub'
,
query
:
{
rankVal
:
JSON
.
stringify
(
arr
)
}})
}
}
},
reset
(){
reset
(){
this
.
value
=
[]
(
this
.
$refs
.
headerSelect
as
any
).
init
();
this
.
search
=
''
this
.
search
=
''
},
},
}
}
...
...
src/views/Root/getMenuList.ts
View file @
26dba2cd
...
@@ -170,7 +170,7 @@ export const menuList: iMenuConfigItem[] = [
...
@@ -170,7 +170,7 @@ export const menuList: iMenuConfigItem[] = [
roles
:
[
roles
:
[
eRole
.
superManager
,
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_sub
_branch
,
eRole
.
secondary
_branch
,
],
],
},
},
{
{
...
@@ -198,6 +198,7 @@ export const menuList: iMenuConfigItem[] = [
...
@@ -198,6 +198,7 @@ export const menuList: iMenuConfigItem[] = [
roles
:
[
roles
:
[
eRole
.
superManager
,
eRole
.
superManager
,
eRole
.
firstLevel_branch
,
eRole
.
firstLevel_branch
,
eRole
.
secondary_branch
,
eRole
.
firstLevel_sub_branch
,
eRole
.
firstLevel_sub_branch
,
eRole
.
secondary_sub_branch
,
eRole
.
secondary_sub_branch
,
],
],
...
...
src/views/Root/index.vue
View file @
26dba2cd
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div>
<div>
<a-layout
id=
"components-layout-demo-fixed-sider"
>
<a-layout
id=
"components-layout-demo-fixed-sider"
>
<a-layout-sider
width=
"256"
style=
"background: white"
>
<a-layout-sider
width=
"256"
style=
"background: white"
>
<div
class=
"text-center text-lg my-3"
>
普惠金融后
台
</div>
<div
class=
"text-center text-lg my-3"
>
中小企业协会综合服务平
台
</div>
<a-menu
<a-menu
style=
"width: 256px"
style=
"width: 256px"
:open-keys
.
sync=
"openKeys"
:open-keys
.
sync=
"openKeys"
...
...
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