소스 검색

Wesmiler 拾光销售 更新

APPLE 3 년 전
부모
커밋
9fc30e2678
3개의 변경된 파일70개의 추가작업 그리고 4개의 파일을 삭제
  1. 10 4
      addons/admin/src/views/member/member/index.vue
  2. 5 0
      app/Http/Controllers/Admin/MemberController.php
  3. 55 0
      app/Services/Common/MemberService.php

+ 10 - 4
addons/admin/src/views/member/member/index.vue

@@ -46,11 +46,11 @@
           <el-table-column prop="market_name" label="推广员" sortable="custom" show-overflow-tooltip min-width="130"/>
           <el-table-column label="来源渠道" min-width="120" align="center">
             <template slot-scope="{row}">
-              <el-tag type="success" size="mini">{{row.source_text}}</el-tag>
+              <el-tag type="success" size="mini">{{sources[row.source]}}</el-tag>
             </template>
           </el-table-column>
           <el-table-column label="录入时间" sortable="custom" show-overflow-tooltip align="center" min-width="160">
-            <template slot-scope="{row}">{{ row.create_time*1000 | toDateString }}</template>
+            <template slot-scope="{row}">{{ row.create_time_text }}</template>
           </el-table-column>
           <el-table-column prop="status" label="状态" sortable="custom" :resizable="false" min-width="120">
             <template slot-scope="{row}">
@@ -74,13 +74,17 @@
       <el-form :model="editForm" ref="editForm" :rules="editRules" label-width="100px">
         <el-row :gutter="15">
           <el-col :sm="16">
+            <el-form-item label="来源渠道:" prop="source">
+              <el-select v-model="editForm.source" placeholder="请选择来源渠道" class="ele-block">
+                <el-option v-if="k>0" v-for="(v,k) in sources" :label="v" :value="k" :key="k"/>
+              </el-select>
+            </el-form-item>
             <el-form-item label="会员姓名:" prop="realname">
               <el-input v-model="editForm.realname" placeholder="请输入会员姓名" clearable/>
             </el-form-item>
             <el-form-item label="手机号码:" prop="mobile">
               <el-input v-model="editForm.mobile" placeholder="请输入手机号码" clearable/>
             </el-form-item>
-
             <el-form-item label="出生日期:" prop="birthday">
               <el-date-picker
                 v-model="editForm.birthday"
@@ -176,10 +180,11 @@ export default {
       provinceCity: [],  // 选中的省市
       province: [],  // 选中的省
 
-      table: {url: '/member/index', where: {}},  // 表格配置
+      table: {url: '/member/index', where: {},page: {limit: 30}},  // 表格配置
       choose: [],  // 表格选中数据
       showEdit: false,  // 是否显示表单弹窗
       editForm: {status: 1},  // 表单数据
+      sources: ['无','新媒体','活动资源','地推资源','合作资源','广告资源','其他资源'],
       editRules: {  // 表单验证规则
         realname: [
           {required: true, message: '请输入会员名称', trigger: 'blur'}
@@ -229,6 +234,7 @@ export default {
     /* 显示编辑 */
     edit(row) {
       this.editForm = Object.assign({}, row);
+      this.editForm.source = parseInt(this.editForm.source)
       this.showEdit = true;
     },
     /* 保存编辑 */

+ 5 - 0
app/Http/Controllers/Admin/MemberController.php

@@ -34,6 +34,11 @@ class MemberController extends Backend
         $this->service = new MemberService();
     }
 
+    public function index()
+    {
+
+    }
+
     public function edit()
     {
         $result = $this->service->edit($this->userId);

+ 55 - 0
app/Services/Common/MemberService.php

@@ -35,6 +35,61 @@ class MemberService extends BaseService
     }
 
     /**
+     * @param $params
+     * @param int $pageSize
+     * @return array
+     */
+    public function getDataList($params, $pageSize = 15)
+    {
+        $where = ['a.mark' => 1];
+        $list = $this->model->from('member as a')
+            ->leftJoin('user as b', 'b.id', '=', 'a.market_uid')
+            ->where($where)
+            ->where(function ($query) use($params){
+                $keyword = isset($params['keyword'])? $params['keyword'] : '';
+                if($keyword){
+                    $query->where('a.realname','like',"%{$keyword}%");
+                }
+
+                $mobile = isset($params['mobile'])? $params['mobile'] : '';
+                if($mobile){
+                    $query->where('a.mobile','like',"%{$mobile}%");
+                }
+
+                $marketName = isset($params['market_name'])? $params['market_name'] : '';
+                if($marketName){
+                    $query->where('b.realname','like',"%{$marketName}%");
+                }
+
+                $status = isset($params['status'])? intval($params['status']) : 0;
+                if($status){
+                    $query->where('a.status','=',$status);
+                }
+
+                $source = isset($params['source'])? intval($params['source']) : 0;
+                if($source){
+                    $query->where('a.source','=',$source);
+                }
+
+            })
+            ->select(['a.*','b.realname as market_name','b.nickname as market_nickname'])
+            ->orderBy('a.create_time','desc')
+            ->paginate($pageSize > 0 ? $pageSize : 9999999);
+        $list = $list? $list->toArray() :[];
+        if($list){
+            foreach($list['data'] as &$item){
+                $item['create_time_text'] = isset($item['create_time']) && $item['create_time']? datetime($item['create_time'],'Y.m.d H:i') : '';
+            }
+        }
+
+        return [
+            'pageSize'=> $pageSize,
+            'total'=>isset($list['total'])? $list['total'] : 0,
+            'list'=> isset($list['data'])? $list['data'] : []
+        ];
+    }
+
+    /**
      * 添加会编辑会员
      * @return array
      * @since 2020/11/11