From bce5128f2b33735774e0777b00bca4ca4a61962a Mon Sep 17 00:00:00 2001
From: wangting <wangting@vci-tech.com>
Date: 星期五, 27 十二月 2024 18:16:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-ui/src/views/systemModel/systemMonitor/index.vue |   71 +++++++++++++----
 Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue |   48 +++++++++--
 Source/plt-web/plt-web-ui/src/api/systemModel/systemConfig/api.js       |    8 ++
 Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue   |   11 ++
 Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue    |   49 +++++++++---
 5 files changed, 144 insertions(+), 43 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/api/systemModel/systemConfig/api.js b/Source/plt-web/plt-web-ui/src/api/systemModel/systemConfig/api.js
index 3af0926..b5e4592 100644
--- a/Source/plt-web/plt-web-ui/src/api/systemModel/systemConfig/api.js
+++ b/Source/plt-web/plt-web-ui/src/api/systemModel/systemConfig/api.js
@@ -17,6 +17,14 @@
   });
 }
 
+// 鑾峰彇褰撳墠鐢ㄦ埛鍦ㄧ嚎浜烘暟淇℃伅
+export function getOnlinUsers() {
+  return request({
+    url: "/api/hmSysModConfigController/getOnlinUsers",
+    method: "get",
+  });
+}
+
 // 閰嶇疆椤规煡璇�
 export function getAppConfigDetailsByID(params) {
   return request({
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
index 4942a5a..e8040ab 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/businessModel/index.vue
@@ -69,15 +69,37 @@
           <el-button icon="el-icon-close" plain size="small" type="danger" @click="deleteOperationClickHandler">鍒犻櫎
           </el-button>
         </div>
-        <el-form ref="form" :model="form" label-width="85px" size="small" style="max-height: calc(100vh - 200px);overflow: auto;">
+        <el-form ref="form" :model="form" label-width="100px" size="small"
+                 style="max-height: calc(100vh - 200px);overflow: auto;">
           <span v-if="form.category !== 1">
-            <el-form-item label="妯″潡鍚嶏細">
+            <el-form-item>
+               <span slot="label" style="display:inline-block;">
+                鑿滃崟鏍囪瘑锛�
+                 <el-tooltip class="item" content="璇疯緭鍏ヨ嫳鏂囧瓧绗︼紝骞朵繚璇佸敮涓�鎬э紒" effect="dark" placement="top-start">
+                   <i class='el-icon-star-on' style="color: #F56C6C"/>
+                </el-tooltip>
+               </span>
+              <el-input v-model="form.alias" :disabled="!editStatus && !addStatus"
+                        placeholder="璇疯緭鍏ヨ嫳鏂囧瓧绗︼紝骞朵繚璇佸敮涓�鎬э紒"></el-input>
+            </el-form-item>
+               <el-form-item>
+               <span slot="label" style="display:inline-block;">
+                妯″潡鍚嶏細
+                 <i class='el-icon-star-on' style="color: #F56C6C"/>
+               </span>
             <el-input v-model="form.name" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ユā鍧楀悕"></el-input>
-          </el-form-item>
-          <el-form-item label="妯″潡鍒悕锛�">
-            <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="妯″潡鍒悕鐢ㄦ潵璁板綍鏃ュ織浣跨敤"></el-input>
-          </el-form-item>
-                <el-form-item v-if="form.functionType === 0" label="C/S锛�">
+            </el-form-item>
+            <el-form-item>
+               <span slot="label" style="display:inline-block;">
+                搴忓彿锛�
+                  <el-tooltip class="item" content="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�" effect="dark" placement="top-start">
+                   <i class='el-icon-star-on' style="color: #F56C6C"/>
+                </el-tooltip>
+               </span>
+            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus"
+                      placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input>
+            </el-form-item>
+            <el-form-item v-if="form.functionType === 0" label="C/S锛�">
             <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞"
                       type="textarea"></el-input>
           </el-form-item>
@@ -88,10 +110,6 @@
           <el-form-item v-if="form.functionType === 0" label=".NET锛�">
             <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2"
                       placeholder="璇疯緭鍏�.NET" type="textarea"></el-input>
-          </el-form-item>
-          <el-form-item label="搴忓彿锛�">
-            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus"
-                      placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input>
           </el-form-item>
           <el-form-item label="鍥炬爣锛�">
               <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="璇烽�夋嫨鍥炬爣">
@@ -311,6 +329,10 @@
         this.$message.error('妯″潡鍚嶄笉鑳戒负绌�');
         return
       }
+      if (!this.form.alias) {
+        this.$message.error('鑿滃崟鏍囪瘑涓嶈兘涓虹┖');
+        return
+      }
       if (this.form.name.length > 128) {
         this.$message.error('妯″潡鍚嶉暱搴︿笉鑳借秴杩�128锛�');
         return
@@ -355,6 +377,10 @@
         this.$message.error('妯″潡鍚嶄笉鑳戒负绌�');
         return
       }
+      if (!this.form.alias) {
+        this.$message.error('鑿滃崟鏍囪瘑涓嶈兘涓虹┖');
+        return
+      }
       if (this.form.name.length > 128) {
         this.$message.error('妯″潡鍚嶉暱搴﹁秴杩�128锛�');
         return
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
index 07d2c1a..6140b5b 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/mangeModel/index.vue
@@ -69,18 +69,39 @@
           <el-button icon="el-icon-close" plain size="small" type="danger" @click="deleteOperationClickHandler">鍒犻櫎
           </el-button>
         </div>
-        <el-form ref="form" :model="form" label-width="85px" style="max-height: calc(100vh - 200px);overflow: auto;">
+        <el-form ref="form" :model="form" label-width="100px" style="max-height: calc(100vh - 200px);overflow: auto;">
           <span v-if="form.category !== 1">
-            <el-form-item label="妯″潡鍚嶏細">
+            <el-form-item>
+               <span slot="label" style="display:inline-block;">
+                鑿滃崟鏍囪瘑锛�
+                 <el-tooltip class="item" effect="dark" content="璇疯緭鍏ヨ嫳鏂囧瓧绗︼紝骞朵繚璇佸敮涓�鎬э紒" placement="top-start">
+                   <i class='el-icon-star-on' style="color: #F56C6C"/>
+                </el-tooltip>
+               </span>
+              <el-input v-model="form.alias" :disabled="!editStatus && !addStatus"
+                      placeholder="璇疯緭鍏ヨ嫳鏂囧瓧绗︼紝骞朵繚璇佸敮涓�鎬э紒"></el-input>
+            </el-form-item>
+            <el-form-item>
+               <span slot="label" style="display:inline-block;">
+                妯″潡鍚嶏細
+                 <i class='el-icon-star-on' style="color: #F56C6C"/>
+               </span>
             <el-input v-model="form.name" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ユā鍧楀悕"></el-input>
-          </el-form-item>
-          <el-form-item label="妯″潡鍒悕锛�">
-            <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="妯″潡鍒悕鐢ㄦ潵璁板綍鏃ュ織浣跨敤"></el-input>
-          </el-form-item>
-                <el-form-item v-if="form.functionType === 0" label="C/S锛�">
+            </el-form-item>
+           <el-form-item>
+               <span slot="label" style="display:inline-block;">
+                搴忓彿锛�
+                  <el-tooltip class="item" content="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�" effect="dark" placement="top-start">
+                   <i class='el-icon-star-on' style="color: #F56C6C"/>
+                </el-tooltip>
+               </span>
+            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus"
+                      placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input>
+            </el-form-item>
+            <el-form-item v-if="form.functionType === 0" label="C/S锛�">
             <el-input v-model="form.pathC" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞"
                       type="textarea"></el-input>
-          </el-form-item>
+            </el-form-item>
           <el-form-item v-if="form.functionType === 0" label="B/S锛�">
             <el-input v-model="form.path" :disabled="!editStatus && !addStatus" :rows="2" placeholder="璇疯緭鍏/S璺緞"
                       type="textarea"></el-input>
@@ -88,10 +109,6 @@
           <el-form-item v-if="form.functionType === 0" label=".NET锛�">
             <el-input v-model="form.resourceDotNet" :disabled="!editStatus && !addStatus" :rows="2"
                       placeholder="璇疯緭鍏�.NET" type="textarea"></el-input>
-          </el-form-item>
-          <el-form-item label="搴忓彿锛�">
-            <el-input v-model="form.sort" :disabled="!editStatus && !addStatus"
-                      placeholder="鏁板瓧锛屾弿杩拌妯″潡鍦ㄥ叾鐖舵ā鍧椾笅鐨勬樉绀洪『搴�"></el-input>
           </el-form-item>
           <el-form-item label="鍥炬爣锛�">
               <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="璇烽�夋嫨鍥炬爣">
@@ -311,6 +328,10 @@
         this.$message.error('妯″潡鍚嶄笉鑳戒负绌�');
         return
       }
+      if (!this.form.alias) {
+        this.$message.error('鑿滃崟鏍囪瘑涓嶈兘涓虹┖');
+        return
+      }
       if (this.form.name.length > 128) {
         this.$message.error('妯″潡鍚嶉暱搴︿笉鑳借秴杩�128锛�');
         return
@@ -355,6 +376,10 @@
         this.$message.error('妯″潡鍚嶄笉鑳戒负绌�');
         return
       }
+      if (!this.form.alias) {
+        this.$message.error('鑿滃崟鏍囪瘑涓嶈兘涓虹┖');
+        return
+      }
       if (this.form.name.length > 128) {
         this.$message.error('妯″潡鍚嶉暱搴﹁秴杩�128锛�');
         return
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
index 7f72b04..2a1127a 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/operateType/index.vue
@@ -6,8 +6,8 @@
           <avue-tree :key="refresh" ref="tree" :data="treeData" :option="treeOption" node-key="id"
                      @node-click="nodeClick">
           <span slot-scope="{ node, data }" class="el-tree-node__label">
-           <span>
-              <i class="el-icon-s-promotion"></i>
+           <span style="display: flex">
+              <icon-show :name="data.icon"></icon-show>
                 {{ (node || {}).label }}
             </span>
           </span>
@@ -53,6 +53,10 @@
           </el-form-item>
           <el-form-item label="鍒悕锛�">
             <el-input v-model="form.alias" :disabled="!editStatus && !addStatus" placeholder="璇疯緭鍏ュ埆鍚�"></el-input>
+          </el-form-item>
+          <el-form-item label="鍥炬爣锛�">
+            <input-icon v-model="form.source" :disabled="!editStatus && !addStatus" placeholder="璇烽�夋嫨鍥炬爣">
+            </input-icon>
           </el-form-item>
           <el-form-item label="椤哄簭锛�">
             <el-input-number v-model="form.sort" :disabled="!editStatus && !addStatus" :max="9999" :min="0"
@@ -106,7 +110,8 @@
                 ...item,
                 id: item.id,
                 name: item.name,
-                leaf: !item.hasChildren
+                leaf: !item.hasChildren,
+                icon: item.source || 'iconoir:home'
               }
             }))
           })
