persagy-vant 0.0.37 → 0.0.38

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 (150) hide show
  1. package/es/area/style/index.mjs +2 -0
  2. package/es/area/style/less.mjs +2 -0
  3. package/es/cell/index.d.ts +1 -1
  4. package/es/icon/Icon.mjs +7 -4
  5. package/es/icon/assets/copy.svg +4 -0
  6. package/es/icon/config.d.ts +1 -0
  7. package/es/icon/config.mjs +1 -0
  8. package/es/icon/gif.d.ts +6 -0
  9. package/es/icon/gif.mjs +9 -0
  10. package/es/icon/index.css +1 -1
  11. package/es/icon/index.d.ts +2 -0
  12. package/es/icon/index.mjs +4 -1
  13. package/es/icon/latest-iconfont.css +1 -1
  14. package/es/icon/latest-iconfont.less +11 -0
  15. package/es/index.d.ts +1 -1
  16. package/es/index.mjs +1 -1
  17. package/es/info-card/InfoCard.d.ts +31 -0
  18. package/es/info-card/InfoCard.mjs +45 -3
  19. package/es/info-card/index.css +1 -1
  20. package/es/info-card/index.d.ts +22 -1
  21. package/es/info-card/index.less +57 -0
  22. package/es/info-card/var.less +1 -1
  23. package/es/label/Label.d.ts +21 -0
  24. package/es/label/Label.mjs +12 -2
  25. package/es/label/index.css +1 -1
  26. package/es/label/index.d.ts +15 -0
  27. package/es/label/index.less +27 -0
  28. package/es/label/var.less +1 -0
  29. package/es/list/style/index.mjs +2 -0
  30. package/es/list/style/less.mjs +2 -0
  31. package/es/loading/Loading.mjs +8 -26
  32. package/es/loading/style/index.mjs +2 -0
  33. package/es/loading/style/less.mjs +2 -0
  34. package/es/material-action-bar/index.css +1 -1
  35. package/es/material-action-bar/index.less +3 -1
  36. package/es/material-add/MaterialAdd.mjs +158 -63
  37. package/es/material-add/index.css +1 -1
  38. package/es/material-add/index.d.ts +1 -1
  39. package/es/material-add/index.less +0 -14
  40. package/es/material-add/types.d.ts +7 -4
  41. package/es/material-detail/MaterialDetail.mjs +14 -9
  42. package/es/material-display-bar/index.css +1 -1
  43. package/es/material-display-bar/index.less +2 -1
  44. package/es/material-display-bar/var.less +1 -0
  45. package/es/number-keyboard/style/index.mjs +2 -0
  46. package/es/number-keyboard/style/less.mjs +2 -0
  47. package/es/picker/style/index.mjs +2 -0
  48. package/es/picker/style/less.mjs +2 -0
  49. package/es/progress/Progress.d.ts +17 -0
  50. package/es/progress/Progress.mjs +14 -9
  51. package/es/progress/index.css +1 -1
  52. package/es/progress/index.d.ts +12 -1
  53. package/es/progress/index.less +24 -14
  54. package/es/progress/types.d.ts +1 -0
  55. package/es/progress/var.less +10 -7
  56. package/es/pull-refresh/style/index.mjs +2 -0
  57. package/es/pull-refresh/style/less.mjs +2 -0
  58. package/es/switch/style/index.mjs +2 -0
  59. package/es/switch/style/less.mjs +2 -0
  60. package/es/tree-select/TreeSelect.mjs +9 -4
  61. package/es/tree-select/index.css +1 -1
  62. package/es/tree-select/index.less +29 -1
  63. package/es/work-order-card/WorkOrderCard.mjs +52 -11
  64. package/es/work-order-card/index.css +1 -1
  65. package/es/work-order-card/index.less +3 -4
  66. package/es/work-order-card/style/index.mjs +2 -0
  67. package/es/work-order-card/style/less.mjs +2 -0
  68. package/es/work-order-card/types.d.ts +14 -1
  69. package/lib/area/style/index.js +2 -0
  70. package/lib/area/style/less.js +2 -0
  71. package/lib/cell/index.d.ts +1 -1
  72. package/lib/icon/Icon.js +7 -4
  73. package/lib/icon/assets/copy.svg +4 -0
  74. package/lib/icon/config.d.ts +1 -0
  75. package/lib/icon/config.js +1 -0
  76. package/lib/icon/gif.d.ts +6 -0
  77. package/lib/icon/gif.js +28 -0
  78. package/lib/icon/index.css +1 -1
  79. package/lib/icon/index.d.ts +2 -0
  80. package/lib/icon/index.js +4 -1
  81. package/lib/icon/latest-iconfont.css +1 -1
  82. package/lib/icon/latest-iconfont.less +11 -0
  83. package/lib/index.css +1 -1
  84. package/lib/index.d.ts +1 -1
  85. package/lib/index.js +1 -1
  86. package/lib/info-card/InfoCard.d.ts +31 -0
  87. package/lib/info-card/InfoCard.js +45 -3
  88. package/lib/info-card/index.css +1 -1
  89. package/lib/info-card/index.d.ts +22 -1
  90. package/lib/info-card/index.less +57 -0
  91. package/lib/info-card/var.less +1 -1
  92. package/lib/label/Label.d.ts +21 -0
  93. package/lib/label/Label.js +12 -2
  94. package/lib/label/index.css +1 -1
  95. package/lib/label/index.d.ts +15 -0
  96. package/lib/label/index.less +27 -0
  97. package/lib/label/var.less +1 -0
  98. package/lib/list/style/index.js +2 -0
  99. package/lib/list/style/less.js +2 -0
  100. package/lib/loading/Loading.js +8 -26
  101. package/lib/loading/style/index.js +2 -0
  102. package/lib/loading/style/less.js +2 -0
  103. package/lib/material-action-bar/index.css +1 -1
  104. package/lib/material-action-bar/index.less +3 -1
  105. package/lib/material-add/MaterialAdd.js +158 -63
  106. package/lib/material-add/index.css +1 -1
  107. package/lib/material-add/index.d.ts +1 -1
  108. package/lib/material-add/index.less +0 -14
  109. package/lib/material-add/types.d.ts +7 -4
  110. package/lib/material-detail/MaterialDetail.js +14 -9
  111. package/lib/material-display-bar/index.css +1 -1
  112. package/lib/material-display-bar/index.less +2 -1
  113. package/lib/material-display-bar/var.less +1 -0
  114. package/lib/number-keyboard/style/index.js +2 -0
  115. package/lib/number-keyboard/style/less.js +2 -0
  116. package/lib/picker/style/index.js +2 -0
  117. package/lib/picker/style/less.js +2 -0
  118. package/lib/progress/Progress.d.ts +17 -0
  119. package/lib/progress/Progress.js +13 -8
  120. package/lib/progress/index.css +1 -1
  121. package/lib/progress/index.d.ts +12 -1
  122. package/lib/progress/index.less +24 -14
  123. package/lib/progress/types.d.ts +1 -0
  124. package/lib/progress/var.less +10 -7
  125. package/lib/pull-refresh/style/index.js +2 -0
  126. package/lib/pull-refresh/style/less.js +2 -0
  127. package/lib/switch/style/index.js +2 -0
  128. package/lib/switch/style/less.js +2 -0
  129. package/lib/tree-select/TreeSelect.js +9 -4
  130. package/lib/tree-select/index.css +1 -1
  131. package/lib/tree-select/index.less +29 -1
  132. package/lib/vant.cjs.js +308 -128
  133. package/lib/vant.es.js +308 -128
  134. package/lib/vant.js +308 -128
  135. package/lib/vant.min.js +1 -1
  136. package/lib/web-types.json +1 -1
  137. package/lib/work-order-card/WorkOrderCard.js +52 -11
  138. package/lib/work-order-card/index.css +1 -1
  139. package/lib/work-order-card/index.less +3 -4
  140. package/lib/work-order-card/style/index.js +2 -0
  141. package/lib/work-order-card/style/less.js +2 -0
  142. package/lib/work-order-card/types.d.ts +14 -1
  143. package/package.json +2 -2
  144. package/skills/use-persagy-vant/references/component-documentation.md +4 -4
  145. package/skills/use-persagy-vant/references/component-variant-selection.md +2 -2
  146. package/skills/use-persagy-vant/references/design-interaction-baseline.md +2 -1
  147. package/skills/use-persagy-vant/references/page-recipes.md +4 -0
  148. package/skills/use-persagy-vant/references/reuse-policy.md +2 -2
  149. /package/es/{loading/assets/building.gif → icon/assets/gif/loading-building.gif} +0 -0
  150. /package/lib/{loading/assets/building.gif → icon/assets/gif/loading-building.gif} +0 -0
