From 390edc5e3e6d28cb95328934b48a6121f0f88a09 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期二, 20 九月 2022 10:51:08 +0800
Subject: [PATCH] update 优化 oss管理 支持时间排序

---
 ruoyi-ui/src/views/system/oss/index.vue |   68 +++++++++++++++++++++++----------
 1 files changed, 47 insertions(+), 21 deletions(-)

diff --git a/ruoyi-ui/src/views/system/oss/index.vue b/ruoyi-ui/src/views/system/oss/index.vue
index e8e471e..d304451 100644
--- a/ruoyi-ui/src/views/system/oss/index.vue
+++ b/ruoyi-ui/src/views/system/oss/index.vue
@@ -98,6 +98,15 @@
       </el-col>
       <el-col :span="1.5">
         <el-button
+          :type="previewListResource ? 'danger' : 'warning'"
+          plain
+          size="mini"
+          @click="handlePreviewListResource(!previewListResource)"
+          v-hasPermi="['system:oss:edit']"
+        >棰勮寮�鍏� : {{previewListResource ? "绂佺敤" : "鍚敤"}}</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
           type="info"
           plain
           icon="el-icon-s-operation"
@@ -109,9 +118,9 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="ossList" @selection-change="handleSelectionChange">
+    <el-table v-loading="loading" :data="ossList" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="浜戝瓨鍌ㄤ富閿�" align="center" prop="ossId" v-if="false"/>
+      <el-table-column label="瀵硅薄瀛樺偍涓婚敭" align="center" prop="ossId" v-if="false"/>
       <el-table-column label="鏂囦欢鍚�" align="center" prop="fileName" />
       <el-table-column label="鍘熷悕" align="center" prop="originalName" />
       <el-table-column label="鏂囦欢鍚庣紑" align="center" prop="fileSuffix" />
@@ -126,13 +135,13 @@
                 v-if="!checkFileSuffix(scope.row.fileSuffix) || !previewListResource"/>
         </template>
       </el-table-column>
-      <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
+      <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
       <el-table-column label="涓婁紶浜�" align="center" prop="createBy" />
-      <el-table-column label="鏈嶅姟鍟�" align="center" prop="service" />
+      <el-table-column label="鏈嶅姟鍟�" align="center" prop="service" sortable="custom" :sort-orders="['descending', 'ascending']" />
       <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -161,7 +170,7 @@
       @pagination="getList"
     />
 
-    <!-- 娣诲姞鎴栦慨鏀筄SS浜戝瓨鍌ㄥ璇濇 -->
+    <!-- 娣诲姞鎴栦慨鏀筄SS瀵硅薄瀛樺偍瀵硅瘽妗� -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="鏂囦欢鍚�">
@@ -179,7 +188,6 @@
 
 <script>
 import { listOss, delOss } from "@/api/system/oss";
-import { downLoadOss } from "@/utils/download";
 
 export default {
   name: "Oss",
@@ -201,7 +209,7 @@
       showSearch: true,
       // 鎬绘潯鏁�
       total: 0,
-      // OSS浜戝瓨鍌ㄨ〃鏍兼暟鎹�
+      // OSS瀵硅薄瀛樺偍琛ㄦ牸鏁版嵁
       ossList: [],
       // 寮瑰嚭灞傛爣棰�
       title: "",
@@ -213,6 +221,8 @@
       previewListResource: true,
       // 鍒涘缓鏃堕棿鏃堕棿鑼冨洿
       daterangeCreateTime: [],
+      // 榛樿鎺掑簭
+      defaultSort: {prop: 'createTime', order: 'ascending'},
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -239,7 +249,7 @@
     this.getList();
   },
   methods: {
-    /** 鏌ヨOSS浜戝瓨鍌ㄥ垪琛� */
+    /** 鏌ヨOSS瀵硅薄瀛樺偍鍒楄〃 */
     getList() {
       this.loading = true;
       this.queryParams.params = {};
@@ -291,6 +301,12 @@
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
+    /** 鎺掑簭瑙﹀彂浜嬩欢 */
+    handleSortChange(column, prop, order) {
+      this.queryParams.orderByColumn = column.prop;
+      this.queryParams.isAsc = column.order;
+      this.getList();
+    },
     /** 浠诲姟鏃ュ織鍒楄〃鏌ヨ */
     handleOssConfig() {
       this.$router.push({ path: '/system/oss-config/index'})
@@ -316,23 +332,33 @@
     },
     /** 涓嬭浇鎸夐挳鎿嶄綔 */
     handleDownload(row) {
-      downLoadOss(row.ossId)
+      this.$download.oss(row.ossId)
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const ossIds = row.ossId || this.ids;
-      this.$confirm('鏄惁纭鍒犻櫎OSS浜戝瓨鍌ㄧ紪鍙蜂负"' + ossIds + '"鐨勬暟鎹」?', "璀﹀憡", {
-          confirmButtonText: "纭畾",
-          cancelButtonText: "鍙栨秷",
-          type: "warning"
-        }).then(() => {
-          this.loading = true;
-          return delOss(ossIds);
-        }).then(() => {
-          this.loading = false;
-          this.getList();
-          this.msgSuccess("鍒犻櫎鎴愬姛");
-        }).catch(() => {});
+      this.$modal.confirm('鏄惁纭鍒犻櫎OSS瀵硅薄瀛樺偍缂栧彿涓�"' + ossIds + '"鐨勬暟鎹」?').then(() => {
+        this.loading = true;
+        return delOss(ossIds);
+      }).then(() => {
+        this.loading = false;
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+    // 棰勮鍒楄〃鍥剧墖鐘舵�佷慨鏀�
+    handlePreviewListResource(previewListResource) {
+      let text = previewListResource ? "鍚敤" : "鍋滅敤";
+      this.$modal.confirm('纭瑕�"' + text + '""棰勮鍒楄〃鍥剧墖"閰嶇疆鍚�?').then(() => {
+        return this.updateConfigByKey("sys.oss.previewListResource", previewListResource);
+      }).then(() => {
+        this.getList()
+        this.$modal.msgSuccess(text + "鎴愬姛");
+      }).catch(() => {
+        this.previewListResource = previewListResource !== true;
+      })
     }
   }
 };

--
Gitblit v1.9.3