浏览代码

救援队伍 灾害评估

yangyuxuan 3 月之前
父节点
当前提交
c160ec6f83

+ 53 - 22
src/views/comprehensiveGuarantee/reliefResourceManagement/rescueUnitAdd.vue

@@ -2,50 +2,81 @@
   <div class="common-dialog">
     <div class="common-dialog-content">
       <div class="common-dialog-title-box">
-        <h3 class="common-dialog-title">新建救援单位</h3>
+        <h3 class="common-dialog-title">新建救援队伍</h3>
       </div>
       <div class="common-dialog-box">
         <el-form ref="form" :model="formData" :rules="rules" label-width="auto">
-          <el-form-item label="救援人员单位:" prop="name">
+          <el-form-item label="队伍名称:" prop="name">
             <el-input v-model="formData.name" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="类型:" prop="category">
+          <el-form-item label="队伍类型:" prop="category">
             <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="负责人:" prop="responsible_person">
-            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          <el-form-item label="队伍属性:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="联系电话:" prop="contact_number">
-            <el-input v-model="formData.contact_number" style="width: 468px !important" />
+          <el-form-item label="队伍级别:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍特长:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="负责人职务:" prop="position">
-            <el-input v-model="formData.position" style="width: 468px !important" />
+          <el-form-item label="队伍人数:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="装备:" prop="equipment">
-            <el-input v-model="formData.equipment" style="width: 468px !important" />
+          <el-form-item label="值班电话:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="训练:" prop="training">
-            <el-input v-model="formData.training" style="width: 468px !important" />
+          <el-form-item label="主管单位:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="队伍人数:" prop="team_size">
+          <el-form-item label="主管单位联系人:" prop="team_size">
             <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="地址:" prop="address">
+          <el-form-item label="主管单位联系人电话:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍负责人:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍负责人移动电话:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍所在地址:" prop="address">
             <el-input v-model="formData.address" placeholder="请输入地址" style="width: 468px !important" readonly>
               <template #append>
                 <el-button type="primary" @click="openMapDialog">地图定位</el-button>
               </template>
             </el-input>
           </el-form-item>
-          <el-form-item label="经度:" prop="longitude">
-            <el-input v-model="formData.longitude" style="width: 468px !important" />
-          </el-form-item>
-          <el-form-item label="纬度:" prop="latitude">
-            <el-input v-model="formData.latitude" style="width: 468px !important" />
+          <el-form-item label="所属行政区域:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="主管单位:" prop="supervisor_unit">
-            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />
+          <el-form-item label="成立时间:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
+
+<!--          <el-form-item label="联系电话:" prop="contact_number">-->
+<!--            <el-input v-model="formData.contact_number" style="width: 468px !important" />-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="负责人职务:" prop="position">-->
+<!--            <el-input v-model="formData.position" style="width: 468px !important" />-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="装备:" prop="equipment">-->
+<!--            <el-input v-model="formData.equipment" style="width: 468px !important" />-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="训练:" prop="training">-->
+<!--            <el-input v-model="formData.training" style="width: 468px !important" />-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="经度:" prop="longitude">-->
+<!--            <el-input v-model="formData.longitude" style="width: 468px !important" />-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="纬度:" prop="latitude">-->
+<!--            <el-input v-model="formData.latitude" style="width: 468px !important" />-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="主管单位:" prop="supervisor_unit">-->
+<!--            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />-->
+<!--          </el-form-item>-->
         </el-form>
         <div class="common-dialog-footer">
           <el-button @click="closeDialog">取消</el-button>

+ 53 - 22
src/views/comprehensiveGuarantee/reliefResourceManagement/rescueUnitEdit.vue

@@ -2,50 +2,81 @@
   <div class="common-dialog">
     <div class="common-dialog-content">
       <div class="common-dialog-title-box">
-        <h3 class="common-dialog-title">编辑救援人员单位</h3>
+        <h3 class="common-dialog-title">编辑救援队伍</h3>
       </div>
       <div class="common-dialog-box">
         <el-form ref="form" :model="formData" :rules="rules" label-width="auto">
-          <el-form-item label="救援人员单位:" prop="name">
+          <el-form-item label="队伍名称:" prop="name">
             <el-input v-model="formData.name" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="类型:" prop="category">
