mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-12-01 06:30:49 +00:00
feat: #10000 订单列表优化
This commit is contained in:
parent
3c0a65b08e
commit
ca3a032058
@ -199,10 +199,17 @@ class BusinessOrderController extends Controller
|
|||||||
];
|
];
|
||||||
$data = [];
|
$data = [];
|
||||||
foreach ($documents as &$document) {
|
foreach ($documents as &$document) {
|
||||||
|
$documentData['data']['list'][0]['text'] = '[跟团号: ' . $document['participate_no'] . '] ';
|
||||||
$documentID = $document['documentID'];
|
$documentID = $document['documentID'];
|
||||||
|
$count = 0;
|
||||||
foreach ($document['items'] as $item) {
|
foreach ($document['items'] as $item) {
|
||||||
|
$count += $item['count'];
|
||||||
$documentData['data']['list'][0]['text'] .= $item['name'] . ' ' . $item['count'] . '件;';
|
$documentData['data']['list'][0]['text'] .= $item['name'] . ' ' . $item['count'] . '件;';
|
||||||
}
|
}
|
||||||
|
$documentData['data']['list'][0]['text'] .= ' 总计: ' . $count . '件';
|
||||||
|
if ($document['note']) {
|
||||||
|
$documentData['data']['list'][0]['text'] .= ' 备注:' . $document['note'];
|
||||||
|
}
|
||||||
unset($document['documentID'], $document['items'], $document['order_id']);
|
unset($document['documentID'], $document['items'], $document['order_id']);
|
||||||
$data[] = [
|
$data[] = [
|
||||||
'documentID' => $documentID,
|
'documentID' => $documentID,
|
||||||
|
|||||||
@ -50,7 +50,9 @@ class WayBillService
|
|||||||
'userid' => $waybill->user_id,
|
'userid' => $waybill->user_id,
|
||||||
'items' => $item['items'],
|
'items' => $item['items'],
|
||||||
'documentID' => $waybill->id,
|
'documentID' => $waybill->id,
|
||||||
'order_id' => $item['id']
|
'order_id' => $item['id'],
|
||||||
|
'participate_no' => $waybill->participate_no,
|
||||||
|
'note' => $waybill->note,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -65,7 +67,9 @@ class WayBillService
|
|||||||
'userid' => $waybill->user_id,
|
'userid' => $waybill->user_id,
|
||||||
'items' => json_decode($waybill->items, true),
|
'items' => json_decode($waybill->items, true),
|
||||||
'documentID' => $waybill->id,
|
'documentID' => $waybill->id,
|
||||||
'order_id' => $item['id']
|
'order_id' => $item['id'],
|
||||||
|
'participate_no' => $waybill->participate_no,
|
||||||
|
'note' => $waybill->note,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -93,7 +97,6 @@ class WayBillService
|
|||||||
$hasIds = array_merge($hasIds, $docIds);
|
$hasIds = array_merge($hasIds, $docIds);
|
||||||
foreach ($docIds as $docId) {
|
foreach ($docIds as $docId) {
|
||||||
$orderIds[] = $contents[$docId]['order_id'];
|
$orderIds[] = $contents[$docId]['order_id'];
|
||||||
// unset($contents[$docId]['items'], $contents[$docId]['order_id']);
|
|
||||||
$documents[] = $contents[$docId];
|
$documents[] = $contents[$docId];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -130,6 +133,8 @@ class WayBillService
|
|||||||
$waybill->wp_code = $senderConfig['wp_code'];
|
$waybill->wp_code = $senderConfig['wp_code'];
|
||||||
$waybill->order_sn = $order['order_sn'];
|
$waybill->order_sn = $order['order_sn'];
|
||||||
$waybill->order_id = $order['id'];
|
$waybill->order_id = $order['id'];
|
||||||
|
$waybill->participate_no = $order['participate_no'];
|
||||||
|
$waybill->note = $order['note'];
|
||||||
$waybill->items = json_encode($order['items'], 256);
|
$waybill->items = json_encode($order['items'], 256);
|
||||||
|
|
||||||
return $waybill;
|
return $waybill;
|
||||||
@ -239,6 +244,8 @@ class WayBillService
|
|||||||
'recipient_detail' => $order['receiver_address_detail'],
|
'recipient_detail' => $order['receiver_address_detail'],
|
||||||
'recipient_name' => $order['receiver_name'],
|
'recipient_name' => $order['receiver_name'],
|
||||||
'recipient_mobile' => $order['receiver_mobile'],
|
'recipient_mobile' => $order['receiver_mobile'],
|
||||||
|
'participate_no' => $order['is_supplier'] ? $order['participate_no'] : $order['supply_participate_no'],
|
||||||
|
'note' => $order['business_note'] ? $order['business_note'] . ',' . $order['buyer_memo'] : $order['buyer_memo'],
|
||||||
'items' => []
|
'items' => []
|
||||||
];
|
];
|
||||||
foreach ($order['items'] as $item) {
|
foreach ($order['items'] as $item) {
|
||||||
|
|||||||
@ -24,7 +24,7 @@ class CreateBusinessOrdersTable extends Migration
|
|||||||
$table->bigInteger('after_sales_status')->nullable();
|
$table->bigInteger('after_sales_status')->nullable();
|
||||||
$table->string('business_note')->nullable();
|
$table->string('business_note')->nullable();
|
||||||
$table->string('buyer_memo')->nullable();
|
$table->string('buyer_memo')->nullable();
|
||||||
$table->integer('cancel_status')->nullable();
|
$table->integer('cancel_status')->default(0)->nullable();
|
||||||
$table->bigInteger('confirm_at')->nullable();
|
$table->bigInteger('confirm_at')->nullable();
|
||||||
$table->bigInteger('discount_amount')->nullable();
|
$table->bigInteger('discount_amount')->nullable();
|
||||||
$table->string('help_sell_nickname')->nullable();
|
$table->string('help_sell_nickname')->nullable();
|
||||||
@ -51,7 +51,7 @@ class CreateBusinessOrdersTable extends Migration
|
|||||||
$table->string('self_pick_up_site_name')->nullable();
|
$table->string('self_pick_up_site_name')->nullable();
|
||||||
$table->bigInteger('service_amount')->nullable();
|
$table->bigInteger('service_amount')->nullable();
|
||||||
$table->bigInteger('shipping_amount')->nullable();
|
$table->bigInteger('shipping_amount')->nullable();
|
||||||
$table->integer('shipping_status')->nullable();
|
$table->integer('shipping_status')->default(0)->nullable();
|
||||||
$table->string('supply_activity_no')->nullable();
|
$table->string('supply_activity_no')->nullable();
|
||||||
$table->integer('supply_participate_no')->nullable();
|
$table->integer('supply_participate_no')->nullable();
|
||||||
$table->bigInteger('theoretical_refund_amount')->nullable();
|
$table->bigInteger('theoretical_refund_amount')->nullable();
|
||||||
|
|||||||
@ -21,7 +21,7 @@ class CreateBusinessOrderItemsTable extends Migration
|
|||||||
$table->bigInteger('shop_id');
|
$table->bigInteger('shop_id');
|
||||||
$table->bigInteger('business_order_id');
|
$table->bigInteger('business_order_id');
|
||||||
$table->integer('already_cancel_number')->nullable();
|
$table->integer('already_cancel_number')->nullable();
|
||||||
$table->integer('cancel_status')->nullable();
|
$table->integer('cancel_status')->default(0)->nullable();
|
||||||
$table->string('category_name')->nullable();
|
$table->string('category_name')->nullable();
|
||||||
$table->string('external_sku_id')->nullable();
|
$table->string('external_sku_id')->nullable();
|
||||||
$table->bigInteger('goods_amount')->nullable();
|
$table->bigInteger('goods_amount')->nullable();
|
||||||
@ -35,7 +35,7 @@ class CreateBusinessOrderItemsTable extends Migration
|
|||||||
$table->bigInteger('help_sell_amount')->nullable();
|
$table->bigInteger('help_sell_amount')->nullable();
|
||||||
$table->boolean('is_supplier')->nullable();
|
$table->boolean('is_supplier')->nullable();
|
||||||
$table->integer('need_verification_number')->nullable();
|
$table->integer('need_verification_number')->nullable();
|
||||||
$table->integer('shipping_status')->nullable();
|
$table->integer('shipping_status')->default(0)->nullable();
|
||||||
$table->bigInteger('sku_id')->nullable();
|
$table->bigInteger('sku_id')->nullable();
|
||||||
$table->string('sub_order_sn')->nullable();
|
$table->string('sub_order_sn')->nullable();
|
||||||
$table->bigInteger('theoretically_refund_amount')->nullable();
|
$table->bigInteger('theoretically_refund_amount')->nullable();
|
||||||
|
|||||||
@ -50,6 +50,8 @@ class CreateWaybillsTable extends Migration
|
|||||||
|
|
||||||
$table->string('order_sn');
|
$table->string('order_sn');
|
||||||
$table->integer('order_id');
|
$table->integer('order_id');
|
||||||
|
$table->integer('participate_no')->default(0);
|
||||||
|
$table->string('note')->nullable();
|
||||||
$table->text('items');
|
$table->text('items');
|
||||||
$table->tinyInteger('cancel')->default(0);
|
$table->tinyInteger('cancel')->default(0);
|
||||||
|
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-72212ab6]{margin-top:20px}
|
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.block[data-v-17628ebd]{margin-top:20px}
|
||||||
2
public/dist/index.html
vendored
2
public/dist/index.html
vendored
@ -1 +1 @@
|
|||||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>erp</title><script defer="defer" src="js/chunk-vendors.9dd0c7db.js"></script><script defer="defer" src="js/app.b21ce35b.js"></script><link href="css/chunk-vendors.4e2d36cb.css" rel="stylesheet"><link href="css/app.487f8f5a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but erp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>erp</title><script defer="defer" src="js/chunk-vendors.9dd0c7db.js"></script><script defer="defer" src="js/app.0134aa7c.js"></script><link href="css/chunk-vendors.4e2d36cb.css" rel="stylesheet"><link href="css/app.487f8f5a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but erp doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||||
1
public/dist/js/538.6f993aae.js.map
vendored
1
public/dist/js/538.6f993aae.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
public/dist/js/538.e1e25641.js.map
vendored
Normal file
1
public/dist/js/538.e1e25641.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
4
public/dist/js/778.c1377dd3.js
vendored
Normal file
4
public/dist/js/778.c1377dd3.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/dist/js/778.c1377dd3.js.map
vendored
Normal file
1
public/dist/js/778.c1377dd3.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
4
public/dist/js/837.f2e21a05.js
vendored
4
public/dist/js/837.f2e21a05.js
vendored
File diff suppressed because one or more lines are too long
1
public/dist/js/837.f2e21a05.js.map
vendored
1
public/dist/js/837.f2e21a05.js.map
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -3,7 +3,7 @@
|
|||||||
<el-card>
|
<el-card>
|
||||||
<el-form ref="form" :inline="true" :model="form">
|
<el-form ref="form" :inline="true" :model="form">
|
||||||
<el-form-item label="所属店铺:">
|
<el-form-item label="所属店铺:">
|
||||||
<el-select v-model="form.shop_id" placeholder="店铺" @change="setActivity">
|
<el-select v-model="form.shop_id" placeholder="店铺">
|
||||||
<el-option v-for="item in shops" :key="item.id" :label="item.name" :value="item.id">
|
<el-option v-for="item in shops" :key="item.id" :label="item.name" :value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -108,8 +108,14 @@
|
|||||||
{{ scope.row.shop.name }}
|
{{ scope.row.shop.name }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="activity_title" label="活动名称"></el-table-column> -->
|
|
||||||
<el-table-column prop="order_sn" label="订单号" width="230"></el-table-column>
|
<el-table-column label="跟团号">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.is_supplier ? '自卖团: ' : '帮卖团: ' }}
|
||||||
|
{{ scope.row.is_supplier ? scope.row.participate_no : scope.row.supply_participate_no }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column label="收件人信息" width="160">
|
<el-table-column label="收件人信息" width="160">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<p>{{ scope.row.receiver_name }}</p>
|
<p>{{ scope.row.receiver_name }}</p>
|
||||||
@ -119,15 +125,14 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="shipping_status" label="发货状态"></el-table-column>
|
<el-table-column prop="shipping_status" label="发货状态"></el-table-column>
|
||||||
<!-- <el-table-column prop="is_supplier" label="订单类型"></el-table-column> -->
|
|
||||||
<el-table-column prop="cancel_status" 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="after_sales_status" 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="商品信息" width="420">
|
<el-table-column label="商品信息" width="420">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div v-for="item in scope.row.items" :key="item.id">
|
<div v-for="item in scope.row.items" :key="item.id">
|
||||||
{{ item.goods_name }}
|
{{ item.goods_name }}
|
||||||
|
<br />
|
||||||
|
<span style="color: red;">+{{ item.goods_number }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -147,7 +152,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { platOrderList, activityList, printOrders, printSuccess } from "../../api/plat";
|
import { platOrderList, printOrders, printSuccess } from "../../api/plat";
|
||||||
import { storeList } from "../../api/shop";
|
import { storeList } from "../../api/shop";
|
||||||
import { goodsSkusList } from "../../api/goods";
|
import { goodsSkusList } from "../../api/goods";
|
||||||
export default {
|
export default {
|
||||||
@ -295,11 +300,6 @@ export default {
|
|||||||
};
|
};
|
||||||
this.getPlatOrderList();
|
this.getPlatOrderList();
|
||||||
},
|
},
|
||||||
setActivity(shopId) {
|
|
||||||
activityList(shopId).then((res) => {
|
|
||||||
this.groupActivity = res.data;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
derivation(formName) {
|
derivation(formName) {
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
|||||||
@ -38,7 +38,6 @@ Route::middleware(['auth:api', 'check.permissions'])->group(function () {
|
|||||||
Route::resource('goods_skus', 'Goods\GoodsSkusController', ['only' => ['index', 'show', 'update', 'store']]);
|
Route::resource('goods_skus', 'Goods\GoodsSkusController', ['only' => ['index', 'show', 'update', 'store']]);
|
||||||
Route::patch('batch/goods_skus', [GoodsSkusController::class, 'batchUpdate'])->name('goods_sku.batch_update');
|
Route::patch('batch/goods_skus', [GoodsSkusController::class, 'batchUpdate'])->name('goods_sku.batch_update');
|
||||||
Route::patch('single/goods_skus/{id}', [GoodsSkusController::class, 'updateField'])->name('goods_sku.single_update');
|
Route::patch('single/goods_skus/{id}', [GoodsSkusController::class, 'updateField'])->name('goods_sku.single_update');
|
||||||
Route::get('goodsSkusList', [GoodsSkusController::class, 'goodsSkusList'])->name('goods_sku.list_for_goods_sku');
|
|
||||||
// 店铺
|
// 店铺
|
||||||
Route::resource('shops', 'Shop\ShopsController', ['only' => ['index', 'store', 'show', 'update', 'destroy']]);
|
Route::resource('shops', 'Shop\ShopsController', ['only' => ['index', 'store', 'show', 'update', 'destroy']]);
|
||||||
Route::get('count/orders/num', [ShopsController::class, 'countOrdersNumWithSkuCode'])->name('goods_sku.orders_num');
|
Route::get('count/orders/num', [ShopsController::class, 'countOrdersNumWithSkuCode'])->name('goods_sku.orders_num');
|
||||||
@ -104,3 +103,5 @@ Route::post('combination/goods', [GoodsCombinationController::class, 'import'])-
|
|||||||
Route::post('today/price', [BusinessGoodsSkusController::class, 'todayPriceImport'])->name('plat.today_price.import');
|
Route::post('today/price', [BusinessGoodsSkusController::class, 'todayPriceImport'])->name('plat.today_price.import');
|
||||||
// 文件上传
|
// 文件上传
|
||||||
Route::post('upload', [UploadController::class, 'store'])->name('upload.file');
|
Route::post('upload', [UploadController::class, 'store'])->name('upload.file');
|
||||||
|
// 商品列表
|
||||||
|
Route::get('goodsSkusList', [GoodsSkusController::class, 'goodsSkusList'])->name('goods_sku.list_for_goods_sku');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user