@pisell/materials 3.2.27 → 3.2.28

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.
Files changed (79) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/meta.js +1 -1
  5. package/build/lowcode/render/default/view.css +1 -1
  6. package/build/lowcode/render/default/view.js +17 -17
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +18 -18
  9. package/es/components/productCard/components/MultiDay/index.d.ts +0 -1
  10. package/es/components/productCard/components/Time/components/SelectHolder/index.d.ts +1 -1
  11. package/es/components/productCard/components/Time/components/SelectHolder/index.js +40 -3
  12. package/es/components/productCard/components/Time/components/SelectResource/index.d.ts +1 -2
  13. package/es/components/productCard/components/Time/components/SelectResource/index.js +20 -3
  14. package/es/components/productCard/components/Time/index.d.ts +1 -1
  15. package/es/components/productCard/components/Time/index.js +55 -24
  16. package/es/components/productCard/components/Time/index.less +12 -0
  17. package/es/components/productCard/index.js +2 -1
  18. package/es/components/productCard/utils.js +2 -2
  19. package/lib/components/productCard/components/MultiDay/index.d.ts +0 -1
  20. package/lib/components/productCard/components/Time/components/SelectHolder/index.d.ts +1 -1
  21. package/lib/components/productCard/components/Time/components/SelectHolder/index.js +30 -4
  22. package/lib/components/productCard/components/Time/components/SelectResource/index.d.ts +1 -2
  23. package/lib/components/productCard/components/Time/components/SelectResource/index.js +3 -2
  24. package/lib/components/productCard/components/Time/index.d.ts +1 -1
  25. package/lib/components/productCard/components/Time/index.js +57 -17
  26. package/lib/components/productCard/components/Time/index.less +12 -0
  27. package/lib/components/productCard/index.js +2 -1
  28. package/lib/components/productCard/utils.js +2 -2
  29. package/package.json +1 -1
  30. package/es/components/appVersionControl/index.d.ts +0 -4
  31. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -38
  32. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +0 -97
  33. package/es/components/dataSourceComponents/dataSourceTable/type.d.ts +0 -78
  34. package/es/components/drag-sort-tree/index.d.ts +0 -4
  35. package/es/components/login-and-register/index.d.ts +0 -82
  36. package/es/components/pisell-config-provider/index.d.ts +0 -12
  37. package/es/components/pisellCardList/index.d.ts +0 -43
  38. package/es/components/pisellCheckboxGroup/index.d.ts +0 -34
  39. package/es/components/pisellEmpty/index.d.ts +0 -19
  40. package/es/components/pisellInformationEntry/index.d.ts +0 -31
  41. package/es/components/pisellWalletPassCard/index.d.ts +0 -55
  42. package/es/components/table/Actions/component/ExportImport/index.d.ts +0 -7
  43. package/es/components/table/Gallery/components/GalleryItem/index.d.ts +0 -14
  44. package/es/components/table/Gallery/index.d.ts +0 -5
  45. package/es/components/table/Table/index.d.ts +0 -4
  46. package/es/components/table/Table/utils.d.ts +0 -161
  47. package/es/components/table/hooks/useTableSetting.d.ts +0 -22
  48. package/es/components/table/hooks/useTransDataSource.d.ts +0 -11
  49. package/es/components/table/types.d.ts +0 -251
  50. package/es/components/versionModal/index.d.ts +0 -23
  51. package/es/index.d.ts +0 -141
  52. package/es/locales/en-US.d.ts +0 -266
  53. package/es/locales/zh-CN.d.ts +0 -261
  54. package/es/locales/zh-TW.d.ts +0 -261
  55. package/lib/components/appVersionControl/index.d.ts +0 -4
  56. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -38
  57. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +0 -97
  58. package/lib/components/dataSourceComponents/dataSourceTable/type.d.ts +0 -78
  59. package/lib/components/drag-sort-tree/index.d.ts +0 -4
  60. package/lib/components/login-and-register/index.d.ts +0 -82
  61. package/lib/components/pisell-config-provider/index.d.ts +0 -12
  62. package/lib/components/pisellCardList/index.d.ts +0 -43
  63. package/lib/components/pisellCheckboxGroup/index.d.ts +0 -34
  64. package/lib/components/pisellEmpty/index.d.ts +0 -19
  65. package/lib/components/pisellInformationEntry/index.d.ts +0 -31
  66. package/lib/components/pisellWalletPassCard/index.d.ts +0 -55
  67. package/lib/components/table/Actions/component/ExportImport/index.d.ts +0 -7
  68. package/lib/components/table/Gallery/components/GalleryItem/index.d.ts +0 -14
  69. package/lib/components/table/Gallery/index.d.ts +0 -5
  70. package/lib/components/table/Table/index.d.ts +0 -4
  71. package/lib/components/table/Table/utils.d.ts +0 -161
  72. package/lib/components/table/hooks/useTableSetting.d.ts +0 -22
  73. package/lib/components/table/hooks/useTransDataSource.d.ts +0 -11
  74. package/lib/components/table/types.d.ts +0 -251
  75. package/lib/components/versionModal/index.d.ts +0 -23
  76. package/lib/index.d.ts +0 -141
  77. package/lib/locales/en-US.d.ts +0 -266
  78. package/lib/locales/zh-CN.d.ts +0 -261
  79. package/lib/locales/zh-TW.d.ts +0 -261
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const MultiDay: ({ dataSource, hideDivider }: any) => JSX.Element;
4
3
  export default MultiDay;
