Orderaftersale.php 12.6 KB
Newer Older
D
devil 已提交
1 2 3 4
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
D
2.0  
Devil 已提交
5
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
D
devil 已提交
6
// +----------------------------------------------------------------------
D
2.0  
Devil 已提交
7
// | Licensed ( https://opensource.org/licenses/mit-license.php )
D
devil 已提交
8 9 10 11 12
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\admin\form;

D
Devil 已提交
13
use think\facade\Db;
D
devil 已提交
14 15 16 17 18 19 20 21 22

/**
 * 订单售后动态表格
 * @author  Devil
 * @blog    http://gong.gg/
 * @version 1.0.0
 * @date    2020-06-08
 * @desc    description
 */
D
devil 已提交
23
class OrderAftersale
D
devil 已提交
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
{
    // 基础条件
    public $condition_base = [];

    /**
     * 入口
     * @author  Devil
     * @blog    http://gong.gg/
     * @version 1.0.0
     * @date    2020-06-08
     * @desc    description
     * @param   [array]           $params [输入参数]
     */
    public function Run($params = [])
    {
        return [
            // 基础配置
            'base' => [
                'key_field'     => 'id',
                'is_search'     => 1,
                'search_url'    => MyUrl('admin/orderaftersale/index'),
D
devil 已提交
45
                'is_middle'     => 0,
D
devil 已提交
46 47 48 49 50 51
            ],
            // 表单配置
            'form' => [
                [
                    'label'         => '基础信息',
                    'view_type'     => 'module',
D
devil 已提交
52
                    'view_key'      => 'orderaftersale/module/goods',
D
devil 已提交
53
                    'grid_size'     => 'lg',
D
devil 已提交
54 55
                    'is_sort'       => 1,
                    'sort_field'    => 'goods_id',
D
devil 已提交
56 57 58 59
                    'search_config' => [
                        'form_type'             => 'input',
                        'form_name'             => 'id',
                        'where_type_custom'     => 'in',
D
devil 已提交
60
                        'where_value_custom'    => 'WhereBaseGoodsInfo',
D
devil 已提交
61
                        'placeholder'           => '请输入订单号/商品名称/型号',
D
devil 已提交
62 63 64 65 66
                    ],
                ],
                [
                    'label'         => '用户信息',
                    'view_type'     => 'module',
D
devil 已提交
67
                    'view_key'      => 'lib/module/user',
D
devil 已提交
68
                    'grid_size'     => 'sm',
D
devil 已提交
69
                    'is_sort'       => 1,
D
devil 已提交
70 71 72 73
                    'search_config' => [
                        'form_type'             => 'input',
                        'form_name'             => 'user_id',
                        'where_type_custom'     => 'in',
D
devil 已提交
74
                        'where_value_custom'    => 'WhereValueUserInfo',
D
devil 已提交
75 76 77 78 79 80
                        'placeholder'           => '请输入用户名/昵称/手机/邮箱',
                    ],
                ],
                [
                    'label'         => '状态',
                    'view_type'     => 'field',
D
devil 已提交
81 82
                    'view_key'      => 'status',
                    'view_data_key' => 'name',
D
Devil 已提交
83
                    'view_data'     => MyConst('common_order_aftersale_status_list'),
D
devil 已提交
84
                    'width'         => 120,
D
devil 已提交
85
                    'is_sort'       => 1,
D
devil 已提交
86 87 88
                    'search_config' => [
                        'form_type'         => 'select',
                        'where_type'        => 'in',
D
Devil 已提交
89
                        'data'              => MyConst('common_order_aftersale_status_list'),
D
devil 已提交
90 91 92 93 94 95 96 97
                        'data_key'          => 'value',
                        'data_name'         => 'name',
                        'is_multiple'       => 1,
                    ],
                ],
                [
                    'label'         => '申请类型',
                    'view_type'     => 'field',
D
devil 已提交
98 99
                    'view_key'      => 'type',
                    'view_data_key' => 'name',
D
Devil 已提交
100
                    'view_data'     => MyConst('common_order_aftersale_type_list'),
D
devil 已提交
101
                    'width'         => 120,
D
devil 已提交
102
                    'is_sort'       => 1,
D
devil 已提交
103 104 105
                    'search_config' => [
                        'form_type'         => 'select',
                        'where_type'        => 'in',
D
Devil 已提交
106
                        'data'              => MyConst('common_order_aftersale_type_list'),
D
devil 已提交
107 108 109 110 111 112 113 114 115
                        'data_key'          => 'value',
                        'data_name'         => 'name',
                        'is_multiple'       => 1,
                    ],
                ],
                [
                    'label'         => '原因',
                    'view_type'     => 'field',
                    'view_key'      => 'reason',
D
devil 已提交
116
                    'is_sort'       => 1,
D
devil 已提交
117 118 119 120 121 122 123 124 125
                    'search_config' => [
                        'form_type'         => 'input',
                        'where_type'        => 'like',
                    ],
                ],
                [
                    'label'         => '退款金额(元)',
                    'view_type'     => 'field',
                    'view_key'      => 'price',
D
devil 已提交
126
                    'is_sort'       => 1,
D
devil 已提交
127 128 129 130 131 132 133 134 135
                    'search_config' => [
                        'form_type'         => 'section',
                        'is_point'          => 1,
                    ],
                ],
                [
                    'label'         => '退货数量',
                    'view_type'     => 'field',
                    'view_key'      => 'number',
D
devil 已提交
136
                    'is_sort'       => 1,
D
devil 已提交
137 138 139 140 141 142 143 144
                    'search_config' => [
                        'form_type'         => 'section',
                    ],
                ],
                [
                    'label'         => '退款说明',
                    'view_type'     => 'field',
                    'view_key'      => 'msg',
D
devil 已提交
145
                    'grid_size'     => 'sm',
D
devil 已提交
146
                    'is_sort'       => 1,
D
devil 已提交
147 148 149 150 151 152 153 154
                    'search_config' => [
                        'form_type'         => 'input',
                        'where_type'        => 'like',
                    ],
                ],
                [
                    'label'         => '退款类型',
                    'view_type'     => 'field',
D
devil 已提交
155 156
                    'view_key'      => 'refundment',
                    'view_data_key' => 'name',
D
Devil 已提交
157
                    'view_data'     => MyConst('common_order_aftersale_refundment_list'),
D
devil 已提交
158
                    'width'         => 120,
D
devil 已提交
159
                    'is_sort'       => 1,
D
devil 已提交
160 161 162
                    'search_config' => [
                        'form_type'         => 'select',
                        'where_type'        => 'in',
D
Devil 已提交
163
                        'data'              => MyConst('common_order_aftersale_refundment_list'),
D
devil 已提交
164 165 166 167 168 169 170 171 172
                        'data_key'          => 'value',
                        'data_name'         => 'name',
                        'is_multiple'       => 1,
                    ],
                ],
                [
                    'label'         => '凭证',
                    'view_type'     => 'module',
                    'view_key'      => 'orderaftersale/module/voucher',
D
devil 已提交
173
                    'is_list'        => 0,
D
devil 已提交
174 175 176 177 178
                ],
                [
                    'label'         => '快递公司',
                    'view_type'     => 'field',
                    'view_key'      => 'express_name',
D
devil 已提交
179
                    'is_sort'       => 1,
D
devil 已提交
180 181 182 183 184 185 186 187 188
                    'search_config' => [
                        'form_type'         => 'input',
                        'where_type'        => 'like',
                    ],
                ],
                [
                    'label'         => '快递单号',
                    'view_type'     => 'field',
                    'view_key'      => 'express_number',
D
devil 已提交
189
                    'is_sort'       => 1,
D
devil 已提交
190 191 192 193 194
                    'search_config' => [
                        'form_type'         => 'input',
                        'where_type'        => 'like',
                    ],
                ],
195 196 197 198 199
                [
                    'label'         => '拒绝原因',
                    'view_type'     => 'field',
                    'view_key'      => 'refuse_reason',
                    'grid_size'     => 'sm',
D
devil 已提交
200
                    'is_sort'       => 1,
201 202 203 204 205
                    'search_config' => [
                        'form_type'         => 'input',
                        'where_type'        => 'like',
                    ],
                ],
D
devil 已提交
206 207 208 209
                [
                    'label'         => '申请时间',
                    'view_type'     => 'field',
                    'view_key'      => 'apply_time_time',
D
devil 已提交
210
                    'is_sort'       => 1,
D
devil 已提交
211 212 213 214 215 216 217 218 219
                    'search_config' => [
                        'form_type'         => 'datetime',
                        'form_name'         => 'apply_time',
                    ],
                ],
                [
                    'label'         => '确认时间',
                    'view_type'     => 'field',
                    'view_key'      => 'confirm_time_time',
D
devil 已提交
220
                    'is_sort'       => 1,
D
devil 已提交
221 222 223 224 225 226 227 228 229
                    'search_config' => [
                        'form_type'         => 'datetime',
                        'form_name'         => 'confirm_time',
                    ],
                ],
                [
                    'label'         => '退货时间',
                    'view_type'     => 'field',
                    'view_key'      => 'delivery_time_time',
D
devil 已提交
230
                    'is_sort'       => 1,
D
devil 已提交
231 232 233 234 235 236 237 238 239
                    'search_config' => [
                        'form_type'         => 'datetime',
                        'form_name'         => 'delivery_time',
                    ],
                ],
                [
                    'label'         => '审核时间',
                    'view_type'     => 'field',
                    'view_key'      => 'audit_time_time',
D
devil 已提交
240
                    'is_sort'       => 1,
D
devil 已提交
241 242 243 244 245 246 247 248 249
                    'search_config' => [
                        'form_type'         => 'datetime',
                        'form_name'         => 'audit_time',
                    ],
                ],
                [
                    'label'         => '创建时间',
                    'view_type'     => 'field',
                    'view_key'      => 'add_time_time',
D
devil 已提交
250
                    'is_sort'       => 1,
D
devil 已提交
251 252 253 254 255 256 257 258 259
                    'search_config' => [
                        'form_type'         => 'datetime',
                        'form_name'         => 'add_time',
                    ],
                ],
                [
                    'label'         => '更新时间',
                    'view_type'     => 'field',
                    'view_key'      => 'upd_time_time',
D
devil 已提交
260
                    'is_sort'       => 1,
D
devil 已提交
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
                    'search_config' => [
                        'form_type'         => 'datetime',
                        'form_name'         => 'upd_time',
                    ],
                ],
                [
                    'label'         => '操作',
                    'view_type'     => 'operate',
                    'view_key'      => 'orderaftersale/module/operate',
                    'align'         => 'center',
                    'fixed'         => 'right',
                ],
            ],
        ];
    }

    /**
     * 用户信息条件处理
     * @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;
    }

    /**
D
devil 已提交
301
     * 基础条件处理
D
devil 已提交
302 303 304 305 306 307 308 309
     * @author  Devil
     * @blog    http://gong.gg/
     * @version 1.0.0
     * @date    2020-06-08
     * @desc    description
     * @param   [string]          $value    [条件值]
     * @param   [array]           $params   [输入参数]
     */
D
devil 已提交
310
    public function WhereBaseGoodsInfo($value, $params = [])
D
devil 已提交
311 312 313 314
    {
        if(!empty($value))
        {
            // 获取订单详情搜索的订单售后 id
D
Devil 已提交
315
            $ids = Db::name('OrderAftersale')->alias('oa')->join('order_detail od', 'oa.order_detail_id=od.id')->whereOr('od.title|od.model', 'like', '%'.$value.'%')->whereOr('oa.order_no', '=', $value)->column('oa.id');
D
devil 已提交
316 317 318 319 320 321 322 323

            // 避免空条件造成无效的错觉
            return empty($ids) ? [0] : $ids;
        }
        return $value;
    }
}
?>