修改数据来源

This commit is contained in:
guanj
2026-01-08 19:51:43 +08:00
parent 4cbd2e43cb
commit e21ae50e51
20 changed files with 2639 additions and 2570 deletions

View File

@@ -1,136 +1,136 @@
<template>
<div class="default-main">
<div class="custom-table-header">
<div class="title">待审核用户</div>
<el-button :icon="Check" type="primary" @click="addRole" class="ml10">审核通过</el-button>
</div>
<Table ref="tableRef" />
</div>
</template>
<script setup lang="ts">
import { Check } from '@element-plus/icons-vue'
import { ref, onMounted, provide } from 'vue'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import { ElMessage } from 'element-plus'
import { checkUser } from '@/api/user-boot/user'
defineOptions({
name: 'auth/audit'
})
const tableStore = new TableStore({
showPage: false,
method: 'POST',
url: '/user-boot/user/checkUserList',
column: [
// { width: '60', type: 'checkbox' },
{ title: '名称', field: 'name' },
{ title: '登录名', field: 'loginName' },
{ title: '角色', field: 'roleName' },
// { title: '部门', field: 'deptId' },
{ title: '电话', field: 'phoneShow' },
{ title: '注册时间', field: 'registerTime', sortable: true },
{ title: '类型', field: 'casualUserName' },
{ title: '状态', field: 'stateName' },
{
title: '操作',
width: '180',
render: 'buttons',
buttons: [
{
name: 'edit',
title: '审核通过',
type: 'primary',
icon: 'el-icon-Check',
render: 'basicButton',
click: row => {
checkUser([row.id]).then(res => {
tableStore.index()
ElMessage.success('操作成功')
})
}
},
{
name: 'del',
title: '审核不通过',
type: 'danger',
icon: 'el-icon-Close',
render: 'confirmButton',
popconfirm: {
confirmButtonText: '确认',
cancelButtonText: '取消',
confirmButtonType: 'danger',
title: '确定不通过该角色吗?'
},
click: row => {
ElMessage.warning('功能尚未实现')
}
}
]
}
],
loadCallback: () => {
tableStore.table.data.forEach((item: any) => {
item.deptId = item.deptId || '/'
item.phoneShow = item.phone || '/'
item.roleName = item.role.length ? item.role : '/'
switch (item.casualUser) {
case 0:
item.casualUserName = '临时用户'
break
case 1:
item.casualUserName = '长期用户'
break
default:
item.casualUserName = '/'
break
}
switch (item.state) {
case 0:
item.stateName = '注销'
break
case 1:
item.stateName = '正常'
break
case 2:
item.stateName = '锁定'
break
case 3:
item.stateName = '待审核'
break
case 4:
item.stateName = '休眠'
break
case 5:
item.stateName = '密码过期'
break
default:
item.stateName = '/'
break
}
})
}
})
tableStore.table.params.casualUser = 0
tableStore.table.params.searchState = 0
tableStore.table.params.searchValue = ''
tableStore.table.params.searchBeginTime = ''
tableStore.table.params.searchEndTime = ''
tableStore.table.params.sortBy = ''
tableStore.table.params.orderBy = ''
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
const addRole = () => {
if (!tableStore.table.selection.length) {
ElMessage.warning('请选择用户')
return
}
checkUser(tableStore.table.selection.map((item: any) => item.id)).then(res => {
tableStore.index()
ElMessage.success('操作成功')
})
}
</script>
<template>
<div class="default-main">
<div class="custom-table-header">
<div class="title">待审核用户</div>
<el-button :icon="Check" type="primary" @click="addRole" class="ml10">审核通过</el-button>
</div>
<Table ref="tableRef" />
</div>
</template>
<script setup lang="ts">
import { Check } from '@element-plus/icons-vue'
import { ref, onMounted, provide } from 'vue'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import { ElMessage } from 'element-plus'
import { checkUser } from '@/api/user-boot/user'
defineOptions({
name: 'auth/audit'
})
const tableStore = new TableStore({
showPage: false,
method: 'POST',
url: '/user-boot/user/checkUserList',
column: [
{ width: '60', type: 'checkbox' },
{ title: '名称', field: 'name' },
{ title: '登录名', field: 'loginName' },
{ title: '角色', field: 'roleName' },
// { title: '部门', field: 'deptId' },
{ title: '电话', field: 'phoneShow' },
{ title: '注册时间', field: 'registerTime', sortable: true },
{ title: '类型', field: 'casualUserName' },
{ title: '状态', field: 'stateName' },
{
title: '操作',
width: '180',
render: 'buttons',
buttons: [
{
name: 'edit',
title: '审核通过',
type: 'primary',
icon: 'el-icon-Check',
render: 'basicButton',
click: row => {
checkUser([row.id]).then(res => {
tableStore.index()
ElMessage.success('操作成功')
})
}
},
{
name: 'del',
title: '审核不通过',
type: 'danger',
icon: 'el-icon-Close',
render: 'confirmButton',
popconfirm: {
confirmButtonText: '确认',
cancelButtonText: '取消',
confirmButtonType: 'danger',
title: '确定不通过该角色吗?'
},
click: row => {
ElMessage.warning('功能尚未实现')
}
}
]
}
],
loadCallback: () => {
tableStore.table.data.forEach((item: any) => {
item.deptId = item.deptId || '/'
item.phoneShow = item.phone || '/'
item.roleName = item.role.length ? item.role : '/'
switch (item.casualUser) {
case 0:
item.casualUserName = '临时用户'
break
case 1:
item.casualUserName = '长期用户'
break
default:
item.casualUserName = '/'
break
}
switch (item.state) {
case 0:
item.stateName = '注销'
break
case 1:
item.stateName = '正常'
break
case 2:
item.stateName = '锁定'
break
case 3:
item.stateName = '待审核'
break
case 4:
item.stateName = '休眠'
break
case 5:
item.stateName = '密码过期'
break
default:
item.stateName = '/'
break
}
})
}
})
tableStore.table.params.casualUser = 0
tableStore.table.params.searchState = 0
tableStore.table.params.searchValue = ''
tableStore.table.params.searchBeginTime = ''
tableStore.table.params.searchEndTime = ''
tableStore.table.params.sortBy = ''
tableStore.table.params.orderBy = ''
provide('tableStore', tableStore)
onMounted(() => {
tableStore.index()
})
const addRole = () => {
if (!tableStore.table.selection.length) {
ElMessage.warning('请选择用户')
return
}
checkUser(tableStore.table.selection.map((item: any) => item.id)).then(res => {
tableStore.index()
ElMessage.success('操作成功')
})
}
</script>

