chen 3 rokov pred
rodič
commit
b604ee126d

+ 32 - 27
src/api/user.js

@@ -1,65 +1,70 @@
-
-import request from '@/utils/request'
+import request from "@/utils/request";
 
 // 登录
 export function login(params) {
   return request({
-    url: '/admin/user/login',
-    method: 'post',
-    params
-  })
+    url: "/admin/user/login",
+    method: "post",
+    params,
+  });
 }
 
 // 获取用户信息
 export function getInfo(userid) {
   return request({
-    url: '/admin/user/detail',
-    method: 'get',
-    params: { adminUserId: userid }
-  })
+    url: "/admin/user/detail",
+    method: "get",
+    params: { adminUserId: userid },
+  });
 }
 
 // 动态路由
 export function getRouter(params) {
   return request({
     url: `/admin/user/module/list`,
-    method: 'get',
-    params
-  })
+    method: "get",
+    params,
+  });
 }
 
 // 退出登录
 export function logout() {
   return request({
-    url: '/admin/user/logout',
-    method: 'post'
-  })
+    url: "/admin/user/logout",
+    method: "post",
+  });
 }
 
 // 动态路由
 export function getCode() {
   return request({
-    url: '/admin/user/imageVerification',
-    method: 'get',
-  })
+    url: "/admin/user/imageVerification",
+    method: "get",
+  });
 }
 
 // 获取轮播图
 
-
 export function getList() {
   return request({
-    url: '/record/list',
-    method: 'get',
-  })
+    url: "/record/list",
+    method: "get",
+  });
 }
 
 // 公司列表
 
-
 export function getCompanyList() {
   return request({
-    url: '/record/company/list',
-    method: 'get',
-  })
+    url: "/record/company/list",
+    method: "get",
+  });
+}
+// 登录时发送验证码
+export function getAdminUserSmsCode(params) {
+  return request({
+    url: "/admin/user/smsCode",
+    method: "post",
+    params,
+  });
 }

+ 20 - 17
src/views/basic_data/dealer/dealer_stock.vue

@@ -250,7 +250,7 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="二级区域" prop="twoParentId">
+        <el-form-item label="二级区域" prop="">
           <el-select
             filterable
             class="selectStyle"
@@ -267,7 +267,7 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="三级区域" prop="threeParentId"
+        <el-form-item label="三级区域" prop=""
           ><el-select
             class="selectStyle"
             v-model="addForm.threeParentId"
@@ -351,12 +351,12 @@ export default {
         oneParentId: [
           { required: true, message: "请选择一级区域", trigger: "blur" },
         ],
-        twoParentId: [
-          { required: true, message: "请选择二级区域", trigger: "blur" },
-        ],
-        threeParentId: [
-          { required: true, message: "请选择三级区域", trigger: "blur" },
-        ],
+        // twoParentId: [
+        //   { required: true, message: "请选择二级区域", trigger: "blur" },
+        // ],
+        // threeParentId: [
+        //   { required: true, message: "请选择三级区域", trigger: "blur" },
+        // ],
         serviceId: [
           { required: true, message: "请选择业务员", trigger: "blur" },
         ],
@@ -386,6 +386,7 @@ export default {
     this.getAdminWebsit(1);
     this.getList({ pageNum: 1, pageSize: 10 });
     this.getDealerDataList({ pageNum: 1, pageSize: -1 });
+    this.getUserList(1);
     // this.getSelectList({ sysDictEnum: "PRODUCT_TYPE" });
   },
   computed: {},
@@ -419,18 +420,13 @@ export default {
           parentId: newValue,
           // mainId: this.mainId,
         });
+        this.getUserList(newValue);
         this.threeList = res.data;
       }
     },
     "addForm.threeParentId": async function (newValue) {
       if (newValue) {
-        let res = await getAdminUserList({
-          pageNum: 1,
-          pageSize: -1,
-          isCustomer: 0,
-          adminWebsitId: newValue,
-        });
-        this.userList = res.data.records;
+        this.getUserList(newValue);
       }
     },
   },
@@ -472,8 +468,14 @@ export default {
       this.dialogForm = true;
     },
     //获取业务员数据
