|
@@ -4,7 +4,7 @@
|
|
|
<view class="head">
|
|
<view class="head">
|
|
|
<span class="cuIcon-back" @click="back"></span>
|
|
<span class="cuIcon-back" @click="back"></span>
|
|
|
<view class="case">
|
|
<view class="case">
|
|
|
- 创建商品
|
|
|
|
|
|
|
+ {{productId?'编辑商品':'创建商品' }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="content">
|
|
<view class="content">
|
|
@@ -27,7 +27,7 @@
|
|
|
商品名称<span>*</span>
|
|
商品名称<span>*</span>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="picker">
|
|
<view class="picker">
|
|
|
- <u-input v-model="form.productName" placeholder="输入商品名称" />
|
|
|
|
|
|
|
+ <u-input :disabled="tabIndex==1" v-model="form.productName" placeholder="输入商品名称" />
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="item upload">
|
|
<view class="item upload">
|
|
@@ -37,17 +37,23 @@
|
|
|
<view class="tips">
|
|
<view class="tips">
|
|
|
支持jpg、png格式
|
|
支持jpg、png格式
|
|
|
</view>
|
|
</view>
|
|
|
- <u-upload ref="uUpload" :action="action" :file-list="fmImageList" @on-success="handleSuccess"
|
|
|
|
|
- @on-remove="handleRemove" max-count="1" width="140rpx" height="140rpx"></u-upload>
|
|
|
|
|
|
|
+ <view v-if="tabIndex==1">
|
|
|
|
|
+ <image v-for="(val,index) in fmImageList" :key="index" :src="val.url" mode="" style="width: 140rpx;height:140rpx;border-radius: 4px; border: 1px solid #ebecee;margin-right:20rpx;margin-bottom:10rpx" ></image>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <u-upload v-else ref="uUpload" :action="action" :file-list="fmImageList" @on-success="handleSuccess"
|
|
|
|
|
+ @on-remove=" handleRemove" max-count="1" width="140rpx" height="140rpx"></u-upload>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="item upload">
|
|
<view class="item upload">
|
|
|
<view class="label">
|
|
<view class="label">
|
|
|
- 商品详情图<span>*</span>
|
|
|
|
|
|
|
+ 商品详情图<span v-if="tabIndex=='0'">*</span>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="tips">
|
|
<view class="tips">
|
|
|
支持jpg、png格式,最多20张
|
|
支持jpg、png格式,最多20张
|
|
|
</view>
|
|
</view>
|
|
|
- <u-upload ref="dUpload" :action="action" :file-list="xqImage" @on-success="detailsSuccess"
|
|
|
|
|
|
|
+ <view v-if="tabIndex==1">
|
|
|
|
|
+ <view v-html="form.richText"></view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <u-upload v-else ref="dUpload" :action="action" :file-list="xqImage" @on-success="detailsSuccess"
|
|
|
@on-remove="detailsRemove" max-count="20" width="140rpx" height="140rpx"></u-upload>
|
|
@on-remove="detailsRemove" max-count="20" width="140rpx" height="140rpx"></u-upload>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="item">
|
|
<view class="item">
|
|
@@ -55,7 +61,7 @@
|
|
|
原价<span>*</span>
|
|
原价<span>*</span>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="picker">
|
|
<view class="picker">
|
|
|
- <u-input v-model="form.price" placeholder="输入商品原价" />
|
|
|
|
|
|
|
+ <u-input :disabled="tabIndex==1" v-model="form.price" placeholder="输入商品原价" />
|
|
|
</view>
|
|
</view>
|
|
|
<view class="unit">
|
|
<view class="unit">
|
|
|
元
|
|
元
|
|
@@ -66,7 +72,7 @@
|
|
|
实际售价<span>*</span>
|
|
实际售价<span>*</span>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="picker">
|
|
<view class="picker">
|
|
|
- <u-input type="num" v-model="form.soldPrice" placeholder="输入客户实际支付价" />
|
|
|
|
|
|
|
+ <u-input type="num" :disabled="form.isUpdatePrice==0" v-model="form.soldPrice" placeholder="输入客户实际支付价" />
|
|
|
</view>
|
|
</view>
|
|
|
<view class="unit">
|
|
<view class="unit">
|
|
|
元
|
|
元
|
|
@@ -93,7 +99,7 @@
|
|
|
金豆奖励
|
|
金豆奖励
|
|
|
</view>
|
|
</view>
|
|
|
<view class="picker set">
|
|
<view class="picker set">
|
|
|
- <u-switch v-model="jindouChecked" style="margin-left:8rpx;" size="28" @change="e=>e==false?form.goldAward='':''"></u-switch>
|
|
|
|
|
|
|
+ <u-switch v-model="jindouChecked" :disabled="tabIndex==1" style="margin-left:8rpx;" size="28" @change="e=>e==false?form.goldAward='':''"></u-switch>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view style="border:none;" v-if="jindouChecked">
|
|
<view style="border:none;" v-if="jindouChecked">
|
|
@@ -108,7 +114,7 @@
|
|
|
积分奖励
|
|
积分奖励
|
|
|
</view>
|
|
</view>
|
|
|
<view class="picker set">
|
|
<view class="picker set">
|
|
|
- <u-switch v-model="jifenChecked" style="margin-left:8rpx;" size="28" @change="e=>e==false?form.integralAward='':''"></u-switch>
|
|
|
|
|
|
|
+ <u-switch v-model="jifenChecked" :disabled="tabIndex==1" style="margin-left:8rpx;" size="28" @change="e=>e==false?form.integralAward='':''"></u-switch>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view style="border:none;" v-if="jifenChecked">
|
|
<view style="border:none;" v-if="jifenChecked">
|
|
@@ -128,7 +134,7 @@
|
|
|
售卖时间<span>*</span>
|
|
售卖时间<span>*</span>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="picker set inp" @click="selectDate">
|
|
<view class="picker set inp" @click="selectDate">
|
|
|
- <u-input placeholder="去设置" v-model="showDate" @click="selectDate" />
|
|
|
|
|
|
|
+ <u-input :disabled="tabIndex==1" placeholder="去设置" v-model="showDate" @click="selectDate" />
|
|
|
<u-icon name="arrow-right" style="margin-left: 17rpx;"></u-icon>
|
|
<u-icon name="arrow-right" style="margin-left: 17rpx;"></u-icon>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
@@ -160,14 +166,14 @@
|
|
|
需要预约<span>*</span>
|
|
需要预约<span>*</span>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="picker set">
|
|
<view class="picker set">
|
|
|
- <u-switch v-model="makeChecked" style="margin-left:8rpx;" size="28"></u-switch>
|
|
|
|
|
|
|
+ <u-switch v-model="makeChecked" :disabled="tabIndex==1" style="margin-left:8rpx;" size="28"></u-switch>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="item">
|
|
<view class="item">
|
|
|
<view class="label">
|
|
<view class="label">
|
|
|
退款规则
|
|
退款规则
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="picker set" @click="isRefund = true">
|
|
|
|
|
|
|
+ <view class="picker set" @click="tabIndex==0?isRefund = true:''">
|
|
|
<view class="" v-if="showRule" style="color: #333333;">
|
|
<view class="" v-if="showRule" style="color: #333333;">
|
|
|
{{ showRule }}
|
|
{{ showRule }}
|
|
|
</view>
|
|
</view>
|
|
@@ -182,7 +188,7 @@
|
|
|
使用说明
|
|
使用说明
|
|
|
</view>
|
|
</view>
|
|
|
<view class="textarea">
|
|
<view class="textarea">
|
|
|
- <u-input v-model="form.instructions" type="textarea" placeholder="请输入" maxlength="500" />
|
|
|
|
|
|
|
+ <u-input v-model="form.instructions" :disabled="tabIndex==1" type="textarea" placeholder="请输入" maxlength="500" />
|
|
|
</view>
|
|
</view>
|
|
|
<view class="num">
|
|
<view class="num">
|
|
|
<span
|
|
<span
|
|
@@ -255,6 +261,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
|
|
+ tabIndex:'0',
|
|
|
mode: 1,
|
|
mode: 1,
|
|
|
form: {
|
|
form: {
|
|
|
instructions: '',
|
|
instructions: '',
|
|
@@ -302,12 +309,12 @@ export default {
|
|
|
methods: {
|
|
methods: {
|
|
|
// 上传封面图成功回调
|
|
// 上传封面图成功回调
|
|
|
handleSuccess(res, index, lists) {
|
|
handleSuccess(res, index, lists) {
|
|
|
-
|
|
|
|
|
this.form.productImage = this.imageHttp + res.message
|
|
this.form.productImage = this.imageHttp + res.message
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
// 移除封面图文件回调
|
|
// 移除封面图文件回调
|
|
|
handleRemove(index, lists) {
|
|
handleRemove(index, lists) {
|
|
|
- this.fmImageList = [];
|
|
|
|
|
|
|
+ this.fmImageList = [];
|
|
|
},
|
|
},
|
|
|
//上传详情图
|
|
//上传详情图
|
|
|
detailsSuccess(res, index, lists) {
|
|
detailsSuccess(res, index, lists) {
|
|
@@ -320,13 +327,15 @@ export default {
|
|
|
},
|
|
},
|
|
|
//下一步
|
|
//下一步
|
|
|
next() {
|
|
next() {
|
|
|
|
|
+ console.log(this.tabIndex);
|
|
|
|
|
+
|
|
|
let temp = []
|
|
let temp = []
|
|
|
if (this.postImage.length > 0) {
|
|
if (this.postImage.length > 0) {
|
|
|
this.postImage.forEach(item => {
|
|
this.postImage.forEach(item => {
|
|
|
temp.push(this.imageHttp + item.response.message)
|
|
temp.push(this.imageHttp + item.response.message)
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
- if (this.xqImage.length > 0) {
|
|
|
|
|
|
|
+ if ( this.xqImage.length > 0) {
|
|
|
this.xqImage.forEach((item => {
|
|
this.xqImage.forEach((item => {
|
|
|
temp.push(item.url)
|
|
temp.push(item.url)
|
|
|
}))
|
|
}))
|
|
@@ -355,7 +364,7 @@ export default {
|
|
|
});
|
|
});
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- if (!this.form.detailImages) {
|
|
|
|
|
|
|
+ if (this.tabIndex=='0' && !this.form.detailImages) {
|
|
|
uni.showToast({
|
|
uni.showToast({
|
|
|
title: '请上传商品详情图',
|
|
title: '请上传商品详情图',
|
|
|
icon: 'none'
|
|
icon: 'none'
|
|
@@ -382,9 +391,12 @@ export default {
|
|
|
},
|
|
},
|
|
|
// 跳转至组合商品页
|
|
// 跳转至组合商品页
|
|
|
goGroup() {
|
|
goGroup() {
|
|
|
- uni.navigateTo({
|
|
|
|
|
- url: '/pages/product/group'
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ if(this.tabIndex==0){
|
|
|
|
|
+ uni.navigateTo({
|
|
|
|
|
+ url: '/pages/product/group'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
//返回
|
|
//返回
|
|
|
back() {
|
|
back() {
|
|
@@ -403,9 +415,12 @@ export default {
|
|
|
},
|
|
},
|
|
|
//跳转至可用时间
|
|
//跳转至可用时间
|
|
|
setUsable() {
|
|
setUsable() {
|
|
|
- uni.navigateTo({
|
|
|
|
|
- url: '/pages/product/usable'
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ if(this.tabIndex==0){
|
|
|
|
|
+ uni.navigateTo({
|
|
|
|
|
+ url: '/pages/product/usable'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
// 保存退款规则
|
|
// 保存退款规则
|
|
|
saveFound(rules) {
|
|
saveFound(rules) {
|
|
@@ -451,13 +466,16 @@ export default {
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
selectProductType() {
|
|
selectProductType() {
|
|
|
- this.isSelectType = true
|
|
|
|
|
- this.showText = ''
|
|
|
|
|
- this.productType = []
|
|
|
|
|
- this.selectTypeList = []
|
|
|
|
|
- this.currentLeft = null
|
|
|
|
|
- this.currentCenter = null
|
|
|
|
|
- this.currentRight = null
|
|
|
|
|
|
|
+ if(this.tabIndex=='0'){
|
|
|
|
|
+ this.isSelectType = true
|
|
|
|
|
+ this.showText = ''
|
|
|
|
|
+ this.productType = []
|
|
|
|
|
+ this.selectTypeList = []
|
|
|
|
|
+ this.currentLeft = null
|
|
|
|
|
+ this.currentCenter = null
|
|
|
|
|
+ this.currentRight = null
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
//选中一级
|
|
//选中一级
|
|
|
selectLeft(item, index) {
|
|
selectLeft(item, index) {
|
|
@@ -585,13 +603,17 @@ export default {
|
|
|
this.fmImageList.push({
|
|
this.fmImageList.push({
|
|
|
url: res.data.result.productImage
|
|
url: res.data.result.productImage
|
|
|
})
|
|
})
|
|
|
- let xqtemp = []
|
|
|
|
|
- xqtemp = res.data.result.detailImages.split(',')
|
|
|
|
|
- xqtemp.map(item => {
|
|
|
|
|
- this.xqImage.push({
|
|
|
|
|
- url: item
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if(res.data.result.detailImages){
|
|
|
|
|
+ let xqtemp = []
|
|
|
|
|
+ xqtemp = res.data.result.detailImages.split(',')
|
|
|
|
|
+ xqtemp.map(item => {
|
|
|
|
|
+ this.xqImage.push({
|
|
|
|
|
+ url: item
|
|
|
|
|
+ })
|
|
|
})
|
|
})
|
|
|
- })
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
this.showDate = res.data.result.saleStartDate.slice(0, 10) + '-' + res.data.result.saleEndDate.slice(0,
|
|
this.showDate = res.data.result.saleStartDate.slice(0, 10) + '-' + res.data.result.saleEndDate.slice(0,
|
|
|
10)
|
|
10)
|
|
|
if (res.data.result.availableEndDate) {
|
|
if (res.data.result.availableEndDate) {
|
|
@@ -613,12 +635,15 @@ export default {
|
|
|
mounted() {
|
|
mounted() {
|
|
|
this.getLeftTree()
|
|
this.getLeftTree()
|
|
|
this.getForm()
|
|
this.getForm()
|
|
|
- console.log(configService.apiUrl)
|
|
|
|
|
},
|
|
},
|
|
|
onLoad(options) {
|
|
onLoad(options) {
|
|
|
if (options.productId) {
|
|
if (options.productId) {
|
|
|
this.productId = options.productId
|
|
this.productId = options.productId
|
|
|
}
|
|
}
|
|
|
|
|
+ if (options.tabIndex) {
|
|
|
|
|
+ this.tabIndex = options.tabIndex
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
onShow() {
|
|
onShow() {
|
|
|
let that = this
|
|
let that = this
|