Browse Source

Log, Open Link

caiaa 1 year ago
parent
commit
2f66a3313b

+ 3 - 2
src/api/log.js

@@ -1,7 +1,8 @@
 import request from '@/utils/request'
 
-export function addLog(data) {
+export function addLog(type, id, name) {
   return request({
-    url: `sysLog/openLink?name=${data}`
+    url: `${type}/clickIncr/${id}`,
+    headers: { 'sys-number': encodeURIComponent(name) }
   })
 }

+ 10 - 0
src/filters/index.js

@@ -66,3 +66,13 @@ export function toThousandFilter(num) {
 export function uppercaseFirst(string) {
   return string.charAt(0).toUpperCase() + string.slice(1)
 }
+
+export function formatImgUrl(string) {
+  if (string === null || string === undefined || string.length === 0) {
+    return string
+  }
+  if (string.startsWith('/')) {
+    string = string.substr(1)
+  }
+  return process.env.VUE_APP_BASE_API + '/' + string
+}

+ 2 - 2
src/utils/log.js

@@ -2,8 +2,8 @@ import { Message } from 'element-ui'
 
 import { addLog } from '@/api/log'
 
-export function jumpTo(data, url) {
-  addLog(data).then(res => {
+export function jumpTo(type, id, name, url) {
+  addLog(type, id, name).then(res => {
   }).catch(error => {
     console.log(error)
     Message({

+ 1 - 1
src/views/application/index.vue

@@ -47,7 +47,7 @@
               <div class="list-item-box">
                 <div v-for="item in tableData" :key="item.id" class="list-item">
                   <div class="item-content">
-                    <!-- <el-avatar :size="56" :src="item.icon" class="item-icon" /> -->
+                    <!-- <el-avatar :size="56" :src="item.icon | formatImgUrl" class="item-icon" /> -->
                     <div class="item-title">
                       <div class="item-name">{{ item.fileName }}</div>
                       <div class="item-system">上传时间:{{ item.createTime }}</div>

+ 1 - 0
src/views/business/components/DetailEdit.vue

@@ -194,6 +194,7 @@ export default {
       const params = {
         page: 1,
         size: 100,
+        order: 'update_time',
         params: {
           delFlag: 0
         }

+ 2 - 2
src/views/business/index.vue

@@ -43,13 +43,13 @@
               </div>
               <div class="item-content">
                 <div class="item-content-left">
-                  <el-avatar :size="56" :src="item.icon" />
+                  <el-avatar :size="56" :src="item.icon | formatImgUrl" />
                   <div class="item-title">
                     <div class="item-name">{{ item.businessName }}</div>
                     <div class="item-system">{{ item.appName }}</div>
                   </div>
                 </div>
-                <el-button class="item-link" size="small" @click="$jumpTo(item.businessName, item.url)">打开</el-button>
+                <el-button class="item-link" size="small" @click="$jumpTo('business', item.id, item.businessNumber, item.url)">打开</el-button>
               </div>
               <div class="item-footer">{{ item.deptName }}</div>
             </div>

+ 1 - 1
src/views/error-page/401.vue

@@ -19,7 +19,7 @@
         </ul>
       </el-col>
       <el-col :span="12">
-        <img width="313" height="428" alt="Girl has dropped her ice cream.">
+        <img width="313" height="428" alt="未找到">
       </el-col>
     </el-row>
     <el-dialog :visible.sync="dialogVisible" title="随便看">

+ 2 - 2
src/views/home/Business.vue

@@ -11,12 +11,12 @@
           <el-tab-pane label="所有" name="all">
             <div v-for="bizType in bizTypeData" :key="bizType.id" class="type-box">
               <div class="type-title">{{ bizType.label }}</div>
-              <el-button v-for="item in bizData[bizType.value]" :key="item.id" plain>{{ item.businessName }}</el-button>
+              <el-button v-for="item in bizData[bizType.value]" :key="item.id" plain @click="$jumpTo('business', item.id, item.businessNumber, item.url)">{{ item.businessName }}</el-button>
             </div>
           </el-tab-pane>
           <el-tab-pane v-for="bizType in bizTypeData" :key="bizType.id" :label="bizType.label" :name="bizType.type + bizType.id">
             <div class="type-box">
-              <el-button v-for="item in bizData[bizType.value]" :key="item.id" plain>{{ item.businessName }}</el-button>
+              <el-button v-for="item in bizData[bizType.value]" :key="item.id" plain @click="$jumpTo('business', item.id, item.businessNumber, item.url)">{{ item.businessName }}</el-button>
             </div>
           </el-tab-pane>
         </el-tabs>

+ 9 - 4
src/views/home/System.vue

@@ -8,15 +8,15 @@
       <el-carousel v-loading="loading" class="system-content" :autoplay="false" arrow="never" trigger="click">
         <el-carousel-item v-for="(page, index) in carouselData" :key="'carousel_' + index">
           <div class="system-box">
-            <div v-for="item in page" :key="item.id" class="system-item-box" @click="$jumpTo(item.systemName, item.url)">
-              <el-avatar :size="56" fit="fill" :src="item.icon" />
+            <div v-for="item in page" :key="item.id" class="system-item-box" @click="$jumpTo('app', item.id, item.systemNumber, item.url)">
+              <el-avatar :size="56" fit="fill" :src="item.icon | formatImgUrl" />
               <div class="system-title">{{ item.systemName }}</div>
             </div>
           </div>
         </el-carousel-item>
       </el-carousel>
     </el-card>
-    <system-edit ref="systemEdit" :title="title.startsWith('我的') ? title.substr(2) : title" />
+    <system-edit ref="systemEdit" :title="title.startsWith('我的') ? title.substr(2) : title" :app-type="appType" />
   </div>
 </template>
 
@@ -36,6 +36,10 @@ export default {
     pageSize: {
       type: Number,
       default: 5
+    },
+    appType: {
+      type: Number,
+      default: null
     }
   },
   data() {
@@ -71,7 +75,8 @@ export default {
         page: 1,
         size: 100,
         params: {
-          delFlag: 0
+          delFlag: 0,
+          appType: this.appType
         }
       }
       fetchMySystemList(params).then(response => {

+ 3 - 3
src/views/home/components/BusinessEdit.vue

@@ -42,10 +42,10 @@
               :key="element.id"
               class="drag-item"
               :class="{'filtered': element.isFavorite}"
-              @click="$jumpTo(element.businessName, element.url)"
+              @click="$jumpTo('business', element.id, element.businessNumber, element.url)"
             >
               <i class="el-icon-plus handle-icon" @click.stop="clickAddItem(index)" />
-              <el-avatar :size="56" :src="element.icon" />
+              <el-avatar :size="56" :src="element.icon | formatImgUrl" />
               <div class="item-content">
                 <div class="item-name">{{ element.businessName }}</div>
                 <div class="item-system">{{ element.appName }}</div>
@@ -76,7 +76,7 @@
             >
               <div v-for="(element, index) in myBizData" :key="element.id" class="drag-item">
                 <i class="el-icon-minus handle-icon" @click="clickRemoveItem(index)" />
-                <el-avatar :size="56" :src="element.icon" />
+                <el-avatar :size="56" :src="element.icon | formatImgUrl" />
                 <div class="item-content">
                   <div class="item-name">{{ element.businessName }}</div>
                   <div class="item-system">{{ element.appName }}</div>

+ 1 - 0
src/views/home/components/MessageList.vue

@@ -210,6 +210,7 @@ export default {
       const params = {
         page: 1,
         size: 100,
+        order: 'update_time',
         params: {
           delFlag: 0
         }

+ 11 - 4
src/views/home/components/SystemEdit.vue

@@ -34,10 +34,10 @@
               :key="element.id"
               class="drag-item"
               :class="{'filtered': element.isFavorite}"
-              @click="$jumpTo(element.systemName, element.url)"
+              @click="$jumpTo('app', element.id, element.systemNumber, element.url)"
             >
               <i class="el-icon-plus handle-icon" @click.stop="clickAddItem(index)" />
-              <el-avatar :size="56" :src="element.icon" />
+              <el-avatar :size="56" :src="element.icon | formatImgUrl" />
               <div class="item-system">{{ element.systemName }}</div>
             </div>
           </draggable>
@@ -67,7 +67,7 @@
             >
               <div v-for="(element, index) in myListData" :key="element.id" class="drag-item">
                 <i class="el-icon-minus handle-icon" @click="clickRemoveItem(index)" />
-                <el-avatar :size="56" :src="element.icon" />
+                <el-avatar :size="56" :src="element.icon | formatImgUrl" />
                 <div class="item-system">{{ element.systemName }}</div>
               </div>
             </draggable>
@@ -95,6 +95,10 @@ export default {
     title: {
       type: String,
       default: '应用'
+    },
+    appType: {
+      type: Number,
+      default: null
     }
   },
   data() {
@@ -152,8 +156,10 @@ export default {
       const params = {
         page: this.current,
         size: this.size,
+        order: 'update_time',
         params: {
           delFlag: 0,
+          appType: this.appType,
           appName: this.formData.systemName,
           businessName: this.formData.businessName
         }
@@ -192,7 +198,8 @@ export default {
         page: 1,
         size: 100,
         params: {
-          delFlag: 0
+          delFlag: 0,
+          appType: this.appType
         }
       }
       fetchMySystemList(params).then(response => {

+ 2 - 2
src/views/home/index.vue

@@ -82,10 +82,10 @@ export default {
   methods: {
     componentProps(index) {
       if (index === '3') {
-        return { title: '我的应用', pageSize: 10 }
+        return { title: '我的应用', pageSize: 10, appType: -1 }
       }
       if (index === '4') {
-        return { title: '专项工具', pageSize: 5 }
+        return { title: '专项工具', pageSize: 5, appType: 35 }
       }
       return {}
     },

+ 1 - 1
src/views/system/components/DetailEdit.vue

@@ -90,7 +90,7 @@
                 </div>
               </div>
               <div v-else>
-                <el-avatar :size="56" :src="formData.icon" />
+                <el-avatar :size="56" :src="formData.icon | formatImgUrl" />
               </div>
             </el-form-item>
           </el-col>

+ 3 - 2
src/views/system/index.vue

@@ -43,10 +43,10 @@
               </div>
               <div class="item-content">
                 <div class="item-content-left">
-                  <el-avatar :size="56" :src="item.icon" />
+                  <el-avatar :size="56" :src="item.icon | formatImgUrl" />
                   <span class="item-name">{{ item.systemName }}</span>
                 </div>
-                <el-button class="item-link" size="small" @click="$jumpTo(item.systemName, item.url)">打开</el-button>
+                <el-button class="item-link" size="small" @click="$jumpTo('app', item.id, item.systemNumber, item.url)">打开</el-button>
               </div>
               <div class="item-footer">{{ item.deptName }}</div>
             </div>
@@ -133,6 +133,7 @@ export default {
       const params = {
         page: this.current,
         size: this.size,
+        order: 'update_time',
         params: {
           delFlag: 0,
           appType: this.formData.appType,