src/api/api.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/utils/auth.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/styleManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/userManage/resourceManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/userManage/roleManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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() { 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); } 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 @@ -475,13 +521,57 @@ :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', @@ -832,6 +1068,12 @@ 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; @@ -854,7 +1096,8 @@ removeUpdate() { this.upflag = false; this.dialogFormVisible = false; this.upform = {} this.upform = {}; this.filesReset(); }, submitForm(formName) { this.getRoleTabelData() @@ -873,11 +1116,12 @@ 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 { 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')" @@ -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,6 +519,8 @@ showDepCata: false, dirFlag: null, depFlag: null, ImageFile: null, uploadFile: null, insertform: { img:'' }, @@ -525,6 +549,33 @@ }, 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; @@ -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,10 +682,11 @@ }, 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; @@ -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; 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>