From e85dd361514cacd446edbbd679667e485c1a4712 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 27 八月 2025 20:53:21 +0800
Subject: [PATCH] 修改查看文件历史

---
 src/views/wel/gongkong.vue |  218 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 175 insertions(+), 43 deletions(-)

diff --git a/src/views/wel/gongkong.vue b/src/views/wel/gongkong.vue
index 2722c5f..401651f 100644
--- a/src/views/wel/gongkong.vue
+++ b/src/views/wel/gongkong.vue
@@ -2,19 +2,19 @@
  * @Author: 鏉庡枂(寮�鍙戠粍) lzhe@yxqiche.com
  * @Date: 2025-08-11 09:25:36
  * @LastEditors: 鏉庡枂(寮�鍙戠粍) lzhe@yxqiche.com
- * @LastEditTime: 2025-08-12 17:13:14
+ * @LastEditTime: 2025-08-12 17:43:58
  * @FilePath: /mdmweb/src/views/wel/gongkong.vue
  * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 -->
 <template>
   <div class="gongkongMain">
     <div>
-      <el-tree :data="treeData" :props="defaultProps" node-key="id" :default-expand-all="true" @node-click="handleNodeClick" />
+      <el-tree :data="treeData" :props="defaultProps" node-key="id" :default-expand-all="false" :default-expanded-keys="defaultKeys" @node-click="handleNodeClick" />
     </div>
     <div>
       <el-row>
         <el-col :span="6" style="margin-right: 12px;">
-          <el-input v-model="fileName" placeholder="鏂囦欢鍚嶇О"/>
+          <el-input v-model="fileName" clearable placeholder="鏂囦欢鍚嶇О"/>
         </el-col>
         <el-col :span="12">
           <el-button type="primary" @click="onQuery">鏌ヨ</el-button>
@@ -22,17 +22,19 @@
       </el-row>
       <el-table :data="treecFileData" style="width: 100%">
         <el-table-column prop="name" label="鍚嶇О" />
-        <el-table-column prop="updateTime" label="淇敼鏃ユ湡" />
-        <el-table-column prop="status" label="绫诲瀷" />
+		    <el-table-column prop="fileModifyTime" label="鍒涘缓鏃ユ湡" />
+        <el-table-column prop="fileModifyTime" label="淇敼鏃ユ湡" />
+        <el-table-column prop="fileSizeDisplay" label="澶у皬" />
         <el-table-column fixed="right" label="鎿嶄綔" min-width="120">
           <template #default="scope">
             <el-button link type="primary" size="small" @click="fileView(scope.row)">鏌ョ湅</el-button>
             <el-button link type="primary" size="small" @click="fileEdit(scope.row)">缂栬緫</el-button>
+            <el-button type="primary" text size="small" @click.stop="viewHistory(scope.row, scope.index)">淇敼璁板綍</el-button>
           </template>
         </el-table-column>
       </el-table>
       <div class="paginationTree">
-        <el-pagination layout="prev, pager, next" :total="total" @size-change="sizeChange" @current-change="currentChange" />
+        <el-pagination layout="prev, pager, next" :total="fileTotal" @size-change="sizeChange" @current-change="currentChange" />
       </div>
     </div>
   </div>
@@ -45,12 +47,29 @@
       </div>
     </template>
   </el-dialog>
+
+  <el-dialog title="淇敼璁板綍" width="900" append-to-body v-model="viewHisModel">
+       <avue-crud :addBtn="false" :option="optionHis" :table-loading="loadingHis" :data="dataHis" ref="crud"
+      @current-change="currentChangeHis" v-model:page="pageHis" @search-change="searchChangeHis" @size-change="sizeChangeHis" @refresh-change="refreshChangeHis" @on-load="onLoadHis">
+     
+      <template #menu="scope">
+         <!--<el-button type="primary" :disabled="scope.row.processExecuted==true" text size="default" @click.stop="cancelProcess(scope.row, scope.index)">鎾ら攢</el-button> -->
+        <el-button type="primary" text size="default" @click.stop="hisCompare(scope.row, scope.index)">姣斿</el-button>
+      </template>
+     
+    </avue-crud>
+    </el-dialog>
 </template>
 <script>
+import {
+  getFileChangeList
+} from '@/api/wel/changehis';
+import { pageHeaderEmits } from 'element-plus';
 export default {
   components: {},
   data() {
     return {
+      defaultKeys: [],
       fileOptionTitle: "",
       fileContent: "",
       fileDialogVisible: false,
@@ -61,13 +80,60 @@
         label: 'name',
         isLeaf: (data) => !data.hasChildren
       },
-      treeData: [],
       current: 1,
       size: 10,
-      total: 0,
+      fileTotal: 0,
       treecFileData: [],
       TreeNode: {},
       fileRow: {},
+      loadingHis:false,
+      viewHisModel:false,
+
+      queryHis:{},
+      optionHis: {
+        addBtn: false,
+        editBtn: false,
+        delBtn: false,
+        columnBtn:false,
+        gridBtn:false,
+        refreshBtn:false,
+        labelWidth: 120,
+        emptyBtn: false,
+        searchShow: true,
+        searchEnter:true,
+        searchSpan: 4,
+        menu: true,
+        // selection: true,
+        column: [
+          {
+            label: '淇敼浜�',
+            prop: 'name',
+            search: true,
+            searchType: 'input',
+            searchSpan:6,
+            hide: false,
+            viewDisplay: true,
+          },
+          {
+            label: '淇敼鏃堕棿',
+            prop: 'createTime',
+            type: 'datetime',
+            format: 'YYYY-MM-DD HH:mm:ss',
+            valueFormat: 'YYYY-MM-DD HH:mm:ss',
+            search: true,
+            searchSpan:12,
+            searchRange: true,
+            hide: false,
+          },
+        ],
+      },
+      dataHis:[],
+      pageHis: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      
     }
   },
   computed: {},
