Bladeren bron

车辆列表

zhangxiaobin 1 jaar geleden
bovenliggende
commit
aec0c033a8

+ 36 - 0
application/admin/controller/UserWallet.php

@@ -34,4 +34,40 @@ class UserWallet extends Backend
      */
 
 
+    /**
+     * 查看
+     */
+    public function index()
+    {
+        //当前是否为关联查询
+        $this->relationSearch = true;
+        //设置过滤方法
+        $this->request->filter(['strip_tags', 'trim']);
+        if ($this->request->isAjax()) {
+            //如果发送的来源是Selectpage,则转发到Selectpage
+            if ($this->request->request('keyField')) {
+                return $this->selectpage();
+            }
+            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+            $list = $this->model
+                    ->with(['company','user','staff'])
+                    ->where($where)
+                    ->order($sort, $order)
+                    ->paginate($limit);
+
+            foreach ($list as $row) {
+                
+                $row->getRelation('company')->visible(['name']);
+				$row->getRelation('user')->visible(['nickname']);
+				$row->getRelation('staff')->visible(['truename']);
+            }
+
+            $result = array("total" => $list->total(), "rows" => $list->items());
+
+            return json($result);
+        }
+        return $this->view->fetch();
+    }
+
 }

+ 12 - 3
application/admin/lang/zh-cn/user_wallet.php

@@ -1,7 +1,16 @@
 <?php
 
 return [
-    'User_id'    => '会员ID',
-    'Company_id' => '商家ID',
-    'Money'      => '余额'
+    'User_id'        => '会员ID',
+    'Company_id'     => '门店ID',
+    'Staff_id'       => '员工ID',
+    'Money'          => '余额',
+    'Address'        => '联系地址',
+    'Createtime'     => '创建时间',
+    'Updatetime'     => '更新时间',
+    'Comefrom'       => '来源',
+    'Remark'         => '门店给的备注',
+    'Company.name'   => '店铺名称',
+    'User.nickname'  => '昵称',
+    'Staff.truename' => '员工姓名'
 ];

+ 19 - 3
application/admin/model/UserWallet.php

@@ -16,11 +16,11 @@ class UserWallet extends Model
     protected $name = 'user_wallet';
     
     // 自动写入时间戳字段
-    protected $autoWriteTimestamp = false;
+    protected $autoWriteTimestamp = 'integer';
 
     // 定义时间戳字段名
-    protected $createTime = false;
-    protected $updateTime = false;
+    protected $createTime = 'createtime';
+    protected $updateTime = 'updatetime';
     protected $deleteTime = false;
 
     // 追加属性
@@ -37,4 +37,20 @@ class UserWallet extends Model
 
 
 
