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 | 143 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 118 insertions(+), 25 deletions(-) diff --git a/src/views/userManage/resourceManage.vue b/src/views/userManage/resourceManage.vue index 6554c01..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> @@ -328,10 +332,18 @@ @change="insertFile" /> <el-link + :title="$t('common.append')" :underline="false" @click="getIsertFile" style="margin-left: 10px" ><i class="el-icon-plus"></i + ></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 @@ -426,6 +438,13 @@ 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 :label="$t('userManage.resManageObj.bak')" @@ -444,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> @@ -475,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'; @@ -485,6 +507,12 @@ components: { MyBread, styleDirTree, styleDepTree }, data() { return { + menuStatus: { + delete: false, + insert: false, + update: false, + upload:false, + }, formLabelWidth: '130px', ruleForm: {}, isTransfer: false, @@ -497,12 +525,14 @@ showDepCata: false, dirFlag: null, depFlag: null, + ImageFile: null, + uploadFile: null, insertform: { - img:'' + img: '' }, tableData: [], itemdetail: {}, - upform: { img:''}, + upform: { img: '' }, multipleSelection: [], count: 0, listData: { @@ -517,21 +547,71 @@ 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: { - getIsertFile() { + 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(); }, - getupdateFile(){ - $('#editimageFile').click(); + 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.insertform.img = val[0].name; }, - updateFile() { + updateFile() { var val = document.getElementById('editimageFile').files; if (!val || !val.length) return; this.upform.img = val[0].name; @@ -606,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', @@ -625,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() { @@ -660,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', @@ -682,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; }, @@ -716,7 +809,7 @@ padding: 10px; box-sizing: border-box; .el-input { - width: 745px; + width: 730px; } .power_quire { margin: 10px auto; -- Gitblit v1.9.3