Commit d47200df authored by Zhang Xiaojie's avatar Zhang Xiaojie

Merge branch 'dev' of gitlab.33.cn:CassiniatSaturn/fns_backend into dev

parents 5323a0b0 e2cdb1de
...@@ -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()
}, },
}, },
......
...@@ -21,17 +21,17 @@ ...@@ -21,17 +21,17 @@
{{ record.status | filterStatus }} {{ record.status | filterStatus }}
</span> </span>
<!-- 二级分行管理员 --> <!-- 二级分行管理员 -->
<span slot="secondaryManager" slot-scope="text,record"> <a @click="getSecondaryManageList(record.level, 1)">查看</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.level, 1)">查看</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.level)">查看</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.uuid)">查看</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.level, 1)">查看</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.level)">查看</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.uuid)">查看</a> </span> <span slot="secondarySubClient" slot-scope="text,record"> <a @click="getSecondarySubClientList(record.uuid)">查看</a> </span>
<!-- 操作 --> <!-- 操作 -->
...@@ -72,9 +72,9 @@ ...@@ -72,9 +72,9 @@
<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 { eUserStatusAction, eUserStatus } from '@/types/user' import { eUserStatusAction, eUserStatus } from '@/types/user'
import { eRole } from "@/types/role" 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'
...@@ -84,6 +84,7 @@ import { mapActions, mapMutations, mapState } from 'vuex' ...@@ -84,6 +84,7 @@ import { mapActions, mapMutations, mapState } from 'vuex'
// import Mixin from "@/views/Root/User/Mixin/index" // import Mixin from "@/views/Root/User/Mixin/index"
import StaffService from '@/service/StaffService' import StaffService from '@/service/StaffService'
import { message } from "ant-design-vue" import { message } from "ant-design-vue"
import { eAddManagerModalMode, eTypeOfOperatedObject } from "@/store/UserManagement/types"
const staff = new StaffService() const staff = new StaffService()
...@@ -149,17 +150,22 @@ export default Vue.extend({ ...@@ -149,17 +150,22 @@ export default Vue.extend({
}), }),
...mapActions('platformUserManagement', { ...mapActions('platformUserManagement', {
platformQuery: 'queryUser', platformQuery: 'queryUser',
platform: 'queryNext'
}), }),
getRouteQuery() { getRouteQuery() {
if (this.$route.query.rankVal) { if (this.$route.query.rankVal) {
const keys = JSON.parse(this.$route.query.rankVal as string) const keys = JSON.parse(this.$route.query.rankVal as string)
const level = this.$route.query.level const level = this.$route.query.level
const uuid = this.$route.query.uuid
const role = this.$route.query.role
this.params = { this.params = {
firstBranch: +keys[0]?.value || undefined, firstBranch: +keys[0]?.value || undefined,
firstSubBranch: +keys[2]?.value || undefined, firstSubBranch: +keys[2]?.value || undefined,
secondBranch: +keys[1]?.value || undefined, secondBranch: +keys[1]?.value || undefined,
secondSubBranch: +keys[3]?.value || undefined, secondSubBranch: +keys[3]?.value || undefined,
level level,
uuid,
role
} }
} else { } else {
this.params = { this.params = {
...@@ -171,7 +177,12 @@ export default Vue.extend({ ...@@ -171,7 +177,12 @@ export default Vue.extend({
this.platformSave({ this.platformSave({
...this.params ...this.params
}) })
this.platformQuery() const uuid = this.$route.query.uuid
if (uuid) {
this.platform()
} else {
this.platformQuery()
}
}, },
changeHandle(e: any) { changeHandle(e: any) {
this.platformSave({ this.platformSave({
...@@ -179,8 +190,41 @@ export default Vue.extend({ ...@@ -179,8 +190,41 @@ export default Vue.extend({
}) })
this.platformQuery() this.platformQuery()
}, },
deploy(record:staff){ deploy(record:iStaffQueryResItem){
(this.$refs.deployModal as any).showModal() 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
...@@ -234,25 +278,28 @@ export default Vue.extend({ ...@@ -234,25 +278,28 @@ export default Vue.extend({
this.show = false this.show = false
}, },
// 二级分行管理员 // 二级分行管理员
getSecondaryManageList(key:string){ getSecondaryManageList(key:string, uuid: string, count: number){
const role = count === 1 ? eNewRoleRelatedToBackEnd.Management : eNewRoleRelatedToBackEnd.ACM
this.platformSave({ this.platformSave({
page: 1 page: 1
}) })
this.$router.push({name:'secondary',query:{level: key, rankVal: this.$route.query.rankVal}}) 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){
const role = count === 1 ? eNewRoleRelatedToBackEnd.Management : eNewRoleRelatedToBackEnd.ACM
this.platformSave({ this.platformSave({
page: 1 page: 1
}) })
this.$router.push({name:'firstSub',query:{level: key, rankVal: this.$route.query.rankVal}}) 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){
const role = count === 1 ? eNewRoleRelatedToBackEnd.Management : eNewRoleRelatedToBackEnd.ACM
this.platformSave({ this.platformSave({
page: 1 page: 1
}) })
this.$router.push({name:'firstSubClientManager',query:{level: key, rankVal: this.$route.query.rankVal}}) this.$router.push({name:'firstSubClientManager',query:{level: key, rankVal: this.$route.query.rankVal, uuid, role}})
}, },
// 一级支行客户 // 一级支行客户
getFirstSubClientList(uuid:string){ getFirstSubClientList(uuid:string){
...@@ -262,18 +309,20 @@ export default Vue.extend({ ...@@ -262,18 +309,20 @@ export default Vue.extend({
this.$router.push({name:'firstSubClient',query:{uuid}}) this.$router.push({name:'firstSubClient',query:{uuid}})
}, },
// 二级支行管理员 // 二级支行管理员
getSecondarySubManagerList(key:string){ getSecondarySubManagerList(key:string, uuid: string, count: number){
const role = count === 1 ? eNewRoleRelatedToBackEnd.Management : eNewRoleRelatedToBackEnd.ACM
this.platformSave({ this.platformSave({
page: 1 page: 1
}) })
this.$router.push({name:'secondarySub',query:{level: key, rankVal: this.$route.query.rankVal}}) 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){
const role = count === 1 ? eNewRoleRelatedToBackEnd.Management : eNewRoleRelatedToBackEnd.ACM
this.platformSave({ this.platformSave({
page: 1 page: 1
}) })
this.$router.push({name:'secondarySubClientManager',query:{level: key, rankVal: this.$route.query.rankVal}}) this.$router.push({name:'secondarySubClientManager',query:{level: key, rankVal: this.$route.query.rankVal, uuid, role}})
}, },
// 二级支行客户 // 二级支行客户
getSecondarySubClientList(uuid:string){ getSecondarySubClientList(uuid:string){
......
...@@ -84,7 +84,7 @@ export default class StaffService { ...@@ -84,7 +84,7 @@ export default class StaffService {
return baseAxios<{data: any}>({ return baseAxios<{data: any}>({
url: '/staff/deploy', url: '/staff/deploy',
method: 'put', method: 'put',
params: data data: data
}) })
} }
...@@ -154,13 +154,24 @@ export default class StaffService { ...@@ -154,13 +154,24 @@ export default class StaffService {
}) })
} }
getNextLevel(data: {
uuid: string,
role: string
}) {
return baseAxios({
url: '/staff/next_level',
method: 'get',
params: data
})
}
getStaffList(data: { getStaffList(data: {
page: number, page: number,
page_size: number, page_size: number,
uuid: string uuid: string
}) { }) {
return baseAxios({ return baseAxios({
url: '/staff/users', url: '/staff/query/users',
method: 'get', method: 'get',
params: data params: data
}) })
......
...@@ -10,15 +10,15 @@ export default <Module<iUserManagementState, {}>>{ ...@@ -10,15 +10,15 @@ export default <Module<iUserManagementState, {}>>{
namespaced: true, namespaced: true,
state: { state: {
refreshMark: NaN, refreshMark: NaN,
modalShow: true, modalShow: false,
modalMode: eAddManagerModalMode.create, modalMode: eAddManagerModalMode.create,
typeOfOperatedObject: eTypeOfOperatedObject.manager, typeOfOperatedObject: eTypeOfOperatedObject.manager,
searchLevel: eLevel.secondary_branch, searchLevel: eLevel.secondary_branch,
branchDetailMsg: { branchDetailMsg: {
fb: 'zhejiang', // fb: 'zhejiang',
fb_id: 1, // fb_id: 1,
sb: 'hz', // sb: 'hz',
sb_id: 1, // sb_id: 1,
}, },
personalMsg: { personalMsg: {
name: '', name: '',
......
...@@ -34,11 +34,11 @@ export interface iPersonalMsg { ...@@ -34,11 +34,11 @@ export interface iPersonalMsg {
export interface iUserManagementState { export interface iUserManagementState {
modalShow: boolean modalShow: boolean
modalMode: eAddManagerModalMode modalMode: eAddManagerModalMode /* 模态框的形态 */
typeOfOperatedObject: eTypeOfOperatedObject | undefined typeOfOperatedObject: eTypeOfOperatedObject | undefined
searchLevel: eLevel | undefined searchLevel: eLevel | undefined /* 当前搜索的层级 */
branchDetailMsg: Partial<iBranchDetailMsg> branchDetailMsg: Partial<iBranchDetailMsg> /* 分支行搜索页面所选中的信息需要设在此处 */
personalMsg: iPersonalMsg personalMsg: iPersonalMsg /* 调配人员时 该人员的个人信息 */
address: string address: string /* 新地址 */
refreshMark: number refreshMark: number /* 供表格刷新的标记,组件监听refreshMark,若变化,则刷新表格 */
} }
...@@ -22,6 +22,8 @@ export default <Module<iPlatformModuleState, {}>>{ ...@@ -22,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) {
...@@ -72,6 +74,21 @@ export default <Module<iPlatformModuleState, {}>>{ ...@@ -72,6 +74,21 @@ export default <Module<iPlatformModuleState, {}>>{
} }
state.loading = false 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
})
} }
}, },
} }
...@@ -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
} }
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,
......
...@@ -402,19 +402,25 @@ export default Vue.extend({ ...@@ -402,19 +402,25 @@ export default Vue.extend({
} }
}, },
methods: { methods: {
async handleInput(e: Event){ async handleInput(e: Event) {
const ret = await handle建设银行excelFileChange(e) const ret = await handle建设银行excelFileChange(e);
StaffService.getInstance().import({ StaffService.getInstance().import({
staffs: ret as any staffs: ret as any,
}) });
}, },
getLalo() { getLalo() {
window.navigator.geolocation.getCurrentPosition((position) => { if ("geolocation" in window.navigator) {
this.formData.la = position.coords.latitude.toString(); window.navigator.geolocation.getCurrentPosition((position) => {
this.formData.lo = position.coords.longitude.toString(); this.formData.la = position.coords.latitude.toString();
const form = this.$refs.form as FormModel; this.formData.lo = position.coords.longitude.toString();
form.validateField(["la", "lo"], (err) => {}); 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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment