hy-dispatch-ui-v3 0.2.2 → 0.2.3

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 (63) hide show
  1. package/es/components/appConfigProvider/appConfigProvider.vue.mjs +3 -1
  2. package/es/components/appDatePicker/appDatePicker.vue.mjs +57 -3
  3. package/es/components/appDatePicker/index.mjs +2 -1
  4. package/es/components/appForm/cpns/appFormItem.vue.mjs +37 -7
  5. package/es/components/appForm/js/useAppForm.mjs +5 -40
  6. package/es/components/appIcon/appIcon.vue.mjs +5 -1
  7. package/es/components/appSearch/cpns/appSearchItem.vue.mjs +33 -3
  8. package/es/components/appSearch/js/index.mjs +1 -1
  9. package/es/components/appSearch/js/useAppSearch.mjs +9 -39
  10. package/es/components/appTimePicker/appTimePicker.vue.mjs +154 -0
  11. package/es/components/appTimePicker/index.mjs +7 -0
  12. package/es/components/appTimePicker/style/appTimePicker.scss +0 -0
  13. package/es/components/appTree/appTree.vue.mjs +11 -8
  14. package/es/components/appTree/config/tree-config.mjs +33 -0
  15. package/es/components/appTree/js/index.mjs +10 -12
  16. package/es/components/appVideoPlayer/appVideoPlayer.vue.mjs +6 -6
  17. package/es/components/index.mjs +2 -1
  18. package/es/hooks/index.mjs +1 -0
  19. package/es/hooks/useEnsureHyIcon.mjs +12 -0
  20. package/es/hooks/useGlobalConfig.mjs +5 -0
  21. package/es/index.mjs +3 -1
  22. package/es/locale/en.mjs +21 -11
  23. package/es/locale/zh_CN.mjs +21 -11
  24. package/es/static/_sprite.js +33 -0
  25. package/es/static/hy-svg-icons/ai.js +30 -0
  26. package/es/static/hy-svg-icons/batch.js +8 -0
  27. package/es/static/hy-svg-icons.js +10 -10
  28. package/es/static/index.js +2 -2
  29. package/es/static/protocolcheck.js +109 -85
  30. package/es/static/vite-plugin-hy-svg-icons.js +240 -0
  31. package/es/utils/date.mjs +1 -0
  32. package/lib/components/appConfigProvider/appConfigProvider.vue.js +3 -1
  33. package/lib/components/appDatePicker/appDatePicker.vue.js +56 -2
  34. package/lib/components/appDatePicker/index.js +2 -0
  35. package/lib/components/appForm/cpns/appFormItem.vue.js +38 -8
  36. package/lib/components/appForm/js/useAppForm.js +5 -40
  37. package/lib/components/appIcon/appIcon.vue.js +4 -0
  38. package/lib/components/appSearch/cpns/appSearchItem.vue.js +34 -4
  39. package/lib/components/appSearch/js/index.js +1 -1
  40. package/lib/components/appSearch/js/useAppSearch.js +9 -39
  41. package/lib/components/appTimePicker/appTimePicker.vue.js +158 -0
  42. package/lib/components/appTimePicker/index.js +13 -0
  43. package/lib/components/appTimePicker/style/appTimePicker.scss +0 -0
  44. package/lib/components/appTree/appTree.vue.js +10 -7
  45. package/lib/components/appTree/config/tree-config.js +37 -0
  46. package/lib/components/appTree/js/index.js +10 -12
  47. package/lib/components/appVideoPlayer/appVideoPlayer.vue.js +6 -6
  48. package/lib/components/index.js +12 -8
  49. package/lib/hooks/index.js +3 -0
  50. package/lib/hooks/useEnsureHyIcon.js +15 -0
  51. package/lib/hooks/useGlobalConfig.js +5 -0
  52. package/lib/index.js +15 -8
  53. package/lib/locale/en.js +21 -11
  54. package/lib/locale/zh_CN.js +21 -11
  55. package/lib/static/_sprite.js +33 -0
  56. package/lib/static/hy-svg-icons/ai.js +30 -0
  57. package/lib/static/hy-svg-icons/batch.js +8 -0
  58. package/lib/static/hy-svg-icons.js +10 -12
  59. package/lib/static/index.js +2 -5
  60. package/lib/static/protocolcheck.js +109 -87
  61. package/lib/static/vite-plugin-hy-svg-icons.js +240 -0
  62. package/lib/utils/date.js +1 -0
  63. package/package.json +3 -3
