@vtx/modals2 5.0.4 → 5.0.5

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 (103) hide show
  1. package/lib/_components/vm-bar-charts/index.js +9 -5
  2. package/lib/_components/vm-extra-tab/style/index.less +6 -3
  3. package/lib/_components/vm-pie-charts/index.js +3 -1
  4. package/lib/_components/vm-tag/style/index.less +1 -0
  5. package/lib/_components/vm-video/HistoryGrid.js +52 -0
  6. package/lib/_components/vm-video/RealtimeGrid.js +8 -4
  7. package/lib/_components/vm-video/index.js +298 -112
  8. package/lib/_components/vm-video/index.less +10 -1
  9. package/lib/_service/index.js +5 -0
  10. package/lib/_util/index.js +0 -5
  11. package/lib/vtx-base-modal/Header/index.js +3 -1
  12. package/lib/vtx-base-modal/index.js +6 -3
  13. package/lib/vtx-car-modal/components/Info/index.js +2 -1
  14. package/lib/vtx-car-modal/content/Cc/AlarmInfo/StaticInfo.js +0 -1
  15. package/lib/vtx-car-modal/content/JXH/BaseInfo/index.js +131 -104
  16. package/lib/vtx-car-modal/content/JXH/StaticInfo/index.js +206 -158
  17. package/lib/vtx-car-modal/content/JXH/WorkRecord/index.js +19 -4
  18. package/lib/vtx-car-modal/content/Unmanned/Analysis/index.js +33 -0
  19. package/lib/vtx-car-modal/content/Unmanned/Calendar/index.js +255 -0
  20. package/lib/vtx-car-modal/content/Unmanned/Monitor/index.js +75 -0
  21. package/lib/vtx-car-modal/content/Unmanned/Monitor/index.less +22 -0
  22. package/lib/vtx-car-modal/content/Unmanned/WorkInfo/index.js +87 -0
  23. package/lib/vtx-car-modal/content/Unmanned/WorkInfo/index.less +0 -0
  24. package/lib/vtx-car-modal/content/Unmanned/index.js +10 -0
  25. package/lib/vtx-car-modal/content/index.js +2 -1
  26. package/lib/vtx-car-modal/imgs/butter.png +0 -0
  27. package/lib/vtx-car-modal/imgs/butter_dark.png +0 -0
  28. package/lib/vtx-car-modal/imgs/clock.png +0 -0
  29. package/lib/vtx-car-modal/imgs/clock_dark.png +0 -0
  30. package/lib/vtx-car-modal/imgs/clock_green.png +0 -0
  31. package/lib/vtx-car-modal/imgs/clock_green_dark.png +0 -0
  32. package/lib/vtx-car-modal/imgs/factor_bg.png +0 -0
  33. package/lib/vtx-car-modal/imgs/track.png +0 -0
  34. package/lib/vtx-car-modal/imgs/track_dark.png +0 -0
  35. package/lib/vtx-car-modal/imgs/track_green.png +0 -0
  36. package/lib/vtx-car-modal/imgs/track_green_dark.png +0 -0
  37. package/lib/vtx-car-modal/imgs/water.png +0 -0
  38. package/lib/vtx-car-modal/imgs/water_dark.png +0 -0
  39. package/lib/vtx-car-modal/index.js +9 -3
  40. package/lib/vtx-default-modal/components/BaseInfo/index.js +3 -2
  41. package/lib/vtx-default-modal/index.js +0 -1
  42. package/lib/vtx-device-modal/components/DataAnalysis/MonitorAnalysis.js +0 -1
  43. package/lib/vtx-df-modal/index.js +0 -2
  44. package/lib/vtx-housing-estate-modal/api.js +559 -0
  45. package/lib/vtx-housing-estate-modal/components/Alarm/Distribute.js +129 -0
  46. package/lib/vtx-housing-estate-modal/components/Alarm/FSCSFB.js +67 -0
  47. package/lib/vtx-housing-estate-modal/components/Alarm/FSSD.js +65 -0
  48. package/lib/vtx-housing-estate-modal/components/Alarm/FSYZQS.js +67 -0
  49. package/lib/vtx-housing-estate-modal/components/Alarm/GDCLXL.js +109 -0
  50. package/lib/vtx-housing-estate-modal/components/Alarm/index.js +99 -0
  51. package/lib/vtx-housing-estate-modal/components/Alarm/index.less +54 -0
  52. package/lib/vtx-housing-estate-modal/components/OverView/Hot.js +179 -0
  53. package/lib/vtx-housing-estate-modal/components/OverView/Left.js +85 -0
  54. package/lib/vtx-housing-estate-modal/components/OverView/Manage.js +172 -0
  55. package/lib/vtx-housing-estate-modal/components/OverView/RightBottom.js +177 -0
  56. package/lib/vtx-housing-estate-modal/components/OverView/index.js +56 -0
  57. package/lib/vtx-housing-estate-modal/components/OverView/index.less +163 -0
  58. package/lib/vtx-housing-estate-modal/components/TFRD/index.js +133 -0
  59. package/lib/vtx-housing-estate-modal/components/TFRD/index.less +12 -0
  60. package/lib/vtx-housing-estate-modal/components/WGGS/Content.js +66 -0
  61. package/lib/vtx-housing-estate-modal/components/WGGS/index.js +68 -0
  62. package/lib/vtx-housing-estate-modal/components/WGGS/index.less +49 -0
  63. package/lib/vtx-housing-estate-modal/components/WGXW/Content.js +119 -0
  64. package/lib/vtx-housing-estate-modal/components/WGXW/index.js +121 -0
  65. package/lib/vtx-housing-estate-modal/components/WGXW/index.less +97 -0
  66. package/lib/vtx-housing-estate-modal/components/index.js +5 -0
  67. package/lib/vtx-housing-estate-modal/config.js +77 -0
  68. package/lib/vtx-housing-estate-modal/imgs/avatar.png +0 -0
  69. package/lib/vtx-housing-estate-modal/imgs/avatar_light.png +0 -0
  70. package/lib/vtx-housing-estate-modal/imgs/ddypz.png +0 -0
  71. package/lib/vtx-housing-estate-modal/imgs/ddypz_light.png +0 -0
  72. package/lib/vtx-housing-estate-modal/imgs/gzxjcx.png +0 -0
  73. package/lib/vtx-housing-estate-modal/imgs/hjglcx.png +0 -0
  74. package/lib/vtx-housing-estate-modal/imgs/hmd.png +0 -0
  75. package/lib/vtx-housing-estate-modal/imgs/hmd_light.png +0 -0
  76. package/lib/vtx-housing-estate-modal/imgs/manage_bg.png +0 -0
  77. package/lib/vtx-housing-estate-modal/imgs/manage_bg_light.png +0 -0
  78. package/lib/vtx-housing-estate-modal/imgs/rank.png +0 -0
  79. package/lib/vtx-housing-estate-modal/imgs/rank_light.png +0 -0
  80. package/lib/vtx-housing-estate-modal/imgs/tfcs.png +0 -0
  81. package/lib/vtx-housing-estate-modal/imgs/tfcs_light.png +0 -0
  82. package/lib/vtx-housing-estate-modal/imgs/tfd.png +0 -0
  83. package/lib/vtx-housing-estate-modal/imgs/tfd_light.png +0 -0
  84. package/lib/vtx-housing-estate-modal/imgs/tfhs.png +0 -0
  85. package/lib/vtx-housing-estate-modal/imgs/tfhs_light.png +0 -0
  86. package/lib/vtx-housing-estate-modal/imgs/wgmsr.png +0 -0
  87. package/lib/vtx-housing-estate-modal/imgs/wgmsr_light.png +0 -0
  88. package/lib/vtx-housing-estate-modal/imgs/yyxj.png +0 -0
  89. package/lib/vtx-housing-estate-modal/imgs/yyxj_light.png +0 -0
  90. package/lib/vtx-housing-estate-modal/index.js +108 -0
  91. package/lib/vtx-housing-estate-modal/style/index.js +4 -0
  92. package/lib/vtx-housing-estate-modal/style/index.less +1 -0
  93. package/lib/vtx-road-modal/components/Calendar/index.js +1 -1
  94. package/lib/vtx-road-modal/components/Statistical/index.js +1 -1
  95. package/lib/vtx-shxq-modal/components/ThrowCalendar/index.js +0 -1
  96. package/lib/vtx-staff-modal/components/BaseInfo/ListZymx.js +15 -5
  97. package/lib/vtx-staff-modal/index.js +4 -1
  98. package/lib/vtx-tfd-modal/components/BaseInfo/index.js +1 -8
  99. package/lib/vtx-zg-modal/components/BaseInfo/index.js +0 -1
  100. package/package.json +1 -1
  101. package/lib/resources/jessibuca/decoder.js +0 -3839
  102. package/lib/resources/jessibuca/decoder.wasm +0 -0
  103. package/lib/resources/jessibuca/jessibuca.js +0 -5350
