From d7db5710540cae3e19654e0e3b71e45ec2a08226 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期一, 10 十月 2022 18:36:15 +0800 Subject: [PATCH] 资源管理页面添加 --- src/api/api.js | 13 ++ src/views/userManage/resourceManage.vue | 281 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 253 insertions(+), 41 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 374c747..e773f54 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -143,6 +143,19 @@ export function select_Res_ByPageAndCount(params) { return request.get('/res/selectByPageAndCount', { params: params }); } +//璧勬簮鍒楄〃娣诲姞 +export function insertRes(params) { + return request.post('/res/insertRes', params); +} +//璧勬簮鍒楄〃淇敼 +export function updateRes(params) { + return request.post('/res/updateRes', params); +} +//璧勬簮鍒楄〃鍒犻櫎 +export function deleteRess(params) { + return request.get('/res/deleteRess', { params: params }); +} + //鑾峰彇鍏挜鐢ㄤ簬鍔犲瘑 export function getPublicKey(params) { //璇锋眰鍦板潃 diff --git a/src/views/userManage/resourceManage.vue b/src/views/userManage/resourceManage.vue index b7a3294..fd1539f 100644 --- a/src/views/userManage/resourceManage.vue +++ b/src/views/userManage/resourceManage.vue @@ -73,13 +73,13 @@ > </el-table-column> <el-table-column - prop="depid" + prop="depName" align="center" :label="$t('userManage.resManageObj.depid')" > </el-table-column> <el-table-column - prop="dirid" + prop="dirName" align="center" :label="$t('userManage.resManageObj.dirid')" > @@ -175,39 +175,64 @@ </div> <div class="contentBox"> <p> - <label> {{ $t('userManage.userInfoObj.name') }}:</label> + <label> {{ $t('userManage.resManageObj.name') }}:</label> <label class="boxlabel">{{ itemdetail.name }}</label> </p> <el-divider></el-divider> <p> <p> - <label> {{ $t('userManage.userInfoObj.tag') }}:</label> - <label class="boxlabel">{{ itemdetail.tag }}</label> + <label> {{ $t('userManage.resManageObj.server') }}:</label> + <label class="boxlabel">{{ itemdetail.server }}</label> </p> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.userInfoObj.createUser') }}:</label> - <label class="boxlabel">{{ itemdetail.createUser }}</label> + <label> {{ $t('userManage.resManageObj.source') }}:</label> + <label class="boxlabel">{{ itemdetail.source }}</label> </p> <el-divider></el-divider> <p> - <label> {{ $t('userManage.userInfoObj.createTime') }}:</label> + <label> {{ $t('userManage.resManageObj.depid') }}:</label> + <label class="boxlabel">{{ itemdetail.depName }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.dirid') }}:</label> + <label class="boxlabel">{{ itemdetail.dirName }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.descr') }}:</label> + <label class="boxlabel">{{ itemdetail.descr }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.img') }}:</label> + <label class="boxlabel">{{ itemdetail.img }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.createUser') }}:</label> + <label class="boxlabel">{{ itemdetail.createUser }}</label> + </p> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.createTime') }}:</label> <label class="boxlabel">{{ itemdetail.createTime }}</label> </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.userInfoObj.updateUser') }}:</label> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.updateUser') }}:</label> <label class="boxlabel">{{ itemdetail.updateUser }}</label> </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.userInfoObj.updateTime') }}:</label> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.updateTime') }}:</label> <label class="boxlabel">{{ itemdetail.updateTime }}</label> </p> - <el-divider></el-divider> - <p> - <label> {{ $t('userManage.userInfoObj.bak') }}:</label> + <el-divider></el-divider> + <p> + <label> {{ $t('userManage.resManageObj.bak') }}:</label> <label class="boxlabel">{{ itemdetail.bak }}</label> </p> <el-divider></el-divider> @@ -263,7 +288,7 @@ :label="$t('userManage.resManageObj.depid')" :label-width="formLabelWidth" > - <el-input v-model="insertform.depid" disabled autocomplete="off"></el-input> + <el-input v-model="insertform.depValue" disabled autocomplete="off"></el-input> <el-link :underline="false" @click="showDepTree(0)" @@ -275,10 +300,10 @@ :label="$t('userManage.resManageObj.dirid')" :label-width="formLabelWidth" > - <el-input v-model="insertform.dirid" disabled autocomplete="off"></el-input> + <el-input v-model="insertform.dirValue" disabled autocomplete="off"></el-input> <el-link :underline="false" - @click="showDepTree(0)" + @click="showDirTree(0)" style="margin-left: 10px" ><i class="el-icon-plus"></i ></el-link> @@ -289,17 +314,26 @@ > <el-input v-model="insertform.descr" autocomplete="off"></el-input> </el-form-item> - <el-form-item + <el-form-item :label="$t('userManage.resManageObj.img')" :label-width="formLabelWidth" > + <input + name="file1" + :accept="'.jpg,.png'" + type="file" + id="imageFile" + multiple="multiple" + style="display: none" + @change="uploadFile" + /> <el-input v-model="insertform.img" autocomplete="off"></el-input> - <el-link + <!-- <el-link :underline="false" - + @click="getImageFile" style="margin-left: 10px" ><i class="el-icon-plus"></i - ></el-link> + ></el-link> --> </el-form-item> <el-form-item :label="$t('userManage.resManageObj.bak')" @@ -323,26 +357,74 @@ style="overflow: hidden" :visible.sync="EditFormdialog" :before-close="EditFromDataClose" - width="30%" > - <el-form :model="upform"> + <el-form :model="upform"> <el-form-item - :label="$t('userManage.userInfoObj.name')" + :label="$t('userManage.resManageObj.name')" :label-width="formLabelWidth" > - <el-input v-model="upform.name" ></el-input> + <el-input v-model="upform.name" autocomplete="off"></el-input> </el-form-item> <el-form-item - :label="$t('userManage.userInfoObj.tag')" + :label="$t('userManage.resManageObj.server')" :label-width="formLabelWidth" > - <el-input v-model="upform.tag" ></el-input> + <el-input v-model="upform.server" autocomplete="off"></el-input> </el-form-item> <el-form-item - :label="$t('userManage.userInfoObj.bak')" + :label="$t('userManage.resManageObj.source')" :label-width="formLabelWidth" > - <el-input v-model="upform.bak" ></el-input> + <el-input v-model="upform.source" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('userManage.resManageObj.depid')" + :label-width="formLabelWidth" + > + <el-input v-model="upform.depValue" disabled autocomplete="off"></el-input> + <el-link + :underline="false" + @click="showDepTree(1)" + style="margin-left: 10px" + ><i class="el-icon-plus"></i + ></el-link> + </el-form-item> + <el-form-item + :label="$t('userManage.resManageObj.dirid')" + :label-width="formLabelWidth" + > + <el-input v-model="upform.dirValue" disabled autocomplete="off"></el-input> + <el-link + :underline="false" + @click="showDirTree(1)" + style="margin-left: 10px" + ><i class="el-icon-plus"></i + ></el-link> + </el-form-item> + <el-form-item + :label="$t('userManage.resManageObj.descr')" + :label-width="formLabelWidth" + > + <el-input v-model="upform.descr" autocomplete="off"></el-input> + </el-form-item> + <el-form-item + :label="$t('userManage.resManageObj.img')" + :label-width="formLabelWidth" + > + <el-input v-model="upform.img" autocomplete="off"></el-input> + <el-link + :underline="false" + + style="margin-left: 10px" + ><i class="el-icon-plus"></i + ></el-link> + </el-form-item> + <el-form-item + :label="$t('userManage.resManageObj.bak')" + :label-width="formLabelWidth" + > + <el-input v-model="upform.bak" autocomplete="off"></el-input> + </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> @@ -354,15 +436,45 @@ }}</el-button> </div> </el-dialog> + <div class="leftTree" v-if="showDirCata"> + <div class="treeBox"> + <style-dir-tree></style-dir-tree> + </div> + <div class="btnBox"> + <el-button type="primary" size="small" @click="selectDirCataName">{{ + $t('common.confirm') + }}</el-button> + <el-button type="primary" size="small" @click="showDirCata = false">{{ + $t('common.close') + }}</el-button> + </div> + </div> + <div class="leftTree" v-if="showDepCata"> + <div class="treeBox"> + <style-dep-tree></style-dep-tree> + </div> + <div class="btnBox"> + <el-button type="primary" size="small" @click="selectDepCataName">{{ + $t('common.confirm') + }}</el-button> + <el-button type="primary" size="small" @click="showDepCata = false">{{ + $t('common.close') + }}</el-button> + </div> + </div> </div> </template> <script> +import $ from 'jquery'; import moment from 'moment'; import MyBread from '../../components/MyBread.vue'; -import { select_Res_ByPageAndCount, insertAuth, updateAuth, deleteAuths } from '../../api/api.js'; +import { select_Res_ByPageAndCount, insertRes, updateRes, deleteRess } + from '../../api/api.js'; +import styleDirTree from '../datamanage/styleDirTree.vue'; +import styleDepTree from '../datamanage/styleDepTree.vue'; export default { - components: { MyBread }, + components: { MyBread, styleDirTree, styleDepTree }, data() { return { formLabelWidth: '130px', @@ -373,6 +485,10 @@ InsertFormdialog: false, showinfoBox: false, EditFormdialog: false, + showDirCata: false, + showDepCata: false, + dirFlag: null, + depFlag: null, insertform: {}, tableData: [], itemdetail: {}, @@ -394,12 +510,59 @@ this.getRoleTabelData(); }, methods: { + getImageFile() { + $('#imageFile').click(); + }, + //鍥剧墖涓婁紶 + uploadFile() { + var val = document.getElementById('imageFile').files; + if (!val || !val.length) return; + this.setInsertImg(val); + }, + setInsertImg(res){ + + }, + showDirTree(res) { + this.dirFlag = res; + this.showDirCata = true; + }, + showDepTree(res) { + this.depFlag = res; + this.showDepCata = true; + }, + selectDepCataName() { + this.showDepCata = false; + switch (this.depFlag) { + case 0: + this.insertform.depValue = this.$store.state.styleDepCateNodes.name; + this.insertform.depid = this.$store.state.styleDepCateNodes.id; + break; + case 1: + this.upform.depValue = this.$store.state.styleDepCateNodes.name; + this.upform.depid = this.$store.state.styleDepCateNodes.id; + break; + } + }, + selectDirCataName() { + this.showDirCata = false; + switch (this.dirFlag) { + case 0: + // var data = this.$store.state.styleDirCateNodes; + this.insertform.dirValue = this.$store.state.styleDirCateNodes.name; + this.insertform.dirid = this.$store.state.styleDirCateNodes.id; + break; + case 1: + this.upform.dirValue = this.$store.state.styleDirCateNodes.name; + this.upform.dirid = this.$store.state.styleDirCateNodes.id; + break; + } + }, async DelFromData() { var std = []; for (var i in this.multipleSelection) { std.push(this.multipleSelection[i].id); } - const data = await deleteAuths({ ids: std.toString() }); + const data = await deleteRess({ ids: std.toString() }); if (data.code == 200) { this.$message({ message: '鍒犻櫎鎴愬姛锛�', @@ -429,7 +592,7 @@ this.upform = {}; }, async EditFromData() { - const data = await updateAuth(this.upform); + const data = await updateRes(this.upform); if (data.code == 200) { this.EditFormdialog = false; this.upform = {}; @@ -449,10 +612,15 @@ 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); + }, handleEdit(index, row) { this.EditFormdialog = true; this.upform = row; + this.upform.depValue = row.depName; + this.upform.dirValue = row.dirName; }, closeDetial() { this.showinfoBox = false; @@ -471,7 +639,14 @@ this.insertform = {}; }, async insertFromData() { - const data = await insertAuth(this.insertform); + if (this.insertform.dirid == null || this.insertform.depid == null) { + this.$message({ + message: '璇烽�夋嫨璧勬簮鎵�灞炵殑鐩綍鎴栧崟浣�', + type: 'warning', + }); + return; + } + const data = await insertRes(this.insertform); if (data.code == 200) { this.InsertFormdialog = false; this.insertform = {}; @@ -493,6 +668,7 @@ } this.listData.name = this.ruleForm.name; const data = await select_Res_ByPageAndCount(this.listData); + console.log(data) if (data.code != 200) { this.$message.error('鍒楄〃璋冪敤澶辫触'); } @@ -526,15 +702,15 @@ padding: 10px; box-sizing: border-box; .el-input { - width: 745px; + width: 745px; } .power_quire { - margin: 10px auto; + margin: 10px auto; background: #fff; border-radius: 5px; border: 1px solid rgb(202, 201, 204); margin-bottom: 10px; - .el-form-item { + .el-form-item { margin: 5px; } .el-input { @@ -542,7 +718,7 @@ } } .table_box { - height:76%; + height: 76%; padding: 10px; background: #fff; border-radius: 5px; @@ -551,6 +727,29 @@ .pagination_box { margin-top: 20px; } + .leftTree { + position: absolute; + z-index: 10; + z-index: 9999; + top: 100px; + left: 800px; + width: 400px; + height: 600px; + background: #f0f2f5; + border: 1px solid #000; + .treeBox { + height: 550px; + overflow: auto; + /deep/ .el-tree-node__content:hover { + background-color: rgb(153, 153, 153); + } + } + .btnBox { + width: 160px; + margin: 10px auto 0; + // background-color: red; + } + } .infoBox { width: 500px; border: 1px solid #eee; -- Gitblit v1.9.3