(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["business"],{ /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/M3U8Player.vue?vue&type=script&lang=js": /*!******************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/M3U8Player.vue?vue&type=script&lang=js ***! \******************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ "./node_modules/core-js/modules/es.error.cause.js"); /* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ "./node_modules/core-js/modules/es.array.push.js"); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/web.url-search-params.delete.js */ "./node_modules/core-js/modules/web.url-search-params.delete.js"); /* harmony import */ var core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_delete_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.url-search-params.has.js */ "./node_modules/core-js/modules/web.url-search-params.has.js"); /* harmony import */ var core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_has_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/web.url-search-params.size.js */ "./node_modules/core-js/modules/web.url-search-params.size.js"); /* harmony import */ var core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url_search_params_size_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var hls_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! hls.js */ "./node_modules/hls.js/dist/hls.mjs"); /* harmony import */ var _api_video_controller_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/api/video-controller.js */ "./src/api/video-controller.js"); /* harmony default export */ __webpack_exports__["default"] = ({ name: 'M3U8Player', props: { url: { type: String, required: true }, deviceId: { type: String, default: '' }, deviceName: { type: String, default: '' }, deviceType: { type: String, default: '' } }, data() { return { hlsPlayer: null, isPlaying: true, isMuted: true, volume: 50, preMuteVolume: 50, loading: false, error: null, supported: hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].isSupported(), rotationDegree: 0, isTalking: false, deviceInfoVisible: false, deviceInfo: { deviceId: '', deviceName: '', deviceType: '', online: false, resolution: '', bitrate: '' }, isRecording: false, mediaRecorder: null, recordedChunks: [], recordingStartTime: null, recordingDuration: 0, recordingTimer: null, resizeTimer: null, frameTimer: null, volumeSliderVisible: false }; }, watch: { url() { this.destroyPlayer(); this.initPlayer(); }, volume(newVal) { if (newVal > 0 && this.preMuteVolume === 0) { this.preMuteVolume = newVal; } } }, computed: { formatRecordingTime() { const minutes = Math.floor(this.recordingDuration / 60); const seconds = this.recordingDuration % 60; return `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; }, volumeIcon() { if (this.isMuted) { return 'volumeDisable'; } else if (this.volume > 50) { return 'volumeHigh'; } else if (this.volume > 0) { return 'volumeMiddle'; } else { return 'volumeLow'; } } }, mounted() { if (this.supported) { this.initPlayer(); } const videoElement = this.$refs.videoElement; if (videoElement) { videoElement.addEventListener('loadedmetadata', this.handleVideoMetadata); } window.addEventListener('resize', this.handleResize); this.deviceInfo.deviceId = this.deviceId; this.deviceInfo.deviceName = this.deviceName; this.deviceInfo.deviceType = this.deviceType; if (videoElement !== null && videoElement !== void 0 && videoElement.parentElement) { videoElement.parentElement.classList.add('rotate-0'); } }, beforeDestroy() { this.destroyPlayer(); const videoElement = this.$refs.videoElement; if (videoElement) { videoElement.removeEventListener('loadedmetadata', this.handleVideoMetadata); } window.removeEventListener('resize', this.handleResize); if (this.isTalking) { this.stopTalk(); } if (this.rotationDegree !== 0 && videoElement) { videoElement.style.transform = ''; videoElement.style.maxWidth = ''; videoElement.style.maxHeight = ''; } this.clearRecordingTimer(); if (this.resizeTimer) { clearTimeout(this.resizeTimer); this.resizeTimer = null; } if (this.frameTimer) { clearInterval(this.frameTimer); this.frameTimer = null; } if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') { this.mediaRecorder.stop(); } this.recordedChunks = []; }, methods: { refresh() { this.$emit('refresh', this.deviceId); }, initPlayer() { if (!this.url) { this.error = '播放地址不能为空'; return; } if (this.hlsPlayer) { this.destroyPlayer(); } this.loading = true; this.error = null; const videoElement = this.$refs.videoElement; if (!videoElement) return; if (hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].isSupported()) { this.hlsPlayer = new hls_js__WEBPACK_IMPORTED_MODULE_5__["default"]({ debug: false, enableWorker: true, lowLatencyMode: true, backBufferLength: 90 }); this.hlsPlayer.attachMedia(videoElement); this.hlsPlayer.on(hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].Events.MEDIA_ATTACHED, () => { this.hlsPlayer.loadSource(this.url); }); this.hlsPlayer.on(hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].Events.ERROR, (event, data) => { if (data.fatal) { switch (data.type) { case hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].ErrorTypes.NETWORK_ERROR: // this.error = '网络错误'; if (data.details === hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].ErrorDetails.MANIFEST_LOAD_ERROR || data.details === hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].ErrorDetails.MANIFEST_LOAD_TIMEOUT || data.details === hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].ErrorDetails.MANIFEST_PARSING_ERROR) { this.hlsPlayer.loadSource(videoSrc); } else { this.hlsPlayer.startLoad(); } break; case hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].ErrorTypes.MEDIA_ERROR: // this.error = '媒体错误'; this.hlsPlayer.recoverMediaError(); break; default: // this.error = '播放错误'; this.hlsPlayer.destroy(); break; } console.error('HLS播放错误:', data); this.loading = false; } }); this.hlsPlayer.on(hls_js__WEBPACK_IMPORTED_MODULE_5__["default"].Events.MANIFEST_PARSED, () => { this.loading = false; this.isPlaying = true; // 确保视频是静音的,以便自动播放 videoElement.muted = true; this.isMuted = true; // 尝试播放视频 const playPromise = videoElement.play(); if (playPromise !== undefined) { playPromise.then(() => { console.log('自动播放成功'); this.isMuted = false; }).catch(err => { console.error('自动播放失败:', err); // 如果自动播放失败,添加点击事件监听器 this.addPlayEventListener(videoElement); }); } }); } else if (videoElement.canPlayType('application/vnd.apple.mpegurl')) { // 对于原生支持HLS的浏览器(如Safari) videoElement.src = this.url; videoElement.addEventListener('loadedmetadata', () => { this.loading = false; this.isPlaying = true; videoElement.play().catch(err => { console.error('自动播放失败:', err); }); }); videoElement.addEventListener('error', () => { this.error = '播放错误'; this.loading = false; }); } else { this.error = '您的浏览器不支持HLS播放'; this.loading = false; } }, destroyPlayer() { if (this.hlsPlayer) { this.hlsPlayer.destroy(); this.hlsPlayer = null; } const videoElement = this.$refs.videoElement; if (videoElement) { videoElement.src = ''; } this.isPlaying = false; }, togglePlay() { const videoElement = this.$refs.videoElement; if (!videoElement) return; if (this.isPlaying) { videoElement.pause(); // this.hlsPlayer.destroy(); } else { this.initPlayer(); } this.isPlaying = !this.isPlaying; }, toggleMute() { const videoElement = this.$refs.videoElement; if (videoElement) { videoElement.muted = !videoElement.muted; this.isMuted = videoElement.muted; if (this.volume > 0) { this.preMuteVolume = this.volume; this.volume = 0; } else { this.volume = this.preMuteVolume; } if (!this.isMuted) { videoElement.volume = this.volume / 100; } else { this.volume = 0; videoElement.volume = 0; } } }, handleVolumeChange(value) { const videoElement = this.$refs.videoElement; if (videoElement) { videoElement.volume = value / 100; if (value === 0) { videoElement.muted = true; this.isMuted = true; } else if (this.isMuted) { videoElement.muted = false; this.isMuted = false; } } }, togglePtz() { this.$emit('toggleControlPanel'); }, fullscreen() { const videoElement = this.$refs.videoElement; if (videoElement) { if (videoElement.requestFullscreen) { videoElement.requestFullscreen(); } else if (videoElement.webkitRequestFullscreen) { videoElement.webkitRequestFullscreen(); } else if (videoElement.msRequestFullscreen) { videoElement.msRequestFullscreen(); } } }, toggleRecording() { if (this.isRecording) { this.stopRecording(); clearInterval(this.recordingTimer); this.recordingTimer = null; } else { this.startRecording(); this.recordingStartTime = new Date(); this.recordingDuration = 0; this.recordingTimer = setInterval(() => { this.recordingDuration = Math.floor((new Date() - this.recordingStartTime) / 1000); }, 1000); } }, startRecording() { const videoElement = this.$refs.videoElement; if (!videoElement || !videoElement.videoWidth) { this.$message.error('无法获取视频元素,请确保视频正在播放'); return; } try { const canvas = document.createElement('canvas'); canvas.width = videoElement.videoWidth; canvas.height = videoElement.videoHeight; const ctx = canvas.getContext('2d'); const stream = canvas.captureStream(30); let options; if (MediaRecorder.isTypeSupported('video/webm;codecs=h264')) { options = { mimeType: 'video/webm;codecs=h264', videoBitsPerSecond: 2500000 }; } else if (MediaRecorder.isTypeSupported('video/webm;codecs=vp9')) { options = { mimeType: 'video/webm;codecs=vp9', videoBitsPerSecond: 2500000 }; } else { options = { mimeType: 'video/webm;codecs=vp8', videoBitsPerSecond: 2500000 }; } this.mediaRecorder = new MediaRecorder(stream, options); this.recordedChunks = []; this.mediaRecorder.ondataavailable = event => { if (event.data && event.data.size > 0) { this.recordedChunks.push(event.data); } }; this.mediaRecorder.onstop = async () => { try { await new Promise(resolve => setTimeout(resolve, 100)); const metadata = { codec: this.mediaRecorder.mimeType, duration: (Date.now() - this.recordStartTime) / 1000, width: canvas.width, height: canvas.height, framerate: 30 }; const metadataChunk = new Blob([JSON.stringify(metadata)], { type: 'application/json' }); const videoBlob = new Blob(this.recordedChunks, { type: this.mediaRecorder.mimeType }); const finalBlob = new Blob([metadataChunk, videoBlob], { type: this.mediaRecorder.mimeType }); const reader = new FileReader(); reader.onload = () => { const url = URL.createObjectURL(finalBlob); const a = document.createElement('a'); document.body.appendChild(a); a.style.display = 'none'; a.href = url; const timestamp = new Date().toISOString().replace(/[:.]/g, '-'); a.download = `record_${this.deviceId}_${timestamp}.webm`; a.click(); setTimeout(() => { URL.revokeObjectURL(url); document.body.removeChild(a); this.isRecording = false; this.recordStartTime = null; this.recordedChunks = []; this.$message({ message: '录像已保存到您的下载文件夹', type: 'success', duration: 3000 }); }, 100); }; reader.onerror = () => { throw new Error('文件保存失败'); }; reader.readAsArrayBuffer(finalBlob); } catch (error) { console.error('保存录像失败:', error); this.$message.error(`保存录像失败: ${error.message || '未知错误'}`); this.isRecording = false; this.recordStartTime = null; this.recordedChunks = []; } }; this.frameTimer = setInterval(() => { if (videoElement.readyState === videoElement.HAVE_ENOUGH_DATA) { ctx.drawImage(videoElement, 0, 0, canvas.width, canvas.height); } }, 1000 / 30); this.mediaRecorder.start(1000); this.isRecording = true; this.recordStartTime = Date.now(); this.$message({ message: '开始录像', type: 'success', duration: 2000 }); } catch (error) { console.error('开始录像失败:', error); this.$message.error(`开始录像失败: ${error.message || '未知错误'}`); } }, stopRecording() { if (!this.mediaRecorder || this.mediaRecorder.state === 'inactive') { this.$message.error('没有正在进行的录像'); return; } try { this.mediaRecorder.stop(); if (this.recordingTimer) { clearInterval(this.recordingTimer); this.recordingTimer = null; } if (this.frameTimer) { clearInterval(this.frameTimer); this.frameTimer = null; } } catch (error) { console.error('停止录像失败:', error); this.$message.error(`停止录像失败: ${error.message || '未知错误'}`); this.isRecording = false; this.recordStartTime = null; } }, showDeviceInfo() { this.updateDeviceInfo(); this.deviceInfoVisible = true; }, updateDeviceInfo() { const videoElement = this.$refs.videoElement; if (videoElement && this.hlsPlayer) { Object(_api_video_controller_js__WEBPACK_IMPORTED_MODULE_6__["getDeviceInfo"])(this.deviceId).then(res => { this.deviceInfo = { ...res, deviceId: res.device_id, deviceName: res.device_name, deviceType: res.device_type, online: res.device_state === "ONLINE" ? true : false, resolution: videoElement.videoWidth ? `${videoElement.videoWidth}x${videoElement.videoHeight}` : '-', bitrate: this.hlsPlayer.stats ? `${Math.round(this.hlsPlayer.stats.bitrate / 1024)} kbps` : '-' }; }); } }, takeSnapshot() { const videoElement = this.$refs.videoElement; if (!videoElement || !videoElement.videoWidth) { this.$message.error('视频未就绪,无法截图'); return; } try { const canvas = document.createElement('canvas'); const ctx = canvas.getContext('2d'); if (this.rotationDegree === 90 || this.rotationDegree === 270) { canvas.width = videoElement.videoHeight; canvas.height = videoElement.videoWidth; } else { canvas.width = videoElement.videoWidth; canvas.height = videoElement.videoHeight; } ctx.save(); ctx.translate(canvas.width / 2, canvas.height / 2); ctx.rotate(this.rotationDegree * Math.PI / 180); ctx.drawImage(videoElement, -videoElement.videoWidth / 2, -videoElement.videoHeight / 2, videoElement.videoWidth, videoElement.videoHeight); ctx.restore(); const link = document.createElement('a'); link.download = `snapshot_${this.deviceId}_${new Date().toISOString().replace(/[:.]/g, '-')}.png`; link.href = canvas.toDataURL('image/png'); link.click(); this.$message.success('截图已保存'); } catch (error) { console.error('截图失败:', error); this.$message.error('截图失败'); } }, rotateVideo() { this.rotationDegree = (this.rotationDegree + 90) % 360; const videoElement = this.$refs.videoElement; const container = videoElement === null || videoElement === void 0 ? void 0 : videoElement.parentElement; if (videoElement && container) { container.classList.remove('rotate-0', 'rotate-90', 'rotate-180', 'rotate-270'); container.classList.add(`rotate-${this.rotationDegree}`); const videoWidth = videoElement.videoWidth || videoElement.clientWidth; const videoHeight = videoElement.videoHeight || videoElement.clientHeight; const containerRect = container.getBoundingClientRect(); const containerWidth = containerRect.width; const containerHeight = containerRect.height; const videoRatio = videoWidth / videoHeight || 16 / 9; if (this.rotationDegree === 90 || this.rotationDegree === 270) { videoElement.style.position = 'absolute'; videoElement.style.top = '50%'; videoElement.style.left = '50%'; videoElement.style.transformOrigin = 'center center'; const availableWidth = containerHeight; const availableHeight = containerWidth; const rotatedRatio = 1 / videoRatio; if (availableWidth / availableHeight > rotatedRatio) { const width = availableHeight * rotatedRatio; videoElement.style.width = `${width}px`; videoElement.style.height = `${availableHeight}px`; } else { const height = availableWidth / rotatedRatio; videoElement.style.width = `${availableWidth}px`; videoElement.style.height = `${height}px`; } const rotateValue = this.rotationDegree === 90 ? 90 : 270; videoElement.style.transform = `translate(-50%, -50%) rotate(${rotateValue}deg)`; } else { videoElement.style.position = 'absolute'; videoElement.style.top = '50%'; videoElement.style.left = '50%'; videoElement.style.transformOrigin = 'center center'; if (containerWidth / containerHeight > videoRatio) { const width = containerHeight * videoRatio; videoElement.style.width = `${width}px`; videoElement.style.height = '100%'; } else { const height = containerWidth / videoRatio; videoElement.style.width = '100%'; videoElement.style.height = `${height}px`; } const rotateValue = this.rotationDegree === 0 ? 0 : 180; videoElement.style.transform = `translate(-50%, -50%) rotate(${rotateValue}deg)`; } videoElement.style.maxWidth = 'none'; videoElement.style.maxHeight = 'none'; } }, async startTalk() { if (this.isTalking) { this.stopTalk(); return; } try { const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); this.isTalking = true; this.$message.success('开始对讲'); } catch (error) { console.error('获取麦克风失败:', error); this.$message.error('无法访问麦克风'); } }, stopTalk() { this.isTalking = false; this.$message.info('结束对讲'); }, clearRecordingTimer() { if (this.recordingTimer) { clearInterval(this.recordingTimer); this.recordingTimer = null; } }, handleVideoMetadata() { const videoElement = this.$refs.videoElement; if (videoElement) { this.deviceInfo.resolution = `${videoElement.videoWidth}x${videoElement.videoHeight}`; if (this.rotationDegree !== 0) { this.rotateVideo(); } } }, handleResize() { if (this.resizeTimer) { clearTimeout(this.resizeTimer); } this.resizeTimer = setTimeout(() => { if (this.rotationDegree !== 0) { this.rotateVideo(); } }, 200); }, setMuted(muted) { const videoElement = this.$refs.videoElement; if (videoElement) { videoElement.muted = muted; this.isMuted = muted; if (muted) { this.preMuteVolume = this.volume; this.volume = 0; } else { this.volume = this.preMuteVolume || 50; } videoElement.volume = muted ? 0 : this.volume / 100; } } } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/PtzController.vue?vue&type=script&lang=js": /*!*********************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/PtzController.vue?vue&type=script&lang=js ***! \*********************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_ptzControl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/ptzControl */ "./src/utils/ptzControl.js"); /* harmony default export */ __webpack_exports__["default"] = ({ name: 'FLVPlayer', props: { isPtzControlVisible: { type: Boolean, required: true }, stream: { type: Object, default: () => ({}) } }, data() { return { ptzSpeed: 3 }; }, methods: { /** * 控制云台方向 * @param {string} action - 控制动作:'UP'|'DOWN'|'LEFT'|'RIGHT'|'STOP'|'FOCUS_NEAR'|'IN'|'OUT' */ controlPTZ(action) { _utils_ptzControl__WEBPACK_IMPORTED_MODULE_0__["ptzController"].startPtzControl({ direction: action.toUpperCase(), stream: this.stream, onSuccess: () => { console.log('云台控制成功:', action); }, onError: error => { console.error('云台控制失败:', error); this.$message.error(error.message); } }); }, /** * 设置云台速度 * @param {number} speed - 速度值(1-7) */ setPtzSpeed(speed) { _utils_ptzControl__WEBPACK_IMPORTED_MODULE_0__["ptzController"].setPtzSpeed(speed); }, /** * 获取当前云台速度 * @returns {number} 当前速度值 */ getPtzSpeed() { return _utils_ptzControl__WEBPACK_IMPORTED_MODULE_0__["ptzController"].getPtzSpeed(); } } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/SingleScreen.vue?vue&type=script&lang=js": /*!********************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/SingleScreen.vue?vue&type=script&lang=js ***! \********************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _components_HuaweiVideo_M3U8Player_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/components/HuaweiVideo/M3U8Player.vue */ "./src/components/HuaweiVideo/M3U8Player.vue"); /* harmony import */ var _utils_ptzControl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/utils/ptzControl */ "./src/utils/ptzControl.js"); /* harmony default export */ __webpack_exports__["default"] = ({ name: 'App', props: { camera: { type: Object, required: true } }, components: { M3U8Player: _components_HuaweiVideo_M3U8Player_vue__WEBPACK_IMPORTED_MODULE_0__["default"] }, data() { return { showAddPresetVisible: false, stream: { url: '', deviceId: '', channelId: '', deviceName: '摄像头', deviceType: 'IPC', status: 'loading', error: null }, isLoading: true, ptzSpeed: 4, // 云台速度,默认为4 showControlPanel: true, // 控制右侧面板的显示/隐藏 presets: [{ name: '大门入口', id: 1 }, { name: '停车场', id: 2 }, { name: '后门通道', id: 3 }, { name: '办公区域', id: 4 }] }; }, async created() { console.log('this.camera', this.camera); this.isLoading = true; if (this.camera) { this.stream.url = this.camera.stream; this.stream.deviceId = this.camera.deviceId; this.stream.channelId = this.camera.channelId; this.isLoading = false; } }, methods: { goback() { this.$emit('goback', true); }, handleAddPreset() {}, /** * 控制云台方向 * @param {string} action - 控制动作:'UP'|'DOWN'|'LEFT'|'RIGHT'|'STOP'|'FOCUS_NEAR'|'IN'|'OUT' */ controlPTZ(action) { _utils_ptzControl__WEBPACK_IMPORTED_MODULE_1__["ptzController"].startPtzControl({ direction: action.toUpperCase(), stream: this.stream, onSuccess: () => { console.log('云台控制成功:', action); }, onError: error => { console.error('云台控制失败:', error); this.$message.error(error.message); } }); }, /** * 设置云台速度 * @param {number} speed - 速度值(1-7) */ setPtzSpeed(speed) { _utils_ptzControl__WEBPACK_IMPORTED_MODULE_1__["ptzController"].setPtzSpeed(speed); }, /** * 获取当前云台速度 * @returns {number} 当前速度值 */ getPtzSpeed() { return _utils_ptzControl__WEBPACK_IMPORTED_MODULE_1__["ptzController"].getPtzSpeed(); }, /** * 调用预设点位 * @param {Object} preset - 预设点位对象 */ gotoPreset(preset) { try { console.log('Goto preset:', preset); // TODO: 实现调用预设点位的逻辑 } catch (error) { console.error('调用预设点位失败:', error); // TODO: 添加错误提示 } }, /** * 编辑预设点位 * @param {Object} preset - 预设点位对象 */ editPreset(preset) { try { console.log('Edit preset:', preset); // TODO: 实现编辑预设点位的逻辑 } catch (error) { console.error('编辑预设点位失败:', error); // TODO: 添加错误提示 } }, /** * 删除预设点位 * @param {Object} preset - 预设点位对象 */ deletePreset(preset) { try { console.log('Delete preset:', preset); // TODO: 实现删除预设点位的逻辑 } catch (error) { console.error('删除预设点位失败:', error); // TODO: 添加错误提示 } }, /** * 显示添加预设点位对话框 */ toggleControlPanel() { this.showControlPanel = !this.showControlPanel; } } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/VideoControls.vue?vue&type=script&lang=js": /*!*********************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/VideoControls.vue?vue&type=script&lang=js ***! \*********************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = ({ name: 'VideoControls', props: { isPlaying: { type: Boolean, default: false }, isRecording: { type: Boolean, default: false }, isTalking: { type: Boolean, default: false } }, emits: ['toggle-play', 'show-device-info', 'toggle-ptz', 'rotate-video', 'take-snapshot', 'toggle-recording', 'toggle-talk', 'fullscreen'] }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/parentView/index.vue?vue&type=script&lang=js": /*!************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/parentView/index.vue?vue&type=script&lang=js ***! \************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ "./node_modules/core-js/modules/es.array.push.js"); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "./node_modules/core-js/modules/esnext.iterator.filter.js"); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "./node_modules/core-js/modules/esnext.iterator.find.js"); /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/router */ "./src/router/index.js"); /* harmony default export */ __webpack_exports__["default"] = ({ name: "rollCallManage", computed: { cachedViews() { return this.$store.state.cachedViews; }, routeActive() { return function ({ name }) { return this.$route.name === name; }; } }, data() { return { menuList: [] }; }, methods: { routeToPath({ path }) { this.$router.push({ path }); } }, mounted() { const routes = _router__WEBPACK_IMPORTED_MODULE_4__["default"].getRoutes(); const currentRoute = this.$route.name; const parentView = routes.find(route => { return route.name === currentRoute; }); const { parent } = parentView; const parentName = parent.name; const sameLevelRoutes = routes.filter(route => { const { parent } = route; if (parent) { return (parent === null || parent === void 0 ? void 0 : parent.name) === parentName; } }); console.log(sameLevelRoutes); this.menuList = sameLevelRoutes; } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bigScreen/index.vue?vue&type=script&lang=js": /*!******************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bigScreen/index.vue?vue&type=script&lang=js ***! \******************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = ({ name: "bigScreen", data() { return { src: "https://zafkxt.jcgov.gov.cn/bigScreen/bigscreen/preview?code=bigScreen_cHnciGxf0k" }; } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/business/index.vue?vue&type=script&lang=js": /*!*****************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/business/index.vue?vue&type=script&lang=js ***! \*****************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = ({ name: "business", data() { return { src: "/static/signon/dispatchBusiness" }; }, computed: { businessSrc() { // if(location.href.includes("zafkxt.jcgov.gov.cn")){//正式环境 // return `https://zafkxt.jcgov.gov.cn${this.src}`; // }else{ // return `https://v5qy.te.baibaodun.com.cn${this.src}` // } console.log("businessSrcEnv", "staging"); console.log("businessSrcEnv", "staging"); const platform = localStorage.getItem("platform"); const ticks = new Date().getMilliseconds(); return `${"https://v5qy.te.baibaodun.com.cn"}${this.src}/?platform=${platform}&v=${new Date().getTime()}`; } } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/personCardList.vue?vue&type=script&lang=js": /*!***************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/personCardList.vue?vue&type=script&lang=js ***! \***************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "./node_modules/core-js/modules/esnext.iterator.filter.js"); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _components_timApp_trtc_calling_index_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/timApp/trtc/calling-index.vue */ "./src/components/timApp/trtc/calling-index.vue"); /* harmony import */ var _api_roll_call_controller__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/api/roll-call-controller */ "./src/api/roll-call-controller.js"); /* harmony default export */ __webpack_exports__["default"] = ({ name: "personCardList", components: { CallLayer: _components_timApp_trtc_calling_index_vue__WEBPACK_IMPORTED_MODULE_3__["default"] }, props: { data: Object }, data() { return { loading: false, pageIndex: 0, noMore: false, queryForm: { stationId: this.data.stationId, stationName: this.data.stationName, rollTime: this.data.createdTime, rollInitiator: this.data.actionEmployeeName, callStatuses: [] }, dialogVisible: false, callType: "", //调度类型:1视频调度 2 视频上拉:除了视频上拉传2,其他音频调度与视频调度都传1 yardmanType: "1", memberList: [], rollCallEmployees: [], //所有点名人员 stream: { audio: true, video: true } }; }, computed: { rollCallId() { var _this$data; return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data.rollCallId; }, disabled() { return this.loading || this.noMore; } }, methods: { load() { this.noMore = false; this.pageIndex++; this.queryRollCallEmployees(); }, queryRollCallEmployees() { this.loading = true; let params = { pageIndex: this.pageIndex, pageSize: 10, forExport: true, beginDate: "", endDate: "", securityStationId: this.queryForm.stationId, rollCallId: this.rollCallId, superviseDepartIds: [], onlyForBeingCalledRecord: false, callTypes: ["RollCall"], callStatuses: this.queryForm.callStatuses //点名状态: RollCallInit 点名中; RollCallSuccess 点名成功; RollCallFailed 点名失败; DispatchInit 督导中; DispatchSuccess 督导成功; DispatchFailed 督导失败 }; console.log("queryRollCallEmployeesParams", this.data, params); Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_4__["getRollCallEmployees"])(params).then(res => { console.log("queryRollCallEmployees", res); if (res.length === 0) { this.noMore = true; } const employeesSorted = [...res].sort(function (x, y) { // true values first return x.stationResponsible === y.stationResponsible ? 0 : x.stationResponsible ? -1 : 1; }); const rollCallEmployees = [...employeesSorted].map(x => { return { ...x, active: false }; }); this.rollCallEmployees = [...this.rollCallEmployees, ...rollCallEmployees]; this.$nextTick(() => { const container = this.$refs.container.$el; const lastChild = container.lastElementChild || container.lastChild; // 获取最后一个子元素 // 获取父元素的位置和高度 const parentRect = container.getBoundingClientRect(); const childRect = lastChild.getBoundingClientRect(); // 计算最后一个子元素底部与父元素底部的距离 const distanceToParentBottom = parentRect.bottom - (childRect.bottom - childRect.height); if (distanceToParentBottom > 200 && res.length > 0) { this.load(); } }); }).catch(err => { console.log(err); }).finally(() => { this.loading = false; }); }, handleCheckedRollCallChange() { // this.queryRollCallEmployees(); // 重新查询 this.rollCallEmployees = []; this.pageIndex = 0; this.load(); }, handleCheckedEmployeesChange(value) { console.log("CheckedEmployees", value); }, rollCall() { console.log("rollCallEmployees", this.rollCallEmployees); if (this.rollCallEmployees && this.rollCallEmployees.filter(item => item.active).length === 0) { this.$store.commit("showMessage", { message: "请选择督导点名人员!", type: "warning" }); return; } this.dialogVisible = true; }, back() { this.$emit("back"); }, dispatch(type) { this.dialogVisible = false; // set memberList; const memberList = this.rollCallEmployees.filter(item => item.active); this.memberList = memberList.map(item => { const { calledEmployeeId, calledEmployeeName, calledTencentUserId, calledOrganizationId } = item; return { ...item, id: calledEmployeeId, name: calledEmployeeName, tencentUserId: calledTencentUserId, organizationId: calledOrganizationId, state: "CONNECTING", action: "" }; }); console.log("memberList111", this.memberList); this.setCallProps(type).then(() => { this.$bus.$emit("video-call"); }); }, setCallProps(type) { if (type === "video") { this.stream.video = true; this.stream.audio = true; this.callType = "video"; this.yardmanType = "1"; } else if (type === "audio") { this.stream.video = false; this.stream.audio = true; this.callType = "audio"; this.yardmanType = "1"; } else if (type === "videoLocalMute") { this.stream.video = false; this.stream.audio = true; this.callType = "video"; this.yardmanType = "2"; } return Promise.resolve(); } }, mounted() {} }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/planList.vue?vue&type=script&lang=js": /*!*********************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/planList.vue?vue&type=script&lang=js ***! \*********************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ "./node_modules/core-js/modules/es.array.push.js"); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "./node_modules/core-js/modules/esnext.iterator.filter.js"); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "./node_modules/core-js/modules/esnext.iterator.for-each.js"); /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @riophae/vue-treeselect */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js"); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @riophae/vue-treeselect/dist/vue-treeselect.css */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.css"); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _api_security_station_controller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/api/security-station-controller */ "./src/api/security-station-controller.js"); /* harmony import */ var _api_departs_controller__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/api/departs-controller */ "./src/api/departs-controller.js"); /* harmony import */ var _api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/api/roll-call-controller */ "./src/api/roll-call-controller.js"); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var nanoid__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! nanoid */ "./node_modules/nanoid/index.browser.js"); /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! dayjs */ "./node_modules/dayjs/dayjs.min.js"); /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_12__); /* harmony default export */ __webpack_exports__["default"] = ({ name: "planList", components: { treeSelect: (_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_5___default()) }, data() { return { isSupervision: false, //是否监管端 显示辖区:企业账号进来不展示【辖区】筛选项:false,只有监管账号进来才展示:true deskTypes: localStorage.getItem("platform") === "2" ? ["Proprietor"] : localStorage.getItem("platform") === "3" ? ["TemporarySecurity"] : ["Normal"], queryForm: { name: "", stationType: "", //驻勤点类型 depart: null, //辖区 superviseDepartIds: [], pageIndex: 1, pageSize: 10 }, tableList: [], peopletableList: [], planTableList: [], total: 0, dialogVisible: false, dialogType: "", rollcallEmployeesDialogVisible: false, //点名数据弹窗 stationTypes: [], departs: [], normalizer(node) { if (node.children && !node.children.length) { delete node.children; } return { id: node.code, label: node.name, children: node.children, // isDisabled: !node.selectable, isDisabled: false }; }, planForm: { planId: "", planName: "", //计划名称 planDate: "", //点名日期 repeatRule: "", //重复规则 depart: null, //辖区 departName: "", //辖区名称 stationType: "" //驻勤点类型 }, idsToRemove: [], //点名时间选择 planIdsToRemove: [], //点名计划选择 currentDate: dayjs__WEBPACK_IMPORTED_MODULE_12___default()().format("YYYY-MM-DD") //当前日期 }; }, methods: { async init() { this.stationTypes = await Object(_api_security_station_controller__WEBPACK_IMPORTED_MODULE_7__["getAllStationTypes"])({ deskTypes: [] }); //获取驻勤点信息 console.log("stationTypes", this.stationTypes); this.departs = await Object(_api_departs_controller__WEBPACK_IMPORTED_MODULE_8__["getDeparts"])({ deskTypes: this.deskTypes }); // 获取辖区树 console.log("departs", this.departs); const userInfo = localStorage.getItem("userInfo"); let userInfoJson; if (userInfo) { userInfoJson = JSON.parse(userInfo); } if (userInfoJson) { this.isSupervision = JSON.parse(userInfo).superviseDesk; //判断身份 ture:监管账户;false:企业账户 } this.queryPlan(); }, queryPlan() { Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__["searchRollCallPlans"])({ pageIndex: this.queryForm.pageIndex, pageSize: this.queryForm.pageSize, forExport: true, name: this.queryForm.name, superviseDepartIds: this.queryForm.superviseDepartIds, stationTypes: this.queryForm.stationType ? [this.queryForm.stationType + ""] : [] }).then(res => { console.log("rollCallPlansList", res); const { data, totalCount } = res; this.tableList = data; this.total = totalCount; }).catch(err => { console.log(err); }); }, //点名数据查询 querRollCallEmployees(row) { console.log("querRollCallEmployeesRow", row); this.rollcallEmployeesDialogVisible = true; let params = { pageIndex: 0, pageSize: 0, forExport: true, stationName: "", rollcallPlanId: row.id, superviseDepartIds: [], stationTypes: row.stationTypes, actionEmployeeName: "", beginDate: row.beginTime, endDate: row.endTime, callTypes: ["RollCall"] }; Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__["getRollCallEmployeesGroup"])(params).then(res => { console.log("querRollCallEmployees", res); this.peopletableList = res.data; }).catch(err => { console.log(err); }); }, back() { this.$emit("back"); }, //dialogType 编辑:update 查看 show showOrUpdateRow(row, dialogType) { this.dialogType = dialogType; this.dialogVisible = true; Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__["getRollCallPlanDetail"])(row.id).then(res => { console.log("planDetail", res); this.planForm.planId = res.id; this.planForm.planName = res.name; //计划名称 this.planForm.planDate = [res.beginDate, res.endDate]; //点名日期 this.planForm.repeatRule = res.repetitiveRules; //重复规则 this.planForm.depart = res.superviseDepartId; //辖区 this.planForm.departName = res.superviseDepartName; //辖区名称 this.planForm.stationType = res.stationTypes; //驻勤点类型 this.planTableList = res.timers.map(item => { return { planTime: item.slice(0, 5), id: Object(nanoid__WEBPACK_IMPORTED_MODULE_11__["nanoid"])() }; }); }).catch(err => { console.log(err); }); }, listSizeChange(val) { this.queryForm.pageSize = val; this.queryForm.pageIndex = 1; this.queryPlan(); }, listCurrentChange(val) { this.queryForm.pageIndex = val; this.queryPlan(); }, creatPlanInit() { this.dialogType = "insert"; this.dialogVisible = true; this.planForm.planId = ""; this.planForm.planName = ""; //计划名称 this.planForm.planDate = ""; //点名时间 this.planForm.repeatRule = ""; //重复规则 this.planForm.depart = null; //辖区 this.planForm.departName = ""; //辖区名称 this.planForm.stationType = ""; //驻勤点类型 this.planTableList = []; }, //校验数据是否为空 checkPlanValue() { if (!this.planForm.planName) { this.$message({ message: "请输入计划名称", type: "warning" }); return false; } if (!this.planForm.planName) { this.$message({ message: "请输入计划名称", type: "warning" }); return false; } if (!this.planForm.planDate[0] && !this.planForm.planDate[1]) { this.$message({ message: "请输入点名日期", type: "warning" }); return false; } if (!this.planForm.repeatRule) { this.$message({ message: "请选择重复规则", type: "warning" }); return false; } if (!this.planForm.depart) { this.$message({ message: "请选择辖区", type: "warning" }); return false; } if (!this.planForm.stationType) { this.$message({ message: "请选择驻勤点类型", type: "warning" }); return false; } if (this.planTableList.length === 0) { this.$message({ message: "请输入点名时间", type: "warning" }); return false; } return true; }, savePlan() { if (!this.checkPlanValue()) { return; } let params = { name: this.planForm.planName, beginDate: this.planForm.planDate[0], endDate: this.planForm.planDate[1], repetitiveRules: this.planForm.repeatRule, superviseDepartId: this.planForm.depart, superviseDepartName: this.planForm.departName, stationTypes: this.planForm.stationType, timers: this.planTableList.map(item => item.planTime + ":00") }; if (this.planForm.planId) { params.id = this.planForm.planId; console.log("updatePlanParams", params); Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__["updateRollCallPlan"])(params).then(res => { console.log("updatePlanRes", res); // TODO: 不知道失败长什么样啊? this.$message.success("保存成功"); this.dialogVisible = false; this.queryPlan(); }).catch(err => { console.log(err); }); } else { console.log("createPlanParams", params); Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__["createRollCallPlan"])(params).then(res => { console.log("createPlanRes", res); // TODO: 不知道失败长什么样啊? this.$message.success("保存成功"); this.dialogVisible = false; this.queryPlan(); }).catch(err => { console.log(err); }); } }, deletePlan() { console.log("planIdsToRemove", this.planIdsToRemove); if (this.planIdsToRemove && this.planIdsToRemove.length > 0) { this.planIdsToRemove.forEach(planId => { Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__["deleteRollCallPlan"])(planId); }); this.queryPlan(); } else { this.$message({ message: "请选择点名计划", type: "warning" }); } }, insertPlanTime() { this.planTableList.push({ planTime: "", id: Object(nanoid__WEBPACK_IMPORTED_MODULE_11__["nanoid"])() }); }, delPlanTime() { this.planTableList = this.planTableList.filter(item => { return !this.idsToRemove.includes(item.id); }); }, handleSelectionChange(val) { val && val.length > 0 ? this.idsToRemove = val.map(x => x.id) : this.idsToRemove = []; }, //点名计划选择 handlePlanSelectionChange(val) { val && val.length > 0 ? this.planIdsToRemove = val.map(x => x.id) : this.planIdsToRemove = []; }, onSelectDepart(node) { var _node$children; console.log(node); if ((node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0) { const getTail = item => item.children && item.children.length > 0 ? item.children.map(m => getTail(m)) : [item]; const result = lodash__WEBPACK_IMPORTED_MODULE_10___default.a.flattenDeep(node.children.map(m => [m, ...getTail(m)])); console.log(" log result", result); this.queryForm.superviseDepartIds = [node.code, ...result.map(x => x.code)]; } else { this.queryForm.superviseDepartIds = [node.code]; } }, onSelectPlanDepart(node) { this.planForm.departName = node === null || node === void 0 ? void 0 : node.name; } }, mounted() { this.init(); } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/stationCardList.vue?vue&type=script&lang=js": /*!****************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/stationCardList.vue?vue&type=script&lang=js ***! \****************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ "./node_modules/core-js/modules/es.array.push.js"); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "./node_modules/core-js/modules/esnext.iterator.find.js"); /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "./node_modules/core-js/modules/esnext.iterator.for-each.js"); /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @riophae/vue-treeselect */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js"); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @riophae/vue-treeselect/dist/vue-treeselect.css */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.css"); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _api_security_station_controller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/api/security-station-controller */ "./src/api/security-station-controller.js"); /* harmony import */ var _api_departs_controller__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/api/departs-controller */ "./src/api/departs-controller.js"); /* harmony import */ var _api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/api/roll-call-controller */ "./src/api/roll-call-controller.js"); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_10__); /* harmony default export */ __webpack_exports__["default"] = ({ name: "stationCardList", components: { treeSelect: (_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_5___default()) }, methods: { async init() { this.departs = await Object(_api_departs_controller__WEBPACK_IMPORTED_MODULE_8__["getDeparts"])({ deskTypes: this.deskTypes }); // 获取辖区树 console.log("departs", this.departs); this.stationTypeList = await Object(_api_security_station_controller__WEBPACK_IMPORTED_MODULE_7__["getAllStationTypes"])({ deskTypes: [] }); //获取驻勤点类型信息 this.stationTypeList.forEach(item => { this.stationIdsToType[item.code + ""] = []; item.type = 1; // 初始化状态 3 点名中 4 点名完成 item.callTime = 0; }); console.log("stationIdsToType", this.stationIdsToType); await Object(_api_security_station_controller__WEBPACK_IMPORTED_MODULE_7__["getStationStatistics"])({ pageIndex: 0, pageSize: 0, forExport: true, stationIds: [] }).then(stationStatistics => { console.log("stationStatistics", stationStatistics); this.stationTypeList.forEach(item => { item["countOfSecurityMen"] = 0; item["countOfStations"] = 0; if (stationStatistics) { stationStatistics.forEach(statistic => { if (item.code === statistic.stationTypeCode) { item["countOfSecurityMen"] = statistic.countOfSecurityMen; item["countOfStations"] = statistic.countOfStations; } }); } }); this.$forceUpdate(); console.log("stationTypeList", this.stationTypeList); }); const userInfo = localStorage.getItem("userInfo"); let userInfoJson; if (userInfo) { userInfoJson = JSON.parse(userInfo); } if (userInfoJson) { //判断是否是企业或内保单位 if (userInfoJson.role === "Company" || userInfoJson.role === "Proprietor") { this.isCompany = true; } this.isSupervision = JSON.parse(userInfo).superviseDesk; //判断身份 ture:监管账户;false:企业账户 } }, toPlan() { this.$emit("toPlan"); }, toStationRollCallList(data) { this.$emit("toStationRollCallList", { data }); }, //选中某个驻勤点类型 selectStation(stationTypeCode) { this.selectedStationType = stationTypeCode; this.searchStations(); this.yesData = this.stationIdsToType[this.selectedStationType]; }, //查询驻勤点 searchStations() { Object(_api_security_station_controller__WEBPACK_IMPORTED_MODULE_7__["getBasicStations"])({ pageIndex: 1, pageSize: 1000, forExport: true, deskTypes: this.isCompany ? ["Normal", "Proprietor"] : this.deskTypes, stationTypes: [this.selectedStationType + ""], name: this.queryForm.stationName, companyName: this.queryForm.companyName, superviseDepartIds: this.queryForm.superviseDepartIds }).then(res => { console.log("stationList", res); this.stationList = res.data; }).catch(err => { console.log(err); }); this.dialogVisible = true; }, //右侧数据变动触发函数 handleChange(value, direction, movedKeys) { console.log(value, direction, movedKeys); this.stationIdList = movedKeys; //文件列表的id数组 }, confirmStation() { this.stationIdsToType[this.selectedStationType] = this.yesData; console.log("confirmStation", this.stationIdsToType[this.selectedStationType]); this.dialogVisible = false; //更新选中驻勤点数据 Object(_api_security_station_controller__WEBPACK_IMPORTED_MODULE_7__["getStationStatistics"])({ pageIndex: 0, pageSize: 0, forExport: true, stationIds: this.yesData, stationTypeCode: [this.selectedStationType] }).then(stationStatistics => { console.log("stationStatistics", stationStatistics); this.stationTypeList.forEach(item => { if (stationStatistics) { stationStatistics.forEach(statistic => { if (item.code === statistic.stationTypeCode) { item["countOfSecurityMen"] = statistic.countOfSecurityMen; item["countOfStations"] = statistic.countOfStations; } }); } }); this.$forceUpdate(); console.log("stationTypeList", this.stationTypeList); }); }, onSelectDepart(node) { var _node$children; console.log(node); if ((node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0) { const getTail = item => item.children && item.children.length > 0 ? item.children.map(m => getTail(m)) : [item]; const result = lodash__WEBPACK_IMPORTED_MODULE_10___default.a.flattenDeep(node.children.map(m => [m, ...getTail(m)])); console.log(" log result", result); this.queryForm.superviseDepartIds = [node.code, ...result.map(x => x.code)]; } else { this.queryForm.superviseDepartIds = [node.code]; } this.selectStations(); }, clossDialog() { this.dialogVisible = false; }, bindIcon({ name }) { return __webpack_require__("./src/assets/images/rollManage sync recursive ^\\.\\/.*\\.png$")("./" + name + ".png"); }, //点名 stationRollCalls(stationTypeCode) { Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__["rollCalls"])({ stationTypes: [stationTypeCode + ""], securityStationIds: this.stationIdsToType[stationTypeCode] }).then(res => { this.stationTypeList.forEach(stationType => { if (stationType.code === stationTypeCode) { stationType.type = 3; stationType.callTime = 0; } }); this.$forceUpdate(); const { rollCallId } = res; this.stationTypeList.forEach(stationType => { // station.rollCallId = ""; if (stationType.code === stationTypeCode) { stationType.rollCallId = rollCallId; } }); // 更新点名中的ids数组,已存在的就不加了 if (!this.rollCallIds.includes(rollCallId)) { this.rollCallIds.push(rollCallId); } // 轮询状态,如果存在定时器说明之前点过一种驻勤点了,再点一次重新开始定时器避免定时器错乱 if (this.statusTimer) clearInterval(this.statusTimer); this.askStatus(); this.statusTimer = setInterval(() => { this.askStatus(); }, 3000); // 3s轮询一次 }).catch(err => { this.$store.commit("showMessage", { type: "error", message: err.response.data.message, duration: 0 }); console.log(err); }); }, async askStatus() { // 如果所有点名状态都完成且有定时器存在-->不再需要定时器 if (this.rollCallIds.length <= 0 && this.statusTimer) { clearInterval(this.statusTimer); this.statusTimer = null; return false; // 直接中断 } const res = await Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_9__["getRollCallStatus"])({ rollCallIds: this.rollCallIds }); if (res && res.length > 0) { res.forEach(rollCall => { const stationType = this.stationTypeList.find(s => s.rollCallId === rollCall.rollCallId); if (stationType) { console.log(stationType); // 2、下一个三秒去掉遮罩(状态初始化),从ids数组中去掉这个id if (stationType.type === 4) { stationType.type = 1; const index = this.rollCallIds.indexOf(rollCall.rollCallId); if (index !== -1) { this.rollCallIds.splice(index, 1); } } else { stationType.type = rollCall.completed ? 4 : 3; // 1、先把状态变成完成,但还是去查一次状态 } if (rollCall.completed) { stationType.callTime = 0; // 清空计时 } else { stationType.callTime = stationType.callTime + 3; // 还没接就一直计时 3s轮询一次 if (stationType.callTime >= 180) { // 如果超过3分钟 stationType.type = 1; const index = this.rollCallIds.indexOf(rollCall.rollCallId); if (index !== -1) { this.rollCallIds.splice(index, 1); } } } this.$forceUpdate(); } }); } } }, data() { const h = this.$createElement; return { platform: localStorage.getItem("platform") || "1", deskTypes: localStorage.getItem("platform") === "2" ? ["Proprietor"] : localStorage.getItem("platform") === "3" ? ["TemporarySecurity"] : ["Normal"], isCompany: false, isSupervision: false, //是否监管端 显示辖区:企业账号进来不展示【辖区】筛选项:false,只有监管账号进来才展示:true selectedStationType: "", //当前选中的驻勤点类型 queryForm: { stationName: "", //驻勤点名称 companyName: "", //公司名称 depart: null, //辖区 superviseDepartIds: [] }, stationTypeList: [], //驻勤点类型 stationList: [], //驻勤点查询结果 stationIdList: [], //移动驻勤点 stationIdsToType: {}, //驻勤点类型对应的选中驻勤点id数组 yesData: [], // 注意:key 的字符类型要一致!!! renderFunc(h, option) { return h("span", { "attrs": { "title": option.name } }, [option.companyName, "-", option.name]); }, dialogVisible: false, departs: [], normalizer(node) { if (node.children && !node.children.length) { delete node.children; } return { id: node.code, label: node.name, children: node.children, // isDisabled: !node.selectable, isDisabled: false }; }, rollCallIds: [], statusTimer: null }; }, mounted() { this.init(); }, destroyed() { if (this.statusTimer) clearInterval(this.statusTimer); this.statusTimer = null; } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/stationRollCallList.vue?vue&type=script&lang=js": /*!********************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/stationRollCallList.vue?vue&type=script&lang=js ***! \********************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @riophae/vue-treeselect */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js"); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @riophae/vue-treeselect/dist/vue-treeselect.css */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.css"); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _api_security_station_controller__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/api/security-station-controller */ "./src/api/security-station-controller.js"); /* harmony import */ var _api_departs_controller__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/api/departs-controller */ "./src/api/departs-controller.js"); /* harmony import */ var _api_roll_call_controller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/api/roll-call-controller */ "./src/api/roll-call-controller.js"); /* harmony default export */ __webpack_exports__["default"] = ({ name: "stationRollCallList", components: { treeSelect: (_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3___default()) }, props: { data: Object }, data() { return { isSupervision: false, deskTypes: localStorage.getItem("platform") === "2" ? ["Proprietor"] : localStorage.getItem("platform") === "3" ? ["TemporarySecurity"] : ["Normal"], queryForm: { pageNum: 1, pageSize: 10, stationType: this.data.data.code, stationName: "", //驻勤点名称 rollTime: "", //点名时间 depart: null, //辖区 superviseDepartIds: [] }, stationTypes: [], departs: [], normalizer(node) { if (node.children && !node.children.length) { delete node.children; } return { id: node.code, label: node.name, children: node.children, // isDisabled: !node.selectable, isDisabled: false }; }, tableList: [], total: 0 }; }, methods: { async init() { this.stationTypes = await Object(_api_security_station_controller__WEBPACK_IMPORTED_MODULE_5__["getAllStationTypes"])({ deskTypes: [] }); //获取驻勤点信息 console.log("stationTypes", this.stationTypes); this.departs = await Object(_api_departs_controller__WEBPACK_IMPORTED_MODULE_6__["getDeparts"])({ deskTypes: this.deskTypes }); // 获取辖区树 console.log("departs", this.departs); const userInfo = localStorage.getItem("userInfo"); let userInfoJson; if (userInfo) { userInfoJson = JSON.parse(userInfo); } if (userInfoJson) { this.isSupervision = JSON.parse(userInfo).superviseDesk; //判断身份 ture:监管账户;false:企业账户 } this.querRollCallEmployees(); }, querRollCallEmployees() { let params = { pageIndex: this.queryForm.pageNum, pageSize: this.queryForm.pageSize, forExport: true, stationName: this.queryForm.stationName, superviseDepartIds: this.queryForm.superviseDepartIds, stationTypes: this.queryForm.stationType ? [this.queryForm.stationType + ""] : [], actionEmployeeName: this.queryForm.rollInitiator, beginDate: this.queryForm.rollTime ? this.queryForm.rollTime[0] : "", endDate: this.queryForm.rollTime ? this.queryForm.rollTime[1] : "", callTypes: ["RollCall"] }; Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_7__["getRollCallEmployeesGroup"])(params).then(res => { console.log("getRollCallEmployeesGroup", res); this.tableList = res.data; this.total = res.totalCount; }).catch(err => { console.log(err); }); }, back() { this.$emit("back"); }, listSizeChange(val) { this.queryForm.pageSize = val; this.queryForm.pageNum = 1; this.querRollCallEmployees(); }, listCurrentChange(val) { this.queryForm.pageNum = val; this.querRollCallEmployees(); }, checkRow(row) { this.$emit("toPersonCardList", row); }, onSelectDepart(node) { var _node$children; console.log(node); if ((node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0) { const getTail = item => item.children && item.children.length > 0 ? item.children.map(m => getTail(m)) : [item]; const result = lodash__WEBPACK_IMPORTED_MODULE_2___default.a.flattenDeep(node.children.map(m => [m, ...getTail(m)])); console.log(" log result", result); this.queryForm.superviseDepartIds = [node.code, ...result.map(x => x.code)]; } else { this.queryForm.superviseDepartIds = [node.code]; } }, beforeClearDepart() { this.queryForm.depart = null; this.queryForm.superviseDepartIds = []; } }, mounted() { this.init(); } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/index.vue?vue&type=script&lang=js": /*!*******************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/index.vue?vue&type=script&lang=js ***! \*******************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _views_rollCallManage_polling_components_stationCardList_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/views/rollCallManage/polling/components/stationCardList.vue */ "./src/views/rollCallManage/polling/components/stationCardList.vue"); /* harmony import */ var _views_rollCallManage_polling_components_planList_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/views/rollCallManage/polling/components/planList.vue */ "./src/views/rollCallManage/polling/components/planList.vue"); /* harmony import */ var _views_rollCallManage_polling_components_stationRollCallList_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/views/rollCallManage/polling/components/stationRollCallList.vue */ "./src/views/rollCallManage/polling/components/stationRollCallList.vue"); /* harmony import */ var _views_rollCallManage_polling_components_personCardList_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/views/rollCallManage/polling/components/personCardList.vue */ "./src/views/rollCallManage/polling/components/personCardList.vue"); /* harmony default export */ __webpack_exports__["default"] = ({ name: "polling", components: { stationCardList: _views_rollCallManage_polling_components_stationCardList_vue__WEBPACK_IMPORTED_MODULE_0__["default"], planList: _views_rollCallManage_polling_components_planList_vue__WEBPACK_IMPORTED_MODULE_1__["default"], stationRollCallList: _views_rollCallManage_polling_components_stationRollCallList_vue__WEBPACK_IMPORTED_MODULE_2__["default"], personCardList: _views_rollCallManage_polling_components_personCardList_vue__WEBPACK_IMPORTED_MODULE_3__["default"] }, data() { return { componentName: "stationCardList", stationData: null, personListData: null }; }, methods: { toStationRollCallList(data) { this.stationData = data; this.componentName = "stationRollCallList"; }, toPersonCardList(data) { this.personListData = data; this.componentName = "personCardList"; } } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/components/personCardList.vue?vue&type=script&lang=js": /*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/components/personCardList.vue?vue&type=script&lang=js ***! \*******************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _api_roll_call_controller__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/api/roll-call-controller */ "./src/api/roll-call-controller.js"); // import CallLayer from "@/components/timApp/trtc/calling-index.vue"; /* harmony default export */ __webpack_exports__["default"] = ({ name: "personCardList", components: { // CallLayer, }, props: { data: Object }, data() { return { loading: false, pageIndex: 0, noMore: false, queryForm: { stationId: this.data.stationId, stationName: this.data.stationName, rollTime: this.data.createdTime, rollInitiator: this.data.actionEmployeeName, rollCallId: this.data.rollCallId, callStatuses: [] }, rollCallEmployees: [] //所有点名人员 }; }, computed: { rollCallId() { var _this$data; return (_this$data = this.data) === null || _this$data === void 0 ? void 0 : _this$data.rollCallId; }, disabled() { return this.loading || this.noMore; } }, methods: { load() { this.noMore = false; this.pageIndex++; this.queryRollCallEmployees(); }, queryRollCallEmployees() { this.loading = true; let params = { pageIndex: this.pageIndex, pageSize: 10, forExport: true, beginDate: "", endDate: "", securityStationId: this.queryForm.stationId, rollCallId: this.queryForm.rollCallId, superviseDepartIds: [], callTypes: ["Dispatch"], callStatuses: this.queryForm.callStatuses //点名状态: RollCallInit 点名中; RollCallSuccess 点名成功; RollCallFailed 点名失败; DispatchInit 督导中; DispatchSuccess 督导成功; DispatchFailed 督导失败 }; console.log("queryRollCallEmployeesParams", this.data, params); Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_0__["getRollCallEmployees"])(params).then(res => { console.log("queryRollCallEmployees", res); if (res.length === 0) { this.noMore = true; } const employeesSorted = [...res].sort(function (x, y) { // true values first return x.stationResponsible === y.stationResponsible ? 0 : x.stationResponsible ? -1 : 1; }); const rollCallEmployees = [...employeesSorted].map(x => { return { ...x, active: false }; }); this.rollCallEmployees = [...this.rollCallEmployees, ...rollCallEmployees]; this.$nextTick(() => { const container = this.$refs.container.$el; const lastChild = container.lastElementChild || container.lastChild; // 获取最后一个子元素 // 获取父元素的位置和高度 const parentRect = container.getBoundingClientRect(); const childRect = lastChild.getBoundingClientRect(); // 计算最后一个子元素底部与父元素底部的距离 const distanceToParentBottom = parentRect.bottom - (childRect.bottom - childRect.height); if (distanceToParentBottom > 200 && res.length > 0) { this.load(); } }); }).catch(err => { console.log(err); }).finally(() => { this.loading = false; }); }, back() { this.$emit("back"); } }, mounted() {} }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/components/stationRollCallList.vue?vue&type=script&lang=js": /*!************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/components/stationRollCallList.vue?vue&type=script&lang=js ***! \************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); /* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @riophae/vue-treeselect */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.cjs.js"); /* harmony import */ var _riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @riophae/vue-treeselect/dist/vue-treeselect.css */ "./node_modules/@riophae/vue-treeselect/dist/vue-treeselect.css"); /* harmony import */ var _riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_riophae_vue_treeselect_dist_vue_treeselect_css__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _api_security_station_controller__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/api/security-station-controller */ "./src/api/security-station-controller.js"); /* harmony import */ var _api_departs_controller__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/api/departs-controller */ "./src/api/departs-controller.js"); /* harmony import */ var _api_roll_call_controller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/api/roll-call-controller */ "./src/api/roll-call-controller.js"); /* harmony default export */ __webpack_exports__["default"] = ({ name: "stationRollCallList", components: { treeSelect: (_riophae_vue_treeselect__WEBPACK_IMPORTED_MODULE_3___default()) }, props: { data: Object }, data() { return { isSupervision: false, //是否监管端 显示辖区:企业账号进来不展示【辖区】筛选项:false,只有监管账号进来才展示:true deskTypes: localStorage.getItem("platform") === "2" ? ["Proprietor"] : localStorage.getItem("platform") === "3" ? ["TemporarySecurity"] : ["Normal"], queryForm: { pageNum: 1, pageSize: 10, stationName: "", stationType: "", //驻勤点类型 depart: null, //辖区 superviseDepartIds: [], rollInitiator: "", //点名发起人 rollTime: "" //点名时间 }, stationTypes: [], departs: [], normalizer(node) { if (node.children && !node.children.length) { delete node.children; } return { id: node.code, label: node.name, children: node.children, // isDisabled: !node.selectable, isDisabled: false }; }, tableList: [], total: 0 }; }, methods: { async init() { this.stationTypes = await Object(_api_security_station_controller__WEBPACK_IMPORTED_MODULE_5__["getAllStationTypes"])({ deskTypes: [] }); //获取驻勤点信息 console.log("stationTypes", this.stationTypes); this.departs = await Object(_api_departs_controller__WEBPACK_IMPORTED_MODULE_6__["getDeparts"])({ deskTypes: this.deskTypes }); // 获取辖区树 console.log("departs", this.departs); const userInfo = localStorage.getItem("userInfo"); let userInfoJson; if (userInfo) { userInfoJson = JSON.parse(userInfo); } if (userInfoJson) { this.isSupervision = JSON.parse(userInfo).superviseDesk; //判断身份 ture:监管账户;false:企业账户 } this.querDispatchEmployees(); }, querDispatchEmployees() { let params = { pageIndex: this.queryForm.pageNum, pageSize: this.queryForm.pageSize, forExport: true, stationName: this.queryForm.stationName, superviseDepartIds: this.queryForm.superviseDepartIds, stationTypes: this.queryForm.stationType ? [this.queryForm.stationType + ""] : [], actionEmployeeName: this.queryForm.rollInitiator, beginDate: this.queryForm.rollTime ? this.queryForm.rollTime[0] : "", endDate: this.queryForm.rollTime ? this.queryForm.rollTime[1] : "", callTypes: ["Dispatch"] //Dispatch }; Object(_api_roll_call_controller__WEBPACK_IMPORTED_MODULE_7__["getRollCallEmployeesGroup"])(params).then(res => { console.log("querRollCallEmployeesDispatch", res); this.tableList = res.data; this.total = res.totalCount; }).catch(err => { console.log(err); }); }, resetForm() { Object.assign(this.$data.queryForm, this.$options.data().queryForm); }, listSizeChange(val) { this.queryForm.pageSize = val; this.queryForm.pageNum = 1; this.querDispatchEmployees(); }, listCurrentChange(val) { this.queryForm.pageNum = val; this.querDispatchEmployees(); }, checkRow(row) { this.$emit("toPersonCardList", row); }, onSelectDepart(node) { var _node$children; console.log(node); if ((node === null || node === void 0 || (_node$children = node.children) === null || _node$children === void 0 ? void 0 : _node$children.length) > 0) { const getTail = item => item.children && item.children.length > 0 ? item.children.map(m => getTail(m)) : [item]; const result = lodash__WEBPACK_IMPORTED_MODULE_2___default.a.flattenDeep(node.children.map(m => [m, ...getTail(m)])); console.log(" log result", result); this.queryForm.superviseDepartIds = [node.code, ...result.map(x => x.code)]; } else { this.queryForm.superviseDepartIds = [node.code]; } }, beforeClearDepart() { this.queryForm.depart = null; this.queryForm.superviseDepartIds = []; } }, mounted() { this.init(); } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/index.vue?vue&type=script&lang=js": /*!***********************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/index.vue?vue&type=script&lang=js ***! \***********************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _views_rollCallManage_supervision_components_stationRollCallList_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/views/rollCallManage/supervision/components/stationRollCallList.vue */ "./src/views/rollCallManage/supervision/components/stationRollCallList.vue"); /* harmony import */ var _views_rollCallManage_supervision_components_personCardList_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/views/rollCallManage/supervision/components/personCardList.vue */ "./src/views/rollCallManage/supervision/components/personCardList.vue"); /* harmony default export */ __webpack_exports__["default"] = ({ name: "supervision", components: { stationRollCallList: _views_rollCallManage_supervision_components_stationRollCallList_vue__WEBPACK_IMPORTED_MODULE_0__["default"], personCardList: _views_rollCallManage_supervision_components_personCardList_vue__WEBPACK_IMPORTED_MODULE_1__["default"] }, data() { return { componentName: "stationRollCallList", stationData: null, personListData: null }; }, methods: { toStationRollCallList(data) { this.stationData = data; this.componentName = "stationRollCallList"; }, toPersonCardList(data) { this.personListData = data; this.componentName = "personCardList"; } } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/videoManage/index.vue?vue&type=script&lang=js": /*!********************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/videoManage/index.vue?vue&type=script&lang=js ***! \********************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ "./node_modules/core-js/modules/es.array.push.js"); /* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "./node_modules/core-js/modules/esnext.iterator.filter.js"); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.iterator.find.js */ "./node_modules/core-js/modules/esnext.iterator.find.js"); /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.iterator.for-each.js */ "./node_modules/core-js/modules/esnext.iterator.for-each.js"); /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _components_HuaweiVideo_M3U8Player_vue__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/HuaweiVideo/M3U8Player.vue */ "./src/components/HuaweiVideo/M3U8Player.vue"); /* harmony import */ var _components_HuaweiVideo_VideoControls_vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/HuaweiVideo/VideoControls.vue */ "./src/components/HuaweiVideo/VideoControls.vue"); /* harmony import */ var _components_HuaweiVideo_SingleScreen_vue__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/HuaweiVideo/SingleScreen.vue */ "./src/components/HuaweiVideo/SingleScreen.vue"); /* harmony import */ var _components_HuaweiVideo_PtzController_vue__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/HuaweiVideo/PtzController.vue */ "./src/components/HuaweiVideo/PtzController.vue"); /* harmony import */ var _api_video_controller_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/api/video-controller.js */ "./src/api/video-controller.js"); /* harmony import */ var _api_device_channel_service__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/api/device-channel-service */ "./src/api/device-channel-service.js"); /* harmony import */ var _api_common__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/api/common */ "./src/api/common.js"); /* harmony default export */ __webpack_exports__["default"] = ({ components: { M3U8Player: _components_HuaweiVideo_M3U8Player_vue__WEBPACK_IMPORTED_MODULE_6__["default"], SingleScreen: _components_HuaweiVideo_SingleScreen_vue__WEBPACK_IMPORTED_MODULE_8__["default"], PtzController: _components_HuaweiVideo_PtzController_vue__WEBPACK_IMPORTED_MODULE_9__["default"], VideoControls: _components_HuaweiVideo_VideoControls_vue__WEBPACK_IMPORTED_MODULE_7__["default"] }, data() { return { selectedIndex: 0, // 添加选中索引,-1表示未选中 toFullScreen: false, onlineCameras: 9, totalCameras: 9, currentTime: '', playerOptions: { width: '100%', height: '100%', autoplay: true, controls: false, // 使用自定义控制栏 muted: false }, layoutType: '3x3', // 默认3x3布局 layoutOptions: [{ id: '1x1', name: '01', cols: 1, rows: 1, icon: '1分屏' }, { id: '2x1', name: '02', cols: 2, rows: 1, icon: '2分屏' }, { id: '2x2', name: '04', cols: 2, rows: 2, icon: '4分屏' }, { id: '6grid', name: '06', cols: 3, rows: 3, merge: [[0, 0, 2, 2]], icon: '6分屏' }, { id: '7grid', name: '07', cols: 4, rows: 4, merge: [[0, 0, 2, 2], [0, 1, 2, 2], [1, 0, 2, 2]], icon: '7分屏' }, { id: '8grid', name: '08', cols: 4, rows: 4, merge: [[0, 0, 3, 3]], icon: '8分屏' }, { id: '3x3', name: '09', cols: 3, rows: 3, icon: '9分屏' }], showLayoutMenu: false, cameras: [], isPtzControlVisible: false, showSwitchButtons: false }; }, computed: { channelName() { return this.$store.getters['getCurrentChannel'] || ''; }, stationId() { return this.$route.query.stationId; } }, async created() { this.updateTime(); let huaweiInfo = localStorage.getItem('huaweiInfo'); if (!huaweiInfo) { await Object(_api_common__WEBPACK_IMPORTED_MODULE_12__["getHuaweiAccessToken"])(); } setInterval(this.updateTime, 1000); try { // 获取通道列表 const devices = await this.getDevices(this.stationId); // 为每个通道获取直播流地址 const cameras = await Promise.all(devices.map(async (device, index) => { try { const liveResponse = await Object(_api_video_controller_js__WEBPACK_IMPORTED_MODULE_10__["getLiveStream"])({ channels: [{ device_id: device.thirdPartyId, channel_id: device.thirdPartyId, live_protocol: "HTTPS_HLS", stream_type: "PRIMARY_STREAM" }] }); return { location: device.thirdPartyName || `摄像头 ${index + 1}`, stream: liveResponse.live_connections[0].cloud_trans_connections.live_url, deviceId: device.thirdPartyId, channelId: device.thirdPartyId, isPlaying: false, error: null, retryCount: 0, isLoading: false }; } catch (error) { console.error(`获取通道 ${device.thirdPartyId} 直播流失败:`, error); return { location: device.thirdPartyName || `摄像头 ${index + 1}`, stream: '', deviceId: device.thirdPartyId, channelId: device.thirdPartyId, isPlaying: false, error: '获取直播流失败' }; } })); this.cameras = cameras; } catch (error) { console.error('获取通道列表失败:', error); this.cameras = this.cameras.map(camera => ({ ...camera, error: '获取通道列表失败' })); } }, methods: { goback() { this.toFullScreen = false; }, toggleClose() { this.$router.go(-1); }, toggleControlPanel() { this.isPtzControlVisible = !this.isPtzControlVisible; }, async getDevices(id) { try { // const devices = await deviceChannelService.getDevicesByOrgName(orgName); const devices = await _api_device_channel_service__WEBPACK_IMPORTED_MODULE_11__["default"].getDevicesByStationId({ stationIds: [id] }); console.log('获取到的通道列表:', devices); return devices; } catch (error) { console.error('获取通道列表失败:', error); } }, updateTime() { const now = new Date(); const year = now.getFullYear(); const month = String(now.getMonth() + 1).padStart(2, '0'); const day = String(now.getDate()).padStart(2, '0'); const hours = String(now.getHours()).padStart(2, '0'); const minutes = String(now.getMinutes()).padStart(2, '0'); const seconds = String(now.getSeconds()).padStart(2, '0'); this.currentTime = `${year}/${month}/${day} ${hours}:${minutes}:${seconds}`; }, // 播放器就绪事件处理 onPlayerReady(index) { console.log(`播放器 ${index} 就绪`); }, // 播放状态改变事件处理 onPlayerPlay(index) { this.cameras[index].isPlaying = true; this.cameras[index].error = null; this.cameras[index].retryCount = 0; // 重置重试计数 console.log(`播放器 ${index} 开始播放`); }, // 暂停事件处理 onPlayerPause(index) { this.cameras[index].isPlaying = false; console.log(`播放器 ${index} 已暂停`); }, onPlayerRefresh(index) { console.log(`播放器 ${index} 刷新`); }, // 获取新的流地址 async getNewStreamUrl(deviceId, channelId, retryCount = 0) { try { const liveResponse = await Object(_api_video_controller_js__WEBPACK_IMPORTED_MODULE_10__["getLiveStream"])({ channels: [{ device_id: deviceId, channel_id: channelId, live_protocol: "http_flv", stream_type: "PRIMARY_STREAM" }] }); return liveResponse.channels[0].live_url; } catch (error) { console.error('获取新流地址失败:', error); throw error; } }, // 错误处理 async onPlayerError(index, event) { console.error(`播放器 ${index} 错误:`, event); this.cameras[index].isPlaying = false; // 获取当前摄像头信息 const camera = this.cameras[index]; if (!camera || !camera.deviceId || !camera.channelId) { this.cameras[index].error = '摄像头信息无效'; return; } // 检查重试次数 camera.retryCount = (camera.retryCount || 0) + 1; if (camera.retryCount > 3) { this.cameras[index].error = '重试次数过多,请刷新页面重试'; return; } try { // 获取新的流地址 const newStreamUrl = await this.getNewStreamUrl(camera.deviceId, camera.channelId, camera.retryCount); // 更新流地址 this.cameras[index].stream = newStreamUrl; this.cameras[index].error = null; // 重置播放器 this.$nextTick(() => { const player = this.$refs.videoPlayer[index]; if (player) { player.play().catch(error => { console.error(`重试播放失败:`, error); this.cameras[index].error = '重试播放失败,请刷新页面'; }); } }); } catch (error) { this.cameras[index].error = '获取新流地址失败,请刷新页面重试'; } }, // 切换播放/暂停 togglePlay(index) { const player = this.$refs.videoPlayer[index]; if (!player) return; try { if (this.cameras[index].isPlaying) { player.pause(); } else { player.play().catch(error => { console.error(`播放器 ${index} 播放失败:`, error); this.cameras[index].error = '播放失败,请重试'; }); } } catch (error) { console.error(`播放器 ${index} 操作失败:`, error); this.cameras[index].error = '操作失败,请重试'; } }, // 切换全屏 toggleFullscreen(index) { const videoContainer = this.$refs.videoPlayer[index].$el; if (!videoContainer) return; if (document.fullscreenElement) { document.exitFullscreen(); } else { videoContainer.requestFullscreen(); } }, // 截图功能 takeScreenshot(index) { const player = this.$refs.videoPlayer[index]; if (!player) return; const screenshot = player.screenshot(); if (screenshot) { // 创建下载链接 const link = document.createElement('a'); link.href = screenshot; link.download = `camera_${this.cameras[index].location}_${new Date().getTime()}.jpg`; link.click(); } }, // 手动刷新视频流 async refreshStream(index) { const camera = this.cameras[index]; if (!camera || !camera.deviceId || !camera.channelId) { this.$message.error('摄像头信息无效'); return; } // 设置加载状态 this.cameras[index].isLoading = true; this.cameras[index].error = null; this.cameras[index].retryCount = 0; try { // 获取新的流地址 const newStreamUrl = await this.getNewStreamUrl(camera.deviceId, camera.channelId, 0); // 更新流地址 this.cameras[index].stream = newStreamUrl; // 重置播放器 this.$nextTick(() => { const player = this.$refs.videoPlayer[index]; if (player) { player.play().catch(error => { console.error(`刷新播放失败:`, error); this.cameras[index].error = '刷新播放失败,请重试'; }); } }); } catch (error) { console.error('刷新流失败:', error); this.cameras[index].error = '刷新失败,请重试'; } finally { this.cameras[index].isLoading = false; } }, // 打开设置 openSettings(index) { // 实现设置面板逻辑 console.log(`打开摄像头 ${index} 的设置`); }, // 切换布局 changeLayout(layoutId) { this.layoutType = layoutId; this.showLayoutMenu = false; }, // 获取网格布局样式 getGridStyle() { const option = this.layoutOptions.find(opt => opt.id === this.layoutType); if (!option) return {}; const cols = option.cols; const rows = option.rows; return { 'grid-template-columns': `repeat(${cols}, 1fr)`, 'grid-template-rows': `repeat(${rows}, 1fr)` }; }, // 获取当前布局应该显示的摄像头 getVisibleCameras() { const option = this.layoutOptions.find(opt => opt.id === this.layoutType); if (!option) return this.cameras.slice(0, 1); // 默认显示第一个摄像头 // 1x1布局特殊处理 if (option.id === '1x1') { var _this$cameras$this$se; // 如果有选中的摄像头且不是空通道,则显示选中的摄像头 if (this.selectedIndex !== -1 && !((_this$cameras$this$se = this.cameras[this.selectedIndex]) !== null && _this$cameras$this$se !== void 0 && _this$cameras$this$se.isEmpty)) { return [this.cameras[this.selectedIndex]]; } // 如果没有选中的摄像头或选中的是空通道,显示第一个非空通道 const firstValidCamera = this.cameras.find(camera => !camera.isEmpty); if (firstValidCamera) { return [firstValidCamera]; } // 如果没有有效的摄像头,显示提示 return [{ location: '无可用通道', stream: null, deviceId: null, isPlaying: false, error: null, isEmpty: true }]; } // 计算当前布局需要的摄像头数量 let count = option.cols * option.rows; if (option.merge) { // 如果有合并单元格,需要调整数量 for (const merge of option.merge) { const [startRow, startCol, rowSpan, colSpan] = merge; count -= rowSpan * colSpan - 1; } } // 获取实际的摄像头列表 const visibleCameras = this.cameras.slice(0, Math.min(count, this.cameras.length)); // 如果实际摄像头数量小于需要的数量,补充空白通道 while (visibleCameras.length < count) { visibleCameras.push({ location: `空白通道 ${visibleCameras.length + 1}`, stream: null, deviceId: null, isPlaying: false, error: null, isEmpty: true // 标记为空白通道 }); } return visibleCameras; }, // 获取视频卡片样式(处理合并单元格) getVideoCardStyle(index) { const option = this.layoutOptions.find(opt => opt.id === this.layoutType); if (!option || !option.merge) return {}; for (const merge of option.merge) { const [startRow, startCol, rowSpan, colSpan] = merge; if (index === startRow * option.cols + startCol) { return { 'grid-row': `span ${rowSpan}`, 'grid-column': `span ${colSpan}` }; } } return {}; }, // 跳转到全屏页面 goToFullscreen() { if (this.selectedIndex === -1) return; const selectedCamera = this.cameras[this.selectedIndex]; this.toFullScreen = true; // this.$router.push({ // path: '/singleVideo', // query: { // deviceId: selectedCamera?.deviceId, // channelId: selectedCamera?.channelId // } // }); }, // 切换摄像头 switchCamera(direction) { const validCameras = this.cameras.filter(camera => !camera.isEmpty); if (validCameras.length === 0) return; const currentIndex = validCameras.findIndex(camera => { var _this$cameras$this$se2; return camera.deviceId === ((_this$cameras$this$se2 = this.cameras[this.selectedIndex]) === null || _this$cameras$this$se2 === void 0 ? void 0 : _this$cameras$this$se2.deviceId); }); let newIndex; if (direction === 'next' && currentIndex < validCameras.length - 1) { newIndex = currentIndex + 1; } else if (direction === 'prev' && currentIndex > 0) { newIndex = currentIndex - 1; } else { return; // 如果已经是第一个或最后一个,不进行切换 } // 找到新选中摄像头在原数组中的索引 const originalIndex = this.cameras.findIndex(camera => camera.deviceId === validCameras[newIndex].deviceId); // 重置错误状态和重试计数 if (this.cameras[originalIndex]) { this.cameras[originalIndex].error = null; this.cameras[originalIndex].retryCount = 0; } this.selectedIndex = originalIndex; }, // 检查是否有上一个摄像头 hasPrevCamera() { const validCameras = this.cameras.filter(camera => !camera.isEmpty); const currentIndex = validCameras.findIndex(camera => { var _this$cameras$this$se3; return camera.deviceId === ((_this$cameras$this$se3 = this.cameras[this.selectedIndex]) === null || _this$cameras$this$se3 === void 0 ? void 0 : _this$cameras$this$se3.deviceId); }); return currentIndex > 0; }, // 检查是否有下一个摄像头 hasNextCamera() { const validCameras = this.cameras.filter(camera => !camera.isEmpty); const currentIndex = validCameras.findIndex(camera => { var _this$cameras$this$se4; return camera.deviceId === ((_this$cameras$this$se4 = this.cameras[this.selectedIndex]) === null || _this$cameras$this$se4 === void 0 ? void 0 : _this$cameras$this$se4.deviceId); }); return currentIndex < validCameras.length - 1; }, // 获取当前摄像头序号 getCurrentCameraNumber() { const validCameras = this.cameras.filter(camera => !camera.isEmpty); const currentIndex = validCameras.findIndex(camera => { var _this$cameras$this$se5; return camera.deviceId === ((_this$cameras$this$se5 = this.cameras[this.selectedIndex]) === null || _this$cameras$this$se5 === void 0 ? void 0 : _this$cameras$this$se5.deviceId); }); return currentIndex + 1; }, // 获取有效摄像头总数 getValidCamerasCount() { return this.cameras.filter(camera => !camera.isEmpty).length; }, // 一键静音所有视频 muteAllVideos() { if (!this.$refs.videoPlayer) return; // 遍历所有视频播放器组件 this.$refs.videoPlayer.forEach((player, index) => { if (player && typeof player.setMuted === 'function') { player.setMuted(true); // 更新摄像头状态 if (this.cameras[index]) { this.cameras[index].isMuted = true; } } }); this.$message({ message: '已将所有视频静音', type: 'success', duration: 2000 }); }, // 取消所有视频的静音 unmuteAllVideos() { if (!this.$refs.videoPlayer) return; // 遍历所有视频播放器组件 this.$refs.videoPlayer.forEach((player, index) => { if (player && typeof player.setMuted === 'function') { player.setMuted(false); // 更新摄像头状态 if (this.cameras[index]) { this.cameras[index].isMuted = false; } } }); this.$message({ message: '已取消所有视频的静音', type: 'success', duration: 2000 }); } } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/M3U8Player.vue?vue&type=template&id=0e6fec95&scoped=true": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/M3U8Player.vue?vue&type=template&id=0e6fec95&scoped=true ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "m3u8-player-container" }, [!_vm.supported ? _c("div", { staticClass: "error-message" }, [_vm._v(" 您的浏览器不支持 HLS 直播播放 ")]) : _c("div", { staticClass: "video-player" }, [_c("video", { ref: "videoElement", staticClass: "video-js", attrs: { autoplay: "" }, domProps: { muted: true } }), _vm.error ? _c("div", { staticClass: "error-message" }, [_c("span", [_vm._v(_vm._s(_vm.error))])]) : _vm._e(), _vm.loading ? _c("div", { staticClass: "loading-message" }, [_vm._v("正在加载直播流...")]) : _vm._e(), _c("div", { staticClass: "controls" }, [_c("el-tooltip", { attrs: { content: _vm.isPlaying ? "暂停" : "播放", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: _vm.togglePlay } }, [_c("i", { class: _vm.isPlaying ? "el-icon-video-pause" : "el-icon-video-play" })])], 1), _c("div", { staticClass: "volume-control", on: { mouseenter: function ($event) { _vm.volumeSliderVisible = true; }, mouseleave: function ($event) { _vm.volumeSliderVisible = false; } } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: _vm.toggleMute } }, [_c("svg-icon", { staticClass: "info-icon", attrs: { name: _vm.volumeIcon } })], 1), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.volumeSliderVisible, expression: "volumeSliderVisible" }], staticClass: "volume-slider-container" }, [_c("el-slider", { attrs: { min: 0, max: 100, step: 1, vertical: "", height: "80px" }, on: { input: _vm.handleVolumeChange }, model: { value: _vm.volume, callback: function ($$v) { _vm.volume = $$v; }, expression: "volume" } })], 1)], 1), _c("el-tooltip", { attrs: { content: "设备信息", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: _vm.showDeviceInfo } }, [_c("i", { staticClass: "el-icon-info" })])], 1), _c("el-tooltip", { attrs: { content: "云台操作", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: _vm.togglePtz } }, [_c("i", { staticClass: "el-icon-help" })])], 1), _c("el-tooltip", { attrs: { content: "旋转画面", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: _vm.rotateVideo } }, [_c("i", { staticClass: "el-icon-refresh" })])], 1), _c("el-tooltip", { attrs: { content: "截图", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: _vm.takeSnapshot } }, [_c("i", { staticClass: "el-icon-camera" })])], 1), _c("el-tooltip", { attrs: { content: _vm.isRecording ? "结束录制" : "开始录制", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "", type: _vm.isRecording ? "primary" : "" }, on: { click: _vm.toggleRecording } }, [_c("i", { staticClass: "el-icon-video-camera" })])], 1), _c("el-tooltip", { attrs: { content: _vm.isTalking ? "结束喊话" : "喊话", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "", type: _vm.isTalking ? "primary" : "" }, on: { click: _vm.startTalk } }, [_c("i", { staticClass: "el-icon-microphone" })])], 1), _c("el-tooltip", { attrs: { content: "全屏", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: _vm.fullscreen } }, [_c("i", { staticClass: "el-icon-full-screen" })])], 1)], 1), _c("div", { staticClass: "record-controls" }, [_vm.isRecording ? _c("div", { staticClass: "record-status" }, [_c("span", { staticClass: "record-indicator" }), _vm._v(" 正在录制... " + _vm._s(_vm.formatRecordingTime) + " ")]) : _vm._e()]), _c("el-dialog", { attrs: { title: "设备信息", visible: _vm.deviceInfoVisible, width: "300px", modal: false, "append-to-body": true, "custom-class": "device-info-dialog" }, on: { "update:visible": function ($event) { _vm.deviceInfoVisible = $event; } } }, [_c("div", { staticClass: "device-info" }, [_c("p", [_c("strong", [_vm._v("设备ID:")]), _vm._v(_vm._s(_vm.deviceInfo.deviceId || "-"))]), _c("p", [_c("strong", [_vm._v("设备名称:")]), _vm._v(_vm._s(_vm.deviceInfo.deviceName || "-"))]), _c("p", [_c("strong", [_vm._v("设备类型:")]), _vm._v(_vm._s(_vm.deviceInfo.deviceType || "-"))]), _c("p", [_c("strong", [_vm._v("在线状态:")]), _vm._v(_vm._s(_vm.deviceInfo.online ? "在线" : "离线"))]), _c("p", [_c("strong", [_vm._v("分辨率:")]), _vm._v(_vm._s(_vm.deviceInfo.resolution || "-"))]), _c("p", [_c("strong", [_vm._v("码率:")]), _vm._v(_vm._s(_vm.deviceInfo.bitrate || "-"))])])])], 1)]); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/PtzController.vue?vue&type=template&id=5a1d4797&scoped=true": /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/PtzController.vue?vue&type=template&id=5a1d4797&scoped=true ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "ptz-controls", class: { show: _vm.isPtzControlVisible } }, [_c("div", { staticClass: "control-title" }, [_vm._v("云台控制")]), _c("div", { staticClass: "ptz-buttons" }, [_c("el-button", { staticClass: "ptz-up", on: { click: function ($event) { return _vm.controlPTZ("UP"); } } }, [_c("i", { staticClass: "el-icon-arrow-up" })]), _c("div", { staticClass: "ptz-middle" }, [_c("el-button", { staticClass: "ptz-left", on: { click: function ($event) { return _vm.controlPTZ("LEFT"); } } }, [_c("i", { staticClass: "el-icon-arrow-left" })]), _c("el-button", { staticClass: "ptz-stop", on: { click: function ($event) { return _vm.controlPTZ("STOP"); } } }, [_c("i", { staticClass: "el-icon-video-pause" })]), _c("el-button", { staticClass: "ptz-right", on: { click: function ($event) { return _vm.controlPTZ("RIGHT"); } } }, [_c("i", { staticClass: "el-icon-arrow-right" })])], 1), _c("el-button", { staticClass: "ptz-down", on: { click: function ($event) { return _vm.controlPTZ("DOWN"); } } }, [_c("i", { staticClass: "el-icon-arrow-down" })])], 1), _c("div", { staticClass: "speed-control" }, [_c("span", [_vm._v("速度: " + _vm._s(_vm.ptzSpeed))]), _c("el-slider", { attrs: { min: 1, max: 7, step: 1, "show-tooltip": false }, model: { value: _vm.ptzSpeed, callback: function ($$v) { _vm.ptzSpeed = $$v; }, expression: "ptzSpeed" } })], 1)]); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/SingleScreen.vue?vue&type=template&id=303da202&scoped=true": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/SingleScreen.vue?vue&type=template&id=303da202&scoped=true ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "app" }, [_c("div", { staticClass: "main-content" }, [_c("div", { staticClass: "video-container" }, [_c("button", { staticClass: "back-button", on: { click: _vm.goback } }, [_c("i", { staticClass: "fas fa-arrow-left" }), _vm._v(" 返回多画面 ")]), _vm.isLoading ? _c("div", { staticClass: "loading-overlay" }, [_c("div", { staticClass: "loading-spinner" }), _c("p", [_vm._v("正在加载视频流...")])]) : _vm._e(), _vm.stream.error ? _c("div", { staticClass: "error-overlay" }, [_c("i", { staticClass: "fas fa-exclamation-triangle" }), _c("p", [_vm._v(_vm._s(_vm.stream.error))]), _c("button", { staticClass: "retry-button", on: { click: function ($event) { return _vm.created(); } } }, [_vm._v("重试")])]) : _vm._e(), _c("div", { staticClass: "video-wrapper" }, [_c("M3U8Player", { ref: "m3u8Player", attrs: { url: _vm.stream.url, deviceId: _vm.stream.deviceId, deviceName: _vm.stream.deviceName, deviceType: _vm.stream.deviceType, hasAudio: true }, on: { toggleControlPanel: _vm.toggleControlPanel } })], 1)]), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showControlPanel, expression: "showControlPanel" }], staticClass: "control-panel" }, [_c("div", { staticClass: "control-section" }, [_c("div", { staticClass: "ptz-control" }, [_c("h3", [_vm._v("云台控制")]), _c("div", { staticClass: "direction-circle" }, [_c("div", { staticClass: "direction-btn btn-up", on: { click: function ($event) { return _vm.controlPTZ("UP"); } } }, [_c("i", { staticClass: "el-icon-caret-top" })]), _c("div", { staticClass: "direction-btn btn-right", on: { click: function ($event) { return _vm.controlPTZ("RIGHT"); } } }, [_c("i", { staticClass: "el-icon-caret-right" })]), _c("div", { staticClass: "direction-btn btn-down", on: { click: function ($event) { return _vm.controlPTZ("DOWN"); } } }, [_c("i", { staticClass: "el-icon-caret-bottom" })]), _c("div", { staticClass: "direction-btn btn-left", on: { click: function ($event) { return _vm.controlPTZ("LEFT"); } } }, [_c("i", { staticClass: "el-icon-caret-left" })]), _c("div", { staticClass: "direction-btn btn-stop", on: { click: function ($event) { return _vm.controlPTZ("STOP"); } } }, [_c("svg-icon", { staticClass: "info-icon", attrs: { name: "stop" } })], 1)]), _c("div", { staticClass: "zoom-buttons" }, [_c("div", { staticClass: "zoom-btn", attrs: { title: "聚焦" }, on: { click: function ($event) { return _vm.controlPTZ("FOCUS_NEAR"); } } }, [_c("svg-icon", { staticClass: "info-icon", attrs: { name: "聚焦" } })], 1), _c("div", { staticStyle: { display: "flex", gap: "12px" } }, [_c("div", { staticClass: "zoom-btn", attrs: { title: "放大" }, on: { click: function ($event) { return _vm.controlPTZ("IN"); } } }, [_c("svg-icon", { staticClass: "info-icon", attrs: { name: "放大" } })], 1), _c("div", { staticClass: "zoom-btn", attrs: { title: "缩小" }, on: { click: function ($event) { return _vm.controlPTZ("OUT"); } } }, [_c("svg-icon", { staticClass: "info-icon", attrs: { name: "缩小" } })], 1)])])]), _c("div", { staticClass: "preset-control" }, [_c("div", { staticClass: "preset-header" }, [_c("h3", [_vm._v("预设点位")]), _c("el-button", { staticClass: "btn-add", attrs: { type: "primary", size: "mini" }, on: { click: function ($event) { _vm.showAddPresetVisible = true; } } }, [_vm._v(" 添加预设点 ")])], 1), _c("div", { staticClass: "preset-table-wrapper" }, [_c("table", { staticClass: "preset-table" }, [_vm._m(0), _c("tbody", [_vm.presets && _vm.presets.length > 0 ? _vm._l(_vm.presets, function (preset, index) { return _c("tr", { key: index }, [_c("td", { staticClass: "text-center" }, [_vm._v(_vm._s(index + 1))]), _c("td", [_vm._v(_vm._s(preset.name))]), _c("td", [_c("div", { staticClass: "preset-actions" }, [_c("el-button", { attrs: { type: "text" }, on: { click: function ($event) { return _vm.deletePreset(preset); } } }, [_vm._v(" 删除 ")])], 1)])]); }) : [_vm._m(1)]], 2)]), _vm.presets && _vm.presets.length > 5 ? _c("div", { staticClass: "pagination-container" }, [_vm._m(2)]) : _vm._e()])])])])]), _c("el-dialog", { attrs: { title: "提示", visible: _vm.showAddPresetVisible, width: "30%", center: "" }, on: { "update:visible": function ($event) { _vm.showAddPresetVisible = $event; } } }, [_c("span", [_vm._v("确认将当前镜头视角添加为预置点吗?添加成功后,可在 [ 预置点 ] 中查看及调用")]), _c("span", { staticClass: "dialog-footer", attrs: { slot: "footer" }, slot: "footer" }, [_c("el-button", { on: { click: function ($event) { _vm.showAddPresetVisible = false; } } }, [_vm._v("取 消")]), _c("el-button", { attrs: { type: "primary" }, on: { click: _vm.handleAddPreset } }, [_vm._v("确 定")])], 1)])], 1); }; var staticRenderFns = [function () { var _vm = this, _c = _vm._self._c; return _c("thead", [_c("tr", [_c("th", { staticClass: "w-16" }, [_vm._v("序号")]), _c("th", [_vm._v("预设点名称")]), _c("th", { staticClass: "w-32 text-center" }, [_vm._v("操作")])])]); }, function () { var _vm = this, _c = _vm._self._c; return _c("tr", [_c("td", { staticClass: "empty-state", attrs: { colspan: "3" } }, [_c("div", { staticClass: "empty-content" }, [_c("i", { staticClass: "fas fa-map-marker-alt empty-icon" }), _c("p", [_vm._v("暂无预设点位")])])])]); }, function () { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "pagination" }, [_c("button", { staticClass: "pagination-btn", attrs: { disabled: "" } }, [_c("i", { staticClass: "fas fa-chevron-left" })]), _c("button", { staticClass: "pagination-btn active" }, [_vm._v("1")]), _c("button", { staticClass: "pagination-btn" }, [_vm._v("2")]), _c("button", { staticClass: "pagination-btn" }, [_c("i", { staticClass: "fas fa-chevron-right" })])]); }]; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/VideoControls.vue?vue&type=template&id=636d0594&scoped=true": /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/VideoControls.vue?vue&type=template&id=636d0594&scoped=true ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "controls" }, [_c("el-tooltip", { attrs: { content: "播放/暂停", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: function ($event) { return _vm.$emit("toggle-play"); } } }, [_c("i", { class: _vm.isPlaying ? "el-icon-video-pause" : "el-icon-video-play" })])], 1), _c("el-tooltip", { attrs: { content: "设备信息", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: function ($event) { return _vm.$emit("show-device-info"); } } }, [_c("i", { staticClass: "el-icon-info" }), _c("el-icon", [_c("VideoCamera")], 1)], 1)], 1), _c("el-tooltip", { attrs: { content: "云台操作", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: function ($event) { return _vm.$emit("toggle-ptz"); } } }, [_c("i", { staticClass: "el-icon-help" })])], 1), _c("el-tooltip", { attrs: { content: "旋转画面", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: function ($event) { return _vm.$emit("rotate-video"); } } }, [_c("i", { staticClass: "el-icon-refresh" })])], 1), _c("el-tooltip", { attrs: { content: "截图", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: function ($event) { return _vm.$emit("take-snapshot"); } } }, [_c("i", { staticClass: "el-icon-camera" })])], 1), _c("el-tooltip", { attrs: { content: _vm.isRecording ? "结束录制" : "开始录制", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "", type: _vm.isRecording ? "primary" : "" }, on: { click: function ($event) { return _vm.$emit("toggle-recording"); } } }, [_c("i", { staticClass: "el-icon-video-camera" })])], 1), _c("el-tooltip", { attrs: { content: _vm.isTalking ? "结束喊话" : "喊话", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "", type: _vm.isTalking ? "primary" : "" }, on: { click: function ($event) { return _vm.$emit("toggle-talk"); } } }, [_c("i", { staticClass: "el-icon-microphone" })])], 1), _c("el-tooltip", { attrs: { content: "全屏", placement: "top", "open-delay": 500 } }, [_c("el-button", { staticClass: "control-btn", attrs: { circle: "" }, on: { click: function ($event) { return _vm.$emit("fullscreen"); } } }, [_c("i", { staticClass: "el-icon-full-screen" })])], 1)], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/parentView/index.vue?vue&type=template&id=8f3f477c&scoped=true": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/parentView/index.vue?vue&type=template&id=8f3f477c&scoped=true ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "parent-view" }, [_c("div", { staticClass: "left-menu" }, _vm._l(_vm.menuList, function (menu, index) { return _c("div", { key: "menu-" + index, staticClass: "menu-list-item", class: [_vm.routeActive(menu) ? "menu-list-item-active" : ""], on: { click: function ($event) { return _vm.routeToPath(menu); } } }, [_c("span", [_vm._v(_vm._s(menu.meta.title))])]); }), 0), _c("div", { staticClass: "page-container" }, [_c("router-view")], 1)]); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/bigScreen/index.vue?vue&type=template&id=7723afe5&scoped=true": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/bigScreen/index.vue?vue&type=template&id=7723afe5&scoped=true ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("iframe", { staticStyle: { width: "100%", height: "100%" }, attrs: { src: _vm.src, frameborder: "0" } }); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/business/index.vue?vue&type=template&id=17c14e46&scoped=true": /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/business/index.vue?vue&type=template&id=17c14e46&scoped=true ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("iframe", { staticStyle: { width: "100%", height: "100%" }, attrs: { src: _vm.businessSrc, frameborder: "0" } }); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/personCardList.vue?vue&type=template&id=43777bca&scoped=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/personCardList.vue?vue&type=template&id=43777bca&scoped=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "./node_modules/core-js/modules/esnext.iterator.filter.js"); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "person-card-list" }, [_c("div", { staticClass: "query" }, [_c("el-form", { staticClass: "query-form", attrs: { inline: true, model: _vm.queryForm } }, [_c("el-form-item", { attrs: { label: "驻勤点名称" } }, [_c("el-input", { staticStyle: { width: "240px" }, attrs: { placeholder: "请输入驻勤点名称" }, model: { value: _vm.queryForm.stationName, callback: function ($$v) { _vm.$set(_vm.queryForm, "stationName", $$v); }, expression: "queryForm.stationName" } })], 1), _c("el-form-item", { attrs: { label: "点名时间" } }, [_c("el-input", { staticStyle: { width: "300px" }, model: { value: _vm.queryForm.rollTime, callback: function ($$v) { _vm.$set(_vm.queryForm, "rollTime", $$v); }, expression: "queryForm.rollTime" } })], 1), _c("el-form-item", { attrs: { label: "点名发起人" } }, [_c("el-input", { staticStyle: { width: "200px" }, model: { value: _vm.queryForm.rollInitiator, callback: function ($$v) { _vm.$set(_vm.queryForm, "rollInitiator", $$v); }, expression: "queryForm.rollInitiator" } })], 1), _c("el-form-item", [_c("el-button", { attrs: { type: "primary" }, on: { click: _vm.rollCall } }, [_vm._v("督导点名")]), _c("el-button", { attrs: { type: "primary", plain: "" }, on: { click: _vm.back } }, [_vm._v("返回")])], 1), _c("el-form-item", { attrs: { label: "点名结果" } }, [_c("el-checkbox-group", { on: { change: _vm.handleCheckedRollCallChange }, model: { value: _vm.queryForm.callStatuses, callback: function ($$v) { _vm.$set(_vm.queryForm, "callStatuses", $$v); }, expression: "queryForm.callStatuses" } }, [_c("el-checkbox", { attrs: { label: "RollCallSuccess" } }, [_vm._v("点名成功")]), _c("el-checkbox", { attrs: { label: "RollCallFailed" } }, [_vm._v("点名失败")]), _c("el-checkbox", { attrs: { label: "DispatchSuccess" } }, [_vm._v("督导点名成功")]), _c("el-checkbox", { attrs: { label: "DispatchFailed" } }, [_vm._v("督导点名失败")])], 1)], 1)], 1)], 1), _c("el-main", { directives: [{ name: "infinite-scroll", rawName: "v-infinite-scroll", value: _vm.load, expression: "load" }], ref: "container", staticClass: "list-container", attrs: { "infinite-scroll-disabled": "disabled", "infinite-scroll-distance": "10" } }, [_vm._l(_vm.rollCallEmployees, function (item, index) { return _c("div", { key: item.rollCallId + index, staticClass: "card", class: [item === 3 || item === 4 ? "card-mask" : ""] }, [_c("div", { staticClass: "card-employeeName" }, [_vm._v(_vm._s(item.calledEmployeeName))]), item.callStatusLabel.includes("失败") ? _c("el-checkbox", { key: item.calledEmployeeId, staticClass: "card-checkbox", attrs: { disabled: !item.active && _vm.rollCallEmployees.filter(x => x.active).length >= 5 }, on: { change: _vm.handleCheckedEmployeesChange }, model: { value: item.active, callback: function ($$v) { _vm.$set(item, "active", $$v); }, expression: "item.active" } }) : _vm._e(), _c("div", { class: item.callStatusLabel.includes("失败") ? "card-circle circle-failed" : "card-circle circle-success" }, [_vm._v(" " + _vm._s(item.calledEmployeeName.slice(-2)) + " ")]), _c("div", { class: item.callStatusLabel.includes("失败") ? "card-statusLabel label-failed" : "card-statusLabel lable-success" }, [_vm._v(" " + _vm._s(item.callStatusLabel) + " ")])], 1); }), _vm.loading ? _c("p", { staticClass: "bottom-tips" }, [_vm._v("加载中...")]) : _vm._e(), _vm.noMore ? _c("p", { staticClass: "bottom-tips" }, [_vm._v("没有更多了")]) : _vm._e()], 2), _c("el-dialog", { attrs: { "custom-class": "dialog-roll-call", title: "督导点名", visible: _vm.dialogVisible, width: "23.333333%" }, on: { "update:visible": function ($event) { _vm.dialogVisible = $event; } } }, [_c("div", { staticClass: "btn-dispatch btn-dispatch-audio", class: [_vm.callType === "audio" ? "btn-dispatch-active" : ""], on: { click: function ($event) { return _vm.dispatch("audio"); } } }, [_c("i", { staticClass: "btn-dispatch-audio-img" }), _c("span", [_vm._v("音频调度")])]), _c("div", { staticClass: "btn-dispatch btn-dispatch-video", class: [_vm.callType === "video" ? "btn-dispatch-active" : ""], on: { click: function ($event) { return _vm.dispatch("video"); } } }, [_c("i", { staticClass: "btn-dispatch-video-img" }), _c("span", [_vm._v("视频调度")])])]), _c("call-layer", { ref: "callLayer", attrs: { "member-list": _vm.memberList, type: _vm.callType, "yardman-type": _vm.yardmanType, audio: _vm.stream.audio, video: _vm.stream.video, "roll-call": "", "roll-call-id": _vm.rollCallId }, on: { "update:memberList": function ($event) { _vm.memberList = $event; }, "update:member-list": function ($event) { _vm.memberList = $event; } } })], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/planList.vue?vue&type=template&id=4f8cbd82&scoped=true": /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/planList.vue?vue&type=template&id=4f8cbd82&scoped=true ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "./node_modules/core-js/modules/esnext.iterator.filter.js"); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.set.difference.v2.js */ "./node_modules/core-js/modules/esnext.set.difference.v2.js"); /* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.set.intersection.v2.js */ "./node_modules/core-js/modules/esnext.set.intersection.v2.js"); /* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.set.is-disjoint-from.v2.js */ "./node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.set.is-subset-of.v2.js */ "./node_modules/core-js/modules/esnext.set.is-subset-of.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.set.is-superset-of.v2.js */ "./node_modules/core-js/modules/esnext.set.is-superset-of.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/esnext.set.symmetric-difference.v2.js */ "./node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js"); /* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/esnext.set.union.v2.js */ "./node_modules/core-js/modules/esnext.set.union.v2.js"); /* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9__); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "plan-list" }, [_c("div", { staticClass: "query" }, [_c("div", { staticClass: "tools" }, [_c("el-button", { attrs: { type: "primary" }, on: { click: _vm.creatPlanInit } }, [_vm._v("新建")]), _c("el-button", { attrs: { type: "danger", plain: "" }, on: { click: _vm.deletePlan } }, [_vm._v("删除")])], 1), _c("el-form", { staticClass: "query-form", attrs: { inline: true, model: _vm.queryForm } }, [_c("el-form-item", { attrs: { label: "计划名称" } }, [_c("el-input", { staticStyle: { width: "200px" }, attrs: { placeholder: "请输入名称" }, model: { value: _vm.queryForm.name, callback: function ($$v) { _vm.$set(_vm.queryForm, "name", $$v); }, expression: "queryForm.name" } })], 1), this.isSupervision ? _c("el-form-item", { attrs: { label: "辖区" } }, [_c("tree-select", { staticClass: "tree-select", attrs: { options: _vm.departs, placeholder: "请选择", normalizer: _vm.normalizer, noOptionsText: "无数据", noResultsText: "无数据" }, on: { select: _vm.onSelectDepart }, model: { value: _vm.queryForm.depart, callback: function ($$v) { _vm.$set(_vm.queryForm, "depart", $$v); }, expression: "queryForm.depart" } })], 1) : _vm._e(), _c("el-form-item", { attrs: { label: "驻勤点类型" } }, [_c("el-select", { attrs: { clearable: "", placeholder: "请选择" }, model: { value: _vm.queryForm.stationType, callback: function ($$v) { _vm.$set(_vm.queryForm, "stationType", $$v); }, expression: "queryForm.stationType" } }, _vm._l(_vm.stationTypes, function (item) { return _c("el-option", { key: item.code, attrs: { label: item.name, value: item.code } }); }), 1)], 1), _c("el-form-item", [_c("el-button", { attrs: { type: "primary" }, on: { click: _vm.queryPlan } }, [_vm._v("查询")]), _c("el-button", { attrs: { type: "primary", plain: "" }, on: { click: _vm.back } }, [_vm._v("返回")])], 1)], 1)], 1), _c("el-table", { ref: "table", staticStyle: { width: "100%" }, attrs: { data: _vm.tableList, border: "", stripe: "", "tooltip-effect": "dark" }, on: { "selection-change": _vm.handlePlanSelectionChange } }, [_c("el-table-column", { attrs: { align: "center", type: "selection", width: "60" } }), _c("el-table-column", { attrs: { align: "left", type: "index", width: "60", label: "序号" } }), _c("el-table-column", { attrs: { align: "left", label: "计划名称", "min-width": "200", prop: "name", "show-overflow-tooltip": "" } }), this.isSupervision ? _c("el-table-column", { attrs: { align: "left", label: "辖区", "min-width": "280", prop: "superviseDepartName", "show-overflow-tooltip": "" } }) : _vm._e(), _c("el-table-column", { attrs: { align: "left", label: "驻勤点类型", "min-width": "300", prop: "stationTypes", "show-overflow-tooltip": "" }, scopedSlots: _vm._u([{ key: "default", fn: function (scope) { return [_c("span", [_vm._v(_vm._s(_vm.stationTypes.filter(item => new Set(scope.row.stationTypes).has(item.code)).map(item => item.name).join(",")))])]; } }]) }), _c("el-table-column", { attrs: { align: "left", label: "时间范围", "min-width": "240", "show-overflow-tooltip": "" }, scopedSlots: _vm._u([{ key: "default", fn: function (scope) { return [_c("span", [_vm._v(_vm._s(scope.row.beginTime) + "~" + _vm._s(scope.row.endTime))])]; } }]) }), _c("el-table-column", { attrs: { align: "left", label: "点名数据", "min-width": "102", prop: "countOfInstances", "show-overflow-tooltip": "" }, scopedSlots: _vm._u([{ key: "default", fn: function (scope) { return [_c("span", { staticStyle: { cursor: "pointer", color: "#0e70ff" }, on: { click: function ($event) { return _vm.querRollCallEmployees(scope.row); } } }, [_vm._v(_vm._s(scope.row.countOfInstances))])]; } }]) }), _c("el-table-column", { attrs: { align: "center", fixed: "right", label: "操作", width: "157" }, scopedSlots: _vm._u([{ key: "default", fn: function (scope) { return [_c("div", { staticClass: "table-btn" }, [_vm.currentDate < scope.row.beginTime ? _c("el-button", { attrs: { type: "text" }, on: { click: function ($event) { return _vm.showOrUpdateRow(scope.row, "update"); } } }, [_vm._v(" 编辑 ")]) : _c("el-button", { attrs: { type: "text" }, on: { click: function ($event) { return _vm.showOrUpdateRow(scope.row, "show"); } } }, [_vm._v(" 查看 ")])], 1)]; } }]) })], 1), _c("el-pagination", { staticClass: "pagination", attrs: { "current-page": _vm.queryForm.pageIndex, "page-size": _vm.queryForm.pageSize, "page-sizes": [10, 20, 30, 50], total: _vm.total, layout: "total, prev, pager, next, jumper" }, on: { "size-change": _vm.listSizeChange, "current-change": _vm.listCurrentChange } }), _c("el-dialog", { attrs: { title: "计划详情", visible: _vm.dialogVisible, "custom-class": "plan-dialog", width: "527px" }, on: { "update:visible": function ($event) { _vm.dialogVisible = $event; } } }, [_c("el-form", { staticClass: "plan-form", attrs: { model: _vm.planForm, "label-width": "90px" } }, [_c("el-form-item", { attrs: { label: "计划名称", prop: "planName" } }, [_c("el-input", { staticStyle: { width: "350px" }, model: { value: _vm.planForm.planName, callback: function ($$v) { _vm.$set(_vm.planForm, "planName", $$v); }, expression: "planForm.planName" } })], 1), _c("el-form-item", { attrs: { label: "点名日期" } }, [_c("el-date-picker", { staticStyle: { width: "350px" }, attrs: { type: "daterange", "range-separator": "至", "start-placeholder": "开始日期", "end-placeholder": "结束日期", "value-format": "yyyy-MM-dd", size: "small" }, model: { value: _vm.planForm.planDate, callback: function ($$v) { _vm.$set(_vm.planForm, "planDate", $$v); }, expression: "planForm.planDate" } })], 1), _c("el-form-item", { attrs: { label: "重复规则" } }, [_c("el-select", { staticStyle: { width: "350px" }, attrs: { placeholder: "请选择", multiple: "" }, model: { value: _vm.planForm.repeatRule, callback: function ($$v) { _vm.$set(_vm.planForm, "repeatRule", $$v); }, expression: "planForm.repeatRule" } }, [_c("el-option", { attrs: { label: "周一", value: "Monday" } }), _c("el-option", { attrs: { label: "周二", value: "Tuesday" } }), _c("el-option", { attrs: { label: "周三", value: "Wednesday" } }), _c("el-option", { attrs: { label: "周四", value: "Thursday" } }), _c("el-option", { attrs: { label: "周五", value: "Friday" } }), _c("el-option", { attrs: { label: "周六", value: "Saturday" } }), _c("el-option", { attrs: { label: "周天", value: "Sunday" } })], 1)], 1), _c("el-form-item", { attrs: { label: "辖区" } }, [_c("tree-select", { staticClass: "tree-select", staticStyle: { width: "350px" }, attrs: { options: _vm.departs, placeholder: "请选择", normalizer: _vm.normalizer, noOptionsText: "无数据", noResultsText: "无数据" }, on: { select: _vm.onSelectPlanDepart }, model: { value: _vm.planForm.depart, callback: function ($$v) { _vm.$set(_vm.planForm, "depart", $$v); }, expression: "planForm.depart" } })], 1), _c("el-form-item", { attrs: { label: "驻勤点类型" } }, [_c("el-select", { staticStyle: { width: "350px" }, attrs: { placeholder: "请选择", clearable: "", multiple: "" }, model: { value: _vm.planForm.stationType, callback: function ($$v) { _vm.$set(_vm.planForm, "stationType", $$v); }, expression: "planForm.stationType" } }, _vm._l(_vm.stationTypes, function (item) { return _c("el-option", { key: item.code, attrs: { label: item.name, value: item.code } }); }), 1)], 1)], 1), _c("div", { staticClass: "tools" }, [this.dialogType !== "show" ? _c("el-button", { attrs: { type: "primary", size: "small" }, on: { click: _vm.insertPlanTime } }, [_vm._v("新建")]) : _vm._e(), this.dialogType !== "show" ? _c("el-button", { attrs: { type: "danger", size: "small", plain: "" }, on: { click: _vm.delPlanTime } }, [_vm._v("删除")]) : _vm._e()], 1), _c("el-table", { ref: "table", staticStyle: { width: "440px" }, attrs: { data: _vm.planTableList, border: "", stripe: "", "tooltip-effect": "dark", "max-height": "150" }, on: { "selection-change": _vm.handleSelectionChange } }, [_c("el-table-column", { attrs: { align: "center", type: "selection", width: "60" } }), _c("el-table-column", { attrs: { type: "index", align: "center", width: "60", label: "序号" } }), _c("el-table-column", { attrs: { align: "center", label: "点名时间", "min-width": "102", prop: "planTime", "show-overflow-tooltip": "" }, scopedSlots: _vm._u([{ key: "default", fn: function ({ row }) { return [_c("el-time-picker", { attrs: { format: "HH:mm", "value-format": "HH:mm", placeholder: "选择时间" }, model: { value: row.planTime, callback: function ($$v) { _vm.$set(row, "planTime", $$v); }, expression: "row.planTime" } })]; } }]) })], 1), _c("div", { staticClass: "footer" }, [this.dialogType !== "show" ? _c("el-button", { attrs: { type: "primary", size: "small" }, on: { click: _vm.savePlan } }, [_vm._v("保存")]) : _vm._e()], 1)], 1), _c("el-dialog", { attrs: { title: "点名数据", visible: _vm.rollcallEmployeesDialogVisible, width: "900px" }, on: { "update:visible": function ($event) { _vm.rollcallEmployeesDialogVisible = $event; } } }, [_c("el-table", { ref: "table", staticStyle: { width: "100%" }, attrs: { data: _vm.peopletableList, border: "", stripe: "", "tooltip-effect": "dark" } }, [_c("el-table-column", { attrs: { align: "center", type: "selection", width: "60" } }), _c("el-table-column", { attrs: { align: "left", type: "index", width: "60", label: "序号" } }), _c("el-table-column", { attrs: { align: "left", label: "驻勤点名称", "min-width": "200", prop: "stationName", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "辖区", "min-width": "280", prop: "superviseDepartName", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "点名时间", "min-width": "200", prop: "createdTime", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "点名总人数", "min-width": "102", prop: "countOfMembers", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "成功人数", "min-width": "102", prop: "countOfSuccess", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "失败人数", "min-width": "102", prop: "countOfFailed", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "点名发起人", "min-width": "102", prop: "actionEmployeeName", "show-overflow-tooltip": "" } })], 1)], 1)], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/stationCardList.vue?vue&type=template&id=4c72880c&scoped=true": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/stationCardList.vue?vue&type=template&id=4c72880c&scoped=true ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "station-card-list" }, [_c("div", { staticClass: "plan" }, [false ? undefined : _vm._e()], 1), _c("div", { staticClass: "list-container" }, _vm._l(_vm.stationTypeList, function (item) { return _c("div", { key: item.code, staticClass: "card", class: [item.type === 3 || item.type === 4 ? "card-mask" : ""] }, [item.type === 3 ? _c("div", { staticClass: "card-calling" }, [_c("div", { staticClass: "card-calling-icon" }), _c("div", { staticClass: "card-calling-text card-calling-text-progress" }, [_vm._v("点名中...")])]) : _vm._e(), item.type === 4 ? _c("div", { staticClass: "card-calling" }, [_c("div", { staticClass: "card-calling-success" }), _c("div", { staticClass: "card-calling-text card-calling-text-success" }, [_vm._v("点名完成")])]) : _vm._e(), _c("div", { staticClass: "card-top" }, [_c("img", { staticClass: "type-icon", attrs: { src: _vm.bindIcon(item), alt: "" } }), _c("div", { staticClass: "type-name" }, [_vm._v(_vm._s(item.name))]), _c("div", { staticClass: "type-button" }, [_c("el-button", { attrs: { type: "primary", plain: "", size: "mini" }, on: { click: function ($event) { $event.stopPropagation(); return _vm.toStationRollCallList(item); } } }, [_vm._v("查看记录")])], 1)]), _c("div", { staticClass: "card-num" }, [_c("div", { staticClass: "card-num-sub", staticStyle: { "border-right": "1px solid #cfe2ff", opacity: "1" } }, [_c("span", { staticClass: "card-num-sum" }, [_vm._v(_vm._s(item.countOfStations))]), _c("span", { staticClass: "card-num-text" }, [_vm._v("个")])]), _c("div", { staticClass: "card-num-sub" }, [_c("span", { staticClass: "card-num-sum" }, [_vm._v(_vm._s(item.countOfSecurityMen))]), _c("span", { staticClass: "card-num-text" }, [_vm._v("人")])]), _vm._m(0, true), _vm._m(1, true)]), _c("div", { staticClass: "card-btn" }, [_c("el-button", { staticClass: "btn-roll-card-select", attrs: { type: "primary", plain: "" }, on: { click: function ($event) { $event.stopPropagation(); return _vm.selectStation(item.code); } } }, [_vm._v("选择")]), _c("el-button", { staticClass: "btn-roll-card-roll", attrs: { type: "primary" }, on: { click: function ($event) { $event.stopPropagation(); return _vm.stationRollCalls(item.code); } } }, [_vm._v("点名")])], 1)]); }), 0), _c("el-dialog", { attrs: { title: "选择驻勤点", visible: _vm.dialogVisible, width: "1361px" }, on: { "update:visible": function ($event) { _vm.dialogVisible = $event; } } }, [_c("el-form", { attrs: { inline: true, model: _vm.queryForm, "label-width": "125px" } }, [_c("el-form-item", { attrs: { label: "驻勤点名称" } }, [_c("el-input", { staticStyle: { width: "200px" }, nativeOn: { keydown: function ($event) { if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null; return _vm.searchStations.apply(null, arguments); } }, model: { value: _vm.queryForm.stationName, callback: function ($$v) { _vm.$set(_vm.queryForm, "stationName", $$v); }, expression: "queryForm.stationName" } })], 1), _vm.isSupervision ? _c("el-form-item", { attrs: { label: "保安服务公司名称" } }, [_c("el-input", { staticStyle: { width: "200px" }, nativeOn: { keydown: function ($event) { if (!$event.type.indexOf("key") && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null; return _vm.searchStations.apply(null, arguments); } }, model: { value: _vm.queryForm.companyName, callback: function ($$v) { _vm.$set(_vm.queryForm, "companyName", $$v); }, expression: "queryForm.companyName" } })], 1) : _vm._e(), _vm.isSupervision ? _c("el-form-item", { attrs: { label: "辖区" } }, [_c("tree-select", { staticClass: "tree-select", attrs: { options: _vm.departs, placeholder: "请选择", normalizer: _vm.normalizer, noOptionsText: "无数据", noResultsText: "无数据" }, on: { select: _vm.onSelectDepart }, model: { value: _vm.queryForm.depart, callback: function ($$v) { _vm.$set(_vm.queryForm, "depart", $$v); }, expression: "queryForm.depart" } })], 1) : _vm._e(), _c("el-form-item", { staticClass: "transfer-div" }, [_c("el-transfer", { staticClass: "transfer", attrs: { props: { key: "id", label: "name" }, titles: ["全部", "已选"], data: _vm.stationList, "render-content": _vm.renderFunc }, on: { change: _vm.handleChange }, model: { value: _vm.yesData, callback: function ($$v) { _vm.yesData = $$v; }, expression: "yesData" } })], 1), _c("div", { staticClass: "footer" }, [_c("el-button", { attrs: { type: "primary" }, on: { click: _vm.confirmStation } }, [_vm._v("确认")]), _c("el-button", { attrs: { type: "primary", plain: "" }, on: { click: _vm.clossDialog } }, [_vm._v("关闭")])], 1)], 1)], 1)], 1); }; var staticRenderFns = [function () { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "card-num-sub", staticStyle: { "border-right": "1px solid #cfe2ff", opacity: "1" } }, [_c("span", { staticClass: "card-num-text" }, [_vm._v("总数")])]); }, function () { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "card-num-sub" }, [_c("span", { staticClass: "card-num-text" }, [_vm._v("总人数")])]); }]; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/stationRollCallList.vue?vue&type=template&id=67ce2465&scoped=true": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/stationRollCallList.vue?vue&type=template&id=67ce2465&scoped=true ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "./node_modules/core-js/modules/esnext.iterator.filter.js"); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.set.difference.v2.js */ "./node_modules/core-js/modules/esnext.set.difference.v2.js"); /* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.set.intersection.v2.js */ "./node_modules/core-js/modules/esnext.set.intersection.v2.js"); /* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.set.is-disjoint-from.v2.js */ "./node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.set.is-subset-of.v2.js */ "./node_modules/core-js/modules/esnext.set.is-subset-of.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.set.is-superset-of.v2.js */ "./node_modules/core-js/modules/esnext.set.is-superset-of.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/esnext.set.symmetric-difference.v2.js */ "./node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js"); /* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/esnext.set.union.v2.js */ "./node_modules/core-js/modules/esnext.set.union.v2.js"); /* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9__); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "station-roll-call-list" }, [_c("div", { staticClass: "query" }, [_c("el-form", { staticClass: "query-form", attrs: { inline: true, model: _vm.queryForm } }, [_c("el-form-item", { attrs: { label: "驻勤点名称" } }, [_c("el-input", { attrs: { placeholder: "请输入驻勤点名称" }, model: { value: _vm.queryForm.stationName, callback: function ($$v) { _vm.$set(_vm.queryForm, "stationName", $$v); }, expression: "queryForm.stationName" } })], 1), this.isSupervision ? _c("el-form-item", { attrs: { label: "辖区" } }, [_c("tree-select", { staticClass: "tree-select", attrs: { options: _vm.departs, beforeClearAll: _vm.beforeClearDepart, placeholder: "请选择", normalizer: _vm.normalizer, noOptionsText: "无数据", noResultsText: "无数据" }, on: { select: _vm.onSelectDepart }, model: { value: _vm.queryForm.depart, callback: function ($$v) { _vm.$set(_vm.queryForm, "depart", $$v); }, expression: "queryForm.depart" } })], 1) : _vm._e(), _c("el-form-item", { attrs: { label: "点名时间" } }, [_c("el-date-picker", { attrs: { type: "datetimerange", "range-separator": "至", "start-placeholder": "开始日期", "end-placeholder": "结束日期", "value-format": "yyyy-MM-dd HH:mm:ss", size: "small" }, model: { value: _vm.queryForm.rollTime, callback: function ($$v) { _vm.$set(_vm.queryForm, "rollTime", $$v); }, expression: "queryForm.rollTime" } })], 1), _c("el-form-item", [_c("el-button", { attrs: { type: "primary" }, on: { click: _vm.querRollCallEmployees } }, [_vm._v("查询")]), _c("el-button", { attrs: { type: "primary", plain: "" }, on: { click: _vm.back } }, [_vm._v("返回")])], 1)], 1)], 1), _c("el-table", { ref: "table", staticStyle: { width: "100%" }, attrs: { data: _vm.tableList, border: "", stripe: "", "tooltip-effect": "dark", height: "75%" } }, [_c("el-table-column", { attrs: { type: "index", width: "50", label: "序号" } }), _c("el-table-column", { attrs: { align: "left", label: "驻勤点名称", "min-width": "200", prop: "stationName", "show-overflow-tooltip": "" } }), this.isSupervision ? _c("el-table-column", { attrs: { align: "left", label: "辖区", "min-width": "220", prop: "superviseDepartName", "show-overflow-tooltip": "" } }) : _vm._e(), _c("el-table-column", { attrs: { align: "left", label: "驻勤点类型", "min-width": "170", prop: "stationTypes", "show-overflow-tooltip": "" }, scopedSlots: _vm._u([{ key: "default", fn: function (scope) { return [_c("span", [_vm._v(_vm._s(_vm.stationTypes.filter(item => new Set(scope.row.stationTypes).has(item.code)).map(item => item.name).join(",")))])]; } }]) }), _c("el-table-column", { attrs: { align: "left", label: "所属公司", "min-width": "220", prop: "organizationName", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "点名时间", "min-width": "152", prop: "createdTime", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "点名总人数", "min-width": "102", prop: "countOfMembers", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "成功人数", "min-width": "82", prop: "countOfSuccess", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "失败人数", "min-width": "82", prop: "countOfFailed", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "点名发起人", "min-width": "100", prop: "actionEmployeeName", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "center", label: "操作", width: "87" }, scopedSlots: _vm._u([{ key: "default", fn: function (scope) { return [_c("div", { staticClass: "table-btn" }, [_c("el-button", { attrs: { type: "text" }, on: { click: function ($event) { return _vm.checkRow(scope.row); } } }, [_vm._v(" 查看 ")])], 1)]; } }]) })], 1), _c("el-pagination", { staticClass: "pagination", attrs: { "current-page": _vm.queryForm.pageNum, "page-size": _vm.queryForm.pageSize, "page-sizes": [10, 20, 30, 50], total: _vm.total, layout: "total, prev, pager, next, sizes" }, on: { "size-change": _vm.listSizeChange, "current-change": _vm.listCurrentChange } })], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/index.vue?vue&type=template&id=1ef811de&scoped=true": /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/index.vue?vue&type=template&id=1ef811de&scoped=true ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "polling" }, [_vm.componentName === "stationCardList" ? _c("station-card-list", { on: { toPlan: function ($event) { _vm.componentName = "planList"; }, toStationRollCallList: _vm.toStationRollCallList } }) : _vm._e(), _vm.componentName === "planList" ? _c("plan-list", { on: { back: function ($event) { _vm.componentName = "stationCardList"; } } }) : _vm._e(), _vm.componentName === "stationRollCallList" ? _c("station-roll-call-list", { attrs: { data: _vm.stationData }, on: { back: function ($event) { _vm.componentName = "stationCardList"; }, toPersonCardList: _vm.toPersonCardList } }) : _vm._e(), _vm.componentName === "personCardList" ? _c("person-card-list", { attrs: { data: _vm.personListData }, on: { back: function ($event) { _vm.componentName = "stationRollCallList"; } } }) : _vm._e()], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/components/personCardList.vue?vue&type=template&id=8c25900a&scoped=true": /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/components/personCardList.vue?vue&type=template&id=8c25900a&scoped=true ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "person-card-list" }, [_c("div", { staticClass: "query" }, [_c("el-form", { staticClass: "query-form", attrs: { inline: true, model: _vm.queryForm } }, [_c("el-form-item", { attrs: { label: "驻勤点名称" } }, [_c("el-input", { staticStyle: { width: "240px" }, attrs: { placeholder: "请输入驻勤点名称" }, model: { value: _vm.queryForm.stationName, callback: function ($$v) { _vm.$set(_vm.queryForm, "stationName", $$v); }, expression: "queryForm.stationName" } })], 1), _c("el-form-item", { attrs: { label: "点名时间" } }, [_c("el-input", { staticStyle: { width: "300px" }, model: { value: _vm.queryForm.rollTime, callback: function ($$v) { _vm.$set(_vm.queryForm, "rollTime", $$v); }, expression: "queryForm.rollTime" } })], 1), _c("el-form-item", { attrs: { label: "点名发起人" } }, [_c("el-input", { staticStyle: { width: "200px" }, model: { value: _vm.queryForm.rollInitiator, callback: function ($$v) { _vm.$set(_vm.queryForm, "rollInitiator", $$v); }, expression: "queryForm.rollInitiator" } })], 1), _c("el-form-item", [_c("el-button", { attrs: { type: "primary", plain: "" }, on: { click: _vm.back } }, [_vm._v("返回")])], 1)], 1)], 1), _c("el-main", { directives: [{ name: "infinite-scroll", rawName: "v-infinite-scroll", value: _vm.load, expression: "load" }], ref: "container", staticClass: "list-container", attrs: { "infinite-scroll-disabled": "disabled", "infinite-scroll-distance": "10" } }, [_vm._l(_vm.rollCallEmployees, function (item, index) { return _c("div", { key: index, staticClass: "card", class: [item === 3 || item === 4 ? "card-mask" : ""] }, [_c("div", { staticClass: "card-employeeName" }, [_vm._v(_vm._s(item.calledEmployeeName))]), _c("div", { class: item.callStatusLabel.includes("失败") ? "card-circle circle-failed" : "card-circle circle-success" }, [_vm._v(" " + _vm._s(item.calledEmployeeName.slice(-2)) + " ")]), _c("div", { class: item.callStatusLabel.includes("失败") ? "card-statusLabel label-failed" : "card-statusLabel lable-success" }, [_vm._v(" " + _vm._s(item.callStatusLabel) + " ")])]); }), _vm.loading ? _c("p", { staticClass: "bottom-tips" }, [_vm._v("加载中...")]) : _vm._e(), _vm.noMore ? _c("p", { staticClass: "bottom-tips" }, [_vm._v("没有更多了")]) : _vm._e()], 2)], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/components/stationRollCallList.vue?vue&type=template&id=26b3da85&scoped=true": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/components/stationRollCallList.vue?vue&type=template&id=26b3da85&scoped=true ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.iterator.constructor.js */ "./node_modules/core-js/modules/esnext.iterator.constructor.js"); /* harmony import */ var core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.iterator.filter.js */ "./node_modules/core-js/modules/esnext.iterator.filter.js"); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.iterator.map.js */ "./node_modules/core-js/modules/esnext.iterator.map.js"); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.set.difference.v2.js */ "./node_modules/core-js/modules/esnext.set.difference.v2.js"); /* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.set.intersection.v2.js */ "./node_modules/core-js/modules/esnext.set.intersection.v2.js"); /* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.set.is-disjoint-from.v2.js */ "./node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.set.is-subset-of.v2.js */ "./node_modules/core-js/modules/esnext.set.is-subset-of.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/esnext.set.is-superset-of.v2.js */ "./node_modules/core-js/modules/esnext.set.is-superset-of.v2.js"); /* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/esnext.set.symmetric-difference.v2.js */ "./node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js"); /* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/esnext.set.union.v2.js */ "./node_modules/core-js/modules/esnext.set.union.v2.js"); /* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_9__); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "station-roll-call-list" }, [_c("div", { staticClass: "query" }, [_c("el-form", { staticClass: "query-form", attrs: { inline: true, model: _vm.queryForm } }, [_c("el-form-item", { attrs: { label: "驻勤点名称" } }, [_c("el-input", { attrs: { placeholder: "请输入名称" }, model: { value: _vm.queryForm.stationName, callback: function ($$v) { _vm.$set(_vm.queryForm, "stationName", $$v); }, expression: "queryForm.stationName" } })], 1), this.isSupervision ? _c("el-form-item", { attrs: { label: "辖区" } }, [_c("tree-select", { staticClass: "tree-select", attrs: { options: _vm.departs, beforeClearAll: _vm.beforeClearDepart, placeholder: "请选择", normalizer: _vm.normalizer, noOptionsText: "无数据", noResultsText: "无数据" }, on: { select: _vm.onSelectDepart }, model: { value: _vm.queryForm.depart, callback: function ($$v) { _vm.$set(_vm.queryForm, "depart", $$v); }, expression: "queryForm.depart" } })], 1) : _vm._e(), _c("el-form-item", { attrs: { label: "驻勤点类型" } }, [_c("el-select", { attrs: { clearable: "", placeholder: "请选择" }, model: { value: _vm.queryForm.stationType, callback: function ($$v) { _vm.$set(_vm.queryForm, "stationType", $$v); }, expression: "queryForm.stationType" } }, _vm._l(_vm.stationTypes, function (item) { return _c("el-option", { key: item.code, attrs: { label: item.name, value: item.code } }); }), 1)], 1), _c("el-form-item", { attrs: { label: "点名发起人" } }, [_c("el-input", { attrs: { placeholder: "请输入点名发起人" }, model: { value: _vm.queryForm.rollInitiator, callback: function ($$v) { _vm.$set(_vm.queryForm, "rollInitiator", $$v); }, expression: "queryForm.rollInitiator" } })], 1), _c("el-form-item", { attrs: { label: "点名时间" } }, [_c("el-date-picker", { attrs: { type: "datetimerange", "range-separator": "至", "start-placeholder": "开始日期", "end-placeholder": "结束日期", "value-format": "yyyy-MM-dd HH:mm:ss", size: "small" }, model: { value: _vm.queryForm.rollTime, callback: function ($$v) { _vm.$set(_vm.queryForm, "rollTime", $$v); }, expression: "queryForm.rollTime" } })], 1), _c("el-form-item", { staticStyle: { "margin-left": "10px" } }, [_c("el-button", { attrs: { type: "primary" }, on: { click: _vm.querDispatchEmployees } }, [_vm._v("查询")]), _c("el-button", { attrs: { type: "primary", plain: "" }, on: { click: function ($event) { return _vm.resetForm(); } } }, [_vm._v("重置")])], 1)], 1)], 1), _c("el-table", { ref: "table", staticStyle: { width: "100%" }, attrs: { data: _vm.tableList, border: "", stripe: "", "tooltip-effect": "dark", height: "75%" } }, [_c("el-table-column", { attrs: { type: "index", width: "50", label: "序号" } }), _c("el-table-column", { attrs: { align: "left", label: "驻勤点名称", "min-width": "200", prop: "stationName", "show-overflow-tooltip": "" } }), this.isSupervision ? _c("el-table-column", { attrs: { align: "left", label: "辖区", "min-width": "220", prop: "superviseDepartName", "show-overflow-tooltip": "" } }) : _vm._e(), _c("el-table-column", { attrs: { align: "left", label: "驻勤点类型", "min-width": "170", prop: "stationTypes", "show-overflow-tooltip": "" }, scopedSlots: _vm._u([{ key: "default", fn: function (scope) { return [_c("span", [_vm._v(_vm._s(_vm.stationTypes.filter(item => new Set(scope.row.stationTypes).has(item.code)).map(item => item.name).join(",")))])]; } }]) }), _c("el-table-column", { attrs: { align: "left", label: "所属公司", "min-width": "220", prop: "organizationName", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "点名时间", "min-width": "158", prop: "createdTime", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "督导点名总人数", "min-width": "132", prop: "countOfMembers", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "成功人数", "min-width": "82", prop: "countOfSuccess", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "失败人数", "min-width": "82", prop: "countOfFailed", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "left", label: "点名发起人", "min-width": "100", prop: "actionEmployeeName", "show-overflow-tooltip": "" } }), _c("el-table-column", { attrs: { align: "center", label: "操作", width: "87" }, scopedSlots: _vm._u([{ key: "default", fn: function (scope) { return [_c("div", { staticClass: "table-btn" }, [_c("el-button", { attrs: { type: "text" }, on: { click: function ($event) { return _vm.checkRow(scope.row); } } }, [_vm._v(" 查看 ")])], 1)]; } }]) })], 1), _c("el-pagination", { staticClass: "pagination", attrs: { "current-page": _vm.queryForm.pageNum, "page-size": _vm.queryForm.pageSize, "page-sizes": [10, 20, 30, 50], total: _vm.total, layout: "total, prev, pager, next, sizes" }, on: { "size-change": _vm.listSizeChange, "current-change": _vm.listCurrentChange } })], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/index.vue?vue&type=template&id=571a9cf1&scoped=true": /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/index.vue?vue&type=template&id=571a9cf1&scoped=true ***! \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "supervision" }, [_vm.componentName === "stationRollCallList" ? _c("station-roll-call-list", { attrs: { data: _vm.stationData }, on: { toPersonCardList: _vm.toPersonCardList } }) : _vm._e(), _vm.componentName === "personCardList" ? _c("person-card-list", { attrs: { data: _vm.personListData }, on: { back: function ($event) { _vm.componentName = "stationRollCallList"; } } }) : _vm._e()], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"d87c7fae-vue-loader-template\"}!./node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/videoManage/index.vue?vue&type=template&id=42171399&scoped=true": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"d87c7fae-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/videoManage/index.vue?vue&type=template&id=42171399&scoped=true ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { staticClass: "monitor-page" }, [!_vm.toFullScreen ? _c("div", { staticClass: "container" }, [_c("div", { staticClass: "control-bar" }, [_c("div", { staticClass: "left-controls" }, [_c("div", { staticClass: "layout-menu-container" }, [_c("button", { staticClass: "control-btn layout-btn", on: { click: function ($event) { _vm.showLayoutMenu = !_vm.showLayoutMenu; } } }, [_c("svg-icon", { staticClass: "info-icon", staticStyle: { width: "2em", height: "2em" }, attrs: { name: "九宫格" } })], 1), _vm.showLayoutMenu ? _c("div", { staticClass: "layout-menu", on: { click: function ($event) { $event.stopPropagation(); } } }, _vm._l(_vm.layoutOptions, function (option) { return _c("div", { key: option.id, class: ["layout-option", _vm.layoutType === option.id ? "active" : ""], on: { click: function ($event) { return _vm.changeLayout(option.id); } } }, [_c("div", { staticClass: "layout-option-content" }, [_c("svg-icon", { staticClass: "info-icon", staticStyle: { width: "3em", height: "3em" }, attrs: { name: option.icon } }), _c("span", { staticClass: "layout-name" }, [_vm._v(_vm._s(option.name))])], 1)]); }), 0) : _vm._e()]), _c("button", { staticClass: "control-btn fullscreen-btn", attrs: { disabled: _vm.selectedIndex === -1 }, on: { click: _vm.goToFullscreen } }, [_c("i", { staticClass: "el-icon-full-screen" })]), _c("button", { staticClass: "control-btn close-volume-btn", on: { click: _vm.muteAllVideos } }, [_c("i", { staticClass: "el-icon-turn-off-microphone" }), _vm._v(" 一键静音 ")]), _c("button", { staticClass: "control-btn", on: { click: _vm.unmuteAllVideos } }, [_c("i", { staticClass: "el-icon-microphone" }), _vm._v(" 取消静音 ")])]), _c("div", { staticClass: "right-controls" }, [_c("el-tooltip", { attrs: { "open-delay": 200, content: "关闭", placement: "top" } }, [_c("div", { staticClass: "close-btn", on: { click: _vm.toggleClose } }, [_c("i", { staticClass: "el-icon-circle-close", staticStyle: { color: "white" } })])])], 1)]), _c("div", { staticClass: "video-grid", style: _vm.getGridStyle() }, _vm._l(_vm.getVisibleCameras(), function (camera, index) { return _c("div", { key: index, staticClass: "video-card", class: { selected: _vm.selectedIndex === index && _vm.layoutType !== "1x1" }, style: _vm.getVideoCardStyle(index), on: { click: function ($event) { _vm.selectedIndex = index; }, mouseenter: function ($event) { _vm.showSwitchButtons = true; }, mouseleave: function ($event) { _vm.showSwitchButtons = false; } } }, [_c("div", { staticClass: "video-header" }, [_c("span", [_vm._v(_vm._s(camera.location))]), _vm.layoutType === "1x1" ? _c("span", { staticClass: "camera-counter" }, [_vm._v(" " + _vm._s(_vm.getCurrentCameraNumber()) + "/" + _vm._s(_vm.getValidCamerasCount()) + " ")]) : _vm._e()]), _vm.layoutType === "1x1" ? [_c("button", { directives: [{ name: "show", rawName: "v-show", value: _vm.showSwitchButtons, expression: "showSwitchButtons" }], staticClass: "switch-btn switch-btn-left", attrs: { disabled: !_vm.hasPrevCamera() }, on: { click: function ($event) { $event.stopPropagation(); return _vm.switchCamera("prev"); } } }, [_c("i", { staticClass: "el-icon-arrow-left" })]), _c("button", { directives: [{ name: "show", rawName: "v-show", value: _vm.showSwitchButtons, expression: "showSwitchButtons" }], staticClass: "switch-btn switch-btn-right", attrs: { disabled: !_vm.hasNextCamera() }, on: { click: function ($event) { $event.stopPropagation(); return _vm.switchCamera("next"); } } }, [_c("i", { staticClass: "el-icon-arrow-right" })])] : _vm._e(), _c("div", { class: ["video-content", { error: camera.error, empty: camera.isEmpty }] }, [camera.isEmpty ? _c("div", { staticClass: "empty-channel" }, [_c("i", { staticClass: "fas fa-video-slash" }), _c("span", [_vm._v("无视频信号")])]) : _vm._e(), camera.isLoading ? _c("div", { staticClass: "loading" }, [_c("div", { staticClass: "loading-spinner" }), _c("span", { staticClass: "loading-text" }, [_vm._v("正在刷新视频流...")])]) : _vm._e(), camera.error ? _c("div", { staticClass: "error-message" }, [_c("i", { staticClass: "fas fa-exclamation-triangle mr-2" }), _vm._v(" " + _vm._s(camera.error) + " ")]) : _vm._e(), camera.stream && !camera.error && !camera.isEmpty ? _c("M3U8Player", { ref: "videoPlayer", refInFor: true, attrs: { url: camera.stream, muted: false, "show-controls": true, autoplay: true, "device-id": camera.deviceId }, on: { ready: function ($event) { return _vm.onPlayerReady(index); }, play: function ($event) { return _vm.onPlayerPlay(index); }, error: function ($event) { return _vm.onPlayerError(index, $event); }, pause: function ($event) { return _vm.onPlayerPause(index); }, toggleControlPanel: _vm.toggleControlPanel, refresh: function ($event) { return _vm.onPlayerRefresh(index); } } }) : _vm._e()], 1)], 2); }), 0), _c("PtzController", { attrs: { isPtzControlVisible: _vm.isPtzControlVisible, stream: _vm.cameras[_vm.selectedIndex] } })], 1) : _c("SingleScreen", { attrs: { camera: _vm.cameras[_vm.selectedIndex] }, on: { goback: _vm.goback } })], 1); }; var staticRenderFns = []; render._withStripped = true; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/M3U8Player.vue?vue&type=style&index=0&id=0e6fec95&scoped=true&lang=css": /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/M3U8Player.vue?vue&type=style&index=0&id=0e6fec95&scoped=true&lang=css ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, "\n.m3u8-player-container[data-v-0e6fec95] {\n width: 100%;\n height: 100%;\n background-color: #000;\n position: relative;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n border-radius: 0.41667vw;\n}\n.video-player[data-v-0e6fec95] {\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n.video-js[data-v-0e6fec95] {\n width: 100%;\n height: 100%;\n -o-object-fit: contain;\n object-fit: contain;\n display: block;\n transition: transform 0.3s ease;\n position: absolute;\n background-color: #000;\n transform-origin: center center;\n margin: auto;\n}\n\n/* 视频播放器基础容器 */\n.video-player[data-v-0e6fec95] {\n width: 100%;\n height: 100%;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #000;\n}\n\n/* 视频元素基础样式 */\n.video-js[data-v-0e6fec95] {\n position: absolute;\n width: 100%;\n height: 100%;\n -o-object-fit: contain;\n object-fit: contain;\n transition: transform 0.3s ease;\n transform-origin: center center;\n}\n\n/* 旋转状态的基础样式 */\n.video-player .video-js[data-v-0e6fec95] {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n/* 90度旋转状态 */\n.video-player.rotate-90[data-v-0e6fec95] {\n height: 100%;\n}\n.video-player.rotate-90 .video-js[data-v-0e6fec95] {\n transform: translate(-50%, -50%) rotate(90deg);\n width: auto;\n height: 100%;\n max-width: none;\n max-height: none;\n}\n\n/* 180度旋转状态 */\n.video-player.rotate-180 .video-js[data-v-0e6fec95] {\n transform: translate(-50%, -50%) rotate(180deg);\n}\n\n/* 270度旋转状态 */\n.video-player.rotate-270[data-v-0e6fec95] {\n height: 100%;\n}\n.video-player.rotate-270 .video-js[data-v-0e6fec95] {\n transform: translate(-50%, -50%) rotate(270deg);\n width: auto;\n height: 100%;\n max-width: none;\n max-height: none;\n}\n\n/* 确保视频在所有状态下保持居中 */\n.video-player[data-v-0e6fec95]::before {\n content: '';\n display: block;\n padding-top: 56.25%; /* 16:9 比例 */\n}\n\n/* 移除旋转状态下的padding */\n.video-player.rotate-90[data-v-0e6fec95]::before,\n.video-player.rotate-270[data-v-0e6fec95]::before {\n display: none;\n}\n.controls[data-v-0e6fec95] {\n padding: 0.625vw 1.04167vw;\n display: flex;\n gap: 0.625vw;\n justify-content: flex-end;\n width: 100%;\n z-index: 1000;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n /* background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0) 100%); */\n transition: opacity 0.3s ease;\n opacity: 0;\n}\n.m3u8-player-container:hover .controls[data-v-0e6fec95] {\n opacity: 1;\n transform: translateY(0);\n}\n.control-btn[data-v-0e6fec95] {\n padding: 0.41667vw !important;\n border: none !important;\n background-color: rgba(255, 255, 255, 0) !important;\n margin: 0 0.20833vw !important;\n /* box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); */\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n border-radius: 50% !important;\n width: 2.08333vw !important;\n height: 2.08333vw !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n backdrop-filter: blur(0.20833vw);\n -webkit-backdrop-filter: blur(0.20833vw);\n}\n\n/* 全屏模式样式 */\n.flv-player-container:fullscreen:hover .controls[data-v-0e6fec95],\n.flv-player-container:-webkit-full-screen:hover .controls[data-v-0e6fec95],\n.flv-player-container:-moz-full-screen:hover .controls[data-v-0e6fec95] {\n opacity: 1;\n}\n.control-btn[data-v-0e6fec95]:hover {\n background-color: rgba(255, 255, 255, 0.25) !important;\n transform: translateY(-0.10417vw) scale(1.05);\n box-shadow: 0 0.3125vw 0.625vw rgba(0, 0, 0, 0.4);\n}\n.control-btn[data-v-0e6fec95]:active {\n background-color: rgba(255, 255, 255, 0.3) !important;\n transform: translateY(0) scale(0.98);\n box-shadow: 0 0.10417vw 0.20833vw rgba(0, 0, 0, 0.3);\n}\n.control-btn i[data-v-0e6fec95] {\n color: #fff;\n font-size: 0.9375vw;\n text-shadow: 0 1px 0.15625vw rgba(0, 0, 0, 0.3);\n transition: all 0.2s ease;\n}\n.control-btn:hover i[data-v-0e6fec95] {\n transform: scale(1.1);\n}\n\n/* 控制栏渐变背景 */\n.controls[data-v-0e6fec95]::before {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 6.25vw;\n /* background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%); */\n pointer-events: none;\n z-index: -1;\n}\n\n/* 全屏时的控制栏位置调整 */\n:fullscreen .controls[data-v-0e6fec95] {\n bottom: 0;\n padding-bottom: 1.5625vw;\n}\n:-webkit-full-screen .controls[data-v-0e6fec95] {\n bottom: 0;\n padding-bottom: 1.5625vw;\n}\n:-moz-full-screen .controls[data-v-0e6fec95] {\n bottom: 0;\n padding-bottom: 1.5625vw;\n}\n.error-message[data-v-0e6fec95] {\n color: #f56c6c;\n padding: 1.04167vw;\n text-align: center;\n background-color: rgba(0, 0, 0, 0.8);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border-radius: 0.3125vw;\n min-width: 10.41667vw;\n box-shadow: 0 0.20833vw 0.625vw rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.83333vw;\n}\n.refresh-button[data-v-0e6fec95] {\n background-color: #409eff;\n color: white;\n border: none;\n padding: 0.41667vw 0.83333vw;\n border-radius: 0.20833vw;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 0.41667vw;\n transition: all 0.3s ease;\n}\n.refresh-button[data-v-0e6fec95]:hover {\n background-color: #66b1ff;\n transform: scale(1.05);\n}\n.refresh-button[data-v-0e6fec95]:active {\n transform: scale(0.95);\n}\n.refresh-button i[data-v-0e6fec95] {\n font-size: 0.83333vw;\n}\n.loading-message[data-v-0e6fec95] {\n color: white;\n padding: 0.83333vw 1.25vw;\n text-align: center;\n background-color: rgba(0, 0, 0, 0.7);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n border-radius: 0.3125vw;\n backdrop-filter: blur(0.20833vw);\n box-shadow: 0 0.20833vw 0.625vw rgba(0, 0, 0, 0.2);\n animation: pulse-0e6fec95 1.5s infinite;\n}\n\n/* 设备信息对话框样式 */\n[data-v-0e6fec95] .device-info-dialog {\n border-radius: 0.41667vw;\n overflow: hidden;\n background-color: rgba(0, 0, 0, 0.8) !important;\n width: 18.75vw !important;\n transition: all 0.3s ease-in-out;\n box-shadow: 0 0.20833vw 0.625vw rgba(0, 0, 0, 0.3) !important;\n}\n[data-v-0e6fec95] .device-info-dialog.el-dialog__wrapper {\n backdrop-filter: blur(0.26042vw);\n}\n[data-v-0e6fec95] .device-info-dialog .el-dialog {\n transform-origin: center;\n animation: dialogFadeIn-0e6fec95 0.3s;\n}\n@keyframes dialogFadeIn-0e6fec95 {\nfrom {\n opacity: 0;\n transform: scale(0.95);\n}\nto {\n opacity: 1;\n transform: scale(1);\n}\n}\n[data-v-0e6fec95] .device-info-dialog .el-dialog__header {\n background-color: transparent !important;\n padding: 0.78125vw !important;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;\n}\n[data-v-0e6fec95] .device-info-dialog .el-dialog__title {\n color: white !important;\n font-size: 1.25vw !important;\n}\n[data-v-0e6fec95] .el-dialog__body {\n padding: 0.41667vw;\n font-size: 1.25vw !important;\n}\n[data-v-0e6fec95] .device-info-dialog .el-dialog__headerbtn .el-dialog__close {\n color: white !important;\n position: absolute;\n top: -0.52083vw;\n right: -0.52083vw;\n}\n.device-info[data-v-0e6fec95] {\n padding: 0.78125vw;\n}\n.device-info p[data-v-0e6fec95] {\n margin: 0.41667vw 0;\n line-height: 1.5;\n display: flex;\n justify-content: space-between;\n padding-bottom: 0.41667vw;\n color: white;\n}\n.device-info p[data-v-0e6fec95]:last-child {\n border-bottom: none;\n}\n.device-info strong[data-v-0e6fec95] {\n color: rgba(255, 255, 255, 0.7);\n margin-right: 0.625vw;\n width: 7.29167vw;\n}\n\n/* 喊话按钮激活状态 */\n.control-btn.el-button--primary[data-v-0e6fec95] {\n background-color: #409eff !important;\n}\n.control-btn.el-button--primary i[data-v-0e6fec95] {\n color: #fff;\n}\n@keyframes pulse-0e6fec95 {\n0% {\n opacity: 0.7;\n}\n50% {\n opacity: 1;\n}\n100% {\n opacity: 0.7;\n}\n}\n.record-controls[data-v-0e6fec95] {\n position: absolute;\n left: 1.04167vw;\n top: 1.5625vw;\n z-index: 10;\n}\n\n/* 录像状态指示器 */\n.record-status[data-v-0e6fec95] {\n /* position: absolute;\n top: 20px;\n left: 20px; */\n display: flex;\n align-items: center;\n gap: 0.41667vw;\n color: #fff;\n font-size: 0.83333vw;\n background: rgba(0, 0, 0, 0.5);\n padding: 0.3125vw 0.625vw;\n border-radius: 0.20833vw;\n z-index: 100;\n}\n.record-indicator[data-v-0e6fec95] {\n width: 0.625vw;\n height: 0.625vw;\n background-color: #f14d4d;\n border-radius: 50%;\n animation: pulse-0e6fec95 1.5s infinite;\n}\n\n/* 音量控制样式 */\n.volume-control[data-v-0e6fec95] {\n position: relative;\n display: inline-block;\n}\n.volume-slider-container[data-v-0e6fec95] {\n position: absolute;\n bottom: 2.08333vw;\n left: 50%;\n transform: translateX(-50%);\n background-color: rgba(0, 0, 0, 0.7);\n border-radius: 0.41667vw;\n padding: -1.04167vw 0.52083vw;\n z-index: 1001;\n box-shadow: 0 0.20833vw 0.625vw rgba(0, 0, 0, 0.3);\n transition: opacity 0.3s ease, transform 0.3s ease;\n height: 10.41667vw;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transform: translateX(-50%) translateY(0.52083vw);\n pointer-events: none;\n}\n.volume-control:hover .volume-slider-container[data-v-0e6fec95] {\n opacity: 1;\n transform: translateX(-50%) translateY(0);\n pointer-events: auto;\n}\n\n/* 自定义Element UI滑块样式 */\n.volume-slider-container[data-v-0e6fec95] .el-slider__runway {\n background-color: rgba(255, 255, 255, 0.2);\n width: 0.20833vw;\n}\n.volume-slider-container[data-v-0e6fec95] .el-slider__bar {\n background-color: #409eff;\n width: 0.20833vw;\n}\n.volume-slider-container[data-v-0e6fec95] .el-slider__button {\n width: 0.625vw;\n height: 0.625vw;\n border: 0.10417vw solid #409eff;\n background-color: white;\n transition: transform 0.2s ease;\n}\n.volume-slider-container[data-v-0e6fec95] .el-slider__button:hover {\n transform: scale(1.2);\n}\n.volume-slider-container[data-v-0e6fec95] .el-slider__button-wrapper {\n width: 1.25vw;\n left: -0.52083vw;\n}\n/* 视频旋转时的容器样式 */\n.video-container[data-v-0e6fec95] {\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n/* 适配不同旋转角度的视频尺寸 */\n.video-js[style*=\"rotate(90deg)\"][data-v-0e6fec95],\n.video-js[style*=\"rotate(270deg)\"][data-v-0e6fec95] {\n width: auto !important;\n height: 100% !important;\n max-height: -webkit-fill-available !important;\n}\n", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/PtzController.vue?vue&type=style&index=0&id=5a1d4797&scoped=true&lang=css": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/PtzController.vue?vue&type=style&index=0&id=5a1d4797&scoped=true&lang=css ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, "\n/* 云台控制样式 */\n.ptz-controls[data-v-5a1d4797] {\n position: fixed;\n right: -10.41667vw; /* 初始状态隐藏 */\n top: 50%;\n transform: translateY(-50%);\n background: rgba(0, 0, 0, 0.85);\n padding: 1.04167vw;\n border-radius: 0.83333vw 0 0 0.83333vw;\n z-index: 1000;\n backdrop-filter: blur(0.52083vw);\n box-shadow: -0.20833vw 0 1.04167vw rgba(0, 0, 0, 0.4);\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n width: 10.41667vw;\n border: 1px solid rgba(255, 255, 255, 0.1);\n}\n.ptz-controls.show[data-v-5a1d4797] {\n right: 0;\n}\n\n/* 云台控制触发按钮 */\n.ptz-trigger[data-v-5a1d4797] {\n position: fixed;\n right: 0;\n top: 50%;\n transform: translateY(-50%);\n background: #409EFF;\n color: white;\n padding: 0.625vw;\n border-radius: 0.41667vw 0 0 0.41667vw;\n cursor: pointer;\n z-index: 999;\n box-shadow: -0.10417vw 0 0.41667vw rgba(0, 0, 0, 0.2);\n transition: all 0.3s ease;\n writing-mode: vertical-lr;\n text-orientation: upright;\n font-size: 0.72917vw;\n letter-spacing: 0.10417vw;\n display: flex;\n align-items: center;\n gap: 0.41667vw;\n}\n.ptz-trigger[data-v-5a1d4797]:hover {\n background: #66b1ff;\n padding-right: 0.83333vw;\n}\n.ptz-trigger.hide[data-v-5a1d4797] {\n right: 9.375vw;\n}\n.ptz-buttons[data-v-5a1d4797] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.41667vw;\n}\n.ptz-middle[data-v-5a1d4797] {\n display: flex;\n gap: 0.41667vw;\n margin: 0.41667vw 0;\n}\n.ptz-stop[data-v-5a1d4797] {\n background-color: #f56c6c;\n color: white;\n}\n.ptz-controls .el-button[data-v-5a1d4797] {\n padding: 0.52083vw;\n min-width: 2.29167vw;\n height: 2.29167vw;\n border-radius: 0.41667vw;\n background: rgba(255, 255, 255, 0.15);\n border: 1px solid rgba(255, 255, 255, 0.25);\n color: #fff;\n transition: all 0.2s;\n}\n.ptz-controls .el-button[data-v-5a1d4797]:hover {\n background: rgba(255, 255, 255, 0.25);\n transform: translateY(-0.10417vw);\n box-shadow: 0 0.20833vw 0.41667vw rgba(0, 0, 0, 0.2);\n}\n.ptz-controls .el-button[data-v-5a1d4797]:active {\n background: rgba(255, 255, 255, 0.35);\n transform: translateY(0);\n}\n\n", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/SingleScreen.vue?vue&type=style&index=0&id=303da202&scoped=true&lang=css": /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/SingleScreen.vue?vue&type=style&index=0&id=303da202&scoped=true&lang=css ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, "\n.app[data-v-303da202] {\n min-height: 100vh;\n background-color: #f9fafb;\n}\n.header[data-v-303da202] {\n background-color: #2563eb;\n color: white;\n height: 2.5vw;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 0.83333vw;\n}\n.header-left[data-v-303da202] {\n display: flex;\n align-items: center;\n gap: 0.83333vw;\n}\n.header-left h1[data-v-303da202] {\n font-size: 0.9375vw;\n font-weight: 500;\n}\n.header-right[data-v-303da202] {\n display: flex;\n align-items: center;\n gap: 0.83333vw;\n}\n.header-right span[data-v-303da202] {\n font-size: 0.72917vw;\n}\n.header-right i[data-v-303da202] {\n font-size: 1.04167vw;\n}\n.main-content[data-v-303da202] {\n display: flex;\n height: calc(100vh - 2.5vw);\n}\n.video-container[data-v-303da202] {\n flex: 1;\n padding: 1.25vw;\n display: flex;\n flex-direction: column;\n position: relative;\n}\n.back-button[data-v-303da202] {\n position: absolute;\n top: 1.25vw;\n left: 1.25vw;\n z-index: 10;\n background-color: rgba(37, 99, 235, 0.9);\n color: white;\n padding: 0.41667vw 0.83333vw;\n font-size: 0.72917vw;\n border-radius: 0.41667vw;\n border: none;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 0.41667vw;\n transition: all 0.2s ease;\n box-shadow: 0 0.10417vw 0.41667vw rgba(0, 0, 0, 0.2);\n}\n.back-button[data-v-303da202]:hover {\n background-color: rgba(29, 78, 216, 0.9);\n transform: translateY(-1px);\n}\n.back-button[data-v-303da202]:active {\n transform: translateY(0);\n}\n.back-button i[data-v-303da202] {\n font-size: 0.72917vw;\n}\n.loading-overlay[data-v-303da202],\n.error-overlay[data-v-303da202] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.7);\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: white;\n z-index: 5;\n}\n.loading-spinner[data-v-303da202] {\n width: 2.08333vw;\n height: 2.08333vw;\n border: 0.20833vw solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n border-top-color: #2563eb;\n animation: spin-303da202 1s ease-in-out infinite;\n}\n@keyframes spin-303da202 {\nto { transform: rotate(360deg);\n}\n}\n.error-overlay i[data-v-303da202] {\n font-size: 2.08333vw;\n color: #ef4444;\n margin-bottom: 0.83333vw;\n}\n.retry-button[data-v-303da202] {\n margin-top: 0.83333vw;\n padding: 0.41667vw 0.83333vw;\n background-color: #2563eb;\n color: white;\n border: none;\n border-radius: 0.20833vw;\n cursor: pointer;\n transition: background-color 0.2s;\n}\n.retry-button[data-v-303da202]:hover {\n background-color: #1d4ed8;\n}\n.video-wrapper[data-v-303da202] {\n position: relative;\n width: 100%;\n height: 100%;\n background-color: #0f172a;\n border-radius: 0.625vw;\n overflow: hidden;\n box-shadow: 0 0.20833vw 0.625vw rgba(0, 0, 0, 0.1);\n border: 1px solid rgba(255, 255, 255, 0.1);\n}\n.video-wrapper img[data-v-303da202] {\n width: 100%;\n height: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n}\n.video-controls[data-v-303da202] {\n position: absolute;\n bottom: 1.04167vw;\n right: 1.04167vw;\n display: flex;\n gap: 0.625vw;\n}\n.btn-fullscreen[data-v-303da202] {\n background-color: rgba(37, 99, 235, 0.9);\n color: white;\n padding: 0.41667vw 0.83333vw;\n font-size: 0.72917vw;\n border-radius: 0.41667vw;\n backdrop-filter: blur(0.20833vw);\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 0.41667vw;\n border: 1px solid rgba(255, 255, 255, 0.2);\n box-shadow: 0 0.10417vw 0.41667vw rgba(0, 0, 0, 0.2);\n}\n.btn-fullscreen[data-v-303da202]:hover {\n background-color: rgba(29, 78, 216, 0.9);\n transform: translateY(-1px);\n}\n.btn-fullscreen[data-v-303da202]:active {\n transform: translateY(0);\n}\n.btn-fullscreen i[data-v-303da202] {\n font-size: 0.72917vw;\n}\n.control-panel[data-v-303da202] {\n width: 18.75vw;\n background-color: white;\n padding: 1.25vw;\n border-left: 1px solid #e5e7eb;\n box-shadow: -0.10417vw 0 0.41667vw rgba(0, 0, 0, 0.05);\n display: flex;\n flex-direction: column;\n gap: 1.66667vw;\n overflow-y: auto;\n}\n.control-section[data-v-303da202] {\n display: flex;\n flex-direction: column;\n gap: 1.66667vw;\n}\n.ptz-control h3[data-v-303da202],\n.zoom-control h3[data-v-303da202],\n.preset-control h3[data-v-303da202] {\n color: #1f2937;\n font-weight: 600;\n margin-bottom: 0.83333vw;\n font-size: 0.83333vw;\n display: flex;\n align-items: center;\n gap: 0.41667vw;\n}\n.ptz-control h3[data-v-303da202]::before,\n.zoom-control h3[data-v-303da202]::before,\n.preset-control h3[data-v-303da202]::before {\n content: '';\n display: block;\n width: 0.20833vw;\n height: 0.83333vw;\n background-color: #2563eb;\n border-radius: 0.10417vw;\n}\n.direction-circle[data-v-303da202] {\n position: relative;\n width: 10.41667vw;\n height: 10.41667vw;\n margin: 0 auto;\n background: #d5dbe1ab;\n border-radius: 50%;\n padding: 0.41667vw;\n}\n.direction-btn[data-v-303da202] {\n position: absolute;\n width: 2.29167vw;\n height: 2.29167vw;\n background-color: white;\n border: 1px solid #e2e8f0;\n border-radius: 50% !important;\n /* transition: all 0.2s ease; */\n display: flex;\n align-items: center;\n justify-content: center;\n color: #475569;\n box-shadow: 0 1px 0.10417vw rgba(0, 0, 0, 0.05);\n}\n.center-btn[data-v-303da202] {\n width: 4.16667vw;\n height: 4.16667vw;\n}\n.direction-btn[data-v-303da202]:hover {\n background-color: #73b2f0;\n box-shadow: 0 0.20833vw 0.3125vw rgba(0, 0, 0, 0.05);\n color: #ffffff;\n}\n.direction-btn[data-v-303da202]:active {\n /* transform: scale(1); */\n box-shadow: 0 1px 0.10417vw rgba(0, 0, 0, 0.05);\n}\n.direction-btn i[data-v-303da202] {\n font-size: 0.83333vw;\n}\n.btn-up[data-v-303da202] {\n top: 0.41667vw;\n left: 50%;\n transform: translateX(-50%);\n}\n.btn-right[data-v-303da202] {\n right: 0.41667vw;\n top: 50%;\n transform: translateY(-50%);\n}\n.btn-down[data-v-303da202] {\n bottom: 0.41667vw;\n left: 50%;\n transform: translateX(-50%);\n}\n.btn-left[data-v-303da202] {\n left: 0.41667vw;\n top: 50%;\n transform: translateY(-50%);\n}\n.btn-stop[data-v-303da202] {\n height: 4.16667vw;\n width: 4.16667vw;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n.zoom-buttons[data-v-303da202] {\n display: flex;\n gap: 0.625vw;\n padding: 0.41667vw;\n margin-top: 0.52083vw;\n background: #f8fafc;\n border-radius: 0.625vw;\n justify-content: space-between;\n}\n.zoom-btn[data-v-303da202] {\n width: 2.29167vw;\n height: 2.29167vw;\n background-color: white;\n border: 1px solid #e2e8f0;\n border-radius: 50% !important;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #475569;\n box-shadow: 0 1px 0.10417vw rgba(0, 0, 0, 0.05);\n}\n.zoom-btn[data-v-303da202]:hover {\n background-color: #f1f5f9;\n transform: scale(1.1);\n box-shadow: 0 0.20833vw 0.3125vw rgba(0, 0, 0, 0.05);\n color: #2563eb;\n}\n.zoom-btn[data-v-303da202]:active {\n transform: scale(1);\n box-shadow: 0 1px 0.10417vw rgba(0, 0, 0, 0.05);\n}\n.zoom-btn i[data-v-303da202] {\n font-size: 0.83333vw;\n}\n.preset-header[data-v-303da202] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.83333vw;\n}\n.btn-add[data-v-303da202] {\n background-color: #2563eb;\n color: white;\n padding: 0.41667vw 0.83333vw;\n font-size: 0.72917vw;\n border-radius: 0.41667vw !important;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n gap: 0.41667vw;\n font-weight: 500;\n}\n.btn-add[data-v-303da202]:hover {\n background-color: #1d4ed8;\n transform: translateY(-1px);\n box-shadow: 0 0.20833vw 0.3125vw rgba(37, 99, 235, 0.2);\n}\n.btn-add[data-v-303da202]:active {\n transform: translateY(0);\n}\n.btn-add i[data-v-303da202] {\n font-size: 0.72917vw;\n}\n.preset-table-wrapper[data-v-303da202] {\n background: #f8fafc;\n border-radius: 0.625vw;\n padding: 0.625vw;\n overflow-x: auto;\n}\n.preset-table[data-v-303da202] {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n font-size: 0.72917vw;\n}\n.preset-table th[data-v-303da202] {\n background-color: #f1f5f9;\n color: #1f2937;\n font-weight: 600;\n text-align: left;\n padding: 0.625vw;\n border-bottom: 0.10417vw solid #e2e8f0;\n}\n.preset-table th[data-v-303da202]:first-child {\n border-top-left-radius: 0.41667vw;\n}\n.preset-table th[data-v-303da202]:last-child {\n border-top-right-radius: 0.41667vw;\n}\n.preset-table td[data-v-303da202] {\n padding: 0.625vw;\n border-bottom: 1px solid #e2e8f0;\n color: #334155;\n}\n.preset-table tbody tr[data-v-303da202] {\n background-color: white;\n transition: all 0.2s ease;\n}\n.preset-table tbody tr[data-v-303da202]:hover {\n background-color: #f8fafc;\n}\n.preset-table tbody tr:last-child td[data-v-303da202] {\n border-bottom: none;\n}\n.preset-table tbody tr:last-child td[data-v-303da202]:first-child {\n border-bottom-left-radius: 0.41667vw;\n}\n.preset-table tbody tr:last-child td[data-v-303da202]:last-child {\n border-bottom-right-radius: 0.41667vw;\n}\n\n/* 空状态样式 */\n.empty-state[data-v-303da202] {\n padding: 2.08333vw 1.04167vw !important;\n text-align: center;\n}\n.empty-content[data-v-303da202] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.625vw;\n}\n.empty-icon[data-v-303da202] {\n font-size: 1.25vw;\n color: #94a3b8;\n margin-bottom: 0.20833vw;\n}\n.empty-content p[data-v-303da202] {\n color: #64748b;\n font-size: 0.72917vw;\n margin: 0;\n}\n.btn-add-empty[data-v-303da202] {\n margin-top: 0.41667vw;\n padding: 0.41667vw 0.83333vw;\n background-color: #eff6ff;\n color: #2563eb;\n font-size: 0.72917vw;\n display: flex;\n align-items: center;\n gap: 0.41667vw;\n transition: all 0.2s ease;\n}\n.btn-add-empty[data-v-303da202]:hover {\n background-color: #dbeafe;\n transform: translateY(-1px);\n}\n.btn-add-empty[data-v-303da202]:active {\n transform: translateY(0);\n}\n\n/* 分页样式 */\n.pagination-container[data-v-303da202] {\n margin-top: 1.04167vw;\n display: flex;\n justify-content: center;\n}\n.pagination[data-v-303da202] {\n display: flex;\n gap: 0.20833vw;\n align-items: center;\n background-color: white;\n padding: 0.20833vw;\n border-radius: 0.41667vw;\n box-shadow: 0 1px 0.15625vw rgba(0, 0, 0, 0.05);\n}\n.pagination-btn[data-v-303da202] {\n min-width: 1.66667vw;\n height: 1.66667vw;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 0.3125vw;\n font-size: 0.72917vw;\n color: #64748b;\n background-color: transparent;\n transition: all 0.2s ease;\n border: none;\n}\n.pagination-btn[data-v-303da202]:hover:not(:disabled) {\n background-color: #f1f5f9;\n color: #1f2937;\n}\n.pagination-btn.active[data-v-303da202] {\n background-color: #2563eb;\n color: white;\n}\n.pagination-btn[data-v-303da202]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n.pagination-btn i[data-v-303da202] {\n font-size: 0.625vw;\n}\n.preset-actions[data-v-303da202] {\n display: flex;\n gap: 0.41667vw;\n justify-content: center;\n}\n.btn-goto[data-v-303da202],\n.btn-edit[data-v-303da202],\n.btn-delete[data-v-303da202] {\n color: #dc2626;\n}\n.btn-goto[data-v-303da202] {\n color: #2563eb;\n background-color: #eff6ff;\n}\n.btn-goto[data-v-303da202]:hover {\n background-color: #dbeafe;\n transform: translateY(-1px);\n box-shadow: 0 0.10417vw 0.20833vw rgba(37, 99, 235, 0.1);\n}\n.btn-edit[data-v-303da202] {\n color: #4b5563;\n background-color: #f8fafc;\n}\n.btn-edit[data-v-303da202]:hover {\n background-color: #f1f5f9;\n color: #1f2937;\n transform: translateY(-1px);\n box-shadow: 0 0.10417vw 0.20833vw rgba(0, 0, 0, 0.05);\n}\n.btn-delete[data-v-303da202] {\n color: #dc2626;\n background-color: #fef2f2;\n}\n.btn-delete[data-v-303da202]:hover {\n background-color: #fee2e2;\n transform: translateY(-1px);\n box-shadow: 0 0.10417vw 0.20833vw rgba(220, 38, 38, 0.1);\n}\n.btn-goto[data-v-303da202]:active,\n.btn-edit[data-v-303da202]:active,\n.btn-delete[data-v-303da202]:active {\n transform: translateY(0);\n box-shadow: none;\n}\n.btn-goto i[data-v-303da202],\n.btn-edit i[data-v-303da202],\n.btn-delete i[data-v-303da202] {\n font-size: 0.625vw;\n}\n.custom-input[data-v-303da202]::-webkit-inner-spin-button,\n.custom-input[data-v-303da202]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n[data-v-303da202] .controls {\n bottom: 0 !important;\n /* opacity: 1 !important; */\n}\n", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/VideoControls.vue?vue&type=style&index=0&id=636d0594&scoped=true&lang=css": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/VideoControls.vue?vue&type=style&index=0&id=636d0594&scoped=true&lang=css ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, "\n.controls[data-v-636d0594] {\n padding: 0.625vw 1.04167vw;\n display: flex;\n gap: 0.625vw;\n justify-content: flex-end;\n width: 100%;\n z-index: 1000;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n transition: opacity 0.3s ease;\n /* opacity: 0; */\n}\n.control-btn[data-v-636d0594] {\n padding: 0.41667vw !important;\n border: none !important;\n background-color: rgba(255, 255, 255, 0) !important;\n margin: 0 0.20833vw !important;\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n border-radius: 50% !important;\n width: 2.08333vw !important;\n height: 2.08333vw !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n backdrop-filter: blur(0.20833vw);\n -webkit-backdrop-filter: blur(0.20833vw);\n}\n.control-btn[data-v-636d0594]:hover {\n background-color: rgba(255, 255, 255, 0.25) !important;\n transform: translateY(-0.10417vw) scale(1.05);\n box-shadow: 0 0.3125vw 0.625vw rgba(0, 0, 0, 0.4);\n}\n.control-btn[data-v-636d0594]:active {\n background-color: rgba(255, 255, 255, 0.3) !important;\n transform: translateY(0) scale(0.98);\n box-shadow: 0 0.10417vw 0.20833vw rgba(0, 0, 0, 0.3);\n}\n.control-btn i[data-v-636d0594] {\n color: #fff;\n font-size: 0.9375vw;\n text-shadow: 0 1px 0.15625vw rgba(0, 0, 0, 0.3);\n transition: all 0.2s ease;\n}\n.control-btn:hover i[data-v-636d0594] {\n transform: scale(1.1);\n}\n.controls[data-v-636d0594]::before {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 6.25vw;\n pointer-events: none;\n z-index: -1;\n}\n:fullscreen .controls[data-v-636d0594] {\n bottom: 0;\n padding-bottom: 1.5625vw;\n}\n:-webkit-full-screen .controls[data-v-636d0594] {\n bottom: 0;\n padding-bottom: 1.5625vw;\n}\n:-moz-full-screen .controls[data-v-636d0594] {\n bottom: 0;\n padding-bottom: 1.5625vw;\n}\n\n/* 喊话按钮激活状态 */\n.control-btn.el-button--primary[data-v-636d0594] {\n background-color: #409eff !important;\n}\n.control-btn.el-button--primary i[data-v-636d0594] {\n color: #fff;\n}\n", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/stationCardList.vue?vue&type=style&index=1&id=4c72880c&lang=css": /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/stationCardList.vue?vue&type=style&index=1&id=4c72880c&lang=css ***! \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, "\n.el-transfer-panel {\n width: 28.64583vw;\n height: 16.66667vw;\n}\n.el-transfer-panel__list.is-filterable {\n height: 20.83333vw;\n}\n.footer {\n display: flex;\n justify-content: center;\n margin-top: 0.52083vw;\n}\n", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/videoManage/index.vue?vue&type=style&index=0&id=42171399&scoped=true&lang=css": /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/videoManage/index.vue?vue&type=style&index=0&id=42171399&scoped=true&lang=css ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, "\n.monitor-page[data-v-42171399] {\n min-height: 100vh;\n background-color: #f3f4f6;\n}\n.container[data-v-42171399] {\n max-width: 100vw;\n margin: 0 auto;\n padding-top: 0.52083vw;\n background-color: #0c4892;\n}\n.control-bar[data-v-42171399] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n /* margin-bottom: 12px; */\n padding: 0 0.83333vw;\n}\n.left-controls[data-v-42171399] {\n display: flex;\n align-items: center;\n}\n.left-controls > *[data-v-42171399] {\n margin-right: 0.83333vw;\n}\n.layout-menu-container[data-v-42171399] {\n position: relative;\n}\n.control-btn[data-v-42171399] {\n height: 2.08333vw;\n display: flex;\n align-items: center;\n padding: 0.20833vw 0.41667vw;\n background-color: #25b3eb;\n color: white;\n border: none;\n border-radius: 0.41667vw;\n cursor: pointer;\n font-size: 1.04167vw;\n transition: background-color 0.2s ease;\n}\n.layout-btn[data-v-42171399] {\n background-color: #91a6af;\n}\n.fullscreen-btn[data-v-42171399] {\n background-color: #10b981;\n font-size: 1.66667vw;\n width: 2.60417vw;\n}\n.fullscreen-btn[data-v-42171399]:hover {\n background-color: #059669;\n}\n.fullscreen-btn[data-v-42171399]:disabled {\n background-color: #9ca3af;\n cursor: not-allowed;\n}\n.close-volume-btn[data-v-42171399] {\n background-color: #e68c18;\n}\n.control-btn[data-v-42171399]:hover {\n background-color: #1d4ed8;\n}\n.control-btn i[data-v-42171399] {\n margin-right: 0.41667vw;\n}\n.layout-menu[data-v-42171399] {\n position: absolute;\n left: 0;\n top: 100%;\n margin-top: 0.41667vw;\n background: white;\n border-radius: 0.41667vw;\n box-shadow: 0 0.10417vw 0.52083vw rgba(0, 0, 0, 0.1);\n z-index: 100;\n min-width: 7.8125vw;\n overflow: hidden;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: repeat(3, 1fr);\n grid-auto-flow: dense;\n align-items: stretch;\n justify-items: stretch;\n}\n.layout-option[data-v-42171399] {\n padding: 0.83333vw 0.83333vw;\n cursor: pointer;\n transition: all 0.2s ease;\n font-size: 0.72917vw;\n color: #333;\n}\n.layout-option[data-v-42171399]:hover {\n background: #f0f9f9;\n color: #6bdfdf;\n}\n.layout-option.active[data-v-42171399] {\n background: #6bdfdf;\n color: white;\n}\n.layout-option-content[data-v-42171399] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.layout-name[data-v-42171399] {\n width: 2.08333vw;\n font-size: 1.25vw;\n padding-left: 0.41667vw;\n}\n.layout-dimensions[data-v-42171399] {\n font-size: 0.625vw;\n color: #666;\n}\n.layout-option.active .layout-dimensions[data-v-42171399] {\n color: rgba(255,255,255,0.8);\n}\n.video-grid[data-v-42171399] {\n display: grid;\n gap: 0.41667vw;\n height: calc(100vh - 7.03125vw);\n overflow-y: auto;\n padding: 0.41667vw;\n transition: all 0.3s ease;\n grid-auto-flow: dense;\n align-items: stretch;\n justify-items: stretch;\n}\n.video-card[data-v-42171399] {\n min-width: 0;\n min-height: 0;\n}\n\n/* 默认3x3布局 */\n.video-grid[style*=\"3x3\"][data-v-42171399] {\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: repeat(3, 1fr);\n}\n\n/* 1x1单通道布局 */\n.video-grid[style*=\"1x1\"][data-v-42171399] {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr;\n}\n\n/* 2x1两通道布局 */\n.video-grid[style*=\"2x1\"][data-v-42171399] {\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: 1fr;\n}\n\n/* 2x2四通道布局 */\n.video-grid[style*=\"2x2\"][data-v-42171399] {\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: repeat(2, 1fr);\n}\n\n/* 六通道特殊布局 */\n.video-grid[style*=\"6grid\"][data-v-42171399] {\n grid-template-columns: repeat(3, 1fr);\n grid-template-rows: repeat(3, 1fr);\n}\n\n/* 七通道特殊布局 */\n.video-grid[style*=\"7grid\"][data-v-42171399] {\n grid-template-columns: repeat(4, 1fr);\n grid-template-rows: repeat(4, 1fr);\n}\n\n/* 八通道特殊布局 */\n.video-grid[style*=\"8grid\"][data-v-42171399] {\n grid-template-columns: repeat(4, 1fr);\n grid-template-rows: repeat(4, 1fr);\n}\n.video-card[data-v-42171399] {\n background-color: rgb(0, 0, 0);\n border-radius: 0.41667vw;\n overflow: hidden;\n box-shadow: 0 1px 0.15625vw rgba(0, 0, 0, 0.1);\n border: #6bdfdf solid 0.26042vw;\n max-width: 100%;\n margin: 0;\n width: 100%;\n transition: all 0.3s ease;\n position: relative;\n aspect-ratio: 16/9;\n}\n.video-card.selected[data-v-42171399] {\n border: 0.26042vw solid #78ed19;\n box-shadow: 0 0 0 0.15625vw rgba(24, 144, 255, 0.3);\n /* transform: scale(0.98); */\n transition: all 0.2s ease;\n z-index: 10;\n}\n\n/* 合并单元格的卡片样式 */\n.video-card[style*=\"grid-row: span 2\"][data-v-42171399],\n.video-card[style*=\"grid-column: span 2\"][data-v-42171399] {\n aspect-ratio: unset;\n}\n.video-card[style*=\"grid-row: span 3\"][data-v-42171399],\n.video-card[style*=\"grid-column: span 3\"][data-v-42171399] {\n aspect-ratio: unset;\n}\n.video-card[style*=\"grid-row: span 4\"][data-v-42171399],\n.video-card[style*=\"grid-column: span 4\"][data-v-42171399] {\n aspect-ratio: unset;\n}\n.video-header[data-v-42171399] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.41667vw 0.83333vw;\n background-color: #00000000;\n color: white;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 10;\n font-size: 0.83333vw;\n}\n.video-header .title[data-v-42171399] {\n font-weight: bold;\n margin: 0;\n}\n.video-header .actions[data-v-42171399] {\n display: flex;\n align-items: center;\n}\n.video-header .actions button[data-v-42171399] {\n}\n.video-content[data-v-42171399] {\n position: relative;\n aspect-ratio: 16/9;\n background-color: black;\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n}\n.video-content img[data-v-42171399] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n -o-object-fit: contain;\n object-fit: contain;\n}\n.video-controls[data-v-42171399] {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.41667vw 0.83333vw;\n /* background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%); */\n z-index: 20;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n.video-card:hover .video-controls[data-v-42171399] {\n opacity: 1;\n}\n.left-controls[data-v-42171399],\n.right-controls[data-v-42171399] {\n display: flex;\n align-items: center;\n gap: 0.625vw;\n}\n.control-icon-btn[data-v-42171399] {\n color: white;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0.20833vw;\n}\n.control-icon-btn[data-v-42171399]:hover {\n color: #60a5fa;\n}\n\n/* 视频播放器样式 */\n.video-content[data-v-42171399] .huawei-video-player {\n width: 100%;\n height: 100%;\n}\n.video-content[data-v-42171399] .video-container {\n width: 100%;\n height: 100%;\n}\n\n/* 错误状态样式 */\n.video-content.error[data-v-42171399] {\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ef4444;\n font-size: 0.72917vw;\n padding: 1.04167vw;\n text-align: center;\n}\n.video-content.empty[data-v-42171399] {\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: #1a1a1a;\n}\n.empty-channel[data-v-42171399] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #666;\n gap: 0.625vw;\n}\n.empty-channel i[data-v-42171399] {\n font-size: 1.66667vw;\n}\n.empty-channel span[data-v-42171399] {\n font-size: 0.72917vw;\n}\n.error-message[data-v-42171399]{\n color: #ef4444;\n font-size: 0.72917vw;\n padding: 1.04167vw;\n text-align: center;\n}\n\n/* 左右切换按钮样式 */\n.switch-btn[data-v-42171399] {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n background-color: rgba(0, 0, 0, 0.5);\n color: white;\n border: none;\n border-radius: 50%;\n width: 2.08333vw;\n height: 2.08333vw;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.3s ease;\n z-index: 10;\n}\n.switch-btn[data-v-42171399]:hover:not(:disabled) {\n background-color: rgba(0, 0, 0, 0.8);\n}\n.switch-btn[data-v-42171399]:disabled {\n background-color: rgba(0, 0, 0, 0.2);\n cursor: not-allowed;\n color: rgba(255, 255, 255, 0.3);\n}\n.switch-btn-left[data-v-42171399] {\n left: 0.83333vw;\n}\n.switch-btn-right[data-v-42171399] {\n right: 0.83333vw;\n}\n.switch-btn i[data-v-42171399] {\n font-size: 1.25vw;\n}\n\n/* 摄像头计数器样式 */\n.camera-counter[data-v-42171399] {\n background-color: rgba(0, 0, 0, 0.6);\n padding: 0.20833vw 0.41667vw;\n border-radius: 0.20833vw;\n font-size: 0.625vw;\n color: white;\n}\n/* 加载状态样式 */\n.video-content.loading[data-v-42171399] {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.loading[data-v-42171399] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background: rgba(0, 0, 0, 0.7);\n z-index: 30;\n}\n.loading-spinner[data-v-42171399] {\n width: 2.08333vw;\n height: 2.08333vw;\n border: 0.20833vw solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n border-top-color: #fff;\n animation: spin-42171399 1s ease-in-out infinite;\n margin-bottom: 0.83333vw;\n}\n.loading-text[data-v-42171399] {\n color: white;\n font-size: 0.72917vw;\n}\n@keyframes spin-42171399 {\nto { transform: rotate(360deg);\n}\n}\n\n/* 刷新按钮旋转动画 */\n.control-icon-btn i.fa-sync-alt[data-v-42171399] {\n transition: transform 0.3s ease;\n}\n.control-icon-btn:active i.fa-sync-alt[data-v-42171399] {\n transform: rotate(180deg);\n}\n\n/* 禁用状态 */\n.control-icon-btn[data-v-42171399]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* 刷新中状态 */\n.control-icon-btn.refreshing i.fa-sync-alt[data-v-42171399] {\n animation: spin-42171399 1s linear infinite;\n}\n[data-v-42171399] .controls {\n bottom: -0.26042vw;\n opacity: 1;\n}\n", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/parentView/index.vue?vue&type=style&index=0&id=8f3f477c&scoped=true&lang=scss": /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/parentView/index.vue?vue&type=style&index=0&id=8f3f477c&scoped=true&lang=scss ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, ".parent-view[data-v-8f3f477c] {\n width: 100%;\n height: 100%;\n overflow: hidden;\n position: relative;\n}\n.parent-view .left-menu[data-v-8f3f477c] {\n width: 12.91667vw;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n overflow-x: hidden;\n overflow-y: auto;\n padding: 1.25vw 0.83333vw;\n}\n.parent-view .left-menu .menu-list-item[data-v-8f3f477c] {\n width: 13.33333vw;\n height: 2.5vw;\n display: flex;\n align-items: center;\n padding: 0 0.83333vw;\n cursor: pointer;\n}\n.parent-view .left-menu .menu-list-item span[data-v-8f3f477c] {\n font-size: 0.9375vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #000000;\n}\n.parent-view .left-menu .menu-list-item-active[data-v-8f3f477c] {\n background: rgba(14, 112, 255, 0.2);\n border-radius: 0.20833vw;\n}\n.parent-view .left-menu .menu-list-item-active span[data-v-8f3f477c] {\n color: #0e70ff;\n}\n.parent-view .page-container[data-v-8f3f477c] {\n width: calc(100% - 13.95833vw);\n height: 100%;\n position: absolute;\n top: 0;\n right: 0;\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/personCardList.vue?vue&type=style&index=0&id=43777bca&scoped=true&lang=scss": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/personCardList.vue?vue&type=style&index=0&id=43777bca&scoped=true&lang=scss ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js"); var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! @/assets/images/rollManage/点名失败.png */ "./src/assets/images/rollManage/点名失败.png"); var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(/*! @/assets/images/rollManage/点名成功.png */ "./src/assets/images/rollManage/点名成功.png"); var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(/*! @/assets/images/rollManage/语音.png */ "./src/assets/images/rollManage/语音.png"); var ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(/*! @/assets/images/rollManage/视频.png */ "./src/assets/images/rollManage/视频.png"); exports = ___CSS_LOADER_API_IMPORT___(false); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___); var ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___); // Module exports.push([module.i, "@charset \"UTF-8\";\n.person-card-list[data-v-43777bca] {\n width: 100%;\n height: 100%;\n}\n.person-card-list .query[data-v-43777bca] {\n width: 100%;\n height: 9.0625vw;\n background: #f5faff;\n box-shadow: 0px 0.10417vw 0.41667vw 0px rgba(0, 0, 0, 0.04);\n margin-bottom: 1.25vw;\n padding: 1.25vw;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n justify-content: space-between;\n}\n.person-card-list .list-container[data-v-43777bca] {\n width: 100%;\n height: calc(100% - 9.0625vw - 2.5vw);\n display: grid;\n grid-template-columns: repeat(5, 1fr);\n padding: 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n.person-card-list .list-container .card[data-v-43777bca] {\n width: 15.46875vw;\n height: 10.41667vw;\n margin-right: 1.04167vw;\n background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);\n box-shadow: 0 0.41667vw 0.41667vw 0 rgba(0, 0, 0, 0.04);\n border-radius: 0;\n opacity: 1;\n border: 0.10417vw solid;\n -o-border-image: linear-gradient(180deg, rgb(255, 255, 255), rgba(255, 255, 255, 0)) 2 2;\n border-image: linear-gradient(180deg, rgb(255, 255, 255), rgba(255, 255, 255, 0)) 2 2;\n margin-bottom: 2.5vw;\n position: relative;\n /*flex 布局*/\n display: flex;\n /*实现垂直居中*/\n align-items: center;\n /*实现水平居中*/\n justify-content: center;\n}\n.person-card-list .list-container .card-employeeName[data-v-43777bca] {\n position: absolute;\n top: 0.72917vw;\n left: 0.72917vw;\n font-size: 0.72917vw;\n font-family: \"PingFang SC, PingFang SC\";\n font-weight: 400;\n color: #333333;\n}\n.person-card-list .list-container .card-checkbox[data-v-43777bca] {\n position: absolute;\n top: 0.72917vw;\n right: 0.72917vw;\n}\n.person-card-list .list-container .card-statusLabel[data-v-43777bca] {\n font-size: 1.04167vw;\n font-family: \"Source Han Sans CN, Source Han Sans CN\";\n font-weight: 400;\n position: absolute;\n bottom: 0.72917vw;\n}\n.person-card-list .list-container .card-circle[data-v-43777bca] {\n width: 4.84375vw;\n height: 4.84375vw;\n font-size: 1.25vw;\n font-weight: 400;\n line-height: 4.84375vw;\n text-align: center;\n color: #ffffff;\n opacity: 1;\n}\n.person-card-list .list-container .card .circle-failed[data-v-43777bca] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");\n background-size: contain;\n}\n.person-card-list .list-container .card .circle-success[data-v-43777bca] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ");\n background-size: contain;\n}\n.person-card-list .list-container .card .label-failed[data-v-43777bca] {\n color: #f04545;\n}\n.person-card-list .list-container .card .label-success[data-v-43777bca] {\n color: #4cd93f;\n}\n.person-card-list .bottom-tips[data-v-43777bca] {\n color: #999;\n font-size: 0.83333vw;\n text-align: center;\n margin-bottom: 2.08333vw;\n width: 100%;\n grid-column: span 5;\n}\n[data-v-43777bca] .dialog-roll-call .el-dialog__body {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 1.66667vw;\n}\n[data-v-43777bca] .dialog-roll-call .el-dialog__body .btn-dispatch {\n width: 9.16667vw;\n height: 10vw;\n background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);\n box-shadow: 0px 0.41667vw 0.52083vw 0px rgba(0, 0, 0, 0.04);\n border-radius: 0.20833vw 0.20833vw 0.20833vw 0.20833vw;\n border: 1px solid #bdcfde;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n[data-v-43777bca] .dialog-roll-call .el-dialog__body .btn-dispatch:hover {\n box-shadow: 0px 0.41667vw 0.52083vw 0px rgba(14, 112, 255, 0.16);\n border: 0.10417vw solid #0e70ff;\n color: #0e70ff;\n}\n[data-v-43777bca] .dialog-roll-call .el-dialog__body .btn-dispatch-audio-img {\n display: block;\n width: 4.16667vw;\n height: 4.16667vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") no-repeat;\n background-size: 100% 100%;\n margin-bottom: 1.25vw;\n}\n[data-v-43777bca] .dialog-roll-call .el-dialog__body .btn-dispatch-video-img {\n display: block;\n width: 4.16667vw;\n height: 4.16667vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") no-repeat;\n background-size: 100% 100%;\n margin-bottom: 1.25vw;\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/planList.vue?vue&type=style&index=0&id=4f8cbd82&scoped=true&lang=scss": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/planList.vue?vue&type=style&index=0&id=4f8cbd82&scoped=true&lang=scss ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, ".tree-select[data-v-4f8cbd82] {\n width: 20.83333vw;\n line-height: 1.82292vw;\n color: #606266;\n}\n.tree-select .vue-treeselect__placeholder[data-v-4f8cbd82] {\n line-height: 1.82292vw;\n}\n.tree-select .vue-treeselect__control[data-v-4f8cbd82] {\n height: 1.82292vw !important;\n}\n.tree-select .vue-treeselect__placeholder[data-v-4f8cbd82],\n.tree-select .vue-treeselect__single-value[data-v-4f8cbd82] {\n line-height: 1.82292vw;\n}\n.plan-list[data-v-4f8cbd82] {\n width: 100%;\n height: 100%;\n}\n.plan-list .query[data-v-4f8cbd82] {\n width: 100%;\n height: 7.96875vw;\n background: #f5faff;\n box-shadow: 0px 0.10417vw 0.41667vw 0px rgba(0, 0, 0, 0.04);\n margin-bottom: 1.25vw;\n padding: 1.25vw;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.plan-list .query .tools[data-v-4f8cbd82] {\n width: 100%;\n}\n.plan-list .query .tools .el-button[data-v-4f8cbd82] {\n margin-right: 1.25vw;\n}\n.plan-list .query .query-form[data-v-4f8cbd82] {\n margin-top: 0.52083vw;\n}\n.plan-list .pagination[data-v-4f8cbd82] {\n margin-top: 3.17708vw;\n}\n.plan-form .el-form-item[data-v-4f8cbd82] {\n margin-bottom: 1.04167vw;\n}\n[data-v-4f8cbd82] .plan-dialog .tools {\n margin-bottom: 0.52083vw;\n}\n[data-v-4f8cbd82] .plan-dialog .footer {\n display: flex;\n justify-content: center;\n margin-top: 0.52083vw;\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/stationCardList.vue?vue&type=style&index=0&id=4c72880c&scoped=true&lang=scss": /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/stationCardList.vue?vue&type=style&index=0&id=4c72880c&scoped=true&lang=scss ***! \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js"); var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! @/assets/images/rollCall/loading.png */ "./src/assets/images/rollCall/loading.png"); var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(/*! @/assets/images/rollCall/success.png */ "./src/assets/images/rollCall/success.png"); exports = ___CSS_LOADER_API_IMPORT___(false); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); // Module exports.push([module.i, "@charset \"UTF-8\";\n.tree-select[data-v-4c72880c] {\n width: 18.22917vw;\n line-height: 1.82292vw;\n color: #606266;\n}\n.tree-select .vue-treeselect__placeholder[data-v-4c72880c] {\n line-height: 1.82292vw;\n}\n.tree-select .vue-treeselect__control[data-v-4c72880c] {\n height: 1.82292vw !important;\n}\n.tree-select .vue-treeselect__placeholder[data-v-4c72880c],\n.tree-select .vue-treeselect__single-value[data-v-4c72880c] {\n line-height: 1.82292vw;\n}\n.transfer-div[data-v-4c72880c] {\n width: 100%;\n display: flex;\n justify-content: center;\n}\n.station-card-list[data-v-4c72880c] {\n width: 100%;\n height: 100%;\n}\n.station-card-list .plan[data-v-4c72880c] {\n margin-bottom: 1.45833vw;\n}\n.station-card-list .list-container[data-v-4c72880c] {\n width: 100%;\n height: calc(100% - 2.03125vw - 1.45833vw);\n overflow-x: hidden;\n overflow-y: auto;\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n}\n.station-card-list .list-container .card[data-v-4c72880c] {\n width: 18.85417vw;\n height: 13.54167vw;\n background: linear-gradient(180deg, #ecf3ff 0%, #ffffff 100%);\n box-shadow: 0.52083vw 0.52083vw 1.04167vw 0 rgba(46, 78, 134, 0.16);\n border-radius: 0.20833vw;\n border: 0.15625vw solid;\n -o-border-image: linear-gradient(180deg, rgb(255, 255, 255), rgba(255, 255, 255, 0)) 3 3;\n border-image: linear-gradient(180deg, rgb(255, 255, 255), rgba(255, 255, 255, 0)) 3 3;\n margin-bottom: 2.5vw;\n position: relative;\n}\n.station-card-list .list-container .card-mask[data-v-4c72880c] {\n border: 0;\n}\n.station-card-list .list-container .card-mask[data-v-4c72880c]::after {\n background: rgba(0, 0, 0, 0.3);\n backdrop-filter: blur(0.15625vw);\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 0.20833vw;\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n}\n.station-card-list .list-container .card-calling[data-v-4c72880c] {\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n}\n.station-card-list .list-container .card-calling-icon[data-v-4c72880c] {\n width: 4.16667vw;\n height: 4.16667vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") no-repeat;\n background-size: 100% 100%;\n margin-bottom: 0.88542vw;\n}\n.station-card-list .list-container .card-calling-success[data-v-4c72880c] {\n width: 4.94792vw;\n height: 4.94792vw;\n /*TODO 修改这个点名成功图标*/\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") no-repeat;\n background-size: 100% 100%;\n margin-bottom: 0.88542vw;\n}\n.station-card-list .list-container .card-calling-text[data-v-4c72880c] {\n font-weight: 400;\n font-size: 1.04167vw;\n}\n.station-card-list .list-container .card-calling-text-progress[data-v-4c72880c] {\n color: #ffffff;\n}\n.station-card-list .list-container .card-calling-text-success[data-v-4c72880c] {\n color: #e2ffd0;\n}\n.station-card-list .list-container .card .card-num[data-v-4c72880c] {\n width: 18.85417vw;\n text-align: center;\n position: absolute;\n left: 0;\n right: 0;\n margin-top: 4.79167vw;\n float: left;\n}\n.station-card-list .list-container .card .card-num .card-num-sub[data-v-4c72880c] {\n width: 9.375vw;\n float: left;\n}\n.station-card-list .list-container .card .card-num .card-num-sub .card-num-sum[data-v-4c72880c] {\n font-size: 1.45833vw;\n font-family: Source Han Sans CN-Medium, Source Han Sans CN, serif;\n font-weight: 500;\n color: #333333;\n}\n.station-card-list .list-container .card .card-num .card-num-sub .card-num-text[data-v-4c72880c] {\n width: 0.83333vw;\n height: 0.83333vw;\n font-size: 0.83333vw;\n font-family: Source Han Sans CN-Regular, Source Han Sans CN, serif;\n font-weight: 400;\n color: #666666;\n}\n.station-card-list .list-container .card .card-top[data-v-4c72880c] {\n margin-top: 0;\n}\n.station-card-list .list-container .card .card-top .type-icon[data-v-4c72880c] {\n width: 1.875vw;\n height: 1.875vw;\n margin-left: 1.25vw;\n float: left;\n margin-top: 0.52083vw;\n}\n.station-card-list .list-container .card .card-top .type-name[data-v-4c72880c] {\n width: 10.41667vw;\n height: 1.875vw;\n line-height: 1.875vw;\n font-size: 1.04167vw;\n font-weight: 500;\n color: #3d3d3d;\n padding-left: 0.52083vw;\n float: left;\n margin-top: 0.52083vw;\n}\n.station-card-list .list-container .card .card-top .type-button[data-v-4c72880c] {\n position: absolute;\n right: 0.52083vw;\n top: 0.52083vw;\n z-index: 9;\n}\n.station-card-list .list-container .card .card-btn[data-v-4c72880c] {\n text-align: center;\n position: absolute;\n left: 0;\n margin: auto;\n right: 0;\n}\n.station-card-list .list-container .card .card-btn .btn-roll-card-select[data-v-4c72880c] {\n width: 5.83333vw;\n height: 1.875vw;\n line-height: 0.625vw;\n margin-top: 10.625vw;\n}\n.station-card-list .list-container .card .card-btn .btn-roll-card-roll[data-v-4c72880c] {\n width: 5.83333vw;\n height: 1.875vw;\n line-height: 0.625vw;\n margin-top: 10.625vw;\n background-color: #0e70ff;\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/components/stationRollCallList.vue?vue&type=style&index=0&id=67ce2465&scoped=true&lang=scss": /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/components/stationRollCallList.vue?vue&type=style&index=0&id=67ce2465&scoped=true&lang=scss ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, ".tree-select[data-v-67ce2465] {\n width: 20.83333vw;\n line-height: 1.82292vw;\n color: #606266;\n}\n.tree-select .vue-treeselect__placeholder[data-v-67ce2465] {\n line-height: 1.82292vw;\n}\n.tree-select .vue-treeselect__control[data-v-67ce2465] {\n height: 1.82292vw !important;\n}\n.tree-select .vue-treeselect__placeholder[data-v-67ce2465],\n.tree-select .vue-treeselect__single-value[data-v-67ce2465] {\n line-height: 1.82292vw;\n}\n.station-roll-call-list[data-v-67ce2465] {\n width: 100%;\n height: 100%;\n}\n.station-roll-call-list .query[data-v-67ce2465] {\n width: 100%;\n height: 7.5vw;\n background: #f5faff;\n box-shadow: 0px 0.10417vw 0.41667vw 0px rgba(0, 0, 0, 0.04);\n margin-bottom: 1.25vw;\n padding: 1.25vw;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n justify-content: space-between;\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/polling/index.vue?vue&type=style&index=0&id=1ef811de&scoped=true&lang=scss": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/polling/index.vue?vue&type=style&index=0&id=1ef811de&scoped=true&lang=scss ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, ".polling[data-v-1ef811de] {\n width: 100%;\n height: 100%;\n padding: 1.66667vw 1.66667vw 0 1.66667vw;\n background: linear-gradient(180deg, #dbecff 0%, #eaf1ff 15%);\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/components/personCardList.vue?vue&type=style&index=0&id=8c25900a&scoped=true&lang=scss": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/components/personCardList.vue?vue&type=style&index=0&id=8c25900a&scoped=true&lang=scss ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js"); var ___CSS_LOADER_URL_IMPORT_0___ = __webpack_require__(/*! @/assets/images/rollManage/点名失败.png */ "./src/assets/images/rollManage/点名失败.png"); var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(/*! @/assets/images/rollManage/点名成功.png */ "./src/assets/images/rollManage/点名成功.png"); var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(/*! @/assets/images/rollManage/语音.png */ "./src/assets/images/rollManage/语音.png"); var ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(/*! @/assets/images/rollManage/视频.png */ "./src/assets/images/rollManage/视频.png"); exports = ___CSS_LOADER_API_IMPORT___(false); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___); var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___); var ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___); // Module exports.push([module.i, "@charset \"UTF-8\";\n.person-card-list[data-v-8c25900a] {\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n}\n.person-card-list .query[data-v-8c25900a] {\n width: 100%;\n height: 9.0625vw;\n background: #f5faff;\n box-shadow: 0px 0.10417vw 0.41667vw 0px rgba(0, 0, 0, 0.04);\n margin-bottom: 1.25vw;\n padding: 1.25vw;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n justify-content: space-between;\n}\n.person-card-list .list-container[data-v-8c25900a] {\n width: 100%;\n height: calc(100% - 9.0625vw - 2.5vw);\n display: grid;\n grid-template-columns: repeat(5, 1fr);\n padding: 0;\n overflow-x: hidden;\n}\n.person-card-list .list-container .card[data-v-8c25900a] {\n width: 15.46875vw;\n height: 10.41667vw;\n margin-right: 1.04167vw;\n background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);\n box-shadow: 0 0.41667vw 0.41667vw 0 rgba(0, 0, 0, 0.04);\n border-radius: 0;\n opacity: 1;\n border: 0.10417vw solid;\n -o-border-image: linear-gradient(180deg, rgb(255, 255, 255), rgba(255, 255, 255, 0)) 2 2;\n border-image: linear-gradient(180deg, rgb(255, 255, 255), rgba(255, 255, 255, 0)) 2 2;\n margin-bottom: 2.5vw;\n position: relative;\n /*flex 布局*/\n display: flex;\n /*实现垂直居中*/\n align-items: center;\n /*实现水平居中*/\n justify-content: center;\n}\n.person-card-list .list-container .card-employeeName[data-v-8c25900a] {\n position: absolute;\n top: 0.72917vw;\n left: 0.72917vw;\n font-size: 0.72917vw;\n font-family: \"PingFang SC, PingFang SC\";\n font-weight: 400;\n color: #333333;\n}\n.person-card-list .list-container .card-checkbox[data-v-8c25900a] {\n position: absolute;\n top: 0.72917vw;\n right: 0.72917vw;\n}\n.person-card-list .list-container .card-statusLabel[data-v-8c25900a] {\n font-size: 1.04167vw;\n font-family: \"Source Han Sans CN, Source Han Sans CN\";\n font-weight: 400;\n position: absolute;\n bottom: 0.72917vw;\n}\n.person-card-list .list-container .card-circle[data-v-8c25900a] {\n width: 4.84375vw;\n height: 4.84375vw;\n font-size: 1.25vw;\n font-weight: 400;\n line-height: 4.84375vw;\n text-align: center;\n color: #ffffff;\n opacity: 1;\n}\n.person-card-list .list-container .card .circle-failed[data-v-8c25900a] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");\n background-size: contain;\n}\n.person-card-list .list-container .card .circle-success[data-v-8c25900a] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ");\n background-size: contain;\n}\n.person-card-list .list-container .card .label-failed[data-v-8c25900a] {\n color: #f04545;\n}\n.person-card-list .list-container .card .label-success[data-v-8c25900a] {\n color: #4cd93f;\n}\n.person-card-list .bottom-tips[data-v-8c25900a] {\n color: #999;\n font-size: 0.83333vw;\n text-align: center;\n margin-bottom: 2.08333vw;\n width: 100%;\n grid-column: span 5;\n}\n[data-v-8c25900a] .dialog-roll-call .el-dialog__body {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 1.66667vw;\n}\n[data-v-8c25900a] .dialog-roll-call .el-dialog__body .btn-dispatch {\n width: 9.16667vw;\n height: 10vw;\n background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);\n box-shadow: 0px 0.41667vw 0.52083vw 0px rgba(0, 0, 0, 0.04);\n border-radius: 0.20833vw 0.20833vw 0.20833vw 0.20833vw;\n border: 1px solid #bdcfde;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n[data-v-8c25900a] .dialog-roll-call .el-dialog__body .btn-dispatch:hover {\n box-shadow: 0px 0.41667vw 0.52083vw 0px rgba(14, 112, 255, 0.16);\n border: 0.10417vw solid #0e70ff;\n color: #0e70ff;\n}\n[data-v-8c25900a] .dialog-roll-call .el-dialog__body .btn-dispatch-audio-img {\n display: block;\n width: 4.16667vw;\n height: 4.16667vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") no-repeat;\n background-size: 100% 100%;\n margin-bottom: 1.25vw;\n}\n[data-v-8c25900a] .dialog-roll-call .el-dialog__body .btn-dispatch-video-img {\n display: block;\n width: 4.16667vw;\n height: 4.16667vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") no-repeat;\n background-size: 100% 100%;\n margin-bottom: 1.25vw;\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/components/stationRollCallList.vue?vue&type=style&index=0&id=26b3da85&scoped=true&lang=scss": /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/components/stationRollCallList.vue?vue&type=style&index=0&id=26b3da85&scoped=true&lang=scss ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, ".tree-select[data-v-26b3da85] {\n width: 20.83333vw;\n line-height: 1.82292vw;\n color: #606266;\n}\n.tree-select .vue-treeselect__placeholder[data-v-26b3da85] {\n line-height: 1.82292vw;\n}\n.tree-select .vue-treeselect__control[data-v-26b3da85] {\n height: 1.82292vw !important;\n}\n.tree-select .vue-treeselect__placeholder[data-v-26b3da85],\n.tree-select .vue-treeselect__single-value[data-v-26b3da85] {\n line-height: 1.82292vw;\n}\n.station-roll-call-list[data-v-26b3da85] {\n width: 100%;\n height: 100%;\n}\n.station-roll-call-list .query[data-v-26b3da85] {\n width: 100%;\n height: 7.29167vw;\n background: #f5faff;\n box-shadow: 0px 0.10417vw 0.41667vw 0px rgba(0, 0, 0, 0.04);\n margin-bottom: 1.25vw;\n padding: 1.25vw;\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n justify-content: space-between;\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/views/rollCallManage/supervision/index.vue?vue&type=style&index=0&id=571a9cf1&scoped=true&lang=scss": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--9-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/rollCallManage/supervision/index.vue?vue&type=style&index=0&id=571a9cf1&scoped=true&lang=scss ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); exports = ___CSS_LOADER_API_IMPORT___(false); // Module exports.push([module.i, ".supervision[data-v-571a9cf1] {\n width: 100%;\n height: 100%;\n padding: 1.66667vw 1.66667vw 0 1.66667vw;\n background: linear-gradient(180deg, #dbecff 0%, #eaf1ff 15%);\n}", ""]); // Exports module.exports = exports; /***/ }), /***/ "./node_modules/vue-style-loader/index.js?!./node_modules/css-loader/dist/cjs.js?!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HuaweiVideo/M3U8Player.vue?vue&type=style&index=0&id=0e6fec95&scoped=true&lang=css": /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-style-loader??ref--7-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--7-oneOf-1-2!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/HuaweiVideo/M3U8Player.vue?vue&type=style&index=0&id=0e6fec95&scoped=true&lang=css ***! \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a