commit
5acb4dd70e
@ -16,5 +16,5 @@ createApp(App)
|
|||||||
.use(ElementPlus, { locale: zhCn, zIndex: 3000, size: 'default' })
|
.use(ElementPlus, { locale: zhCn, zIndex: 3000, size: 'default' })
|
||||||
.mount('#app')
|
.mount('#app')
|
||||||
|
|
||||||
document.title = 'ERP-管理系统';
|
document.title = '妙选ERP';
|
||||||
document.execCommand("BackgroundImageCache", false, true);
|
document.execCommand("BackgroundImageCache", false, true);
|
||||||
|
|||||||
@ -105,12 +105,12 @@
|
|||||||
<div v-for="(item, i) in goodsSkus" :key="i" class="skuBox">
|
<div v-for="(item, i) in goodsSkus" :key="i" class="skuBox">
|
||||||
<el-form label-width="110px" :inline="true">
|
<el-form label-width="110px" :inline="true">
|
||||||
<el-form-item label="规格:">
|
<el-form-item label="规格:">
|
||||||
<el-select v-model="item.sku_id" placeholder="请选择" clearable filterable style="width: 160px;">
|
<el-select v-model="item.sku_id" placeholder="请选择" clearable filterable style="width: 160px;" @change="computeCost()">
|
||||||
<el-option v-for="it in skusList" :key="it.id" :label="it.goods && it.goods.title + '(' + it.title + ')'" :value="it.id" />
|
<el-option v-for="it in skusList" :key="it.id" :label="it.goods && it.goods.title + '(' + it.title + ')'" :value="it.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="数量:">
|
<el-form-item label="数量:">
|
||||||
<el-input-number v-model="item.num" :min="0" />
|
<el-input-number v-model="item.num" :min="0" @change="computeCost()" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label=" ">
|
<el-form-item label=" ">
|
||||||
<el-button type="danger" @click="handleSkuDelete(i)" size="small"><el-icon><Delete /></el-icon> 删除</el-button>
|
<el-button type="danger" @click="handleSkuDelete(i)" size="small"><el-icon><Delete /></el-icon> 删除</el-button>
|
||||||
@ -252,6 +252,7 @@ export default {
|
|||||||
|
|
||||||
function handleSkuDelete(index) {
|
function handleSkuDelete(index) {
|
||||||
data.goodsSkus.splice(index, 1)
|
data.goodsSkus.splice(index, 1)
|
||||||
|
computeCost()
|
||||||
}
|
}
|
||||||
|
|
||||||
function toAddSku() {
|
function toAddSku() {
|
||||||
@ -265,6 +266,10 @@ export default {
|
|||||||
function getSkusList() {
|
function getSkusList() {
|
||||||
get(`/api/all/goods-skus`).then((res) => {
|
get(`/api/all/goods-skus`).then((res) => {
|
||||||
data.skusList = res.data
|
data.skusList = res.data
|
||||||
|
data.skuObj = {}
|
||||||
|
res.data.forEach(item => {
|
||||||
|
data.skuObj[item.id] = item
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,6 +285,20 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function computeCost() {
|
||||||
|
let val = 0
|
||||||
|
data.goodsSkus.forEach(item => {
|
||||||
|
if(item.sku_id) {
|
||||||
|
let goods_cost = data.skuObj[item.sku_id].goods_cost || 0
|
||||||
|
let other_cost = data.skuObj[item.sku_id].other_cost || 0
|
||||||
|
let cost_factor = data.skuObj[item.sku_id].cost_factor || 0
|
||||||
|
let cost = (goods_cost * 100 + other_cost * 100) * cost_factor
|
||||||
|
val += cost * item.num
|
||||||
|
}
|
||||||
|
})
|
||||||
|
data.itemInfo.goods_cost = (val / 100).toFixed(2)
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
fetchData()
|
fetchData()
|
||||||
getSkusList()
|
getSkusList()
|
||||||
@ -297,8 +316,8 @@ export default {
|
|||||||
handleSkuDelete,
|
handleSkuDelete,
|
||||||
toAddSku,
|
toAddSku,
|
||||||
getSkusList,
|
getSkusList,
|
||||||
handleUpload
|
handleUpload,
|
||||||
|
computeCost
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -159,14 +159,24 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="运费类型:">
|
<el-form-item label="运费类型:">
|
||||||
<el-radio-group v-model="item.freight_type">
|
<el-radio-group v-model="item.freight_type" style="width: 250px;">
|
||||||
<el-radio :label="1">有运费</el-radio>
|
<el-radio :label="1">有运费</el-radio>
|
||||||
<el-radio :label="3">无运费</el-radio>
|
<el-radio :label="3">无运费</el-radio>
|
||||||
<el-radio :label="2">后补</el-radio>
|
<el-radio :label="2">后补</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="商品成本:">
|
<el-form-item label="成本系数:">
|
||||||
<el-input placeholder="商品成本" v-model="item.goods_cost" clearable style="width: 250px;"></el-input>
|
<el-select v-model="item.cost_factor" placeholder="请选择" clearable style="width: 250px;">
|
||||||
|
<el-option label="1" :value="1" />
|
||||||
|
<el-option label="1.02" :value="1.02" />
|
||||||
|
<el-option label="1.05" :value="1.05" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="采购成本:">
|
||||||
|
<el-input placeholder="采购成本" v-model="item.goods_cost" clearable style="width: 250px;"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="其他成本:">
|
||||||
|
<el-input placeholder="其他成本" v-model="item.other_cost" clearable style="width: 250px;"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="运费成本:">
|
<el-form-item label="运费成本:">
|
||||||
<el-input placeholder="运费成本" v-model="item.freight_cost" clearable style="width: 250px;"></el-input>
|
<el-input placeholder="运费成本" v-model="item.freight_cost" clearable style="width: 250px;"></el-input>
|
||||||
@ -317,7 +327,7 @@ export default {
|
|||||||
let item = data.skusList[index]
|
let item = data.skusList[index]
|
||||||
item.freight_cost = item.freight_cost || 0
|
item.freight_cost = item.freight_cost || 0
|
||||||
if(!item.goods_cost || item.goods_cost * 1 == 0) {
|
if(!item.goods_cost || item.goods_cost * 1 == 0) {
|
||||||
return ElMessage({ type: 'info', message: '商品成本必填' })
|
// return ElMessage({ type: 'info', message: '商品成本必填' })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data.opa_loading = true
|
data.opa_loading = true
|
||||||
@ -395,8 +405,10 @@ export default {
|
|||||||
sort: 0,
|
sort: 0,
|
||||||
gift: 0,
|
gift: 0,
|
||||||
goods_cost: '',
|
goods_cost: '',
|
||||||
|
other_cost: '',
|
||||||
freight_cost: '',
|
freight_cost: '',
|
||||||
freight_type: 1
|
freight_type: 1,
|
||||||
|
cost_factor: ''
|
||||||
}
|
}
|
||||||
data.skusList.push(sku)
|
data.skusList.push(sku)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,7 +95,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="created_at" label="添加时间" align="center" />
|
<el-table-column prop="created_at" label="添加时间" align="center" />
|
||||||
<el-table-column label="操作" align="center" width="150">
|
<el-table-column label="操作" align="center" width="150" fixed="right">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="primary" circle @click="handleEdit(scope.row)"><el-icon><Edit /></el-icon></el-button>
|
<el-button type="primary" circle @click="handleEdit(scope.row)"><el-icon><Edit /></el-icon></el-button>
|
||||||
|
|
||||||
@ -195,9 +195,19 @@
|
|||||||
<el-radio :label="2">后补</el-radio>
|
<el-radio :label="2">后补</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="商品成本:">
|
<el-form-item label="成本系数:">
|
||||||
<el-input v-model="itemInfo.goods_cost" clearable></el-input>
|
<el-select v-model="itemInfo.cost_factor" placeholder="请选择" clearable style="width: 200px;">
|
||||||
</el-form-item>
|
<el-option label="1" :value="1" />
|
||||||
|
<el-option label="1.02" :value="1.02" />
|
||||||
|
<el-option label="1.05" :value="1.05" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="采购成本:">
|
||||||
|
<el-input placeholder="采购成本" v-model="itemInfo.goods_cost" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="其他成本:">
|
||||||
|
<el-input placeholder="其他成本" v-model="itemInfo.other_cost" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="运费成本:">
|
<el-form-item label="运费成本:">
|
||||||
<el-input v-model="itemInfo.freight_cost" clearable></el-input>
|
<el-input v-model="itemInfo.freight_cost" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -363,7 +373,8 @@ export default {
|
|||||||
status: 1,
|
status: 1,
|
||||||
sort: 0,
|
sort: 0,
|
||||||
gift: 0,
|
gift: 0,
|
||||||
freight_type: 1
|
freight_type: 1,
|
||||||
|
cost_factor: ''
|
||||||
}
|
}
|
||||||
data.showDialog = true
|
data.showDialog = true
|
||||||
}
|
}
|
||||||
|
|||||||
@ -148,6 +148,9 @@
|
|||||||
<el-table-column prop="total_profit" label="利润" align="center" />
|
<el-table-column prop="total_profit" label="利润" align="center" />
|
||||||
<el-table-column prop="order_rate" label="订单占比" align="center" />
|
<el-table-column prop="order_rate" label="订单占比" align="center" />
|
||||||
<el-table-column prop="number_rate" label="销量占比" align="center" />
|
<el-table-column prop="number_rate" label="销量占比" align="center" />
|
||||||
|
<el-table-column prop="goods_cost" label="采购成本" align="center" />
|
||||||
|
<el-table-column prop="other_cost" label="其他成本" align="center" />
|
||||||
|
<el-table-column prop="freight_cost" label="运费(退款后)" align="center" />
|
||||||
<el-table-column label="趋势图" align="center" width="80">
|
<el-table-column label="趋势图" align="center" width="80">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button type="primary" circle @click="getDataLine(scope.row)" :loading="scope.row.loading"><el-icon><TrendCharts /></el-icon></el-button>
|
<el-button type="primary" circle @click="getDataLine(scope.row)" :loading="scope.row.loading"><el-icon><TrendCharts /></el-icon></el-button>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user