From 896fcc46a0ad102001be619bc7f0a963833a131e Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 24 十一月 2023 17:43:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/monitor/log/localLog.vue |  207 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 207 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/monitor/log/localLog.vue b/Source/UBCS-WEB/src/views/monitor/log/localLog.vue
new file mode 100644
index 0000000..90d9130
--- /dev/null
+++ b/Source/UBCS-WEB/src/views/monitor/log/localLog.vue
@@ -0,0 +1,207 @@
+<template>
+  <basic-container>
+    <avue-crud ref="crud"
+              v-model="form"
+              :before-close="beforeClose"
+              :before-open="beforeOpen"
+              :data="data"
+              :option="option"
+              :permission="permissionList"
+              :table-loading="loading"
+              @row-del="rowDel"
+              @search-change="searchChange"
+              @search-reset="searchReset"
+              @selection-change="selectionChange"
+              @row-click="clickRowChange"
+              @current-change="currentChange"
+              @size-change="sizeChange"
+              @refresh-change="refreshChange"
+              @on-load="onLoad"
+              @tree-load="treeLoad">
+          <template slot="menu" slot-scope="scope">
+              <el-button
+                  icon="el-icon-download el-icon--right"
+                  size="small"
+                  type="text"
+                  :loading="downloadLoading"
+                  @click="downLoadLogFile(scope.row)"
+                  v-if="permissionList.downLoadBtn"
+              >涓嬭浇
+              </el-button>
+          </template>
+    </avue-crud>
+  </basic-container>
+</template>
+
+<script>
+  import {getLazyList, deleteLocalLog,downLoadLog} from "@/api/logs";
+  import func from "@/util/func";
+  import {mapGetters} from "vuex";
+
+  export default {
+    data() {
+      return {
+        form: {},
+        selectionList: [],
+        query: {},
+        logPath: "",
+        loading: true,
+        page: {
+          pageSize: 10,
+          currentPage: 1,
+          total: 0
+        },
+        option: {
+          height: "auto",
+          lazy: true,
+          columnBtn: false,
+          tip: false,
+          searchShow: true,
+          searchMenuSpan: 6,
+          tree: true,
+          border: true,
+          index: true,
+          selection: true,
+          editBtn: false,
+          delBtn: true,
+          addBtn: false,
+          viewBtn: false,
+          // menuWidth: 300,
+          dialogClickModal: false,
+          highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
+          rowKey: "logName", //琛屾暟鎹殑 Key锛岀敤鏉ヤ紭鍖� Table 鐨勬覆鏌�
+          column: [
+            {
+              label: "鏈嶅姟鍚嶇О",
+              prop: "serviceName",
+              width:'120',
+              search: true
+            },
+            {
+              label: "鏈嶅姟ID",
+              prop: "serviceId",
+              search: true
+            },
+            {
+              label: "鏃ュ織璺緞",
+              prop: "logPath",
+              width:'160'
+            },
+            {
+              label: "鏃ュ織鍚嶇О",
+              prop: "logName",
+              width:'80',
+            },
+            {
+              label: "鏃ュ織绫诲瀷",
+              prop: "logType"
+            },
+            {
+              label: "鍒涘缓鏃堕棿",
+              prop: "createTime",
+              width:'180'
+            },
+            {
+              label: "鏈�鍚庝慨鏀规椂闂�",
+              prop: "lastModifier",
+              width:'180'
+            }
+          ]
+        },
+        data: [],
+        downloadLoading: false,
+      };
+    },
+    computed: {
+      ...mapGetters(["permission"]),
+      permissionList() {
+        return {
+          delBtn: this.vaildData(this.permission.localLog.localLog_delete, false),
+          downLoadBtn: this.vaildData(this.permission.localLog.localLog_dwonload, false)
+        };
+      }
+    },
+    methods: {
+
+      downLoadLogFile(row){
+          this.downloadLoading = true;
+          let logPath = row.hasChildren ?  row.logPath:row.logPath+"\\"+row.logName;
+          downLoadLog(Object.assign({},row,{logFullPaths:logPath})).then(res=>{
+              func.downloadFileByBlobHandler(res);
+              this.downloadLoading = false;
+          }).catch((res)=>{
+              //this.$message.warning(res)
+              this.downloadLoading = false;
+          })
+      },
+      // 琛屽垹闄�
+      rowDel(row, index, done) {
+          this.$confirm("纭畾灏嗛�夋嫨鐨勬棩蹇楁枃浠跺垹闄�?", {
+              confirmButtonText: "纭畾",
+              cancelButtonText: "鍙栨秷",
+              type: "warning"
+          })
+          .then(() => {
+              let logPath = row.hasChildren ?  row.logPath:row.logPath+"\\"+row.logName;
+              return deleteLocalLog(Object.assign({},row,{logFullPaths:logPath}));
+          })
+          .then(() => {
+              this.$message({
+                  type: "success",
+                  message: "鎿嶄綔鎴愬姛!"
+              });
+              // 鏁版嵁鍥炶皟杩涜鍒锋柊
+              done(row);
+              //this.onLoad();
+          });
+      },
+      searchReset() {
+          this.query = {};
+          this.parentId = 0;
+          this.onLoad(this.page);
+      },
+      searchChange(params, done) {
+          this.query = params;
+          this.parentId = '';
+          this.page.currentPage = 1;
+          this.onLoad(this.page, params);
+          done();
+      },
+      clickRowChange(row) {
+          this.$refs.crud.toggleSelection();
+          this.selectionList = row;
+          this.$refs.crud.setCurrentRow(row);
+          this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+      },
+      selectionChange(list) {
+          this.selectionList = list;
+          this.$refs.crud.setCurrentRow(this.selectionList[list.length - 1]);
+      },
+      selectionClear() {
+          this.selectionList = [];
+          this.$refs.crud.toggleSelection();
+      },
+      refreshChange() {
+          this.onLoad(this.page, this.query);
+      },
+      onLoad(page, params = {}) {
+          this.loading = true;
+          //Object.assign(params, this.query)
+          getLazyList({"logPath": this.logPath}).then(res => {
+              this.data = res.data.data;
+              this.loading = false;
+              this.selectionClear();
+          });
+      },
+      treeLoad(tree, treeNode, resolve) {
+          const logPath = tree.logPath;
+          getLazyList({"logPath": logPath}).then(res => {
+              resolve(res.data.data);
+          });
+      }
+    }
+  };
+</script>
+
+<style>
+</style>

--
Gitblit v1.9.3