| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:devices:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="ä¼è®®å®¤" prop="roomId"> |
| | | <el-select |
| | | v-model="searchForm.roomId" |
| | | filterable |
| | | clearable |
| | | placeholder="è¯·éæ©ä¼è®®å®¤" |
| | | > |
| | | <el-option v-for="item in room" :key="item.id" :value="item.id" :label="item.name" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select |
| | | v-model="searchForm.status" |
| | | filterable |
| | | clearable |
| | | placeholder="è¯·éæ©ä¼è®®å®¤" |
| | | > |
| | | <el-option :key="0" :value="0" label="å¯ç¨" /> |
| | | <el-option :key="1" :value="1" label="ç¦ç¨" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:devices:exportExcel']" @click="exportExcel">导åº</el-button> --> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:devices:create']"> |
| | | <li><el-button type="primary" @click="$refs.operaDevicesWindow.open('æ°å»ºè®¾å¤')" icon="el-icon-plus" v-permissions="['business:devices:create']">æ°å»º</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="index" prop="index" label="åºå·" align="center" min-width="50px"></el-table-column> |
| | | <el-table-column prop="code" label="é¨ç¦ID" align="center" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="é¨ç¦åç§°" align="center" min-width="100px"></el-table-column> |
| | | <el-table-column prop="roomName" label="å
³èä¼è®®å®¤" align="center" min-width="100px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" align="center" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-switch |
| | | v-model="row.status" |
| | | active-color="#13ce66" |
| | | inactive-color="#999" |
| | | :active-value="0" |
| | | :inactive-value="1" |
| | | @change="changeStatus(row)" |
| | | ></el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <!-- <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editor" label="æ´æ°äººç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æ´æ°æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="isdeleted" label="æ¯å¦å é¤0å¦ 1æ¯" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="code" label="设å¤å·ï¼ä¸å¯éå¤ï¼" min-width="100px"></el-table-column> --> |
| | | |
| | | <el-table-column |
| | | v-if="containPermissions(['business:devices:update', 'business:devices:delete'])" |
| | | label="æä½" |
| | | min-width="120" |
| | | fixed="right" |
| | | align="center" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaDevicesWindow.open('ç¼è¾è®¾å¤', row)" icon="el-icon-edit" v-permissions="['business:devices:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:devices:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | ></pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaDevicesWindow ref="operaDevicesWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaDevicesWindow from '@/views/meeting/components/OperaDevicesWindow' |
| | | import { findList } from '@/api/meeting/rooms' |
| | | import { updateById } from '@/api/meeting/devices' |
| | | export default { |
| | | name: 'Devices', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaDevicesWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | id: '', |
| | | creator: '', |
| | | createDate: '', |
| | | editor: '', |
| | | editDate: '', |
| | | isdeleted: '', |
| | | remark: '', |
| | | name: '', |
| | | code: '', |
| | | roomId: '', |
| | | status: '' |
| | | }, |
| | | room: [] |
| | | } |
| | | }, |
| | | provide() { |
| | | return { |
| | | room: () => this.room |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '设å¤ç®¡çä¿¡æ¯è¡¨', |
| | | api: '/meeting/devices', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | findList({status:0}) |
| | | .then(res => { |
| | | this.room = res |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | changeStatus(item) { |
| | | updateById(item) |
| | | .then(() => { |
| | | this.$message.success('ä¿®æ¹æå') |
| | | }) |
| | | .catch(e => { |
| | | this.$message.error(e) |
| | | }) |
| | | .finally(() => { |
| | | this.handlePageChange() |
| | | }) |
| | | } |
| | | }, |
| | | } |
| | | |
| | | </script> |