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; | ... | ... |