@@ -76,19 +142,18 @@
   },
   methods: {
     fileDialogComit() {
-      console.log(this.fileRow);
-      // this.loading = true;
-      // axios({
-      //   url: '/blade-mdm/gkw/node/file-content',
-      //   method: 'get',
-      //   params: {id:row.id},
-      // }).then(
-      //   res => {
-      //     this.loading = false;
-      //     this.fileDialogVisible = true;
-      //     this.fileContent = res.data.data.replace(/\n/g, '<br>');
-      //   }
-      // );
+      this.loading = true;
+      axios({
+        url: '/blade-mdm/gkw/node/file-save',
+        method: 'post',
+        params: {id:this.fileRow.id,content: this.fileContent},
+      }).then(
+        res => {
+          this.loading = false;
+          this.fileDialogVisible = false;
+          this.$message.success("鎿嶄綔鎴愬姛");
+        }
+      );
     },
     fileView(row) {
       this.fileOptionTitle = "鏌ョ湅";
@@ -98,6 +163,43 @@
       this.fileOptionTitle = "缂栬緫";
       this.fileRow = {...row};
       this.getFileContent(row);
+    },
+    viewHistory(row){
+      console.log(row);
+      this.viewHisModel = true;
+      this.queryHis.machineFileId = row.id;
+      this.onLoadHis();
+    },
+
+    searchChangeHis(params, done) {
+      let data = {}
+      console.log(params)
+      this.pageHis.currentPage = 1;
+      let fileId = this.queryHis.machineFileId;
+      params.createTimeBegin = params?.createTime?.[0] || '';
+      params.createTimeEnd = params?.createTime?.[1] || '';
+      data = {
+        createTimeBegin: params.createTimeBegin || undefined,
+        createTimeEnd: params.createTimeEnd || undefined,
+        name: params.name || undefined,
+        machineFileId:fileId,
+      }
+      this.queryHis = data
+      this.onLoadHis();
+      done();
+    },
+    currentChangeHis(currentPage) {
+      this.pageHis.currentPage = currentPage;
+      this.onLoadHis();
+    },
+    sizeChangeHis(pageSize) {
+      this.pageHis.pageSize = pageSize;
+    },
+    refreshChangeHis() {
+      this.onLoadHis();
+    },
+    hisCompare(){
+        //鏂囦欢姣斿
     },
     getFileContent(row) {
       this.loading = true;
@@ -109,7 +211,7 @@
         res => {
           this.loading = false;
           this.fileDialogVisible = true;
-          this.fileContent = res.data.data.replace(/\n/g, '<br>');
+          this.fileContent = res.data.data;
         }
       );
     },
@@ -131,27 +233,27 @@
     },
     searchTable(TreeNode) {
       this.TreeNode = {...TreeNode};
-      if(TreeNode.dirType == 'SEND' || TreeNode.dirType == 'REC' || TreeNode.dirType == 'TEMP') {
-        var obj = {
-          name: this.fileName,
-          dirType: TreeNode.dirType,
-          machineCode: TreeNode.machineCode,
-          current: this.current,
-          size: this.size
-        }
-        axios({
-          url: '/blade-mdm/gkw/node/file-page',
-          method: 'get',
-          params: obj
-        }).then(
-          res => {
-            this.treecFileData = res.data.data.records;
-            this.total = res.data.data.total;
-          }
-        )
-      }else {
-        return;
+      
+      var obj = {
+        name: this.fileName,
+        dirType: TreeNode.dirType,
+        nodeType: TreeNode.nodeType, 
+        nodeId: TreeNode.nodeType!='dir'?TreeNode.id:undefined,
+        machineCode: TreeNode.machineCode,
+        current: this.current,
+        size: this.size
       }
+      axios({
+        url: '/blade-mdm/gkw/node/file-page',
+        method: 'get',
+        params: obj
+      }).then(
+        res => {
+          this.treecFileData = res.data.data.records;
+          this.fileTotal = res.data.data.total;
+        }
+      )
+     
     },
     treeLoad () {
       axios({
@@ -160,9 +262,39 @@
       }).then(
         res => {
           this.treeData = res.data.data;
+          var firstIndex = 0;
+          res.data.data.forEach((item,index)=> {
+            if(item.children.length != 0) {
+              firstIndex = index;
+            }
+          })
+          //defaultKeys.push(item.id);
+          this.defaultKeys = [res.data.data[firstIndex].id];
         }
       )
-    }
+    },/*
+    sizeChange(size) {
+      this.sizeHis = size;
+      this.onLoad();
+    },*/
+    onLoadHis() {
+      this.loadingHis = true;
+      getFileChangeList(this.pageHis.currentPage, this.pageHis.pageSize, this.queryHis).then(res => {
+        const data = res.data.data
+        
+        this.pageHis.total = data.total;
+        
+        this.dataHis = data.records;
+        this.loadingHis = false;
+      }, () => {
+        this.dataHis = [];
+        this.loadingHis = false;
+      }).catch(err => {
+        console.log(err)
+        this.dataHis = [];
+        this.loadingHis = false;
+      });
+    },
   },
   mounted() {
     this.treeLoad();

--
Gitblit v1.9.3