From 62ae55ae397b7997b147a7b946f7ad5f1c78a45d Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期三, 26 十月 2022 19:34:33 +0800
Subject: [PATCH] 综合展示,系统管理,授权管理,专题图,资料馆添加权限配置

---
 src/views/userManage/resourceManage.vue |  177 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 142 insertions(+), 35 deletions(-)

diff --git a/src/views/userManage/resourceManage.vue b/src/views/userManage/resourceManage.vue
index fd1539f..5ec2010 100644
--- a/src/views/userManage/resourceManage.vue
+++ b/src/views/userManage/resourceManage.vue
@@ -23,14 +23,14 @@
                         size="small"
             >{{ $t('common.empty') }}</el-button
           >
-          <el-button
+          <el-button v-if="menuStatus.insert"
             @click="InsertFormdialog = true"
             icon="el-icon-edit"
             type="success"
                         size="small"
             >{{ $t('common.append') }}</el-button
           >
-          <el-button
+          <el-button  v-if="menuStatus.delete"
             @click="DelFromData"
             icon="el-icon-delete"
             type="danger"
@@ -91,19 +91,19 @@
 
         >
         </el-table-column>
-        <el-table-column
+        <!-- <el-table-column
           prop="img"
           align="center"
           :label="$t('userManage.resManageObj.img')"
         >
-        </el-table-column>
-         <el-table-column
+        </el-table-column> -->
+         <!-- <el-table-column
           prop="createUser"
           align="center"
           :label="$t('userManage.resManageObj.createUser')"
         >
-        </el-table-column>
-         <el-table-column
+        </el-table-column> -->
+         <!-- <el-table-column
           prop="createTime"
           align="center"
           :label="$t('userManage.resManageObj.createTime')"
@@ -122,7 +122,7 @@
           :label="$t('userManage.resManageObj.updateTime')"
             :formatter="formatTime"
         >
-        </el-table-column>
+        </el-table-column>-->
          <el-table-column
           prop="bak"
           align="center"
@@ -142,7 +142,7 @@
               size="small"
               >{{ $t('common.see') }}</el-button
             >
-            <el-button
+            <el-button v-if="menuStatus.update"
               @click="handleEdit(scope.$index, scope.row)"
               type="warning"
               size="small"
@@ -208,7 +208,11 @@
           <el-divider></el-divider>
           <p>
             <label> {{ $t('userManage.resManageObj.img') }}:</label>
-            <label class="boxlabel">{{ itemdetail.img }}</label>
+            <label class="boxlabel">
+              <div style="width:440px;height:200px;">
+                <img style="width:100%; height:100%" :src="itemdetail.imageFile" alt=""/>
+              </div>
+            </label>
           </p>
            <el-divider></el-divider>
              <p>
@@ -317,7 +321,7 @@
          <el-form-item
           :label="$t('userManage.resManageObj.img')"
           :label-width="formLabelWidth"
-        >
+        >    <el-input v-model="insertform.img" disabled autocomplete="off"></el-input>
          <input
             name="file1"
             :accept="'.jpg,.png'"
@@ -325,15 +329,22 @@
             id="imageFile"
             multiple="multiple"
             style="display: none"
-            @change="uploadFile"
+            @change="insertFile"
           />
-          <el-input v-model="insertform.img" autocomplete="off"></el-input>
-            <!-- <el-link
+            <el-link
+            :title="$t('common.append')"
             :underline="false"
-            @click="getImageFile"
+            @click="getIsertFile"
             style="margin-left: 10px"
             ><i class="el-icon-plus"></i
-          ></el-link> -->
+          ></el-link>
+           <el-link
+           :title="$t('common.upload')"
+            :underline="false"
+            @click="setUploadFile(0)"
+            style="margin-left: 10px"
+            ><i class="el-icon-upload2"></i
+          ></el-link>
         </el-form-item>
          <el-form-item
           :label="$t('userManage.resManageObj.bak')"
@@ -411,12 +422,28 @@
           :label="$t('userManage.resManageObj.img')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="upform.img" autocomplete="off"></el-input>
+          <el-input v-model="upform.img" disabled autocomplete="off"></el-input>
+             <input
+            name="file1"
+            :accept="'.jpg,.png'"
+            type="file"
+            id="editimageFile"
+            multiple="multiple"
+            style="display: none"
+            @change="updateFile"
+          />
             <el-link
             :underline="false"
-
+            @click="getupdateFile"
             style="margin-left: 10px"
             ><i class="el-icon-plus"></i
+          ></el-link>
+           <el-link v-if="menuStatus.upload"
+           :title="$t('common.upload')"
+            :underline="false"
+            @click="setUploadFile(1)"
+            style="margin-left: 10px"
+            ><i class="el-icon-upload2"></i
           ></el-link>
         </el-form-item>
          <el-form-item
@@ -436,7 +463,7 @@
         }}</el-button>
       </div>
     </el-dialog>
-        <div class="leftTree" v-if="showDirCata">
+    <div class="leftTree" v-if="showDirCata">
       <div class="treeBox">
         <style-dir-tree></style-dir-tree>
       </div>
