This commit is contained in:
xman 2025-03-03 15:36:51 +08:00
parent 69bf7242fd
commit 26fbe129b3
7 changed files with 80 additions and 52 deletions

View File

@ -24,6 +24,7 @@ class Dispatch extends Backend
$this->model = new \app\admin\model\OrderDispatch;
$this->view->assign("typeList", $this->model->getTypeList());
$this->view->assign("statusList", $this->model->getStatusList());
$this->view->assign("isNoticeList", $this->model->getIsNoticeList());
}

View File

@ -9,12 +9,15 @@ return [
'Worker_name' => '师傅姓名',
'Worker_tel' => '师傅电话',
'Status' => '进度',
'Status 0' => '未开始',
'Set status to 0' => '设为未开始',
'Status 0' => '待接单',
'Set status to 0' => '设为待接单',
'Status 1' => '进行中',
'Set status to 1' => '设为进行中',
'Status 10' => '已完成',
'Set status to 10' => '设为已完成',
'Is_notice' => '自动通知',
'Is_notice 0' => '否',
'Is_notice 1' => '是',
'Finish_time' => '完成时间',
'Admin_id' => '派单人ID',
'Admin_user' => '派单人',
@ -27,12 +30,9 @@ return [
'Order.status' => '订单状态',
'Order.status 10' => '未派单',
'Order.status 20' => '已派单',
'Order.status 30' => '已接单',
'Order.status 40' => '处理中',
'Order.status 50' => '已完成',
'Order.status -10' => '取消',
'Order.status -20' => '作废',
'Order.status -30' => '已拒接',
'Order.area_id' => '地域',
'Order.address' => '详细地址',
'Order.lng' => '经度',

View File

@ -16,17 +16,19 @@ class OrderDispatch extends Model
protected $name = 'order_dispatch';
// 自动写入时间戳字段
protected $autoWriteTimestamp = false;
protected $autoWriteTimestamp = 'datetime';
protected $dateFormat = 'Y-m-d H:i:s';
// 定义时间戳字段名
protected $createTime = false;
protected $updateTime = false;
protected $createTime = 'create_time';
protected $updateTime = 'update_time';
protected $deleteTime = false;
// 追加属性
protected $append = [
'type_text',
'status_text'
'status_text',
'is_notice_text'
];
@ -38,7 +40,14 @@ class OrderDispatch extends Model
public function getStatusList()
{
return ['0' => __('Status 0'), '1' => __('Status 1'), '10' => __('Status 10')];
//return ['0' => __('Status 0'), '1' => __('Status 1'), '10' => __('Status 10')];
return [ '1' => __('Status 1'), '10' => __('Status 10')];
}
public function getIsNoticeList()
{
return ['0' => __('Is_notice 0'), '1' => __('Is_notice 1')];
}
@ -58,6 +67,14 @@ class OrderDispatch extends Model
}
public function getIsNoticeTextAttr($value, $data)
{
$value = $value ?: ($data['is_notice'] ?? '');
$list = $this->getIsNoticeList();
return $list[$value] ?? '';
}
public function order()

View File

@ -48,6 +48,18 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Is_notice')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-is_notice" data-rule="required" class="form-control selectpicker" name="row[is_notice]">
{foreach name="isNoticeList" item="vo"}
<option value="{$key}" {in name="key" value="0"}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Finish_time')}:</label>
<div class="col-xs-12 col-sm-8">

View File

@ -48,6 +48,18 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Is_notice')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-is_notice" data-rule="required" class="form-control selectpicker" name="row[is_notice]">
{foreach name="isNoticeList" item="vo"}
<option value="{$key}" {in name="key" value="$row.is_notice"}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Finish_time')}:</label>
<div class="col-xs-12 col-sm-8">

View File

@ -17,7 +17,7 @@
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
<a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('orders/dispatch/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
<!-- <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('orders/dispatch/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
<a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('orders/dispatch/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('orders/dispatch/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
@ -29,7 +29,7 @@
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:" data-params="status={$key}">{:__('Set status to ' . $key)}</a></li>
{/foreach}
</ul>
</div>
</div>-->
</div>

View File

@ -8,7 +8,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
index_url: 'orders/dispatch/index' + location.search,
add_url: 'orders/dispatch/add',
edit_url: 'orders/dispatch/edit',
del_url: 'orders/dispatch/del',
// del_url: 'orders/dispatch/del',
multi_url: 'orders/dispatch/multi',
import_url: 'orders/dispatch/import',
table: 'order_dispatch',
@ -26,53 +26,39 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
fixedRightNumber: 1,
columns: [
[
{checkbox: true},
//{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'order_id', title: __('Order_id')},
{field: 'type', title: __('Type'), searchList: {"1":__('Type 1')}, formatter: Table.api.formatter.normal},
{field: 'worker_id', title: __('Worker_id')},
//{field: 'order_id', title: __('Order_id')},
{field: 'order.order_no', title: __('Order.order_no'), operate: 'LIKE'},
// {field: 'worker_id', title: __('Worker_id')},
{field: 'worker_name', title: __('Worker_name'), operate: 'LIKE'},
{field: 'worker_tel', title: __('Worker_tel'), operate: 'LIKE'},
{field: 'type', title: __('Type'), searchList: {"1":__('Type 1')}, formatter: Table.api.formatter.normal},
{field: 'order.source_shop', title: __('Order.source_shop'), operate: 'LIKE'},
{field: 'order.source', title: __('Order.source')},
{field: 'order.customer', title: __('Order.customer'), operate: 'LIKE'},
{field: 'order.tel', title: __('Order.tel'), operate: 'LIKE'},
{field: 'order.address', title: __('Order.address'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'order.item_title', title: __('Order.item_title'), operate: 'LIKE'},
{field: 'order.detail', title: __('Order.detail'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'order.images', title: __('Order.images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
{field: 'order.plan_time', title: __('Order.plan_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1'),"10":__('Status 10')}, formatter: Table.api.formatter.status},
// {field: 'is_notice', title: __('Is_notice'), searchList: {"0":__('Is_notice 0'),"1":__('Is_notice 1')}, formatter: Table.api.formatter.normal},
{field: 'finish_time', title: __('Finish_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'admin_id', title: __('Admin_id')},
// {field: 'admin_id', title: __('Admin_id')},
{field: 'admin_user', title: __('Admin_user'), operate: 'LIKE'},
{field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'order.id', title: __('Order.id')},
{field: 'order.order_no', title: __('Order.order_no'), operate: 'LIKE'},
{field: 'order.customer', title: __('Order.customer'), operate: 'LIKE'},
{field: 'order.tel', title: __('Order.tel'), operate: 'LIKE'},
{field: 'order.status', title: __('Order.status')},
{field: 'order.area_id', title: __('Order.area_id')},
{field: 'order.address', title: __('Order.address'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'order.lng', title: __('Order.lng'), operate:'BETWEEN'},
{field: 'order.lat', title: __('Order.lat'), operate:'BETWEEN'},
{field: 'order.work_tel_id', title: __('Order.work_tel_id')},
{field: 'order.source_shop', title: __('Order.source_shop'), operate: 'LIKE'},
{field: 'order.source', title: __('Order.source')},
{field: 'order.source_uid', title: __('Order.source_uid'), operate: 'LIKE'},
{field: 'order.item_id', title: __('Order.item_id')},
{field: 'order.item_title', title: __('Order.item_title'), operate: 'LIKE'},
{field: 'order.detail', title: __('Order.detail'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'order.remark', title: __('Order.remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'order.images', title: __('Order.images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
{field: 'order.plan_time', title: __('Order.plan_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'order.collect', title: __('Order.collect')},
{field: 'order.collect_remark', title: __('Order.collect_remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'order.admin_id', title: __('Order.admin_id')},
{field: 'order.total', title: __('Order.total'), operate:'BETWEEN'},
{field: 'order.cost', title: __('Order.cost'), operate:'BETWEEN'},
{field: 'order.performance', title: __('Order.performance'), operate:'BETWEEN'},
{field: 'order.sb_amount', title: __('Order.sb_amount'), operate:'BETWEEN'},
{field: 'order.real_amount', title: __('Order.real_amount'), operate:'BETWEEN'},
{field: 'order.cancel_reason_id', title: __('Order.cancel_reason_id')},
{field: 'order.cancel_detail', title: __('Order.cancel_detail'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'order.abolish_reason_id', title: __('Order.abolish_reason_id')},
{field: 'order.abolish_detail', title: __('Order.abolish_detail'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'order.create_time', title: __('Order.create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'order.update_time', title: __('Order.update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'order.delete_time', title: __('Order.delete_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
]
]