+          <el-form-item label="队伍类型:" prop="category">
             <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="负责人:" prop="responsible_person">
-            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          <el-form-item label="队伍属性:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="联系电话:" prop="contact_number">
-            <el-input v-model="formData.contact_number" style="width: 468px !important" />
+          <el-form-item label="队伍级别:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍特长:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="负责人职务:" prop="position">
-            <el-input v-model="formData.position" style="width: 468px !important" />
+          <el-form-item label="队伍人数:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="装备:" prop="equipment">
-            <el-input v-model="formData.equipment" style="width: 468px !important" />
+          <el-form-item label="值班电话:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="训练:" prop="training">
-            <el-input v-model="formData.training" style="width: 468px !important" />
+          <el-form-item label="主管单位:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="队伍人数:" prop="team_size">
+          <el-form-item label="主管单位联系人:" prop="team_size">
             <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="地址:" prop="address">
+          <el-form-item label="主管单位联系人电话:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍负责人:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍负责人移动电话:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="队伍所在地址:" prop="address">
             <el-input v-model="formData.address" placeholder="请输入地址" style="width: 468px !important" readonly>
               <template #append>
                 <el-button type="primary" @click="openMapDialog">地图定位</el-button>
               </template>
             </el-input>
           </el-form-item>
-          <el-form-item label="经度:" prop="longitude">
-            <el-input v-model="formData.longitude" style="width: 468px !important" />
-          </el-form-item>
-          <el-form-item label="纬度:" prop="latitude">
-            <el-input v-model="formData.latitude" style="width: 468px !important" />
+          <el-form-item label="所属行政区域:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="主管单位:" prop="supervisor_unit">
-            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />
+          <el-form-item label="成立时间:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
+
+          <!--          <el-form-item label="联系电话:" prop="contact_number">-->
+          <!--            <el-input v-model="formData.contact_number" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="负责人职务:" prop="position">-->
+          <!--            <el-input v-model="formData.position" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="装备:" prop="equipment">-->
+          <!--            <el-input v-model="formData.equipment" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="训练:" prop="training">-->
+          <!--            <el-input v-model="formData.training" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="经度:" prop="longitude">-->
+          <!--            <el-input v-model="formData.longitude" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="纬度:" prop="latitude">-->
+          <!--            <el-input v-model="formData.latitude" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="主管单位:" prop="supervisor_unit">-->
+          <!--            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
         </el-form>
         <div class="common-dialog-footer">
           <el-button @click="closeDialog">取消</el-button>

+ 60 - 25
src/views/comprehensiveGuarantee/reliefResourceManagement/rescueUnitView.vue

@@ -5,43 +5,78 @@
         <h3 class="common-dialog-title">查看详情</h3>
       </div>
       <div class="common-dialog-box">
-        <el-form ref="form" :model="formData" label-width="auto" class="custom-disabled">
-          <el-form-item label="救援人员单位:" prop="name">
-            <el-input v-model="formData.name" style="width: 468px !important" disabled />
+        <el-form ref="form" :model="formData" label-width="auto">
+          <el-form-item label="队伍名称:" prop="name">
+            <el-input v-model="formData.name" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="类型:" prop="category">
-            <el-input v-model="formData.category" style="width: 468px !important" disabled />
+          <el-form-item label="队伍类型:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="负责人:" prop="responsible_person">
-            <el-input v-model="formData.responsible_person" style="width: 468px !important" disabled />
+          <el-form-item label="队伍属性:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="联系电话:" prop="contact_number">
-            <el-input v-model="formData.contact_number" style="width: 468px !important" disabled />
+          <el-form-item label="队伍级别:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="负责人职务:" prop="position">
-            <el-input v-model="formData.position" style="width: 468px !important" disabled />
+          <el-form-item label="队伍特长:" prop="category">
+            <el-input v-model="formData.category" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="装备:" prop="equipment">
-            <el-input v-model="formData.equipment" style="width: 468px !important" disabled />
+          <el-form-item label="队伍人数:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="训练:" prop="training">
-            <el-input v-model="formData.training" style="width: 468px !important" disabled />
+          <el-form-item label="值班电话:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="队伍人数:" prop="team_size">
-            <el-input v-model="formData.team_size" style="width: 468px !important" disabled />
+          <el-form-item label="主管单位:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="主管单位联系人:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="地址:" prop="address">
-            <el-input v-model="formData.address" style="width: 468px !important" disabled />
+          <el-form-item label="主管单位联系人电话:" prop="team_size">
+            <el-input v-model="formData.team_size" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="经度:" prop="longitude">
-            <el-input v-model="formData.longitude" style="width: 468px !important" disabled />
+          <el-form-item label="队伍负责人:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="纬度:" prop="latitude">
-            <el-input v-model="formData.latitude" style="width: 468px !important" disabled />
+          <el-form-item label="队伍负责人移动电话:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
           </el-form-item>
