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

Merge Request: bug 修复

Created By: @todayswind
Accepted By: @todayswind
URL: https://g-bcrc3009.coding.net/p/allocatr/d/allocatr/git/merge/55?initial=true
This commit is contained in:
todayswind 2025-05-20 23:18:56 +08:00 committed by Coding
commit 22975d6115
11 changed files with 102 additions and 42 deletions

View File

@ -16,7 +16,6 @@ class OrderDispatchLog
$statusList = $Model->getStatusList();
$dispatch = $response['dispatch']; //订单对象
$remark = $response['remark'] ?? ''; //备注
$data = [
'dispatch_id' => $dispatch->id,
'order_id' => $dispatch->order_id,

View File

@ -227,7 +227,8 @@ class Order extends Backend
$this->autoDispatch($this->model);
}
//日志
$hookparams['order'] = $this->model->get($this->model->id);
$hookparams['order'] = $this->model;
$hookparams['role'] = 1;
$hookparams['auth'] = $this->auth;
$hookparams['remark'] = $params['remark']??'';
@ -374,7 +375,7 @@ class Order extends Backend
$insert ['worker_name'] = $worker['name'];
$insert ['worker_tel'] = $worker['tel'];
$orderDispatch = new OrderDispatch();
$orderDispatch->allowField(true)->save($insert);
$res = $orderDispatch->allowField(true)->save($insert);
$order->status = \app\admin\model\Order::STATUS_DISPATCHED;
$order->dispatch_time = date('Y-m-d H:i:s');
// $order->dispatch_admin_id = $this->auth->id;
@ -383,7 +384,7 @@ class Order extends Backend
//日志
$hookParams = [
'dispatch' => $orderDispatch,
'dispatch' => (new OrderDispatch())->where('id', $res)->find(),
'remark' => '自动派单,操作人:'.$this->auth->nickname,
];
Hook::listen('order_dispatch_change', $hookParams);

View File

@ -95,7 +95,7 @@
readonly
name="row[address]"
type="text">
<div class="btn btn-primary" style="margin-top: 10px" id="area_map"
<div class="btn btn-primary" style="margin-top: 20px" id="area_map"
data-input-id="c-address"
data-lng-id="lng"
data-lat-id="lat">地图查找</div>
@ -176,7 +176,7 @@
<div class="form-group col-xs-6 layer-footer">
<label class="control-label col-xs-12 col-sm-3"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" data-id="submit" class="btn btn-primary btn-embossed disabled">录入并清空</button>
<button id="mysubmit" class="btn btn-primary btn-embossed">录入并清空</button>
<button id="mybuttom" class="btn btn-primary btn-embossed">录入并保留信息</button>
</div>
</div>

View File

@ -97,7 +97,7 @@
name="row[address]"
readonly
type="text">
<div class="btn btn-primary" style="margin-top: 10px" id="area_map"
<div class="btn btn-primary" style="margin-top: 20px" id="area_map"
data-input-id="c-address"
data-lng-id="lng"
data-lat-id="lat">地图查找</div>

View File

@ -97,7 +97,7 @@
readonly
name="row[address]"
type="text">
<div class="btn btn-primary" style="margin-top: 10px" id="area_map"
<div class="btn btn-primary" style="margin-top: 20px" id="area_map"
data-input-id="c-address"
data-lng-id="lng"
data-lat-id="lat">地图查找</div>

View File