-    async getUserList() {
-      // await getAdminUserList({ pageNum: 1 });
+    async getUserList(v) {
+      let res = await getAdminUserList({
+        pageNum: 1,
+        pageSize: -1,
+        isCustomer: 0,
+        adminWebsitId: v,
+      });
+      this.userList = res.data.records;
     },
     //根据父级查询部门
     async getAdminWebsit(data) {
@@ -558,6 +560,7 @@ export default {
         this.$message.success("添加成功");
       }
       this.addForm.customerId = "";
+      this.addForm.customerNumber = "";
       this.addForm.customerName = "";
       this.addForm.customerWalletId = "";
       this.addForm.oneParentId = "";

+ 102 - 17
src/views/login/index.vue

@@ -34,19 +34,20 @@
                   <div
                     class="title-item"
                     :class="acitve == 'pas' ? 'acitve' : ''"
-                    @click="hanleTabs('pas')"
+                    @click="hanleTabs('pas', 'account')"
                   >
                     密码登录
                   </div>
                   <div
                     class="title-item"
                     :class="acitve == 'wei' ? 'acitve' : ''"
-                    @click="hanleTabs('wei')"
+                    @click="hanleTabs('wei', 'mobile')"
                   >
-                    微信登录
+                    手机号登录
                   </div>
                 </div>
                 <transition name="slide">
+                  <!-- 密码登录 -->
                   <div v-if="acitve == 'pas'">
                     <el-form-item prop="username" class="input-box">
                       <span class="svg-container">
@@ -152,20 +153,84 @@
                       >
                     </div>
                   </div>
-                  <div v-else class="wei">
-                    <div style="width: 250px; height: 250px">
-                      <!-- <el-image
-                      style="width: 250px; height: 250px"
-                      :src="require('@/assets/login/icon_001.png')"
-                      fit="contain "
-                    ></el-image> -->
+                  <!-- 手机号登录 -->
+                  <div v-else class="pas">
+                    <el-form-item prop="username" class="input-box">
+                      <span class="svg-container">
+                        <el-image
+                          style="width: 20px; height: 20px"
+                          :src="require('@/assets/login/icon_001.png')"
+                          fit="contain "
+                        ></el-image>
+                      </span>
+                      <el-input
+                        ref="username"
+                        v-model="loginForm.username"
+                        placeholder="请输入手机号"
+                        name="username"
+                        type="text"
+                        tabindex="1"
+                        auto-complete="on"
+                      />
+                    </el-form-item>
+                    <div class="input-box">
+                      <el-form-item prop="codeValue">
+                        <span class="svg-container">
+                          <el-image
+                            style="width: 20px; height: 20px"
+                            :src="require('@/assets/login/icon_003.png')"
+                            fit="contain "
+                          ></el-image>
+                        </span>
+                        <el-input
+                          ref="codeValue"
+                          v-model="loginForm.codeValue"
+                          placeholder="请输入验证码"
+                          name="codeValue"
+                          type="text"
+                          tabindex="3"
+                          auto-complete="off"
+                          @keyup.enter.native="handleLogin"
+                        />
+                      </el-form-item>
+                      <div class="code" @click.stop="getCode">
+                        <img
+                          :src="'data:image/jpeg;base64,' + codeImage"
+                          alt=""
+                        />
+                      </div>
                     </div>
-                    <div>
-                      <div class="wei-item-tip">使用手机微信扫码登录</div>
-                      <div class="wei-item-text">
-                        网页版微信需要配合手机使用
+                    <div class="input-box">
+                      <el-form-item prop="smsCode">
+                        <span class="svg-container">
+                          <el-image
+                            style="width: 20px; height: 20px"
+                            :src="require('@/assets/login/icon_003.png')"
+                            fit="contain "
+                          ></el-image>
+                        </span>
+                        <el-input
+                          ref="smsCode"
+                          v-model="loginForm.smsCode"
+                          placeholder="请输入短信验证码"
+                          name="smsCode"
+                          type="text"
+                          tabindex="3"
+                          auto-complete="off"
+                        />
+                      </el-form-item>
+                      <div class="code2" @click.stop="getSmsCode">
+                        <el-button>获取验证码</el-button>
                       </div>
                     </div>
+                    <div class="button-container">
+                      <el-button
+                        :loading="loading"
+                        type="primary"
+                        @click.native.prevent="handleLogin"
+                        >登录</el-button
+                      >
+                    </div>
                   </div>
                 </transition>
               </div>
@@ -201,7 +266,12 @@
 <script>
 import { validUsername } from "@/utils/validate";
 import Cookies from "js-cookie";
-import { getCode, getCompanyList, getList } from "@/api/user";
+import {
+  getCode,
+  getCompanyList,
+  getList,
+  getAdminUserSmsCode,
+} from "@/api/user";
 
 export default {
   name: "Login",
@@ -234,6 +304,8 @@ export default {
         password: "",
         code: "",
         codeValue: "",
+        smsCode: "",
+        loginType: "account",
       },
       loginRules: {
         username: [
@@ -280,6 +352,10 @@ export default {
     this.getCompanyList();
   },
   methods: {
+    //获取短信验证码
+    async getSmsCode() {
+      await getAdminUserSmsCode({ mobile: this.loginForm.username });
+    },
     // 获取验证码
     getCode() {
       getCode().then((res) => {
@@ -298,8 +374,9 @@ export default {
         this.banner = res.data;
       });
     },
-    hanleTabs(val) {
+    hanleTabs(val, type) {
       this.acitve = val;
+      this.loginForm.loginType = type;
     },
     // 显示隐藏密码
     showPwd() {
@@ -551,7 +628,7 @@ $light_gray: #eee;
   align-items: center;
   margin: 0 30px;
   cursor: pointer;
-  font-size: 24px;
+  font-size: 22px;
   color: #666666;
   line-height: 40px;
   border-bottom: 3px solid #ffffff;
@@ -685,6 +762,14 @@ $light_gray: #eee;
       height: 30px;
     }
   }
+  .code2 {
+    position: absolute;
+    right: 0;
+    top: -1px;
+    .el-button {
+      height: 50px;
+    }
+  }
 
   .button-container {
     text-align: center;