feat: 后台修改订单页面调整

This commit is contained in:
gcd 2025-06-08 22:44:05 +08:00
parent cb6c595c8f
commit 4c32627276
5 changed files with 69 additions and 12 deletions

View File

@ -209,6 +209,7 @@ class Order extends Backend
}
$params = $this->request->post('row/a');
// 数据验证
$validate = $this->validate($params, \app\admin\validate\Order::class . '.add');
if ($validate !== true) {
$this->error($validate);
@ -254,7 +255,6 @@ class Order extends Backend
$params['update_time'] = date('Y-m-d H:i:s');
$result = $this->model->allowField(true)->save($params);
if ($params['dispatch_type'] == 2) {
AutoDispatchLogic::autoDispatch($this->model, $this->auth);
}
@ -293,6 +293,20 @@ class Order extends Backend
if (request()->isPost()) {
// 获取表单提交的数据
$params = input('post.row/a');
// 数据验证
$validate = $this->validate($params, \app\admin\validate\Order::class . '.edit');
if ($validate !== true) {
$this->error($validate);
}
if (!$params['set_time']) {
$params['plan_time'] = null;
}
//移除无用字段:是否设置上门时间
unset($params['set_time']);
$params['update_time'] = date('Y-m-d H:i:s');
$sources = $this->sources;
$sources = array_column($sources, 'title', 'id');

View File

@ -59,7 +59,18 @@ class Order extends Validate
'online_amount',
'plan_time',
],
'edit' => [],
'edit' => [
'source',
'item_id',
'customer',
'tel',
'area_id',
'address',
'lng',
'lat',
'online_amount',
'plan_time',
],
];
}

View File

@ -105,7 +105,7 @@
{:build_radios('row[set_time]', ['1'=>'有', '0'=>'无'], 1)}
</div>
</div>
<div class="item flex-sb">
<div class="item flex-sb" id="set-time">
<div class="title flex-c"><span class="required">*</span>设置时间:</div>
<div class="value flex-c">
<input name="row[plan_time]" placeholder="请选择上门时间" class="form-input form-control datetimepicker">

View File

@ -2,7 +2,6 @@
<form id="add-form" class="row" role="form" data-toggle="validator" method="POST" action="">
<div class="ctr flex-sb">
<div class="left">
<input type="hidden" name="row[dispatch_type]" value="2">
<div class="line flex-sb">
<div class="item flex-sb">
<div class="title flex-c"><span class="required">*</span>订单渠道:</div>
@ -61,9 +60,9 @@
name="row[address]"
type="text">{$row.address}</textarea>
<input type="text" style="display: none"
name="row[lng]" id="lng" >
name="row[lng]" id="lng" value="{$row.lng}">
<input type="text" style="display: none"
name="row[lat]" id="lat">
name="row[lat]" id="lat" value="{$row.lat}">
<input type="text" style="display: none" id="area_name">
</div>
</div>
@ -102,10 +101,10 @@
<div class="item flex-sb">
<div class="title flex-c">上门时间:</div>
<div class="value flex-l">
{:build_radios('row[set_time]', ['1'=>'有', '0'=>'无'], $row.plan_time === '' ? 0 : 1)}
{:build_radios('row[set_time]', ['1'=>'有', '0'=>'无'], $row.plan_time === '' || $row.plan_time === null ? 0 : 1)}
</div>
</div>
<div class="item flex-sb">
<div class="item flex-sb" id="set-time" >
<div class="title flex-c"><span class="required">*</span>设置时间:</div>
<div class="value flex-c">
<input name="row[plan_time]" value="{$row['plan_time']}" placeholder="请选择上门时间" class="form-input form-control datetimepicker">
@ -138,10 +137,10 @@
<div class="title flex-c">图片上传:</div>
<div class="value">
<div class="input-group">
<input id="c-images" name="row[images]" type="hidden">
<input id="c-images" name="row[images]" value="{$row['images']}" type="hidden">
<div class="input-group-addon no-border no-padding">
<span><button type="button" id="faupload-images" class="btn btn-primary faupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-images" class="btn btn-default fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
<span><button type="button" id="faupload-images" class="btn btn-danger faupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
</div>
<span class="msg-box n-right" for="c-images"></span>
</div>
@ -150,6 +149,12 @@
</div>
</div>
</div>
<div class="form-group hidden layer-footer">
<label class="control-label col-xs-12 col-sm-2 col-xs-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-primary btn-embossed disabled">修改</button>
</div>
</div>
</form>
</div>
<link rel="stylesheet" href="/assets/css/select.css">
@ -190,8 +195,10 @@
}
.full-height {
width: 100vw;
height: 768px;
height: 808px;
background: #f1f4f6;
padding-top: 20px !important;
padding-bottom: 20px !important;
}
.ctr {
width: 630px;

View File

@ -479,10 +479,35 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'cascader'], function
});
});
Controller.api.map();
$('input[name="row[set_time]"]').on('change', function () {
var val = $(this).val();
if (val == 1) {
$('#set-time').show();
} else {
$('#set-time').hide();
}
});
},
edit: function () {
// 未选择上门时间时,隐藏时间选择框
var planTime = $('input[name="row[plan_time]"]').val()
if (planTime === '' || planTime === 'null') {
$('#set-time').hide();
} else {
$('#set-time').show();
}
Controller.api.bindevent();
Controller.api.map();
$('input[name="row[set_time]"]').on('change', function () {
var val = $(this).val();
if (val == 1) {
$('#set-time').show();
} else {
$('#set-time').hide();
}
});
},
copy: function () {
Controller.api.bindevent();