mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-11-30 22:20:45 +00:00
feat: #10000 更新
This commit is contained in:
parent
0fe511bd6e
commit
b343b14acd
@ -37,6 +37,7 @@ class KttOrderQuery extends Command
|
||||
* Execute the console command.
|
||||
*
|
||||
* @return mixed
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
|
||||
@ -9,6 +9,11 @@ class BusinessOrderFilter extends Filters
|
||||
return $this->builder->where('participate_no', trim($value));
|
||||
}
|
||||
|
||||
protected function supplyParticipateNo($value)
|
||||
{
|
||||
return $this->builder->where('supply_participate_no', trim($value));
|
||||
}
|
||||
|
||||
protected function shopId($value)
|
||||
{
|
||||
return $this->builder->where('shop_id', $value);
|
||||
|
||||
@ -6,6 +6,7 @@ use App\Events\StockUpdateEvent;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Resources\GoodsSkuResource;
|
||||
use App\Imports\CombinationGoodsImport;
|
||||
use App\Models\BusinessOrderItem;
|
||||
use App\Models\CombinationGood;
|
||||
use App\Models\Goods;
|
||||
use App\Models\GoodsSku;
|
||||
@ -20,7 +21,7 @@ class GoodsCombinationController extends Controller
|
||||
public function index(Request $request)
|
||||
{
|
||||
// ToDo
|
||||
// 可通过子商城查找主商品
|
||||
// 可通过子商品查找主商品
|
||||
$skus = GoodsSku::query()
|
||||
->with([
|
||||
'combinationGoods:id,goods_sku_id,item_id,item_num',
|
||||
@ -29,9 +30,41 @@ class GoodsCombinationController extends Controller
|
||||
])
|
||||
->where('is_combination', 1)
|
||||
->filter()
|
||||
->orderBy('stock', 'desc')
|
||||
->paginate($request->get('per_page'));
|
||||
$fields = implode(',', [
|
||||
'shop_id',
|
||||
'external_sku_id',
|
||||
'sum(goods_number) as number',
|
||||
'sum(already_cancel_number) as cancel_number',
|
||||
]);
|
||||
foreach ($skus as &$item) {
|
||||
$items = [];
|
||||
$lastInventoryTime = date('Y-m-d 07:00:00');
|
||||
$orderDetail = BusinessOrderItem::query()
|
||||
->select(DB::raw($fields))
|
||||
->with(['shop:id,name'])
|
||||
->where('external_sku_id', $item['external_sku_id'])
|
||||
->when($lastInventoryTime, function ($query) use ($lastInventoryTime) {
|
||||
$query->where('created_at', '>', $lastInventoryTime);
|
||||
})
|
||||
->groupBy(['shop_id', 'external_sku_id'])
|
||||
->get()
|
||||
->toArray();
|
||||
$addOrderGoodsNum = $reduceOrderGoodsNum = 0;
|
||||
if ($orderDetail) {
|
||||
$addOrderGoodsNum = array_sum(array_column($orderDetail, 'number'));
|
||||
$reduceOrderGoodsNum = array_sum(array_column($orderDetail, 'cancel_number'));
|
||||
}
|
||||
$item['order_goods_num'] = $addOrderGoodsNum - $reduceOrderGoodsNum;
|
||||
$item['order_detail'] = $orderDetail;
|
||||
$number = BusinessOrderItem::query()
|
||||
->where('external_sku_id', $item['external_sku_id'])
|
||||
->sum('goods_number');
|
||||
$cancelNumber = BusinessOrderItem::query()
|
||||
->where('external_sku_id', $item['external_sku_id'])
|
||||
->sum('already_cancel_number');
|
||||
$item['total_orders_num'] = $number - $cancelNumber;
|
||||
foreach ($item['combinationGoods'] as $combinationItem) {
|
||||
$items[] = [
|
||||
'cost' => 0,
|
||||
@ -48,6 +81,9 @@ class GoodsCombinationController extends Controller
|
||||
'title' => $combinationItem['goodsSkuItem']['goods']['title'] . $combinationItem['goodsSkuItem']['title'],
|
||||
'updated_at' => $combinationItem['goodsSkuItem']['updated_at'],
|
||||
'yesterday_num' => $combinationItem['goodsSkuItem']['yesterday_num'],
|
||||
'order_goods_num' => '请在商品列表查看',
|
||||
'order_detail' => [],
|
||||
'total_orders_num' => '不显示',
|
||||
];
|
||||
}
|
||||
$item['children'] = $items;
|
||||
|
||||
@ -52,7 +52,7 @@ class GoodsSkusController extends Controller
|
||||
$query->where('day', $day);
|
||||
}])
|
||||
->where('is_combination', 0)
|
||||
->orderBy('updated_at', 'desc')
|
||||
->orderBy('stock', 'desc')
|
||||
->paginate($request->get('per_page'));
|
||||
$fields = implode(',', [
|
||||
'shop_id',
|
||||
|
||||
@ -16,6 +16,7 @@ class BusinessOrder extends Model
|
||||
'is_supplier',
|
||||
'cancel_status',
|
||||
'after_sales_status',
|
||||
'supply_participate_no',
|
||||
];
|
||||
|
||||
protected $fillable = [
|
||||
|
||||
@ -11,11 +11,11 @@
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="handleChoose(1)">筛选</el-button>
|
||||
<el-upload ref="myUpload" action="/api/combination/goods" :multiple="false" name="combinationGoods"
|
||||
:show-file-list="false" :on-success="uploadSuccess" :before-upload="beforeUpload"
|
||||
:on-error="uploadError" style="display:inline-block;margin: 0 10px 0 10px;">
|
||||
<el-button type="primary" plain>组合商品导入</el-button>
|
||||
</el-upload>
|
||||
<el-upload ref="myUpload" action="/api/combination/goods" :multiple="false" name="combinationGoods"
|
||||
:show-file-list="false" :on-success="uploadSuccess" :before-upload="beforeUpload"
|
||||
:on-error="uploadError" style="display:inline-block;margin: 0 10px 0 10px;">
|
||||
<el-button type="primary" plain>组合商品导入</el-button>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@ -44,7 +44,25 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="num" label="组合数量"></el-table-column>
|
||||
<el-table-column prop="reference_price" label="售价"></el-table-column>
|
||||
<el-table-column prop="stock" label="库存"></el-table-column>
|
||||
<el-table-column sortable label="今日7点以后订单">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span>{{ scope.row.order_goods_num }}</span>
|
||||
</div>
|
||||
<el-popover placement="right-start" trigger="hover" v-if="scope.row.order_detail.length !== 0">
|
||||
<div>
|
||||
<span v-for="(j, index) in scope.row.order_detail" :key="index">
|
||||
<div>{{ j.shop.name }}:{{ j.number }}</div>
|
||||
</span>
|
||||
</div>
|
||||
<el-button class="btn11" type="text" slot="reference"><img src="../../css/img/眼睛.png"
|
||||
alt="" />
|
||||
</el-button>
|
||||
</el-popover>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column sortable prop="total_orders_num" label="累计订单"></el-table-column>
|
||||
<el-table-column sortable prop="stock" label="库存"></el-table-column>
|
||||
<el-table-column prop="status" label="状态"> </el-table-column>
|
||||
<el-table-column label="操作" width="130">
|
||||
<template slot-scope="scope">
|
||||
@ -58,7 +76,7 @@
|
||||
<!-- 分页功能 -->
|
||||
<div class="page">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:current-page="current_page" :page-sizes="[15, 50, 100]" :page-size="per_page"
|
||||
:current-page="current_page" :page-sizes="[15, 50, 100, 150, 200]" :page-size="per_page"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="Paginationdata.total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
|
||||
@ -224,11 +224,10 @@
|
||||
<div v-if="stock">
|
||||
<el-input v-model="scope.row.daily.inventory"></el-input>
|
||||
</div>
|
||||
<el-popover placement="right-start" trigger="hover" :content="
|
||||
scope.row.daily.inventory_time
|
||||
<el-popover placement="right-start" trigger="hover" :content="scope.row.daily.inventory_time
|
||||
? scope.row.daily.inventory_time
|
||||
: ''
|
||||
">
|
||||
">
|
||||
<div v-if="!stock" slot="reference">
|
||||
{{ scope.row.daily.inventory }}
|
||||
</div>
|
||||
@ -257,7 +256,7 @@
|
||||
<!-- 分页功能 -->
|
||||
<div class="page">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:current-page="current_page" :page-sizes="[15, 50, 100]" :page-size="per_page"
|
||||
:current-page="current_page" :page-sizes="[15, 50, 100, 150, 200]" :page-size="per_page"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="Paginationdata.total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
|
||||
@ -50,6 +50,13 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="帮卖团跟团号:">
|
||||
<el-input v-model="form.participate_no" placeholder="帮卖团跟团号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="自卖团跟团号:">
|
||||
<el-input v-model="form.supply_participate_no" placeholder="自卖团跟团号"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="handleChoose">筛选</el-button>
|
||||
<el-button plain @click="handleReChoose">重置筛选</el-button>
|
||||
@ -70,7 +77,8 @@
|
||||
<el-table-column prop="is_supplier" label="订单类型"></el-table-column>
|
||||
<el-table-column prop="cancel_status" label="订单状态"></el-table-column>
|
||||
<el-table-column prop="after_sales_status" label="售后状态"></el-table-column>
|
||||
<el-table-column prop="participate_no" label="跟团号"></el-table-column>
|
||||
<el-table-column prop="supply_participate_no" label="自卖团跟团号"></el-table-column>
|
||||
<el-table-column prop="participate_no" label="帮卖团跟团号"></el-table-column>
|
||||
<el-table-column label="商品信息">
|
||||
<template slot-scope="scope">
|
||||
<div v-for="item in scope.row.items" :key="item.id">
|
||||
@ -134,6 +142,8 @@ export default {
|
||||
is_supplier: "",
|
||||
cancel_status: "",
|
||||
after_sales_status: "",
|
||||
supply_participate_no: "",
|
||||
participate_no: "",
|
||||
},
|
||||
dialogVisible: false,
|
||||
loading: true,
|
||||
@ -219,6 +229,8 @@ export default {
|
||||
is_supplier: "",
|
||||
cancel_status: "",
|
||||
after_sales_status: "",
|
||||
supply_participate_no: "",
|
||||
participate_no: "",
|
||||
};
|
||||
this.getPlatOrderList();
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user