@@ -1039,6 +1048,12 @@ export default {
selectedKeys: "sub17-3-2",
pagename: "员工学习数据",
},
+ {
+ href: "/trainingnewmanager",
+ openKeys: "sub17",
+ selectedKeys: "sub17-4",
+ pagename: "新任管理者培训数据",
+ },
{
href: "/oldsystemmanage",
openKeys: "sub18",
@@ -1177,7 +1192,6 @@ export default {
const getClientHeight = () => {
state.screenHeight = document.body.clientHeight;
};
-
onMounted(() => {
// console.log("11111", 1);
window.addEventListener("resize", getClientHeight, false);
diff --git a/src/components/drawers/project/ProjectEvalManage.vue b/src/components/drawers/project/ProjectEvalManage.vue
index d124f7cb..eef96c3e 100644
--- a/src/components/drawers/project/ProjectEvalManage.vue
+++ b/src/components/drawers/project/ProjectEvalManage.vue
@@ -430,10 +430,7 @@ export default {
// 导出数据
function exportTaskStu() {
- if(!props.datasource.projectTaskId){
- props.datasource.projectTaskId = ''
- }
- window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskId=${props.datasource.projectTaskId}&taskType=${props.datasource.type}`)
+ window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskType=${props.datasource.type}`)
// window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?pageNo=${state.currentPage}&pageSize=${state.pageSize}¤tStageId=${props.datasource.stageId}&type=${1}&pid=${props.datasource.projectId}&taskId=${props.datasource.projectTaskId}&status=${state.name}&studentName=${state.projectName}`)
}
diff --git a/src/components/drawers/project/ProjectExamManage.vue b/src/components/drawers/project/ProjectExamManage.vue
index 8b7255a0..3a13aa2e 100644
--- a/src/components/drawers/project/ProjectExamManage.vue
+++ b/src/components/drawers/project/ProjectExamManage.vue
@@ -314,7 +314,7 @@ export default {
align: "center",
ellipsis: true,
className: "h",
- customRender: ({record:{status}}) => ({1:'已完成',0:'未开始',9:'已完成'}[status] || '未开始'),
+ customRender: ({record:{status}}) => ({2:'进行中',1:'未开始',9:'已完成'}[status] || '未开始'),
},
{
title: "操作",
diff --git a/src/components/drawers/router/RouterEvaluationManage.vue b/src/components/drawers/router/RouterEvaluationManage.vue
index c682cc3d..70ceb39c 100644
--- a/src/components/drawers/router/RouterEvaluationManage.vue
+++ b/src/components/drawers/router/RouterEvaluationManage.vue
@@ -428,11 +428,8 @@ export default {
// 导出数据
function exportTaskStu() {
- console.log(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.routerTaskId}&taskType=${props.datasource.type}`)
- if(!props.datasource.routerTaskId){
- props.datasource.routerTaskId = ''
- }
- window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.routerTaskId}&taskType=${props.datasource.type}`)
+ console.log(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`)
+ window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`)
// window.open(`${process.env.VUE_APP_BASE_API}/admin/student/exportTaskStudent?pageNo=${state.currentPage}&pageSize=${state.pageSize}¤tStageId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&taskId=${props.datasource.routerTaskId}&status=${state.name}&studentName=${state.projectName}`)
}
diff --git a/src/components/student/OnlineClassModelStudent.vue b/src/components/student/OnlineClassModelStudent.vue
index f33b0595..b4414a27 100644
--- a/src/components/student/OnlineClassModelStudent.vue
+++ b/src/components/student/OnlineClassModelStudent.vue
@@ -243,7 +243,7 @@ const columns = ref([
width: 80,
align: "center",
ellipsis: true,
- customRender: ({ record: { finishStatus } }) => finishStatus ? "已完成" : "未开始",
+ customRender: ({ record: { finishStatus } }) => finishStatus==9 ? "已完成" : finishStatus==2 ? "进行中": '未开始',
},
{
title: "操作",
diff --git a/src/components/student/TableStudent.vue b/src/components/student/TableStudent.vue
index 8b7769c0..91325888 100644
--- a/src/components/student/TableStudent.vue
+++ b/src/components/student/TableStudent.vue
@@ -441,6 +441,10 @@ const props = defineProps({
type: Object,
default: () => ({}),
},
+ remarksTrue: {
+ type: Boolean,
+ default: false,
+ }
});
const { loading: stuAsyncLoading, start } = useAsyncStu(props.id, props.type, getStuList);
@@ -540,7 +544,7 @@ const tablecolumns = ref([
title: "操作",
dataIndex: "operation",
key: "operation",
- width: 210,
+ width: 260,
align: "center",
slots: { customRender: "action" },
},
diff --git a/src/utils/zipdownload.js b/src/utils/zipdownload.js
index d42e85c2..710a8c3d 100644
--- a/src/utils/zipdownload.js
+++ b/src/utils/zipdownload.js
@@ -18,6 +18,18 @@ export function downLoadZip(str, filename) {
resolveBlob(res, mimeMap.zip,filename)
})
}
+const baseUrlManage = process.env.VUE_APP_BASE_API
+export function downLoadZipManage(str, filename) {
+ var url = baseUrlManage + str
+ axios({
+ method: 'get',
+ url: url,
+ responseType: 'blob',
+ headers: { 'Authorization': 'Bearer ' + getCookieForName("token") }
+ }).then(res => {
+ resolveBlob(res, mimeMap.xlsx,filename)
+ })
+}
/**
* 解析blob响应内容并下载
* @param {*} res blob响应内容
diff --git a/src/views/evaluation/evaluationUpload.vue b/src/views/evaluation/evaluationUpload.vue
index 86b879f2..7a442fd1 100644
--- a/src/views/evaluation/evaluationUpload.vue
+++ b/src/views/evaluation/evaluationUpload.vue
@@ -878,6 +878,7 @@ import {downLoadZip} from "@/utils/zipdownload";
bg_remarks: false,
checkclick: [],
permissionId:'',
+ perWorkNum: '',
filesList:[],
tableData:[],
tableData1:[],
@@ -1285,6 +1286,7 @@ import {downLoadZip} from "@/utils/zipdownload";
await updateStatus({status:1,id:record.id}).then((res)=>{
if(res.code === 200){
message.success('禁用成功')
+ getByUserIds(record.workNum)
saveListItem()
listData()
}
@@ -1297,6 +1299,7 @@ import {downLoadZip} from "@/utils/zipdownload";
deleteId({id:record.id}).then((res)=>{
if(res.code === 200){
message.success('删除成功')
+ getByUserIds(record.workNum)
saveListItem()
listData()
}
@@ -1307,6 +1310,7 @@ import {downLoadZip} from "@/utils/zipdownload";
const updateAuthority = (record) => {
state.bg_power = true
state.permissionId = record.id
+ state.perWorkNum = record.workNum
if(record.permission){
state.checkclick = record.permission.split(',')
}
@@ -1439,7 +1443,9 @@ import {downLoadZip} from "@/utils/zipdownload";
successIds:state.saveNotUpload?state.sussessIds.length!=0?state.sussessIds.split(','):null:null
}).then((res)=>{
if(res.status == 500){
- message.error('测评标题和报告名称不一致')
+ if(res.message){
+ message.error(res.message)
+ }
state.uploadDownLoad = false
state.uploadStatusType = false
}
@@ -1447,6 +1453,9 @@ import {downLoadZip} from "@/utils/zipdownload";
state.uploadDownLoad = false
state.bg_check = false
}
+ }).catch(err=>{
+ state.uploadDownLoad = false
+ state.uploadStatusType = false
})
}
if(state.uploadStatusType){
@@ -1711,7 +1720,9 @@ import {downLoadZip} from "@/utils/zipdownload";
}
//添加权限确定
const addSettingUp = async () => {
- await savePermission({userList:[state.saveList],pid:state.saveListPid})
+ if(JSON.stringify(state.saveList) !== '{}'){
+ await savePermission({userList:[state.saveList],pid:state.saveListPid})
+ }
saveListItem()
of_addsetting()
listData()
@@ -1725,21 +1736,22 @@ import {downLoadZip} from "@/utils/zipdownload";
state.bg_power2 = false
state.powerStatus = {}
state.permissionId = ''
+ state.perWorkNum = ''
state.checkclick = []
}
- const getByUserIds = async () => {
- // const roleCode = userInfo.value
- // const roleId = roleCode.roleList.find(item=>item.roleCode=='quiz-admin') || null
- // const isQuizAdmin = roleId ? 1 : 0
- // await getByUserId({loginId:roleCode.userId,roleId,isQuizAdmin}).then(res=>{
-
- // })
+ const getByUserIds = async (workNum) => {
+ await getByUserId({workNum,}).then(res=>{
+ // if(res.code == 200){
+ // console.log(res.data,'workUnum')
+ // }
+ })
}
const powerTrue = async () => {
state.powerStatus.permission = state.checkclick.join(",")
if(state.permissionId){
await updateStatus({id:state.permissionId,permission:state.checkclick.join(",")}).then((res)=>{
saveListItem()
+ getByUserIds(state.perWorkNum)
})
}
listData()
@@ -1749,9 +1761,9 @@ import {downLoadZip} from "@/utils/zipdownload";
await updateStatus({status:0,id:record.id}).then((res)=>{
if(res.code === 200){
message.success('启用成功')
+ getByUserIds(record.workNum)
listData()
saveListItem()
- getByUserIds()
}
})
}
diff --git a/src/views/gratefulteacher/CommonTeacher.vue b/src/views/gratefulteacher/CommonTeacher.vue
index d3779904..ef9809dc 100644
--- a/src/views/gratefulteacher/CommonTeacher.vue
+++ b/src/views/gratefulteacher/CommonTeacher.vue
@@ -360,6 +360,14 @@
type: String,
default: null,
},
+ permissionType:{
+ type: Number,
+ default: null,
+ },
+ examineId:{
+ type: String,
+ default: null
+ }
});
const projectSelectKeys = ref([]);
const projectSelectRows = ref([]);
@@ -590,6 +598,7 @@
//清空选择部门信息
const deleteDepSelect = () => {
stuSelectRows.value = [];
+ dataLists.value = []
selectedOrgKeys.value = [];
projectSelectKeys.value = [];
};
@@ -620,7 +629,21 @@
}
handleStageOk();
}
-
+ const dataLists = ref([])
+ watch(()=>stuSelectRows.value,(val)=>{
+ if(val.length!=0){
+ console.log(val,'val')
+ dataLists.value = val.map(item=>{
+ console.log(item,'item')
+ return{
+ examineId:props.examineId,
+ name:item.realName,
+ userNo:item.userNo,
+ departName:item.departName,
+ permissionType:props.permissionType}
+ })
+ }
+ })
function handleStageOk() {
if (props.type === 1 && props.groupId && (props.groupMemberCount < (props.groupMemberNumber * 1 + projectSelectRows.value.length + stuSelectRows.value.length))) {
return message.warning("添加小组学员超过最大值");
@@ -629,18 +652,7 @@
visiable.value = false;
emit("finash", false);
nameSearch.value.keyword = "";
- saveStu({
- targetId: props.id,
- type: props.type,
- clear: props.clear,
- deptIds: deptList.value?.map((e) => e.id),
- stageId: stageId.value,
- groupIds: auditSelectRows.value?.map((e) => e.id),
- studentList: stuSelectRows.value,
- projectList: projectSelectRows.value,
- groupName: props.groupName,
- groupId: props.groupId,
- }).then(() => {
+ addPermission(dataLists.value).then(() => {
deleteDepSelect();
emit("finash", true);
});
diff --git a/src/views/gratefulteacher/InstructorCertification.vue b/src/views/gratefulteacher/InstructorCertification.vue
index 04854441..0c4f60f0 100644
--- a/src/views/gratefulteacher/InstructorCertification.vue
+++ b/src/views/gratefulteacher/InstructorCertification.vue
@@ -1,5 +1,5 @@
\ No newline at end of file
diff --git a/src/views/learningpath/LevelAddDetail.vue b/src/views/learningpath/LevelAddDetail.vue
index 5a2f0e9c..94c3ab1c 100644
--- a/src/views/learningpath/LevelAddDetail.vue
+++ b/src/views/learningpath/LevelAddDetail.vue
@@ -163,6 +163,10 @@
任务列表
+
+
{{switchList?'自由学习模式':'顺序学习模式'}}
+
+
@@ -547,7 +551,7 @@ function deleteTask(element, index) {
},
});
}
-
+const switchList = ref(false)
const showChangeModal = () => {
if (routerInfo.value?.chapterList?.length <= 1) {
message.warning("请添加关卡!");
diff --git a/src/views/projectcenter/TaskAdd.vue b/src/views/projectcenter/TaskAdd.vue
index bf7da452..4056a9e0 100644
--- a/src/views/projectcenter/TaskAdd.vue
+++ b/src/views/projectcenter/TaskAdd.vue
@@ -119,6 +119,10 @@
任务列表
+
+
{{projectInfo?.projectInfo?.unlockMode == 1 ?'自由学习模式':'顺序学习模式'}}
+
+
@@ -418,7 +422,7 @@ import {TASK_TYPE} from "@/utils/const";
import {request} from "@/api/request";
import {PROJECT_DETAIL_MODIFY, PROJECT_RELEASE} from "@/api/apis";
import dialog from "@/utils/dialog";
-
+import { editProjectModel } from "@/api/indexLearningPath";
const route = useRoute();
const courseRef = ref({})
const visiblene = ref(false);
@@ -460,6 +464,7 @@ function changeStageIndex(index) {
const getTask = async () => {
await api.getDraftTask({projectId: route.query.projectId}).then((res) => {
projectInfo.value = res.data.data
+ projectInfo.value.projectInfo.unlockMode == 1 ? switchList.value = true : switchList.value = false
console.log("获取任务列表:" + JSON.stringify(projectInfo.value) )
});
};
@@ -467,7 +472,11 @@ const getTask = async () => {
const editTaskForType = (ele, index) => {
courseRef.value['el' + ele.type].openDrawer(index, ele)
};
-
+const switchList = ref(false)
+watch(()=>switchList.value,(newVal)=>{
+ newVal ? projectInfo.value.projectInfo.unlockMode = 1 : projectInfo.value.projectInfo.unlockMode = 2
+ editProjectModel(projectInfo.value.projectInfo)
+})
const showChangeModal = () => {
if (projectInfo.value?.stageList?.length <= 1) {
message.warning("请添加阶段!");
@@ -1420,6 +1429,21 @@ const openCourse = (ele) => {
color: #000000;
margin-top: 10px;
}
+ .taskmain_switch{
+ position: absolute;
+ top: 0;
+ right: 268px;
+ width: 150px;
+ height: 40px;
+ border-radius: 8px;
+ cursor: pointer;
+ text-align: center;
+ line-height: 40px;
+
+ .taskmain_switch_text{
+ margin-right: 10px;
+ }
+ }
.btn {
position: absolute;
diff --git a/src/views/projectcenter/TaskPage.vue b/src/views/projectcenter/TaskPage.vue
index a4c0ed38..eebfca37 100644
--- a/src/views/projectcenter/TaskPage.vue
+++ b/src/views/projectcenter/TaskPage.vue
@@ -827,6 +827,7 @@
:stage="stage"
:visable="tabFlag"
:groupList="groupList"
+ :remarksTrue="remarksTrue"
>
换组
+ 修改备注
+
@@ -2347,6 +2353,43 @@
+
+
+
+
+
+
\ No newline at end of file