Hua 2 hónapja
szülő
commit
5afd4bc9ea

+ 7 - 0
ruoyi-ui/src/api/service/info.js

@@ -351,4 +351,11 @@ export function downDir(query) {
     method: "get",
     params: query,
   });
+}
+export function getBei(query) {
+  return request({
+    url: "/data/set/file/listLog",
+    method: "get",
+    params: query,
+  });
 }

+ 74 - 5
ruoyi-ui/src/views/register/modelData/dataJiDe.vue

@@ -79,11 +79,12 @@
         </el-table-column>
         <el-table-column prop="dcType" label="分类"/>
         <el-table-column prop="dcNote" label="说明"/>>
-        <el-table-column prop="address" label="操作" width="250">
+        <el-table-column prop="address" label="操作" width="280">
             <template #default="scope">
                 <div style="width: 100%;">
                     <el-button type="primary" @click="download(scope.row,scope.$index)" size="mini" text style="margin-left: 0%;">下载</el-button>
                     <el-button v-if="scope.row.dcType==='FILE'" type="success" @click="showUpload(scope.row,scope.$index)" size="mini" text style="margin-left: 0%;">储存</el-button>
+                    <el-button v-if="scope.row.dcType==='FILE'" type="warning" @click="showBeifen(scope.row,scope.$index)" size="mini" text style="margin-left: 0%;">备份</el-button>
                     <el-button type="danger" @click="delCan(scope.row,scope.$index)" size="mini" text style="margin-left: 0%;">删除</el-button>
                 </div>
             </template>
@@ -240,6 +241,35 @@
             </span>
           </template>
         </el-dialog>
+        <el-dialog @close="clearFromLev" title="备份文件" v-model="dialogVisibleBei" width="50%" destroy-on-close>
+          <div>
+            <el-table 
+              :data="tableDataBei" 
+              style="width: 99%;margin-left: 1%;margin-top: 0.5%;height: 40vh;"
+              :cell-style="{ padding:'5px' }"
+              :header-cell-style="{height: heightAll*0.01+'px',}"
+              :row-style="{ fontSize: '16px',textAlign:'center'}"
+              border >
+              <el-table-column type="index" label="序号" width="80"></el-table-column>
+              <el-table-column prop="createBy" label="创建人">
+              </el-table-column>
+              <el-table-column prop="createTime" label="创建时间"/>
+              <el-table-column prop="originalFilename" label="文件名称" show-overflow-tooltip/>
+              <el-table-column prop="address" label="操作" width="100">
+                <template #default="scope">
+                    <div style="width: 100%;">
+                      <el-button type="primary" @click="downloadBei(scope.row,scope.$index)" size="mini" text style="margin-left: 0%;">下载</el-button>
+                    </div>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+          <template #footer>
+              <span class="dialog-footer">
+                <el-button type="primary" size="mini" @click="dialogVisibleBei.value = false">确定</el-button>
+            </span>
+          </template>
+        </el-dialog>
     </div>
   </div>
 </template>
@@ -247,7 +277,7 @@
 import {getCatalog} from "@/api/service/catalog";
 import { Plus,Search,Filter,Promotion,Check  } from '@element-plus/icons-vue'
 import { reactive } from 'vue'
-import { modelTreeSelect,modelSetRela,delGuan,downloadFile,downDir } from "@/api/service/info";
+import { modelTreeSelect,modelSetRela,delGuan,downloadFile,downDir,getBei } from "@/api/service/info";
 import { getDataJiFile,dataJiFile } from "@/api/register/regCom.js";
 import { ref, onMounted, onUnmounted, nextTick,onBeforeMount } from 'vue';
 import { cateTree,dataSetList} from "@/api/register/regCom.js";
@@ -262,6 +292,7 @@ const { proxy } = getCurrentInstance();
 const tableDataLog = ref([])
 const JsonAdd= ref(JSON.stringify({ data: "初始值1" }))
 const exampleAdd = ref('')
+const dialogVisibleBei = ref(false)
 const dialogVisibleLevel = ref(false)
 const detail = ref({
   name:'',
@@ -289,9 +320,11 @@ const upload = reactive({
   // 上传的地址
   url: import.meta.env.VITE_APP_BASE_API + "/common/upload"
 });
+const url = import.meta.env.VITE_APP_BASE_API
 const dialogVisibleJi = ref(false)
 const isEdit = ref(true)
 const dataReturn = ref('')
+const tableDataBei = ref([])
 const isSel = ref(true)
 const optionsCan = ref([
   {
@@ -529,6 +562,40 @@ function filterModelNodes(nodes) {
   return result;
 }
 const parRow = ref()
+function showBeifen(row){
+  dialogVisibleBei.value = true
+  var par = {
+    dcCode:row.dcCode
+  }
+  getBei(par).then(res=>{
+    tableDataBei.value = res.rows
+  })
+}
+function downloadBei(row){
+  getDataJiFile(row.dcCode).then(res1=>{
+    var par  ={
+      resource:res1.data.filePath
+    }
+    downDir(par).then(res=>{
+      const blob = new Blob([res], { type: 'blob' });
+      // 创建临时URL
+      const url = URL.createObjectURL(blob);
+      // 创建a标签
+      const link = document.createElement('a');
+      link.href = url;
+      // 设置下载的文件名
+      link.download = res1.data.originalFilename;
+      // 将a标签添加到文档中
+      document.body.appendChild(link);
+      // 触发点击下载
+      link.click();
+      // 下载完成后移除a标签
+      document.body.removeChild(link);
+      // 释放URL对象
+      URL.revokeObjectURL(url);
+    })
+  })
+}
 function showUpload(row){
   parRow.value = row
   dialogVisibleLevel.value = true
@@ -610,7 +677,6 @@ function delCan(row,index){
       }
     })
   }).then(() => {
-    
     tableData.value.splice(index, 1)
   }).catch(() => {});
   
@@ -661,10 +727,13 @@ async function getTreeLeft(){
   await modelTreeSelect(par).then(res=>{
     par = res.data
     data.value = res.data
-    
+    parMdid.value = res.data[0].children[0].id
   })
   optionsMdid.value = filterModelNodes(par)
-  console.log(optionsMdid.value)
+  var par1  = {
+      data:{id:parMdid.value}
+    }
+  handleNodeClick(null,par1,null)
 }
 function handleNodeClickJi(node, data){
     currentNodeKeyJi.value = data.data.id