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
@@ -0,0 +1,133 @@
1
+ import { ElMessage } from 'element-plus';
2
+ import './index.mjs';
3
+ import '../utils/index.mjs';
4
+ import { exportDailyCheckReportApi, exportDailyCheckReportPostApi, exportDailyCheckReportPostToFormApi, exportExcelFnApi } from '../api/exportExcel.mjs';
5
+ import { $t } from './useLocale.mjs';
6
+ import { formatTimeFn } from '../utils/input.mjs';
7
+
8
+ function useExportFile(hy) {
9
+ function blobDownloadFn(res, name) {
10
+ return new Promise((resolve, reject) => {
11
+ ElMessage.warning($t("startDownloading"));
12
+ const today = formatTimeFn(/* @__PURE__ */ new Date(), "Y-M-h D:m:s");
13
+ const blob = res;
14
+ const reader = new FileReader();
15
+ reader.readAsDataURL(blob);
16
+ reader.onload = function() {
17
+ let url = null;
18
+ try {
19
+ if (window.navigator.msSaveOrOpenBlob) {
20
+ const blobObject = new Blob([blob]);
21
+ window.navigator.msSaveOrOpenBlob(blobObject, `${name}_${today}.xls`);
22
+ } else {
23
+ url = URL.createObjectURL(new Blob([blob]));
24
+ const a = document.createElement("a");
25
+ document.body.appendChild(a);
26
+ a.href = url;
27
+ a.download = `${name}_${today}.xls`;
28
+ a.target = "_blank";
29
+ a.click();
30
+ a.remove();
31
+ }
32
+ resolve();
33
+ } catch (error) {
34
+ reject(error);
35
+ } finally {
36
+ if (url) URL.revokeObjectURL(url);
37
+ }
38
+ };
39
+ });
40
+ }
41
+ function customExportFileFn(name, route, getParameters = {}) {
42
+ return new Promise((resolve, reject) => {
43
+ let url = "";
44
+ for (const k in getParameters) {
45
+ const content = getParameters[`${k}`];
46
+ if (content || content === 0) {
47
+ url += `${k}=${content}&`;
48
+ }
49
+ }
50
+ url = url.substring(url.length - 1, 0);
51
+ exportDailyCheckReportApi(`/exportExcel/${route}?${url}`).then((res) => {
52
+ if (!res) return ElMessage.error($t("noDataCanBeExported"));
53
+ hy.blobDownloadFn(res, name).then(() => {
54
+ resolve();
55
+ });
56
+ });
57
+ });
58
+ }
59
+ function customExportFilePostFn(name, route, getParameters = {}) {
60
+ return new Promise((resolve, reject) => {
61
+ exportDailyCheckReportPostApi(`/exportExcel/${route}`, getParameters).then((res) => {
62
+ hy.blobDownloadFn(res, name).then(() => {
63
+ resolve();
64
+ });
65
+ });
66
+ });
67
+ }
68
+ function customExportFilePostToFormFn(name, route, getParameters = {}) {
69
+ return new Promise((resolve, reject) => {
70
+ exportDailyCheckReportPostToFormApi(`/exportExcel/${route}`, getParameters).then((res) => {
71
+ this.blobDownloadFn(res, name).then(() => {
72
+ resolve();
73
+ });
74
+ });
75
+ });
76
+ }
77
+ function directDownloadFn(url, fileName) {
78
+ return new Promise((resolve, reject) => {
79
+ exportDailyCheckReportApi(url).then((res) => {
80
+ if (!res) return ElMessage.error($t("noDataCanBeExported"));
81
+ hy.blobDownloadFn(res, fileName).then(() => {
82
+ resolve();
83
+ });
84
+ });
85
+ });
86
+ }
87
+ function obtainUrlDownloadingFn(url, fileName) {
88
+ ElMessage.warning($t("startDownloading"));
89
+ const today = formatTimeFn(/* @__PURE__ */ new Date(), "Y-M-h D:m:s");
90
+ exportExcelFnApi(url).then((res) => {
91
+ if (res.code === 200) {
92
+ const url2 = res.data;
93
+ const xhr = new XMLHttpRequest();
94
+ xhr.open("GET", url2);
95
+ xhr.responseType = "blob";
96
+ xhr.onload = function() {
97
+ const blob = xhr.response;
98
+ const reader = new FileReader();
99
+ reader.readAsDataURL(blob);
100
+ reader.onload = () => {
101
+ if (window.navigator.msSaveOrOpenBlob) {
102
+ const blobObject = new Blob([blob]);
103
+ window.navigator.msSaveOrOpenBlob(blobObject, `${fileName}_${today}.xls`);
104
+ } else {
105
+ const url3 = URL.createObjectURL(new Blob([blob]));
106
+ const a = document.createElement("a");
107
+ document.body.appendChild(a);
108
+ a.href = url3;
109
+ a.download = `${fileName}_${today}.xls`;
110
+ a.target = "_blank";
111
+ a.click();
112
+ a.remove();
113
+ }
114
+ };
115
+ };
116
+ xhr.onerror = function() {
117
+ console.error("could not download file");
118
+ };
119
+ xhr.send();
120
+ }
121
+ });
122
+ }
123
+ return {
124
+ blobDownloadFn,
125
+ customExportFileFn,
126
+ customExportFilePostFn,
127
+ customExportFilePostToFormFn,
128
+ directDownloadFn,
129
+ obtainUrlDownloadingFn
130
+ };
131
+ }
132
+
133
+ export { useExportFile };
@@ -9,6 +9,8 @@ import { localVideoPlayerConfigKey } from './useVideoPlayerConfig.mjs';
9
9
  import { localEnsureHyIconMapKey } from './useEnsureHyIcon.mjs';
