Преглед на файлове

Wesmiler 拾光销售 更新

APPLE преди 3 години
родител
ревизия
f52fd6cf2d

+ 2 - 2
addons/admin/src/views/login/login.vue

@@ -73,8 +73,8 @@ export default {
       loading: false,
       // 表单数据
       form: {
-        username: 'admin',
-        password: '123456',
+        username: '',
+        password: '',
         captcha: '',
         remember: true,
         key:''

+ 107 - 34
addons/admin/src/views/member/member/index.vue

@@ -6,10 +6,20 @@
                @keyup.enter.native="$refs.table.reload()" @submit.native.prevent>
         <el-row :gutter="15">
           <el-col :md="6" :sm="12">
+            <el-form-item label="名字:">
+              <el-input v-model="table.where.keyword" placeholder="请输入会员名字" clearable/>
+            </el-form-item>
+          </el-col>
+          <el-col :md="6" :sm="12">
             <el-form-item label="手机号:">
               <el-input v-model="table.where.mobile" placeholder="请输入会员手机号" clearable/>
             </el-form-item>
           </el-col>
+          <el-col :md="6" :sm="12">
+            <el-form-item label="推广员:">
+              <el-input v-model="table.where.market_name" placeholder="请输入推广员账号" clearable/>
+            </el-form-item>
+          </el-col>
           <el-col :md="9" :sm="12">
             <div class="ele-form-actions">
               <el-button type="primary" @click="$refs.table.reload()" icon="el-icon-search" class="ele-btn-icon">查询
@@ -26,34 +36,31 @@
         <template slot-scope="{index}">
           <el-table-column type="selection" width="45" align="center" fixed="left"/>
           <el-table-column type="index" :index="index" label="编号" width="60" align="center" fixed="left" show-overflow-tooltip/>
+          <el-table-column prop="realname" label="名字" sortable="custom" show-overflow-tooltip min-width="120"/>
           <el-table-column prop="mobile" label="手机号码" sortable="custom" show-overflow-tooltip min-width="130"/>
-          <el-table-column prop="nickname" label="昵称" sortable="custom" show-overflow-tooltip min-width="120"/>
           <el-table-column label="性别" min-width="60" align="center">
             <template slot-scope="{row}">
               <el-tag :type="['primary','success','warning'][row.gender-1]" size="mini">{{ ['男', '女', '保密'][row.gender-1] }}</el-tag>
             </template>
           </el-table-column>
-          <el-table-column label="头像" min-width="60" align="center">
+          <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-avatar shape="square" :size="35" :src="row.avatar"/>
+              <el-tag type="success" size="mini">{{row.source_text}}</el-tag>
             </template>
           </el-table-column>
-          <el-table-column prop="status" label="会员状态" sortable="custom" :resizable="false" min-width="120">
+          <el-table-column label="录入时间" sortable="custom" show-overflow-tooltip align="center" min-width="160">
+            <template slot-scope="{row}">{{ row.create_time*1000 | toDateString }}</template>
+          </el-table-column>
+          <el-table-column prop="status" label="状态" sortable="custom" :resizable="false" min-width="120">
             <template slot-scope="{row}">
               <el-switch v-model="row.status" @change="editStatus(row)" :active-value="1" :inactive-value="2"/>
             </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>
-          </el-table-column>
-          <el-table-column label="最近登录时间" sortable="custom" show-overflow-tooltip align="center" min-width="160">
-            <template slot-scope="{row}">{{ row.login_time*1000 | toDateString }}</template>
-          </el-table-column>
-          <el-table-column prop="login_count" label="登录次数" show-overflow-tooltip align="center" min-width="120"/>
-          <el-table-column label="操作" width="130px" align="center" :resizable="false"  fixed="right">
+         <el-table-column label="操作" width="130px" align="center" :resizable="false"  fixed="right">
             <template slot-scope="{row}">
               <el-link @click="edit(row)" icon="el-icon-edit" type="primary" :underline="false" v-if="permission.includes('sys:member:edit')">修改</el-link>
-              <el-popconfirm title="确定要删除此会员吗?" @confirm="remove(row)" class="ele-action">
+              <el-popconfirm title="确定要删除此会员资源吗?" @confirm="remove(row)" class="ele-action">
                 <el-link slot="reference" icon="el-icon-delete" type="danger" :underline="false" v-if="permission.includes('sys:member:delete')">删除</el-link>
               </el-popconfirm>
             </template>
@@ -62,21 +69,19 @@
       </ele-data-table>
     </el-card>
     <!-- 编辑弹窗 -->
-    <el-dialog :title="editForm.id?'修改会员':'添加会员'" :visible.sync="showEdit" width="700px"
-               @closed="editForm={}" :destroy-on-close="true" custom-class="ele-dialog-form" :lock-scroll="false">
+    <el-dialog :title="editForm.id?'修改会员资源':'添加会员资源'" :visible.sync="showEdit" width="700px"
+               @closed="editForm={status: 1}" :destroy-on-close="true" custom-class="ele-dialog-form" :lock-scroll="false">
       <el-form :model="editForm" ref="editForm" :rules="editRules" label-width="100px">
-        <el-form-item label="会员头像:">
-          <uploadImage :limit="1" v-model="editForm.avatar"></uploadImage>
-        </el-form-item>
         <el-row :gutter="15">
-          <el-col :sm="12">
-            <el-form-item label="手机号码:" prop="mobile">
-              <el-input v-model="editForm.mobile" placeholder="请输入手机号码" clearable/>
-            </el-form-item>
+          <el-col :sm="16">
             <el-form-item label="会员姓名:" prop="realname">
               <el-input v-model="editForm.realname" placeholder="请输入会员姓名" clearable/>
             </el-form-item>
-            <el-form-item label="出生日期:" prop="gender">
+            <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"
                 type="date"
@@ -86,10 +91,10 @@
                 format="yyyy-MM-dd">
               </el-date-picker>
             </el-form-item>
-          </el-col>
-          <el-col :sm="12">
-             <el-form-item label="会员昵称:" prop="nickname">
-              <el-input v-model="editForm.nickname" placeholder="请输入会员昵称" clearable/>
+            <el-form-item label="月薪:" prop="salary">
+              <el-input v-model="editForm.salary" placeholder="请输入月薪">
+                <template slot="append">元</template>
+              </el-input>
             </el-form-item>
             <el-form-item label="性别:" prop="gender">
               <el-select v-model="editForm.gender" placeholder="请选择性别" class="ele-block" clearable>
@@ -97,8 +102,49 @@
                 <el-option label="女" :value="2"/>
               </el-select>
             </el-form-item>
-            <el-form-item label="会员状态:" prop="status">
-              <el-select v-model="editForm.status" placeholder="请选择会员状态" class="ele-block" clearable>
+            <el-form-item label="身高/CM:" prop="height">
+              <el-input-number v-model="editForm.height" placeholder="请输入身高" :min="140" :step="1" :max="210">
+              </el-input-number>
+            </el-form-item>
+            <el-form-item label="体重/KG:" prop="weight">
+              <el-input-number v-model="editForm.weight" placeholder="请输入体重" :precision="2" :min="30" :step="0.1" :max="150">
+              </el-input-number>
+            </el-form-item>
+            <el-form-item label="学历:" prop="education">
+              <el-select v-model="editForm.education" placeholder="请选择学历" class="ele-block" clearable>
+                <el-option label="大专" :value="1"/>
+                <el-option label="本科" :value="2"/>
+                <el-option label="硕士" :value="3"/>
+                <el-option label="博士" :value="4"/>
+                <el-option label="其他" :value="5"/>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="婚姻状况:" prop="married">
+              <el-select v-model="editForm.married" placeholder="请选择婚姻状况" class="ele-block" clearable>
+                <el-option label="未婚" :value="1"/>
+                <el-option label="离异" :value="2"/>
+                <el-option label="离异有孩子" :value="3"/>
+                <el-option label="其他" :value="4"/>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="从事行业:" prop="industry">
+              <el-input v-model="editForm.industry" placeholder="请输入从事行业">
+              </el-input>
+            </el-form-item>
+            <el-form-item label="工作地:" prop="address">
+              <el-input v-model="editForm.address" placeholder="请输入工作地">
+              </el-input>
+            </el-form-item>
+            <el-form-item label="户籍地:" prop="home_address">
+              <el-input v-model="editForm.home_address" placeholder="请输入户籍地">
+              </el-input>
+            </el-form-item>
+            <el-form-item label="备注:" prop="remark">
+              <el-input v-model="editForm.remark" placeholder="请输入备注信息" type="textarea" rows="5">
+              </el-input>
+            </el-form-item>
+            <el-form-item label="状态:" prop="status">
+              <el-select v-model="editForm.status" placeholder="请选择状态" class="ele-block" clearable>
                 <el-option label="正常" :value="1"/>
                 <el-option label="禁用" :value="2"/>
               </el-select>
@@ -118,7 +164,7 @@
 
 <script>
 import cityData from '@/utils/cityData'
-import uploadImage from '@/components/uploadImage'
+// import uploadImage from '@/components/uploadImage'
 import { mapGetters } from "vuex";
 export default {
   name: "SysMember",
@@ -133,13 +179,40 @@ export default {
       table: {url: '/member/index', where: {}},  // 表格配置
       choose: [],  // 表格选中数据
       showEdit: false,  // 是否显示表单弹窗
-      editForm: {},  // 表单数据
+      editForm: {status: 1},  // 表单数据
       editRules: {  // 表单验证规则
         realname: [
           {required: true, message: '请输入会员名称', trigger: 'blur'}
         ],
-        sort: [
-          {required: true, message: '请输入排序', trigger: 'blur'}
+        mobile: [
+          {required: true, message: '请输入会员手机号', trigger: 'blur'}
+        ],
+        birthday: [
+          {required: true, message: '请选择会员出生年月日', trigger: 'blur'}
+        ],
+        gender: [
+          {required: true, message: '请选择会员性别', trigger: 'blur'}
+        ],
+        height: [
+          {required: true, message: '请输入会员身高', trigger: 'blur'}
+        ],
+        weight: [
+          {required: true, message: '请输入会员体重', trigger: 'blur'}
+        ],
+        salary: [
+          {required: true, message: '请输入会员月薪', trigger: 'blur'}
+        ],
+        education: [
+          {required: true, message: '请选择会员学历', trigger: 'blur'}
+        ],
+        married: [
+          {required: true, message: '请选择会员婚姻状况', trigger: 'blur'}
+        ],
+        industry: [
+          {required: true, message: '请输入会员从事行业', trigger: 'blur'}
+        ],
+        address: [
+          {required: true, message: '请输入会员工作地', trigger: 'blur'}
         ],
       },
       memberLevelList: [],  // 会员等级
@@ -148,7 +221,7 @@ export default {
   computed: {
     ...mapGetters(["permission"]),
   },
-  components: {uploadImage},
+  components: {},
   mounted() {
 
   },

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

@@ -33,4 +33,9 @@ class MemberController extends Backend
         parent::__construct();
         $this->service = new MemberService();
     }
+
+    public function edit()
+    {
+        return $this->service->edit($this->userId);
+    }
 }

+ 13 - 8
app/Services/Common/MemberService.php

@@ -40,23 +40,27 @@ class MemberService extends BaseService
      * @since 2020/11/11
      * @author laravel开发员
      */
-    public function edit()
+    public function edit($marketUid=0)
     {
         // 请求参数
         $data = request()->all();
         // 头像处理
-        $avatar = trim($data['avatar']);
-        if (strpos($avatar, "temp")) {
-            $data['avatar'] = save_image($avatar, 'member');
-        } else {
-            $data['avatar'] = str_replace(IMG_URL, "", $data['avatar']);
+        if(isset($data['avatar'])){
+            $avatar = trim($data['avatar']);
+            if (strpos($avatar, "temp")) {
+                $data['avatar'] = save_image($avatar, 'member');
+            } else {
+                $data['avatar'] = str_replace(IMG_URL, "", $data['avatar']);
+            }
         }
+
         // 出生日期
-        if ($data['birthday']) {
+        if (isset($data['birthday'])) {
             $data['birthday'] = strtotime($data['birthday']);
         }
+
         // 城市处理
-        $city = isset($data['city']) ? $data['city'] : [3];
+        $city = isset($data['city']) ? $data['city'] : [];
         if (!empty($data['city'])) {
             // 省份
             $data['province_id'] = $city[0];
@@ -66,6 +70,7 @@ class MemberService extends BaseService
             $data['district_id'] = $city[2];
         }
         unset($data['city']);
+        $data['market_uid'] = $marketUid;
         return parent::edit($data); // TODO: Change the autogenerated stub
     }