From f6ebd1820968db8521bed86d25b183efe7eb877b Mon Sep 17 00:00:00 2001
From: lxl <lixuliang_hd@126.com>
Date: 星期四, 27 十月 2022 16:01:40 +0800
Subject: [PATCH] 权限

---
 src/views/datamanage/styleManage.vue |  444 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 351 insertions(+), 93 deletions(-)

diff --git a/src/views/datamanage/styleManage.vue b/src/views/datamanage/styleManage.vue
index 6736c9c..1ed9d6e 100644
--- a/src/views/datamanage/styleManage.vue
+++ b/src/views/datamanage/styleManage.vue
@@ -30,14 +30,14 @@
             size="small"
             >{{ $t('common.empty') }}</el-button
           >
-          <el-button
+          <el-button  v-if="btnStatus.insert"
             @click="InsertFormdialog = true"
             icon="el-icon-edit"
             type="success"
             size="small"
             >{{ $t('common.append') }}</el-button
           >
-          <el-button
+          <el-button  v-if="btnStatus.delete"
             @click="delStyleData"
             icon="el-icon-delete"
             type="danger"
@@ -106,7 +106,7 @@
               prop="descr"
               :label="$t('dataManage.styleObj.descr')"
             />
-            <el-table-column
+            <!-- <el-table-column
               align="center"
               prop="fileGuid"
               :label="$t('dataManage.styleObj.fileguid')"
@@ -137,13 +137,13 @@
               prop="updateTime"
               :label="$t('dataManage.styleObj.updateTime')"
               :formatter="formatTime"
-            />
+            /> -->
             <el-table-column
               align="center"
               prop="bak"
               :label="$t('dataManage.styleObj.bak')"
             />
-            <el-table-column min-width="150" :label="$t('common.operate')">
+            <el-table-column min-width="120" :label="$t('common.operate')">
               <template slot-scope="scope">
                 <el-button
                   @click="showDetail(scope.$index, scope.row)"
@@ -228,12 +228,14 @@
           <el-divider></el-divider>
           <p>
             <label> {{ $t('dataManage.styleObj.fileguid') }}:</label>
-            <label class="boxlabel">{{ itemdetail.fileguid }}</label>
+            <label class="boxlabel">{{ itemdetail.fileGuid }}</label>
           </p>
           <el-divider></el-divider>
           <p>
             <label> {{ $t('dataManage.styleObj.viewguid') }}:</label>
-            <label class="boxlabel">{{ itemdetail.viewguid }}</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>
@@ -360,13 +362,56 @@
           :label="$t('dataManage.styleObj.fileguid')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="upform.fileGuid" autocomplete="off"></el-input>
+          <el-input v-model="upform.fileGuid" disabled autocomplete="off"></el-input>
+           <input
+            name="file1"
+            type="file"
+            id="editFile"
+            multiple="multiple"
+            style="display: none"
+            @change="editFile(0)"
+          />
+           <el-link 
+            :underline="false"
+            @click="geteditFile(0)"
+            style="margin-left: 10px"
+            ><i class="el-icon-plus"></i
+          ></el-link>
+           <el-link v-if="btnStatus.upload"
+           :title="$t('common.upload')"
+            :underline="false"
+            @click="seteditFile(0)"
+            style="margin-left: 10px"
+            ><i class="el-icon-upload2"></i
+          ></el-link>
         </el-form-item>
         <el-form-item
           :label="$t('dataManage.styleObj.viewguid')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="upform.viewGuid" autocomplete="off"></el-input>
+          <el-input v-model="upform.viewGuid" disabled autocomplete="off"></el-input>
+           <input
+            name="file1"
+            :accept="'.jpg,.png'"
+            type="file"
+            id="editimageFile"
+            multiple="multiple"
+            style="display: none"
+            @change="editFile(1)"
+          />
+           <el-link 
+            :underline="false"
+            @click="geteditFile(1)"
+            style="margin-left: 10px"
+            ><i class="el-icon-plus"></i
+          ></el-link>
+           <el-link
+           :title="$t('common.upload')"
+            :underline="false"
+             @click="seteditFile(1)"
+            style="margin-left: 10px"
+            ><i class="el-icon-upload2"></i
+          ></el-link>
         </el-form-item>
         <el-form-item
           :label="$t('dataManage.styleObj.bak')"
@@ -443,7 +488,7 @@
         >
           <el-select
             v-model="insertform.status"
