hy-dispatch-ui-v3 0.2.66 → 0.2.68

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 (288) hide show
  1. package/dist/tailwind.css +257 -21
  2. package/es/api/device.mjs +2 -3
  3. package/es/api/exportExcel.mjs +57 -0
  4. package/es/api/index.mjs +27 -16
  5. package/es/api/mapRail.mjs +31 -0
  6. package/es/api/organization.mjs +17 -9
  7. package/es/api/rule.mjs +30 -0
  8. package/es/api/sypct.mjs +2 -3
  9. package/es/api/task.mjs +2 -3
  10. package/es/bussiness/hyAddDepartmentType/addDepartmentType.vue.mjs +18 -19
  11. package/es/bussiness/hyAddDepartmentType/style/addDepartmentType.scss +28 -28
  12. package/es/bussiness/hyElectronicFence/cpns/addElectronicFenceDialog/addElectronicFenceDialog.vue.mjs +511 -0
  13. package/es/bussiness/hyElectronicFence/cpns/batchSetElectronicFenceUserDialog/batchSetElectronicFenceUserDialog.vue.mjs +169 -0
  14. package/es/bussiness/hyElectronicFence/cpns/electronicFenceAssociatedUsersDialog/electronicFenceAssociatedUsersDialog.vue.mjs +318 -0
  15. package/es/bussiness/hyElectronicFence/cpns/electronicFenceAssociatedUsersDialog/electronicFenceAssociatedUsersItem.vue.mjs +123 -0
  16. package/es/bussiness/hyElectronicFence/electronicFence.vue.mjs +358 -0
  17. package/es/bussiness/hyElectronicFence/index.mjs +13 -0
  18. package/es/bussiness/hyElectronicFence/style/electronicFence.scss +0 -0
  19. package/es/bussiness/hyMapAearchPlace/js/index.mjs +1 -1
  20. package/es/bussiness/hyMapAearchPlace/mapAearchPlace.vue.mjs +4 -6
  21. package/es/bussiness/hyMapAearchPlace/style/mapAearchPlace.scss +4 -3
  22. package/es/bussiness/hyRuleSetting/cpns/gatheringPeople/gatheringPeople.vue.mjs +270 -0
  23. package/es/bussiness/hyRuleSetting/cpns/missionInRule/missionInRule.vue.mjs +251 -0
  24. package/es/bussiness/hyRuleSetting/cpns/missionOutRule/missionOutRule.vue.mjs +251 -0
  25. package/es/bussiness/hyRuleSetting/cpns/ruleAssignDialog/ruleAssignDialog.vue.mjs +395 -0
  26. package/es/bussiness/hyRuleSetting/cpns/ruleFenceDialog/ruleFenceDialog.vue.mjs +651 -0
  27. package/es/bussiness/hyRuleSetting/cpns/ruleSettingDialog/ruleSettingDialog.vue.mjs +357 -0
  28. package/es/bussiness/hyRuleSetting/cpns/sedentary/sedentary.vue.mjs +261 -0
  29. package/es/bussiness/hyRuleSetting/cpns/setRuleAggregationAlarmDialog/setRuleAggregationAlarmDialog.vue.mjs +360 -0
  30. package/es/bussiness/hyRuleSetting/cpns/timedVideo/timedVideo.vue.mjs +240 -0
  31. package/es/bussiness/hyRuleSetting/cpns/timerCamera/timerCamera.vue.mjs +258 -0
  32. package/es/bussiness/hyRuleSetting/cpns/timingReturn/timingReturn.vue.mjs +240 -0
  33. package/es/bussiness/hyRuleSetting/index.mjs +15 -0
  34. package/es/bussiness/hyRuleSetting/js/ruleSetting.mjs +65 -0
  35. package/es/bussiness/hyRuleSetting/ruleSetting.vue.mjs +129 -0
  36. package/es/bussiness/hyRuleSetting/style/ruleSetting.scss +0 -0
  37. package/es/bussiness/index.mjs +2 -0
  38. package/es/components/hyAudioPlayer/audioPlayer.vue.mjs +5 -13
  39. package/es/components/hyAudioPlayer/js/index.mjs +9 -14
  40. package/es/components/hyAudioPlayer/style/audioPlayer.scss +7 -2
  41. package/es/components/hyBatchUploadDialog/batchUploadDialog.vue.mjs +174 -142
  42. package/es/components/hyButton/button.vue.mjs +18 -5
  43. package/es/components/hyButton/style/button.scss +50 -74
  44. package/es/components/hyCheckboxGroup/checkboxGroup.vue.mjs +119 -0
  45. package/es/components/hyCheckboxGroup/index.mjs +7 -0
  46. package/es/components/hyCheckboxGroup/style/checkboxGroup.scss +58 -0
  47. package/es/components/hyConfigProvider/configProvider.vue.mjs +51 -38
  48. package/es/components/hyConfirmDialog/confirmDialog.vue.mjs +57 -62
  49. package/es/components/hyConfirmDialog/confirmMethod.mjs +24 -22
  50. package/es/components/hyCutter/cutter.vue.mjs +9 -23
  51. package/es/components/hyDatePicker/datePicker.vue.mjs +12 -17
  52. package/es/components/hyDialog/dialog.vue.mjs +5 -9
  53. package/es/components/hyDialog/style/dialog.scss +12 -13
  54. package/es/components/hyDrawer/drawer.vue.mjs +100 -0
  55. package/es/components/hyDrawer/index.mjs +7 -0
  56. package/es/components/hyDrawer/style/drawer.scss +0 -0
  57. package/es/components/hyForm/cpns/arrayItem.vue.mjs +10 -28
  58. package/es/components/hyForm/cpns/arrayItem2.vue.mjs +198 -0
  59. package/es/components/hyForm/cpns/extraItem.vue.mjs +2 -3
  60. package/es/components/hyForm/cpns/formItem.vue.mjs +149 -69
  61. package/es/components/hyForm/cpns/locationSelect.vue.mjs +26 -26
  62. package/es/components/hyForm/form.vue.mjs +74 -28
  63. package/es/components/hyForm/js/index.mjs +4 -8
  64. package/es/components/hyForm/js/useAppForm.mjs +4 -9
  65. package/es/components/hyForm/style/form.scss +4 -13
  66. package/es/components/hyIcon/icon.vue.mjs +3 -3
  67. package/es/components/hyIconBox/style/iconBox.scss +2 -6
  68. package/es/components/hyInput/inputSearch.vue.mjs +8 -11
  69. package/es/components/hyInput/style/inputSearch.scss +3 -0
  70. package/es/components/hyLoading/index.mjs +3 -5
  71. package/es/components/hyMap/js/index.mjs +35 -10
  72. package/es/components/hyMap/map.vue.mjs +30 -6
  73. package/es/components/hyMenu/style/menu.scss +5 -15
  74. package/es/components/hyNoPermissions/noPermissions.vue.mjs +3 -4
  75. package/es/components/hyNoPermissionsMap/noPermissionsMap.vue.mjs +3 -6
  76. package/es/components/hyOrgCascader/js/index.mjs +1 -5
  77. package/es/components/hyOrgCascader/orgCascader.vue.mjs +31 -12
  78. package/es/components/hyOrgCascader/style/orgCascader.scss +7 -0
  79. package/es/components/hyRadioGroup/radioGroup.vue.mjs +48 -41
  80. package/es/components/hyRadioGroup/style/radioGroup.scss +9 -0
  81. package/es/components/hySearch/cpns/searchItem.vue.mjs +409 -324
  82. package/es/components/hySearch/js/index.mjs +1 -4
  83. package/es/components/hySearch/js/useAppSearch.mjs +5 -10
  84. package/es/components/hySearch/search.vue.mjs +23 -20
  85. package/es/components/hySearch/style/search.scss +9 -0
  86. package/es/components/hyStatus/index.mjs +7 -0
  87. package/es/components/hyStatus/status.vue.mjs +110 -0
  88. package/es/components/hyStatus/style/status.scss +0 -0
  89. package/es/components/hyTable/cpns/columnSelect.vue.mjs +24 -28
  90. package/es/components/hyTable/cpns/columnSelectItem.vue.mjs +8 -9
  91. package/es/components/hyTable/cpns/headerItem.vue.mjs +2 -2
  92. package/es/components/hyTable/cpns/virtualTable.vue.mjs +43 -34
  93. package/es/components/hyTable/js/index.mjs +67 -64
  94. package/es/components/hyTable/js/search.mjs +25 -1
  95. package/es/components/hyTable/js/useAppTable.mjs +3 -4
  96. package/es/components/hyTable/style/table.scss +8 -0
  97. package/es/components/hyTable/table.vue.mjs +68 -53
  98. package/es/components/hyTableActionButton/tableActionButton.vue.mjs +13 -6
  99. package/es/components/hyTableForm/batchTableForm.vue.mjs +26 -9
  100. package/es/components/hyTableForm/js/index.mjs +2 -8
  101. package/es/components/hyTableForm/js/useAppTableForm.mjs +3 -8
  102. package/es/components/hyTableForm/style/batchTableForm.scss +26 -54
  103. package/es/components/hyTableForm/style/tableForm.scss +3 -2
  104. package/es/components/hyTableForm/tableForm.vue.mjs +160 -70
  105. package/es/components/hyTimePicker/timePicker.vue.mjs +4 -5
  106. package/es/components/hyTree/js/index.mjs +113 -72
  107. package/es/components/hyTree/style/index.css +1 -1
  108. package/es/components/hyTree/tree.vue.mjs +21 -18
  109. package/es/components/hyUserAvatar/userAvatar.vue.mjs +3 -6
  110. package/es/components/hyVideoPlayer/js/index.mjs +14 -23
  111. package/es/components/hyVideoPlayer/style/videoPlayer.scss +5 -7
  112. package/es/components/hyVideoPlayer/videoPlayer.vue.mjs +16 -26
  113. package/es/components/index.mjs +3 -0
  114. package/es/hooks/index.mjs +6 -2
  115. package/es/hooks/useAudioPlayerConfig.mjs +1 -3
  116. package/es/hooks/useBaseMainStore.mjs +29 -0
  117. package/es/hooks/useCurrentBus.mjs +20 -0
  118. package/es/hooks/useDialog.mjs +327 -0
  119. package/es/hooks/useExportFile.mjs +133 -0
  120. package/es/hooks/useGlobalConfig.mjs +10 -6
  121. package/es/hooks/useLocale.mjs +22 -12
  122. package/es/hooks/usePermissionMap.mjs +1 -3
  123. package/es/hooks/useResizeHandler.mjs +1 -4
  124. package/es/hooks/useResizeObserver.mjs +3 -1
  125. package/es/hooks/useSubscribe.mjs +2 -2
  126. package/es/hooks/useUserAvatarMap.mjs +1 -3
  127. package/es/hooks/useVideoPlayerConfig.mjs +1 -3
  128. package/es/index.mjs +11 -2
  129. package/es/locale/{en.mjs → en_US.mjs} +79 -4
  130. package/es/locale/index.mjs +2 -2
  131. package/es/locale/zh_CN.mjs +79 -2
  132. package/es/style/index.scss +0 -1
  133. package/es/style/tailwind.scss +7 -4
  134. package/es/utils/adaptive.mjs +1 -3
  135. package/es/utils/form.mjs +7 -10
  136. package/es/utils/handler.mjs +4 -8
  137. package/es/utils/input.mjs +8 -9
  138. package/es/utils/is.mjs +3 -1
  139. package/es/utils/map/hook/bigMap.mjs +16 -53
  140. package/es/utils/map/hook/gaode.mjs +53 -33
  141. package/es/utils/map/hook/leafletjs.mjs +38 -82
  142. package/es/utils/map/index.mjs +3 -9
  143. package/es/utils/map/js/webgis.mjs +12 -12
  144. package/es/version.mjs +1 -1
  145. package/lib/api/device.js +2 -3
  146. package/lib/api/exportExcel.js +62 -0
  147. package/lib/api/index.js +27 -16
  148. package/lib/api/mapRail.js +34 -0
  149. package/lib/api/organization.js +17 -8
  150. package/lib/api/rule.js +33 -0
  151. package/lib/api/sypct.js +2 -3
  152. package/lib/api/task.js +2 -3
  153. package/lib/bussiness/hyAddDepartmentType/addDepartmentType.vue.js +17 -18
  154. package/lib/bussiness/hyAddDepartmentType/style/addDepartmentType.scss +28 -28
  155. package/lib/bussiness/hyElectronicFence/cpns/addElectronicFenceDialog/addElectronicFenceDialog.vue.js +515 -0
  156. package/lib/bussiness/hyElectronicFence/cpns/batchSetElectronicFenceUserDialog/batchSetElectronicFenceUserDialog.vue.js +173 -0
  157. package/lib/bussiness/hyElectronicFence/cpns/electronicFenceAssociatedUsersDialog/electronicFenceAssociatedUsersDialog.vue.js +322 -0
  158. package/lib/bussiness/hyElectronicFence/cpns/electronicFenceAssociatedUsersDialog/electronicFenceAssociatedUsersItem.vue.js +127 -0
  159. package/lib/bussiness/hyElectronicFence/electronicFence.vue.js +362 -0
  160. package/lib/bussiness/hyElectronicFence/index.js +21 -0
  161. package/lib/bussiness/hyElectronicFence/style/electronicFence.scss +0 -0
  162. package/lib/bussiness/hyMapAearchPlace/js/index.js +1 -1
  163. package/lib/bussiness/hyMapAearchPlace/mapAearchPlace.vue.js +4 -6
  164. package/lib/bussiness/hyMapAearchPlace/style/mapAearchPlace.scss +4 -3
  165. package/lib/bussiness/hyRuleSetting/cpns/gatheringPeople/gatheringPeople.vue.js +274 -0
  166. package/lib/bussiness/hyRuleSetting/cpns/missionInRule/missionInRule.vue.js +255 -0
  167. package/lib/bussiness/hyRuleSetting/cpns/missionOutRule/missionOutRule.vue.js +255 -0
  168. package/lib/bussiness/hyRuleSetting/cpns/ruleAssignDialog/ruleAssignDialog.vue.js +399 -0
  169. package/lib/bussiness/hyRuleSetting/cpns/ruleFenceDialog/ruleFenceDialog.vue.js +655 -0
  170. package/lib/bussiness/hyRuleSetting/cpns/ruleSettingDialog/ruleSettingDialog.vue.js +361 -0
  171. package/lib/bussiness/hyRuleSetting/cpns/sedentary/sedentary.vue.js +265 -0
  172. package/lib/bussiness/hyRuleSetting/cpns/setRuleAggregationAlarmDialog/setRuleAggregationAlarmDialog.vue.js +364 -0
  173. package/lib/bussiness/hyRuleSetting/cpns/timedVideo/timedVideo.vue.js +244 -0
  174. package/lib/bussiness/hyRuleSetting/cpns/timerCamera/timerCamera.vue.js +262 -0
  175. package/lib/bussiness/hyRuleSetting/cpns/timingReturn/timingReturn.vue.js +244 -0
  176. package/lib/bussiness/hyRuleSetting/index.js +24 -0
  177. package/lib/bussiness/hyRuleSetting/js/ruleSetting.js +68 -0
  178. package/lib/bussiness/hyRuleSetting/ruleSetting.vue.js +133 -0
  179. package/lib/bussiness/hyRuleSetting/style/ruleSetting.scss +0 -0
  180. package/lib/bussiness/index.js +21 -10
  181. package/lib/components/hyAudioPlayer/audioPlayer.vue.js +5 -13
  182. package/lib/components/hyAudioPlayer/js/index.js +9 -14
  183. package/lib/components/hyAudioPlayer/style/audioPlayer.scss +7 -2
  184. package/lib/components/hyBatchUploadDialog/batchUploadDialog.vue.js +173 -141
  185. package/lib/components/hyButton/button.vue.js +17 -4
  186. package/lib/components/hyButton/style/button.scss +50 -74
  187. package/lib/components/hyCheckboxGroup/checkboxGroup.vue.js +123 -0
  188. package/lib/components/hyCheckboxGroup/index.js +12 -0
  189. package/lib/components/hyCheckboxGroup/style/checkboxGroup.scss +58 -0
  190. package/lib/components/hyConfigProvider/configProvider.vue.js +50 -56
  191. package/lib/components/hyConfirmDialog/confirmDialog.vue.js +56 -61
  192. package/lib/components/hyConfirmDialog/confirmMethod.js +23 -21
  193. package/lib/components/hyCutter/cutter.vue.js +8 -22
  194. package/lib/components/hyDatePicker/datePicker.vue.js +11 -16
  195. package/lib/components/hyDialog/dialog.vue.js +5 -9
  196. package/lib/components/hyDialog/style/dialog.scss +12 -13
  197. package/lib/components/hyDrawer/drawer.vue.js +104 -0
  198. package/lib/components/hyDrawer/index.js +12 -0
  199. package/lib/components/hyDrawer/style/drawer.scss +0 -0
  200. package/lib/components/hyForm/cpns/arrayItem.vue.js +9 -27
  201. package/lib/components/hyForm/cpns/arrayItem2.vue.js +202 -0
  202. package/lib/components/hyForm/cpns/extraItem.vue.js +2 -3
  203. package/lib/components/hyForm/cpns/formItem.vue.js +148 -68
  204. package/lib/components/hyForm/cpns/locationSelect.vue.js +26 -26
  205. package/lib/components/hyForm/form.vue.js +69 -23
  206. package/lib/components/hyForm/js/index.js +3 -7
  207. package/lib/components/hyForm/js/useAppForm.js +4 -9
  208. package/lib/components/hyForm/style/form.scss +4 -13
  209. package/lib/components/hyIcon/icon.vue.js +3 -3
  210. package/lib/components/hyIconBox/style/iconBox.scss +2 -6
  211. package/lib/components/hyInput/inputSearch.vue.js +7 -10
  212. package/lib/components/hyInput/style/inputSearch.scss +3 -0
  213. package/lib/components/hyLoading/index.js +2 -4
  214. package/lib/components/hyMap/js/index.js +34 -9
  215. package/lib/components/hyMap/map.vue.js +29 -5
  216. package/lib/components/hyMenu/style/menu.scss +5 -15
  217. package/lib/components/hyNoPermissions/noPermissions.vue.js +3 -4
  218. package/lib/components/hyNoPermissionsMap/noPermissionsMap.vue.js +3 -6
  219. package/lib/components/hyOrgCascader/js/index.js +1 -5
  220. package/lib/components/hyOrgCascader/orgCascader.vue.js +29 -10
  221. package/lib/components/hyOrgCascader/style/orgCascader.scss +7 -0
  222. package/lib/components/hyRadioGroup/radioGroup.vue.js +47 -40
  223. package/lib/components/hyRadioGroup/style/radioGroup.scss +9 -0
  224. package/lib/components/hySearch/cpns/searchItem.vue.js +407 -322
  225. package/lib/components/hySearch/js/index.js +1 -4
  226. package/lib/components/hySearch/js/useAppSearch.js +5 -10
  227. package/lib/components/hySearch/search.vue.js +23 -20
  228. package/lib/components/hySearch/style/search.scss +9 -0
  229. package/lib/components/hyStatus/index.js +12 -0
  230. package/lib/components/hyStatus/status.vue.js +114 -0
  231. package/lib/components/hyStatus/style/status.scss +0 -0
  232. package/lib/components/hyTable/cpns/columnSelect.vue.js +22 -26
  233. package/lib/components/hyTable/cpns/columnSelectItem.vue.js +7 -8
  234. package/lib/components/hyTable/cpns/headerItem.vue.js +2 -2
  235. package/lib/components/hyTable/cpns/virtualTable.vue.js +41 -32
  236. package/lib/components/hyTable/js/index.js +65 -61
  237. package/lib/components/hyTable/js/search.js +25 -1
  238. package/lib/components/hyTable/js/useAppTable.js +2 -3
  239. package/lib/components/hyTable/style/table.scss +8 -0
  240. package/lib/components/hyTable/table.vue.js +67 -52
  241. package/lib/components/hyTableActionButton/tableActionButton.vue.js +13 -6
  242. package/lib/components/hyTableForm/batchTableForm.vue.js +26 -9
  243. package/lib/components/hyTableForm/js/index.js +2 -8
  244. package/lib/components/hyTableForm/js/useAppTableForm.js +3 -8
  245. package/lib/components/hyTableForm/style/batchTableForm.scss +26 -54
  246. package/lib/components/hyTableForm/style/tableForm.scss +3 -2
  247. package/lib/components/hyTableForm/tableForm.vue.js +159 -69
  248. package/lib/components/hyTimePicker/timePicker.vue.js +3 -4
  249. package/lib/components/hyTree/js/index.js +113 -72
  250. package/lib/components/hyTree/style/index.css +1 -1
  251. package/lib/components/hyTree/tree.vue.js +21 -18
  252. package/lib/components/hyUserAvatar/userAvatar.vue.js +3 -6
  253. package/lib/components/hyVideoPlayer/js/index.js +14 -23
  254. package/lib/components/hyVideoPlayer/style/videoPlayer.scss +5 -7
  255. package/lib/components/hyVideoPlayer/videoPlayer.vue.js +16 -26
  256. package/lib/components/index.js +46 -40
  257. package/lib/hooks/index.js +17 -0
  258. package/lib/hooks/useAudioPlayerConfig.js +1 -3
  259. package/lib/hooks/useBaseMainStore.js +32 -0
  260. package/lib/hooks/useCurrentBus.js +23 -0
  261. package/lib/hooks/useDialog.js +331 -0
  262. package/lib/hooks/useExportFile.js +135 -0
  263. package/lib/hooks/useGlobalConfig.js +10 -6
  264. package/lib/hooks/useLocale.js +25 -11
  265. package/lib/hooks/usePermissionMap.js +1 -3
  266. package/lib/hooks/useResizeHandler.js +1 -4
  267. package/lib/hooks/useResizeObserver.js +3 -1
  268. package/lib/hooks/useSubscribe.js +2 -1
  269. package/lib/hooks/useUserAvatarMap.js +1 -3
  270. package/lib/hooks/useVideoPlayerConfig.js +1 -3
  271. package/lib/index.js +107 -73
  272. package/lib/locale/{en.js → en_US.js} +79 -4
  273. package/lib/locale/index.js +3 -3
  274. package/lib/locale/zh_CN.js +79 -2
  275. package/lib/style/index.scss +0 -1
  276. package/lib/style/tailwind.scss +7 -4
  277. package/lib/utils/adaptive.js +1 -3
  278. package/lib/utils/form.js +6 -9
  279. package/lib/utils/handler.js +3 -7
  280. package/lib/utils/input.js +7 -8
  281. package/lib/utils/is.js +5 -3
  282. package/lib/utils/map/hook/bigMap.js +16 -53
  283. package/lib/utils/map/hook/gaode.js +53 -33
  284. package/lib/utils/map/hook/leafletjs.js +38 -82
  285. package/lib/utils/map/index.js +3 -9
  286. package/lib/utils/map/js/webgis.js +12 -12
  287. package/lib/version.js +1 -1
  288. package/package.json +3 -2
