@bit-sun/business-component 4.2.0-alpha.10 → 4.2.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -2,7 +2,7 @@ import axios from 'axios';
2
2
  import request$1 from 'umi-request';
3
3
  import cookie from 'js-cookie';
4
4
  import { message as message$1, Tooltip, Image, Popover, Card, Avatar, Badge, Menu, Input, InputNumber, Space, Button, Dropdown, Upload, Checkbox, Modal, ConfigProvider, Tag, Select, Spin, Form, Table, Empty, Row, Col, Tabs, TreeSelect, DatePicker, Typography, Alert, Breadcrumb, Drawer as Drawer$1, List, Radio, Tree, Result, Affix, Cascader, TimePicker, Divider, Switch, Collapse } from 'antd';
5
- import _, { omit, uniqBy, escapeRegExp, isNil, cloneDeep, isEmpty, isBoolean, debounce, throttle } from 'lodash';
5
+ import _, { omit, uniqBy, escapeRegExp, isNil, isBoolean, debounce, cloneDeep as cloneDeep$1, throttle, isEmpty } from 'lodash';
6
6
  import memoizeOne from 'memoize-one';
7
7
  import { formatMessage, history, useLocation, Link, useModel, setLocale, useIntl, request as request$3 } from 'umi';
8
8
  import isEqual from 'lodash/isEqual';
@@ -21,7 +21,7 @@ import { SortableHandle, SortableElement, SortableContainer } from 'react-sortab
21
21
  import { arrayMoveImmutable } from 'array-move';
22
22
  import classNames from 'classnames';
23
23
  import ProLayout from '@ant-design/pro-layout';
24
- import cloneDeep$1 from 'lodash/cloneDeep';
24
+ import cloneDeep from 'lodash/cloneDeep';
25
25
  import debounce$1 from 'lodash/debounce';
26
26
  import { DndProvider, useDrop, useDrag } from 'react-dnd';
27
27
  import { HTML5Backend } from 'react-dnd-html5-backend';
@@ -5743,29 +5743,6 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
5743
5743
  removeListener();
5744
5744
  };
5745
5745
  }, [isModalVisible]);
