wjx 21 часов назад
Родитель
Сommit
bb42a73e18
1 измененных файлов с 25 добавлено и 4 удалено
  1. 25 4
      src/pages/launchSystemV3/tencentAdPutIn/create/Target/addTarget.tsx

+ 25 - 4
src/pages/launchSystemV3/tencentAdPutIn/create/Target/addTarget.tsx

@@ -557,7 +557,6 @@ const AddTarget: React.FC<Props> = ({ isBackVal, putInType, value, visible, onCh
                         rules={[
                             {
                                 validator: (_, ranges) => {
-                                    console.log('ranges', ranges)
                                     if (hasOverlap(ranges)) {
                                         return Promise.reject('年龄存在区间重叠,请修改');
                                     }
@@ -575,7 +574,18 @@ const AddTarget: React.FC<Props> = ({ isBackVal, putInType, value, visible, onCh
                                             {...restField}
                                             name={[name, 'min']}
                                             style={{ marginBottom: 0 }}
-                                            rules={[{ required: true, message: '请选择最小年龄!' }]}
+                                            rules={[
+                                                { required: true, message: '请选择最小年龄!' },
+                                                ({ getFieldValue }) => ({
+                                                    validator(_, min) {
+                                                        const max = getFieldValue(['age', name, 'max']);
+                                                        if (min && max && max - min < 4) {
+                                                            return Promise.reject('年龄跨度需≥4岁');
+                                                        }
+                                                        return Promise.resolve();
+                                                    }
+                                                })
+                                            ]}
                                         >
                                             <Select style={{ width: 185 }} placeholder="请选择">
                                                 {Array(66 - 13).fill('').map((_, i) => i + 14).filter(i => i !== 15 && i !== 16 && i !== 17).map(i => {
@@ -588,11 +598,22 @@ const AddTarget: React.FC<Props> = ({ isBackVal, putInType, value, visible, onCh
                                             {...restField}
                                             name={[name, 'max']}
                                             style={{ marginBottom: 0 }}
-                                            rules={[{ required: true, message: '请选择最大年龄!' }]}
+                                            rules={[
+                                                { required: true, message: '请选择最大年龄!' },
+                                                ({ getFieldValue }) => ({
+                                                    validator(_, max) {
+                                                        const min = getFieldValue(['age', name, 'min']);
+                                                        if (min && max && max - min < 4) {
+                                                            return Promise.reject('年龄跨度需≥4岁');
+                                                        }
+                                                        return Promise.resolve();
+                                                    }
+                                                })
+                                            ]}
                                         >
                                             <Select style={{ width: 185 }} placeholder="请选择">
                                                 {Array(66 - 17).fill('').map((_, i) => {
-                                                    return <Select.Option disabled={i + 18 < ag?.min} value={i + 18} key={i + 18}>{i + 18 === 66 ? '66 岁及以上' : i + 18 + ' 岁'}</Select.Option>
+                                                    return <Select.Option disabled={i + 18 < ag?.min + 4} value={i + 18} key={i + 18}>{i + 18 === 66 ? '66 岁及以上' : i + 18 + ' 岁'}</Select.Option>
                                                 })}
                                             </Select>
                                         </Form.Item>