Selaa lähdekoodia

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/types/components.d.ts
yangyuxuan 2 kuukautta sitten
vanhempi
commit
cbaea03663

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

@@ -28,8 +28,6 @@ declare module 'vue' {
     ElBadge: typeof import('element-plus/es')['ElBadge']
     ElButton: typeof import('element-plus/es')['ElButton']
     ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
-    ElCheckboxButton: typeof import('element-plus/es')['ElCheckboxButton']
-    ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
     ElCol: typeof import('element-plus/es')['ElCol']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
@@ -54,22 +52,17 @@ declare module 'vue' {
     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']
     ElTag: typeof import('element-plus/es')['ElTag']
     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']
     ExcelEditor: typeof import('./../components/ExcelEditor/index.vue')['default']
     FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
@@ -93,7 +86,6 @@ declare module 'vue' {
     NearbyVideos: typeof import('./../components/NearbyVideos/index.vue')['default']
     Pagination: typeof import('./../components/Pagination/index.vue')['default']
     ParentView: typeof import('./../components/ParentView/index.vue')['default']
-    PdfViewer: typeof import('./../components/PdfViewer/PdfViewer.vue')['default']
     QuickZoom: typeof import('./../components/Map/quickZoom.vue')['default']
     Render: typeof import('./../components/BuildCode/render.vue')['default']
     RightTool: typeof import('./../components/Map/rightTool.vue')['default']

+ 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') || "";

+ 1 - 17
src/views/emergencyCommandMap/RightSection/SelectPlan.vue

@@ -1,8 +1,7 @@
 <template>
-  <Dialog ref="dialogRef" v-model="isDialogVisible" type="lg" title="预案任务下发" @confirm="startSelectedPlan" @close="handleCloseDialog">
+  <Dialog ref="dialogRef" v-model="isDialogVisible" type="lg" :style="{ height: '220px' }" title="预案任务下发" @confirm="startSelectedPlan" @close="handleCloseDialog">
     <div class="dialog-content">
       <div class="dialog-body">
-        <!--        <div class="plan-selector">-->
         <el-form-item label="预案名称:" label-width="200px">
           <el-select
             id="plan-select"
@@ -14,26 +13,11 @@
             :teleported="false"
             @change="startSelectedPlan"
           >
-            <!--        <option value="">请选择预案</option>-->
             <el-option v-for="plan in plans" :key="plan.plan_id" :value="plan.plan_id">{{ plan.plan_name }}</el-option>
           </el-select>
         </el-form-item>
       </div>
     </div>
-    <!-- 预案选择器 -->
-    <!--    <div class="plan-selector">-->
-    <!--      <label>预案名称:</label>-->
-    <!--      <el-select id="plan-select" v-model="selectedPlanId" class="custom-select" placeholder="请选择预案" popper-class="custom-select-popper" size="large" :teleported=false @change="startSelectedPlan">-->
-    <!--        &lt;!&ndash;        <option value="">请选择预案</option>&ndash;&gt;-->
-    <!--        <el-option v-for="plan in plans" :key="plan.plan_id" :value="plan.plan_id">{{ plan.plan_name }}</el-option>-->
-    <!--      </el-select>-->
-    <!--    </div>-->
-    <!--    <template #footer>-->
-    <!--      <span class="dialog-footer">-->
-    <!--        <button class="com" @click="startSelectedPlan">确定并启动预案</button>-->
-    <!--        <button class="custom-button" @click="hideDialog">取消</button>-->
-    <!--      </span>-->
-    <!--    </template>-->
   </Dialog>
 </template>
 <script lang="ts" setup>

+ 9 - 10
src/views/emergencyCommandMap/RightSection/TaskDelivery.vue

@@ -1,5 +1,5 @@
 <template>
-  <Dialog :hide-title="false" v-model="dialogVisible" type="xl" :title="props.title" @close="closeDialog">
+  <Dialog v-model="dialogVisible" :hide-title="false" type="xl" :title="props.title" @close="closeDialog">
     <div class="content">
       <el-skeleton :loading="loading" animated>
         <template #template>
@@ -28,10 +28,9 @@
       </el-skeleton>
     </div>
     <template #footer>
-      <div class="dialog-footer" style="margin-right:8px">
-        <div class="common-btn" @click="closeDialog" style="margin-right: 20px">取 消</div>
+      <div class="dialog-footer" style="margin-right: 8px">
+        <div class="common-btn" style="margin-right: 20px" @click="closeDialog">取 消</div>
         <div class="common-btn-primary2" @click="sendTasks">确认发送H5短信</div>
-
       </div>
     </template>
   </Dialog>
@@ -94,11 +93,11 @@ const sendTasks = () => {
 
   // 领导批示内容
   let task_list = {};
-  tasks.value.map((v)=>{
-    if(v.content2 && v.content2 != "") {
-      task_list[v.dept_id] =  v.content2
+  tasks.value.map((v) => {
+    if (v.content2 && v.content2 != '') {
+      task_list[v.dept_id] = v.content2;
     }
-  })
+  });
   // console.log(tasks.value);
   sendTask({ eventId: props.eventId, tasks: task_list })
     .then(() => {
@@ -113,8 +112,8 @@ const handleShowApprove = (item) => {
   item.show = !!!item.show;
 };
 const handleCancel = (item) => {
-  item.content2 = "";
-  item.comment = "";
+  item.content2 = '';
+  item.comment = '';
   item.show = false;
 };
 const handleSubmit = (item) => {

+ 9 - 3
src/views/informationissue/informationList.vue

@@ -6,8 +6,14 @@
           <el-form ref="queryFormRef" :model="queryParams" label-width="auto">
             <el-row :gutter="20">
               <el-col :span="8">
-                <div style="margin-bottom:10px;">
-                  <el-segmented v-model="queryParams.dispose_status" :options="disposeStatusOptions" size="large" block @change="handleDisposeStatus" />
+                <div style="margin-bottom: 10px">
+                  <el-segmented
+                    v-model="queryParams.dispose_status"
+                    :options="disposeStatusOptions"
+                    size="large"
+                    block
+                    @change="handleDisposeStatus"
+                  />
                 </div>
               </el-col>
             </el-row>
@@ -47,7 +53,7 @@
           </template>
         </el-table-column>
         <el-table-column label="发布单位" align="center" prop="publish_group" />
-        <el-table-column label="信息内容" align="left" prop="content"  width="400"/>
+        <el-table-column label="信息内容" align="left" prop="content" width="400" />
         <el-table-column label="发布时间" align="center" prop="publish_time" />
         <el-table-column label="发布渠道" align="center" prop="publish_channel" />
         <el-table-column label="发布申请人" align="center" prop="nick_name" />

+ 11 - 5
src/views/informationissue/sendDetail.vue

@@ -6,21 +6,21 @@
           <div v-show="showSearch">
             <el-form ref="queryFormRef" :model="queryParams" label-width="100px" style="margin-left: -50px">
               <el-row :gutter="20">
-                <el-col :span="5">
+                <el-col :span="4">
                   <el-form-item label="渠道:">
                     <el-select v-model="queryParams.channel" placeholder="全部">
                       <el-option v-for="(option, index) in channelOptions" :key="index" :label="option.label" :value="option.value"></el-option>
                     </el-select>
                   </el-form-item>
                 </el-col>
-                <el-col :span="5">
+                <el-col :span="4">
                   <el-form-item label="发布状态:">
                     <el-select v-model="queryParams.publishStatus" placeholder="请选择">
                       <el-option v-for="(option, index) in publishStatusOptions" :key="index" :label="option.label" :value="option.value"></el-option>
                     </el-select>
                   </el-form-item>
                 </el-col>
-                <el-col :span="5">
+                <el-col :span="4">
                   <el-form-item label="反馈状态:">
                     <el-select v-model="queryParams.feedbackStatus" placeholder="请选择">
                       <el-option
@@ -37,9 +37,10 @@
                     <el-input v-model="queryParams.searchInput" placeholder="请输入内容"></el-input>
                   </el-form-item>
                 </el-col>
-                <el-col :span="4">
+                <el-col :span="5">
                   <el-form-item>
                     <el-button type="primary" @click="handleSearch">搜索</el-button>
+                    <el-button icon="Refresh" @click="resetSearch">重置</el-button>
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -114,7 +115,6 @@ const data = reactive({
   queryParams: {
     page: 1,
     page_size: 10,
-    info_id: '',
     channel: '',
     publishStatus: '',
     feedbackStatus: '',
@@ -142,6 +142,12 @@ const fetchTableData = () => {
 
 // 处理搜索
 const handleSearch = () => {
+  queryParams.value.page = 1;
+  fetchTableData();
+};
+const resetSearch = () => {
+  const newQueryParams = { page: 1, page_size: 10, channel: '', publishStatus: '', feedbackStatus: '', searchInput: '' };
+  Object.assign(queryParams.value, newQueryParams);
   fetchTableData();
 };
 // 选择改变时触发