@@ -467,9 +494,12 @@
 
 <script>
 import $ from 'jquery';
+import {
+  getToken
+} from '../../utils/auth.js'
 import moment from 'moment';
 import MyBread from '../../components/MyBread.vue';
-import { select_Res_ByPageAndCount, insertRes, updateRes, deleteRess }
+import { select_Res_ByPageAndCount, insertRes, updateRes, deleteRess, upload_res }
   from '../../api/api.js';
 import styleDirTree from '../datamanage/styleDirTree.vue';
 import styleDepTree from '../datamanage/styleDepTree.vue';
@@ -477,6 +507,12 @@
   components: { MyBread, styleDirTree, styleDepTree },
   data() {
     return {
+        menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+        upload:false,
+      },
       formLabelWidth: '130px',
       ruleForm: {},
       isTransfer: false,
@@ -489,10 +525,14 @@
       showDepCata: false,
       dirFlag: null,
       depFlag: null,
-      insertform: {},
+      ImageFile: null,
+      uploadFile: null,
+      insertform: {
+        img: ''
+      },
       tableData: [],
       itemdetail: {},
-      upform: {},
+      upform: { img: '' },
       multipleSelection: [],
       count: 0,
       listData: {
@@ -507,20 +547,74 @@
     label: 'label',
   },
   created() {
-    this.getRoleTabelData();
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
+     this.getRoleTabelData();
   },
   methods: {
-     getImageFile() {
+     showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+            case '/upload':
+          this.menuStatus.upload = true;
+          break;
+      }
+    },
+    getIsertFile() {
       $('#imageFile').click();
     },
-    //鍥剧墖涓婁紶
-    uploadFile() {
+    getupdateFile() {
+      $('#editimageFile').click();
+    },
+    async setUploadFile(res) {
+      var fs;
+      if (res == 0) {
+       fs = document.getElementById("imageFile");
+
+      }else if (res ==1) {
+        fs = document.getElementById("editimageFile");
+        if(fs.files.length == 0){
+          return;
+        }
+      }
+      var formData = new FormData();
+      formData.append("file", fs.files[0]);
+      var val_data = await upload_res(formData);
+      if (val_data.code == 200) {
+        this.uploadFile = val_data.result;
+        this.$message({
+          message: '涓婁紶鎴愬姛锛�',
+          type: 'success',
+        });
+      } else {
+        this.$message({
+          message: '涓婁紶澶辫触锛�',
+          type: 'warning',
+        });
+      }
+    },
+    insertFile() {
       var val = document.getElementById('imageFile').files;
       if (!val || !val.length) return;
-      this.setInsertImg(val);
+      this.insertform.img = val[0].name;
     },
-    setInsertImg(res){
-
+    updateFile() {
+      var val = document.getElementById('editimageFile').files;
+      if (!val || !val.length) return;
+      this.upform.img = val[0].name;
     },
     showDirTree(res) {
       this.dirFlag = res;
@@ -592,10 +686,16 @@
       this.upform = {};
     },
     async EditFromData() {
+
+
+       if (this.uploadFile != null) {
+        this.upform.img = this.uploadFile;
+      }
       const data = await updateRes(this.upform);
       if (data.code == 200) {
         this.EditFormdialog = false;
         this.upform = {};
+        this.uploadFile = null;
         this.$message({
           message: '淇敼鎴愬姛锛�',
           type: 'success',
@@ -611,15 +711,16 @@
     },
     showDetail(index, row) {
       this.showinfoBox = true;
+      var token = getToken();
       this.itemdetail = row;
       this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime);
       this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime);
-
+      this.itemdetail.imageFile = BASE_URL + "/res/download?guid=" + row.img + "&token=" + token
     },
     handleEdit(index, row) {
       this.EditFormdialog = true;
       this.upform = row;
-            this.upform.depValue = row.depName;
+      this.upform.depValue = row.depName;
       this.upform.dirValue = row.dirName;
     },
     closeDetial() {
@@ -646,10 +747,16 @@
         });
         return;
       }
+      if (this.uploadFile != null) {
+        this.insertform.img = this.uploadFile;
+      }
       const data = await insertRes(this.insertform);
       if (data.code == 200) {
         this.InsertFormdialog = false;
-        this.insertform = {};
+        this.insertform= {
+        img: ''
+      };
+        this.uploadFile = null;
         this.$message({
           message: '娣诲姞鎴愬姛锛�',
           type: 'success',
@@ -668,11 +775,11 @@
       }
       this.listData.name = this.ruleForm.name;
       const data = await select_Res_ByPageAndCount(this.listData);
-      console.log(data)
+
       if (data.code != 200) {
         this.$message.error('鍒楄〃璋冪敤澶辫触');
       }
-      console.log(data.result);
+
       this.tableData = data.result;
       this.count = data.count;
     },
@@ -702,7 +809,7 @@
   padding: 10px;
   box-sizing: border-box;
   .el-input {
-    width: 745px;
+    width: 730px;
   }
   .power_quire {
     margin: 10px auto;

--
Gitblit v1.9.3