订单录入
This commit is contained in:
parent
7690b1e40f
commit
7228cc267a
|
|
@ -119,13 +119,15 @@ class Order extends Backend
|
|||
[$where, $sort, $order, $offset, $limit] = $this->buildparams();
|
||||
$list = $this->model
|
||||
->field(['id','order_no','user_id','customer','tel','status','area_id','address',
|
||||
'source','source_shop','source_uid','source','item_title','item_id',
|
||||
'source','source_shop','source_uid','source','item_title','item_id','work_tel_id',
|
||||
'detail','remark','images','create_time','update_time'])
|
||||
->where($where)
|
||||
->with(['user' => function($q){
|
||||
$q->field('id,nickname');
|
||||
},'area' => function($q){
|
||||
$q->field('id,area_code,merge_name');
|
||||
},'phone' => function($q){
|
||||
$q->field('id,model');
|
||||
}])
|
||||
->order($sort, $order)
|
||||
->paginate($limit);
|
||||
|
|
@ -204,14 +206,27 @@ class Order extends Backend
|
|||
// 判断是否为POST请求,进行更新操作
|
||||
if (request()->isPost()) {
|
||||
// 获取表单提交的数据
|
||||
$data = input('post.row/a');
|
||||
$data['update_time'] = date('Y-m-d H:i:s');
|
||||
$params = input('post.row/a');
|
||||
$params['update_time'] = date('Y-m-d H:i:s');
|
||||
$sources = $this->sources;
|
||||
$sources = array_column($sources,'title','id');
|
||||
// $data['user_id'] = $this->auth->id;
|
||||
$data['source_shop'] = $sources[$data['source']] ?? null;
|
||||
$params['source_shop'] = $sources[$params['source']] ?? null;
|
||||
|
||||
$sources = $this->sources;
|
||||
$items = $this->items;
|
||||
|
||||
$sources = array_column($sources,'title','id');
|
||||
$items = array_column($items,'title','id');
|
||||
|
||||
$params['source_shop'] = $sources[$params['source']] ?? null;
|
||||
$params['item_title'] = $items[$params['item_id']] ?? null;
|
||||
|
||||
$params['create_time'] = date('Y-m-d H:i:s');
|
||||
$params['update_time'] = date('Y-m-d H:i:s');
|
||||
|
||||
// 更新订单信息
|
||||
$order->save($data);
|
||||
$order->save($params);
|
||||
|
||||
// 返回成功信息
|
||||
$this->success('更新成功', 'index');
|
||||
|
|
|
|||
|
|
@ -106,4 +106,7 @@ class Order extends Model
|
|||
public function area(){
|
||||
return $this->belongsTo(Area::class,'area_id','area_code');
|
||||
}
|
||||
public function phone(){
|
||||
return $this->belongsTo(Phones::class,'work_tel_id',);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@
|
|||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Work_tel_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="Work_tel_id" data-live-search="true" title="请选择" data-rule="required" name="row[item_id]" class="form-control selectpicker show-tick">
|
||||
<select id="Work_tel_id" data-live-search="true" title="请选择" data-rule="required" name="row[work_tel_id]" class="form-control selectpicker show-tick">
|
||||
{foreach $phones as $item}
|
||||
<option data-subtext="{$item['phone_number']}" value="{$item['id']}">{$item['model']}</option>
|
||||
{/foreach}
|
||||
|
|
|
|||
|
|
@ -5,27 +5,24 @@
|
|||
<div class="form-area">
|
||||
<div class="w-75">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">复制订单</h5>
|
||||
<h5 class="card-title">编辑订单</h5>
|
||||
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="{:url('order/add')}">
|
||||
|
||||
<input type="hidden" name="id" value="{$row.id}"> <!-- 订单ID,用于提交编辑的对象 -->
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Customer')}:</label>
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Customer')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-customer" class="form-control" name="row[customer]" type="text" value="{$row.customer}">
|
||||
<input id="c-customer" data-rule="required" class="form-control" name="row[customer]" type="text" value="{$row.customer}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Tel')}:</label>
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Tel')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-tel" class="form-control" name="row[tel]" type="number" value="{$row.tel}">
|
||||
<input id="c-tel" data-rule="required" class="form-control" name="row[tel]" type="number" value="{$row.tel}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Area_id')}:</label>
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Area_id')}:</label>
|
||||
<div class='col-xs-12 col-sm-8'>
|
||||
<input id="c-area_id" class="form-control" type="text" value="{$row.area_name}" />
|
||||
<input id="c-area_id" data-rule="required" class="form-control" type="text" value="{$row.area_name}" />
|
||||
<!-- 选项下拉框 -->
|
||||
<ul id="address-list" class="dropdown-menu" style="display: none;"></ul>
|
||||
|
||||
|
|
@ -34,43 +31,69 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Address')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-address" class="form-control" name="row[address]" type="text" value="{$row.address}">
|
||||
<input id="c-address" data-rule="required" class="form-control" name="row[address]" type="text" value="{$row.address}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Source')}:</label>
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Source')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-source" class="form-control" name="row[source]" type="number" value="{$row.source}">
|
||||
<select id="c-source" data-live-search="true" title="请选择" data-rule="required" name="row[source]" class="form-control selectpicker show-tick">
|
||||
{foreach $sources as $item}
|
||||
<option {if $item['id'] == $row.source} selected {/if} data-subtext="{$item['ptitle']}" value="{$item['id']}">{$item['title']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Service_title')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-service_title" class="form-control" name="row[service_title]" type="text" value="{$row.service_title}">
|
||||
|
||||
<!-- 选项下拉框 -->
|
||||
<ul id="service-list" class="dropdown-menu" style="display: none;"></ul>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Coupons')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="c-coupon" data-live-search="true" title="请选择" data-rule="required" name="row[coupon_id]" class="form-control selectpicker show-tick">
|
||||
<option {if $item['id'] == $row.coupon_id} selected {/if} selected value="0">不使用优惠</option>
|
||||
{foreach $coupons as $item}
|
||||
<option {if $item['id'] == $row.coupon_id} selected {/if} data-subtext="{$item['description']}" value="{$item['id']}">{$item['code']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 存储选择的 service_id -->
|
||||
<input type="hidden" id="selected-service_id" name="row[service_id]" value="{$row.service_id}">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Item_title')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="citem" data-live-search="true" title="请选择" data-rule="required" name="row[item_id]" class="form-control selectpicker show-tick">
|
||||
{foreach $items as $item}
|
||||
<option {if $item['id'] == $row.item_id} selected {/if} data-subtext="{$item['key_word']}" value="{$item['id']}">{$item['title']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Work_tel_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="Work_tel_id" data-live-search="true" title="请选择" data-rule="required" name="row[work_tel_id]" class="form-control selectpicker show-tick">
|
||||
{foreach $phones as $item}
|
||||
<option {if $item['id'] == $row.work_tel_id} selected {/if} data-subtext="{$item['phone_number']}" value="{$item['id']}">{$item['model']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Detail')}:</label>
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Detail')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-detail" rows="4" style="width: 100%;resize: vertical" class="form-control" name="row[detail]">{$row.detail}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Remark')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-remark" rows="4" style="width: 100%;resize: vertical" class="form-control" name="row[remark]">{$row.remark}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Images')}:</label>
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Images')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<div class="input-group">
|
||||
<input id="c-images" class="form-control" size="50" name="row[images]" type="text" value="{$row.images}">
|
||||
|
|
@ -84,9 +107,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="form-group layer-footer">
|
||||
<label class="control-label col-xs-12 col-sm-2"></label>
|
||||
<label class="control-label col-xs-12 col-sm-3"></label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<button type="submit" class="btn btn-primary btn-embossed">保存订单</button>
|
||||
<button type="submit" class="btn btn-primary btn-embossed">创建订单</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -42,23 +42,45 @@
|
|||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Source')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="c-source" data-live-search="true" data-value="{$row.source}" data-rule="required" name="row[source]" class="form-control selectpicker">
|
||||
{foreach $users as $item}
|
||||
<option data-subtext="{$item['ptitle']}" {if $item['id'] == $row.source} selected {/if} value="{$item['id']}">{$item['title']}</option>
|
||||
<select id="c-source" data-live-search="true" title="请选择" data-rule="required" name="row[source]" class="form-control selectpicker show-tick">
|
||||
{foreach $sources as $item}
|
||||
<option {if $item['id'] == $row.source} selected {/if} data-subtext="{$item['ptitle']}" value="{$item['id']}">{$item['title']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Coupons')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="c-coupon" data-live-search="true" title="请选择" data-rule="required" name="row[coupon_id]" class="form-control selectpicker show-tick">
|
||||
<option {if $item['id'] == $row.coupon_id} selected {/if} selected value="0">不使用优惠</option>
|
||||
{foreach $coupons as $item}
|
||||
<option {if $item['id'] == $row.coupon_id} selected {/if} data-subtext="{$item['description']}" value="{$item['id']}">{$item['code']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Item_title')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input data-rule="required" id="c-service_title" class="form-control" name="row[item_title]" type="text" value="{$row.item_title}">
|
||||
<select id="citem" data-live-search="true" title="请选择" data-rule="required" name="row[item_id]" class="form-control selectpicker show-tick">
|
||||
{foreach $items as $item}
|
||||
<option {if $item['id'] == $row.item_id} selected {/if} data-subtext="{$item['key_word']}" value="{$item['id']}">{$item['title']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 选项下拉框 -->
|
||||
<ul id="service-list" class="dropdown-menu" style="display: none;"></ul>
|
||||
|
||||
<!-- 存储选择的 service_id -->
|
||||
<input type="hidden" id="selected-service_id" name="row[item_id]" value="{$row.item_id}">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Work_tel_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="Work_tel_id" data-live-search="true" title="请选择" data-rule="required" name="row[work_tel_id]" class="form-control selectpicker show-tick">
|
||||
{foreach $phones as $item}
|
||||
<option {if $item['id'] == $row.work_tel_id} selected {/if} data-subtext="{$item['phone_number']}" value="{$item['id']}">{$item['model']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
class: 'autocontent',
|
||||
formatter: Table.api.formatter.content
|
||||
},
|
||||
{field: 'work_tel_id', title: __('Work_tel_id')},
|
||||
{field: 'phone.model', title: __('Work_tel_id')},
|
||||
// {field: 'worker_id', title: __('Worker_id')},
|
||||
{field: 'source_shop', title: __('Source')},
|
||||
// {field: 'source_uid', title: __('Source_uid'), operate: 'LIKE'},
|
||||
|
|
@ -155,6 +155,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
console.log(1);
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
|
|
@ -165,7 +166,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
Form.api.bindevent($("form[role=form]"),function (success,ret) {
|
||||
console.log(success);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -233,64 +236,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
}
|
||||
|
||||
|
||||
let $inputService = $("#c-service_title");
|
||||
let $dropdownService = $("#service-list");
|
||||
let $hiddenFieldService = $("#selected-service_id");
|
||||
let timerService = null; // 定义定时器
|
||||
|
||||
$inputService.on("input", function () {
|
||||
clearTimeout(timerService); // 清除上次的定时器
|
||||
let keyword = $(this).val().trim();
|
||||
|
||||
if (keyword.length === 0) {
|
||||
$dropdown.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
// 延迟 500 毫秒后执行 AJAX 查询(防止过快触发)
|
||||
timerService = setTimeout(() => {
|
||||
$.ajax({
|
||||
url: "/admin/item/search", // 你的 API 地址
|
||||
type: "GET",
|
||||
data: {keyword: keyword},
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
renderDropdownService(data.data);
|
||||
},
|
||||
error: function () {
|
||||
console.error("请求失败");
|
||||
}
|
||||
});
|
||||
}, 200); // 500 毫秒防抖
|
||||
});
|
||||
|
||||
// 渲染资源城市下拉选项
|
||||
function renderDropdownService(data) {
|
||||
$dropdownService.empty(); // 清空列表
|
||||
if (data.length === 0) {
|
||||
let $option = $("<li class='dropdown-item'></li>")
|
||||
.text('未搜索到结果')
|
||||
.attr("data-value", 0);
|
||||
$dropdownService.append($option);
|
||||
} else {
|
||||
data.forEach(item => {
|
||||
let $option = $("<li class='dropdown-item'></li>")
|
||||
.html(item.title + `<span class="text-muted small ms-1 ml-2">${item.key_word}</span>`)
|
||||
.attr("data-value", item.id) // 绑定 area_code
|
||||
.on("click", function () {
|
||||
$inputService.val(item.title); // 选中后填充输入框
|
||||
$hiddenFieldService.val($(this).attr("data-value")); // 存储 area_code
|
||||
$dropdownService.hide();
|
||||
});
|
||||
$dropdownService.append($option);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$dropdownService.show(); // 显示下拉框
|
||||
}
|
||||
|
||||
|
||||
// 点击外部隐藏下拉框
|
||||
$(document).on("click", function (e) {
|
||||
if (!$(e.target).closest("#c-address, #address-list").length) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user