Răsfoiți Sursa

fix: 常用功能过期功能处理

cuiyalong 3 ani în urmă
părinte
comite
94f7ecf099

+ 15 - 1
src/components/push-list/PushList.vue

@@ -135,6 +135,7 @@ import ArticleItem from '@/components/article-item/ArticleItem.vue'
 import { dateFromNow, moneyUnit, replaceKeyword } from '@/utils/'
 import { getEventTarget } from '@/utils/jq-help'
 import { mixinVisited } from '@/utils/mixins/visited'
+import { tryCallHooks } from '@jianyu/easy-inject-qiankun'
 import {
   getExportPushList,
   getExportSelectItems,
@@ -282,7 +283,20 @@ export default {
         }
       }
       if (exportDataFlag) {
-        window.open('/front/dataExport/toCreateOrderPage/' + exportDataFlag)
+        const link = `/front/dataExport/toCreateOrderPage/${exportDataFlag}`
+        tryCallHooks({
+          fn: () => {
+            this.$BRACE.methods.open({
+              route: {
+                link
+              }
+            })
+          },
+          spareFn: () => {
+            location.href = link
+            // window.open(link)
+          }
+        })
       }
     },
     changeCheck (data) {

+ 4 - 1
src/store/workspace/common-use.js

@@ -23,7 +23,8 @@ export default {
     maxCount: 8,
     dialogShow: false,
     allFunctions: [], // 所有功能
-    commonList: [], // 常用功能
+    commonList: [], // 常用功能(显示在外)
+    transferCommonList: [], // 常用功能,去除过期的(显示在穿梭框右侧)
     saveData: null // 要提交的数据
   }),
   mutations: {
@@ -54,6 +55,7 @@ export default {
     setCommonList (state, list = []) {
       if (Array.isArray(list)) {
         state.commonList = list
+        state.transferCommonList = list.filter(item => item.usable)
       }
     },
     transferSave (state, data) {
@@ -113,6 +115,7 @@ export default {
           platform: state.platform
         })
         if (code === 0 && data) {
+          console.log(data)
           commit('setCommonList', data)
         } else {
           commit('setCommonList', [])

+ 21 - 14
src/views/workspace/components/CommonUse.vue

@@ -30,7 +30,7 @@
       <SelectorCard @onCancel="changeDialogState(false)" @onConfirm="confirmSaveFn" confirmText="确定">
         <div slot="header">常用功能设置</div>
         <div class="transfer-content">
-          <Transfer :maxCount="maxCount" submitKey="id" :left="allFunctions" :right="commonList" @onSave="onTransferSave"></Transfer>
+          <Transfer :maxCount="maxCount" submitKey="id" :left="allFunctions" :right="transferCommonList" @onSave="onTransferSave"></Transfer>
         </div>
         <p class="more-tips">最多可选择 <em style="color:#2CB7CA;">{{ maxCount }}</em> 个常用功能</p>
       </SelectorCard>
@@ -45,10 +45,12 @@ import { Dialog, Image } from 'element-ui'
 import WorkspaceCard from '../ui/WorkspaceCard'
 import SelectorCard from '@/components/selector/SelectorCard'
 import Transfer from '@/components/work-desktop/Transfer'
+import { mixinNoPowerMessageTip } from '@/utils/mixins/no-power-message-box'
 import { tryCallHooks } from '@jianyu/easy-inject-qiankun'
 
 export default {
   name: 'CommonUse',
+  mixins: [mixinNoPowerMessageTip],
   components: {
     [Dialog.name]: Dialog,
     [Image.name]: Image,
@@ -62,6 +64,7 @@ export default {
       maxCount: state => state.workspace.commonUse.maxCount,
       dialogShow: state => state.workspace.commonUse.dialogShow,
       allFunctions: state => state.workspace.commonUse.allFunctions, // 所有功能
+      transferCommonList: state => state.workspace.commonUse.transferCommonList,
       commonList: state => state.workspace.commonUse.commonList // 常用功能
     })
   },
@@ -85,19 +88,23 @@ export default {
     },
     openLink (item) {
       const { url } = item
-      tryCallHooks({
-        fn: () => {
-          this.$BRACE.methods.open({
-            route: {
-              ...item,
-              link: url
-            }
-          })
-        },
-        spareFn: (url) => {
-          window.open(url)
-        }
-      })
+      if (item.usable) {
+        tryCallHooks({
+          fn: () => {
+            this.$BRACE.methods.open({
+              route: {
+                ...item,
+                link: url
+              }
+            })
+          },
+          spareFn: () => {
+            window.open(url)
+          }
+        })
+      } else {
+        this.showNoPowerMessageTip()
+      }
     },
     confirmSaveFn () {
       try {