From b9b2d3d63335fa9c72078e64f1ac1b365cf2d8dd Mon Sep 17 00:00:00 2001 From: “dzb” <2632970487@qq.com> Date: 星期五, 21 十月 2022 00:10:27 +0800 Subject: [PATCH] 修改用户管理 --- src/views/systemSetting/device/bayonet/index.vue | 268 +++++++++++++++++------------------------------------ 1 files changed, 86 insertions(+), 182 deletions(-) diff --git a/src/views/systemSetting/device/bayonet/index.vue b/src/views/systemSetting/device/bayonet/index.vue index 23b3a98..00ff0a4 100644 --- a/src/views/systemSetting/device/bayonet/index.vue +++ b/src/views/systemSetting/device/bayonet/index.vue @@ -8,7 +8,6 @@ <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> - <!-- <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input> --> </div> </div> </header> @@ -16,90 +15,41 @@ <div class="main-content"> <div class="main-title"> <el-button class="el-icon-plus" type="primary" @click="dialogCreate = true">娣诲姞</el-button> - <el-button class="">瀵煎嚭鍗″彛</el-button> + <el-button @click="handleExport">瀵煎嚭鍗″彛</el-button> </div> <!-- 鏁版嵁灞曠ず --> - <el-table ref="multipleTable" - :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}" - :data="tableData" style="width: 100%" :row-class-name="tableRowClassName" - @selection-change="tableChange"> - <el-table-column type="selection" min-width="5"> - </el-table-column> - <el-table-column prop="name" label="鍗″彛鍚嶇О" min-width="10"> - </el-table-column> - <el-table-column prop="sort" label="缁忕含搴︿綅缃�" min-width="10"> - </el-table-column> - <el-table-column prop="adminCount" label="鎵�灞炲尯鍩�" min-width="10"> - </el-table-column> - <el-table-column prop="description" label="鍩熷悕/IP" min-width="10"> - </el-table-column> - <el-table-column prop="description" label="绔彛鍙�" min-width="10"> - </el-table-column> - <el-table-column prop="description" label="鍓嶇绫诲瀷" min-width="10"> - </el-table-column> - <el-table-column prop="description" label="鍑哄叆鍩庣被鍨�" min-width="10"> - </el-table-column> - <el-table-column prop="operation" label="鎿嶄綔" min-width="15"> - <template slot-scope="scope"> - <div class="operation"> - <span>缂栬緫</span> - </div> - </template> - </el-table-column> - </el-table> - <!-- tools --> - <!-- <div class="tools"> - <div class="funs"> - <div class="funsItem"> - <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox> - </div> - <div class="funsItem"> - <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox> - </div> - <div class="funsItem"> - <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange"> - <el-option v-for="item in options" :key="item.value" :label="item.label" - :value="item.value" :disabled="item.disabled"> - </el-option> - </el-select> - </div> - </div> - <div class="pagination"> - <el-pagination background :current-page="currentPage" layout="prev, pager, next" - :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage" - @prev-click="handlePrev" @next-click="handleNext"> - </el-pagination> - </div> - </div> --> + <MyTable + :tableOption="tableOption" + :tableData="list" + :pageShow="false"> + <template #operation="info"> + <el-link :underline="false" style="color:#4b9bb7">缂栬緫</el-link> + </template> + </MyTable> </div> </main> <footer> <!-- 娣诲姞鍗″彛 --> <el-dialog title="娣诲姞鍗″彛" :visible.sync="dialogCreate" width="60%" :before-close="handleClose"> - <MyCreate></MyCreate> + <MyCreate :addBayonet="addBayonet"></MyCreate> </el-dialog> </footer> </div> </template> <script> -import helper from "@/utils/mydate.js" import MyCreate from './create' +import MyTable from '@/components/Table' +import {myDownLoad} from '@/utils/helper' +import { createNamespacedHelpers } from "vuex"; +const { mapActions } = createNamespacedHelpers("bayonet"); export default { components: { - MyCreate + MyCreate, MyTable, }, data() { return { - tableData: [], - context: 0, dialogCreate: false, - totalNum: null, - pageSize: 10, - currentPage: 1, - all: false, - unsame: false, - myIdx: 0, - preMyIdx: 0, + context: 0, options: [ { value: 0, @@ -110,131 +60,85 @@ label: '鍦ㄧ嚎', } ], - tempList: [] + list: [], + current: 1, + size: 10, + tableOption: { + group: [ + { + label: '鍗″彛鍚嶇О', + type: 'text', + prop: 'bayonetName', + }, + { + label: '缁忕含搴︿綅缃�', + type: 'text', + prop: 'latitude', + }, + // { + // label: '鎵�灞炲尯鍩�', + // type: 'text', + // prop: '', + // }, + { + label: '鍩熷悕/IP', + type: 'text', + prop: 'ipAddress', + }, + { + label: '绔彛鍙�', + type: 'text', + prop: 'port', + }, + { + label: '鍓嶇绫诲瀷', + type: 'text', + prop: 'frontEndType', + }, + { + label: '鍑哄叆鍩庣被鍨�', + type: 'text', + prop: 'inOutCityType', + }, + { + label: '鎿嶄綔', + type: 'operation', + prop: 'operation', + }, + ] + }, } }, created() { + const { setTableData } = this; + setTableData(); }, methods: { - async selectChange(list) { - console.log(this.tempList); - if (this.tempList.length !== 0) { - this.preMyIdx = list; - if (list === 3) { - await this.handleDelete(this.tempList); - } else if (list === 2) { - await this.mulUpdateStatus(this.tempList, 0); - } else { - await this.mulUpdateStatus(this.tempList, 1); - } - this.myIdx = 0; - } else { - this.myIdx = this.preMyIdx; - this.$message({ - type: 'warning', - message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁', - }) - } - }, - mulUpdateStatus(idArr, flag) { - this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?') - .then(_ => { - this.$axios({ - method: 'post', - url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag, - }) - .then(res => { - if (res.code === 200) { - this.$message({ - type: 'success', - message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�', - }) - this.getUserList(); - } else { - this.$message({ - type: 'error', - message: res.message - }) - } - console.log(res); - }) - }) - .catch(err => { console.log(err) }) - }, - tableChange(list) { - this.tempList = []; - list.forEach(item => { - this.tempList.push(item.id); - }) - if (list.length === this.tableData.length) { - this.all = true; - } else { - this.all = false - } - }, - changeTime({ createTime }) { - return helper(createTime); - }, - selectAll() { - this.$refs.multipleTable.toggleAllSelection(); - }, - disSame(list) { - list.forEach(row => { - this.$refs.multipleTable.toggleRowSelection(row) - }) - }, - handleDelete(id) { - const that = this; - // let arr = []; - // arr.push(id); - this.$confirm('纭鍒犻櫎锛�') - .then(_ => { - that.$axios({ - method: 'post', - url: 'sccg/role/delete?ids=' + id, - }) - .then(res => { - this.myIdx = 0; - this.preMyIdx = 0; - console.log(res); - this.$message({ - type: 'success', - message: res.message - }) - - this.getUserList(); - }) - }) - .catch(_ => { }); - }, - // 璁剧疆琛ㄦ牸鏂戦┈绾� - tableRowClassName({ row, rowIndex }) { - if ((rowIndex + 1) % 2 == 0) { - return 'warning-row'; - } else { - return 'success-row'; - } - return ''; - }, - // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� - changeCurrentPage(page) { - this.currentPage = page; - }, - // 涓婁竴椤电偣鍑讳簨浠� - handlePrev(page) { - this.currentPage = page; - }, - // 涓嬩竴椤电偣鍑讳簨浠� - handleNext(page) { - this.currentPage = page; - }, - // 鍏抽棴寮圭獥 + // 寮圭獥鍏抽棴 handleClose(done) { - this.$confirm('纭鍏抽棴锛�') + this.$confirm('纭鍏抽棴?') .then(_ => { done(); }) - .catch(_ => { }); + }, + ...mapActions(['getBayonetList', 'exportBayonetList','addBayonet']), + // 璁剧疆tableData + async setTableData() { + const { current, size, context } = this; + let arr = await this.getBayonetList({ + // bayonetName:context, + current, size + }) + this.list = arr.data.data + }, + // 瀵煎嚭 + async handleExport(){ + const { current, size, context } = this; + let arr = await this.exportBayonetList({ + current, size + }) + myDownLoad(arr); + console.log(arr); } } } -- Gitblit v1.8.0