10
10
  import { localTooltipConfigKey } from './useTooltipConfig.mjs';
11
11
  import { localMapConfigKey } from './useMapConfig.mjs';
12
+ import { localBaseMainStoreKey } from './useBaseMainStore.mjs';
13
+ import { localCurrentBusKey } from './useCurrentBus.mjs';
12
14
  import zh_CN from '../locale/zh_CN.mjs';
13
15
 
14
16
  const globalConfig = ref();
@@ -29,19 +31,16 @@ function useGlobalConfig(key, defaultValue = void 0) {
29
31
  return config;
30
32
  }
31
33
  }
32
- const provideGlobalConfig = (config, app, global = false) => {
34
+ const provideGlobalConfig = (props, app, global = false) => {
33
35
  const inSetup = !!getCurrentInstance();
34
36
  const oldConfig = inSetup ? useGlobalConfig() : void 0;
35
37
  const provideFn = app?.provide ?? (inSetup ? provide : void 0);
36
38
  if (!provideFn) {
37
- console.warn(
38
- "provideGlobalConfig",
39
- "provideGlobalConfig() can only be used inside setup()."
40
- );
39
+ console.warn("provideGlobalConfig", "provideGlobalConfig() can only be used inside setup().");
41
40
  return;
42
41
  }
43
42
  const context = computed(() => {
44
- const cfg = unref(config);
43
+ const cfg = unref(props.hyConfig || {});
45
44
  if (!oldConfig?.value) return cfg;
46
45
  return mergeConfig(oldConfig.value, cfg);
47
46
  });
@@ -82,6 +81,11 @@ const provideGlobalConfig = (config, app, global = false) => {
82
81
  localMapConfigKey,
83
82
  computed(() => context.value.mapConfig)
84
83
  );
84
+ provideFn(localBaseMainStoreKey, context.value.baseMainStore);
85
+ provideFn(
86
+ localCurrentBusKey,
87
+ computed(() => context.value.currentBus)
88
+ );
85
89
  if (global || !globalConfig.value) {
86
90
  globalConfig.value = context.value;
87
91
  }
@@ -7,21 +7,20 @@ import { isEmpty } from '../utils/is.mjs';
7
7
  import zh_CN from '../locale/zh_CN.mjs';
8
8
  import { useGlobalConfig } from './useGlobalConfig.mjs';
9
9
 
10
+ const localeContextKey = /* @__PURE__ */ Symbol("localeContextKey");
11
+ const translate = (path, option, locale) => get(locale, path, path).replace(/\{(\w+)\}/g, (_, key) => `${!isEmpty(option?.[key]) ? option[key] : ""}`);
10
12
  const buildTranslator = (locale) => (path, option) => translate(path, option, unref(locale));
11
- const translate = (path, option, locale) => get(locale, path, path).replace(
12
- /\{(\w+)\}/g,
13
- (_, key) => `${!isEmpty(option?.[key]) ? option[key] : ""}`
14
- );
15
13
  const buildLocaleContext = (locale, conifg) => {
16
- const lang = computed(() => unref(locale).name);
14
+ const lang2 = computed(() => unref(locale).name);
17
15
  const localeRef = isRef(locale) ? locale : ref(locale);
16
+ const $t2 = buildTranslator(locale);
18
17
  return {
19
- lang,
18
+ lang: lang2,
20
19
  locale: localeRef,
21
- t: buildTranslator(locale)
20
+ t: $t2,
21
+ $t: $t2
22
22
  };
23
23
  };
24
- const localeContextKey = /* @__PURE__ */ Symbol("localeContextKey");
25
24
  const getLanguage = (localeOverrides) => {
26
25
  const locale = localeOverrides || (getCurrentInstance() ? inject(localeContextKey, ref()) : void 0);
27
26
  return unref(locale)?.name || Chinese?.name;
@@ -29,10 +28,21 @@ const getLanguage = (localeOverrides) => {
29
28
  const useLocale = (localeOverrides) => {
30
29
  const locale = localeOverrides || (getCurrentInstance() ? inject(localeContextKey, ref()) : void 0);
31
30
  return buildLocaleContext(
32
- computed(
33
- () => unref(locale) || index[unref(useGlobalConfig())?.locale] || zh_CN
34
- )
31
+ computed(() => unref(locale) || index[unref(useGlobalConfig())?.locale] || zh_CN)
35
32
  );
36
33
  };
34
+ const lang = ref("zh_CN");
35
+ const getLang = () => {
36
+ return lang.value;
37
+ };
38
+ const setLang = (value) => {
39
+ if (value && ["zh_CN", "en_US"]) {
40
+ lang.value = value;
41
+ }
42
+ };
43
+ const $t = (path, option) => {
44
+ const locale = index[lang.value] || zh_CN;
45
+ return translate(path, option, locale);
46
+ };
37
47
 
38
- export { buildLocaleContext, buildTranslator, getLanguage, localeContextKey, translate, useLocale };
48
+ export { $t, buildLocaleContext, buildTranslator, getLang, getLanguage, lang, localeContextKey, setLang, translate, useLocale };
@@ -10,9 +10,7 @@ const usePermissionMap = () => {
10
10
  };
11
11
  } else {
12
12
  return {
13
- permissionMap: computed(
14
- () => unref(useGlobalConfig()).permissionMap || /* @__PURE__ */ new Map()
15
- )
13
+ permissionMap: computed(() => unref(useGlobalConfig()).permissionMap || /* @__PURE__ */ new Map())
16
14
  };
17
15
  }
18
16
  };
@@ -20,10 +20,7 @@ function onResizeHandler() {
20
20
  resizeConfig.animationId = window.requestAnimationFrame(() => {
21
21
  try {
22
22
  let symbolKeys = Object.getOwnPropertySymbols(resizeMap);
23
- symbolKeys = [
24
- ...symbolKeys.slice(resizeConfig.resizeIndex),
25
- ...symbolKeys
26
- ];
23
+ symbolKeys = [...symbolKeys.slice(resizeConfig.resizeIndex), ...symbolKeys];
27
24
  symbolKeys.forEach((key, index, list) => {
28
25
  const timeout = setTimeout(() => {
29
26
  resizeConfig.resizeIndex = list.length - 1 == index ? 0 : index;
@@ -11,7 +11,9 @@ function useResizeObserver(container, callback) {
11
11
  resizeMap[key] = resizeObserver;
12
12
  }
13
13
  function removeResize() {
14
- resizeObserver.disconnect();
14
+ if (resizeObserver) {
15
+ resizeObserver.disconnect();
16
+ }
15
17
  resizeObserver = null;
16
18
  delete resizeMap[key];
17
19
  }
@@ -7,7 +7,7 @@ function useSubscribe() {
7
7
  bus.on(UPDATE_ORG_CASCADER, callback);
8
8
  };
9
9
  const unsubOrgCascader = (callback) => {
10
- bus.on(UPDATE_ORG_CASCADER, callback);
10
+ bus.off(UPDATE_ORG_CASCADER, callback);
11
11
  };
12
12
  return {
13
13
  // 部门级联组件
@@ -25,4 +25,4 @@ function usePublish() {
25
25
  };
26
26
  }
27
27
 
28
- export { usePublish, useSubscribe };
28
+ export { bus, usePublish, useSubscribe };
@@ -10,9 +10,7 @@ const useUserAvatarMap = () => {
10
10
  };
11
11
  } else {
12
12
  return {
13
- userAvatarMap: computed(
14
- () => unref(useGlobalConfig()).userAvatarMap || /* @__PURE__ */ new Map()
15
- )
13
+ userAvatarMap: computed(() => unref(useGlobalConfig()).userAvatarMap || /* @__PURE__ */ new Map())
16
14
  };
17
15
  }
18
16
  };
@@ -10,9 +10,7 @@ const useVideoPlayerConfig = () => {
10
10
  };
11
11
  } else {
12
12
  return {
13
- videoPlayerConfig: computed(
14
- () => unref(useGlobalConfig()).videoPlayer || {}
15
- )
13
+ videoPlayerConfig: computed(() => unref(useGlobalConfig()).videoPlayer || {})
16
14
  };
17
15
  }
18
16
  };
package/es/index.mjs CHANGED
@@ -3,6 +3,7 @@ import './utils/index.mjs';
3
3
  import './components/index.mjs';
4
4
  import './bussiness/index.mjs';
5
5
  import './hooks/index.mjs';
6
+ export { $t, buildLocaleContext, buildTranslator, getLang, getLanguage, lang, localeContextKey, setLang, translate, useLocale } from './hooks/useLocale.mjs';
6
7
  export { ElDatePicker, HyDatePicker } from './components/hyDatePicker/index.mjs';
7
8
  export { ElInput, HyInput, HyInputSearch } from './components/hyInput/index.mjs';
8
9
  export { ElLoading, ElLoading as HyLoading } from './components/hyLoading/index.mjs';
@@ -10,15 +11,18 @@ export { ElTimePicker, HyTimePicker } from './components/hyTimePicker/index.mjs'
10
11
  export { ElTooltip, HyTooltip } from './components/hyTooltip/index.mjs';
11
12
  export { HyAcquisitionStationTree } from './bussiness/hyAcquisitionStationTree/index.mjs';
12
13
  export { HyAddDepartmentType } from './bussiness/hyAddDepartmentType/index.mjs';
14
+ export { HyAddElectronicFenceDialog, HyBatchSetElectronicFenceUserDialog, HyElectronicFence, HyElectronicFenceAssociatedUsersDialog } from './bussiness/hyElectronicFence/index.mjs';
13
15
  export { HyAudioPlayer } from './components/hyAudioPlayer/index.mjs';
14
16
  export { HyBatchTableForm, HyTableForm } from './components/hyTableForm/index.mjs';
15
17
  export { HyBatchUploadDialog } from './components/hyBatchUploadDialog/index.mjs';
16
18
  export { HyButton } from './components/hyButton/index.mjs';
19
+ export { HyCheckboxGroup } from './components/hyCheckboxGroup/index.mjs';
17
20
  export { HyConfigProvider } from './components/hyConfigProvider/index.mjs';
18
21
  export { HyConfirmDialog } from './components/hyConfirmDialog/index.mjs';
19
22
  export { HyCutter } from './components/hyCutter/index.mjs';
20
23
  export { HyDeviceTree } from './bussiness/hyDeviceTree/index.mjs';
21
24
  export { HyDialog } from './components/hyDialog/index.mjs';
25
+ export { HyDrawer } from './components/hyDrawer/index.mjs';
22
26
  export { HyForm } from './components/hyForm/index.mjs';
23
27
  export { HyIcon } from './components/hyIcon/index.mjs';
24
28
  export { HyIconBox } from './components/hyIconBox/index.mjs';
@@ -31,7 +35,9 @@ export { HyOrgCascader } from './components/hyOrgCascader/index.mjs';
31
35
  export { HyOrgGroupTree } from './bussiness/hyOrgGroupTree/index.mjs';
32
36
  export { HyPlanGroupDeviceTree } from './bussiness/hyPlanGroupDeviceTree/index.mjs';
33
37
  export { HyRadioGroup } from './components/hyRadioGroup/index.mjs';
38
+ export { HyRuleAssignDialog, HyRuleFenceDialog, HyRuleSetting, HyRuleSettingDialog, HySetRuleAggregationAlarmDialog } from './bussiness/hyRuleSetting/index.mjs';
34
39
  export { HySearch } from './components/hySearch/index.mjs';
40
+ export { HyStatus } from './components/hyStatus/index.mjs';
35
41
  export { HyTable } from './components/hyTable/index.mjs';
36
42
  export { HyTableActionButton } from './components/hyTableActionButton/index.mjs';
37
43
  export { HyTour } from './components/hyTour/index.mjs';
@@ -43,7 +49,7 @@ export { InitMap, setMapServer, setPoiServer } from './utils/map/index.mjs';
43
49
  export { PERMISSION } from './utils/permission.mjs';
44
50
  export { base64Decrypt, encryptToBase64, generateRandomCode } from './utils/crypto.mjs';
45
51
  export { blobToDataURL, fileFormUpload, fileJsonUplaod, fileUpload, presignedUrl, sizeToTextHandler } from './utils/file.mjs';
46
- export { buildLocaleContext, buildTranslator, getLanguage, localeContextKey, translate, useLocale } from './hooks/useLocale.mjs';
52
+ export { bus, usePublish, useSubscribe } from './hooks/useSubscribe.mjs';
47
53
  export { clearResizeObserver, useResizeObserver } from './hooks/useResizeObserver.mjs';
48
54
  export { clearSpace, columnLabelHandler, columnPlaceholderHandler, columnRuleHandler, genColumnDefaultLabel, genRuleRequiredMsgHandler, genValueByProp, getValueByProp, setValueByProp } from './utils/form.mjs';
49
55
  export { cloneDeep, copyText, createUniqueId, funRunHandler, mergeDeep, withInstall } from './utils/handler.mjs';
@@ -54,6 +60,8 @@ export { formatDuration, getDefaultValueFormatByType } from './utils/date.mjs';
54
60
  export { isArray, isBoolean, isEmpty, isFile, isFunction, isNull, isNumber, isObject, isOverflowing, isPermission, isString, isSupportH265, isSymbol, isUndefined, isVueProxy } from './utils/is.mjs';
55
61
  export { loadingSvg } from './utils/sharedContent.mjs';
56
62
  export { localAudioPlayerConfigKey, useAudioPlayerConfig } from './hooks/useAudioPlayerConfig.mjs';
63
+ export { localBaseMainStoreKey, useBaseMainStore } from './hooks/useBaseMainStore.mjs';
64
+ export { localCurrentBusKey, useCurrentBus } from './hooks/useCurrentBus.mjs';
57
65
  export { localEnsureHyIconMapKey, useEnsureHyIcon } from './hooks/useEnsureHyIcon.mjs';
58
66
  export { localMapConfigKey, useMapConfig } from './hooks/useMapConfig.mjs';
59
67
  export { localPermissionMapKey, usePermissionMap } from './hooks/usePermissionMap.mjs';
@@ -66,8 +74,9 @@ export { resetAppSearchValue, useAppSearch } from './components/hySearch/js/useA
66
74
  export { setGlobalTreeConfig } from 'hy-virtual-tree';
67
75
  export { useAppTable } from './components/hyTable/js/useAppTable.mjs';
68
76
  export { useAppTableForm } from './components/hyTableForm/js/useAppTableForm.mjs';
77
+ export { useBatchDialog, useDialog, useDialogIsEdit } from './hooks/useDialog.mjs';
78
+ export { useExportFile } from './hooks/useExportFile.mjs';
69
79
  export { useMixins } from './hooks/useMixins.mjs';
70
- export { usePublish, useSubscribe } from './hooks/useSubscribe.mjs';
71
80
  export { useResizeHandler } from './hooks/useResizeHandler.mjs';
72
81
 
73
82
  import "./style/index.scss";
@@ -1,4 +1,4 @@
1
- var en = {
1
+ var en_US = {
2
2
  name: "en_US",
3
3
  hy: {
4
4
  language: "Language",
@@ -50,11 +50,11 @@ var en = {
50
50
  moreOperations: "More Operations",
51
51
  nonsupport: "Nonsupport",
52
52
  editColumn: "Edit Column",
53
- Index: "\u5E8F\u53F7",
53
+ index: "Index",
54
54
  searchFor: "Search For {0}",
55
55
  searchByInput: 'Search by input <span class="text-theme font-bold">{0}</span>',
56
56
  example: "Example",
57
- operator: "Operator"
57
+ operation: "Operation"
58
58
  },
59
59
  dialog: {
60
60
  content: "Secondary Confirmation Operation",
@@ -145,6 +145,25 @@ var en = {
145
145
  startYear: "Start Year",
146
146
  endYear: "End Year"
147
147
  },
148
+ // 业务通用
149
+ bussiness: {
150
+ add: "Add",
151
+ edit: "Edit",
152
+ delete: "Delete",
153
+ department: "Department",
154
+ successfulDeletion: "Successful Deletion",
155
+ clear: "Clear",
156
+ operationSuccessful: "Operation Successful",
157
+ associate: "Associate",
158
+ confirmDeletion: "Confirm Deletion",
159
+ deletingThisWillResultInIrrecoverableLossAreYouSureYouWantToDeleteThis: "After deletion, it cannot be restored. Are you sure you want to delete this {0}?",
160
+ importOperation: "Import Operation",
161
+ exportOperation: "Export Operation",
162
+ creationPersonnel: "Creation Personnel",
163
+ creationTime: "Creation Time",
164
+ creator: "Creator"
165
+ },
166
+ // 部门类型
148
167
  departmentType: {
149
168
  editDepartmentType: "Edit Department Type",
150
169
  addDepartmentType: "Add Department Type",
@@ -159,7 +178,63 @@ var en = {
159
178
  editDeviceCover: "Edit Device Cover",
160
179
  close: "Close",
161
180
  save: "Save"
181
+ },
182
+ // 电子围栏
183
+ electronicFence: {
184
+ electronicFence: "Electronic Fence",
185
+ electronicFenceName: "Electronic Fence Name",
186
+ pleaseSelectAGeofence: "Please Select A Geofence",
187
+ associateUser: "Associate User",
188
+ employeeIDAccountNameDepartmentNameToFilter: "Employee ID Account Name Department Name To Filter",
189
+ createInformation: "Create Information",
190
+ addAnElectronicFence: "Add An Electronic Fence",
191
+ addASingleElectronicFence: "Add A Single Electronic Fence",
192
+ importAssociatedUsers: "Import Associated Users",
193
+ uploadTheAssociatedUserTemplateAndLinkTheUsersFilledInTheTemplateToTheCorrespondingFences: "Upload The Associated User Template And Link The Users Filled In The Template To The Corresponding Fences.",
194
+ exportFenceInformation: "Export Fence Information",
195
+ exportTheSelectedFenceInformation: "Export The Selected Fence Information",
196
+ exportSelectedFenceInformationOnlyExportsTheSelectedFencesThatHaveBeenCheckedThisIsSuitableForTargetedVerification: "Only Export The Selected Fences, Applicable For Targeted Verification.",
197
+ exportAllFenceInformation: "Export All Fence Information",
198
+ exportAllTheElectronicFenceInformationFromTheList: "Export All The Electronic Fence Information From The List\uFF08.xlsx\uFF09",
199
+ exportTheAssociatedUserTemplate: "Export The Associated User Template",
200
+ exportTheSelectedAssociatedUserTemplate: "Export The Selected Associated User Template",
201
+ onlyForTheSelectedFencesGenerateTheAssociatedUserTemplateAfterFillingInUploadItThroughTheImportAssociatedUsersOption: 'Only For The Selected Fences, Generate The Associated User Template. After Filling In, Upload It Through The "Import Associated Users" Option.',
202
+ exportAllAssociatedUserTemplates: "Export All Associated User Templates",
203
+ downloadTheTemplateForAssociatingTheFenceWithUsersFillInTheBindingRelationshipBetweenTheFenceAndTheUsersAndThenUploadItThroughTheImportAssociatedUsersOption: 'Download The Template For Associating The Fence With Users, Fill In The Binding Relationship Between The Fence And The Users, And Then Upload It Through The "Import Associated Users" Option.',
204
+ editTheElectronicFence: "Edit The Electronic Fence",
205
+ associatedUserName: "Associated User Name",
206
+ associatedUserAccount: "Associated User Account",
207
+ batchImportAssociatedUsers: "Batch Import Associated Users"
208
+ },
209
+ // 规则设置
210
+ ruleSetting: {
211
+ noEntry: "No Entry",
212
+ noExit: "No Exit",
213
+ silent: "Silent",
214
+ scheduledPhoto: "Scheduled Photo",
215
+ scheduledVideo: "Scheduled Video",
216
+ scheduledFeedback: "Scheduled Feedback",
217
+ gather: "Gather",
218
+ ruleName: "Rule Name",
219
+ areaName: "Area Name",
220
+ stayTime: "Stay Time",
221
+ personnelIntervalThreshold: "Personnel Interval Threshold",
222
+ executionTime: "Execution Time",
223
+ everyDay: "Every Day",
224
+ rice: "Rice",
225
+ distribution: "Distribution",
226
+ assignRules: "Assign Rules",
227
+ userName: "User Name",
228
+ deviceIMEI: "Device IMEI",
229
+ pleaseSelectTheUser: "Please Select The User",
230
+ railName: "Rail Name",
231
+ workingHours: "Working Hours",
232
+ captureMode: "Capture Mode",
233
+ loopSnapshot: "Loop Snapshot",
234
+ independentSnapshot: "Independent Snapshot",
235
+ snapshotInterval: "Snapshot Interval",
236
+ second: "Second"
162
237
  }
163
238
  };
164
239
 
165
- export { en as default };
240
+ export { en_US as default };
@@ -1,2 +1,2 @@
1
- export { default as en } from './en.mjs';
2
- export { default as zhCn } from './zh_CN.mjs';
1
+ export { default as en_US } from './en_US.mjs';
2
+ export { default as zh_CN } from './zh_CN.mjs';
@@ -27,7 +27,8 @@ var zh_CN = {
27
27
  wednesday: "\u661F\u671F\u4E09",
28
28
  thursday: "\u661F\u671F\u56DB",
29
29
  friday: "\u661F\u671F\u4E94",
30
- saturday: "\u661F\u671F\u516D"
30
+ saturday: "\u661F\u671F\u516D",
31
+ to: "\u81F3"
31
32
  },
32
33
  form: {
33
34
  department: "\u6240\u5C5E\u90E8\u95E8",
@@ -55,7 +56,7 @@ var zh_CN = {
55
56
  searchByInput: '\u53EF\u8F93\u5165 <span class="text-theme font-bold">{0}</span> \u8FDB\u884C\u641C\u7D22',
56
57
  maxColumnLimitTip: "\u5DF2\u8FBE\u5230\u5B57\u6BB5\u6570\u91CF\u4E0A\u9650(\u6700\u591A15\u4E2A)\uFF0C\u8BF7\u53D6\u6D88\u90E8\u5206\u5B57\u6BB5\u540E\u518D\u786E\u8BA4",
57
58
  example: "\u793A\u4F8B",
58
- operator: "\u64CD\u4F5C"
59
+ operation: "\u64CD\u4F5C"
59
60
  },
60
61
  dialog: {
61
62
  content: "\u4E8C\u6B21\u786E\u8BA4\u64CD\u4F5C",
@@ -141,6 +142,26 @@ var zh_CN = {
141
142
  startYear: "\u5F00\u59CB\u5E74\u4EFD",
142
143
  endYear: "\u7ED3\u675F\u5E74\u4EFD"
143
144
  },
145
+ // 业务通用
146
+ bussiness: {
147
+ add: "\u6DFB\u52A0",
148
+ edit: "\u7F16\u8F91",
149
+ delete: "\u5220\u9664",
150
+ department: "\u6240\u5C5E\u90E8\u95E8",
151
+ successfulDeletion: "\u5220\u9664\u6210\u529F",
152
+ clear: "\u6E05\u7A7A",
153
+ operationSuccessful: "\u64CD\u4F5C\u6210\u529F",
154
+ associate: "\u5173\u8054",
155
+ confirmDeletion: "\u786E\u8BA4\u5220\u9664",
156
+ deletingThisWillResultInIrrecoverableLossAreYouSureYouWantToDeleteThis: "\u5220\u9664\u540E\u65E0\u6CD5\u8FD8\u539F\uFF0C\u662F\u5426\u786E\u8BA4\u5220\u9664\u8BE5{0}\uFF1F",
157
+ importOperation: "\u5BFC\u5165\u64CD\u4F5C",
158
+ exportOperation: "\u5BFC\u51FA\u64CD\u4F5C",
159
+ creationPersonnel: "\u521B\u5EFA\u4EBA\u5458",
160
+ creationTime: "\u521B\u5EFA\u65F6\u95F4",
161
+ noPermission: "\u65E0\u6743\u9650",
162
+ creator: "\u521B\u5EFA\u4EBA"
163
+ },
164
+ // 部门类型
144
165
  departmentType: {
145
166
  editDepartmentType: "\u7F16\u8F91\u90E8\u95E8\u7C7B\u578B",
146
167
  addDepartmentType: "\u6DFB\u52A0\u90E8\u95E8\u7C7B\u578B",
@@ -155,6 +176,62 @@ var zh_CN = {
155
176
  editDeviceCover: "\u7F16\u8F91\u8BBE\u5907\u5C01\u9762",
156
177
  close: "\u5173 \u95ED",
157
178
  save: "\u4FDD \u5B58"
179
+ },
180
+ // 电子围栏
181
+ electronicFence: {
182
+ electronicFence: "\u7535\u5B50\u56F4\u680F",
183
+ electronicFenceName: "\u7535\u5B50\u56F4\u680F\u540D\u79F0",
184
+ pleaseSelectAGeofence: "\u8BF7\u9009\u62E9\u56F4\u680F",
185
+ associateUser: "\u5173\u8054\u7528\u6237",
186
+ employeeIDAccountNameDepartmentNameToFilter: "\u4EBA\u5458\u5DE5\u53F7\u3001\u8D26\u53F7\u3001\u540D\u79F0\u3001\u90E8\u95E8\u540D\u79F0\u8FDB\u884C\u7B5B\u9009",
187
+ createInformation: "\u521B\u5EFA\u4FE1\u606F",
188
+ addAnElectronicFence: "\u6DFB\u52A0\u7535\u5B50\u56F4\u680F",
189
+ addASingleElectronicFence: "\u6DFB\u52A0\u5355\u4E2A\u7535\u5B50\u56F4\u680F",
190
+ importAssociatedUsers: "\u5BFC\u5165\u5173\u8054\u7528\u6237",
191
+ uploadTheAssociatedUserTemplateAndLinkTheUsersFilledInTheTemplateToTheCorrespondingFences: "\u4E0A\u4F20\u5173\u8054\u7528\u6237\u6A21\u677F\uFF0C\u5C06\u6A21\u677F\u4E2D\u586B\u5199\u7684\u7528\u6237\u5173\u8054\u5230\u5BF9\u5E94\u56F4\u680F",
192
+ exportFenceInformation: "\u5BFC\u51FA\u56F4\u680F\u4FE1\u606F",
193
+ exportTheSelectedFenceInformation: "\u5BFC\u51FA\u9009\u4E2D\u56F4\u680F\u4FE1\u606F",
194
+ exportSelectedFenceInformationOnlyExportsTheSelectedFencesThatHaveBeenCheckedThisIsSuitableForTargetedVerification: "\u4EC5\u5BFC\u51FA\u5DF2\u52FE\u9009\u7684\u56F4\u680F\uFF0C\u9002\u7528\u4E8E\u5B9A\u5411\u6838\u5BF9",
195
+ exportAllFenceInformation: "\u5BFC\u51FA\u6240\u6709\u56F4\u680F\u4FE1\u606F",
196
+ exportAllTheElectronicFenceInformationFromTheList: "\u5BFC\u51FA\u5217\u8868\u4E2D\u6240\u6709\u7535\u5B50\u56F4\u680F\u4FE1\u606F\uFF08.xlsx\uFF09",
197
+ exportTheAssociatedUserTemplate: "\u5BFC\u51FA\u5173\u8054\u7528\u6237\u6A21\u677F",
198
+ exportTheSelectedAssociatedUserTemplate: "\u5BFC\u51FA\u9009\u4E2D\u5173\u8054\u7528\u6237\u6A21\u677F",
199
+ onlyForTheSelectedFencesGenerateTheAssociatedUserTemplateAfterFillingInUploadItThroughTheImportAssociatedUsersOption: "\u4EC5\u9488\u5BF9\u5DF2\u52FE\u9009\u56F4\u680F\u751F\u6210\u5173\u8054\u7528\u6237\u6A21\u677F\uFF0C\u586B\u5199\u540E\u901A\u8FC7\u300C\u5BFC\u5165\u5173\u8054\u7528\u6237\u300D\u4E0A\u4F20",
200
+ exportAllAssociatedUserTemplates: "\u5BFC\u51FA\u6240\u6709\u5173\u8054\u7528\u6237\u6A21\u677F",
201
+ downloadTheTemplateForAssociatingTheFenceWithUsersFillInTheBindingRelationshipBetweenTheFenceAndTheUsersAndThenUploadItThroughTheImportAssociatedUsersOption: "\u4E0B\u8F7D\u56F4\u680F\u5173\u8054\u7528\u6237\u6A21\u677F\uFF0C\u586B\u5199\u56F4\u680F\u4E0E\u7528\u6237\u7684\u7ED1\u5B9A\u5173\u7CFB\u540E\uFF0C\u901A\u8FC7\u300C\u5BFC\u5165\u5173\u8054\u7528\u6237\u300D\u4E0A\u4F20",
202
+ editTheElectronicFence: "\u7F16\u8F91\u7535\u5B50\u56F4\u680F",
203
+ associatedUserName: "\u5173\u8054\u7528\u6237\u540D\u79F0",
204
+ associatedUserAccount: "\u5173\u8054\u7528\u6237\u8D26\u53F7",
205
+ batchImportAssociatedUsers: "\u6279\u91CF\u5BFC\u5165\u5173\u8054\u7528\u6237"
206
+ },
207
+ // 规则设置
208
+ ruleSetting: {
209
+ noEntry: "\u7981\u5165",
210
+ noExit: "\u7981\u51FA",
211
+ silent: "\u9759\u9ED8",
212
+ scheduledPhoto: "\u5B9A\u65F6\u62CD\u7167",
213
+ scheduledVideo: "\u5B9A\u65F6\u5F55\u50CF",
214
+ scheduledFeedback: "\u5B9A\u65F6\u56DE\u4F20",
215
+ gather: "\u805A\u96C6",
216
+ ruleName: "\u89C4\u5219\u540D\u79F0",
217
+ areaName: "\u533A\u57DF\u540D\u79F0",
218
+ stayTime: "\u505C\u7559\u65F6\u95F4",
219
+ personnelIntervalThreshold: "\u4EBA\u5458\u95F4\u9694\u9608\u503C",
220
+ executionTime: "\u6267\u884C\u65F6\u95F4",
221
+ everyDay: "\u6BCF\u4E00\u5929",
222
+ rice: "\u7C73",
223
+ distribution: "\u5206\u914D",
224
+ assignRules: "\u5206\u914D\u89C4\u5219",
225
+ userName: "\u4F7F\u7528\u8005\u540D\u79F0",
226
+ deviceIMEI: "\u8BBE\u5907IMEI",
227
+ pleaseSelectTheUser: "\u8BF7\u9009\u62E9\u4F7F\u7528\u8005",
228
+ railName: "\u56F4\u680F\u540D\u79F0",
229
+ workingHours: "\u5DE5\u4F5C\u65F6\u95F4",
230
+ captureMode: "\u6293\u62CD\u6A21\u5F0F",
231
+ loopSnapshot: "\u5FAA\u73AF\u6293\u62CD",
232
+ independentSnapshot: "\u72EC\u7ACB\u6293\u62CD",
233
+ snapshotInterval: "\u6293\u62CD\u95F4\u9694",
234
+ second: "\u79D2"
158
235
  }
159
236
  };
160
237
 
@@ -3,7 +3,6 @@
3
3
  * {
4
4
  margin: 0;
5
5
  padding: 0;
6
- box-sizing: border-box;
7
6
  }
8
7
  html,
9
8
  body,
@@ -1,4 +1,6 @@
1
- *, ::before, ::after {
1
+ *,
2
+ ::before,
3
+ ::after {
2
4
  --tw-border-spacing-x: 0;
3
5
  --tw-border-spacing-y: 0;
4
6
  --tw-translate-x: 0;
@@ -54,7 +56,6 @@
54
56
  *,
55
57
  ::before,
56
58
  ::after {
57
- box-sizing: border-box;
58
59
  /* 1 */
59
60
  border-width: 0;
60
61
  /* 2 */
@@ -119,11 +120,13 @@
119
120
  @tailwind components;
120
121
  @tailwind utilities;
121
122
 
122
- html,body, #app{
123
+ html,
124
+ body,
125
+ #app {
123
126
  width: 100%;
124
127
  height: 100%;
125
128
  position: relative;
126
- background: rgb(var(--hy-background), var(--tw-bg-opacity, 1));
129
+ background: rgb(var(--hy-background), var(--tw-bg-opacity, 1));
127
130
  }
128
131
 
129
132
  ol,
@@ -4,9 +4,7 @@ function vwToPx(vw) {
4
4
  return vw * window.innerWidth / 100;
5
5
  }
6
6
  function remToPx(rem) {
7
- const rootFontSize = parseFloat(
8
- window.getComputedStyle(document.documentElement).fontSize
9
- );
7
+ const rootFontSize = parseFloat(window.getComputedStyle(document.documentElement).fontSize);
10
8
  return rem * rootFontSize;
11
9
  }
12
10
  function pxTorem(px) {