cnhis-design-vue 3.1.42-beta.5 → 3.1.42-beta.51

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 (250) hide show
  1. package/README.md +87 -87
  2. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  3. package/es/components/base-search/index.d.ts +2 -2
  4. package/es/components/base-search/src/index.vue.d.ts +2 -2
  5. package/es/components/base-search/style/index.css +1 -1
  6. package/es/components/big-table/index.d.ts +3 -4
  7. package/es/components/big-table/src/BigTable.vue.d.ts +3 -4
  8. package/es/components/big-table/src/BigTable.vue2.js +1 -1
  9. package/es/components/big-table/src/components/edit-form/edit-select-table.d.ts +1 -1
  10. package/es/components/big-table/src/components/edit-form/edit-select.js +1 -1
  11. package/es/components/big-table/src/hooks/useEvent.js +1 -1
  12. package/es/components/big-table/src/hooks/useFormat.js +1 -1
  13. package/es/components/big-table/src/hooks/useNestTable.js +1 -1
  14. package/es/components/big-table/src/hooks/useTableParse.js +1 -1
  15. package/es/components/big-table/src/utils.d.ts +11 -1
  16. package/es/components/big-table/src/utils.js +1 -1
  17. package/es/components/big-table/style/index.css +1 -1
  18. package/es/components/bpmn-workflow/index.d.ts +12 -0
  19. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  20. package/es/components/bpmn-workflow/src/BpmnWorkflow.vue.d.ts +12 -0
  21. package/es/components/bpmn-workflow/src/BpmnWorkflow.vue.js +1 -1
  22. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
  23. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
  24. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
  25. package/es/components/button-print/index.d.ts +4 -4
  26. package/es/components/button-print/src/ButtonPrint.vue.d.ts +4 -4
  27. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  28. package/es/components/button-print/src/components/EditFormat.vue.d.ts +4 -4
  29. package/es/components/button-print/src/components/IdentityVerification.vue.d.ts +4 -4
  30. package/es/components/button-print/src/utils/print.js +1 -1
  31. package/es/components/classification/index.d.ts +1 -1
  32. package/es/components/classification/src/index.vue.d.ts +2 -2
  33. package/es/components/classification/style/index.css +1 -1
  34. package/es/components/config-provider/src/ConfigProvider.js +1 -1
  35. package/es/components/config-provider/src/interface.d.ts +4 -4
  36. package/es/components/date-picker/index.d.ts +4 -0
  37. package/es/components/date-picker/src/DatePicker.vue.d.ts +4 -0
  38. package/es/components/date-picker/src/DatePicker.vue.js +1 -1
  39. package/es/components/fabric-chart/index.d.ts +2 -2
  40. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +2 -2
  41. package/es/components/fabric-chart/src/hooks/useBirthProcess.d.ts +1 -0
  42. package/es/components/fabric-chart/src/hooks/useBirthProcess.js +1 -1
  43. package/es/components/fabric-chart/src/hooks/useBirthProcessChart.js +1 -1
  44. package/es/components/fabric-chart/src/hooks/useCenter.js +1 -1
  45. package/es/components/fabric-chart/src/hooks/useLeft.js +1 -1
  46. package/es/components/fabric-chart/src/hooks/useScaleColumn.d.ts +16 -0
  47. package/es/components/fabric-chart/src/hooks/useScaleColumn.js +1 -0
  48. package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
  49. package/es/components/field-set/index.d.ts +26 -81
  50. package/es/components/field-set/src/FieldSet.vue.d.ts +28 -32
  51. package/es/components/field-set/src/FieldSet.vue.js +1 -1
  52. package/es/components/field-set/style/index.css +1 -1
  53. package/es/components/form-config/index.d.ts +65 -39
  54. package/es/components/form-config/src/FormConfig.vue.d.ts +65 -39
  55. package/es/components/form-config/src/FormConfig.vue.js +1 -1
  56. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +28 -14
  57. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +33 -21
  58. package/es/components/form-config/src/components/FormConfigEdit.vue.js +1 -1
  59. package/es/components/form-config/src/components/renderer/DefaultNode.vue.js +1 -1
  60. package/es/components/form-config/src/constants/index.d.ts +12 -1
  61. package/es/components/form-config/src/constants/index.js +1 -1
  62. package/es/components/form-config/src/hooks/useConfigurationField.js +1 -1
  63. package/es/components/form-config/src/types/index.d.ts +1 -0
  64. package/es/components/form-render/index.d.ts +28 -14
  65. package/es/components/form-render/index.js +1 -1
  66. package/es/components/form-render/src/FormRender.vue.d.ts +28 -14
  67. package/es/components/form-render/src/FormRender.vue.js +1 -1
  68. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +28 -14
  69. package/es/components/form-render/src/components/renderer/combination.js +1 -1
  70. package/es/components/form-render/src/components/renderer/complex.d.ts +1 -1
  71. package/es/components/form-render/src/components/renderer/jsonCombination/index.js +1 -1
  72. package/es/components/form-render/src/components/renderer/levelSearchCascader.d.ts +18 -0
  73. package/es/components/form-render/src/components/renderer/levelSearchCascader.js +1 -1
  74. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +1 -1
  75. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +1 -1
  76. package/es/components/form-render/src/components/renderer/radio&checkbox.d.ts +38 -2
  77. package/es/components/form-render/src/components/renderer/radio_checkbox.js +1 -1
  78. package/es/components/form-render/src/components/renderer/remoteSearch.d.ts +18 -0
  79. package/es/components/form-render/src/components/renderer/remoteSearch.js +1 -1
  80. package/es/components/form-render/src/components/renderer/searchCascade.d.ts +18 -0
  81. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  82. package/es/components/form-render/src/components/renderer/select.d.ts +32 -5
  83. package/es/components/form-render/src/components/renderer/select.js +1 -1
  84. package/es/components/form-render/src/hooks/index.d.ts +1 -1
  85. package/es/components/form-render/src/hooks/index.js +1 -1
  86. package/es/components/form-render/src/hooks/useFormAsyncQueue.d.ts +16 -0
  87. package/es/components/form-render/src/hooks/useFormAsyncQueue.js +1 -0
  88. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  89. package/es/components/form-render/src/hooks/useFormRenderOptions.d.ts +13 -8
  90. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  91. package/es/components/form-render/src/types/fieldItem.d.ts +3 -4
  92. package/es/components/form-render/src/types/index.d.ts +2 -1
  93. package/es/components/form-render/style/index.css +1 -1
  94. package/es/components/iho-table/index.d.ts +24 -5
  95. package/es/components/iho-table/src/IhoTable.vue.d.ts +24 -5
  96. package/es/components/iho-table/src/IhoTable.vue.js +1 -1
  97. package/es/components/iho-table/src/constants/index.d.ts +2 -2
  98. package/es/components/iho-table/src/constants/index.js +1 -1
  99. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +4 -4
  100. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  101. package/es/components/iho-table/src/hooks/tapHooks/useConfigHooks.d.ts +22 -21
  102. package/es/components/iho-table/src/hooks/tapHooks/useConfigHooks.js +1 -1
  103. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +60 -237
  104. package/es/components/iho-table/src/hooks/tapHooks/useExposeHooks.d.ts +1 -4
  105. package/es/components/iho-table/src/hooks/tapHooks/useFieldHooks.d.ts +4 -16
  106. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks.d.ts +2 -2
  107. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks.js +1 -1
  108. package/es/components/iho-table/src/plugins/anchorPlugin/useAnchor.js +1 -1
  109. package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +1 -1
  110. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +1 -1
  111. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.js +1 -1
  112. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  113. package/es/components/iho-table/src/plugins/highLightSetPlugin.d.ts +1 -0
  114. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +1 -0
  115. package/es/components/iho-table/src/plugins/index.js +1 -1
  116. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  117. package/es/components/iho-table/src/plugins/maxCheckSizePlugin.d.ts +1 -0
  118. package/es/components/iho-table/src/plugins/maxCheckSizePlugin.js +1 -0
  119. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +4 -0
  120. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.d.ts +25 -3
  121. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  122. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  123. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
  124. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue.d.ts +1 -1
  125. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/editTime.vue.js +1 -1
  126. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/defaultRendererPlugin.js +1 -1
  127. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/seqRendererPlugin.js +1 -1
  128. package/es/components/iho-table/src/plugins/rowDragPlugin/index.d.ts +1 -0
  129. package/es/components/iho-table/src/plugins/rowDragPlugin/index.js +1 -0
  130. package/es/components/iho-table/src/plugins/{rendererPlugins/widgets/variableHeightRendererPlugin.d.ts → varialbleHeightPlugin/index.d.ts} +1 -1
  131. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -0
  132. package/es/components/iho-table/src/types/index.d.ts +22 -5
  133. package/es/components/iho-table/src/types/pluginType.d.ts +10 -25
  134. package/es/components/iho-table/src/utils/index.d.ts +3 -0
  135. package/es/components/iho-table/src/utils/index.js +1 -1
  136. package/es/components/iho-table/style/iconfont.ttf +0 -0
  137. package/es/components/iho-table/style/index.css +1 -1
  138. package/es/components/index.css +1 -1
  139. package/es/components/index.js +1 -1
  140. package/es/components/info-header/index.d.ts +60 -32
  141. package/es/components/info-header/src/InfoHeader.vue.d.ts +60 -32
  142. package/es/components/info-header/src/InfoHeader.vue.js +1 -1
  143. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +3 -3
  144. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +3 -3
  145. package/es/components/info-header/src/components/infoDescription/HiddenContent.vue.d.ts +2 -2
  146. package/es/components/info-header/src/components/infoDescription/HiddenContent.vue.js +1 -1
  147. package/es/components/info-header/src/components/infoDescription/InfoEllipsis.vue.d.ts +1 -1
  148. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +31 -17
  149. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +28 -14
  150. package/es/components/info-header/style/index.css +1 -1
  151. package/es/components/keyboard/index.d.ts +1 -1
  152. package/es/components/keyboard/src/Keyboard.vue.d.ts +1 -1
  153. package/es/components/keyboard/src/Keyboard.vue.js +1 -1
  154. package/es/components/keyboard/src/constants/index.js +1 -1
  155. package/es/components/keyboard/style/index.css +1 -1
  156. package/es/components/map/index.d.ts +2 -14
  157. package/es/components/map/src/Map.vue.d.ts +1 -14
  158. package/es/components/map/src/types/index.d.ts +19 -0
  159. package/es/components/map/src/types/index.js +1 -0
  160. package/es/components/recommend-search/index.d.ts +13 -128
  161. package/es/components/recommend-search/src/RecommendSearch.vue.d.ts +15 -130
  162. package/es/components/recommend-search/src/RecommendSearch.vue.js +1 -1
  163. package/es/components/recommend-search/src/components/BaseSearch.d.ts +84 -0
  164. package/es/components/recommend-search/src/components/BaseSearch.js +1 -0
  165. package/es/components/recommend-search/src/components/RecommendInput.vue.d.ts +3 -63
  166. package/es/components/recommend-search/src/components/RecommendInput.vue.js +1 -1
  167. package/es/components/recommend-search/src/components/RecommendMenu.vue.d.ts +1 -3
  168. package/es/components/recommend-search/src/components/RecommendMenu.vue.js +1 -1
  169. package/es/components/recommend-search/src/components/RecommendSelect.vue.d.ts +4 -62
  170. package/es/components/recommend-search/src/components/RecommendSelect.vue.js +1 -1
  171. package/es/components/recommend-search/src/constant/index.d.ts +3 -0
  172. package/es/components/recommend-search/src/constant/index.js +1 -1
  173. package/es/components/scale-view/index.d.ts +29 -94
  174. package/es/components/scale-view/index.js +1 -1
  175. package/es/components/scale-view/src/ScaleView.vue.d.ts +29 -94
  176. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  177. package/es/components/scale-view/src/components/formitem/r-address.js +1 -1
  178. package/es/components/scale-view/src/components/formitem/r-checkbox.js +1 -1
  179. package/es/components/scale-view/src/components/formitem/r-datetime.js +1 -1
  180. package/es/components/scale-view/src/components/formitem/r-map.js +1 -1
  181. package/es/components/scale-view/src/components/formitem/standard-modal.d.ts +4 -4
  182. package/es/components/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue.d.ts +1 -1
  183. package/es/components/scale-view/src/hooks/scaleview-computed.d.ts +1 -1
  184. package/es/components/scale-view/src/hooks/scaleview-computed.js +1 -1
  185. package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
  186. package/es/components/scale-view/src/hooks/scaleview-submit.js +1 -1
  187. package/es/components/scale-view/src/hooks/scaleview-validate.js +1 -1
  188. package/es/components/scale-view/src/hooks/use-component.d.ts +73 -3
  189. package/es/components/scale-view/src/hooks/use-evaluate.js +1 -1
  190. package/es/components/scale-view/src/hooks/use-event.js +1 -1
  191. package/es/components/scale-view/style/index.css +1 -1
  192. package/es/components/search-cascader/index.d.ts +12 -1
  193. package/es/components/search-cascader/src/SearchCascader.vue.d.ts +12 -1
  194. package/es/components/search-cascader/src/SearchCascader.vue.js +1 -1
  195. package/es/components/search-cascader/src/components/SearchMenu.d.ts +8 -1
  196. package/es/components/search-cascader/src/components/SearchMenu.js +1 -1
  197. package/es/components/search-cascader/src/constants/index.d.ts +1 -0
  198. package/es/components/search-cascader/src/constants/index.js +1 -1
  199. package/es/components/select-label/src/LabelFormContent.vue.js +1 -1
  200. package/es/components/select-label/src/SelectLabel.vue2.js +1 -1
  201. package/es/components/select-label/style/index.css +1 -1
  202. package/es/components/select-person/index.d.ts +1 -1
  203. package/es/components/select-person/src/SelectPerson.vue.d.ts +1 -1
  204. package/es/components/shortcut-setter/index.d.ts +29 -16
  205. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +29 -16
  206. package/es/components/steps-wheel/src/StepsWheel.vue.js +1 -1
  207. package/es/components/steps-wheel/src/constants/index.js +1 -1
  208. package/es/components/steps-wheel/style/index.css +1 -1
  209. package/es/components/table-filter/src/components/render-widget/components/CheckboxGroup.vue.d.ts +1 -1
  210. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +1 -1
  211. package/es/components/table-filter/src/types/index.d.ts +11 -2
  212. package/es/components/time-picker/src/TimePicker.vue.js +1 -1
  213. package/es/components/vod-chunk-upload/index.d.ts +73 -3
  214. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.d.ts +73 -3
  215. package/es/components/vod-chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue.js +1 -1
  216. package/es/env.d.ts +25 -24
  217. package/es/shared/components/TextOverTooltip/TextOverTooltip.vue.d.ts +1 -1
  218. package/es/shared/components/TextOverTooltip/TextOverTooltip.vue.js +1 -1
  219. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
  220. package/es/shared/{mixins → hooks}/index.d.ts +1 -0
  221. package/es/shared/{mixins → hooks}/index.js +1 -1
  222. package/es/{components/form-render/src → shared}/hooks/useAsyncQueue.d.ts +0 -14
  223. package/es/shared/hooks/useAsyncQueue.js +1 -0
  224. package/es/shared/{mixins → hooks}/useDateTime.d.ts +2 -2
  225. package/es/shared/hooks/useDateTime.js +1 -0
  226. package/es/shared/utils/anime.d.ts +1 -1
  227. package/es/shared/utils/anime.js +1 -1
  228. package/es/shared/utils/index.d.ts +3 -3
  229. package/es/shared/utils/index.js +1 -1
  230. package/es/shared/utils/tapable/index.d.ts +139 -0
  231. package/es/shared/utils/vexutils.d.ts +2 -2
  232. package/es/shared/utils/vexutils.js +1 -1
  233. package/es/shared/utils/vexutilsExpand.d.ts +254 -0
  234. package/es/shared/utils/vexutilsExpand.js +1 -0
  235. package/package.json +2 -2
  236. package/es/components/form-render/src/hooks/useAsyncQueue.js +0 -1
  237. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/variableHeightRendererPlugin.js +0 -1
  238. package/es/components/recommend-search/src/components/BaseSearch.vue.d.ts +0 -143
  239. package/es/components/recommend-search/src/components/BaseSearch.vue.js +0 -1
  240. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +0 -115
  241. package/es/components/scale-view/src/hooks/scaleview-props.js +0 -1
  242. package/es/shared/mixins/useDateTime.js +0 -1
  243. package/es/shared/utils/colorLog.d.ts +0 -31
  244. package/es/shared/utils/colorLog.js +0 -1
  245. /package/es/components/base-search/style/{iconfont.ttf → base-search-iconfont.ttf} +0 -0
  246. /package/es/components/classification/style/{iconfont.ttf → classification-iconfont.ttf} +0 -0
  247. /package/es/components/info-header/style/{iconfont.ttf → info-header-font.ttf} +0 -0
  248. /package/es/components/select-label/style/{iconfont.ttf → select-label-iconfont.ttf} +0 -0
  249. /package/es/shared/{mixins → hooks}/useTheme.d.ts +0 -0
  250. /package/es/shared/{mixins → hooks}/useTheme.js +0 -0
