Browse Source

会议号入会

Hwf 6 months ago
parent
commit
3416a11b24

+ 1 - 17
src/types/components.d.ts

@@ -21,7 +21,6 @@ declare module 'vue' {
     ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
     ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
     ElButton: typeof import('element-plus/es')['ElButton']
-    ElCard: typeof import('element-plus/es')['ElCard']
     ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
     ElCol: typeof import('element-plus/es')['ElCol']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
@@ -38,34 +37,22 @@ declare module 'vue' {
     ElIcon: typeof import('element-plus/es')['ElIcon']
     ElImage: typeof import('element-plus/es')['ElImage']
     ElInput: typeof import('element-plus/es')['ElInput']
-    ElLink: typeof import('element-plus/es')['ElLink']
     ElMenu: typeof import('element-plus/es')['ElMenu']
     ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
     ElOption: typeof import('element-plus/es')['ElOption']
     ElPagination: typeof import('element-plus/es')['ElPagination']
-    ElPopover: typeof import('element-plus/es')['ElPopover']
-    ElRadio: typeof import('element-plus/es')['ElRadio']
-    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     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']
-    ElStep: typeof import('element-plus/es')['ElStep']
-    ElSteps: typeof import('element-plus/es')['ElSteps']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
-    ElTable: typeof import('element-plus/es')['ElTable']
-    ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
-    ElTabPane: typeof import('element-plus/es')['ElTabPane']
-    ElTabs: typeof import('element-plus/es')['ElTabs']
     ElText: typeof import('element-plus/es')['ElText']
     ElTimeline: typeof import('element-plus/es')['ElTimeline']
     ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
-    ElTooltip: typeof import('element-plus/es')['ElTooltip']
     ElTree: typeof import('element-plus/es')['ElTree']
-    ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
     ElUpload: typeof import('element-plus/es')['ElUpload']
     FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
     FooterSection: typeof import('./../components/FooterSection/index.vue')['default']
@@ -76,7 +63,6 @@ declare module 'vue' {
     HikvisionPlayer: typeof import('./../components/HKVideo/hikvision-player.vue')['default']
     HKVideo: typeof import('./../components/HKVideo/index.vue')['default']
     IconSelect: typeof import('./../components/IconSelect/index.vue')['default']
-    IEpUploadFilled: typeof import('~icons/ep/upload-filled')['default']
     IFrame: typeof import('./../components/iFrame/index.vue')['default']
     ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
     ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']
@@ -111,9 +97,7 @@ declare module 'vue' {
     VideoContainer2: typeof import('./../components/HKVideo/video-container2.vue')['default']
     VideoTagEdit: typeof import('./../components/VideoTagEdit/index.vue')['default']
     YMap: typeof import('./../components/Map/YMap.vue')['default']
+    YMapold: typeof import('./../components/Map/YMapold.vue')['default']
     YztMap: typeof import('./../components/Map/YztMap/index.vue')['default']
   }
-  export interface ComponentCustomProperties {
-    vLoading: typeof import('element-plus/es')['ElLoadingDirective']
-  }
 }

+ 44 - 16
src/views/emergencyCommandMap/LeftSection/Communication.vue

@@ -83,7 +83,7 @@
         </div>
       </div>
       <div class="btn-box">
-        <div class="btn" @click="handleJoinMeeting">
+        <div class="btn" @click="showJoinMeetingDialog">
           <div class="icon1"></div>
           <div class="text">会议号入会</div>
         </div>
@@ -97,6 +97,13 @@
         </div>
       </div>
     </div>
+    <Dialog v-if="showJoinMeeting" customShow type="xs" height="500px" title="加入会议" @confirm="handleJoinMeeting" @close="closeDialog">
+      <el-form ref="formRef" :model="meetingForm" :rules="rules">
+        <el-form-item label="会议号" label-width="200px" prop="roomcode">
+          <el-input v-model="meetingForm.roomcode" class="custom-input2" clearable placeholder="请输入会议号" />
+        </el-form-item>
+      </el-form>
+    </Dialog>
   </div>
 </template>
 
@@ -206,23 +213,44 @@ const deleteItem = (item) => {
   changeSelectList(item);
 };
 
+let formRef = ref();
+let showJoinMeeting = ref(false);
+let meetingForm = reactive({
+  roomcode: ''
+});
+const rules = reactive({
+  roomcode: [{ required: true, message: '会议号不能为空', trigger: 'blur' }]
+});
+// 点击会议号入会
+const showJoinMeetingDialog = () => {
+  showJoinMeeting.value = true;
+};
+const closeDialog = () => {
+  showJoinMeeting.value = false;
+  meetingForm.roomcode = '';
+};
 // 会议号入会
 const handleJoinMeeting = () => {
-  const screenWidth = window.screen.width * window.devicePixelRatio;
-  const screenHeight = window.screen.height * window.devicePixelRatio;
-  const data = {
-    'userid': '', // 空表示后台获取当前用户对应融合通信dev_id
-    'password': '123',
-    roomcode: '749428988', // 会议号
-    windowpos: { 'x': 0, 'y': 0, 'width': screenWidth, 'height': screenHeight, 'top': true }
-  };
-  getStartMiniWithNoParam(data).then((res) => {
-    // 创建一个a标签元素
-    const a = document.createElement('a');
-    // 设置a标签的href属性
-    a.href = res.data;
-    // 触发点击事件
-    a.click();
+  formRef.value?.validate((valid) => {
+    if (valid) {
+      const screenWidth = window.screen.width * window.devicePixelRatio;
+      const screenHeight = window.screen.height * window.devicePixelRatio;
+      const data = {
+        'userid': '', // 空表示后台获取当前用户对应融合通信dev_id
+        'password': '123',
+        roomcode: meetingForm.roomcode, // 会议号
+        windowpos: { 'x': 0, 'y': 0, 'width': screenWidth, 'height': screenHeight, 'top': true }
+      };
+      getStartMiniWithNoParam(data).then((res) => {
+        // 创建一个a标签元素
+        const a = document.createElement('a');
+        // 设置a标签的href属性
+        a.href = res.data;
+        // 触发点击事件
+        a.click();
+      });
+      closeDialog();
+    }
   });
 };
 

+ 2 - 0
src/views/globalMap/RightMenu/OnlinePlotting/CollaborativeUser.vue

@@ -26,6 +26,7 @@
 
 <script lang="ts" setup name="ImportLayer">
 import { endCollaboration, getPatternUserList, startCollaboration } from '@/api/globalMap/onlinePlotting';
+import { showSuccessMsg } from '@/utils/notification';
 
 const props = defineProps({
   modelValue: Boolean,
@@ -50,6 +51,7 @@ const handleCloseUser = (id) => {
     pattern_id: props.patternId,
     user_id: id
   }).then(() => {
+    showSuccessMsg('关闭成功');
     getList();
   });
 };