wjx hace 6 días
padre
commit
08388ff861

+ 3 - 1
src/pages/weComTask/components/sendTimeSet/index.tsx

@@ -35,12 +35,13 @@ interface Props {
     },
     name?: number
     isShow?: boolean
+    restFieldChange?: (value?: any) => void
 }
 /**
  * 发送时间设置
  * @param param0 
  */
-const SendTimeSet: React.FC<Props> = ({ active, form, timeRepeatType, disabled, restField, name, isShow }) => {
+const SendTimeSet: React.FC<Props> = ({ active, form, timeRepeatType, disabled, restField, name, isShow, restFieldChange }) => {
 
     /***********************************/
     const startTime = Form.useWatch('startTime', form)
@@ -136,6 +137,7 @@ const SendTimeSet: React.FC<Props> = ({ active, form, timeRepeatType, disabled,
                     ((option?.label ?? '') as string).toLowerCase().includes(input.toLowerCase())
                 }
                 style={isShow ? undefined : { width: 358 }}
+                onChange={(e) => { restFieldChange?.(e) }}
                 options={(active === 'all' ? Object.keys(TimeTypeAllEnum).map(key => ({ label: TimeTypeAllEnum[key as keyof typeof TimeTypeAllEnum], value: key })) : active === '2' ? Object.keys(TimeType1Enum).map(key => ({ label: TimeType1Enum[key as keyof typeof TimeType1Enum], value: key })) : Object.keys(TimeType2Enum).map(key => ({ label: TimeType2Enum[key as keyof typeof TimeType2Enum], value: key }))) as any}
             />
         </Form.Item>

+ 1 - 1
src/pages/weComTask/page/businessPlan/create/components/friends/strategy.tsx

@@ -91,7 +91,7 @@ const Strategy = forwardRef(({ value, onChange }: TASK_CREATE.StrategyProps, ref
                         if (endTime) {
                             data.endTime = dayjs(endTime).format('YYYY-MM-DD')
                         }
-                        data.repeatArray = repeatArray
+                        data.repeatArray = timeRepeatType === 'TIME_TYPE_REPEAT_MONTH' ? repeatArray : repeatArray.filter(item => Number(item) < 8)
                     }
                     return data
                 })

+ 1 - 1
src/pages/weComTask/page/businessPlan/create/components/highMassSending/strategy.tsx

@@ -91,7 +91,7 @@ const Strategy = forwardRef(({ value, onChange }: TASK_CREATE.StrategyProps, ref
                         if (endTime) {
                             data.endTime = dayjs(endTime).format('YYYY-MM-DD')
                         }
-                        data.repeatArray = repeatArray
+                        data.repeatArray = timeRepeatType === 'TIME_TYPE_REPEAT_MONTH' ? repeatArray : repeatArray.filter(item => Number(item) < 8)
                     }
                     return data
                 })

+ 22 - 2
src/pages/weComTask/page/businessPlan/create/components/massSending/strategy.tsx

@@ -91,7 +91,7 @@ const Strategy = forwardRef(({ value, onChange }: TASK_CREATE.StrategyProps, ref
                         if (endTime) {
                             data.endTime = dayjs(endTime).format('YYYY-MM-DD')
                         }
-                        data.repeatArray = repeatArray
+                        data.repeatArray = timeRepeatType === 'TIME_TYPE_REPEAT_MONTH' ? repeatArray : repeatArray.filter(item => Number(item) < 8)
                     }
                     return data
                 })