@@ -103,9 +103,11 @@ declare const _default: import("vue").DefineComponent<{
103
103
  emitValue: (value: ValueType) => void;
104
104
  onClear: () => void;
105
105
  onClick: (evt: Event) => void;
106
+ onKeydown: (evt: KeyboardEvent) => void;
106
107
  cssVariable: {
107
108
  '--menu-width': number;
108
109
  };
110
+ eventBus: AnyObject;
109
111
  uuid: string;
110
112
  show: import("vue").Ref<boolean> | import("vue").WritableComputedRef<boolean>;
111
113
  patternContent: import("vue").Ref<string>;
@@ -116,11 +118,13 @@ declare const _default: import("vue").DefineComponent<{
116
118
  inputRef: import("vue").Ref<any>;
117
119
  popoverRef: import("vue").Ref<any>;
118
120
  currentNode: import("vue").Ref<AnyObject | undefined>;
121
+ cursorNode: import("vue").Ref<AnyObject | undefined>;
119
122
  loadingNode: import("vue").Ref<Nullable<AnyObject>>;
120
123
  search: (payload?: {
121
124
  type: 'search' | 'update';
122
125
  node: AnyObject;
123
126
  }, keyword?: string) => Promise<void>;
127
+ changeCursorNode: (node: AnyObject) => void;
124
128
  NInput: any;
125
129
  NPopover: any;
126
130
  SearchMenu: import("vue").DefineComponent<{
@@ -143,7 +147,10 @@ declare const _default: import("vue").DefineComponent<{
143
147
  currentNode: {
144
148
  type: PropType<AnyObject>;
145
149
  };
146
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "nodeClick"[], "nodeClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
150
+ cursorNode: {
151
+ type: PropType<AnyObject>;
152
+ };
153
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("nodeClick" | "changeCursor")[], "nodeClick" | "changeCursor", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
147
154
  childKey: {
148
155
  type: StringConstructor;
149
156
  default: string;
@@ -163,8 +170,12 @@ declare const _default: import("vue").DefineComponent<{
163
170
  currentNode: {
164
171
  type: PropType<AnyObject>;
165
172
  };
173
+ cursorNode: {
174
+ type: PropType<AnyObject>;
175
+ };
166
176
  }>> & {
167
177
  onNodeClick?: ((...args: any[]) => any) | undefined;
178
+ onChangeCursor?: ((...args: any[]) => any) | undefined;
168
179
  }, {
169
180
  options: AnyObject[];
170
181
  valueKey: string;
@@ -1 +1 @@
1
- import{defineComponent as e,provide as a,computed as l,ref as t,nextTick as r,openBlock as o,createBlock as u,unref as n,isRef as s,normalizeStyle as i,withCtx as c,createVNode as p,withKeys as v,createElementVNode as d,renderSlot as f}from"vue";import{uuidGenerator as y}from"../../../shared/utils/index.js";import{NOOP as h}from"@vue/shared";import{useVModel as m,onClickOutside as b,useDebounceFn as g}from"@vueuse/core";import{isString as w,isArray as k,isFunction as S,isObject as _}from"lodash-es";import{NPopover as K,NInput as C}from"naive-ui";import{InjectionSearchCascaderCheckAbleLevel as j,InjectionSearchCascaderLoadingNode as N,InjectionSearchCascaderValue as P}from"./constants/index.js";import{useCssVariable as x}from"./hooks/useCssVariable.js";import{SearchMenu as A}from"./components/SearchMenu.js";import V from"../../../_virtual/plugin-vue_export-helper.js";const F=["id"];var L=V(e({__name:"SearchCascader",props:{value:{type:[String,Array]},show:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},childKey:{type:String,default:"children"},placeholder:{type:String,default:"请选择"},editPlaceholder:{type:String,default:"请输入关键字进行搜索"},options:{type:Array,default:()=>[]},search:{type:Function},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},checkAbleLevel:{type:[Number,String],default:"last"},beforeSetValue:{type:Function}},emits:["update:value","focus","update:show"],setup(e,{emit:V}){const L=e;function U(){var e;e=[],Promise.resolve(S(L.beforeSetValue)?L.beforeSetValue(e):e).then((e=>V("update:value",e)),h)}function B(e){var a;"INPUT"===(null==(a=e.target)?void 0:a.tagName)&&function(){if(I.value)return;I.value=!0,M.value="",J()}()}const R=x(),E=y(),I=m(L,"show",V);a(j,l((()=>L.checkAbleLevel)));const M=t(""),T=l({get:()=>I.value?M.value:w(L.value)?L.value:k(L.value)?L.value.reduce(((e,a,l)=>0===l?a[L.labelKey]:e+" / "+a[L.labelKey]),""):"",set(e){M.value=e,J(void 0,e)}});function $(e){V("focus",e)}async function q(){var e;I.value=!1,null==(e=z.value)||e.blur()}const z=t();b(z,(e=>{var a;if(!I.value)return;const l=e;if(!l.target)return q();!function(e){let a=!1,l=e;for(;l;){if(l.id===E){a=!0;break}l=l.parentElement}return a}(l.target)?q():null==(a=z.value)||a.focus()}));const D=t(),G=t(),H=t(null);a(N,H),a(P,l((()=>L.value)));const J=g((async(e,a)=>{var l;const{type:t,node:o}=e||{};try{if("update"===t)return void(S(L.search)&&L.search({...o,isLeaf:!0}));H.value=o;const e=await(S(L.search)&&L.search(o,a));G.value=_(e)?e:o}finally{H.value=null,await r(),null==(l=D.value)||l.syncPosition()}}),400);return(a,l)=>(o(),u(n(K),{class:"search-cascader",trigger:"manual",show:n(I),"onUpdate:show":l[1]||(l[1]=e=>s(I)?I.value=e:null),"show-arrow":!1,placement:"bottom-start",style:i(n(R)),width:e.options.length?void 0:"trigger",ref_key:"popoverRef",ref:D},{trigger:c((()=>[p(n(C),{class:"search-cascader__input",placeholder:n(I)?e.editPlaceholder:e.placeholder,clearable:e.clearable,onClear:U,value:n(T),"onUpdate:value":l[0]||(l[0]=e=>s(T)?T.value=e:null),ref_key:"inputRef",ref:z,onFocus:$,onClick:B,onKeydown:v(B,["enter"])},null,8,["placeholder","clearable","value","onKeydown"])])),default:c((()=>[d("section",{id:n(E)},[p(n(A),{"label-key":e.labelKey,"value-key":e.valueKey,options:e.options,onNodeClick:n(J),"current-node":G.value},{empty:c((()=>[f(a.$slots,"empty")])),_:3},8,["label-key","value-key","options","onNodeClick","current-node"])],8,F)])),_:3},8,["show","style","width"]))}}),[["__file","SearchCascader.vue"]]);export{L as default};
1
+ import{defineComponent as e,provide as a,computed as l,ref as t,nextTick as r,watch as o,openBlock as u,createBlock as n,unref as s,isRef as i,normalizeStyle as c,withCtx as v,createVNode as d,createElementVNode as p,renderSlot as f}from"vue";import{uuidGenerator as y}from"../../../shared/utils/index.js";import{NOOP as h}from"@vue/shared";import{useDebounceFn as m,useEventBus as g,useVModel as b,onClickOutside as w}from"@vueuse/core";import{isString as k,isArray as S,isFunction as _,isObject as K}from"lodash-es";import{NPopover as C,NInput as N}from"naive-ui";import{InjectionSearchCascaderCheckAbleLevel as P,InjectionKeyboardEventBus as j,InjectionSearchCascaderLoadingNode as x,InjectionSearchCascaderValue as A}from"./constants/index.js";import{useCssVariable as U}from"./hooks/useCssVariable.js";import{SearchMenu as V}from"./components/SearchMenu.js";import F from"../../../_virtual/plugin-vue_export-helper.js";const L=["id"];var B=F(e({__name:"SearchCascader",props:{value:{type:[String,Array]},show:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},childKey:{type:String,default:"children"},placeholder:{type:String,default:"请选择"},editPlaceholder:{type:String,default:"请输入关键字进行搜索"},options:{type:Array,default:()=>[]},search:{type:Function},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},checkAbleLevel:{type:[Number,String],default:"last"},beforeSetValue:{type:Function}},emits:["update:value","focus","update:show"],setup(e,{emit:F}){const B=e;function E(){var e;e=[],Promise.resolve(_(B.beforeSetValue)?B.beforeSetValue(e):e).then((e=>F("update:value",e)),h)}function I(e){var a;"INPUT"===(null==(a=e.target)?void 0:a.tagName)&&H()}const R=m((e=>{var a;"INPUT"!==(null==(a=e.target)?void 0:a.tagName)||"Enter"!==e.code||q.value?M.emit(e.key):H()}),50),T=U(),M=g("cascaderKeydown"),$=y(),q=b(B,"show",F);a(P,l((()=>B.checkAbleLevel))),a(j,M);const z=t(""),D=l({get:()=>q.value?z.value:k(B.value)?B.value:S(B.value)?B.value.reduce(((e,a,l)=>0===l?a[B.labelKey]:e+" / "+a[B.labelKey]),""):"",set(e){z.value=e,Z(void 0,e)}});function G(e){F("focus",e)}function H(){q.value||(q.value=!0,z.value="",Z())}async function J(){var e;q.value=!1,null==(e=O.value)||e.blur()}const O=t();w(O,(e=>{var a;if(!q.value)return;const l=e;if(!l.target)return J();!function(e){let a=!1,l=e;for(;l;){if(l.id===$){a=!0;break}l=l.parentElement}return a}(l.target)?J():null==(a=O.value)||a.focus()}));const Q=t(),W=t(),X=t(),Y=t(null);a(x,Y),a(A,l((()=>B.value)));const Z=m((async(e,a)=>{var l;const{type:t,node:o}=e||{};try{if("update"===t)return void(_(B.search)&&B.search({...o,isLeaf:!0}));Y.value=o;const e=await(_(B.search)&&B.search(o,a));W.value=K(e)?e:o}finally{Y.value=null,await r(),null==(l=Q.value)||l.syncPosition()}}),400),ee=e=>{X.value=e};return o((()=>B.show),(e=>{e&&(X.value={})})),(a,l)=>(u(),n(s(C),{class:"search-cascader",trigger:"manual",show:s(q),"onUpdate:show":l[1]||(l[1]=e=>i(q)?q.value=e:null),"show-arrow":!1,placement:"bottom-start",style:c(s(T)),width:e.options.length?void 0:"trigger",ref_key:"popoverRef",ref:Q},{trigger:v((()=>[d(s(N),{class:"search-cascader__input",placeholder:s(q)?e.editPlaceholder:e.placeholder,clearable:e.clearable,onClear:E,value:s(D),"onUpdate:value":l[0]||(l[0]=e=>i(D)?D.value=e:null),ref_key:"inputRef",ref:O,onFocus:G,onClick:I,onKeydown:s(R)},null,8,["placeholder","clearable","value","onKeydown"])])),default:v((()=>[p("section",{id:s($)},[d(s(V),{"label-key":e.labelKey,"value-key":e.valueKey,options:e.options,onNodeClick:s(Z),onChangeCursor:ee,"current-node":W.value,"cursor-node":X.value},{empty:v((()=>[f(a.$slots,"empty")])),_:3},8,["label-key","value-key","options","onNodeClick","current-node","cursor-node"])],8,L)])),_:3},8,["show","style","width"]))}}),[["__file","SearchCascader.vue"]]);export{B as default};
@@ -20,7 +20,10 @@ export declare const SearchMenu: import("vue").DefineComponent<{
20
20
  currentNode: {
21
21
  type: PropType<AnyObject>;
22
22
  };
23
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "nodeClick"[], "nodeClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
23
+ cursorNode: {
24
+ type: PropType<AnyObject>;
25
+ };
26
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("nodeClick" | "changeCursor")[], "nodeClick" | "changeCursor", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
24
27
  childKey: {
25
28
  type: StringConstructor;
26
29
  default: string;
@@ -40,8 +43,12 @@ export declare const SearchMenu: import("vue").DefineComponent<{
40
43
  currentNode: {
41
44
  type: PropType<AnyObject>;
42
45
  };
46
+ cursorNode: {
47
+ type: PropType<AnyObject>;
48
+ };
43
49
  }>> & {
44
50
  onNodeClick?: ((...args: any[]) => any) | undefined;
51
+ onChangeCursor?: ((...args: any[]) => any) | undefined;
45
52
  }, {
46
53
  options: AnyObject[];
47
54
  valueKey: string;
@@ -1 +1 @@
1
- import{defineComponent as e,computed as t,inject as a,createVNode as l,withModifiers as r,ref as n,createTextVNode as o}from"vue";import{traverse as i}from"../../../../shared/utils/index.js";import{Reload as s,ChevronForward as u}from"@vicons/ionicons5";import{NOOP as c}from"@vue/shared";import{useVirtualList as p}from"@vueuse/core";import{isNumber as d,isArray as v,isEqual as y,isString as f,isFunction as m}from"lodash-es";import{NCheckbox as h}from"naive-ui";import{InjectionSearchCascaderLoadingNode as K,InjectionSearchCascaderValue as b,InjectionSearchCascaderCheckAbleLevel as _}from"../constants/index.js";const k=e({props:{options:{type:Array,default:()=>[]},activeNodes:{type:Array,default:()=>[]},level:{type:Number,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"}},emits:["nodeClick"],setup(e,{emit:n}){const o=t((()=>e.options)),{list:i,containerProps:m,wrapperProps:k}=p(o,{itemHeight:32,overscan:5}),g=a(K),C=a(b),N=a(_),S=t((()=>d(N.value)&&N.value<=e.level));function x(t){const a=function(e){const t=[e];let a=e;for(;a.parent;)a=a.parent,t.unshift(a);return t}(t);if(v(C.value))return y(l(a,e.valueKey),l(C.value,e.valueKey));if(f(C.value)){const t=C.value.split("/").map((e=>e.trim()));return y(t,l(a,e.labelKey))}return!1;function l(e,t){return e.map((e=>e[t]))}}return()=>l("div",{class:"search-cascader__optionWrapper",ref:m.ref,style:m.style,onScroll:m.onScroll},[l("div",{style:k.value.style},[i.value.map((t=>{return l("div",{class:["search-cascader__option",{"search-cascader__option--active":(a=t.data,null==(o=e.activeNodes)?void 0:o.includes(a))}],onClick:()=>n("nodeClick",{type:"search",node:t.data}),title:t.data[e.labelKey]},[l("div",{class:"search-cascader__optionText"},[S.value?l(h,{style:{marginRight:"8px"},checked:x(t.data),onClick:r(c,["stop"]),onUpdateChecked:e=>e&&function(e){n("nodeClick",{type:"update",node:e})}(t.data)},null):null,t.data[e.labelKey]]),g.value===t.data?l(s,{class:"rotate"},null):t.data.isLeaf?null:l(u,null,null)]);var a,o}))])])}}),g=e({props:{childKey:{type:String,default:"children"},options:{type:Array,default:()=>[]},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},currentNode:{type:Object}},emits:["nodeClick"],setup(e,{slots:t,emit:a}){const r=n([]);function s(t,n){return l(k,{level:n+1,labelKey:e.labelKey,valueKey:e.valueKey,activeNodes:r.value,onNodeClick:e=>a("nodeClick",e),options:t},null)}function u(t){let a=!1;return i(t,((t,l)=>{t===e.currentNode&&(a=!0,l())}),["children"]),a}function c(){if(!v(e.options)||!e.currentNode)return[];const t=[e.options];let a=e.options;for(r.value.length=0;v(a);){const l=a.find(u);if(!l)break;r.value.push(l),a=l[e.childKey],t.push(a)}return t}return()=>l("section",{class:"search-cascader__menuWrapper"},[v(e.options)&&e.options.length?e.currentNode?c().map(s):s(e.options,0):l("section",{class:"search-cascader__emptyWrapper"},[m(t.empty)?t.empty():l("section",null,[o("empty")])])])}});export{g as SearchMenu};
1
+ import{defineComponent as e,computed as r,inject as t,createVNode as o,withModifiers as n,ref as a,createTextVNode as l}from"vue";import{traverse as c}from"../../../../shared/utils/index.js";import{Reload as s,ChevronForward as u}from"@vicons/ionicons5";import{NOOP as i}from"@vue/shared";import{useVirtualList as d}from"@vueuse/core";import{isNumber as p,isArray as f,isEqual as v,isString as y,isFunction as h}from"lodash-es";import{NCheckbox as m}from"naive-ui";import{InjectionSearchCascaderLoadingNode as g,InjectionSearchCascaderValue as N,InjectionSearchCascaderCheckAbleLevel as C,InjectionKeyboardEventBus as b}from"../constants/index.js";const k=e({props:{options:{type:Array,default:()=>[]},activeNodes:{type:Array,default:()=>[]},level:{type:Number,required:!0},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},cursorNode:{type:Object,default:()=>({})}},emits:["nodeClick","changeCursor"],setup(e,{emit:a}){const l=r((()=>e.options)),{list:c,containerProps:h,wrapperProps:k}=d(l,{itemHeight:32,overscan:5}),K=t(g),_=t(N),x=t(C),A=t(b),S=r((()=>p(x.value)&&x.value<=e.level));function j(e){return Object.keys(e).length<=0}function w(r){return e.cursorNode==r}function I(r){const t=function(e){const r=[e];let t=e;for(;t.parent;)t=t.parent,r.unshift(t);return r}(r);if(f(_.value))return v(o(t,e.valueKey),o(_.value,e.valueKey));if(y(_.value)){const r=_.value.split("/").map((e=>e.trim()));return v(r,o(t,e.labelKey))}return!1;function o(e,r){return e.map((e=>e[r]))}}function O(e){const r=h.ref.value;if(r){const t=32*e-(null==r?void 0:r.clientHeight);r.scrollTo(0,t>0?t:0)}}return A.on((function(r){function t(){return S.value?a("nodeClick",{type:"update",node:e.cursorNode}):a("nodeClick",{type:"search",node:e.cursorNode})}if("ArrowUp"===r){if(j(e.cursorNode))return;const r=l.value.findIndex((r=>r===e.cursorNode));if(r>=0){const e=0===r?l.value.length-1:r-1,t=l.value[e];a("changeCursor",t),O(e+3)}}if("ArrowRight"===r){if(j(e.cursorNode))return;a("nodeClick",{type:"search",node:e.cursorNode}),a("changeCursor",{})}if("ArrowDown"===r){if(j(e.cursorNode))return a("changeCursor",l.value[0]);const r=l.value.findIndex((r=>r===e.cursorNode));if(r>=0){const e=r>=l.value.length-1?0:r+1,t=l.value[e];a("changeCursor",t),O(e+1)}}if("ArrowLeft"===r&&e.activeNodes.length){const r=e.activeNodes.slice(-1);a("changeCursor",r[0])}" "===r&&t(),"Enter"===r&&t()})),()=>o("div",{class:"search-cascader__optionWrapper",ref:h.ref,style:h.style,onScroll:h.onScroll},[o("div",{style:k.value.style},[c.value.map((r=>{return o("div",{class:["search-cascader__option",{"search-cascader__option--active":(t=r.data,(null==(l=e.activeNodes)?void 0:l.includes(t))||w(r.data))}],onClick:()=>a("nodeClick",{type:"search",node:r.data}),title:r.data[e.labelKey]},[o("div",{class:"search-cascader__optionText"},[S.value?o(m,{style:{marginRight:"8px"},checked:I(r.data),onClick:n(i,["stop"]),onUpdateChecked:e=>e&&function(e){a("nodeClick",{type:"update",node:e})}(r.data)},null):null,r.data[e.labelKey]]),K.value===r.data?o(s,{class:"rotate"},null):r.data.isLeaf?null:o(u,null,null)]);var t,l}))])])}}),K=e({props:{childKey:{type:String,default:"children"},options:{type:Array,default:()=>[]},labelKey:{type:String,default:"label"},valueKey:{type:String,default:"value"},currentNode:{type:Object},cursorNode:{type:Object}},emits:["nodeClick","changeCursor"],setup(e,{slots:r,emit:t}){const n=a([]);function s(r,a){return o(k,{level:a+1,labelKey:e.labelKey,valueKey:e.valueKey,activeNodes:n.value,onNodeClick:e=>t("nodeClick",e),onChangeCursor:e=>t("changeCursor",e),options:r,cursorNode:e.cursorNode},null)}function u(r){let t=!1;return c(r,((r,o)=>{r===e.currentNode&&(t=!0,o())}),["children"]),t}function i(){if(!f(e.options)||!e.currentNode)return[];const r=[e.options];let t=e.options;for(n.value.length=0;f(t);){const o=t.find(u);if(!o)break;n.value.push(o),t=o[e.childKey],r.push(t)}if(e.cursorNode){const t=r.findIndex((r=>r.findIndex((r=>r===e.cursorNode))>=0));if(t>=0){const e=r.slice(0,t+1);return n.value.splice(t,r.length),e}}return r}return()=>o("section",{class:"search-cascader__menuWrapper"},[f(e.options)&&e.options.length?e.currentNode?i().map(s):s(e.options,0):o("section",{class:"search-cascader__emptyWrapper"},[h(r.empty)?r.empty():o("section",null,[l("empty")])])])}});export{K as SearchMenu};
@@ -3,3 +3,4 @@ import { ComputedRef, InjectionKey, Ref } from 'vue';
3
3
  export declare const InjectionSearchCascaderLoadingNode: InjectionKey<Ref<Nullable<AnyObject>>>;
4
4
  export declare const InjectionSearchCascaderValue: InjectionKey<ComputedRef<AnyObject[] | string>>;
5
5
  export declare const InjectionSearchCascaderCheckAbleLevel: InjectionKey<ComputedRef<'last' | number>>;
6
+ export declare const InjectionKeyboardEventBus: InjectionKey<Ref<Nullable<AnyObject>>>;
@@ -1 +1 @@
1
- const e=Symbol("InjectionSearchCascaderLoadingNode "),a=Symbol("InjectionSearchCascaderValue "),c=Symbol("InjectionSearchCascaderCheckAbleLevel");export{c as InjectionSearchCascaderCheckAbleLevel,e as InjectionSearchCascaderLoadingNode,a as InjectionSearchCascaderValue};
1
+ const e=Symbol("InjectionSearchCascaderLoadingNode "),o=Symbol("InjectionSearchCascaderValue "),a=Symbol("InjectionSearchCascaderCheckAbleLevel"),c=Symbol("InjectionKeyboardEventBus");export{c as InjectionKeyboardEventBus,a as InjectionSearchCascaderCheckAbleLevel,e as InjectionSearchCascaderLoadingNode,o as InjectionSearchCascaderValue};
@@ -1 +1 @@
1
- import{defineComponent as t,ref as e,reactive as l,computed as a,watch as i,openBlock as n,createElementBlock as r,unref as s,createCommentVNode as d,withDirectives as o,createElementVNode as c,normalizeClass as b,createVNode as u,withCtx as p,Fragment as f,renderList as h,createBlock as y,createTextVNode as v,toDisplayString as m,vShow as g,nextTick as C}from"vue";import{useMessage as L,NAnchor as I,NAnchorLink as S}from"naive-ui";import E from"./components/label-classify.vue.js";import{handleLabelColor as w}from"../../../shared/utils/vexutils.js";import x from"../../../_virtual/plugin-vue_export-helper.js";import A from"xe-utils";const O={key:0,class:"label-disable-wrap"},K=[c("p",{class:"label-disable-title"},"无可选标签",-1),c("p",{class:"label-disable-desc"},"请联系管理员进行标签管理设置",-1)],j={style:{height:"100%"}},k={class:"label-wrap"},T=["id"],_={class:"edit-label-type"};var B=x(t({__name:"LabelFormContent",props:{item:{default:()=>({})},isEdit:{type:Boolean,default:!0},isLock:{type:Boolean,default:!1},labelSelectedList:null,isChangeWindow:{type:Boolean},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},labelOptions:null,sourceType:{default:""},explicit:{type:Boolean,default:!1}},emits:["explicitOnChange","change","updateLabelData"],setup(t,{expose:x,emit:B}){const D=t,F=L(),V=e(null),P=l({editLabelItem:{},inited:!1,labelSelectedEdit:[],labelAnchorKey:"",cacheAnchorKey:"",labelConfig:{}});let N=e(0);const W=a((()=>{if(!P.inited)return!1;let t=P.labelConfig;return!t||Object.keys(t).every((e=>!t[e].itemList))})),$=a((()=>{let t=[].concat(...P.labelSelectedEdit,...D.labelSelectedList);return J(t,"labelId")})),q=a((()=>{const t=$.value||[];return Array.isArray(t)?t.map((t=>t.labelId)):[]})),J=(t,e)=>{let l={};return t.reduce(((t,a)=>(!l[a[e]]&&(l[a[e]]=t.push(a)),t)),[])},R=()=>{if(P.labelSelectedEdit=$.value,"object"==typeof P.labelConfig){Object.keys(P.labelConfig||{}).forEach((t=>{var e;let l=(null==(e=P.labelConfig[t])?void 0:e.itemList)||[];l.length&&l.forEach((t=>{q.value.includes(t.labelId)&&(t.isSelect=!0)}))}))}},z=(t,e)=>{if(!t)return;let l=Object.keys(t)||[];if(!l.length)return;let a=t[l[0]].curKey;if(e&&"string"==typeof e){let[i]=e.split("~"),n=l.find((e=>t[e]&&t[e].curKey&&t[e].curKey.includes(i)));n&&(a=t[n].curKey)}a&&Y(a)},G=(t,e)=>{e.showAdd=!0;const l=t.target.nextElementSibling;C((()=>{var t;null==(t=null==l?void 0:l.firstChild)||t.focus()}))},H=(t,e)=>{setTimeout((()=>{e.addVal?Q(e):e.showAdd=!1}),150)},M=(t,e)=>{e.addVal="",e.showAdd=!1},Q=async t=>{var e;if(!!t.itemList.filter((t=>!(t.isPublic&&1==t.isPublic))).find((e=>e.labelName===t.addVal)))return F.error("标签名称重复!"),!1;let l="";l=(null==(e=t.itemList)?void 0:e.length)?t.itemList[0].parentColor||t.parentColor||"":(null==t?void 0:t.parentColor)||"";const a={type:t.typeId,name:t.addVal,parentColor:l},{status:i}=await D.saveLabelItem(a,t);i&&(F.success("添加成功!"),B("updateLabelData"),t.showAdd=!1)},U=(t,e,l,a)=>{var i;const n=l.itemList,r=l.multipleChoice;let s=(null==(i=P.labelSelectedEdit)?void 0:i.length)&&A.clone(P.labelSelectedEdit,!0)||[];if(t){if(s.some((t=>t.labelId==e.labelId)))return;if(2==r){const{typeId:t,labelId:l}=e;s=s.filter((e=>e.typeId!==t)),n.forEach((t=>{t.labelId!==l&&(t.isSelect=!1)}))}s.push(e)}else{const t=s.findIndex((t=>t.labelId==e.labelId));-1!=t&&s.splice(t,1)}P.labelSelectedEdit=[...s],N.value++,D.explicit&&B("explicitOnChange",[...P.labelSelectedEdit])},X=async t=>{const{status:e}=await D.deleteLabel(t,D.item);if(e){F.success("删除成功!");for(const e in P.labelConfig){const l=P.labelConfig[e].itemList.findIndex((e=>e.labelId==t.labelId));-1!=l&&P.labelConfig[e].itemList.splice(l,1)}const e=P.labelSelectedEdit||[],l=D.labelSelectedList||[];if(e&&e.length){const l=e.findIndex((e=>e.labelId==t.labelId));-1!=l&&e.splice(l,1)}if(l&&l.length){const e=l.findIndex((e=>e.labelId==t.labelId));-1!=e&&l.splice(e,1),B("change",[...l],D.item)}B("updateLabelData")}else F.warning("删除失败")},Y=t=>{t&&setTimeout((()=>{let e,l="#"+t;e=V.value.querySelector("a[href='"+l+"']"),e&&e.click(),P.labelAnchorKey=t}),32)},Z=t=>{t.preventDefault()},tt=t=>{if(!t)return;let e=t.slice(1);P.cacheAnchorKey=e},et=()=>{var t;return null==(t=V.value)?void 0:t.querySelector(".right-label-wrap")};return i((()=>D.labelOptions),(t=>{t&&(()=>{var t;if(D.isLock)return;const e=JSON.parse(JSON.stringify(D.labelOptions));for(let l in e){let a=(null==(t=e[l])?void 0:t.typeId)||"";Object.assign(e[l],{curKey:`${l}_${a}}`})}P.labelConfig=e,C((()=>{let t;R(),D.explicit&&P.inited&&(t=P.labelAnchorKey),z(P.labelConfig,t),P.inited=!0}))})()}),{immediate:!0,deep:!0}),x({resetShowAdd:()=>{let{labelObj:t}=P.editLabelItem;if(t&&Object.keys(t).length)for(let e in t){let l=t[e];Object.assign(l,{showAdd:!1})}},handleLabelForm:t=>{t([...P.labelSelectedEdit||[]])},handleResetOptions:()=>{},hanldeSetLabelItem:(t,e)=>{if("object"==typeof P.labelConfig){Object.keys(P.labelConfig||{}).forEach((l=>{var a;let i=(null==(a=P.labelConfig[l])?void 0:a.itemList)||[];i.length&&i.forEach((l=>{t==l.labelId&&(l.isSelect=e)}))}))}if(!1===e&&Array.isArray(P.labelSelectedEdit)){const e=P.labelSelectedEdit.findIndex((e=>e.labelId==t));-1!=e&&P.labelSelectedEdit.splice(e,1)}}}),(e,l)=>(n(),r("div",{class:"c-label-form-content",ref_key:"labelFormContent",ref:V},[s(W)?(n(),r("div",O,K)):d("v-if",!0),o(c("div",j,[c("div",k,[d(" 表单内嵌打开标签组件的样式 "),d(' <div v-if="explicit" class="explicit-continer">\r\n\t\t\t\t\t<n-tabs :value="state.labelAnchorKey" type="card" @change="labelAnchorTabsOnChange" tab-position="top">\r\n\t\t\t\t\t\t<template v-for="(v, i) in state.labelConfig">\r\n\t\t\t\t\t\t\t<n-tab-pane :name="v.curKey">\r\n\t\t\t\t\t\t\t\t<span slot="tab">\r\n\t\t\t\t\t\t\t\t\t{{ i }}\r\n\t\t\t\t\t\t\t\t\t<span class="edit-label-type">({{ v.multipleChoice == 2 ? \'单\' : \'多\' }}选)</span>\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t<div class="explicit-label-wrap left-label-wrap">\r\n\t\t\t\t\t\t\t\t\t<div class="edit-label-content">\r\n\t\t\t\t\t\t\t\t\t\t<labelClassify\r\n\t\t\t\t\t\t\t\t\t\t\t:classifyItem="v"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelChange="handleLabelChange"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelColor="handleLabelColor"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleDelLabel="handleDelLabel"\r\n\t\t\t\t\t\t\t\t\t\t\t:hanldeBlur="hanldeBlur"\r\n\t\t\t\t\t\t\t\t\t\t\t:handleAddLabel="handleAddLabel"\r\n\t\t\t\t\t\t\t\t\t\t\t:clearaddVal="clearaddVal"\r\n\t\t\t\t\t\t\t\t\t\t\t:isEdit="isEdit"\r\n\t\t\t\t\t\t\t\t\t\t\t:sourceType="sourceType"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</n-tab-pane>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</n-tabs>\r\n\t\t\t\t</div> '),d("\r\n\t\t\t\t\t普通标签样式\r\n\t\t\t\t\tv-else\r\n\t\t\t\t\texplicit\r\n\t\t\t\t "),c("div",{class:b(["left-label-wrap",{"total-left-label-wrap":t.isChangeWindow}])},[u(s(I),{"offset-target":et,type:"block",onClick:Z,onChange:tt},{default:p((()=>[(n(!0),r(f,null,h(P.labelConfig,((t,e)=>(n(),y(s(S),{href:`#${t.curKey}`,title:String(e)},null,8,["href","title"])))),256))])),_:1})],2),d(' v-if="!explicit" '),c("div",{class:b(["right-label-wrap",{"total-right-label-wrap":t.isChangeWindow}])},[(n(!0),r(f,null,h(P.labelConfig,((e,l)=>(n(),r("div",{key:l,class:"edit-label-content"},[c("div",{class:"edit-label",id:e.curKey},[v(m(l)+" ",1),c("span",_,"("+m(2==e.multipleChoice?"单":"多")+"选)",1)],8,T),u(E,{classifyItem:e,handleLabelChange:U,handleLabelColor:s(w),handleDelLabel:X,hanldeBlur:H,handleAddLabel:G,clearaddVal:M,isEdit:t.isEdit,sourceType:t.sourceType},null,8,["classifyItem","handleLabelColor","isEdit","sourceType"])])))),128))],2)])],512),[[g,!s(W)]])],512))}}),[["__file","LabelFormContent.vue"]]);export{B as default};
1
+ import{defineComponent as t,ref as e,reactive as l,computed as a,watch as i,openBlock as n,createElementBlock as s,unref as d,createCommentVNode as o,withDirectives as r,createElementVNode as c,normalizeClass as b,createVNode as u,withCtx as p,Fragment as f,renderList as h,createBlock as y,createTextVNode as v,toDisplayString as m,vShow as g,nextTick as C}from"vue";import{useMessage as L,NAnchor as I,NAnchorLink as S}from"naive-ui";import E from"./components/label-classify.vue.js";import{handleLabelColor as w}from"../../../shared/utils/vexutils.js";import x from"../../../_virtual/plugin-vue_export-helper.js";import A from"../../../shared/utils/vexutilsExpand.js";const O={key:0,class:"label-disable-wrap"},j=[c("p",{class:"label-disable-title"},"无可选标签",-1),c("p",{class:"label-disable-desc"},"请联系管理员进行标签管理设置",-1)],K={style:{height:"100%"}},k={class:"label-wrap"},T=["id"],_={class:"edit-label-type"};var B=x(t({__name:"LabelFormContent",props:{item:{default:()=>({})},isEdit:{type:Boolean,default:!0},isLock:{type:Boolean,default:!1},labelSelectedList:null,isChangeWindow:{type:Boolean},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},labelOptions:null,sourceType:{default:""},explicit:{type:Boolean,default:!1}},emits:["explicitOnChange","change","updateLabelData"],setup(t,{expose:x,emit:B}){const D=t,F=L(),V=e(null),P=l({editLabelItem:{},inited:!1,labelSelectedEdit:[],labelAnchorKey:"",cacheAnchorKey:"",labelConfig:{}});let N=e(0);const W=a((()=>{if(!P.inited)return!1;let t=P.labelConfig;return!t||Object.keys(t).every((e=>!t[e].itemList))})),$=a((()=>{let t=[].concat(...P.labelSelectedEdit,...D.labelSelectedList);return J(t,"labelId")})),q=a((()=>{const t=$.value||[];return Array.isArray(t)?t.map((t=>t.labelId)):[]})),J=(t,e)=>{let l={};return t.reduce(((t,a)=>(!l[a[e]]&&(l[a[e]]=t.push(a)),t)),[])},R=()=>{if(P.labelSelectedEdit=$.value,"object"==typeof P.labelConfig){Object.keys(P.labelConfig||{}).forEach((t=>{var e;let l=(null==(e=P.labelConfig[t])?void 0:e.itemList)||[];l.length&&l.forEach((t=>{q.value.includes(t.labelId)&&(t.isSelect=!0)}))}))}},z=(t,e)=>{if(!t)return;let l=Object.keys(t)||[];if(!l.length)return;let a=t[l[0]].curKey;if(e&&"string"==typeof e){let[i]=e.split("~"),n=l.find((e=>t[e]&&t[e].curKey&&t[e].curKey.includes(i)));n&&(a=t[n].curKey)}a&&Y(a)},G=(t,e)=>{e.showAdd=!0;const l=t.target.nextElementSibling;C((()=>{var t;null==(t=null==l?void 0:l.firstChild)||t.focus()}))},H=(t,e)=>{setTimeout((()=>{e.addVal?Q(e):e.showAdd=!1}),150)},M=(t,e)=>{e.addVal="",e.showAdd=!1},Q=async t=>{var e;if(!!t.itemList.filter((t=>!(t.isPublic&&1==t.isPublic))).find((e=>e.labelName===t.addVal)))return F.error("标签名称重复!"),!1;let l="";l=(null==(e=t.itemList)?void 0:e.length)?t.itemList[0].parentColor||t.parentColor||"":(null==t?void 0:t.parentColor)||"";const a={type:t.typeId,name:t.addVal,parentColor:l},{status:i}=await D.saveLabelItem(a,t);i&&(F.success("添加成功!"),B("updateLabelData"),t.showAdd=!1)},U=(t,e,l,a)=>{var i;const n=l.itemList,s=l.multipleChoice;let d=(null==(i=P.labelSelectedEdit)?void 0:i.length)&&A.clone(P.labelSelectedEdit,!0)||[];if(t){if(d.some((t=>t.labelId==e.labelId)))return;if(2==s){const{typeId:t,labelId:l}=e;d=d.filter((e=>e.typeId!==t)),n.forEach((t=>{t.labelId!==l&&(t.isSelect=!1)}))}d.push(e)}else{const t=d.findIndex((t=>t.labelId==e.labelId));-1!=t&&d.splice(t,1)}P.labelSelectedEdit=[...d],N.value++,D.explicit&&B("explicitOnChange",[...P.labelSelectedEdit])},X=async t=>{const{status:e}=await D.deleteLabel(t,D.item);if(e){F.success("删除成功!");for(const e in P.labelConfig){const l=P.labelConfig[e].itemList.findIndex((e=>e.labelId==t.labelId));-1!=l&&P.labelConfig[e].itemList.splice(l,1)}const e=P.labelSelectedEdit||[],l=D.labelSelectedList||[];if(e&&e.length){const l=e.findIndex((e=>e.labelId==t.labelId));-1!=l&&e.splice(l,1)}if(l&&l.length){const e=l.findIndex((e=>e.labelId==t.labelId));-1!=e&&l.splice(e,1),B("change",[...l],D.item)}B("updateLabelData")}else F.warning("删除失败")},Y=t=>{t&&setTimeout((()=>{let e,l="#"+t;e=V.value.querySelector("a[href='"+l+"']"),e&&e.click(),P.labelAnchorKey=t}),32)},Z=t=>{t.preventDefault()},tt=t=>{if(!t)return;let e=t.slice(1);P.cacheAnchorKey=e},et=()=>{var t;return null==(t=V.value)?void 0:t.querySelector(".right-label-wrap")};return i((()=>D.labelOptions),(t=>{t&&(()=>{var t;if(D.isLock)return;const e=JSON.parse(JSON.stringify(D.labelOptions));for(let l in e){let a=(null==(t=e[l])?void 0:t.typeId)||"";Object.assign(e[l],{curKey:`${l}_${a}}`})}P.labelConfig=e,C((()=>{let t;R(),D.explicit&&P.inited&&(t=P.labelAnchorKey),z(P.labelConfig,t),P.inited=!0}))})()}),{immediate:!0,deep:!0}),x({resetShowAdd:()=>{let{labelObj:t}=P.editLabelItem;if(t&&Object.keys(t).length)for(let e in t){let l=t[e];Object.assign(l,{showAdd:!1})}},handleLabelForm:t=>{t([...P.labelSelectedEdit||[]])},handleResetOptions:()=>{},hanldeSetLabelItem:(t,e)=>{if("object"==typeof P.labelConfig){Object.keys(P.labelConfig||{}).forEach((l=>{var a;let i=(null==(a=P.labelConfig[l])?void 0:a.itemList)||[];i.length&&i.forEach((l=>{t==l.labelId&&(l.isSelect=e)}))}))}if(!1===e&&Array.isArray(P.labelSelectedEdit)){const e=P.labelSelectedEdit.findIndex((e=>e.labelId==t));-1!=e&&P.labelSelectedEdit.splice(e,1)}}}),(e,l)=>(n(),s("div",{class:"c-label-form-content",ref_key:"labelFormContent",ref:V},[d(W)?(n(),s("div",O,j)):o("v-if",!0),r(c("div",K,[c("div",k,[o(" 表单内嵌打开标签组件的样式 "),o(' <div v-if="explicit" class="explicit-continer">\n\t\t\t\t\t<n-tabs :value="state.labelAnchorKey" type="card" @change="labelAnchorTabsOnChange" tab-position="top">\n\t\t\t\t\t\t<template v-for="(v, i) in state.labelConfig">\n\t\t\t\t\t\t\t<n-tab-pane :name="v.curKey">\n\t\t\t\t\t\t\t\t<span slot="tab">\n\t\t\t\t\t\t\t\t\t{{ i }}\n\t\t\t\t\t\t\t\t\t<span class="edit-label-type">({{ v.multipleChoice == 2 ? \'单\' : \'多\' }}选)</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div class="explicit-label-wrap left-label-wrap">\n\t\t\t\t\t\t\t\t\t<div class="edit-label-content">\n\t\t\t\t\t\t\t\t\t\t<labelClassify\n\t\t\t\t\t\t\t\t\t\t\t:classifyItem="v"\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelChange="handleLabelChange"\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelColor="handleLabelColor"\n\t\t\t\t\t\t\t\t\t\t\t:handleDelLabel="handleDelLabel"\n\t\t\t\t\t\t\t\t\t\t\t:hanldeBlur="hanldeBlur"\n\t\t\t\t\t\t\t\t\t\t\t:handleAddLabel="handleAddLabel"\n\t\t\t\t\t\t\t\t\t\t\t:clearaddVal="clearaddVal"\n\t\t\t\t\t\t\t\t\t\t\t:isEdit="isEdit"\n\t\t\t\t\t\t\t\t\t\t\t:sourceType="sourceType"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</n-tab-pane>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</n-tabs>\n\t\t\t\t</div> '),o("\n\t\t\t\t\t普通标签样式\n\t\t\t\t\tv-else\n\t\t\t\t\texplicit\n\t\t\t\t "),c("div",{class:b(["left-label-wrap",{"total-left-label-wrap":t.isChangeWindow}])},[u(d(I),{"offset-target":et,type:"block",onClick:Z,onChange:tt},{default:p((()=>[(n(!0),s(f,null,h(P.labelConfig,((t,e)=>(n(),y(d(S),{href:`#${t.curKey}`,title:String(e)},null,8,["href","title"])))),256))])),_:1})],2),o(' v-if="!explicit" '),c("div",{class:b(["right-label-wrap",{"total-right-label-wrap":t.isChangeWindow}])},[(n(!0),s(f,null,h(P.labelConfig,((e,l)=>(n(),s("div",{key:l,class:"edit-label-content"},[c("div",{class:"edit-label",id:e.curKey},[v(m(l)+" ",1),c("span",_,"("+m(2==e.multipleChoice?"单":"多")+"选)",1)],8,T),u(E,{classifyItem:e,handleLabelChange:U,handleLabelColor:d(w),handleDelLabel:X,hanldeBlur:H,handleAddLabel:G,clearaddVal:M,isEdit:t.isEdit,sourceType:t.sourceType},null,8,["classifyItem","handleLabelColor","isEdit","sourceType"])])))),128))],2)])],512),[[g,!d(W)]])],512))}}),[["__file","LabelFormContent.vue"]]);export{B as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,reactive as t,computed as a,onMounted as i,watch as o,openBlock as s,createElementBlock as n,Fragment as d,createElementVNode as c,createBlock as b,unref as m,withCtx as r,renderList as p,normalizeStyle as u,createVNode as L,toDisplayString as y,withDirectives as h,normalizeClass as C,createTextVNode as f,vShow as g,createCommentVNode as v,mergeProps as I,nextTick as w}from"vue";import{NSpace as x,NTag as S,NTooltip as k,NIcon as O,NModal as N}from"naive-ui";import{AddCircleOutline as j}from"@vicons/ionicons5";import W from"./LabelFormContent.vue.js";import{handleLabelColor as P}from"../../../shared/utils/vexutils.js";import _ from"xe-utils";const B={class:"c-select-label"},A=c("span",null,"常用",-1),E={key:2,class:"outexplicit"},H=c("span",null,"选择标签",-1),z={class:"svg-wrap"};var F=e({__name:"SelectLabel",props:{selectedList:{type:Array,default:()=>[]},item:{type:Object,default:()=>({})},isDetail:{type:Boolean,default:!1},isLock:{type:Boolean,default:!1},sourceType:{type:String,default:""},explicit:{type:Boolean,default:!1},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},queryCommonlabels:{type:Function,default:()=>Promise.resolve({data:{}})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})}},emits:["onChange"],setup(e,{emit:F}){const V=e,T=l(null),U=t({labelVisible:!1,editLabelItem:{},labelSelectedList:[],labelSelectedEdit:[],inited:!1,isChangeWindow:!1,modalWidth:"763px",modalHeight:"404px",maxHeight:"404px",commonLabelList:[],multipleChoiceConfig:{}});const D=a((()=>{const e=(null==V?void 0:V.item)||{};return(1==e.is_edit||e.isShow)&&!V.isDetail})),$=(e,l)=>{e.length&&e.forEach((e=>{let t=l.some((l=>l.labelId==e.labelId));e.isSelect=t}))},q=(e,l)=>{let t=U.multipleChoiceConfig,a=U.labelSelectedList||[];if(e){if(a.some((e=>e.labelId==l.labelId)))return;"2"==t[l.typeId]&&(a=a.filter((e=>e.typeId!==l.typeId))),a.push(l)}else{const e=a.findIndex((e=>e.labelId==l.labelId));-1!=e&&a.splice(e,1)}F("onChange",[...a]),U.labelSelectedList=a},J=e=>{V.isLock||(V.explicit||"init"===e||(U.labelVisible=!0),M(V.item))},R=()=>{var e;V.explicit||(null==(e=T.value)||e.resetShowAdd(),U.editLabelItem.showAdd=!1,U.editLabelItem={},U.inited=!1,U.modalWidth="763px",U.modalHeight="404px",U.maxHeight="404px",U.isChangeWindow=!1,U.labelVisible=!1)},K=()=>{U.isChangeWindow=!U.isChangeWindow;let e=document.body.clientHeight;U.modalWidth="763px"===U.modalWidth?"100%":"763px",U.modalHeight="404px"===U.modalHeight?e-110+"px":"404px",U.maxHeight="auto"===U.modalHeight?"404px":"none"},G=()=>{var e;null==(e=T.value)||e.handleLabelForm((e=>{F("onChange",[...e]),U.labelSelectedList=e,$(U.commonLabelList,e),R()}))},M=async(e,l)=>{const{rows:t,results:a}=await V.getLabelList(e,{update:l}),i=t||[],o={},s=`${e.val_key}_${e.name}`,n=l?[...U.labelSelectedEdit||[]]:[...U.labelSelectedList||[]];i.forEach((e=>{e.cacheKey=s,e.isSelect=!1,o[e.typeName]?o[e.typeName].itemList.push({...e}):o[e.typeName]={itemList:[{...e}],showAdd:!1,addVal:"",typeName:e.typeName,typeId:e.typeId}})),a&&(e.labelObj=o,e.labelList=i),l&&(U.labelSelectedEdit=n),U.editLabelItem=e,Q(a)},Q=e=>{if(!e)return!1;let l=Object.keys(e),t={},a=(e.typeList||[]).reduce(((e,l)=>(t[l.typeId]=l.multipleChoice,e[l.typeName]={multipleChoice:l.multipleChoice,parentColor:l.parentColor,allowCreateByPersonal:l.allowCreateByPersonal},e)),{});V.explicit&&(U.multipleChoiceConfig=t),l.forEach((l=>{var t,i,o,s,n,d,c;"typeList"!==l&&("emptyTypes"!==l?_.isPlainObject(e[l])?U.editLabelItem.labelObj[l]?(U.editLabelItem.labelObj[l].isNoAdd=!0,U.editLabelItem.labelObj[l].multipleChoice=null==(i=a[l])?void 0:i.multipleChoice,U.editLabelItem.labelObj[l].allowCreateByPersonal=null==(o=a[l])?void 0:o.allowCreateByPersonal,U.editLabelItem.labelObj[l].parentColor=null==(s=a[l])?void 0:s.parentColor):U.editLabelItem.labelObj[l]={addVal:"",showAdd:!1,itemList:!1,typeId:"",typeName:l,allowCreateByPersonal:null==(t=a[l])?void 0:t.allowCreateByPersonal,...a[l]||{}}:(U.editLabelItem.labelObj[l].multipleChoice=null==(n=a[l])?void 0:n.multipleChoice,U.editLabelItem.labelObj[l].allowCreateByPersonal=null==(d=a[l])?void 0:d.allowCreateByPersonal,U.editLabelItem.labelObj[l].parentColor=null==(c=a[l])?void 0:c.parentColor):e[l].forEach((e=>{U.editLabelItem.labelObj[e.typeName]={addVal:"",showAdd:!1,itemList:[],typeId:e.typeId,typeName:e.typeName,allowCreateByPersonal:e.allowCreateByPersonal,...a[e.typeName]||{}}})))}))},X=()=>{M(V.item,!0)},Y=()=>{G()},Z=(e,l)=>{V.explicit&&w((()=>{var t;null==(t=T.value)||t.hanldeSetLabelItem(e,l)}))};return i((()=>{V.explicit?J():(async e=>{const{rows:l,results:t}=await V.getLabelList(e);if(!t)return!1;let a=(t.typeList||[]).reduce(((e,l)=>(e[l.typeId]=l.multipleChoice,e)),{});U.multipleChoiceConfig=a})(V.item)})),o((()=>V.selectedList),(e=>{if(e){let l=Array.isArray(e)?e:[];U.labelSelectedList=JSON.parse(JSON.stringify(l)),$(U.commonLabelList,U.labelSelectedList)}}),{immediate:!0,deep:!0}),o((()=>{var e;return null==(e=V.item)?void 0:e.label_type}),(e=>{e&&"form"==V.sourceType&&(async e=>{var l;let{data:t={}}=await V.queryCommonlabels(e)||{};if("SUCCESS"!==t.result)return;let a=(null==(l=t.map)?void 0:l.rows)||[];$(a,U.labelSelectedList),U.commonLabelList=a})(e)}),{immediate:!0,deep:!0}),(l,t)=>(s(),n(d,null,[c("div",B,[e.explicit?v("v-if",!0):(s(),b(m(x),{key:0,align:"center"},{default:r((()=>[(s(!0),n(d,null,p(U.labelSelectedList,(e=>(s(),b(m(S),{bordered:!1,key:e.labelId,style:u(m(P)(e,!0)),closable:m(D),onClose:l=>(e=>{const l=U.labelSelectedList||[],t=l.findIndex((l=>l.labelId==e.labelId));-1!=t&&l.splice(t,1),F("onChange",[...l]),U.labelSelectedList=l,Z(e.labelId,!1)})(e),size:"small"},{default:r((()=>[L(m(k),{placement:"top-start"},{trigger:r((()=>[c("span",null,y(e.labelName),1)])),default:r((()=>[c("span",null,y(e.labelName),1)])),_:2},1024)])),_:2},1032,["style","closable","onClose"])))),128)),e.explicit?v("v-if",!0):h((s(),n("span",{key:0,class:C(["form-add-icon form-add-icon-label",{disable:e.isLock}]),onClick:J},[L(m(O),{class:"add-icon",component:m(j)},null,8,["component"]),f(" 新增 ")],2)),[[g,m(D)]])])),_:1})),"form"==e.sourceType&&U.commonLabelList.length&&m(D)&&!e.explicit?(s(),b(m(x),{key:1,align:"center",class:"common-label"},{default:r((()=>[A,(s(!0),n(d,null,p(U.commonLabelList,((e,l)=>(s(),b(m(S),{checkable:"",checked:e.isSelect,"onUpdate:checked":l=>function(e,l){l.isSelect=e,q(e,l)}(l,e),key:l,style:u(m(P)(e)),size:"small"},{default:r((()=>[L(m(k),{placement:"top-start"},{trigger:r((()=>[c("span",null,y(e.labelName),1)])),default:r((()=>[c("span",null,y(e.labelName),1)])),_:2},1024)])),_:2},1032,["checked","onUpdate:checked","style"])))),128))])),_:1})):v("v-if",!0),e.explicit&&m(D)?(s(),n("div",E,[L(W,I(l.$attrs,{ref_key:"labelFormContentRef",ref:T,explicit:e.explicit,labelSelectedList:U.labelSelectedList,isChangeWindow:U.isChangeWindow,labelOptions:U.editLabelItem.labelObj,deleteLabel:e.deleteLabel,saveLabelItem:e.saveLabelItem,onUpdateLabelData:X,onExplicitOnChange:Y}),null,16,["explicit","labelSelectedList","isChangeWindow","labelOptions","deleteLabel","saveLabelItem"])])):v("v-if",!0)]),v(" 弹窗 "),L(m(N),{preset:"dialog",class:C(["label-form-modal-wrap modal-wrap standard-modal standard-modal-white",{"modal-screen":U.isChangeWindow}]),show:U.labelVisible,"onUpdate:show":t[0]||(t[0]=e=>U.labelVisible=e),onPositiveClick:G,onNegativeClick:R,onClose:R,"mask-closable":!1,"close-on-esc":!1,"show-icon":!1,"negative-text":"取消","positive-text":"确定",style:u({width:U.modalWidth})},{header:r((()=>[H,c("div",z,[c("i",{onClick:K,class:C(["iconfont-select-label",U.isChangeWindow?"icon-select-label-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-select-label-menzhenyishengzhanxitongtubiaozuidahua"])},null,2)])])),default:r((()=>[L(W,I(l.$attrs,{ref_key:"labelFormContentRef",ref:T,labelSelectedList:U.labelSelectedList,isChangeWindow:U.isChangeWindow,labelOptions:U.editLabelItem.labelObj,sourceType:e.sourceType,deleteLabel:e.deleteLabel,saveLabelItem:e.saveLabelItem,onUpdateLabelData:X}),null,16,["labelSelectedList","isChangeWindow","labelOptions","sourceType","deleteLabel","saveLabelItem"])])),_:1},8,["show","class","style"])],64))}});export{F as default};
1
+ import{defineComponent as e,ref as l,reactive as t,computed as a,onMounted as i,watch as o,openBlock as s,createElementBlock as n,Fragment as d,createElementVNode as c,createBlock as b,unref as m,withCtx as r,renderList as p,normalizeStyle as u,createVNode as L,toDisplayString as h,withDirectives as y,normalizeClass as C,createTextVNode as f,vShow as g,createCommentVNode as v,mergeProps as I,nextTick as w}from"vue";import{NSpace as x,NTag as S,NTooltip as k,NIcon as O,NModal as j}from"naive-ui";import{AddCircleOutline as N}from"@vicons/ionicons5";import W from"./LabelFormContent.vue.js";import{handleLabelColor as P}from"../../../shared/utils/vexutils.js";import _ from"../../../shared/utils/vexutilsExpand.js";const B={class:"c-select-label"},E=c("span",null,"常用",-1),A={key:2,class:"outexplicit"},H=c("span",null,"选择标签",-1),z={class:"svg-wrap"};var F=e({__name:"SelectLabel",props:{selectedList:{type:Array,default:()=>[]},item:{type:Object,default:()=>({})},isDetail:{type:Boolean,default:!1},isLock:{type:Boolean,default:!1},sourceType:{type:String,default:""},explicit:{type:Boolean,default:!1},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},queryCommonlabels:{type:Function,default:()=>Promise.resolve({data:{}})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})}},emits:["onChange"],setup(e,{emit:F}){const V=e,T=l(null),U=t({labelVisible:!1,editLabelItem:{},labelSelectedList:[],labelSelectedEdit:[],inited:!1,isChangeWindow:!1,modalWidth:"763px",modalHeight:"404px",maxHeight:"404px",commonLabelList:[],multipleChoiceConfig:{}});const D=a((()=>{const e=(null==V?void 0:V.item)||{};return(1==e.is_edit||e.isShow)&&!V.isDetail})),$=(e,l)=>{e.length&&e.forEach((e=>{let t=l.some((l=>l.labelId==e.labelId));e.isSelect=t}))},q=(e,l)=>{let t=U.multipleChoiceConfig,a=U.labelSelectedList||[];if(e){if(a.some((e=>e.labelId==l.labelId)))return;"2"==t[l.typeId]&&(a=a.filter((e=>e.typeId!==l.typeId))),a.push(l)}else{const e=a.findIndex((e=>e.labelId==l.labelId));-1!=e&&a.splice(e,1)}F("onChange",[...a]),U.labelSelectedList=a},J=e=>{V.isLock||(V.explicit||"init"===e||(U.labelVisible=!0),M(V.item))},R=()=>{var e;V.explicit||(null==(e=T.value)||e.resetShowAdd(),U.editLabelItem.showAdd=!1,U.editLabelItem={},U.inited=!1,U.modalWidth="763px",U.modalHeight="404px",U.maxHeight="404px",U.isChangeWindow=!1,U.labelVisible=!1)},K=()=>{U.isChangeWindow=!U.isChangeWindow;let e=document.body.clientHeight;U.modalWidth="763px"===U.modalWidth?"100%":"763px",U.modalHeight="404px"===U.modalHeight?e-110+"px":"404px",U.maxHeight="auto"===U.modalHeight?"404px":"none"},G=()=>{var e;null==(e=T.value)||e.handleLabelForm((e=>{F("onChange",[...e]),U.labelSelectedList=e,$(U.commonLabelList,e),R()}))},M=async(e,l)=>{const{rows:t,results:a}=await V.getLabelList(e,{update:l}),i=t||[],o={},s=`${e.val_key}_${e.name}`,n=l?[...U.labelSelectedEdit||[]]:[...U.labelSelectedList||[]];i.forEach((e=>{e.cacheKey=s,e.isSelect=!1,o[e.typeName]?o[e.typeName].itemList.push({...e}):o[e.typeName]={itemList:[{...e}],showAdd:!1,addVal:"",typeName:e.typeName,typeId:e.typeId}})),a&&(e.labelObj=o,e.labelList=i),l&&(U.labelSelectedEdit=n),U.editLabelItem=e,Q(a)},Q=e=>{if(!e)return!1;let l=Object.keys(e),t={},a=(e.typeList||[]).reduce(((e,l)=>(t[l.typeId]=l.multipleChoice,e[l.typeName]={multipleChoice:l.multipleChoice,parentColor:l.parentColor,allowCreateByPersonal:l.allowCreateByPersonal},e)),{});V.explicit&&(U.multipleChoiceConfig=t),l.forEach((l=>{var t,i,o,s,n,d,c;"typeList"!==l&&("emptyTypes"!==l?_.isPlainObject(e[l])?U.editLabelItem.labelObj[l]?(U.editLabelItem.labelObj[l].isNoAdd=!0,U.editLabelItem.labelObj[l].multipleChoice=null==(i=a[l])?void 0:i.multipleChoice,U.editLabelItem.labelObj[l].allowCreateByPersonal=null==(o=a[l])?void 0:o.allowCreateByPersonal,U.editLabelItem.labelObj[l].parentColor=null==(s=a[l])?void 0:s.parentColor):U.editLabelItem.labelObj[l]={addVal:"",showAdd:!1,itemList:!1,typeId:"",typeName:l,allowCreateByPersonal:null==(t=a[l])?void 0:t.allowCreateByPersonal,...a[l]||{}}:(U.editLabelItem.labelObj[l].multipleChoice=null==(n=a[l])?void 0:n.multipleChoice,U.editLabelItem.labelObj[l].allowCreateByPersonal=null==(d=a[l])?void 0:d.allowCreateByPersonal,U.editLabelItem.labelObj[l].parentColor=null==(c=a[l])?void 0:c.parentColor):e[l].forEach((e=>{U.editLabelItem.labelObj[e.typeName]={addVal:"",showAdd:!1,itemList:[],typeId:e.typeId,typeName:e.typeName,allowCreateByPersonal:e.allowCreateByPersonal,...a[e.typeName]||{}}})))}))},X=()=>{M(V.item,!0)},Y=()=>{G()},Z=(e,l)=>{V.explicit&&w((()=>{var t;null==(t=T.value)||t.hanldeSetLabelItem(e,l)}))};return i((()=>{V.explicit?J():(async e=>{const{rows:l,results:t}=await V.getLabelList(e);if(!t)return!1;let a=(t.typeList||[]).reduce(((e,l)=>(e[l.typeId]=l.multipleChoice,e)),{});U.multipleChoiceConfig=a})(V.item)})),o((()=>V.selectedList),(e=>{if(e){let l=Array.isArray(e)?e:[];U.labelSelectedList=JSON.parse(JSON.stringify(l)),$(U.commonLabelList,U.labelSelectedList)}}),{immediate:!0,deep:!0}),o((()=>{var e;return null==(e=V.item)?void 0:e.label_type}),(e=>{e&&"form"==V.sourceType&&(async e=>{var l;let{data:t={}}=await V.queryCommonlabels(e)||{};if("SUCCESS"!==t.result)return;let a=(null==(l=t.map)?void 0:l.rows)||[];$(a,U.labelSelectedList),U.commonLabelList=a})(e)}),{immediate:!0,deep:!0}),(l,t)=>(s(),n(d,null,[c("div",B,[e.explicit?v("v-if",!0):(s(),b(m(x),{key:0,align:"center"},{default:r((()=>[(s(!0),n(d,null,p(U.labelSelectedList,(e=>(s(),b(m(S),{bordered:!1,key:e.labelId,style:u(m(P)(e,!0)),closable:m(D),onClose:l=>(e=>{const l=U.labelSelectedList||[],t=l.findIndex((l=>l.labelId==e.labelId));-1!=t&&l.splice(t,1),F("onChange",[...l]),U.labelSelectedList=l,Z(e.labelId,!1)})(e),size:"small"},{default:r((()=>[L(m(k),{placement:"top-start"},{trigger:r((()=>[c("span",null,h(e.labelName),1)])),default:r((()=>[c("span",null,h(e.labelName),1)])),_:2},1024)])),_:2},1032,["style","closable","onClose"])))),128)),e.explicit?v("v-if",!0):y((s(),n("span",{key:0,class:C(["form-add-icon form-add-icon-label",{disable:e.isLock}]),onClick:J},[L(m(O),{class:"add-icon",component:m(N)},null,8,["component"]),f(" 新增 ")],2)),[[g,m(D)]])])),_:1})),"form"==e.sourceType&&U.commonLabelList.length&&m(D)&&!e.explicit?(s(),b(m(x),{key:1,align:"center",class:"common-label"},{default:r((()=>[E,(s(!0),n(d,null,p(U.commonLabelList,((e,l)=>(s(),b(m(S),{checkable:"",checked:e.isSelect,"onUpdate:checked":l=>function(e,l){l.isSelect=e,q(e,l)}(l,e),key:l,style:u(m(P)(e)),size:"small"},{default:r((()=>[L(m(k),{placement:"top-start"},{trigger:r((()=>[c("span",null,h(e.labelName),1)])),default:r((()=>[c("span",null,h(e.labelName),1)])),_:2},1024)])),_:2},1032,["checked","onUpdate:checked","style"])))),128))])),_:1})):v("v-if",!0),e.explicit&&m(D)?(s(),n("div",A,[L(W,I(l.$attrs,{ref_key:"labelFormContentRef",ref:T,explicit:e.explicit,labelSelectedList:U.labelSelectedList,isChangeWindow:U.isChangeWindow,labelOptions:U.editLabelItem.labelObj,deleteLabel:e.deleteLabel,saveLabelItem:e.saveLabelItem,onUpdateLabelData:X,onExplicitOnChange:Y}),null,16,["explicit","labelSelectedList","isChangeWindow","labelOptions","deleteLabel","saveLabelItem"])])):v("v-if",!0)]),v(" 弹窗 "),L(m(j),{preset:"dialog",class:C(["label-form-modal-wrap modal-wrap standard-modal standard-modal-white",{"modal-screen":U.isChangeWindow}]),show:U.labelVisible,"onUpdate:show":t[0]||(t[0]=e=>U.labelVisible=e),onPositiveClick:G,onNegativeClick:R,onClose:R,"mask-closable":!1,"close-on-esc":!1,"show-icon":!1,"negative-text":"取消","positive-text":"确定",style:u({width:U.modalWidth})},{header:r((()=>[H,c("div",z,[c("i",{onClick:K,class:C(["iconfont-select-label",U.isChangeWindow?"icon-select-label-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-select-label-menzhenyishengzhanxitongtubiaozuidahua"])},null,2)])])),default:r((()=>[L(W,I(l.$attrs,{ref_key:"labelFormContentRef",ref:T,labelSelectedList:U.labelSelectedList,isChangeWindow:U.isChangeWindow,labelOptions:U.editLabelItem.labelObj,sourceType:e.sourceType,deleteLabel:e.deleteLabel,saveLabelItem:e.saveLabelItem,onUpdateLabelData:X}),null,16,["labelSelectedList","isChangeWindow","labelOptions","sourceType","deleteLabel","saveLabelItem"])])),_:1},8,["show","class","style"])],64))}});export{F as default};
@@ -1 +1 @@
1
- @font-face{font-family:iconfont;src:url(iconfont.ttf) format("truetype")}.iconfont-select-label{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:iconfont!important;font-size:14px;font-style:normal}.icon-select-label-menzhenyishengzhanxitongtubiaozuixiaohua2:before{content:"\e778"}.icon-select-label-menzhenyishengzhanxitongtubiaozuidahua:before{content:"\e779"}.c-select-label .label-disable-wrap{align-items:center;display:flex;flex-direction:column;font-size:14px;line-height:20px;width:100%}.c-select-label .label-disable-wrap .label-disable-img{height:248px;width:320px}.c-select-label .common-label{border:1px solid rgba(0,0,0,.1);border-radius:4px;margin-top:8px!important;padding:4px 12px}.c-select-label .common-label>span{color:rgba(0,0,0,.9);margin-right:16px}.c-select-label .form-add-icon-label{align-items:center;color:#2d7aff;cursor:pointer;display:inline-flex;vertical-align:middle}.c-select-label .anticon+.anticon{margin-left:16px}.c-select-label .n-tag{border:1px solid #e0e0e6;margin:0 8px 0 0;max-width:108px}.c-select-label .n-tag .n-base-icon{color:#fff}.c-select-label .n-tag .n-tag__content{align-items:center;display:inline-block;line-height:20px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-label-form-content{border-bottom:1px solid #e8e8e8;border-top:1px solid #e8e8e8;height:100%;width:100%}.c-label-form-content .label-wrap{display:flex;height:100%;width:100%}.c-label-form-content .label-wrap .left-label-wrap{border-right:1px solid #e8e8e8;max-height:404px;width:140px}.c-label-form-content .label-wrap .left-label-wrap.total-left-label-wrap{height:calc(100vh - 109px);max-height:calc(100vh - 109px)}.c-label-form-content .label-wrap .left-label-wrap.explicit-label-wrap{height:auto;overflow:hidden;overflow-y:auto;width:100%}.c-label-form-content .label-wrap .left-label-wrap .n-anchor.n-anchor--block .n-anchor-link{font-size:14px;padding:10px 8px}.c-label-form-content .label-wrap .left-label-wrap .n-anchor.n-anchor--block .n-anchor-link.n-anchor-link--active{background-color:#f2f2f2}.c-label-form-content .label-wrap .right-label-wrap{flex:1;max-height:404px;overflow-y:auto}.c-label-form-content .label-wrap .right-label-wrap.total-right-label-wrap{max-height:calc(100vh - 109px)}.c-label-form-content .label-wrap .right-label-wrap .label-add{display:inline-flex;height:30px;justify-content:center;line-height:30px;position:relative;text-align:center;top:2px;width:108px}.c-label-form-content .label-wrap .right-label-wrap .label-add .selfval{align-items:center;display:flex;justify-content:center}.c-label-form-content .label-wrap .right-label-wrap .add-input{width:108px}.c-label-form-content .label-wrap .right-label-wrap .add-input .n-input__suffix{cursor:pointer}.c-label-form-content .label-wrap .explicit-continer{border:1px solid #d5d5d5;width:100%}.c-label-form-content .edit-label-type{font-size:12px;margin-left:4px}.c-label-form-content .edit-label-content{margin-top:10px;padding:0 14px}.c-label-form-content .edit-label-content .edit-content{margin-top:8px;width:100%}.c-label-form-content .edit-label-content .edit-content .n-tag{border:1px solid #e0e0e6;margin:0 8px 8px 0;max-width:108px;text-align:center}.c-label-form-content .edit-label-content .edit-content .n-tag .n-tag__content{align-items:center;display:inline-flex}.c-label-form-content .edit-label-content .edit-content .n-tag .n-tag__content span{display:inline-block;height:100%;line-height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px}.n-dialog__title .svg-wrap{margin:0 0 0 auto}.n-dialog__title .svg-wrap i{cursor:pointer;font-size:16px}
1
+ @font-face{font-family:select-label-iconfont;src:url(select-label-iconfont.ttf) format("truetype")}.iconfont-select-label{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:select-label-iconfont!important;font-size:14px;font-style:normal}.icon-select-label-menzhenyishengzhanxitongtubiaozuixiaohua2:before{content:"\e778"}.icon-select-label-menzhenyishengzhanxitongtubiaozuidahua:before{content:"\e779"}.c-select-label .label-disable-wrap{align-items:center;display:flex;flex-direction:column;font-size:14px;line-height:20px;width:100%}.c-select-label .label-disable-wrap .label-disable-img{height:248px;width:320px}.c-select-label .common-label{border:1px solid rgba(0,0,0,.1);border-radius:4px;margin-top:8px!important;padding:4px 12px}.c-select-label .common-label>span{color:rgba(0,0,0,.9);margin-right:16px}.c-select-label .form-add-icon-label{align-items:center;color:#2d7aff;cursor:pointer;display:inline-flex;vertical-align:middle}.c-select-label .anticon+.anticon{margin-left:16px}.c-select-label .n-tag{border:1px solid #e0e0e6;margin:0 8px 0 0;max-width:108px}.c-select-label .n-tag .n-base-icon{color:#fff}.c-select-label .n-tag .n-tag__content{align-items:center;display:inline-block;line-height:20px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c-label-form-content{border-bottom:1px solid #e8e8e8;border-top:1px solid #e8e8e8;height:100%;width:100%}.c-label-form-content .label-wrap{display:flex;height:100%;width:100%}.c-label-form-content .label-wrap .left-label-wrap{border-right:1px solid #e8e8e8;max-height:404px;width:140px}.c-label-form-content .label-wrap .left-label-wrap.total-left-label-wrap{height:calc(100vh - 109px);max-height:calc(100vh - 109px)}.c-label-form-content .label-wrap .left-label-wrap.explicit-label-wrap{height:auto;overflow:hidden;overflow-y:auto;width:100%}.c-label-form-content .label-wrap .left-label-wrap .n-anchor.n-anchor--block .n-anchor-link{font-size:14px;padding:10px 8px}.c-label-form-content .label-wrap .left-label-wrap .n-anchor.n-anchor--block .n-anchor-link.n-anchor-link--active{background-color:#f2f2f2}.c-label-form-content .label-wrap .right-label-wrap{flex:1;max-height:404px;overflow-y:auto}.c-label-form-content .label-wrap .right-label-wrap.total-right-label-wrap{max-height:calc(100vh - 109px)}.c-label-form-content .label-wrap .right-label-wrap .label-add{display:inline-flex;height:30px;justify-content:center;line-height:30px;position:relative;text-align:center;top:2px;width:108px}.c-label-form-content .label-wrap .right-label-wrap .label-add .selfval{align-items:center;display:flex;justify-content:center}.c-label-form-content .label-wrap .right-label-wrap .add-input{width:108px}.c-label-form-content .label-wrap .right-label-wrap .add-input .n-input__suffix{cursor:pointer}.c-label-form-content .label-wrap .explicit-continer{border:1px solid #d5d5d5;width:100%}.c-label-form-content .edit-label-type{font-size:12px;margin-left:4px}.c-label-form-content .edit-label-content{margin-top:10px;padding:0 14px}.c-label-form-content .edit-label-content .edit-content{margin-top:8px;width:100%}.c-label-form-content .edit-label-content .edit-content .n-tag{border:1px solid #e0e0e6;margin:0 8px 8px 0;max-width:108px;text-align:center}.c-label-form-content .edit-label-content .edit-content .n-tag .n-tag__content{align-items:center;display:inline-flex}.c-label-form-content .edit-label-content .edit-content .n-tag .n-tag__content span{display:inline-block;height:100%;line-height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px}.n-dialog__title .svg-wrap{margin:0 0 0 auto}.n-dialog__title .svg-wrap i{cursor:pointer;font-size:16px}
@@ -299,7 +299,6 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
299
299
  data: (import("naive-ui/es/tree/src/interface").TreeOptionBase & {
300
300
  [k: string]: unknown;
301
301
  } & import("../../../es/shared/types").AnyObject)[];
302
- multiple: boolean;
303
302
  defaultList: ((string | number) | {
304
303
  key: string | number;
305
304
  name: string;
@@ -317,6 +316,7 @@ declare const SelectPerson: SFCWithInstall<import("vue").DefineComponent<{
317
316
  };
318
317
  showCount: boolean;
319
318
  showClear: boolean;
319
+ multiple: boolean;
320
320
  queryLoadChildData: (node: import("naive-ui").TreeOption) => Promise<void>;
321
321
  queryTreeSearch: (keyWork: string) => Promise<import("../../../es/shared/types").AnyObject[]>;
322
322
  }>>;
@@ -267,7 +267,6 @@ declare const _default: import("vue").DefineComponent<{
267
267
  onCheck?: ((...args: any[]) => any) | undefined;
268
268
  }, {
269
269
  data: ITreeOption[];
270
- multiple: boolean;
271
270
  defaultList: (IKey | ITag)[];
272
271
  searchPlaceholder: string;
273
272
  searchButtonText: string;
@@ -275,6 +274,7 @@ declare const _default: import("vue").DefineComponent<{
275
274
  wordbookChild: IWordBookChild<ITreeOption>;
276
275
  showCount: boolean;
277
276
  showClear: boolean;
277
+ multiple: boolean;
278
278
  queryLoadChildData: (node: TreeOption) => Promise<void>;
279
279
  queryTreeSearch: (keyWork: string) => Promise<Array<AnyObject>>;
280
280
  }>;
@@ -86,8 +86,7 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
86
86
  message?: string | undefined;
87
87
  } | undefined;
88
88
  option?: {
89
- text: string;
90
- value: any;
89
+ [x: string]: any;
91
90
  keyword?: string | undefined;
92
91
  disabled?: boolean | undefined;
93
92
  children?: any[] | undefined;
@@ -1851,6 +1850,10 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
1851
1850
  linebarAutoHidden: {
1852
1851
  type: BooleanConstructor;
1853
1852
  };
1853
+ bordered: {
1854
+ type: BooleanConstructor;
1855
+ default: boolean;
1856
+ };
1854
1857
  }, {
1855
1858
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
1856
1859
  fieldList: {
@@ -1979,12 +1982,17 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
1979
1982
  linebarAutoHidden: {
1980
1983
  type: BooleanConstructor;
1981
1984
  };
1985
+ bordered: {
1986
+ type: BooleanConstructor;
1987
+ default: boolean;
1988
+ };
1982
1989
  }>> & {
1983
1990
  onFormChange?: ((...args: any[]) => any) | undefined;
1984
1991
  onScroll?: ((...args: any[]) => any) | undefined;
1985
1992
  onAnnotationChange?: ((...args: any[]) => any) | undefined;
1986
1993
  }>>;
1987
- emit: (event: "scroll" | "formChange" | "annotationChange", ...args: any[]) => void;
1994
+ emit: (event: "formChange" | "scroll" | "annotationChange", ...args: any[]) => void;
1995
+ cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
1988
1996
  nuiThemeOverrides: import("naive-ui").GlobalThemeOverrides;
1989
1997
  formRenderRef: import("vue").Ref<HTMLElement | undefined>;
1990
1998
  formHeight: import("vue").ComputedRef<string>;
@@ -2140,32 +2148,32 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
2140
2148
  data: any;
2141
2149
  loading: boolean;
2142
2150
  required: boolean;
2143
- hidden: boolean;
2144
- visible: boolean;
2145
- content: any;
2146
- reset: (options?: import("@formily/core").IFieldResetOptions | undefined) => Promise<void>;
2147
- active: boolean;
2148
- disabled: boolean;
2149
- display: import("@formily/core").FieldDisplayTypes;
2150
2151
  value: string;
2151
2152
  readonly index: string | number;
2153
+ disabled: boolean;
2152
2154
  onFocus: (...args: any[]) => Promise<void>;
2153
2155
  onBlur: (...args: any[]) => Promise<void>;
2154
2156
  onInput: (...args: any[]) => Promise<void>;
2157
+ reset: (options?: import("@formily/core").IFieldResetOptions | undefined) => Promise<void>;
2158
+ title: string;
2159
+ editable: boolean;
2160
+ visible: boolean;
2155
2161
  submit: <T>(onSubmit?: ((values: any) => void | Promise<T>) | undefined) => Promise<T>;
2156
2162
  validator: import("@formily/core").FieldValidator;
2157
2163
  pattern: import("@formily/core").FieldPatternTypes;
2158
- title: string;
2159
2164
  form: import("@formily/core").Form<any>;
2165
+ content: any;
2160
2166
  componentProps: Record<string, any>;
2161
2167
  decoratorProps: Record<string, any>;
2168
+ display: import("@formily/core").FieldDisplayTypes;
2162
2169
  description: string;
2163
2170
  readOnly: boolean;
2164
- editable: boolean;
2171
+ hidden: boolean;
2165
2172
  component: import("@formily/core").FieldComponent<any, any>;
2166
2173
  decorator: import("@formily/core").FieldDecorator<any, any>;
2167
2174
  validating: boolean;
2168
2175
  submitting: boolean;
2176
+ active: boolean;
2169
2177
  visited: boolean;
2170
2178
  selfModified: boolean;
2171
2179
  modified: boolean;
@@ -2252,7 +2260,7 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
2252
2260
  };
2253
2261
  readonly disabled: BooleanConstructor;
2254
2262
  readonly displayDirective: {
2255
- readonly type: import("vue").PropType<"show" | "if" | "show:lazy">;
2263
+ readonly type: import("vue").PropType<"if" | "show" | "show:lazy">;
2256
2264
  readonly default: "if";
2257
2265
  };
2258
2266
  readonly closable: {
@@ -2277,7 +2285,7 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
2277
2285
  };
2278
2286
  readonly disabled: BooleanConstructor;
2279
2287
  readonly displayDirective: {
2280
- readonly type: import("vue").PropType<"show" | "if" | "show:lazy">;
2288
+ readonly type: import("vue").PropType<"if" | "show" | "show:lazy">;
2281
2289
  readonly default: "if";
2282
2290
  };
2283
2291
  readonly closable: {
@@ -2291,10 +2299,10 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
2291
2299
  }>>, {
2292
2300
  readonly disabled: boolean;
2293
2301
  readonly closable: boolean | undefined;
2294
- readonly displayDirective: "show" | "if" | "show:lazy";
2302
+ readonly displayDirective: "if" | "show" | "show:lazy";
2295
2303
  }>;
2296
2304
  NTabs: any;
2297
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "formChange" | "annotationChange")[], "scroll" | "formChange" | "annotationChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
2305
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("formChange" | "scroll" | "annotationChange")[], "scroll" | "formChange" | "annotationChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
2298
2306
  fieldList: {
2299
2307
  type: import("vue").PropType<import("..").FieldItem[]>;
2300
2308
  };
@@ -2421,6 +2429,10 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
2421
2429
  linebarAutoHidden: {
2422
2430
  type: BooleanConstructor;
2423
2431
  };
2432
+ bordered: {
2433
+ type: BooleanConstructor;
2434
+ default: boolean;
2435
+ };
2424
2436
  }>> & {
2425
2437
  onFormChange?: ((...args: any[]) => any) | undefined;
2426
2438
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -2436,6 +2448,7 @@ declare const ShortcutSetter: SFCWithInstall<import("vue").DefineComponent<{
2436
2448
  consumer: boolean;
2437
2449
  enterToNextWidget: boolean | ((fieldItem: import("..").FieldItem) => boolean | void);
2438
2450
  linebarAutoHidden: boolean;
2451
+ bordered: boolean;
2439
2452
  }>;
2440
2453
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
2441
2454
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "update")[], "error" | "update", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -88,8 +88,7 @@ declare const _default: import("vue").DefineComponent<{
88
88
  message?: string | undefined;
89
89
  } | undefined;
90
90
  option?: {
91
- text: string;
92
- value: any;
91
+ [x: string]: any;
93
92
  keyword?: string | undefined;
94
93
  disabled?: boolean | undefined;
95
94
  children?: any[] | undefined;
@@ -1853,6 +1852,10 @@ declare const _default: import("vue").DefineComponent<{
1853
1852
  linebarAutoHidden: {
1854
1853
  type: BooleanConstructor;
1855
1854
  };
1855
+ bordered: {
1856
+ type: BooleanConstructor;
1857
+ default: boolean;
1858
+ };
1856
1859
  }, {
1857
1860
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
1858
1861
  fieldList: {
@@ -1981,12 +1984,17 @@ declare const _default: import("vue").DefineComponent<{
1981
1984
  linebarAutoHidden: {
1982
1985
  type: BooleanConstructor;
1983
1986
  };
1987
+ bordered: {
1988
+ type: BooleanConstructor;
1989
+ default: boolean;
1990
+ };
1984
1991
  }>> & {
1985
1992
  onFormChange?: ((...args: any[]) => any) | undefined;
1986
1993
  onScroll?: ((...args: any[]) => any) | undefined;
1987
1994
  onAnnotationChange?: ((...args: any[]) => any) | undefined;
1988
1995
  }>>;
1989
- emit: (event: "scroll" | "formChange" | "annotationChange", ...args: any[]) => void;
1996
+ emit: (event: "formChange" | "scroll" | "annotationChange", ...args: any[]) => void;
1997
+ cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
1990
1998
  nuiThemeOverrides: import("naive-ui").GlobalThemeOverrides;
1991
1999
  formRenderRef: import("vue").Ref<HTMLElement | undefined>;
1992
2000
  formHeight: import("vue").ComputedRef<string>;
@@ -2142,32 +2150,32 @@ declare const _default: import("vue").DefineComponent<{
2142
2150
  data: any;
2143
2151
  loading: boolean;
2144
2152
  required: boolean;
2145
- hidden: boolean;
2146
- visible: boolean;
2147
- content: any;
2148
- reset: (options?: import("../../../../es/components/form-render").IFieldResetOptions | undefined) => Promise<void>;
2149
- active: boolean;
2150
- disabled: boolean;
2151
- display: import("../../../../es/components/form-render").FieldDisplayTypes;
2152
2153
  value: string;
2153
2154
  readonly index: string | number;
2155
+ disabled: boolean;
2154
2156
  onFocus: (...args: any[]) => Promise<void>;
2155
2157
  onBlur: (...args: any[]) => Promise<void>;
2156
2158
  onInput: (...args: any[]) => Promise<void>;
2159
+ reset: (options?: import("../../../../es/components/form-render").IFieldResetOptions | undefined) => Promise<void>;
2160
+ title: string;
2161
+ editable: boolean;
2162
+ visible: boolean;
2157
2163
  submit: <T>(onSubmit?: ((values: any) => void | Promise<T>) | undefined) => Promise<T>;
2158
2164
  validator: import("../../../../es/components/form-render").FieldValidator;
2159
2165
  pattern: import("../../../../es/components/form-render").FieldPatternTypes;
2160
- title: string;
2161
2166
  form: import("../../../../es/components/form-render").Form<any>;
2167
+ content: any;
2162
2168
  componentProps: Record<string, any>;
2163
2169
  decoratorProps: Record<string, any>;
2170
+ display: import("../../../../es/components/form-render").FieldDisplayTypes;
2164
2171
  description: string;
2165
2172
  readOnly: boolean;
2166
- editable: boolean;
2173
+ hidden: boolean;
2167
2174
  component: import("../../../../es/components/form-render").FieldComponent<any, any>;
2168
2175
  decorator: import("../../../../es/components/form-render").FieldDecorator<any, any>;
2169
2176
  validating: boolean;
2170
2177
  submitting: boolean;
2178
+ active: boolean;
2171
2179
  visited: boolean;
2172
2180
  selfModified: boolean;
2173
2181
  modified: boolean;
@@ -2254,7 +2262,7 @@ declare const _default: import("vue").DefineComponent<{
2254
2262
  };
2255
2263
  readonly disabled: BooleanConstructor;
2256
2264
  readonly displayDirective: {
2257
- readonly type: import("vue").PropType<"show" | "if" | "show:lazy">;
2265
+ readonly type: import("vue").PropType<"if" | "show" | "show:lazy">;
2258
2266
  readonly default: "if";
2259
2267
  };
2260
2268
  readonly closable: {
@@ -2279,7 +2287,7 @@ declare const _default: import("vue").DefineComponent<{
2279
2287
  };
2280
2288
  readonly disabled: BooleanConstructor;
2281
2289
  readonly displayDirective: {
2282
- readonly type: import("vue").PropType<"show" | "if" | "show:lazy">;
2290
+ readonly type: import("vue").PropType<"if" | "show" | "show:lazy">;
2283
2291
  readonly default: "if";
2284
2292
  };
2285
2293
  readonly closable: {
@@ -2293,10 +2301,10 @@ declare const _default: import("vue").DefineComponent<{
2293
2301
  }>>, {
2294
2302
  readonly disabled: boolean;
2295
2303
  readonly closable: boolean | undefined;
2296
- readonly displayDirective: "show" | "if" | "show:lazy";
2304
+ readonly displayDirective: "if" | "show" | "show:lazy";
2297
2305
  }>;
2298
2306
  NTabs: any;
2299
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "formChange" | "annotationChange")[], "scroll" | "formChange" | "annotationChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
2307
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("formChange" | "scroll" | "annotationChange")[], "scroll" | "formChange" | "annotationChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
2300
2308
  fieldList: {
2301
2309
  type: import("vue").PropType<FieldItem[]>;
2302
2310
  };
@@ -2423,6 +2431,10 @@ declare const _default: import("vue").DefineComponent<{
2423
2431
  linebarAutoHidden: {
2424
2432
  type: BooleanConstructor;
2425
2433
  };
2434
+ bordered: {
2435
+ type: BooleanConstructor;
2436
+ default: boolean;
2437
+ };
2426
2438
  }>> & {
2427
2439
  onFormChange?: ((...args: any[]) => any) | undefined;
2428
2440
  onScroll?: ((...args: any[]) => any) | undefined;
@@ -2438,6 +2450,7 @@ declare const _default: import("vue").DefineComponent<{
2438
2450
  consumer: boolean;
2439
2451
  enterToNextWidget: boolean | ((fieldItem: FieldItem) => boolean | void);
2440
2452
  linebarAutoHidden: boolean;
2453
+ bordered: boolean;
2441
2454
  }>;
2442
2455
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
2443
2456
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "update")[], "error" | "update", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -1 +1 @@
1
- import{defineComponent as e,computed as t,toRefs as l,ref as n,watch as s,openBlock as o,createElementBlock as i,normalizeStyle as p,unref as r,normalizeClass as a,createElementVNode as d,Fragment as u,renderList as c,createCommentVNode as m,withDirectives as f,renderSlot as h,toDisplayString as v,vShow as g,createBlock as I,withCtx as x,createVNode as y,createTextVNode as B}from"vue";import{NTooltip as w,NEmpty as T}from"naive-ui";import{useTheme as S}from"../../../shared/mixins/useTheme.js";import"@vueuse/core";import{defaultCssVars as _}from"./constants/index.js";import b from"../../../_virtual/plugin-vue_export-helper.js";const k={class:"stepBox"},C=["title"],$=d("ul",{class:"nodeTipContent"},[d("li",null,[d("p",null,[d("span",{style:{"margin-right":"10px"}},"(1)"),B(" 2022-07-30 14:15:12 ")]),d("p",null,"周老师"),d("p",null,"步骤条提示"),d("p",null,"咱这是测试案例,请使用插槽:#nodeTipBox 自定义")]),d("li",null,[d("p",null,[d("span",{style:{"margin-right":"10px"}},"(2)"),B(" 2022-07-30 14:15:12 ")]),d("p",null,"周老师"),d("p",null,"步骤条提示"),d("p",null,"咱这是个测试案例,请使用插槽:#nodeTipBox 自定义")])],-1),L=["title"],R=["title"],j=["title"],M={key:0,style:{height:"48px"}},N={key:1},D={key:1};var W=b(e({__name:"StepsWheel",props:{stepInfo:{type:Object,default:()=>({list:[],cols:6})},currentStep:{type:Number,default:1},toolTipShow:{type:Boolean,default:!0},lastNodeRender:{type:Boolean,default:!1},noDataMsg:{type:String,default:"暂无节点数据"},placement:{type:String,default:"center"}},setup(e){const B=e,b=S(_,"StepsWheel"),W=t((()=>Math.ceil(P.value.length/B.stepInfo.cols))),A=t((()=>B.lastNodeRender)),{noDataMsg:E}=l(B),O=n(null),F=t((()=>{var e;let t=72;if(null==(e=null==O?void 0:O.value)?void 0:e.length){let e=O.value[0],l=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle;t=isNaN(parseInt(l["min-width"]))?72:parseInt(l["min-width"])}return`${20+B.stepInfo.cols*t}px`})),P=n([]),q=n([]),z=e=>{if(q.value.length){if(e.rowIndex===q.value.length)return!0;if(e.rowIndex<q.value.length)return q.value[e.rowIndex].some((e=>null==e?void 0:e.title))}return!1},G=e=>{const{list:t=[]}=B.stepInfo;return e.rowIndex%2==0&&"frist"==e.nodeType&&e.nodeIndex!==t.length},H=e=>{const{list:t=[]}=B.stepInfo;return e.rowIndex%2!=0&&"last"==e.nodeType&&e.nodeIndex!==t.length},J=(e,t)=>e.rowIndex%2==0?B.currentStep>=t+(B.stepInfo.cols-2*e.sort):B.currentStep>=t+2,K=(e,t)=>{let l=e.length,n=l%t==0?l/t:Math.floor(l/t+1),s=[];for(let l=0;l<n;l++){let n=e.slice(l*t,l*t+t);s.push(n)}return s},Q=e=>{const{cols:t}=B.stepInfo;let l=K(P.value,t),n=l[l.length-1].filter((e=>e));return W.value%2==0?e!=n[n.length-1].nodeIndex-(t-2*n[n.length-1].sort):e!=n[n.length-1].nodeIndex-1},U=e=>{const{cols:t}=B.stepInfo;let l=K(P.value,t),n=l[l.length-1].filter((e=>e));return W.value%2==0?A.value&&e==n[0].nodeIndex-(t-2*n[0].sort):A.value&&e==n[n.length-1].nodeIndex-1},V=(e,t)=>{const{cols:l}=B.stepInfo;let n=K(P.value,l),s=n[n.length-1].filter((e=>e));return W.value%2==0?"circle"===t?A.value&&e==s[0].nodeIndex-(l-2*s[0].sort)-l:A.value&&e==s[0].nodeIndex-(l-2*s[0].sort):"circle"===t?A.value&&e==s[s.length-1].nodeIndex-1-l:A.value&&e==s[s.length-1].nodeIndex-2};return s((()=>B.stepInfo),(e=>{var t;(null==(t=null==e?void 0:e.list)?void 0:t.length)&&((e,t)=>{let l=e.length+1,n=Math.ceil(e.length/t),s=!0,o=[];for(var i=0;i<n;i++)o[i]=new Array(t),o[i].fill(null);let p=0,r=0;for(let n=1;n<l;n++)o[p][r]=Object.assign(e[n-1],{nodeIndex:n,rowIndex:p+1}),s?n%t!=0?r++:(s=!s,p++):n%t!=0?r--:(s=!s,p++);let a=[];o.map((e=>{e.map(((e,t)=>e&&(e.sort=t))),e[0]&&(e[0].nodeType="frist"),e[e.length-1]&&(e[e.length-1].nodeType="last"),a=[...a,...e]})),P.value=a,q.value=o})(e.list,e.cols)}),{immediate:!0,deep:!0}),(t,l)=>(o(),i("div",{class:"step-wheel-box",style:p({minWidth:r(F),...r(b)})},[P.value.length?(o(),i("div",{key:0,class:a(["stepOut",{placementLeft:"left"===e.placement,placementRight:"right"===e.placement}])},[d("ul",k,[(o(!0),i(u,null,c(P.value,((l,n)=>(o(),i("li",{ref_for:!0,ref_key:"stepItemRef",ref:O,key:(null==l?void 0:l.stepId)||n,class:a(["stepItem",{[`stepItem_${n+1}`]:!0,[`${null==l?void 0:l.stepId}`]:!!(null==l?void 0:l.stepId)}])},[l?(o(),i(u,{key:0},[m(" 步骤头部信息 "),f(d("div",{class:a(["stepTopBox",{finished:U(n),stepTopBox_right:"right"===e.placement,stepTopBox_left:"left"===e.placement}])},[h(t.$slots,"stepTopBox",{stepItem:l},(()=>[d("span",{title:l.title},v(l.title),9,C)]))],2),[[g,l.title]]),m(" 步骤条的节点,此处为圆圈 "),e.toolTipShow?(o(),I(r(w),{key:0,placement:"top","show-arrow":!0,trigger:"hover",style:p({opacity:"0.88"})},{trigger:x((()=>[d("div",{class:a(["icon",{active:e.currentStep>=l.nodeIndex,finished:U(n)}])},null,2)])),default:x((()=>[h(t.$slots,"nodeTipBox",{stepItem:l,stepId:l.stepId},(()=>[$]))])),_:2},1032,["style"])):(o(),i("div",{key:1,class:a(["icon",{active:e.currentStep>=l.nodeIndex,finished:U(n)}])},null,2)),m(" 步骤条连接线,动态显示 "),"last"!==l.nodeType?f((o(),i("div",{key:2,class:a(["line",{lineActive:J(l,n),finished:V(n)}])},null,2)),[[g,Q(n)]]):m("v-if",!0),m(" 步骤条弯曲连线,动态渲染 "),G(l)||H(l)?(o(),i("div",{key:3,class:a({lineCircleActive:e.currentStep>l.nodeIndex,lineCircleFinished:V(n,"circle"),lineCircleRight:H(l),lineCircleLeft:G(l),lineCirclePlacementRight:H(l)&&"right"===e.placement,lineCirclePlacementLeft:G(l)&&"left"===e.placement})},null,2)):m("v-if",!0),m(" 步骤底部信息 "),d("div",{class:a(["stepBottomBox",{stepBottomBox_right:"right"===e.placement,stepBottomBox_left:"left"===e.placement}])},[h(t.$slots,"stepBottomBox",{stepItem:l},(()=>[m(" 步骤名称 "),f(d("p",{class:a(["stepLabel",{labelFinsh:U(n),stepLabel_right:"right"===e.placement,stepLabel_left:"left"===e.placement}]),title:l.label},v(l.label),11,L),[[g,l.label]]),d("div",{class:a({stepBottomCustomBox:!0,alignItemsEnd:"left"===e.placement,alignItemsStart:"right"===e.placement})},[h(t.$slots,"stepBottomCustomBox",{stepItem:l},(()=>[d("div",{class:a({stepBottomDefaultBox:!0,alignItemsEnd:"left"===e.placement,alignItemsStart:"right"===e.placement}),style:{width:"100%",display:"flex",flexDirection:"column"}},[f(d("p",{class:"stepExtra",title:l.person},v(l.person),9,R),[[g,l.person]]),m(" 步骤时间 "),f(d("p",{class:"statusTime",title:l.statusTime},v(l.statusTime),9,j),[[g,l.statusTime]])],2)]))],2)])),z(l)?(o(),i("div",M)):m("v-if",!0)],2)],64)):(o(),i("div",N,[m("null元素占位")]))],2)))),128))])],2)):(o(),i("div",D,[y(r(T),{description:r(E)},null,8,["description"])]))],4))}}),[["__file","StepsWheel.vue"]]);export{W as default};
1
+ import{defineComponent as e,computed as t,toRefs as l,ref as n,watch as s,openBlock as o,createElementBlock as i,normalizeStyle as p,unref as r,normalizeClass as a,createElementVNode as d,Fragment as u,renderList as c,createCommentVNode as m,withDirectives as f,renderSlot as h,toDisplayString as v,vShow as g,createBlock as I,withCtx as x,createVNode as y,createTextVNode as B}from"vue";import{NTooltip as w,NEmpty as T}from"naive-ui";import{useTheme as S}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import{defaultCssVars as _}from"./constants/index.js";import k from"../../../_virtual/plugin-vue_export-helper.js";const b={class:"stepBox"},C=["title"],$=d("ul",{class:"nodeTipContent"},[d("li",null,[d("p",null,[d("span",{style:{"margin-right":"10px"}},"(1)"),B(" 2022-07-30 14:15:12 ")]),d("p",null,"周老师"),d("p",null,"步骤条提示"),d("p",null,"咱这是测试案例,请使用插槽:#nodeTipBox 自定义")]),d("li",null,[d("p",null,[d("span",{style:{"margin-right":"10px"}},"(2)"),B(" 2022-07-30 14:15:12 ")]),d("p",null,"周老师"),d("p",null,"步骤条提示"),d("p",null,"咱这是个测试案例,请使用插槽:#nodeTipBox 自定义")])],-1),L=["title"],R=["title"],j=["title"],M={key:0,style:{height:"48px"}},N={key:1},D={key:1};var W=k(e({__name:"StepsWheel",props:{stepInfo:{type:Object,default:()=>({list:[],cols:6})},currentStep:{type:Number,default:1},toolTipShow:{type:Boolean,default:!0},lastNodeRender:{type:Boolean,default:!1},noDataMsg:{type:String,default:"暂无节点数据"},placement:{type:String,default:"center"}},setup(e){const B=e,k=S(_,"StepsWheel"),W=t((()=>Math.ceil(P.value.length/B.stepInfo.cols))),A=t((()=>B.lastNodeRender)),{noDataMsg:E}=l(B),O=n(null),F=t((()=>{var e;let t=72;if(null==(e=null==O?void 0:O.value)?void 0:e.length){let e=O.value[0],l=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle;t=isNaN(parseInt(l["min-width"]))?72:parseInt(l["min-width"])}return`${20+B.stepInfo.cols*t}px`})),P=n([]),q=n([]),z=e=>{if(q.value.length){if(e.rowIndex===q.value.length)return!0;if(e.rowIndex<q.value.length)return q.value[e.rowIndex].some((e=>null==e?void 0:e.title))}return!1},G=e=>{const{list:t=[]}=B.stepInfo;return e.rowIndex%2==0&&"frist"==e.nodeType&&e.nodeIndex!==t.length},H=e=>{const{list:t=[]}=B.stepInfo;return e.rowIndex%2!=0&&"last"==e.nodeType&&e.nodeIndex!==t.length},J=(e,t)=>e.rowIndex%2==0?B.currentStep>=t+(B.stepInfo.cols-2*e.sort):B.currentStep>=t+2,K=(e,t)=>{let l=e.length,n=l%t==0?l/t:Math.floor(l/t+1),s=[];for(let l=0;l<n;l++){let n=e.slice(l*t,l*t+t);s.push(n)}return s},Q=e=>{const{cols:t}=B.stepInfo;let l=K(P.value,t),n=l[l.length-1].filter((e=>e));return W.value%2==0?e!=n[n.length-1].nodeIndex-(t-2*n[n.length-1].sort):e!=n[n.length-1].nodeIndex-1},U=e=>{const{cols:t}=B.stepInfo;let l=K(P.value,t),n=l[l.length-1].filter((e=>e));return W.value%2==0?A.value&&e==n[0].nodeIndex-(t-2*n[0].sort):A.value&&e==n[n.length-1].nodeIndex-1},V=(e,t)=>{const{cols:l}=B.stepInfo;let n=K(P.value,l),s=n[n.length-1].filter((e=>e));return W.value%2==0?"circle"===t?A.value&&e==s[0].nodeIndex-(l-2*s[0].sort)-l:A.value&&e==s[0].nodeIndex-(l-2*s[0].sort):"circle"===t?A.value&&e==s[s.length-1].nodeIndex-1-l:A.value&&e==s[s.length-1].nodeIndex-2};return s((()=>B.stepInfo),(e=>{var t;(null==(t=null==e?void 0:e.list)?void 0:t.length)&&((e,t)=>{let l=e.length+1,n=Math.ceil(e.length/t),s=!0,o=[];for(var i=0;i<n;i++)o[i]=new Array(t),o[i].fill(null);let p=0,r=0;for(let n=1;n<l;n++)o[p][r]=Object.assign(e[n-1],{nodeIndex:n,rowIndex:p+1}),s?n%t!=0?r++:(s=!s,p++):n%t!=0?r--:(s=!s,p++);let a=[];o.map((e=>{e.map(((e,t)=>e&&(e.sort=t))),e[0]&&(e[0].nodeType="frist"),e[e.length-1]&&(e[e.length-1].nodeType="last"),a=[...a,...e]})),P.value=a,q.value=o})(e.list,e.cols)}),{immediate:!0,deep:!0}),(t,l)=>(o(),i("div",{class:"step-wheel-box",style:p({minWidth:r(F),...r(k)})},[P.value.length?(o(),i("div",{key:0,class:a(["stepOut",{placementLeft:"left"===e.placement,placementRight:"right"===e.placement}])},[d("ul",b,[(o(!0),i(u,null,c(P.value,((l,n)=>(o(),i("li",{ref_for:!0,ref_key:"stepItemRef",ref:O,key:(null==l?void 0:l.stepId)||n,class:a(["stepItem",{[`stepItem_${n+1}`]:!0,[`${null==l?void 0:l.stepId}`]:!!(null==l?void 0:l.stepId)}])},[l?(o(),i(u,{key:0},[m(" 步骤头部信息 "),f(d("div",{class:a(["stepTopBox",{finished:U(n),stepTopBox_right:"right"===e.placement,stepTopBox_left:"left"===e.placement}])},[h(t.$slots,"stepTopBox",{stepItem:l},(()=>[d("span",{title:l.title},v(l.title),9,C)]))],2),[[g,l.title]]),m(" 步骤条的节点,此处为圆圈 "),e.toolTipShow?(o(),I(r(w),{key:0,placement:"top","show-arrow":!0,trigger:"hover",style:p({opacity:"0.88"})},{trigger:x((()=>[d("div",{class:a(["icon",{active:e.currentStep>=l.nodeIndex,finished:U(n)}])},null,2)])),default:x((()=>[h(t.$slots,"nodeTipBox",{stepItem:l,stepId:l.stepId},(()=>[$]))])),_:2},1032,["style"])):(o(),i("div",{key:1,class:a(["icon",{active:e.currentStep>=l.nodeIndex,finished:U(n)}])},null,2)),m(" 步骤条连接线,动态显示 "),"last"!==l.nodeType?f((o(),i("div",{key:2,class:a(["line",{lineActive:J(l,n),finished:V(n)}])},null,2)),[[g,Q(n)]]):m("v-if",!0),m(" 步骤条弯曲连线,动态渲染 "),G(l)||H(l)?(o(),i("div",{key:3,class:a({lineCircleActive:e.currentStep>l.nodeIndex,lineCircleFinished:V(n,"circle"),lineCircleRight:H(l),lineCircleLeft:G(l),lineCirclePlacementRight:H(l)&&"right"===e.placement,lineCirclePlacementLeft:G(l)&&"left"===e.placement})},null,2)):m("v-if",!0),m(" 步骤底部信息 "),d("div",{class:a(["stepBottomBox",{stepBottomBox_right:"right"===e.placement,stepBottomBox_left:"left"===e.placement}])},[h(t.$slots,"stepBottomBox",{stepItem:l},(()=>[m(" 步骤名称 "),f(d("p",{class:a(["stepLabel",{labelFinsh:U(n),stepLabel_right:"right"===e.placement,stepLabel_left:"left"===e.placement}]),title:l.label},v(l.label),11,L),[[g,l.label]]),d("div",{class:a({stepBottomCustomBox:!0,alignItemsEnd:"left"===e.placement,alignItemsStart:"right"===e.placement})},[h(t.$slots,"stepBottomCustomBox",{stepItem:l},(()=>[d("div",{class:a({stepBottomDefaultBox:!0,alignItemsEnd:"left"===e.placement,alignItemsStart:"right"===e.placement}),style:{width:"100%",display:"flex",flexDirection:"column"}},[f(d("p",{class:"stepExtra",title:l.person},v(l.person),9,R),[[g,l.person]]),m(" 步骤时间 "),f(d("p",{class:"statusTime",title:l.statusTime},v(l.statusTime),9,j),[[g,l.statusTime]])],2)]))],2)])),z(l)?(o(),i("div",M)):m("v-if",!0)],2)],64)):(o(),i("div",N,[m("null元素占位")]))],2)))),128))])],2)):(o(),i("div",D,[y(r(T),{description:r(E)},null,8,["description"])]))],4))}}),[["__file","StepsWheel.vue"]]);export{W as default};
@@ -1 +1 @@
1
- const c={"--c-color-primary":"#2563f4","--c-color-finish":"#5dc055"};export{c as defaultCssVars};
1
+ const c={"--c-primary-color":"#2563f4","--c-success-color":"#5dc055"};export{c as defaultCssVars};