| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:warningrule:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="æ¥è¦è§å" prop="info"> |
| | | <el-input v-model="searchForm.title" placeholder="请è¾å
¥æ¥è¦è§å" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="人å/é¨é¨" prop="memberNames"> |
| | | <el-input v-model="searchForm.memberNames" placeholder="请è¾å
¥äººåæé¨é¨å" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="广æåç§°" prop="memberNames"> |
| | | <el-input v-model="searchForm.deviceNames" placeholder="请è¾å
¥å¹¿æåç§°" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status" > |
| | | <el-select v-model="searchForm.status" placeholder="è¯·éæ©ç¶æ" clearable @change="search"> |
| | | <el-option label="ç¦ç¨" value="0"></el-option> |
| | | <el-option label="å¯ç¨" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:warningrule:create', 'business:warningrule:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaWarningRuleWindow.open('æ°å»ºæ¥è¦è§åé
ç½®')" icon="el-icon-plus" v-permissions="['business:warningrule:create']">æ°å»º</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" type="danger" icon="el-icon-delete" v-permissions="['business:warningrule:delete']">å é¤</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | :height="tableHeightNew" |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="title" label="æ¥è¦è§å" min-width="200px" show-tooltip-when-overflow></el-table-column> |
| | | <el-table-column prop="detailList" label="è§åæç»" min-width="360px" show-tooltip-when-overflow> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.detailList && row.detailList.length"> |
| | | <div style="display: block;" v-for="item in row.detailList"> {{item.warningName||''}} {{item.regionName||''}} {{item.deviceName||''}};</div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="memberNames" label="æ¥è¦æ¥æ¶äºº" min-width="200px" show-tooltip-when-overflow> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.memberNotice === 1">{{row.memberNames}}</span> |
| | | <span v-else class="red">æªå¼å¯</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="deviceNames" label="æ¥è¦ææ¥å¹¿æ" min-width="200px" show-tooltip-when-overflow> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.deviceNotice === 1">{{row.deviceNames}}</span> |
| | | <span v-else class="red">æªå¼å¯</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="intervalSec" label="é´éæ¶é´(ç§ï¼" min-width="100px" ></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px" > |
| | | <template slot-scope="{row}"> |
| | | <el-switch @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66" |
| | | inactive-color="#ff4949" :active-value="1" :inactive-value="0" > |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editDate" label="æ´æ°æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:warningrule:update', 'business:warningrule:delete'])" |
| | | label="æä½" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="$refs.operaWarningRuleWindow.open('ç¼è¾æ¥è¦è§åé
ç½®', row)" icon="el-icon-edit" v-permissions="['business:warningrule:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" style="color: red" v-permissions="['business:warningrule:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaWarningRuleWindow ref="operaWarningRuleWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaWarningRuleWindow from '@/components/business/OperaWarningRuleWindow' |
| | | export default { |
| | | name: 'WarningRule', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaWarningRuleWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | title: '', |
| | | memberNames: '', |
| | | deviceNames: '', |
| | | status:'', |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'æ¥è¦è§åé
ç½®', |
| | | api: '/business/warningRule', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | changeStatus (e, row) { |
| | | this.working = true |
| | | this.api.updateStatus({ id: row.id, status: e }) |
| | | .then(res => { |
| | | this.$tip.apiSuccess(res || 'æä½æå') |
| | | this.search() |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.working = false |
| | | }) |
| | | .catch(() => { }) |
| | | } |
| | | } |
| | | } |
| | | </script> |