From 19824ba58a83eb98c0ed547067fbe988875b7283 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 29 九月 2025 17:08:05 +0800
Subject: [PATCH] 最新版本541200007
---
admin/src/api/business/warning.js | 6 +
admin/src/views/business/warningRule.vue | 104 +++++++----------
admin/src/components/business/OperaWarningRuleWindow.vue | 222 ++++++++++++++++++++++++++++++------
admin/src/views/business/warningPush.vue | 12 -
admin/src/api/business/warningRule.js | 4
admin/src/api/business/device.js | 1
6 files changed, 241 insertions(+), 108 deletions(-)
diff --git a/admin/src/api/business/device.js b/admin/src/api/business/device.js
index 207ca0b..7259c4a 100644
--- a/admin/src/api/business/device.js
+++ b/admin/src/api/business/device.js
@@ -12,6 +12,7 @@
return request.post('/visitsAdmin/cloudService/business/hksync/syncDevices', data)
}
+
// 鑾峰彇闂ㄧ闆嗗悎-鎻愪緵缁欓棬绂佺粍
export function getList (data) {
return request.post('/visitsAdmin/cloudService/business/device/getList', data)
diff --git a/admin/src/api/business/warning.js b/admin/src/api/business/warning.js
index e81fa5e..a18378e 100644
--- a/admin/src/api/business/warning.js
+++ b/admin/src/api/business/warning.js
@@ -14,6 +14,12 @@
download: true
})
}
+export function allList (data) {
+ return request.post('/visitsAdmin/cloudService/business/warning/allList', data)
+}
+export function regionList (data) {
+ return request.post('/visitsAdmin/cloudService/business/hksync/regionList', data)
+}
export function updateStatus (data) {
return request.post('/visitsAdmin/cloudService/business/warning/updateStatus', data)
}
diff --git a/admin/src/api/business/warningRule.js b/admin/src/api/business/warningRule.js
index 15a1602..16bf530 100644
--- a/admin/src/api/business/warningRule.js
+++ b/admin/src/api/business/warningRule.js
@@ -19,7 +19,9 @@
export function create (data) {
return request.post('/visitsAdmin/cloudService/business/warningRule/create', data)
}
-
+export function updateStatus (data) {
+ return request.post('/visitsAdmin/cloudService/business/warning/updateStatus', data)
+}
// 淇敼
export function updateById (data) {
return request.post('/visitsAdmin/cloudService/business/warningRule/updateById', data)
diff --git a/admin/src/components/business/OperaWarningRuleWindow.vue b/admin/src/components/business/OperaWarningRuleWindow.vue
index 5635278..2f8126f 100644
--- a/admin/src/components/business/OperaWarningRuleWindow.vue
+++ b/admin/src/components/business/OperaWarningRuleWindow.vue
@@ -1,43 +1,57 @@
<template>
<GlobalWindow
:title="title"
+ width="50%"
:visible.sync="visible"
:confirm-working="isWorking"
@confirm="confirm"
>
+ <p class="tip-warn"><i class="el-icon-warning"></i>鎿嶄綔璇存槑锛�<br>
+ 1.璇锋寜闇�閰嶇疆鎺ㄩ�佽鍒欙紝閰嶉�佸涓鍒欐椂锛屽嵆涓哄涓鍒欐弧瓒虫椂鎵嶆帹閫�;<br>
+ 2.鍙戠敓鍖哄煙闈炲繀濉紝涓嶅~鍒欒〃绀鸿瑙勫垯涓嬫墍鏈夊尯鍩熺殑鐩稿簲鎶ヨ绫诲瀷鍧囬�氱煡;<br>
+ </p>
<el-form :model="form" ref="form" :rules="rules">
- <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator">
- <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/>
+ <el-form-item label="閫夋嫨绛惧埌閫氱煡浜哄憳" prop="memberIds" style="margin-bottom: 30px" >
+ <el-select v-model="memberSelect" filterable multiple clearable placeholder="璇烽�夋嫨" @change="changeMembers">
+ <el-option v-for="item in memberList" :key="'member_'+item.id" :label="item.name+'-'+item.companyName" :value="item.id+''">
+ </el-option>
+ </el-select>
</el-form-item>
- <el-form-item label="鍒涘缓鏃堕棿" prop="createDate">
- <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker>
+ <div style="display: flex;" v-for="(item,index) in form.detailList" :key="'region_'+item.random" >
+ <span style="line-height: 32px;font-size: 14px;"><b style="color: #F56C6C;margin-right: 4px;font-size: 11px;">*</b>{{'瑙勫垯'+(index +1)}}</span>
+ <el-form-item label="" style="display: inline-block;margin-left: 10px; " >
+ <el-select v-model="item.warningId" filterable placeholder="璇烽�夋嫨鎶ヨ绫诲瀷" >
+ <el-option v-for="item in warningList" :label="item.name" :value="item.id"> </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="" style="display: inline-block;margin-left: 10px">
+<!-- <el-select v-model="item.regionId" filterable multiple clearable placeholder="璇烽�夋嫨鍙戠敓鍖哄煙" >
+ <el-option v-for="item in regionList" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>-->
+ <treeselect
+ style="width: 200px;height:32px;display: inline-block"
+ @input="changeSel(index)"
+ v-model="item.regionId"
+ placeholder="璇烽�夋嫨鍙戠敓鍖哄煙"
+ :options="regionList"
+ :normalizer="normalizeOptions"
+ :default-expand-level="1"
+ noChildrenText="娌℃湁瀛愰�夐」"
+ noOptionsText="娌℃湁鍙�夐」"
+ noResultsText="娌℃湁鍖归厤鐨勭粨鏋�" />
+ </el-form-item>
+ <el-button type="danger" style="margin-left: 10px;height: 32px; " @click="delDo(index)" v-if="index>0 || form.detailList.length>1">鍒犻櫎</el-button>
+ </div>
+ <el-button type="primary" style="margin-left: 10px;margin-bottom: 20px;" @click="addDo">澧炲姞瑙勫垯</el-button>
+ <el-form-item label="鐘舵��" prop="status">
+ <el-radio-group v-model="form.status">
+ <el-radio :label="0" :value="0">绂佺敤</el-radio>
+ <el-radio :label="1" :value="1">鍚敤</el-radio>
+ </el-radio-group>
</el-form-item>
- <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor">
- <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
- </el-form-item>
- <el-form-item label="鏇存柊鏃堕棿" prop="editDate">
- <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker>
- </el-form-item>
- <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted">
- <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="info">
- <el-input v-model="form.info" placeholder="璇疯緭鍏ュ娉�" v-trim/>
- </el-form-item>
- <el-form-item label="鍐呴儴浜哄憳缂栫爜锛堝叧鑱攎ember)" prop="memberId">
- <el-input v-model="form.memberId" placeholder="璇疯緭鍏ュ唴閮ㄤ汉鍛樼紪鐮侊紙鍏宠仈member)" v-trim/>
- </el-form-item>
- <el-form-item label="澶氳鍒欓棿闅旀椂闂�(绉掞級" prop="intervalSec">
- <el-input v-model="form.intervalSec" placeholder="璇疯緭鍏ュ瑙勫垯闂撮殧鏃堕棿(绉掞級" v-trim/>
- </el-form-item>
- <el-form-item label="鎺掑簭鐮�" prop="sortnum">
- <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
- </el-form-item>
- <el-form-item label="鐘舵�� 0绂佺敤 1鍚敤" prop="status">
- <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0绂佺敤 1鍚敤" v-trim/>
- </el-form-item>
- <el-form-item label="鎶ヨ绫诲瀷缂栫爜(鍏宠仈warning锛�" prop="warningId">
- <el-input v-model="form.warningId" placeholder="璇疯緭鍏ユ姤璀︾被鍨嬬紪鐮�(鍏宠仈warning锛�" v-trim/>
+ <el-form-item label="鍙戠敓闂撮殧鏃堕棿(绉掞級" prop="intervalSec">
+ <el-input type="number" v-model="form.intervalSec" placeholder="璇疯緭鍏ュ瑙勫垯闂撮殧鏃堕棿(绉掞級" v-trim/>
</el-form-item>
</el-form>
</GlobalWindow>
@@ -46,6 +60,8 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
+import { allList } from '@/api/business/member'
+import { allList as warningList, regionList } from '@/api/business/warning'
export default {
name: 'OperaWarningRuleWindow',
extends: BaseOpera,
@@ -55,20 +71,20 @@
// 琛ㄥ崟鏁版嵁
form: {
id: null,
- creator: '',
- createDate: '',
- editor: '',
- editDate: '',
- isdeleted: '',
- info: '',
- memberId: '',
+ memberIds: '',
intervalSec: '',
sortnum: '',
- status: '',
- warningId: ''
+ status: 0,
+ detailList: [{ random:Math.random(),regionId: null, regionName: null, regionCode: null ,warningId:null}]
},
+ memberSelect: [],
+ memberList: [],
+ warningList: [],
+ regionList: [],
// 楠岃瘉瑙勫垯
rules: {
+ memberIds: [{ required: true, message: '璇烽�夋嫨閫氱煡浜哄憳', tigger: 'blur' }],
+ status: [{ required: true, message: '璇烽�夋嫨鐘舵��'}]
}
}
},
@@ -77,6 +93,134 @@
api: '/business/warningRule',
'field.id': 'id'
})
+ },
+ methods: {
+ normalizeOptions (node) {
+ if (!node.childList || !node.childList.length) {
+ // 鍘绘帀children=[]鐨刢hildren灞炴��
+ delete node.childList
+ }
+ return {
+ id: node.indexCode,
+ label: node.name,
+ children: node.childList
+ }
+ },
+ changeSel(opt){
+ var item = this.form.detailList[opt]
+ this.form.detailList[opt].regionCode = null
+ this.form.detailList[opt].regionName = null
+ if(item.regionId){
+ var reg = this.getSelectedObject(item.regionId)
+ if(reg){
+ this.form.detailList[opt].regionCode = reg.indexCode
+ this.form.detailList[opt].regionName = reg.name
+ }
+ }
+ console.log(" this.form.detailList[opt]",reg, this.form.detailList[opt])
+ },
+ getSelectedObject(id) {
+ if (!id) {
+ return null // 娌℃湁閫変腑椤规椂杩斿洖 null 鎴� {} 鏍规嵁闇�瑕佸鐞�
+ }
+ const findSelected = (options) => {
+ for (const option of options) {
+ if (option.indexCode === id) {
+ return option // 杩斿洖鍖归厤鐨勫畬鏁村璞�
+ } else if (option.childList && option.childList.length > 0) {
+ const found = findSelected(option.childList) // 閫掑綊鎼滅储瀛愰�夐」
+ if (found) return found // 濡傛灉鎵惧埌杩斿洖璇ュ璞�
+ }
+ }
+ return null; // 鏈壘鍒拌繑鍥� null 鎴� {} 鏍规嵁闇�瑕佸鐞�
+ }
+ return findSelected(this.regionList); // 寮�濮嬫悳绱㈠苟杩斿洖缁撴灉
+ },
+ addDo () {
+ this.form.detailList.push({random:Math.random(), regionId: null, regionName: null, regionCode: null,warningId:null })
+ },
+ delDo (index) {
+ if (this.form.detailList.length > 1 && this.form.detailList.length > index) {
+ this.form.detailList.splice(index, 1)
+ }
+ },
+ changeMembers () {
+ console.log(this.memberSelect)
+ this.form.memberIds = ''
+ if (!this.memberSelect || !this.memberSelect.length) {
+ return
+ }
+ this.form.memberIds = this.memberSelect.join(',')
+ },
+ open (title, target) {
+ this.memberSelect =[]
+ this.title = title
+ this.loadMember()
+ this.loadRegions()
+ this.loadWarning()
+ this.visible = true
+ this.form = {
+ id: null,
+ memberIds: '',
+ intervalSec: '',
+ sortnum: '',
+ status: 0,
+ detailList: [{ random:Math.random(),regionId: null, regionName: null, regionCode: null,warningId:null }]
+ }
+ // 鏂板缓
+ if (target == null) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ return
+ }
+ // 缂栬緫
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ if (!this.form.detailList || !this.form.detailList.length) {
+ this.form.detailList = [{ random:Math.random(),regionId: null, regionName: null, regionCode: null,warningId:null }]
+ }
+ if(this.form.memberIds){
+ this.memberSelect = this.form.memberIds.split(",")
+ }
+ })
+ },
+ loadMember () {
+ allList({
+ type: 2
+ }).then(res => {
+ this.memberList = res
+ })
+ },
+ loadWarning () {
+ warningList({
+ }).then(res => {
+ this.warningList = res
+ })
+ },
+ loadRegions () {
+ regionList({
+ }).then(res => {
+ this.regionList = res
+ })
+ }
}
}
</script>
+<style scoped lang="scss">
+.inline {
+ width: 178px;
+}
+.vue-treeselect {
+ line-height: 30px;
+ ::v-deep .vue-treeselect__control {
+ height: 32px;
+ .vue-treeselect__single-value {
+ line-height: 30px;
+ }
+ }
+}
+</style>
diff --git a/admin/src/views/business/warningPush.vue b/admin/src/views/business/warningPush.vue
index 0c0b205..ff1d735 100644
--- a/admin/src/views/business/warningPush.vue
+++ b/admin/src/views/business/warningPush.vue
@@ -2,13 +2,6 @@
<TableLayout :permissions="['business:warningpush:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="鎶ヨ绫诲瀷" prop="warningId">
- <el-select v-model="searchForm.warningId" placeholder="璇烽�夋嫨" clearable @change="search">
- <el-option label="鏈帹閫�" value="0"></el-option>
- <el-option label="鎺ㄩ�佹垚鍔�" value="1"></el-option>
- <el-option label="鎺ㄩ�佸け璐�" value="2"></el-option>
- </el-select>
- </el-form-item>
<el-form-item label="鎶ヨ鍒嗙被" prop="warningType">
<el-select v-model="searchForm.warningType" placeholder="璇烽�夋嫨" clearable @change="search">
<el-option label="瀹夐槻浜嬩欢" value="0"></el-option>
@@ -23,6 +16,9 @@
</el-form-item>
<el-form-item label="鎶ヨ鍐呭" prop="content">
<el-input v-model="searchForm.content" placeholder="璇疯緭鍏ユ姤璀﹀唴瀹�" clearable @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="閫氱煡浜哄憳" prop="content">
+ <el-input v-model="searchForm.memberName" 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">
@@ -88,6 +84,7 @@
<el-table-column prop="region" label="鎵�鍦ㄤ綅缃�" min-width="120px" show-tooltip-when-overflow></el-table-column>
<el-table-column prop="content" label="鎶ヨ鍐呭" min-width="180px" show-tooltip-when-overflow></el-table-column>
<el-table-column prop="memberName" label="閫氱煡浜哄憳" min-width="100px" show-tooltip-when-overflow></el-table-column>
+ <el-table-column prop="companyName" label="浜哄憳閮ㄩ棬" min-width="100px" show-tooltip-when-overflow></el-table-column>
<el-table-column prop="status" label="閫氱煡鐘舵��" min-width="100px">
<template slot-scope="{row}">
<span style="color: rgba(245, 154, 35, 0.996);" v-if="row.status === 0">鏈�氱煡</span>
@@ -134,6 +131,7 @@
searchForm: {
id: '',
warningId: '',
+ memberName: null,
warningType: null,
title: '',
content: '',
diff --git a/admin/src/views/business/warningRule.vue b/admin/src/views/business/warningRule.vue
index c0511a1..ebc0e6d 100644
--- a/admin/src/views/business/warningRule.vue
+++ b/admin/src/views/business/warningRule.vue
@@ -2,52 +2,27 @@
<TableLayout :permissions="['business:warningrule:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <el-form-item label="涓婚敭" prop="id">
- <el-input v-model="searchForm.id" placeholder="璇疯緭鍏ヤ富閿�" @keypress.enter.native="search"></el-input>
+ <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="creator">
- <el-input v-model="searchForm.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" @keypress.enter.native="search"></el-input>
+ <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="createDate">
- <el-date-picker v-model="searchForm.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�" @change="search"/>
- </el-form-item>
- <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor">
- <el-input v-model="searchForm.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鏇存柊鏃堕棿" prop="editDate">
- <el-date-picker v-model="searchForm.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�" @change="search"/>
- </el-form-item>
- <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted">
- <el-input v-model="searchForm.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="info">
- <el-input v-model="searchForm.info" placeholder="璇疯緭鍏ュ娉�" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鍐呴儴浜哄憳缂栫爜锛堝叧鑱攎ember)" prop="memberId">
- <el-input v-model="searchForm.memberId" placeholder="璇疯緭鍏ュ唴閮ㄤ汉鍛樼紪鐮侊紙鍏宠仈member)" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="澶氳鍒欓棿闅旀椂闂�(绉掞級" prop="intervalSec">
- <el-input v-model="searchForm.intervalSec" placeholder="璇疯緭鍏ュ瑙勫垯闂撮殧鏃堕棿(绉掞級" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鎺掑簭鐮�" prop="sortnum">
- <el-input v-model="searchForm.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鐘舵�� 0绂佺敤 1鍚敤" prop="status">
- <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0绂佺敤 1鍚敤" @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鎶ヨ绫诲瀷缂栫爜(鍏宠仈warning锛�" prop="warningId">
- <el-input v-model="searchForm.warningId" placeholder="璇疯緭鍏ユ姤璀︾被鍨嬬紪鐮�(鍏宠仈warning锛�" @keypress.enter.native="search"></el-input>
+ <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 type="primary" :loading="isWorking.export" v-permissions="['business:warningrule: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: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 type="primary" @click="$refs.operaWarningRuleWindow.open('鏂板缓鎶ヨ瑙勫垯閰嶇疆')" icon="el-icon-plus" v-permissions="['business:warningrule:create']">鏂板缓</el-button></li>
<li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:warningrule:delete']">鍒犻櫎</el-button></li>
</ul>
<el-table
@@ -58,18 +33,17 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"></el-table-column>
- <el-table-column prop="id" label="涓婚敭" min-width="100px"></el-table-column>
- <el-table-column prop="creator" label="鍒涘缓浜虹紪鐮�" min-width="100px"></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="info" label="澶囨敞" min-width="100px"></el-table-column>
- <el-table-column prop="memberId" label="鍐呴儴浜哄憳缂栫爜锛堝叧鑱攎ember)" min-width="100px"></el-table-column>
- <el-table-column prop="intervalSec" label="澶氳鍒欓棿闅旀椂闂�(绉掞級" min-width="100px"></el-table-column>
- <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column>
- <el-table-column prop="status" label="鐘舵�� 0绂佺敤 1鍚敤" min-width="100px"></el-table-column>
- <el-table-column prop="warningId" label="鎶ヨ绫诲瀷缂栫爜(鍏宠仈warning锛�" min-width="100px"></el-table-column>
+ <el-table-column prop="title" label="鎶ヨ瑙勫垯" min-width="200px" show-tooltip-when-overflow></el-table-column>
+ <el-table-column prop="memberNames" label="鎶ヨ鎺ユ敹浜�" min-width="200px" show-tooltip-when-overflow></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="鎿嶄綔"
@@ -77,7 +51,7 @@
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="$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" v-permissions="['business:warningrule:delete']">鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -107,29 +81,37 @@
return {
// 鎼滅储
searchForm: {
- id: '',
- creator: '',
- createDate: '',
- editor: '',
- editDate: '',
- isdeleted: '',
- info: '',
- memberId: '',
- intervalSec: '',
- sortnum: '',
- status: '',
- warningId: ''
+ title: '',
+ memberNames: '',
+ status:'',
}
}
},
created () {
this.config({
- module: '鎶ヨ瑙勫垯閰嶇疆琛�',
+ 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>
--
Gitblit v1.9.3