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