update:账号管理
This commit is contained in:
parent
dc04a5800f
commit
030397faa3
@ -136,10 +136,10 @@ const columns = ref([
|
||||
},
|
||||
enum: [
|
||||
{ label: '全部', value: '' },
|
||||
{ label: '未通过', value: 3 },
|
||||
{ label: '已通过', value: 2 },
|
||||
{ label: '未审核', value: 1 },
|
||||
{ label: '未提交', value: 0 },
|
||||
{ label: '未审核', value: 1 },
|
||||
{ label: '已通过', value: 2 },
|
||||
{ label: '未通过', value: 3 },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@ -1,22 +1,25 @@
|
||||
<template>
|
||||
<div class="system-menu-container layout-padding">
|
||||
<ProTable ref="tableRef" :request-api="sysuserPageGet" :columns="columns" :pagination="true"
|
||||
:tool-button="true" :initParam="initParam">
|
||||
<ProTable
|
||||
v-if="tableReady"
|
||||
ref="tableRef"
|
||||
:request-api="sysuserPageGet"
|
||||
:columns="columns"
|
||||
:pagination="true"
|
||||
:tool-button="true"
|
||||
:initParam="initParam"
|
||||
>
|
||||
<template #tools>
|
||||
<el-button v-auth="'permission:account:add'" type="primary" icon="ele-Plus" @click="onOpenMenu()"> 新增
|
||||
</el-button>
|
||||
<el-button v-auth="'permission:account:add'" type="primary" icon="ele-Plus" @click="onOpenMenu()"> 新增 </el-button>
|
||||
</template>
|
||||
<template #index="scope">
|
||||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
<template #action="scope">
|
||||
<el-button v-auth="'permission:account:edit'" icon="ele-Edit" size="small" text type="primary"
|
||||
@click="onOpenMenu(scope.row)"> 编辑 </el-button>
|
||||
<el-button v-auth="'permission:account:edit'" icon="ele-Edit" size="small" text type="primary" @click="onOpenMenu(scope.row)"> 编辑 </el-button>
|
||||
<el-popconfirm title="确认删除吗?" @confirm="onDeleteMenu(scope.row.id)">
|
||||
<template #reference>
|
||||
<el-button v-auth="'permission:account:delete'" icon="ele-Delete" size="small" text
|
||||
type="danger"> 删除
|
||||
</el-button>
|
||||
<el-button v-auth="'permission:account:delete'" icon="ele-Delete" size="small" text type="danger"> 删除 </el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
@ -24,9 +27,7 @@
|
||||
|
||||
<!-- 弹窗 -->
|
||||
<el-dialog :title="dialogTitle" v-model="isShowDialog">
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="150px"
|
||||
style="max-width: 600px;margin-bottom: 30px;" v-if="isShowDialog">
|
||||
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="150px" style="max-width: 600px; margin-bottom: 30px" v-if="isShowDialog">
|
||||
<!-- 商户名称 -->
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入姓名"></el-input>
|
||||
@ -49,12 +50,10 @@
|
||||
|
||||
<!-- 可用赛事 -->
|
||||
<el-form-item label="关联角色" prop="roles">
|
||||
<el-select v-model="formData.roles" placeholder="请选择关联角色" multiple style="width: 100%;">
|
||||
<el-option v-for="item in eventList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
<el-select v-model="formData.roles" placeholder="请选择关联角色" multiple style="width: 100%">
|
||||
<el-option v-for="item in eventList" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
@ -67,7 +66,7 @@
|
||||
</template>
|
||||
|
||||
<script setup name="sysMenu">
|
||||
import { defineAsyncComponent, ref, reactive, onMounted, computed } from 'vue';
|
||||
import { defineAsyncComponent, ref, reactive, onMounted, computed, nextTick } from 'vue';
|
||||
import { ElMessage, ElForm } from 'element-plus';
|
||||
import SysMenuApi from '/@/api/SysMenuApi';
|
||||
import { auths } from '/@/utils/authFunction';
|
||||
@ -78,14 +77,15 @@ import { sysroleSelectGet } from '/@/api/match/role';
|
||||
// 定义表单引用类型
|
||||
const formRef = ref();
|
||||
const eventList = ref([]);
|
||||
const tableReady = ref(false);
|
||||
const formData = ref({
|
||||
name: '',
|
||||
account: '',
|
||||
password: '',
|
||||
confirmPassword: '',
|
||||
roles: []
|
||||
})
|
||||
const initParam = ref(true)
|
||||
roles: [],
|
||||
});
|
||||
const initParam = ref(true);
|
||||
|
||||
// 确认密码验证
|
||||
const validateConfirmPassword = (rule, value, callback) => {
|
||||
@ -101,25 +101,19 @@ const validateConfirmPassword = (rule, value, callback) => {
|
||||
|
||||
const formRules = computed(() => {
|
||||
const rules = {
|
||||
name: [
|
||||
{ required: true, message: '姓名', trigger: 'blur' }
|
||||
],
|
||||
account: [
|
||||
{ required: true, message: '请输入账号', trigger: 'blur' }
|
||||
],
|
||||
name: [{ required: true, message: '姓名', trigger: 'blur' }],
|
||||
account: [{ required: true, message: '请输入账号', trigger: 'blur' }],
|
||||
};
|
||||
|
||||
|
||||
// 只有新增时才需要验证密码和确认密码
|
||||
if (!isEdit.value) {
|
||||
rules.password = [
|
||||
{ required: true, message: '请输入密码', trigger: 'blur' },
|
||||
{ min: 6, max: 32, message: '密码长度在 6 到 32 个字符', trigger: 'blur' }
|
||||
];
|
||||
rules.confirmPassword = [
|
||||
{ required: true, validator: validateConfirmPassword, trigger: 'blur' }
|
||||
{ min: 6, max: 32, message: '密码长度在 6 到 32 个字符', trigger: 'blur' },
|
||||
];
|
||||
rules.confirmPassword = [{ required: true, validator: validateConfirmPassword, trigger: 'blur' }];
|
||||
}
|
||||
|
||||
|
||||
return rules;
|
||||
});
|
||||
|
||||
@ -157,8 +151,8 @@ const columns = ref([
|
||||
isShow: false,
|
||||
search: {
|
||||
el: 'select',
|
||||
enum: [],
|
||||
},
|
||||
enum: [],
|
||||
},
|
||||
{ prop: 'createdTime', label: '生成时间', search: { el: 'date-picker', props: { type: 'daterange' } }, minWidth: 160 },
|
||||
|
||||
@ -170,7 +164,6 @@ const dialogTitle = ref('新增');
|
||||
const isEdit = ref(false);
|
||||
|
||||
const onOpenMenu = async (row) => {
|
||||
|
||||
dialogTitle.value = row ? '编辑' : '新增';
|
||||
isEdit.value = !!row;
|
||||
if (row) {
|
||||
@ -182,7 +175,7 @@ const onOpenMenu = async (row) => {
|
||||
account: data.account,
|
||||
password: '',
|
||||
confirmPassword: '',
|
||||
roles: data.roles || []
|
||||
roles: data.roles || [],
|
||||
};
|
||||
} else {
|
||||
formData.value = {
|
||||
@ -190,7 +183,7 @@ const onOpenMenu = async (row) => {
|
||||
account: '',
|
||||
password: '',
|
||||
confirmPassword: '',
|
||||
roles: []
|
||||
roles: [],
|
||||
};
|
||||
}
|
||||
isShowDialog.value = true;
|
||||
@ -244,21 +237,26 @@ const onCancel = () => {
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
tableReady.value = false;
|
||||
try {
|
||||
const result = await sysroleSelectGet();
|
||||
console.log('获取的角色数据:', result);
|
||||
if (result.succeeded && result.data) {
|
||||
columns.value[4].search.enum = result.data;
|
||||
columns.value[4].enum = result.data;
|
||||
console.log('获取的角色数据:', columns.value[4].enum);
|
||||
eventList.value = result.data;
|
||||
await nextTick();
|
||||
tableReady.value = true;
|
||||
} else {
|
||||
ElMessage.error(result.errors || '获取角色数据失败');
|
||||
tableReady.value = true;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取角色数据时发生错误:', error);
|
||||
ElMessage.error('获取角色数据时发生错误,请稍后重试');
|
||||
tableReady.value = true;
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.dialog-footer {
|
||||
@ -308,4 +306,4 @@ onMounted(async () => {
|
||||
height: 178px;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user