| | |
| | | 2.发生区域非必填,不填则表示该规则下所有区域的相应报警类型均通知;<br> |
| | | </p> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <div style="display: flex;" v-for="(item,index) in form.detailList" :key="'region_'+item.random" > |
| | | <div style="display: flex;" v-for="(item,index) in form.detailList" :key="'warning_'+index" > |
| | | <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-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="detailList" style="width: 150px"> |
| | | <el-button type="primary" style="margin-left: 10px;margin-bottom: 20px;" @click="addDo">增加规则</el-button> |
| | | </el-form-item> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-radio-group v-model="form.status"> |
| | | <el-radio :label="0" :value="0">禁用</el-radio> |
| | |
| | | <el-form-item label="发生间隔时间(秒)" prop="intervalSec"> |
| | | <el-input type="number" v-model="form.intervalSec" placeholder="请输入多规则间隔时间(秒)" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="钉钉通知" prop="memberNotice" style="display:inline-block;width: 50%;"> |
| | | <el-form-item label="钉钉通知" prop="memberNotice" > |
| | | <el-switch style="margin-right:30px;width:100px" v-model="form.memberNotice" :active-value="1" :inactive-value="0" active-text="开" inactive-text="关"></el-switch> |
| | | </el-form-item> |
| | | <el-form-item label="选择钉钉通知人员" v-if="form.memberNotice ==1" prop="memberIds" style="margin-bottom: 30px" > |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="广播通知" prop="deviceNotice" style="display:inline-block;width: 50%;" > |
| | | <el-form-item label="广播通知" prop="deviceNotice" > |
| | | <el-switch style="margin-right:30px;width: 100px" v-model="form.deviceNotice" :active-value="1" :inactive-value="0" active-text="开" inactive-text="关">></el-switch> |
| | | </el-form-item> |
| | | <el-form-item label="选择播报广播" v-if="form.deviceNotice ==1" prop="deviceIds" style="margin-bottom: 30px" > |
| | |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | var validIdDetals = (rule, value, callback) => { |
| | | if (this.form.detailList == null || this.form.detailList.length == 0) { |
| | | callback(new Error('请配置规则')) |
| | | return |
| | | } |
| | | for (let i = 0; i < this.form.detailList.length; i++) { |
| | | var item = this.form.detailList[i] |
| | | if (!item || item.warningId === undefined || !item.warningId || item.warningId == null) { |
| | | callback(new Error('请正确配置规则')) |
| | | return |
| | | } |
| | | } |
| | | callback() |
| | | } |
| | | return { |
| | | // 表单数据 |
| | | form: { |
| | |
| | | regionList: [], |
| | | // 验证规则 |
| | | rules: { |
| | | detailList: [{ required: true, validator: validIdDetals, message: '请正确配置规则', tigger: 'blur' }], |
| | | memberNotice: [{ required: true, message: '请选择钉钉通知' }], |
| | | deviceNotice: [{ required: true, message: '请选择是否广播通知' }], |
| | | deviceIds: [{ required: true, message: '请选择播报广播', tigger: 'blur' }], |
| | | memberIds: [{ required: true, message: '请选择通知人员', tigger: 'blur' }], |
| | | deviceIds: [{ required: true, message: '请选择播报广播' }], |
| | | memberIds: [{ required: true, message: '请选择通知人员' }], |
| | | status: [{ required: true, message: '请选择状态' }] |
| | | } |
| | | } |
| | |
| | | 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] |
| | | this.form.memberNotice = this.form.memberNotice || 0 |
| | | this.form.deviceNotice = this.form.deviceNotice || 0 |
| | | this.form.status = this.form.status || 0 |
| | | } |
| | | if (!this.form.detailList || !this.form.detailList.length) { |
| | | this.form.detailList = [{ random: Math.random(), regionId: null, regionName: null, regionCode: null, warningId: null }] |