(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["business~home"],{ /***/ "./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/timApp/trtc/calling-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/timApp/trtc/calling-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_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_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __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_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __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_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_filter_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__ = __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_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_find_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __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_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__ = __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_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_iterator_map_js__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var vuex__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! vuex */ "./node_modules/vuex/dist/vuex.esm.js"); /* harmony import */ var _utils_formatDuration__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/utils/formatDuration */ "./src/utils/formatDuration.js"); /* harmony import */ var _api_bcxin_identify__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/api/bcxin/identify */ "./src/api/bcxin/identify.js"); /* harmony import */ var _api_room_controller__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/api/room-controller */ "./src/api/room-controller.js"); /* harmony import */ var _api_police_incident_controller__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/api/police-incident-controller */ "./src/api/police-incident-controller.js"); /* harmony import */ var _components_mixins_rtc__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/mixins/rtc */ "./src/components/mixins/rtc.js"); /* harmony import */ var screenfull__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! screenfull */ "./node_modules/screenfull/index.js"); /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! dayjs */ "./node_modules/dayjs/dayjs.min.js"); /* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(dayjs__WEBPACK_IMPORTED_MODULE_14__); /* harmony import */ var dayjs_locale_zh_cn__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! dayjs/locale/zh-cn */ "./node_modules/dayjs/locale/zh-cn.js"); /* harmony import */ var dayjs_locale_zh_cn__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(dayjs_locale_zh_cn__WEBPACK_IMPORTED_MODULE_15__); /* harmony import */ var dayjs_plugin_weekday__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! dayjs/plugin/weekday */ "./node_modules/dayjs/plugin/weekday.js"); /* harmony import */ var dayjs_plugin_weekday__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(dayjs_plugin_weekday__WEBPACK_IMPORTED_MODULE_16__); dayjs__WEBPACK_IMPORTED_MODULE_14___default.a.locale("zh-cn"); // 本地化 dayjs__WEBPACK_IMPORTED_MODULE_14___default.a.extend(dayjs_plugin_weekday__WEBPACK_IMPORTED_MODULE_16___default.a); // 第一天为周一 /* harmony default export */ __webpack_exports__["default"] = ({ name: "CallLayer", mixins: [_components_mixins_rtc__WEBPACK_IMPORTED_MODULE_12__["default"]], props: { memberList: { type: Array, default() { return []; } }, allMembers: { // 除调度人外所有可选的参与者 type: Array, default() { return []; } }, type: { type: String, validate: value => { return ["video", "audio"].includes(value); } }, audio: { type: Boolean, default: true }, video: { type: Boolean, default: true }, yardmanType: { type: String, default: "1" }, rollCall: { type: Boolean, default: false }, rollCallId: [String, Number] }, data() { return { deskType: localStorage.getItem("platform") === "2" ? "Proprietor" : localStorage.getItem("platform") === "3" ? "TemporarySecurity" : "Normal", conferenceLimit: 3600, // 会议时长上限 单位秒 默认一小时(3600秒) connectingLimit: 60, // 拨号时长上限 单位秒 默认 1分钟(60秒) showFooter: false, layout: 3, timeout: null, callType: 1, //1:audio,2:video Trtc: undefined, isCamOn: true, isMicOn: true, isInvitedMicOn: true, maskShow: false, isLocalMain: true, // 本地视频是否是主屏幕显示 start: 0, end: 0, duration: 0, hangUpTimer: 0, // 通话计时id ready: false, dialling: false, // 是否拨打电话中 calling: false, // 是否通话中 isDialled: false, // 是否被呼叫 inviteID: "", inviteData: {}, sponsor: "", //发起者 invitedUserID: [], //被邀请者 invitedNick: "", invitedUserInfo: [], defaultAvatar: "https://imgcache.qq.com/open/qcloud/video/act/webim-avatar/avatar-3.png", viewLocalDomID: "", callingUserList: [], // 参加通话的人 ,不包括自己 callingType: "C2C", //区分多人和C2C通话的UI样式 isStartLocalView: false, //本地是否开启 callingTips: { callEnd: 1, //通话结束 callTimeout: 5 }, roomId: "", disX: 0, disY: 0, down: false, currentDatetime: dayjs__WEBPACK_IMPORTED_MODULE_14___default()().format("YYYY-MM-DD dddd HH:mm:ss"), timeTik: 0, timeTikFormat: "", timer: null, timingTimer: null, currentDay: dayjs__WEBPACK_IMPORTED_MODULE_14___default()().day(), isFullscreen: false, showSwitchLayout: false, diallingTime: 0, diallingTimer: null, currentPage: 0, rightPanelVisible: true, rightPanelActiveName: "1", pickupVisible: false, pickupName: "", openTime: null, pickupMemberList: [], allMembersTimer: null, sosId: "", videoBoxes: 5, //默认视频时候显示5方,有些组织显示15 customizeOrgs: ["eGrmlAN1", "gZGdnW3U", "kJe5VD6U", "mli417t9", "3iT1CmoS"], //指定显示15方的组织 customizeOrgsNoLimit: ["Qg7WSfqc", "fWoCV2Df", "2r2IYLAy"] //不限制方数的组织 }; }, computed: { ...Object(vuex__WEBPACK_IMPORTED_MODULE_7__["mapGetters"])(["toAccount", "currentConversationType"]), ...Object(vuex__WEBPACK_IMPORTED_MODULE_7__["mapState"])({ currentConversation: state => state.conversation.currentConversation, callingInfo: state => state.conversation.callingInfo, videoRoom: state => state.video.videoRoom, currentUserProfile: state => state.user.currentUserProfile, userID: state => state.user.userID, userSig: state => state.user.userSig, sdkAppID: state => state.user.sdkAppID }), memberListSort() { return [...this.memberList].sort((a, b) => { var _a$state; return a === null || a === void 0 || (_a$state = a.state) === null || _a$state === void 0 ? void 0 : _a$state.localeCompare(b === null || b === void 0 ? void 0 : b.state); }); }, memberListMoreSort() { return function (num) { return [...this.memberList].slice((num - 1) * (num <= 2 ? 8 : 9), (num <= 2 ? 8 : 9) * num).filter(x => x !== null && x !== undefined).sort((a, b) => { var _a$state2; return a === null || a === void 0 || (_a$state2 = a.state) === null || _a$state2 === void 0 ? void 0 : _a$state2.localeCompare(b === null || b === void 0 ? void 0 : b.state); }); }; }, containerTranslate() { return { transform: `translate(${-this.currentPage * 100}%,0)` }; }, tabsLabelConnecting() { return `调度中(${this.memberList.filter(x => x.state !== "DISCONNECTED").length})`; }, tabsLabelDisconnecting() { return `断联(${this.memberList.filter(x => x.state === "DISCONNECTED").length})`; }, formatDurationStr() { return Object(_utils_formatDuration__WEBPACK_IMPORTED_MODULE_8__["formatDuration"])(this.duration); }, myAvatar() { return this.currentUserProfile.avatar || this.defaultAvatar; }, myNick() { return this.currentUserProfile.nick || this.userID; }, remoteUserName() { return function (id) { var _this$memberList$find; console.log("remoteUserId", id); console.log(this.memberList.find(x => x.tencentUserId === id)); return ((_this$memberList$find = this.memberList.find(x => x.tencentUserId === id)) === null || _this$memberList$find === void 0 ? void 0 : _this$memberList$find.name) || ""; }; } }, created() { this.initListener(); this.setTimer(); const userInfo = localStorage.getItem("userInfo"); if (userInfo) { this.videoBoxes = this.customizeOrgs.includes(JSON.parse(userInfo).organizationId) ? 15 : 5; this.videoBoxes = this.customizeOrgsNoLimit.includes(JSON.parse(userInfo).organizationId) ? 10000 : 5; } }, watch: { memberList: { handler(value) { const offlineMembers = [...value].filter(x => x.state === "DISCONNECTED").length; // console.log("offline members", offlineMembers, value.length); if (offlineMembers >= value.length /* && process.env.VUE_APP_ENV !== "development"*/ && (this.calling || this.dialling)) { this.handleLeave(); } }, deep: true, immediate: true }, /** * * 一对一被调度方没有接的话1分钟后调度方直接结束 * @param value */ diallingTime(value) { if (value && value >= 60 /*&& process.env.VUE_APP_ENV !== "development"*/) { this.handleLeave(true); } }, /** * * 监听已调度时长,超过限度conferenceLimit(一小时)就自动挂断 * @param val */ timeTik(val) { if (val && val > this.conferenceLimit * 1000) { this.handleLeave(); } } }, destroyed() { this.removeListener(); window.addEventListener("beforeunload", () => { this.videoCallLogOut(); }); window.addEventListener("leave", () => { this.videoCallLogOut(); }); if (this.timer) { clearTimeout(this.timer); this.timer = null; } if (this.timingTimer) { clearTimeout(this.timingTimer); this.timingTimer = null; } this.endDialingTimeCounting(); }, mounted() { this.$bus.$on("video-call", this.videoCalling); // 发起通话 this.$bus.$on("audio-call", this.audioCalling); // 发起通话 }, beforeDestroy() { this.$bus.$off("video-call", this.videoCalling); this.$bus.$off("audio-call", this.audioCalling); // 发起通话 }, methods: { onOpen() { this.pickupMemberList = this.allMembers.filter(x => !x.active); }, queryPickup(val) { if (val) { this.pickupMemberList = this.allMembers.filter(x => { return x.name.indexOf(val) >= 0 && !x.active; }); } else { this.pickupMemberList = this.allMembers.filter(x => !x.active); } }, /** * @后台拨号接口 * @param roomId * @param MemberList * @param UseList */ sendRoomMessage(roomId, MemberList, UseList) { const userInfo = localStorage.getItem("userInfo"); if (userInfo) { const user = JSON.parse(userInfo); const params = { RoomNo: roomId, //房间 type: this.type, //video or audio MemberList, name: user.name, //调度者名称 Yardman_Name: user.tencentUserId, //调度者名称 Yardman_Task_Name: "个人调度", //调度任务名称 Yardman_Type: this.yardmanType, //调度类型:1视频调度 2 视频上拉:除了视频上拉传2,其他音频调度与视频调度都传1 yardmanType: this.yardmanType, //调度类型:1视频调度 2 视频上拉:除了视频上拉传2,其他音频调度与视频调度都传1 Yardman_Task_Explain: "任务说明", //调度任务说明,非必填 // Transcriber: "", //录制人员cid,多个逗号隔开,非必填 Originator: user.tencentUserId + ";" + user.tencentUserId, //发起人cid;useid //被调度视频人员,跟MemberList一一对应uid;employeeid;organizationId;name;type,... UseList, ComId: user.organizationId //调度者公司id }; // 后端去给被调度者的app拨号 Object(_api_bcxin_identify__WEBPACK_IMPORTED_MODULE_9__["sendVideoRoomMsg"])(params).then(res => { console.log(res); if (this.memberList.length >= 3) { this.layout = 6; if (this.memberList.length >= 6) { this.layout = 9; } } }).catch(({ response: { data } }) => { console.log(data); const { message } = data; this.addFailedLog(message); }); } }, /** * @添加人员 */ addMembers() { const members = this.allMembers.filter(x => !x.active && x.checked); console.log("addMembers", members); if (!members || members.length === 0) { return; } console.log("%c add member memberList", "background: #00cc00; color: #fff; border-radius: 3px;padding:2px 5px", this.memberList); console.log("%c add member members", "background: #00cc00; color: #fff; border-radius: 3px;padding:2px 5px", members); if (this.type === "audio" || members.length + this.memberList.length <= this.videoBoxes) { Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["inviteUsers"])(this.roomId, { roomUsers: members.map(x => { return { employeeId: x.id, organizationId: x.organizationId, tencentUserId: x.tencentUserId, securityStationId: x.securityStationId, superviseDepartId: x.superviseDepartId }; }) }).then(async res => { const { roomId, roomUsers } = res; // this.memberList.push(...members); roomUsers.forEach(user => { const member = this.allMembers.find(x => x.id === user.employeeId); if (member) this.memberList.push({ ...member, state: "CONNECTING" }); this.allMembers.forEach(member => { member.checked = false; if (member.id === user.employeeId) { member.active = true; } }); }); this.$emit("update:memberList", [...this.memberList]); const allMembers = [...this.allMembers]; this.$emit("update:allMembers", allMembers); // 重新触发服务端拨号 const memberList = roomUsers.map(x => { return x.cid; }).join(","); const UseList = members.map(x => { const { id, organizationId, tencentUserId, name } = x; return `${tencentUserId};${id};${organizationId};${name};${this.type}`; }).join(","); this.sendRoomMessage(roomId, memberList, UseList); }).catch(({ response: { data } }) => { console.log(data); const { message } = data; this.addFailedLog(message); }); this.pickupVisible = false; } else { this.$store.commit("showMessage", { message: "最多选择15名被调度人" }); } }, clearPickup() { this.allMembers.forEach(member => { if (!member.active) { member.checked = false; } }); }, /** * @移除人员 */ kickOut(tencentUserId) { Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["kickOutUser"])(this.roomId, tencentUserId).then(res => { console.log(res); // memberList移除踢出的成员 const memberList = [...this.memberList]; memberList.forEach(item => { if (item.tencentUserId === tencentUserId) { item.state = "DISCONNECTED"; item.beKickOut = true; } }); // memberList.splice( // memberList.findIndex((item) => item.tencentUserId === tencentUserId), // 1 // ); // if (this.memberList.length >= 3) { // this.layout = 6; // if (this.memberList.length >= 6) { // this.layout = 9; // } // } this.$emit("update:memberList", memberList); this.$emit("kickOut", tencentUserId); // const allMembers = [...this.allMembers]; // allMembers.forEach((member) => { // if ((member.tencentUserId = tencentUserId)) { // member.active = false; // } // }); // this.$emit("update:allMembers", allMembers); }).catch(({ response: { data } }) => { console.log(data); const { message } = data; this.addFailedLog(message); }); }, recall(member) { Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["inviteUsers"])(this.roomId, { roomUsers: [member].map(x => { return { employeeId: x.id, organizationId: x.organizationId, tencentUserId: x.tencentUserId, securityStationId: x.securityStationId, superviseDepartId: x.superviseDepartId }; }) }).then(async res => { const { roomId, roomUsers } = res; console.log(roomUsers); console.log(roomId); // this.memberList.push(...members); roomUsers.forEach(user => { this.allMembers.forEach(member => { member.checked = false; if (member.id === user.employeeId) { member.active = true; } }); this.memberList.forEach(member => { if (member.id === user.employeeId) { member.state = "CONNECTING"; member.beKickOut = false; member.hangup = false; } }); this.$emit("update:memberList", JSON.parse(JSON.stringify(this.memberList))); }); // 重新触发服务端拨号 const memberList = roomUsers.map(x => { return x.cid; }).join(","); const UseList = [member].map(x => { const { id, organizationId, tencentUserId, name } = x; // const item_cid = cid || tencentUserId // uidList.push(`${tencentUserId};${id};${organizationId};${name};${type}`) return `${tencentUserId};${id};${organizationId};${name};${this.type}`; }).join(","); this.sendRoomMessage(roomId, memberList, UseList); }).catch(({ response: { data } }) => { console.log(data); const { message } = data; this.addFailedLog(message); }); }, /** * @全员禁音 */ muteAll() { // console.log("remoteStreamList",this.remoteStreamList); // this.remoteStreamList.forEach((remoteStream) => remoteStream.muteAudio()); let tencentUserIds = []; Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["roomActions"])(this.roomId, { action: "stopWord", //全员静音 tencentUserIds: tencentUserIds.concat(this.memberList.map(x => { return x.tencentUserId; })) }).then(async () => {}).catch(() => {}); }, /** * @解除全员禁音 */ unMuteAll() { // this.remoteStreamList.forEach((remoteStream) => remoteStream.unmuteAudio()); let tencentUserIds = []; Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["roomActions"])(this.roomId, { action: "openWord", //全员解除静音 tencentUserIds: tencentUserIds.concat(this.memberList.map(x => { return x.tencentUserId; })) }).then(async () => {}).catch(() => {}); }, setRightPanelVisible() { this.rightPanelVisible = !this.rightPanelVisible; }, handleRightPanelTabClick() {}, pagePre() { this.currentPage--; if (this.currentPage < 0) { this.currentPage = Math.ceil(this.memberList.length / 9) - 1; } }, pageNext() { this.currentPage++; if (this.currentPage > Math.ceil((this.memberList.length + 1) / 9) - 1) { this.currentPage = 0; } }, setTimer() { this.timer = setTimeout(() => { this.currentDatetime = dayjs__WEBPACK_IMPORTED_MODULE_14___default()().format("YYYY-MM-DD dddd HH:mm:ss"); this.setTimer(); }, 1000); }, setTimingTimer() { this.timingTimer = setTimeout(() => { if (this.calling || this.dialling) { this.timeTik = dayjs__WEBPACK_IMPORTED_MODULE_14___default()().diff(this.openTime) || 0; console.log("timeTik", this.timeTik); this.timeTikFormat = dayjs__WEBPACK_IMPORTED_MODULE_14___default()(this.timeTik).format("mm:ss"); } this.setTimingTimer(); }, 1000); }, /** * 监听鼠标移动事件 * @param evt */ onmousedown(evt) { // event的兼容性 const ev = evt || event; // 获取鼠标按下的坐标 const x1 = ev.clientX; const y1 = ev.clientY; // 获取元素的left,top值 const l = this.$refs.container.offsetLeft; const t = this.$refs.container.offsetTop; // 给可视区域添加鼠标的移动事件 document.onmousemove = eve => { // event的兼容性 const evn = eve || event; // 获取鼠标移动时的坐标 const x2 = evn.clientX; const y2 = evn.clientY; // 计算出鼠标的移动距离 const x = x2 - x1; const y = y2 - y1; // 移动的数值与元素的left,top相加,得出元素的移动的距离 const lt = y + t; const ls = x + l; // 更改元素的left,top值 this.$refs.container.style.top = lt + "px"; this.$refs.container.style.left = ls + "px"; this.$emit("move", [ls, lt]); }; }, onmouseup(evt) { const evn = evt || event; this.down = false; document.removeEventListener("mousemove", this.onResize); document.onmousemove = null; document.onmousedown = null; document.onmouseup = null; const x2 = evn.clientX; const y2 = evn.clientY; this.$emit("moveEnd", [x2, y2]); }, handleMousedown(e) { this.down = true; this.disX = e.clientX - this.$refs.resize.offsetLeft; this.disY = e.clientY - this.$refs.resize.offsetTop; document.addEventListener("mousemove", this.onResize); document.onmouseup = () => { this.down = false; document.removeEventListener("mousemove", this.onResize); }; }, // 显示失败的 Log addFailedLog(message) { this.$store.commit("showMessage", { message, type: "error" }); }, // 远端用户进房事件 handlePeerJoin(userID) { // if (this.callingUserList.indexOf(userID) === -1) { // this.callingUserList.push(userID); // } this.memberList.forEach(member => { if (member.tencentUserId === userID) { member.state = "CONNECTED"; } // list.push(member); }); }, // 远端用户退房事件 handlePeerLeave(userID) { this.memberList.forEach(member => { if (member.tencentUserId === userID) { member.state = "DISCONNECTED"; } }); console.log(this.memberList); }, addSuccessLog(message) { this.$store.commit("showMessage", { message }); }, async videoCalling(sosId) { if (sosId) { this.sosId = sosId; } else { this.sosId = ""; } this.openTime = dayjs__WEBPACK_IMPORTED_MODULE_14___default()(); this.setTimingTimer(); // res.data.message.nick = this.currentUserProfile.nick; // this.$store.commit("pushCurrentMessageList", res.data.message); // this.changeState("dialling", true); this.layout = 3; if (this.memberList.length >= 3) { this.layout = 6; if (this.memberList.length >= 6) { this.layout = 9; } } console.log(this.allMembers.filter(x => !x.active)); console.log(this.type); const userInfo = localStorage.getItem("userInfo"); let roomUsers = []; if (userInfo) { const user = JSON.parse(userInfo); console.log(user); // console.log(this.memberList); roomUsers.push({ employeeId: user.employeeId, organizationId: user.organizationId, tencentUserId: user.tencentUserId, securityStationId: "", superviseDepartId: "", sponsor: true }); console.log("%c videoCalling memberList", "background: #00cc00; color: #fff; border-radius: 3px;padding:2px 5px", this.memberList); const roomParams = { roomUsers: roomUsers.concat(this.memberList.map(x => { return { employeeId: x.id, organizationId: x.organizationId, tencentUserId: x.tencentUserId, securityStationId: x.securityStationId, superviseDepartId: x.superviseDepartId, sponsor: false }; })), communicatedType: this.type === "video" ? "Video" : "Audio", //新增传参 yardmanType: this.yardmanType, //调度类型:1视频调度 2 视频上拉:除了视频上拉传2,其他音频调度与视频调度都传1 deskType: this.deskType }; const params = this.rollCall ? { ...roomParams, referenceType: "RollCall", referenceNumber: this.rollCallId } : { ...roomParams }; Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["getRooms"])(params).then(async res => { const { id, roomUsers } = res; console.log(id); if (id <= 0) { this.addFailedLog(`被调度人所在企业联动值不足, 无法进行调度。`); return false; } else { this.dialling = true; // 拨号中 this.$store.commit("TOGGLE_DISPATCHING", true); // 1v1或者视频上拉时,计算拨号时长 this.startDialingTimeCounting(); // 分别对所有参会人计时 this.setAllMembersTimer(); // 初始化客户端 await this.initClient(); this.roomId = id; this.$store.commit("SET_ROOM_ID", this.roomId); // 加入房间 await this.join(); try { await this.initLocalStream({ audio: this.audio, video: this.video }); // 初始话本地流 await this.playLocalStream(); // 播放本地流 await this.publish(); // 发布本地流 } catch (error) { throw new Error(error); } const memberList = roomUsers.filter(item => item.cid && item.sponsor === false).map(x => { return x.cid; }).join(","); const UseList = this.memberList.map(x => { const { id, organizationId, tencentUserId, name } = x; return `${tencentUserId};${id};${organizationId};${name};${this.type}`; }).join(","); this.sendRoomMessage(this.roomId, memberList, UseList); } }).catch(({ response }) => { console.log(response); this.addFailedLog(`${response.data.message}`); }); } }, /** * @1v1或者视频上拉时,计算拨号时长 */ startDialingTimeCounting() { if (this.yardmanType === "2" || this.memberList.length < 2) { this.diallingTimer = setInterval(() => { this.diallingTime += 1; }, 1000); } }, /** * @结束拨号计时 */ endDialingTimeCounting() { if (this.diallingTimer) { clearInterval(this.diallingTimer); this.diallingTimer = null; this.diallingTime = 0; // this.$message.warning("对方未接听,已离开房间") } }, audioCalling() {}, videoCallLogOut() {}, initListener() { console.log("init trtc listener"); }, removeListener() {}, handleDebounce(func, wait) { let context = this; let args = arguments; if (this.timeout) clearTimeout(this.timeout); this.timeout = setTimeout(() => { func.apply(context, args); }, wait); }, //说是会出现20秒后突然结束的情况,先不使用 handleLeaveNo() { this.endDialingTimeCounting(); if (this.allMembersTimer) { clearInterval(this.allMembersTimer); this.allMembersTimer = null; } // timingTimer if (this.timingTimer) { clearInterval(this.timingTimer); this.timingTimer = null; } this.pickupVisible = false; this.timeTikFormat = ""; this.leave().then(async () => { try { this.dialling = false; this.isMutedVideo = false; this.isMutedAudio = false; this.rightPanelVisible = true; this.rightPanelActiveName = "1"; const memberList = this.memberList.map(x => { return { ...x, state: "CONNECTING", action: "", timer: 0, timeout: false, beKickOut: false, hangup: false, isSpeaking: false }; }); this.$emit("update:memberList", memberList); this.$store.commit("TOGGLE_DISPATCHING", false); this.$store.commit("SET_ROOM_ID", null); Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["leave"])(this.roomId).then(res => { console.log(res); }); } catch (error) { console.error("leave room error", error); this.addFailedLog(`Leave room failed. Error: ${error.message}`); // this.reportFailedEvent("leaveRoom", error); // throw error; } try { await Object(_api_bcxin_identify__WEBPACK_IMPORTED_MODULE_9__["exitRoom"])({ roomNo: this.roomId }); } catch (error) { console.error("exitRoom error", error); this.addFailedLog(`exitRoom failed. Error: ${error.message}`); } try { if (this.sosId) { await Object(_api_police_incident_controller__WEBPACK_IMPORTED_MODULE_11__["policeIncidentsSosHandle"])(this.sosId); } } catch (error) { console.error("policeIncidentsSosHandle error", error); this.addFailedLog(`policeIncidentsSosHandle failed. Error: ${error.message}`); } }); }, handleLeave() { this.endDialingTimeCounting(); if (this.allMembersTimer) { clearInterval(this.allMembersTimer); this.allMembersTimer = null; } // timingTimer if (this.timingTimer) { clearInterval(this.timingTimer); this.timingTimer = null; } this.pickupVisible = false; this.timeTikFormat = ""; this.leave().then(() => { this.dialling = false; this.isMutedVideo = false; this.isMutedAudio = false; this.rightPanelVisible = true; this.rightPanelActiveName = "1"; const memberList = this.memberList.map(x => { return { ...x, state: "CONNECTING", action: "", timer: 0, timeout: false, beKickOut: false, hangup: false, isSpeaking: false }; }); this.$emit("update:memberList", memberList); this.$store.commit("TOGGLE_DISPATCHING", false); this.$store.commit("SET_ROOM_ID", null); Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["leave"])(this.roomId).then(res => { console.log(res); }); try { if (this.sosId) { Object(_api_police_incident_controller__WEBPACK_IMPORTED_MODULE_11__["policeIncidentsSosHandle"])(this.sosId); } } catch (error) { console.error("policeIncidentsSosHandle error", error); this.addFailedLog(`policeIncidentsSosHandle failed. Error: ${error.message}`); } }); }, handleMuteAudio() { if (this.isMutedAudio) { this.unmuteAudio(); } else { this.muteAudio(); } }, handleMuteVideo() { if (this.isMutedVideo) { this.unmuteVideo(); } else { this.muteVideo(); } }, handleScreen() { if (screenfull__WEBPACK_IMPORTED_MODULE_13__["default"].isEnabled) { // console.log("screen",this.$refs.container) screenfull__WEBPACK_IMPORTED_MODULE_13__["default"].toggle(this.$refs.container); this.isFullscreen = !this.isFullscreen; if (!this.isFullscreen) { this.$refs.container.style.top = "0"; this.$refs.container.style.left = "50%"; this.$refs.container.style.transform = "translate(-50%, 0)"; } } }, switchLayout() { this.showSwitchLayout = !this.showSwitchLayout; }, /** * @参会人举手 * @param member */ memberHandUp(member) { const { action, tencentUserId } = member; this.memberAction(action, [tencentUserId]); }, /** * @参会人静音 * @param member */ memberMute({ tencentUserId }) { this.memberAction("stopWord", [tencentUserId]); }, /** * @参会人解除静音 * @param member */ memberUnmute({ tencentUserId }) { this.memberAction("openWord", [tencentUserId]); }, /** * @参会人禁用视频 * @param member */ memberVideoOff({ tencentUserId }) { this.memberAction("camOff", [tencentUserId]); }, /** * @参会人启用视频 * @param member */ memberVideoOn({ tencentUserId }) { this.memberAction("camOn", [tencentUserId]); }, /** * @处理事件 * @param action * @param tencentUserIds */ memberAction(action, tencentUserIds) { Object(_api_room_controller__WEBPACK_IMPORTED_MODULE_10__["roomActions"])(this.roomId, { action, tencentUserIds }).then(res => { console.log(res); // 如果发起动作为启、禁音视频。返回成功后去掉举手图标 const memberList = [...this.memberList]; tencentUserIds.forEach(id => { memberList.forEach(member => { if (member.tencentUserId === id) { member.action = ""; } }); }); this.$emit("update:memberList", memberList); }).catch(err => { console.log(err); }); }, /** * @显示用户名的提示 * @param id * @param message * @param err */ userLog(id, message, err = false) { const user = this.memberList.find(member => member.tencentUserId === id); if (user) { console.log(user); if (err) { this.addFailedLog(`[${user.name}] ${message}`); } else { this.addSuccessLog(`[${user.name}] ${message}`); } } }, /** * * 每秒对每个参会成员的 */ setAllMembersTimer() { this.allMembersTimer = setInterval(() => { this.memberList.forEach(member => { const hasKey = Object.prototype.hasOwnProperty.call(member, "timer"); const beKickOut = member.beKickOut; if (!hasKey || beKickOut || member.state === "CONNECTED") { member.timer = 0; } else { // console.log("现在的人员状态是。。", member.state); if (member.timer < this.connectingLimit && member.state === "CONNECTING") { member.timer++; member.timeout = false; } else { // console.log("进入了超时判断", member.state); if (member.state !== "DISCONNECTED") { member.timer = 0; member.timeout = true; member.state = "DISCONNECTED"; } } } }); this.$emit("update:memberList", JSON.parse(JSON.stringify(this.memberList))); console.log("%c memberList", "background: #00cc00; color: #fff; border-radius: 3px;padding:2px 5px", this.memberList); }, 1000); }, memberSpeaking(id) { this.memberList.forEach(member => { member.isSpeaking = member.tencentUserId === id; }); this.$emit("update:memberList", JSON.parse(JSON.stringify(this.memberList))); } } }); /***/ }), /***/ "./node_modules/cache-loader/dist/cjs.js?{\"cacheDirectory\":\"node_modules/.cache/vue-loader\",\"cacheIdentifier\":\"467b2b6f-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/timApp/trtc/calling-index.vue?vue&type=template&id=5349f86d&scoped=true": /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"467b2b6f-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/timApp/trtc/calling-index.vue?vue&type=template&id=5349f86d&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_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__); var render = function render() { var _vm = this, _c = _vm._self._c; return _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.dialling || _vm.calling || _vm.isDialled, expression: "dialling || calling || isDialled" }], ref: "container", staticClass: "call-container", class: [_vm.allMembers && _vm.allMembers.length > 0 && _vm.rightPanelVisible ? "call-container-show-right-panel" : "", _vm.yardmanType === "2" && _vm.memberList.length < 2 ? "call-container-remote-only" : "", _vm.isFullscreen ? "call-container-full" : ""] }, [_c("div", { staticClass: "header", on: { mousedown: function ($event) { return _vm.onmousedown($event); }, mouseup: _vm.onmouseup, dblclick: _vm.handleScreen } }, [_c("div", { staticClass: "timeTik" }, [_vm._v("调度时长 " + _vm._s(_vm.timeTikFormat))]), _c("div", { staticClass: "item time" }, [_vm._v(_vm._s(_vm.currentDatetime))]), _c("i", { staticClass: "item icon", class: _vm.isFullscreen ? "narrow" : "fullscreen", on: { click: _vm.handleScreen } }), _c("i", { staticClass: "item icon close", on: { click: function ($event) { $event.preventDefault(); return _vm.handleLeave(); } } })]), _vm.memberList.length > 0 && _vm.memberList.length < 9 ? _c("div", { staticClass: "container", class: ["container-" + (_vm.memberList.length >= 2 ? _vm.layout : ""), _vm.memberList.length < 2 && _vm.yardmanType === "2" ? "container-remote-only" : "", _vm.memberList.length < 2 && _vm.yardmanType === "1" ? "container-C2C" : ""] }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.yardmanType === "1", expression: "yardmanType === '1'" }], staticClass: "stream-content", attrs: { id: "localStream" } }, [_c("el-avatar", { directives: [{ name: "show", rawName: "v-show", value: _vm.type === "audio" || _vm.isMutedVideo, expression: "type === 'audio' || isMutedVideo" }], attrs: { size: 60 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(_vm.currentUserProfile.nick))])]), _c("div", { staticClass: "info" }, [_c("span", { staticClass: "name" }, [_vm._v(_vm._s(_vm.currentUserProfile.nick))]), _c("i", { staticClass: "micro-status", class: "micro-status-" + (_vm.isMutedAudio ? "off" : "on") })])], 1), _vm._l(_vm.memberListSort, function (item) { var _vm$remoteStreamList$; return _c("div", { key: item.id, staticClass: "stream-content", class: [_vm.type === "audio" ? "stream-content-audio" : "", item.state ? "stream-content-" + item.state : "stream-content-CONNECTING"], attrs: { id: item.tencentUserId } }, [_vm.type === "audio" ? _c("el-avatar", { directives: [{ name: "show", rawName: "v-show", value: item.state === "CONNECTED", expression: "item.state === 'CONNECTED'" }], attrs: { size: 60 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(item.name))])]) : _vm._e(), _c("div", { staticClass: "info" }, [_c("span", { staticClass: "name" }, [_vm._v(_vm._s(item.name))]), _c("i", { staticClass: "micro-status", class: "micro-status-" + ((_vm$remoteStreamList$ = _vm.remoteStreamList.find(x => x.getUserId() === item.tencentUserId)) !== null && _vm$remoteStreamList$ !== void 0 && _vm$remoteStreamList$.hasAudio() ? "on" : "off") }), item.action === "handUp" || item.action === "cheese" ? _c("i", { staticClass: "icon-hand-up" }) : _vm._e()])], 1); })], 2) : _c("div", { staticClass: "container container-pagination" }, [_c("i", { staticClass: "container-pagination-arrow container-pagination-arrow-left", on: { click: _vm.pagePre } }), _c("i", { staticClass: "container-pagination-arrow container-pagination-arrow-right", on: { click: _vm.pageNext } }), _vm._l(Math.ceil((_vm.memberList.length + 1) / 9), function (num) { return _c("div", { key: num, class: "container-pagination-" + num, style: _vm.containerTranslate }, [num === 1 ? _c("div", { staticClass: "container-pagination-item" }, [_c("div", { staticClass: "stream-content", attrs: { id: "localStream" } }, [_c("el-avatar", { directives: [{ name: "show", rawName: "v-show", value: _vm.type === "audio" || _vm.isMutedVideo, expression: "type === 'audio' || isMutedVideo" }], attrs: { size: 60 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(_vm.currentUserProfile.nick))])]), _c("div", { staticClass: "info" }, [_c("span", { staticClass: "name" }, [_vm._v(_vm._s(_vm.currentUserProfile.nick))]), _c("i", { staticClass: "micro-status", class: "micro-status-" + (_vm.isMutedAudio ? "off" : "on") })])], 1), _vm._l(_vm.memberListMoreSort(num), function (item, index) { var _vm$remoteStreamList$2; return _c("div", { key: index, staticClass: "stream-content", class: [_vm.type === "audio" ? "stream-content-audio" : "", item.state ? "stream-content-" + item.state : "stream-content-CONNECTING"], attrs: { id: item.tencentUserId } }, [_vm.type === "audio" ? _c("el-avatar", { directives: [{ name: "show", rawName: "v-show", value: item.state === "CONNECTED", expression: "item.state === 'CONNECTED'" }], attrs: { size: 60 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(item.name))])]) : _vm._e(), _c("div", { staticClass: "info" }, [_c("span", { staticClass: "name" }, [_vm._v(_vm._s(item.name))]), _c("i", { staticClass: "micro-status", class: "micro-status-" + ((_vm$remoteStreamList$2 = _vm.remoteStreamList.find(x => x.getUserId() === item.tencentUserId)) !== null && _vm$remoteStreamList$2 !== void 0 && _vm$remoteStreamList$2.hasAudio() ? "on" : "off") }), item.action === "handUp" || item.action === "cheese" ? _c("i", { staticClass: "icon-hand-up" }) : _vm._e()])], 1); })], 2) : _c("div", { staticClass: "container-pagination-item" }, _vm._l(_vm.memberListMoreSort(num), function (item, index) { var _vm$remoteStreamList$3; return _c("div", { key: index, staticClass: "stream-content", class: [_vm.type === "audio" ? "stream-content-audio" : "", item.state ? "stream-content-" + item.state : "stream-content-CONNECTING"], attrs: { id: item.tencentUserId } }, [_vm.type === "audio" ? _c("el-avatar", { directives: [{ name: "show", rawName: "v-show", value: item.state === "CONNECTED", expression: "item.state === 'CONNECTED'" }], attrs: { size: 60 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(item.name))])]) : _vm._e(), _c("div", { staticClass: "info" }, [_c("span", { staticClass: "name" }, [_vm._v(_vm._s(item.name))]), _c("i", { staticClass: "micro-status", class: "micro-status-" + ((_vm$remoteStreamList$3 = _vm.remoteStreamList.find(x => x.getUserId() === item.tencentUserId)) !== null && _vm$remoteStreamList$3 !== void 0 && _vm$remoteStreamList$3.hasAudio() ? "on" : "off") }), item.action === "handUp" || item.action === "cheese" ? _c("i", { staticClass: "icon-hand-up" }) : _vm._e()])], 1); }), 0)]); })], 2), _vm.allMembers && _vm.allMembers.length > 0 ? _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.rightPanelVisible, expression: "rightPanelVisible" }], staticClass: "right-panel" }, [_c("div", { staticClass: "right-panel-title" }, [_c("span", [_vm._v("参会人")]), _c("i", { staticClass: "icon icon-close", on: { click: _vm.setRightPanelVisible } })]), _c("el-tabs", { on: { "tab-click": _vm.handleRightPanelTabClick }, model: { value: _vm.rightPanelActiveName, callback: function ($$v) { _vm.rightPanelActiveName = $$v; }, expression: "rightPanelActiveName" } }, [_c("el-tab-pane", { attrs: { label: _vm.tabsLabelConnecting, name: "1" } }, [_c("div", { staticClass: "room-member-list" }, [_c("div", { staticClass: "room-member-list-item" }, [_c("div", { staticClass: "info" }, [_c("el-avatar", { attrs: { size: 40 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(_vm.currentUserProfile.nick))])]), _c("div", { staticClass: "name" }, [_c("span", { staticClass: "value" }, [_vm._v(_vm._s(_vm.currentUserProfile.nick) + "(我)")]), _c("span", { staticClass: "tag" }, [_vm._v("调度员")])])], 1), _c("div", { staticClass: "stream-controller" }, [_vm.isMutedAudio ? _c("i", { staticClass: "btn btn-mute", attrs: { title: "取消静音" }, on: { click: function ($event) { return _vm.handleDebounce(_vm.handleMuteAudio, 500); } } }) : _vm._e(), !_vm.isMutedAudio ? _c("i", { staticClass: "btn btn-unmute", attrs: { title: "静音" }, on: { click: function ($event) { return _vm.handleDebounce(_vm.handleMuteAudio, 500); } } }) : _vm._e(), _vm.type === "video" && _vm.yardmanType === "1" && _vm.isMutedVideo ? _c("i", { staticClass: "btn btn-videoOn", attrs: { title: "开启视频" }, on: { click: function ($event) { return _vm.handleDebounce(_vm.handleMuteVideo, 500); } } }) : _vm._e(), _vm.type === "video" && _vm.yardmanType === "1" && !_vm.isMutedVideo ? _c("i", { staticClass: "btn btn-videoOff", attrs: { title: "关闭视频" }, on: { click: function ($event) { return _vm.handleDebounce(_vm.handleMuteVideo, 500); } } }) : _vm._e()])]), _vm._l(_vm.memberList.filter(x => x.state !== "DISCONNECTED"), function (item, index) { var _vm$remoteStreamList$4, _vm$remoteStreamList$5, _vm$remoteStreamList$6, _vm$remoteStreamList$7, _vm$remoteStreamList$8; return _c("div", { key: index, staticClass: "room-member-list-item" }, [_c("div", { staticClass: "info" }, [_c("el-avatar", { attrs: { size: 40 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(item.nameSlice))])]), _c("div", { staticClass: "name" }, [_c("span", { staticClass: "value" }, [_vm._v(_vm._s(item.name))])])], 1), _c("div", { staticClass: "stream-controller" }, [item.isSpeaking && (_vm$remoteStreamList$4 = _vm.remoteStreamList.find(x => x.getUserId() === item.tencentUserId)) !== null && _vm$remoteStreamList$4 !== void 0 && _vm$remoteStreamList$4.hasAudio() ? _c("span", { staticStyle: { color: "#ffffff", "font-size": "10px" } }, [_vm._v("正在讲话...")]) : _vm._e(), item.action === "handUp" || item.action === "cheese" ? _c("i", { staticClass: "btn btn-handup" }) : _vm._e(), (_vm$remoteStreamList$5 = _vm.remoteStreamList.find(x => x.getUserId() === item.tencentUserId)) !== null && _vm$remoteStreamList$5 !== void 0 && _vm$remoteStreamList$5.hasAudio() ? _c("i", { staticClass: "btn btn-unmute", attrs: { title: "静音" }, on: { click: function ($event) { return _vm.memberMute(item); } } }) : _vm._e(), !((_vm$remoteStreamList$6 = _vm.remoteStreamList.find(x => x.getUserId() === item.tencentUserId)) !== null && _vm$remoteStreamList$6 !== void 0 && _vm$remoteStreamList$6.hasAudio()) ? _c("i", { staticClass: "btn btn-mute", attrs: { title: "取消静音" }, on: { click: function ($event) { return _vm.memberUnmute(item); } } }) : _vm._e(), _vm.type === "video" && _vm.yardmanType === "1" && (_vm$remoteStreamList$7 = _vm.remoteStreamList.find(x => x.getUserId() === item.tencentUserId)) !== null && _vm$remoteStreamList$7 !== void 0 && _vm$remoteStreamList$7.hasVideo() ? _c("i", { staticClass: "btn btn-videoOff", attrs: { title: "关闭视频" }, on: { click: function ($event) { return _vm.memberVideoOff(item); } } }) : _vm._e(), _vm.type === "video" && _vm.yardmanType === "1" && !((_vm$remoteStreamList$8 = _vm.remoteStreamList.find(x => x.getUserId() === item.tencentUserId)) !== null && _vm$remoteStreamList$8 !== void 0 && _vm$remoteStreamList$8.hasVideo()) ? _c("i", { staticClass: "btn btn-videoOn", attrs: { title: "开启视频" }, on: { click: function ($event) { return _vm.memberVideoOn(item); } } }) : _vm._e(), _c("i", { staticClass: "btn btn-kick-out", attrs: { title: "移除" }, on: { click: function ($event) { return _vm.kickOut(item.tencentUserId); } } })])]); })], 2)]), _c("el-tab-pane", { attrs: { label: _vm.tabsLabelDisconnecting, name: "2" } }, [_c("div", { staticClass: "room-member-list" }, _vm._l(_vm.memberList.filter(x => x.state === "DISCONNECTED"), function (item, index) { return _c("div", { key: index, staticClass: "room-member-list-item" }, [_c("div", { staticClass: "info" }, [_c("el-avatar", { attrs: { size: 40 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(item.nameSlice))])]), _c("div", { staticClass: "name" }, [_c("span", { staticClass: "value" }, [_vm._v(_vm._s(item.name))])])], 1), _c("div", { staticClass: "stream-controller" }, [item.timeout ? _c("span", { staticClass: "state-disconnected", staticStyle: { color: "#e2594e", "font-size": "14px" } }, [_vm._v("未连上")]) : _vm._e(), item.beKickOut ? _c("span", { staticClass: "state-disconnected", staticStyle: { color: "#e2594e", "font-size": "14px" } }, [_vm._v("移除")]) : _vm._e(), !item.beKickOut && item.hangup ? _c("span", { staticClass: "state-disconnected", staticStyle: { color: "#e2594e", "font-size": "14px" } }, [_vm._v("已挂断")]) : _vm._e(), _c("i", { staticClass: "btn btn-recall", on: { click: function ($event) { return _vm.recall(item); } } })])]); }), 0)])], 1), _c("div", { staticClass: "right-panel-bottom" }, [_c("el-row", { attrs: { gutter: 20 } }, [_c("el-col", { attrs: { span: 12 } }, [_c("div", { staticClass: "right-panel-bottom-btn", on: { click: _vm.muteAll } }, [_vm._v("全员静音")])]), _c("el-col", { attrs: { span: 12 } }, [_c("div", { staticClass: "right-panel-bottom-btn", on: { click: _vm.unMuteAll } }, [_vm._v("解除全员静音")])])], 1), _c("el-row", [_c("el-col", { attrs: { span: 24 } }, [_c("el-button", { staticClass: "right-panel-bottom-btn-full", attrs: { disabled: _vm.type !== "audio" && _vm.memberList.length >= this.videoBoxes, type: "primary" }, on: { click: function ($event) { _vm.pickupVisible = true; } } }, [_vm._v("添加成员")])], 1)], 1)], 1)], 1) : _vm._e(), _c("div", { staticClass: "footer" }, [_c("div", { class: !_vm.isMutedAudio ? "micOn" : "micOff", on: { click: function ($event) { return _vm.handleDebounce(_vm.handleMuteAudio, 500); } } }, [_c("i", { staticClass: "icon" }), _c("span", { staticClass: "name" }, [_vm._v("麦克风")])]), _vm.type === "video" && _vm.yardmanType === "1" ? _c("div", { class: !_vm.isMutedVideo ? "videoOn" : "videoOff", on: { click: function ($event) { return _vm.handleDebounce(_vm.handleMuteVideo, 500); } } }, [_c("i", { staticClass: "icon" }), _c("span", { staticClass: "name" }, [_vm._v("摄像头")])]) : _vm._e(), _c("div", { staticClass: "refuse", on: { click: function ($event) { return _vm.handleDebounce(_vm.handleLeave, 500); } } }, [_c("i", { staticClass: "icon" }), _c("span", { staticClass: "name" }, [_vm._v("结束")])]), _vm.memberList.length <= 9 ? _c("div", { staticClass: "layout", on: { click: function ($event) { return _vm.handleDebounce(_vm.switchLayout, 500); } } }, [_c("i", { staticClass: "icon" }), _c("span", { staticClass: "name" }, [_vm._v("切换布局")]), _c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showSwitchLayout, expression: "showSwitchLayout" }], staticClass: "layout-picker" }, [_c("div", { staticClass: "layout-type" }, [_c("div", { staticClass: "layout-type-img layout-type-img-3" }), _c("el-radio", { attrs: { label: 3, disabled: _vm.memberList.length >= 3 }, model: { value: _vm.layout, callback: function ($$v) { _vm.layout = $$v; }, expression: "layout" } }, [_vm._v("三宫格")])], 1), _c("div", { staticClass: "layout-type" }, [_c("div", { staticClass: "layout-type-img layout-type-img-6" }), _c("el-radio", { attrs: { label: 6, disabled: _vm.memberList.length >= 6 }, model: { value: _vm.layout, callback: function ($$v) { _vm.layout = $$v; }, expression: "layout" } }, [_vm._v("六宫格")])], 1), _c("div", { staticClass: "layout-type" }, [_c("div", { staticClass: "layout-type-img layout-type-img-9" }), _c("el-radio", { attrs: { label: 9 }, model: { value: _vm.layout, callback: function ($$v) { _vm.layout = $$v; }, expression: "layout" } }, [_vm._v("九宫格")])], 1)])]) : _vm._e(), _vm.memberList.length >= 2 ? _c("div", { staticClass: "members", class: _vm.rightPanelVisible ? "members-active" : "", on: { click: function ($event) { return _vm.handleDebounce(_vm.setRightPanelVisible, 500); } } }, [_c("i", { staticClass: "icon" }), _c("span", { staticClass: "name" }, [_vm._v("成员")])]) : _vm._e()]), _c("el-dialog", { attrs: { visible: _vm.pickupVisible, title: "添加成员", width: "586px", "custom-class": "dialog-pick-up", "close-on-press-escape": false, modal: false }, on: { "update:visible": function ($event) { _vm.pickupVisible = $event; }, open: _vm.onOpen } }, [_c("div", { staticClass: "transfer" }, [_c("div", { staticClass: "transfer-left" }, [_c("el-input", { staticClass: "transfer-left-query", attrs: { placeholder: "搜索" }, on: { input: _vm.queryPickup }, model: { value: _vm.pickupName, callback: function ($$v) { _vm.pickupName = $$v; }, expression: "pickupName" } }), _c("div", { staticClass: "transfer-left-list" }, _vm._l(_vm.pickupMemberList, function (item, index) { return _c("div", { key: index, staticClass: "transfer-left-list-item" }, [_c("el-checkbox", { model: { value: item.checked, callback: function ($$v) { _vm.$set(item, "checked", $$v); }, expression: "item.checked" } }, [_c("div", { staticClass: "info" }, [_c("el-avatar", { attrs: { size: 30 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(item.nameSlice))])]), _c("span", { staticClass: "name" }, [_vm._v(_vm._s(item.name))])], 1)])], 1); }), 0)], 1), _c("div", { staticClass: "transfer-right" }, [_c("div", { staticClass: "transfer-right-header" }, [_c("span", { staticClass: "count" }, [_vm._v("已选:" + _vm._s(_vm.allMembers.filter(x => !x.active && x.checked).length) + "人")]), _c("span", { staticClass: "clear", on: { click: _vm.clearPickup } }, [_vm._v("清空")])]), _c("div", { staticClass: "transfer-right-list" }, _vm._l(_vm.allMembers.filter(x => !x.active && x.checked), function (item, index) { return _c("div", { key: index, staticClass: "transfer-right-list-item" }, [_c("div", { staticClass: "info" }, [_c("el-avatar", { attrs: { size: 30 } }, [_c("div", { staticClass: "avatar" }, [_vm._v(_vm._s(item.nameSlice))])]), _c("span", { staticClass: "name" }, [_vm._v(_vm._s(item.name))])], 1), _c("i", { staticClass: "icon-remove", on: { click: function ($event) { item.checked = false; } } })]); }), 0)])]), _c("div", { staticClass: "dialog-footer", attrs: { slot: "footer" }, slot: "footer" }, [_c("el-button", { on: { click: function ($event) { _vm.pickupVisible = false; } } }, [_vm._v("取 消")]), _c("el-button", { attrs: { type: "primary" }, on: { click: _vm.addMembers } }, [_vm._v("确 定")])], 1)])], 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/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/timApp/trtc/calling-index.vue?vue&type=style&index=0&id=5349f86d&lang=scss&scoped=true": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./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/timApp/trtc/calling-index.vue?vue&type=style&index=0&id=5349f86d&lang=scss&scoped=true ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! 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/conversation/全屏.png */ "./src/assets/images/conversation/全屏.png"); var ___CSS_LOADER_URL_IMPORT_1___ = __webpack_require__(/*! @/assets/images/conversation/关闭.png */ "./src/assets/images/conversation/关闭.png"); var ___CSS_LOADER_URL_IMPORT_2___ = __webpack_require__(/*! @/assets/images/conversation/Arrow - Left Circle.png */ "./src/assets/images/conversation/Arrow - Left Circle.png"); var ___CSS_LOADER_URL_IMPORT_3___ = __webpack_require__(/*! @/assets/images/conversation/Arrow - Right Circle.png */ "./src/assets/images/conversation/Arrow - Right Circle.png"); var ___CSS_LOADER_URL_IMPORT_4___ = __webpack_require__(/*! @/assets/images/conversation/呼叫中、未接听、已挂断图标/呼叫中.png */ "./src/assets/images/conversation/呼叫中、未接听、已挂断图标/呼叫中.png"); var ___CSS_LOADER_URL_IMPORT_5___ = __webpack_require__(/*! @/assets/images/conversation/呼叫中、未接听、已挂断图标/已挂断.png */ "./src/assets/images/conversation/呼叫中、未接听、已挂断图标/已挂断.png"); var ___CSS_LOADER_URL_IMPORT_6___ = __webpack_require__(/*! @/assets/images/conversation/举手.png */ "./src/assets/images/conversation/举手.png"); var ___CSS_LOADER_URL_IMPORT_7___ = __webpack_require__(/*! @/assets/images/conversation/语音开启.png */ "./src/assets/images/conversation/语音开启.png"); var ___CSS_LOADER_URL_IMPORT_8___ = __webpack_require__(/*! @/assets/images/conversation/语音关闭.png */ "./src/assets/images/conversation/语音关闭.png"); var ___CSS_LOADER_URL_IMPORT_9___ = __webpack_require__(/*! @/assets/images/conversation/关闭 1.png */ "./src/assets/images/conversation/关闭 1.png"); var ___CSS_LOADER_URL_IMPORT_10___ = __webpack_require__(/*! @/assets/images/conversation/三宫格.png */ "./src/assets/images/conversation/三宫格.png"); var ___CSS_LOADER_URL_IMPORT_11___ = __webpack_require__(/*! @/assets/images/conversation/六宫格.png */ "./src/assets/images/conversation/六宫格.png"); var ___CSS_LOADER_URL_IMPORT_12___ = __webpack_require__(/*! @/assets/images/conversation/9宫格.png */ "./src/assets/images/conversation/9宫格.png"); var ___CSS_LOADER_URL_IMPORT_13___ = __webpack_require__(/*! @/assets/images/conversation/call.png */ "./src/assets/images/conversation/call.png"); var ___CSS_LOADER_URL_IMPORT_14___ = __webpack_require__(/*! @/assets/images/conversation/switch.png */ "./src/assets/images/conversation/switch.png"); var ___CSS_LOADER_URL_IMPORT_15___ = __webpack_require__(/*! @/assets/images/conversation/close.png */ "./src/assets/images/conversation/close.png"); var ___CSS_LOADER_URL_IMPORT_16___ = __webpack_require__(/*! @/assets/images/conversation/成员.png */ "./src/assets/images/conversation/成员.png"); var ___CSS_LOADER_URL_IMPORT_17___ = __webpack_require__(/*! @/assets/images/conversation/视频.png */ "./src/assets/images/conversation/视频.png"); var ___CSS_LOADER_URL_IMPORT_18___ = __webpack_require__(/*! @/assets/images/conversation/开启视频.png */ "./src/assets/images/conversation/开启视频.png"); var ___CSS_LOADER_URL_IMPORT_19___ = __webpack_require__(/*! @/assets/images/conversation/静音.png */ "./src/assets/images/conversation/静音.png"); var ___CSS_LOADER_URL_IMPORT_20___ = __webpack_require__(/*! @/assets/images/conversation/解除静音.png */ "./src/assets/images/conversation/解除静音.png"); var ___CSS_LOADER_URL_IMPORT_21___ = __webpack_require__(/*! @/assets/images/conversation/静音1.png */ "./src/assets/images/conversation/静音1.png"); var ___CSS_LOADER_URL_IMPORT_22___ = __webpack_require__(/*! @/assets/images/conversation/开麦.png */ "./src/assets/images/conversation/开麦.png"); var ___CSS_LOADER_URL_IMPORT_23___ = __webpack_require__(/*! @/assets/images/conversation/关闭摄像.png */ "./src/assets/images/conversation/关闭摄像.png"); var ___CSS_LOADER_URL_IMPORT_24___ = __webpack_require__(/*! @/assets/images/conversation/打开摄像.png */ "./src/assets/images/conversation/打开摄像.png"); var ___CSS_LOADER_URL_IMPORT_25___ = __webpack_require__(/*! @/assets/images/conversation/移除.png */ "./src/assets/images/conversation/移除.png"); var ___CSS_LOADER_URL_IMPORT_26___ = __webpack_require__(/*! @/assets/images/conversation/拨通.png */ "./src/assets/images/conversation/拨通.png"); var ___CSS_LOADER_URL_IMPORT_27___ = __webpack_require__(/*! @/assets/images/conversation/关闭 2.png */ "./src/assets/images/conversation/关闭 2.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___); var ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___); var ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___); var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___); var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___); var ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___); var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___); var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___); var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___); var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___); var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___); var ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___); var ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___); var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___); var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___); var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___); var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___); var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___); var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___); var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___); var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___); var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___); var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___); var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___); // Module exports.push([module.i, "@charset \"UTF-8\";\n*[data-v-5349f86d] {\n /* 设置滚动条的样式 */\n /* 滚动槽 */\n /* 滚动条滑块 */\n}\n*[data-v-5349f86d]::-webkit-scrollbar {\n width: 0.3125vw;\n}\n*[data-v-5349f86d]::-webkit-scrollbar-track {\n background: transparent;\n}\n*[data-v-5349f86d]::-webkit-scrollbar-thumb {\n width: 0.3125vw;\n background-color: rgba(255, 255, 255, 0.3);\n border-radius: 0.15625vw;\n}\n.call-container[data-v-5349f86d] {\n width: 71.14583vw;\n height: 45.41667vw;\n background: black;\n background-size: cover;\n position: absolute;\n z-index: 999;\n top: 0;\n left: 50%;\n transform: translate(-50%, 0);\n}\n.call-container .header[data-v-5349f86d] {\n width: 100%;\n height: 2.13542vw;\n background: #0e70ff;\n border-radius: 0.20833vw 0.20833vw 0 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-end;\n padding: 0 0.83333vw;\n position: relative;\n}\n.call-container .header .item[data-v-5349f86d] {\n margin-left: 0.83333vw;\n}\n.call-container .header .time[data-v-5349f86d] {\n font-size: 0.72917vw;\n font-weight: 400;\n color: #ffffff;\n}\n.call-container .header .timeTik[data-v-5349f86d] {\n position: absolute;\n top: 50%;\n left: 1.04167vw;\n transform: translate(0, -50%);\n font-size: 0.72917vw;\n font-weight: 400;\n color: #ffffff;\n}\n.call-container .header .icon[data-v-5349f86d] {\n display: block;\n width: 0.83333vw;\n height: 0.83333vw;\n cursor: pointer;\n}\n.call-container .header .icon.fullscreen[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.call-container .header .icon.narrow[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.call-container .header .icon.close[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.call-container .container[data-v-5349f86d] {\n width: 100%;\n height: calc(100% - 2.13542vw - 2.91667vw);\n padding: 0 1.82292vw;\n display: grid;\n grid-auto-rows: 100%;\n grid-gap: 0.52083vw;\n overflow: auto;\n}\n.call-container .container-3[data-v-5349f86d] {\n grid-template-columns: 1fr 1fr 1fr;\n}\n.call-container .container-6[data-v-5349f86d] {\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: 50%;\n}\n.call-container .container-9[data-v-5349f86d] {\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: 33.3%;\n}\n.call-container .container-remote-only[data-v-5349f86d] {\n grid-template-columns: 1fr;\n}\n.call-container .container-C2C[data-v-5349f86d] {\n grid-template-columns: 1fr 1fr;\n}\n.call-container .container-pagination[data-v-5349f86d] {\n padding: 0;\n grid-template-columns: repeat(2, 100%);\n grid-auto-rows: 100%;\n grid-gap: 0;\n overflow: hidden;\n position: relative;\n}\n.call-container .container-pagination-item[data-v-5349f86d] {\n width: 100%;\n height: 100%;\n padding: 0 0.625vw;\n display: grid;\n grid-gap: 0.52083vw;\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: 33.3%;\n z-index: 1;\n}\n.call-container .container-pagination-arrow[data-v-5349f86d] {\n display: block;\n position: absolute;\n width: 1.04167vw;\n height: 2.5vw;\n cursor: pointer;\n z-index: 2;\n transform: translate(0, -50%);\n}\n.call-container .container-pagination-arrow-left[data-v-5349f86d] {\n top: 50%;\n left: 0.625vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ");\n background-size: 100% 100%;\n}\n.call-container .container-pagination-arrow-right[data-v-5349f86d] {\n top: 50%;\n right: 0.625vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ");\n background-size: 100% 100%;\n}\n.call-container .container .stream-content[data-v-5349f86d] {\n background: #2b2b2b;\n position: relative;\n width: 100%;\n border-radius: 0.41667vw 0.41667vw 0.41667vw 0.41667vw;\n overflow: hidden;\n}\n.call-container .container .stream-content-audio-CONNECTED[data-v-5349f86d]::before {\n display: none;\n}\n.call-container .container .stream-content-CONNECTING[data-v-5349f86d]::before {\n content: \" \";\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 4.16667vw;\n height: 4.16667vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_4___ + ") no-repeat;\n background-size: 100% 100%;\n transform: translate(-50%, -50%);\n}\n.call-container .container .stream-content-DISCONNECTED[data-v-5349f86d]::before {\n content: \" \";\n display: block;\n position: absolute;\n top: 50%;\n left: 50%;\n width: 4.16667vw;\n height: 4.16667vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_5___ + ") no-repeat;\n background-size: 100% 100%;\n transform: translate(-50%, -50%);\n}\n.call-container .container .stream-content .info[data-v-5349f86d] {\n height: 1.45833vw;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.6);\n padding: 0 0.3125vw;\n}\n.call-container .container .stream-content .info .name[data-v-5349f86d] {\n font-size: 0.72917vw;\n font-weight: 400;\n color: rgba(255, 255, 255, 0.85);\n}\n.call-container .container .stream-content .info .icon-hand-up[data-v-5349f86d] {\n display: block;\n width: 0.83333vw;\n height: 0.83333vw;\n margin-left: 0.20833vw;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_6___ + ") no-repeat;\n background-size: 100% 100%;\n cursor: pointer;\n}\n.call-container .container .stream-content .info .micro-status[data-v-5349f86d] {\n display: block;\n width: 0.83333vw;\n height: 0.83333vw;\n margin-left: 0.20833vw;\n}\n.call-container .container .stream-content .info .micro-status-on[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_7___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.call-container .container .stream-content .info .micro-status-off[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_8___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.call-container .container .stream-content .el-avatar[data-v-5349f86d] {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 2;\n}\n.call-container .container .stream-content .el-avatar .avatar[data-v-5349f86d] {\n width: 100%;\n height: 100%;\n overflow: hidden;\n margin-right: 0.83333vw;\n background: #0e71ff;\n font-size: 0.83333vw;\n font-weight: 400;\n color: #ffffff;\n}\n.call-container-show-right-panel[data-v-5349f86d] {\n width: 87.39583vw;\n}\n.call-container-show-right-panel .container[data-v-5349f86d] {\n width: calc(100% - 17.70833vw);\n}\n.call-container .right-panel[data-v-5349f86d] {\n width: 17.70833vw;\n height: calc(100% - 2.13542vw);\n background: #1e1e1e;\n position: absolute;\n right: 0;\n top: 2.13542vw;\n z-index: 2;\n}\n.call-container .right-panel[data-v-5349f86d] .el-tabs__header {\n margin-bottom: 0;\n}\n.call-container .right-panel-title[data-v-5349f86d] {\n width: 100%;\n height: 3.125vw;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 0.83333vw;\n}\n.call-container .right-panel-title span[data-v-5349f86d] {\n font-size: 1.04167vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #ffffff;\n line-height: 1.25vw;\n}\n.call-container .right-panel-title .icon[data-v-5349f86d] {\n display: block;\n width: 0.83333vw;\n height: 0.83333vw;\n cursor: pointer;\n}\n.call-container .right-panel-title .icon-close[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_9___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.call-container .right-panel-bottom[data-v-5349f86d] {\n width: 100%;\n height: 7.70833vw;\n background: #1e1e1e;\n border-top: 1px solid #2f2f2f;\n padding: 1.25vw 0.83333vw;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.call-container .right-panel-bottom-btn[data-v-5349f86d] {\n width: 100%;\n height: 1.97917vw;\n border-radius: 0.20833vw 0.20833vw 0.20833vw 0.20833vw;\n border: 1px solid #666666;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.72917vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #ffffff;\n cursor: pointer;\n}\n.call-container .right-panel-bottom-btn[data-v-5349f86d]:hover, .call-container .right-panel-bottom-btn-active[data-v-5349f86d] {\n background: rgba(255, 255, 255, 0.08);\n}\n.call-container .right-panel-bottom-btn-full[data-v-5349f86d] {\n width: 100%;\n height: 1.97917vw;\n}\n.call-container .footer[data-v-5349f86d] {\n width: 100%;\n height: 2.91667vw;\n display: flex;\n justify-content: center;\n align-items: center;\n background: rgba(0, 0, 0, 0.8);\n position: absolute;\n bottom: 0;\n left: 0;\n}\n.call-container .buttons[data-v-5349f86d] {\n position: absolute;\n z-index: 20;\n width: 70%;\n bottom: 0;\n display: flex;\n justify-content: space-around;\n margin: 0 15% 0 15%;\n}\n.call-container-remote-only[data-v-5349f86d] {\n width: 37.34375vw;\n}\n.layout[data-v-5349f86d],\n.accept[data-v-5349f86d],\n.refuse[data-v-5349f86d],\n.members[data-v-5349f86d],\n.videoOn[data-v-5349f86d],\n.videoOff[data-v-5349f86d],\n.micOn[data-v-5349f86d],\n.micOff[data-v-5349f86d] {\n width: 3.64583vw;\n height: 2.44792vw;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n cursor: pointer;\n text-align: center;\n margin-left: 0.26042vw;\n position: relative;\n}\n.layout[data-v-5349f86d]:hover, .layout-active[data-v-5349f86d],\n.accept[data-v-5349f86d]:hover,\n.accept-active[data-v-5349f86d],\n.refuse[data-v-5349f86d]:hover,\n.refuse-active[data-v-5349f86d],\n.members[data-v-5349f86d]:hover,\n.members-active[data-v-5349f86d],\n.videoOn[data-v-5349f86d]:hover,\n.videoOn-active[data-v-5349f86d],\n.videoOff[data-v-5349f86d]:hover,\n.videoOff-active[data-v-5349f86d],\n.micOn[data-v-5349f86d]:hover,\n.micOn-active[data-v-5349f86d],\n.micOff[data-v-5349f86d]:hover,\n.micOff-active[data-v-5349f86d] {\n background: rgba(255, 255, 255, 0.1993);\n border-radius: 0.41667vw;\n}\n.layout .icon[data-v-5349f86d],\n.accept .icon[data-v-5349f86d],\n.refuse .icon[data-v-5349f86d],\n.members .icon[data-v-5349f86d],\n.videoOn .icon[data-v-5349f86d],\n.videoOff .icon[data-v-5349f86d],\n.micOn .icon[data-v-5349f86d],\n.micOff .icon[data-v-5349f86d] {\n width: 0.9375vw;\n height: 0.9375vw;\n}\n.layout .name[data-v-5349f86d],\n.accept .name[data-v-5349f86d],\n.refuse .name[data-v-5349f86d],\n.members .name[data-v-5349f86d],\n.videoOn .name[data-v-5349f86d],\n.videoOff .name[data-v-5349f86d],\n.micOn .name[data-v-5349f86d],\n.micOff .name[data-v-5349f86d] {\n font-size: 0.625vw;\n font-weight: 400;\n color: #ffffff;\n line-height: 0.72917vw;\n width: 3.64583vw;\n}\n.layout .layout-picker[data-v-5349f86d],\n.accept .layout-picker[data-v-5349f86d],\n.refuse .layout-picker[data-v-5349f86d],\n.members .layout-picker[data-v-5349f86d],\n.videoOn .layout-picker[data-v-5349f86d],\n.videoOff .layout-picker[data-v-5349f86d],\n.micOn .layout-picker[data-v-5349f86d],\n.micOff .layout-picker[data-v-5349f86d] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 17.70833vw;\n height: 6.51042vw;\n background: #333438;\n border-radius: 0.20833vw 0.20833vw 0.20833vw 0.20833vw;\n padding: 0 1.25vw;\n position: absolute;\n bottom: 2.60417vw;\n}\n.layout .layout-picker .layout-type[data-v-5349f86d],\n.accept .layout-picker .layout-type[data-v-5349f86d],\n.refuse .layout-picker .layout-type[data-v-5349f86d],\n.members .layout-picker .layout-type[data-v-5349f86d],\n.videoOn .layout-picker .layout-type[data-v-5349f86d],\n.videoOff .layout-picker .layout-type[data-v-5349f86d],\n.micOn .layout-picker .layout-type[data-v-5349f86d],\n.micOff .layout-picker .layout-type[data-v-5349f86d] {\n width: 3.95833vw;\n height: 3.85417vw;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n}\n.layout .layout-picker .layout-type .layout-type-img[data-v-5349f86d],\n.accept .layout-picker .layout-type .layout-type-img[data-v-5349f86d],\n.refuse .layout-picker .layout-type .layout-type-img[data-v-5349f86d],\n.members .layout-picker .layout-type .layout-type-img[data-v-5349f86d],\n.videoOn .layout-picker .layout-type .layout-type-img[data-v-5349f86d],\n.videoOff .layout-picker .layout-type .layout-type-img[data-v-5349f86d],\n.micOn .layout-picker .layout-type .layout-type-img[data-v-5349f86d],\n.micOff .layout-picker .layout-type .layout-type-img[data-v-5349f86d] {\n width: 3.95833vw;\n height: 2.70833vw;\n margin-bottom: 0.41667vw;\n}\n.layout .layout-picker .layout-type .layout-type-img-3[data-v-5349f86d],\n.accept .layout-picker .layout-type .layout-type-img-3[data-v-5349f86d],\n.refuse .layout-picker .layout-type .layout-type-img-3[data-v-5349f86d],\n.members .layout-picker .layout-type .layout-type-img-3[data-v-5349f86d],\n.videoOn .layout-picker .layout-type .layout-type-img-3[data-v-5349f86d],\n.videoOff .layout-picker .layout-type .layout-type-img-3[data-v-5349f86d],\n.micOn .layout-picker .layout-type .layout-type-img-3[data-v-5349f86d],\n.micOff .layout-picker .layout-type .layout-type-img-3[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_10___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.layout .layout-picker .layout-type .layout-type-img-6[data-v-5349f86d],\n.accept .layout-picker .layout-type .layout-type-img-6[data-v-5349f86d],\n.refuse .layout-picker .layout-type .layout-type-img-6[data-v-5349f86d],\n.members .layout-picker .layout-type .layout-type-img-6[data-v-5349f86d],\n.videoOn .layout-picker .layout-type .layout-type-img-6[data-v-5349f86d],\n.videoOff .layout-picker .layout-type .layout-type-img-6[data-v-5349f86d],\n.micOn .layout-picker .layout-type .layout-type-img-6[data-v-5349f86d],\n.micOff .layout-picker .layout-type .layout-type-img-6[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_11___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.layout .layout-picker .layout-type .layout-type-img-9[data-v-5349f86d],\n.accept .layout-picker .layout-type .layout-type-img-9[data-v-5349f86d],\n.refuse .layout-picker .layout-type .layout-type-img-9[data-v-5349f86d],\n.members .layout-picker .layout-type .layout-type-img-9[data-v-5349f86d],\n.videoOn .layout-picker .layout-type .layout-type-img-9[data-v-5349f86d],\n.videoOff .layout-picker .layout-type .layout-type-img-9[data-v-5349f86d],\n.micOn .layout-picker .layout-type .layout-type-img-9[data-v-5349f86d],\n.micOff .layout-picker .layout-type .layout-type-img-9[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_12___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.accept[data-v-5349f86d] {\n background-size: 60%;\n background: #0ac160 url(" + ___CSS_LOADER_URL_REPLACEMENT_13___ + ") no-repeat;\n}\n.layout .icon[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_14___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.refuse .icon[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_15___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.members .icon[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_16___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.videoOn .icon[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_17___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.videoOff .icon[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_18___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.micOn .icon[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_19___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.micOff .icon[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_20___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.audio-box[data-v-5349f86d] {\n position: absolute;\n z-index: 20;\n width: 70%;\n top: 10.41667vw;\n display: flex;\n justify-content: center;\n margin: 0 15% 0 15%;\n}\n.aduio-call[data-v-5349f86d] {\n box-sizing: border-box;\n width: 7.29167vw;\n height: 5.20833vw;\n}\n.audio-img[data-v-5349f86d] {\n display: block;\n width: 3.125vw;\n height: 3.125vw;\n border-radius: 50%;\n margin: 0 auto 0.67708vw;\n}\n.micr-icon[data-v-5349f86d] {\n cursor: pointer;\n font-size: 1.45833vw;\n /*display block*/\n /*text-align center*/\n}\n.nick-text[data-v-5349f86d] {\n color: #dddddd;\n font-size: 0.625vw;\n margin-right: 0.26042vw;\n vertical-align: super;\n}\n.duration[data-v-5349f86d] {\n color: #fff;\n position: absolute;\n z-index: 20;\n width: 100%;\n top: 70%;\n display: flex;\n justify-content: center;\n}\n.mask[data-v-5349f86d] {\n position: absolute;\n z-index: 10;\n background: #d8d8d8;\n height: 100%;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.mask .space .image[data-v-5349f86d] {\n margin-left: 15%;\n}\n.mask .space .notice[data-v-5349f86d] {\n color: #888888;\n}\n.choose[data-v-5349f86d],\n.call[data-v-5349f86d] {\n color: #fff;\n background-color: rgba(0, 0, 0, 0.8);\n height: 100%;\n width: 100%;\n}\n.title[data-v-5349f86d] {\n margin: 25% 0 0 0;\n text-align: center;\n width: 100%;\n position: absolute;\n z-index: 10;\n color: #fff;\n font-size: 2.08333vw;\n font-weight: 700;\n}\n.big[data-v-5349f86d] {\n position: absolute;\n height: 100%;\n width: 100%;\n}\n.small[data-v-5349f86d] {\n position: absolute;\n margin-left: 74.8%;\n z-index: 999;\n border-style: solid;\n border-width: 1px;\n border-color: #808080;\n height: 44.8%;\n width: 25.2%;\n}\n.big-group[data-v-5349f86d] {\n height: 60vh;\n width: 100%;\n}\n.small-group[data-v-5349f86d] {\n display: flex;\n flex-wrap: wrap;\n position: absolute;\n /*z-index 999*/\n /*border-style solid*/\n /*border-width 1px*/\n /*border-color #808080*/\n /*height 30%*/\n width: 100%;\n /*height 100%*/\n}\n.small-group_box[data-v-5349f86d] {\n height: 100%;\n}\n.video-box[data-v-5349f86d] {\n width: 33.3%;\n height: 25vh;\n}\n.room-member-list[data-v-5349f86d] {\n width: 100%;\n height: 30.20833vw;\n overflow-x: hidden;\n overflow-y: auto;\n padding: 0.83333vw 0.41667vw;\n}\n.room-member-list-item[data-v-5349f86d] {\n width: 100%;\n height: 3.4375vw;\n border-radius: 0.41667vw 0.41667vw 0.41667vw 0.41667vw;\n margin-bottom: 0.41667vw;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 0.83333vw;\n}\n.room-member-list-item[data-v-5349f86d]:hover {\n background: #2b2b2b;\n}\n.room-member-list-item .info[data-v-5349f86d] {\n display: flex;\n}\n.room-member-list-item .info .avatar[data-v-5349f86d] {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n background: #0e71ff;\n font-size: 0.83333vw;\n font-weight: 400;\n color: #ffffff;\n}\n.room-member-list-item .info .avatar img[data-v-5349f86d] {\n width: 100%;\n height: auto;\n}\n.room-member-list-item .info .name[data-v-5349f86d] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n margin-left: 0.41667vw;\n}\n.room-member-list-item .info .name .value[data-v-5349f86d] {\n font-size: 0.625vw;\n line-height: 1.04167vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #ffffff;\n}\n.room-member-list-item .info .name .tag[data-v-5349f86d] {\n height: 1.04167vw;\n padding: 0 0.10417vw;\n background: #4c4c4c;\n border-radius: 0.20833vw 0.20833vw 0.20833vw 0.20833vw;\n font-size: 0.625vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #ffffff;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.room-member-list-item .stream-controller[data-v-5349f86d] {\n display: flex;\n align-items: center;\n}\n.room-member-list-item .stream-controller .state-disconnected[data-v-5349f86d] {\n color: #e2594e;\n font-size: 0.72917vw;\n}\n.room-member-list-item .stream-controller .btn[data-v-5349f86d] {\n width: 1.25vw;\n height: 1.25vw;\n cursor: pointer;\n margin-left: 0.83333vw;\n}\n.room-member-list-item .stream-controller .btn-handup[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_6___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.room-member-list-item .stream-controller .btn-mute[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_21___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.room-member-list-item .stream-controller .btn-unmute[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_22___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.room-member-list-item .stream-controller .btn-videoOn[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_23___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.room-member-list-item .stream-controller .btn-videoOff[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_24___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.room-member-list-item .stream-controller .btn-kick-out[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_25___ + ") no-repeat;\n background-size: 100% 100%;\n}\n.room-member-list-item .stream-controller .btn-recall[data-v-5349f86d] {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_26___ + ") no-repeat;\n background-size: 100% 100%;\n}\n[data-v-5349f86d] .el-tabs .el-tabs__nav {\n display: grid;\n grid-template-columns: repeat(2, 50%);\n width: 100%;\n}\n[data-v-5349f86d] .el-tabs .el-tabs__nav .el-tabs__item {\n font-size: 0.72917vw;\n font-weight: 400;\n color: #ffffff;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n[data-v-5349f86d] .el-tabs .el-tabs__nav .el-tabs__item.is-active {\n color: #0f71ff;\n}\n[data-v-5349f86d] .el-tabs .el-tabs__nav .el-tabs__active-bar {\n background-color: #0f71ff;\n}\n[data-v-5349f86d] .el-tabs .el-tabs__nav-wrap::after {\n background-color: #2f2f2f;\n}\n[data-v-5349f86d] .dialog-pick-up {\n background: transparent;\n border-radius: 0.41667vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__header {\n height: 2.39583vw;\n background: #0f71ff;\n border-radius: 0.41667vw 0.41667vw 0 0;\n border: 1px solid #2f2f2f;\n padding: 0 0.83333vw;\n display: flex;\n align-items: center;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__header .el-dialog__title {\n font-size: 0.72917vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #ffffff;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__header .el-dialog__headerbtn {\n top: 0.78125vw;\n right: 0.83333vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__header .el-dialog__headerbtn .el-dialog__close {\n color: #ffffff;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body {\n background: #1e1e1e;\n padding: 0.83333vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer {\n width: 100%;\n height: 25.98958vw;\n display: grid;\n grid-template-columns: repeat(2, 50%);\n grid-auto-rows: 100%;\n background: #1e1e1e;\n border: 1px solid #333333;\n border-radius: 0.41667vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left,[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right {\n height: 100%;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left {\n padding: 0.625vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-query {\n margin-bottom: 0.625vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-query .el-input__inner {\n width: 100%;\n height: 1.97917vw;\n background: #000000;\n border-radius: 0.41667vw 0.41667vw 0.41667vw 0.41667vw;\n border: 1px solid #2b2b2b;\n color: #ffffff;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-query .el-input__inner::-moz-placeholder {\n font-size: 0.72917vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #999999;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-query .el-input__inner::placeholder {\n font-size: 0.72917vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #999999;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-list {\n width: 100%;\n height: calc(100% - 2.60417vw);\n overflow-x: hidden;\n overflow-y: auto;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-list-item {\n width: 100%;\n height: 2.39583vw;\n border-radius: 0.41667vw 0.41667vw 0.41667vw 0.41667vw;\n margin-bottom: 0.41667vw;\n display: flex;\n align-items: center;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-list-item:hover,[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-list-item-active {\n width: 100%;\n background: #2b2b2b;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-list-item .info {\n display: flex;\n align-items: center;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-list-item .info .avatar {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n background: #0e71ff;\n font-size: 0.625vw;\n font-weight: 400;\n color: #ffffff;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-list-item .info .avatar img {\n width: 100%;\n height: auto;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-left-list-item .info .name {\n font-size: 0.625vw;\n line-height: 1.04167vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #ffffff;\n margin-left: 0.625vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right {\n border-left: 1px solid #333333;\n padding: 0 0.625vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-header {\n width: 100%;\n height: 3.22917vw;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-header .count {\n font-size: 0.72917vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #ffffff;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-header .clear {\n font-size: 0.72917vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #0f71ff;\n cursor: pointer;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list {\n width: 100%;\n height: calc(100% - 3.22917vw);\n overflow-x: hidden;\n overflow-y: auto;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list-item {\n width: 100%;\n height: 2.39583vw;\n border-radius: 0.41667vw 0.41667vw 0.41667vw 0.41667vw;\n margin-bottom: 0.41667vw;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 0.83333vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list-item:hover,[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list-item-active {\n width: 100%;\n background: #2b2b2b;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list-item .info {\n display: flex;\n align-items: center;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list-item .info .avatar {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n overflow: hidden;\n background: #0e71ff;\n font-size: 0.625vw;\n font-weight: 400;\n color: #ffffff;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list-item .info .avatar img {\n width: 100%;\n height: auto;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list-item .info .name {\n font-size: 0.625vw;\n line-height: 1.04167vw;\n font-family: PingFang SC-Regular, PingFang SC, serif;\n font-weight: 400;\n color: #ffffff;\n margin-left: 0.625vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__body .transfer-right-list-item .icon-remove {\n width: 0.625vw;\n height: 0.625vw;\n display: block;\n cursor: pointer;\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_27___ + ") no-repeat;\n background-size: 100% 100%;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__footer {\n background: #1e1e1e;\n height: 3.64583vw;\n padding: 0 0.83333vw;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__footer .el-button {\n width: 6.25vw;\n height: 1.97917vw;\n font-size: 0.72917vw;\n}\n[data-v-5349f86d] .dialog-pick-up .el-dialog__footer .el-button--default {\n color: #ffffff;\n background: transparent;\n border: 1px solid #666666;\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/sass-loader/dist/cjs.js?!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/timApp/trtc/calling-index.vue?vue&type=style&index=0&id=5349f86d&lang=scss&scoped=true": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/vue-style-loader??ref--9-oneOf-1-0!./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/timApp/trtc/calling-index.vue?vue&type=style&index=0&id=5349f86d&lang=scss&scoped=true ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a