From 12d71ee7f050b981d584668f6ca70794d2c92a44 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 08 十二月 2025 17:53:10 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java |   17 +++++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningRuleService.java          |    3 +++
 admin/src/components/business/OperaWarningRuleWindow.vue                                                 |   25 ++++++++++++++++++++++---
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WarningRuleCloudController.java         |    9 +++++++++
 admin/src/api/business/warningRule.js                                                                    |    2 +-
 5 files changed, 52 insertions(+), 4 deletions(-)

diff --git a/admin/src/api/business/warningRule.js b/admin/src/api/business/warningRule.js
index fb94a48..82018eb 100644
--- a/admin/src/api/business/warningRule.js
+++ b/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) {
diff --git a/admin/src/components/business/OperaWarningRuleWindow.vue b/admin/src/components/business/OperaWarningRuleWindow.vue
index 226c5e7..f221c49 100644
--- a/admin/src/components/business/OperaWarningRuleWindow.vue
+++ b/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' }],
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WarningRuleCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WarningRuleCloudController.java
index fd27a20..4f7c57c 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WarningRuleCloudController.java
+++ b/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);
+    }
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningRuleService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningRuleService.java
index 50e5af2..1441ceb 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningRuleService.java
+++ b/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);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java
index 393ff42..abb9cf3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningRuleServiceImpl.java
+++ b/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);
+    }
 }

--
Gitblit v1.9.3