Эх сурвалжийг харах

旅客信息-验证一次

zhongxiaoyu 2 жил өмнө
parent
commit
ed65bf0334

+ 25 - 14
src/components/PassengerDialog/index.vue

@@ -21,15 +21,19 @@
         />
       </div>
       <div class="content">
-        <template v-if="!checked">
+        <template v-if="!userChecked">
           <el-form
             ref="checkForm"
             :model="checkForm"
             :rules="checkRules"
             class="check-form"
             label-position="left"
+            label-width="70px"
           >
-            <el-form-item prop="password">
+            <el-form-item
+              label="密码"
+              prop="password"
+            >
               <el-input
                 ref="password"
                 v-model="checkForm.password"
@@ -42,6 +46,7 @@
             </el-form-item>
             <div class="flex-wrap">
               <el-form-item
+                label="验证码"
                 prop="verificationCode"
                 class="flex1"
               >
@@ -65,6 +70,7 @@
         <template v-else>
           <div class="passenger-info-box">
             <img
+              v-show="!loading"
               :src="passengerImg"
               alt="旅客信息"
               title="旅客信息"
@@ -74,7 +80,7 @@
         </template>
       </div>
       <div
-        v-if="!checked"
+        v-if="!userChecked"
         class="footer"
       >
         <el-button
