From 593b3453dbf8bb34546ad1b8c6f4b568d1d4ab39 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 16 十月 2025 13:47:41 +0800
Subject: [PATCH] 修改模板

---
 seller/src/main.js                                 |    1 
 seller/src/api/common.js                           |    5 ++
 seller/src/views/order/order/editTemplateModal.vue |   51 ++++++++++++++++++++++++-
 seller/src/views/order/order/orderDetail.vue       |    5 ++
 4 files changed, 59 insertions(+), 3 deletions(-)

diff --git a/seller/src/api/common.js b/seller/src/api/common.js
index 8e1fe45..4fe2288 100644
--- a/seller/src/api/common.js
+++ b/seller/src/api/common.js
@@ -39,3 +39,8 @@
     data: params
   })
 }
+
+// 鑾峰彇鏂囦欢棰勮鍦板潃
+export const getFilePreviewUrl = (fileKey) => {
+  return getRequest(`${commonUrl}/common/common/file/view/${fileKey}`);
+};
diff --git a/seller/src/main.js b/seller/src/main.js
index b33493f..a4e8967 100644
--- a/seller/src/main.js
+++ b/seller/src/main.js
@@ -71,6 +71,7 @@
 Vue.prototype.removeStore = removeStore;
 Vue.prototype.$mainColor = mainColor;
 Vue.prototype.md5 = md5;
+Vue.prototype.endpoint = "https://lmk-1356772813.cos.ap-chengdu.myqcloud.com"; // 娣诲姞endpoint閰嶇疆
 const PC_URL = BASE.PC_URL; // 璺宠浆涔板绔湴鍧� pc绔�
 const WAP_URL = BASE.WAP_URL; // 璺宠浆涔板绔湴鍧� wap绔�
 Vue.prototype.linkTo = function (goodsId, skuId) {
diff --git a/seller/src/views/order/order/editTemplateModal.vue b/seller/src/views/order/order/editTemplateModal.vue
index 31b172d..18e0d4a 100644
--- a/seller/src/views/order/order/editTemplateModal.vue
+++ b/seller/src/views/order/order/editTemplateModal.vue
@@ -136,6 +136,7 @@
       },
       formValues: {},
       selectedImageId: null,
+      selectedImageUrl: null, // 娣诲姞閫変腑鍥剧墖URL鐨勫瓨鍌�
       currentUploadFieldId: null // 褰撳墠姝e湪涓婁紶鐨勫瓧娈礗D
     };
   },
