Kaynağa Gözat

修改url转义

chauncey 10 ay önce
ebeveyn
işleme
420cf024da

+ 2 - 1
src/views/disaster/disaster-control/PageDisposalManagementItem.vue

@@ -33,6 +33,7 @@
   const id = Number(route.params.id);
   const taskName = String(route.query.taskName);
   const reportTaskId = Number(route.query.reportTaskId);
+  const deptId = Number(route.query.deptId);
   const headerTitle = computed(() => {
     const fixedTitle = '灾害处置任务';
     if (operate === 'create') {
@@ -82,7 +83,7 @@
     }
   };
   const exportLossDetail = async () => {
-    await exportLossRecord({ handleTaskId: id }, taskName);
+    await exportLossRecord({ handleTaskId: id, reportDeptId: deptId }, taskName);
     ElMessage.success(`导出${taskName}损失明细成功`);
   };
 </script>

+ 2 - 3
src/views/disaster/disaster-control/PageLossReportItem.vue

@@ -23,19 +23,18 @@
   import { ElMessage } from 'element-plus';
   import UploadLoading from '@/components/UploadLoading.vue';
   import TaskInfoSection from './src/components/TaskInfoSection.vue';
-  import { useUserInfoHook } from '@/views/disaster/hooks';
   import { exportLossRecord } from '@/views/disaster/disaster-control/src/util';
   import type { LossRecordFormData } from '@/types/disaster-control';
   import { createLossRecord, editLossRecord } from '@/api/disaster-control';
   import { uploadFileApi, UPLOAD_BIZ_TYPE } from '@/api/minio';
   import BackIcon from 'assets/svg/back.svg';
 
-  const { id: reporterId } = useUserInfoHook();
   const router = useRouter();
   const route = useRoute();
   const reportTaskId = Number(route.params.id);
   const id = Number(route.query.id);
   const taskName = String(route.query.taskName);
+  const deptId = Number(route.query.deptId);
   const dynamicComponentRef = ref();
   const operate = route.query.operation;
   const headerTitle = computed(() => {
@@ -51,7 +50,7 @@
   const exportLossDetail = async () => {
     const params = {
       handleTaskId: reportTaskId,
-      reporterId,
+      reportDeptId: deptId,
     };
     await exportLossRecord(params, taskName);
     ElMessage.success(`导出${taskName}损失明细成功`);

+ 1 - 2
src/views/disaster/disaster-control/PageViewDisposalRectification.vue

@@ -106,7 +106,6 @@
     let name;
     const params = {
       handleTaskId,
-      fixerId,
     };
     if (viewType === 'task') {
       name = disasterLossDetailList.value?.handleTaskName;
@@ -172,7 +171,7 @@
   onMounted(async () => {
     await getDisasterLossDetailList({
       handleTaskId,
-      userIdByLossFix:fixerId,
+      userIdByLossFix: fixerId,
     });
     if (!disasterLossDetailList.value?.reportTaskList.length) return;
     reportTaskList.value = disasterLossDetailList.value?.reportTaskList;

+ 6 - 4
src/views/disaster/disaster-control/src/components/DisasterInfo.vue

@@ -39,9 +39,9 @@
                 ]"
               >
                 <span class="value">
-                  {{ LossReportItemFormData?.buildingNo }}
-                  {{ LossReportItemFormData?.floorNo }}
-                  {{ LossReportItemFormData?.roomNo }}
+                  {{ LossReportItemFormData?.buildingNo }}-{{ LossReportItemFormData?.floorNo }}-{{
+                    LossReportItemFormData?.roomNo
+                  }}
                 </span>
               </el-tooltip>
             </div>
@@ -85,7 +85,9 @@
                   <span v-if="LossReportItemFormData?.estimatedLoss.length < 20">元</span>
                 </span>
               </el-tooltip>
-              <span style="color: rgba(0, 0, 0, 0.65)" v-if="LossReportItemFormData?.estimatedLoss.length > 20">元</span>
+              <span style="color: rgba(0, 0, 0, 0.65)" v-if="LossReportItemFormData?.estimatedLoss.length > 20"
+                >元</span
+              >
             </div>
           </el-col>
         </el-row>

+ 9 - 1
src/views/disaster/disaster-control/src/components/ReportTask.vue

@@ -42,7 +42,15 @@
             v-if="isOverdue(scope.row.dueCompleteTime)"
             @click="handleReport(scope.row.id, scope.row.taskName)"
           />
-          <ActionButton text="查看记录" @click="handleView(scope.row.handleTaskId, scope.row.taskName, scope.row.deptId)" />
+          <ActionButton
+            text="添加上报人"
+            v-if="isOverdue(scope.row.dueCompleteTime) && scope.row.isReportPrincipal"
+            @click="handleAddReporter(scope.row.id, scope.row.reporterList)"
+          />
+          <ActionButton
+            text="查看记录"
+            @click="handleView(scope.row.handleTaskId, scope.row.taskName, scope.row.deptId)"
+          />
         </div>
         <div class="action-container" v-else>
           <span>--</span>

+ 4 - 1
src/views/disaster/utils/download.ts

@@ -9,8 +9,11 @@ export const downloadFile = (url: string | undefined, name: string): void => {
   const request = new XMLHttpRequest();
   request.responseType = "blob";
   
+  // 对URL进行编码,确保中文字符正确处理
+  const encodedUrl = encodeURI(url);
+  
   // 打开请求
-  request.open("GET", url);
+  request.open("GET", encodedUrl);
   
   // 设置onload回调函数
   request.onload = function () {