Browse Source

fix: 报废记录处报废详情按钮加条件&修复上传报废图片为null的问题&修复上传图片组件内change事件不触发的问题

ai0197 1 month ago
parent
commit
07616f739b

+ 5 - 1
src/components/UploadImages/UploadImages.vue

@@ -169,6 +169,11 @@
       });
     });
 
+    if (fileInput.value!.files!.length > 0) {
+      // 清空文件输入域
+      fileInput.value!.value = '';
+    }
+
     // 触发更新事件
     if (filesToAdd.length > 0) {
       emitChange();
@@ -177,7 +182,6 @@
 
   const removeImage = (index: number) => {
     // 释放对象URL以避免内存泄漏
-    alert(index);
     URL.revokeObjectURL(uploadedImages[index].url);
     uploadedImages.splice(index, 1);
     ElMessage.success('删除成功');

+ 8 - 2
src/views/emergency/emergency-supplies/src/components/ChangeRecord.vue

@@ -9,7 +9,11 @@
         <span>{{ scope.row.changeQuantity }}</span>
       </template>
       <template #action="scope">
-        <ActionButton text="报废详情" @click="handleViewDetail(scope.row)" />
+        <ActionButton
+          v-if="scope.row.changeType === CHANGE_TYPE.DISCARD"
+          text="报废详情"
+          @click="handleViewDetail(scope.row)"
+        />
       </template>
     </BasicTable>
     <el-drawer title="报废详情" v-model="drawerVisible" size="40%" :close-on-click-modal="true" :show-close="true">
@@ -48,6 +52,7 @@
   import { CHANGE_TYPE_MAP } from '../constant';
   import ActionButton from '@/components/ActionButton.vue';
   import { unformatImage } from '@/components/UploadImages/utils';
+  import { CHANGE_TYPE } from '../constant';
 
   const { tableConfig } = useTableConfig(CHANGE_RECORD_TABLE_COLUMNS, CHANGE_RECORD_TABLE_OPTIONS, false);
   const props = defineProps<{
@@ -87,8 +92,9 @@
   .image-container {
     display: flex;
     flex-wrap: wrap;
-    gap: 5px;
+    gap: 10px;
     width: 100%;
+    padding: 10px 0;
   }
   .image-preview {
     width: 100px;

+ 2 - 2
src/views/emergency/emergency-supplies/src/components/DiscardSupplies.vue

@@ -86,8 +86,8 @@
   };
 
   const scrapImage = ref<ImageItem[]>([]);
-  const handleUploadSuccess = (files: ImageItem[]) => {
-    scrapImage.value = files;
+  const handleUploadSuccess = () => {
+    scrapImage.value = uploadImagesRef.value!.getUploadedImages();
   };
 
   const handleSumbit = async () => {

+ 1 - 1
src/views/emergency/emergency-supplies/src/constant/index.ts

@@ -28,7 +28,7 @@ export const EMERGENCY_SUPPLY_TABS = [
   },
 ];
 
-enum CHANGE_TYPE {
+export enum CHANGE_TYPE {
   CHECK = 1,
   CHANGE,
   DISCARD,