@@ -1,3 +1,3 @@
1
1
  import './index.less';
2
- declare const SelectHolder: ({ lists, value, onChange, holderMode }: any) => JSX.Element;
2
+ declare const SelectHolder: ({ lists, value, onChange, holderMode, isShowAddHolderButton, onAddHolder, }: any) => JSX.Element;
3
3
  export default SelectHolder;
@@ -5,13 +5,16 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
5
5
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  import React, { useCallback, useEffect, useState } from 'react';
8
- import { Select } from 'antd';
8
+ import { Select, Divider, Button } from 'antd';
9
+ import { PlusOutlined } from '@ant-design/icons';
9
10
  import "./index.less";
10
11
  var SelectHolder = function SelectHolder(_ref) {
11
12
  var lists = _ref.lists,
12
13
  value = _ref.value,
13
14
  _onChange = _ref.onChange,
14
- holderMode = _ref.holderMode;
15
+ holderMode = _ref.holderMode,
16
+ isShowAddHolderButton = _ref.isShowAddHolderButton,
17
+ onAddHolder = _ref.onAddHolder;
15
18
  var _useState = useState(),
16
19
  _useState2 = _slicedToArray(_useState, 2),
17
20
  selectedValue = _useState2[0],
@@ -36,6 +39,20 @@ var SelectHolder = function SelectHolder(_ref) {
36
39
  }, d['label']);
37
40
  });
38
41
  }, [lists]);
42
+
43
+ /**
44
+ * @title: 点击添加holder事件
45
+ * @description:
46
+ * @param {Event} e
47
+ * @return {*}
48
+ * @Author: WangHan
49
+ * @Date: 2025-04-26 10:39
50
+ */
51
+ var addItem = function addItem(e) {
52
+ e.preventDefault();
53
+ e.stopPropagation();
54
+ onAddHolder();
55
+ };
39
56
  return /*#__PURE__*/React.createElement("div", {
40
57
  className: "pisell-lowcode-product-card-select-holder"
41
58
  }, /*#__PURE__*/React.createElement(Select, {
@@ -49,7 +66,27 @@ var SelectHolder = function SelectHolder(_ref) {
49
66
  return d.id === val;
50
67
  });
51
68
  _onChange(item);
69
+ },
70
+ options: lists.map(function (item) {
71
+ return {
72
+ label: item === null || item === void 0 ? void 0 : item.label,
73
+ value: item === null || item === void 0 ? void 0 : item.id
74
+ };
75
+ }),
76
+ dropdownRender: function dropdownRender(menu) {
77
+ return /*#__PURE__*/React.createElement(React.Fragment, null, menu, isShowAddHolderButton ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
78
+ style: {
79
+ margin: '8px 0'
80
+ }
81
+ }), /*#__PURE__*/React.createElement(Button, {
82
+ type: "text",
83
+ icon: /*#__PURE__*/React.createElement(PlusOutlined, null),
84
+ onClick: addItem,
85
+ style: {
86
+ width: '100%'
87
+ }
88
+ }, "Add item")) : null);
52
89
  }
53
- }, renderOptions()));
90
+ }));
54
91
  };
55
92
  export default SelectHolder;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
- declare const SelectResource: ({ lists, value, onChange }: any) => JSX.Element;
1
+ declare const SelectResource: ({ lists, value, onChange, ...props }: any) => JSX.Element;
3
2
  export default SelectResource;
