Showing
1 changed file
with
46 additions
and
34 deletions
| 1 | 1 | import { ControlOutlined } from '@ant-design/icons'; |
| 2 | 2 | import { Select, Tooltip } from 'antd'; |
| 3 | 3 | import cls from 'classnames'; |
| 4 | +import dayjs from 'dayjs'; | |
| 4 | 5 | import { size } from 'lodash-es'; |
| 5 | 6 | import React, { useEffect, useRef, useState } from 'react'; |
| 6 | 7 | import { FieldBaseType, type QxBaseConditionField } from '../qx-base-condition'; |
| ... | ... | @@ -12,7 +13,6 @@ import { |
| 12 | 13 | QxFlowNodeFieldSelector, |
| 13 | 14 | } from '../qx-flow-node-selector'; |
| 14 | 15 | import { QxWidgetIcon } from '../qx-widget-icon'; |
| 15 | -import dayjs from 'dayjs'; | |
| 16 | 16 | |
| 17 | 17 | import './index.less'; |
| 18 | 18 | |
| ... | ... | @@ -693,6 +693,7 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ |
| 693 | 693 | showAssignment = true, |
| 694 | 694 | isMixValue, |
| 695 | 695 | fieldType, |
| 696 | + showHeader = true, | |
| 696 | 697 | }) => { |
| 697 | 698 | const valuesObj = value?.valuesObj?.[0] || {}; |
| 698 | 699 | const [open, setOpen] = useState(false); |
| ... | ... | @@ -703,7 +704,9 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ |
| 703 | 704 | const handleChange = (val: any[]) => { |
| 704 | 705 | onChange?.({ |
| 705 | 706 | ...(value || {}), |
| 706 | - mappingValues: val?.length ? val?.map((i: any) => i.extVal || i.value) : [], | |
| 707 | + mappingValues: val?.length | |
| 708 | + ? val?.map((i: any) => i.extVal || i.value) | |
| 709 | + : [], | |
| 707 | 710 | valuesObj: val, |
| 708 | 711 | }); |
| 709 | 712 | }; |
| ... | ... | @@ -814,37 +817,41 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ |
| 814 | 817 | |
| 815 | 818 | return ( |
| 816 | 819 | <div className="qx-base-condition-item"> |
| 817 | - <div className="qx-base-condition-item__header"> | |
| 818 | - <div className="qx-base-condition-item__header-left"> | |
| 819 | - <span className="qx-base-condition-item__header-icon"> | |
| 820 | - {field?.extract?.widget ? ( | |
| 821 | - <QxWidgetIcon widgetName={field.extract.widget} /> | |
| 822 | - ) : ( | |
| 823 | - `[${FieldMapType[fieldType]}]` | |
| 824 | - )} | |
| 825 | - </span> | |
| 826 | - <span | |
| 827 | - className={cls('qx-base-condition-item__header-text', { | |
| 828 | - error: !field, | |
| 829 | - })} | |
| 830 | - > | |
| 831 | - {field?.name || '已删除'} | |
| 832 | - </span> | |
| 833 | - </div> | |
| 834 | - <div className="qx-base-condition-item__header-right"> | |
| 835 | - <span className="qx-base-condition-item__header-filter"> | |
| 836 | - <RenderFilter /> | |
| 837 | - </span> | |
| 838 | - <span className="qx-base-condition-item__header-delete"> | |
| 839 | - <Tooltip title="删除"> | |
| 840 | - <QxBaseIcon | |
| 841 | - type="qx-icon-delete" | |
| 842 | - onClick={() => remove?.(value)} | |
| 843 | - /> | |
| 844 | - </Tooltip> | |
| 845 | - </span> | |
| 846 | - </div> | |
| 847 | - </div> | |
| 820 | + {showHeader ? ( | |
| 821 | + <> | |
| 822 | + <div className="qx-base-condition-item__header"> | |
| 823 | + <div className="qx-base-condition-item__header-left"> | |
| 824 | + <span className="qx-base-condition-item__header-icon"> | |
| 825 | + {field?.extract?.widget ? ( | |
| 826 | + <QxWidgetIcon widgetName={field.extract.widget} /> | |
| 827 | + ) : ( | |
| 828 | + `[${FieldMapType[fieldType]}]` | |
| 829 | + )} | |
| 830 | + </span> | |
| 831 | + <span | |
| 832 | + className={cls('qx-base-condition-item__header-text', { | |
| 833 | + error: !field, | |
| 834 | + })} | |
| 835 | + > | |
| 836 | + {field?.name || '已删除'} | |
| 837 | + </span> | |
| 838 | + </div> | |
| 839 | + <div className="qx-base-condition-item__header-right"> | |
| 840 | + <span className="qx-base-condition-item__header-filter"> | |
| 841 | + <RenderFilter /> | |
| 842 | + </span> | |
| 843 | + <span className="qx-base-condition-item__header-delete"> | |
| 844 | + <Tooltip title="删除"> | |
| 845 | + <QxBaseIcon | |
| 846 | + type="qx-icon-delete" | |
| 847 | + onClick={() => remove?.(value)} | |
| 848 | + /> | |
| 849 | + </Tooltip> | |
| 850 | + </span> | |
| 851 | + </div> | |
| 852 | + </div> | |
| 853 | + </> | |
| 854 | + ) : null} | |
| 848 | 855 | <div className="qx-base-condition-item__content"> |
| 849 | 856 | {showAssignment ? ( |
| 850 | 857 | <QxFlowNodeFieldSelector |
| ... | ... | @@ -853,7 +860,11 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ |
| 853 | 860 | node={node!} |
| 854 | 861 | nodes={nodes!} |
| 855 | 862 | open={open} |
| 856 | - value={FieldBaseType[valuesObj?.type] === 'DATE' ? dayjs(valuesObj?.value || '') : valuesObj?.value} | |
| 863 | + value={ | |
| 864 | + FieldBaseType[valuesObj?.type] === 'DATE' | |
| 865 | + ? dayjs(valuesObj?.value || '') | |
| 866 | + : valuesObj?.value | |
| 867 | + } | |
| 857 | 868 | onChange={handleAssignment} |
| 858 | 869 | limitTypes={limitTypes} |
| 859 | 870 | subset={subset} |
| ... | ... | @@ -878,6 +889,7 @@ export interface ValueAssignmentPopupProps |
| 878 | 889 | } |
| 879 | 890 | |
| 880 | 891 | export interface QxBaseConditionItemProps { |
| 892 | + showHeader?: boolean; | |
| 881 | 893 | field: QxBaseConditionField; |
| 882 | 894 | value?: any; |
| 883 | 895 | onChange?: (val: any) => void; | ... | ... |