-          <el-form-item label="主管单位:" prop="supervisor_unit">
-            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" disabled />
+          <el-form-item label="队伍所在地址:" prop="address">
+            <el-input v-model="formData.address" placeholder="请输入地址" style="width: 468px !important" readonly>
+              <template #append>
+                <el-button type="primary" @click="openMapDialog">地图定位</el-button>
+              </template>
+            </el-input>
           </el-form-item>
+          <el-form-item label="所属行政区域:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          </el-form-item>
+          <el-form-item label="成立时间:" prop="responsible_person">
+            <el-input v-model="formData.responsible_person" style="width: 468px !important" />
+          </el-form-item>
+
+          <!--          <el-form-item label="联系电话:" prop="contact_number">-->
+          <!--            <el-input v-model="formData.contact_number" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="负责人职务:" prop="position">-->
+          <!--            <el-input v-model="formData.position" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="装备:" prop="equipment">-->
+          <!--            <el-input v-model="formData.equipment" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="训练:" prop="training">-->
+          <!--            <el-input v-model="formData.training" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="经度:" prop="longitude">-->
+          <!--            <el-input v-model="formData.longitude" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="纬度:" prop="latitude">-->
+          <!--            <el-input v-model="formData.latitude" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
+          <!--          <el-form-item label="主管单位:" prop="supervisor_unit">-->
+          <!--            <el-input v-model="formData.supervisor_unit" style="width: 468px !important" />-->
+          <!--          </el-form-item>-->
         </el-form>
         <div class="common-dialog-footer">
           <el-button type="primary" @click="closeDialog">返回</el-button>

+ 283 - 0
src/views/emergencyCommandMap/RightSection/disasterAssessment.vue

