浏览代码

Signed-off-by: 1004749546@qq.com <1004749546@qq.com>
登录修改

1004749546@qq.com 4 年之前
父节点
当前提交
8524ed3a1c

+ 5 - 3
src/api/login.js

@@ -4,7 +4,10 @@ import { axios } from '@/utils/request'
 export function login ({ username, password }) {
 export function login ({ username, password }) {
   return axios({
   return axios({
     url: '/login',
     url: '/login',
-    headers: { 'content-type': 'application/x-www-form-urlencoded' },
+    headers: {
+      'content-type': 'application/x-www-form-urlencoded',
+      'App-Type': 2
+    },
     data: `username=${username}&password=${password}`,
     data: `username=${username}&password=${password}`,
     method: 'post'
     method: 'post'
   }).then(res => res.data)
   }).then(res => res.data)
@@ -57,8 +60,7 @@ export function get2step (parameter) {
 // 修改密码
 // 修改密码
 export function changePwd (parameter) {
 export function changePwd (parameter) {
   return axios({
   return axios({
-    // url: '/user/changePWD',
-    url: 'employee/changePWD',
+    url: '/user/changePWD',
     method: 'post',
     method: 'post',
     data: parameter
     data: parameter
   })
   })

+ 80 - 79
src/config/router.config.js

@@ -48,9 +48,10 @@ export const asyncRouterMap = [
       name: 'AvailableCoupon',
       name: 'AvailableCoupon',
       meta: {
       meta: {
         title: '可用优惠券',
         title: '可用优惠券',
-        icon: 'gift'
-        // permission: 'M_setting_0'
+        icon: 'gift',
+        permission: 'M_coupon_0'
       },
       },
+      hideChildrenInMenu: true,
       children: [
       children: [
         {
         {
           path: '/AvailableCoupon/AvailableCoupon',
           path: '/AvailableCoupon/AvailableCoupon',
@@ -59,84 +60,84 @@ export const asyncRouterMap = [
           meta: { title: '可用优惠券', icon: 'gift' }
           meta: { title: '可用优惠券', icon: 'gift' }
         }
         }
       ]
       ]
-    },
-    {
-      path: '/auth',
-      redirect: '/auth/userList',
-      component: PageView,
-      meta: { title: '权限管理', icon: 'lock'
-        // permission: 'M_auth_0' ,
-      },
-      children: [
-        {
-          path: '/auth/userList',
-          name: 'powerUserList',
-          component: () => import(/* webpackChunkName: "auth" */ '@/views/power/user/userList.vue'),
-          meta: { title: '用户管理', icon: 'user'
-            // permission: 'M_auth_userList' ,
-          }
-        },
-        {
-          path: '/auth/roleList',
-          name: 'powerRoleList',
-          component: () => import(/* webpackChunkName: "auth" */ '@/views/power/role/roleList.vue'),
-          meta: { title: '角色管理', icon: 'solution'
-            // permission: 'M_auth_roleList',
-          }
-        },
-        {
-          path: '/menusAuth/menu',
-          name: 'powerMenu',
-          component: () => import(/* webpackChunkName: "auth" */ '@/views/power/menu/menu.vue'),
-          meta: {
-            title: '菜单管理',
-            icon: 'profile',
-            permission: 'M_menusAuth_menu'
-          }
-        }
-      ]
-    },
-    {
-      path: '/setting',
-      redirect: '/setting/userList',
-      component: PageView,
-      meta: {
-        title: '系统设置',
-        icon: 'setting'
-        // permission: 'M_setting_0'
-      },
-      children: [{
-        path: '/setting/dataDictionary',
-        name: 'powerDD',
-        component: () => import(/* webpackChunkName: "setting" */ '@/views/power/dataDictionary/dataDictionary.vue'),
-        meta: {
-          title: '数据字典管理',
-          icon: 'database'
-          // permission: 'M_sys_dataDictionary'
-        }
-      },
-      {
-        path: '/setting/register',
-        name: 'powerRegister',
-        component: () => import(/* webpackChunkName: "setting" */ '@/views/power/register/register.vue'),
-        meta: {
-          title: '参数管理',
-          icon: 'key'
-          // permission: 'M_sys_register'
-        }
-      },
-      {
-        path: '/setting/jobs',
-        name: 'powerJobs',
-        component: () => import(/* webpackChunkName: "setting" */ '@/views/power/job/jobs.vue'),
-        meta: {
-          title: '定时器',
-          icon: 'alert'
-          // permission: 'M_sys_job'
-        }
-      }
-      ]
     }
     }
+      //   {
+      //     path: '/auth',
+      //     redirect: '/auth/userList',
+      //     component: PageView,
+      //     meta: { title: '权限管理', icon: 'lock'
+      //       // permission: 'M_auth_0' ,
+      //     },
+      //     children: [
+      //       {
+      //         path: '/auth/userList',
+      //         name: 'powerUserList',
+      //         component: () => import(/* webpackChunkName: "auth" */ '@/views/power/user/userList.vue'),
+      //         meta: { title: '用户管理', icon: 'user'
+      //           // permission: 'M_auth_userList' ,
+      //         }
+      //       },
+      //       {
+      //         path: '/auth/roleList',
+      //         name: 'powerRoleList',
+      //         component: () => import(/* webpackChunkName: "auth" */ '@/views/power/role/roleList.vue'),
+      //         meta: { title: '角色管理', icon: 'solution'
+      //           // permission: 'M_auth_roleList',
+      //         }
+      //       },
+      //       {
+      //         path: '/menusAuth/menu',
+      //         name: 'powerMenu',
+      //         component: () => import(/* webpackChunkName: "auth" */ '@/views/power/menu/menu.vue'),
+      //         meta: {
+      //           title: '菜单管理',
+      //           icon: 'profile',
+      //           permission: 'M_menusAuth_menu'
+      //         }
+      //       }
+      //     ]
+      //   },
+      //   {
+      //     path: '/setting',
+      //     redirect: '/setting/userList',
+      //     component: PageView,
+      //     meta: {
+      //       title: '系统设置',
+      //       icon: 'setting'
+      //       // permission: 'M_setting_0'
+      //     },
+      //     children: [{
+      //       path: '/setting/dataDictionary',
+      //       name: 'powerDD',
+      //       component: () => import(/* webpackChunkName: "setting" */ '@/views/power/dataDictionary/dataDictionary.vue'),
+      //       meta: {
+      //         title: '数据字典管理',
+      //         icon: 'database'
+      //         // permission: 'M_sys_dataDictionary'
+      //       }
+      //     },
+      //     {
+      //       path: '/setting/register',
+      //       name: 'powerRegister',
+      //       component: () => import(/* webpackChunkName: "setting" */ '@/views/power/register/register.vue'),
+      //       meta: {
+      //         title: '参数管理',
+      //         icon: 'key'
+      //         // permission: 'M_sys_register'
+      //       }
+      //     },
+      //     {
+      //       path: '/setting/jobs',
+      //       name: 'powerJobs',
+      //       component: () => import(/* webpackChunkName: "setting" */ '@/views/power/job/jobs.vue'),
+      //       meta: {
+      //         title: '定时器',
+      //         icon: 'alert'
+      //         // permission: 'M_sys_job'
+      //       }
+      //     }
+      //     ]
+      //   }
     ]
     ]
   },
   },
   {
   {

+ 1 - 1
src/permission.js

@@ -10,7 +10,7 @@ import { ACCESS_TOKEN } from '@/store/mutation-types'
 
 
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
 
-const whiteList = ['login', 'register', 'registerResult', 'AvailableCoupon'] // no redirect whitelist
+const whiteList = ['login', 'register', 'registerResult'] // no redirect whitelist
 const defaultRoutePath = '/home'
 const defaultRoutePath = '/home'
 
 
 router.beforeEach((to, from, next) => {
 router.beforeEach((to, from, next) => {

+ 1 - 0
src/store/getters.js

@@ -5,6 +5,7 @@ const getters = {
   token: state => state.user.token,
   token: state => state.user.token,
   avatar: state => state.user.avatar,
   avatar: state => state.user.avatar,
   nickname: state => state.user.name,
   nickname: state => state.user.name,
+  storeName: state => state.user.storeName,
   welcome: state => state.user.welcome,
   welcome: state => state.user.welcome,
   roles: state => state.user.roles,
   roles: state => state.user.roles,
   userInfo: state => state.user.info,
   userInfo: state => state.user.info,

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

@@ -7,6 +7,7 @@ const user = {
   state: {
   state: {
     token: '',
     token: '',
     name: '',
     name: '',
+    storeName: '', // 网点名称
     welcome: '',
     welcome: '',
     avatar: '',
     avatar: '',
     roles: { permissionList: [] },
     roles: { permissionList: [] },
@@ -31,6 +32,9 @@ const user = {
     },
     },
     SET_INFO: (state, info) => {
     SET_INFO: (state, info) => {
       state.info = info
       state.info = info
+    },
+    SET_STORENAME: (state, storeName) => {
+      state.storeName = storeName
     }
     }
   },
   },
 
 
@@ -44,6 +48,7 @@ const user = {
           if (res.userid) {
           if (res.userid) {
             Vue.ls.set('hasError', 0)
             Vue.ls.set('hasError', 0)
             commit('SET_TOKEN', res.userid)
             commit('SET_TOKEN', res.userid)
+            commit('SET_STORENAME', res.orgName)
             commit('SET_NAME', { name: res.username, welcome: welcome() })
             commit('SET_NAME', { name: res.username, welcome: welcome() })
             commit('SET_AVATAR', res.avatar ? res.avatar : '')
             commit('SET_AVATAR', res.avatar ? res.avatar : '')
             Vue.ls.set('rolesAccess', { permissionList: res.permCodes }, 7 * 24 * 60 * 60 * 1000)
             Vue.ls.set('rolesAccess', { permissionList: res.permCodes }, 7 * 24 * 60 * 60 * 1000)
@@ -82,6 +87,7 @@ const user = {
           resolve(error)
           resolve(error)
         }).finally(() => {
         }).finally(() => {
           commit('SET_NAME', { name: '', welcome: '' })
           commit('SET_NAME', { name: '', welcome: '' })
+          commit('SET_STORENAME', '')
           commit('SET_AVATAR', '')
           commit('SET_AVATAR', '')
           commit('SET_TOKEN', '')
           commit('SET_TOKEN', '')
           commit('SET_ROLES', { permissionList: [] })
           commit('SET_ROLES', { permissionList: [] })

+ 3 - 3
src/views/AvailableCoupon/AvailableCoupon.vue

@@ -137,7 +137,7 @@ export default {
     flex-wrap: wrap;
     flex-wrap: wrap;
 
 
     .card-item {
     .card-item {
-      width: 21%;
+      width: 29%;
       background: #FFFFFF;
       background: #FFFFFF;
       border-radius: 5px;
       border-radius: 5px;
       box-shadow: 1px 2px 5px #999;
       box-shadow: 1px 2px 5px #999;
@@ -159,7 +159,7 @@ export default {
         color: #fff;
         color: #fff;
         >div {
         >div {
           &:first-child {
           &:first-child {
-            font-size: 28px;
+            font-size: 22px;
             height: 80px;
             height: 80px;
             display: flex;
             display: flex;
             align-items: center;
             align-items: center;
@@ -173,7 +173,7 @@ export default {
         flex: 1;
         flex: 1;
         >div {
         >div {
           &:first-child {
           &:first-child {
-            font-size: 18px;
+            font-size: 16px;
             margin-bottom: 5px;
             margin-bottom: 5px;
           }
           }
         }
         }

+ 23 - 10
src/views/AvailableCoupon/couponCode.vue

@@ -10,7 +10,7 @@
     >
     >
       <div class="pay-box">
       <div class="pay-box">
         <div class="title">
         <div class="title">
-          <span>优惠券</span>
+          <span>{{ storeName }}--领券中心</span>
         </div>
         </div>
         <div class="pay-info">
         <div class="pay-info">
           <span @click="getCodeUrl(1)" :class="[key==1?'checked':'']">未持卡客户</span>
           <span @click="getCodeUrl(1)" :class="[key==1?'checked':'']">未持卡客户</span>
@@ -19,10 +19,10 @@
         </div>
         </div>
         <div class="pay-video">
         <div class="pay-video">
           <div class="pay-flash">
           <div class="pay-flash">
-            <img :src="codeImg">
+            <img v-show="codeImg" :src="codeImg">
+            <a-spin class="spin" v-show="status=='loading'" tip="Loading...">
+            </a-spin>
           </div>
           </div>
-          <a-spin v-show="status=='loading'" tip="Loading...">
-          </a-spin>
         </div>
         </div>
         <div class="pay-button">
         <div class="pay-button">
           <a-button icon="sync" type="dashed" block @click="getCodeUrl(key)">刷新二维码</a-button>
           <a-button icon="sync" type="dashed" block @click="getCodeUrl(key)">刷新二维码</a-button>
@@ -34,6 +34,7 @@
 
 
 <script>
 <script>
 import { couponCode } from '@/api/coupon.js'
 import { couponCode } from '@/api/coupon.js'
+import { mapGetters } from 'vuex'
 export default {
 export default {
   name: 'CouponCode',
   name: 'CouponCode',
   props: {
   props: {
@@ -48,6 +49,9 @@ export default {
       }
       }
     }
     }
   },
   },
+  computed: {
+    ...mapGetters(['storeName'])
+  },
   data () {
   data () {
     return {
     return {
       key: 1, // 当前会员类型  未持卡客户:1  VIP持卡会员:2
       key: 1, // 当前会员类型  未持卡客户:1  VIP持卡会员:2
@@ -132,13 +136,22 @@ export default {
       }
       }
       .pay-flash{
       .pay-flash{
         width: 100%;
         width: 100%;
-        min-height: 100px;
-        #canvas{
-            width: 70%!important;
-            height: auto!important;
-          }
+        min-height: 260px;
+        position: relative;
+        // #canvas{
+        //     width: 70%!important;
+        //     height: auto!important;
+        //   }
         img{
         img{
-          border: 1px solid #eee;
+          width: 70%;
+          height: 100%;
+          // border: 1px solid #eee;
+        }
+        .spin{
+          position: absolute;
+          top: 40%;
+          left: 45%;
+          z-index: 999;
         }
         }
       }
       }
     }
     }

+ 28 - 28
src/views/user/Login.vue

@@ -184,36 +184,36 @@ export default {
     },
     },
     handleSubmit (e) {
     handleSubmit (e) {
       e.preventDefault()
       e.preventDefault()
-      this.$router.push({ name: 'AvailableCoupon' })
-      // const {
-      //   form: { validateFields },
-      //   state,
-      //   customActiveKey,
-      //   Login
-      // } = this
+      // this.$router.push({ name: 'AvailableCoupon' })
+      const {
+        form: { validateFields },
+        state,
+        customActiveKey,
+        Login
+      } = this
 
 
-      // state.loginBtn = true
-      // const validateFieldsKey = customActiveKey === 'tab1' ? ['username', 'password', 'rememberMe'] : ['mobile', 'captcha']
+      state.loginBtn = true
+      const validateFieldsKey = customActiveKey === 'tab1' ? ['username', 'password', 'rememberMe'] : ['mobile', 'captcha']
 
 
-      // validateFields(validateFieldsKey, { force: true }, (err, values) => {
-      //   if (!err) {
-      //     const loginParams = { ...values }
-      //     delete loginParams.username
-      //     loginParams[!state.loginType ? 'email' : 'username'] = values.username
-      //     loginParams.password = values.password
-      //     console.log(loginParams, 'loginParams')
-      //     Login(loginParams)
-      //       .then((res) => this.loginSuccess(res))
-      //       .catch(err => this.requestFailed(err))
-      //       .finally(() => {
-      //         state.loginBtn = false
-      //       })
-      //   } else {
-      //     setTimeout(() => {
-      //       state.loginBtn = false
-      //     }, 600)
-      //   }
-      // })
+      validateFields(validateFieldsKey, { force: true }, (err, values) => {
+        if (!err) {
+          const loginParams = { ...values }
+          delete loginParams.username
+          loginParams[!state.loginType ? 'email' : 'username'] = values.username
+          loginParams.password = values.password
+          console.log(loginParams, 'loginParams')
+          Login(loginParams)
+            .then((res) => this.loginSuccess(res))
+            .catch(err => this.requestFailed(err))
+            .finally(() => {
+              state.loginBtn = false
+            })
+        } else {
+          setTimeout(() => {
+            state.loginBtn = false
+          }, 600)
+        }
+      })
     },
     },
     getCaptcha (e) {
     getCaptcha (e) {
       e.preventDefault()
       e.preventDefault()