5746
- var safeJSONParse = function safeJSONParse(str) {
5747
- try {
5748
- return JSON.parse(str);
5749
- } catch (error) {
5750
- console.warn('JSON解析失败:', error);
5751
- return null;
5752
- }
5753
- };
5754
- // 获取回显的value值 如果开启了搜索条件 则需要过滤掉搜索条件
5755
- var getShowValue = function getShowValue(value) {
5756
- var newValue = cloneDeep(value);
5757
- if (selectProps.useSearchCondition && newValue) {
5758
- // 回显的时候 把搜索项的内容去掉
5759
- if (selectMode) {
5760
- newValue = newValue.filter(function (item) {
5761
- var parsedItem = safeJSONParse(decodeURIComponent(item));
5762
- // 过滤掉JSON对象(搜索条件),保留非JSON数据(实际选择项)
5763
- return !parsedItem || !(parsedItem && _typeof(parsedItem) === 'object' && !Array.isArray(parsedItem));
5764
- });
5765
- }
5766
- }
5767
- return newValue;
5768
- };
5769
5746
  var showModal = function showModal() {
5770
5747
  if (sDisabled) return;
5771
5748
  setSelectOpen(false);
@@ -5775,13 +5752,12 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
5775
5752
  // 回显
5776
5753
  if (value) {
5777
5754
  if (selectMode) {
5778
- var newValue = getShowValue(value);
5779
- setSelectedRowKeys(labelInValue ? newValue.map(function (i) {
5755
+ setSelectedRowKeys(labelInValue ? value.map(function (i) {
5780
5756
  return i.key;
5781
- }) : newValue);
5782
- setSelectedRows(labelInValue ? newValue.map(function (i) {
5757
+ }) : value);
5758
+ setSelectedRows(labelInValue ? value.map(function (i) {
5783
5759
  return _defineProperty(_defineProperty(_defineProperty({}, mappingValueField, i.key), "value", i.key), "text", i.label);
5784
- }) : newValue.map(function (i) {
5760
+ }) : value.map(function (i) {
5785
5761
  return _defineProperty(_defineProperty({}, mappingValueField, i), "value", i);
5786
5762
  }));
5787
5763
  setPopValue(labelInValue ? value.map(function (i) {
@@ -5818,24 +5794,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
5818
5794
  formaData(selectedValue, source);
5819
5795
  } else {
5820
5796
  var formatResult = selectMode ? [] : null;
5821
- // 支持使用查询条件 筛选
5822
- if (selectProps.useSearchCondition) {
5823
- var formValue = form.getFieldsValue();
5824
- // 一次性处理数据转换和过滤
5825
- var processedFormValue = Object.keys(formValue).reduce(function (acc, key) {
5826
- var value = formValue[key];
5827
- // 过滤空值(确保trim函数存在)
5828
- var trimmedValue = typeof value === 'string' ? value.trim() : value;
5829
- if (trimmedValue && trimmedValue !== '') {
5830
- acc[key] = trimmedValue;
5831
- }
5832
- return acc;
5833
- }, {});
5834
- var result = JSON.stringify(processedFormValue);
5835
- onChange(isEmpty(processedFormValue) ? formatResult : selectMode ? [result] : result, selectedValue);
5836
- } else {
5837
- onChange(formatResult, selectedValue);
5838
- }
5797
+ onChange(formatResult, selectedValue);
5839
5798
  }
5840
5799
  };
5841
5800
  var handleOk = function handleOk() {
@@ -5865,7 +5824,7 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
5865
5824
  setConfirmLoading(false);
5866
5825
  });
5867
5826
  } else {
5868
- handleSelectOver(selectedRows.length ? popvalue : []);
5827
+ handleSelectOver(popvalue);
5869
5828
  handleCancel();
5870
5829
  }
5871
5830
  };
@@ -6491,25 +6450,9 @@ var SearchSelect = /*#__PURE__*/forwardRef(function (props, ref) {
6491
6450
  confirmLoading: confirmLoading,
6492
6451
  onOk: handleOk,
6493
6452
  onCancel: handleCancel,
6494
- footer: selectMode || (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.modalRadioNeedFooter) ? [selectProps.useSearchCondition ? (/*#__PURE__*/React$1.createElement("div", {
6495
- key: "instructions",
6496
- style: {
6497
- position: 'absolute',
6498
- width: 'calc(100% - 500px)',
6499
- textAlign: 'left'
6500
- }
6501
- }, /*#__PURE__*/React$1.createElement("div", null, "\u64CD\u4F5C\u8BF4\u660E\uFF1A\u7ED3\u679C\u96C6\u8FC7\u591A\u65F6\uFF0C\u53EF\u65E0\u9700\u9009\u62E9\u5177\u4F53\u6570\u636E\uFF0C\u7CFB\u7EDF\u5C06\u76F4\u63A5\u6309\u5DF2\u8BBE\u7B5B\u9009\u6761\u4EF6\u67E5\u8BE2"), /*#__PURE__*/React$1.createElement(Input, {
6502
- style: {
6503
- marginTop: '3px',
6504
- height: '22px'
6505
- },
6506
- value: value
6507
- }))) : /*#__PURE__*/React$1.createElement(React$1.Fragment, null), /*#__PURE__*/React$1.createElement(Button, {
6453
+ footer: selectMode || (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.modalRadioNeedFooter) ? [/*#__PURE__*/React$1.createElement(Button, {
6508
6454
  key: "back",
6509
- onClick: handleCancel,
6510
- style: {
6511
- margin: selectProps.useSearchCondition ? '10px 0' : 0
6512
- }
6455
+ onClick: handleCancel
6513
6456
  }, "\u53D6\u6D88"), /*#__PURE__*/React$1.createElement(Button, {
6514
6457
  key: "submit",
6515
6458
  type: "primary",
@@ -11742,7 +11685,8 @@ function commonFun(type, prefixUrl, parentProps) {
11742
11685
  label: '客户名称'
11743
11686
  }, {
11744
11687
  name: 'qp-code-like',
11745
- label: '客户编码'
11688
+ label: '客户编码',
11689
+ type: 'multipleQueryInput'
11746
11690
  }, {
11747
11691
  name: 'qp-createOrgCode-eq',
11748
11692
  type: 'select',
@@ -20272,7 +20216,7 @@ var searchMenuData = function searchMenuData(router, name, callBack) {
20272
20216
  }
20273
20217
  var btnAuth = JSON.parse(localStorage.getItem(getMenuAuthDataKey()) || '[]');
20274
20218
  var resultList = [];
20275
- var newRouter = cloneDeep$1(router);
20219
+ var newRouter = cloneDeep(router);
20276
20220
  var _deep = function deep(router) {
20277
20221
  if (router && Array.isArray(router)) {
20278
20222
  router.forEach(function (item) {
@@ -21213,7 +21157,7 @@ var GlobalHeaderCom = function GlobalHeaderCom(props) {
21213
21157
  };
21214
21158
  var initRoute = function initRoute(router, name) {
21215
21159
  var resultList = [];
21216
- var newRouter = cloneDeep(router);
21160
+ var newRouter = cloneDeep$1(router);
21217
21161
  var btnAuth = JSON.parse(localStorage.getItem(getMenuAuthDataKey()) || '[]');
21218
21162
  var _deep = function deep(router) {
21219
21163
  if (router && Array.isArray(router)) {
package/dist/index.js CHANGED
@@ -5766,29 +5766,6 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
5766
5766
  removeListener();
5767
5767
  };
5768
5768
  }, [isModalVisible]);
5769
- var safeJSONParse = function safeJSONParse(str) {
5770
- try {
5771
- return JSON.parse(str);
5772
- } catch (error) {
5773
- console.warn('JSON解析失败:', error);
5774
- return null;
5775
- }
5776
- };
5777
- // 获取回显的value值 如果开启了搜索条件 则需要过滤掉搜索条件
5778
- var getShowValue = function getShowValue(value) {
5779
- var newValue = _.cloneDeep(value);
5780
- if (selectProps.useSearchCondition && newValue) {
5781
- // 回显的时候 把搜索项的内容去掉
5782
- if (selectMode) {
5783
- newValue = newValue.filter(function (item) {
5784
- var parsedItem = safeJSONParse(decodeURIComponent(item));
5785
- // 过滤掉JSON对象(搜索条件),保留非JSON数据(实际选择项)
5786
- return !parsedItem || !(parsedItem && _typeof(parsedItem) === 'object' && !Array.isArray(parsedItem));
5787
- });
5788
- }
5789
- }
5790
- return newValue;
5791
- };
5792
5769
  var showModal = function showModal() {
5793
5770
  if (sDisabled) return;
5794
5771
  setSelectOpen(false);
@@ -5798,13 +5775,12 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
5798
5775
  // 回显
5799
5776
  if (value) {
5800
5777
  if (selectMode) {
5801
- var newValue = getShowValue(value);
5802
- setSelectedRowKeys(labelInValue ? newValue.map(function (i) {
5778
+ setSelectedRowKeys(labelInValue ? value.map(function (i) {
5803
5779
  return i.key;
5804
- }) : newValue);
5805
- setSelectedRows(labelInValue ? newValue.map(function (i) {
5780
+ }) : value);
5781
+ setSelectedRows(labelInValue ? value.map(function (i) {
5806
5782
  return _defineProperty(_defineProperty(_defineProperty({}, mappingValueField, i.key), "value", i.key), "text", i.label);
5807
- }) : newValue.map(function (i) {
5783
+ }) : value.map(function (i) {
5808
5784
  return _defineProperty(_defineProperty({}, mappingValueField, i), "value", i);
5809
5785
  }));
5810
5786
  setPopValue(labelInValue ? value.map(function (i) {
@@ -5841,24 +5817,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
5841
5817
  formaData(selectedValue, source);
5842
5818
  } else {
5843
5819
  var formatResult = selectMode ? [] : null;
5844
- // 支持使用查询条件 筛选
5845
- if (selectProps.useSearchCondition) {
5846
- var formValue = form.getFieldsValue();
5847
- // 一次性处理数据转换和过滤
5848
- var processedFormValue = Object.keys(formValue).reduce(function (acc, key) {
5849
- var value = formValue[key];
5850
- // 过滤空值(确保trim函数存在)
5851
- var trimmedValue = typeof value === 'string' ? value.trim() : value;
5852
- if (trimmedValue && trimmedValue !== '') {
5853
- acc[key] = trimmedValue;
5854
- }
5855
- return acc;
5856
- }, {});
5857
- var result = JSON.stringify(processedFormValue);
5858
- onChange(_.isEmpty(processedFormValue) ? formatResult : selectMode ? [result] : result, selectedValue);
5859
- } else {
5860
- onChange(formatResult, selectedValue);
5861
- }
5820
+ onChange(formatResult, selectedValue);
5862
5821
  }
5863
5822
  };
5864
5823
  var handleOk = function handleOk() {
@@ -5888,7 +5847,7 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
5888
5847
  setConfirmLoading(false);
5889
5848
  });
5890
5849
  } else {
5891
- handleSelectOver(selectedRows.length ? popvalue : []);
5850
+ handleSelectOver(popvalue);
5892
5851
  handleCancel();
5893
5852
  }
5894
5853
  };
@@ -6514,25 +6473,9 @@ var SearchSelect = /*#__PURE__*/React$1.forwardRef(function (props, ref) {
6514
6473
  confirmLoading: confirmLoading,
6515
6474
  onOk: handleOk,
6516
6475
  onCancel: handleCancel,
6517
- footer: selectMode || (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.modalRadioNeedFooter) ? [selectProps.useSearchCondition ? (/*#__PURE__*/React__default['default'].createElement("div", {
6518
- key: "instructions",
6519
- style: {
6520
- position: 'absolute',
6521
- width: 'calc(100% - 500px)',
6522
- textAlign: 'left'
6523
- }
6524
- }, /*#__PURE__*/React__default['default'].createElement("div", null, "\u64CD\u4F5C\u8BF4\u660E\uFF1A\u7ED3\u679C\u96C6\u8FC7\u591A\u65F6\uFF0C\u53EF\u65E0\u9700\u9009\u62E9\u5177\u4F53\u6570\u636E\uFF0C\u7CFB\u7EDF\u5C06\u76F4\u63A5\u6309\u5DF2\u8BBE\u7B5B\u9009\u6761\u4EF6\u67E5\u8BE2"), /*#__PURE__*/React__default['default'].createElement(antd.Input, {
6525
- style: {
6526
- marginTop: '3px',
6527
- height: '22px'
6528
- },
6529
- value: value
6530
- }))) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null), /*#__PURE__*/React__default['default'].createElement(antd.Button, {
6476
+ footer: selectMode || (modalTableProps === null || modalTableProps === void 0 ? void 0 : modalTableProps.modalRadioNeedFooter) ? [/*#__PURE__*/React__default['default'].createElement(antd.Button, {
6531
6477
  key: "back",
6532
- onClick: handleCancel,
6533
- style: {
6534
- margin: selectProps.useSearchCondition ? '10px 0' : 0
6535
- }
6478
+ onClick: handleCancel
6536
6479
  }, "\u53D6\u6D88"), /*#__PURE__*/React__default['default'].createElement(antd.Button, {
6537
6480
  key: "submit",
6538
6481
  type: "primary",
@@ -11765,7 +11708,8 @@ function commonFun(type, prefixUrl, parentProps) {
11765
11708
  label: '客户名称'
11766
11709
  }, {
11767
11710
  name: 'qp-code-like',
11768
- label: '客户编码'
11711
+ label: '客户编码',
11712
+ type: 'multipleQueryInput'
11769
11713
  }, {
11770
11714
  name: 'qp-createOrgCode-eq',
11771
11715
  type: 'select',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bit-sun/business-component",
3
- "version": "4.2.0-alpha.10",
3
+ "version": "4.2.0-alpha.11",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -1700,7 +1700,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
1700
1700
  }
1701
1701
  tableSearchForm = [
1702
1702
  { name: 'qp-name-like', label: '客户名称' },
1703
- { name: 'qp-code-like', label: '客户编码' },
1703
+ { name: 'qp-code-like', label: '客户编码', type: 'multipleQueryInput' },
1704
1704
  { name: 'qp-createOrgCode-eq', type: 'select', label: '创建组织', field: {
1705
1705
  type: 'select',
1706
1706
  props: {
@@ -4,7 +4,7 @@ import { useDebounceFn } from 'ahooks';
4
4
  import { Input, Button, Modal, Select, Divider, message, Spin, Form, Table, Checkbox, TreeSelect, Tooltip, Tag, Row, Col, Space, Tabs, Empty, DatePicker } from 'antd';
5
5
  import { SearchOutlined, CopyOutlined, CaretLeftOutlined } from '@ant-design/icons';
6
6
  import request from '@/utils/request';
7
- import _, { escapeRegExp, isNil, values, cloneDeep, isEmpty } from "lodash"
7
+ import _, { escapeRegExp, isNil, values } from "lodash"
8
8
  import './index.less';
9
9
  import { BusinessSearchSelect, QueryMutipleInput, QueryMutipleSearchSelect } from '@/index';
10
10
  import { handleSourceName, getFormRowInfo, hasMoreQueryFields, defaultVisibleFieldsCount, getRealStr, getTableHeigth, getCurrentSRKs, getRenderSource, handleParams, convertUrlQueryParams, convertBodyParams, formatSelectedValue, convertResData, makeUniqueValue, handleSelectOptionsShowValue, LightHeightOption, maxTagPlaceholder, getShowStr, handleTableColumns } from './utils';
@@ -362,30 +362,6 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
362
362
  };
363
363
  },[isModalVisible])
364
364
 
365
- const safeJSONParse = (str: string) => {
366
- try {
367
- return JSON.parse(str);
368
- } catch (error) {
369
- console.warn('JSON解析失败:', error);
370
- return null;
371
- }
372
- };
373
-
374
- // 获取回显的value值 如果开启了搜索条件 则需要过滤掉搜索条件
375
- const getShowValue = (value: any) => {
376
- let newValue = cloneDeep(value);
377
- if(selectProps.useSearchCondition && newValue) {
378
- // 回显的时候 把搜索项的内容去掉
379
- if(selectMode) {
380
- newValue = newValue.filter((item: any) => {
381
- const parsedItem = safeJSONParse(decodeURIComponent(item));
382
- // 过滤掉JSON对象(搜索条件),保留非JSON数据(实际选择项)
383
- return !parsedItem || !(parsedItem && typeof parsedItem === 'object' && !Array.isArray(parsedItem));
384
- });
385
- }
386
- }
387
- return newValue;
388
- }
389
365
  const showModal = () => {
390
366
  if(sDisabled) return;
391
367
 
@@ -397,9 +373,8 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
397
373
  // 回显
398
374
  if (value) {
399
375
  if (selectMode) {
400
- const newValue = getShowValue(value);
401
- setSelectedRowKeys(labelInValue ? newValue.map(i => i.key) : newValue)
402
- setSelectedRows(labelInValue ? newValue.map(i => ({ [mappingValueField]: i.key, value: i.key, text: i.label })) : newValue.map(i => ({ [mappingValueField]: i, value: i })))
376
+ setSelectedRowKeys(labelInValue ? value.map(i => i.key) : value)
377
+ setSelectedRows(labelInValue ? value.map(i => ({ [mappingValueField]: i.key, value: i.key, text: i.label })) : value.map(i => ({ [mappingValueField]: i, value: i })))
403
378
  setPopValue(labelInValue ? value.map(i => ({ value: i.key, text: i.label })) : value.map(i => ({ value: i })));
404
379
  setIndeterminate(!!value.length && value.length < itemsTotal);
405
380
  setCheckedAll(itemsTotal && value.length === itemsTotal);
@@ -420,25 +395,8 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
420
395
  setSelectDataSource(source,source?.length)
421
396
  formaData(selectedValue, source);
422
397
  } else {
423
- var formatResult = selectMode ? [] : null;
424
- // 支持使用查询条件 筛选
425
- if (selectProps.useSearchCondition) {
426
- var formValue = form.getFieldsValue();
427
- // 一次性处理数据转换和过滤
428
- var processedFormValue = Object.keys(formValue).reduce(function (acc, key) {
429
- var value = formValue[key];
430
- // 过滤空值(确保trim函数存在)
431
- var trimmedValue = typeof value === 'string' ? value.trim() : value;
432
- if (trimmedValue && trimmedValue !== '') {
433
- acc[key] = trimmedValue;
434
- }
435
- return acc;
436
- }, {});
437
- const result = JSON.stringify(processedFormValue)
438
- onChange(isEmpty(processedFormValue) ? formatResult : selectMode ? [result] : result, selectedValue);
439
- } else {
440
- onChange(formatResult, selectedValue);
441
- }
398
+ const formatResult = selectMode ? [] : null
399
+ onChange(formatResult, selectedValue)
442
400
  }
443
401
  }
444
402
  const handleOk = () => {
@@ -468,7 +426,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
468
426
  setConfirmLoading(false)
469
427
  })
470
428
  } else {
471
- handleSelectOver(selectedRows.length ? popvalue : [])
429
+ handleSelectOver(popvalue)
472
430
  handleCancel();
473
431
  }
474
432
  };
@@ -976,20 +934,7 @@ const SearchSelect = forwardRef((props: any, ref: any) => {
976
934
  footer={
977
935
  selectMode || modalTableProps?.modalRadioNeedFooter
978
936
  ? [
979
- selectProps.useSearchCondition ? (
980
- <div
981
- key="instructions"
982
- style={{
983
- position: 'absolute',
984
- width: 'calc(100% - 500px)',
985
- textAlign: 'left'
986
- }}
987
- >
988
- <div>操作说明:结果集过多时,可无需选择具体数据,系统将直接按已设筛选条件查询</div>
989
- <Input style={{marginTop: '3px', height: '22px'}} value={value} />
990
- </div>
991
- ) : <></>,
992
- <Button key="back" onClick={handleCancel} style={{margin: selectProps.useSearchCondition ? '10px 0' : 0}}>
937
+ <Button key="back" onClick={handleCancel}>
993
938
  取消
994
939
  </Button>,
995
940
  <Button