From 4aa42f5c20d56661a3d7dbaad8a9d0a21bbb5f73 Mon Sep 17 00:00:00 2001 From: bleachtred <bleachtred@163.com> Date: 星期四, 18 四月 2024 11:29:57 +0800 Subject: [PATCH] fix 角色必填*号 --- src/views/system/user/index.vue | 43 +++++++++++++++++++++++-------------------- 1 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 56078d9..ada6749 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -25,7 +25,7 @@ <el-card shadow="hover"> <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="68px"> <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input v-model="queryParams.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" clearable style="width: 240px" @keyup.enter="handleQuery" /> + <el-input v-model="queryParams.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" clearable @keyup.enter="handleQuery" /> </el-form-item> <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> <el-input @@ -38,7 +38,7 @@ </el-form-item> <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="鐢ㄦ埛鐘舵��" clearable style="width: 240px"> + <el-select v-model="queryParams.status" placeholder="鐢ㄦ埛鐘舵��" clearable> <el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> @@ -101,14 +101,7 @@ <el-table-column v-if="columns[0].visible" key="userId" label="鐢ㄦ埛缂栧彿" align="center" prop="userId" /> <el-table-column v-if="columns[1].visible" key="userName" label="鐢ㄦ埛鍚嶇О" align="center" prop="userName" :show-overflow-tooltip="true" /> <el-table-column v-if="columns[2].visible" key="nickName" label="鐢ㄦ埛鏄电О" align="center" prop="nickName" :show-overflow-tooltip="true" /> - <el-table-column - v-if="columns[3].visible" - key="deptName" - label="閮ㄩ棬" - align="center" - prop="dept.deptName" - :show-overflow-tooltip="true" - /> + <el-table-column v-if="columns[3].visible" key="deptName" label="閮ㄩ棬" align="center" prop="deptName" :show-overflow-tooltip="true" /> <el-table-column v-if="columns[4].visible" key="phonenumber" label="鎵嬫満鍙风爜" align="center" prop="phonenumber" width="120" /> <el-table-column v-if="columns[5].visible" key="status" label="鐘舵��" align="center"> <template #default="scope"> @@ -230,7 +223,7 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="瑙掕壊"> + <el-form-item label="瑙掕壊" prop="roleIds"> <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨"> <el-option v-for="item in roleOptions" @@ -298,15 +291,15 @@ <script setup name="User" lang="ts"> import api from '@/api/system/user'; import { UserForm, UserQuery, UserVO } from '@/api/system/user/types'; -import { treeselect } from '@/api/system/dept'; import { DeptVO } from '@/api/system/dept/types'; import { RoleVO } from '@/api/system/role/types'; import { PostVO } from '@/api/system/post/types'; -import { to } from 'await-to-js'; +import { treeselect } from '@/api/system/dept'; import { globalHeaders } from '@/utils/request'; +import { to } from 'await-to-js'; const router = useRouter(); -const { proxy } = getCurrentInstance(); +const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { sys_normal_disable, sys_user_sex } = toRefs<any>(proxy?.useDict('sys_normal_disable', 'sys_user_sex')); const userList = ref<UserVO[]>(); const loading = ref(true); @@ -372,7 +365,8 @@ postIds: [], roleIds: [] }; -const data = reactive<PageData<UserForm, UserQuery>>({ + +const initData: PageData<UserForm, UserQuery> = { form: { ...initFormData }, queryParams: { pageNum: 1, @@ -380,7 +374,8 @@ userName: '', phonenumber: '', status: '', - deptId: '' + deptId: '', + roleId: '' }, rules: { userName: [ @@ -400,7 +395,8 @@ max: 20, message: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿', trigger: 'blur' - } + }, + { pattern: /^[^<>"'|\\]+$/, message: "涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > \" ' \\\ |", trigger: "blur" } ], email: [ { @@ -415,9 +411,11 @@ message: '璇疯緭鍏ユ纭殑鎵嬫満鍙风爜', trigger: 'blur' } - ] + ], + roleIds: [{ required: true, message: '鐢ㄦ埛瑙掕壊涓嶈兘涓虹┖', trigger: 'blur' }] } -}); +}; +const data = reactive<PageData<UserForm, UserQuery>>(initData); const { queryParams, form, rules } = toRefs<PageData<UserForm, UserQuery>>(data); @@ -508,7 +506,12 @@ cancelButtonText: '鍙栨秷', closeOnClickModal: false, inputPattern: /^.{5,20}$/, - inputErrorMessage: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿' + inputErrorMessage: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿', + inputValidator: (value) => { + if (/<|>|"|'|\||\\/.test(value)) { + return "涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > \" ' \\\ |" + } + } }) ); if (!err && res) { -- Gitblit v1.9.3