admin/src/api/business/warningRule.js
@@ -20,7 +20,7 @@ return request.post('/visitsAdmin/cloudService/business/warningRule/create', data) } export function updateStatus (data) { return request.post('/visitsAdmin/cloudService/business/warning/updateStatus', data) return request.post('/visitsAdmin/cloudService/business/warningRule/updateStatus', data) } // 修改 export function updateById (data) { admin/src/components/business/OperaWarningRuleWindow.vue
@@ -37,7 +37,9 @@ </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> @@ -47,7 +49,7 @@ <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" > @@ -56,7 +58,7 @@ </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" > @@ -78,11 +80,27 @@ import { allList } from '@/api/business/member' import { allList as allDveiceList } from '@/api/business/device' import { allList as warningList, regionList } from '@/api/business/warning' import { validIdCardNo } from '@/utils/form' export default { name: 'OperaWarningRuleWindow', extends: BaseOpera, components: { GlobalWindow }, data () { var validIdDetals = (rule, value, callback) => { if (this.form.detailList == null || this.form.detailList.length==0) { callback(new Error('请配置规则')) return } console.log("1111111111111111111111",this.form.detailList) for (let i = 0; i < this.form.detailList.length; i++) { var item = this.form.detailList[i] if (!item.warningId || item.warningId == null) { callback(new Error('请正确配置规则')) return } } callback() } return { // 表单数据 form: { @@ -105,6 +123,7 @@ regionList: [], // 验证规则 rules: { detailList: [{ required: true, validator: validIdDetals, message: '请正确配置规则', tigger: 'blur' }], memberNotice: [{ required: true, message: '请选择钉钉通知' }], deviceNotice: [{ required: true, message: '请选择是否广播通知' }], deviceIds: [{ required: true, message: '请选择播报广播', tigger: 'blur' }], server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WarningRuleCloudController.java
@@ -5,6 +5,7 @@ import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.Warning; import com.doumee.dao.business.model.WarningRule; import com.doumee.service.business.WarningRuleService; import com.doumee.service.business.third.model.ApiResponse; @@ -90,4 +91,12 @@ public ApiResponse findById(@PathVariable Integer id, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(warningRuleService.findById(id)); } @ApiOperation("根据ID 禁启用 ") @PostMapping("/updateStatus") @CloudRequiredPermission("business:warningrule:update") public ApiResponse updateStatus(@RequestBody WarningRule param, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ param.setLoginUserInfo(this.getLoginUser(token)); warningRuleService.updateStatus(param); return ApiResponse.success(null); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningRuleService.java
@@ -1,5 +1,6 @@ package com.doumee.service.business; import com.doumee.dao.business.model.Warning; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; @@ -95,4 +96,6 @@ * @return long */ long count(WarningRule warningRule); void updateStatus(WarningRule param); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.param.request.EventSubRequest; import com.doumee.core.haikang.service.HKService; import com.doumee.core.utils.Constants; import com.doumee.dao.business.DeviceMapper; import com.doumee.dao.business.WarningMapper; @@ -368,4 +370,19 @@ QueryWrapper<WarningRule> wrapper = new QueryWrapper<>(warningRule); return warningRuleMapper.selectCount(wrapper); } @Override public void updateStatus(WarningRule param) { WarningRule model = warningRuleMapper.selectById(param.getId()); if (model==null || Constants.equalsInteger(model.getIsdeleted(), Constants.ONE)) { throw new BusinessException(ResponseStatus.DATA_EMPTY); } if(Constants.equalsInteger(model.getStatus(),param.getStatus())){ return; } model.setStatus(param.getStatus()); model.setEditDate(new Date()); model.setEditor(param.getLoginUserInfo().getId()); warningRuleMapper.updateById(model); } }