Procházet zdrojové kódy

fix: 修复【消息管理模块】进入详情页查看,切换租户,此时应返回列表页,而不是详情页,【消息管理模块】进入详情页查看,切换租户,此时应返回列表页,而不是详情页

qindao před 1 rokem
rodič
revize
444f059f65

+ 77 - 71
src/layout/components/Header/SwitchTenant.vue

@@ -1,6 +1,6 @@
 <!-- 切换租户 -->
 <template>
-  <div class="switchTenantLable-wrapper" v-if="options.length > 0 ">
+  <div class="switchTenantLable-wrapper" v-if="options.length > 0">
     <div class="switchTenantLable">选择租户</div>
     <el-tree-select
       :model-value="currentTenant"
@@ -14,85 +14,91 @@
   </div>
 </template>
 <script lang="ts" setup>
-import { ref, computed, onMounted, watch } from 'vue';
-import { ElMessageBox, ElMessage } from 'element-plus';
-import { useUserStore } from '@/store/modules/user';
-import { queryListTenant } from '@/api/tenant';
-import { useTargetTenantIdSetting } from '@/utils/useTargetTenantIdSetting';
-import { replaceParams } from '@/utils/helper/treeHelper';
-import { useRoute } from 'vue-router';
-import useMiniMap from '@/views/map-config/mini-map/use-mini-map.ts'
-import router from '@/router';
+  import { ref, computed, onMounted, watch } from 'vue';
+  import { ElMessageBox, ElMessage } from 'element-plus';
+  import { useUserStore } from '@/store/modules/user';
+  import { queryListTenant } from '@/api/tenant';
+  import { useTargetTenantIdSetting } from '@/utils/useTargetTenantIdSetting';
+  import { replaceParams } from '@/utils/helper/treeHelper';
+  import { useRoute } from 'vue-router';
+  import useMiniMap from '@/views/map-config/mini-map/use-mini-map.ts';
+  import router from '@/router';
 
+  const miniMap = useMiniMap();
+  const { isInConfigEditor } = miniMap;
 
-const miniMap = useMiniMap();
-const  {isInConfigEditor}  = miniMap;
+  interface TenantOption {
+    label: string;
+    value: string;
+  }
 