@@ -1,15 +1,21 @@
1
+ var _excluded = ["lists", "value", "onChange"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
5
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
6
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
7
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
11
  import React, { useCallback, useEffect, useState } from 'react';
12
+ import AlertTriangle from '@pisell/icon/es/AlertTriangle';
8
13
  import { Select } from 'antd';
9
14
  var SelectResource = function SelectResource(_ref) {
10
15
  var lists = _ref.lists,
11
16
  value = _ref.value,
12
- _onChange = _ref.onChange;
17
+ _onChange = _ref.onChange,
18
+ props = _objectWithoutProperties(_ref, _excluded);
13
19
  var _useState = useState(),
14
20
  _useState2 = _slicedToArray(_useState, 2),
15
21
  selectedValue = _useState2[0],
@@ -28,10 +34,21 @@ var SelectResource = function SelectResource(_ref) {
28
34
  */
29
35
  var renderOptions = useCallback(function () {
30
36
  return (lists || []).map(function (d) {
31
- return /*#__PURE__*/React.createElement(Select.Option, {
37
+ return /*#__PURE__*/React.createElement(Select.Option, _extends({
32
38
  value: d.id,
33
39
  key: d.id
34
- }, d['label']);
40
+ }, d || {}), /*#__PURE__*/React.createElement("div", {
41
+ style: {
42
+ display: 'flex',
43
+ alignItems: 'center',
44
+ gap: '8px'
45
+ }
46
+ }, /*#__PURE__*/React.createElement("span", null, d['label']), d !== null && d !== void 0 && d.isError ? /*#__PURE__*/React.createElement(AlertTriangle, {
47
+ style: {
48
+ color: '#b42318',
49
+ cursor: 'pointer'
50
+ }
51
+ }) : null));
35
52
  });
36
53
  }, [lists]);
37
54
  return /*#__PURE__*/React.createElement(Select, {
@@ -1,3 +1,3 @@
1
1
  import './index.less';
2
- declare const Time: ({ item, isShowHolder, onLike, isShowChangeResource, changeResource, changeHolder, isShowChangeHolder, holderMode, }: any) => JSX.Element | null;
2
+ declare const Time: ({ item, isShowHolder, onLike, isShowChangeResource, changeResource, changeHolder, isShowChangeHolder, holderMode, onAddHolder, }: any) => JSX.Element | null;
3
3
  export default Time;
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
6
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- import React, { useMemo } from 'react';
7
+ import React, { useCallback, useMemo } from 'react';
8
8
  import { getServiceTime } from "../../utils";
9
9
  import Divider from "../Divider";
10
10
  import Like from "./components/Like";
@@ -20,7 +20,8 @@ var Time = function Time(_ref) {
20
20
  changeResource = _ref.changeResource,
21
21
  changeHolder = _ref.changeHolder,
22
22
  isShowChangeHolder = _ref.isShowChangeHolder,
23
- holderMode = _ref.holderMode;
23
+ holderMode = _ref.holderMode,
24
+ onAddHolder = _ref.onAddHolder;
24
25
  var start_date = item.start_date,
25
26
  end_date = item.end_date,
26
27
  holder_title = item.holder_title,
@@ -30,7 +31,9 @@ var Time = function Time(_ref) {
30
31
  resources = item.resources,
31
32
  is_hide_like = item.is_hide_like,
32
33
  holder_id = item.holder_id,
33
- holders = item.holders;
34
+ holders = item.holders,
35
+ multiResources = item.multiResources,
36
+ isShowAddHolderButton = item.isShowAddHolderButton;
34
37
  var isShow = useMemo(function () {
35
38
  return start_date && end_date || isShowHolder && holder_title || resource_id || relation_form_name || isShowChangeResource;
36
39
  }, [start_date, isShowHolder, holder_title, resource_id]);
@@ -43,7 +46,9 @@ var Time = function Time(_ref) {
43
46
  lists: holders,
44
47
  value: holder_id,
45
48
  onChange: changeHolder,
46
- holderMode: holderMode
49
+ holderMode: holderMode,
50
+ isShowAddHolderButton: true,
51
+ onAddHolder: onAddHolder
47
52
  });
48
53
  }
49
54
  if (holder_title) {
@@ -51,31 +56,57 @@ var Time = function Time(_ref) {
51
56
  className: "".concat(prefix, "product-holder-wrap")
52
57
  }, holder_title);
53
58
  }
54
- }, [isShowHolder, holder_id, holder_title, holderMode, holders]);
59
+ }, [isShowHolder, holder_id, holder_title, holderMode, holders, isShowAddHolderButton]);
60
+ var likeCom = useCallback(function (status, item) {
61
+ return /*#__PURE__*/React.createElement(Like, {
62
+ style: {
63
+ marginRight: 4
64
+ },
65
+ status: status,
66
+ onLike: function onLike(e) {
67
+ _onLike(_objectSpread(_objectSpread({}, item), {}, {
68
+ like_status: e
69
+ }));
70
+ }
71
+ });
72
+ }, []);
73
+ var resourceCom = useCallback(function (item) {
74
+ if (!isShowChangeResource) {
75
+ return item === null || item === void 0 ? void 0 : item.name;
76
+ }
77
+ return /*#__PURE__*/React.createElement(SelectResource, {
78
+ lists: item === null || item === void 0 ? void 0 : item.lists,
79
+ value: item === null || item === void 0 ? void 0 : item.id,
80
+ allowClear: item === null || item === void 0 ? void 0 : item.allowClear,
81
+ onChange: changeResource
82
+ });
83
+ }, []);
84
+ var likeAndResourceCom = useMemo(function () {
85
+ if ((multiResources === null || multiResources === void 0 ? void 0 : multiResources.length) > 0) {
86
+ return multiResources.map(function (resourceItem) {
87
+ return /*#__PURE__*/React.createElement("div", {
88
+ key: resourceItem === null || resourceItem === void 0 ? void 0 : resourceItem.id
89
+ }, resourceItem !== null && resourceItem !== void 0 && resourceItem.id && !is_hide_like ? /*#__PURE__*/React.createElement("div", {
90
+ className: "".concat(prefix, "product-card-like-wrap")
91
+ }, likeCom(resourceItem === null || resourceItem === void 0 ? void 0 : resourceItem.status, resourceItem)) : null, resourceCom(resourceItem));
92
+ });
93
+ }
94
+ return /*#__PURE__*/React.createElement(React.Fragment, null, resource_id && !is_hide_like ? /*#__PURE__*/React.createElement("div", {
95
+ className: "".concat(prefix, "product-card-like-wrap")
96
+ }, likeCom(like_status, item)) : null, resourceCom({
97
+ name: relation_form_name,
98
+ id: resource_id,
99
+ lists: resources
100
+ }));
101
+ }, [multiResources, resource_id, resources, relation_form_name, is_hide_like]);
55
102
  return isShow ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement("div", {
56
103
  className: "".concat(prefix, "product-time-wrap")
57
104
  }, start_date && end_date ? /*#__PURE__*/React.createElement("div", {
58
105
  className: "".concat(prefix, "product-date")
59
106
  }, getServiceTime(item, start_date)) : null, holderCom, isShowChangeResource && (start_date && end_date || isShowHolder && holder_title) ? /*#__PURE__*/React.createElement(Divider, {
60
107
  type: "inside"
61
- }) : null, resource_id || relation_form_name || isShowChangeResource ? /*#__PURE__*/React.createElement("div", {
62
- className: "".concat(prefix, "product-technician ").concat(isShowChangeResource ? 'pisell-lowcode-change-resource' : '')
63
- }, resource_id && !is_hide_like ? /*#__PURE__*/React.createElement("div", {
64
- className: "".concat(prefix, "product-card-like-wrap")
65
- }, /*#__PURE__*/React.createElement(Like, {
66
- style: {
67
- marginRight: 4
68
- },
69
- status: like_status,
70
- onLike: function onLike(e) {
71
- _onLike(_objectSpread(_objectSpread({}, item), {}, {
72
- like_status: e
73
- }));
74
- }
75
- })) : null, isShowChangeResource ? /*#__PURE__*/React.createElement(SelectResource, {
76
- lists: resources,
77
- value: resource_id,
78
- onChange: changeResource
79
- }) : relation_form_name) : null)) : null;
108
+ }) : null, likeAndResourceCom ? /*#__PURE__*/React.createElement("div", {
109
+ className: "".concat(prefix, "product-technician ").concat(isShowChangeResource ? 'pisell-lowcode-change-resource' : '', " ").concat((multiResources === null || multiResources === void 0 ? void 0 : multiResources.length) > 0 ? 'pisell-lowcode-multi-resources' : '')
110
+ }, likeAndResourceCom) : null)) : null;
80
111
  };
