From efe31fc8087dba6629fcb0a04f73f75c6686abde Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期三, 12 十月 2022 16:26:08 +0800 Subject: [PATCH] 资源管理,样式管理上传下载,角色管理页面变更 --- src/api/api.js | 16 + src/utils/auth.js | 2 src/views/userManage/resourceManage.vue | 102 ++++++++- src/views/userManage/roleManage.vue | 175 ++++++++++++++++- src/views/datamanage/styleManage.vue | 300 +++++++++++++++++++++++++++-- 5 files changed, 527 insertions(+), 68 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 8506e53..f5288b6 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -45,9 +45,9 @@ return request.post('/role/insertRole', params); } //瑙掕壊绠$悊鍒犻櫎 -export function deleteRole(params) { +export function deleteRoles(params) { //璇锋眰鍦板潃 - return request.get('/role/deleteRole', { params: params }); + return request.get('/role/deleteAuths', { params: params }); } //瑙掕壊绠$悊淇敼 export function updateRole(params) { @@ -107,6 +107,11 @@ export function updateStyle(params) { return request.post('/Style/updateStyle', params); } +//鏍峰紡绠$悊涓婁紶 +export function upload_style(params) { + return request.post('/Style/upload', params); +} + //鐧诲綍鏃ュ織 export function loginSelectByPageAndCount(params) { //璇锋眰鍦板潃 @@ -155,7 +160,10 @@ export function deleteRess(params) { return request.get('/res/deleteRess', { params: params }); } - +//璧勬簮涓婁紶 +export function upload_res(params) { + return request.post('/res/upload', params); +} //鑾峰彇鍏挜鐢ㄤ簬鍔犲瘑 export function getPublicKey(params) { //璇锋眰鍦板潃 @@ -171,7 +179,6 @@ //璇锋眰鍦板潃 return request.get('/sign/logout', { params: params }); } - //璇锋眰鑿滃崟鏍忔暟鎹� export function queryMenuTree() { @@ -206,7 +213,6 @@ export function updateDirTrees(params) { return request.post('/dir/updateDirs', params); } - //璇锋眰鍗曚綅鏍� export function queryDepTree() { diff --git a/src/utils/auth.js b/src/utils/auth.js index fb714cf..c6b74ea 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -22,7 +22,7 @@ // } //=========================== //=======浣跨敤sessionStorage====== -const TokenKey = "Admin-Token"; +const TokenKey = 'Admin-Token'; export function getToken() { return window.sessionStorage.getItem(TokenKey); } diff --git a/src/views/datamanage/styleManage.vue b/src/views/datamanage/styleManage.vue index c650435..ce36f97 100644 --- a/src/views/datamanage/styleManage.vue +++ b/src/views/datamanage/styleManage.vue @@ -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,57 @@ :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 + :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 +489,7 @@ > <el-select v-model="insertform.status" - style="width: 745px" + style="width: 730px" :placeholder="$t('common.choose')" > <el-option @@ -469,19 +515,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')" @@ -527,6 +617,9 @@ <script> 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'; @@ -534,7 +627,8 @@ select_Style_ByPageAndCount, insertStyle, deleteStyles, - updateStyle + updateStyle, + upload_style } from '../../api/api'; export default { name: 'styleManage', @@ -560,9 +654,14 @@ showDirCata: false, showDepCata: false, tableData: [], - insertform: {}, + insertform: { + fileGuid: null, + viewGuid: null, + }, dirFlag: null, depFlag: null, + guidFile: null, + viewFile: null, count: 0, listData: { name: null, @@ -575,6 +674,134 @@ this.getRoleTabelData(); }, methods: { + 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; }, @@ -644,6 +871,7 @@ insertFromDataClose() { this.InsertFormdialog = false; this.insertform = {}; + this.filesReset(); }, async insertFromData() { if (this.insertform.dirid == null || this.insertform.depid == null) { @@ -653,10 +881,18 @@ }); 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', @@ -805,19 +1041,19 @@ 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; } }, @@ -829,10 +1065,16 @@ }); 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 = {}; @@ -854,7 +1096,8 @@ removeUpdate() { this.upflag = false; this.dialogFormVisible = false; - this.upform = {} + this.upform = {}; + this.filesReset(); }, submitForm(formName) { this.getRoleTabelData() @@ -869,15 +1112,16 @@ // }); }, 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.imageFile = BASE_URL + "/res/download?guid=" + row.viewGuid + "&token=" + token }, closeDetial() { this.showinfoBox = false; @@ -931,7 +1175,7 @@ box-sizing: border-box; .el-input { - width: 745px; + width: 730px; } .searchComp { diff --git a/src/views/userManage/resourceManage.vue b/src/views/userManage/resourceManage.vue index 6554c01..7979415 100644 --- a/src/views/userManage/resourceManage.vue +++ b/src/views/userManage/resourceManage.vue @@ -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" @@ -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 + :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'; @@ -497,12 +519,14 @@ showDepCata: false, dirFlag: null, depFlag: null, + ImageFile: null, + uploadFile: null, insertform: { - img:'' + img: '' }, tableData: [], itemdetail: {}, - upform: { img:''}, + upform: { img: '' }, multipleSelection: [], count: 0, listData: { @@ -520,18 +544,45 @@ this.getRoleTabelData(); }, methods: { - getIsertFile() { + 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 +657,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 +682,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 +718,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', @@ -716,7 +780,7 @@ padding: 10px; box-sizing: border-box; .el-input { - width: 745px; + width: 730px; } .power_quire { margin: 10px auto; diff --git a/src/views/userManage/roleManage.vue b/src/views/userManage/roleManage.vue index f3d9e30..7da337d 100644 --- a/src/views/userManage/roleManage.vue +++ b/src/views/userManage/roleManage.vue @@ -47,10 +47,24 @@ }}</el-button > </el-form-item> + <el-form-item> + <el-button @click="handleDelete()" + ><i class="el-icon-delete"></i> {{ + $t('common.delete') + }}</el-button + > + </el-form-item> </el-form> </div> <div class="table_box"> - <el-table :data="tableData" stripe style="width: 100%" height="99%"> + <el-table + :data="tableData" + stripe + style="width: 100%" + @selection-change="handleSelectionChange" + height="99%" + > + <el-table-column type="selection" width="55" /> <el-table-column align="center" type="index" @@ -75,7 +89,7 @@ :label="$t('userManage.RM.describe')" /> - <el-table-column + <!-- <el-table-column align="center" prop="createUser" :label="$t('userManage.RM.creationuser')" @@ -101,7 +115,7 @@ align="center" prop="bak" :label="$t('userManage.RM.remarks')" - /> + /> --> <el-table-column fixed="right" :label="$t('common.operate')" @@ -114,12 +128,9 @@ size="small" >{{ $t('common.update') }}</el-button > - <el-button - type="danger" - @click="handleDelete(scope.$index, scope.row)" - size="small" - >{{ $t('common.delete') }}</el-button - > + <el-button @click="showDetail(scope.$index, scope.row)" type="primary" size="small">{{ + $t('common.see') + }}</el-button> </template> </el-table-column> </el-table> @@ -136,6 +147,7 @@ </el-pagination> </div> </div> + <el-dialog :title="$t('userManage.RM.insertRole')" top="15vh" @@ -247,6 +259,62 @@ > </div> </div> + + <div class="infoBox" v-show="showinfoBox"> + <el-card> + <div slot="header" class="clearfix"> + <span>{{ $t('dataManage.styleObj.deInformation') }}</span> + <div style="float: right; cursor: pointer" @click="closeDetial" > + <i class="el-icon-close"></i> + </div> + </div> + <div class="contentBox"> + <p> + <label> {{ $t('userManage.RM.roleName') }}:</label> + <label class="boxlabel">{{ itemdetail.name }}</label> + </p> + <el-divider></el-divider> + <p> + <p> + <label> {{ $t('userManage.RM.ownedSystem') }}:</label> + <label class="boxlabel">{{ itemdetail.depName }}</label> + </p> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.RM.describe') }}:</label> + <label class="boxlabel">{{ itemdetail.descr }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.RM.creationuser') }}:</label> + <label class="boxlabel">{{ itemdetail.createUser }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.RM.creationtime') }}:</label> + <label class="boxlabel">{{ itemdetail.createTime }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.RM.updateonuser') }}:</label> + <label class="boxlabel">{{ itemdetail.UpdateUser }}</label> + </p> + <el-divider></el-divider> + + <p> + <label> {{ $t('userManage.RM.updateontime') }}:</label> + <label class="boxlabel">{{ itemdetail.updateTime }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.RM.remarks') }}:</label> + <label class="boxlabel">{{ itemdetail.bak }}</label> + </p> + <el-divider></el-divider> + </div> + </el-card> + </div> </div> </template> @@ -258,7 +326,7 @@ select_Role_ByPageAndCount, selectdepTab, insertRole, - deleteRole, + deleteRoles, selectDep, updateRole, } from '../../api/api'; @@ -270,6 +338,7 @@ }, data() { return { + showinfoBox: false, showCata: false, formLabelWidth: '120px', InsertFormdialog: false, @@ -284,6 +353,9 @@ updateform: {}, count: 0, selData: [], + itemdetail: {}, + multipleSelection: [], + listData: { name: null, depName: null, @@ -293,13 +365,28 @@ }; }, methods: { + closeDetial() { + this.showinfoBox = false; + this.itemdetail = {}; + }, + showDetail(index, row) { + this.showinfoBox = true; + this.itemdetail = row; + this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime); + this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime); + + }, + handleSelectionChange(val) { + this.multipleSelection = val; + }, formatTime(row, column) { let date = row[column.property]; - + return this.formomentTime(date); + }, + formomentTime(date) { if (date === undefined || date === null) { - return ''; + return; } - return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss'); }, showDepTree(res) { @@ -418,8 +505,13 @@ }); } }, - async handleDelete(index, row) { - const data = await deleteRole({ id: row.id.toString() }); + async handleDelete() { + var std = []; + for (var i in this.multipleSelection) { + std.push(this.multipleSelection[i].id); + } + const data = await deleteRoles({ ids: std.toString() }); + if (data.code == 200) { this.InsertFormdialog = false; this.$message({ @@ -519,5 +611,58 @@ .text-center { text-align: center; } + .infoBox { + width: 500px; + border: 1px solid #eee; + position: absolute; + z-index: 100; + top: 25%; + right: 12%; + background-color: #fff; + .el-card { + background-color: transparent; + span { + font-size: 16px; + font-weight: 600; + } + } + .contentBox { + margin: 0 aotu 10px; + height: 485px; + overflow: auto; + p { + // background-color: #bfa; + // margin-bottom: 10px; + font-size: 14px; + } + .boxlabel { + margin-left: 10px; + } + } + /* 鏁翠綋鏍峰紡 */ + .contentBox::-webkit-scrollbar { + width: 6px; + height: 6px; + } + + /* 婊氬姩鏉� */ + .contentBox::-webkit-scrollbar-thumb { + background-color: #b3d8ff; + border-radius: 6px; + } + + /* 婊氬姩鏉¢紶鏍囩粡杩囨牱寮� */ + .contentBox::-webkit-scrollbar-thumb:hover { + background-color: #b3d8ff; + border-radius: 6px; + } + + /* 婊氬姩鏉¤建閬� */ + .contentBox::-webkit-scrollbar-track-piece { + -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); + border-radius: 10px; + background: #ededed; + } + } } </style> -- Gitblit v1.9.3