dedsudiyu 2 년 전
부모
커밋
bd5b558109

+ 16 - 0
src/api/login.js

@@ -9,6 +9,22 @@ export function login(username, password, code, uuid, userType) {
   })
 }
 
+export function phoneLogin(data) {
+  return request({
+    url: '/auth/login',
+    method: 'post',
+    data: data
+  })
+}
+//获取验证码
+export function sendCode(username) {
+  return request({
+    url: '/auth/send/code',
+    method: 'post',
+    data: { username }
+  })
+}
+
 // 注册方法
 export function register(data) {
   return request({

+ 32 - 0
src/store/modules/user.js

@@ -67,6 +67,38 @@ const user = {
         })
       })
     },
+    LoginPhone({ commit }, userInfo) {
+      const username = userInfo.username.trim()
+      const password = userInfo.password
+      const code = userInfo.code
+      const uuid = userInfo.uuid
+      const userType = userInfo.userType
+      return new Promise((resolve, reject) => {
+        login(username, password, code, uuid, userType).then(res => {
+          if(res.code == 530 || res.code == 503 || res.code == 303){
+            resolve(res)
+            return
+          }
+          // if(userType == '99' && res.data.type == '99'){
+          //   // let token = res.data.access_token;
+          //   // let loginUrl = window.location.href;
+          //   // window.location.href = res.data.linkUrl + '?loginUrl=' + loginUrl + '&token=' + token;
+          //   // window.location.href = 'http://localhost:8080/#/index?loginUrl=' + loginUrl + '&token=' + token;   //本机测试用
+          //   // return
+          //   resolve(res)
+          // }
+          let data = res.data
+          localStorage.setItem('userId',data.user_id);
+          setToken(data.access_token)
+          commit('SET_TOKEN', data.access_token)
+          setExpiresIn(data.expires_in)
+          commit('SET_EXPIRES_IN', data.expires_in)
+          resolve(res)
+        }).catch(error => {
+          reject(error)
+        })
+      })
+    },
 
     // 获取用户信息
     GetInfo({ commit, state }) {

+ 174 - 10
src/views/loginOne.vue

@@ -18,15 +18,15 @@
           </p>
           <input type="text" v-model="loginForm.username" placeholder="请输入联系方式"
                  onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                 maxlength="11" @keyup.enter="handleLogin">
+                 maxlength="11">
         </div>
         <p class="text-p">{{text}}</p>
         <div class="code-input-box">
           <div class="code-input-left-box">
             <img src="@/assets/ZDimages/medicUniversity-3_1/code.png" alt="">
-            <input type="text" v-model="loginForm.code" placeholder="请输入验证码"
+            <input type="text" v-model="loginForm.password" placeholder="请输入验证码"
                    onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                   maxlength="6" @keyup.enter="handleLogin">
+                   maxlength="6">
           </div>
           <div class="login-code" @click="getCode">
             获取验证码
@@ -44,9 +44,6 @@
             <span v-if="!loading">登 录</span>
             <span v-else>登 录 中...</span>
           </el-button>
-          <div style="float: right;" v-if="register">
-            <router-link class="link-type" :to="'/register'">立即注册</router-link>
-          </div>
         </el-form-item>
       </el-form>
     </div>
@@ -55,14 +52,29 @@
 </template>
 
 <script>
-  import { getCodeImg,initPage } from "@/api/login";
+  import { getCodeImg,initPage,sendCode,phoneLogin } from "@/api/login";
+  import { getLogoInfo } from "@/api/system/publicConfig";
     export default {
       name: "login",
       data() {
         return {
           loading:false,
-          loginForm:{},
+          loginForm:{
+            username:"",
+            password:"",
+          },
+          text:"",
           rectangleLogo:localStorage.getItem('rectangleLogo'),
+          loginRules:{
+            username: [
+              { required: true, message: "请输入手机号码", trigger: "blur" },
+              { required: true, message: "请输入手机号码", validator: this.spaceJudgment, trigger: "blur" }
+            ],
+            password: [
+              { required: true, message: "请输入验证码", trigger: "blur" },
+              { required: true, message: "请输入验证码", validator: this.spaceJudgment, trigger: "blur" }
+            ],
+          },
         }
       },
       created(){
@@ -74,10 +86,137 @@
       },
       methods: {
         getCode(){
-
+          if(this.checkPhone(this.loginForm.username)){
+            sendCode(this.loginForm.username).then(response => {
+              if(response.code != 200){
+                this.text = "*"+response.msg;
+                if(response.code == 530){
+                  this.text = "*用户不存在";
+                }
+              }else {
+                this.text = "";
+                this.msgSuccess('发送成功');
+              }
+            });
+          }
+        },
+        //手机号验证
+        checkPhone(value) {
+          if (!value) {
+            this.text = '*请输入手机号码';
+            return false
+          } else {
+            const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/;
+            if (reg.test(value)) {
+              this.text = '';
+              console.log("*0")
+              return true
+            } else {
+              this.text = '*请输入正确的手机号码';
+              return false
+            }
+          }
         },
+        //登录
         handleLogin(){
-
+          let self = this;
+          console.log("0")
+          if(this.checkPhone(this.loginForm.username)&&this.loginForm.password){
+            this.text = "";
+            console.log("1")
+            this.$refs.loginForm.validate(valid => {
+              if (valid) {
+                console.log("2")
+                this.loading = true;
+                this.loginForm.authType = 'mobile'
+                this.$store.dispatch("LoginPhone", this.loginForm).then((res) => {
+                  if(res.code != 200){
+                    this.text = "*"+res.msg;
+                    if(res.code == 530){
+                      this.text = "*用户不存在";
+                    }else if(res.code == 503){
+                      this.text = "*验证码错误";
+                    }
+                    this.loading = false;
+                    return
+                  }
+                  if(res.data.reset_password){
+                    this.$confirm('账号当前登录密码为默认密码,是否现在修改?', "提示", {
+                      confirmButtonText: "确定",
+                      cancelButtonText: "取消",
+                      type: "warning"
+                    }).then(function() {
+                      let routeData = JSON.parse(localStorage.getItem("routeData"))
+                      for(let i=0;i<routeData.length;i++){
+                        if(!routeData[i].hidden&&routeData[i].name != 'Https://www.sxitdlc.com'){
+                          store.dispatch('settings/setPageName', routeData[i].meta.title)
+                          self.$store.commit("SET_SIDEBAR_ROUTERS", routeData[i].children);
+                          // self.$router.push({ path: '/mine' });
+                          self.$router.push({ path: '/comprehensive/system/mine' });
+                          // self.$router.push({ path: '/user/profile' });
+                          break
+                        }
+                      }
+                    }).then(() => {
+                    }).catch(() => {
+                    });
+                  }
+                  if(res.data.type){
+                    localStorage.setItem('userType',res.data.type)
+                    localStorage.setItem('userId',res.data.user_id)
+                    localStorage.setItem('identity',res.data.screen_token);
+                    localStorage.setItem('identityType',res.data.screen_type);
+                  }
+                  this.fullScreen();
+                  this.$router.push({ path: this.redirect || "/home" }).catch(()=>{});
+                }).catch(() => {
+                  this.loading = false;
+                });
+                // phoneLogin(this.loginForm).then(res => {
+                //   if(res.code != 200){
+                //     this.text = "*"+res.msg;
+                //     if(res.code == 530){
+                //       this.text = "*用户不存在";
+                //     }else if(res.code == 503){
+                //       this.text = "*验证码错误";
+                //     }
+                //     this.loading = false;
+                //     return
+                //   }
+                //   if(res.data.reset_password){
+                //     this.$confirm('账号当前登录密码为默认密码,是否现在修改?', "提示", {
+                //       confirmButtonText: "确定",
+                //       cancelButtonText: "取消",
+                //       type: "warning"
+                //     }).then(function() {
+                //       let routeData = JSON.parse(localStorage.getItem("routeData"))
+                //       for(let i=0;i<routeData.length;i++){
+                //         if(!routeData[i].hidden&&routeData[i].name != 'Https://www.sxitdlc.com'){
+                //           store.dispatch('settings/setPageName', routeData[i].meta.title)
+                //           self.$store.commit("SET_SIDEBAR_ROUTERS", routeData[i].children);
+                //           // self.$router.push({ path: '/mine' });
+                //           self.$router.push({ path: '/comprehensive/system/mine' });
+                //           // self.$router.push({ path: '/user/profile' });
+                //           break
+                //         }
+                //       }
+                //     }).then(() => {
+                //     }).catch(() => {
+                //     });
+                //   }
+                //   if(res.data.type){
+                //     localStorage.setItem('userType',res.data.type)
+                //     localStorage.setItem('userId',res.data.user_id)
+                //     localStorage.setItem('identity',res.data.screen_token);
+                //     localStorage.setItem('identityType',res.data.screen_type);
+                //   }
+                //   this.fullScreen();
+                //   this.$router.push({ path: this.redirect || "/home" }).catch(()=>{});
+                //   this.loading = false;
+                // })
+              }
+            });
+          }
         },
         //获取首页配置
         initPage(){
@@ -98,6 +237,31 @@
             localStorage.setItem('videoCover',response.data.videoCover)
           });
         },
+        //全屏
+        fullScreen() {
+          var element = document.documentElement;
+          if (element.requestFullscreen) {
+            element.requestFullscreen();
+          } else if (element.msRequestFullscreen) {
+            element.msRequestFullscreen();
+          } else if (element.mozRequestFullScreen) {
+            element.mozRequestFullScreen();
+          } else if (element.webkitRequestFullscreen) {
+            element.webkitRequestFullscreen();
+          }
+        },
+        //退出全屏
+        exitFullscreen() {
+          if (document.exitFullscreen) {
+            document.exitFullscreen();
+          } else if (document.msExitFullscreen) {
+            document.msExitFullscreen();
+          } else if (document.mozCancelFullScreen) {
+            document.mozCancelFullScreen();
+          } else if (document.webkitExitFullscreen) {
+            document.webkitExitFullscreen();
+          }
+        },
       }
     }
 </script>

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/OutboundRecord/index.vue

