From 771717c4dd5e4bea1df90527685a767e9221c9f1 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 07 八月 2025 19:16:01 +0800
Subject: [PATCH] 完成商品广场调整
---
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