From 4d3aa775fe40cdf97ff503e0c078c08a8f9e5f1d Mon Sep 17 00:00:00 2001
From: dongyukun <1208714201@qq.com>
Date: 星期五, 03 一月 2025 13:56:29 +0800
Subject: [PATCH] 调度方案批量启禁

---
 src/views/data/point/index.vue                   |   10 ++---
 src/views/model/sche/scheme/index.vue            |   48 +++++++++++++++++++++++
 src/api/model/sche/scheme/index.ts               |   13 ++++++
 src/views/model/sche/model/ScheduleModelForm.vue |    1 
 4 files changed, 65 insertions(+), 7 deletions(-)

diff --git a/src/api/model/sche/scheme/index.ts b/src/api/model/sche/scheme/index.ts
index 0bcafb3..0376394 100644
--- a/src/api/model/sche/scheme/index.ts
+++ b/src/api/model/sche/scheme/index.ts
@@ -45,3 +45,16 @@
 export const deleteScheduleScheme = (id: number) => {
   return request.delete({ url: '/model/sche/scheme/delete?id=' + id })
 }
+
+// 启用
+export const enable = (ids) => {
+  const data = ids
+  return request.put({ url: '/model/sche/scheme/enable', data })
+}
+
+// 禁用
+export const disable = (ids) => {
+  const data = ids
+  return request.put({ url: '/model/sche/scheme/disable', data })
+}
+
diff --git a/src/views/data/point/index.vue b/src/views/data/point/index.vue
index f87cd1a..b11294c 100644
--- a/src/views/data/point/index.vue
+++ b/src/views/data/point/index.vue
@@ -295,9 +295,8 @@
     let ids = dataListSelections.map(item => {
       return item.id
     })
-    // 启用的二次确认
-    await message.enableConfirm(ids)
-
+    // 二次确认
+    await message.confirm('确认要开启所选测点?')
     await DaPoint.enable(ids)
     message.success(t('common.enableSuccess'))
     await getList()
@@ -307,9 +306,8 @@
     let ids = dataListSelections.map(item => {
       return item.id
     })
-    // 启用的二次确认
-    await message.disableConfirm(ids,)
-
+    // 二次确认
+    await message.confirm('确认要禁用所选测点?')
     await DaPoint.disable(ids)
     message.success(t('common.disableSuccess'))
     await getList()
diff --git a/src/views/model/sche/model/ScheduleModelForm.vue b/src/views/model/sche/model/ScheduleModelForm.vue
index d24e286..b01f3d2 100644
--- a/src/views/model/sche/model/ScheduleModelForm.vue
+++ b/src/views/model/sche/model/ScheduleModelForm.vue
@@ -334,6 +334,7 @@
         <el-table-column prop="disturbancePointNo’" label="无扰切换点位" align="center" min-width="200">
           <template #default="scope">
             <el-select v-model="scope.row.disturbancePointNo"
+                       clearable
                        filterable
                        placeholder="请选择">
               <el-option
diff --git a/src/views/model/sche/scheme/index.vue b/src/views/model/sche/scheme/index.vue
index 5fcca35..1c94533 100644
--- a/src/views/model/sche/scheme/index.vue
+++ b/src/views/model/sche/scheme/index.vue
@@ -36,6 +36,20 @@
           重置
         </el-button>
         <el-button
+          type="success"
+          plain
+          @click="enable"
+          v-hasPermi="['sche:scheme:update']"
+        >启用
+        </el-button>
+        <el-button
+          type="danger"
+          plain
+          @click="disable"
+          v-hasPermi="['sche:scheme:update']"
+        >禁用
+        </el-button>
+        <el-button
           type="primary"
           plain
           @click="openForm('create')"
@@ -50,7 +64,8 @@
 
   <!-- 列表 -->
   <ContentWrap>
-    <el-table v-loading="loading" :data="list">
+    <el-table v-loading="loading" :data="list" @selection-change="selectionChangeHandle">
+      <el-table-column type="selection" header-align="center" align="center" fixed="left" width="50"/>
       <el-table-column label="方案编号" align="center" prop="code" min-width="100"/>
       <el-table-column label="方案名称" header-align="center" align="left" prop="name" min-width="100"/>
       <el-table-column label="触发方式" align="center" prop="triggerMethod" min-width="100">
@@ -124,6 +139,9 @@
   import * as ScheduleSchemeApi from '@/api/model/sche/scheme'
   import ScheduleSchemeForm from './ScheduleSchemeForm.vue'
   import RecordList from  './record/index.vue'
+  import * as DaPoint from "@/api/data/da/point";
+  import {reactive} from "vue";
+  import {InfraJobStatusEnum} from "@/utils/constants";
 
   defineOptions({name: 'ScheduleScheme'})
 
@@ -192,6 +210,34 @@
     recordRef.value.open(id)
   }
 
+  let dataListSelections = reactive([])
+  // 多选
+  function selectionChangeHandle (val) {
+    dataListSelections = val
+  }
+  // 启用
+  async function enable() {
+    let ids = dataListSelections.map(item => {
+      return item.id
+    })
+    // 二次确认
+    await message.confirm('是否确认要启用所选调度方案?')
+    await ScheduleSchemeApi.enable(ids)
+    message.success(t('common.enableSuccess'))
+    await getList()
+  }
+  // 禁用
+  async function disable(){
+    let ids = dataListSelections.map(item => {
+      return item.id
+    })
+    // 二次确认
+    await message.confirm('确认要禁用所选调度方案?')
+    await ScheduleSchemeApi.disable(ids)
+    message.success(t('common.disableSuccess'))
+    await getList()
+  }
+
   /** 初始化 **/
   onMounted(async () => {
     await getList()

--
Gitblit v1.9.3