From 81846734e6ee1bf7da9acbbd5871e277b8a0ccd0 Mon Sep 17 00:00:00 2001
From: zhangjq <z16372660229@163.com>
Date: 星期六, 07 二月 2026 14:44:29 +0800
Subject: [PATCH] “加了编辑加了批量发稿,改了文案编辑获取人名”

---
 src/views/copywritingUp/BatchPublish.vue |  114 +++++++++++++++++++-------------------------------------
 1 files changed, 39 insertions(+), 75 deletions(-)

diff --git a/src/views/copywritingUp/BatchPublish.vue b/src/views/copywritingUp/BatchPublish.vue
index f5709cc..cb56f58 100644
--- a/src/views/copywritingUp/BatchPublish.vue
+++ b/src/views/copywritingUp/BatchPublish.vue
@@ -207,22 +207,16 @@
 
   // 鎵归噺鍙戠
   const handleBatchPublish = async () => {
-    if (!formRef.value) return;
-    
     try {
       // 1. 琛ㄥ崟楠岃瘉
-      await formRef.value.validate();
+      if (!formState.contractId) {
+        createMessage.error('璇烽�夋嫨鍚堝悓');
+        return;
+      }
+      
       submitLoading.value = true;
       
-      // 2. 鏋勫缓璇锋眰鍙傛暟
-      const requestData = {
-        contractId: formState.contractId,
-      };
-      
-      console.log('=== 鎵归噺鍙戠璇锋眰鏁版嵁 ===');
-      console.log('璇锋眰鏁版嵁:', requestData);
-      
-      // 3. 鑾峰彇鐧诲綍 Token
+      // 2. 鑾峰彇鐧诲綍 Token
       const token = getToken();
       if (!token) {
         createMessage.error('鏈櫥褰曪紝璇峰厛鐧诲綍绯荤粺');
@@ -230,63 +224,34 @@
         return;
       }
       
-      // 4. 鐢熸垚鏃堕棿鎴冲拰绛惧悕
-      const timestamp = Date.now().toString();
-      const sign = generateSign(token, timestamp, formState.contractId);
-      
-      // 5. 鏋勫缓 FormData
+      // 3. 鏋勫缓 FormData
       const formData = new FormData();
       formData.append('contractId', formState.contractId);
+      if (formState.mediaGroups) {
+        // 灏嗗獟浣撳垪琛ㄥ瓧绗︿覆鎸夐�楀彿鍒嗗壊骞舵坊鍔犲埌FormData涓�
+        const mediaArray = formState.mediaGroups.split(',').map(item => item.trim());
+        console.log('濯掍綋鏁扮粍:', mediaArray);
+        // 瀵逛簬multipart/form-data鏍煎紡锛岄噸澶嶆坊鍔犲悓鍚嶅弬鏁版潵浼犻�掓暟缁�
+        mediaArray.forEach((media, index) => {
+          formData.append('mediaList', media);
+          console.log(`娣诲姞鍙傛暟: mediaList = ${media}`);
+        });
+      }
       
-      // 6. 鍙戦�佽姹� - 鍙傝�冩壒閲忓鍏ョ殑浠g爜锛屼娇鐢� XMLHttpRequest 鎵嬪姩鏋勫缓璇锋眰
-      // 杩欐牱鍙互缁曡繃鎷︽埅鍣紝纭繚鍦ㄤ笉鍚岀幆澧冧笅閮借兘姝e父璋冪敤
-      const domainUrl = import.meta.env.VITE_GLOB_DOMAIN_URL || 'http://192.168.31.222:8080/jeecg-boot';
+      // 4. 鍙戦�佽姹� - 浣跨敤 XMLHttpRequest 鍙戦�� multipart/form-data 璇锋眰
+      const domainUrl = 'http://192.168.31.222:8080/jeecg-boot';
       const url = `${domainUrl}/api/excel/batchPublish`;
       
-      console.log('===== 鎵嬪姩鏋勫缓 multipart/form-data 璇锋眰 =====');
+      console.log('===== 鍙戦�� multipart/form-data 璇锋眰 =====');
       console.log('璇锋眰 URL:', url);
-      console.log('璇锋眰鍙傛暟:', requestData);
+      console.log('鍚堝悓ID:', formState.contractId);
+      console.log('濯掍綋鍒楄〃:', formState.mediaGroups);
       
-      // 鎵嬪姩鏋勫缓 multipart/form-data 璇锋眰
+      // 鍙戦�佽姹�
       const responseData = await new Promise((resolve, reject) => {
-        // 鐢熸垚闅忔満杈圭晫
-        const boundary = '----WebKitFormBoundary' + Math.random().toString(36).substr(2, 16);
-        
-        // 鏋勫缓璇锋眰浣撶殑鍚勪釜閮ㄥ垎
-        const parts = [];
-        
-        // 娣诲姞 contractId 鍙傛暟
-        parts.push(
-          `--${boundary}\r\n`,
-          'Content-Disposition: form-data; name="contractId"\r\n',
-          'Content-Type: text/plain\r\n',
-          '\r\n',
-          formState.contractId,
-          '\r\n'
-        );
-        
-        // 娣诲姞 mediaGroups 鍙傛暟
-        parts.push(
-          `--${boundary}\r\n`,
-          'Content-Disposition: form-data; name="mediaGroups"\r\n',
-          'Content-Type: text/plain\r\n',
-          '\r\n',
-          formState.mediaGroups,
-          '\r\n'
-        );
-        
-        // 娣诲姞缁撴潫杈圭晫
-        parts.push(
-          `--${boundary}--\r\n`
-        );
-        
-        // 鍒涘缓鏈�缁堢殑璇锋眰浣� Blob
-        const requestBody = new Blob(parts, { type: `multipart/form-data; boundary=${boundary}` });
-        
-        // 鍒涘缓 XMLHttpRequest
         const xhr = new XMLHttpRequest();
         
-        // 鐩戝惉璇锋眰瀹屾垚
+        // 鍝嶅簲澶勭悊
         xhr.onload = function() {
           if (xhr.status >= 200 && xhr.status < 300) {
             try {
@@ -303,37 +268,31 @@
           }
         };
         
-        // 鐩戝惉缃戠粶閿欒
+        // 缃戠粶閿欒澶勭悊
         xhr.onerror = function() {
           console.error('缃戠粶閿欒');
           reject(new Error('缃戠粶閿欒'));
         };
         
-        // 鎵撳紑璇锋眰
+        // 鎵撳紑杩炴帴
         xhr.open('POST', url, true);
         
-        // 璁剧疆璇锋眰澶� - 鍙傝�冩壒閲忓鍏ョ殑浠g爜锛岀‘淇濆寘鍚墍鏈夊繀闇�鐨勮姹傚ご
-        xhr.setRequestHeader('Accept', 'application/json, text/plain, */*');
-        xhr.setRequestHeader('Authorization', `Bearer ${token}`);
-        xhr.setRequestHeader('Referer', window.location.href);
+        // 璁剧疆璇锋眰澶�
         xhr.setRequestHeader('X-Access-Token', token);
-        xhr.setRequestHeader('X-Sign', sign);
-        xhr.setRequestHeader('X-TIMESTAMP', timestamp);
         xhr.setRequestHeader('X-Tenant-Id', '0');
         xhr.setRequestHeader('X-Version', 'v3');
-        // 鎵嬪姩璁剧疆姝g‘鐨� Content-Type锛屽寘鍚竟鐣�
-        xhr.setRequestHeader('Content-Type', `multipart/form-data; boundary=${boundary}`);
-        // 璁剧疆 Content-Length
-        xhr.setRequestHeader('Content-Length', requestBody.size.toString());
+        xhr.setRequestHeader('Accept', 'application/json, text/plain, */*');
+        // 娉ㄦ剰锛氫娇鐢‵ormData鏃讹紝娴忚鍣ㄤ細鑷姩璁剧疆Content-Type澶达紝鍖呭惈姝g‘鐨勮竟鐣�
         
         // 鍙戦�佽姹�
-        xhr.send(requestBody);
+        xhr.send(formData);
       });
       
       console.log('鍚庣鍝嶅簲鏁版嵁:', responseData);
       
-      // 7. 澶勭悊鍝嶅簲
-      if (responseData && (responseData.success || responseData.code === 200 || responseData.code === 201)) {
+      // 4. 澶勭悊鍝嶅簲
+      const data = responseData.data;
+      if (data && (data.success || data.code === 200 || data.code === 201)) {
         // 澶勭悊鎴愬姛鍝嶅簲
         publishResults.value = [
           {
@@ -352,7 +311,7 @@
       } else {
         // 澶勭悊澶辫触鍝嶅簲
         showResult.value = false; // 澶辫触鏃朵笉鏄剧ず缁撴灉
-        createMessage.error(responseData?.message || responseData?.msg || '鎵归噺鍙戠澶辫触');
+        createMessage.error(data?.message || data?.msg || '鎵归噺鍙戠澶辫触');
       }
       
     } catch (error: any) {
@@ -380,6 +339,11 @@
     console.log('閫夋嫨鐨勫悎鍚孖D:', value);
   };
   
+  // 杩囨护閫夐」
+  const filterOption = (input: string, option: any) => {
+    return (option?.label || '').toLowerCase().includes(input.toLowerCase());
+  };
+
   // 椤甸潰鍔犺浇鏃跺垵濮嬪寲
   onMounted(async () => {
     // 鍔犺浇鍚堝悓鍒楄〃

--
Gitblit v1.8.0