-            style="width: 745px"
+            style="width: 730px"
             :placeholder="$t('common.choose')"
           >
             <el-option
@@ -469,19 +514,63 @@
           :label="$t('dataManage.styleObj.descr')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="insertform.descr" autocomplete="off"></el-input>
+          <el-input v-model="insertform.descr"  autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item
           :label="$t('dataManage.styleObj.fileguid')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="insertform.fileGuid" autocomplete="off"></el-input>
+          <el-input v-model="insertform.fileGuid" disabled autocomplete="off" />
+           <input
+            name="file1"
+
+            type="file"
+            id="insertFile"
+            multiple="multiple"
+            style="display: none"
+            @change="insertFile(0)"
+          />
+           <el-link
+            :underline="false"
+            @click="getInsertFile(0)"
+            style="margin-left: 10px"
+            ><i class="el-icon-plus"></i
+          ></el-link>
+           <el-link
+           :title="$t('common.upload')"
+            :underline="false"
+  @click="setinsertFile(0)"
+            style="margin-left: 10px"
+            ><i class="el-icon-upload2"></i
+          ></el-link>
         </el-form-item>
         <el-form-item
           :label="$t('dataManage.styleObj.viewguid')"
           :label-width="formLabelWidth"
         >
-          <el-input v-model="insertform.viewGuid" autocomplete="off"></el-input>
+          <el-input v-model="insertform.viewGuid" disabled autocomplete="off"/>
+           <input
+            name="file1"
+            :accept="'.jpg,.png'"
+            type="file"
+            id="insertimageFile"
+            multiple="multiple"
+            style="display: none"
+            @change="insertFile(1)"
+          />
+           <el-link
+            :underline="false"
+            @click="getInsertFile(1)"
+            style="margin-left: 10px"
+            ><i class="el-icon-plus"></i
+          ></el-link>
+           <el-link
+           :title="$t('common.upload')"
+            :underline="false"
+             @click="setinsertFile(1)"
+            style="margin-left: 10px"
+            ><i class="el-icon-upload2"></i
+          ></el-link>
         </el-form-item>
         <el-form-item
           :label="$t('dataManage.styleObj.bak')"
@@ -525,19 +614,21 @@
 </template>
 
 <script>
