diff --git a/cutejava-front/src/api/application/cute-user-select.js b/cutejava-front/src/api/application/cute-user-select.js index 2f0effd7..ff1005de 100644 --- a/cutejava-front/src/api/application/cute-user-select.js +++ b/cutejava-front/src/api/application/cute-user-select.js @@ -1,15 +1,22 @@ import request from '@/utils/request' export function listMetadata(query) { - const params = { - blurry: query - } return request({ url: 'api/component/CuteUserSelect/listMetadata', method: 'post', - data: params + data: { + blurry: query + } }) } -export default { listMetadata } +export function listMetadataByUsernames(usernameList = []) { + return request({ + url: 'api/component/CuteUserSelect/listMetadataByUsernames', + method: 'post', + data: usernameList + }) +} + +export default { listMetadata, listMetadataByUsernames } diff --git a/cutejava-front/src/views/components/business/CuteSingleUserSelect.vue b/cutejava-front/src/views/components/business/CuteSingleUserSelect.vue index 0e125a55..a9dbf562 100644 --- a/cutejava-front/src/views/components/business/CuteSingleUserSelect.vue +++ b/cutejava-front/src/views/components/business/CuteSingleUserSelect.vue @@ -41,7 +41,7 @@ export default { }, data() { return { - user: this.value, + user: [], loading: false, options: [] } @@ -51,6 +51,13 @@ export default { this.user = newVal } }, + async mounted() { + const that = this + if (that.value && that.value.length > 0) { + that.options = await CuteUserSelectApi.listMetadataByUsernames(that.value) + that.users = that.value + } + }, methods: { remoteMethod(query) { if (query !== '') { diff --git a/cutejava-front/src/views/components/business/CuteUserSelect.vue b/cutejava-front/src/views/components/business/CuteUserSelect.vue index 79c10695..3a256fef 100644 --- a/cutejava-front/src/views/components/business/CuteUserSelect.vue +++ b/cutejava-front/src/views/components/business/CuteUserSelect.vue @@ -37,16 +37,11 @@ export default { type: Array, required: false, default: null - }, - dataSource: { - type: Array, - required: false, - default: null } }, data() { return { - users: this.value, + users: [], loading: false, options: [] } @@ -56,9 +51,11 @@ export default { this.users = newVal } }, - mounted() { - if (this.dataSource && this.dataSource.length > 0) { - this.options = this.dataSource + async mounted() { + const that = this + if (that.value && that.value.length > 0) { + that.options = await CuteUserSelectApi.listMetadataByUsernames(that.value) + that.users = that.value } }, methods: { diff --git a/cutejava-front/src/views/componentsDemo/CuteBusinessDemo.vue b/cutejava-front/src/views/componentsDemo/CuteBusinessDemo.vue index 2678ddb2..9fb00a94 100644 --- a/cutejava-front/src/views/componentsDemo/CuteBusinessDemo.vue +++ b/cutejava-front/src/views/componentsDemo/CuteBusinessDemo.vue @@ -65,7 +65,7 @@ export default { data() { return { form: { - user: null, + user: [], dept: null, productLine: null, productLinePro: null diff --git a/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/application/CuteUserSelectApi.java b/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/application/CuteUserSelectApi.java index a94f4f3b..21c5978e 100644 --- a/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/application/CuteUserSelectApi.java +++ b/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/application/CuteUserSelectApi.java @@ -30,4 +30,12 @@ public class CuteUserSelectApi { List collect = cuteUserSelectService.listMetadata(args); return ResponseEntity.ok(collect); } + + @ApiOperation("根据用户名称集合查询用户基础数据") + @PostMapping(value = "/listMetadataByUsernames") + @PreAuthorize("@el.check()") + public ResponseEntity> listMetadataByUsernames(@RequestBody List usernameList) { + List collect = cuteUserSelectService.listMetadataByUsernames(usernameList); + return ResponseEntity.ok(collect); + } } diff --git a/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/application/service/CuteUserSelectService.java b/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/application/service/CuteUserSelectService.java index 7c84cd35..34d67f81 100644 --- a/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/application/service/CuteUserSelectService.java +++ b/cutejava/cutejava-module-system/src/main/java/cn/odboy/system/application/service/CuteUserSelectService.java @@ -1,5 +1,6 @@ package cn.odboy.system.application.service; +import cn.hutool.core.collection.CollUtil; import cn.odboy.system.application.model.CuteUserSelectVo; import cn.odboy.system.dal.dataobject.SystemUserTb; import cn.odboy.system.dal.model.request.SystemQueryUserArgs; @@ -8,7 +9,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service public class CuteUserSelectService { @@ -44,4 +47,22 @@ public class CuteUserSelectService { return selectVo; }).getRecords(); } + + public List listMetadataByUsernames(List usernameList) { + if (CollUtil.isEmpty(usernameList)) { + return new ArrayList<>(); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.select(SystemUserTb::getUsername, SystemUserTb::getNickName, SystemUserTb::getDeptId, SystemUserTb::getEmail, SystemUserTb::getPhone); + wrapper.in(SystemUserTb::getUsername, usernameList); + return systemUserMapper.selectList(wrapper).stream().map(m -> { + CuteUserSelectVo selectVo = new CuteUserSelectVo(); + selectVo.setValue(m.getUsername()); + selectVo.setLabel(m.getNickName()); + selectVo.setDeptId(Long.toString(m.getDeptId())); + selectVo.setEmail(m.getEmail()); + selectVo.setPhone(m.getPhone()); + return selectVo; + }).collect(Collectors.toList()); + } }