From d460a2475ccf345d119701f3c631584f747ce2f5 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 15 六月 2026 17:17:25 +0800
Subject: [PATCH] 君歌 1.不需要bom、生产核算 2.新增销售台账后自动生成一个生产订单,然后对订单进行排产 3.生产排产要求可以选择计划时间,时间格式为年月日+时分秒;也要可以多选报工人 4.web和app生产报工中要细分报工开始和报工结束两个操作,根据操作的提交时间记录实际报工时长展示报工台账中 5.报工人选择的谁,只有在相关账号才能看到可报工的数据 6.不合格管理字段按照单据进行修改。 7.生产工时、质量问题汇总、客户档案、销售及回款都能从各模块中导出数据

---
 src/components/ProjectManagement/ProgressReportDialog.vue |   50 +++++---------------------------------------------
 1 files changed, 5 insertions(+), 45 deletions(-)

diff --git a/src/components/ProjectManagement/ProgressReportDialog.vue b/src/components/ProjectManagement/ProgressReportDialog.vue
index d9402c2..dc6afe7 100644
--- a/src/components/ProjectManagement/ProgressReportDialog.vue
+++ b/src/components/ProjectManagement/ProgressReportDialog.vue
@@ -116,25 +116,14 @@
       </el-row>
 
       <el-form-item label="闄勪欢" prop="attachmentIds">
-        <el-upload
-          v-model:file-list="fileList"
-          :action="upload.url"
-          :headers="upload.headers"
-          multiple
-          name="files"
-          :on-success="handleUploadSuccess"
-          :on-error="handleUploadError"
-          :on-remove="handleRemove"
-        >
-          <el-button type="primary">涓婁紶鏂囦欢</el-button>
-        </el-upload>
+        <FileUpload v-model:file-list="form.storageBlobDTOs" />
       </el-form-item>
     </el-form>
 
     <template #footer>
       <div class="dialog-footer">
-        <el-button @click="visible = false">鍙栨秷</el-button>
         <el-button type="primary" @click="submit">纭畾</el-button>
+        <el-button @click="visible = false">鍙栨秷</el-button>
       </div>
     </template>
   </el-dialog>
@@ -144,6 +133,7 @@
 import { computed, reactive, ref, watch } from 'vue'
 import { ElMessage } from 'element-plus'
 import { getToken } from '@/utils/auth'
+import FileUpload from "@/components/AttachmentUpload/file/index.vue";
 
 const props = defineProps({
   modelValue: { type: Boolean, default: false },
@@ -161,11 +151,6 @@
 })
 
 const formRef = ref()
-const fileList = ref([])
-const upload = reactive({
-  url: import.meta.env.VITE_APP_BASE_API + '/basic/customer-follow/upload',
-  headers: { Authorization: 'Bearer ' + getToken() }
-})
 
 const form = ref({
   planNodeId: undefined,
@@ -180,7 +165,7 @@
   managerName: '',
   departmentName: '',
   remark: '',
-  attachmentIds: []
+  storageBlobDTOs: []
 })
 
 const rules = {
@@ -217,9 +202,8 @@
     managerName: info.managerName || '',
     departmentName: info.departmentName || '',
     remark: '',
-    attachmentIds: []
+    storageBlobDTOs: []
   }
-  fileList.value = []
 }
 
 watch(
@@ -237,30 +221,6 @@
   form.value.completionProgress = 100
   form.value.totalProgress = 100
   if (!form.value.actualEndTime) form.value.actualEndTime = form.value.reportDate || ''
-}
-
-function handleUploadError() {
-  ElMessage.error('涓婁紶鏂囦欢澶辫触')
-}
-
-function handleUploadSuccess(res, file) {
-  if (res?.code !== 200) {
-    ElMessage.error(res?.msg || '涓婁紶澶辫触')
-    return
-  }
-  const attachmentId = res?.data?.id ?? res?.data?.tempId ?? ''
-  if (!attachmentId) return
-  form.value.attachmentIds.push(attachmentId)
-  try {
-    file.attachmentId = attachmentId
-  } catch (e) {}
-  ElMessage.success('涓婁紶鎴愬姛')
-}
-
-function handleRemove(file) {
-  const attachmentId = file?.attachmentId
-  if (!attachmentId) return
-  form.value.attachmentIds = (form.value.attachmentIds || []).filter(id => id !== attachmentId)
 }
 
 async function submit() {

--
Gitblit v1.9.3