@@ -1,5 +1,6 @@
1
1
  import { computed, defineComponent, createVNode as _createVNode } from "vue";
2
2
  import { extend, addUnit, numericProp, getSizeStyle, makeStringProp, createNamespace } from "../utils/index.mjs";
3
+ import { Icon } from "../icon/index.mjs";
3
4
  const [name, bem] = createNamespace("loading");
4
5
  const SpinIcon = Array(12).fill(null).map((_, index) => _createVNode("i", {
5
6
  "class": bem("line", String(index + 1))
@@ -13,31 +14,6 @@ const CircularIcon = _createVNode("svg", {
13
14
  "r": "20",
14
15
  "fill": "none"
15
16
  }, null)]);
16
- const IllustrationIcon = _createVNode("svg", {
17
- "class": bem("illustration"),
18
- "viewBox": "0 0 100 100",
19
- "fill": "none",
20
- "aria-hidden": "true"
21
- }, [_createVNode("rect", {
22
- "x": "18",
23
- "y": "36",
24
- "width": "64",
25
- "height": "48",
26
- "rx": "6",
27
- "fill": "currentColor",
28
- "opacity": "0.14"
29
- }, null), _createVNode("path", {
30
- "d": "M28 84V46h44v38M39 84V62h22v22M38 51h4m16 0h4M38 57h4m16 0h4",
31
- "stroke": "currentColor",
32
- "stroke-width": "4",
33
- "stroke-linecap": "round",
34
- "stroke-linejoin": "round"
35
- }, null), _createVNode("path", {
36
- "d": "M50 18v12m-16-4 8 8m24-8-8 8",
37
- "stroke": "currentColor",
38
- "stroke-width": "4",
39
- "stroke-linecap": "round"
40
- }, null)]);
41
17
  const loadingProps = {
42
18
  size: numericProp,
43
19
  type: makeStringProp("circular"),
@@ -72,6 +48,7 @@ var stdin_default = defineComponent({
72
48
  }
73
49
  };
74
50
  return () => {
51
+ var _a;
75
52
  const {
76
53
  type,
77
54
  vertical
@@ -86,7 +63,12 @@ var stdin_default = defineComponent({
86
63
  }, [_createVNode("span", {
87
64
  "class": bem("spinner", type),
88
65
  "style": spinnerStyle.value
89
- }, [isIllustration ? IllustrationIcon : type === "spinner" ? SpinIcon : CircularIcon]), renderText()]);
66
+ }, [isIllustration ? _createVNode(Icon, {
67
+ "class": bem("illustration"),
68
+ "name": "loading-building",
69
+ "size": (_a = props.size) != null ? _a : 100,
70
+ "aria-hidden": "true"
71
+ }, null) : type === "spinner" ? SpinIcon : CircularIcon]), renderText()]);
90
72
  };
91
73
  }
92
74
  });
@@ -1,2 +1,4 @@
1
1
  import "../../style/base.css";
2
+ import "../../badge/index.css";
3
+ import "../../icon/index.css";
2
4
  import "../index.css";
@@ -1,2 +1,4 @@
1
1
  import "../../style/base.less";
2
+ import "../../badge/index.less";
3
+ import "../../icon/index.less";
2
4
  import "../index.less";
