From aa5973abc2272df6892703cde8c78ee184ad714b Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 08 八月 2025 17:04:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 seller/src/views/goods/goods-seller/goodsOperationSec.vue |   94 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 81 insertions(+), 13 deletions(-)

diff --git a/seller/src/views/goods/goods-seller/goodsOperationSec.vue b/seller/src/views/goods/goods-seller/goodsOperationSec.vue
index dbbdb51..ffa87b6 100644
--- a/seller/src/views/goods/goods-seller/goodsOperationSec.vue
+++ b/seller/src/views/goods/goods-seller/goodsOperationSec.vue
@@ -23,6 +23,15 @@
             <FormItem label="鍟嗗搧浠锋牸" prop="price">
               <Input v-model="baseInfoForm.price" clearable placeholder="鍟嗗搧浠锋牸" style="width: 260px" type="text"/>
             </FormItem>
+
+            <FormItem label="鎶芥垚姣斾緥" prop="commission">
+<!--              <Input v-model="baseInfoForm.commission" max="100" min="0" clearable placeholder="鎶芥垚姣斾緥" style="width: 260px" type="number"/>-->
+              <InputNumber v-model="baseInfoForm.commission" :formatter="value => `${value}%`"
+                           :parser="value => value.replace('%', '')" :max="100" :min="0" clearable
+                           :active-change="false"
+                           placeholder="鎶芥垚姣斾緥" style="width: 260px" type="number"/>
+            </FormItem>
+
             <FormItem label="鍟嗗搧鍗栫偣" prop="sellingPoint">
               <Input v-model="baseInfoForm.sellingPoint" :rows="4" style="width: 260px" type="textarea"/>
             </FormItem>
@@ -48,13 +57,22 @@
               <RadioGroup v-if="baseInfoForm.goodsType != 'VIRTUAL_GOODS'" v-model="baseInfoForm.salesModel"
                           button-style="solid" type="button" @on-change="renderTableData(skuTableData)">
                 <Radio label="RETAIL" title="闆跺敭鍨�">闆跺敭鍨�</Radio>
-                <Radio label="WHOLESALE" title="鎵瑰彂鍨�">鎵瑰彂鍨�</Radio>
+<!--                <Radio label="WHOLESALE" title="鎵瑰彂鍨�">鎵瑰彂鍨�</Radio>-->
+                <Radio label="PRESALE" title="棰勫敭">棰勫敭</Radio>
               </RadioGroup>
               <RadioGroup v-else v-model="baseInfoForm.salesModel" button-style="solid" type="button">
                 <Radio label="RETAIL" title="闆跺敭鍨�">
                   <span>铏氭嫙鍨�</span>
                 </Radio>
               </RadioGroup>
+            </FormItem>
+            <FormItem v-if="baseInfoForm.salesModel == 'PRESALE'">
+              <div>
+                棰勫敭鏃堕棿锛�
+                <DatePicker type="daterange" v-model="baseInfoForm.preSaleTime"
+                            format="yyyy-MM-dd" placement="bottom-end" placeholder="璇烽�夋嫨棰勫敭鏃堕棿" style="width: 200px"
+                            @on-change="choosePreTime"></DatePicker>
+              </div>
             </FormItem>
             <FormItem v-if="baseInfoForm.salesModel == 'WHOLESALE'" class="form-item-view-el" label="閿�鍞鍒�"
                       prop="wholesaleRule">
@@ -155,7 +173,7 @@
               <div class="goods-video">
                 <div v-if="baseInfoForm.goodsVideo">
                   <div>
-                    <video :src="baseInfoForm.showGoodsVideo" class="video" controls style="max-width: 300px;"/>
+                    <video :src="baseInfoForm.showGoodsVideo" class="video" controls style="max-width: 300px;max-height: 400px"/>
                   </div>
                 </div>
                 <Upload ref="upload" action="-" :format="['avi', 'wmv', 'mpeg', 'mp4', 'mov']"
@@ -309,9 +327,9 @@
                             overflow-x: hidden;
                           }
                         ">
-                        <template slot="sn" slot-scope="{ row }">
-                          <Input v-model="row.sn" clearable placeholder="璇疯緭鍏ヨ揣鍙�"
-                                 @on-change="updateSkuTable(row, 'sn')"/>
+                        <template slot="sn" slot-scope="{ row, index }">
+                          <Input v-model="row.sn" placeholder="璇疯緭鍏ヨ揣鍙�" disabled
+                                 @on-change="updateSkuTable(row, 'sn')" />
                         </template>
                         <div v-if="baseInfoForm.goodsType !== 'VIRTUAL_GOODS'" slot="weight" slot-scope="{ row }">
                           <Input v-model="row.weight" clearable placeholder="璇疯緭鍏ラ噸閲�"
@@ -383,7 +401,7 @@
             </div>
             <FormItem class="form-item-view-el" label="PC鍟嗗搧鎻忚堪" prop="intro" style="width: 100%">
               <editor
-                :show-upload="false"
+                :show-upload="true"
                 ref="editor"
                 v-model="baseInfoForm.intro"
                 height="800px"
@@ -397,7 +415,7 @@
 
             <FormItem class="form-item-view-el" label="绉诲姩绔弿杩�" prop="skuList" style="width: 100%">
               <editor
-                :show-upload="false"
+                :show-upload="true"
                 ref="introEditor"
                 v-model="baseInfoForm.mobileIntro"
                 height="800px"