@@ -31,7 +31,11 @@ var BarCharts = function BarCharts(_ref) {
31
31
  _ref$showLegend = _ref.showLegend,
32
32
  showLegend = _ref$showLegend === void 0 ? true : _ref$showLegend,
33
33
  _ref$gridOptions = _ref.gridOptions,
34
- gridOptions = _ref$gridOptions === void 0 ? {} : _ref$gridOptions;
34
+ gridOptions = _ref$gridOptions === void 0 ? {} : _ref$gridOptions,
35
+ _ref$otherProps = _ref.otherProps,
36
+ otherProps = _ref$otherProps === void 0 ? {} : _ref$otherProps,
37
+ _ref$tooltipProps = _ref.tooltipProps,
38
+ tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps;
35
39
  var lineColors = ['#1FB64D'];
36
40
  var _useSettings = useSettings(),
37
41
  chartFontColor = _useSettings.chartFontColor,
@@ -50,8 +54,8 @@ var BarCharts = function BarCharts(_ref) {
50
54
  green: green,
51
55
  blue: blue
52
56
  };
53
- var option = {
54
- tooltip: {
57
+ var option = _objectSpread({
58
+ tooltip: _objectSpread({
55
59
  trigger: 'axis',
56
60
  valueFormatter: function valueFormatter(value) {
57
61
  var _findUnit;
@@ -68,7 +72,7 @@ var BarCharts = function BarCharts(_ref) {
68
72
  var leftSize = point[0] - size.contentSize[0];
69
73
  return [point[0] + size.contentSize[0] > size.viewSize[0] ? leftSize < 0 ? '35%' : leftSize : point[0], '0%'];
70
74
  }
71
- },
75
+ }, tooltipProps),
72
76
  legend: {
73
77
  right: 'center',
74
78
  itemGap: 8,
@@ -160,7 +164,7 @@ var BarCharts = function BarCharts(_ref) {
160
164
  smooth: true
161
165
  }, item);
162
166
  })))
163
- };
167
+ }, otherProps);
164
168
  return loading ? /*#__PURE__*/_jsx(Row, {
165
169
  style: {
166
170
  height: height
@@ -12,15 +12,19 @@
12
12
  --shadow-color: rgba(0, 126, 255, 0.2);
13
13
  }
14
14
 
15
- height: 28px;
16
- line-height: 28px;
15
+ height: 32px;
16
+ line-height: 31px;
17
17
  display: flex;
18
18
  justify-content: space-between;
19
19
  align-items: center;
20
20
  font-size: 14px;
21
21
  background: var(--bg);
22
22
  border-radius: 6px;
23
+ padding: 2px;
23
24
  &-item {
25
+ height: 28px;
26
+ width: 28px;
27
+ text-align: center;
24
28
  &:first-child {
25
29
  border-top-left-radius: 6px;
26
30
  border-bottom-left-radius: 6px;
@@ -32,7 +36,6 @@
32
36
  padding: 0 5px;
33
37
  cursor: pointer;
34
38
  color: var(--color);
35
- box-shadow: 0px 0px 2px 0px var(--shadow-color);
36
39
  &.active {
37
40
  border-radius: 6px;
38
41
  color: var(--active-color);
@@ -24,6 +24,8 @@ var PieCharts = function PieCharts(_ref) {
24
24
  height = _ref$height === void 0 ? '100%' : _ref$height,
25
25
  _ref$legendConfig = _ref.legendConfig,
26
26
  legendConfig = _ref$legendConfig === void 0 ? {} : _ref$legendConfig,
27
+ _ref$spaceLength = _ref.spaceLength,
28
+ spaceLength = _ref$spaceLength === void 0 ? 20 : _ref$spaceLength,
27
29
  _ref$nameLength = _ref.nameLength,
28
30
  nameLength = _ref$nameLength === void 0 ? 6 : _ref$nameLength,
29
31
  _ref$innerRadius = _ref.innerRadius,
@@ -67,7 +69,7 @@ var PieCharts = function PieCharts(_ref) {
67
69
  fontSize: 14
68
70
  },
69
71
  space: {
70
- width: 20
72
+ width: spaceLength
71
73
  },
72
74
  number: {
73
75
  width: 50,
@@ -5,6 +5,7 @@
5
5
  padding: 0 8px;
6
6
  font-family: Alibaba PuHuiTi 3, Alibaba PuHuiTi 30;
7
7
  font-size: 12px;
8
+ white-space: nowrap;
8
9
  display: flex;
9
10
  align-items: center;
10
11
  justify-content: center;
@@ -0,0 +1,52 @@
1
+ import { HistoryPlayer } from '@vtx/player';
2
+ import { forwardRef, useRef } from 'react';
3
+ import VmEmpty from "../vm-empty";
4
+ import "./index.less";
5
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
6
+ var GridItem = /*#__PURE__*/forwardRef(function (props, ref) {
7
+ var channel = props.channel,
8
+ onClose = props.onClose;
9
+ var name = "".concat(channel === null || channel === void 0 ? void 0 : channel.deviceName, "-").concat(channel === null || channel === void 0 ? void 0 : channel.channelName);
10
+ var gridItemRef = useRef(null);
11
+ return /*#__PURE__*/_jsx("div", {
12
+ className: "vm-video-content-container",
13
+ ref: gridItemRef,
14
+ children: channel !== null && channel !== void 0 && channel.totalTimeUrl ? /*#__PURE__*/_jsxs(_Fragment, {
15
+ children: [/*#__PURE__*/_jsxs("div", {
16
+ className: "vm-video-content-container-header",
17
+ children: [/*#__PURE__*/_jsx("span", {
18
+ className: "title",
19
+ title: name,
20
+ children: name
21
+ }), /*#__PURE__*/_jsx("div", {
22
+ className: "close",
23
+ onClick: onClose,
24
+ children: "x"
25
+ })]
26
+ }), /*#__PURE__*/_jsx("div", {
27
+ className: "content",
28
+ children: /*#__PURE__*/_jsx(HistoryPlayer, {
29
+ ref: ref,
30
+ beenHasVideo: channel.beenHasVideo // 对讲
31
+ ,
32
+ url: channel.totalTimeUrl,
33
+ type: channel === null || channel === void 0 ? void 0 : channel.player,
34
+ deviceIp: channel.deviceIp,
35
+ devicePort: channel.devicePort,
36
+ captureName: name,
37
+ deviceId: channel.deviceId,
38
+ channelId: channel.channelId,
39
+ channelNum: channel.channelNum,
40
+ enableAgent: channel.enableAgent,
41
+ deviceCode: channel.deviceCode,
42
+ streamType: channel.streamType,
43
+ info: channel.info,
44
+ onClose: onClose
45
+ })
46
+ })]
47
+ }) : /*#__PURE__*/_jsx(VmEmpty, {
48
+ type: "NO_VIDEO"
49
+ })
50
+ });
51
+ });
52
+ export default GridItem;
@@ -2,7 +2,7 @@ import { LivePlayer } from '@vtx/player';
2
2
  import { forwardRef, useRef } from 'react';
3
3
  import VmEmpty from "../vm-empty";
4
4
  import "./index.less";
5
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
6
6
  var GridItem = /*#__PURE__*/forwardRef(function (props, ref) {
7
7
  var channel = props.channel,
8
8
  onClose = props.onClose;
@@ -12,13 +12,17 @@ var GridItem = /*#__PURE__*/forwardRef(function (props, ref) {
12
12
  className: "vm-video-content-container",
13
13
  ref: gridItemRef,
14
14
  children: channel !== null && channel !== void 0 && channel.url ? /*#__PURE__*/_jsxs(_Fragment, {
15
- children: [/*#__PURE__*/_jsx("div", {
15
+ children: [/*#__PURE__*/_jsxs("div", {
16
16
  className: "vm-video-content-container-header",
17
- children: /*#__PURE__*/_jsx("span", {
17
+ children: [/*#__PURE__*/_jsx("span", {
18
18
  className: "title",
19
19
  title: name,
20
20
  children: name
21
- })
21
+ }), /*#__PURE__*/_jsx("div", {
22
+ className: "close",
23
+ onClick: onClose,
24
+ children: "x"
25
+ })]
22
26
  }), /*#__PURE__*/_jsx("div", {
23
27
  className: "content",
24
28
  children: /*#__PURE__*/_jsx(LivePlayer, {
@@ -10,46 +10,85 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
10
10
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
11
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- import { Checkbox } from 'antd';
13
+ import { useSetState } from 'ahooks';
14
+ import { Button, Checkbox, Form, message, Radio } from 'antd';
15
+ import dayjs from 'dayjs';
14
16
  import { cloneDeep } from 'lodash';
15
17
  import { useEffect, useState } from 'react';
16
- import { VmExtraTab } from '..';
18
+ import { VmExtraTab, VmWrapper } from '..';
17
19
  import useSettings from "../../_hooks/useSettings";
18
- import { getPreviewUrl } from "../../_service";
20
+ import { getBackUrl, getPreviewUrl } from "../../_service";
19
21
  import { ChannelOfflineIcon, Rect1Icon, Rect4Icon, Rect9Icon, ShrinkIcon } from "../../_util/iconSvgHtml";
20
- import { VMInput } from "../vm-filter";
22
+ import VmFilter, { VMDatePicker, VMInput } from "../vm-filter";
21
23
  import { VmTabs } from "../vm-tabs";
24
+ import HistoryGrid from "./HistoryGrid";
22
25
  import "./index.less";
23
26
  import RealtimeGrid from "./RealtimeGrid";
24
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
25
28
  var VmVideo = function VmVideo(_ref) {
26
- var _checkedChannels$filt;
27
29
  var _ref$channels = _ref.channels,
28
30
  channels = _ref$channels === void 0 ? [] : _ref$channels;
29
31
  var _useSettings = useSettings(),
30
32
  isDark = _useSettings.isDark;
31
- var _useState = useState(false),
33
+ var _Form$useForm = Form.useForm(),
34
+ _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
35
+ form = _Form$useForm2[0];
36
+ var _useState = useState('1'),
32
37
  _useState2 = _slicedToArray(_useState, 2),
33
- isShrink = _useState2[0],
34
- setIsShrink = _useState2[1];
35
- var _useState3 = useState('1'),
38
+ tabKey = _useState2[0],
39
+ setTabKey = _useState2[1];
40
+ var _useState3 = useState('4'),
36
41
  _useState4 = _slicedToArray(_useState3, 2),
37
- tabKey = _useState4[0],
38
- setTabKey = _useState4[1];
39
- var _useState5 = useState('4'),
42
+ mode = _useState4[0],
43
+ setMode = _useState4[1];
44
+ var _useState5 = useState([]),
40
45
  _useState6 = _slicedToArray(_useState5, 2),
41
- mode = _useState6[0],
42
- setMode = _useState6[1];
43
- var _useState7 = useState([]),
44
- _useState8 = _slicedToArray(_useState7, 2),
45
- checkedChannels = _useState8[0],
46
- setCheckedChannels = _useState8[1];
47
- var _useState9 = useState(''),
48
- _useState10 = _slicedToArray(_useState9, 2),
49
- filterVal = _useState10[0],
50
- setFilterVal = _useState10[1];
46
+ checkedChannels = _useState6[0],
47
+ setCheckedChannels = _useState6[1];
48
+ var _useSetState = useSetState({
49
+ dateType: 'custom',
50
+ datePickerDisabled: true,
51
+ startTime: dayjs().format('YYYY-MM-DD 00:00:00'),
52
+ endTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
53
+ history: {}
54
+ }),
55
+ _useSetState2 = _slicedToArray(_useSetState, 2),
56
+ state = _useSetState2[0],
57
+ setState = _useSetState2[1];
58
+ var dateType = state.dateType,
59
+ datePickerDisabled = state.datePickerDisabled,
60
+ startTime = state.startTime,
61
+ endTime = state.endTime,
62
+ history = state.history;
51
63
  useEffect(function () {
52
- if (channels !== null && channels !== void 0 && channels.length) {
64
+ if (dateType === 'custom') {
65
+ setState({
66
+ datePickerDisabled: false
67
+ });
68
+ } else {
69
+ setState({
70
+ datePickerDisabled: true
71
+ });
72
+ if (dateType === 'dayBeforeYesterday') {
73
+ setState({
74
+ startTime: dayjs().subtract(2, 'day').format('YYYY-MM-DD 00:00:00'),
75
+ endTime: dayjs().subtract(2, 'day').format('YYYY-MM-DD 23:59:59')
76
+ });
77
+ } else if (dateType === 'yesterday') {
78
+ setState({
79
+ startTime: dayjs().subtract(1, 'day').format('YYYY-MM-DD 00:00:00'),
80
+ endTime: dayjs().subtract(1, 'day').format('YYYY-MM-DD 23:59:59')
81
+ });
82
+ } else if (dateType === 'today') {
83
+ setState({
84
+ startTime: dayjs().format('YYYY-MM-DD 00:00:00'),
85
+ endTime: dayjs().format('YYYY-MM-DD HH:mm:ss')
86
+ });
87
+ }
88
+ }
89
+ }, [dateType]);
90
+ useEffect(function () {
91
+ if (channels !== null && channels !== void 0 && channels.length && tabKey === '1') {
53
92
  var _channels$filter;
54
93
  Promise.all(channels === null || channels === void 0 || (_channels$filter = channels.filter(function (ele, index) {
55
94
  return index < 4;
@@ -65,99 +104,216 @@ var VmVideo = function VmVideo(_ref) {
65
104
  });
66
105
  }));
67
106
  });
107
+ } else {}
108
+ if (tabKey === '2') {
109
+ var _channels$;
110
+ form.setFieldsValue({
111
+ channelNum: (_channels$ = channels[0]) === null || _channels$ === void 0 ? void 0 : _channels$.channelNum
112
+ });
68
113
  }
69
- }, [channels]);
114
+ }, [channels, tabKey]);
70
115
  var getActiveModeFill = function getActiveModeFill(key) {
71
116
  if (isDark) {
72
117
  return mode === key ? '#fff' : '#009DFF';
73
118
  }
74
119
  return mode === key ? '#1677FF' : '#8C8C8C';
75
120
  };
121
+ var onHistorySubmit = function onHistorySubmit(values) {
122
+ var channel = channels.find(function (ele) {
123
+ return ele.channelNum === values.channelNum;
124
+ });
125
+ getBackUrl({
126
+ beginTime: startTime,
127
+ endTime: endTime,
128
+ channelNum: values.channelNum,
129
+ deviceId: channel.videoDeviceId
130
+ }).then(function (res) {
131
+ var _res$data;
132
+ if (!(res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.totalTimeUrl)) {
133
+ message.info('未查询到视频!');
134
+ return;
135
+ }
136
+ setState({
137
+ history: res === null || res === void 0 ? void 0 : res.data
138
+ });
139
+ });
140
+ };
76
141
  return /*#__PURE__*/_jsxs("div", {
77
142
  className: "vm-video ".concat(isDark ? 'dark' : ''),
78
- children: [isShrink && /*#__PURE__*/_jsx("div", {
79
- className: "vm-video-left-filter-btn",
80
- onClick: function onClick() {
81
- return setIsShrink(!isShrink);
82
- },
83
- children: /*#__PURE__*/_jsx(ShrinkIcon, {
84
- fill: isDark ? '#009DFF' : '#595959',
85
- style: {
86
- transform: isShrink ? 'rotate(180deg)' : ''
87
- }
88
- })
89
- }), !isShrink && /*#__PURE__*/_jsxs("div", {
90
- className: "vm-video-left",
91
- style: {
92
- width: isShrink ? '24px' : '300px'
93
- },
94
- children: [/*#__PURE__*/_jsxs("div", {
95
- className: "vm-video-left-filter",
96
- children: [/*#__PURE__*/_jsx("div", {
97
- className: "vm-video-left-filter-input",
98
- children: /*#__PURE__*/_jsx(VMInput, {
99
- onValChange: function onValChange(val) {
100
- setFilterVal(val);
101
- }
102
- })
103
- }), /*#__PURE__*/_jsx("div", {
104
- className: "vm-video-left-filter-btn",
105
- onClick: function onClick() {
106
- return setIsShrink(!isShrink);
107
- },
108
- children: /*#__PURE__*/_jsx(ShrinkIcon, {
109
- fill: isDark ? '#009DFF' : '#595959',
110
- style: {
111
- transform: isShrink ? 'rotate(180deg)' : ''
112
- }
113
- })
114
- })]
115
- }), /*#__PURE__*/_jsx("div", {
116
- className: "vm-video-left-channels",
117
- children: checkedChannels === null || checkedChannels === void 0 || (_checkedChannels$filt = checkedChannels.filter(function (ele) {
118
- return ele.channelName.indexOf(filterVal) > -1;
119
- })) === null || _checkedChannels$filt === void 0 ? void 0 : _checkedChannels$filt.map(function (ele, index) {
120
- var color = ele.checked ? isDark ? '#009DFF' : '#1677FF' : isDark ? '#fff' : '#595959';
121
- return /*#__PURE__*/_jsx("div", {
122
- className: "channels--item",
123
- children: /*#__PURE__*/_jsxs(Checkbox, {
124
- checked: ele.checked,
125
- onChange: function onChange(e) {
126
- var list = cloneDeep(checkedChannels);
127
- if (e.target.checked) {
128
- getPreviewUrl({
129
- channelNum: ele.channelNum,
130
- deviceId: ele.deviceId
131
- }).then(function (res) {
132
- list[index] = _objectSpread({
133
- checked: true
134
- }, res.data);
135
- setCheckedChannels(list);
136
- });
137
- } else {
138
- list[index].checked = false;
139
- list[index].url = '';
140
- list[index].player = '';
141
- setCheckedChannels(list);
142
- }
143
- },
144
- style: {
145
- color: color
146
- },
147
- children: [/*#__PURE__*/_jsx(ChannelOfflineIcon, {
148
- fill: color
149
- }), ele.channelName]
143
+ children: [/*#__PURE__*/_jsx(_Fragment, {
144
+ children: /*#__PURE__*/_jsx("div", {
145
+ className: "vm-video-left",
146
+ children: /*#__PURE__*/_jsxs(VmWrapper, {
147
+ title: "\u67E5\u8BE2\u89C6\u9891",
148
+ children: [tabKey === '1' && /*#__PURE__*/_jsx("div", {
149
+ className: "vm-video-left-channels",
150
+ children: checkedChannels === null || checkedChannels === void 0 ? void 0 : checkedChannels.map(function (ele, index) {
151
+ var color = ele.checked ? isDark ? '#009DFF' : '#1677FF' : isDark ? '#fff' : '#595959';
152
+ return /*#__PURE__*/_jsx("div", {
153
+ className: "channels--item",
154
+ children: /*#__PURE__*/_jsxs(Checkbox, {
155
+ checked: ele.checked,
156
+ onChange: function onChange(e) {
157
+ var list = cloneDeep(checkedChannels);
158
+ if (e.target.checked) {
159
+ getPreviewUrl({
160
+ channelNum: ele.channelNum,
161
+ deviceId: ele.deviceId
162
+ }).then(function (res) {
163
+ list[index] = _objectSpread({
164
+ checked: true
165
+ }, res.data);
166
+ setCheckedChannels(list);
167
+ });
168
+ } else {
169
+ list[index].checked = false;
170
+ list[index].url = '';
171
+ list[index].player = '';
172
+ setCheckedChannels(list);
173
+ }
174
+ },
175
+ style: {
176
+ color: color
177
+ },
178
+ children: [/*#__PURE__*/_jsx(ChannelOfflineIcon, {
179
+ fill: color
180
+ }), ele.channelName]
181
+ })
182
+ }, index);
150
183
  })
151
- }, index);
184
+ }), tabKey === '2' && /*#__PURE__*/_jsxs("div", {
185
+ className: "vm-video-history",
186
+ children: [/*#__PURE__*/_jsx("div", {
187
+ className: "form",
188
+ children: /*#__PURE__*/_jsxs(Form, {
189
+ form: form,
190
+ name: "history",
191
+ labelCol: {
192
+ span: 6
193
+ },
194
+ wrapperCol: {
195
+ span: 18
196
+ },
197
+ onFinish: onHistorySubmit,
198
+ requiredMark: false,
199
+ colon: true,
200
+ initialValues: {
201
+ beginTime: startTime ? dayjs(startTime) : dayjs().subtract(1, 'day').startOf('day'),
202
+ endTime: endTime ? dayjs(endTime) : dayjs().subtract(1, 'day').endOf('day')
203
+ },
204
+ autoComplete: "off",
205
+ children: [/*#__PURE__*/_jsx(Form.Item, {
206
+ label: "",
207
+ wrapperCol: {
208
+ span: 24
209
+ },
210
+ children: /*#__PURE__*/_jsxs(Radio.Group, {
211
+ name: "radiogroup",
212
+ size: "small",
213
+ value: dateType,
214
+ onChange: function onChange(e) {
215
+ setState({
216
+ dateType: e.target.value
217
+ });
218
+ },
219
+ style: {
220
+ whiteSpace: 'nowrap'
221
+ },
222
+ children: [/*#__PURE__*/_jsx(Radio, {
223
+ value: "dayBeforeYesterday",
224
+ children: "\u524D\u65E5"
225
+ }), /*#__PURE__*/_jsx(Radio, {
226
+ value: "yesterday",
227
+ children: "\u6628\u65E5"
228
+ }), /*#__PURE__*/_jsx(Radio, {
229
+ value: "today",
230
+ children: "\u4ECA\u65E5"
231
+ }), /*#__PURE__*/_jsx(Radio, {
232
+ value: "custom",
233
+ children: "\u81EA\u5B9A\u4E49"
234
+ })]
235
+ })
236
+ }), /*#__PURE__*/_jsx(Form.Item, {
237
+ label: "\u5F00\u59CB\u65F6\u95F4",
238
+ name: "beginTime",
239
+ rules: [{
240
+ required: true,
241
+ message: '请输入开始时间'
242
+ }],
243
+ children: /*#__PURE__*/_jsx(VMDatePicker, {
244
+ style: {
245
+ width: 180
246
+ },
247
+ showTime: true,
248
+ disabled: datePickerDisabled,
249
+ dropdownClassName: "date-dark"
250
+ })
251
+ }), /*#__PURE__*/_jsx(Form.Item, {
252
+ label: "\u7ED3\u675F\u65F6\u95F4",
253
+ name: "endTime",
254
+ rules: [{
255
+ required: true,
256
+ message: '请输入结束时间'
257
+ }],
258
+ children: /*#__PURE__*/_jsx(VMDatePicker, {
259
+ style: {
260
+ width: 180
261
+ },
262
+ showTime: true,
263
+ disabled: datePickerDisabled
264
+ })
265
+ }), /*#__PURE__*/_jsx(Form.Item, {
266
+ label: "\u89C6\u9891\u901A\u9053",
267
+ name: "channelNum",
268
+ rules: [{
269
+ required: true,
270
+ message: '请选择视频通道'
271
+ }],
272
+ children: /*#__PURE__*/_jsx(VmFilter.VMSelect, {
273
+ options: checkedChannels === null || checkedChannels === void 0 ? void 0 : checkedChannels.map(function (ele) {
274
+ return {
275
+ value: ele.channelNum,
276
+ label: ele.channelName
277
+ };
278
+ }),
279
+ style: {
280
+ width: 180
281
+ }
282
+ })
283
+ }), /*#__PURE__*/_jsx(Form.Item, {
284
+ wrapperCol: {
285
+ span: 24
286
+ },
287
+ style: {
288
+ textAlign: 'center'
289
+ },
290
+ children: /*#__PURE__*/_jsx(Button, {
291
+ type: "primary",
292
+ htmlType: "submit",
293
+ className: "submit-button",
294
+ children: "\u67E5\u8BE2"
295
+ })
296
+ })]
297
+ })
298
+ }), /*#__PURE__*/_jsx("div", {
299
+ className: "vm-video-history-row"
300
+ })]
301
+ })]
152
302
  })
153
- })]
303
+ })
154
304
  }), /*#__PURE__*/_jsxs("div", {
155
305
  className: "vm-video-right",
156
306
  children: [/*#__PURE__*/_jsx(VmTabs, {
157
307
  defaultActiveKey: "1",
158
308
  activeKey: tabKey,
159
309
  onChange: function onChange(key) {
160
- return setTabKey(key);
310
+ setTabKey(key);
311
+ if (key === '2') {
312
+ // extraTabRef.current?.setActiveKey(1)
313
+ setMode('1');
314
+ } else {
315
+ setMode('4');
316
+ }
161
317
  },
162
318
  items: [{
163
319
  label: "\u5B9E\u65F6\u89C6\u9891",
@@ -166,7 +322,7 @@ var VmVideo = function VmVideo(_ref) {
166
322
  label: "\u5386\u53F2\u89C6\u9891",
167
323
  key: '2'
168
324
  }],
169
- tabBarExtraContent: /*#__PURE__*/_jsx(VmExtraTab, {
325
+ tabBarExtraContent: tabKey === '1' ? /*#__PURE__*/_jsx(VmExtraTab, {
170
326
  style: {
171
327
  width: '92px'
172
328
  },
@@ -193,35 +349,65 @@ var VmVideo = function VmVideo(_ref) {
193
349
  onChange: function onChange(key) {
194
350
  setMode(key);
195
351
  }
196
- })
352
+ }) : /*#__PURE__*/_jsx(_Fragment, {})
197
353
  }), /*#__PURE__*/_jsx("div", {
198
354
  className: "vm-video-content _".concat(mode),
199
- children: getGridItems(mode, checkedChannels === null || checkedChannels === void 0 ? void 0 : checkedChannels.filter(function (ele) {
200
- return ele.channelName.indexOf(filterVal) > -1 && ele.checked;
201
- }))
355
+ children: tabKey === '1' ? getGridItems(mode, checkedChannels === null || checkedChannels === void 0 ? void 0 : checkedChannels.filter(function (ele) {
356
+ return ele.checked;
357
+ }), setCheckedChannels) : /*#__PURE__*/_jsx(HistoryGrid, {
358
+ channel: history
359
+ })
202
360
  })]
203
361
  })]
204
362
  });
205
363
  };
206
364
  export default VmVideo;
207
- var getGridItems = function getGridItems(latestGrid, channels) {
365
+ var getGridItems = function getGridItems(latestGrid, channels, setCheckedChannels) {
208
366
  var items = [];
209
- for (var i = 0; i < Number(latestGrid); i++) {
210
- var element = /*#__PURE__*/_jsx(RealtimeGrid
211
- // active={state.activeIndex === i}
212
- , {
213
- // onClick={() => setState({ activeIndex: i })}
367
+ var _loop = function _loop(i) {
368
+ var element = /*#__PURE__*/_jsx(RealtimeGrid, {
214
369
  channel: channels[i] || {
215
370
  channelNum: '',
216
371
  channelId: ''
217
372
  },
218
373
  onClose: function onClose() {
219
- // closeVideo(i);
374
+ var list = cloneDeep(channels);
375
+ list[i].checked = false;
376
+ list[i].url = '';
377
+ list[i].player = '';
378
+ setCheckedChannels(list);
220
379
  },
221
380
  scale: 1
222
381
  // onScreenshot={onScreenshot}
223
382
  }, i);
224
383
  items.push(element);
384
+ };
385
+ for (var i = 0; i < Number(latestGrid); i++) {
386
+ _loop(i);
225
387
  }
226
388
  return items;
389
+ };
390
+ export var Filter = function Filter(isDark, isShrink, setFilterVal) {
391
+ return /*#__PURE__*/_jsxs("div", {
392
+ className: "vm-video-left-filter",
393
+ children: [/*#__PURE__*/_jsx("div", {
394
+ className: "vm-video-left-filter-input",
395
+ children: /*#__PURE__*/_jsx(VMInput, {
396
+ onValChange: function onValChange(val) {
397
+ setFilterVal(val);
398
+ }
399
+ })
400
+ }), /*#__PURE__*/_jsx("div", {
401
+ className: "vm-video-left-filter-btn",
402
+ onClick: function onClick() {
403
+ return setIsShrink(!isShrink);
404
+ },
405
+ children: /*#__PURE__*/_jsx(ShrinkIcon, {
406
+ fill: isDark ? '#009DFF' : '#595959',
407
+ style: {
408
+ transform: isShrink ? 'rotate(180deg)' : ''
409
+ }
410
+ })
411
+ })]
412
+ });
227
413
  };