diff --git a/Source/plt-web/plt-web-ui/src/views/systemModel/systemMonitor/index.vue b/Source/plt-web/plt-web-ui/src/views/systemModel/systemMonitor/index.vue
index 9fb216f..df30d90 100644
--- a/Source/plt-web/plt-web-ui/src/views/systemModel/systemMonitor/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/systemModel/systemMonitor/index.vue
@@ -1,41 +1,78 @@
 <template>
   <basic-container>
-    <div class="container">
-      <el-form ref="form" :model="form" label-width="150px">
-        <el-form-item label="褰撳墠鍦ㄧ嚎鐢ㄦ埛浜烘暟">
-          <div style="display: flex;">
-            <el-input v-model="form.currentOnlineUser" :readOnly="true"></el-input>
-            <el-button plain type="primary" style="margin-left: 10px" @click="getOnlineUsersNum"> 鍒锋柊</el-button>
-          </div>
-        </el-form-item>
-      </el-form>
+    <div style="display: flex;justify-content: space-between;align-items: center">
+      <h3>褰撳墠鍦ㄧ嚎浜哄憳淇℃伅</h3>
+      <el-button type="primary" size="small" plain style="margin-right: 10px" @click="getOnlinUsersHandler">鍒锋柊</el-button>
     </div>
