Bläddra i källkod

Merge branch 'all-v4-qindao' into 'all-v4'

fix: 更改人员分组接口

See merge request skyeye/skyeye_frontend/skyeye-admin!327
Fei Liu 1 år sedan
förälder
incheckning
2c840ed77a

+ 6 - 5
src/api/message/person-group.ts

@@ -24,7 +24,7 @@ export function addUserGroup(params: addUserGroupParams) {
 
 /*
  *@description: 查询用户组列表
-*/
+ */
 export interface queryUserGroupListParams {
   pageNumber: number;
   pageSize: number;
@@ -75,8 +75,9 @@ export function ToPushObjectqueryUserGroupList() {
 }
 export function queryUserGroupDetail(userGroupList: number[]) {
   return http.request({
-    url: `/userGroup/queryUserGroupDetail?userGroupList=${userGroupList}`,
+    url: `/userGroup/queryUserGroupDetailByIds`,
     method: 'post',
+    data: { userGroupList },
   });
 }
 export interface FilterParams {
@@ -86,8 +87,8 @@ export interface FilterParams {
 }
 
 export type QueryPersonFilterParams = PaginationRequest & {
-  queryParam: FilterParams
-}
+  queryParam: FilterParams;
+};
 export interface UserListitem {
   checked?: boolean;
   /*自增主键 */
@@ -101,7 +102,7 @@ export interface UserListitem {
   /*工号 */
   staffNo: string;
 }
-/* 
+/*
  * @description: 获取人员选择列表-为发送通知选择用户
  */
 export function queryPersonFilterList(params: QueryPersonFilterParams): Promise<PaginationResponse<UserListitem>> {

+ 1 - 1
src/layout/components/Header/SwitchTenant.vue

@@ -14,7 +14,7 @@
   </div>
 </template>
 <script lang="ts" setup>
-  import { ref, computed, onMounted, watch } from 'vue';
+  import { ref, computed, onMounted } from 'vue';
   import { ElMessageBox, ElMessage } from 'element-plus';
   import { useUserStore } from '@/store/modules/user';
   import { queryListTenant } from '@/api/tenant';

+ 43 - 61
src/views/message/components/Group.vue

@@ -1,20 +1,10 @@
 <template>
   <div class="group" v-for="group in userGroupInfo" :key="group.userGroupId">
     <div class="group-name">
-      <span
-        style="font-weight: 400; font-size: 16px; color: rgba(0, 0, 0, 0.88); line-height: 22px"
-      >
+      <span style="font-weight: 400; font-size: 16px; color: rgba(0, 0, 0, 0.88); line-height: 22px">
         {{ group.name }}
       </span>
-      <span
-        style="
-          margin-left: 4px;
-          font-weight: 400;
-          font-size: 12px;
-          color: rgba(0, 0, 0, 0.88);
-          line-height: 17px;
-        "
-      >
+      <span style="margin-left: 4px; font-weight: 400; font-size: 12px; color: rgba(0, 0, 0, 0.88); line-height: 17px">
         <span style="color: #1777ff">{{ group.total }}</span>
@@ -23,24 +13,16 @@
         class="user-info"
         :class="{ expanded: group.isExpand }"
         ref="userInfoRefs"
-        :style="
-          !group.isExpand ? 'max-height:86px;overflow-y:hidden;' : 'max-height:100%;overflow-y:auto'
-        "
+        :style="!group.isExpand ? 'max-height:86px;overflow-y:hidden;' : 'max-height:100%;overflow-y:auto'"
         style="display: flex"
       >
-        <div
-          class="left"
-          style="display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; flex: 1"
-        >
-          <el-tag type="primary" v-for="user in group.userList" :key="user.userId">
-            {{ user.loginName }}-{{ user.nickname }}
+        <div class="left" style="display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; flex: 1">
+          <el-tag type="primary" v-for="user in group.userList" :key="user.id">
+            {{ user.username }}-{{ user.realname }}
           </el-tag>
         </div>
         <div class="right" style="width: 50px; margin-top: 20px" v-if="group.isHidden">
-          <span
-            @click="toggleExpand(group)"
-            style="display: flex; cursor: pointer; align-items: center"
-          >
+          <span @click="toggleExpand(group)" style="display: flex; cursor: pointer; align-items: center">
             {{ group.isExpand ? '收起' : '展开' }}
             <img v-if="group.isExpand" src="@/assets/icons/arrow_top.png" />
             <img v-else src="@/assets/icons/arrow_bottom.png" />
@@ -52,42 +34,42 @@
 </template>
 
 <script lang="ts" setup>
-import { ref, watch } from 'vue';
-import { GroupData } from '../persongroup/type';
-const userInfoRefs = ref({});
-const userGroupInfo = ref<GroupData[]>();
-const toggleExpand = (group) => {
-  group.isExpand = !group.isExpand;
-};
-const props = defineProps<{
-  userGroupInfo?: GroupData[];
-}>();
-watch(
-  () => props.userGroupInfo,
-  (newVal) => {
-    userGroupInfo.value = newVal;
-  },
-);
-watch(
-  () => userInfoRefs.value,
-  (newRefs) => {
-    if (newRefs) {
-      Object.keys(newRefs).forEach((key) => {
-        const el = newRefs[key];
-        if (el.offsetHeight >= 86) {
-          userGroupInfo.value![key].isHidden = true;
-        }
-      });
-    }
-  },
-);
+  import { ref, watch } from 'vue';
+  import { GroupData } from '../persongroup/type';
+  const userInfoRefs = ref({});
+  const userGroupInfo = ref<GroupData[]>();
+  const toggleExpand = (group) => {
+    group.isExpand = !group.isExpand;
+  };
+  const props = defineProps<{
+    userGroupInfo?: GroupData[];
+  }>();
+  watch(
+    () => props.userGroupInfo,
+    (newVal) => {
+      userGroupInfo.value = newVal;
+    },
+  );
+  watch(
+    () => userInfoRefs.value,
+    (newRefs) => {
+      if (newRefs) {
+        Object.keys(newRefs).forEach((key) => {
+          const el = newRefs[key];
+          if (el.offsetHeight >= 86) {
+            userGroupInfo.value![key].isHidden = true;
+          }
+        });
+      }
+    },
+  );
 </script>
 
 <style lang="scss" scoped>
-.el-tag {
-  font-weight: 500;
-  font-size: 12px;
-  color: #409eff;
-  line-height: 20px;
-}
-</style>
+  .el-tag {
+    font-weight: 500;
+    font-size: 12px;
+    color: #409eff;
+    line-height: 20px;
+  }
+</style>

+ 2 - 2
src/views/message/components/PushObject.vue

@@ -92,7 +92,7 @@
     username: string;
   }
   export interface userGroupVOList {
-    userGroupId: number;
+    id: number;
     total: number;
     operatorName: string;
     operationTime: string;
@@ -213,7 +213,7 @@
       ruleForm.recipientType = props.recipientType;
     }
     if (props.userGroupList != null) {
-      ruleForm.userGroupList = props.userGroupList.map((item) => item.userGroupId);
+      ruleForm.userGroupList = props.userGroupList.map((item) => item.id);
     }
     if (props.customUserList != null) {
       ruleForm.customUserList = formatCustomUserList(props.customUserList);

+ 11 - 43
src/views/message/persongroup/components/GroupBoard.vue

@@ -1,12 +1,6 @@
 <template>
   <div class="group-board">
-    <el-form
-      ref="ruleFormRef"
-      style="max-width: 600px"
-      :model="ruleForm"
-      label-width="auto"
-      class="demo-ruleForm"
-    >
+    <el-form ref="ruleFormRef" style="max-width: 600px" :model="ruleForm" label-width="auto" class="demo-ruleForm">
       <el-form-item label="分组名称:" prop="name" v-if="props.drawerTitle === '查看人员分组'">
         <el-input
           v-model="ruleForm.name"
@@ -16,12 +10,7 @@
           disabled="true"
         />
       </el-form-item>
-      <el-form-item
-        label="分组名称:"
-        prop="name"
-        :rules="[{ required: true, message: '分组名称不能为空' }]"
-        v-else
-      >
+      <el-form-item label="分组名称:" prop="name" :rules="[{ required: true, message: '分组名称不能为空' }]" v-else>
         <el-input
           v-model="ruleForm.name"
           type="textarea"
@@ -32,18 +21,8 @@
           show-word-limit
         />
       </el-form-item>
-      <el-form-item
-        label="分组描述:"
-        prop="description"
-        v-if="props.drawerTitle === '查看人员分组'"
-      >
-        <el-input
-          v-model="ruleForm.description"
-          type="textarea"
-          :rows="4"
-          autocomplete="off"
-          disabled="true"
-        />
+      <el-form-item label="分组描述:" prop="description" v-if="props.drawerTitle === '查看人员分组'">
+        <el-input v-model="ruleForm.description" type="textarea" :rows="4" autocomplete="off" disabled="true" />
       </el-form-item>
       <el-form-item label="分组描述:" prop="description" v-else>
         <el-input
@@ -63,8 +42,7 @@
             :key="user.id"
             :label="user.staffNo + '-' + user.realname"
             :value="user"
-          >
-          </el-option>
+          />
         </el-select>
         <p
           >共<span>&nbsp;{{ total }}&nbsp;</span>人</p
@@ -88,8 +66,7 @@
             :key="user.id"
             :label="user.staffNo + '-' + user.realname"
             :value="user"
-          >
-          </el-option>
+          />
         </el-select>
         <p
           >共<span>&nbsp;{{ total }}&nbsp;</span>人</p
@@ -125,11 +102,7 @@
       class="workShopDialog"
     >
       <!-- <SelectTree @cancel="handleCancle" @submit="handleSubmit" :selectedUser="selectedUser" /> -->
-      <PersonFilterSelection
-        @cancel="handleCancle"
-        @submit="handleSubmit"
-        :init-selected="selectedUser"
-      />
+      <PersonFilterSelection @cancel="handleCancle" @submit="handleSubmit" :init-selected="selectedUser" />
     </el-dialog>
   </div>
 </template>
@@ -145,12 +118,7 @@
   import type { FormInstance } from 'element-plus';
   import { ElMessage, ElMessageBox } from 'element-plus';
   import { debounce } from 'lodash-es';
-  import {
-    addUserGroup,
-    addUserGroupParams,
-    modifyUserGroup,
-    modifyUserGroupParams,
-  } from '@/api/message/person-group';
+  import { addUserGroup, addUserGroupParams, modifyUserGroup, modifyUserGroupParams } from '@/api/message/person-group';
   import { FormData } from '../type';
   const useUser = useUserStore();
   const { info } = storeToRefs(useUser);
@@ -259,7 +227,7 @@
     userList.value = props.formData.userList.map((user) => ({
       id: user.userId,
       realname: user.realname,
-      staffNo: user.userNumber,
+      staffNo: user.staffNo,
     }));
     selectedUser.value = userList.value;
     ruleForm.userList = userList.value;
@@ -292,9 +260,9 @@
       //   name: `${user.loginName}-${user.nickname}`,
       // }));
       userList.value = props.formData.userList.map((user) => ({
-        id: user.userId,
+        id: user.id,
         realname: user.realname,
-        staffNo: user.userNumber,
+        staffNo: user.staffNo,
       }));
       selectedUser.value = userList.value;
       ruleForm.userList = userList.value;

+ 3 - 3
src/views/message/persongroup/type.ts

@@ -45,9 +45,9 @@ export interface FormattedNode {
   filter?: boolean;
 }
 export interface FromUserList {
-  userId: number;
-  loginName: string;
-  userNumber: string;
+  id: number;
+  username: string;
+  staffNo: string;
   realname: string;
 }
 export interface FormData {

+ 3 - 0
src/views/message/question-notifications/components/WorkShopTree.vue

@@ -29,6 +29,9 @@
         <span style="font-weight: 400; font-size: 16px; color: rgba(0, 0, 0, 0.88); line-height: 22px"
           >已选择({{ selected }})</span
         >
+        <!-- <span style="margin-left: 4px; font-size: 10px; font-weight: 400; color: rgba(0, 0, 0, 0.45); line-height: 22px"
+          >/&nbsp;{{ total }}</span
+        > -->
       </div>
       <div class="selected">
         <el-tag v-for="(person, index) in selectedPeople" :key="index" closable @close="handleTagClose(person.code)">