feat:合并

This commit is contained in:
lixg
2023-02-26 10:51:57 +08:00
13 changed files with 80 additions and 48 deletions

View File

@@ -11,14 +11,14 @@
<div class="titl">
<div class="endtime">
起止时间{{
datasource.info && datasource.info.liveStartTime ? datasource.info.liveStartTime : "-"
datasource.startTime ? datasource.startTime : "-"
}}
{{ datasource.info && datasource.info.liveEndTime ? datasource.info.liveEndTime : "-" }}
{{ datasource.endTime ? datasource.endTime : "-" }}
</div>
<div class="endtime" style="margin-left: 64px">签到时间{{ beginTime }}</div>
<div class="endtime" style="margin-left: 40px">签退时间{{ endTime }}</div>
<div class="endtime" style="margin-left: 64px">签到时间{{ beginTime }} {{ endTime }}</div>
<!--<div class="endtime" style="margin-left: 40px">签退时间{{ endTime }}</div>-->
</div>
<div class="search">
@@ -354,25 +354,24 @@ export default {
// 计算签到时间
const isSignClick = () => {
// debugger
console.log("计算签到时间", props.datasource.info);
let beginTime = new Date(props.datasource.info.liveStartTime).getTime();
let endTime = !props.datasource.info.afterSignIn
? new Date(props.datasource.info.liveEndTime).getTime()
: new Date(props.datasource.info.liveStartTime).getTime();
console.log("计算签到时间", props.datasource);
let beginTime = new Date(props.datasource.startTime).getTime();
let endTime = !props.datasource.afterStart
? new Date(props.datasource.endTime).getTime()
: new Date(props.datasource.startTime).getTime();
if (props.datasource.info.beforeSignIn && props.datasource.info.afterSignIn) {
if (props.datasource.beforeStart && props.datasource.afterStart) {
//有开始前有开始后
beginTime = beginTime - props.datasource.info.beforeSignIn * 60 * 1000;
endTime = endTime + props.datasource.info.afterSignIn * 60 * 1000;
beginTime = beginTime - props.datasource.beforeStart * 60 * 1000;
endTime = endTime + props.datasource.afterStart * 60 * 1000;
console.log("1111", beginTime, endTime);
} else if (props.datasource.info.beforeSignIn && !props.datasource.info.afterSignIn) {
} else if (props.datasource.beforeStart && !props.datasource.afterStart) {
//只有开始前无开始后
beginTime = beginTime - props.datasource.info.beforeSignIn * 60 * 1000;
beginTime = beginTime - props.datasource.beforeStart * 60 * 1000;
console.log("11112222", beginTime);
} else if (!props.datasource.info.beforeSignIn && props.datasource.info.afterSignIn) {
} else if (!props.datasource.beforeStart && props.datasource.afterStart) {
//无开始前有开始后
endTime = endTime + props.datasource.info.afterSignIn * 60 * 1000;
endTime = endTime + props.datasource.afterStart * 60 * 1000;
console.log("1111333", endTime);
}
@@ -393,7 +392,6 @@ export default {
};
const getTableData = () => {
debugger
// debugger
console.log('当前是项目还是路径图 1 项目 2 路径图', props)
console.log('当前是项目还是路径图 1 项目 2 路径图', props.types)
@@ -690,7 +688,6 @@ export default {
<div class="opa" style='display:flex;justify-content:center;align-items:center;'>
<div
onClick={() => {
debugger
{/* debugger */ }
console.log("点击签到", value);
// 获取当前时间
@@ -866,13 +863,13 @@ export default {
window.open(
`${process.env.VUE_APP_BASE_API
}/admin/student/exportTaskStudent?currentStageId=${props.datasource.chapterId
}&type=2&pid=${props.datasource.courseId}&thirdType=1&taskId=${props.datasource.id}&taskType=${props.datasource.type}`
}&type=2&pid=${props.datasource.routerId}&thirdType=1&taskId=${props.datasource.id}&taskType=${props.datasource.type}`
);
} else {
window.open(
`${process.env.VUE_APP_BASE_API
}/admin/student/exportTaskStudent?currentStageId=${props.datasource.stageId
}&type=1&pid=${props.datasource.courseId}&thirdType=1&taskId=${props.datasource.id}&taskType=${props.datasource.type}`
}&type=1&pid=${props.datasource.projectId}&thirdType=1&taskId=${props.datasource.id}&taskType=${props.datasource.type}`
);
}

View File

@@ -41,6 +41,12 @@
</div>
<div class="main_item2">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">讨论说明</span>
</div>
<div class="textarea">
@@ -91,6 +97,12 @@ const rulesRef = ref({
message: '请输入讨论名称',
},
],
discussExplain: [
{
required: true,
message: '请输入讨论说明',
},
],
});
const {resetFields, validate} = Form.useForm(formData, rulesRef);

View File

@@ -236,7 +236,6 @@
<script setup>
import { defineEmits, defineProps, ref, watch } from "vue";
import STest from "./SelectTest.vue";
import { createExamination } from "@/api/index1";
import dayjs from "dayjs";
import { Form, message } from "ant-design-vue";
@@ -358,14 +357,6 @@ async function confirm() {
data.name = formData.value.examinationName
data.info = { ...formData.value }
}
let obj = formData.value;
createExamination(obj).then(res => {
console.log(res)
message.success("成功");
}).catch(err => {
console.log(err)
})
emit('update:taskList', [...props.taskList])
closeDrawer()
}

View File

@@ -183,6 +183,7 @@ export default {
};
//获取作业详情
const getWorkDetail = () => {
debugger
console.log("props.workId, props.stuId", props.workId, props.stuId);
getWorkSubmitInfo(props.workId, props.stuId)
.then((res) => {
@@ -346,4 +347,4 @@ export default {
}
}
}
</style>
</style>

View File

@@ -428,8 +428,8 @@
// 导出数据
function exportTaskStu() {
console.log("导出数据")
console.log(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${2}&voteId=${props.datasource.courseId}`)
window.open(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${2}&voteId=${props.datasource.courseId}`)
console.log(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${1}&voteId=${props.datasource.courseId}`)
window.open(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${1}&voteId=${props.datasource.courseId}`)
}
return {

View File

@@ -465,6 +465,9 @@ export default {
if(props.datasource.type==1){
{/* 在线课导出 */}
window.open(`${process.env.VUE_APP_BASE_API}/admin/online/manage/exportOnline?chapterId=${props.datasource.chapterId}&type=${2}&targetId=${props.datasource.routerId}&taskId=${props.datasource.courseId}`)
}else if(props.datasource.type==11){
{/* 评估导出 */}
window.open(`${process.env.VUE_APP_BASE_API}admin/assessment/manage/exportAssessmentMessage?chapterId=${props.datasource.chapterId}&type=${2}&pid=${props.datasource.routerId}&courseId=${props.datasource.courseId}&taskId=${props.datasource.id}&taskType=${props.datasource.type}`)
}else{
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}`)
}

View File

@@ -381,7 +381,7 @@
"studentName": state.name,
"targetId":props.datasource.projectId,
"taskId": props.datasource.courseId,
"type": 1
"type": 2
});
api.QueryVoteManagementDetail({
"pageNo": state.currentPage,
@@ -391,7 +391,7 @@
"studentName": state.name,
"targetId":props.datasource.routerId,
"taskId": props.datasource.courseId,
"type": 1
"type": 2
}).then(res=>{
console.log('投票数据获取', res)
if(res.data.code==200){
@@ -448,8 +448,8 @@
// 导出数据
function exportTaskStu() {
console.log(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${1}&voteId=${props.datasource.courseId}`)
window.open(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${1}&voteId=${props.datasource.courseId}`)
console.log(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${2}&voteId=${props.datasource.courseId}`)
window.open(`${process.env.VUE_APP_BASE_API}/admin/vote/manage/export/vote?type=${2}&voteId=${props.datasource.courseId}`)
}
return {

View File

@@ -85,7 +85,6 @@ const selectGroup = (e, v) => {
};
//确认换组
const changeGroup = (item) => {
debugger
console.log("换组", selectGroupId.value, item);
props.checkgroupStuId.forEach(stu => {
let obj = {

View File

@@ -427,7 +427,6 @@ const stuRowSelection = computed(() => ({
//显示学员换组弹窗
function showChangeGroupModal() {
debugger
console.log("批量")
const d = props.groupList
console.log("d" + d)

View File

@@ -325,7 +325,9 @@
<a-button class="btn btn1" @click="cancelStorage" :loading="cancleLoading">取消</a-button>
</div>
</div>
<div><div style="height:80px;width:100%;" /></div>
<div>
<div style="height:80px;width:100%;"/>
</div>
<!-- 移动任务到阶段 -->
<a-modal style="padding: 0" v-model:visible="visiblene" :footer="null" :centered="true"
wrapClassName="moveModal">
@@ -533,8 +535,20 @@ const temporaryStorage = async () => {
};
const submitStorage = async () => {
if (routerInfo.value.routerInfo.status === 1) {
dialog({
content: '该路径图已经发布,修改后如未点击暂存当前操作未保存数据将丢失,确认保存?',
ok: async () => {
confirmLoading.value = true
await releaseRouter(routerId)
message.success("关卡和任务数据已保存");
confirmLoading.value = false
},
})
return
}
confirmLoading.value = true
routerInfo.value.routerInfo.status === 1 ? await releaseRouter(routerId) : await request(ROUTER_DETAIL_MODIFY, routerInfo.value)
await request(ROUTER_DETAIL_MODIFY, routerInfo.value)
message.success("关卡和任务数据已保存")
confirmLoading.value = false
};
@@ -1028,9 +1042,10 @@ const cancelStorage = async () => {
// width: 86%;
margin-top: 20px;
position: sticky;
top:0;
top: 0;
height: 80vh;
overflow-y: auto;
.tit {
font-size: 18px;
color: #363636;
@@ -1295,8 +1310,9 @@ const cancelStorage = async () => {
align-items: center;
flex-wrap: wrap;
position: sticky;
top:0;
top: 0;
z-index: 999;
.item {
height: 115px;
// width: 7.7%;
@@ -2136,6 +2152,7 @@ const cancelStorage = async () => {
}
}
}
.footBox {
position: fixed;
bottom: 0;

View File

@@ -584,8 +584,20 @@ const temporaryStorage = async () => {
};
//确定
const submitStorage = async () => {
if (projectInfo.value.projectInfo.status === 3) {
dialog({
content: '该项目已经发布,修改后如未点击暂存当前操作未保存数据将丢失,确认保存?',
ok: async () => {
confirmLoading.value = true
await request(PROJECT_RELEASE, {projectId: route.query.projectId})
message.success("保存成功");
confirmLoading.value = false
},
})
return
}
confirmLoading.value = true
projectInfo.value.projectInfo.status === 3 ? await request(PROJECT_RELEASE, {projectId: route.query.projectId}) : await request(PROJECT_DETAIL_MODIFY, projectInfo.value)
await request(PROJECT_DETAIL_MODIFY, projectInfo.value)
message.success("阶段和任务数据已保存")
confirmLoading.value = false
};
@@ -821,7 +833,7 @@ const cancelStorage = async () => {
.ant-modal {
width: 549px !important;
height: 245px !important;
.ant-modal-content {
width: 549px !important;
height: 245px !important;
@@ -949,9 +961,10 @@ const cancelStorage = async () => {
.leftmain {
margin-top: 20px;
position: sticky;
top:0;
top: 0;
height: 80vh;
overflow-y: auto;
.tit {
margin-left: 20px;
font-size: 18px;

View File

@@ -295,6 +295,7 @@ const getDetail = () =>
const backPage = () => {
router.push({
path: "/libraryAdd",
query: { projectTemplateId : route.query.projectTemplateId}
});
};

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-21 14:32:52
* @LastEditors: lixg lixg@dongwu-inc.com
* @LastEditTime: 2023-02-24 09:03:55
* @LastEditTime: 2022-12-14 17:38:38
* @FilePath: /fe-manage/vue.config.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -16,7 +16,6 @@ module.exports = defineConfig({
proxy: {
"/manageApi": {
target: 'http:' + process.env.VUE_APP_PROXY_URL,
//target: 'http://localhost:30001',
changeOrigin: true, //表示是否改变原域名
pathRewrite: {
"^/manageApi": "",