Browse Source

融合通信调整

Hwf 5 months ago
parent
commit
a678fee2e4

+ 2 - 0
src/types/components.d.ts

@@ -56,6 +56,8 @@ declare module 'vue' {
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSegmented: typeof import('element-plus/es')['ElSegmented']
     ElSelect: typeof import('element-plus/es')['ElSelect']
+    ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
+    ElSkeletonItem: typeof import('element-plus/es')['ElSkeletonItem']
     ElSlider: typeof import('element-plus/es')['ElSlider']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']

+ 5 - 61
src/views/emergencyCommandMap/LeftSection/Communication.vue

@@ -102,21 +102,6 @@
     <Drone v-show="activeIndex === 1" />
     <IndividualEquipment v-show="activeIndex === 2" />
 
-    <Dialog v-if="showOpenMeeting" customShow type="xs" height="220px" title="发起会议" @confirm="handleStartMeeting" @close="closeOpenDialog">
-      <div class="dialog-content">
-        <el-form ref="form2Ref" :model="openMeetingForm" :rules="rules2">
-          
-          <el-form-item label="账号" label-width="80px" prop="username">
-            <el-input v-model="openMeetingForm.username" class="custom-input2" clearable placeholder="请输入设备账号" />
-          </el-form-item>
-
-          <el-form-item label="密码" label-width="80px" prop="userpass">
-            <el-input v-model="openMeetingForm.userpass" type="password" class="custom-input2" clearable placeholder="请输入设备密码" />
-          </el-form-item>
-        </el-form>
-      </div>
-    </Dialog>
-
     <Dialog v-if="showJoinMeeting" customShow type="xs" height="280px" title="加入会议" @confirm="handleJoinMeeting" @close="closeDialog">
       <div class="dialog-content">
         <el-form ref="formRef" :model="meetingForm" :rules="rules">
@@ -134,14 +119,12 @@
       </div>
     </Dialog>
 
-    <Dialog v-if="showOpenMeeting" customShow type="xs" height="220px" title="电话呼叫" @confirm="handleStartCall" @close="closeOpenDialog">
+    <Dialog v-if="showOpenMeeting" customShow type="xs" height="220px" :title="type === '0' ? '发起会议' : '电话呼叫'" @confirm="handleStartCall" @close="closeOpenDialog">
       <div class="dialog-content">
         <el-form ref="form2Ref" :model="openMeetingForm" :rules="rules2">
-          
           <el-form-item label="账号" label-width="80px" prop="username">
             <el-input v-model="openMeetingForm.username" class="custom-input2" clearable placeholder="请输入设备账号" />
           </el-form-item>
-
           <el-form-item label="密码" label-width="80px" prop="userpass">
             <el-input v-model="openMeetingForm.userpass" type="password" class="custom-input2" clearable placeholder="请输入设备密码" />
           </el-form-item>
@@ -265,8 +248,11 @@ const rules = reactive({
   username: [{ required: true, message: '会议账号不能为空', trigger: 'blur' }],
   userpass: [{ required: true, message: '会议密码不能为空', trigger: 'blur' }]
 });
+// 0 会议 1 电话
+let type = ref('0');
 // 点击会议号入会
 const showJoinMeetingDialog = () => {
+  type.value = '0';
   showJoinMeeting.value = true;
 };
 const closeDialog = () => {
@@ -329,7 +315,7 @@ const handleStartCall = () => {
       let dev_list = [];
       userList.value.forEach((item) => {
         if (item.checked && item.mobile != '') {
-          dev_list.push({ id: item.mobile, avtype: 'a' }); // a 音频 v 视频 默认 av
+          dev_list.push({ id: item.mobile, avtype: type.value === '0' ? 'av' : 'a' }); // a 音频 v 视频 默认 av
         }
       });
       if (dev_list.length == 0) {
@@ -364,48 +350,6 @@ const handleStartCall = () => {
     }
   })
 };
-// 发起会议
-const handleStartMeeting = () => {
-  form2Ref.value?.validate((valid) => {
-    if (valid) {
-      let dev_list = [];
-      userList.value.forEach((item) => {
-        if (item.checked && item.mobile != '') {
-          dev_list.push({ id: item.mobile, avtype: 'av' }); // a 音频 v 视频 默认 av
-        }
-      });
-      if (dev_list.length == 0) {
-        proxy?.$modal.msgError('请勾选人员');
-        return false;
-      }
-      const screenWidth = window.screen.width * window.devicePixelRatio;
-      const screenHeight = window.screen.height * window.devicePixelRatio;
-      const data = {
-        userid: openMeetingForm.username, // 空表示后台获取当前用户对应融合通信dev_id
-        password: openMeetingForm.userpass,
-        roomid: '',
-        windowpos: { 'x': 0, 'y': 0, 'width': screenWidth, 'height': screenHeight, 'top': true },
-        members: {
-          num: dev_list.length + 2, // 配置多少个座位,一般就是邀请人多少个就多少个
-          'dev-list': dev_list
-        }
-      };
-      getStartMiniParam(data).then((res) => {
-        // 创建一个a标签元素
-        const a = document.createElement('a');
-        // 设置a标签的href属性
-        a.href = res.data;
-        // 触发点击事件
-        a.click();
-
-        // 保存账号和密码
-        localStorage.setItem('meeting_username', openMeetingForm.username)
-        localStorage.setItem('meeting_userpass', openMeetingForm.userpass)
-      });
-      closeOpenDialog();
-    }
-  })
-};
 
 onMounted(() => {
   const meeting_username = localStorage.getItem('meeting_username') || "";