View File

@@ -78,7 +78,7 @@ const form: any = reactive({
})
const rules = {
code: [
{ required: true, message: '标识不能为空', trigger: 'blur' },
{ required: true, message: '请输入标识', trigger: 'blur' },
{
pattern: /^[a-zA-Z_]{1}[a-zA-Z0-9_]{2,20}$/,
message: '请输入至少3-20位英文',

View File

@@ -46,8 +46,8 @@ const form = reactive({
type: 0
})
const rules = {
name: [{ required: true, message: '角色名称不能为空', trigger: 'blur' }],
code: [{ required: true, message: '角色编码不能为空', trigger: 'blur' }]
name: [{ required: true, message: '请输入角色名称', trigger: 'blur' }],
code: [{ required: true, message: '请输入角色编码', trigger: 'blur' }]
}
const dialogVisible = ref(false)
const title = ref('新增菜单')

View File

@@ -140,15 +140,15 @@ const form = reactive({
})
const formRef = ref()
const rules: Partial<Record<string, Arrayable<FormItemRule>>> = {
name: [{ required: true, message: '用户名不能为空', trigger: 'blur' }],
role: [{ required: true, message: '角色不能为空', trigger: 'blur' }],
password: [{ required: true, message: '用户密码不能为空', trigger: 'blur' }],
loginName: [{ required: true, message: '登录名不能为空', trigger: 'blur' }],
casualUser: [{ required: true, message: '用户类型不能为空', trigger: 'blur' }],
smsNotice: [{ required: true, message: '短信通知不能为空', trigger: 'blur' }],
emailNotice: [{ required: true, message: '邮件通知不能为空', trigger: 'blur' }],
name: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
role: [{ required: true, message: '请输入角色', trigger: 'blur' }],
password: [{ required: true, message: '请输入用户密码', trigger: 'blur' }],
loginName: [{ required: true, message: '请输入登录名', trigger: 'blur' }],
casualUser: [{ required: true, message: '请输入用户类型', trigger: 'blur' }],
smsNotice: [{ required: true, message: '请输入短信通知', trigger: 'blur' }],
emailNotice: [{ required: true, message: '请输入邮件通知', trigger: 'blur' }],
email: [
{ required: false, message: '邮箱不能为空', trigger: 'blur' },
{ required: false, message: '请输入邮箱', trigger: 'blur' },
{
type: 'email',
message: "'请输入正确的邮箱地址",
@@ -156,16 +156,16 @@ const rules: Partial<Record<string, Arrayable<FormItemRule>>> = {
}
],
phone: [
{ required: false, message: '手机号不能为空', trigger: 'blur' },
{ required: false, message: '请输入手机号', trigger: 'blur' },
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
],
limitTime: [{ required: true, message: '时间段不能为空', trigger: 'blur' }],
limitTime: [{ required: true, message: '请选择时间段', trigger: 'blur' }],
limitIpStart: [
{ required: true, message: '起始IP不能为空', trigger: 'blur' },
{ required: true, message: '请输入起始IP', trigger: 'blur' },
{
required: true,
validator: (rule: any, value: string, callback: any) => {
@@ -183,7 +183,7 @@ const rules: Partial<Record<string, Arrayable<FormItemRule>>> = {
}
],
limitIpEnd: [
{ required: true, message: '结束IP不能为空', trigger: 'blur' },
{ required: true, message: '请输入结束IP', trigger: 'blur' },
{
required: true,
validator: (rule: any, value: string, callback: any) => {