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