Browse Source

应用未启用状态下禁用跳转

zhongxiaoyu 3 years ago
parent
commit
ac7e63f231
2 changed files with 64 additions and 61 deletions
  1. 0 1
      src/layout/components/TagsView/index.vue
  2. 64 60
      src/views/dashboard/index.vue

+ 0 - 1
src/layout/components/TagsView/index.vue

@@ -48,7 +48,6 @@ export default {
     },
     visitedViews: {
       handler(val) {
-        console.log(JSON.stringify(val).length)
         let authView = false
         let accountGroupView = false
         let orgView = false

+ 64 - 60
src/views/dashboard/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-10-14 17:17:53
- * @LastEditTime: 2022-03-29 14:18:40
+ * @LastEditTime: 2022-03-30 17:16:15
  * @LastEditors: your name
  * @Description: In User Settings Edit
  * @FilePath: \Foshan4A\src\views\dashboard\index.vue
@@ -360,69 +360,73 @@ export default {
       this.toApp(item, index)
     },
     toApp(item, index = 0) {
-      if (item.appUrl) {
-        let method
-        const originParams = item.params.length ? item.params[index] : {}
-        const headers = {}
-        const url = []
-        const params = {}
-        Object.entries(originParams).forEach(arr => {
-          const value = ['loginName', 'userName', 'token'].includes(arr[1].value)
-            ? sessionStorage.getItem(arr[1].value) ?? ''
-            : arr[1].value
-          switch (arr[1].site) {
-            case 'header':
-              headers[arr[0]] = value
-              break
-            case 'url':
-              url.push(`${arr[0]}=${value}`)
-              break
-            case 'body':
-              params[arr[0]] = value
-              break
-            default:
-              break
-          }
-        })
-        if (parseInt(item.requestType) === 1) {
-          method = 'get'
-          const form = document.createElement('form')
-          form.action = item.appUrl + (url.length ? '?' + url.join('&') : '')
-          form.target = '_blank'
-          form.method = method
-          form.style.display = 'none'
-          for (let key in params) {
-            const input = document.createElement('input')
-            input.name = key
-            input.value = params[key]
-            form.appendChild(input)
-          }
-          document.body.appendChild(form)
-          form.submit()
-          document.body.removeChild(form)
-        } else {
-          method = 'post'
-          headers['Content-Type'] =
-            item.bodyType === 'application/json'
-              ? 'application/json;charset=UTF-8'
-              : 'application/x-www-form-urlencoded'
-          axios({
-            baseURL: item.appUrl,
-            url: url.length ? '?' + url.join('&') : '',
-            method,
-            headers,
-            data: item.bodyType === 'application/json' ? params : qs.stringify(params)
+      if (Number(item.status) === 1) {
+        if (item.appUrl) {
+          let method
+          const originParams = item.params.length ? item.params[index] : {}
+          const headers = {}
+          const url = []
+          const params = {}
+          Object.entries(originParams).forEach(arr => {
+            const value = ['loginName', 'userName', 'token'].includes(arr[1].value)
+              ? sessionStorage.getItem(arr[1].value) ?? ''
+              : arr[1].value
+            switch (arr[1].site) {
+              case 'header':
+                headers[arr[0]] = value
+                break
+              case 'url':
+                url.push(`${arr[0]}=${value}`)
+                break
+              case 'body':
+                params[arr[0]] = value
+                break
+              default:
+                break
+            }
           })
-            .then(res => {
-              const data = res.data.data
-              data && window.open(data)
-            })
-            .catch(err => {
-              this.$message.error(err)
+          if (parseInt(item.requestType) === 1) {
+            method = 'get'
+            const form = document.createElement('form')
+            form.action = item.appUrl + (url.length ? '?' + url.join('&') : '')
+            form.target = '_blank'
+            form.method = method
+            form.style.display = 'none'
+            for (let key in params) {
+              const input = document.createElement('input')
+              input.name = key
+              input.value = params[key]
+              form.appendChild(input)
+            }
+            document.body.appendChild(form)
+            form.submit()
+            document.body.removeChild(form)
+          } else {
+            method = 'post'
+            headers['Content-Type'] =
+              item.bodyType === 'application/json'
+                ? 'application/json;charset=UTF-8'
+                : 'application/x-www-form-urlencoded'
+            axios({
+              baseURL: item.appUrl,
+              url: url.length ? '?' + url.join('&') : '',
+              method,
+              headers,
+              data: item.bodyType === 'application/json' ? params : qs.stringify(params)
             })
+              .then(res => {
+                const data = res.data.data
+                data && window.open(data)
+              })
+              .catch(err => {
+                this.$message.error(err)
+              })
+          }
+        } else {
+          this.$message.warning('应用地址为空')
         }
       } else {
-        this.$message.warning('应用地址为空')
+        this.$message.warning('应用未启用')
       }
       // if (item.appUrl) {
       //   window.open(item.appUrl)