81
112
  export default Time;
@@ -33,6 +33,18 @@
33
33
  align-items: center;
34
34
  }
35
35
 
36
+ &-multi-resources {
37
+ flex-direction: column;
38
+ align-items: start !important;
39
+ > div {
40
+ flex: 1;
41
+ display: flex;
42
+ align-items: center;
43
+ gap: 10px;
44
+ width: 100%;
45
+ }
46
+ }
47
+
36
48
  &-product-card-like-wrap {
37
49
  display: flex;
38
50
  justify-content: center;
@@ -122,7 +122,8 @@ var ProductCard = function ProductCard(props) {
122
122
  return _onLike === null || _onLike === void 0 ? void 0 : _onLike(item);
123
123
  },
124
124
  changeResource: onChangeResource,
125
- changeHolder: onChangeHolder
125
+ changeHolder: onChangeHolder,
126
+ onAddHolder: other === null || other === void 0 ? void 0 : other.onAddHolder
126
127
  }), /*#__PURE__*/React.createElement(Packages, {
127
128
  item: dataSource,
128
129
  isShowPackageNote: isShowPackageNote
@@ -79,8 +79,8 @@ export var getServiceTime = function getServiceTime(item, currentDate) {
79
79
 
80
80
  // 是否显示时间
81
81
  if (item !== null && item !== void 0 && item.show_time) {
82
- startDate = dayjs("".concat(item === null || item === void 0 ? void 0 : item.start_date, " ").concat(item === null || item === void 0 ? void 0 : item.start_time));
83
- endDate = dayjs("".concat(item === null || item === void 0 ? void 0 : item.end_date, " ").concat(item === null || item === void 0 ? void 0 : item.end_time));
82
+ startDate = dayjs(item !== null && item !== void 0 && item.start_time ? "".concat(item === null || item === void 0 ? void 0 : item.start_date, " ").concat(item === null || item === void 0 ? void 0 : item.start_time) : startDate.format('YYYY-MM-DD HH:mm'));
83
+ endDate = dayjs(item !== null && item !== void 0 && item.end_time ? "".concat(item === null || item === void 0 ? void 0 : item.end_date, " ").concat(item === null || item === void 0 ? void 0 : item.end_time) : endDate.format('YYYY-MM-DD HH:mm'));
84
84
  }
85
85
 
86
86
  // 显示时长分钟
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  declare const MultiDay: ({ dataSource, hideDivider }: any) => JSX.Element;
4
3
  export default MultiDay;
@@ -1,3 +1,3 @@
1
1
  import './index.less';
2
- declare const SelectHolder: ({ lists, value, onChange, holderMode }: any) => JSX.Element;
2
+ declare const SelectHolder: ({ lists, value, onChange, holderMode, isShowAddHolderButton, onAddHolder, }: any) => JSX.Element;
3
3
  export default SelectHolder;
@@ -34,8 +34,16 @@ __export(SelectHolder_exports, {
34
34
  module.exports = __toCommonJS(SelectHolder_exports);
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_antd = require("antd");
37
+ var import_icons = require("@ant-design/icons");
37
38
  var import_index = require("./index.less");
38
- var SelectHolder = ({ lists, value, onChange, holderMode }) => {
39
+ var SelectHolder = ({
40
+ lists,
41
+ value,
42
+ onChange,
43
+ holderMode,
44
+ isShowAddHolderButton,
45
+ onAddHolder
46
+ }) => {
39
47
  const [selectedValue, setSelectedValue] = (0, import_react.useState)();
40
48
  (0, import_react.useEffect)(() => {
41
49
  setSelectedValue(value);
@@ -45,6 +53,11 @@ var SelectHolder = ({ lists, value, onChange, holderMode }) => {
45
53
  return /* @__PURE__ */ import_react.default.createElement(import_antd.Select.Option, { value: d.id, key: d.id }, d["label"]);
46
54
  });
47
55
  }, [lists]);
56
+ const addItem = (e) => {
57
+ e.preventDefault();
58
+ e.stopPropagation();
59
+ onAddHolder();
60
+ };
48
61
  return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-product-card-select-holder" }, /* @__PURE__ */ import_react.default.createElement(
49
62
  import_antd.Select,
50
63
  {
@@ -56,9 +69,22 @@ var SelectHolder = ({ lists, value, onChange, holderMode }) => {
56
69
  setSelectedValue(val);
57
70
  const item = lists.find((d) => d.id === val);
58
71
  onChange(item);
59
- }
60
- },
61
- renderOptions()
72
+ },
73
+ options: lists.map((item) => ({
74
+ label: item == null ? void 0 : item.label,
75
+ value: item == null ? void 0 : item.id
76
+ })),
77
+ dropdownRender: (menu) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, menu, isShowAddHolderButton ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_antd.Divider, { style: { margin: "8px 0" } }), /* @__PURE__ */ import_react.default.createElement(
78
+ import_antd.Button,
79
+ {
80
+ type: "text",
81
+ icon: /* @__PURE__ */ import_react.default.createElement(import_icons.PlusOutlined, null),
82
+ onClick: addItem,
83
+ style: { width: "100%" }
84
+ },
85
+ "Add item"
86
+ )) : null)
87
+ }
62
88
  ));