@ -1,23 +1,58 @@
<div class="row">
<div class="col-md-4">
<div class="col-md-12">
<!-- 订单信息标题 -->
<div class="row order-header">
<div class="col-xs-12">
<h2>订单详情</h2>
<p><strong>订单编号:</strong> {$row.order_no}</p>
<p><strong>顾客信息:</strong> {$row.customer} 电话:{$row.tel}</p>
<p><strong>订单来源:</strong> {$row.source_shop} 单号:{$row.source_uid} </p>
<p><strong>区域:</strong> {$row.area_name}</p>
<p><strong>地址:</strong> {$row.address}</p>
<p><strong>订单类型:</strong> {$row.item_title}</p>
<p><strong>订单详情:</strong> {$row.detail}</p>
<p><strong>订单备注:</strong> {$row.remark}</p>
<!-- <p><strong>收款方式:</strong> {$row.receive_type == 1 ? '定金':'全款'}</p>-->
<!-- <p><strong>线上预付:</strong> {$row.online_amount}</p>-->
<table class="table table-bordered table-striped">
<tbody>
<tr>
<th>订单编号</th>
<td>{$row.order_no}</td>
<th>顾客信息</th>
<td>{$row.customer}</td>
</tr>
<tr>
<th>电话</th>
<td>{$row.tel}</td>
<th>订单来源</th>
<td>{$row.source_shop}</td>
</tr>
<tr>
<th>来源单号</th>
<td>{$row.source_uid}</td>
<th>区域</th>
<td>{$row.area_name}</td>
</tr>
<tr>
<th>地址</th>
<td colspan="3">{$row.address}</td>
</tr>
<tr>
<th>订单类型</th>
<td>{$row.item_title}</td>
<th>订单详情</th>
<td>{$row.detail}</td>
</tr>
<tr>
<th>订单备注</th>
<td colspan="3">{$row.remark}</td>
</tr>
<!--
<tr>
<th>收款方式</th>
<td>{$row.receive_type == 1 ? '定金' : '全款'}</td>
<th>线上预付</th>
<td>{$row.online_amount}</td>
</tr>
-->
</tbody>
</table>
</div>
<form id="add-form" class="form-horizontal col-xs-12" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-4 text-left" style="text-align: left">师傅名称:</label>
<label class="control-label col-xs-12 col-sm-2 text-left" style="text-align: left">师傅名称:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-worker_name" disabled data-rule="required" class="form-control" name="row[worker_name]" type="text">
<input id="c-worker_id" class="form-control" style="display: none" name="row[worker_id]" type="text">
@ -25,7 +60,7 @@
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-4 text-left" style="text-align: left">{:__('Plan_time')}:</label>
<label class="control-label col-xs-12 col-sm-2 text-left" style="text-align: left">{:__('Plan_time')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[plan_time]" type="text" value="{:date('Y-m-d H:i:s')}">
</div>
@ -41,18 +76,18 @@
</form>
</div>
</div>
<div class="col-md-8">
<div class="col-md-12">
<div class="panel panel-default panel-intro">
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<h3>师傅选择</h3>
<h3>师傅选择 <button class="btn btn-info" id="add_worker">添加新师傅</button> </h3>
<!-- <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>-->
<form id="select-form" role="form" class="form-horizontal" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="col-xs-12 col-sm-2" style="padding-left: 0px;text-align: left">区域:</label>
<label class="col-sm-2" style="padding-left: 0px;text-align: left">区域:</label>
<div style="display: inline-block;width: 300px;position: absolute">
<input id="c-city-search" data-rule="required" class="form-control" data-toggle="city-picker" value="{$row.area_name}" type="text" />
<input id="area_id" style="display: none" class="form-control" name="area_id" hidden type="text" value="{$row.area_id}" />
@ -60,7 +95,7 @@
</div>
<div class="form-group">
<label class="col-xs-12 col-sm-2" style="text-align: left;padding-left: 0px;">工种:</label>
<label class="col-sm-2" style="text-align: left;padding-left: 0px;">工种:</label>
<div style="width: 300px;display: inline-block;">
<input type="text" id="item_id" name="item_id" value="{$row.item_title}" class="zd-input__inner">
</div>

View File

@ -23,9 +23,10 @@
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">师傅归属:</label>
<div class='col-xs-12 col-sm-8'>
<select data-live-search="true" name="row[type]" class="form-control">
<option selected value="1">自营</option>
<select data-live-search="true" id="worker_type" name="row[type]" class="form-control">
<option value="1">自营</option>
<option value="2">非自营</option>
<option value="3">新师傅</option>
</select>
</div>
</div>

View File

@ -43,6 +43,7 @@
<select data-live-search="true" name="row[type]" class="form-control">
<option {if 1 == $row.type} selected {/if} value="1">自营</option>
<option {if 2 == $row.type} selected {/if} value="2">非自营</option>
<option {if 2 == $row.type} selected {/if} value="3">新师傅</option>
</select>
</div>
</div>

View File

@ -124,8 +124,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'cascader'], function
field: 'receive_type',
title: '收款方式',
searchList: {
"1": '已收全款',
"2": '已收定金',
"1": '已收定金',
"2": '已收全款',
},
formatter: Table.api.formatter.label
},
@ -367,15 +367,23 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'cascader'], function
},
add: function () {
$("#mybuttom").on("click", function () {
Form.api.submit($("form[role=form]"));
Toastr.success('录入成功');
const res = $("form[role=form]").isValid();
if (res){
Form.api.submit($("form[role=form]"));
// Toastr.success('录入成功');
}
return false;
});
Form.api.bindevent($("form[role=form]"), function (success, ret) {
clearInfo();
Toastr.success('操作成功');
$("#mysubmit").on("click", function () {
const res = $("form[role=form]").isValid();
if (res){
Form.api.submit($("form[role=form]"));
clearInfo();
// Toastr.success('录入成功');
}
return false;
},);
});
Form.api.bindevent($("form[role=form]"));
$("#smart").on("click", function () {
$.ajax({
url: "order/smart", // 你的 API 地址

View File

@ -329,14 +329,20 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'layer', 'cascader'],
});
});
Form.events.citypicker($("#select-form"));
$(document).on('click', '.tab_chose', function () {
var dataId = $(this).data('id'); // 获取 data-id 的值
const worker = Table.api.getrowbyid(table, dataId);
$('#c-worker_name').val(worker.name + '--' + worker.tel).trigger('input').trigger('change');
$('#c-worker_id').val(worker.id).trigger('input').trigger('change');
});
$('#add_worker').on('click',function (){
console.log(1);
Fast.api.open('workers/worker/add?type=3', '添加工人',{
callback: function (value) {
console.log(2222,value);
}
});
});