@@ -213,7 +213,7 @@
           return
         }
         let obj = {
-          url:row.closeLockVideo
+          url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
         }
         this.$set(this,'videoTitle','开关锁视频');
         this.$set(this,'videoData',obj);

+ 2 - 2
src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/warehousingRecord/index.vue

@@ -207,7 +207,7 @@
             return
           }
           let obj = {
-            url:row.joinVideo
+            url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.joinVideo
           }
           this.$set(this,'videoTitle','操作视频');
           this.$set(this,'videoData',obj);
@@ -218,7 +218,7 @@
             return
           }
           let obj = {
-            url:row.closeLockVideo
+            url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
           }
           this.$set(this,'videoTitle','开关锁视频');
           this.$set(this,'videoData',obj);

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/CabinetManagement/operationRecord.vue

@@ -133,7 +133,7 @@
         }
         let obj = {
           type:type,
-          url:row.unLockVideo
+          url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
         };
         // if(type == 1){
         //   obj.url = row.unLockVideo;

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartLocker/operationRecord.vue

@@ -133,7 +133,7 @@
         }
         let obj = {
           type:type,
-          url:row.closeLockVideo
+          url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
         }
         // if(type == 1){
         //   obj.url = row.unLockVideo;

+ 4 - 4
src/views/medicUniversity-3_1/chemicalManagement/usageRecord/infoPage.vue

