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