商品管理: 初步完成相关组件
parent
ab1685a741
commit
61218ae711
@ -0,0 +1,15 @@
|
|||||||
|
import request from '@/config/axios'
|
||||||
|
import type { SpuType } from './type/spuType'
|
||||||
|
|
||||||
|
// 获得sku列表
|
||||||
|
export const getSkuList = (params: any) => {
|
||||||
|
return request.get({ url: '/product/sku/list', params })
|
||||||
|
}
|
||||||
|
// 创建商品spu
|
||||||
|
export const createSpu = (data: SpuType) => {
|
||||||
|
return request.post({ url: '/product/spu/create', data })
|
||||||
|
}
|
||||||
|
// 更新商品spu
|
||||||
|
export const updateSpu = (data: SpuType) => {
|
||||||
|
return request.put({ url: '/product/spu/update', data })
|
||||||
|
}
|
||||||
@ -0,0 +1,86 @@
|
|||||||
|
<template>
|
||||||
|
<el-table :data="SkuData" border class="tabNumWidth" size="small">
|
||||||
|
<el-table-column align="center" fixed="left" label="图片" min-width="100">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<UploadImg v-model="row.picUrl" height="80px" width="100%" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="商品条码" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.barCode" :min="0" class="w-100%" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="销售价(分)" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.price" :min="0" class="w-100%" type="number" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="市场价(分)" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.marketPrice" :min="0" class="w-100%" type="number" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="成本价(分)" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.costPrice" :min="0" class="w-100%" type="number" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="库存" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.stock" :min="0" class="w-100%" type="number" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="重量(kg)" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.weight" :min="0" class="w-100%" type="number" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="体积(m^3)" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.volume" :min="0" class="w-100%" type="number" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<template v-if="subCommissionType">
|
||||||
|
<el-table-column align="center" label="一级返佣(分)" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.subCommissionFirstPrice" :min="0" class="w-100%" type="number" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="二级返佣(分)" min-width="120">
|
||||||
|
<template #default="{ row }">
|
||||||
|
<el-input v-model="row.subCommissionSecondPrice" :min="0" class="w-100%" type="number" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</template>
|
||||||
|
</el-table>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" name="index" setup>
|
||||||
|
import { propTypes } from '@/utils/propTypes'
|
||||||
|
import { UploadImg } from '@/components/UploadFile'
|
||||||
|
import { PropType } from 'vue'
|
||||||
|
import type { SkuType } from '@/api/mall/product/management/type/skuType'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
skuData: {
|
||||||
|
type: Array as PropType<SkuType>,
|
||||||
|
default: () => []
|
||||||
|
},
|
||||||
|
subCommissionType: propTypes.bool.def(false) // 分销类型
|
||||||
|
})
|
||||||
|
const SkuData = ref<SkuType[]>([])
|
||||||
|
/**
|
||||||
|
* 将传进来的值赋值给SkuData
|
||||||
|
*/
|
||||||
|
watch(
|
||||||
|
() => props.skuData,
|
||||||
|
(data) => {
|
||||||
|
if (!data) return
|
||||||
|
SkuData.value = data
|
||||||
|
},
|
||||||
|
{
|
||||||
|
deep: true,
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
)
|
||||||
|
</script>
|
||||||
Loading…
Reference in New Issue