@@ -178,7 +178,7 @@
             return
           }
           this.$set(this,'videoTitle','操作视频');
-          obj.url = this.infoData.outDetail.outVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.outDetail.outVideo;
         } else if(type == 2){
           //归还操作视频
           if(!this.infoData.returnDetail.returnVideo){
@@ -186,7 +186,7 @@
             return
           }
           this.$set(this,'videoTitle','操作视频');
-          obj.url = this.infoData.returnDetail.returnVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.returnDetail.returnVideo;
         } else if(type == 3){
           //领用开关锁视频
           if(!this.infoData.outDetail.outLockVideo){
@@ -194,7 +194,7 @@
             return
           }
           this.$set(this,'videoTitle','开关锁视频');
-          obj.url = this.infoData.outDetail.outLockVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.outDetail.outLockVideo;
         } else if(type == 4){
           //归还开关锁视频
           if(!this.infoData.returnDetail.returnLockVideo){
@@ -202,7 +202,7 @@
             return
           }
           this.$set(this,'videoTitle','开关锁视频');
-          obj.url = this.infoData.returnDetail.returnLockVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.returnDetail.returnLockVideo;
         }
         this.$set(this,'videoData',obj);
         this.videoType = true;

+ 1 - 1
src/views/studentViews/chemicalManagement/studentOutboundRecord/index.vue

@@ -207,7 +207,7 @@
           return
         }
         let obj = {
-          url:row.closeLockVideo
+          url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
         }
         this.$set(this,'videoTitle','开关锁视频');
         this.$set(this,'videoData',obj);

+ 4 - 4
src/views/studentViews/chemicalManagement/studentUsageRecord/infoPage.vue

@@ -172,7 +172,7 @@
             return
           }
           this.$set(this,'videoTitle','操作视频');
-          obj.url = this.infoData.outDetail.outVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.outDetail.outVideo;
         } else if(type == 2){
           //归还操作视频
           if(!this.infoData.returnDetail.returnVideo){
@@ -180,7 +180,7 @@
             return
           }
           this.$set(this,'videoTitle','操作视频');
-          obj.url = this.infoData.returnDetail.returnVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.returnDetail.returnVideo;
         } else if(type == 3){
           //领用开关锁视频
           if(!this.infoData.outDetail.outLockVideo){
@@ -188,7 +188,7 @@
             return
           }
           this.$set(this,'videoTitle','开关锁视频');
-          obj.url = this.infoData.outDetail.outLockVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.outDetail.outLockVideo;
         } else if(type == 4){
           //归还开关锁视频
           if(!this.infoData.returnDetail.returnLockVideo){
@@ -196,7 +196,7 @@
             return
           }
           this.$set(this,'videoTitle','开关锁视频');
-          obj.url = this.infoData.returnDetail.returnLockVideo;
+          obj.url = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + this.infoData.returnDetail.returnLockVideo;
         }
         this.$set(this,'videoData',obj);
         this.videoType = true;

+ 2 - 2
src/views/studentViews/chemicalManagement/studentWarehousingRecord/index.vue

@@ -201,7 +201,7 @@
             return
           }
           let obj = {
-            url:row.joinVideo
+            url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.joinVideo
           }
           this.$set(this,'videoTitle','操作视频');
           this.$set(this,'videoData',obj);
@@ -212,7 +212,7 @@
             return
           }
           let obj = {
-            url:row.closeLockVideo
+            url:window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_API + "/admin/" + row.closeLockVideo
           }
           this.$set(this,'videoTitle','开关锁视频');
           this.$set(this,'videoData',obj);