@@ -152,6 +153,10 @@
     },
     visible(val) {
       this.$emit("input", val);
+      // 褰撳脊绐楀叧闂椂锛岄噸缃�変腑鐨勫浘鐗嘦RL
+      if (!val) {
+        this.selectedImageUrl = null;
+      }
     }
   },
   methods: {
@@ -187,10 +192,11 @@
           // 鍒濆鍖栭�変腑鐨勫浘鐗嘔D
           this.selectedImageId = null;
 
+          // 澶勭悊妯℃澘鑷畾涔夋爣棰樺瓧娈电殑鍥炴樉
           if (res.data.templateConstomizeTitles) {
             res.data.templateConstomizeTitles.forEach(item => {
               // 鍥炴樉宸叉湁鐨勫��
-              if (item.value) {
+              if (item.value !== undefined && item.value !== null) {
                 this.$set(this.formValues, item.id, item.value);
               } else {
                 // 鍒濆鍖栬〃鍗曞�硷紙濡傛灉娌℃湁榛樿鍊硷級
@@ -199,14 +205,24 @@
             });
           }
 
-          // 濡傛灉鏈夋ā鏉垮浘鐗囷紝璁剧疆榛樿閫変腑鐨勫浘鐗�
+          // 澶勭悊妯℃澘鍥剧墖鐨勫洖鏄�
           if (res.data.templateImgs && res.data.templateImgs.length > 0) {
             // 濡傛灉宸叉湁閫変腑鐨勫浘鐗嘔D锛屽垯浣跨敤璇D锛屽惁鍒欓粯璁ら�変腑绗竴寮�
             if (res.data.chooseImageId) {
               this.selectedImageId = res.data.chooseImageId;
+              // 鏌ユ壘閫変腑鍥剧墖鐨刄RL骞朵繚瀛�
+              const selectedImage = res.data.templateImgs.find(img => img.id === res.data.chooseImageId);
+              if (selectedImage) {
+                this.selectedImageUrl = selectedImage.imgUrl || '';
+              }
             } else {
               this.selectedImageId = res.data.templateImgs[0].id;
+              this.selectedImageUrl = res.data.templateImgs[0].imgUrl || '';
             }
+          } else {
+            // 濡傛灉娌℃湁妯℃澘鍥剧墖锛屾竻绌洪�変腑鐘舵��
+            this.selectedImageId = null;
+            this.selectedImageUrl = null;
           }
 
           console.log("澶勭悊鍚庣殑鏁版嵁:", {
@@ -239,6 +255,21 @@
         return fileKey;
       }
 
+      // 濡傛灉鏈塭ndpoint閰嶇疆锛屼娇鐢╡ndpoint鎷兼帴URL
+      if (this.$root.endpoint) {
+        // 纭繚fileKey涓嶄互/寮�澶达紝endpoint涓嶄互/缁撳熬
+        const cleanEndpoint = this.$root.endpoint.replace(/\/$/, '');
+        const cleanFileKey = fileKey.replace(/^\//, '');
+        return `${cleanEndpoint}/${cleanFileKey}`;
+      }
+
+      // 濡傛灉鏄浉瀵硅矾寰勬垨鍏朵粬鏍煎紡锛屽皾璇曢�氳繃getFilePreviewUrl鑾峰彇瀹屾暣URL
+      try {
+        return getFilePreviewUrl(fileKey);
+      } catch (error) {
+        console.warn('getFilePreviewUrl failed for fileKey:', fileKey, error);
+      }
+
       // 鍚﹀垯杩斿洖fileKey锛岃缁勪欢鑷繁澶勭悊
       return fileKey;
     },
@@ -246,6 +277,18 @@
     // 閫夋嫨鍥剧墖
     selectImage(imageId) {
       this.selectedImageId = imageId;
+      
+      // 鏌ユ壘閫変腑鍥剧墖鐨刄RL骞朵繚瀛�
+      if (this.templateData && this.templateData.templateImgs) {
+        const selectedImage = this.templateData.templateImgs.find(img => img.id === imageId);
+        if (selectedImage) {
+          this.selectedImageUrl = selectedImage.imgUrl || '';
+        } else {
+          this.selectedImageUrl = '';
+        }
+      } else {
+        this.selectedImageUrl = '';
+      }
     },
 
     // 涓婁紶鍥剧墖
@@ -301,6 +344,9 @@
 
           this.$set(this.formValues, fieldId, fileKey);
           this.$Message.success("鍥剧墖涓婁紶鎴愬姛");
+          
+          // 寮哄埗鏇存柊瑙嗗浘浠ョ‘淇濆浘鐗囬瑙堟纭樉绀�
+          this.$forceUpdate();
         } else {
           this.$Message.error(res.msg || "鍥剧墖涓婁紶澶辫触");
         }
@@ -327,6 +373,7 @@
         sn: this.orderSn,
         templateName: this.form.templateName,
         chooseImageId: this.selectedImageId,
+        chooseImage: this.selectedImageUrl, // 娣诲姞閫変腑鍥剧墖URL
         templateForm: []
       };
 
diff --git a/seller/src/views/order/order/orderDetail.vue b/seller/src/views/order/order/orderDetail.vue
index 727d99c..8c04378 100644
--- a/seller/src/views/order/order/orderDetail.vue
+++ b/seller/src/views/order/order/orderDetail.vue
@@ -17,6 +17,10 @@
         <Button @click="toPrint" type="primary" ghost
           v-if="allowOperation.ship && logisticsType != 'SHUNFENG'">鎵撳嵃鐢靛瓙闈㈠崟</Button>
         <Button @click="modifyRemark" type="primary">娣诲姞澶囨敞</Button>
+        <!-- 灏嗙紪杈戞ā鏉挎寜閽Щ鍒拌繖閲� -->
+        <Button v-if="orderInfo.userCheckTemplates && orderInfo.userCheckTemplates.length > 0" 
+                @click="editTemplateInfo(orderInfo.userCheckTemplates[0].templateId, sn)" 
+                type="primary">缂栬緫妯℃澘</Button>
       </div>
     </Card>
 
@@ -157,7 +161,6 @@
                   <div class="div-item-left">鍟嗗搧妯℃澘锛�</div>
                   <div class="div-item-right">
                     {{ item.templateName || '鏃犳ā鏉挎爣棰�' }} <!-- 澶勭悊绌哄�奸粯璁ゆ樉绀� -->
-                    <Button size="small" @click="editTemplateInfo(item.templateId, sn)" style="margin-left: 10px;">缂栬緫</Button>
                   </div>
                 </div>
                 <!-- 4. 閫夋嫨鍥剧墖锛氭覆鏌� chooseImg 瀛楁锛堝鐞� null/绌哄�硷級 -->

--
Gitblit v1.8.0