+    public function company()
+    {
+        return $this->belongsTo('Company', 'company_id', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
+
+
+    public function user()
+    {
+        return $this->belongsTo('User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
+
+
+    public function staff()
+    {
+        return $this->belongsTo('app\admin\model\company\Staff', 'staff_id', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
 }

+ 25 - 1
application/admin/view/user_wallet/add.html

@@ -13,9 +13,33 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Staff_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-staff_id" data-rule="required" data-source="staff/index" class="form-control selectpage" name="row[staff_id]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Money')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-money" data-rule="required" class="form-control" name="row[money]" type="text" value="0.00">
+            <input id="c-money" data-rule="required" class="form-control" step="0.01" name="row[money]" type="number">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-address" data-rule="required" class="form-control" name="row[address]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Comefrom')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-comefrom" class="form-control" name="row[comefrom]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-remark" class="form-control" name="row[remark]" type="text">
         </div>
     </div>
     <div class="form-group layer-footer">

+ 25 - 1
application/admin/view/user_wallet/edit.html

@@ -13,9 +13,33 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Staff_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-staff_id" data-rule="required" data-source="staff/index" class="form-control selectpage" name="row[staff_id]" type="text" value="{$row.staff_id|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Money')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-money" data-rule="required" class="form-control" name="row[money]" type="text" value="{$row.money|htmlentities}">
+            <input id="c-money" data-rule="required" class="form-control" step="0.01" name="row[money]" type="number" value="{$row.money|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-address" data-rule="required" class="form-control" name="row[address]" type="text" value="{$row.address|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Comefrom')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-comefrom" class="form-control" name="row[comefrom]" type="text" value="{$row.comefrom|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
         </div>
     </div>
     <div class="form-group layer-footer">

+ 4 - 2
application/api/controller/UserCar.php

@@ -33,15 +33,17 @@ class UserCar extends Api
             $result = $this->model->field($field)->where($where)->order('createtime desc')->autopage()->select();
             if (!empty($result)) {
                 $ids = array_column($result,'id');
+                $carNos = array_column($result,'car_number');
                 $params = [
                     'user_id' => $userId,
                     'company_id' => $companyId,
                     'car_id' => $ids,
+                    'car_number' => $carNos,
                 ];
                 $orderService = new OrderService();
                 $orderRes = $orderService->getCarNextDate($params);
                 foreach ($result as $key => &$value) {
-                    $value['next_date'] = isset($orderRes['data'][$value['id']]) ? $orderRes['data'][$value['id']]['next_date'] : '';
+                    $value['next_date'] = isset($orderRes['data'][$value['car_number']]) ? $orderRes['data'][$value['car_number']]['next_date'] : '';
                 }
             }
             $this->success('获取成功',$result);
@@ -72,7 +74,7 @@ class UserCar extends Api
                 ];
                 $orderService = new OrderService();
                 $orderRes = $orderService->getCarNextDate($params);
-                $result['next_date'] = isset($orderRes['data'][$id]) ? $orderRes['data'][$id]['next_date'] : '';
+                $result['next_date'] = isset($orderRes['data'][$result['car_number']]) ? $orderRes['data'][$result['car_number']]['next_date'] : '';
             }
             $this->success('获取成功',$result);
         } catch (Exception $e) {

+ 9 - 4
application/common/service/OrderService.php

@@ -240,16 +240,21 @@ class OrderService
             $userId = isset($params['user_id']) ? $params['user_id'] : 0;
             $companyId = isset($params['company_id']) ? $params['company_id'] : 0;
             $carId = isset($params['car_id']) ? $params['car_id'] : [];
+            $carNumber = isset($params['car_number']) ? $params['car_number'] : [];
+            if (!empty($carNumber)) {
+                $orderWhere['user_car_number'] = ['in',$carNumber];
+            } else {
+                $orderWhere['user_car_id'] = ['in',$carId];
+            }
             $orderWhere['user_id'] = $userId;
             $orderWhere['company_id'] = $companyId;
-            $orderWhere['user_car_id'] = ['in',$carId];
-            $orderWhere['servicetype_id'] = 2;
+            $orderWhere['next_date'] = ['neq',''];
             $orderWhere['status'] = 3;//状态:2=待处理,3=已完成,4=已取消
-            $order = Db::name('order')->field('id,user_car_id,next_date')->where($orderWhere)->group('user_car_id')->order('finish_time desc')->select();
+            $order = Db::name('order')->field('id,user_car_id,user_car_number,next_date')->where($orderWhere)->group('user_car_id')->order('finish_time desc')->select();
             $row = [];
             if (!empty($order)) {
                 foreach ($order as $key => $value) {
-                    $row[$value['user_car_id']]['next_date'] = $value['next_date'];
+                    $row[$value['user_car_number']]['next_date'] = $value['next_date'];
                 }
             }
             $result['data'] = $row;

+ 12 - 1
public/assets/js/backend/user_wallet.js

@@ -22,13 +22,24 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 url: $.fn.bootstrapTable.defaults.extend.index_url,
                 pk: 'id',
                 sortName: 'id',
+                fixedColumns: true,
+                fixedRightNumber: 1,
                 columns: [
                     [
                         {checkbox: true},
                         {field: 'id', title: __('Id')},
                         {field: 'user_id', title: __('User_id')},
                         {field: 'company_id', title: __('Company_id')},
-                        {field: 'money', title: __('Money'), operate: 'LIKE'},
+                        {field: 'staff_id', title: __('Staff_id')},
+                        {field: 'money', title: __('Money'), operate:'BETWEEN'},
+                        {field: 'address', title: __('Address'), operate: 'LIKE'},
+                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'comefrom', title: __('Comefrom'), operate: 'LIKE'},
+                        {field: 'remark', title: __('Remark'), operate: 'LIKE'},
+                        {field: 'company.name', title: __('Company.name'), operate: 'LIKE'},
+                        {field: 'user.nickname', title: __('User.nickname'), operate: 'LIKE'},
+                        {field: 'staff.truename', title: __('Staff.truename'), operate: 'LIKE'},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]