修改店铺的管理员设置界面

This commit is contained in:
zhl 2021-05-10 14:09:02 +08:00
parent 06b7acb751
commit f2a052799c
5 changed files with 74 additions and 6 deletions

2
.env
View File

@ -1 +1 @@
VUE_APP_BASE_API = 'http://127.0.0.1:2900'
VUE_APP_BASE_API = 'http://192.168.100.24:2900'

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
node_modules
.DS_Store
.idea
/dist/

View File

@ -1,5 +1,5 @@
{
"name": "vue-typescript-admin-template",
"name": "pyxis-fe",
"version": "1.0.0",
"private": true,
"scripts": {

View File

@ -20,6 +20,22 @@
/>
</el-select>
</el-form-item>
<el-form-item label="店铺" v-if="userLevel === 1">
<el-select
v-model="filterForm.department"
placeholder="所有"
class="w100"
>
<el-option value="">所有</el-option>
<el-option value="未指定">未指定</el-option>
<el-option
v-for="item in allDepts"
:key="item._id"
:label="item.name"
:value="item._id"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="search">查询</el-button>
<el-button @click="resetFilterForm">重置</el-button>
@ -48,6 +64,16 @@
{{row.showname}}({{row.username}})
</template>
</el-table-column>
<el-table-column
prop="department"
align="center"
label="店铺"
v-if="userLevel === 1"
>
<template slot-scope="{row}">
{{formatDept(row)}}
</template>
</el-table-column>
<el-table-column
prop="locked"
align="center"
@ -195,6 +221,27 @@
<el-radio-button :label="9">店铺</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item
label="店铺"
prop="department"
v-if="userLevel === 1"
>
<el-select
v-model="record.department"
:remote-method="getRemoteDeptList"
filterable
default-first-option
remote
placeholder=""
>
<el-option
v-for="(item) in deptListOptions"
:key="item._id"
:label="item.name"
:value="item._id"
/>
</el-select>
</el-form-item>
<el-form-item label="锁定" v-permission="['admin:lock']">
<el-switch v-model="record.locked"/>
</el-form-item>
@ -247,6 +294,7 @@ import {
import { IRole } from '@/views/system/role.vue'
import { IShopData } from '@/api/types'
import { UserModule } from '@/store/modules/user'
import { getShops } from '@/api/shop'
@Component({
name: 'ShopAdmin',
@ -300,7 +348,12 @@ export default class extends Vue {
}]
}
get userLevel() {
return UserModule.level
}
async created() {
this.allDepts = await this.getRemoteDeptList('')
await this.getRecords()
await this.getAllRole()
}
@ -372,7 +425,11 @@ export default class extends Vue {
private async getRecords() {
this.isLoad = true
const { data } = await getUsers({ dept: UserModule.department })
const reqParams: any = { level: 9 }
if (UserModule.level > 1) {
reqParams.dept = UserModule.department
}
const { data } = await getUsers(reqParams)
this.adminList = data
this.dataCount = data.length
this.sliceData()
@ -380,7 +437,7 @@ export default class extends Vue {
}
private async getAllRole() {
const { data } = await getRoles({ level: UserModule.level })
const { data } = await getRoles({ level: 9 })
this.roleList = data
}
@ -410,7 +467,10 @@ export default class extends Vue {
private handleCreateAdmin() {
this.record = Object.assign({}, defaultAdmin)
this.record.level = 9
if (UserModule.level > 1) {
this.record.department = UserModule.department
}
this.dialogType = 'new'
this.dialogVisible = true
}
@ -507,6 +567,13 @@ export default class extends Vue {
})
}
private async getRemoteDeptList(name?: string) {
const { data } = await getShops({ key: name })
if (!data.records) return
this.deptListOptions = data.records
return data.records
}
private formatDept(row: any) {
if (row.level === 1) {
return '系统帐号'

View File

@ -3,7 +3,7 @@ const name = 'Vue Typescript Admin'
module.exports = {
// TODO: Remember to change publicPath to fit your need
publicPath: process.env.NODE_ENV === 'production' ? '/vue-typescript-admin-template/' : '/',
publicPath: process.env.NODE_ENV === 'production' ? '/' : '/',
lintOnSave: process.env.NODE_ENV === 'development',
pwa: {
name: name