src/views/productionManagement/productionOrder/New.vue
@@ -402,6 +402,28 @@
    formState.value.productModelId = product.id;
    formState.value.unit = product.unit;
    formState.value.routeId = product.routeId;
    // 保存产品原有的图纸文件
    if (product.salesLedgerFiles && product.salesLedgerFiles.length > 0) {
      formState.value.salesLedgerFiles = product.salesLedgerFiles.map(file => ({
        id: file.id,
        name: file.name,
        url: file.url,
        type: file.type,
        isExisting: true // 标记为已存在的文件
      }));
      // 同步到fileList用于反显
      fileList.value = formState.value.salesLedgerFiles.map(file => ({
        id: file.id,
        name: file.name,
        url: file.url,
        isExisting: true
      }));
    } else {
      formState.value.salesLedgerFiles = [];
      fileList.value = [];
    }
    showProductSelectDialog.value = false;
    
    // 1. 通过产品自带的routeId获取工序列表
@@ -614,26 +636,66 @@
  return true;
};
const handleDrawingUploadSuccess = (response, file, fileList) => {
const handleDrawingUploadSuccess = (response, file, uploadFileList) => {
  console.log('上传成功响应', response);
  console.log('response.data', response.data);
  if (response.code === 200) {
    formState.value.tempFileIds = [response.data?.tempId];
    formState.value.salesLedgerFiles = [{
    // 将新上传的文件添加到salesLedgerFiles中
    const newFile = {
      tempId: response.data?.tempId,
      originalName: response.data?.originalName || file.name,
      name: response.data?.originalName || file.name,
      tempPath: response.data?.tempPath,
      type: response.data?.type || 14
    }];
      type: response.data?.type || 14,
      isNew: true // 标记为新上传的文件
    };
    // 添加新文件到salesLedgerFiles
    if (!formState.value.salesLedgerFiles) {
      formState.value.salesLedgerFiles = [];
    }
    formState.value.salesLedgerFiles.push(newFile);
    // 更新tempFileIds
    formState.value.tempFileIds = formState.value.salesLedgerFiles
      .filter(f => f.tempId)
      .map(f => f.tempId);
    proxy.$modal.msgSuccess("上传成功");
  } else {
    proxy.$modal.msgError(response.msg || "上传失败");
  }
};
const handleDrawingRemove = (file) => {
  formState.value.tempFileIds = [];
  formState.value.salesLedgerFiles = [];
const handleDrawingRemove = (file, uploadFileList) => {
  // 从salesLedgerFiles中移除对应的文件
  if (formState.value.salesLedgerFiles) {
    const index = formState.value.salesLedgerFiles.findIndex(item => {
      // 根据id或tempId匹配
      if (file.id && item.id === file.id) return true;
      if (file.response?.data?.tempId && item.tempId === file.response.data.tempId) return true;
      if (file.name && item.name === file.name) return true;
      return false;
    });
    if (index > -1) {
      const removedFile = formState.value.salesLedgerFiles[index];
      // 标记为已删除(用于后端处理)
      if (removedFile.id) {
        removedFile.isDeleted = true;
      } else {
        // 新上传的文件直接移除
        formState.value.salesLedgerFiles.splice(index, 1);
      }
    }
  }
  // 更新tempFileIds
  formState.value.tempFileIds = formState.value.salesLedgerFiles
    .filter(f => f.tempId && !f.isDeleted)
    .map(f => f.tempId);
  // 同步更新fileList
  fileList.value = uploadFileList || [];
};
const handleSubmit = () => {
@@ -644,10 +706,6 @@
        proxy.$modal.msgError("请选择产品");
        return;
      }
      if (!formState.value.productModelId) {
        proxy.$modal.msgError("请选择规格");
        return;
      }
      // 处理提交数据 - 将userPower数组转换为逗号分隔的字符串
      const processedProcessRouteItems = processRouteItems.value.map(item => ({
@@ -655,12 +713,45 @@
        userPower: Array.isArray(item.userPower) ? item.userPower.join(',') : item.userPower
      }));
      // 处理文件数据 - 包含已存在的、新上传的和已删除的
      const processedFiles = (formState.value.salesLedgerFiles || []).map(file => {
        if (file.isNew) {
          // 新上传的文件
          return {
            tempId: file.tempId,
            name: file.name,
            tempPath: file.tempPath,
            type: file.type,
            isNew: true
          };
        } else if (file.isDeleted) {
          // 已删除的原有文件
          return {
            id: file.id,
            name: file.name,
            url: file.url,
            type: file.type,
            isDeleted: true
          };
        } else {
          // 保留的原有文件
          return {
            id: file.id,
            name: file.name,
            url: file.url,
            type: file.type,
            isExisting: true
          };
        }
      });
      // 组装提交数据
      const submitData = {
        ...formState.value,
        processRouteItems: processedProcessRouteItems,
        productStructureRecords: productStructureRecords.value,
        files: formState.value.salesLedgerFiles,
        salesLedgerFiles: processedFiles,
        files: processedFiles,
      };
      addProductOrder(submitData).then(res => {