From eb207b0dfcee18e02bf10bbdfdb67ebc84e0fec0 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Wed, 22 Sep 2021 10:37:51 +0800
Subject: [PATCH] 附件查看+分页

---
 src/views/resource/attachOnce.vue |  331 +++++++++++++++++++++----------------------------------
 1 files changed, 126 insertions(+), 205 deletions(-)

diff --git a/src/views/resource/attachOnce.vue b/src/views/resource/attachOnce.vue
index 66683ab..52d20e6 100644
--- a/src/views/resource/attachOnce.vue
+++ b/src/views/resource/attachOnce.vue
@@ -1,83 +1,90 @@
 <template>
-  <div>
-    <slot name="buts"></slot>
-    <avue-crud
-      :option="option"
-      :table-loading="loading"
-      :data="data"
-      :page.sync="page"
-      :permission="permissionList"
-      :before-open="beforeOpen"
-      v-model="form"
-      ref="crud"
-      @row-del="rowDel"
-      @search-change="searchChange"
-      @search-reset="searchReset"
-      @selection-change="selectionChange"
-      @current-change="currentChange"
-      @size-change="sizeChange"
-      @refresh-change="refreshChange"
-      @on-load="onLoad"
-    >
-      <template slot="menuLeft">
-        <!--        <el-button type="primary"-->
-        <!--                   size="small"-->
-        <!--                   plain-->
-        <!--                   icon="el-icon-upload2"-->
-        <!--                   @click="handleUpload">上 传-->
-        <!--        </el-button>-->
-        <!--        <el-button type="danger"-->
-        <!--                   size="small"-->
-        <!--                   icon="el-icon-delete"-->
-        <!--                   plain-->
-        <!--                   @click="handleDelete">删 除-->
-        <!--        </el-button>-->
-      </template>
-      <template slot-scope="scope" slot="menu">
-        <el-button
-          type="text"
-          icon="el-icon-download"
-          size="small"
-          @click="handleDownload(scope.row)"
-          >下载
-        </el-button>
-        <el-button
-          type="text"
-          icon="el-icon-picture-outline-round"
-          size="small"
-          v-show="!fileFormat(scope.row)"
-          @click="seeImages(scope.row)"
-          >预览
-        </el-button>
-      </template>
-      <!-- <template slot-scope="{ row }" slot="attachSize">
+  <basic-container>
+    <div>
+      <slot name="buts"></slot>
+      <avue-crud
+        :option="option"
+        :table-loading="loading"
+        :data="seeData"
+        :page.sync="page"
+        :permission="permissionList"
+        :before-open="beforeOpen"
+        v-model="form"
+        ref="crud"
+        @row-del="rowDel"
+        @search-change="searchChange"
+        @search-reset="searchReset"
+        @selection-change="selectionChange"
+        @current-change="currentChange"
+        @size-change="sizeChange"
+        @refresh-change="refreshChange"
+        @on-load="onLoad"
+      >
+        <template slot-scope="{ row }" slot="links">
+          <el-tag>
+            {{ getType(row.link) }}
+          </el-tag>
+        </template>
+        <template slot="menuLeft">
+          <!--        <el-button type="primary"-->
+          <!--                   size="small"-->
+          <!--                   plain-->
+          <!--                   icon="el-icon-upload2"-->
+          <!--                   @click="handleUpload">上 传-->
+          <!--        </el-button>-->
+          <!--        <el-button type="danger"-->
+          <!--                   size="small"-->
+          <!--                   icon="el-icon-delete"-->
+          <!--                   plain-->
+          <!--                   @click="handleDelete">删 除-->
+          <!--        </el-button>-->
+        </template>
+        <template slot-scope="scope" slot="menu">
+          <el-button
+            type="text"
+            icon="el-icon-download"
+            size="small"
+            @click="handleDownload(scope.row)"
+            >下载
+          </el-button>
+          <el-button
+            type="text"
+            icon="el-icon-picture-outline-round"
+            size="small"
+            v-show="!fileFormat(scope.row)"
+            @click="seeImages(scope.row)"
+            >预览
+          </el-button>
+        </template>
+        <!-- <template slot-scope="{ row }" slot="attachSize">
         <el-tag>{{ `${row.attachSize} KB` }}</el-tag>
       </template> -->
-    </avue-crud>
-    <el-dialog
-      title="附件管理"
-      append-to-body
-      :visible.sync="attachBox"
-      width="555px"
-    >
-      <avue-form
-        ref="form"
-        :option="attachOption"
-        v-model="attachForm"
-        :upload-after="uploadAfter"
+      </avue-crud>
+      <el-dialog
+        title="附件管理"
+        append-to-body
+        :visible.sync="attachBox"
+        width="555px"
       >
-      </avue-form>
-    </el-dialog>
+        <avue-form
+          ref="form"
+          :option="attachOption"
+          v-model="attachForm"
+          :upload-after="uploadAfter"
+        >
+        </avue-form>
+      </el-dialog>
 
