浏览代码

fix(场景联动): 添加启用禁用

xieyonghong 3 年之前
父节点
当前提交
dd47481926
共有 2 个文件被更改,包括 31 次插入13 次删除
  1. 28 12
      src/pages/rule-engine/Scene/index.tsx
  2. 3 1
      src/pages/rule-engine/Scene/service.ts

+ 28 - 12
src/pages/rule-engine/Scene/index.tsx

@@ -61,18 +61,34 @@ const Scene = () => {
         popConfirm={{
           title: intl.formatMessage({
             id: `pages.data.option.${
-              record.state.value !== 'started' ? 'disabled' : 'enabled'
+              record.state.value === 'started' ? 'disabled' : 'enabled'
             }.tips`,
             defaultMessage: '确认禁用?',
           }),
           onConfirm: async () => {
-            message.success(
-              intl.formatMessage({
-                id: 'pages.data.option.success',
-                defaultMessage: '操作成功!',
-              }),
-            );
-            actionRef.current?.reload();
+            if (record.state.value !== 'started') {
+              const resp = await service.startScene(record.id);
+              if (resp.status === 200) {
+                message.success(
+                  intl.formatMessage({
+                    id: 'pages.data.option.success',
+                    defaultMessage: '操作成功!',
+                  }),
+                );
+                actionRef.current?.reload();
+              }
+            } else {
+              const resp = await service.stopScene(record.id);
+              if (resp.status === 200) {
+                message.success(
+                  intl.formatMessage({
+                    id: 'pages.data.option.success',
+                    defaultMessage: '操作成功!',
+                  }),
+                );
+                actionRef.current?.reload();
+              }
+            }
           },
         }}
         tooltip={
@@ -80,7 +96,7 @@ const Scene = () => {
             ? {
                 title: intl.formatMessage({
                   id: `pages.data.option.${
-                    record.state.value !== 'started' ? 'disabled' : 'enabled'
+                    record.state.value === 'started' ? 'disabled' : 'enabled'
                   }`,
                   defaultMessage: '启用',
                 }),
@@ -88,11 +104,11 @@ const Scene = () => {
             : undefined
         }
       >
-        {record.state.value !== 'started' ? <StopOutlined /> : <PlayCircleOutlined />}
+        {record.state.value === 'started' ? <StopOutlined /> : <PlayCircleOutlined />}
         {type !== 'table' &&
           intl.formatMessage({
-            id: `pages.data.option.${record.state.value !== 'started' ? 'disabled' : 'enabled'}`,
-            defaultMessage: record.state.value !== 'started' ? '禁用' : '启用',
+            id: `pages.data.option.${record.state.value === 'started' ? 'disabled' : 'enabled'}`,
+            defaultMessage: record.state.value === 'started' ? '禁用' : '启用',
           })}
       </PermissionButton>,
       <PermissionButton

+ 3 - 1
src/pages/rule-engine/Scene/service.ts

@@ -3,7 +3,9 @@ import BaseService from '@/utils/BaseService';
 import type { SceneItem } from '@/pages/rule-engine/Scene/typings';
 
 class Service extends BaseService<SceneItem> {
-  start = (id: string) => request(`${this.uri}/${id}`, { methods: 'GET' });
+  startScene = (id: string) => request(`${this.uri}/${id}/_enable`, { method: 'PUT' });
+
+  stopScene = (id: string) => request(`${this.uri}/${id}/_disable`, { method: 'PUT' });
 
   getParseTerm = (data: Record<string, any>) =>
     request(`${this.uri}/parse-term-column`, {