Commit 4679f2efb6ac10afbad33f76c0da5542bb3b1950

Authored by qiang.tian
1 parent b48f7830

refactor: add showHeader

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