From fefca0672adbdf44d046b166c48a57406144d6aa Mon Sep 17 00:00:00 2001 From: qiuhongwu Date: Tue, 30 Jan 2024 12:55:04 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=BB=93=E5=82=A8=E8=AE=BE=E7=BD=AE=20?= =?UTF-8?q?=E8=B4=9F=E8=B4=A3=E4=BA=BA=E4=BD=BF=E7=94=A8=E5=B0=81=E8=A3=85?= =?UTF-8?q?=E7=9A=84=E8=BF=9C=E7=A8=8B=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/heli/warehouse/WarehouseForm.vue | 31 ++++++------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/warehouse/WarehouseForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/warehouse/WarehouseForm.vue index 01d841b1..9da63fc1 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/warehouse/WarehouseForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/warehouse/WarehouseForm.vue @@ -14,27 +14,11 @@ - - - - + :leaderUserId="formData.contact" + @update:newValue="handleSelectedUser" + /> @@ -62,7 +46,7 @@ import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import * as WarehouseApi from '@/api/heli/warehouse' import * as UserApi from '@/api/system/user' import { fromPairs } from 'lodash-es' - +import UserSelect from '../hlvuestyle/userSelect.vue' const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 @@ -179,4 +163,9 @@ const resetForm = () => { } formRef.value?.resetFields() } + +const handleSelectedUser = (newValue: any) => { + // console.log('接收对应的数据:', newValue) + formData.value.leaderUserId = newValue.id +} From 5f53dbda47d6b4b27c95b5210b1cb3c842fa5f2d Mon Sep 17 00:00:00 2001 From: qiuhongwu Date: Tue, 30 Jan 2024 13:08:14 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E8=BD=A6=E9=97=B4=20=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=B0=81=E8=A3=85=E8=81=8C=E5=B7=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/heli/workshop/WorkshopForm.vue | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/workshop/WorkshopForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/workshop/WorkshopForm.vue index 6d2d8a8e..d8527059 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/workshop/WorkshopForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/workshop/WorkshopForm.vue @@ -25,7 +25,12 @@ /> - + @@ -70,7 +75,7 @@ import * as WorkshopApi from '@/api/heli/workshop' import {defaultProps, handleTree} from "@/utils/tree"; import * as DeptApi from '@/api/system/dept' import * as UserApi from "@/api/system/user"; - +import UserSelect from '../hlvuestyle/userSelect.vue' const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 @@ -179,4 +184,9 @@ const resetForm = () => { } formRef.value?.resetFields() } + +const handleSelectedUser = (newValue: any) => { + // console.log('接收对应的数据:', newValue) + formData.value.leaderUserId = newValue.id +} From 310e25e2faafca6230225c737ca91fa2886d6ccb Mon Sep 17 00:00:00 2001 From: qiuhongwu Date: Tue, 30 Jan 2024 13:16:15 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E8=BD=A6=E9=97=B4=20=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/heli/classes/ClassesForm.vue | 25 ++++++------------- .../src/views/heli/hlvuestyle/userSelect.vue | 2 +- .../views/heli/warehouse/WarehouseForm.vue | 2 +- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/classes/ClassesForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/classes/ClassesForm.vue index 4d77957e..44a72814 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/classes/ClassesForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/classes/ClassesForm.vue @@ -34,23 +34,7 @@ - - - + @@ -79,7 +63,7 @@ import * as UserApi from "@/api/system/user"; import * as WorkshopApi from "@/api/heli/workshop"; import {DICT_TYPE, getIntDictOptions} from "@/utils/dict"; import {getWorkshopPage} from "@/api/heli/workshop"; - +import UserSelect from '../hlvuestyle/userSelect.vue' const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 @@ -219,4 +203,9 @@ const resetForm = () => { } formRef.value?.resetFields() } + +const handleSelectedUser = (newValue: any) => { + // console.log('接收对应的数据:', newValue) + formData.value.leaderUserId = newValue.id +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue index 60dd4e43..1d79a384 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue @@ -2,7 +2,7 @@ { const handleSelectedUser = (newValue: any) => { // console.log('接收对应的数据:', newValue) - formData.value.leaderUserId = newValue.id + formData.value.contact = newValue.id } From 61328efcc51737bcdecc89c3502fc4f963abfb1c Mon Sep 17 00:00:00 2001 From: zengchenxi Date: Tue, 30 Jan 2024 13:51:01 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E3=80=91=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E4=B8=8E=E6=98=B5=E7=A7=B0=E5=90=8C=E6=97=B6like?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/user/vo/user/UserPageReqVO.java | 3 +++ .../module/system/dal/mysql/user/AdminUserMapper.java | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserPageReqVO.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserPageReqVO.java index a5f81262..28188245 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserPageReqVO.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/controller/admin/user/vo/user/UserPageReqVO.java @@ -25,6 +25,9 @@ public class UserPageReqVO extends PageParam { @Schema(description = "昵称,模糊匹配", example = "mes") private String nickname; + @Schema(description = "用户账号或昵称", example = "mes") + private String userNickName; + @Schema(description = "手机号码,模糊匹配", example = "mes") private String mobile; diff --git a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/mysql/user/AdminUserMapper.java b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/mysql/user/AdminUserMapper.java index 585092ec..365a4390 100644 --- a/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/mysql/user/AdminUserMapper.java +++ b/mes-module-system/mes-module-system-biz/src/main/java/com/chanko/yunxi/mes/module/system/dal/mysql/user/AdminUserMapper.java @@ -6,6 +6,7 @@ import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.module.system.controller.admin.user.vo.user.UserPageReqVO; import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; import org.apache.ibatis.annotations.Mapper; +import org.springframework.util.StringUtils; import java.util.Collection; import java.util.List; @@ -26,14 +27,18 @@ public interface AdminUserMapper extends BaseMapperX { } default PageResult selectPage(UserPageReqVO reqVO, Collection deptIds) { - return selectPage(reqVO, new LambdaQueryWrapperX() + LambdaQueryWrapperX query = new LambdaQueryWrapperX() .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername()) .likeIfPresent(AdminUserDO::getNickname, reqVO.getNickname()) .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile()) .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus()) .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime()) .inIfPresent(AdminUserDO::getDeptId, deptIds) - .orderByDesc(AdminUserDO::getId)); + .orderByDesc(AdminUserDO::getId); + if(!StringUtils.isEmpty(reqVO.getUserNickName())){ + query.like(AdminUserDO::getUsername, reqVO.getUserNickName()).or().like(AdminUserDO::getNickname, reqVO.getUserNickName()); + } + return selectPage(reqVO, query); } default List selectListByNickname(String nickname) { From 33d3dc98351b53ebea7f8daf009fb098d9a50f45 Mon Sep 17 00:00:00 2001 From: qiuhongwu Date: Tue, 30 Jan 2024 14:35:36 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E8=81=8C=E5=B7=A5=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96=20=E4=BB=A5=E5=8F=8A=20?= =?UTF-8?q?=E5=85=A8=E5=B1=80=E6=98=AF=E5=90=A6=E5=AD=97=E5=85=B8=E8=B0=83?= =?UTF-8?q?=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/system/user/index.ts | 1 + mes-ui/mes-ui-admin-vue3/src/styles/cus.scss | 10 ++++- .../src/views/heli/hlvuestyle/userSelect.vue | 45 +++++++------------ 3 files changed, 24 insertions(+), 32 deletions(-) diff --git a/mes-ui/mes-ui-admin-vue3/src/api/system/user/index.ts b/mes-ui/mes-ui-admin-vue3/src/api/system/user/index.ts index c443a37f..92d42a27 100644 --- a/mes-ui/mes-ui-admin-vue3/src/api/system/user/index.ts +++ b/mes-ui/mes-ui-admin-vue3/src/api/system/user/index.ts @@ -4,6 +4,7 @@ export interface UserVO { id: number username: string nickname: string + userNickName:string deptId: number postIds: string[] email: string diff --git a/mes-ui/mes-ui-admin-vue3/src/styles/cus.scss b/mes-ui/mes-ui-admin-vue3/src/styles/cus.scss index cefdfaf9..4d395d78 100644 --- a/mes-ui/mes-ui-admin-vue3/src/styles/cus.scss +++ b/mes-ui/mes-ui-admin-vue3/src/styles/cus.scss @@ -244,8 +244,14 @@ background-color: transparent; border: none; } -.sizestylenone{ +.sizestylenone { background-color: transparent; border: none; color: var(--el-table-text-color); -} \ No newline at end of file +} + +.fou { + background-color: #f7fbfd; + border: 1px solid #d4d6e3; + color: #77838C; +} diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue index 1d79a384..f6342d30 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue @@ -11,6 +11,7 @@ filterable :loading="userSelectLoading" @change="onSelectChange" + @visible-change="onVisibleChange" > { const remoteMethod = async (query: any) => { userSelectLoading.value = true userSelectList.value = [] - try { if (query) { - // 根据 username 查询 - userParams.username = query - const dataByUsername = await UserApi.getUserPage(userParams) - - // 将根据 username 查询的结果添加到临时列表(用于去重) - let tempUserList = [...dataByUsername.list] - - // 根据 nickname 查询(假设 nickname 查询返回的数据与 username 不重复) - userParams.username = undefined - userParams.nickname = query - const dataByNickname = await UserApi.getUserPage(userParams) - - // 将根据 nickname 查询的结果合并至临时列表,并去重 - tempUserList = [ - ...tempUserList, - ...dataByNickname.list.filter( - (item) => !tempUserList.some((selectItem) => selectItem.id === item.id) - ) - ] - - // 设置最终的用户选择列表为去重后的结果 - userSelectList.value = tempUserList - } else { + userParams.userNickName = query + const data = await UserApi.getUserPage(userParams) + userSelectList.value = data.list + }else { // 加载所有数据(无查询条件时的情况) const data = await UserApi.getUserPage({ ...userParams, pageNo: 1 }) userList.value = [...userList.value, ...data.list] @@ -127,6 +104,14 @@ onMounted(async () => { } }) +const onVisibleChange = (isVisible: boolean) => { + if (!isVisible) { + // 下拉框关闭时,重置查询参数和下拉框列表 + userParams.userNickName = undefined; + userSelectList.value = []; + } +} + const onSelectChange = (newValue: any) => { valueNameObject.value = userList.value.find((user) => user.id === newValue) // 更新选中的完整用户对象 emit('update:newValue', valueNameObject.value) From f12c459183190ecd8c0df8345e4a2d0208848c66 Mon Sep 17 00:00:00 2001 From: qiuhongwu Date: Tue, 30 Jan 2024 14:46:34 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=81=8C=E5=B7=A5?= =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/heli/hlvuestyle/userSelect.vue | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue index f6342d30..2ab37fe7 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/hlvuestyle/userSelect.vue @@ -11,7 +11,7 @@ filterable :loading="userSelectLoading" @change="onSelectChange" - @visible-change="onVisibleChange" + @visible-change="onVisibleChange" > ([]) // 用户列表 const userSelectList = ref([]) const userSelectLoading = ref(false) -const leaderUserId = toRefs(props).leaderUserId // 获取 props 中的 leaderUserId +const propsmodelValue = toRefs(props).modelValue // 获取 props 中的 modelValue const initialValue: any = ref(null) // 存储初始选中的用户 ID const gitlist = async () => { const data = await UserApi.getUserPage(userParams) userList.value = data.list // 设置初始值 - if (leaderUserId.value) { - valueName.value = leaderUserId.value + // console.log(propsmodelValue.value) + if (propsmodelValue.value) { + valueName.value = propsmodelValue.value const initialUser = await UserApi.getUser(valueName.value) // 查找初始用户是否已经在 userList 中 @@ -83,7 +84,7 @@ const remoteMethod = async (query: any) => { userParams.userNickName = query const data = await UserApi.getUserPage(userParams) userSelectList.value = data.list - }else { + } else { // 加载所有数据(无查询条件时的情况) const data = await UserApi.getUserPage({ ...userParams, pageNo: 1 }) userList.value = [...userList.value, ...data.list] @@ -107,8 +108,8 @@ onMounted(async () => { const onVisibleChange = (isVisible: boolean) => { if (!isVisible) { // 下拉框关闭时,重置查询参数和下拉框列表 - userParams.userNickName = undefined; - userSelectList.value = []; + userParams.userNickName = undefined + userSelectList.value = [] } } From 9b4649a2f4a6534dcfb9189d1046984b9558ce84 Mon Sep 17 00:00:00 2001 From: qiuhongwu Date: Tue, 30 Jan 2024 15:09:40 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue | 2 +- .../src/views/heli/hlvuestyle/userSelect.vue | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue index 7d97207a..2c161c5c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/dept/DeptForm.vue @@ -24,7 +24,7 @@ /> - +