细取消选择 去修改

master
fanfan 3 months ago
parent 5bfef7c7a0
commit dfe502966e
  1. 12
      src/components/Modal/GoodsModal/GoodsModal.vue
  2. 11
      src/views/dataCenter/goods/Index.vue
  3. 92
      src/views/dataCenter/goods/modules/MultiSpec.vue

@ -52,6 +52,11 @@
:subTitleColor="true"
/>
</template>
<span slot="spec_type" slot-scope="text">
<p class="twoline-hide" style="width: 40px">
{{ text == 10 ? '单规格' : '多规格' }}
</p>
</span>
<span slot="specific_value" slot-scope="text">
<a-tooltip placement="topLeft" :title="text"> {{ text }}</a-tooltip>
</span>
@ -82,10 +87,9 @@ const columns = [
scopedSlots: { customRender: 'item' },
},
{
title: '规格值',
dataIndex: 'specific_value',
width: '100px',
scopedSlots: { customRender: 'specific_value' },
title: '规格类型',
dataIndex: 'spec_type',
scopedSlots: { customRender: 'spec_type' },
},
{
title: '商品价格',

@ -349,6 +349,11 @@
{{ text == 0 ? '待处理' : text == 1 ? '已入池' : '未入池' }}
</p>
</span>
<span slot="spec_type" slot-scope="text">
<p class="twoline-hide" style="width: 40px">
{{ text == 10 ? '单规格' : '多规格' }}
</p>
</span>
<span slot="cate_status" slot-scope="text">
<p class="twoline-hide" style="width: 40px" :style="{ color: text == 0 ? 'red' : 'green' }">
{{ text == 0 ? '待处理' : '已归类' }}
@ -404,6 +409,12 @@ const columns = [
width: '300px',
scopedSlots: { customRender: 'goods_name' },
},
{
title: '规格类型',
width: '90px',
dataIndex: 'spec_type',
scopedSlots: { customRender: 'spec_type' },
},
{
title: '行情价',
width: '100px',

@ -14,11 +14,7 @@
placeholder="请输入规格名称"
@change="onChangeSpecGroupIpt"
/>
<a
v-if="!isSpecLocked"
class="group-item-delete"
href="javascript:;"
@click="handleDeleteSpecGroup(index)"
<a v-if="!isSpecLocked" class="group-item-delete" href="javascript:;" @click="handleDeleteSpecGroup(index)"
>删除规格组</a
>
</div>
@ -95,13 +91,26 @@
bordered
>
<template slot="select_goods" slot-scope="text, item">
<SelectGoods :multiple="false" :source='source' :channel="channel" @change="handleSelectGoods($event, item)" />
<SelectGoods
:multiple="false"
:source="source"
:channel="channel"
@change="handleSelectGoods($event, item)"
/>
</template>
<template slot="item" slot-scope="item" v-if="item.goods_id">
<GoodsItem
:data="{
image: item.goods_image,
imageAlt: '商品图片',
title: item.goods_name,
}"
:subTitleColor="true"
/>
</template>
<template slot="goods_id" slot-scope="text, item">
{{ item.goods_id }}{{item.goods_name}}
</template>
<!-- 商品名称 -->
<!-- <template slot="goods_name" slot-scope="text, item">
{{ item.goods_name }}
</template> -->
<!-- 商品价格 -->
<template slot="goods_price" slot-scope="text, item">
{{ item.goods_price }}
</template>
@ -124,12 +133,14 @@
{{ item.goods_sku_no }}
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text, item">
<router-link
<template slot="action" slot-scope="text, item, index">
<!-- <router-link
v-if="item.goods_id"
:to="{ path: '/goods/update', query: { goodsId: item.goods_id } }"
>去修改</router-link
>
> -->
<a @click="handleEdit(index, item)" v-if="item.goods_id" style="margin-left: 10px">去修改</a>
<a @click="handleCancel(index)" v-if="item.goods_id" style="margin-left: 10px">取消选择</a>
</template>
</a-table>
</a-form-item>
@ -142,11 +153,12 @@ import MultiSpecModel from '@/common/model/goods/MultiSpec'
import { SelectImage } from '@/components'
import SelectGoods from '@/components/SelectGoods/SelectGoods.vue'
import * as GoodsApi from '@/api/goods'
import { GoodsItem } from '@/components/Table/table'
export default {
components: {
SelectImage,
SelectGoods
SelectGoods,
GoodsItem
},
props: {
//
@ -172,9 +184,9 @@ export default {
//
specList: [],
// SKU
skuList: []
skuList: [],
},
visible: false
visible: false,
}
},
watch: {
@ -182,7 +194,7 @@ export default {
if (val.length && this.MultiSpecModel.isEmpty()) {
this.getData()
}
}
},
},
//
created() {
@ -190,6 +202,27 @@ export default {
this.getData()
},
methods: {
handleEdit(item) {
const routeData = this.$router.resolve({
path: '/goods/update',
query: {
goodsId: item.goods_id,
},
})
window.open(routeData.href, '_blank')
},
handleCancel(index) {
this.multiSpecData.skuList[index].cost_price = ''
this.multiSpecData.skuList[index].goods_id = ''
this.multiSpecData.skuList[index].goods_image = ''
this.multiSpecData.skuList[index].goods_name = ''
this.multiSpecData.skuList[index].goods_price = ''
this.multiSpecData.skuList[index].goods_price_min = ''
this.multiSpecData.skuList[index].goods_sku_no = ''
this.multiSpecData.skuList[index].goods_weight = ''
this.multiSpecData.skuList[index].line_price = ''
this.multiSpecData.skuList[index].stock_num = ''
},
// SKU()
getData() {
const { defaultSpecList, defaultSkuList } = this
@ -219,7 +252,7 @@ export default {
app.MultiSpecModel.handleDeleteSpecGroup(groupIndex)
//
modal.destroy()
}
},
})
},
@ -241,7 +274,7 @@ export default {
app.MultiSpecModel.handleDeleteSpecValue(groupIndex, valueIndex)
//
modal.destroy()
}
},
})
},
@ -286,13 +319,13 @@ export default {
async handleSelectGoods(goodsId, item) {
const skuList = this.multiSpecData.skuList
const skuItem = skuList.find(sku => sku.goods_id === goodsId)
const skuItem = skuList.find((sku) => sku.goods_id === goodsId)
if (skuItem) {
this.$message.error('一个商品只能选择一次', 2)
return false
}
this.getGoodsDetail(goodsId).then(res => {
this.getGoodsDetail(goodsId).then((res) => {
const queryGoodsId = this.$route.query.goodsId
if (res.spec_type === 20 && queryGoodsId !== goodsId) {
this.$message.error('您选择的商品是多规格商品', 2)
@ -300,27 +333,30 @@ export default {
}
const sku = res.skuList[0]
console.log(res)
item.goods_price = sku.goods_price
item.cost_price = sku.cost_price
item.stock_num = sku.stock_num
item.goods_weight = sku.goods_weight
item.goods_sku_no = sku.goods_sku_no
// item.goods_name = res.goods_name
item.goods_name = res.goods_name
item.goods_id = res.goods_id
item.goods_image = res.goods_image
item.goods_price_min = res.goods_price_min
})
console.log(item)
},
//
getGoodsDetail(goodsId = null) {
if (!goodsId) return false
return new Promise((resolve, reject) => {
GoodsApi.detail({ goodsId })
.then(result => {
GoodsApi.detail({ goodsId }).then((result) => {
resolve(result.data.goodsInfo)
})
})
}
}
},
},
}
</script>
<style lang="less" scoped>

Loading…
Cancel
Save