63
89
  };
64
90
  var SelectHolder_default = SelectHolder;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
- declare const SelectResource: ({ lists, value, onChange }: any) => JSX.Element;
1
+ declare const SelectResource: ({ lists, value, onChange, ...props }: any) => JSX.Element;
3
2
  export default SelectResource;
@@ -33,15 +33,16 @@ __export(SelectResource_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(SelectResource_exports);
35
35
  var import_react = __toESM(require("react"));
36
+ var import_AlertTriangle = __toESM(require("@pisell/icon/es/AlertTriangle"));
36
37
  var import_antd = require("antd");
37
- var SelectResource = ({ lists, value, onChange }) => {
38
+ var SelectResource = ({ lists, value, onChange, ...props }) => {
38
39
  const [selectedValue, setSelectedValue] = (0, import_react.useState)();
39
40
  (0, import_react.useEffect)(() => {
40
41
  setSelectedValue(value);
41
42
  }, [value]);
42
43
  const renderOptions = (0, import_react.useCallback)(() => {
43
44
  return (lists || []).map((d) => {
44
- return /* @__PURE__ */ import_react.default.createElement(import_antd.Select.Option, { value: d.id, key: d.id }, d["label"]);
45
+ return /* @__PURE__ */ import_react.default.createElement(import_antd.Select.Option, { value: d.id, key: d.id, ...d || {} }, /* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: "8px" } }, /* @__PURE__ */ import_react.default.createElement("span", null, d["label"]), (d == null ? void 0 : d.isError) ? /* @__PURE__ */ import_react.default.createElement(import_AlertTriangle.default, { style: { color: "#b42318", cursor: "pointer" } }) : null));
45
46
  });
46
47
  }, [lists]);
47
48
  return /* @__PURE__ */ import_react.default.createElement(
@@ -1,3 +1,3 @@
1
1
  import './index.less';
2
- declare const Time: ({ item, isShowHolder, onLike, isShowChangeResource, changeResource, changeHolder, isShowChangeHolder, holderMode, }: any) => JSX.Element | null;
2
+ declare const Time: ({ item, isShowHolder, onLike, isShowChangeResource, changeResource, changeHolder, isShowChangeHolder, holderMode, onAddHolder, }: any) => JSX.Element | null;
3
3
  export default Time;
@@ -48,7 +48,8 @@ var Time = ({
48
48
  changeResource,
49
49
  changeHolder,
50
50
  isShowChangeHolder,
51
- holderMode
51
+ holderMode,
52
+ onAddHolder
52
53
  }) => {
53
54
  const {
54
55
  start_date,
@@ -60,7 +61,10 @@ var Time = ({
60
61
  resources,
61
62
  is_hide_like,
62
63
  holder_id,
63
- holders
64
+ holders,
65
+ // 多个资源数据
66
+ multiResources,
67
+ isShowAddHolderButton
64
68
  } = item;
65
69
  const isShow = (0, import_react.useMemo)(() => {
66
70
  return start_date && end_date || isShowHolder && holder_title || resource_id || relation_form_name || isShowChangeResource;
@@ -74,40 +78,76 @@ var Time = ({
74
78
  lists: holders,
75
79
  value: holder_id,
76
80
  onChange: changeHolder,
77
- holderMode
81
+ holderMode,
82
+ isShowAddHolderButton: true,
83
+ onAddHolder
78
84
  }
79
85
  );
80
86
  }
81
87
  if (holder_title) {
82
88
  return /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-holder-wrap` }, holder_title);
83
89
  }
84
- }, [isShowHolder, holder_id, holder_title, holderMode, holders]);
85
- return isShow ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Divider.default, null), /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-time-wrap` }, start_date && end_date ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-date` }, (0, import_utils.getServiceTime)(item, start_date)) : null, holderCom, isShowChangeResource && (start_date && end_date || isShowHolder && holder_title) ? /* @__PURE__ */ import_react.default.createElement(import_Divider.default, { type: "inside" }) : null, resource_id || relation_form_name || isShowChangeResource ? /* @__PURE__ */ import_react.default.createElement(
86
- "div",
87
- {
88
- className: `${prefix}product-technician ${isShowChangeResource ? "pisell-lowcode-change-resource" : ""}`
89
- },
90
- resource_id && !is_hide_like ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-card-like-wrap` }, /* @__PURE__ */ import_react.default.createElement(
90
+ }, [
91
+ isShowHolder,
92
+ holder_id,
93
+ holder_title,
94
+ holderMode,
95
+ holders,
96
+ isShowAddHolderButton
97
+ ]);
98
+ const likeCom = (0, import_react.useCallback)((status, item2) => {
99
+ return /* @__PURE__ */ import_react.default.createElement(
91
100
  import_Like.default,
92
101
  {
93
102
  style: { marginRight: 4 },
94
- status: like_status,
103
+ status,
95
104
  onLike: (e) => {
96
105
  onLike({
97
- ...item,
106
+ ...item2,
98
107
  like_status: e
99
108
  });
100
109
  }
101
110
  }
102
- )) : null,
103
- isShowChangeResource ? /* @__PURE__ */ import_react.default.createElement(
111
+ );
112
+ }, []);
113
+ const resourceCom = (0, import_react.useCallback)((item2) => {
114
+ if (!isShowChangeResource) {
115
+ return item2 == null ? void 0 : item2.name;
116
+ }
117
+ return /* @__PURE__ */ import_react.default.createElement(
104
118
  import_SelectResource.default,
105
119
  {
106
- lists: resources,
107
- value: resource_id,
120
+ lists: item2 == null ? void 0 : item2.lists,
121
+ value: item2 == null ? void 0 : item2.id,
122
+ allowClear: item2 == null ? void 0 : item2.allowClear,
108
123
  onChange: changeResource
109
124
  }
110
- ) : relation_form_name
125
+ );
126
+ }, []);
127
+ const likeAndResourceCom = (0, import_react.useMemo)(() => {
128
+ if ((multiResources == null ? void 0 : multiResources.length) > 0) {
129
+ return multiResources.map((resourceItem) => {
130
+ return /* @__PURE__ */ import_react.default.createElement("div", { key: resourceItem == null ? void 0 : resourceItem.id }, (resourceItem == null ? void 0 : resourceItem.id) && !is_hide_like ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-card-like-wrap` }, likeCom(resourceItem == null ? void 0 : resourceItem.status, resourceItem)) : null, resourceCom(resourceItem));
131
+ });
132
+ }
133
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, resource_id && !is_hide_like ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-card-like-wrap` }, likeCom(like_status, item)) : null, resourceCom({
134
+ name: relation_form_name,
135
+ id: resource_id,
136
+ lists: resources
137
+ }));
138
+ }, [
139
+ multiResources,
140
+ resource_id,
141
+ resources,
142
+ relation_form_name,
143
+ is_hide_like
144
+ ]);
145
+ return isShow ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Divider.default, null), /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-time-wrap` }, start_date && end_date ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}product-date` }, (0, import_utils.getServiceTime)(item, start_date)) : null, holderCom, isShowChangeResource && (start_date && end_date || isShowHolder && holder_title) ? /* @__PURE__ */ import_react.default.createElement(import_Divider.default, { type: "inside" }) : null, likeAndResourceCom ? /* @__PURE__ */ import_react.default.createElement(
146
+ "div",
147
+ {
148
+ className: `${prefix}product-technician ${isShowChangeResource ? "pisell-lowcode-change-resource" : ""} ${(multiResources == null ? void 0 : multiResources.length) > 0 ? "pisell-lowcode-multi-resources" : ""}`
149
+ },
150
+ likeAndResourceCom
111
151
  ) : null)) : null;