View File

@ -45,15 +45,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jstree'],
{field: 'id', title: __('Id')},
{field: 'admin.username', title:'创建人'},
{field: 'name', title: __('Name'), operate: 'LIKE'},
{field: 'type', title: '师傅归属', formatter: function (val){
return val === 1 ? '自营':'非自营';
}},
{field: 'type', title: '师傅归属', searchList: {"1":'自营',"2":'非自营','3':'新师傅'},
formatter: Table.api.formatter.status,},
{field: 'tel', title: __('Tel'), operate: 'LIKE'},
{field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"0":__('Status 0')}, formatter: Table.api.formatter.status},
//{field: 'area_id', title: __('Area_id')},
//{field: 'lng', title: __('Lng'), operate:'BETWEEN'},
//{field: 'lat', title: __('Lat'), operate:'BETWEEN'},
{field: 'area.short_merge_name', title: __('Area.short_merge_name'), operate: 'LIKE'},
{field: 'area.short_merge_name', title: __('Area.short_merge_name'), searchable:false},
{field: 'deposit_amount', title: __('Deposit_amount'), operate:'BETWEEN'},
{field: 'star', title: __('Star'), operate:'BETWEEN'},
{field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
@ -96,6 +95,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jstree'],
function getQueryData(){
return $('#select-form').serialize();
}
$("#reset_btn").on("click", function() {
$("#c-city-search").citypicker('reset');
$("#area_id").val('');
@ -118,7 +120,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','jstree'],
var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
$("#area_id").val(code);
});
const urlParams = new URLSearchParams(window.location.search);
const type = urlParams.get('type');
if (type) {
const select = document.getElementById('worker_type');
if (select) {
select.value = type;
}
}
Controller.api.bindevent();
},
edit: function () {