You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

219 lines
5.7 KiB

7 months ago
<template>
<ns-view-list-table v-bind="tableConfig" rowKey="uuid" />
</template>
<script lang="ts">
import { defineComponent } from 'vue';
export default defineComponent({
name: 'NsViewUserList',
setup() {
const tableConfig = {
title: '员工管理',
api: '/api/parking_merchant/objs/person/pageList',
params: {
page: 0,
pageSize: 10,
},
rowSelection: null,
// scroll: { x: 1150 },
columns: [
{
title: '姓名',
dataIndex: 'personName',
width: 200,
},
{
title: '性别',
dataIndex: 'sex',
width: 100,
customRender: (value) => {
switch (value.text) {
case 0:
return '女';
case 1:
return '男';
default:
return '-';
}
},
},
{
title: '员工编号',
dataIndex: 'personNum',
width: 150,
},
{
title: '手机号码',
dataIndex: 'telNum',
width: 150,
},
{
title: '账号状态',
dataIndex: 'accountState',
width: 100,
customRender: (value) => {
switch (value.text) {
case 1:
return '启用';
case 0:
return '禁用';
default:
return '-';
}
},
},
{
title: '用户状态',
width: 100,
dataIndex: 'personStatus',
customRender: (value) => {
switch (value.text) {
case 1:
return '在职';
case 2:
return '离职';
default:
return '-';
}
},
},
],
columnActions: {
title: '操作',
// width: 250,
actions: [
// {
// label: '查看',
// name: 'userDetail',
// dynamicParams: 'personUuid',
// route: '/userManage/user/detail',
// },
{
label: '重置密码',
dynamicParams: 'personUuid',
name: 'UserReset',
confirm: {
title: '提示',
content: `确认重置密码吗?`,
},
isReload: true,
api: '/api/parking_merchant/objs/person/reset',
},
{
label: '编辑',
dynamicParams: 'personUuid',
name: 'UserEdit',
route: '/userManage/user/edit',
},
{
label: '删除',
dynamicParams: {
personUuid: 'personUuid',
},
name: 'UserRemove',
ifShow: (record: any) => {
return record.personStatus !== 1;
},
confirm: true,
isReload: true,
api: '/api/parking_merchant/objs/person/delete',
},
{
label: '删除',
name: 'UserRemove',
dynamicParams: {
uuid: 'uuid',
},
ifShow: (record: any) => {
return record.personStatus === 1;
},
confirm: {
title: '警告',
content: '在职员工不可删除!',
},
},
],
},
headerActions: [
{
label: '新增用户',
name: 'UserAdd',
type: 'primary',
route: '/userManage/user/add',
},
],
formConfig: {
schemas: [
{
field: 'accountState',
label: '账号状态',
component: 'NsSelect',
componentProps: {
placeholder: '请选择',
options: [
{
label: '全部',
value: '',
},
{
label: '启用',
value: 1,
},
{
label: '禁用',
value: 0,
},
],
},
},
{
field: 'personStatus',
label: '用户状态',
component: 'NsSelect',
componentProps: {
placeholder: '请选择',
options: [
{
label: '全部',
value: '',
},
{
label: '在职',
value: 1,
},
{
label: '离职',
value: 2,
},
],
},
},
{
field: 'telNum',
label: '手机号码',
component: 'NsInput',
componentProps: {
placeholder: '请输入手机号码',
},
},
{
field: 'personName',
label: '用户姓名',
component: 'NsInput',
componentProps: {
placeholder: '请输入用户姓名',
},
},
],
},
rowKey: 'personUuid',
};
return {
tableConfig,
};
},
});
</script>
<style lang="less" scoped></style>