112
152
  };
113
153
  var Time_default = Time;
@@ -33,6 +33,18 @@
33
33
  align-items: center;
34
34
  }
35
35
 
36
+ &-multi-resources {
37
+ flex-direction: column;
38
+ align-items: start !important;
39
+ > div {
40
+ flex: 1;
41
+ display: flex;
42
+ align-items: center;
43
+ gap: 10px;
44
+ width: 100%;
45
+ }
46
+ }
47
+
36
48
  &-product-card-like-wrap {
37
49
  display: flex;
38
50
  justify-content: center;
@@ -140,7 +140,8 @@ var ProductCard = (props) => {
140
140
  holderMode: other == null ? void 0 : other.holderMode,
141
141
  onLike: (item) => onLike == null ? void 0 : onLike(item),
142
142
  changeResource: onChangeResource,
143
- changeHolder: onChangeHolder
143
+ changeHolder: onChangeHolder,
144
+ onAddHolder: other == null ? void 0 : other.onAddHolder
144
145
  }
145
146
  ),
146
147
  /* @__PURE__ */ import_react.default.createElement(import_Packages.default, { item: dataSource, isShowPackageNote }),
@@ -80,8 +80,8 @@ var getServiceTime = (item, currentDate) => {
80
80
  _format = isEn2 ? (_c = item == null ? void 0 : item.format) == null ? void 0 : _c[0] : (_d = item == null ? void 0 : item.format) == null ? void 0 : _d[1];
81
81
  }
