From 2079ba28f20bde46f7736699c97abf0e1564770d Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 14 十月 2024 09:30:46 +0800 Subject: [PATCH] 最新版本 --- admin/src/views/business/device.vue | 100 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 71 insertions(+), 29 deletions(-) diff --git a/admin/src/views/business/device.vue b/admin/src/views/business/device.vue index d93229a..e5d3caa 100644 --- a/admin/src/views/business/device.vue +++ b/admin/src/views/business/device.vue @@ -1,18 +1,23 @@ <template> - <TableLayout :permissions="['business:company:query']"> + <TableLayout :permissions="['business:device:query']"> <!-- 鎼滅储琛ㄥ崟 --> <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> - <el-form-item label="闂ㄧ鍚嶇О" prop="title"> - <el-input v-model="searchForm.title" placeholder="璇疯緭鍏ラ棬绂佸悕绉�" @keypress.enter.native="search"></el-input> + <el-form-item label="闂ㄧ鐐瑰悕绉�" prop="doorName"> + <el-input v-model="searchForm.doorName" placeholder="璇疯緭鍏ラ棬绂佺偣鍚嶇О" @keypress.enter.native="search"></el-input> </el-form-item> - <el-form-item label="闂ㄧ绛夌骇" prop="level"> - <el-select v-model="searchForm.level" placeholder="璇烽�夋嫨闂ㄧ绛夌骇" @keypress.enter.native="search"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> + <el-form-item label="鍖哄煙鍚嶇О" prop="regionPathName"> + <el-input v-model="searchForm.regionPathName" placeholder="璇疯緭鍏ュ尯鍩熷悕绉�" @keypress.enter.native="search"></el-input> + </el-form-item> + <el-form-item label="鏄惁鍥尯鍏ュ彛" prop="isEntrance"> + <el-select v-model="searchForm.isEntrance" placeholder="璇烽�夋嫨"> + <el-option label="鏄�" value="1"></el-option> + <el-option label="鍚�" value="0"></el-option> + </el-select> + </el-form-item> + <el-form-item label="鍦ㄧ嚎鐘舵��" prop="online"> + <el-select v-model="searchForm.online" placeholder="璇烽�夋嫨" clearable> + <el-option label="绂荤嚎" value="0"></el-option> + <el-option label="鍦ㄧ嚎" value="1"></el-option> </el-select> </el-form-item> <section> @@ -23,33 +28,40 @@ <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> <ul class="toolbar"> - <li><el-button type="primary">鍚屾</el-button></li> + <li><el-button type="primary" @click="synchronousData">鍚屾</el-button></li> </ul> <el-table v-loading="isWorking.search" :data="tableData.list" stripe > - <el-table-column prop="manufature" label="鍘傚晢" min-width="100px"></el-table-column> - <el-table-column prop="no" label="璁惧缂栧彿" min-width="100px"></el-table-column> - <el-table-column prop="title" label="闂ㄧ鍚嶇О" min-width="100px"></el-table-column> - <el-table-column prop="level" label="闂ㄧ绛夌骇" min-width="100px"></el-table-column> - <el-table-column prop="status" label="璁惧鐘舵�� 0绂佺敤 1鍚敤" min-width="100px"> + <el-table-column label="搴忓彿" width="55" fixed><template slot-scope="scope" >{{scope.$index+1}}</template></el-table-column> + <el-table-column prop="name" label="璁惧鍚嶇О"></el-table-column> + <el-table-column prop="doorName" label="闂ㄧ鐐瑰悕绉�"></el-table-column> + <el-table-column prop="regionPathName" label="鍖哄煙鍚嶇О"></el-table-column> + <el-table-column prop="doorNo" label="闂ㄧ鐐圭紪鍙�"></el-table-column> + <el-table-column prop="manufature" label="鍘傚晢"></el-table-column> + <el-table-column prop="online" label="鍦ㄧ嚎鐘舵��"> <template slot-scope="{row}"> - <span v-if="row.status === 0">绂佺敤</span> - <span v-if="row.status === 1">鍚敤</span> + <span v-if="row.online == 0">绂荤嚎</span> + <span v-if="row.online == 1">鍦ㄧ嚎</span> </template> </el-table-column> - <el-table-column - v-if="containPermissions(['business:company:update'])" - label="鎿嶄綔" - min-width="120" - fixed="right" - > + <el-table-column prop="ip" label="璁惧ip"></el-table-column> + <el-table-column prop="port" label="璁惧绔彛"></el-table-column> + <el-table-column label="鏄惁鍥尯鍏ュ彛"> <template slot-scope="{row}"> - <el-button type="text" @click="$refs.operaDeviceWindow.open('缂栬緫璁惧淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:company:update']">缂栬緫</el-button> + <el-switch + @change="changeManufature($event, row)" + v-model="row.isEntrance" + active-color="#13ce66" + inactive-color="#ff4949" + :active-value="1" + :inactive-value="0"> + </el-switch> </template> </el-table-column> + <el-table-column prop="no" width="200px" label="璁惧鍙�"></el-table-column> </el-table> <pagination @size-change="handleSizeChange" @@ -59,7 +71,7 @@ </pagination> </template> <!-- 鏂板缓/淇敼 --> - <OperaDeviceWindow ref="operaDeviceWindow" @success="handlePageChange"/> +<!-- <OperaDeviceWindow ref="operaDeviceWindow" @success="handlePageChange"/>--> </TableLayout> </template> @@ -68,6 +80,7 @@ import TableLayout from '@/layouts/TableLayout' import Pagination from '@/components/common/Pagination' import OperaDeviceWindow from '@/components/business/OperaDeviceWindow' +import { syncDevices, updateEntranceById } from '@/api/business/device' export default { name: 'Device', extends: BaseTable, @@ -76,8 +89,11 @@ return { // 鎼滅储 searchForm: { - title: '', - level: '' + doorName: '', + regionPathName: '', + isEntrance: '', + online: '', + type:0 }, options: [] } @@ -90,6 +106,32 @@ 'field.main': 'id' }) this.search() + }, + methods: { + changeManufature(e, row) { + updateEntranceById({ + id: row.id, + isEntrance: e + }) + }, + synchronousData () { + this.$dialog.actionConfirm('鎿嶄綔纭鎻愰啋', '鎮ㄧ‘璁ゅ悓姝ュ叏閮ㄤ俊鎭悧锛�') + .then(() => { + this.isWorking.delete = true + syncDevices({type:0}) + .then(res => { + this.$tip.apiSuccess(res || '鍚屾鎴愬姛') + this.search() + }) + .catch(e => { + this.$tip.apiFailed(e) + }) + .finally(() => { + this.isWorking.delete = false + }) + }) + .catch(() => {}) + } } } </script> -- Gitblit v1.9.3