| | |
| | | <script lang="ts"> |
| | | import { defineComponent } from 'vue'; |
| | | import HdwCard from '@/components/HdwCard/index.vue'; |
| | | import const_theme from '@/utils/const/const_theme'; |
| | | import store from '@/store'; |
| | | |
| | | export default defineComponent({ |
| | | name: 'LockManage', |
| | | components: { HdwCard }, |
| | | data() { |
| | | return { |
| | | theme: store.settings().theme, |
| | | themes: const_theme, |
| | | tableData: [ |
| | | { |
| | | type: '蓝牙', |
| | |
| | | installState: '未安装' |
| | | } |
| | | ], |
| | | filter: { |
| | | name: '', |
| | | state: 0, |
| | | type: 0 |
| | | }, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 20, |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | |
| | | handleChangeTheme(val) { |
| | | console.log(val); |
| | | store.settings().changeSetting({ |
| | | key: 'theme', |
| | | value: val |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | </script> |
| | |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="lock-wrapper"> |
| | | <div class="lock-header"> |
| | | <div class="page-wrapper"> |
| | | <div class="page-header"> |
| | | <div class="hdw-card-container"> |
| | | <hdw-card title="区域列表" is-full> |
| | | <hdw-tree></hdw-tree> |
| | | </hdw-card> |
| | | </div> |
| | | </div> |
| | | <div class="lock-content"> |
| | | <div class="page-content"> |
| | | <hdw-card is-full> |
| | | <div class="lock-content-wrapper"> |
| | | <div class="lock-content-tools"> |
| | | <el-button type="primary" size="small" :icon="Search">查询</el-button> |
| | | <el-button type="success" size="small" :icon="Plus">添加</el-button> |
| | | <el-button type="success" size="small" :icon="Plus">批量添加</el-button> |
| | | <div class="page-content-wrapper"> |
| | | <div class="page-content-tools"> |
| | | <el-button type="primary" size="small" :icon="Plus">添加</el-button> |
| | | <el-button type="primary" size="small" :icon="Plus">批量添加</el-button> |
| | | | |
| | | <div class="tools-filter"> |
| | | <div class="tools-filter-item"> |
| | | <div class="filter-label"></div> |
| | | <div class="filter-content"></div> |
| | | <div class="filter-label">锁具名称:</div> |
| | | <div class="filter-content"> |
| | | <el-input v-model="filter.name" size="small"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="tools-filter-item"> |
| | | <div class="filter-label">锁具状态:</div> |
| | | <div class="filter-content"> |
| | | <el-select |
| | | v-model="filter.state" |
| | | placeholder="请选择" |
| | | size="small" |
| | | style="width: 180px" |
| | | > |
| | | <el-option label="--请选择--" :value="0"/> |
| | | <el-option label="未安装" :value="1"/> |
| | | <el-option label="已安装" :value="2"/> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="tools-filter-item"> |
| | | <div class="filter-label">锁具类型:</div> |
| | | <div class="filter-content"> |
| | | <el-select |
| | | v-model="filter.type" |
| | | placeholder="请选择" |
| | | size="small" |
| | | style="width: 180px"> |
| | | <el-option label="--请选择--" :value="0"/> |
| | | <el-option label="无源" :value="1"/> |
| | | <el-option label="蓝牙" :value="2"/> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="tools-filter-item"> |
| | | <div class="filter-label">主题:</div> |
| | | <div class="filter-content"> |
| | | <el-select |
| | | v-model="theme" |
| | | placeholder="请选择" |
| | | size="small" |
| | | @change="handleChangeTheme" |
| | | style="width: 180px"> |
| | | <el-option |
| | | v-for="item in themes" :key="item.label" |
| | | :label="item.label" :value="item.value"/> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-button type="primary" size="small" :icon="Search">查询</el-button> |
| | | </div> |
| | | <div class="lock-content-table"> |
| | | <div class="page-content-table"> |
| | | <div class="pos-rel"> |
| | | <div class="pos-abs"> |
| | | <el-table :data="tableData" border style="width: 100%; height: 100%"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="lock-content-page"> |
| | | <div class="page-content-page"> |
| | | <div class="page-tool"></div> |
| | | <div class="el-page-container"> |
| | | <el-pagination |
| | |
| | | </div> |
| | | </hdw-card> |
| | | </div> |
| | | <div class="lock-footer"></div> |
| | | <div class="page-footer"></div> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | | .lock-wrapper { |
| | | .page-wrapper { |
| | | display: flex; |
| | | flex-direction: row; |
| | | padding: 8px; |
| | | height: 100%; |
| | | .lock-content { |
| | | .page-content { |
| | | flex: 1; |
| | | } |
| | | } |
| | | |
| | | .lock-content-wrapper { |
| | | .page-content-wrapper { |
| | | display: flex; |
| | | flex-direction: column; |
| | | height: 100%; |
| | | .lock-content-tools { |
| | | .page-content-tools { |
| | | padding-bottom: 8px; |
| | | } |
| | | .lock-content-table { |
| | | .page-content-table { |
| | | flex: 1; |
| | | margin-left: -8px; |
| | | margin-right: -8px; |
| | | } |
| | | .lock-content-page { |
| | | .page-content-page { |
| | | padding: 8px 8px 0 8px; |
| | | text-align: center; |
| | | .el-page-container { |
| | |
| | | } |
| | | |
| | | .hdw-card-container { |
| | | width: 320px; |
| | | width: 240px; |
| | | padding-right: 8px; |
| | | height: 100%; |
| | | } |
| | |
| | | height: 100%; |
| | | } |
| | | } |
| | | .tools-filter { |
| | | display: inline-block; |
| | | font-size: 14px; |
| | | .tools-filter-item { |
| | | display: inline-block; |
| | | margin-right: 8px; |
| | | .filter-label { |
| | | display: inline-block; |
| | | } |
| | | .filter-content { |
| | | display: inline-block; |
| | | } |
| | | } |
| | | } |
| | | </style> |