@@ -0,0 +1,283 @@
+<template>
+  <Dialog custom-show type="lg" title="灾害评估" @close="closeDialog">
+    <!-- 表格组件 -->
+    <div class="common-table">
+      <div class="table-header">
+        <div class="td">行政区划</div>
+        <div class="td">受灾人数(人)</div>
+        <div class="td">失踪人数(人)</div>
+        <div class="td">死亡人数(人)</div>
+        <div class="td">紧急转移(人)</div>
+        <div class="td">直接经济损失(万元)</div>
+      </div>
+      <div v-for="(item, index) in fixedTableData" :key="index" class="tr">
+        <div class="td">
+          <div class="address-box">
+            <div class="address-text" :title="item.address">{{ item.address }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <el-input-number v-if="isEditing" v-model="item.numone" class="custom-input" :min="0" />
+            <div v-else class="address-text">{{ item.numone }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <el-input-number v-if="isEditing" v-model="item.numtwo" class="custom-input" :min="0" />
+            <div v-else class="address-text">{{ item.numtwo }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <el-input-number v-if="isEditing" v-model="item.numthree" class="custom-input" :min="0" />
+            <div v-else class="address-text">{{ item.numthree }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <el-input-number v-if="isEditing" v-model="item.numfour" class="custom-input" :min="0" />
+            <div v-else class="address-text">{{ item.numfour }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <el-input-number v-if="isEditing" v-model="item.numfive" class="custom-input" :min="0" />
+            <div v-else class="address-text">{{ item.numfive }}</div>
+          </div>
+        </div>
+      </div>
+      <!-- 合计行 -->
+      <div class="tr total-row">
+        <div class="td">
+          <div class="address-box">
+            <div class="address-text">合计</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <div class="address-text">{{ total.numone }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <div class="address-text">{{ total.numtwo }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <div class="address-text">{{ total.numthree }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <div class="address-text">{{ total.numfour }}</div>
+          </div>
+        </div>
+        <div class="td">
+          <div class="address-box">
+            <div class="address-text">{{ total.numfive }}</div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div v-if="!isEditing" class="btn-box">
+      <div class="btn" @click="toggleEdit">
+        <div class="text">编辑</div>
+      </div>
+    </div>
+    <div v-if="isEditing" style="display: flex">
+      <div class="btn-box">
+        <div class="btn" @click="saveEdit">
+          <div class="text">保存</div>
+        </div>
+      </div>
+      <div class="btn-box">
+        <div class="btn" @click="cancelEdit">
+          <div class="text">取消</div>
+        </div>
+      </div>
+    </div>
+  </Dialog>
+</template>
+
+<script setup lang="ts">
+import { computed, ref } from 'vue';
+
+// 固定的行政区域列表
+const fixedRegions = ['茂名市', '茂南区', '电白区', '化州市', '高州市', '信宜市'];
+
+// 编辑状态
+const isEditing = ref(false);
+// 保存编辑前的原始数据
+const originalData = ref([]);
+
+// 原始数据
+const tableData = ref([]);
+
+// 固定区域的数据
+const fixedTableData = ref([]);
+
+// 合并固定区域和数据的函数
+const mergeDataWithFixedRegions = () => {
+  fixedTableData.value = fixedRegions.map((region) => {
+    // 查找是否有该区域的数据
+    const foundData = tableData.value.find((item) => item.address === region);
+
+    // 如果有数据则使用,否则使用默认值0
+    return (
+      foundData || {
+        address: region,
+        numone: 0,
+        numtwo: 0,
+        numthree: 0,
+        numfour: 0,
+        numfive: 0
+      }
+    );
+  });
+};
+
+// 计算合计值
+const total = computed(() => {
+  return {
+    numone: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numone) || 0), 0),
+    numtwo: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numtwo) || 0), 0),
+    numthree: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numthree) || 0), 0),
+    numfour: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numfour) || 0), 0),
+    numfive: fixedTableData.value.reduce((sum, item) => sum + (Number(item.numfive) || 0), 0)
+  };
+});
+
+// 切换编辑状态
+const toggleEdit = () => {
+  // 进入编辑时保存当前数据快照
+  originalData.value = JSON.parse(JSON.stringify(fixedTableData.value));
+  isEditing.value = true;
+};
+
+const saveEdit = () => {
+  isEditing.value = false;
+  // 保存数据到tableData
+  tableData.value = fixedTableData.value.filter(
+    (item) => item.numone !== 0 || item.numtwo !== 0 || item.numthree !== 0 || item.numfour !== 0 || item.numfive !== 0
+  );
+};
+
+const cancelEdit = () => {
+  // 恢复编辑前的数据
+  fixedTableData.value = JSON.parse(JSON.stringify(originalData.value));
+  isEditing.value = false;
+};
+
+const emit = defineEmits(['update:show']);
+const closeDialog = () => {
+  emit('update:show', false);
+};
+
+onMounted(() => {
+  tableData.value = [
+    {
+      address: '',
+      numone: 0,
+      numtwo: 0,
+      numthree: 0,
+      numfour: 0,
+      numfive: 0
+    }
+  ];
+  mergeDataWithFixedRegions();
+});
+</script>
+
+<style scoped lang="scss">
+.common-table {
+  .total-row {
+    font-weight: bold;
+  }
+
+  .table-header,
+  .tr {
+    display: flex;
+    height: 45px;
+    .td {
+      flex: 1;
+      padding: 3px;
+
+      .address-box {
+        .address-text {
+          white-space: nowrap;
+          overflow: hidden;
+          text-overflow: ellipsis;
+        }
+
+        .edit-input {
+          width: 100%;
+          padding: 1px;
+          border: 1px solid #ccc;
+          border-radius: 1px;
+          text-align: center;
+        }
+        :deep(.el-input-number) {
+          width: 60%;
+        }
+      }
+    }
+  }
+}
+.custom-input {
+  :deep(.el-input-number__increase) {
+    background-color: #ffffff;
+    width: 16px;
+    font-size: 8px;
+  }
+  :deep(.el-input-number__decrease) {
+    background-color: #ffffff;
+    width: 16px;
+    font-size: 8px;
+  }
+}
+.btn-box {
+  width: 100%;
+  display: flex;
+  justify-content: flex-end;
+  align-items: center;
+  .btn {
+    width: 114px;
+    height: 43px;
+    background: url('@/assets/images/emergencyCommandMap/communication/btn.png') no-repeat;
+    background-size: 100% 100%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    cursor: pointer;
+    .icon1,
+    .icon2,
+    .icon3 {
+      margin-top: 3px;
+    }
+    .icon1 {
+      width: 19px;
+      height: 20px;
+      background: url('@/assets/images/emergencyCommandMap/communication/icon1.png') no-repeat;
+      background-size: 100% 100%;
+    }
+    .icon2 {
+      width: 20px;
+      height: 20px;
+      background: url('@/assets/images/emergencyCommandMap/communication/icon2.png') no-repeat;
+      background-size: 100% 100%;
+    }
+    .icon3 {
+      width: 20px;
+      height: 20px;
+      background: url('@/assets/images/emergencyCommandMap/communication/icon3.png') no-repeat;
+      background-size: 100% 100%;
+    }
+    .text {
+      color: #fff;
+      font-size: 14px;
+    }
+  }
+}
+</style>