+    <avue-crud :data="data" :option="option" :table-loading="loading" ></avue-crud>
   </basic-container>
 </template>
 
 <script>
 import {
-  getOnlineUsersNum
+  getOnlinUsers
 } from "@/api/systemModel/systemConfig/api"
+import basicOption from '@/util/basic-option';
+import func from "@/util/func";
 export default {
   name: "index",
   data() {
     return {
-      form: {
-        currentOnlineUser: '0'
+      loading:false,
+      data:[],
+      option:{
+        ...basicOption,
+        refreshBtn:false,
+        addBtn:false,
+        menu:false,
+        column:[
+          {
+            label:'鐢ㄦ埛OID',
+            prop:'oid',
+            overHidden:true,
+          },
+          {
+            label:'鐢ㄦ埛璐﹀彿',
+            prop:'userId'
+          },
+          {
+            label:'鐢ㄦ埛濮撳悕',
+            prop:'userName'
+          },
+          {
+            label:'鏈哄櫒ip',
+            prop:'ip'
+          },
+          {
+            label:'鐧诲綍鏃堕棿',
+            prop:'loginTime'
+          },
+          {
+            label:'鏈�鍚庢搷浣滄椂闂�',
+            prop:'lastRequestTs'
+          }
+        ]
       }
     }
   },
   created() {
-    this.getOnlineUsersNum();
+    this.getOnlinUsersHandler();
   },
   methods: {
     // 宸︿晶鏍戞煡璇�
-    getOnlineUsersNum() {
-      getOnlineUsersNum().then(res => {
+    getOnlinUsersHandler() {
+      this.loading = true;
+      getOnlinUsers().then(res => {
         if (res.data.code === 200) {
-          const data = res.data.obj;
-          this.form.currentOnlineUser = data;
+          const data = res.data.data;
+          this.data = data.map(item => {
+            return{
+              ...item,
+              loginTime:func.formattedDate(item.loginTime),
+              lastRequestTs:func.formattedDate(item.lastRequestTs),
+            }
+          })
+          this.loading = false;
         }
       })
     }

--
Gitblit v1.9.3