Accept Merge Request #200: (feature/hant -> develop)

Merge Request: 修改

Created By: @todayswind
Accepted By: @todayswind
URL: https://g-bcrc3009.coding.net/p/allocatr/d/allocatr/git/merge/200?initial=true
This commit is contained in:
todayswind 2025-06-30 18:04:36 +08:00 committed by Coding
commit 1fc46d4873
11 changed files with 34 additions and 21 deletions

View File

@ -478,8 +478,8 @@ class Order extends Backend
$code = str_pad(mt_rand(0, 999999), 6, '0', STR_PAD_LEFT);
// 组合生成的订单编号
$orderNumber = $prefix . $date . $code;
return $orderNumber;
// 取 MD5 前10位
return substr(md5($orderNumber), 0, 10);
}
use AmapTrait;

View File

@ -70,7 +70,7 @@ class Item extends Backend
}
$build->whereBetween('audit_time', [$start, $end_at])
$build->whereBetween('create_time', [$start, $end_at])
->field([
'item_title name', // 类型
'sum(total) total', // 营业额
@ -97,7 +97,7 @@ class Item extends Backend
$re['name'] = str_replace(' ', '', array_pop($name));
$re['performance_rate'] = $this->mydiv($re['performance'],$re['total']);
$re['trans_rate'] = $this->mydiv($re['finish_num'],$re['count_num']);
$re['cash_value'] = $this->mydiv($re['performance'],$re['count_num']);
$re['cash_value'] = $this->mydiv($re['performance'],$re['count_num'],2,false);
$re['total_avg'] = $this->mydiv($re['total'],$re['count_num'],2,false);
$re['performance_avg'] = $this->mydiv($re['performance'],$re['finish_num'],2,false);
@ -147,12 +147,13 @@ class Item extends Backend
}
}
$res = $build->whereBetween('audit_time', [$start, $end_at])
->where('status', Order::STATUS_FINISHED)
$res = $build
->whereBetween('create_time', [$start, $end_at])
->field([
'item_title name', // 类型
'sum(total) total', // 营业额
'count(id) count', // 单量
'count(if(status=60,1,null)) finish_num', // 单量
'sum(performance) performance', // 收益
'sum(refund_amount) refund_amount', // 公司退款
'sum(worker_refund_amount) worker_refund_amount', // 工人退款
@ -165,6 +166,7 @@ class Item extends Backend
$re['name'] = str_replace(' ', '', array_pop($name));
$data [] = $re;
}
// dd($data);
$xAxis = [];
$totalPerformance = [];
@ -176,6 +178,7 @@ class Item extends Backend
foreach ($data as $item) {
$name = $item['name'];
$total = (float)$item['total'];
$finish_num = (int)$item['finish_num'];
$performance = (float)$item['performance'];
$refund = (float)($item['refund_amount'] + $item['worker_refund_amount']);
$workerRefund = (float)$item['worker_refund_amount'];
@ -183,10 +186,10 @@ class Item extends Backend
$xAxis[] = $name;
$totalPerformance[] = $total;
$conversionRate[] = $total > 0 ? round($performance / $total * 100, 2) : 0;
$profitRate[] = $total > 0 ? round(($total - $workerRefund) / $total * 100, 2) : 0;
$conversionRate[] = $total > 0 ? round($finish_num / $count * 100, 2) : 0;
$profitRate[] = $total > 0 ? round(($performance) / $total * 100, 2) : 0;
$refundRate[] = $total > 0 ? round($refund / $total * 100, 2) : 0;
$monetizedValue[] = $total / $count;
$monetizedValue[] = round($total / $count, 2) ;
}
if ($totalPerformance){

View File

@ -87,8 +87,8 @@ return [
'Dispatch.image' => '收款凭证',
'Dispatch.plan_time' => '预约时间',
'Dispatch.finish_time' => '完成时间',
'Dispatch.admin_id' => '派单ID',
'Dispatch.admin_user' => '派单',
'Dispatch.admin_id' => '派单ID',
'Dispatch.admin_user' => '派单',
'Dispatch.create_time' => '派单时间',
'Dispatch.update_time' => '编辑时间'
];

View File

@ -31,8 +31,8 @@ return [
'Notice_num' => '通知次数',
'Plan_time' => '预约时间',
'Finish_time' => '完成时间',
'Admin_id' => '派单ID',
'Admin_user' => '派单',
'Admin_id' => '派单ID',
'Admin_user' => '派单',
'Create_time' => '派单时间',
'Update_time' => '编辑时间',
'Order.id' => 'ID',

View File

@ -39,13 +39,13 @@ return [
'Notice_num' => '通知次数',
'Plan_time' => '预约时间',
'Finish_time' => '完成时间',
'Admin_id' => '派单ID',
'Admin_user' => '派单',
'Admin_id' => '派单ID',
'Admin_user' => '派单',
'Create_time' => '派单时间',
'Update_time' => '更新时间',
'Order.id' => 'ID',
'Order.order_no' => '订单编号',
'Order.customer' => '客户姓名',
'Order.customer' => '客户昵称',
'Order.tel' => '客户电话',
'Order.status' => '订单状态',
'Order.status 10' => '未派单',

View File

@ -24,6 +24,12 @@
<input id="c-item_title" readonly class="form-control" type="text" value="{$row.item_title|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Dispatch.admin_user')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-order_admin" readonly class="form-control" type="text" value="{$row.dispatch.admin_user|htmlentities}">
</div>
</div>
<!-- <div class="form-group">-->

View File

@ -30,6 +30,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'id', title: __('Id')},
// {field: 'order_id', title: __('Order_id')},
{field: 'order.order_no', title: __('Order.order_no'), operate: '='},
{field: 'dispatch_admin_user', title: __('派单员'), operate: '='},
{field: 'order.customer', title: __('Order.customer'), operate: false},
{field: 'order.tel', title: __('Order.tel'), operate: '='},
{field: 'type', title: __('售后类型'), searchList: {"1":__('退款'),"2":__('返修'),"3":__('其它')}, formatter: Table.api.formatter.normal},
@ -55,7 +56,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
{field: 'remark', title: __('Remark'), operate: false, table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'dispatch_admin_user', title: __('派单员'), operate: '='},
//{field: 'admin_id', title: __('Admin_id')},
{field: 'admin_user', title: __('Admin_user'), operate: '='},

View File

@ -50,7 +50,7 @@ ${data.receive_type == 1 ? '已收定金' : '已收全款'}
客户地址: ${data.address}
${data.receive_type == 1 ? '已收定金' : '已收全款'}
下单金额: ¥${formatNumber(data.online_amount)}
优惠活动: ${data.coupon?.description || '无'}
优惠活动: ${data.coupon?.code || '无'}
订单备注: ${data.remark ||'无'}
预约时间: ${data.plan_time || '无'}
`;

View File

@ -64,7 +64,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
// {field: 'lat', title: __('Lat'), operate:'BETWEEN'},
//{field: 'work_tel_id', title: __('Work_tel_id')},
{field: 'source_shop', title: __('Source_shop'), operate: '='},
{field: 'source', title: __('Source'), operate: 'like'},
// {field: 'source', title: __('Source'), operate: 'like'},
// {field: 'source_uid', title: __('Source_uid'), operate: '='},
// {field: 'item_id', title: __('Item_id')},
{field: 'item_title', title: __('Item_title'), operate: false},

View File

@ -83,6 +83,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','layer'], function ($,
formatter: Table.api.formatter.status,
custom:{25:"red"}
},
{field: 'orderb.customer', title: __('Order.customer'), operate: 'like'},
{field: 'orderb.source_shop', title: __('Order.source_shop'), operate: 'like'},
{field: 'orderb.tel', title: __('Order.tel'), operate: 'like'},
{field: 'worker_name', title: __('Worker_name'), operate: 'LIKE'},
{field: 'worker_tel', title: __('Worker_tel'), operate: 'LIKE'},
@ -121,8 +124,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','layer'], function ($,
//{field: 'order.source_shop', title: __('Order.source_shop'), operate: '='},
// {field: 'order.source', title: __('Order.source')},
{field: 'orderb.customer', title: __('Order.customer'), operate: 'like'},
{field: 'orderb.tel', title: __('Order.tel'), operate: 'like'},
{field: 'orderb.address', title: __('Order.address'), operate: false, table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'orderb.item_title', title: __('Order.item_title'), operate: 'like'},

View File

@ -36,6 +36,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
// {checkbox: true},
{field: 'id', title: __('Id')},
{field: 'order_no', title: __('Order_no'), operate: '='},
{field: 'dispatch_admin_user', title: '派单员', operate: '='},
{field: 'review.create_time', title: __('回访状态'), operate:false, formatter: function (val, row) {