feat:修改导出作业

This commit is contained in:
lixg
2023-01-09 17:57:25 +08:00
11 changed files with 205 additions and 58 deletions

View File

@@ -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-09 15:16:47 * @LastEditTime: 2023-01-09 16:29:37
* @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
*/ */
@@ -162,7 +162,7 @@ export const AssessmentManagementMessage = (obj) => http.get(`/admin/student/get
// 导出任务学员信息 // 导出任务学员信息
export const exportTaskStudent = (obj) => http.post('/admin/student/exportTaskStudent', obj) export const exportTaskStudent = (obj) => http.post('/admin/student/exportTaskStudent', obj)
//导出任务作业 //导出任务作业
export const exportHomeWork = (obj) => http.post('/admin/student/exportHomeWork', obj) export const exportHomeWork = (obj) => http.get('/admin/student/exportHomeWork', { params: obj })
//签到 //签到
export const attendanceSign = (obj) => http.post('/stu/task/attendance/sign', obj) export const attendanceSign = (obj) => http.post('/stu/task/attendance/sign', obj)
//请假 //请假
@@ -178,4 +178,7 @@ export const batchImportScore = (obj) =>
headers: { "Content-Type": "multipart/form-data" }, headers: { "Content-Type": "multipart/form-data" },
}); });
//数据导入状态 //数据导入状态
export const getImportStatus = (uuid) => http.get('/admin/student/getImportStatus', { params: { uuid: uuid } }) export const getImportStatus = (uuid) => http.get('/admin/student/getImportStatus', { params: { uuid: uuid } })
//导出作业
// export const exportHomeWork=(obj)=>http.get('admin/student/exportHomeWork',{params:obj})

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2023-01-07 17:25:14 * @Date: 2023-01-07 17:25:14
* @LastEditors: lixg lixg@dongwu-inc.com * @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2023-01-09 16:19:37 * @LastEditTime: 2023-01-09 16:35:38
* @FilePath: /fe-manage/src/components/Modals/ExportHomeWork.vue * @FilePath: /fe-manage/src/components/Modals/ExportHomeWork.vue
* @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
--> -->
@@ -50,6 +50,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
downloadUrl: {
type: String,
default: null,
},
}, },
setup(props, ctx) { setup(props, ctx) {
const state = reactive({}); const state = reactive({});
@@ -57,14 +61,18 @@ export default {
const clostModal = () => { const clostModal = () => {
ctx.emit("update:exportHomeWorkV", false); ctx.emit("update:exportHomeWorkV", false);
}; };
// //下载作业 //下载作业
// const downloadHomeWork=()=>{ const downloadHomeWork = () => {
// // props.url // props.url
// } if (props.downloadUrl) {
window.open(props.downloadUrl);
}
};
console.log("props", props); console.log("props", props);
return { return {
...toRefs(state), ...toRefs(state),
clostModal, clostModal,
downloadHomeWork,
}; };
}, },
}; };

View File

@@ -567,7 +567,7 @@ export default {
courseId: Number(props.projectTaskInfo.courseId), courseId: Number(props.projectTaskInfo.courseId),
projectId: Number(props.projectTaskInfo.projectId), projectId: Number(props.projectTaskInfo.projectId),
// routerId: Number(props.projectTaskInfo.projectId), // routerId: Number(props.projectTaskInfo.projectId),
studentId: Number(text.record.studentId), ids: [Number(text.record.studentId)],
studentName: text.record.studentName, studentName: text.record.studentName,
taskId: Number(props.projectTaskInfo.projectTaskId), taskId: Number(props.projectTaskInfo.projectTaskId),
taskType: Number(props.projectTaskInfo.type), taskType: Number(props.projectTaskInfo.type),

View File

@@ -167,7 +167,10 @@
<CQue v-model:CQvisible="CQvisible" /> <CQue v-model:CQvisible="CQvisible" />
<!-- 导出作业提示框 --> <!-- 导出作业提示框 -->
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" /> <ExportHomeWork
v-model:exportHomeWorkV="exportHomeWorkV"
:downloadUrl="downloadUrl"
/>
</template> </template>
<script> <script>
@@ -479,6 +482,7 @@ export default {
}, },
], ],
exportHomeWorkV: false, exportHomeWorkV: false,
downloadUrl: null,
}); });
// //面授直播管理列表操作 // //面授直播管理列表操作
// const ListOpera = () => { // const ListOpera = () => {
@@ -683,8 +687,31 @@ export default {
//显示导出作业弹窗 //显示导出作业弹窗
const exportHomeWorkShow = () => { const exportHomeWorkShow = () => {
state.exportHomeWorkV = true; // state.exportHomeWorkV = true;
// exportHomeWork(); // exportHomeWork();
let obj = {
currentStageId: props.projectTaskInfo.stageId,
pid: props.projectTaskInfo.projectId,
taskId: props.projectTaskInfo.projectTaskId,
taskType: props.projectTaskInfo.type,
type: 1,
};
api
.exportHomeWork(obj)
.then((res) => {
console.log("导出作业", JSON.parse(res.data).data);
if (JSON.parse(res.data).code === 200) {
message.destroy();
message.success("导出作业成功");
state.exportHomeWorkV = true;
state.downloadUrl = JSON.parse(res.data).data;
}
})
.catch((err) => {
message.destroy();
message.error("导出作业失败");
console.log("导出作业失败", err);
});
}; };
//导出作业 //导出作业
function exportHomeWork() { function exportHomeWork() {

View File

@@ -136,7 +136,10 @@
<CQue v-model:CQvisible="CQvisible" /> <CQue v-model:CQvisible="CQvisible" />
<!-- 导出作业提示框 --> <!-- 导出作业提示框 -->
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" /> <ExportHomeWork
v-model:exportHomeWorkV="exportHomeWorkV"
:downloadUrl="downloadUrl"
/>
</template> </template>
<script> <script>
@@ -190,21 +193,21 @@ export default {
open: false, open: false,
projectName: null, projectName: null,
projectNameList: [ projectNameList: [
{ {
id: 1, id: 1,
value: "0", value: "0",
label: "未开始", label: "未开始",
}, },
{ {
id: 2, id: 2,
value: "2", value: "2",
label: "进行中", label: "进行中",
}, },
{ {
id: 3, id: 3,
value: "1", value: "1",
label: "已完成", label: "已完成",
}, },
], ],
selectedRowKeys: [], selectedRowKeys: [],
@@ -388,6 +391,7 @@ export default {
}, },
], ],
exportHomeWorkV: false, exportHomeWorkV: false,
downloadUrl: null,
}); });
//面授直播管理列表操作 //面授直播管理列表操作
const ListOpera = () => { const ListOpera = () => {
@@ -572,8 +576,31 @@ export default {
} }
//显示导出作业弹窗 //显示导出作业弹窗
const exportHomeWorkShow = () => { const exportHomeWorkShow = () => {
state.exportHomeWorkV = true; // state.exportHomeWorkV = true;
// exportHomeWork(); // exportHomeWork();
let obj = {
currentStageId: props.projectTaskInfo.stageId,
pid: props.projectTaskInfo.projectId,
taskId: props.projectTaskInfo.projectTaskId,
taskType: props.projectTaskInfo.type,
type: 1,
};
api
.exportHomeWork(obj)
.then((res) => {
console.log("导出作业", JSON.parse(res.data).data);
if (JSON.parse(res.data).code === 200) {
message.destroy();
message.success("导出作业成功");
state.exportHomeWorkV = true;
state.downloadUrl = JSON.parse(res.data).data;
}
})
.catch((err) => {
message.destroy();
message.error("导出作业失败");
console.log("导出作业失败", err);
});
}; };
//导出作业 //导出作业

View File

@@ -510,7 +510,7 @@ export default {
courseId: Number(props.datasource.courseId), courseId: Number(props.datasource.courseId),
// projectId: 0, // projectId: 0,
routerId: Number(props.datasource.routerId), routerId: Number(props.datasource.routerId),
studentId: Number(text.record.studentId), ids: [text.record.studentId],
studentName: text.record.studentName, studentName: text.record.studentName,
taskId: Number(props.datasource.routerTaskId), taskId: Number(props.datasource.routerTaskId),
taskType: Number(props.datasource.type), taskType: Number(props.datasource.type),

View File

@@ -151,7 +151,10 @@
<!-- 查看答卷抽屉 --> <!-- 查看答卷抽屉 -->
<CQue v-model:CQvisible="CQvisible" /> <CQue v-model:CQvisible="CQvisible" />
<!-- 导出作业提示框 --> <!-- 导出作业提示框 -->
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" /> <ExportHomeWork
v-model:exportHomeWorkV="exportHomeWorkV"
:downloadUrl="downloadUrl"
/>
</template> </template>
<script> <script>
@@ -423,6 +426,7 @@ export default {
}, },
], ],
exportHomeWorkV: false, exportHomeWorkV: false,
downloadUrl: null,
}); });
//面授直播管理列表操作 //面授直播管理列表操作
const ListOpera = () => { const ListOpera = () => {
@@ -628,8 +632,31 @@ export default {
//显示导出作业弹窗 //显示导出作业弹窗
const exportHomeWorkShow = () => { const exportHomeWorkShow = () => {
state.exportHomeWorkV = true;
// exportHomeWork(); // exportHomeWork();
state.downloadUrl = null;
let obj = {
currentStageId: props.datasource.chapterId,
pid: props.datasource.routerId,
taskId: props.datasource.routerTaskId,
taskType: props.datasource.type,
type: 2,
};
api
.exportHomeWork(obj)
.then((res) => {
console.log("导出作业", JSON.parse(res.data).data);
if (JSON.parse(res.data).code === 200) {
message.destroy();
message.success("导出作业成功");
state.exportHomeWorkV = true;
state.downloadUrl = JSON.parse(res.data).data;
}
})
.catch((err) => {
message.destroy();
message.error("导出作业失败");
console.log("导出作业失败", err);
});
}; };
//导出作业 //导出作业

View File

@@ -131,7 +131,10 @@
<CQue v-model:CQvisible="CQvisible" /> <CQue v-model:CQvisible="CQvisible" />
<!-- 导出作业提示框 --> <!-- 导出作业提示框 -->
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" /> <ExportHomeWork
v-model:exportHomeWorkV="exportHomeWorkV"
:downloadUrl="downloadUrl"
/>
</template> </template>
<script> <script>
@@ -185,21 +188,21 @@ export default {
open: false, open: false,
projectName: null, projectName: null,
projectNameList: [ projectNameList: [
{ {
id: 1, id: 1,
value: "0", value: "0",
label: "未开始", label: "未开始",
}, },
{ {
id: 2, id: 2,
value: "2", value: "2",
label: "进行中", label: "进行中",
}, },
{ {
id: 3, id: 3,
value: "1", value: "1",
label: "已完成", label: "已完成",
}, },
], ],
selectedRowKeys: [], selectedRowKeys: [],
@@ -399,6 +402,7 @@ export default {
}, },
], ],
exportHomeWorkV: false, exportHomeWorkV: false,
downloadUrl: null,
}); });
//面授直播管理列表操作 //面授直播管理列表操作
const ListOpera = () => { const ListOpera = () => {
@@ -580,8 +584,31 @@ export default {
} }
//显示导出作业弹窗 //显示导出作业弹窗
const exportHomeWorkShow = () => { const exportHomeWorkShow = () => {
state.exportHomeWorkV = true; // state.exportHomeWorkV = true;
// exportHomeWork(); // exportHomeWork();
let obj = {
currentStageId: props.datasource.chapterId,
pid: props.datasource.routerId,
taskId: props.datasource.routerTaskId,
taskType: props.datasource.type,
type: 2,
};
api
.exportHomeWork(obj)
.then((res) => {
console.log("导出作业", JSON.parse(res.data).data);
if (JSON.parse(res.data).code === 200) {
message.destroy();
message.success("导出作业成功");
state.exportHomeWorkV = true;
state.downloadUrl = JSON.parse(res.data).data;
}
})
.catch((err) => {
message.destroy();
message.error("导出作业失败");
console.log("导出作业失败", err);
});
}; };
//导出作业 //导出作业

View File

@@ -340,7 +340,10 @@
<!-- 导入作业成绩抽屉 --> <!-- 导入作业成绩抽屉 -->
<ExportScore v-model:eScorevisible="eScorevisible" :type="3" :id="id" /> <ExportScore v-model:eScorevisible="eScorevisible" :type="3" :id="id" />
<!-- 导出作业提示框 --> <!-- 导出作业提示框 -->
<ExportHomeWork v-model:exportHomeWorkV="exportHomeWorkV" /> <ExportHomeWork
v-model:exportHomeWorkV="exportHomeWorkV"
:downloadUrl="downloadUrl"
/>
</template> </template>
<script setup> <script setup>
import { computed, defineProps, onMounted, ref, watch } from "vue"; import { computed, defineProps, onMounted, ref, watch } from "vue";
@@ -353,6 +356,7 @@ 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"; import ExportHomeWork from "../Modals/ExportHomeWork.vue";
import * as api from "../../api/index1";
const props = defineProps({ const props = defineProps({
type: Number, type: Number,
id: String, id: String,
@@ -632,9 +636,33 @@ const showEScoreModal = () => {
//显示导出作业弹窗 //显示导出作业弹窗
const exportHomeWorkV = ref(false); const exportHomeWorkV = ref(false);
const downloadUrl = ref(null);
const exportHomeWorkShow = () => { const exportHomeWorkShow = () => {
exportHomeWorkV.value = true; // exportHomeWorkV.value = true;
// exportHomeWork(); // exportHomeWork();
let obj = {
currentStageId: 0,
pid: props.id,
taskId: 0,
taskType: 0,
type: 3,
};
api
.exportHomeWork(obj)
.then((res) => {
console.log("导出作业", JSON.parse(res.data).data);
if (JSON.parse(res.data).code === 200) {
message.destroy();
message.success("导出作业成功");
exportHomeWorkV.value = true;
downloadUrl.value = JSON.parse(res.data).data;
}
})
.catch((err) => {
message.destroy();
message.error("导出作业失败");
console.log("导出作业失败", err);
});
}; };
// //导出作业 // //导出作业
// const exportHomeWork = () => { // const exportHomeWork = () => {

View File

@@ -462,7 +462,7 @@
> >
学员 学员
</div> </div>
<div <!-- <div
class="operation" class="operation"
style="cursor: pointer" style="cursor: pointer"
@click="showAA(item.type, item.name)" @click="showAA(item.type, item.name)"
@@ -474,20 +474,20 @@
}" }"
> >
考勤 考勤
</div> </div> -->
<div <div
class="operation" class="operation"
v-if=" v-if="
item.type != 2 && item.type != 6 && item.type != 9 item.type != 2 && item.type != 6 && item.type != 9
" "
></div> ></div>
<div <!-- <div
class="operation" class="operation"
style="cursor: pointer" style="cursor: pointer"
@click="showCodeModel(item)" @click="showCodeModel(item)"
> >
二维码 二维码
</div> </div> -->
<div <div
class="operation" class="operation"
style="cursor: pointer; margin-right: 35px" style="cursor: pointer; margin-right: 35px"

View File

@@ -579,27 +579,27 @@
学员 学员
</div> </div>
<div <!-- <div
class="operation" class="operation"
style="cursor: pointer" style="cursor: pointer"
@click="showAA(item.name)" @click="showAA(item.name)"
v-if="item.type == 6 || item.type == 9" v-if="item.type == 6 || item.type == 9"
> >
考勤 考勤
</div> </div> -->
<div <div
class="operation" class="operation"
v-if=" v-if="
item.type != 2 && item.type != 6 && item.type != 9 item.type != 2 && item.type != 6 && item.type != 9
" "
></div> ></div>
<div <!-- <div
class="operation" class="operation"
style="cursor: pointer" style="cursor: pointer"
@click="showCodeModel(item)" @click="showCodeModel(item)"
> >
二维码 二维码
</div> </div> -->
<div <div
class="operation" class="operation"
style="cursor: pointer; margin-right: 10px" style="cursor: pointer; margin-right: 10px"