mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-21 16:56:46 +08:00
Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage into develop
This commit is contained in:
2
.env
2
.env
@@ -16,3 +16,5 @@ VUE_APP_IFRAME_STUDENT_URL=https://u-pre.boe.com/pc/loading
|
|||||||
|
|
||||||
# 课程二维码
|
# 课程二维码
|
||||||
VUE_APP_COURSE_STUDY=https://u-pre.boe.com/pc/course/studyindex?id=
|
VUE_APP_COURSE_STUDY=https://u-pre.boe.com/pc/course/studyindex?id=
|
||||||
|
# 导入学员模板
|
||||||
|
VUE_APP_TEMPLATE=https://u-pre.boe.com/upload/
|
||||||
|
|||||||
@@ -10,3 +10,5 @@ VUE_APP_IFRAME_URL=https://u.boe.com/pc/iframe
|
|||||||
VUE_APP_IFRAME_STUDENT_URL=https://u.boe.com/pc/loading
|
VUE_APP_IFRAME_STUDENT_URL=https://u.boe.com/pc/loading
|
||||||
|
|
||||||
VUE_APP_COURSE_STUDY=https://u.boe.com/pc/course/studyindex?id=
|
VUE_APP_COURSE_STUDY=https://u.boe.com/pc/course/studyindex?id=
|
||||||
|
|
||||||
|
VUE_APP_TEMPLATE=https://u-pre.boe.com/upload/
|
||||||
@@ -10,3 +10,5 @@ VUE_APP_IFRAME_URL=https://u.boe.com/pc-release/iframe
|
|||||||
VUE_APP_IFRAME_STUDENT_URL=https://u.boe.com/pc-release/loading
|
VUE_APP_IFRAME_STUDENT_URL=https://u.boe.com/pc-release/loading
|
||||||
|
|
||||||
VUE_APP_COURSE_STUDY=https://u.boe.com/pc-release/course/studyindex?id=
|
VUE_APP_COURSE_STUDY=https://u.boe.com/pc-release/course/studyindex?id=
|
||||||
|
|
||||||
|
VUE_APP_TEMPLATE=https://u-pre.boe.com/upload/
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: lixg lixg@dongwu-inc.com
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
* @Date: 2022-11-04 22:45:31
|
* @Date: 2022-11-04 22:45:31
|
||||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
* @LastEditTime: 2023-01-06 18:04:16
|
* @LastEditTime: 2023-01-07 16:53:23
|
||||||
* @FilePath: /fe-manage/src/api/index1.js
|
* @FilePath: /fe-manage/src/api/index1.js
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
@@ -173,5 +173,7 @@ export const batchFinishTask = (obj) => http.post('/admin/student/batchFinishTas
|
|||||||
//批量更新学员状态
|
//批量更新学员状态
|
||||||
export const batchUpdateStatus = (obj) => http.post('/admin/student/batchUpdateStatus', obj)
|
export const batchUpdateStatus = (obj) => http.post('/admin/student/batchUpdateStatus', obj)
|
||||||
// //面授课批量导入成绩
|
// //面授课批量导入成绩
|
||||||
export const batchImportScore = (offcoursePlanId, obj) =>
|
export const batchImportScore = (obj) =>
|
||||||
http.post(`/admin/offcourse/batchImportScore?offcoursePlanId=${offcoursePlanId}`, obj);
|
http.post('/admin/student/importHomeWork', obj, {
|
||||||
|
headers: { "Content-Type": "multipart/form-data" },
|
||||||
|
});
|
||||||
BIN
src/assets/images/leveladd/success.png
Normal file
BIN
src/assets/images/leveladd/success.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
187
src/components/Modals/ExportHomeWork.vue
Normal file
187
src/components/Modals/ExportHomeWork.vue
Normal file
@@ -0,0 +1,187 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: lixg lixg@dongwu-inc.com
|
||||||
|
* @Date: 2023-01-07 17:25:14
|
||||||
|
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||||
|
* @LastEditTime: 2023-01-07 17:43:55
|
||||||
|
* @FilePath: /fe-manage/src/components/Modals/ExportHomeWork.vue
|
||||||
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
:visible="exportHomeWorkV"
|
||||||
|
:footer="null"
|
||||||
|
wrapClassName="exportHomeWork"
|
||||||
|
centered="true"
|
||||||
|
>
|
||||||
|
<div class="delete">
|
||||||
|
<div class="del_header"></div>
|
||||||
|
<div class="del_main">
|
||||||
|
<div class="header">
|
||||||
|
<div class="icon"></div>
|
||||||
|
<span>提示</span>
|
||||||
|
<div class="close_exit" @click="clostModal"></div>
|
||||||
|
</div>
|
||||||
|
<div class="body">
|
||||||
|
<img
|
||||||
|
style="width: 40px; height: 40px; margin-bottom: 16px"
|
||||||
|
src="../../assets/images/leveladd/success.png"
|
||||||
|
/>
|
||||||
|
<span>作业导出完成,请下载本地或去下载中心查看</span>
|
||||||
|
</div>
|
||||||
|
<div class="del_btnbox">
|
||||||
|
<div class="del_btn btn1" @click="clostModal">
|
||||||
|
<div class="btnText">取消</div>
|
||||||
|
</div>
|
||||||
|
<div class="del_btn btn2" @click="downloadHomeWork">
|
||||||
|
<div class="btnText">确定</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { toRefs, reactive } from "vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "ProjectHomeWorkManage",
|
||||||
|
props: {
|
||||||
|
exportHomeWorkV: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup(props, ctx) {
|
||||||
|
const state = reactive({});
|
||||||
|
//关闭弹窗
|
||||||
|
const clostModal = () => {
|
||||||
|
ctx.emit("update:exportHomeWorkV", false);
|
||||||
|
};
|
||||||
|
// //下载作业
|
||||||
|
// const downloadHomeWork=()=>{
|
||||||
|
// // props.url
|
||||||
|
// }
|
||||||
|
console.log("props", props);
|
||||||
|
return {
|
||||||
|
...toRefs(state),
|
||||||
|
clostModal,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.exportHomeWork {
|
||||||
|
.ant-modal {
|
||||||
|
width: 424px !important;
|
||||||
|
height: 308px !important;
|
||||||
|
.ant-modal-content {
|
||||||
|
width: 424px !important;
|
||||||
|
height: 308px !important;
|
||||||
|
.ant-modal-body {
|
||||||
|
width: 424px !important;
|
||||||
|
height: 308px !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
.delete {
|
||||||
|
z-index: 999;
|
||||||
|
width: 424px;
|
||||||
|
height: 308px;
|
||||||
|
background: #ffffff;
|
||||||
|
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
|
||||||
|
border-radius: 4px;
|
||||||
|
// position: absolute;
|
||||||
|
// left: 50%;
|
||||||
|
// top: 10%;
|
||||||
|
// transform: translate(-50%, -50%);
|
||||||
|
.del_header {
|
||||||
|
position: absolute;
|
||||||
|
width: calc(100%);
|
||||||
|
height: 68px;
|
||||||
|
background: linear-gradient(
|
||||||
|
rgba(78, 166, 255, 0.2) 0%,
|
||||||
|
rgba(78, 166, 255, 0) 100%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
.del_main {
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
.header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-left: 26px;
|
||||||
|
font-size: 16px;
|
||||||
|
.icon {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 10px;
|
||||||
|
background-image: url(@/assets/images/taskpage/gan.png);
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
.close_exit {
|
||||||
|
position: absolute;
|
||||||
|
right: 42px;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
background-image: url(@/assets/images/coursewareManage/close.png);
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.body {
|
||||||
|
width: 100%;
|
||||||
|
margin: 34px auto 56px auto;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
// background-color: red;
|
||||||
|
position: relative;
|
||||||
|
.back {
|
||||||
|
position: absolute;
|
||||||
|
top: 30px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.del_btnbox {
|
||||||
|
display: flex;
|
||||||
|
margin: 30px auto;
|
||||||
|
justify-content: center;
|
||||||
|
.del_btn {
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
background: rgba(64, 158, 255, 0);
|
||||||
|
border-radius: 8px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
flex-shrink: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
.btnText {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn1 {
|
||||||
|
border: 1px solid rgba(64, 158, 255, 1);
|
||||||
|
color: #4ea6ff;
|
||||||
|
margin-right: 14px;
|
||||||
|
}
|
||||||
|
.btn2 {
|
||||||
|
background-color: #4ea6ff;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ant-modal-close-x {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="minatitl">
|
<div class="minatitl">
|
||||||
<div class="up1">请下载</div>
|
<div class="up1">请下载</div>
|
||||||
<div class="up2">模板</div>
|
<a class="up2" :href="template" style="course: pointer">模板</a>
|
||||||
<div class="up1">,按要求填写数据并导入</div>
|
<div class="up1">,按要求填写数据并导入</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="upload">
|
<div class="upload">
|
||||||
@@ -138,7 +138,10 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({});
|
const state = reactive({
|
||||||
|
template:
|
||||||
|
process.env.VUE_APP_TEMPLATE + "导入学员模版-1672998102528.xlsx",
|
||||||
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:AddImpStuvisible", false);
|
ctx.emit("update:AddImpStuvisible", false);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -28,10 +28,12 @@
|
|||||||
<div style="height: 176px; margin-bottom: 20px">
|
<div style="height: 176px; margin-bottom: 20px">
|
||||||
<a-upload-dragger
|
<a-upload-dragger
|
||||||
v-model:fileList="fileList"
|
v-model:fileList="fileList"
|
||||||
:action="BATCH_IMPORT_SCORE + '?offcoursePlanId=' + id"
|
action="/admin/student/importHomeWork"
|
||||||
name="file"
|
name="file"
|
||||||
:multiple="true"
|
:multiple="true"
|
||||||
|
:before-upload="beforeUpload"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
|
@customRequest="handleUpload"
|
||||||
>
|
>
|
||||||
<p class="ant-upload-drag-icon">
|
<p class="ant-upload-drag-icon">
|
||||||
<inbox-outlined></inbox-outlined>
|
<inbox-outlined></inbox-outlined>
|
||||||
@@ -60,8 +62,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="curloading">
|
<div class="curloading">
|
||||||
<div class="cur">55%</div>
|
<div class="cur">55%</div>
|
||||||
<div class="cancel" style="margin-left: 20px">暂停</div>
|
<!-- <div class="cancel" style="margin-left: 20px">暂停</div>
|
||||||
<div class="cancel" style="margin-left: 15px">取消</div>
|
<div class="cancel" style="margin-left: 15px">取消</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,10 +81,22 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="curloading">
|
<div class="curloading">
|
||||||
<div class="cur">55%</div>
|
<div class="cur">55%</div>
|
||||||
<div class="cancel" style="margin-left: 20px">暂停</div>
|
<div
|
||||||
<div class="cancel" style="margin-left: 15px">取消</div>
|
style="color: #387df7; margin-left: 20px; cursor: pointer"
|
||||||
|
>
|
||||||
|
下载失败数据
|
||||||
|
</div>
|
||||||
|
<!-- <div class="cancel" style="margin-left: 20px">暂停</div>
|
||||||
|
<div class="cancel" style="margin-left: 15px">取消</div> -->
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="defeat"
|
||||||
|
style="display: flex; align-items: center"
|
||||||
|
>
|
||||||
|
<div style="color: #ff7474">
|
||||||
|
20条数据导入成功,5条数据导入失败
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="defeat">下载失败数据</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="loadborder">
|
<div class="loadborder">
|
||||||
@@ -99,7 +113,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="curloading">
|
<div class="curloading">
|
||||||
<div class="cur">100%</div>
|
<div class="cur">100%</div>
|
||||||
<div class="cancel" style="margin-left: 20px">删除</div>
|
<!-- <div class="cancel" style="margin-left: 20px">删除</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -152,7 +166,7 @@ export default {
|
|||||||
const handleChange = (info) => {
|
const handleChange = (info) => {
|
||||||
console.log("info", info, props.id);
|
console.log("info", info, props.id);
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
console.log('我是文件上传的进度---------->',info.file.percent)
|
console.log("我是文件上传的进度---------->", info.file.percent);
|
||||||
}, 1000);
|
}, 1000);
|
||||||
const status = info.file.status;
|
const status = info.file.status;
|
||||||
if (status !== "uploading") {
|
if (status !== "uploading") {
|
||||||
@@ -162,24 +176,61 @@ export default {
|
|||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append("uploadFile", info.file);
|
formData.append("uploadFile", info.file);
|
||||||
// formData.append("offcoursePlanId", props.id);
|
// formData.append("offcoursePlanId", props.id);
|
||||||
console.log(info.file);
|
console.log("info.file", info.file);
|
||||||
api.batchImportScore(props.id, formData).then((res) => {
|
// api.batchImportScore(formData).then((res) => {
|
||||||
// if (res.data.code === 200) {
|
// // if (res.data.code === 200) {
|
||||||
// console.log('上传成功')
|
// // console.log('上传成功')
|
||||||
// }
|
// // }
|
||||||
console.log("上传成绩", res);
|
// console.log("上传成绩", res);
|
||||||
});
|
// });
|
||||||
message.success(`${info.file.name} file uploaded successfully.`);
|
message.success(`${info.file.name} file uploaded successfully.`);
|
||||||
} else if (status === "error") {
|
} else if (status === "error") {
|
||||||
message.error(`${info.file.name} file upload failed.`);
|
message.error(`${info.file.name} file upload failed.`);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const beforeUpload = (file) => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
// const isJpgOrPng =
|
||||||
|
// file.name.indexOf(".xlsx") !== "-1" ||
|
||||||
|
// file.name.indexOf(".xls") !== "-1";
|
||||||
|
|
||||||
|
// if (!isJpgOrPng) {
|
||||||
|
// message.destroy();
|
||||||
|
// message.error("仅支持xls、xlsx格式!");
|
||||||
|
// return reject(false);
|
||||||
|
// }
|
||||||
|
const formData = new FormData();
|
||||||
|
formData.append("uploadFile", file);
|
||||||
|
// let progress = { percent: 1 };
|
||||||
|
|
||||||
|
// const intervalId = setInterval(() => {
|
||||||
|
// if (progress.percent < 100) {
|
||||||
|
// progress.percent++;
|
||||||
|
// file.onProgress(progress);
|
||||||
|
// } else {
|
||||||
|
// clearInterval(intervalId);
|
||||||
|
// }
|
||||||
|
// }, 100);
|
||||||
|
api.batchImportScore(formData).then((res) => {
|
||||||
|
if (res.data.code === 200) {
|
||||||
|
console.log("上传成功", res);
|
||||||
|
return reject(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return reject(false);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const handleUpload = (e) => {
|
||||||
|
console.log("handleUpload", e);
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
handleChange,
|
handleChange,
|
||||||
BATCH_IMPORT_SCORE,
|
BATCH_IMPORT_SCORE,
|
||||||
|
beforeUpload,
|
||||||
|
handleUpload,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -284,12 +335,13 @@ export default {
|
|||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
position: relative;
|
position: relative;
|
||||||
.defeat {
|
.defeat {
|
||||||
|
width: 400px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 46px;
|
left: 46px;
|
||||||
top: 38px;
|
top: 38px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #ff7474;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
.img {
|
.img {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
|
|||||||
@@ -709,9 +709,7 @@ export default {
|
|||||||
process.env.VUE_APP_PROXY_URL
|
process.env.VUE_APP_PROXY_URL
|
||||||
}admin/student/exportTaskStudent?currentStageId=${
|
}admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.projectTaskInfo.stageId
|
props.projectTaskInfo.stageId
|
||||||
}&type=${1}&pid=${props.projectTaskInfo.projectId}&taskId=${
|
}&type=${1}&pid=${props.projectTaskInfo.projectId}&taskType=0`
|
||||||
props.projectTaskInfo.projectTaskId
|
|
||||||
}&taskType=${props.projectTaskInfo.type}`
|
|
||||||
);
|
);
|
||||||
// api
|
// api
|
||||||
// .exportTaskStudent({
|
// .exportTaskStudent({
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
<div class="img2"></div>
|
<div class="img2"></div>
|
||||||
<div class="wz">导出数据</div>
|
<div class="wz">导出数据</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2" @click="exportHomeWork">
|
<div class="btn btn2" @click="exportHomeWorkShow">
|
||||||
<div class="wz">导出作业</div>
|
<div class="wz">导出作业</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -165,6 +165,9 @@
|
|||||||
<CKWork v-model:CWvisible="CWvisible" />
|
<CKWork v-model:CWvisible="CWvisible" />
|
||||||
<!-- 查看答卷抽屉 -->
|
<!-- 查看答卷抽屉 -->
|
||||||
<CQue v-model:CQvisible="CQvisible" />
|
<CQue v-model:CQvisible="CQvisible" />
|
||||||
|
|
||||||
|
<!-- 导出作业提示框 -->
|
||||||
|
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -176,6 +179,7 @@ import CQue from "../CheckQue.vue";
|
|||||||
import EntryScores from "../EntryScores.vue";
|
import EntryScores from "../EntryScores.vue";
|
||||||
// import * as api from "../../../api/index";
|
// import * as api from "../../../api/index";
|
||||||
import * as api from "../../../api/index1";
|
import * as api from "../../../api/index1";
|
||||||
|
import ExportHomeWork from "../../Modals/ExportHomeWork.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectFaceTaskManage",
|
name: "ProjectFaceTaskManage",
|
||||||
components: {
|
components: {
|
||||||
@@ -183,6 +187,7 @@ export default {
|
|||||||
CKWork,
|
CKWork,
|
||||||
CQue,
|
CQue,
|
||||||
ASOver,
|
ASOver,
|
||||||
|
ExportHomeWork,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
Fvisible: {
|
Fvisible: {
|
||||||
@@ -473,6 +478,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
exportHomeWorkV: false,
|
||||||
});
|
});
|
||||||
// //面授直播管理列表操作
|
// //面授直播管理列表操作
|
||||||
// const ListOpera = () => {
|
// const ListOpera = () => {
|
||||||
@@ -656,9 +662,7 @@ export default {
|
|||||||
process.env.VUE_APP_PROXY_URL
|
process.env.VUE_APP_PROXY_URL
|
||||||
}admin/student/exportTaskStudent?currentStageId=${
|
}admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.projectTaskInfo.stageId
|
props.projectTaskInfo.stageId
|
||||||
}&type=${1}&pid=${props.projectTaskInfo.projectId}&taskId=${
|
}&type=${1}&pid=${props.projectTaskInfo.projectId}taskType=0`
|
||||||
props.projectTaskInfo.projectTaskId
|
|
||||||
}&taskType=${props.projectTaskInfo.type}`
|
|
||||||
);
|
);
|
||||||
// api
|
// api
|
||||||
// .exportTaskStudent({
|
// .exportTaskStudent({
|
||||||
@@ -676,6 +680,12 @@ export default {
|
|||||||
// console.log(err);
|
// console.log(err);
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//显示导出作业弹窗
|
||||||
|
const exportHomeWorkShow = () => {
|
||||||
|
state.exportHomeWorkV = true;
|
||||||
|
// exportHomeWork();
|
||||||
|
};
|
||||||
//导出作业
|
//导出作业
|
||||||
function exportHomeWork() {
|
function exportHomeWork() {
|
||||||
console.log("props.projectTaskInfo", props.projectTaskInfo);
|
console.log("props.projectTaskInfo", props.projectTaskInfo);
|
||||||
@@ -704,6 +714,7 @@ export default {
|
|||||||
resetTaskList,
|
resetTaskList,
|
||||||
changePaginationStu,
|
changePaginationStu,
|
||||||
exportTaskStu,
|
exportTaskStu,
|
||||||
|
exportHomeWorkShow,
|
||||||
exportHomeWork,
|
exportHomeWork,
|
||||||
getStudent,
|
getStudent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
<div class="img2"></div>
|
<div class="img2"></div>
|
||||||
<div class="wz">导出数据</div>
|
<div class="wz">导出数据</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2" @click="exportHomeWork">
|
<div class="btn btn2" @click="exportHomeWorkShow">
|
||||||
<div class="wz">导出作业</div>
|
<div class="wz">导出作业</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2">
|
<div class="btn btn2">
|
||||||
@@ -134,6 +134,9 @@
|
|||||||
<CKWork v-model:CWvisible="CWvisible" />
|
<CKWork v-model:CWvisible="CWvisible" />
|
||||||
<!-- 查看答卷抽屉 -->
|
<!-- 查看答卷抽屉 -->
|
||||||
<CQue v-model:CQvisible="CQvisible" />
|
<CQue v-model:CQvisible="CQvisible" />
|
||||||
|
|
||||||
|
<!-- 导出作业提示框 -->
|
||||||
|
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -145,6 +148,7 @@ import CQue from "../CheckQue.vue";
|
|||||||
import EScore from "../ExportScore.vue";
|
import EScore from "../ExportScore.vue";
|
||||||
// import * as api from "../../../api/index";
|
// import * as api from "../../../api/index";
|
||||||
import * as api from "../../../api/index1";
|
import * as api from "../../../api/index1";
|
||||||
|
import ExportHomeWork from "../../Modals/ExportHomeWork.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "ProjectHomeWorkManage",
|
name: "ProjectHomeWorkManage",
|
||||||
components: {
|
components: {
|
||||||
@@ -152,6 +156,7 @@ export default {
|
|||||||
CKWork,
|
CKWork,
|
||||||
CQue,
|
CQue,
|
||||||
EScore,
|
EScore,
|
||||||
|
ExportHomeWork,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
Wvisible: {
|
Wvisible: {
|
||||||
@@ -382,6 +387,7 @@ export default {
|
|||||||
className: "h",
|
className: "h",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
exportHomeWorkV: false,
|
||||||
});
|
});
|
||||||
//面授直播管理列表操作
|
//面授直播管理列表操作
|
||||||
const ListOpera = () => {
|
const ListOpera = () => {
|
||||||
@@ -546,9 +552,7 @@ export default {
|
|||||||
process.env.VUE_APP_PROXY_URL
|
process.env.VUE_APP_PROXY_URL
|
||||||
}admin/student/exportTaskStudent?currentStageId=${
|
}admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.projectTaskInfo.stageId
|
props.projectTaskInfo.stageId
|
||||||
}&type=${1}&pid=${props.projectTaskInfo.projectId}&taskId=${
|
}&type=${1}&pid=${props.projectTaskInfo.projectId}&taskType=0`
|
||||||
props.projectTaskInfo.projectTaskId
|
|
||||||
}&taskType=${props.projectTaskInfo.type}`
|
|
||||||
);
|
);
|
||||||
// api
|
// api
|
||||||
// .exportTaskStudent({
|
// .exportTaskStudent({
|
||||||
@@ -566,6 +570,12 @@ export default {
|
|||||||
// console.log(err);
|
// console.log(err);
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
//显示导出作业弹窗
|
||||||
|
const exportHomeWorkShow = () => {
|
||||||
|
state.exportHomeWorkV = true;
|
||||||
|
// exportHomeWork();
|
||||||
|
};
|
||||||
|
|
||||||
//导出作业
|
//导出作业
|
||||||
function exportHomeWork() {
|
function exportHomeWork() {
|
||||||
console.log("props.projectTaskInfo", props.projectTaskInfo);
|
console.log("props.projectTaskInfo", props.projectTaskInfo);
|
||||||
@@ -595,6 +605,7 @@ export default {
|
|||||||
changePaginationStu,
|
changePaginationStu,
|
||||||
exportTaskStu,
|
exportTaskStu,
|
||||||
exportHomeWork,
|
exportHomeWork,
|
||||||
|
exportHomeWorkShow,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -641,9 +641,7 @@ export default {
|
|||||||
process.env.VUE_APP_PROXY_URL
|
process.env.VUE_APP_PROXY_URL
|
||||||
}admin/student/exportTaskStudent?currentStageId=${
|
}admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.datasource.chapterId
|
props.datasource.chapterId
|
||||||
}&type=${2}&pid=${props.datasource.routerId}&taskId=${
|
}&type=${2}&pid=${props.datasource.routerId}&taskType=0`
|
||||||
props.datasource.routerTaskId
|
|
||||||
}&taskType=${props.datasource.type}`
|
|
||||||
);
|
);
|
||||||
// api
|
// api
|
||||||
// .exportTaskStudent({
|
// .exportTaskStudent({
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
<div class="img2"></div>
|
<div class="img2"></div>
|
||||||
<div class="wz">导出数据</div>
|
<div class="wz">导出数据</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2" @click="exportHomeWork">
|
<div class="btn btn2" @click="exportHomeWorkShow">
|
||||||
<div class="wz">导出作业</div>
|
<div class="wz">导出作业</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -150,6 +150,8 @@
|
|||||||
<CKWork v-model:CWvisible="CWvisible" />
|
<CKWork v-model:CWvisible="CWvisible" />
|
||||||
<!-- 查看答卷抽屉 -->
|
<!-- 查看答卷抽屉 -->
|
||||||
<CQue v-model:CQvisible="CQvisible" />
|
<CQue v-model:CQvisible="CQvisible" />
|
||||||
|
<!-- 导出作业提示框 -->
|
||||||
|
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -161,6 +163,7 @@ import CQue from "../CheckQue.vue";
|
|||||||
import EntryScores from "../EntryScores.vue";
|
import EntryScores from "../EntryScores.vue";
|
||||||
// import * as api from "../../../api/index";
|
// import * as api from "../../../api/index";
|
||||||
import * as api from "../../../api/index1";
|
import * as api from "../../../api/index1";
|
||||||
|
import ExportHomeWork from "../../Modals/ExportHomeWork.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "RouterFaceTeachManage",
|
name: "RouterFaceTeachManage",
|
||||||
components: {
|
components: {
|
||||||
@@ -168,6 +171,7 @@ export default {
|
|||||||
CKWork,
|
CKWork,
|
||||||
CQue,
|
CQue,
|
||||||
ASOver,
|
ASOver,
|
||||||
|
ExportHomeWork,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
FaceTeachModelVisible: {
|
FaceTeachModelVisible: {
|
||||||
@@ -418,6 +422,7 @@ export default {
|
|||||||
className: "h",
|
className: "h",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
exportHomeWorkV: false,
|
||||||
});
|
});
|
||||||
//面授直播管理列表操作
|
//面授直播管理列表操作
|
||||||
const ListOpera = () => {
|
const ListOpera = () => {
|
||||||
@@ -602,9 +607,7 @@ export default {
|
|||||||
process.env.VUE_APP_PROXY_URL
|
process.env.VUE_APP_PROXY_URL
|
||||||
}admin/student/exportTaskStudent?currentStageId=${
|
}admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.datasource.chapterId
|
props.datasource.chapterId
|
||||||
}&type=${2}&pid=${props.datasource.routerId}&taskId=${
|
}&type=${2}&pid=${props.datasource.routerId}&taskType=0`
|
||||||
props.datasource.routerTaskId
|
|
||||||
}&taskType=${props.datasource.type}`
|
|
||||||
);
|
);
|
||||||
// api
|
// api
|
||||||
// .exportTaskStudent({
|
// .exportTaskStudent({
|
||||||
@@ -622,6 +625,13 @@ export default {
|
|||||||
// console.log(err);
|
// console.log(err);
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//显示导出作业弹窗
|
||||||
|
const exportHomeWorkShow = () => {
|
||||||
|
state.exportHomeWorkV = true;
|
||||||
|
// exportHomeWork();
|
||||||
|
};
|
||||||
|
|
||||||
//导出作业
|
//导出作业
|
||||||
function exportHomeWork() {
|
function exportHomeWork() {
|
||||||
console.log("props.datasource", props.datasource);
|
console.log("props.datasource", props.datasource);
|
||||||
@@ -651,6 +661,7 @@ export default {
|
|||||||
exportTaskStu,
|
exportTaskStu,
|
||||||
exportHomeWork,
|
exportHomeWork,
|
||||||
getStudent,
|
getStudent,
|
||||||
|
exportHomeWorkShow,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
<div class="img2"></div>
|
<div class="img2"></div>
|
||||||
<div class="wz">导出数据</div>
|
<div class="wz">导出数据</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2" @click="exportHomeWork">
|
<div class="btn btn2" @click="exportHomeWorkShow">
|
||||||
<div class="wz">导出作业</div>
|
<div class="wz">导出作业</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn btn2">
|
<div class="btn btn2">
|
||||||
@@ -129,6 +129,9 @@
|
|||||||
<CKWork v-model:CWvisible="CWvisible" />
|
<CKWork v-model:CWvisible="CWvisible" />
|
||||||
<!-- 查看答卷抽屉 -->
|
<!-- 查看答卷抽屉 -->
|
||||||
<CQue v-model:CQvisible="CQvisible" />
|
<CQue v-model:CQvisible="CQvisible" />
|
||||||
|
|
||||||
|
<!-- 导出作业提示框 -->
|
||||||
|
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -140,6 +143,7 @@ import CQue from "../CheckQue.vue";
|
|||||||
import EScore from "../ExportScore.vue";
|
import EScore from "../ExportScore.vue";
|
||||||
// import * as api from "../../../api/index";
|
// import * as api from "../../../api/index";
|
||||||
import * as api from "../../../api/index1";
|
import * as api from "../../../api/index1";
|
||||||
|
import ExportHomeWork from "../../Modals/ExportHomeWork.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "RouterCommonManage",
|
name: "RouterCommonManage",
|
||||||
components: {
|
components: {
|
||||||
@@ -147,6 +151,7 @@ export default {
|
|||||||
CKWork,
|
CKWork,
|
||||||
CQue,
|
CQue,
|
||||||
EScore,
|
EScore,
|
||||||
|
ExportHomeWork,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
HomeworkModelVisible: {
|
HomeworkModelVisible: {
|
||||||
@@ -393,6 +398,7 @@ export default {
|
|||||||
className: "h",
|
className: "h",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
exportHomeWorkV: false,
|
||||||
});
|
});
|
||||||
//面授直播管理列表操作
|
//面授直播管理列表操作
|
||||||
const ListOpera = () => {
|
const ListOpera = () => {
|
||||||
@@ -554,9 +560,7 @@ export default {
|
|||||||
process.env.VUE_APP_PROXY_URL
|
process.env.VUE_APP_PROXY_URL
|
||||||
}admin/student/exportTaskStudent?currentStageId=${
|
}admin/student/exportTaskStudent?currentStageId=${
|
||||||
props.datasource.chapterId
|
props.datasource.chapterId
|
||||||
}&type=${2}&pid=${props.datasource.routerId}&taskId=${
|
}&type=${2}&pid=${props.datasource.routerId}&taskType=0`
|
||||||
props.datasource.routerTaskId
|
|
||||||
}&taskType=${props.datasource.type}`
|
|
||||||
);
|
);
|
||||||
// api
|
// api
|
||||||
// .exportTaskStudent({
|
// .exportTaskStudent({
|
||||||
@@ -574,6 +578,12 @@ export default {
|
|||||||
// console.log(err);
|
// console.log(err);
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
//显示导出作业弹窗
|
||||||
|
const exportHomeWorkShow = () => {
|
||||||
|
state.exportHomeWorkV = true;
|
||||||
|
// exportHomeWork();
|
||||||
|
};
|
||||||
|
|
||||||
//导出作业
|
//导出作业
|
||||||
function exportHomeWork() {
|
function exportHomeWork() {
|
||||||
console.log("props.datasource", props.datasource);
|
console.log("props.datasource", props.datasource);
|
||||||
@@ -603,6 +613,7 @@ export default {
|
|||||||
changePaginationStu,
|
changePaginationStu,
|
||||||
exportTaskStu,
|
exportTaskStu,
|
||||||
exportHomeWork,
|
exportHomeWork,
|
||||||
|
exportHomeWorkShow,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -161,7 +161,7 @@
|
|||||||
<div
|
<div
|
||||||
class="stmm_btn btn5"
|
class="stmm_btn btn5"
|
||||||
style="margin-left: 15px"
|
style="margin-left: 15px"
|
||||||
@click="exportHomeWork"
|
@click="exportHomeWorkShow"
|
||||||
>
|
>
|
||||||
<div class="btnText">导出作业</div>
|
<div class="btnText">导出作业</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -339,6 +339,8 @@
|
|||||||
|
|
||||||
<!-- 导入作业成绩抽屉 -->
|
<!-- 导入作业成绩抽屉 -->
|
||||||
<ExportScore v-model:eScorevisible="eScorevisible" :type="3" :id="id" />
|
<ExportScore v-model:eScorevisible="eScorevisible" :type="3" :id="id" />
|
||||||
|
<!-- 导出作业提示框 -->
|
||||||
|
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" />
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, defineProps, onMounted, ref, watch } from "vue";
|
import { computed, defineProps, onMounted, ref, watch } from "vue";
|
||||||
@@ -350,6 +352,7 @@ import { message } from "ant-design-vue";
|
|||||||
import SeeStu from "../../components/drawers/SeeStu";
|
import SeeStu from "../../components/drawers/SeeStu";
|
||||||
import ExportScore from "../drawers/ExportScore.vue";
|
import ExportScore from "../drawers/ExportScore.vue";
|
||||||
import OrgClass from "@/components/project/OrgClass";
|
import OrgClass from "@/components/project/OrgClass";
|
||||||
|
import ExportHomeWork from "../Modals/ExportHomeWork.vue";
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
type: Number,
|
type: Number,
|
||||||
id: String,
|
id: String,
|
||||||
@@ -627,14 +630,20 @@ const showEScoreModal = () => {
|
|||||||
eScorevisible.value = true;
|
eScorevisible.value = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
//导出作业
|
//显示导出作业弹窗
|
||||||
const exportHomeWork = () => {
|
const exportHomeWorkV = ref(false);
|
||||||
window.open(
|
const exportHomeWorkShow = () => {
|
||||||
`${
|
exportHomeWorkV.value = true;
|
||||||
process.env.VUE_APP_PROXY_URL
|
// exportHomeWork();
|
||||||
}admin/student/exportHomeWork?type=${3}&pid=${props.id}`
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
// //导出作业
|
||||||
|
// const exportHomeWork = () => {
|
||||||
|
// window.open(
|
||||||
|
// `${
|
||||||
|
// process.env.VUE_APP_PROXY_URL
|
||||||
|
// }admin/student/exportHomeWork?type=${3}&pid=${props.id}`
|
||||||
|
// );
|
||||||
|
// };
|
||||||
//导出
|
//导出
|
||||||
const exportStu = () => {
|
const exportStu = () => {
|
||||||
window.open(
|
window.open(
|
||||||
|
|||||||
Reference in New Issue
Block a user