@@ -1,7 +1,8 @@
1
- import { defineComponent, useSlots, ref, onMounted, resolveComponent, openBlock, createElementBlock, normalizeStyle, createVNode, unref, withCtx, createElementVNode, isRef, withKeys, Fragment, renderList, createBlock, createCommentVNode, renderSlot } from 'vue';
1
+ import { defineComponent, useSlots, ref, onMounted, resolveComponent, openBlock, createElementBlock, normalizeStyle, unref, createVNode, withCtx, createElementVNode, isRef, withKeys, Fragment, renderList, createBlock, createCommentVNode, renderSlot } from 'vue';
2
2
  import { ElTooltip, ElInput, ElSelect, ElOption } from 'element-plus';
3
3
  import { VirtualTree } from 'hy-virtual-tree';
4
4
  import { useAppTreeWrapper } from './js/index.mjs';
5
+ import { searchTypeConfig, treeTypeConfig } from './config/tree-config.mjs';
5
6
  import { useMixins } from '../../hooks/useMixins.mjs';
6
7
  import { AppIcon } from '../appIcon/index.mjs';
7
8
 
@@ -71,7 +72,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
71
72
  treeType: {
72
73
  type: String,
73
74
  default: () => {
74
- return "device";
75
+ return treeTypeConfig.device;
75
76
  }
76
77
  },
77
78
  // 是否显示通道节点的选择框
@@ -109,12 +110,12 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
109
110
  // 搜索类型
110
111
  searchType: {
111
112
  type: Number,
112
- default: 1
113
+ default: searchTypeConfig.fullSearch
113
114
  },
114
115
  // 筛选列表
115
116
  selectFilterList: {
116
117
  type: Array,
117
- default: () => null
118
+ default: () => []
118
119
  },
119
120
  // 是否高亮选中节点
120
121
  highlight: {
@@ -152,7 +153,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
152
153
  selectFilterList,
153
154
  setFilterListType,
154
155
  getInputPlaceholder,
155
- onChange
156
+ onChange,
157
+ getSelectedDataList
156
158
  } = useMixins(
157
159
  {
158
160
  props,
@@ -171,7 +173,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
171
173
  getData,
172
174
  singleRemovalFn,
173
175
  setCheckedKeys,
174
- setChecked
176
+ setChecked,
177
+ getSelectedDataList
175
178
  });
176
179
  return (_ctx, _cache) => {
177
180
  const _component_svg_icon = resolveComponent("svg-icon");
@@ -182,7 +185,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
182
185
  style: normalizeStyle({ height: `${__props.treeHeight}px` })
183
186
  },
