Browse Source

子site

dev
han\hanst 4 days ago
parent
commit
8656de409d
  1. 6
      src/api/factory/accessSite.js
  2. 6
      src/store/modules/user.js
  3. 1
      src/utils/index.js
  4. 27
      src/views/common/login.vue
  5. 8
      src/views/main.vue
  6. 3
      src/views/modules/recv/recv.vue

6
src/api/factory/accessSite.js

@ -10,3 +10,9 @@ export const saveUserAccessSiteList = data => createAPI(`/accessSite/saveUserAcc
* @param {Object} data - 包含用户名的参数对象
*/
export const getUserAuthorizedSites = data => createAPI(`accessSite/getUserAuthorizedSites`, 'post', data)
/**
* 根据用户名获取用户授权的子site编码集合
* @param {Object} data - 包含用户名的参数对象
*/
export const getUserAuthorizedSubSiteCodes = data => createAPI(`accessSite/getUserAuthorizedSubSiteCodes`, 'post', data)

6
src/store/modules/user.js

@ -9,7 +9,8 @@ export default {
userDev: false,
multiLanguage: '',
authControl: '',
linkedCustomerId: ''
linkedCustomerId: '',
subSiteCodeList: []
},
mutations: {
updateId (state, id) {
@ -35,6 +36,9 @@ export default {
},
updateAuthControl (state,authControl){
state.authControl = authControl
},
updateSubSiteCodeList (state, subSiteCodeList) {
state.subSiteCodeList = subSiteCodeList
}
}
}

1
src/utils/index.js

@ -53,6 +53,7 @@ export function treeDataTranslate (data, id = 'id', pid = 'parentId') {
*/
export function clearLoginInfo () {
Vue.cookie.delete('token')
localStorage.removeItem('userSubSiteCodeList')
store.commit('resetStore')
router.options.isAddDynamicMenuRoutes = false
}

27
src/views/common/login.vue

@ -94,7 +94,7 @@
<script>
import {searchSysLanguage} from "@/api/sysLanguage.js"
import {getUserAuthorizedSites} from "@/api/factory/accessSite.js"
import {getUserAuthorizedSites, getUserAuthorizedSubSiteCodes} from "@/api/factory/accessSite.js"
export default {
data() {
@ -170,6 +170,26 @@ export default {
this.$message.error('获取工厂列表失败');
})
},
// site使
cacheUserAuthorizedSubSiteCodes(userName, site) {
if (!userName || !userName.trim() || !site) {
this.$store.commit('user/updateSubSiteCodeList', [])
localStorage.setItem('userSubSiteCodeList', JSON.stringify([]))
return Promise.resolve([])
}
return getUserAuthorizedSubSiteCodes({ userName: userName.trim(), site: site }).then(({data}) => {
const sourceList = (data && data.code === 0) ? (data.data || []) : []
const subSiteCodeList = Array.from(new Set((sourceList || []).filter(item => !!item)))
this.$store.commit('user/updateSubSiteCodeList', subSiteCodeList)
localStorage.setItem('userSubSiteCodeList', JSON.stringify(subSiteCodeList))
return subSiteCodeList
}).catch(error => {
console.error('缓存子site编码失败:', error)
this.$store.commit('user/updateSubSiteCodeList', [])
localStorage.setItem('userSubSiteCodeList', JSON.stringify([]))
return []
})
},
dataFormSubmit() {
if (!this.selectedSite) {
this.$message.error('请选择工厂');
@ -194,8 +214,9 @@ export default {
localStorage.setItem('site', this.selectedSite);
this.$store.commit('user/updateSite', this.selectedSite);
this.$router.replace({ name: 'home' });
this.cacheUserAuthorizedSubSiteCodes(this.dataForm.userName, this.selectedSite).finally(() => {
this.$router.replace({ name: 'home' });
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'

8
src/views/main.vue

@ -463,6 +463,14 @@ export default {
this.userName = data.user.username
this.languageDefault = data.user.languageDefault
this.userDisplay = data.user.userDisplay
let userSubSiteCodeList = []
try {
const cacheValue = JSON.parse(localStorage.getItem('userSubSiteCodeList') || '[]')
userSubSiteCodeList = Array.isArray(cacheValue) ? cacheValue : []
} catch (e) {
userSubSiteCodeList = []
}
this.$store.commit('user/updateSubSiteCodeList', userSubSiteCodeList)
}
})
},

3
src/views/modules/recv/recv.vue

@ -260,9 +260,10 @@ export default {
// loading
this.loadingText = '搜索中...';
this.fullscreenLoading = true;
getPoList({ poNumber: this.scanCode,site: this.site }).then(({ data }) => {
if (data.code === 0) {
/*let subSiteCodeList = localStorage.getItem('userSubSiteCodeList') ;
let subSiteCodeList2 = this.$store.state.user.subSiteCodeList;*/
this.poList = data.rows
} else {
this.$message.error(data.msg || '操作失败');

Loading…
Cancel
Save