diff --git a/application/admin/controller/Order.php b/application/admin/controller/Order.php index aee0d2f..a641abf 100644 --- a/application/admin/controller/Order.php +++ b/application/admin/controller/Order.php @@ -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'); diff --git a/application/admin/validate/Order.php b/application/admin/validate/Order.php index 50ef95c..353541e 100644 --- a/application/admin/validate/Order.php +++ b/application/admin/validate/Order.php @@ -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', + ], ]; } diff --git a/application/admin/view/order/add.html b/application/admin/view/order/add.html index b4feccc..1ffa24b 100644 --- a/application/admin/view/order/add.html +++ b/application/admin/view/order/add.html @@ -105,7 +105,7 @@ {:build_radios('row[set_time]', ['1'=>'有', '0'=>'无'], 1)} -
+
*设置时间:
diff --git a/application/admin/view/order/edit.html b/application/admin/view/order/edit.html index 9b77e67..5e3a09b 100644 --- a/application/admin/view/order/edit.html +++ b/application/admin/view/order/edit.html @@ -2,7 +2,6 @@
-
*订单渠道:
@@ -61,9 +60,9 @@ name="row[address]" type="text">{$row.address} + name="row[lng]" id="lng" value="{$row.lng}"> + name="row[lat]" id="lat" value="{$row.lat}">
@@ -102,10 +101,10 @@
上门时间:
- {: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)}
-
+
*设置时间:
@@ -138,10 +137,10 @@
图片上传:
- +
- - + +
@@ -150,6 +149,12 @@
+
@@ -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; diff --git a/public/assets/js/backend/order.js b/public/assets/js/backend/order.js index 0122db0..6db3c88 100644 --- a/public/assets/js/backend/order.js +++ b/public/assets/js/backend/order.js @@ -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();