Просмотр исходного кода

feat: 执行动作添加排序

xieyonghong 3 лет назад
Родитель
Сommit
1453146e84

+ 6 - 1
src/pages/link/DashBoard/index.tsx

@@ -227,6 +227,7 @@ export default () => {
       },
       tooltip: {
         trigger: 'axis',
+        valueFormatter: (value) => `${value}M`,
       },
       yAxis: {
         type: 'value',
@@ -238,7 +239,7 @@ export default () => {
       color: ['#979AFF'],
       series: Object.keys(data).length
         ? Object.keys(data).map((key) => ({
-            data: data[key]._data,
+            data: data[key]._data.map((item: number) => Number((item / 1024 / 1024).toFixed(2))),
             name: key,
             type: 'line',
             smooth: true,
@@ -273,6 +274,7 @@ export default () => {
       },
       tooltip: {
         trigger: 'axis',
+        valueFormatter: (value) => `${value}%`,
       },
       yAxis: {
         type: 'value',
@@ -299,6 +301,7 @@ export default () => {
             name: key,
             type: 'line',
             smooth: true,
+            symbol: 'none',
             areaStyle: {
               color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 {
@@ -330,6 +333,7 @@ export default () => {
       },
       tooltip: {
         trigger: 'axis',
+        valueFormatter: (value) => `${value}%`,
       },
       yAxis: {
         type: 'value',
@@ -356,6 +360,7 @@ export default () => {
             name: key,
             type: 'line',
             smooth: true,
+            symbol: 'none',
             areaStyle: {
               color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                 {

+ 29 - 1
src/pages/rule-engine/Scene/Save/action/action.tsx

@@ -14,7 +14,7 @@ import WriteProperty from './device/WriteProperty';
 import ReadProperty from './device/readProperty';
 import FunctionCall from './device/functionCall';
 import { InputNumber } from '../components';
-import { DeleteOutlined } from '@ant-design/icons';
+import { ArrowUpOutlined, DeleteOutlined, ArrowDownOutlined } from '@ant-design/icons';
 import { observer } from '@formily/reactive-react';
 import ConditionalFiltering from './device/ConditionalFiltering';
 
@@ -25,6 +25,8 @@ interface ActionProps {
   title?: string;
   triggerType: string;
   onRemove: () => void;
+  onMove: (type: 'up' | 'down') => void;
+  isLast?: boolean;
   actionItemData?: any;
   trigger?: any;
   parallel?: boolean;
@@ -32,6 +34,8 @@ interface ActionProps {
 
 export default observer((props: ActionProps) => {
   const { name } = props;
+  console.log('name', name);
+  console.log('isLast', props.isLast);
   const [type1, setType1] = useState('');
   // 消息通知
   const [notifyType, setNotifyType] = useState('');
@@ -239,6 +243,30 @@ export default observer((props: ActionProps) => {
         >
           <DeleteOutlined />
         </Button>
+        <Button
+          onClick={() => {
+            props.onMove?.('up');
+          }}
+          disabled={name === 0}
+          style={{
+            padding: '0 8px',
+            margin: '0 0 12px 12px',
+          }}
+        >
+          <ArrowUpOutlined />
+        </Button>
+        <Button
+          onClick={() => {
+            props.onMove?.('down');
+          }}
+          disabled={props.isLast}
+          style={{
+            padding: '0 8px',
+            margin: '0 0 12px 12px',
+          }}
+        >
+          <ArrowDownOutlined />
+        </Button>
       </div>
       <Row gutter={24}>
         <Col span={4}>

+ 9 - 1
src/pages/rule-engine/Scene/Save/index.tsx

@@ -346,7 +346,7 @@ export default () => {
                 }
               >
                 <Form.List name="actions">
-                  {(fields, { add, remove }, { errors }) => (
+                  {(fields, { add, remove, move }, { errors }) => (
                     <>
                       <div className={'scene-actions'} style={{ paddingBottom: 24 }}>
                         {fields.map(({ key, name, ...restField }) => (
@@ -358,7 +358,15 @@ export default () => {
                             trigger={actionParams}
                             triggerType={triggerType}
                             onRemove={() => remove(name)}
+                            onMove={(type) => {
+                              if (type === 'up') {
+                                move(name, name - 1);
+                              } else {
+                                move(name, name + 1);
+                              }
+                            }}
                             actionItemData={actionsData.length && actionsData[name]}
+                            isLast={!actionsData.length || actionsData.length - 1 === name}
                             parallel={parallel}
                           />
                         ))}