From 7d20c555e032effc7d202ed239d146ed1a72baaf Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期二, 12 八月 2025 16:20:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_ai' into ywx

---
 src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
index 3aa58c5..52c7b85 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -112,6 +112,23 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row :gutter="30">
+          <el-col :span="24">
+            <el-form-item label="闄勪欢鏉愭枡锛�" prop="remark">
+              <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload
+                         :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError"
+                         :on-success="handleUploadSuccess" :on-remove="handleRemove">
+                <el-button type="primary" v-if="operationType !== 'view'">涓婁紶</el-button>
+                <template #tip v-if="operationType !== 'view'">
+                  <div class="el-upload__tip">
+                    鏂囦欢鏍煎紡鏀寔
+                    doc锛宒ocx锛寈ls锛寈lsx锛宲pt锛宲ptx锛宲df锛宼xt锛寈ml锛宩pg锛宩peg锛宲ng锛実if锛宐mp锛宺ar锛寊ip锛�7z
+                  </div>
+                </template>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -130,7 +147,11 @@
   approveProcessUpdate,
   getDept
 } from "@/api/collaborativeApproval/approvalProcess.js";
+import {
+  delLedgerFile,
+} from "@/api/salesManagement/salesLedger.js";
 import {userListNoPageByTenantId} from "@/api/system/user.js";
+import { getToken } from "@/utils/auth";
 const { proxy } = getCurrentInstance()
 const emit = defineEmits(['close'])
 import useUserStore from "@/store/modules/user";
@@ -138,6 +159,13 @@
 
 const dialogFormVisible = ref(false);
 const operationType = ref('')
+const fileList = ref([]);
+const upload = reactive({
+  // 涓婁紶鐨勫湴鍧�
+  url: import.meta.env.VITE_APP_BASE_API + "/file/upload",
+  // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+  headers: { Authorization: "Bearer " + getToken() },
+});
 const data = reactive({
   form: {
     approveTime: "",
@@ -146,6 +174,7 @@
 		approveDeptId: "",
     approveReason: "",
     checkResult: "",
+    tempFileIds: [],
     approverList: [] // 鏂板瀛楁锛屽瓨鍌ㄦ墍鏈夎妭鐐圭殑瀹℃壒浜篿d
   },
   rules: {
@@ -176,6 +205,7 @@
 
 // 鎵撳紑寮规
 const openDialog = (type, row) => {
+  console.log('openDialog', type, row)
   operationType.value = type;
   dialogFormVisible.value = true;
 	userListNoPageByTenantId().then((res) => {
@@ -192,6 +222,8 @@
   // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅骞惰缃儴闂↖D
   form.value.approveDeptId = userStore.currentDeptId
   if (operationType.value === 'edit') {
+    fileList.value = row.commonFileList
+    form.value.tempFileIds = fileList.value.map(file => file.id)
 		currentApproveStatus.value = row.approveStatus
     approveProcessGetInfo({id: row.approveId,approveReason: '1'}).then(res => {
 			form.value = {...res.data}
@@ -257,6 +289,7 @@
 }
 // 鍏抽棴寮规
 const closeDia = () => {
+  fileList.value = []
   proxy.resetForm("formRef");
   dialogFormVisible.value = false;
   emit('close')
@@ -269,6 +302,48 @@
   const day = String(today.getDate()).padStart(2, "0");
   return `${year}-${month}-${day}`;
 }
+
+// 涓婁紶鍓嶆牎妫�
+function handleBeforeUpload(file) {
+  // 鏍℃鏂囦欢澶у皬
+  // if (file.size > 1024 * 1024 * 10) {
+  //   proxy.$modal.msgError("涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃10MB!");
+  //   return false;
+  // }
+  proxy.$modal.loading("姝e湪涓婁紶鏂囦欢锛岃绋嶅��...");
+  return true;
+}
+// 涓婁紶澶辫触
+function handleUploadError(err) {
+  proxy.$modal.msgError("涓婁紶鏂囦欢澶辫触");
+  proxy.$modal.closeLoading();
+}
+// 涓婁紶鎴愬姛鍥炶皟
+function handleUploadSuccess(res, file, uploadFiles) {
+  proxy.$modal.closeLoading();
+  if (res.code === 200) {
+    // 纭繚 tempFileIds 瀛樺湪涓斾负鏁扮粍
+    if (!form.value.tempFileIds) {
+      form.value.tempFileIds = [];
+    }
+    form.value.tempFileIds.push(res.data.tempId);
+    proxy.$modal.msgSuccess("涓婁紶鎴愬姛");
+  } else {
+    proxy.$modal.msgError(res.msg);
+    proxy.$refs.fileUpload.handleRemove(file);
+  }
+}
+// 绉婚櫎鏂囦欢
+function handleRemove(file) {
+  if (operationType.value === "edit") {
+    let ids = [];
+    ids.push(file.id);
+    delLedgerFile(ids).then((res) => {
+      proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+    });
+  }
+}
+
 defineExpose({
   openDialog,
 });

--
Gitblit v1.9.3