提交 acd948f3 authored 作者: 王鹏飞's avatar 王鹏飞

bug fixes

上级 5cdc2a7a
...@@ -93,3 +93,9 @@ export function addSkuValue(data) { ...@@ -93,3 +93,9 @@ export function addSkuValue(data) {
export function deleteSkuValue(data) { export function deleteSkuValue(data) {
return httpRequest.post('/api/shop/spec/value/delete', data) return httpRequest.post('/api/shop/spec/value/delete', data)
} }
/**
* 获取商品规格
*/
export function getSkuList(data) {
return httpRequest.post('/api/shop/commodity/spu/spec/value/search', data)
}
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
v-if="tr.stock" v-if="tr.stock"
></el-input> ></el-input>
</template> </template>
<template v-else>{{ tr.stock[td.key] }}</template>
</td> </td>
</tr> </tr>
</tbody> </tbody>
...@@ -76,7 +77,8 @@ export default { ...@@ -76,7 +77,8 @@ export default {
{ formType: 'input', key: 'price', value: '*价格(元)' }, { formType: 'input', key: 'price', value: '*价格(元)' },
{ formType: 'input', key: 'mark_price', value: '划线价(元)' }, { formType: 'input', key: 'mark_price', value: '划线价(元)' },
{ formType: 'input', key: 'stock', value: '*库存' }, { formType: 'input', key: 'stock', value: '*库存' },
{ formType: 'input', key: 'prime_price', value: '成本价' } { formType: 'input', key: 'prime_price', value: '成本价' },
{ key: 'sales_volume', value: '销量' }
], ],
showBatchInput: false, showBatchInput: false,
batchKey: '', // 当前批量修改的字段 batchKey: '', // 当前批量修改的字段
......
...@@ -27,7 +27,7 @@ export default { ...@@ -27,7 +27,7 @@ export default {
data() { data() {
return { return {
menuList: [ menuList: [
{ name: '概况', icon: 'el-icon-house' }, { name: '概况', path: '/', icon: 'el-icon-house' },
{ {
name: '商品', name: '商品',
path: '/goods', path: '/goods',
......
...@@ -145,7 +145,7 @@ import SkuView from '@/components/goods/skuView' ...@@ -145,7 +145,7 @@ import SkuView from '@/components/goods/skuView'
import Message from '@/components/goods/message' import Message from '@/components/goods/message'
import Editor from '@/components/tinymce' import Editor from '@/components/tinymce'
// 接口 // 接口
import { addGoods, updateGoods, getGoodsList } from '@/api/goods' import { addGoods, updateGoods, getGoodsList, getSkuList } from '@/api/goods'
export default { export default {
components: { AppCard, AppUpload, AppUploadVideo, Sku, SkuView, Message, Editor }, components: { AppCard, AppUpload, AppUploadVideo, Sku, SkuView, Message, Editor },
props: { isEdit: { type: Boolean, default: false } }, props: { isEdit: { type: Boolean, default: false } },
...@@ -243,8 +243,33 @@ export default { ...@@ -243,8 +243,33 @@ export default {
console.log('商品图片解析失败', error) console.log('商品图片解析失败', error)
} }
// 规格明细 // 规格明细
this.getSkuList()
// 留言
try { try {
const goodStockList = data.spec ? JSON.parse(data.spec) : [] this.ruleForm.messageList = data.app_button_text ? JSON.parse(data.app_button_text) : []
} catch (error) {
console.log('留言解析失败', error)
}
// 购买按钮
this.buyButtonTextRadio = data.buy_button_text === '立即购买' ? '1' : '2'
this.loading = false
})
},
getSkuList() {
getSkuList({ shop_id: this.shopId, spu_id: this.pid }).then(response => {
const goodStockList = response.data.map(item => {
return {
mark_price: item.mark_price,
price: item.price,
prime_price: item.prime_price,
sales_volume: item.sales_volume,
spec_id: item.spec_ids,
spec_name: item.spec_names,
spec_value_id: item.spec_value_ids,
spec_value: item.spec_values,
stock: item.stock
}
})
this.ruleForm.goodStockList = goodStockList this.ruleForm.goodStockList = goodStockList
// 根据规格明细生成商品规格数据 // 根据规格明细生成商品规格数据
this.ruleForm.skuKeyValueList = goodStockList.reduce((result, item, index) => { this.ruleForm.skuKeyValueList = goodStockList.reduce((result, item, index) => {
...@@ -266,18 +291,6 @@ export default { ...@@ -266,18 +291,6 @@ export default {
}) })
return result return result
}, []) }, [])
} catch (error) {
console.log('商品规格解析失败', error)
}
// 留言
try {
this.ruleForm.messageList = data.app_button_text ? JSON.parse(data.app_button_text) : []
} catch (error) {
console.log('留言解析失败', error)
}
// 购买按钮
this.buyButtonTextRadio = data.buy_button_text === '立即购买' ? '1' : '2'
this.loading = false
}) })
}, },
// 上一步 // 上一步
......
...@@ -38,7 +38,8 @@ ...@@ -38,7 +38,8 @@
</template> </template>
</table-list> </table-list>
<div class="footer" style="padding: 10px 0"> <div class="footer" style="padding: 10px 0">
<el-button size="medium" :disabled="!multipleSelection.length" @click="handleUpdateStatus">上架</el-button> <el-button size="medium" :disabled="!multipleSelection.length" @click="handleUpdateStatus('2')">上架</el-button>
<el-button size="medium" :disabled="!multipleSelection.length" @click="handleUpdateStatus('4')">下架</el-button>
<el-button size="medium" :disabled="!multipleSelection.length" @click="onRemove">删除</el-button> <el-button size="medium" :disabled="!multipleSelection.length" @click="onRemove">删除</el-button>
</div> </div>
...@@ -172,8 +173,8 @@ export default { ...@@ -172,8 +173,8 @@ export default {
this.multipleSelection = value this.multipleSelection = value
}, },
// 上架 // 上架
handleUpdateStatus() { handleUpdateStatus(status) {
const data = this.multipleSelection.map(item => ({ spu_id: item.spu_id, status: '2' })) const data = this.multipleSelection.map(item => ({ spu_id: item.spu_id, status }))
updateGoodsStatus({ shop_id: this.shopId, data }).then(res => { updateGoodsStatus({ shop_id: this.shopId, data }).then(res => {
this.$refs.list.refetch() this.$refs.list.refetch()
}) })
......
...@@ -81,8 +81,8 @@ export default { ...@@ -81,8 +81,8 @@ export default {
} }
}, },
watch: { watch: {
'ruleForm.spu_id'(skuId) { 'ruleForm.spu_id'(goodsId) {
this.getSkuList(skuId) this.getSkuList(goodsId)
} }
}, },
computed: { computed: {
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<div class="order-fields"> <div class="order-fields">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<h3 class="order-fields-title">买家信息</h3> <h3 class="order-fields-title">付款信息</h3>
<div class="order-field-item"> <div class="order-field-item">
<div class="order-field-item__label">实付金额:</div> <div class="order-field-item__label">实付金额:</div>
<div class="order-field-item__content">{{ data.payment_money }}</div> <div class="order-field-item__content">{{ data.payment_money }}</div>
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<h3 class="order-fields-title">付款信息</h3> <h3 class="order-fields-title">买家信息</h3>
<div class="order-field-item"> <div class="order-field-item">
<div class="order-field-item__label">买家:</div> <div class="order-field-item__label">买家:</div>
<div class="order-field-item__content">{{ data.shipping_user || data.customer_id }}</div> <div class="order-field-item__content">{{ data.shipping_user || data.customer_id }}</div>
......
...@@ -25,6 +25,9 @@ ...@@ -25,6 +25,9 @@
<el-form-item label="店铺Logo" prop="shop_logo"> <el-form-item label="店铺Logo" prop="shop_logo">
<app-upload-image v-model="ruleForm.shop_logo" accept="image/*" :show-file-list="false"></app-upload-image> <app-upload-image v-model="ruleForm.shop_logo" accept="image/*" :show-file-list="false"></app-upload-image>
</el-form-item> </el-form-item>
<el-form-item label="主体信息" prop="business_entity">
<el-input v-model="ruleForm.business_entity" placeholder="请输入主体信息" maxlength="20"></el-input>
</el-form-item>
<el-form-item label="店铺有效期" prop="end_time"> <el-form-item label="店铺有效期" prop="end_time">
<el-date-picker <el-date-picker
v-model="ruleForm.end_time" v-model="ruleForm.end_time"
...@@ -69,6 +72,7 @@ export default { ...@@ -69,6 +72,7 @@ export default {
{ max: 20, message: '最多输入20个字符', trigger: 'blur' } { max: 20, message: '最多输入20个字符', trigger: 'blur' }
], ],
shop_logo: [{ required: true, message: '请上传', trigger: 'change' }], shop_logo: [{ required: true, message: '请上传', trigger: 'change' }],
business_entity: [{ required: true, message: '必填', trigger: 'blur' }],
end_time: [{ required: true, message: '请选择', trigger: 'change' }], end_time: [{ required: true, message: '请选择', trigger: 'change' }],
shop_desc: [ shop_desc: [
{ required: true, message: '必填', trigger: 'blur' }, { required: true, message: '必填', trigger: 'blur' },
......
...@@ -31,6 +31,9 @@ ...@@ -31,6 +31,9 @@
<el-form-item label="店铺Logo" prop="shop_logo"> <el-form-item label="店铺Logo" prop="shop_logo">
<app-upload-image v-model="ruleForm.shop_logo"></app-upload-image> <app-upload-image v-model="ruleForm.shop_logo"></app-upload-image>
</el-form-item> </el-form-item>
<el-form-item label="主体信息" prop="business_entity">
<el-input v-model="ruleForm.business_entity" placeholder="请输入主体信息" maxlength="20"></el-input>
</el-form-item>
<el-form-item label="店铺有效期" prop="end_time"> <el-form-item label="店铺有效期" prop="end_time">
<el-date-picker <el-date-picker
v-model="ruleForm.end_time" v-model="ruleForm.end_time"
...@@ -78,6 +81,7 @@ export default { ...@@ -78,6 +81,7 @@ export default {
{ max: 20, message: '最多输入20个字符', trigger: 'blur' } { max: 20, message: '最多输入20个字符', trigger: 'blur' }
], ],
shop_logo: [{ required: true, message: '请上传', trigger: 'change' }], shop_logo: [{ required: true, message: '请上传', trigger: 'change' }],
business_entity: [{ required: true, message: '必填', trigger: 'blur' }],
end_time: [{ required: true, message: '请选择', trigger: 'change' }], end_time: [{ required: true, message: '请选择', trigger: 'change' }],
shop_desc: [ shop_desc: [
{ required: true, message: '必填', trigger: 'blur' }, { required: true, message: '必填', trigger: 'blur' },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论