feat:合并

This commit is contained in:
lixg
2022-12-19 10:10:31 +08:00
7 changed files with 486 additions and 60 deletions

View File

@@ -5,6 +5,16 @@
<div>课程列表</div>
<div style="margin-left: 6px; margin-right: 6px">/</div>
<div style="font-weight: 700">课程详情</div>
<div v-if="pName !=''" class="return">
<div style="display: flex" @click="returnclick">
<img
class="img2"
style="margin-right: 22px"
src="../../assets/image/return.png"
/>
<div class="text">返回</div>
</div>
</div>
</div>
<!-- 面包屑导航 -->
@@ -157,7 +167,7 @@
</div>
</div>
<div class="submit" @click="toWork" v-if="data.workDto?.workId">
作业
作业
</div>
</div>
</el-tab-pane>
@@ -204,7 +214,7 @@
style="width: 21px; height: 23px"
src="../../assets/image/livelecturer.png"
/>
<div class="text">直播讲师</div>
<div class="text">面授课讲师</div>
<div class="box"></div>
</div>
<!-- todo #面授课接口 讲师缺少img和介绍-->
@@ -434,7 +444,16 @@ onUnmounted(() => {
align-items: center;
}
}
.return {
position: absolute;
right: 10%;
.text {
text-align: center;
display: flex;
flex-direction: row;
align-items: center;
}
}
.detailinfo {
width: 100%;
margin-top: 20px;

View File

@@ -28,7 +28,7 @@
</div>
<!-- 面包屑导航 -->
<div class="debateTitle" style="color: #fff">
作业 {{ data?.workName }}
作业{{ data?.workName }}
</div>
<!-- 详细信息 -->
<div class="detailinfo">
@@ -67,7 +67,9 @@
</UploadImg>
<div
class="uploadDetail"
:style="{ display: showFileList ? 'block' : 'none' }"
:style="{ display: showFileList && fileList && fileList.length >0 ? 'block' : 'none' }"
@mousemove="showFileList = 1"
@mouseout="showFileList = 0"
style="padding-top: 60px"
>
<div class="triangle"></div>
@@ -146,9 +148,12 @@
type="textarea"
/>
</div>
<div style="display: flex; justify-content: center">
<button class="tijiao" @click="handleClick">提交</button>
<div style="display: flex; justify-content: center">
<button class="tijiao" @click="handleClick">{{submitList && submitList.length>0?"再次":""}}提交</button>
</div>
<div class=""></div>
@@ -165,6 +170,7 @@
<div class="historytitle">
<div class="content1">提交时间</div>
<div class="content2">作业内容</div>
<div class="content3">附件</div>
</div>
<div
v-for="(value, index) in submitList"
@@ -177,17 +183,16 @@
: '1px solid rgba(215, 229, 253, 1)',
}"
>
<div class="content1">{{ value.createTime }}</div>
<div class="content1" >{{ value.createTime }}</div>
<div class="content2">
<div
style="
width: 95%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
"
>
<div >
{{ value.workUploadContent }}
</div>
</div>
<div class="content3">
<div >
<span style="margin-left: 10px">
<el-link target="_blank" type="primary" :href="value.workUploadAddress?.split(',')[0] || ''">{{value.workUploadAddress?.split(',')[0].split('/').at(-1)|| ''}}</el-link>
</span>
@@ -251,6 +256,20 @@
</div>
<!-- 详细信息 -->
</div>
<el-dialog v-model="centerDialogVisible" title="" width="20%" center :show-close="false" :align-center="true">
<div style="text-align: center;font-size:16px;"> <span style="color:black">
提交成功
</span></div>
<template #footer>
<span class="dialog-footer">
<el-button class="cancel" style="color: #387DF7; border: 1px solid #387DF7;padding: 8px 32px; border-radius: 4px;" @click="centerDialogVisible = false">取消</el-button>
<el-button class="back" style="background: #387DF7;box-shadow: 1px 2px 15px 1px rgba(56,125,247,0.34);border: 0px;padding: 8px 32px;" type="primary" @click="returnclick">
返回
</el-button>
</span>
</template>
</el-dialog>
</template>
<script setup>
@@ -267,9 +286,13 @@ import { useRouter } from "vue-router";
import UploadImg from "@/components/img/UploadImg.vue";
import FileTypeImg from "@/components/FileTypeImg.vue";
import { useRoute } from "vue-router/dist/vue-router";
import {ElMessage} from "element-plus";
//import AlertSuccess from "@/components/alert/AlertSuccess.vue";
const fileList = ref([]);
const uploadRef = ref();
const centerDialogVisible =ref(false);
const sbValue = ref({
content: "",
attach: "",
@@ -283,16 +306,23 @@ const {
} = useRoute();
const { data } = useRequest(TASK_WORK_DETAIL, { workId, taskId });
console.log("data", data);
const { data: submitList } = useRequest(TASK_WORK_SUBMIT_LIST, {
workerId: workId,
});
const open=()=>{
centerDialogVisible.value = true
};
const showFileList = computed(()=>{
return fileList.value.length
})
const handleClick = () => {
if(!sbValue.value.content){
return ElMessage.warning("请输入作业内容");
}
request(TASK_WORK_COMMIT, {
projectOrRouterLogo: type,
workUploadContent: sbValue.value.content,
@@ -301,7 +331,9 @@ const handleClick = () => {
type,
taskId,
}).then((res) => {
console.log(res);
submitList.value.unshift(res.data);
open();
});
sbValue.value.content = "";
fileList.value = [];
@@ -660,16 +692,29 @@ function reUpload(i) {
}
.content1 {
width: 150px;
margin-top: 14px;
margin-left: 60px;
margin-left: 20px;
width: 160px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.content2 {
.content2{
margin-top: 14px;
margin-left: 80px;
width: 0;
flex: 1;
margin-left: 20px;
width:460px;;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.content3 {
margin-top: 14px;
margin-left: 20px;
width:230px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.historycontent {
@@ -872,5 +917,32 @@ function reUpload(i) {
}
}
}
.el-dialog {
color:black;
text-align: center;
font-size: 16px;
.title{
text-align: center;
}
.dialog-footer{
.back{
background: #387DF7;
box-shadow: 1px 2px 15px 1px rgba(56,125,247,0.34);
border: 0px;
padding: 8px 32px;
border-radius: 4px;
}
.cancel{
background: #387DF7;
border: 0px;
padding: 8px 32px;
border: 1px solid #387DF7;
border-radius: 4px;
}
}
}
}
</style>

View File

@@ -75,49 +75,52 @@
</div>
<div class="activedetail">
<div>
<div>活动时长</div>
<div class="content">
<span>活动时长</span>
<span class="content">
{{
data?.activityDuration
? data?.activityDuration + "分钟"
: "-"
}}
</div>
</span>
</div>
<div>
<div>活动地点</div>
<div class="content">
<span>活动地点</span>
<span class="content">
{{ data?.activityAddress ? data?.activityAddress : "-" }}
</div>
</span>
</div>
<div>
<div>活动考勤</div>
<div class="content">
<span>活动考勤</span>
<span class="content">
{{
data?.beforeSignIn
? "开始前" + data?.beforeSignIn + "分钟开始签到"
? "活动开始前" + data?.beforeSignIn + "分钟开始签到"
: "-"
}}
</div>
<div class="content">
</span>
<span class="content">
{{
data?.afterSignIn
? "开始后" + data?.afterSignIn + "分钟结束签到"
? "活动开始后" + data?.afterSignIn + "分钟结束签到"
: "-"
}}
</div>
</span>
</div>
<!--
<div>
<div>活动完成标准</div>
<div class="content">
{{ data?.standardSettings ? "仅签到" : "-" }}
</div>
</div>
-->
<div>
<div>活动说明</div>
<div class="content">
<span>活动说明</span>
<span class="content">
{{ data?.activityExplain ? data?.activityExplain : "-" }}
</div>
</span>
</div>
</div>
</div>
@@ -145,9 +148,13 @@
<script setup>
import { TAS_ACTIVITY_DETAIL, TASK_ACTIVITY_SIGN, ACTIVITY } from "@/api/api";
import { request, useRequest } from "@/api/request";
import { useRouter } from "vue-router";
import { useRoute } from "vue-router/dist/vue-router";
import { ElMessage } from "element-plus";
const router = useRouter();
const returnclick = () => {
router.back();
};
const {
query: { courseId: activityId, id: taskId, type, pName, sName },
} = useRoute();

View File

@@ -193,13 +193,8 @@ async function gofun({ routerId, name: routerName }) {
path: "/pathdetails",
query: { routerId, routerName },
})
: window.open(
`http://localhost:5173/fe-student/pathdetails&params=${encodeURIComponent(
`routerId=${routerId}&routerName=${routerName}`
)}`
);
:window.open(`http://u-pre.boe.com/pc/forward?to=/fe-student/pathdetails&params=${encodeURIComponent(`routerId=${routerId}&routerName=${routerName}`)}`)
}
function toUnTask() {}
</script>
<style lang="scss">

View File

@@ -40,7 +40,7 @@
</div>
<!-- 面包屑导航 -->
<!-- 标题 -->
<div class="title">评估管理者进阶腾飞班 - 培训阶段性调研</div>
<div class="title">评估{{data.assessmentName}}</div>
<!-- 标题 -->
<!-- 基本信息 -->
<div class="bascinfo">
@@ -203,6 +203,19 @@
<!-- 基本信息 -->
<!-- todo 测评页面 没有接口-->
</div>
<el-dialog v-model="centerDialogVisible" title="" width="20%" center :show-close="false" :align-center="true">
<div style="text-align: center;font-size:16px;"> <span style="color:black">
提交成功
</span></div>
<template #footer>
<span class="dialog-footer">
<el-button class="cancel" style="color: #387DF7; border: 1px solid #387DF7;padding: 8px 32px; border-radius: 4px;" @click="centerDialogVisible = false">取消</el-button>
<el-button class="back" style="background: #387DF7;box-shadow: 1px 2px 15px 1px rgba(56,125,247,0.34);border: 0px;padding: 8px 32px;" type="primary" @click="returnclick">
返回
</el-button>
</span>
</template>
</el-dialog>
</template>
<script setup>
import checkbox from "@/assets/image/checkbox.png";
@@ -211,6 +224,7 @@ import { useRoute, useRouter } from "vue-router/dist/vue-router";
import { request, usePage, useRequest } from "@/api/request";
import { ASSESSMENT_QUERY, ASSESSMENT_SUBMIT } from "@/api/api";
import { ElMessage } from "element-plus";
import { ref} from "vue";
const {
query: { courseId, id: taskId, type, pName, sName },
@@ -219,21 +233,67 @@ const router = useRouter();
const returnclick = () => {
router.back();
};
const { data } = useRequest(ASSESSMENT_QUERY(courseId), { id: courseId });
console.log("data", data);
const centerDialogVisible =ref(false);
const open=()=>{
centerDialogVisible.value = true
};
function submit() {
if (data.value.isSubmit) {
return;
}
console.log("data.value",data.value);
let list1 = data.value.assessmentEssayQuestionDtoList;
if(list1 &&list1.length > 0){
list1.forEach((item) => {
if(item && !item.content){
return ElMessage.warning("您有未填写的评估题干");
}
})
}
let list2 = data.value.assessmentScoringQuestionDtoList;
if(list2 &&list2.length > 0){
list2.forEach((item) => {
if(item && !item.selectAnswer){
return ElMessage.warning("您有未填写的评估题干");
}
})
}
let list3 = data.value.assessmentSingleChoiceDtoList;
if(list3 &&list3.length > 0){
let flag = 0;
list3.forEach((item) => {
flag = flag + item.select? 1 : 0;
})
if(flag ==0 ){
return ElMessage.warning("您有未填写的评估题干");
}
}
let list4 = data.value.assessmentMultipleChoiceDtoList;
if(list4 &&list4.length > 0){
let flag = 0;
list4.forEach((item) => {
flag = flag + item.select? 1 : 0;
})
if(flag == 0 ){
return ElMessage.warning("您有未填写的评估题干");
}
}
data.value.isSubmit = !data.value.isSubmit;
request(ASSESSMENT_SUBMIT, {
assessmentId: courseId,
taskId,
type,
result: JSON.stringify(data.value),
}).then(() => {
open();
});
ElMessage.info("提交成功");
router.back();
}
</script>
<style lang="scss">