提交 d7dfabbf authored 作者: 王鹏飞's avatar 王鹏飞

update

上级 88ad610c
......@@ -56,7 +56,12 @@ export function createStaff(data) {
export function updateStaff(data) {
return httpRequest.put(`/api/cms/admin/v1/user/${data.sso_id}/update`, data)
}
/**
* 批量删除员工
*/
export function batchDeleteStaff(data) {
return httpRequest.put('/api/cms/admin/v1/user/batch-delete', data)
}
/* ------------------------------------项目管理------------------------------------ */
/**
* 获取项目列表
......@@ -112,3 +117,9 @@ export function updateType(data) {
export function getContentTypesList(params) {
return httpRequest.get('/api/cms/admin/v1/type/content-types', { params })
}
/**
* 批量删除类型
*/
export function batchDeleteType(data) {
return httpRequest.put('/api/cms/admin/v1/type/batch-delete', data)
}
......@@ -38,7 +38,7 @@
<div class="table-list-bd">
<el-table :data="dataList" size="mini" v-loading="loading" v-bind="$attrs" v-on="$listeners" style="height: 100%">
<template v-for="item in columns">
<el-table-column v-bind="item" :key="item.prop">
<el-table-column v-bind="item" :key="item.prop" v-if="visible(item)">
<template v-slot:default="scope" v-if="item.slots">
<slot :name="item.slots" v-bind="scope"></slot>
</template>
......@@ -165,6 +165,9 @@ export default {
this.page.currentPage = 1
this.page.size = value
this.fetchList()
},
visible(item) {
return Object.prototype.hasOwnProperty.call(item, 'visible') ? item.visible : true
}
},
beforeMount() {
......
......@@ -148,7 +148,7 @@ export default {
}
],
columns: [
{ type: 'selection' },
{ type: 'selection', visible: this.hasDelete },
{ prop: 'image_url', label: '图片', slots: 'image' },
{ prop: 'id', label: '广告ID', slots: 'table-id' },
{ prop: 'title', label: '标题' },
......
......@@ -143,7 +143,7 @@ export default {
}
],
columns: [
{ type: 'selection' },
{ type: 'selection', visible: this.hasDelete },
{ prop: 'image_url', label: '图片', slots: 'image' },
{ prop: 'id', label: '文章ID', slots: 'table-id' },
{ prop: 'title', label: '标题' },
......
......@@ -131,7 +131,7 @@ export default {
}
],
columns: [
{ type: 'selection' },
{ type: 'selection', visible: this.hasDelete },
{ prop: 'image_url', label: '图片', slots: 'image' },
{ prop: 'id', label: '图文ID', slots: 'table-id' },
{ prop: 'title', label: '标题' },
......
<template>
<div class="staff page_container">
<table-list v-bind="tableOptions" ref="tabList">
<table-list v-bind="tableOptions" ref="tabList" @selection-change="handleSelectionChange">
<template #header-aside>
<el-button type="primary" size="mini" @click="handleCreate">新建员工</el-button>
<el-button type="primary" size="mini" @click="handleCreate" v-if="hasCreate">新建员工</el-button>
</template>
<!-- 姓名 -->
<template v-slot:table-name="{ row }">
......@@ -29,6 +29,11 @@
<el-button type="text" @click="changePassword(row)">重置密码</el-button>
<el-button type="text" @click="changePhone(row)">更换手机号</el-button>
</template>
<template #footer>
<el-button size="mini" :disabled="!multipleSelection.length" @click="handleRemove" v-if="hasDelete"
>删除</el-button
>
</template>
</table-list>
<el-drawer :title="drawerTitle" :visible.sync="drawerVisible" size="440px" :destroy-on-close="true">
<div class="drawer__content">
......@@ -120,7 +125,7 @@
</template>
<script>
import TableList from '@/components/TableList'
import { getStaffList, getProjectList, getRoleList, createStaff, updateStaff } from '@/api/settings'
import { getStaffList, getProjectList, getRoleList, createStaff, updateStaff, batchDeleteStaff } from '@/api/settings'
import { sendCode } from '@/api/account'
import { searchUserList } from '@/api/system'
const MOBILE_REG = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{4,8}$/
......@@ -175,6 +180,18 @@ export default {
}
},
computed: {
// 权限列表
permissions() {
return this.$store.state.user.permissions
},
// 创建权限
hasCreate() {
return this.permissions.includes('setting-function-user-create')
},
// 删除权限
hasDelete() {
return this.permissions.includes('setting-function-user-delete')
},
drawerTitle() {
return this.drawerType === 'create' ? '新建员工' : '编辑员工'
},
......@@ -213,7 +230,7 @@ export default {
}
],
columns: [
{ prop: 'selection', label: '', type: 'selection', minWidth: '50px', fixed: 'left' },
{ type: 'selection', minWidth: '50px', fixed: 'left', visible: this.hasDelete },
{ prop: 'sso_user.real_name', label: '姓名', slots: 'table-name', minWidth: '80px', fixed: 'left' },
{ prop: 'roles', label: '角色', slots: 'table-role', minWidth: '100px' },
{ prop: 'sso_user.mobile', label: '手机号', minWidth: '110px' },
......@@ -232,6 +249,18 @@ export default {
this.fetchRoleList()
},
methods: {
// 删除
handleRemove() {
const ids = this.multipleSelection.map(item => item.id)
batchDeleteStaff({ sso_ids: ids }).then(res => {
if (res.code === 0) {
this.$message.success('删除成功')
this.$refs.tableList.refetch(true)
} else {
this.$message.error(res.message)
}
})
},
handleCreate() {
this.drawerVisible = true
this.drawerType = 'create'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论