-    <el-dialog
-      title="预览"
-      append-to-body
-      :visible.sync="imgSee"
-      class="see-img-box"
-    >
-      <div class="img" :style="{ background: imgUrl }"></div>
-    </el-dialog>
-  </div>
+      <el-dialog
+        title="预览"
+        append-to-body
+        :visible.sync="imgSee"
+        class="see-img-box"
+      >
+        <div class="img" :style="{ background: imgUrl }"></div>
+      </el-dialog>
+    </div>
+  </basic-container>
 </template>
 
 <script>
@@ -106,7 +113,7 @@
       attachBox: false,
       selectionList: [],
       option: {
-        height: 500,
+        height: 620,
         calcHeight: 30,
         tip: false,
         searchShow: true,
@@ -143,138 +150,25 @@
               },
             ],
           },
+          {
+            label: "附件格式",
+            prop: "links",
+            width: 120,
+            rules: [
+              {
+                required: true,
+                message: "请输入附件地址",
+                trigger: "blur",
+              },
+            ],
+          },
         ],
-        // [
-        //   {
-        //     label: "附件地址",
-        //     prop: "link",
-        //     rules: [
-        //       {
-        //         required: true,
-        //         message: "请输入附件地址",
-        //         trigger: "blur",
-        //       },
-        //     ],
-        //   },
-        //   {
-        //     label: "附件域名",
-        //     prop: "domain",
-        //     search: true,
-        //     rules: [
-        //       {
-        //         required: true,
-        //         message: "请输入附件域名",
-        //         trigger: "blur",
-        //       },
-        //     ],
-        //   },
-        //   {
-        //     label: "附件名称",
-        //     prop: "name",
-        //     search: true,
-        //     rules: [
-        //       {
-        //         required: true,
-        //         message: "请输入附件名称",
-        //         trigger: "blur",
-        //       },
-        //     ],
-        //   },
-        //   {
-        //     label: "附件原名",
-        //     prop: "originalName",
-        //     search: true,
-        //     rules: [
-        //       {
-        //         required: true,
-        //         message: "请输入附件原名",
-        //         trigger: "blur",
-        //       },
-        //     ],
-        //   },
-        //   {
-        //     label: "附件拓展名",
-        //     prop: "extension",
-        //     rules: [
-        //       {
-        //         required: true,
-        //         message: "请输入附件拓展名",
-        //         trigger: "blur",
-        //       },
-        //     ],
-        //   },
-        //   {
-        //     label: "附件大小",
-        //     prop: "attachSize",
-        //     slot: true,
-        //     rules: [
-        //       {
-        //         required: true,
-        //         message: "请输入附件大小",
-        //         trigger: "blur",
-        //       },
-        //     ],
-        //   },
-        //   {
-        //     label: "所属机构",
-        //     prop: "deptid",
-        //     type: "select",
-        //     dicUrl: "/api/blade-system/dept/selectIn",
-        //     props: {
-        //       label: "deptname",
-        //       value: "deptid",
-        //     },
-        //   },
-        //   {
-        //     label: "类型",
-        //     prop: "type",
-        //     addDisplay: false,
-        //     width: 80,
-        //     type: "select",
-        //     dicData: [
-        //       {
-        //         label: "许可审批",
-        //         value: "0",
-        //       },
-        //       {
-        //         label: "备案",
-        //         value: "1",
-        //       },
-        //       {
-        //         label: "撤销",
-        //         value: "2",
-        //       },
-        //       {
-        //         label: "跨区备案",
-        //         value: "3",
-        //       },
-        //     ],
-        //   },
-        // ],
       },
       data: [],
-      // attachForm: {},
-      // attachOption: {
-      //   submitBtn: false,
-      //   emptyBtn: false,
-      //   column: [
-      //     {
-      //       label: "附件上传",
-      //       prop: "attachFile",
-      //       type: "upload",
-      //       drag: true,
-      //       loadText: "模板上传中,请稍等",
-      //       span: 24,
-      //       propsHttp: {
-      //         res: "data",
-      //       },
-      //       action: "/api/blade-resource/oss/endpoint/put-file-attach?deptid=",
-      //     },
-      //   ],
-      // },
-
       imgSee: false,
       imgUrl: "",
+      ourData: [],
+      seeData: [],
     };
   },
   created() {
@@ -436,7 +330,28 @@
               }
             }
           }
-
+          this.ourData = [
+            ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+            // ...this.data,
+          ];
+          this.page.total = this.ourData.length;
+          function doit(data, page) {
+            return data.slice(
+              (+page.currentPage - 1) * +page.pageSize,
+              +page.currentPage * +page.pageSize
+            );
+          }
+          this.seeData = doit(this.ourData, page);
           this.loading = false;
         });
       });
@@ -461,7 +376,13 @@
 
       this.imgSee = true;
     },
-
+    getType(file) {
+      var filename = file;
+      var index1 = filename.lastIndexOf(".");
+      var index2 = filename.length;
+      var type = filename.substring(index1, index2);
+      return type;
+    },
     fileFormat(row) {
       var index = row.link.lastIndexOf(".");
       var ext = row.link.substr(index + 1);

--
Gitblit v1.9.3