82
82
  if (item == null ? void 0 : item.show_time) {
83
- startDate = (0, import_dayjs.default)(`${item == null ? void 0 : item.start_date} ${item == null ? void 0 : item.start_time}`);
84
- endDate = (0, import_dayjs.default)(`${item == null ? void 0 : item.end_date} ${item == null ? void 0 : item.end_time}`);
83
+ startDate = (0, import_dayjs.default)((item == null ? void 0 : item.start_time) ? `${item == null ? void 0 : item.start_date} ${item == null ? void 0 : item.start_time}` : startDate.format("YYYY-MM-DD HH:mm"));
84
+ endDate = (0, import_dayjs.default)((item == null ? void 0 : item.end_time) ? `${item == null ? void 0 : item.end_date} ${item == null ? void 0 : item.end_time}` : endDate.format("YYYY-MM-DD HH:mm"));
85
85
  }
86
86
  if ((item == null ? void 0 : item.duration_type) === "minutes") {
87
87
  diffInDays = endDate.diff(startDate, "minute");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/materials",
3
- "version": "3.2.27",
3
+ "version": "3.2.28",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -1,4 +0,0 @@
1
- import { AppVersionControlProps } from './types';
2
- import './index.less';
3
- declare const AppVersionControl: (props: AppVersionControlProps) => JSX.Element;
4
- export default AppVersionControl;
@@ -1,38 +0,0 @@
1
- import { Drawer } from 'antd';
2
- import { OperationItem } from '../type';
3
- declare const useDrawerState: (operationContent?: {
4
- [key: string]: import("react").ReactNode;
5
- } | undefined) => {
6
- drawerVisible: boolean;
7
- setDrawerVisible: import("react").Dispatch<import("react").SetStateAction<boolean>>;
8
- openDrawer: (item: OperationItem) => void;
9
- closeDrawer: () => void;
10
- drawerContent: import("react").ReactNode;
11
- Container: {
12
- (props: import("../../../pisellModal").PisellModalProps): JSX.Element;
13
- confirm: (props: import("../../../pisellModal/components/functions").PisellModalFuncProps) => {
14
- destroy: () => void;
15
- update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
16
- };
17
- info: (props: import("../../../pisellModal/components/functions").PisellModalFuncProps) => {
18
- destroy: () => void;
19
- update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
20
- };
21
- error: (props: import("../../../pisellModal/components/functions").PisellModalFuncProps) => {
22
- destroy: () => void;
23
- update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
24
- };
25
- warn: (props: import("../../../pisellModal/components/functions").PisellModalFuncProps) => any;
26
- warning: (props: import("../../../pisellModal/components/functions").PisellModalFuncProps) => {
27
- destroy: () => void;
28
- update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
29
- };
30
- success: (props: import("../../../pisellModal/components/functions").PisellModalFuncProps) => {
31
- destroy: () => void;
32
- update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
33
- };
34
- Information: (props: import("../../../pisellModal/components/Information").InformationProps) => JSX.Element;
35
- } | typeof Drawer;
36
- containerProps: {};
37
- };
38
- export default useDrawerState;