mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-24 02:02:55 +08:00
feat:合并
This commit is contained in:
@@ -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}`
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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}`)
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -85,7 +85,6 @@ const selectGroup = (e, v) => {
|
||||
};
|
||||
//确认换组
|
||||
const changeGroup = (item) => {
|
||||
debugger
|
||||
console.log("换组", selectGroupId.value, item);
|
||||
props.checkgroupStuId.forEach(stu => {
|
||||
let obj = {
|
||||
|
||||
@@ -427,7 +427,6 @@ const stuRowSelection = computed(() => ({
|
||||
|
||||
//显示学员换组弹窗
|
||||
function showChangeGroupModal() {
|
||||
debugger
|
||||
console.log("批量")
|
||||
const d = props.groupList
|
||||
console.log("d" + d)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -295,6 +295,7 @@ const getDetail = () =>
|
||||
const backPage = () => {
|
||||
router.push({
|
||||
path: "/libraryAdd",
|
||||
query: { projectTemplateId : route.query.projectTemplateId}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -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": "",
|
||||
|
||||
Reference in New Issue
Block a user