-import $ from 'jquery';
-import moment from 'moment';
-import MyBread from '../../components/MyBread.vue';
-import styleDirTree from './styleDirTree.vue';
-import styleDepTree from './styleDepTree.vue';
+import $ from "jquery";
+import moment from "moment";
+import { getToken } from "../../utils/auth.js";
+import MyBread from "../../components/MyBread.vue";
+import styleDirTree from "./styleDirTree.vue";
+import styleDepTree from "./styleDepTree.vue";
 import {
   select_Style_ByPageAndCount,
   insertStyle,
   deleteStyles,
-  updateStyle
-} from '../../api/api';
+  updateStyle,
+  upload_style,
+} from "../../api/api";
 export default {
-  name: 'styleManage',
+  name: "styleManage",
   components: { MyBread, styleDirTree, styleDepTree },
   data() {
     return {
@@ -545,36 +636,184 @@
       InsertFormdialog: false,
       showCata: false,
       upform: {},
-      formLabelWidth: '130px',
+      formLabelWidth: "130px",
       showinfoBox: false,
       itemdetail: {},
-      ruleForm: {
-      },
+      ruleForm: {},
 
       backupData: [],
 
-      searchName: '',
+      searchName: "",
       multipleSelection: [],
       upflag: false,
       /** */
       showDirCata: false,
       showDepCata: false,
       tableData: [],
-      insertform: {},
+      insertform: {
+        fileGuid: null,
+        viewGuid: null,
+      },
       dirFlag: null,
       depFlag: null,
+      guidFile: null,
+      viewFile: null,
       count: 0,
       listData: {
         name: null,
         pageIndex: 1,
         pageSize: 10,
       },
+      btnStatus: {
+        select: false,
+        delete: false,
+        upload: false,
+        download: false,
+        insert: false,
+        update: false,
+      },
     };
   },
   created() {
     this.getRoleTabelData();
+    this.showPermsBtn();
   },
   methods: {
+    showPermsBtn() {
+      let currentPerms = this.$store.state.currentPerms;
+      let permsEntity = this.$store.state.permsEntity;
+      permsEntity
+        .filter((item) => item.perms == currentPerms)
+        .map((item) => (this.btnStatus[item.tag.substr(1)] = true));
+    },
+    filesReset() {
+      document.getElementById("insertFile").reset();
+      document.getElementById("insertimageFile").reset();
+      this.guidFile = null;
+      this.fileGuid = null;
+    },
+    getInsertFile(res) {
+      if (res == 0) {
+        $("#insertFile").click();
+      } else if (res == 1) {
+        $("#insertimageFile").click();
+      }
+    },
+    insertFile(res) {
+      if (res == 0) {
+        var val = document.getElementById("insertFile").files;
+        if (!val || !val.length) return;
+        this.insertform.fileGuid = val[0].name;
+      } else if (res == 1) {
+        var val = document.getElementById("insertimageFile").files;
+        if (!val || !val.length) return;
+        this.insertform.viewGuid = val[0].name;
+      }
+    },
+    async setinsertFile(res) {
+      if (res == 0) {
+        var fs = document.getElementById("insertFile");
+        if (fs.files.length == 0) {
+          return;
+        }
+        var formData = new FormData();
+        formData.append("file", fs.files[0]);
+        var val_data = await upload_style(formData);
+        if (val_data.code == 200) {
+          this.guidFile = val_data.result;
+          this.$message({
+            message: "涓婁紶鎴愬姛锛�",
+            type: "success",
+          });
+        } else {
+          this.$message({
+            message: "涓婁紶澶辫触锛�",
+            type: "warning",
+          });
+        }
+      } else if (res == 1) {
+        var fs = document.getElementById("insertimageFile");
+        if (fs.files.length == 0) {
+          return;
+        }
+        var formData = new FormData();
+        formData.append("file", fs.files[0]);
+        var val_data = await upload_style(formData);
+        if (val_data.code == 200) {
+          this.viewFile = val_data.result;
+          this.$message({
+            message: "涓婁紶鎴愬姛锛�",
+            type: "success",
+          });
+        } else {
+          this.$message({
+            message: "涓婁紶澶辫触锛�",
+            type: "warning",
+          });
+        }
+      }
+    },
+    geteditFile(res) {
+      if (res == 0) {
+        $("#editFile").click();
+      } else if (res == 1) {
+        $("#editimageFile").click();
+      }
+    },
+    editFile(res) {
+      if (res == 0) {
+        var val = document.getElementById("editFile").files;
+        if (!val || !val.length) return;
+        this.upform.fileGuid = val[0].name;
+      } else if (res == 1) {
+        var val = document.getElementById("editimageFile").files;
+        if (!val || !val.length) return;
+        this.upform.viewGuid = val[0].name;
+      }
+    },
+    async seteditFile(res) {
+      if (res == 0) {
+        var fs = document.getElementById("editFile");
+        if (fs.files.length == 0) {
+          return;
+        }
+        var formData = new FormData();
+        formData.append("file", fs.files[0]);
+        var val_data = await upload_style(formData);
+        if (val_data.code == 200) {
+          this.guidFile = val_data.result;
+          this.$message({
+            message: "涓婁紶鎴愬姛锛�",
+            type: "success",
+          });
+        } else {
+          this.$message({
+            message: "涓婁紶澶辫触锛�",
+            type: "warning",
+          });
+        }
+      } else if (res == 1) {
+        var 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_style(formData);
+        if (val_data.code == 200) {
+          this.viewFile = val_data.result;
+          this.$message({
+            message: "涓婁紶鎴愬姛锛�",
+            type: "success",
+          });
+        } else {
+          this.$message({
+            message: "涓婁紶澶辫触锛�",
+            type: "warning",
+          });
+        }
+      }
+    },
     handleSelectionChange(val) {
       this.multipleSelection = val;
     },
@@ -595,14 +834,14 @@
       const data = await deleteStyles({ ids: std.toString() });
       if (data.code == 200) {
         this.$message({
-          message: '鍒犻櫎鎴愬姛锛�',
-          type: 'success',
+          message: "鍒犻櫎鎴愬姛锛�",
+          type: "success",
         });
         this.getRoleTabelData();
       } else {
         this.$message({
-          message: '鍒犻櫎澶辫触锛�',
-          type: 'warning',
+          message: "鍒犻櫎澶辫触锛�",
+          type: "warning",
         });
       }
     },
@@ -644,39 +883,48 @@
     insertFromDataClose() {
       this.InsertFormdialog = false;
       this.insertform = {};
+      this.filesReset();
     },
     async insertFromData() {
       if (this.insertform.dirid == null || this.insertform.depid == null) {
         this.$message({
-          message: '璇烽�夋嫨鏍峰紡鎵�灞炵殑鐩綍鎴栧崟浣�',
-          type: 'warning',
+          message: "璇烽�夋嫨鏍峰紡鎵�灞炵殑鐩綍鎴栧崟浣�",
+          type: "warning",
         });
         return;
+      }
+      if (this.guidFile != null) {
+        this.insertform.fileGuid = this.guidFile;
+      }
+      if (this.viewFile != null) {
+        this.insertform.viewGuid = this.viewFile;
       }
       const data = await insertStyle(this.insertform);
       if (data.code == 200) {
         this.InsertFormdialog = false;
         this.insertform = {};
+
+        this.filesReset();
         this.$message({
-          message: '娣诲姞鎴愬姛锛�',
-          type: 'success',
+          message: "娣诲姞鎴愬姛锛�",
+          type: "success",
         });
         this.getRoleTabelData();
       } else {
         this.$message({
-          message: '娣诲姞澶辫触锛�',
-          type: 'warning',
+          message: "娣诲姞澶辫触锛�",
+          type: "warning",
         });
       }
     },
     async getRoleTabelData() {
-      if (this.listData.tab == '') {
+      if (this.listData.tab == "") {
         delete this.listData.tab;
       }
       this.listData.name = this.ruleForm.name;
       const data = await select_Style_ByPageAndCount(this.listData);
       if (data.code != 200) {
-        this.$message.error('鍒楄〃璋冪敤澶辫触');
+        this.$message.error("鍒楄〃璋冪敤澶辫触");
       }
       this.tableData = data.result;
       this.count = data.count;
@@ -689,7 +937,7 @@
       if (date === undefined || date === null) {
         return;
       }
-      return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss');
+      return moment(parseInt(date)).format("YYYY-MM-DD HH:mm:ss");
     },
     formatStatus(row, column) {
       let date = row[column.property];
@@ -701,28 +949,28 @@
       }
       switch (date) {
         case 1:
-          return '鍚敤';
+          return "鍚敤";
           break;
         case 0:
-          return '鍋滅敤';
+          return "鍋滅敤";
           break;
       }
     },
     /** */
     getflyFile() {
-      $('#flyFile').click();
+      $("#flyFile").click();
     },
     getImageFile() {
-      $('#imageFile').click();
+      $("#imageFile").click();
     },
     uploadflyFile() {
-      var val = document.getElementById('flyFile').files;
+      var val = document.getElementById("flyFile").files;
       if (!val || !val.length) return;
       if (!val || !val.length) return;
       var formData = new FormData();
-      formData.append('file0', val[0]);
-      var res = $.ajax(serverUrl + 'Style/Upload', {
-        type: 'post',
+      formData.append("file0", val[0]);
+      var res = $.ajax(serverUrl + "Style/Upload", {
+        type: "post",
         data: formData,
         async: false,
         cache: false,
@@ -744,12 +992,12 @@
     },
     //鍥剧墖涓婁紶
     uploadFile() {
-      var val = document.getElementById('imageFile').files;
+      var val = document.getElementById("imageFile").files;
       if (!val || !val.length) return;
       var formData = new FormData();
-      formData.append('file0', val[0]);
-      var res = $.ajax(serverUrl + 'Style/Upload', {
-        type: 'post',
+      formData.append("file0", val[0]);
+      var res = $.ajax(serverUrl + "Style/Upload", {
+        type: "post",
         data: formData,
         async: false,
         cache: false,
@@ -778,8 +1026,8 @@
         this.insertform.path_id = this.$store.state.cataNode.id;
       }
 
-      this.$store.commit('changeCata', ''); //娓呯┖state鐨勯潰鍖呭睉
-      this.$store.commit('changeNode', ''); //娓呯┖state鐨勮妭鐐瑰璞�
+      this.$store.commit("changeCata", ""); //娓呯┖state鐨勯潰鍖呭睉
+      this.$store.commit("changeNode", ""); //娓呯┖state鐨勮妭鐐瑰璞�
       this.showCata = false;
     },
     startFromData() {
@@ -803,61 +1051,66 @@
       });
     },
     addstyle() {
-      this.$router.push('/addstyle');
+      this.$router.push("/addstyle");
     },
-    statusFormat(res){
-      switch(res){
+    statusFormat(res) {
+      switch (res) {
         case "鍚敤":
           return 1;
           break;
-           case "鍋滅敤":
-             return 0;
+        case "鍋滅敤":
+          return 0;
           break;
-           case "Start Using":
+        case "Start Using":
           return 1;
           break;
-           case "Stop Using":
-             return 0;
+        case "Stop Using":
+          return 0;
           break;
       }
     },
     async updateForm() {
       if (this.upform.dirid == null || this.upform.depid == null) {
         this.$message({
-          message: '璇烽�夋嫨鏍峰紡鎵�灞炵殑鐩綍鎴栧崟浣�',
-          type: 'warning',
+          message: "璇烽�夋嫨鏍峰紡鎵�灞炵殑鐩綍鎴栧崟浣�",
+          type: "warning",
         });
         return;
       }
-    if(Number.isInteger(this.upform.status) == false){
-      this.upform.status = this.statusFormat(this.upform.status)
-    }
-     const data = await updateStyle(this.upform);
+      if (Number.isInteger(this.upform.status) == false) {
+        this.upform.status = this.statusFormat(this.upform.status);
+      }
+      if (this.guidFile != null) {
+        this.upform.fileGuid = this.guidFile;
+      }
+      if (this.viewFile != null) {
+        this.upform.viewGuid = this.viewFile;
+      }
+      const data = await updateStyle(this.upform);
       if (data.code == 200) {
         this.dialogFormVisible = false;
         this.upform = {};
         this.$message({
-          message: '淇敼鎴愬姛锛�',
-          type: 'success',
+          message: "淇敼鎴愬姛锛�",
+          type: "success",
         });
         this.getRoleTabelData();
       } else {
         this.$message({
-          message: '淇敼澶辫触锛�',
-          type: 'warning',
+          message: "淇敼澶辫触锛�",
+          type: "warning",
         });
       }
-
-
     },
 
     removeUpdate() {
       this.upflag = false;
       this.dialogFormVisible = false;
-      this.upform = {}
+      this.upform = {};
+      this.filesReset();
     },
     submitForm(formName) {
-      this.getRoleTabelData()
+      this.getRoleTabelData();
       // this.$refs[formName].validate((valid) => {
       //   if (valid) {
       //     this.searchName = this.ruleForm.name.trim();
@@ -869,15 +1122,21 @@
       // });
     },
     resetForm(formName) {
-      this.ruleForm ={}
+      this.ruleForm = {};
       this.getRoleTabelData();
     },
     showDetail(index, row) {
+      var token = getToken();
       this.showinfoBox = true;
       this.itemdetail = row;
-      this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime);
-      this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime);
-
+      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.viewGuid + "&token=" + token;
     },
     closeDetial() {
       this.showinfoBox = false;
@@ -885,37 +1144,36 @@
     },
 
     handleEdit(index, row) {
-
       this.upflag = true;
       this.dialogFormVisible = true;
       this.upform = row;
       this.upform.depValue = row.depName;
       this.upform.dirValue = row.dirName;
-      this.upform.status = this.forMontStatus(row.status)
+      this.upform.status = this.forMontStatus(row.status);
     },
     handleDelete(index, row) {
-      this.$confirm('纭畾鏄惁鍒犻櫎?', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning',
+      this.$confirm("纭畾鏄惁鍒犻櫎?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
       })
         .then(() => {
           DeletestStyle([row.id]);
           this.$message({
-            type: 'success',
-            message: '鍒犻櫎鎴愬姛!',
+            type: "success",
+            message: "鍒犻櫎鎴愬姛!",
           });
           this.startFromData();
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     // 鑾峰彇澶氶��
 
     ShowWindowFly(res) {
       window.open(
-        ifreamUrl + '/LFWeb/poper.html?name=' + res,
-        '',
-        'height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no'
+        ifreamUrl + "/LFWeb/poper.html?name=" + res,
+        "",
+        "height=800, width=1500, top=150, left=350, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no"
       );
     },
   },
@@ -931,7 +1189,7 @@
   box-sizing: border-box;
 
   .el-input {
-    width: 745px;
+    width: 730px;
   }
 
   .searchComp {
@@ -964,7 +1222,7 @@
       }
     }
     .btnBox {
-      width: 123px;
+      width: 160px;
       margin: 10px auto 0;
       // background-color: red;
     }

--
Gitblit v1.9.3