Compare commits
3 Commits
ba1d0ced53
...
1125813573
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1125813573 | ||
|
|
dabc0af7b1 | ||
|
|
e13db9fa5e |
@@ -21,3 +21,6 @@
|
||||
|
||||
# 水感应正式-存放路径
|
||||
oss://douhuo-agent/
|
||||
|
||||
# 运行 yarn run dev
|
||||
# 打包 yarn build
|
||||
|
||||
BIN
public/favicon.ico
vendored
BIN
public/favicon.ico
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 894 B |
BIN
public/logo.png
vendored
BIN
public/logo.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 301 KiB After Width: | Height: | Size: 6.6 KiB |
10
src/api/permissions.js
Normal file
10
src/api/permissions.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 用户列表
|
||||
export function getList (parameter) {
|
||||
return request({
|
||||
url: '/middles/user/children',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
@@ -1,113 +0,0 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
const api = {
|
||||
staffCan: '/staff/can',
|
||||
staffDeparts: '/staff/departs',
|
||||
staffDepartsUser: '/staff/users',
|
||||
addPreDepartUser: '/staff/users/create',
|
||||
addDepartsUser: '/staff/users',
|
||||
editDepartsUser: '/staff/users/{staff_id}',
|
||||
delDepartsUser: '/staff/users/{staff_id}',
|
||||
getDepartsUser: '/staff/users',
|
||||
getDepartsOrder: '/staff/addresses',
|
||||
getDefaultUserInfo: '/staff/users/{staff_id}/edit'
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 判断是否能查看订单与权限
|
||||
*/
|
||||
export function staffCan () {
|
||||
return request({
|
||||
url: api.staffCan
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 用户组织架构
|
||||
*/
|
||||
export function staffDeparts () {
|
||||
return request({
|
||||
url: api.staffDeparts
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 我的组织列表
|
||||
*/
|
||||
export function staffDepartsUser () {
|
||||
return request({
|
||||
url: api.staffDepartsUser
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 组织下用户列表
|
||||
*/
|
||||
export function getDepartsUser (parameter) {
|
||||
return request({
|
||||
url: api.getDepartsUser,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
/**
|
||||
* @returns 组织下待指派订单列表
|
||||
*/
|
||||
export function getDepartsOrder (parameter) {
|
||||
return request({
|
||||
url: api.getDepartsOrder,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 我的用户新增前置获取下级身份
|
||||
*/
|
||||
export function addPreDepartUser (parameter) {
|
||||
return request({
|
||||
url: api.addPreDepartUser,
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 组织下增加用户操作
|
||||
*/
|
||||
export function addDepartsUser (parameter) {
|
||||
return request({
|
||||
url: api.addDepartsUser,
|
||||
method: 'POST',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 组织下修改用户操作
|
||||
*/
|
||||
export function editDepartsUser (staffId, parameter) {
|
||||
return request({
|
||||
url: api.editDepartsUser.replace('{staff_id}', staffId),
|
||||
method: 'PUT',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 组织下删除用户操作
|
||||
*/
|
||||
export function delDepartsUser (staffId) {
|
||||
return request({
|
||||
url: api.delDepartsUser.replace('{staff_id}', staffId),
|
||||
method: 'DELETE'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns 组织下用户修改前置
|
||||
*/
|
||||
export function getDefaultUserInfo (staffId) {
|
||||
return request({
|
||||
url: api.getDefaultUserInfo.replace('{staff_id}', staffId)
|
||||
})
|
||||
}
|
||||
26
src/api/user.js
Normal file
26
src/api/user.js
Normal file
@@ -0,0 +1,26 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 用户列表
|
||||
export function getMiddlesUser (parameter) {
|
||||
return request({
|
||||
url: '/middles/user/children',
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
// 添加用户
|
||||
export function addMiddlesUser (parameter) {
|
||||
return request({
|
||||
url: '/middles/user/add_user',
|
||||
method: 'post',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
// 更新推荐人
|
||||
export function editMiddlesUser (parameter) {
|
||||
return request({
|
||||
url: '/middles/user/change_parent/' + parameter.user_id,
|
||||
method: 'post',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 6.6 KiB |
@@ -14,6 +14,10 @@
|
||||
<a-icon type="lock" />
|
||||
修改密码
|
||||
</a-menu-item>
|
||||
<!-- <a-menu-item key="changePermission" @click="goPermission">
|
||||
<a-icon type="setting" />
|
||||
权限管理
|
||||
</a-menu-item> -->
|
||||
<a-menu-item key="logout" @click="handleLogout">
|
||||
<a-icon type="logout" />
|
||||
退出登录
|
||||
@@ -97,11 +101,6 @@ export default {
|
||||
this.$router.push({ name: 'PermissionsIndex' })
|
||||
}
|
||||
},
|
||||
handleToCenter () {
|
||||
if (this.$route.name !== 'UserCenter') {
|
||||
this.$router.push({ name: 'UserCenter' })
|
||||
}
|
||||
},
|
||||
handleToSettings () {
|
||||
if (this.$route.name !== 'SecuritySettings') {
|
||||
this.$router.push({ name: 'SecuritySettings' })
|
||||
|
||||
@@ -13,7 +13,7 @@ import {
|
||||
import detail from './routes/detail'
|
||||
import stock from './routes/stock'
|
||||
import user from './routes/user'
|
||||
import coupon from './routes/coupon'
|
||||
// import coupon from './routes/coupon'
|
||||
import permission from './routes/permission'
|
||||
import sales from './routes/sales'
|
||||
import cityExperienceOfficer from './routes/cityExperienceOfficer'
|
||||
@@ -42,7 +42,7 @@ export const asyncRouterMap = [{
|
||||
...stock,
|
||||
...sales,
|
||||
...user,
|
||||
...coupon,
|
||||
// ...coupon,
|
||||
...permission
|
||||
]
|
||||
},
|
||||
|
||||
@@ -12,6 +12,7 @@ export default [
|
||||
path: '/permissions/index',
|
||||
name: 'PermissionsIndex',
|
||||
component: () => import('@/views/permissions/Index'),
|
||||
hidden: true,
|
||||
meta: {
|
||||
title: '权限管理',
|
||||
icon: 'cluster'
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<template v-slot:menuHeaderRender>
|
||||
<div>
|
||||
<!-- <img v-if="logo!= ''" :src="logo" /> -->
|
||||
<img src="~@/assets/logo.png" />
|
||||
<img style="border-radius: 50%;" src="~@/assets/logo.png" />
|
||||
<h1>{{ title }} </h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -224,6 +224,7 @@ export default {
|
||||
from.name === 'StockIn' ||
|
||||
from.name === 'DealerIn' ||
|
||||
from.name === 'DealerOut' ||
|
||||
from.name === 'UserIndex' ||
|
||||
from.name === 'SalesOnline' ||
|
||||
from.name === 'SalesStock')
|
||||
) {
|
||||
|
||||
@@ -1,42 +1,35 @@
|
||||
<template>
|
||||
<page-header-wrapper v-if="loading" :title="pageTitle">
|
||||
<page-header-wrapper>
|
||||
<!-- 有操作权限 -->
|
||||
<!-- v-if="$store.getters.hasPromissionsShow.permission" -->
|
||||
<a-card :bordered="false" class="card">
|
||||
<a-row>
|
||||
<a-col :span="24" v-if="queryParam.state == 'role'">
|
||||
<a-col :span="24">
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="用户角色">
|
||||
<a-select
|
||||
label-in-value
|
||||
default-value=""
|
||||
placeholder="请选择"
|
||||
@change="handleRoleChange">
|
||||
<a-select-option
|
||||
v-for="item in departs"
|
||||
:key="item.key"
|
||||
:value="item.key">{{ item.title }}</a-select-option>
|
||||
<a-select placeholder="请选择" v-model="queryParam.identity_id">
|
||||
<a-select-option v-for="item in indentitys" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="用户姓名">
|
||||
<a-input v-model="userQueryParam.name" placeholder="" />
|
||||
<a-input v-model="queryParam.name" placeholder="" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-form-item label="用户手机">
|
||||
<a-input v-model="userQueryParam.username" placeholder="" />
|
||||
<a-input v-model="queryParam.username" placeholder="" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button type="primary" @click="$refs.table.refresh(true)">查询</a-button>
|
||||
<a-button class="ml8" type="primary" @click="addPromissions">新增</a-button>
|
||||
<a-button
|
||||
class="ml8"
|
||||
@click="() => ((this.queryParam = { state: 'role' }), $refs.table.refresh(true))">重置</a-button>
|
||||
<a-button class="ml8" @click="resetSearch" >重置</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
@@ -44,11 +37,11 @@
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="loadData"
|
||||
:rowKey="(row) => row.staff_id"
|
||||
:rowKey="row => row.user.user_id"
|
||||
showPagination="auto"
|
||||
bordered
|
||||
size="default">
|
||||
|
||||
size="default"
|
||||
>
|
||||
<div slot="name" slot-scope="text, record">
|
||||
<div>{{ record.name }}</div>
|
||||
<div>{{ record.username }}</div>
|
||||
@@ -69,26 +62,24 @@
|
||||
title="是否确认删除该角色?"
|
||||
ok-text="OK"
|
||||
cancel-text="NO"
|
||||
@confirm="delPromissions(record)">
|
||||
@confirm="delPromissions(record)"
|
||||
>
|
||||
<a>删除</a>
|
||||
</a-popconfirm>
|
||||
</div>
|
||||
</s-table>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</a-card>
|
||||
<!-- 没有操作权限限制 -->
|
||||
<!-- <NoPromissions v-else /> -->
|
||||
<!-- <NoPromissions /> -->
|
||||
</page-header-wrapper>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { STable, UserInfo } from '@/components'
|
||||
import DeriveButton from '@/components/OrderDetailInfo/DeriveButton'
|
||||
import {
|
||||
staffDeparts, delDepartsUser, getDepartsUser, getDepartsOrder
|
||||
} from '@/api/promissions'
|
||||
import { getList } from '@/api/permissions'
|
||||
import AddPromissions from './modules/AddPromissions'
|
||||
import EditPromissions from './modules/EditPromissions'
|
||||
import AssignmentChange from './modules/AssignmentChange'
|
||||
@@ -100,7 +91,8 @@ const columns = [
|
||||
dataIndex: 'staff_id',
|
||||
align: 'center',
|
||||
width: 120
|
||||
}, {
|
||||
},
|
||||
{
|
||||
title: '用户姓名',
|
||||
key: 'name',
|
||||
scopedSlots: { customRender: 'name' },
|
||||
@@ -113,12 +105,6 @@ const columns = [
|
||||
align: 'center',
|
||||
width: 160
|
||||
},
|
||||
// {
|
||||
// title: '待处理订单',
|
||||
// scopedSlots: { customRender: 'status' },
|
||||
// // width: 400,
|
||||
// align: 'center'
|
||||
// },
|
||||
{
|
||||
title: '创建时间',
|
||||
dataIndex: 'created_at',
|
||||
@@ -147,97 +133,56 @@ export default {
|
||||
data () {
|
||||
this.columns = columns
|
||||
return {
|
||||
dataList: [],
|
||||
tabsList: [
|
||||
{ key: 'role', tab: '权限管理-新增身份' }
|
||||
],
|
||||
pageTitle: '权限管理-新增身份',
|
||||
tabActiveKey: 'role',
|
||||
promissions: [], // 权限列表
|
||||
departs: [],
|
||||
indentitys: [
|
||||
{ id: 1, name: '普通用户' },
|
||||
{ id: 2, name: 'VIP' },
|
||||
{ id: 4, name: '创客' },
|
||||
{ id: 6, name: '代理商' }
|
||||
], // 业务类型
|
||||
queryParam: {
|
||||
state: 'role',
|
||||
phone: '',
|
||||
nickname: '',
|
||||
type: ''
|
||||
identity_id: undefined,
|
||||
name: undefined,
|
||||
username: undefined
|
||||
},
|
||||
userQueryParam: {
|
||||
name: '',
|
||||
username: '',
|
||||
key: ''
|
||||
},
|
||||
listCount: 0,
|
||||
loading: false,
|
||||
permission: false, // 展示展示分配权限
|
||||
dispatch: false, // 可展示可指派订单
|
||||
loadData: (parameter) => {
|
||||
loadData: parameter => {
|
||||
const requestParameters = Object.assign({}, parameter, this.queryParam)
|
||||
const userQueryParams = Object.assign({}, parameter, this.userQueryParam)
|
||||
return this.tabActiveKey === 'role' ? getDepartsUser(userQueryParams) : getDepartsOrder(requestParameters)
|
||||
return getList(requestParameters)
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
$route (to, from) {
|
||||
if (
|
||||
(from.name === 'Detail' && to.name === 'SignInrderIndex') ||
|
||||
(from.name === 'DetailLogistics' && to.name === 'SignInrderIndex') ||
|
||||
(from.name === 'Home' && to.name === 'SignInrderIndex') ||
|
||||
(from.name === 'AssignrderIndex' && to.name === 'SignInrderIndex') ||
|
||||
(from.name === 'FristCheckrderIndex' && to.name === 'SignInrderIndex') ||
|
||||
(from.name === 'ReCheckrderIndex' && to.name === 'SignInrderIndex') ||
|
||||
(from.name === 'HandleService' && to.name === 'SignInrderIndex') ||
|
||||
(from.name === 'CompleteOrder' && to.name === 'SignInrderIndex')
|
||||
) {
|
||||
this.$refs.table.loadData()
|
||||
console.log(to.name, from.name)
|
||||
}
|
||||
}
|
||||
},
|
||||
activated () {
|
||||
this.staffDeparts()
|
||||
},
|
||||
methods: {
|
||||
// 获取当前用户的组织
|
||||
staffDeparts () {
|
||||
this.loading = true
|
||||
staffDeparts().then(res => {
|
||||
console.log(res)
|
||||
this.promissions = res
|
||||
this.loading = true
|
||||
if (res.length > 0) {
|
||||
this.departs = [{ key: '', title: '全部角色' }, ...res[0].departs]
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
},
|
||||
// 角色更改
|
||||
handleRoleChange (e) {
|
||||
this.userQueryParam.key = e.key
|
||||
// this.$refs.table.refresh(true) // 从第一页开始刷新
|
||||
},
|
||||
handleTabChange (key) {
|
||||
this.tabActiveKey = key
|
||||
this.queryParam.state = key
|
||||
this.$refs.table.refresh(true) // 刷新列表
|
||||
this.pageTitle = this.tabsList.find((item) => item.key === key).tab
|
||||
},
|
||||
// 确认删除权限
|
||||
delPromissions (item) {
|
||||
delDepartsUser(item.staff_id).then(res => {
|
||||
// delDepartsUser(item.staff_id).then(res => {
|
||||
this.$refs.table.loadData()
|
||||
this.$notification.success({
|
||||
message: '成功',
|
||||
description: '删除成功'
|
||||
})
|
||||
this.staffDeparts()
|
||||
}).catch(err => {
|
||||
this.$notification.error(err)
|
||||
})
|
||||
// }).catch(err => {
|
||||
// this.$notification.error(err)
|
||||
// })
|
||||
},
|
||||
// 重置搜索列表
|
||||
resetSearch () {
|
||||
this.queryParam = {
|
||||
username: undefined,
|
||||
name: undefined,
|
||||
identity_id: undefined
|
||||
}
|
||||
this.$refs.table.refresh(true) // 重置接口且刷先到第一页
|
||||
},
|
||||
// 新增权限
|
||||
addPromissions () {
|
||||
this.$dialog(AddPromissions,
|
||||
this.$dialog(
|
||||
AddPromissions,
|
||||
{
|
||||
on: {
|
||||
ok: () => {
|
||||
@@ -258,7 +203,8 @@ export default {
|
||||
},
|
||||
// 编辑权限
|
||||
EditPromissions (item) {
|
||||
this.$dialog(EditPromissions,
|
||||
this.$dialog(
|
||||
EditPromissions,
|
||||
{
|
||||
item,
|
||||
on: {
|
||||
@@ -285,8 +231,8 @@ export default {
|
||||
orderId: this.id,
|
||||
type: this.promissions
|
||||
}
|
||||
this.$dialog(AssignmentChange
|
||||
,
|
||||
this.$dialog(
|
||||
AssignmentChange,
|
||||
{
|
||||
order,
|
||||
on: {
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { addPreDepartUser, addDepartsUser } from '@/api/promissions'
|
||||
// import { addPreDepartUser, addDepartsUser } from '@/api/permissions'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: 'OperationAdd',
|
||||
@@ -66,13 +66,13 @@ export default {
|
||||
methods: {
|
||||
moment,
|
||||
getBase (key) {
|
||||
addPreDepartUser({ key: key }).then(res => {
|
||||
if (key === '') {
|
||||
this.permission = res.permission
|
||||
} else {
|
||||
this.users = res.users
|
||||
}
|
||||
})
|
||||
// addPreDepartUser({ key: key }).then(res => {
|
||||
// if (key === '') {
|
||||
// this.permission = res.permission
|
||||
// } else {
|
||||
// this.users = res.users
|
||||
// }
|
||||
// })
|
||||
},
|
||||
handleRoleChange (value) {
|
||||
this.getBase(value + '')
|
||||
@@ -83,19 +83,19 @@ export default {
|
||||
values.password = values.password || '111111'
|
||||
console.log(values)
|
||||
if (!errors) {
|
||||
addDepartsUser(values).then((res) => {
|
||||
this.$notification.success({
|
||||
message: '成功',
|
||||
description: '添加成功'
|
||||
})
|
||||
resolve(true)
|
||||
}).catch((err) => {
|
||||
this.$notification.error({
|
||||
message: '失败',
|
||||
description: err.message
|
||||
})
|
||||
resolve(false)
|
||||
})
|
||||
// addDepartsUser(values).then((res) => {
|
||||
// this.$notification.success({
|
||||
// message: '成功',
|
||||
// description: '添加成功'
|
||||
// })
|
||||
// resolve(true)
|
||||
// }).catch((err) => {
|
||||
// this.$notification.error({
|
||||
// message: '失败',
|
||||
// description: err.message
|
||||
// })
|
||||
// resolve(false)
|
||||
// })
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { addPreDepartUser, editDepartsUser, getDefaultUserInfo } from '@/api/promissions'
|
||||
// import { addPreDepartUser, editDepartsUser, getDefaultUserInfo } from '@/api/permissions'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: 'EditPromissions',
|
||||
@@ -74,37 +74,37 @@ export default {
|
||||
},
|
||||
mounted () {
|
||||
this.getBase('')
|
||||
getDefaultUserInfo(this.item.staff_id).then(res => {
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue({
|
||||
name: res.name,
|
||||
username: res.username
|
||||
// role: res.type.key
|
||||
// address: res.address
|
||||
})
|
||||
this.defaultRoleKey = res.type.key
|
||||
this.defaultRoleName = res.type.text
|
||||
this.defaultParentsKey = res.parent_id
|
||||
})
|
||||
this.getBase(res.type.key)
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
// getDefaultUserInfo(this.item.staff_id).then(res => {
|
||||
// this.$nextTick(() => {
|
||||
// this.form.setFieldsValue({
|
||||
// name: res.name,
|
||||
// username: res.username
|
||||
// // role: res.type.key
|
||||
// // address: res.address
|
||||
// })
|
||||
// this.defaultRoleKey = res.type.key
|
||||
// this.defaultRoleName = res.type.text
|
||||
// this.defaultParentsKey = res.parent_id
|
||||
// })
|
||||
// this.getBase(res.type.key)
|
||||
// }).catch(err => {
|
||||
// console.log(err)
|
||||
// })
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
getBase (key) {
|
||||
addPreDepartUser({ key: key }).then(res => {
|
||||
if (key === '') {
|
||||
this.permissions = res.permission
|
||||
} else {
|
||||
this.users = res.users
|
||||
const index = res.users.findIndex(item => item.staff_id === this.defaultParentsKey)
|
||||
if (index >= 0) {
|
||||
this.defaultParentsName = res.users[index].name + '(' + res.users[index].type + ')' + res.users[index].username
|
||||
}
|
||||
}
|
||||
})
|
||||
// addPreDepartUser({ key: key }).then(res => {
|
||||
// if (key === '') {
|
||||
// this.permissions = res.permission
|
||||
// } else {
|
||||
// this.users = res.users
|
||||
// const index = res.users.findIndex(item => item.staff_id === this.defaultParentsKey)
|
||||
// if (index >= 0) {
|
||||
// this.defaultParentsName = res.users[index].name + '(' + res.users[index].type + ')' + res.users[index].username
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
},
|
||||
handleRoleChange (value) {
|
||||
this.getBase(value + '')
|
||||
@@ -119,27 +119,27 @@ export default {
|
||||
onOk () {
|
||||
return new Promise(resolve => {
|
||||
this.form.validateFields((errors, values) => {
|
||||
const data = {
|
||||
name: values.name,
|
||||
password: values.password || '111111',
|
||||
username: values.username,
|
||||
role: this.defaultRoleKey || values.role,
|
||||
parent_id: this.defaultParentsKey || values.parent_id
|
||||
}
|
||||
// const data = {
|
||||
// name: values.name,
|
||||
// password: values.password || '111111',
|
||||
// username: values.username,
|
||||
// role: this.defaultRoleKey || values.role,
|
||||
// parent_id: this.defaultParentsKey || values.parent_id
|
||||
// }
|
||||
if (!errors) {
|
||||
editDepartsUser(this.item.staff_id, data).then((res) => {
|
||||
this.$notification.success({
|
||||
message: '成功',
|
||||
description: '修改成功'
|
||||
})
|
||||
resolve(true)
|
||||
}).catch((err) => {
|
||||
this.$notification.error({
|
||||
message: '失败',
|
||||
description: err.message
|
||||
})
|
||||
resolve(false)
|
||||
})
|
||||
// editDepartsUser(this.item.staff_id, data).then((res) => {
|
||||
// this.$notification.success({
|
||||
// message: '成功',
|
||||
// description: '修改成功'
|
||||
// })
|
||||
// resolve(true)
|
||||
// }).catch((err) => {
|
||||
// this.$notification.error({
|
||||
// message: '失败',
|
||||
// description: err.message
|
||||
// })
|
||||
// resolve(false)
|
||||
// })
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -166,6 +166,7 @@ export default {
|
||||
from.name === 'StockIn' ||
|
||||
from.name === 'DealerIn' ||
|
||||
from.name === 'DealerOut' ||
|
||||
from.name === 'UserIndex' ||
|
||||
from.name === 'SalesOnline' ||
|
||||
from.name === 'SalesStock')
|
||||
) {
|
||||
|
||||
@@ -171,6 +171,7 @@ export default {
|
||||
from.name === 'StockIn' ||
|
||||
from.name === 'DealerIn' ||
|
||||
from.name === 'DealerOut' ||
|
||||
from.name === 'UserIndex' ||
|
||||
from.name === 'SalesOnline' ||
|
||||
from.name === 'SalesStock')
|
||||
) {
|
||||
|
||||
@@ -181,6 +181,7 @@ export default {
|
||||
from.name === 'StockIn' ||
|
||||
from.name === 'DealerIn' ||
|
||||
from.name === 'DealerOut' ||
|
||||
from.name === 'UserIndex' ||
|
||||
from.name === 'SalesOnline' ||
|
||||
from.name === 'SalesStock')
|
||||
) {
|
||||
|
||||
@@ -179,6 +179,7 @@ export default {
|
||||
from.name === 'StockIn' ||
|
||||
from.name === 'DealerIn' ||
|
||||
from.name === 'DealerOut' ||
|
||||
from.name === 'UserIndex' ||
|
||||
from.name === 'SalesOnline' ||
|
||||
from.name === 'SalesStock')
|
||||
) {
|
||||
|
||||
@@ -131,6 +131,7 @@ export default {
|
||||
from.name === 'DealerIn' ||
|
||||
from.name === 'DealerOut' ||
|
||||
from.name === 'SalesOnline' ||
|
||||
from.name === 'UserIndex' ||
|
||||
from.name === 'SalesStock')
|
||||
) {
|
||||
this.$refs.table.loadData()
|
||||
|
||||
@@ -176,6 +176,7 @@ export default {
|
||||
from.name === 'DealerIn' ||
|
||||
from.name === 'DealerOut' ||
|
||||
from.name === 'SalesOnline' ||
|
||||
from.name === 'UserIndex' ||
|
||||
from.name === 'SalesStock')
|
||||
) {
|
||||
this.$refs.table.loadData()
|
||||
|
||||
@@ -7,23 +7,18 @@
|
||||
<a-row :gutter="48">
|
||||
<a-col :md="8" :sm="24">
|
||||
<a-form-item label="用户昵称">
|
||||
<a-input v-model="queryParam.order_no" placeholder="用户昵称" />
|
||||
<a-input v-model="queryParam.nickname" placeholder="用户昵称" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="8" :sm="24">
|
||||
<a-form-item label="用户昵称">
|
||||
<a-input v-model="queryParam.item_id" placeholder="用户昵称" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="8" :sm="24">
|
||||
<a-form-item label="顶点账号">
|
||||
<a-input v-model="queryParam.item_id" placeholder="顶点账号" />
|
||||
<a-form-item label="用户手机号">
|
||||
<a-input v-model="queryParam.username" placeholder="用户手机号" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="8" :sm="24">
|
||||
<a-form-item label="身份筛选" has-feedback>
|
||||
<a-select v-model="queryParam.business_type_id" @change="onBusinessChange" placeholder="身份筛选">
|
||||
<a-select-option v-for="item in businessArray" :key="item.id" :value="item.id">{{ item.title }}</a-select-option>
|
||||
<a-select v-model="queryParam.identity_id" placeholder="身份筛选">
|
||||
<a-select-option v-for="item in indentitys" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -31,13 +26,6 @@
|
||||
<a-button type="primary" @click="search"><a-icon type="search" />搜索</a-button>
|
||||
<a-button class="ml8" type="primary" @click="onAddRole"><a-icon type="plus" />新增</a-button>
|
||||
<a-button class="ml8" @click="resetSearch"><a-icon type="undo" />重置</a-button>
|
||||
<a-button
|
||||
v-if="exports_can"
|
||||
class="ml8"
|
||||
type="dashed"
|
||||
shape="round"
|
||||
icon="download"
|
||||
@click="exports"/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
@@ -50,16 +38,22 @@
|
||||
ref="table"
|
||||
:columns="columns"
|
||||
:data="loadData"
|
||||
:rowKey="(row) => row.order_item_id"
|
||||
:rowKey="(row) => row.user.user_id"
|
||||
showPagination="auto"
|
||||
bordered
|
||||
size="default"
|
||||
:scroll="{ x: 1200, y: 1000 }">
|
||||
<!-- 申请用户 实习顾问 法务老师 -->
|
||||
<div slot="user" slot-scope="text, record" style="color: #1890ff">
|
||||
<div>{{ record.user }}</div>
|
||||
<div slot="user_id" slot-scope="text, record">{{ record.user.user_id }}</div>
|
||||
<div slot="nickname" slot-scope="text, record" >{{ record.user.nickname || '-' }}</div>
|
||||
<div slot="name" slot-scope="text, record">{{ record.user.name || '-' }}</div>
|
||||
<div slot="username" slot-scope="text, record">{{ record.user.username || '-' }}</div>
|
||||
<div slot="identity" slot-scope="text, record">
|
||||
<img v-if="record.identity&& record.identity.cover" :src="record.identity.cover" alt="" style="width:60px">
|
||||
<span v-else> {{ record.identity.name }}</span>
|
||||
</div>
|
||||
<!-- 创建时间 -->
|
||||
<div slot="invite" slot-scope="text, record" style="color: #1890ff">{{ record.user.invite || '-' }}</div>
|
||||
<div slot="parent" slot-scope="text, record">{{ record.parent.nickname }}<div>{{ record.parent.username }}</div></div>
|
||||
|
||||
<span slot="created_at" slot-scope="text, record">{{ record.created_at }}</span>
|
||||
<!-- 操作 -->
|
||||
<div slot="actions" slot-scope="text, record">
|
||||
@@ -73,22 +67,16 @@
|
||||
<script>
|
||||
import { STable, UserInfo } from '@/components'
|
||||
import DeriveButton from '@/components/OrderDetailInfo/DeriveButton'
|
||||
import { institutionsExports } from '@/api/storage'
|
||||
import moment from 'moment'
|
||||
import {
|
||||
getList,
|
||||
init,
|
||||
canExport
|
||||
} from '@/api/organization'
|
||||
import storage from 'store'
|
||||
import { getMiddlesUser } from '@/api/user'
|
||||
import EditInvite from './widgets/EditInvite.vue'
|
||||
import AddRole from './widgets/AddRole.vue'
|
||||
import AddUser from './widgets/AddUser.vue'
|
||||
|
||||
// 列表规格
|
||||
const columns = [
|
||||
{
|
||||
title: '用户id',
|
||||
dataIndex: 'order_id',
|
||||
title: '用户ID',
|
||||
scopedSlots: { customRender: 'user_id' },
|
||||
align: 'center',
|
||||
width: 80
|
||||
},
|
||||
@@ -97,36 +85,31 @@ const columns = [
|
||||
children: [
|
||||
{
|
||||
title: '昵称',
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
scopedSlots: { customRender: 'nickname' },
|
||||
align: 'center',
|
||||
width: 200
|
||||
},
|
||||
{
|
||||
title: '真实姓名',
|
||||
dataIndex: 'name1',
|
||||
key: 'name1',
|
||||
scopedSlots: { customRender: 'name' },
|
||||
align: 'center',
|
||||
width: 140
|
||||
},
|
||||
{
|
||||
title: '用户手机',
|
||||
dataIndex: 'name23',
|
||||
key: 'name23',
|
||||
scopedSlots: { customRender: 'username' },
|
||||
align: 'center',
|
||||
width: 140
|
||||
},
|
||||
{
|
||||
title: '身份',
|
||||
dataIndex: 'name2',
|
||||
key: 'name2',
|
||||
scopedSlots: { customRender: 'identity' },
|
||||
align: 'center',
|
||||
width: 140
|
||||
},
|
||||
{
|
||||
title: '邀请码',
|
||||
dataIndex: 'name554',
|
||||
key: 'name5',
|
||||
scopedSlots: { customRender: 'invite' },
|
||||
align: 'center',
|
||||
width: 140
|
||||
}
|
||||
@@ -136,7 +119,7 @@ const columns = [
|
||||
},
|
||||
{
|
||||
title: '推荐人手机号',
|
||||
dataIndex: 'user22',
|
||||
scopedSlots: { customRender: 'parent' },
|
||||
width: 140,
|
||||
align: 'center'
|
||||
},
|
||||
@@ -144,8 +127,7 @@ const columns = [
|
||||
title: '注册时间',
|
||||
dataIndex: 'created_at',
|
||||
width: 200,
|
||||
align: 'center',
|
||||
sorter: true
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
@@ -166,82 +148,43 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
exports_can: false,
|
||||
columns,
|
||||
searchType: false, // 展示全部的搜索
|
||||
businessArray: [], // 业务类型
|
||||
statusArray: [], // 机构列表
|
||||
|
||||
indentitys: [
|
||||
{ id: 1, name: '普通用户' },
|
||||
{ id: 2, name: 'VIP' },
|
||||
{ id: 4, name: '创客' },
|
||||
{ id: 6, name: '代理商' }
|
||||
], // 业务类型
|
||||
queryParam: {
|
||||
order_no: '', // 订单编号
|
||||
institution: '', // 机构名称
|
||||
item_id: '', // 机构编号
|
||||
nickname: '', // 下单人
|
||||
business_type_id: '', // 业务类型
|
||||
status: '', // 机构状态
|
||||
paid_at: undefined, // 下单时间
|
||||
audit_at: undefined, // 执行时间
|
||||
settle_at: undefined // 结案时间
|
||||
username: undefined,
|
||||
nickname: undefined,
|
||||
identity_id: undefined
|
||||
},
|
||||
listCount: 0,
|
||||
loadData: (parameter) => {
|
||||
const requestParameters = Object.assign({}, parameter, this.queryParam)
|
||||
return getList(requestParameters)
|
||||
return getMiddlesUser(requestParameters)
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
$route (to, from) {
|
||||
if (
|
||||
(from.name === 'Detail' && to.name === 'FristCheckrderIndex') ||
|
||||
(from.name === 'Home' && to.name === 'FristCheckrderIndex') ||
|
||||
(from.name === 'AssignrderIndex' && to.name === 'FristCheckrderIndex') ||
|
||||
(from.name === 'SignInrderIndex' && to.name === 'FristCheckrderIndex') ||
|
||||
(from.name === 'ReCheckrderIndex' && to.name === 'FristCheckrderIndex') ||
|
||||
(from.name === 'HandleService' && to.name === 'FristCheckrderIndex') ||
|
||||
(from.name === 'CompleteOrder' && to.name === 'FristCheckrderIndex')
|
||||
if (to.name === 'UserIndex' && (
|
||||
from.name === 'Home' ||
|
||||
from.name === 'cityExperienceOfficer' ||
|
||||
from.name === 'StockOut' ||
|
||||
from.name === 'StockIn' ||
|
||||
from.name === 'DealerIn' ||
|
||||
from.name === 'DealerOut' ||
|
||||
from.name === 'SalesOnline' ||
|
||||
from.name === 'SalesStock')
|
||||
) {
|
||||
this.$refs.table.loadData()
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.init()
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
// 获取检索的基本样式
|
||||
init () {
|
||||
init().then(res => {
|
||||
this.statusArray = res.status // 机构状态
|
||||
this.businessArray = res.type // 业务类型
|
||||
this.canExports()
|
||||
})
|
||||
},
|
||||
// 更改创建时间
|
||||
onCreateChange (dates, dateStrings) {
|
||||
this.queryParam.paid_at = dateStrings
|
||||
},
|
||||
// 更改执行时间
|
||||
onCarryChange (dates, dateStrings) {
|
||||
this.queryParam.audit_at = dateStrings
|
||||
},
|
||||
// 更改结案时间
|
||||
onSettleChange (dates, dateStrings) {
|
||||
this.queryParam.settle_at = dateStrings
|
||||
},
|
||||
// 处理状态
|
||||
onDisposeChange (e) {
|
||||
this.queryParam.dispose = e
|
||||
},
|
||||
// 业务类型
|
||||
onBusinessChange (e) {
|
||||
this.queryParam.business_type_id = e
|
||||
},
|
||||
// 机构状态
|
||||
onOrganizationChange (e) {
|
||||
this.queryParam.status = e
|
||||
},
|
||||
// 搜索列表
|
||||
search () {
|
||||
this.$refs.table.refresh(true) // 重置接口且刷先到第一页
|
||||
@@ -249,47 +192,14 @@ export default {
|
||||
// 重置搜索列表
|
||||
resetSearch () {
|
||||
this.queryParam = {
|
||||
order_no: '', // 订单编号
|
||||
institution: '', // 机构名称
|
||||
item_id: '', // 机构编号
|
||||
nickname: '', // 下单人
|
||||
business_type_id: '', // 业务类型
|
||||
status: '', // 机构状态
|
||||
paid_at: undefined, // 下单时间
|
||||
audit_at: undefined, // 执行时间
|
||||
settle_at: undefined// 结案时间
|
||||
username: undefined,
|
||||
nickname: undefined,
|
||||
identity_id: undefined
|
||||
}
|
||||
this.$refs.table.refresh(true) // 重置接口且刷先到第一页
|
||||
},
|
||||
// 机构是否能导出
|
||||
canExports () {
|
||||
console.log('canExports')
|
||||
canExport(storage.get('userid')).then(res => {
|
||||
this.exports_can = res.exports
|
||||
})
|
||||
},
|
||||
// 导出列表
|
||||
exports () {
|
||||
const params = this.queryParam
|
||||
params.audit_at = this.queryParam.audit_at || ''
|
||||
params.paid_at = this.queryParam.paid_at || ''
|
||||
params.settle_at = this.queryParam.settle_at || ''
|
||||
if (this.listCount > 0) {
|
||||
let downUrl = institutionsExports() + '?user_id=' + storage.get('userid')
|
||||
for (const key in params) {
|
||||
downUrl = downUrl + '&' + key + '=' + params[key]
|
||||
}
|
||||
window.open(downUrl)
|
||||
} else {
|
||||
this.$notification.error({
|
||||
message: '温馨提醒',
|
||||
description: '数据为空不能下载!'
|
||||
})
|
||||
}
|
||||
},
|
||||
// 新增用户
|
||||
onAddRole () {
|
||||
console.log('add....')
|
||||
const success = {
|
||||
title: '新增用户',
|
||||
width: 600,
|
||||
@@ -299,11 +209,10 @@ export default {
|
||||
cancelText: '取消'
|
||||
}
|
||||
this.$dialog(
|
||||
AddRole,
|
||||
AddUser,
|
||||
{
|
||||
on: {
|
||||
ok: () => {
|
||||
console.log('成功了。。')
|
||||
this.$refs.table.loadData()
|
||||
}
|
||||
}
|
||||
@@ -311,9 +220,8 @@ export default {
|
||||
success
|
||||
)
|
||||
},
|
||||
// 修改用户
|
||||
// 更改推荐人
|
||||
onEdit (item) {
|
||||
console.log(item)
|
||||
const success = {
|
||||
title: '更改推荐人',
|
||||
width: 600,
|
||||
@@ -328,7 +236,6 @@ export default {
|
||||
item,
|
||||
on: {
|
||||
ok: () => {
|
||||
console.log('成功了。。')
|
||||
this.$refs.table.loadData()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<a-form-item label="用户手机">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'phone',
|
||||
'mobile_no',
|
||||
{
|
||||
rules: [
|
||||
{ required: true, message: `请添加用户手机!`, type: 'string' },
|
||||
@@ -35,7 +35,7 @@
|
||||
<a-form-item label="推荐人信息">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'invite',
|
||||
'parent_mobile',
|
||||
{
|
||||
rules: [
|
||||
{ required: true, message: `请添加推荐人手机号!`, type: 'string' },
|
||||
@@ -49,9 +49,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { changeStatusTwo } from '@/api/organization'
|
||||
import { addMiddlesUser } from '@/api/user'
|
||||
export default {
|
||||
name: 'AddRole',
|
||||
name: 'AddUser',
|
||||
data: () => ({
|
||||
formItemLayout: {
|
||||
labelCol: { span: 6 },
|
||||
@@ -68,14 +68,10 @@ export default {
|
||||
this.form.validateFields((errors, values) => {
|
||||
console.log(values)
|
||||
if (!errors) {
|
||||
console.log(values)
|
||||
const params = {
|
||||
status: values.status
|
||||
}
|
||||
changeStatusTwo(this.item.order_item_id, params).then((res) => {
|
||||
addMiddlesUser(values).then((res) => {
|
||||
this.$notification.success({
|
||||
message: '成功',
|
||||
description: '修改成功'
|
||||
description: '新增成功'
|
||||
})
|
||||
resolve(true)
|
||||
}).catch((err) => {
|
||||
@@ -9,7 +9,7 @@
|
||||
<a-form-item label="推荐人信息" style="padding-top:30px;">
|
||||
<a-input
|
||||
v-decorator="[
|
||||
'name',
|
||||
'parent_mobile',
|
||||
{
|
||||
rules: [
|
||||
{ required: true, message: `请输入推荐人信息!`, type: 'string' },
|
||||
@@ -23,7 +23,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { changeStatusTwo } from '@/api/organization'
|
||||
import { editMiddlesUser } from '@/api/user'
|
||||
export default {
|
||||
name: 'EditRole',
|
||||
props: {
|
||||
@@ -48,16 +48,15 @@ export default {
|
||||
onOk () {
|
||||
return new Promise(resolve => {
|
||||
this.form.validateFields((errors, values) => {
|
||||
console.log(values)
|
||||
if (!errors) {
|
||||
console.log(values)
|
||||
const params = {
|
||||
status: values.status
|
||||
user_id: this.item.user.user_id,
|
||||
parent_mobile: values.parent_mobile
|
||||
}
|
||||
changeStatusTwo(this.item.order_item_id, params).then((res) => {
|
||||
editMiddlesUser(params).then((res) => {
|
||||
this.$notification.success({
|
||||
message: '成功',
|
||||
description: '修改成功'
|
||||
description: '修改推荐人成功'
|
||||
})
|
||||
resolve(true)
|
||||
}).catch((err) => {
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { addPreDepartUser, addDepartsUser } from '@/api/promissions'
|
||||
import { addPreDepartUser, addDepartsUser } from '@/api/permissions'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: 'DispatchOrder',
|
||||
@@ -131,3 +131,4 @@ export default {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
@/api/permissions
|
||||
Reference in New Issue
Block a user