+ 20 - 6
src/views/emergencyCommandMap/RightSection/index.vue

@@ -13,12 +13,12 @@
         </div>
         <div class="task-text gradient-text">启动预案</div>
       </div>
-      <div class="task-item">
-        <div class="icon">
-          <div class="icon3"></div>
-        </div>
-        <div class="task-text gradient-text">粤政易群聊</div>
-      </div>
+<!--      <div class="task-item">-->
+<!--        <div class="icon">-->
+<!--          <div class="icon3"></div>-->
+<!--        </div>-->
+<!--        <div class="task-text gradient-text">粤政易群聊</div>-->
+<!--      </div>-->
       <div class="task-item" @click="openRenWuDengJi">
         <div class="icon">
           <div class="icon4"></div>
@@ -37,6 +37,12 @@
         </div>
         <div class="task-text gradient-text">值班管理</div>
       </div>
+      <div class="task-item" @click="openDisasterAssessment">
+        <div class="icon">
+          <div class="icon3"></div>
+        </div>
+        <div class="task-text gradient-text">灾害评估</div>
+      </div>
     </div>
     <RightTop :event-id="eventId" />
     <PublicOpinionSupervision />
@@ -47,6 +53,7 @@
     <RenWuDengJi v-if="renWuDengJiState.show" v-model:show="renWuDengJiState.show" :event-id="eventId" />
     <dutyManagement v-if="dutyManagementState.show" v-model:show="dutyManagementState.show" :event-id="eventId" />
     <knowledgeWarehouse v-if="knowledgeWarehouseState.show" v-model:show="knowledgeWarehouseState.show" :event-id="eventId" />
+    <DisasterAssessment v-if="disasterAssessmentState.show" v-model:show="disasterAssessmentState.show" :event-id="eventId" />
   </div>
 </template>
 
@@ -63,6 +70,7 @@ import PublicOpinionSupervision from '@/views/emergencyCommandMap/RightSection/P
 import RenWuDengJi from '@/views/emergencyCommandMap/RightSection/RenWuDengJi.vue';
 import dutyManagement from './dutyManagement.vue'
 import knowledgeWarehouse from './knowledgeWarehouse.vue'
+import DisasterAssessment from '@/views/emergencyCommandMap/RightSection/disasterAssessment.vue';
 
 const route = useRoute();
 let eventId = ref('');
@@ -91,6 +99,12 @@ const renWuDengJiState = reactive({
 const openRenWuDengJi = () => {
   renWuDengJiState.show = true;
 };
+const disasterAssessmentState = reactive({
+  show: false
+});
+const openDisasterAssessment = () => {
+  disasterAssessmentState.show = true;
+};
 // 启动预案弹窗
 const startPlanState = reactive({
   show: false,