quwangxin 2 jaren geleden
bovenliggende
commit
9eb044927c
4 gewijzigde bestanden met toevoegingen van 45 en 2 verwijderingen
  1. 2 0
      src/App.vue
  2. 37 1
      src/api/saleOrder/index.js
  3. 1 1
      src/store/modules/user.js
  4. 5 0
      src/views/saleOrder/salesToProduction.vue

+ 2 - 0
src/App.vue

@@ -6,6 +6,7 @@
 
 
 <script>
 <script>
   import { updateDocumentTitle } from '@/utils/document-title-util';
   import { updateDocumentTitle } from '@/utils/document-title-util';
+  import { getPageList } from '@/api/saleOrder';
 
 
   export default {
   export default {
     name: 'App',
     name: 'App',
@@ -15,6 +16,7 @@
       );
       );
       // 恢复主题
       // 恢复主题
       this.$store.dispatch('theme/recoverTheme');
       this.$store.dispatch('theme/recoverTheme');
+      getPageList({ status: [1], size: 10, pageNum: 1 });
     },
     },
     methods: {
     methods: {
       /* 路由切换更新浏览器标题 */
       /* 路由切换更新浏览器标题 */

+ 37 - 1
src/api/saleOrder/index.js

@@ -1,5 +1,6 @@
 import request from '@/utils/request';
 import request from '@/utils/request';
-
+import store from '@/store';
+import Vue from 'vue';
 // 批量导入文件
 // 批量导入文件
 export async function importFile (data) {
 export async function importFile (data) {
   const res = await request.post('/aps/salesorder/importFile', data);
   const res = await request.post('/aps/salesorder/importFile', data);
@@ -13,6 +14,41 @@ export async function importFile (data) {
 export async function getPageList (data) {
 export async function getPageList (data) {
   const res = await request.post(`/aps/salesorder/page`, data);
   const res = await request.post(`/aps/salesorder/page`, data);
   if (res.data.code == 0) {
   if (res.data.code == 0) {
+    console.log(res.data);
+    if (store.state.user.menus?.length) {
+      for (const p of store.state.user.menus) {
+        if (p.path === '/saleOrder') {
+          store.dispatch('user/setMenuBadge', {
+            path: '/saleOrder',
+            value: res.data.data.count || 0,
+            color: 'red'
+          });
+          break;
+        }
+      }
+    } else {
+      const unwatch = Vue.$watch(
+        '$store.state.user.menus',
+        () => {
+          if (store.state.user.menus?.length) {
+            for (const p of store.state.user.menus) {
+              if (p.path === '/saleOrder') {
+                store.dispatch('user/setMenuBadge', {
+                  path: '/saleOrder',
+                  value: res.data.data.count || 0,
+                  color: 'red'
+                });
+                break;
+              }
+            }
+            unwatch();
+          }
+        },
+        {
+          immediate: true
+        }
+      );
+    }
     return res.data.data;
     return res.data.data;
   }
   }
   return Promise.reject(new Error(res.data.message));
   return Promise.reject(new Error(res.data.message));

+ 1 - 1
src/store/modules/user.js

@@ -149,7 +149,7 @@ export default {
       // const homePath = '/dashboard/workplace';
       // const homePath = '/dashboard/workplace';
       return {
       return {
         menus,
         menus,
-        homePath,
+        homePath: '/forget',
         authoritiesRouter
         authoritiesRouter
       };
       };
     },
     },

+ 5 - 0
src/views/saleOrder/salesToProduction.vue

@@ -309,6 +309,7 @@
   } from '@/api/saleOrder';
   } from '@/api/saleOrder';
   import dictMixins from '@/mixins/dictMixins';
   import dictMixins from '@/mixins/dictMixins';
   import { deepClone } from '@/utils/index';
   import { deepClone } from '@/utils/index';
+  import { getRouteTabKey, removePageTab } from '@/utils/page-tab-util';
   import dayjs from 'dayjs';
   import dayjs from 'dayjs';
   export default {
   export default {
     mixins: [dictMixins],
     mixins: [dictMixins],
@@ -511,6 +512,7 @@
           delete params.id;
           delete params.id;
         }
         }
 
 
+        const key = getRouteTabKey();
         request(params).then((res) => {
         request(params).then((res) => {
           // reloadPageTab({ fullPath: '/saleOrder' });
           // reloadPageTab({ fullPath: '/saleOrder' });
           if (type == 1) {
           if (type == 1) {
@@ -528,6 +530,9 @@
               }
               }
             });
             });
           }
           }
+          setTimeout(() => {
+            removePageTab({ key });
+          }, 100);
         });
         });
       }
       }
     }
     }