@@ -106,7 +112,7 @@ export default {
   name: 'PassengerDialog',
   components: { Dialog, Identify },
   computed: {
-    ...mapGetters(['passengerDialogFlag', 'passengerQueryParams'])
+    ...mapGetters(['passengerDialogFlag', 'passengerQueryParams', 'userChecked'])
   },
   data() {
     return {
@@ -119,17 +125,19 @@ export default {
         password: [{ required: true, trigger: 'blur', message: '请输入密码' }],
         verificationCode: [{ required: true, trigger: 'blur', message: '请输入验证码' }]
       },
-      checked: false,
       passengerImg: '',
       loading: false
     }
   },
   watch: {
     passengerDialogFlag(val) {
-      this.checked = false
       this.passengerImg = noDataImage
       if (val) {
-        this.getCheckCode()
+        if (this.userChecked) {
+          this.getPassengerInfo()
+        } else {
+          this.getCheckCode()
+        }
       }
     }
   },
@@ -161,19 +169,18 @@ export default {
       this.$refs['checkForm'].validate(async valid => {
         if (valid) {
           try {
-            this.loading = true
             await this.checkUser()
-            this.checked = true
+            this.$refs['checkForm']?.resetFields()
+            this.$store.dispatch('user/setUserChecked', true)
             await this.getPassengerInfo()
-            this.loading = false
           } catch (error) {
             this.$message.error(error?.message || '失败')
-            this.loading = false
           }
         }
       })
     },
     async checkUser() {
+      this.loading = true
       try {
         const { code, data, message } = await CheckUser({
           userId: getToken('userid'),
@@ -186,8 +193,10 @@ export default {
       } catch (error) {
         return Promise.reject(error.message)
       }
+      this.loading = false
     },
     async getPassengerInfo() {
+      this.loading = true
       try {
         const { passengerName, flightNO, flightDate } = this.passengerQueryParams
         const { code, data, message } = await GetPassengerInfo({
@@ -204,6 +213,7 @@ export default {
       } catch (error) {
         return Promise.reject(error.message)
       }
+      this.loading = false
     }
   }
 }
@@ -227,13 +237,14 @@ export default {
     }
     .passenger-info-box {
       width: 100%;
-      min-height: 180px;
+      height: 180px;
       padding: 20px;
+      text-align: center;
       .passenger-info-img {
-        margin: 0 auto;
         max-width: 100%;
         max-height: 100%;
-        object-fit: cover;
+        object-fit: contain;
+        vertical-align: middle;
       }
     }
   }

+ 2 - 1
src/store/getters.js

@@ -34,6 +34,7 @@ const getters = {
   clickedCells: state => state.keepAlive.clickedCells,
   savedPages: state => state.keepAlive.savedPages,
   passengerDialogFlag: state => state.app.passengerDialogFlag,
-  passengerQueryParams: state => state.app.passengerQueryParams
+  passengerQueryParams: state => state.app.passengerQueryParams,
+  userChecked: state => state.user.userChecked
 }
 export default getters

+ 110 - 94
src/store/modules/user.js

@@ -11,15 +11,16 @@ const getDefaultState = () => {
     roles: [],
     UserType: sessionStorage.getItem('UserType') ? sessionStorage.getItem('UserType') : '',
     UserId: sessionStorage.getItem('User_Id') ? sessionStorage.getItem('User_Id') : '',
-    userPoewrList: sessionStorage.getItem('userAuthList') ? JSON.parse(sessionStorage.getItem('userAuthList')) : []
+    userPoewrList: sessionStorage.getItem('userAuthList') ? JSON.parse(sessionStorage.getItem('userAuthList')) : [],
     // userPoewrList: sessionStorage.setItem('userAuthList') ? JSON.parse(sessionStorage.getItem('userAuthList')) : []
+    userChecked: !!sessionStorage.getItem('userChecked')
   }
 }
 
 const state = getDefaultState()
 
 const mutations = {
-  RESET_STATE: (state) => {
+  RESET_STATE: state => {
     Object.assign(state, getDefaultState())
   },
   SET_TOKEN: (state, token) => {
@@ -46,116 +47,128 @@ const mutations = {
   },
   SET_UserPoewrList: (state, arr) => {
     state.userPoewrList = arr
+  },
+  SET_USER_CHECKED(state, flag) {
+    state.userChecked = flag
+    if (flag) {
+      sessionStorage.setItem('userChecked', 1)
+    } else {
+      sessionStorage.clearItem('userChecked')
+    }
   }
 }
 
 const actions = {
   // user login
-  login ({ commit }, userInfo) {
+  login({ commit }, userInfo) {
     return new Promise((resolve, reject) => {
-      login(userInfo).then(response => {
-        const { date, token, userid } = response.data
-        commit('SET_TOKEN', token)
-        commit('SET_UserType', 1)
-        commit('SET_UserId', userid)
-        setToken("userName", userInfo.username);
-        setToken(TokenKey, token)
-        setUserId(userid)
-        setToken('userid', userid)
-        // let nowDate = new Date();
-        // let oldDate = new Date(date);
-        // let diffTime = oldDate - nowDate;
-        // setTimeout(function () {
-        //   resetToken()
-        // }, diffTime)
-        resolve()
-      }).catch(error => {
-        reject(error)
-      })
+      login(userInfo)
+        .then(response => {
+          const { date, token, userid } = response.data
+          commit('SET_TOKEN', token)
+          commit('SET_UserType', 1)
+          commit('SET_UserId', userid)
+          setToken('userName', userInfo.username)
+          setToken(TokenKey, token)
+          setUserId(userid)
+          setToken('userid', userid)
+          // let nowDate = new Date();
+          // let oldDate = new Date(date);
+          // let diffTime = oldDate - nowDate;
+          // setTimeout(function () {
+          //   resetToken()
+          // }, diffTime)
+          resolve()
+        })
+        .catch(error => {
+          reject(error)
+        })
     })
   },
 
   // get user info
-  getInfo ({ commit, state }) {
+  getInfo({ commit, state }) {
     return new Promise((resolve, reject) => {
       Query({
         id: DATACONTENT_ID.loginId,
         dataContent: [getToken('userid')]
-      }).then(res => {
-        if (res.code == 0) {
-          const { listValues } = res.returnData
-          const datas = listValues
-          if (datas && datas.length) {
-            const arrs = [];
-            for (const item of datas) {
-              if (item.ident) {
-                arrs.push(item.ident);
+      })
+        .then(res => {
+          if (res.code == 0) {
+            const { listValues } = res.returnData
+            const datas = listValues
+            if (datas && datas.length) {
+              const arrs = []
+              for (const item of datas) {
+                if (item.ident) {
+                  arrs.push(item.ident)
+                }
               }
+              // arrs.push('transit');
+              sessionStorage.setItem('userAuthList', JSON.stringify(arrs))
+              setTimeout(() => {
+                const data = {
+                  roles: arrs,
+                  introduction: '',
+                  avatar: '',
+                  name: getToken('userName'),
+                  token: state.token
+                }
+
+                const { name, avatar, roles } = data
+
+                commit('SET_NAME', name)
+                commit('SET_AVATAR', avatar)
+                commit('SET_ROLES', roles ? roles : ['admin'])
+                commit('SET_UserPoewrList', roles ? roles : ['admin'])
+                resolve(data)
+              }, 100)
+            } else {
+              sessionStorage.setItem('userAuthList', [])
+              setTimeout(() => {
+                const data = {
+                  roles: state.userPoewrList,
+                  introduction: '',
+                  avatar: '',
+                  name: getToken('userName'),
+                  token: state.token
+                }
+
+                const { name, avatar, roles } = data
+
+                commit('SET_NAME', name)
+                commit('SET_AVATAR', avatar)
+                commit('SET_ROLES', roles ? roles : ['admin'])
+                commit('SET_UserPoewrList', roles ? roles : ['admin'])
+                resolve(data)
+              }, 100)
             }
-            // arrs.push('transit');
-            sessionStorage.setItem('userAuthList', JSON.stringify(arrs));
-            setTimeout(() => {
-              const data = {
-                roles: arrs,
-                introduction: '',
-                avatar: '',
-                name: getToken("userName"),
-                token: state.token
-              }
-
-              const { name, avatar, roles } = data
-
-              commit('SET_NAME', name)
-              commit('SET_AVATAR', avatar)
-              commit('SET_ROLES', roles ? roles : ['admin'])
-              commit('SET_UserPoewrList', roles ? roles : ['admin'])
-              resolve(data)
-            }, 100);
           } else {
-            sessionStorage.setItem('userAuthList', []);
-            setTimeout(() => {
-              const data = {
-                roles: state.userPoewrList,
-                introduction: '',
-                avatar: '',
-                name: getToken("userName"),
-                token: state.token
-              }
-
-              const { name, avatar, roles } = data
-
-              commit('SET_NAME', name)
-              commit('SET_AVATAR', avatar)
-              commit('SET_ROLES', roles ? roles : ['admin'])
-              commit('SET_UserPoewrList', roles ? roles : ['admin'])
-              resolve(data)
-            }, 100);
+            reject(res.returnData)
           }
-        } else {
-          reject(res.returnData)
-        }
-      }).catch(err => {
-        reject(err)
-      })
+        })
+        .catch(err => {
+          reject(err)
+        })
     })
   },
 
   // user logout
-  logout ({ commit, state }) {
+  logout({ commit, state }) {
     return new Promise((resolve, reject) => {
       loginUp().then(result => {
         // sessionStorage.removeItem("userName");
         // sessionStorage.removeItem("UserType");
         // sessionStorage.removeItem("User_Id");
-        sessionStorage.clear();
-        removeToken(); // must remove  token  first
-        removeToken('codeToken');
-        removeToken('systemSet');
-        removeToken('userid');
-        resetRouter();
-        commit('RESET_STATE');
+        sessionStorage.clear()
+        removeToken() // must remove  token  first
+        removeToken('codeToken')
+        removeToken('systemSet')
+        removeToken('userid')
+        resetRouter()
+        commit('RESET_STATE')
         commit('SET_ROLES', [])
-        resolve();
+        resolve()
       })
 
       // logout(state.token).then(() => {
@@ -170,7 +183,7 @@ const actions = {
   },
 
   // remove token
-  resetToken ({ commit }) {
+  resetToken({ commit }) {
     return new Promise(resolve => {
       removeToken() // must remove  token  first
       commit('RESET_STATE')
@@ -179,20 +192,24 @@ const actions = {
     })
   },
 
-  setPowerList ({ commit }, arr) {
-    commit('SET_UserPoewrList', arr);
+  setPowerList({ commit }, arr) {
+    commit('SET_UserPoewrList', arr)
   },
 
-  setPowerToken ({ commit }, token) {
-    commit('SET_TOKEN', token);
+  setPowerToken({ commit }, token) {
+    commit('SET_TOKEN', token)
   },
 
-  setPowerName ({ commit }, name) {
-    commit('SET_NAME', name);
+  setPowerName({ commit }, name) {
+    commit('SET_NAME', name)
   },
 
-  setIsLogin ({ commit }, login) {
-    commit('SET_LOGIN', login);
+  setIsLogin({ commit }, login) {
+    commit('SET_LOGIN', login)
+  },
+  
+  setUserChecked({ commit }, flag) {
+    commit('SET_USER_CHECKED', flag)
   }
 }
 
@@ -202,4 +219,3 @@ export default {
   mutations,
   actions
 }
-

+ 8 - 4
src/views/advancedQuery/views/advancedHome.vue

@@ -902,7 +902,9 @@ export default {
     cellClass({ row, column, rowIndex, columnIndex }) {
       const classes = []
       if (
-        ['flightNO', 'passengerNameUpcase', 'bagSN', 'U_Device_ID', 'preFlightNO', 'transferFlightNO'].includes(column.property) &&
+        ['flightNO', 'passengerNameUpcase', 'bagSN', 'U_Device_ID', 'preFlightNO', 'transferFlightNO'].includes(
+          column.property
+        ) &&
         row[column.property] &&
         row[column.property] !== 'FBULK'
       ) {
@@ -922,7 +924,9 @@ export default {
     },
     cellClickHandler(row, column, cell, event) {
       if (
-        ['flightNO', 'passengerNameUpcase', 'bagSN', 'U_Device_ID', 'preFlightNO', 'transferFlightNO'].includes(column.property) &&
+        ['flightNO', 'passengerNameUpcase', 'bagSN', 'U_Device_ID', 'preFlightNO', 'transferFlightNO'].includes(
+          column.property
+        ) &&
         row[column.property] &&
         row[column.property] !== 'FBULK'
       ) {
@@ -1020,7 +1024,7 @@ export default {
         const azNum = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]*$/
         // const top2 = /^[a-zA-Z]{2}\w*$/
         const top2 = /^([a-zA-Z][0-9])|([0-9][a-zA-Z])|([a-zA-Z]{2})/
-        const num = /^[0-9]+$/
+        const bagNum = /^[0-9]{10}$/
         const bagNo = /^[a-zA-Z]{2}[0-9]{6}$/
         // 纯字母则为旅客姓名
         if (az.test(val)) {
@@ -1030,7 +1034,7 @@ export default {
           // 字母加数字且前两位为字母则为航班号
           this.form['flightNO'] = val
           this.onCheckGj(true)
-        } else if ((num.test(val) && val.length === 10) || (bagNo.test(val) && val.length > 7)) {
+        } else if (bagNum.test(val) || bagNo.test(val)) {
           // 纯数字且位数等于10则为行李牌号
           this.form['baggageNO'] = val
           this.onCheckGj(true)