@@ -40,7 +40,7 @@ const _sfc_main = {
40
40
  const props = __props;
41
41
  const emits = __emit;
42
42
  const formContext = vue.inject(index.formContextKey);
43
- const orgCascaderRef = vue.useTemplateRef("orgCascaderRef");
43
+ const componentRef = vue.useTemplateRef("componentRef");
44
44
  const columnProp = vue.computed(() => {
45
45
  let field = is.isArray(props.column.field) ? props.column.field[0] : props.column.field;
46
46
  return field;
@@ -79,39 +79,67 @@ const _sfc_main = {
79
79
  return {
80
80
  ...props.column.attrs,
81
81
  label: form.columnLabelHandler(props.column, props.model),
82
- placeholder: form.columnPlaceholderHandler(props.column, props.model)
82
+ placeholder: props.column.optionsError === "error" ? "\u52A0\u8F7D\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u52A0\u8F7D" : form.columnPlaceholderHandler(props.column, props.model)
83
83
  };
84
84
  });
85
- const optionsLoading = vue.ref(false);
86
- const optionsError = vue.ref("");
87
- async function obtainOptions() {
88
- if (props.column.optionsFn) {
89
- if (!props.column.optionsFn || optionsLoading.value) return;
90
- optionsLoading.value = true;
91
- optionsError.value = "";
92
- props.column.attrs.options = [];
93
- try {
94
- props.column.attrs.options = await props.column.optionsFn(
95
- props.column,
96
- props.model
97
- );
98
- optionsError.value = "";
99
- } catch (err) {
100
- optionsError.value = "error";
101
- console.error(err);
102
- }
103
- } else if (props.column.type === "org-cascader") {
104
- if (orgCascaderRef.value) {
105
- optionsLoading.value = true;
106
- optionsError.value = "";
107
- try {
108
- await orgCascaderRef.value.getData();
109
- } catch {
110
- optionsError.value = "error";
85
+ function obtainOptions(isMountedLoad = false) {
86
+ return new Promise(async (resolve, reject) => {
87
+ if (props.column.optionsFn) {
88
+ if (!props.column.optionsFn) return;
89
+ onRequesting();
90
+ if (!(isMountedLoad && props.column.isDefaultGetData === false)) {
91
+ try {
92
+ const options = await props.column.optionsFn(props.column, props.model);
93
+ onFulfilled(options);
94
+ resolve();
95
+ } catch (err) {
96
+ onRejected();
97
+ console.error(err);
98
+ reject();
99
+ }
100
+ } else {
101
+ resolve();
102
+ }
103
+ } else if (props.column.type === "org-cascader") {
104
+ if (componentRef.value) {
105
+ try {
106
+ onRequesting();
107
+ await componentRef.value.getData();
108
+ onFulfilled();
109
+ resolve();
110
+ } catch {
111
+ onRejected();
112
+ reject();
113
+ }
114
+ } else {
115
+ resolve();
111
116
  }
117
+ } else {
118
+ resolve();
112
119
  }
120
+ props.column.optionsLoading = false;
121
+ });
122
+ }
123
+ function onRequesting() {
124
+ props.column.optionsLoading = true;
125
+ props.column.optionsError = "";
126
+ props.column.attrs.options = [];
127
+ }
128
+ function onFulfilled(options = []) {
129
+ props.column.optionsLoading = false;
130
+ props.column.optionsError = "";
131
+ props.column.attrs.options = options;
132
+ }
133
+ function onRejected() {
134
+ props.column.optionsLoading = false;
135
+ props.column.optionsError = "error";
136
+ props.column.attrs.options = [];
137
+ }
138
+ function getOptionsHandler(props2, column) {
139
+ if (props2.column.optionsLoading) {
140
+ return [];
113
141
  }
114
- optionsLoading.value = false;
142
+ return index.optionsHandler(props2, props2.column);
115
143
  }
116
144
  function onChangeHandler(value, column) {
117
145
  const { onChange } = props.column;
@@ -119,6 +147,15 @@ const _sfc_main = {
119
147
  if (!onChange) return;
120
148
  onChange(props.column, props.model, props.index);
121
149
  }
150
+ async function onVisibleChange(value) {
151
+ if (value && props.column.optionsError === "error") {
152
+ try {
153
+ await obtainOptions();
154
+ } catch {
155
+ }
156
+ formContext?.emitOptionsStatus();
157
+ }
158
+ }
122
159
  function onKeydownEnterHander(e) {
123
160
  emits("search");
124
161
  }
@@ -144,16 +181,29 @@ const _sfc_main = {
144
181
  columnConfig,
145
182
  columnAttrs,
146
183
  obtainOptions,
147
- optionsLoading,
148
- optionsError,
184
+ optionsLoading: vue.computed(() => columnConfig.value.optionsLoading),
185
+ optionsError: vue.computed(() => columnConfig.value.optionsError),
149
186
  options: vue.computed(() => {
150
- return index.optionsHandler(props, props.column);
187
+ return getOptionsHandler(props, props.column);
151
188
  })
152
189
  });
153
190
  vue.onMounted(() => {
154
191
  if (propString.value) {
155
192
  formContext?.addField(context);
156
193
  }
194
+ vue.watch(
195
+ () => formContext.model.errorMsg,
196
+ () => {
197
+ const optionsError = props.column.optionsError;
198
+ if (optionsError === "error") {
199
+ props.column.optionsError = "";
200
+ setTimeout(() => {
201
+ props.column.optionsError = "error";
202
+ }, 1);
203
+ }
204
+ },
205
+ { immediate: true, deep: true }
206
+ );
157
207
  });
158
208
  vue.onBeforeUnmount(() => {
159
209
  formContext?.removeField(context);
@@ -164,297 +214,332 @@ const _sfc_main = {
164
214
  prop: columnProp.value
165
215
  }, {
166
216
  default: vue.withCtx(() => [
167
- vue.createElementVNode("div", { class: "flex bg-background-2 rounded outline outline-1 outline-transparent outline-offset-0 hover:outline-theme box-border" }, [
168
- vue.createElementVNode(
169
- "div",
170
- {
171
- class: "flex",
172
- style: vue.normalizeStyle(vue.unref(index.columnItemStyle)(props, __props.column))
173
- },
174
- [
175
- vue.createCommentVNode(" \u8868\u5355label "),
176
- vue.createElementVNode(
177
- "div",
178
- {
179
- class: vue.normalizeClass(["flex items-center text-auxiliary text-xs whitespace-nowrap", {
180
- "border-r border-border px-3": __props.column.labelSlot && _ctx.$slots[__props.column.labelSlot] || vue.unref(form.columnLabelHandler)(__props.column, props.model)
181
- }])
182
- },
183
- [
184
- __props.column.labelSlot && _ctx.$slots[__props.column.labelSlot] ? vue.renderSlot(_ctx.$slots, __props.column.labelSlot, { column: columnConfig.value }, void 0, void 0, 0) : (vue.openBlock(), vue.createElementBlock(
185
- "span",
186
- { key: 1 },
187
- vue.toDisplayString(vue.unref(form.columnLabelHandler)(__props.column, props.model)),
188
- 1
189
- /* TEXT */
190
- ))
191
- ],
192
- 2
193
- /* CLASS */
194
- ),
195
- vue.createCommentVNode(" \u8868\u5355\u7EC4\u4EF6 "),
196
- vue.createElementVNode(
197
- "div",
198
- {
199
- class: vue.normalizeClass({ "hy-search-custom-wrapper": __props.column.slot }),
200
- style: vue.normalizeStyle(vue.unref(index.columnItemInputStyle)(props, __props.column))
201
- },
202
- [
203
- vue.createCommentVNode(" \u81EA\u5B9A\u4E49\u5177\u540D\u63D2\u69FD "),
204
- __props.column.slot ? vue.renderSlot(_ctx.$slots, __props.column.slot, { column: columnConfig.value }, void 0, void 0, 0) : __props.column.type === "input" ? (vue.openBlock(), vue.createElementBlock(
205
- vue.Fragment,
206
- { key: 1 },
207
- [
208
- vue.createCommentVNode(" \u8F93\u5165\u6846 "),
209
- vue.createVNode(vue.unref(index$1.HyInput), vue.mergeProps({
210
- modelValue: bindValue.value,
211
- "onUpdate:modelValue": ($event) => bindValue.value = $event
212
- }, columnAttrs.value, {
213
- disabled: vue.unref(index.isDisabled)(props, __props.column),
214
- onKeydown: vue.withKeys(($event) => onKeydownEnterHander($event, __props.column), ["enter"]),
215
- onChange: ($event) => onChangeHandler($event, __props.column)
216
- }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "onKeydown", "onChange"])
217
- ],
218
- 2112
219
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
220
- )) : __props.column.type === "select" ? (vue.openBlock(), vue.createElementBlock(
221
- vue.Fragment,
222
- { key: 2 },
223
- [
224
- vue.createCommentVNode(" \u9009\u62E9\u6846 "),
225
- vue.createVNode(vue.unref(elementPlus.ElSelect), vue.mergeProps({
226
- modelValue: bindValue.value,
227
- "onUpdate:modelValue": ($event) => bindValue.value = $event
228
- }, columnAttrs.value, {
229
- disabled: vue.unref(index.isDisabled)(props, __props.column),
230
- options: vue.unref(index.optionsHandler)(props, __props.column),
231
- onChange: ($event) => onChangeHandler($event, __props.column)
232
- }), vue.createSlots({
233
- _: 2
234
- /* DYNAMIC */
235
- }, [
236
- optionsLoading.value ? {
237
- name: "empty",
238
- fn: vue.withCtx(() => [
239
- vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
240
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
241
- size: "16",
242
- class: "is-loading text-theme"
243
- }, {
244
- default: vue.withCtx(() => [
245
- vue.createVNode(vue.unref(iconsVue.Loading))
246
- ]),
247
- _: 1
248
- /* STABLE */
249
- }),
250
- vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
251
- ])
252
- ]),
253
- key: "0"
254
- } : void 0
255
- ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options", "onChange"])
256
- ],
257
- 2112
258
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
259
- )) : __props.column.type === "select-v2" ? (vue.openBlock(), vue.createElementBlock(
260
- vue.Fragment,
261
- { key: 3 },
262
- [
263
- vue.createCommentVNode(" \u865A\u62DF\u5316\u9009\u62E9\u6846 "),
264
- vue.createVNode(vue.unref(elementPlus.ElSelectV2), vue.mergeProps({
265
- modelValue: bindValue.value,
266
- "onUpdate:modelValue": ($event) => bindValue.value = $event
267
- }, columnAttrs.value, {
268
- disabled: vue.unref(index.isDisabled)(props, __props.column),
269
- options: vue.unref(index.optionsHandler)(props, __props.column),
270
- onChange: onChangeHandler
271
- }), vue.createSlots({
272
- _: 2
273
- /* DYNAMIC */
274
- }, [
275
- optionsLoading.value ? {
276
- name: "empty",
277
- fn: vue.withCtx(() => [
278
- vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
279
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
280
- size: "16",
281
- class: "is-loading text-theme"
282
- }, {
283
- default: vue.withCtx(() => [
284
- vue.createVNode(vue.unref(iconsVue.Loading))
285
- ]),
286
- _: 1
287
- /* STABLE */
288
- }),
289
- vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
290
- ])
291
- ]),
292
- key: "0"
293
- } : void 0
294
- ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
295
- ],
296
- 2112
297
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
298
- )) : __props.column.type === "date-picker" ? (vue.openBlock(), vue.createElementBlock(
299
- vue.Fragment,
300
- { key: 4 },
301
- [
302
- vue.createCommentVNode(" \u65E5\u671F\u9009\u62E9\u6846 "),
217
+ vue.createElementVNode(
218
+ "div",
219
+ {
220
+ class: vue.normalizeClass(["flex bg-background-2 rounded outline outline-1 outline-transparent outline-offset-0 hover:outline-theme box-border", [
221
+ {
222
+ "!outline-danger-2 hy-el-search-item-error": __props.column.optionsError === "error"
223
+ }
224
+ ]])
225
+ },
226
+ [
227
+ vue.createElementVNode(
228
+ "div",
229
+ {
230
+ class: "flex",
231
+ style: vue.normalizeStyle(vue.unref(index.columnItemStyle)(props, __props.column))
232
+ },
233
+ [
234
+ vue.createCommentVNode(" \u8868\u5355label "),
235
+ vue.createElementVNode(
236
+ "div",
237
+ {
238
+ class: vue.normalizeClass(["flex items-center text-auxiliary text-sm whitespace-nowrap box-border", {
239
+ "border-r border-border px-3": __props.column.labelSlot && _ctx.$slots[__props.column.labelSlot] || vue.unref(form.columnLabelHandler)(__props.column, props.model)
240
+ }])
241
+ },
242
+ [
243
+ __props.column.labelSlot && _ctx.$slots[__props.column.labelSlot] ? vue.renderSlot(_ctx.$slots, __props.column.labelSlot, { column: columnConfig.value }, void 0, void 0, 0) : (vue.openBlock(), vue.createElementBlock(
244
+ "span",
245
+ { key: 1 },
246
+ vue.toDisplayString(vue.unref(form.columnLabelHandler)(__props.column, props.model)),
247
+ 1
248
+ /* TEXT */
249
+ ))
250
+ ],
251
+ 2
252
+ /* CLASS */
253
+ ),
254
+ vue.createCommentVNode(" \u8868\u5355\u7EC4\u4EF6 "),
255
+ vue.createElementVNode(
256
+ "div",
257
+ {
258
+ class: vue.normalizeClass({ "hy-search-custom-wrapper": __props.column.slot }),
259
+ style: vue.normalizeStyle(vue.unref(index.columnItemInputStyle)(props, __props.column))
260
+ },
261
+ [
262
+ vue.createCommentVNode(" \u81EA\u5B9A\u4E49\u5177\u540D\u63D2\u69FD "),
263
+ __props.column.slot ? vue.renderSlot(_ctx.$slots, __props.column.slot, { column: columnConfig.value }, void 0, void 0, 0) : __props.column.type === "input" ? (vue.openBlock(), vue.createElementBlock(
264
+ vue.Fragment,
265
+ { key: 1 },
266
+ [
267
+ vue.createCommentVNode(" \u8F93\u5165\u6846 "),
268
+ vue.createVNode(vue.unref(index$1.HyInput), vue.mergeProps({
269
+ ref_key: "componentRef",
270
+ ref: componentRef,
271
+ modelValue: bindValue.value,
272
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
273
+ }, columnAttrs.value, {
274
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
275
+ onKeydown: vue.withKeys(($event) => onKeydownEnterHander($event, __props.column), ["enter"]),
276
+ onChange: ($event) => onChangeHandler($event, __props.column)
277
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "onKeydown", "onChange"])
278
+ ],
279
+ 2112
280
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
281
+ )) : __props.column.type === "select" ? (vue.openBlock(), vue.createElementBlock(
282
+ vue.Fragment,
283
+ { key: 2 },
284
+ [
285
+ vue.createCommentVNode(" \u9009\u62E9\u6846 "),
286
+ vue.createVNode(vue.unref(elementPlus.ElSelect), vue.mergeProps({
287
+ ref_key: "componentRef",
288
+ ref: componentRef,
289
+ modelValue: bindValue.value,
290
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
291
+ }, columnAttrs.value, {
292
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
293
+ options: getOptionsHandler(props, __props.column),
294
+ onChange: ($event) => onChangeHandler($event, __props.column),
295
+ onVisibleChange
296
+ }), vue.createSlots({
297
+ _: 2
298
+ /* DYNAMIC */
299
+ }, [
300
+ __props.column.optionsLoading ? {
301
+ name: "empty",
302
+ fn: vue.withCtx(() => [
303
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
304
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
305
+ size: "16",
306
+ class: "is-loading text-theme"
307
+ }, {
308
+ default: vue.withCtx(() => [
309
+ vue.createVNode(vue.unref(iconsVue.Loading))
310
+ ]),
311
+ _: 1
312
+ /* STABLE */
313
+ }),
314
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
315
+ ])
316
+ ]),
317
+ key: "0"
318
+ } : void 0
319
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options", "onChange"])
320
+ ],
321
+ 2112
322
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
323
+ )) : __props.column.type === "select-v2" ? (vue.openBlock(), vue.createElementBlock(
324
+ vue.Fragment,
325
+ { key: 3 },
326
+ [
327
+ vue.createCommentVNode(" \u865A\u62DF\u5316\u9009\u62E9\u6846 "),
328
+ vue.createVNode(vue.unref(elementPlus.ElSelectV2), vue.mergeProps({
329
+ ref_key: "componentRef",
330
+ ref: componentRef,
331
+ modelValue: bindValue.value,
332
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
333
+ }, columnAttrs.value, {
334
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
335
+ options: getOptionsHandler(props, __props.column),
336
+ onChange: onChangeHandler,
337
+ onVisibleChange
338
+ }), vue.createSlots({
339
+ _: 2
340
+ /* DYNAMIC */
341
+ }, [
342
+ __props.column.optionsLoading ? {
343
+ name: "empty",
344
+ fn: vue.withCtx(() => [
345
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
346
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
347
+ size: "16",
348
+ class: "is-loading text-theme"
349
+ }, {
350
+ default: vue.withCtx(() => [
351
+ vue.createVNode(vue.unref(iconsVue.Loading))
352
+ ]),
353
+ _: 1
354
+ /* STABLE */
355
+ }),
356
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
357
+ ])
358
+ ]),
359
+ key: "0"
360
+ } : void 0
361
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
362
+ ],
363
+ 2112
364
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
365
+ )) : __props.column.type === "date-picker" ? (vue.openBlock(), vue.createElementBlock(
366
+ vue.Fragment,
367
+ { key: 4 },
368
+ [
369
+ vue.createCommentVNode(" \u65E5\u671F\u9009\u62E9\u6846 "),
370
+ ["datetimerange", "daterange", "monthrange", "yearrange"].includes(columnAttrs.value?.type) && vue.unref(is.isArray)(__props.column.field) ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyDatePicker), vue.mergeProps({
371
+ key: 0,
372
+ ref_key: "componentRef",
373
+ ref: componentRef,
374
+ start: bindValue.value,
375
+ "onUpdate:start": ($event) => bindValue.value = $event,
376
+ end: bindValue2.value,
377
+ "onUpdate:end": ($event) => bindValue2.value = $event,
378
+ "is-range": true,
379
+ class: "box-border",
380
+ style: { "width": "100%" },
381
+ timeRangeFill: __props.column.timeRangeFill
382
+ }, columnAttrs.value, {
383
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
384
+ onChange: ($event) => onChangeHandler($event, __props.column)
385
+ }), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "timeRangeFill", "disabled", "onChange"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyDatePicker), vue.mergeProps({
386
+ key: 1,
387
+ ref_key: "componentRef",
388
+ ref: componentRef,
389
+ modelValue: bindValue.value,
390
+ "onUpdate:modelValue": ($event) => bindValue.value = $event,
391
+ "is-range": false,
392
+ class: "box-border",
393
+ style: { "width": "100%" },
394
+ timeRangeFill: __props.column.timeRangeFill
395
+ }, columnAttrs.value, {
396
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
397
+ onChange: ($event) => onChangeHandler($event, __props.column)
398
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "timeRangeFill", "disabled", "onChange"]))
399
+ ],
400
+ 64
401
+ /* STABLE_FRAGMENT */
402
+ )) : __props.column.type === "time-picker" ? (vue.openBlock(), vue.createElementBlock(
403
+ vue.Fragment,
404
+ { key: 5 },
405
+ [
406
+ vue.createCommentVNode(" \u65F6\u95F4\u9009\u62E9\u6846 "),
407
+ columnAttrs.value.isRange ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyTimePicker), vue.mergeProps({
408
+ key: 0,
409
+ ref_key: "componentRef",
410
+ ref: componentRef,
411
+ start: bindValue.value,
412
+ "onUpdate:start": ($event) => bindValue.value = $event,
413
+ end: bindValue2.value,
414
+ "onUpdate:end": ($event) => bindValue2.value = $event,
415
+ "is-range": true,
416
+ class: "box-border",
417
+ style: { "width": "100%" }
418
+ }, columnAttrs.value, {
419
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
420
+ onChange: onChangeHandler
421
+ }), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyTimePicker), vue.mergeProps({
422
+ key: 1,
423
+ ref_key: "componentRef",
424
+ ref: componentRef,
425
+ modelValue: bindValue.value,
426
+ "onUpdate:modelValue": ($event) => bindValue.value = $event,
427
+ "is-range": false,
428
+ class: "box-border",
429
+ style: { "width": "100%" }
430
+ }, columnAttrs.value, {
431
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
432
+ onChange: onChangeHandler
433
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"]))
434
+ ],
435
+ 64
436
+ /* STABLE_FRAGMENT */
437
+ )) : __props.column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
438
+ vue.Fragment,
439
+ { key: 6 },
440
+ [
441
+ vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
442
+ vue.createVNode(vue.unref(index$4.HyOrgCascader), vue.mergeProps({
443
+ ref_key: "componentRef",
444
+ ref: componentRef,
445
+ modelValue: bindValue.value,
446
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
447
+ }, columnAttrs.value, {
448
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
449
+ defaultGetData: false,
450
+ onRequesting,
451
+ onFulfilled,
452
+ onRejected,
453
+ onChange: onChangeHandler,
454
+ onVisibleChange
455
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"])
456
+ ],
457
+ 2112
458
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
459
+ )) : __props.column.type === "cascader" ? (vue.openBlock(), vue.createElementBlock(
460
+ vue.Fragment,
461
+ { key: 7 },
303
462
  [
304
- "datetimerange",
305
- "daterange",
306
- "monthrange",
307
- "yearrange"
308
- ].includes(columnAttrs.value?.type) && vue.unref(is.isArray)(__props.column.field) ? (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyDatePicker), vue.mergeProps({
309
- key: 0,
310
- start: bindValue.value,
311
- "onUpdate:start": ($event) => bindValue.value = $event,
312
- end: bindValue2.value,
313
- "onUpdate:end": ($event) => bindValue2.value = $event,
314
- "is-range": true,
315
- style: { "width": "100%" },
316
- timeRangeFill: __props.column.timeRangeFill
317
- }, columnAttrs.value, {
318
- disabled: vue.unref(index.isDisabled)(props, __props.column),
319
- onChange: ($event) => onChangeHandler($event, __props.column)
320
- }), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "timeRangeFill", "disabled", "onChange"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$2.HyDatePicker), vue.mergeProps({
321
- key: 1,
322
- modelValue: bindValue.value,
323
- "onUpdate:modelValue": ($event) => bindValue.value = $event,
324
- "is-range": false,
325
- style: { "width": "100%" },
326
- timeRangeFill: __props.column.timeRangeFill
327
- }, columnAttrs.value, {
328
- disabled: vue.unref(index.isDisabled)(props, __props.column),
329
- onChange: ($event) => onChangeHandler($event, __props.column)
330
- }), null, 16, ["modelValue", "onUpdate:modelValue", "timeRangeFill", "disabled", "onChange"]))
331
- ],
332
- 64
333
- /* STABLE_FRAGMENT */
334
- )) : __props.column.type === "time-picker" ? (vue.openBlock(), vue.createElementBlock(
335
- vue.Fragment,
336
- { key: 5 },
337
- [
338
- vue.createCommentVNode(" \u65F6\u95F4\u9009\u62E9\u6846 "),
339
- columnAttrs.value.isRange ? (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyTimePicker), vue.mergeProps({
340
- key: 0,
341
- start: bindValue.value,
342
- "onUpdate:start": ($event) => bindValue.value = $event,
343
- end: bindValue2.value,
344
- "onUpdate:end": ($event) => bindValue2.value = $event,
345
- "is-range": true,
346
- style: { "width": "100%" }
347
- }, columnAttrs.value, {
348
- disabled: vue.unref(index.isDisabled)(props, __props.column),
349
- onChange: onChangeHandler
350
- }), null, 16, ["start", "onUpdate:start", "end", "onUpdate:end", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.unref(index$3.HyTimePicker), vue.mergeProps({
351
- key: 1,
352
- modelValue: bindValue.value,
353
- "onUpdate:modelValue": ($event) => bindValue.value = $event,
354
- "is-range": false,
355
- style: { "width": "100%" }
356
- }, columnAttrs.value, {
357
- disabled: vue.unref(index.isDisabled)(props, __props.column),
358
- onChange: onChangeHandler
359
- }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"]))
360
- ],
361
- 64
362
- /* STABLE_FRAGMENT */
363
- )) : __props.column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
364
- vue.Fragment,
365
- { key: 6 },
366
- [
367
- vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
368
- vue.createVNode(vue.unref(index$4.HyOrgCascader), vue.mergeProps({
369
- ref_key: "orgCascaderRef",
370
- ref: orgCascaderRef,
371
- modelValue: bindValue.value,
372
- "onUpdate:modelValue": ($event) => bindValue.value = $event
373
- }, columnAttrs.value, {
374
- disabled: vue.unref(index.isDisabled)(props, __props.column),
375
- onChange: onChangeHandler
376
- }), null, 16, ["modelValue", "onUpdate:modelValue", "disabled"])
377
- ],
378
- 2112
379
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
380
- )) : __props.column.type === "cascader" ? (vue.openBlock(), vue.createElementBlock(
381
- vue.Fragment,
382
- { key: 7 },
383
- [
384
- vue.createCommentVNode(" \u7EA7\u8054\u9009\u62E9\u6846 "),
385
- vue.createVNode(vue.unref(elementPlus.ElCascader), vue.mergeProps({
386
- modelValue: bindValue.value,
387
- "onUpdate:modelValue": ($event) => bindValue.value = $event
388
- }, columnAttrs.value, {
389
- style: { "width": "100%" },
390
- disabled: vue.unref(index.isDisabled)(props, __props.column),
391
- options: vue.unref(index.optionsHandler)(props, __props.column),
392
- onChange: onChangeHandler
393
- }), vue.createSlots({
394
- _: 2
395
- /* DYNAMIC */
396
- }, [
397
- optionsLoading.value ? {
398
- name: "empty",
399
- fn: vue.withCtx(() => [
400
- vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
401
- vue.createVNode(vue.unref(elementPlus.ElIcon), {
402
- size: "16",
403
- class: "is-loading text-theme"
404
- }, {
405
- default: vue.withCtx(() => [
406
- vue.createVNode(vue.unref(iconsVue.Loading))
407
- ]),
408
- _: 1
409
- /* STABLE */
410
- }),
411
- vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
412
- ])
413
- ]),
414
- key: "0"
415
- } : void 0
416
- ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
417
- ],
418
- 2112
419
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
420
- )) : vue.createCommentVNode("v-if", true)
421
- ],
422
- 6
423
- /* CLASS, STYLE */
424
- )
425
- ],
426
- 4
427
- /* STYLE */
428
- ),
429
- __props.column.type === "date-picker" && ["daterange", "datetimerange"].includes(columnAttrs.value?.type) && __props.column.timeRangeOptions?.length ? (vue.openBlock(), vue.createElementBlock("div", {
430
- key: 0,
431
- class: "flex text-main select-none"
432
- }, [
433
- (vue.openBlock(true), vue.createElementBlock(
434
- vue.Fragment,
435
- null,
436
- vue.renderList(__props.column.timeRangeOptions, (item, index$1) => {
437
- return vue.openBlock(), vue.createElementBlock("div", {
438
- key: index$1,
439
- class: vue.normalizeClass(["border-l border-border px-[10px] cursor-pointer", {
440
- "bg-[rgba(var(--hy-theme),0.2)] text-theme font-bold": vue.unref(index.isSelectedTimeRange)(__props.column, item, __props.model)
441
- }]),
442
- onClick: ($event) => onTimeRangeClickHandler(__props.column, item)
443
- }, [
444
- vue.createElementVNode(
445
- "span",
446
- null,
447
- vue.toDisplayString(item.label),
448
- 1
449
- /* TEXT */
450
- )
451
- ], 10, ["onClick"]);
452
- }),
453
- 128
454
- /* KEYED_FRAGMENT */
455
- ))
456
- ])) : vue.createCommentVNode("v-if", true)
457
- ])
463
+ vue.createCommentVNode(" \u7EA7\u8054\u9009\u62E9\u6846 "),
464
+ vue.createVNode(vue.unref(elementPlus.ElCascader), vue.mergeProps({
465
+ ref_key: "componentRef",
466
+ ref: componentRef,
467
+ modelValue: bindValue.value,
468
+ "onUpdate:modelValue": ($event) => bindValue.value = $event
469
+ }, columnAttrs.value, {
470
+ style: { "width": "100%" },
471
+ disabled: vue.unref(index.isDisabled)(props, __props.column),
472
+ options: getOptionsHandler(props, __props.column),
473
+ onChange: onChangeHandler,
474
+ onVisibleChange
475
+ }), vue.createSlots({
476
+ _: 2
477
+ /* DYNAMIC */
478
+ }, [
479
+ __props.column.optionsLoading ? {
480
+ name: "empty",
481
+ fn: vue.withCtx(() => [
482
+ vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
483
+ vue.createVNode(vue.unref(elementPlus.ElIcon), {
484
+ size: "16",
485
+ class: "is-loading text-theme"
486
+ }, {
487
+ default: vue.withCtx(() => [
488
+ vue.createVNode(vue.unref(iconsVue.Loading))
489
+ ]),
490
+ _: 1
491
+ /* STABLE */
492
+ }),
493
+ vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
494
+ ])
495
+ ]),
496
+ key: "0"
497
+ } : void 0
498
+ ]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
499
+ ],
500
+ 2112
501
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
502
+ )) : vue.createCommentVNode("v-if", true)
503
+ ],
504
+ 6
505
+ /* CLASS, STYLE */
506
+ )
507
+ ],
508
+ 4
509
+ /* STYLE */
510
+ ),
511
+ __props.column.type === "date-picker" && ["daterange", "datetimerange"].includes(columnAttrs.value?.type) && __props.column.timeRangeOptions?.length ? (vue.openBlock(), vue.createElementBlock("div", {
512
+ key: 0,
513
+ class: "flex text-main select-none"
514
+ }, [
515
+ (vue.openBlock(true), vue.createElementBlock(
516
+ vue.Fragment,
517
+ null,
518
+ vue.renderList(__props.column.timeRangeOptions, (item, index$1) => {
519
+ return vue.openBlock(), vue.createElementBlock("div", {
520
+ key: index$1,
521
+ class: vue.normalizeClass(["border-l border-border px-[10px] cursor-pointer box-border", {
522
+ "bg-[rgba(var(--hy-theme),0.2)] text-theme font-bold": vue.unref(index.isSelectedTimeRange)(__props.column, item, __props.model)
523
+ }]),
524
+ onClick: ($event) => onTimeRangeClickHandler(__props.column, item)
525
+ }, [
526
+ vue.createElementVNode(
527
+ "span",
528
+ null,
529
+ vue.toDisplayString(item.label),
530
+ 1
531
+ /* TEXT */
532
+ )
533
+ ], 10, ["onClick"]);
534
+ }),
535
+ 128
536
+ /* KEYED_FRAGMENT */
537
+ ))
538
+ ])) : vue.createCommentVNode("v-if", true)
539
+ ],
540
+ 2
541
+ /* CLASS */
542
+ )
458
543
  ]),
459
544
  _: 3
460
545
  /* FORWARDED */