[ 'key_field' => 'id', 'is_search' => 1, 'search_url' => MyUrl('admin/order/index'), 'detail_title' => '基础信息', 'is_middle' => 0, ], // 表单配置 'form' => [ [ 'label' => '基础信息', 'view_type' => 'module', 'view_key' => 'order/module/goods', 'grid_size' => 'xl', 'is_detail' => 0, 'search_config' => [ 'form_type' => 'input', 'form_name' => 'id', 'where_type_custom' => 'in', 'where_value_custom' => 'WhereBaseGoodsInfo', 'placeholder' => '请输入订单ID/订单号/商品名称/型号', ], ], [ 'label' => '用户信息', 'view_type' => 'module', 'view_key' => 'lib/module/user', 'grid_size' => 'sm', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'input', 'form_name' => 'user_id', 'where_type_custom' => 'in', 'where_value_custom' => 'WhereValueUserInfo', 'placeholder' => '请输入用户名/昵称/手机/邮箱', ], ], [ 'label' => '订单状态', 'view_type' => 'module', 'view_key' => 'order/module/status', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'form_name' => 'status', 'where_type' => 'in', 'data' => MyConst('common_order_status'), 'data_key' => 'id', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '支付状态', 'view_type' => 'module', 'view_key' => 'order/module/pay_status', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'form_name' => 'pay_status', 'where_type' => 'in', 'data' => MyConst('common_order_pay_status'), 'data_key' => 'id', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '总价(元)', 'view_type' => 'field', 'view_key' => 'total_price', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', 'is_point' => 1, ], ], [ 'label' => '支付金额(元)', 'view_type' => 'field', 'view_key' => 'pay_price', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', 'is_point' => 1, ], ], [ 'label' => '单价(元)', 'view_type' => 'field', 'view_key' => 'price', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', 'is_point' => 1, ], ], [ 'label' => '出货仓库', 'view_type' => 'field', 'view_key' => 'warehouse_name', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'form_name' => 'warehouse_id', 'where_type' => 'in', 'data' => $this->OrderWarehouseList(), 'data_key' => 'id', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '订单模式', 'view_type' => 'field', 'view_key' => 'order_model', 'view_data_key' => 'name', 'view_data' => MyConst('common_order_type_list'), 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'where_type' => 'in', 'data' => MyConst('common_order_type_list'), 'data_key' => 'value', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '来源', 'view_type' => 'field', 'view_key' => 'client_type', 'view_data_key' => 'name', 'view_data' => MyConst('common_platform_type'), 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'where_type' => 'in', 'data' => MyConst('common_platform_type'), 'data_key' => 'value', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '地址信息', 'view_type' => 'module', 'view_key' => 'order/module/address', 'grid_size' => 'sm', 'is_detail' => 0, 'search_config' => [ 'form_type' => 'input', 'form_name' => 'id', 'where_type_custom' => 'in', 'where_value_custom' => 'WhereValueAddressInfo', ], ], [ 'label' => '取货信息', 'view_type' => 'module', 'view_key' => 'order/module/take', 'width' => 125, 'is_detail' => 0, 'search_config' => [ 'form_type' => 'input', 'form_name' => 'id', 'where_type_custom' => 'in', 'where_value_custom' => 'WhereValueTakeInfo', ], ], [ 'label' => '退款金额(元)', 'view_type' => 'field', 'view_key' => 'refund_price', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', 'is_point' => 1, ], ], [ 'label' => '退货数量', 'view_type' => 'field', 'view_key' => 'returned_quantity', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', ], ], [ 'label' => '购买总数', 'view_type' => 'field', 'view_key' => 'buy_number_count', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', ], ], [ 'label' => '增加金额(元)', 'view_type' => 'field', 'view_key' => 'increase_price', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', 'is_point' => 1, ], ], [ 'label' => '优惠金额(元)', 'view_type' => 'field', 'view_key' => 'preferential_price', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'section', 'is_point' => 1, ], ], [ 'label' => '支付方式', 'view_type' => 'field', 'view_key' => 'payment_name', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'form_name' => 'payment_id', 'where_type' => 'in', 'data' => PaymentService::PaymentList(['field'=>'id,name']), 'data_key' => 'id', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '用户备注', 'view_type' => 'field', 'view_key' => 'user_note', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'input', 'where_type' => 'like', ], ], [ 'label' => '扩展信息', 'view_type' => 'module', 'view_key' => 'order/module/extension', 'grid_size' => 'sm', 'search_config' => [ 'form_type' => 'input', 'form_name' => 'extension_data', 'where_type' => 'like', ], ], [ 'label' => '快递公司', 'view_type' => 'field', 'view_key' => 'express_name', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'form_name' => 'express_id', 'data' => ExpressService::ExpressList(), 'where_type' => 'in', 'data_key' => 'id', 'data_name' => 'name', 'is_multiple' => 1, ], ], [ 'label' => '快递单号', 'view_type' => 'field', 'view_key' => 'express_number', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'input', 'where_type' => 'like', ], ], [ 'label' => '最新售后', 'view_type' => 'module', 'view_key' => 'order/module/aftersale', 'grid_size' => 'sm', ], [ 'label' => '用户是否评论', 'view_type' => 'module', 'view_key' => 'order/module/is_comments', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'select', 'where_type' => 'in', 'form_name' => 'user_is_comments', 'data' => MyConst('common_is_text_list'), 'data_key' => 'id', 'data_name' => 'name', 'where_type_custom' => 'WhereTypyUserIsComments', 'where_value_custom' => 'WhereValueUserIsComments', 'is_multiple' => 1, ], ], [ 'label' => '确认时间', 'view_type' => 'field', 'view_key' => 'confirm_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '支付时间', 'view_type' => 'field', 'view_key' => 'pay_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '发货时间', 'view_type' => 'field', 'view_key' => 'delivery_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '完成时间', 'view_type' => 'field', 'view_key' => 'collect_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '取消时间', 'view_type' => 'field', 'view_key' => 'cancel_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '关闭时间', 'view_type' => 'field', 'view_key' => 'close_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '创建时间', 'view_type' => 'field', 'view_key' => 'add_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '更新时间', 'view_type' => 'field', 'view_key' => 'upd_time', 'is_sort' => 1, 'search_config' => [ 'form_type' => 'datetime', ], ], [ 'label' => '操作', 'view_type' => 'operate', 'view_key' => 'order/module/operate', 'align' => 'center', 'fixed' => 'right', ], ], // 数据配置 'data' => [ 'table_name' => 'Order', 'page_tips_handle' => 'OrderService::OrderTipsMsg', 'data_handle' => 'OrderService::OrderListHandle', 'detail_where' => [ ['is_delete_time', '=', 0], ], 'is_page' => 1, 'data_params' => [ 'is_public' => 0, 'is_operate'=> 1, 'user_type' => 'admin', ], ], ]; } /** * 评论条件符号处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-08 * @desc description * @param [string] $form_key [表单数据key] * @param [array] $params [输入参数] */ public function WhereTypyUserIsComments($form_key, $params = []) { if(isset($params[$form_key])) { // 条件值是 0,1 // 解析成数组,都存在则返回null,则1 >, 0 = $value = explode(',', urldecode($params[$form_key])); if(count($value) == 1) { return in_array(1, $value) ? '>' : '='; } } return null; } /** * 评论条件值处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-08 * @desc description * @param [string] $form_key [表单数据key] * @param [array] $params [输入参数] */ public function WhereValueUserIsComments($value, $params = []) { return (count($value) == 2) ? null : 0; } /** * 订单仓库列表 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-07-29 * @desc description */ public function OrderWarehouseList() { $data = []; $wids = Db::name('Order')->column('warehouse_id'); if(!empty($wids)) { $where = ['id'=>$wids]; $order_by = 'level desc, id desc'; $data = Db::name('Warehouse')->field('id,name')->where($where)->order($order_by)->select()->toArray(); } return $data; } /** * 取货码条件处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-08 * @desc description * @param [string] $value [条件值] * @param [array] $params [输入参数] */ public function WhereValueTakeInfo($value, $params = []) { if(!empty($value)) { // 获取订单 id $ids = Db::name('OrderExtractionCode')->where('code', '=', $value)->column('order_id'); // 避免空条件造成无效的错觉 return empty($ids) ? [0] : $ids; } return $value; } /** * 收件地址条件处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-08 * @desc description * @param [string] $value [条件值] * @param [array] $params [输入参数] */ public function WhereValueAddressInfo($value, $params = []) { if(!empty($value)) { // 获取订单 id $ids = Db::name('OrderAddress')->where('name|tel|address', 'like', '%'.$value.'%')->column('order_id'); // 避免空条件造成无效的错觉 return empty($ids) ? [0] : $ids; } return $value; } /** * 用户信息条件处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-08 * @desc description * @param [string] $value [条件值] * @param [array] $params [输入参数] */ public function WhereValueUserInfo($value, $params = []) { if(!empty($value)) { // 获取用户 id $ids = Db::name('User')->where('username|nickname|mobile|email', 'like', '%'.$value.'%')->column('id'); // 避免空条件造成无效的错觉 return empty($ids) ? [0] : $ids; } return $value; } /** * 基础条件处理 * @author Devil * @blog http://gong.gg/ * @version 1.0.0 * @date 2020-06-08 * @desc description * @param [string] $value [条件值] * @param [array] $params [输入参数] */ public function WhereBaseGoodsInfo($value, $params = []) { if(!empty($value)) { // 订单ID、订单号 $ids = Db::name('Order')->where(['id|order_no'=>$value])->column('id'); // 获取订单详情搜索的订单 id if(empty($ids)) { $ids = Db::name('OrderDetail')->where('title|model', 'like', '%'.$value.'%')->column('order_id'); } // 避免空条件造成无效的错觉 return empty($ids) ? [0] : $ids; } return $value; } } ?>