Showing
1 changed file
with
46 additions
and
34 deletions
1 | import { ControlOutlined } from '@ant-design/icons'; | 1 | import { ControlOutlined } from '@ant-design/icons'; |
2 | import { Select, Tooltip } from 'antd'; | 2 | import { Select, Tooltip } from 'antd'; |
3 | import cls from 'classnames'; | 3 | import cls from 'classnames'; |
4 | +import dayjs from 'dayjs'; | ||
4 | import { size } from 'lodash-es'; | 5 | import { size } from 'lodash-es'; |
5 | import React, { useEffect, useRef, useState } from 'react'; | 6 | import React, { useEffect, useRef, useState } from 'react'; |
6 | import { FieldBaseType, type QxBaseConditionField } from '../qx-base-condition'; | 7 | import { FieldBaseType, type QxBaseConditionField } from '../qx-base-condition'; |
@@ -12,7 +13,6 @@ import { | @@ -12,7 +13,6 @@ import { | ||
12 | QxFlowNodeFieldSelector, | 13 | QxFlowNodeFieldSelector, |
13 | } from '../qx-flow-node-selector'; | 14 | } from '../qx-flow-node-selector'; |
14 | import { QxWidgetIcon } from '../qx-widget-icon'; | 15 | import { QxWidgetIcon } from '../qx-widget-icon'; |
15 | -import dayjs from 'dayjs'; | ||
16 | 16 | ||
17 | import './index.less'; | 17 | import './index.less'; |
18 | 18 | ||
@@ -693,6 +693,7 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ | @@ -693,6 +693,7 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ | ||
693 | showAssignment = true, | 693 | showAssignment = true, |
694 | isMixValue, | 694 | isMixValue, |
695 | fieldType, | 695 | fieldType, |
696 | + showHeader = true, | ||
696 | }) => { | 697 | }) => { |
697 | const valuesObj = value?.valuesObj?.[0] || {}; | 698 | const valuesObj = value?.valuesObj?.[0] || {}; |
698 | const [open, setOpen] = useState(false); | 699 | const [open, setOpen] = useState(false); |
@@ -703,7 +704,9 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ | @@ -703,7 +704,9 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ | ||
703 | const handleChange = (val: any[]) => { | 704 | const handleChange = (val: any[]) => { |
704 | onChange?.({ | 705 | onChange?.({ |
705 | ...(value || {}), | 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 | valuesObj: val, | 710 | valuesObj: val, |
708 | }); | 711 | }); |
709 | }; | 712 | }; |
@@ -814,37 +817,41 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ | @@ -814,37 +817,41 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ | ||
814 | 817 | ||
815 | return ( | 818 | return ( |
816 | <div className="qx-base-condition-item"> | 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 | <div className="qx-base-condition-item__content"> | 855 | <div className="qx-base-condition-item__content"> |
849 | {showAssignment ? ( | 856 | {showAssignment ? ( |
850 | <QxFlowNodeFieldSelector | 857 | <QxFlowNodeFieldSelector |
@@ -853,7 +860,11 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ | @@ -853,7 +860,11 @@ export const QxBaseConditionItem: React.FC<QxBaseConditionItemProps> = ({ | ||
853 | node={node!} | 860 | node={node!} |
854 | nodes={nodes!} | 861 | nodes={nodes!} |
855 | open={open} | 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 | onChange={handleAssignment} | 868 | onChange={handleAssignment} |
858 | limitTypes={limitTypes} | 869 | limitTypes={limitTypes} |
859 | subset={subset} | 870 | subset={subset} |
@@ -878,6 +889,7 @@ export interface ValueAssignmentPopupProps | @@ -878,6 +889,7 @@ export interface ValueAssignmentPopupProps | ||
878 | } | 889 | } |
879 | 890 | ||
880 | export interface QxBaseConditionItemProps { | 891 | export interface QxBaseConditionItemProps { |
892 | + showHeader?: boolean; | ||
881 | field: QxBaseConditionField; | 893 | field: QxBaseConditionField; |
882 | value?: any; | 894 | value?: any; |
883 | onChange?: (val: any) => void; | 895 | onChange?: (val: any) => void; |