@@ -214,7 +214,27 @@ const Strategy = forwardRef(({ value, onChange }: TASK_CREATE.StrategyProps, ref
                                         >
                                             <Input placeholder="请输入标题" style={{ width: 358 }} allowClear />
                                         </Form.Item>
-                                        <SendTimeSet active='all' form={form} restField={restField} name={name} timeRepeatType={timeRepeatType} />
+                                        <SendTimeSet 
+                                            active='all' 
+                                            form={form} 
+                                            restField={restField} 
+                                            name={name} 
+                                            timeRepeatType={timeRepeatType}
+                                            restFieldChange={(value) => {
+                                                form.setFieldsValue({
+                                                    strategySettings: strategySettings?.map((item, i) => {
+                                                        if (i === index) {
+                                                            return {
+                                                                ...item,
+                                                                timeRepeatType: value,
+                                                                repeatArray: undefined
+                                                            }
+                                                        }
+                                                        return item
+                                                    })
+                                                });
+                                            }}
+                                        />
 
                                         <Form.List name={[name, 'sendData']}>
                                             {(fields, { add, remove }) => (

+ 22 - 2
src/pages/weComTask/page/businessPlan/create/components/userInherit/settingsUserlnherit.tsx

@@ -93,7 +93,7 @@ const SettingsUserInherit: React.FC<TASK_CREATE.UserInheritProps<any>> = ({ valu
                         if (endTime) {
                             data.endTime = dayjs(endTime).format('YYYY-MM-DD')
                         }
-                        data.repeatArray = repeatArray
+                        data.repeatArray = timeRepeatType === 'TIME_TYPE_REPEAT_MONTH' ? repeatArray : repeatArray.filter(item => Number(item) < 8)
                     }
                     return data
                 })
@@ -216,7 +216,27 @@ const SettingsUserInherit: React.FC<TASK_CREATE.UserInheritProps<any>> = ({ valu
                                             <Input placeholder="请输入标题" style={{ width: 358 }} allowClear />
                                         </Form.Item>
                                         <div id={`strategy_${index}_sendTime`}>
-                                            <SendTimeSet active='all' form={form} restField={restField} name={name} timeRepeatType={timeRepeatType} />
+                                            <SendTimeSet
+                                                active='all'
+                                                form={form}
+                                                restField={restField}
+                                                name={name}
+                                                timeRepeatType={timeRepeatType}
+                                                restFieldChange={(value) => {
+                                                    form.setFieldsValue({
+                                                        schedulingStrategyDTO: schedulingStrategyDTO?.map((item, i) => {
+                                                            if (i === index) {
+                                                                return {
+                                                                    ...item,
+                                                                    timeRepeatType: value,
+                                                                    repeatArray: undefined
+                                                                }
+                                                            }
+                                                            return item
+                                                        })
+                                                    });
+                                                }}
+                                            />
                                         </div>
 
                                         <Form.List name={[name, 'inheritDto']}>

+ 22 - 2
src/pages/weComTask/page/groupChat/create/components/strategy/settingsStrategy.tsx

@@ -82,7 +82,7 @@ const SettingsStrategy: React.FC<GROUP_CHAT_CREATE.FoundationProps<any>> = ({ vi
                         if (endTime) {
                             data.endTime = dayjs(endTime).format('YYYY-MM-DD')
                         }
-                        data.repeatArray = repeatArray
+                        data.repeatArray = timeRepeatType === 'TIME_TYPE_REPEAT_MONTH' ? repeatArray : repeatArray.filter(item => Number(item) < 8)
                     }
                     return data
                 })
@@ -174,7 +174,27 @@ const SettingsStrategy: React.FC<GROUP_CHAT_CREATE.FoundationProps<any>> = ({ vi
                                     >
                                         <Input placeholder='请输入策略名称' allowClear style={{ width: 358 }} />
                                     </Form.Item>
-                                    <SendTimeSet active='all' form={form} restField={restField} name={name} timeRepeatType={timeRepeatType} />
+                                    <SendTimeSet
+                                        active='all'
+                                        form={form}
+                                        restField={restField}
+                                        name={name}
+                                        timeRepeatType={timeRepeatType}
+                                        restFieldChange={(value) => {
+                                            form.setFieldsValue({
+                                                strategyList: strategyList?.map((item, i) => {
+                                                    if (i === index) {
+                                                        return {
+                                                            ...item,
+                                                            timeRepeatType: value,
+                                                            repeatArray: undefined
+                                                        }
+                                                    }
+                                                    return item
+                                                })
+                                            });
+                                        }}
+                                    />
                                 </Card>
                             })}
                             <Form.Item>

+ 22 - 2
src/pages/weComTask/page/groupChatSend/official/create/components/Strategy/settingsStrategy.tsx

@@ -94,7 +94,7 @@ const SettingsStrategy: React.FC<GROUP_CHAT_CREATE.FoundationProps<any>> = ({ vi
                         if (endTime) {
                             data.endTime = dayjs(endTime).format('YYYY-MM-DD')
                         }
-                        data.repeatArray = repeatArray
+                        data.repeatArray = timeRepeatType === 'TIME_TYPE_REPEAT_MONTH' ? repeatArray : repeatArray.filter(item => Number(item) < 8)
                     }
                     return data
                 })
@@ -220,7 +220,27 @@ const SettingsStrategy: React.FC<GROUP_CHAT_CREATE.FoundationProps<any>> = ({ vi
                                     >
                                         <Input placeholder='请输入策略名称' allowClear style={{ width: 358 }} />
                                     </Form.Item>
-                                    <SendTimeSet active='all' form={form} restField={restField} name={name} timeRepeatType={timeRepeatType} />
+                                    <SendTimeSet
+                                        active='all'
+                                        form={form}
+                                        restField={restField}
+                                        name={name}
+                                        timeRepeatType={timeRepeatType}
+                                        restFieldChange={(value) => {
+                                            form.setFieldsValue({
+                                                strategyList: strategyList?.map((item, i) => {
+                                                    if (i === index) {
+                                                        return {
+                                                            ...item,
+                                                            timeRepeatType: value,
+                                                            repeatArray: undefined
+                                                        }
+                                                    }
+                                                    return item
+                                                })
+                                            });
+                                        }}
+                                    />
                                     <Form.List name={[name, 'sendData']}>
                                         {(fields, { add, remove }) => (
                                             <>

+ 22 - 2
src/pages/weComTask/page/groupChatSend/robot/create/components/Strategy/settingsStrategy.tsx

@@ -99,7 +99,7 @@ const SettingsStrategy: React.FC<Props> = ({ visible, onClose, value, onChange,
                         if (endTime) {
                             data.endTime = dayjs(endTime).format('YYYY-MM-DD')
                         }
-                        data.repeatArray = repeatArray
+                        data.repeatArray = timeRepeatType === 'TIME_TYPE_REPEAT_MONTH' ? repeatArray : repeatArray.filter(item => Number(item) < 8)
                     }
                     return data
                 })
@@ -228,7 +228,27 @@ const SettingsStrategy: React.FC<Props> = ({ visible, onClose, value, onChange,
                                     >
                                         <Input placeholder='请输入策略名称' allowClear style={{ width: 358 }} />
                                     </Form.Item>
-                                    <SendTimeSet active='all' form={form} restField={restField} name={name} timeRepeatType={timeRepeatType} />
+                                    <SendTimeSet
+                                        active='all'
+                                        form={form}
+                                        restField={restField}
+                                        name={name}
+                                        timeRepeatType={timeRepeatType}
+                                        restFieldChange={(value) => {
+                                            form.setFieldsValue({
+                                                strategyList: strategyList?.map((item, i) => {
+                                                    if (i === index) {
+                                                        return {
+                                                            ...item,
+                                                            timeRepeatType: value,
+                                                            repeatArray: undefined
+                                                        }
+                                                    }
+                                                    return item
+                                                })
+                                            });
+                                        }}
+                                    />
                                     <Form.List name={[name, 'sendData']}>
                                         {(fields, { add, remove }) => (
                                             <>