zhaoxiaoqiang
2023-04-14 a5604d778ca31451a95d8dabdf94f7ebc78e5c55
src/store/index.js
@@ -26,7 +26,8 @@
    SET_BCJBCOLORF,
    SET_BCJBCOLORB,
    SET_DEFAULT_BG_COLOR,
    SET_LAST_COLOR
    SET_LAST_COLOR,
    HNORNX_TYPE,
} from './mutations-types';
Vue.use(Vuex);
@@ -46,12 +47,11 @@
        },
        msgCount: {},
        inviteCode: '', //邀请码
        lastColor:'#423d5d',
        backColor:'#896EDB',//主题色
        backJbColorF:'#8F6AFF',//主题渐变色
        backJbColorB:'#9459EC',
        defaultBgColor:'linear-gradient(180deg, #554E7A, #423D5D)',
        lastColor: '#423d5d',
        backColor: '#896EDB',//主题色
        backJbColorF: '#8F6AFF',//主题渐变色
        backJbColorB: '#9459EC',
        defaultBgColor: 'linear-gradient(180deg, #554E7A, #423D5D)',
    },
    getters: {
        orgType(state) {
@@ -63,28 +63,26 @@
    },
    mutations,
    actions: {
        loginByAppToken({ commit, dispatch }, { vm, appToken, backUrl, next }){
        loginByAppToken({ commit, dispatch }, { vm, appToken, backUrl, next }) {
            sessionStorage.appToken = appToken;
            sessionStorage.backUrl = backUrl;
            let p = new Promise(function(resolve,reject){
                Vue.prototype.$api.loginByMerToken({
                    token:appToken
                }).then(res=>{
            let p = new Promise(function (resolve, reject) {
                Vue.prototype.$api.loginByMerToken({token: appToken  }).then(res => {
                    sessionStorage.jumpUrl = res.body.clientAccessDomain;
                    let lastLoginMgrId = res.body.lastLoginMgrId
                    let sessionId = res.body.sessionId
                    commit(SET_SESSION_ID, sessionId);
                    if(lastLoginMgrId){
                    if (lastLoginMgrId) {
                        resolve(lastLoginMgrId)
                    }else{
                    } else {
                        next('/app/changeMer')
                    }
                })
            })
            p.then(lastLoginMgrId=>{
            p.then(lastLoginMgrId => {
                sessionStorage.sid = lastLoginMgrId;
                Vue.prototype.$api.getPowerInfo(lastLoginMgrId).then(res=>{
                    commit(SET_USER_INFO,res.body)
                Vue.prototype.$api.getPowerInfo(lastLoginMgrId).then(res => {
                    commit(SET_USER_INFO, res.body)
                    next('/app/home')
                })
            })
@@ -95,14 +93,10 @@
            Vue.prototype.$api.loginByToken({
                token: hjToken
            }).then(res => {
                sessionStorage.jumpUrl = res.body.clientAccessDomain;
                let lastLoginMgrId = res.body.lastLoginMgrId
                let sessionId = res.body.sessionId
                commit(SET_SESSION_ID, sessionId);
                if (lastLoginMgrId) {
                    dispatch('setUserMenu', { vm, lastLoginMgrId, next })
                } else {
@@ -114,17 +108,17 @@
                }
            })
        },
        loginByOpenId({ commit, dispatch },{ vm, loginType, verCode, mblNo,merId,wechatOpenId,userId, next}){
        loginByOpenId({ commit, dispatch }, { vm, loginType, verCode, mblNo, merId, wechatOpenId, userId, next }) {
            Vue.prototype.$api.loginByOpenId({
                loginType:loginType,
                verCode:verCode,
                mblNo:mblNo,
                merId:merId,
                wechatOpenId:wechatOpenId,
                userId:userId
              }).then(res=>{
                if(mblNo){
                  localStorage.sib_wx_mblNo = mblNo
                loginType: loginType,
                verCode: verCode,
                mblNo: mblNo,
                merId: merId,
                wechatOpenId: wechatOpenId,
                userId: userId
            }).then(res => {
                if (mblNo) {
                    localStorage.sib_wx_mblNo = mblNo
                }
                sessionStorage.isLoginByOpenId = 1
                localStorage.sib_wx_openId = wechatOpenId
@@ -132,24 +126,24 @@
                // localStorage.sib_wx_mblNo = res.body.mblNo
                // localStorage.sib_wx_userId = res.body.userId
                commit(SET_SESSION_ID, res.body.sessionId);
                if(res.body.isRegister == 1){
                if (res.body.isRegister == 1) {
                    vm.$router.push({
                        path:'/supplement',
                        query:{
                            storeList:JSON.stringify(res.body.storeList)
                        path: '/supplement',
                        query: {
                            storeList: JSON.stringify(res.body.storeList)
                        }
                    })
                }else{
                    if(res.body.storeList.length == 1){
                } else {
                    if (res.body.storeList.length == 1) {
                        let lastLoginMgrId = res.body.storeList[0].id
                        dispatch('setUserMenu', { vm, lastLoginMgrId, next })
                    }
                    if(res.body.storeList.length > 1){
                    if (res.body.storeList.length > 1) {
                        vm.$router.push({
                            path:'/mine/toggle-identity',
                            query:{
                                title:'选择门店',
                                storeList:JSON.stringify(res.body.storeList)
                            path: '/mine/toggle-identity',
                            query: {
                                title: '选择门店',
                                storeList: JSON.stringify(res.body.storeList)
                            }
                        })
                    }
@@ -172,11 +166,11 @@
                //         }
                //     })
                // }
              })
            })
        },
        login({ commit, dispatch }, { vm, userNo, password, sib_mer_sysPlat, next }) {
            window.localStorage.clear()
            if(sessionStorage.isddxt == 1){
            if (sessionStorage.isddxt == 1) {
                window.document.title = '叮咚学堂'
            }
            let tmpPassword = md5(userNo + password);
@@ -215,39 +209,44 @@
        setUserMenu({ commit }, { vm, lastLoginMgrId, next }) {
            vm.$api.getPowerInfo(lastLoginMgrId).then(data => {
                let {
                    powerInfoVos,
                    orgType
                } = data.body;
                let { powerInfoVos, orgType } = data.body;
                let inviteCode = data.body.inviteCode;
                let footernav = []
                let userPage = []
                let path = ''
                commit(SET_INVITE_CODE, inviteCode);
                vm.$api.findProvNo().then(res => {
                    //  410000 河南 ,640000宁夏
                    commit(HNORNX_TYPE, res.body);
                    let nxOrHn = res.body;
                    let footerMenu = [
                        {
                            powerId: 100001,
                            icon: 'iconshuju_h',
                            Aicon: 'iconshuju',
                            label: '数据',
                            path: '/order/wxScore'
                        },
                        {
                            powerId: 100003,
                            icon: 'iconshenpi_h',
                            Aicon: 'iconshenpi',
                            label: '审批',
                            path: '/main/approve'
                        },
                let footerMenu = [
                    {
                        powerId: 100001,
                        icon: 'iconshuju_h',
                        Aicon: 'iconshuju',
                        label: '数据',
                        path: '/main/home'
                    },
                    {
                        powerId: 100003,
                        icon: 'iconshenpi_h',
                        Aicon: 'iconshenpi',
                        label: '审批',
                        path: '/main/approve'
                    },
                        {
                            powerId: 100006,
                            icon: 'icondingdan',
                            Aicon: 'icondingdan1',
                            label: '办单',
                            path:'/main/product'
                        },
                    {
                        powerId: 100006,
                        icon: 'icondingdan',
                        Aicon: 'icondingdan1',
                        label: '办单',
                        path: '/main/product'
                    },
                ]
                let userMenu = [
                    ]
                    let userMenu = [
                        {
                            powerId: 100004,
                            icon: 'iconshanghuguanli',
@@ -261,7 +260,7 @@
                            path: '/mine/channel'
                        }
                    ]
                    if(!window.localStorage.hjToken && sessionStorage.isLoginByOpenId != 1){
                    if (!window.localStorage.hjToken && sessionStorage.isLoginByOpenId != 1) {
                        userMenu.push({
                            powerId: 100005,
                            icon: 'iconzhanghaoguanli',
@@ -269,100 +268,73 @@
                            path: '/mine/account'
                        })
                    }
                    let footernav = []
                    let userPage = []
                    let path = ''
                powerInfoVos.map(item => {
                    footerMenu.map(child => {
                        if (item.powerId === child.powerId) {
                            if (child.powerId === 100001 || child.powerId === 100006) {
                                footernav.unshift(child);
                            } else {
                                footernav.push(child);
                    powerInfoVos.map(item => {
                        footerMenu.map(child => {
                            if (item.powerId === child.powerId) {
                                if (child.powerId === 100001 || child.powerId === 100006) {
                                    footernav.unshift(child);
                                } else {
                                    footernav.push(child);
                                }
                            }
                        }
                        });
                        userMenu.map(child => {
                            if (item.powerId === child.powerId) {
                                userPage.push(child);
                            }
                        });
                    });
                    userMenu.map(child => {
                        if (item.powerId === child.powerId) {
                            userPage.push(child);
                        }
                    });
                });
                console.log(userPage)
                //增加消息tabbar
                if (orgType != 1 && orgType != 2)
                    footernav.push({
                        powerId: 300000,
                        icon: 'iconxiaoxi_h',
                        Aicon: 'iconxiaoxi',
                        label: '消息',
                        path: '/main/message'
                        powerId: 200000,
                        icon: 'iconguanli_h',
                        Aicon: 'iconguanli',
                        label: '我的',
                        path: '/main/mine'
                    })
                if (orgType == 1 || orgType == 3 || orgType == 2) {
                    footernav.unshift({
                        powerId: 100006,
                        icon: 'iconchanpin_h',
                        Aicon: 'iconchanpin',
                        label: '首页',
                        path: '/main/product'
                    })
                }
                footernav.push({
                    powerId: 200000,
                    icon: 'iconguanli_h',
                    Aicon: 'iconguanli',
                    label: '我的',
                    path: '/main/mine'
                })
                    // 代理角色一定有商户管理、商户注册的菜单
                    if (orgType === 1 || orgType === 2) {
                        userPage.push({
                            icon: 'iconshanghuguanli',
                            label: '商户管理',
                            path: '/mine/mer-manager'
                        });
                        userPage.push({
                            icon: 'iconshanghuzhuce',
                            label: '商户注册',
                            path: '/user/register'
                        });
                    }
                    if (orgType === 1) {   // 代理角色新增门店管理功能
                        userPage.push({
                            powerId: 100004,
                            icon: 'iconshanghuguanli',
                            label: '门店管理',
                            path: '/mine/stores'
                        });
                    }
                    commit(SET_FOOTER_NAV, footernav);
                    commit(SET_USER_PAGE, userPage);
                    commit(SET_USER_INFO, data.body);
                    sessionStorage.sid = lastLoginMgrId;
                    // vm.$setItem('sid', mgrId);
                    if (orgType === 4) {
                        if (sessionStorage.isLoginByOpenId == 1) {
                            path = '/main/mine';
                        }
                        else {
                            path ='/main/product'
                        }
                // 代理角色一定有商户管理、商户注册的菜单
                if (orgType === 1 || orgType === 2) {
                    userPage.push({
                        icon: 'iconshanghuguanli',
                        label: '商户管理',
                        path: '/mine/mer-manager'
                    });
                    userPage.push({
                        icon: 'iconshanghuzhuce',
                        label: '商户注册',
                        path: '/user/register'
                    });
                }
                commit(SET_FOOTER_NAV, footernav);
                commit(SET_USER_PAGE, userPage);
                commit(SET_USER_INFO, data.body);
                sessionStorage.sid = lastLoginMgrId;
                // vm.$setItem('sid', mgrId);
                if (orgType === 4) {
                    if(sessionStorage.isLoginByOpenId == 1){
                    } else {
                        path = '/main/mine';
                    }
                    else{
                        path = '/main/product';
                    if (next) {
                        next(path)
                    } else {
                        vm.$router.push(path)
                    }
                });
                } else {
                    path = '/main/mine';
                }
                if (next) {
                    next(path)
                } else {
                    vm.$router.push(path)
                }
            });
        },
        // 获取地区列表
@@ -393,13 +365,12 @@
            })
        },
        // 设置主题色
        setColor({commit},{backColor,backJbColorF,backJbColorB,defaultBgColor, lastColor}){
            console.log('defaultBgColor:',defaultBgColor)
            commit(SET_BCAKCOLOR,backColor)
            commit(SET_BCJBCOLORF,backJbColorF)
            commit(SET_BCJBCOLORB,backJbColorB)
            commit(SET_DEFAULT_BG_COLOR,defaultBgColor)
            commit(SET_LAST_COLOR,lastColor)
        setColor({ commit }, { backColor, backJbColorF, backJbColorB, defaultBgColor, lastColor }) {
            commit(SET_BCAKCOLOR, backColor)
            commit(SET_BCJBCOLORF, backJbColorF)
            commit(SET_BCJBCOLORB, backJbColorB)
            commit(SET_DEFAULT_BG_COLOR, defaultBgColor)
            commit(SET_LAST_COLOR, lastColor)
        }
    },
    modules: {