-interface TenantOption {
-  label: string;
-  value: string;
-}
-
-const userStore = useUserStore();
-const { setValue, getValue } = useTargetTenantIdSetting();
-const localTId = getValue();
-const tenantId = computed(() => {
-  return userStore.info.tenantId;
-});
-const currentTenant = ref(localTId ? Number(localTId) : Number(tenantId.value));
-const options = ref<TenantOption[]>([]);
-
-onMounted(() => {
-  queryListTenant().then((res) => {
-    if (!res) return;
-    options.value = replaceParams(res || [], 'tenantName', 'id')
+  const userStore = useUserStore();
+  const { setValue, getValue } = useTargetTenantIdSetting();
+  const localTId = getValue();
+  const tenantId = computed(() => {
+    return userStore.info.tenantId;
   });
-});
-const route = useRoute();
-/* 选择租户添加二次确认弹窗 */
-const handleChange = (targetTenantId: string) => {
-  ElMessageBox.confirm('是否切换租户?', '提示', {
-    confirmButtonText: '确定',
-    cancelButtonText: '取消',
-    type: 'warning',
-  }).then(() => {
-    setValue(targetTenantId);
-    currentTenant.value = Number(targetTenantId);
-   
-    /**
-    * 如果处于小地图编辑状态,切换租户时候,返回布局列表
-    */
-    if (isInConfigEditor(route.name)) {
-      sessionStorage.removeItem('selectCompanyId'); //切换租户的时候,下拉公司列表清空
-      router.back();
-    } else {
-      window.location.reload();
-    }
-    
-  }).catch(() => {
-    ElMessage({
-      type: 'info',
-      message: '取消切换',
+  const currentTenant = ref(localTId ? Number(localTId) : Number(tenantId.value));
+  const options = ref<TenantOption[]>([]);
+  const MESSAGE_ALARM_CONFIG_PAGE = 'MessageAlarmConfig';
+
+  onMounted(() => {
+    queryListTenant().then((res) => {
+      if (!res) return;
+      options.value = replaceParams(res || [], 'tenantName', 'id');
     });
   });
-};
 
+  const route = useRoute();
+  /* 选择租户添加二次确认弹窗 */
+  const handleChange = (targetTenantId: string) => {
+    ElMessageBox.confirm('是否切换租户?', '提示', {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+      type: 'warning',
+    })
+      .then(() => {
+        setValue(targetTenantId);
+        currentTenant.value = Number(targetTenantId);
+
+        /**
+         * 如果处于小地图编辑状态,切换租户时候,返回布局列表
+         */
+        if (isInConfigEditor(route.name)) {
+          sessionStorage.removeItem('selectCompanyId'); //切换租户的时候,下拉公司列表清空
+          router.back();
+        } else if (route.name === MESSAGE_ALARM_CONFIG_PAGE) {
+          /* 当页面为报警推送详情,切换租户,返回列表页面 */
+          router.push({
+            name: 'MessageAlarm',
+          });
+        } else {
+          window.location.reload();
+        }
+      })
+      .catch(() => {
+        ElMessage({
+          type: 'info',
+          message: '取消切换',
+        });
+      });
+  };
 </script>
 <style scoped>
-.switchTenantLable {
-  margin-right: 15px;
-  display: inline-block;
-  width: 100px;
-}
+  .switchTenantLable {
+    margin-right: 15px;
+    display: inline-block;
+    width: 100px;
+  }
 
-.switchTenantWrapper {
-  margin-right: 20px;
-}
+  .switchTenantWrapper {
+    margin-right: 20px;
+  }
 
-.switchTenantLable-wrapper {
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 200px;
-}
+  .switchTenantLable-wrapper {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    width: 200px;
+  }
 </style>

+ 14 - 47
src/views/message/components/PushObject.vue

@@ -1,25 +1,12 @@
 <template>
   <el-form :model="ruleForm" ref="ruleFormRef">
-    <el-form-item
-      label="推送对象"
-      prop="recipientType"
-      :rules="[{ required: true, message: '请选择推送对象' }]"
-    >
+    <el-form-item label="推送对象" prop="recipientType" :rules="[{ required: true, message: '请选择推送对象' }]">
       <el-radio-group v-model="ruleForm.recipientType" :disabled="disabled">
-        <el-radio
-          v-for="item in recipientTypeName"
-          :key="item.value"
-          :value="item.value"
-          :label="item.label"
-        />
+        <el-radio v-for="item in recipientTypeName" :key="item.value" :value="item.value" :label="item.label" />
       </el-radio-group>
     </el-form-item>
     <div class="userGroupList" v-if="ruleForm.recipientType === 2">
-      <el-form-item
-        label="选择分组"
-        prop="userGroupList"
-        :rules="[{ required: true, message: '请选择分组' }]"
-      >
+      <el-form-item label="选择分组" prop="userGroupList" :rules="[{ required: true, message: '请选择分组' }]">
         <el-select
           v-model="ruleForm.userGroupList"
           multiple
@@ -27,27 +14,13 @@
           style="width: 300px"
           :disabled="disabled"
         >
-          <el-option
-            v-for="item in options"
-            :key="item.userGroupId"
-            :value="item.userGroupId"
-            :label="item.name"
-          />
+          <el-option v-for="item in options" :key="item.id" :value="item.id" :label="item.name" />
         </el-select>
       </el-form-item>
-      <span
-        v-if="ruleForm.userGroupList.length > 0"
-        @click="queryGroupInfo(ruleForm.userGroupList)"
-      >
-        人员详情
-      </span>
+      <span v-if="ruleForm.userGroupList.length > 0" @click="queryGroupInfo(ruleForm.userGroupList)"> 人员详情 </span>
     </div>
     <div class="customUserList" v-if="ruleForm.recipientType === 3">
-      <el-form-item
-        label="选择人员"
-        prop="customUserList"
-        :rules="[{ required: true, message: '请选择人员' }]"
-      >
+      <el-form-item label="选择人员" prop="customUserList" :rules="[{ required: true, message: '请选择人员' }]">
         <el-select
           v-model="ruleForm.customUserList"
           value-key="id"
@@ -62,8 +35,7 @@
             :key="user.id"
             :label="user.staffNo + '-' + user.realname"
             :value="user"
-          >
-          </el-option>
+          />
         </el-select>
       </el-form-item>
     </div>
@@ -91,11 +63,7 @@
     :destroy-on-close="true"
   >
     <!-- <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>
 </template>
 
@@ -154,7 +122,7 @@
   }>();
   const emit = defineEmits(['submitWithForm']);
   interface Options {
-    userGroupId?: number;
+    id?: number;
     name?: string;
     description: string;
     total: number;
@@ -221,11 +189,11 @@
     userInfo.value = false;
   };
   const formatCustomUserList = (customList: customUserList[]): SelectedFilterPersonInfo[] => {
-     return customList.map((item) => ({
-        id: item.id,
-        staffNo: item.staffNo,
-        realname: item.realname,
-      }));
+    return customList.map((item) => ({
+      id: item.id,
+      staffNo: item.staffNo,
+      realname: item.realname,
+    }));
   };
   defineExpose({
     submitForm,
@@ -238,7 +206,6 @@
       if (res) {
         options.value = res.groupVOList;
       }
-      
     });
   });
   watchEffect(() => {