Merge remote-tracking branch 'origin/cloud' into dev0731

This commit is contained in:
yujicun
2023-07-31 17:08:33 +08:00
13 changed files with 93 additions and 38 deletions

View File

@@ -3,38 +3,52 @@ import ajax from './boeAjax';
//const baseURL = process.env.VUE_APP_CESOURCE_BASE_API; //const baseURL = process.env.VUE_APP_CESOURCE_BASE_API;
const baseURL ="/userbasic"; const baseURL ="/userbasic";
/**【未使用】用于本地测试*/
const login = function() {
return ajax.post(baseURL,'/org/userParentOrg',{});
}
/** 2023年6月新增加退出接口*/
const logout = function() {
return ajax.postJson(baseURL,'/logout',{from:'pc'});
}
/** /**
* 获取用户的组织机构 * 【此接口已经不再使用】获取用户的组织机构
* organization_id * organization_id
*/ */
const userParentOrg = function() { const userParentOrg = function() {
return ajax.post(baseURL,'/org/userParentOrg',{}); return ajax.post(baseURL,'/org/userParentOrg',{});
} }
//https://u-pre.boe.com/userbasic/org/list
/** /**
* /userbasic/org/list
* 根据关键字查询机构 * 根据关键字查询机构
*/ */
const findOrgsByKeyword = function(keyword) { const findOrgsByKeyword = function(keyword) {
return ajax.postJson(baseURL,'/org/list',{keyword}); return ajax.postJson(baseURL,'/org/list',{keyword});
} }
/**
* 【此接口已经不再使用】
*/
const findOrgTreeByOrgId = function(orgId) { const findOrgTreeByOrgId = function(orgId) {
return ajax.postJson(baseURL,'/org/childOrgs',{orgId}); return ajax.postJson(baseURL,'/org/childOrgs',{orgId});
} }
/** 获取机构信息 */
const getOrgInfo = function(orgId) { const getOrgInfo = function(orgId) {
return ajax.postJson(baseURL,'/org/info',{orgId}); return ajax.postJson(baseURL,'/org/info',{orgId});
} }
/**根据用户id获取用户的信息*/ /**【已接口已经不再使用】根据用户id获取用户的信息*/
const getUserInfoById = function(id) { const getUserInfoById = function(id) {
return ajax.postJson(baseURL,'/user/list',{id}); return ajax.postJson(baseURL,'/user/list',{id});
} }
/** /**
* https://u-pre.boe.com/userbasic/audience/userAudiences * https://u-pre.boe.com/userbasic/audience/userAudiences
* 获取当前用户受众信息 * 【当前代码中未查询到】获取当前用户受众信息
*/ */
const getUserCrowds = function() { const getUserCrowds = function() {
return ajax.postJson(baseURL,'/audience/userAudiences',{}); return ajax.postJson(baseURL,'/audience/userAudiences',{});
@@ -49,14 +63,15 @@ const getUserAudiences = function(data) {
} }
/** /**
* 获取hrbp数据 * 重要接口,获取hrbp数据,课程审核。
* 此接口中的问题返回的机构名称namePath要是orgId的邮件中体现
*/ */
const getOrgHrbpInfo = function(orgId) { const getOrgHrbpInfo = function(orgId) {
return ajax.postJson(baseURL,'/org/orgHrbpInfo',{orgId}); return ajax.postJson(baseURL,'/org/orgHrbpInfo',{orgId});
} }
/** /**
* 修改密码,不再使用,已转化为userbasic接口 * 修改密码已转化为userbasic接口
* {newPassword:'',oldPassword:''} * {newPassword:'',oldPassword:''}
*/ */
const modifyPassword = function(data) { const modifyPassword = function(data) {
@@ -68,6 +83,26 @@ const getInAudienceIds = function() {
return ajax.post(baseURL,'/audience/audienceByUser',{}); return ajax.post(baseURL,'/audience/audienceByUser',{});
} }
/**
* 2023年6月新增加
* 更新用户信息,当前只是列新三个信息,根据aid来更新
* aid
* avatar
* sign
*/
const updateUser = function(data) {
return ajax.postJson(baseURL,'/user/updateUserMessage',data);
}
/**
* 2023年6月新增加
* 根据用户的id集合获取用户的姓名工号头像组织机构签名等信息
* ids: 用户的id数组集合
*/
const getUsersByIds = function(ids) {
return ajax.postJson(baseURL,'/user/getUserMessageToDai',ids);
}
export default { export default {
userParentOrg, userParentOrg,
findOrgsByKeyword, findOrgsByKeyword,
@@ -78,5 +113,8 @@ export default {
getUserAudiences, getUserAudiences,
getOrgHrbpInfo, getOrgHrbpInfo,
modifyPassword, modifyPassword,
getInAudienceIds getInAudienceIds,
getUsersByIds,
updateUser,
logout
} }

View File

@@ -53,9 +53,11 @@ const formRequest=axios.create({
return res.data return res.data
}else{ }else{
if(code === 401){ if(code === 401){
store.dispatch('LogOut').then(() => { // store.dispatch('LogOut').then(() => {
location.href = this.webBaseUrl + ReLoginUrl; // location.href = this.webBaseUrl + ReLoginUrl;
}) // })
console.error('',res.data);
return Promise.reject(new Error('接口返回未登录'))
}else if(code===403){ }else if(code===403){
var msg='当前操作没有权限'; var msg='当前操作没有权限';
Message({message: msg, type: 'error'}); Message({message: msg, type: 'error'});

View File

@@ -1484,6 +1484,7 @@ export default {
aid:rs.result.id, aid:rs.result.id,
orgId:rs.result.orgId orgId:rs.result.orgId
} }
//下面的机构名称,路径不对,应该取课程的资源归属(机构)的路径
postData.course.orgName=rs.result.orgNamePath+'/'+rs.result.orgName; postData.course.orgName=rs.result.orgNamePath+'/'+rs.result.orgName;
apiCourse.submitCourse(postData).then(res => { apiCourse.submitCourse(postData).then(res => {
//this.btnLoading=false; //this.btnLoading=false;

View File

@@ -91,7 +91,7 @@
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item><router-link to="/index">学员</router-link></el-dropdown-item> <el-dropdown-item><router-link to="/index">学员</router-link></el-dropdown-item>
<el-dropdown-item v-if="identity == 2 || identity == 5" @click.native="setCurIdentity(2)"><router-link to="/need/waitaudit">教师</router-link></el-dropdown-item> <el-dropdown-item v-if="identity == 2 || identity == 5" @click.native="setCurIdentity(2)"><router-link to="/need/waitaudit">教师</router-link></el-dropdown-item>
<el-dropdown-item v-if="identity == 3 || identity == 5" @click.native="setCurIdentity(3)"><router-link to="/course/manage">管理员</router-link></el-dropdown-item> <el-dropdown-item v-if="identity == 3 || identity == 5" ><a :href="managerPath+'/learningpath'">管理员</a></el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
@@ -171,6 +171,8 @@ export default {
data() { data() {
return { return {
popupConfig:{}, popupConfig:{},
ctx:process.env.VUE_APP_PUBLIC_PATH,
managerPath:process.env.VUE_APP_MANAGER_PATH,
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL, fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
findType: '1', findType: '1',
keyword: '', keyword: '',
@@ -296,8 +298,7 @@ export default {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}) }).then(() => {
.then(() => {
this.$store.dispatch('LogOut').then(() => { this.$store.dispatch('LogOut').then(() => {
//location.href = this.webBaseUrl + '/login'; //location.href = this.webBaseUrl + '/login';
sessionStorage.setItem('dialog_session_show'+this.userInfo.aid,null); // 清除兴趣采集的"关闭"缓存 sessionStorage.setItem('dialog_session_show'+this.userInfo.aid,null); // 清除兴趣采集的"关闭"缓存

View File

@@ -48,7 +48,7 @@
<div style="margin-top:10px"> <div style="margin-top:10px">
<router-link to="/study/index"><span :class="{identity:true,active:curIdentity==1}" @click="setCurIdentity(1)">学员</span></router-link> <router-link to="/study/index"><span :class="{identity:true,active:curIdentity==1}" @click="setCurIdentity(1)">学员</span></router-link>
<router-link to="/teacher/index"><span v-if="identity == 2 || identity == 5" :class="{identity:true,active:curIdentity==2}" @click="setCurIdentity(2)">教师</span></router-link> <router-link to="/teacher/index"><span v-if="identity == 2 || identity == 5" :class="{identity:true,active:curIdentity==2}" @click="setCurIdentity(2)">教师</span></router-link>
<span v-if="identity == 3 || identity == 5" :class="{identity:true,active:curIdentity==3}" @click="setCurIdentity(3)">管理员</span> <span v-if="identity == 3 || identity == 5" :class="{identity:true,active:curIdentity==3}" ><a :href="managerPath+'/learningpath'">管理员</a></span>
</div> </div>
</div> </div>
</div> </div>
@@ -103,6 +103,8 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
}, },
data(){ data(){
return { return {
ctx:process.env.VUE_APP_PUBLIC_PATH,
managerPath:process.env.VUE_APP_MANAGER_PATH,
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL, fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
isTest:false, isTest:false,
statData:{ statData:{

View File

@@ -8,18 +8,6 @@
<template v-if="device!=='mobile'"> <template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" /> <search id="header-search" class="right-menu-item" />
<el-tooltip content="源码地址" effect="dark" placement="bottom">
<a href="https://gitee.com/joolun/JooLun-wx" target="_blank" class="right-menu-item hover-effect">
<i class="el-icon-connection"></i>
</a>
</el-tooltip>
<el-tooltip content="访问官网" effect="dark" placement="bottom">
<a href="http://www.joolun.com/" target="_blank" class="right-menu-item hover-effect">
<i class="el-icon-house"></i>
</a>
</el-tooltip>
<screenfull id="screenfull" class="right-menu-item hover-effect" /> <screenfull id="screenfull" class="right-menu-item hover-effect" />
<el-tooltip content="布局大小" effect="dark" placement="bottom"> <el-tooltip content="布局大小" effect="dark" placement="bottom">

View File

@@ -56,7 +56,7 @@
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item><router-link to="/index">学员</router-link></el-dropdown-item> <el-dropdown-item><router-link to="/index">学员</router-link></el-dropdown-item>
<el-dropdown-item v-if="identity == 2 || identity == 5" @click.native="setCurIdentity(2)"><router-link to="/need/waitaudit">教师</router-link></el-dropdown-item> <el-dropdown-item v-if="identity == 2 || identity == 5" @click.native="setCurIdentity(2)"><router-link to="/need/waitaudit">教师</router-link></el-dropdown-item>
<el-dropdown-item v-if="identity == 3 || identity == 5" @click.native="setCurIdentity(3)"><router-link to="/course/manage">管理员</router-link></el-dropdown-item> <el-dropdown-item v-if="identity == 3 || identity == 5" @click.native="setCurIdentity(3)"><a :href="managerPath+'/learningpath'">管理员</a></el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
@@ -182,6 +182,7 @@ export default {
return { return {
uClassShow: false, uClassShow: false,
isTiao:false, isTiao:false,
managerPath:process.env.VUE_APP_MANAGER_PATH,
interestShow:false, interestShow:false,
checked:true, checked:true,
signInShow: false, signInShow: false,

View File

@@ -41,7 +41,7 @@ router.beforeEach((to, from, next) => {
// 判断当前控制台是否已拉取完数据 // 判断当前控制台是否已拉取完数据
store.dispatch('InitData').then(res => { store.dispatch('InitData').then(res => {
//加载白名单信息 //加载白名单信息
testUser.init(); //testUser.init();
//加载信息资源归属,系统分类信息 //加载信息资源归属,系统分类信息
store.dispatch('resOwner/loadResOwners'); store.dispatch('resOwner/loadResOwners');
store.dispatch('sysType/loadSysTypes'); store.dispatch('sysType/loadSysTypes');

View File

@@ -7,6 +7,7 @@ import apiCourse from "@/api/modules/course.js";
import apiBoeCourse from "@/api/boe/course.js"; import apiBoeCourse from "@/api/boe/course.js";
import apiBoeLogout from "@/api/boe/login.js"; import apiBoeLogout from "@/api/boe/login.js";
import apiStat from "@/api/phase2/stat.js"; import apiStat from "@/api/phase2/stat.js";
import apiUserbasic from '@/api/boe/userbasic.js';
const user = { const user = {
state: { state: {
@@ -223,12 +224,11 @@ const user = {
// 退出系统 // 退出系统
LogOut({ commit, state }) { LogOut({ commit, state }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
apiBoeLogout.logout();
commit('SET_PERMISSIONS', []) commit('SET_PERMISSIONS', [])
removeToken() removeToken()
//resolve() //resolve()
//apiLogin.logout();
apiLogin.logout().then(() => { apiUserbasic.logout().then(() => {
resolve() resolve()
}).catch(error => { }).catch(error => {
reject(error) reject(error)

View File

@@ -7,6 +7,7 @@ const TokenKey = 'token'
export function getToken() { export function getToken() {
return Cookies.get(TokenKey) return Cookies.get(TokenKey)
} }
export function setToken(token) { export function setToken(token) {
return Cookies.set(TokenKey, token) return Cookies.set(TokenKey, token)
} }

View File

@@ -519,6 +519,16 @@
this.form.sign = this.signData.sign; this.form.sign = this.signData.sign;
this.signData.isEdit = false; this.signData.isEdit = false;
this.checkAndSendFinish(); this.checkAndSendFinish();
let upinfo={
aid:this.userInfo.aid,
sign:this.signData.sign,
avatar:''
}
apiUserBasic.updateUser(upinfo).then(rs=>{
if(rs.status!=200){
console.error('更新用户中心用户像头失败');
}
})
} else { } else {
this.$message.error('保存失败:'+res.message); this.$message.error('保存失败:'+res.message);
} }
@@ -658,6 +668,17 @@
this.$message.success("保存图片成功") this.$message.success("保存图片成功")
this.dialogVisibleAvatar=false; this.dialogVisibleAvatar=false;
this.checkAndSendFinish(); this.checkAndSendFinish();
//同步保存到用户中心的数据库
let upinfo={
aid:this.userInfo.aid,
sign:'',
avatar:this.form.account.avatar
}
apiUserBasic.updateUser(upinfo).then(rs=>{
if(rs.status!=200){
console.error('更新用户中心用户像头失败');
}
})
}else{ }else{
this.$message.error("保存图片失败") this.$message.error("保存图片失败")
} }