|
@@ -153,22 +153,27 @@
|
|
|
<material-picker v-model="formData.image" :limit="1"/>
|
|
<material-picker v-model="formData.image" :limit="1"/>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="商品轮播图" prop="bannerImages">
|
|
|
|
|
|
|
+ <el-form-item label="商品视频" prop="video">
|
|
|
<div class="w-32vw">
|
|
<div class="w-32vw">
|
|
|
- <material-picker v-model="formData.bannerImages" :limit="3"/>
|
|
|
|
|
|
|
+ <material-picker v-model="formData.video" type="video" :limit="1"/>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="商品视频" prop="video">
|
|
|
|
|
|
|
+ <el-form-item label="商品轮播图" prop="bannerImages">
|
|
|
<div class="w-32vw">
|
|
<div class="w-32vw">
|
|
|
- <material-picker v-model="formData.video" type="video" :limit="1"/>
|
|
|
|
|
|
|
+ <material-picker v-model="formData.bannerImages" :limit="3"/>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="xl:flex">
|
|
<div class="xl:flex">
|
|
|
- <el-form-item label="商品详情" prop="detail">
|
|
|
|
|
- <div style="width: 100%">
|
|
|
|
|
- <editor v-model="formData.detail" :height="500"/>
|
|
|
|
|
|
|
+<!-- <el-form-item label="商品详情" prop="detail">-->
|
|
|
|
|
+<!-- <div style="width: 100%">-->
|
|
|
|
|
+<!-- <editor v-model="formData.detail" :height="500"/>-->
|
|
|
|
|
+<!-- </div>-->
|
|
|
|
|
+<!-- </el-form-item>-->
|
|
|
|
|
+ <el-form-item label="商品详情图" prop="detailImages">
|
|
|
|
|
+ <div class="w-32vw">
|
|
|
|
|
+ <material-picker v-model="formData.detailImages" :limit="20"/>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</div>
|
|
</div>
|
|
@@ -320,21 +325,42 @@ const handleSave = async () => {
|
|
|
availableDates: processedDates.value // 添加可入住日期数据
|
|
availableDates: processedDates.value // 添加可入住日期数据
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(formData.bannerImages){
|
|
|
|
|
- submitData.mainResourceList = formData.bannerImages.map((item:any) => {
|
|
|
|
|
- return {
|
|
|
|
|
- resourceUrl: item
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ // 构建主资源列表(包括轮播图和详情图)
|
|
|
|
|
+ const mainResourceList: any[] = [];
|
|
|
|
|
+
|
|
|
|
|
+ if (formData.bannerImages) {
|
|
|
|
|
+ formData.bannerImages.forEach((item: any, index: number) => {
|
|
|
|
|
+ mainResourceList.push({
|
|
|
|
|
+ resourceType: 1, // 1轮播图
|
|
|
|
|
+ resourceName: `轮播图${index + 1}`,
|
|
|
|
|
+ resourceUrl: item,
|
|
|
|
|
+ sort: index + 1
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (formData.detailImages) {
|
|
|
|
|
+ formData.detailImages.forEach((item: any, index: number) => {
|
|
|
|
|
+ mainResourceList.push({
|
|
|
|
|
+ resourceType: 2, // 2详情图
|
|
|
|
|
+ resourceName: `详情图${index + 1}`,
|
|
|
|
|
+ resourceUrl: item,
|
|
|
|
|
+ sort: index + 1
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ submitData.mainResourceList = mainResourceList;
|
|
|
if(formData.tags){
|
|
if(formData.tags){
|
|
|
submitData.tags = formData.tags.join(',')
|
|
submitData.tags = formData.tags.join(',')
|
|
|
}
|
|
}
|
|
|
if(selectedDates.value.length > 0){
|
|
if(selectedDates.value.length > 0){
|
|
|
- submitData.choseDateState = 1
|
|
|
|
|
- submitData.startDate = selectedDates.value[0]
|
|
|
|
|
- submitData.endDate = selectedDates.value[selectedDates.value.length - 1]
|
|
|
|
|
- submitData.useDates = selectedDates.value.join(',')
|
|
|
|
|
|
|
+ const dates = [...selectedDates.value]
|
|
|
|
|
+ // 使用日期排序而不是字符串排序
|
|
|
|
|
+ const sortedDates = dates.sort((a, b) => new Date(a).getTime() - new Date(b).getTime())
|
|
|
|
|
+ submitData.startDate = sortedDates[0]
|
|
|
|
|
+ submitData.endDate = sortedDates[selectedDates.value.length - 1]
|
|
|
|
|
+ submitData.useDates = sortedDates.join(',')
|
|
|
}
|
|
}
|
|
|
feedback.msgSuccess('操作成功')
|
|
feedback.msgSuccess('操作成功')
|
|
|
if (route.query.id) {
|
|
if (route.query.id) {
|
|
@@ -351,7 +377,7 @@ const handleCategory = (val:any) => {
|
|
|
const selectedCategory = optionsData.goodsCategory.find((item: any) => item.id === val);
|
|
const selectedCategory = optionsData.goodsCategory.find((item: any) => item.id === val);
|
|
|
showDateRange.value = false
|
|
showDateRange.value = false
|
|
|
selectedDates.value = []
|
|
selectedDates.value = []
|
|
|
- if(selectedCategory && selectedCategory.name === '酒店民宿'){
|
|
|
|
|
|
|
+ if(selectedCategory && selectedCategory.choseDateState === 1){
|
|
|
showDateRange.value = true
|
|
showDateRange.value = true
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -371,7 +397,10 @@ const getDetails = async () => {
|
|
|
formData[key] = ''
|
|
formData[key] = ''
|
|
|
}
|
|
}
|
|
|
if(key === 'mainResourceList' && data['mainResourceList']){
|
|
if(key === 'mainResourceList' && data['mainResourceList']){
|
|
|
- formData.bannerImages = data['mainResourceList'].map((item:any) => {
|
|
|
|
|
|
|
+ formData.bannerImages = data['mainResourceList'].filter((item:any) => item.resourceType === 1).map((item:any) => {
|
|
|
|
|
+ return item.resourceUrl
|
|
|
|
|
+ })
|
|
|
|
|
+ formData.detailImages = data['mainResourceList'].filter((item:any) => item.resourceType === 2).map((item:any) => {
|
|
|
return item.resourceUrl
|
|
return item.resourceUrl
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|