From 1606dbd76f64bb1dd2ea3e8876341528293c7ea5 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 26 八月 2024 11:45:16 +0800 Subject: [PATCH] !141 发布 vue 版本 5.2.2 与 cloud 版本 2.2.1 Merge pull request !141 from 疯狂的狮子Li/dev --- src/views/system/user/index.vue | 56 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 30 insertions(+), 26 deletions(-) diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index df8b192..46bffd2 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -23,33 +23,28 @@ <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave"> <div v-show="showSearch" class="mb-[10px]"> <el-card shadow="hover"> - <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="68px"> + <el-form ref="queryFormRef" :model="queryParams" :inline="true"> <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 - v-model="queryParams.phonenumber" - placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" - clearable - style="width: 240px" - @keyup.enter="handleQuery" - /> + <el-input v-model="queryParams.phonenumber" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" clearable @keyup.enter="handleQuery" /> </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> <el-form-item label="鍒涘缓鏃堕棿" style="width: 308px"> <el-date-picker v-model="dateRange" - value-format="YYYY-MM-DD" + value-format="YYYY-MM-DD HH:mm:ss" type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" + :default-time="[new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]" ></el-date-picker> </el-form-item> <el-form-item> @@ -101,14 +96,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"> @@ -171,6 +159,7 @@ value-key="id" placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" check-strictly + @change="handleDeptChange" /> </el-form-item> </el-col> @@ -210,7 +199,7 @@ <el-col :span="12"> <el-form-item label="鐘舵��"> <el-radio-group v-model="form.status"> - <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio> + <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label }}</el-radio> </el-radio-group> </el-form-item> </el-col> @@ -230,8 +219,8 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="瑙掕壊"> - <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨"> + <el-form-item label="瑙掕壊" prop="roleIds"> + <el-select v-model="form.roleIds" filterable multiple placeholder="璇烽�夋嫨"> <el-option v-for="item in roleOptions" :key="item.roleId" @@ -300,10 +289,11 @@ import { UserForm, UserQuery, UserVO } from '@/api/system/user/types'; import { DeptVO } from '@/api/system/dept/types'; import { RoleVO } from '@/api/system/role/types'; -import { PostVO } from '@/api/system/post/types'; +import { PostQuery, PostVO } from '@/api/system/post/types'; import { treeselect } from '@/api/system/dept'; import { globalHeaders } from '@/utils/request'; import { to } from 'await-to-js'; +import { optionselect } from '@/api/system/post'; const router = useRouter(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -402,7 +392,8 @@ max: 20, message: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿', trigger: 'blur' - } + }, + { pattern: /^[^<>"'|\\]+$/, message: '涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > " \' \\\ |', trigger: 'blur' } ], email: [ { @@ -417,7 +408,8 @@ message: '璇疯緭鍏ユ纭殑鎵嬫満鍙风爜', trigger: 'blur' } - ] + ], + roleIds: [{ required: true, message: '鐢ㄦ埛瑙掕壊涓嶈兘涓虹┖', trigger: 'blur' }] } }; const data = reactive<PageData<UserForm, UserQuery>>(initData); @@ -511,7 +503,12 @@ cancelButtonText: '鍙栨秷', closeOnClickModal: false, inputPattern: /^.{5,20}$/, - inputErrorMessage: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿' + inputErrorMessage: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿', + inputValidator: (value) => { + if (/<|>|"|'|\||\\/.test(value)) { + return '涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > " \' \\\ |'; + } + } }) ); if (!err && res) { @@ -598,6 +595,7 @@ roleOptions.value = data.roles; form.value.password = initPassword.value.toString(); }; + /** 淇敼鎸夐挳鎿嶄綔 */ const handleUpdate = async (row?: UserForm) => { reset(); @@ -651,6 +649,12 @@ initPassword.value = response.data; }); }); + +async function handleDeptChange(value: number | string) { + const response = await optionselect(value); + postOptions.value = response.data; + form.value.postIds = []; +} </script> <style lang="scss" scoped></style> -- Gitblit v1.9.3