@@ -541,6 +559,7 @@
 import COS from 'cos-js-sdk-v5';
 import {getFileKey} from "@/utils/file.js";
 import {getFilePreview, getSts} from "@/api/file";
+import {formatDate} from "@/utils/filters";
 
 
 export default {
@@ -677,6 +696,11 @@
         categoryName: [],
         goodsVideo: "",
         showGoodsVideo: "",
+        // 棰勫敭鏃堕棿
+        preSaleTime:[],
+        preSaleBeginDate:'',
+        preSaleEndDate:'',
+        commission:5
       },
       /** 琛ㄦ牸澶� */
       skuTableColumn: [],
@@ -758,6 +782,32 @@
     }
   },
   methods: {
+    // 鏍煎紡鍖栨樉绀哄��
+    formatter(date) {
+      return this.formatDate(date, 'yyyy-MM-dd');
+    },
+
+    // 鏃ユ湡鏍煎紡鍖栧伐鍏�
+    formatDate(date, format) {
+      const year = date.getFullYear();
+      const month = (date.getMonth() + 1).toString().padStart(2, '0');
+      const day = date.getDate().toString().padStart(2, '0');
+
+      return format
+        .replace('yyyy', year)
+        .replace('MM', month)
+        .replace('dd', day);
+    },
+    choosePreTime(e){
+      if (this.baseInfoForm.preSaleTime){
+        const[begin,end] = this.baseInfoForm.preSaleTime;
+        this.baseInfoForm.preSaleBeginDate = this.formatDate(begin,'yyyy-MM-dd');
+        this.baseInfoForm.preSaleEndDate = this.formatDate(end,'yyyy-MM-dd');
+        console.log('------------------>閫夋嫨鏃堕棿',this.baseInfoForm.preSaleBeginDate,this.baseInfoForm.preSaleEndDate)
+
+      }
+      console.log('鏃堕棿閫夋嫨------------------銆�',e)
+    },
     // 閫夋嫨鍥剧墖modal
     handleCLickImg(val, index) {
       console.log('娴嬭瘯杈撳叆鐨勫��----------------銆�', val)
@@ -1185,6 +1235,7 @@
       response.result.recommend
         ? (response.result.recommend = 1)
         : (response.result.recommend = 0);
+      response.result.preSaleTime = [response.result.preSaleBeginDate, response.result.preSaleEndDate];
       this.baseInfoForm = {...this.baseInfoForm, ...response.result};
       this.baseInfoForm.release = 1; //鍗充娇鏄鏀惧叆浠撳簱锛屼慨鏀圭殑鏃跺�欎篃浼氭樉绀轰細绔嬪嵆鍙戝竷
       this.categoryId = response.result.categoryPath.split(",")[2];
@@ -1652,6 +1703,7 @@
         this.baseInfoForm.regeneratorSkuFlag = true;
         this.newSkuValues[$index] = "";
       }
+      this.renderTableData(this.skuTableData);
     },
     handleClearSku() {
       this.skuInfo = [];
@@ -1679,6 +1731,7 @@
      * 娓叉煋table鎵�闇�瑕佺殑column 鍜� data
      */
     renderTableData(skus) {
+      console.log('-------------->閿�鍞被鍨�',skus)
       this.skuTableColumn = [];
       let pushData = [];
       // 娓叉煋澶撮儴
@@ -1703,7 +1756,15 @@
           }
         );
       }
-
+      // 棰勫敭妯″紡
+      // if (this.baseInfoForm.salesModel !== "PRESALE") {
+      //   pushData.push(
+      //     {
+      //       title: "棰勫敭鏃堕棿",
+      //       slot: "price",
+      //     }
+      //   );
+      // }
       if (this.baseInfoForm.salesModel === "WHOLESALE" && this.wholesaleData) {
         this.wholesaleData.forEach((item, index) => {
           pushData.push({
@@ -1759,6 +1820,7 @@
      * array spec鏁版嵁
      */
     specIterator(result, spec, skus) {
+
       let table = result;
       if (spec.length > 0) {
         //娓呴櫎褰撳墠寰幆鐨勫垎缁�
@@ -1800,6 +1862,11 @@
       } else {
         this.skuIndex++;
       }
+
+      table.forEach((item,index) =>{
+        console.log("鍏冪礌:" + item +"index:" + (index +1))
+          item.sn = index + 1;
+      })
       return table;
     },
     /** 鏍规嵁鍒嗙被id鑾峰彇绯荤粺璁剧疆瑙勬牸淇℃伅*/
@@ -1857,6 +1924,7 @@
           return;
         }
       }
+
       // else if (item === "alertQuantity") {
       //   if (
       //     !/^[0-9]\d*$/.test(row[item]) ||
@@ -1940,11 +2008,11 @@
               this.$Message.error("璇蜂笂浼犲晢鍝佸浘鐗�");
               return;
             }
-            if (!submit.goodsVideo){
-              this.submitLoading = false;
-              this.$Message.error("璇蜂笂浼犲晢鍝佽棰�");
-              return;
-            }
+            // if (!submit.goodsVideo){
+            //   this.submitLoading = false;
+            //   this.$Message.error("璇蜂笂浼犲晢鍝佽棰�");
+            //   return;
+            // }
             if (submit.templateId === "") submit.templateId = 0;
             let flag = false;
             let paramValue = "";

--
Gitblit v1.8.0