@@ -1 +1 @@
1
- .van-material-action-bar{position:relative;padding:10px var(--van-padding-md)}.van-material-action-bar--selected{padding:10px var(--van-padding-md);background:var(--van-gray-2);border-radius:8px}.van-material-action-bar--selected:after{display:none}.van-material-action-bar:not(:last-child):after{position:absolute;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);height:1px;background:var(--van-border-color);transform:scaleY(.5);content:""}.van-material-action-bar__main{display:flex;align-items:center;min-height:22px}.van-material-action-bar__detail{display:inline-flex;flex:1 1 0;gap:2px;align-items:center;min-width:0;padding:0;overflow:hidden;color:var(--van-gray-9);font:inherit;font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-align:left;background:transparent;border:0;cursor:pointer;transition:opacity var(--van-animation-duration-fast)}.van-material-action-bar__detail:active{opacity:var(--van-active-opacity)}.van-material-action-bar__detail>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__stepper-prefix{flex:none;margin:0 4px 0 8px;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg)}.van-material-action-bar__stepper-wrapper{position:relative;flex:none;margin-left:4px}.van-material-action-bar__kind-tag{flex:none;margin-left:4px}.van-material-action-bar__stepper{flex:none;margin-left:0;--van-stepper-input-width: 24px;--van-stepper-input-height: 18px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: var(--van-line-height-lg)}.van-material-action-bar__number-trigger{position:absolute;z-index:1;top:0;left:18px;width:24px;height:18px;padding:0;background:transparent;border:0;cursor:pointer}.van-material-action-bar__unit{flex:none;width:32px;margin-left:8px;overflow:hidden;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__desc{margin:2px 0 0;overflow:hidden;color:var(--van-gray-6);font-size:var(--van-font-size-sm);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__warning{margin:2px 0 0;color:var(--van-red-500);font-size:var(--van-font-size-sm);line-height:20px}.van-material-action-bar__picking-outbound{display:flex;gap:4px;margin:2px 0 0;color:var(--van-text-color);font-size:var(--van-font-size-sm);line-height:20px}.van-material-action-bar__picking-label{color:var(--van-gray-6)}.van-material-action-bar__picking-value{font-weight:600}.van-material-action-bar__keyword{color:var(--van-primary-color)}
1
+ .van-material-action-bar{--van-material-action-bar-title-font-weight: var(--van-font-weight-bold);position:relative;padding:10px var(--van-padding-md)}.van-material-action-bar--selected{padding:10px var(--van-padding-md);background:var(--van-gray-2);border-radius:8px}.van-material-action-bar--selected:after{display:none}.van-material-action-bar:not(:last-child):after{position:absolute;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);height:1px;background:var(--van-border-color);transform:scaleY(.5);content:""}.van-material-action-bar__main{display:flex;align-items:center;min-height:22px}.van-material-action-bar__detail{display:inline-flex;flex:1 1 0;gap:2px;align-items:center;min-width:0;padding:0;overflow:hidden;color:var(--van-gray-9);font:inherit;font-size:var(--van-font-size-md);font-weight:var(--van-material-action-bar-title-font-weight);line-height:var(--van-line-height-lg);text-align:left;background:transparent;border:0;cursor:pointer;transition:opacity var(--van-animation-duration-fast)}.van-material-action-bar__detail:active{opacity:var(--van-active-opacity)}.van-material-action-bar__detail>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__stepper-prefix{flex:none;margin:0 4px 0 8px;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg)}.van-material-action-bar__stepper-wrapper{position:relative;flex:none;margin-left:4px}.van-material-action-bar__kind-tag{flex:none;margin-left:4px}.van-material-action-bar__stepper{flex:none;margin-left:0;--van-stepper-input-width: 24px;--van-stepper-input-height: 18px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: var(--van-line-height-lg)}.van-material-action-bar__number-trigger{position:absolute;z-index:1;top:0;left:18px;width:24px;height:18px;padding:0;background:transparent;border:0;cursor:pointer}.van-material-action-bar__unit{flex:none;width:32px;margin-left:8px;overflow:hidden;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__desc{margin:2px 0 0;overflow:hidden;color:var(--van-gray-6);font-size:var(--van-font-size-sm);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__warning{margin:2px 0 0;color:var(--van-red-500);font-size:var(--van-font-size-sm);line-height:20px}.van-material-action-bar__picking-outbound{display:flex;gap:4px;margin:2px 0 0;color:var(--van-text-color);font-size:var(--van-font-size-sm);line-height:20px}.van-material-action-bar__picking-label{color:var(--van-gray-6)}.van-material-action-bar__picking-value{font-weight:600}.van-material-action-bar__keyword{color:var(--van-primary-color)}
@@ -1,4 +1,6 @@
1
1
  .van-material-action-bar {
2
+ --van-material-action-bar-title-font-weight: var(--van-font-weight-bold);
3
+
2
4
  position: relative;
3
5
  padding: 10px var(--van-padding-md);
4
6
  &--selected {
@@ -21,7 +23,7 @@
21
23
  }
22
24
 
23
25
  &__main { display: flex; align-items: center; min-height: 22px; }
24
- &__detail { display: inline-flex; flex: 1 1 0; gap: 2px; align-items: center; min-width: 0; padding: 0; overflow: hidden; color: var(--van-gray-9); font: inherit; font-size: var(--van-font-size-md); line-height: var(--van-line-height-lg); text-align: left; background: transparent; border: 0; cursor: pointer; transition: opacity var(--van-animation-duration-fast); &:active { opacity: var(--van-active-opacity); } > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }
26
+ &__detail { display: inline-flex; flex: 1 1 0; gap: 2px; align-items: center; min-width: 0; padding: 0; overflow: hidden; color: var(--van-gray-9); font: inherit; font-size: var(--van-font-size-md); font-weight: var(--van-material-action-bar-title-font-weight); line-height: var(--van-line-height-lg); text-align: left; background: transparent; border: 0; cursor: pointer; transition: opacity var(--van-animation-duration-fast); &:active { opacity: var(--van-active-opacity); } > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }
25
27
  &__stepper-prefix { flex: none; margin: 0 4px 0 8px; color: var(--van-text-color-2); font-size: var(--van-font-size-md); line-height: var(--van-line-height-lg); }
26
28
  &__stepper-wrapper { position: relative; flex: none; margin-left: 4px; }
27
29
  &__kind-tag { flex: none; margin-left: 4px; }
@@ -182,76 +182,112 @@ const defaultCategories = [{
182
182
  text: "\u7EF4\u4FEE\u7269\u8D44",
183
183
  kind: "material",
184
184
  categories: [{
185
- value: "air-conditioner",
186
- text: "\u7A7A\u8C03\u8BBE\u5907"
185
+ id: "air-conditioner-node",
186
+ text: "\u7A7A\u8C03\u8BBE\u5907",
187
+ children: [{
188
+ value: "air-conditioner",
189
+ text: "\u5236\u51B7\u914D\u4EF6"
190
+ }]
187
191
  }, {
188
- value: "pipe",
189
- text: "\u7BA1\u6750\u914D\u4EF6"
192
+ id: "pipe-node",
193
+ text: "\u7BA1\u6750\u914D\u4EF6",
194
+ children: [{
195
+ value: "pipe",
196
+ text: "\u94DC\u7BA1\u914D\u4EF6"
197
+ }]
190
198
  }]
191
199
  }, {
192
200
  id: "safety-root",
193
201
  text: "\u5B89\u5168\u7269\u8D44",
194
202
  kind: "material",
195
203
  categories: [{
196
- value: "safety-protection",
197
- text: "\u52B3\u52A8\u9632\u62A4"
198
- }, {
199
- value: "safety-signage",
200
- text: "\u5B89\u5168\u6807\u8BC6"
204
+ id: "protection-node",
205
+ text: "\u4F5C\u4E1A\u9632\u62A4",
206
+ children: [{
207
+ value: "safety-protection",
208
+ text: "\u4E2A\u4EBA\u9632\u62A4"
209
+ }, {
210
+ value: "safety-signage",
211
+ text: "\u73B0\u573A\u6807\u8BC6"
212
+ }]
201
213
  }]
202
214
  }, {
203
215
  id: "office-root",
204
216
  text: "\u529E\u516C\u7269\u8D44",
205
217
  kind: "material",
206
218
  categories: [{
207
- value: "office-supply",
208
- text: "\u529E\u516C\u8017\u6750"
209
- }, {
210
- value: "office-records",
211
- text: "\u8BB0\u5F55\u7528\u54C1"
219
+ id: "office-node",
220
+ text: "\u529E\u516C\u652F\u6301",
221
+ children: [{
222
+ value: "office-supply",
223
+ text: "\u65E5\u5E38\u8017\u6750"
224
+ }, {
225
+ value: "office-records",
226
+ text: "\u5DE1\u68C0\u8BB0\u5F55"
227
+ }]
212
228
  }]
213
229
  }, {
214
230
  id: "other-root",
215
231
  text: "\u5176\u4ED6\u7269\u8D44",
216
232
  kind: "material",
217
233
  categories: [{
218
- value: "other-cleaning",
219
- text: "\u6E05\u6D01\u7528\u54C1"
220
- }, {
221
- value: "other-consumables",
222
- text: "\u901A\u7528\u8017\u6750"
234
+ id: "other-node",
235
+ text: "\u7EFC\u5408\u4FDD\u969C",
236
+ children: [{
237
+ value: "other-cleaning",
238
+ text: "\u6E05\u6D01\u7528\u54C1"
239
+ }, {
240
+ value: "other-consumables",
241
+ text: "\u901A\u7528\u8017\u6750"
242
+ }]
223
243
  }]
224
244
  }, {
225
245
  id: "tool-root",
226
246
  text: "\u7EF4\u4FEE\u5DE5\u5177",
227
247
  kind: "tool",
228
248
  categories: [{
229
- value: "hand-tool",
230
- text: "\u624B\u52A8\u5DE5\u5177"
249
+ id: "hand-tool-node",
250
+ text: "\u624B\u52A8\u4F5C\u4E1A",
251
+ children: [{
252
+ value: "hand-tool",
253
+ text: "\u5E38\u7528\u5DE5\u5177"
254
+ }]
231
255
  }]
232
256
  }, {
233
257
  id: "meter-root",
234
258
  text: "\u6D4B\u91CF\u5DE5\u5177",
235
259
  kind: "tool",
236
260
  categories: [{
237
- value: "meter",
238
- text: "\u6D4B\u91CF\u4EEA\u8868"
261
+ id: "meter-node",
262
+ text: "\u68C0\u6D4B\u4EEA\u8868",
263
+ children: [{
264
+ value: "meter",
265
+ text: "\u7535\u6C14\u6D4B\u91CF"
266
+ }]
239
267
  }]
240
268
  }, {
241
269
  id: "installation-root",
242
270
  text: "\u5B89\u88C5\u5DE5\u5177",
243
271
  kind: "tool",
244
272
  categories: [{
245
- value: "installation",
246
- text: "\u5B89\u88C5\u5DE5\u5177"
273
+ id: "installation-node",
274
+ text: "\u5B89\u88C5\u65BD\u5DE5",
275
+ children: [{
276
+ value: "installation",
277
+ text: "\u767B\u9AD8\u5DE5\u5177"
278
+ }]
247
279
  }]
248
280
  }, {
249
281
  id: "cleaning-tool-root",
250
282
  text: "\u6E05\u6D01\u5DE5\u5177",
251
283
  kind: "tool",
252
284
  categories: [{
253
- value: "cleaning-tool",
254
- text: "\u6E05\u6D01\u5DE5\u5177"
285
+ id: "cleaning-tool-node",
286
+ text: "\u4FDD\u6D01\u4F5C\u4E1A",
287
+ children: [{
288
+ value: "cleaning-tool",
289
+ text: "\u6E05\u6D01\u8BBE\u5907"
290
+ }]
255
291
  }]
256
292
  }];
257
293
  const materialAddProps = {
@@ -307,20 +343,90 @@ var stdin_default = defineComponent({
307
343
  const activeKind = ref(getDefaultKind());
308
344
  const keyword = ref("");
309
345
  const searching = ref(false);
310
- const expandedKeys = ref(["material-root", "tool-root"]);
346
+ const expandedKeys = ref([]);
311
347
  const expandedSelected = ref(false);
312
348
  const detailItem = ref();
313
349
  const detailInfoExpanded = ref(true);
314
350
  const detailUsageExpanded = ref(true);
315
351
  const detailNoticeExpanded = ref(true);
316
352
  const detailBannerIndex = ref(0);
353
+ const collectCategoryValues = (categories) => categories.flatMap((category) => [...category.value ? [category.value] : [], ...category.children ? collectCategoryValues(category.children) : []]);
354
+ const findCategoryPath = (categories, value, path = []) => {
355
+ for (const category of categories) {
356
+ const nextPath = [...path, category.text];
357
+ if (category.value === value)
358
+ return nextPath;
359
+ const match = category.children && findCategoryPath(category.children, value, nextPath);
360
+ if (match)
361
+ return match;
362
+ }
363
+ return void 0;
364
+ };
365
+ const getCatalogGroups = () => {
366
+ const rootGroups = props.categories.filter((category) => !activeKind.value || category.kind === activeKind.value);
367
+ const configuredValues = new Set(rootGroups.flatMap((group) => collectCategoryValues(group.categories)));
368
+ const ungroupedCategories = [...new Set(props.items.filter((item) => (!activeKind.value || item.kind === activeKind.value) && !configuredValues.has(item.category)).map((item) => item.category))];
369
+ return ungroupedCategories.length ? [...rootGroups, {
370
+ id: `${activeKind.value || "all"}-other`,
371
+ text: "\u672A\u5206\u7C7B",
372
+ kind: activeKind.value || "material",
373
+ categories: ungroupedCategories.map((value) => ({
374
+ value,
375
+ text: value
376
+ }))
377
+ }] : rootGroups;
378
+ };
379
+ const getCatalogItems = () => {
380
+ const materials = props.items.filter((item) => !activeKind.value || item.kind === activeKind.value);
381
+ const createCategoryNode = (category, rootId, path) => {
382
+ var _a, _b;
383
+ const id = (_a = category.id) != null ? _a : `${rootId}-${[...path, category.value || category.text].join("-")}`;
384
+ const childCategories = ((_b = category.children) == null ? void 0 : _b.map((child, index) => createCategoryNode(child, rootId, [...path, index]))) || [];
385
+ const materialLeaves = category.value ? materials.filter((material) => material.category === category.value).map((material) => ({
386
+ id: material.id,
387
+ text: material.name,
388
+ selectable: false,
389
+ material
390
+ })) : [];
391
+ return {
392
+ id,
393
+ text: category.text,
394
+ selectable: false,
395
+ children: [...childCategories, ...materialLeaves]
396
+ };
397
+ };
398
+ return getCatalogGroups().map((root) => ({
399
+ id: root.id,
400
+ text: root.text,
401
+ selectable: false,
402
+ children: root.categories.map((category, index) => createCategoryNode(category, root.id, [index]))
403
+ }));
404
+ };
405
+ const getDefaultExpandedKeys = () => {
406
+ const catalogItems = getCatalogItems();
407
+ const countMaterials = (items) => items.reduce((count, item) => count + (item.material ? 1 : countMaterials(item.children || [])), 0);
408
+ if (countMaterials(catalogItems) !== 1)
409
+ return [];
410
+ const findSingleMaterialPath = (items, path = []) => {
411
+ for (const item of items) {
412
+ const nextPath = [...path, item.id];
413
+ if (item.material)
414
+ return nextPath.slice(0, -1);
415
+ const match = findSingleMaterialPath(item.children || [], nextPath);
416
+ if (match)
417
+ return match;
418
+ }
419
+ return void 0;
420
+ };
421
+ return findSingleMaterialPath(catalogItems) || [];
422
+ };
317
423
  watch(() => props.show, (show) => {
318
424
  if (show) {
319
425
  activeTab.value = getDefaultTab();
320
426
  activeKind.value = getDefaultKind();
321
427
  keyword.value = "";
322
428
  searching.value = false;
323
- expandedKeys.value = ["material-root", "tool-root"];
429
+ expandedKeys.value = getDefaultExpandedKeys();
324
430
  expandedSelected.value = false;
325
431
  detailItem.value = void 0;
326
432
  detailInfoExpanded.value = true;
@@ -331,6 +437,17 @@ var stdin_default = defineComponent({
331
437
  }, {
332
438
  immediate: true
333
439
  });
440
+ watch([activeTab, activeKind], ([tab]) => {
441
+ if (tab === "all") {
442
+ expandedKeys.value = getDefaultExpandedKeys();
443
+ }
444
+ });
445
+ const setActiveTab = (tab) => {
446
+ activeTab.value = tab;
447
+ if (tab === "all") {
448
+ expandedKeys.value = getDefaultExpandedKeys();
449
+ }
450
+ };
334
451
  watch(() => [props.showCommonTab, props.showAllTab], () => {
335
452
  if (activeTab.value === "common" && !props.showCommonTab || activeTab.value === "all" && !props.showAllTab) {
336
453
  activeTab.value = getDefaultTab();
@@ -395,35 +512,14 @@ var stdin_default = defineComponent({
395
512
  "class": bem("empty")
396
513
  }, [_createTextVNode("\u6682\u65E0\u5339\u914D\u7269\u6599")])]);
397
514
  const renderCatalog = () => {
398
- const rootGroups = props.categories.filter((category) => !activeKind.value || category.kind === activeKind.value);
399
- const configuredValues = new Set(rootGroups.flatMap((group) => group.categories.map((category) => category.value)));
400
- const ungroupedCategories = [...new Set(props.items.filter((item) => (!activeKind.value || item.kind === activeKind.value) && !configuredValues.has(item.category)).map((item) => item.category))];
401
- const groups = ungroupedCategories.length ? [...rootGroups, {
402
- id: `${activeKind.value || "all"}-other`,
403
- text: "\u672A\u5206\u7C7B",
404
- kind: activeKind.value || "material",
405
- categories: ungroupedCategories.map((value) => ({
406
- value,
407
- text: value
408
- }))
409
- }] : rootGroups;
410
- const items = groups.map((root) => ({
411
- id: root.id,
412
- text: root.text,
413
- selectable: false,
414
- children: props.items.filter((item) => (!activeKind.value || item.kind === activeKind.value) && root.categories.some((category) => category.value === item.category)).map((material) => ({
415
- id: material.id,
416
- text: material.name,
417
- selectable: false,
418
- material
419
- }))
420
- }));
515
+ const catalogItems = getCatalogItems();
516
+ const defaultExpandedKeys = getDefaultExpandedKeys();
421
517
  return _createVNode("div", {
422
518
  "class": bem("tree-card")
423
519
  }, [_createVNode(TreeSelect, {
424
- "items": items,
520
+ "items": catalogItems,
425
521
  "modelValue": [],
426
- "expandedKeys": expandedKeys.value,
522
+ "expandedKeys": expandedKeys.value.length ? expandedKeys.value : defaultExpandedKeys,
427
523
  "onUpdate:expandedKeys": (keys) => {
428
524
  expandedKeys.value = keys;
429
525
  }
@@ -434,10 +530,7 @@ var stdin_default = defineComponent({
434
530
  }) => {
435
531
  const material = item.material;
436
532
  return _createVNode("div", {
437
- "class": bem("catalog-leaf"),
438
- "style": {
439
- marginLeft: `${level * 16}px`
440
- }
533
+ "class": bem("catalog-leaf")
441
534
  }, [renderMaterialCell(material, props.items.indexOf(material))]);
442
535
  }
443
536
  })]);
@@ -445,9 +538,9 @@ var stdin_default = defineComponent({
445
538
  const renderDetail = () => {
446
539
  const item = detailItem.value;
447
540
  const [brand = "-", specification = "-", warehouse = "-"] = item.detail.split("\uFF5C");
448
- const categoryGroup = props.categories.find((group) => group.categories.some((category2) => category2.value === item.category));
449
- const category = categoryGroup == null ? void 0 : categoryGroup.categories.find((entry) => entry.value === item.category);
450
- const infoRows = [["\u7269\u6599\u540D\u79F0", item.name], ["\u53EF\u7533\u8BF7", String(item.available || 0)], ["\u5F85\u5165\u5E93", "12"], ["\u6240\u5C5E\u5206\u7C7B", category && categoryGroup ? `${categoryGroup.text}/${category.text}` : item.category], ["\u54C1\u724C", brand], ["\u89C4\u683C", specification], ["\u5355\u4F4D", item.unit], ["\u4F9B\u5E94\u5546", "\u6DF1\u5733\u96C6\u5B89"], ["\u4ED3\u5E93\u540D\u79F0", warehouse], ["\u4ED3\u5E93\u4F4D\u7F6E", "A\u5EA7/B3/\u505C\u8F66\u573A\u5E93\u623F"], ["\u5E93\u7BA1\u5458", "\u674E\u590D\u6052 13880588688\n\u674E\u5175 16885885868"]];
541
+ const categoryGroup = props.categories.find((group) => findCategoryPath(group.categories, item.category));
542
+ const categoryPath = categoryGroup && findCategoryPath(categoryGroup.categories, item.category);
543
+ const infoRows = [["\u7269\u6599\u540D\u79F0", item.name], ["\u53EF\u7533\u8BF7", String(item.available || 0)], ["\u5F85\u5165\u5E93", "12"], ["\u6240\u5C5E\u5206\u7C7B", categoryPath && categoryGroup ? `${categoryGroup.text}/${categoryPath.join("/")}` : item.category], ["\u54C1\u724C", brand], ["\u89C4\u683C", specification], ["\u5355\u4F4D", item.unit], ["\u4F9B\u5E94\u5546", "\u6DF1\u5733\u96C6\u5B89"], ["\u4ED3\u5E93\u540D\u79F0", warehouse], ["\u4ED3\u5E93\u4F4D\u7F6E", "A\u5EA7/B3/\u505C\u8F66\u573A\u5E93\u623F"], ["\u5E93\u7BA1\u5458", "\u674E\u590D\u6052 13880588688\n\u674E\u5175 16885885868"]];
451
544
  return _createVNode("div", {
452
545
  "class": bem("detail-page")
453
546
  }, [_createVNode("div", {
@@ -603,9 +696,9 @@ var stdin_default = defineComponent({
603
696
  }, null)
604
697
  }), (props.showCommonTab || props.showAllTab) && _createVNode(Tabs, {
605
698
  "active": activeTab.value,
606
- "onUpdate:active": ($event) => activeTab.value = $event,
607
699
  "class": bem("tabs"),
608
- "shrink": true
700
+ "shrink": true,
701
+ "onUpdate:active": setActiveTab
609
702
  }, {
610
703
  default: () => [props.showCommonTab && _createVNode(Tab, {
611
704
  "name": "common",
@@ -620,6 +713,7 @@ var stdin_default = defineComponent({
620
713
  "selected": activeKind.value === "material",
621
714
  "onClick": () => {
622
715
  activeKind.value = "material";
716
+ expandedKeys.value = getDefaultExpandedKeys();
623
717
  }
624
718
  }, {
625
719
  default: () => [props.materialTabText]
@@ -627,6 +721,7 @@ var stdin_default = defineComponent({
627
721
  "selected": activeKind.value === "tool",
628
722
  "onClick": () => {
629
723
  activeKind.value = "tool";
724
+ expandedKeys.value = getDefaultExpandedKeys();
630
725
  }
631
726
  }, {
632
727
  default: () => [props.toolTabText]
@@ -1 +1 @@
1
- .van-material-action-bar{position:relative;padding:10px var(--van-padding-md)}.van-material-action-bar--selected{padding:10px var(--van-padding-md);background:var(--van-gray-2);border-radius:8px}.van-material-action-bar--selected:after{display:none}.van-material-action-bar:not(:last-child):after{position:absolute;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);height:1px;background:var(--van-border-color);transform:scaleY(.5);content:""}.van-material-action-bar__main{display:flex;align-items:center;min-height:22px}.van-material-action-bar__detail{display:inline-flex;flex:1 1 0;gap:2px;align-items:center;min-width:0;padding:0;overflow:hidden;color:var(--van-gray-9);font:inherit;font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-align:left;background:transparent;border:0;cursor:pointer;transition:opacity var(--van-animation-duration-fast)}.van-material-action-bar__detail:active{opacity:var(--van-active-opacity)}.van-material-action-bar__detail>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__stepper-prefix{flex:none;margin:0 4px 0 8px;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg)}.van-material-action-bar__stepper-wrapper{position:relative;flex:none;margin-left:4px}.van-material-action-bar__kind-tag{flex:none;margin-left:4px}.van-material-action-bar__stepper{flex:none;margin-left:0;--van-stepper-input-width: 24px;--van-stepper-input-height: 18px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: var(--van-line-height-lg)}.van-material-action-bar__number-trigger{position:absolute;z-index:1;top:0;left:18px;width:24px;height:18px;padding:0;background:transparent;border:0;cursor:pointer}.van-material-action-bar__unit{flex:none;width:32px;margin-left:8px;overflow:hidden;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__desc{margin:2px 0 0;overflow:hidden;color:var(--van-gray-6);font-size:var(--van-font-size-sm);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__warning{margin:2px 0 0;color:var(--van-red-500);font-size:var(--van-font-size-sm);line-height:20px}.van-material-action-bar__picking-outbound{display:flex;gap:4px;margin:2px 0 0;color:var(--van-text-color);font-size:var(--van-font-size-sm);line-height:20px}.van-material-action-bar__picking-label{color:var(--van-gray-6)}.van-material-action-bar__picking-value{font-weight:600}.van-material-action-bar__keyword{color:var(--van-primary-color)}.van-material-add{position:relative;display:flex;flex-direction:column;height:calc(100vh - 96px);max-height:calc(100vh - 96px);bottom:56px;overflow:hidden;background:var(--van-gray-2)}.van-material-add>.van-action-sheet__content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.van-material-add__nav{flex:none;--van-nav-bar-background-color: var(--van-gray-2)}.van-material-add__nav .van-nav-bar__left--slot{left:var(--van-padding-md)}.van-material-add__nav .van-nav-bar__right--slot{right:var(--van-padding-md)}.van-material-add__search{flex:none;padding:8px var(--van-padding-md);--van-search-padding: 0;--van-search-background-color: var(--van-gray-2);--van-search-content-background-color: var(--van-white)}.van-material-add__search .van-search__field{padding-left:0}.van-material-add__tabs{flex:none;padding-left:8px;--van-tabs-line-height: 44px;--van-tab-font-size: var(--van-font-size-md);--van-tabs-bottom-bar-width: 40px;--van-tabs-nav-background-color: transparent}.van-material-add__filter-tags{display:flex;flex:none;gap:6px;padding:12px var(--van-padding-md)}.van-material-add__filter-tags .van-filter-tag{min-width:56px;--van-filter-tag-background-color: var(--van-gray-4)}.van-material-add__body{flex:1;min-height:0;padding:0 var(--van-padding-md) 12px;overflow-y:auto}.van-material-add__tree-card{margin-bottom:12px;overflow:hidden;background:var(--van-white);border-radius:8px}.van-material-add__catalog-leaf{overflow:hidden}.van-material-add__catalog-leaf .van-material-action-bar:after{position:absolute;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);display:block;height:1px;content:"";background:var(--van-border-color);transform:scaleY(.5)}.van-tree-select__children>.van-tree-select__node:last-child>.van-material-add__catalog-leaf .van-material-action-bar:after{display:none}.van-material-add__material-list{overflow:hidden;background:var(--van-white);border-radius:8px}.van-material-add__empty{padding:32px 16px;color:var(--van-text-color-3);font-size:var(--van-font-size-md);text-align:center}.van-material-add__footer{position:relative;z-index:2;flex:none;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-material-add__footer .van-bottom-action-bar{box-shadow:none}.van-material-add__selected-panel{position:absolute;right:0;bottom:60px;left:0;display:flex;flex-direction:column;max-height:340px;overflow:hidden;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-material-add__selected-header{display:flex;align-items:center;justify-content:space-between;padding:12px var(--van-padding-md) 4px}.van-material-add__clear,.van-material-add__collapse{padding:0;background:transparent;border:0}.van-material-add__clear{color:var(--van-primary-color);font:inherit;font-size:var(--van-font-size-md)}.van-material-add__collapse{display:inline-flex;gap:2px;align-items:center;color:var(--van-gray-6);font:inherit;font-size:var(--van-font-size-md)}.van-material-add__selected-list{display:flex;flex-direction:column;gap:6px;padding:var(--van-padding-xs) var(--van-padding-md);overflow-y:auto}.van-material-add__detail-page{position:fixed;z-index:3000;inset:0;display:flex;flex-direction:column;overflow:hidden;background:var(--van-gray-2)}.van-material-add__detail-banner{position:absolute;top:0;right:0;left:0;height:320px;overflow:hidden;background:var(--van-gray-8)}.van-material-add__detail-swipe{height:320px;touch-action:pan-y}.van-material-add__detail-image{width:100%;height:310px;background-position:center;background-size:cover}.van-material-add__detail-image--motor{background-image:url(/dog1.jpg)}.van-material-add__detail-image--blower{background-image:url(/dog2.jpg)}.van-material-add__detail-image--coil{background-image:url(/dog3.jpg)}.van-material-add__detail-dots{position:absolute;z-index:2;top:226px;left:50%;display:flex;gap:6px;transform:translate(-50%)}.van-material-add__detail-dots>i{width:6px;height:6px;background:rgba(255,255,255,.55);border-radius:50%}.van-material-add__detail-dot--active{background:var(--van-white)!important}.van-material-add__detail-close{position:absolute;z-index:1;top:56px;left:var(--van-padding-md);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--van-gray-9);background:var(--van-gray-3);border:0;border-radius:50%;box-shadow:0 2px 5px rgba(27,33,41,.1)}.van-material-add__detail-content{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;min-height:0;margin-top:246px;overflow:hidden;background:var(--van-white);border-radius:16px 16px 0 0}.van-material-add__detail-body{flex:1;min-height:0;padding:16px var(--van-padding-md) 24px;overflow-y:auto}.van-material-add__detail-section+.van-material-add__detail-section{margin-top:24px}.van-material-add__detail-section .van-blue-mark-header{margin-bottom:8px;padding:0}.van-material-add__detail-card{padding:8px 12px;color:var(--van-gray-9);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);background:linear-gradient(90deg,var(--van-gray-2),rgba(241,244,246,.2));border-radius:8px}.van-material-add__detail-info-rows{display:flex;flex-direction:column;gap:8px}.van-material-add__detail-row{display:flex;gap:16px;justify-content:space-between;min-height:22px}.van-material-add__detail-row>span{flex:none;width:56px;color:var(--van-gray-6)}.van-material-add__detail-row>strong{flex:1;color:var(--van-gray-9);font-weight:400;text-align:right;white-space:pre-line}.van-material-add__detail-link{color:var(--van-primary-color)!important;font-weight:var(--van-font-weight-bold)!important}.van-material-add-detail-enter-active{transition:transform var(--van-animation-duration-fast) var(--van-animation-timing-function-enter);will-change:transform}.van-material-add-detail-leave-active{transition:transform var(--van-animation-duration-fast) var(--van-animation-timing-function-leave);will-change:transform}.van-material-add-detail-enter-from,.van-material-add-detail-leave-to{transform:translateY(100%)}.van-material-add-detail-section-enter-active,.van-material-add-detail-section-leave-active{overflow:hidden;transition:max-height .2s ease,opacity .2s ease}.van-material-add-detail-section-enter-from,.van-material-add-detail-section-leave-to{max-height:0;opacity:0}.van-material-add-detail-section-enter-to,.van-material-add-detail-section-leave-from{max-height:480px;opacity:1}.van-material-add-item{position:relative;padding:10px var(--van-padding-md);cursor:pointer;transition:background-color .2s ease}.van-material-add-item:active{background-color:var(--van-active-color)}.van-material-add-item--selected{padding:10px var(--van-padding-md);background:var(--van-gray-2);border-radius:8px}.van-material-add-item--selected:after{display:none}.van-material-add-item:not(:last-child):after{position:absolute;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);height:1px;background:var(--van-border-color);transform:scaleY(.5);content:""}.van-material-add-item__main{display:flex;align-items:center;min-height:22px}.van-material-add-item__detail{display:inline-flex;flex:1;gap:2px;align-items:center;min-width:0;padding:0;overflow:hidden;color:var(--van-gray-9);font:inherit;font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-align:left;background:transparent;border:0}.van-material-add-item__detail>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-add-item__kind-tag{flex:none;margin-left:4px}.van-material-add-item__stepper{flex:none;margin-left:8px;--van-stepper-input-width: 32px;--van-stepper-input-height: 18px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: var(--van-line-height-lg)}.van-material-add-item__unit{width:32px;margin-left:8px;overflow:hidden;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-overflow:ellipsis;white-space:nowrap}.van-material-add-item__desc{margin:4px 0 0;overflow:hidden;color:var(--van-gray-6);font-size:var(--van-font-size-sm);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.van-material-add-item__keyword{color:var(--van-primary-color)}
1
+ .van-material-action-bar{--van-material-action-bar-title-font-weight: var(--van-font-weight-bold);position:relative;padding:10px var(--van-padding-md)}.van-material-action-bar--selected{padding:10px var(--van-padding-md);background:var(--van-gray-2);border-radius:8px}.van-material-action-bar--selected:after{display:none}.van-material-action-bar:not(:last-child):after{position:absolute;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);height:1px;background:var(--van-border-color);transform:scaleY(.5);content:""}.van-material-action-bar__main{display:flex;align-items:center;min-height:22px}.van-material-action-bar__detail{display:inline-flex;flex:1 1 0;gap:2px;align-items:center;min-width:0;padding:0;overflow:hidden;color:var(--van-gray-9);font:inherit;font-size:var(--van-font-size-md);font-weight:var(--van-material-action-bar-title-font-weight);line-height:var(--van-line-height-lg);text-align:left;background:transparent;border:0;cursor:pointer;transition:opacity var(--van-animation-duration-fast)}.van-material-action-bar__detail:active{opacity:var(--van-active-opacity)}.van-material-action-bar__detail>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__stepper-prefix{flex:none;margin:0 4px 0 8px;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg)}.van-material-action-bar__stepper-wrapper{position:relative;flex:none;margin-left:4px}.van-material-action-bar__kind-tag{flex:none;margin-left:4px}.van-material-action-bar__stepper{flex:none;margin-left:0;--van-stepper-input-width: 24px;--van-stepper-input-height: 18px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: var(--van-line-height-lg)}.van-material-action-bar__number-trigger{position:absolute;z-index:1;top:0;left:18px;width:24px;height:18px;padding:0;background:transparent;border:0;cursor:pointer}.van-material-action-bar__unit{flex:none;width:32px;margin-left:8px;overflow:hidden;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__desc{margin:2px 0 0;overflow:hidden;color:var(--van-gray-6);font-size:var(--van-font-size-sm);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.van-material-action-bar__warning{margin:2px 0 0;color:var(--van-red-500);font-size:var(--van-font-size-sm);line-height:20px}.van-material-action-bar__picking-outbound{display:flex;gap:4px;margin:2px 0 0;color:var(--van-text-color);font-size:var(--van-font-size-sm);line-height:20px}.van-material-action-bar__picking-label{color:var(--van-gray-6)}.van-material-action-bar__picking-value{font-weight:600}.van-material-action-bar__keyword{color:var(--van-primary-color)}.van-material-add{position:relative;display:flex;flex-direction:column;height:calc(100vh - 96px);max-height:calc(100vh - 96px);bottom:56px;overflow:hidden;background:var(--van-gray-2)}.van-material-add>.van-action-sheet__content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.van-material-add__nav{flex:none;--van-nav-bar-background-color: var(--van-gray-2)}.van-material-add__nav .van-nav-bar__left--slot{left:var(--van-padding-md)}.van-material-add__nav .van-nav-bar__right--slot{right:var(--van-padding-md)}.van-material-add__search{flex:none;padding:8px var(--van-padding-md);--van-search-padding: 0;--van-search-background-color: var(--van-gray-2);--van-search-content-background-color: var(--van-white)}.van-material-add__search .van-search__field{padding-left:0}.van-material-add__tabs{flex:none;padding-left:8px;--van-tabs-line-height: 44px;--van-tab-font-size: var(--van-font-size-md);--van-tabs-bottom-bar-width: 40px;--van-tabs-nav-background-color: transparent}.van-material-add__filter-tags{display:flex;flex:none;gap:6px;padding:12px var(--van-padding-md)}.van-material-add__filter-tags .van-filter-tag{min-width:56px;--van-filter-tag-background-color: var(--van-gray-4)}.van-material-add__body{flex:1;min-height:0;padding:0 var(--van-padding-md) 12px;overflow-y:auto}.van-material-add__tree-card{margin-bottom:12px;overflow:hidden;background:var(--van-white);border-radius:8px}.van-material-add__catalog-leaf{overflow:hidden}.van-material-add__material-list{overflow:hidden;background:var(--van-white);border-radius:8px}.van-material-add__empty{padding:32px 16px;color:var(--van-text-color-3);font-size:var(--van-font-size-md);text-align:center}.van-material-add__footer{position:relative;z-index:2;flex:none;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-material-add__footer .van-bottom-action-bar{box-shadow:none}.van-material-add__selected-panel{position:absolute;right:0;bottom:60px;left:0;display:flex;flex-direction:column;max-height:340px;overflow:hidden;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-material-add__selected-header{display:flex;align-items:center;justify-content:space-between;padding:12px var(--van-padding-md) 4px}.van-material-add__clear,.van-material-add__collapse{padding:0;background:transparent;border:0}.van-material-add__clear{color:var(--van-primary-color);font:inherit;font-size:var(--van-font-size-md)}.van-material-add__collapse{display:inline-flex;gap:2px;align-items:center;color:var(--van-gray-6);font:inherit;font-size:var(--van-font-size-md)}.van-material-add__selected-list{display:flex;flex-direction:column;gap:6px;padding:var(--van-padding-xs) var(--van-padding-md);overflow-y:auto}.van-material-add__detail-page{position:fixed;z-index:3000;inset:0;display:flex;flex-direction:column;overflow:hidden;background:var(--van-gray-2)}.van-material-add__detail-banner{position:absolute;top:0;right:0;left:0;height:320px;overflow:hidden;background:var(--van-gray-8)}.van-material-add__detail-swipe{height:320px;touch-action:pan-y}.van-material-add__detail-image{width:100%;height:310px;background-position:center;background-size:cover}.van-material-add__detail-image--motor{background-image:url(/dog1.jpg)}.van-material-add__detail-image--blower{background-image:url(/dog2.jpg)}.van-material-add__detail-image--coil{background-image:url(/dog3.jpg)}.van-material-add__detail-dots{position:absolute;z-index:2;top:226px;left:50%;display:flex;gap:6px;transform:translate(-50%)}.van-material-add__detail-dots>i{width:6px;height:6px;background:rgba(255,255,255,.55);border-radius:50%}.van-material-add__detail-dot--active{background:var(--van-white)!important}.van-material-add__detail-close{position:absolute;z-index:1;top:56px;left:var(--van-padding-md);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--van-gray-9);background:var(--van-gray-3);border:0;border-radius:50%;box-shadow:0 2px 5px rgba(27,33,41,.1)}.van-material-add__detail-content{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;min-height:0;margin-top:246px;overflow:hidden;background:var(--van-white);border-radius:16px 16px 0 0}.van-material-add__detail-body{flex:1;min-height:0;padding:16px var(--van-padding-md) 24px;overflow-y:auto}.van-material-add__detail-section+.van-material-add__detail-section{margin-top:24px}.van-material-add__detail-section .van-blue-mark-header{margin-bottom:8px;padding:0}.van-material-add__detail-card{padding:8px 12px;color:var(--van-gray-9);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);background:linear-gradient(90deg,var(--van-gray-2),rgba(241,244,246,.2));border-radius:8px}.van-material-add__detail-info-rows{display:flex;flex-direction:column;gap:8px}.van-material-add__detail-row{display:flex;gap:16px;justify-content:space-between;min-height:22px}.van-material-add__detail-row>span{flex:none;width:56px;color:var(--van-gray-6)}.van-material-add__detail-row>strong{flex:1;color:var(--van-gray-9);font-weight:400;text-align:right;white-space:pre-line}.van-material-add__detail-link{color:var(--van-primary-color)!important;font-weight:var(--van-font-weight-bold)!important}.van-material-add-detail-enter-active{transition:transform var(--van-animation-duration-fast) var(--van-animation-timing-function-enter);will-change:transform}.van-material-add-detail-leave-active{transition:transform var(--van-animation-duration-fast) var(--van-animation-timing-function-leave);will-change:transform}.van-material-add-detail-enter-from,.van-material-add-detail-leave-to{transform:translateY(100%)}.van-material-add-detail-section-enter-active,.van-material-add-detail-section-leave-active{overflow:hidden;transition:max-height .2s ease,opacity .2s ease}.van-material-add-detail-section-enter-from,.van-material-add-detail-section-leave-to{max-height:0;opacity:0}.van-material-add-detail-section-enter-to,.van-material-add-detail-section-leave-from{max-height:480px;opacity:1}.van-material-add-item{position:relative;padding:10px var(--van-padding-md);cursor:pointer;transition:background-color .2s ease}.van-material-add-item:active{background-color:var(--van-active-color)}.van-material-add-item--selected{padding:10px var(--van-padding-md);background:var(--van-gray-2);border-radius:8px}.van-material-add-item--selected:after{display:none}.van-material-add-item:not(:last-child):after{position:absolute;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);height:1px;background:var(--van-border-color);transform:scaleY(.5);content:""}.van-material-add-item__main{display:flex;align-items:center;min-height:22px}.van-material-add-item__detail{display:inline-flex;flex:1;gap:2px;align-items:center;min-width:0;padding:0;overflow:hidden;color:var(--van-gray-9);font:inherit;font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-align:left;background:transparent;border:0}.van-material-add-item__detail>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-add-item__kind-tag{flex:none;margin-left:4px}.van-material-add-item__stepper{flex:none;margin-left:8px;--van-stepper-input-width: 32px;--van-stepper-input-height: 18px;--van-stepper-input-font-size: var(--van-font-size-md);--van-stepper-input-line-height: var(--van-line-height-lg)}.van-material-add-item__unit{width:32px;margin-left:8px;overflow:hidden;color:var(--van-text-color-2);font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);text-overflow:ellipsis;white-space:nowrap}.van-material-add-item__desc{margin:4px 0 0;overflow:hidden;color:var(--van-gray-6);font-size:var(--van-font-size-sm);line-height:20px;text-overflow:ellipsis;white-space:nowrap}.van-material-add-item__keyword{color:var(--van-primary-color)}
@@ -129,7 +129,7 @@ export declare const MaterialAdd: import("../utils").WithInstall<import("vue").D
129
129
  }>>;
130
130
  export default MaterialAdd;
131
131
  export type { MaterialAddProps } from './MaterialAdd';
132
- export type { MaterialAddCategory, MaterialAddItem } from './types';
132
+ export type { MaterialAddCategory, MaterialAddCategoryNode, MaterialAddItem } from './types';
133
133
  declare module 'vue' {
134
134
  interface GlobalComponents {
135
135
  VanMaterialAdd: typeof MaterialAdd;
@@ -22,20 +22,6 @@
22
22
  &__body { flex: 1; min-height: 0; padding: 0 var(--van-padding-md) 12px; overflow-y: auto; }
23
23
  &__tree-card { margin-bottom: 12px; overflow: hidden; background: var(--van-white); border-radius: 8px; }
24
24
  &__catalog-leaf { overflow: hidden; }
25
- // Tree leaf nodes each sit inside their own wrapper, so restore the list
26
- // divider here instead of relying on the item sibling selector.
27
- &__catalog-leaf .van-material-action-bar::after {
28
- position: absolute;
29
- right: var(--van-padding-md);
30
- bottom: 0;
31
- left: var(--van-padding-md);
32
- display: block;
33
- height: 1px;
34
- content: '';
35
- background: var(--van-border-color);
36
- transform: scaleY(.5);
37
- }
38
- .van-tree-select__children > .van-tree-select__node:last-child > &__catalog-leaf .van-material-action-bar::after { display: none; }
39
25
  &__material-list { overflow: hidden; background: var(--van-white); border-radius: 8px; }
40
26
  &__empty { padding: 32px 16px; color: var(--van-text-color-3); font-size: var(--van-font-size-md); text-align: center; }
41
27
  &__footer { position: relative; z-index: 2; flex: none; background: var(--van-white); box-shadow: 0 -2px 5px rgb(27 33 41 / 10%); .van-bottom-action-bar { box-shadow: none; } }
@@ -12,8 +12,11 @@ export declare type MaterialAddCategory = {
12
12
  id: Numeric;
13
13
  text: string;
14
14
  kind: 'material' | 'tool';
15
- categories: Array<{
16
- value: string;
17
- text: string;
18
- }>;
15
+ categories: MaterialAddCategoryNode[];
16
+ };
17
+ export declare type MaterialAddCategoryNode = {
18
+ id?: Numeric;
19
+ value?: string;
20
+ text: string;
21
+ children?: MaterialAddCategoryNode[];
19
22
  };
@@ -30,6 +30,17 @@ var stdin_default = defineComponent({
30
30
  const swipeRef = ref();
31
31
  const item = computed(() => props.item);
32
32
  const close = () => emit("update:show", false);
33
+ const findCategoryPath = (categories, value, path = []) => {
34
+ for (const category of categories) {
35
+ const nextPath = [...path, category.text];
36
+ if (category.value === value)
37
+ return nextPath;
38
+ const match = category.children && findCategoryPath(category.children, value, nextPath);
39
+ if (match)
40
+ return match;
41
+ }
42
+ return void 0;
43
+ };
33
44
  const infoRows = computed(() => {
34
45
  if (props.fields.length) {
35
46
  return props.fields;
@@ -37,14 +48,8 @@ var stdin_default = defineComponent({
37
48
  if (!item.value)
38
49
  return [];
39
50
  const [brand = "-", specification = "-", warehouse = "-"] = item.value.detail.split("\uFF5C");
40
- const group = props.categories.find((entry) => entry.categories.some((category2) => {
41
- var _a;
42
- return category2.value === ((_a = item.value) == null ? void 0 : _a.category);
43
- }));
44
- const category = group == null ? void 0 : group.categories.find((entry) => {
45
- var _a;
46
- return entry.value === ((_a = item.value) == null ? void 0 : _a.category);
47
- });
51
+ const group = props.categories.find((entry) => findCategoryPath(entry.categories, item.value.category));
52
+ const categoryPath = group && findCategoryPath(group.categories, item.value.category);
48
53
  return [{
49
54
  label: "\u7269\u6599\u540D\u79F0",
50
55
  content: item.value.name
@@ -56,7 +61,7 @@ var stdin_default = defineComponent({
56
61
  content: "12"
57
62
  }, {
58
63
  label: "\u6240\u5C5E\u5206\u7C7B",
59
- content: category && group ? `${group.text}/${category.text}` : item.value.category
64
+ content: categoryPath && group ? `${group.text}/${categoryPath.join("/")}` : item.value.category
60
65
  }, {
61
66
  label: "\u54C1\u724C",
62
67
  content: brand
@@ -1 +1 @@
1
- :root{--van-material-display-bar-padding: 10px var(--van-padding-md);--van-material-display-bar-radius: var(--van-border-radius-lg);--van-material-display-bar-gap: 4px;--van-material-display-bar-fields-gap: 0;--van-material-display-bar-field-label-max-width: 120px;--van-material-display-bar-title-color: var(--van-gray-8);--van-material-display-bar-title-font-size: var(--van-font-size-md);--van-material-display-bar-title-line-height: var(--van-line-height-lg);--van-material-display-bar-title-gap: 2px;--van-material-display-bar-title-icon-size: 12px;--van-material-display-bar-quantity-color: var(--van-orange-700);--van-material-display-bar-quantity-gap: 4px;--van-material-display-bar-quantity-label-gap: 4px}.van-material-display-bar{overflow:hidden;background:var(--van-white)}.van-material-display-bar--rounded{border-radius:var(--van-material-display-bar-radius)}.van-material-display-bar__body{display:flex;flex-direction:column;gap:var(--van-material-display-bar-gap);padding:var(--van-material-display-bar-padding)}.van-material-display-bar__header,.van-material-display-bar__quantity,.van-material-display-bar__title{display:flex;align-items:center}.van-material-display-bar__header{justify-content:space-between;gap:var(--van-material-display-bar-gap);min-width:0}.van-material-display-bar__title{flex:1 1 0;min-width:0;gap:var(--van-material-display-bar-title-gap);padding:0;overflow:hidden;color:var(--van-material-display-bar-title-color);font:inherit;font-size:var(--van-material-display-bar-title-font-size);font-weight:400;line-height:var(--van-material-display-bar-title-line-height);text-align:left;background:transparent;border:0;cursor:pointer}.van-material-display-bar__title:active{opacity:var(--van-active-opacity)}.van-material-display-bar__title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-display-bar__title-arrow{flex:none;color:var(--van-material-display-bar-title-color);font-size:var(--van-material-display-bar-title-icon-size)}.van-material-display-bar__quantity{flex:none;gap:var(--van-material-display-bar-quantity-gap);color:var(--van-material-display-bar-title-color);font-size:var(--van-material-display-bar-title-font-size);line-height:var(--van-material-display-bar-title-line-height);white-space:nowrap}.van-material-display-bar__quantity strong{color:var(--van-material-display-bar-quantity-color);font-weight:var(--van-font-weight-bold)}.van-material-display-bar__quantity-label{margin-right:var(--van-material-display-bar-quantity-label-gap)}.van-material-display-bar__stock-insufficient{flex:none;color:var(--van-red-500);font-size:var(--van-font-size-sm);line-height:var(--van-line-height-md);white-space:nowrap}.van-material-display-bar__fields{display:flex;flex-direction:column;gap:var(--van-material-display-bar-fields-gap);width:100%}.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media){min-width:0}.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__label{max-width:var(--van-material-display-bar-field-label-max-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__value,.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__text,.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__text,.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__link{display:block}.van-material-display-bar__divider.van-divider{margin:0 var(--van-padding-md)}.van-material-display-bar__bottom{display:flex;flex-direction:column;gap:var(--van-material-display-bar-gap)}.van-material-display-bar__swipe-cell{overflow:hidden;background:var(--van-gray-2)}.van-material-display-bar__swipe-cell--rounded{border-radius:var(--van-material-display-bar-radius)}.van-material-display-bar__delete{width:calc(100% - 8px);height:100%;margin:0 4px;border:0;border-radius:8px}
1
+ :root{--van-material-display-bar-padding: 10px var(--van-padding-md);--van-material-display-bar-radius: var(--van-border-radius-lg);--van-material-display-bar-gap: 4px;--van-material-display-bar-fields-gap: 0;--van-material-display-bar-field-label-max-width: 120px;--van-material-display-bar-title-color: var(--van-gray-8);--van-material-display-bar-title-font-size: var(--van-font-size-md);--van-material-display-bar-title-font-weight: var(--van-font-weight-bold);--van-material-display-bar-title-line-height: var(--van-line-height-lg);--van-material-display-bar-title-gap: 2px;--van-material-display-bar-title-icon-size: 12px;--van-material-display-bar-quantity-color: var(--van-orange-700);--van-material-display-bar-quantity-gap: 4px;--van-material-display-bar-quantity-label-gap: 4px}.van-material-display-bar{overflow:hidden;background:var(--van-white)}.van-material-display-bar--rounded{border-radius:var(--van-material-display-bar-radius)}.van-material-display-bar__body{display:flex;flex-direction:column;gap:var(--van-material-display-bar-gap);padding:var(--van-material-display-bar-padding)}.van-material-display-bar__header,.van-material-display-bar__quantity,.van-material-display-bar__title{display:flex;align-items:center}.van-material-display-bar__header{justify-content:space-between;gap:var(--van-material-display-bar-gap);min-width:0}.van-material-display-bar__title{flex:1 1 0;min-width:0;gap:var(--van-material-display-bar-title-gap);padding:0;overflow:hidden;color:var(--van-material-display-bar-title-color);font:inherit;font-size:var(--van-material-display-bar-title-font-size);font-weight:var(--van-material-display-bar-title-font-weight);line-height:var(--van-material-display-bar-title-line-height);text-align:left;background:transparent;border:0;cursor:pointer}.van-material-display-bar__title:active{opacity:var(--van-active-opacity)}.van-material-display-bar__title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-display-bar__title-arrow{flex:none;color:var(--van-material-display-bar-title-color);font-size:var(--van-material-display-bar-title-icon-size)}.van-material-display-bar__quantity{flex:none;gap:var(--van-material-display-bar-quantity-gap);color:var(--van-material-display-bar-title-color);font-size:var(--van-material-display-bar-title-font-size);line-height:var(--van-material-display-bar-title-line-height);white-space:nowrap}.van-material-display-bar__quantity strong{color:var(--van-material-display-bar-quantity-color);font-weight:var(--van-font-weight-bold)}.van-material-display-bar__quantity-label{margin-right:var(--van-material-display-bar-quantity-label-gap)}.van-material-display-bar__stock-insufficient{flex:none;color:var(--van-red-500);font-size:var(--van-font-size-sm);line-height:var(--van-line-height-md);white-space:nowrap}.van-material-display-bar__fields{display:flex;flex-direction:column;gap:var(--van-material-display-bar-fields-gap);width:100%}.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media){min-width:0}.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__label{max-width:var(--van-material-display-bar-field-label-max-width);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__value,.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__text,.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__text,.van-material-display-bar__field.van-label:not(.van-label--vertical):not(.van-label--tag):not(.van-label--media) .van-label__link{display:block}.van-material-display-bar__divider.van-divider{margin:0 var(--van-padding-md)}.van-material-display-bar__bottom{display:flex;flex-direction:column;gap:var(--van-material-display-bar-gap)}.van-material-display-bar__swipe-cell{overflow:hidden;background:var(--van-gray-2)}.van-material-display-bar__swipe-cell--rounded{border-radius:var(--van-material-display-bar-radius)}.van-material-display-bar__delete{width:calc(100% - 8px);height:100%;margin:0 4px;border:0;border-radius:8px}
@@ -8,6 +8,7 @@
8
8
  --van-material-display-bar-field-label-max-width: @material-detail-field-label-max-width;
9
9
  --van-material-display-bar-title-color: @material-detail-title-color;
10
10
  --van-material-display-bar-title-font-size: @material-detail-title-font-size;
11
+ --van-material-display-bar-title-font-weight: @material-detail-title-font-weight;
11
12
  --van-material-display-bar-title-line-height: @material-detail-title-line-height;
12
13
  --van-material-display-bar-title-gap: @material-detail-title-gap;
13
14
  --van-material-display-bar-title-icon-size: @material-detail-title-icon-size;
@@ -51,7 +52,7 @@
51
52
  color: var(--van-material-display-bar-title-color);
52
53
  font: inherit;
53
54
  font-size: var(--van-material-display-bar-title-font-size);
54
- font-weight: 400;
55
+ font-weight: var(--van-material-display-bar-title-font-weight);
55
56
  line-height: var(--van-material-display-bar-title-line-height);
56
57
  text-align: left;
57
58
  background: transparent;
@@ -5,6 +5,7 @@
5
5
  @material-detail-field-label-max-width: 120px;
6
6
  @material-detail-title-color: var(--van-gray-8);
7
7
  @material-detail-title-font-size: var(--van-font-size-md);
8
+ @material-detail-title-font-weight: var(--van-font-weight-bold);
8
9
  @material-detail-title-line-height: var(--van-line-height-lg);
9
10
  @material-detail-title-gap: 2px;
10
11
  @material-detail-title-icon-size: 12px;
@@ -1,3 +1,5 @@
1
1
  import "../../style/base.css";
2
+ import "../../badge/index.css";
3
+ import "../../icon/index.css";
2
4
  import "../../loading/index.css";
3
5
  import "../index.css";