184
187
  [
185
- __props.searchType === 1 ? (openBlock(), createElementBlock("div", {
188
+ __props.searchType === unref(searchTypeConfig).fullSearch ? (openBlock(), createElementBlock("div", {
186
189
  key: 0,
187
190
  class: "centerBox p-[10px]"
188
191
  }, [
@@ -216,7 +219,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
216
219
  _: 1
217
220
  /* STABLE */
218
221
  }, 8, ["content"])
219
- ])) : __props.searchType === 2 ? (openBlock(), createElementBlock("div", {
222
+ ])) : __props.searchType === unref(searchTypeConfig).accurateSearch ? (openBlock(), createElementBlock("div", {
220
223
  key: 1,
221
224
  class: "centerBox flex-col p-[10px]"
222
225
  }, [
@@ -0,0 +1,33 @@
1
+ const treeTypeConfig = {
2
+ device: "device",
3
+ // 设备树形
4
+ user: "user",
5
+ // 人员树形
6
+ channel: "channel",
7
+ // 设备通道树形
8
+ groupDevice: "groupDevice",
9
+ // 群组设备树形
10
+ group: "group",
11
+ // 群组树形
12
+ planGroupDevicee: "planGroupDevicee",
13
+ // 预案分组树形
14
+ cs: "cs",
15
+ // 采集站树形
16
+ teamUser: "teamUser",
17
+ // 队伍树形
18
+ userMail: "userMail"
19
+ };
20
+ const searchTypeConfig = {
21
+ fullSearch: 1,
22
+ // 全量模糊查询
23
+ accurateSearch: 2
24
+ // 指定查询类型
25
+ };
26
+ const dataTypeConfig = {
27
+ department: 1,
28
+ device: 3,
29
+ group: 4,
30
+ user: 5
31
+ };
32
+
33
+ export { dataTypeConfig, searchTypeConfig, treeTypeConfig };
@@ -1,5 +1,6 @@
1
1
  import { ElMessage } from 'element-plus';
2
2
  import { getCurrentInstance, ref, watch, computed, h, render } from 'vue';
3
+ import { treeTypeConfig } from '../config/tree-config.mjs';
3
4
 
4
5
  const deviceStatus = {
5
6
  7: "SOS",
@@ -58,7 +59,7 @@ const useAppTreeWrapper = (hy) => {
58
59
  emptyText: "\u6682\u65E0\u6570\u636E",
59
60
  business: props.treeType,
60
61
  // 自定义整体的插槽
61
- renderItem: props.treeType === "user" ? (data, node) => setUserSlot(data) : setSlot("treeParentSlot"),
62
+ renderItem: props.treeType === treeTypeConfig.user ? (data, node) => setUserSlot(data) : setSlot("treeParentSlot"),
62
63
  // // 自定义状态右侧插槽
63
64
  renderRight: (data) => {
64
65
  let renderRight = setSlot("renderRight");
@@ -84,7 +85,7 @@ const useAppTreeWrapper = (hy) => {
84
85
  return true;
85
86
  },
86
87
  // // 自定义状态模块
87
- renderStatus: props.treeType === "device" || props.treeType === "channel" ? (data) => setRenderStatus(data) : null,
88
+ renderStatus: props.treeType === treeTypeConfig.device || props.treeType === treeTypeConfig.channel ? (data) => setRenderStatus(data) : null,
88
89
  renderEmpty: () => {
89
90
  if (!props.showCustomEmpty || hy.filterValue.value) return true;
90
91
  let renderEmpty = setSlot("renderEmpty");
@@ -404,8 +405,7 @@ const useAppTreeWrapper = (hy) => {
404
405
  for (let i = 0; i < deviceList.length; i++) {
405
406
  if (props.defaultSelectedOrgID === deviceList[i].id) {
406
407
  if (deviceList[i].deviceList?.length) {
407
- virtualTree.setCheckedNodes(deviceList[i].deviceList, true);
408
- setSelectedDataList(deviceList[i].deviceList);
408
+ setCheckedKeys(deviceList[i].deviceList);
409
409
  }
410
410
  return true;
411
411
  }
@@ -415,11 +415,8 @@ const useAppTreeWrapper = (hy) => {
415
415
  }
416
416
  }
417
417
  }
418
- function setSelectedDataList(inSelectedDataList = [], notify = true) {
419
- hy.selectedDataList.value = [...inSelectedDataList];
420
- if (notify) {
421
- emits("on-selectedDataList", hy.selectedDataList.value);
422
- }
418
+ function getSelectedDataList() {
419
+ return virtualTree?.getCheckedBusinessNodes(true) || [];
423
420
  }
424
421
  function setFilterListType(type) {
425
422
  if (props.selectFilterList?.length) {
@@ -497,15 +494,16 @@ const useAppTreeWrapper = (hy) => {
497
494
  onChange,
498
495
  selectFilterList,
499
496
  selectFilterType,
500
- selectedDataList
497
+ selectedDataList,
498
+ getSelectedDataList
501
499
  };
502
500
  };
503
501
  function filterNodeMethod(data, value, selectFilterType) {
504
- data.dataType;
502
+ let type = data.dataType;
505
503
  const includesValue = (field) => {
506
504
  return field && field.toString().includes(value.toString());
507
505
  };
508
- switch (data.dataType) {
506
+ switch (type) {
509
507
  case 7:
510
508
  if (data.typeName === "workOrderList") {
511
509
  return includesValue(data.workTimeName);
@@ -276,7 +276,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
276
276
  createElementVNode(
277
277
  "div",
278
278
  { class: "text-theme text-center mt-3 mb-[14px]" },
279
- toDisplayString(unref(isCanNotPlayType) ? unref(t)("videoPlayer.vlcPlayerTip") : unref(t)("theVideoCannotBePlayed")),
279
+ toDisplayString(unref(isCanNotPlayType) ? unref(t)("videoPlayer.vlcPlayerTip") : unref(t)("videoPlayer.theVideoCannotBePlayed")),
280
280
  1
281
281
  /* TEXT */
282
282
  ),
@@ -324,7 +324,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
324
324
  createElementVNode("div", { class: "vlc-between-control left-0" }, [
325
325
  createVNode(unref(AppTooltip), {
326
326
  isAlways: "",
327
- content: "\u67E5\u770B\u4E0A\u4E00\u6761\u89C6\u9891"
327
+ content: unref(t)("videoPlayer.viewThePreviousVideo")
328
328
  }, {
329
329
  default: withCtx(() => [
330
330
  createElementVNode("div", {
@@ -339,12 +339,12 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
339
339
  ]),
340
340
  _: 1
341
341
  /* STABLE */
342
- })
342
+ }, 8, ["content"])
343
343
  ]),
344
344
  createElementVNode("div", { class: "vlc-between-control right-0" }, [
345
345
  createVNode(unref(AppTooltip), {
346
346
  isAlways: "",
347
- content: "\u67E5\u770B\u4E0B\u4E00\u6761\u89C6\u9891"
347
+ content: unref(t)("videoPlayer.viewTheNextVideo")
348
348
  }, {
349
349
  default: withCtx(() => [
350
350
  createElementVNode("div", {
@@ -359,7 +359,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
359
359
  ]),
360
360
  _: 1
361
361
  /* STABLE */
362
- })
362
+ }, 8, ["content"])
363
363
  ])
364
364
  ],
365
365
  64
@@ -556,7 +556,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
556
556
  !unref(isFullScreen) && __props.showShrink ? (openBlock(), createBlock(unref(AppTooltip), {
557
557
  key: 1,
558
558
  isAlways: "",
559
- content: unref(isExpand) ? "\u6536\u8D77" : "\u5C55\u5F00"
559
+ content: unref(isExpand) ? unref(t)("videoPlayer.packUp") : unref(t)("videoPlayer.expand")
560
560
  }, {
561
561
  default: withCtx(() => [
562
562
  createVNode(unref(AppIcon), {
@@ -1,6 +1,6 @@
1
1
  export { AppOrgCascader } from './appOrgCascader/index.mjs';
2
2
  export { AppConfirmDialog } from './appConfirmDialog/index.mjs';
3
- export { AppDatePicker } from './appDatePicker/index.mjs';
3
+ export { AppDatePicker, ElDatePicker } from './appDatePicker/index.mjs';
4
4
  export { AppForm } from './appForm/index.mjs';
5
5
  export { AppIcon } from './appIcon/index.mjs';
6
6
  export { AppIconBox } from './appIconBox/index.mjs';
@@ -19,6 +19,7 @@ export { AppTree } from './appTree/index.mjs';
19
19
  export { AppVideoPlayer } from './appVideoPlayer/index.mjs';
20
20
  export { AppAudioPlayer } from './appAudioPlayer/index.mjs';
21
21
  export { AppInput, ElInput } from './appInput/index.mjs';
22
+ export { AppTimePicker, ElTimePicker } from './appTimePicker/index.mjs';
22
23
  export { useAppForm } from './appForm/js/useAppForm.mjs';
23
24
  export { useAppSearch } from './appSearch/js/useAppSearch.mjs';
24
25
  export { useAppTable } from './appTable/js/useAppTable.mjs';
@@ -7,3 +7,4 @@ export { localUserAvatarMapKey, useUserAvatarMap } from './useUserAvatarMap.mjs'
7
7
  export { useResizeHandler } from './useResizeHandler.mjs';
8
8
  export { localAudioPlayerConfigKey, useAudioPlayerConfig } from './useAudioPlayerConfig.mjs';
9
9
  export { localVideoPlayerConfigKey, useVideoPlayerConfig } from './useVideoPlayerConfig.mjs';
10
+ export { localEnsureHyIconMapKey, useEnsureHyIcon } from './useEnsureHyIcon.mjs';
@@ -0,0 +1,12 @@
1
+ import { inject, ref, unref } from 'vue';
2
+ import { useGlobalConfig } from './useGlobalConfig.mjs';
3
+
4
+ const localEnsureHyIconMapKey = /* @__PURE__ */ Symbol("ensureHyIcon");
5
+ const useEnsureHyIcon = () => {
6
+ const ensureHyIcon = inject(localEnsureHyIconMapKey, ref());
7
+ return {
8
+ ensureHyIcon: unref(ensureHyIcon) ? unref(ensureHyIcon) : unref(useGlobalConfig()).ensureHyIcon
9
+ };
10
+ };
11
+
12
+ export { localEnsureHyIconMapKey, useEnsureHyIcon };
@@ -6,6 +6,7 @@ import { localUserAvatarMapKey } from './useUserAvatarMap.mjs';
6
6
  import { localPermissionMapKey } from './usePermissionMap.mjs';
7
7
  import { localAudioPlayerConfigKey } from './useAudioPlayerConfig.mjs';
8
8
  import { localVideoPlayerConfigKey } from './useVideoPlayerConfig.mjs';
9
+ import { localEnsureHyIconMapKey } from './useEnsureHyIcon.mjs';
9
10
  import zh_CN from '../locale/zh_CN.mjs';
10
11
 
11
12
  const globalConfig = ref();
@@ -67,6 +68,10 @@ const provideGlobalConfig = (config, app, global = false) => {
67
68
  localVideoPlayerConfigKey,
68
69
  computed(() => context.value.videoPlayer)
69
70
  );
71
+ provideFn(
72
+ localEnsureHyIconMapKey,
73
+ computed(() => context.value.ensureHyIcon)
74
+ );
70
75
  if (global || !globalConfig.value) {
71
76
  globalConfig.value = context.value;
72
77
  }
package/es/index.mjs CHANGED
@@ -4,7 +4,7 @@ export { AppButton } from './components/appButton/index.mjs';
4
4
  export { AppConfigProvider } from './components/appConfigProvider/index.mjs';
5
5
  export { AppConfirmDialog } from './components/appConfirmDialog/index.mjs';
6
6
  export { AppCutter } from './components/appCutter/index.mjs';
7
- export { AppDatePicker } from './components/appDatePicker/index.mjs';
7
+ export { AppDatePicker, ElDatePicker } from './components/appDatePicker/index.mjs';
8
8
  export { AppDialog } from './components/appDialog/index.mjs';
9
9
  export { AppForm } from './components/appForm/index.mjs';
10
10
  export { AppIcon } from './components/appIcon/index.mjs';
@@ -16,6 +16,7 @@ export { AppNoPermissionsMap } from './components/appNoPermissionsMap/index.mjs'
16
16
  export { AppOrgCascader } from './components/appOrgCascader/index.mjs';
17
17
  export { AppSearch } from './components/appSearch/index.mjs';
18
18
  export { AppTable } from './components/appTable/index.mjs';
19
+ export { AppTimePicker, ElTimePicker } from './components/appTimePicker/index.mjs';
19
20
  export { AppTooltip } from './components/appTooltip/index.mjs';
20
21
  export { AppTree } from './components/appTree/index.mjs';
21
22
  export { AppUserAvatar } from './components/appUserAvatar/index.mjs';
@@ -31,6 +32,7 @@ export { defaultAxios, localApiKey, useApi } from './hooks/useApi.mjs';
31
32
  export { formatDuration, getDefaultValueFormatByType } from './utils/date.mjs';
32
33
  export { isArray, isBoolean, isEmpty, isFile, isFunction, isNull, isNumber, isObject, isOverflowing, isString, isSupportH265, isSymbol, isUndefined, isVueProxy } from './utils/is.mjs';
33
34
  export { localAudioPlayerConfigKey, useAudioPlayerConfig } from './hooks/useAudioPlayerConfig.mjs';
35
+ export { localEnsureHyIconMapKey, useEnsureHyIcon } from './hooks/useEnsureHyIcon.mjs';
34
36
  export { localPermissionMapKey, usePermissionMap } from './hooks/usePermissionMap.mjs';
35
37
  export { localUserAvatarMapKey, useUserAvatarMap } from './hooks/useUserAvatarMap.mjs';
36
38
  export { localVideoPlayerConfigKey, useVideoPlayerConfig } from './hooks/useVideoPlayerConfig.mjs';
package/es/locale/en.mjs CHANGED
@@ -3,16 +3,6 @@ var en = {
3
3
  hy: {
4
4
  language: "Language",
5
5
  help: "Help",
6
- startYear: "Start Year",
7
- endYear: "End Year",
8
- startMonth: "Start Month",
9
- endMonth: "End Month",
10
- startDate: "Start Date",
11
- endDate: "End Date",
12
- startTime: "Start Time",
13
- endTime: "End Time",
14
- startDateTime: "Start Date Time",
15
- endDateTime: "End Date Time",
16
6
  pleaseEnterPlaceholder: "Please Enter The {0}",
17
7
  pleaseSelectPlaceholder: "Please Select The {0}",
18
8
  cannotBeEmpty: "{0} Cannot Be Empty",
@@ -114,7 +104,11 @@ var en = {
114
104
  pleaseGoToTheBrowserSettingsAndClickOnTheDownloadOrCopyLinkToOpenInTheBrowser: "Please Go To The Browser Settings And Click On The Download Or Copy Link To Open In The Browser",
115
105
  copyLink: "Copy Link",
116
106
  fullScreenSwitch: "Full Screen Switch",
117
- pleaseConfigureTheAddressForDownloadingVLC: "Please Configure The Address For Downloading VLC"
107
+ pleaseConfigureTheAddressForDownloadingVLC: "Please Configure The Address For Downloading VLC",
108
+ viewThePreviousVideo: "View The Previous Video",
109
+ viewTheNextVideo: "View The Next Video",
110
+ packUp: "Pack Up",
111
+ expand: "Expand"
118
112
  },
119
113
  audioPlayer: {
120
114
  clickPlay: "Click To Play",
@@ -127,6 +121,22 @@ var en = {
127
121
  currentIsTheFirstItem: "Current Is The First Item",
128
122
  currentIsTheLastItem: "Current Is The Last Item",
129
123
  downloadFile: "Download File"
124
+ },
125
+ timePicker: {
126
+ to: "To",
127
+ startTime: "Start Time",
128
+ endTime: "End Time"
129
+ },
130
+ datePicker: {
131
+ to: "To",
132
+ startDate: "Start Date",
133
+ endDate: "End Date",
134
+ startDateTime: "Start Date Time",
135
+ endDateTime: "End Date Time",
136
+ startMonth: "Start Month",
137
+ endMonth: "End Month",
138
+ startYear: "Start Year",
139
+ endYear: "End Year"
130
140
  }
131
141
  };
132
142
 
@@ -3,16 +3,6 @@ var zh_CN = {
3
3
  hy: {
4
4
  language: "\u8BED\u8A00",
5
5
  help: "\u5E2E\u52A9",
6
- startYear: "\u5F00\u59CB\u5E74\u4EFD",
7
- endYear: "\u7ED3\u675F\u5E74\u4EFD",
8
- startMonth: "\u5F00\u59CB\u6708\u4EFD",
9
- endMonth: "\u7ED3\u675F\u6708\u4EFD",
10
- startDate: "\u5F00\u59CB\u65E5\u671F",
11
- endDate: "\u7ED3\u675F\u65E5\u671F",
12
- startTime: "\u5F00\u59CB\u65F6\u95F4",
13
- endTime: "\u7ED3\u675F\u65F6\u95F4",
14
- startDateTime: "\u5F00\u59CB\u65E5\u671F\u65F6\u95F4",
15
- endDateTime: "\u7ED3\u675F\u65E5\u671F\u65F6\u95F4",
16
6
  pleaseEnterPlaceholder: "\u8BF7\u8F93\u5165{0}",
17
7
  pleaseSelectPlaceholder: "\u8BF7\u9009\u62E9{0}",
18
8
  cannotBeEmpty: "{0}\u4E0D\u80FD\u4E3A\u7A7A",
@@ -110,7 +100,11 @@ var zh_CN = {
110
100
  pleaseGoToTheBrowserSettingsAndClickOnTheDownloadOrCopyLinkToOpenInTheBrowser: "\u8BF7\u524D\u5F80\u6D4F\u89C8\u5668\u8BBE\u7F6E\u540E\u5728\u70B9\u51FB\u4E0B\u8F7D \u6216 \u590D\u5236\u94FE\u63A5\u5230\u6D4F\u89C8\u5668\u6253\u5F00",
111
101
  copyLink: "\u590D\u5236\u94FE\u63A5",
112
102
  fullScreenSwitch: "\u5168\u5C4F\u5207\u6362",
113
- pleaseConfigureTheAddressForDownloadingVLC: "\u8BF7\u914D\u7F6E\u524D\u5F80\u4E0B\u8F7DVLC\u7684\u5730\u5740"
103
+ pleaseConfigureTheAddressForDownloadingVLC: "\u8BF7\u914D\u7F6E\u524D\u5F80\u4E0B\u8F7DVLC\u7684\u5730\u5740",
104
+ viewThePreviousVideo: "\u67E5\u770B\u4E0A\u4E00\u6761\u89C6\u9891",
105
+ viewTheNextVideo: "\u67E5\u770B\u4E0B\u4E00\u6761\u89C6\u9891",
106
+ packUp: "\u6536\u8D77",
107
+ expand: "\u5C55\u5F00"
114
108
  },
115
109
  audioPlayer: {
116
110
  clickPlay: "\u70B9\u51FB\u64AD\u653E",
@@ -123,6 +117,22 @@ var zh_CN = {
123
117
  currentIsTheFirstItem: "\u5F53\u524D\u662F\u7B2C\u4E00\u6761",
124
118
  currentIsTheLastItem: "\u5F53\u524D\u662F\u6700\u540E\u4E00\u6761",
125
119
  downloadFile: "\u4E0B\u8F7D\u6587\u4EF6"
120
+ },
121
+ timePicker: {
122
+ to: "\u81F3",
123
+ startTime: "\u5F00\u59CB\u65F6\u95F4",
124
+ endTime: "\u7ED3\u675F\u65F6\u95F4"
125
+ },
126
+ datePicker: {
127
+ to: "\u81F3",
128
+ startDate: "\u5F00\u59CB\u65E5\u671F",
129
+ endDate: "\u7ED3\u675F\u65E5\u671F",
130
+ startDateTime: "\u5F00\u59CB\u65E5\u671F\u65F6\u95F4",
131
+ endDateTime: "\u7ED3\u675F\u65E5\u671F\u65F6\u95F4",
132
+ startMonth: "\u5F00\u59CB\u6708\u4EFD",
133
+ endMonth: "\u7ED3\u675F\u6708\u4EFD",
134
+ startYear: "\u5F00\u59CB\u5E74\u4EFD",
135
+ endYear: "\u7ED3\u675F\u5E74\u4EFD"
126
136
  }
127
137
  };
128
138
 
@@ -0,0 +1,33 @@
1
+ const SPRITE_ID = '__HY_DISPATCH_UI_SVG_SPRITE_NODE__'
2
+ const SVG_NS = 'http://www.w3.org/2000/svg'
3
+
4
+ function ensureSprite() {
5
+ if (typeof window === 'undefined' || typeof document === 'undefined') return null
6
+ let svg = document.getElementById(SPRITE_ID)
7
+ if (svg) return svg
8
+ svg = document.createElementNS(SVG_NS, 'svg')
9
+ svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink')
10
+ svg.setAttribute('id', SPRITE_ID)
11
+ svg.style.setProperty('position', 'absolute')
12
+ svg.style.setProperty('width', '0px')
13
+ svg.style.setProperty('height', '0px')
14
+ svg.innerHTML = '<defs></defs>'
15
+ const mount = () => {
16
+ if (document.getElementById(SPRITE_ID)) return
17
+ document.body.insertBefore(svg, document.body.firstChild)
18
+ }
19
+ if (document.body) mount()
20
+ else document.addEventListener('DOMContentLoaded', mount, { once: true })
21
+ return svg
22
+ }
23
+
24
+ export function registerSymbol({ id, defs = '', symbol }) {
25
+ const svg = ensureSprite()
26
+ if (!svg) return
27
+ if (id && document.getElementById(id)) return
28
+ if (defs) {
29
+ const defsNode = svg.querySelector('defs')
30
+ if (defsNode) defsNode.insertAdjacentHTML('beforeend', defs)
31
+ }
32
+ svg.insertAdjacentHTML('beforeend', symbol)
33
+ }
@@ -0,0 +1,30 @@
1
+ export default {
2
+ id: 'hy-icon-system-v3-ai-interpretation-ai',
3
+ defs: `<linearGradient x1="25.1644341%" y1="16.3345334%" x2="79.7208027%" y2="91.4640074%" id="hy-icon-system-v3-ai-interpretation-ai-linearGradient-1">
4
+ <stop stop-color="#9859DB" offset="0%"/>
5
+ <stop stop-color="#452980" offset="77.3927837%"/>
6
+ <stop stop-color="#5F2DB4" offset="100%"/>
7
+ </linearGradient>
8
+ <radialGradient cx="10.3906827%" cy="5.64880091%" fx="10.3906827%" fy="5.64880091%" r="50%" id="hy-icon-system-v3-ai-interpretation-ai-radialGradient-2">
9
+ <stop stop-color="#CE6CFB" offset="0%"/>
10
+ <stop stop-color="#CE6CFB" stop-opacity="0" offset="100%"/>
11
+ </radialGradient>
12
+ <circle id="hy-icon-system-v3-ai-interpretation-ai-path-3" cx="9" cy="9" r="9"/>
13
+ <linearGradient x1="14.1579629%" y1="15.2062525%" x2="89.8583432%" y2="78.1093584%" id="hy-icon-system-v3-ai-interpretation-ai-linearGradient-4">
14
+ <stop stop-color="#D773FF" offset="0%"/>
15
+ <stop stop-color="#D773FF" stop-opacity="0.156659747" offset="100%"/>
16
+ </linearGradient>`,
17
+ symbol: `<symbol id="hy-icon-system-v3-ai-interpretation-ai" viewBox="0 0 18 18">
18
+ <g id="hy-icon-system-v3-ai-interpretation-ai-AI" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
19
+ <g id="hy-icon-system-v3-ai-interpretation-ai-&#x692D;&#x5706;&#x5F62;&#x5907;&#x4EFD;-8">
20
+ <use fill="url(#hy-icon-system-v3-ai-interpretation-ai-linearGradient-1)" xlink:href="#hy-icon-system-v3-ai-interpretation-ai-path-3"/>
21
+ <use fill="url(#hy-icon-system-v3-ai-interpretation-ai-radialGradient-2)" xlink:href="#hy-icon-system-v3-ai-interpretation-ai-path-3"/>
22
+ </g>
23
+ <path d="M9,0 C13.9705627,0 18,4.02943725 18,9 C18,13.9705627 13.9705627,18 9,18 C4.02943725,18 0,13.9705627 0,9 C0,4.02943725 4.02943725,0 9,0 Z M9,0.75 C4.44365081,0.75 0.75,4.44365081 0.75,9 C0.75,13.5563492 4.44365081,17.25 9,17.25 C13.5563492,17.25 17.25,13.5563492 17.25,9 C17.25,4.44365081 13.5563492,0.75 9,0.75 Z" id="hy-icon-system-v3-ai-interpretation-ai-&#x692D;&#x5706;&#x5F62;&#x5907;&#x4EFD;-9" fill="url(#hy-icon-system-v3-ai-interpretation-ai-linearGradient-4)" fill-rule="nonzero"/>
24
+ <g transform="translate(4.32, 5.625)" fill="#FFFFFF" fill-rule="nonzero">
25
+ <path d="M4.50052305,0 L1.85042167,0 L0,6.75 L1.59006083,6.75 L1.99919929,5.16634615 L4.22156501,5.16634615 L4.64000207,6.75 L6.36024331,6.75 L4.50052305,0 Z M3.90541256,3.95480769 L2.31535173,3.95480769 L2.88256641,1.81730769 C2.96625383,1.51442308 3.04064264,1.20288462 3.09643424,0.891346154 L3.14292725,0.891346154 C3.18942026,1.20288462 3.26380907,1.51442308 3.34749648,1.81730769 L3.90541256,3.95480769 Z" id="hy-icon-system-v3-ai-interpretation-ai-&#x5F62;&#x72B6;"/>
26
+ <polygon id="hy-icon-system-v3-ai-interpretation-ai-&#x8DEF;&#x5F84;" points="9 0 7.27975875 0 7.27975875 6.75 9 6.75"/>
27
+ </g>
28
+ </g>
29
+ </symbol>`,
30
+ };
@@ -0,0 +1,8 @@
1
+ export default {
2
+ id: 'hy-icon-sss-batch',
3
+ symbol: `</symbol><symbol id="hy-icon-sss-batch" viewBox="0 0 14 14">
4
+ <g id="hy-icon-sss-batch-button-IC/batch" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <path d="M4.66563015,7.875 L3.80848729,7.875 L3.80848729,9.55050024 L0,9.55050024 L0,11.4823884 L3.80848729,11.4823884 L3.80848729,13.125 L4.66563015,13.125 L7.74448729,10.933 C8.09420158,10.711 8.09420158,10.289 7.74448729,10.067 L4.66563015,7.875 Z M9.1458719,0.201 C9.02146373,0.072 8.85199435,0 8.67566781,0 L1.71428571,0 C1.1637551,0 0.857142857,0.308 0.857142857,0.875 L0.857142857,7 L2.74613679,7 L2.74613679,1.82308504 L7.87815167,1.82308504 L7.87815167,4.375 C7.87815167,4.753 8.36794759,5.25 8.73529453,5.25 L11.3067231,5.25 L11.3184782,12.25 L8.73529453,12.25 L8.73529453,14 L12.3501168,14 C12.9006474,14 13.2072597,13.692 13.2072597,13.125 L13.2072597,4.659 C13.2072597,4.477 13.136729,4.303 13.0123209,4.175 L9.1458719,0.201 Z" id="hy-icon-sss-batch-&#x5F62;&#x72B6;" fill="#FFFFFF" fill-rule="nonzero"/>
6
+ </g>
7
+ </symbol>`,
8
+ };