mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-07 09:56:46 +08:00
面授detai edit five pages
This commit is contained in:
@@ -35,7 +35,7 @@
|
|||||||
<div class="bascinfo">
|
<div class="bascinfo">
|
||||||
<div style="margin-left: 46px">
|
<div style="margin-left: 46px">
|
||||||
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
||||||
<div class="time" style="margin-top: 26px">
|
<!-- <div class="time" style="margin-top: 26px">
|
||||||
<img
|
<img
|
||||||
style="width: 15px; height: 17px"
|
style="width: 15px; height: 17px"
|
||||||
src="../../assets/image/time.png"
|
src="../../assets/image/time.png"
|
||||||
@@ -54,9 +54,9 @@
|
|||||||
src="../../assets/image/position.png"
|
src="../../assets/image/position.png"
|
||||||
/>
|
/>
|
||||||
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<!-- <div>
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
<botton
|
<botton
|
||||||
class="btn"
|
class="btn"
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
>{{ data.isSurvery ? "已评估" : "评估" }}
|
>{{ data.isSurvery ? "已评估" : "评估" }}
|
||||||
</botton>
|
</botton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- 基本信息 -->
|
<!-- 基本信息 -->
|
||||||
|
|
||||||
@@ -284,11 +284,12 @@
|
|||||||
<!-- todo #面授课接口 讲师缺少img和介绍-->
|
<!-- todo #面授课接口 讲师缺少img和介绍-->
|
||||||
<div class="teacheritem">
|
<div class="teacheritem">
|
||||||
<img class="peopleimg" :src="teacherInfo?.avatar"/>
|
<img class="peopleimg" :src="teacherInfo?.avatar"/>
|
||||||
<div class="nameSpan">
|
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
|
||||||
<div class="teacherName" style="margin-right: 5px">
|
<div class="teacherName" style="padding: 5px 0;">
|
||||||
{{ data.planDto?.teacher }}
|
{{ data.planDto?.teacher }}
|
||||||
</div>
|
</div>
|
||||||
<div class="introduce">{{ data.planDto?.bandDesc }}</div>
|
<!-- <div class="introduce">{{ data.planDto?.bandDesc }}</div> -->
|
||||||
|
<div class="introduce" style="margin: 0;">{{ cutOrgNamePath }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -322,6 +323,19 @@ const { data } = useRequest(STU_OFFCOURSE_DETAIL, {
|
|||||||
courseId,
|
courseId,
|
||||||
usePermission: true,
|
usePermission: true,
|
||||||
});
|
});
|
||||||
|
// 获取组织名称
|
||||||
|
const cutOrgNamePath = computed(() => {
|
||||||
|
let newName = data.value?.offcourseDto?.organizationNames;
|
||||||
|
if(newName){
|
||||||
|
let names=newName.split(',');
|
||||||
|
let len=names.length;
|
||||||
|
//使用最后两们
|
||||||
|
if(len>1){
|
||||||
|
newName=names[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newName;
|
||||||
|
})
|
||||||
const teacherInfo = useUserInfo(computed(() => data.value?.planDto?.teacherId));
|
const teacherInfo = useUserInfo(computed(() => data.value?.planDto?.teacherId));
|
||||||
const isAllowSign = computed(() => dayjs().isBetween(dayjs(data.value.planDto?.beginTime).subtract(data.value.planDto?.beforeStart || 0, "minute"), dayjs(data.value.planDto?.afterStart ? data.value.planDto?.beginTime : data.value.planDto?.endTime).add(data.value.planDto?.afterStart || 0, "minute")));
|
const isAllowSign = computed(() => dayjs().isBetween(dayjs(data.value.planDto?.beginTime).subtract(data.value.planDto?.beforeStart || 0, "minute"), dayjs(data.value.planDto?.afterStart ? data.value.planDto?.beginTime : data.value.planDto?.endTime).add(data.value.planDto?.afterStart || 0, "minute")));
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
:src="data.offcourseDto.picUrl" alt="">
|
:src="data.offcourseDto.picUrl" alt="">
|
||||||
<div style="margin-left: 40px;margin-top: 56px;">
|
<div style="margin-left: 40px;margin-top: 56px;">
|
||||||
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
||||||
<div class="time" style="margin-top: 30px">
|
<!-- <div class="time" style="margin-top: 30px">
|
||||||
<img style="width: 15px; height: 17px" src="../../assets/image/time.png"/>
|
<img style="width: 15px; height: 17px" src="../../assets/image/time.png"/>
|
||||||
<div style="margin-left: 8px">
|
<div style="margin-left: 8px">
|
||||||
{{
|
{{
|
||||||
@@ -37,10 +37,9 @@
|
|||||||
<div v-if="data.planDto.address" class="time" style="margin-top: 10px">
|
<div v-if="data.planDto.address" class="time" style="margin-top: 10px">
|
||||||
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
|
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
|
||||||
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
<!-- <div class="time" style="margin-top: 37px">-->
|
<!-- <div class="time" style="margin-top: 37px">-->
|
||||||
<!-- <botton class="btn" style="margin-right: 20px;width: 160px;height: 46px;" v-if="data.planDto.applyFlag" @click="onLineSignUp" :style="{ background: data.isSignUp ? '#999' : 'rgb(57, 146, 249)'}">{{data.isSignUp?'已报名':'立即报名'}}</botton>-->
|
<!-- <botton class="btn" style="margin-right: 20px;width: 160px;height: 46px;" v-if="data.planDto.applyFlag" @click="onLineSignUp" :style="{ background: data.isSignUp ? '#999' : 'rgb(57, 146, 249)'}">{{data.isSignUp?'已报名':'立即报名'}}</botton>-->
|
||||||
<!-- </div>-->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
@@ -53,12 +52,12 @@
|
|||||||
<div class="detail">
|
<div class="detail">
|
||||||
<div class="detailB">
|
<div class="detailB">
|
||||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||||
<el-tab-pane label="课程介绍" name="first">
|
<el-tab-pane label="内容简介" name="first">
|
||||||
<div class="notice" style="padding:20px;font-size:14px;">
|
<div class="notice" style="padding:20px;font-size:14px;">
|
||||||
{{ data.offcourseDto?.intro || "暂无课程介绍" }}
|
{{ data.offcourseDto?.intro || "暂无内容简介" }}
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="课程大纲" name="second">
|
<el-tab-pane label="课程速览" name="second">
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
|
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -66,7 +65,7 @@
|
|||||||
<!-- <el-tab-pane label="课程评论" name="third" :disabed=dayjs().isBefore(dayjs(data.planDto.beginTime))>
|
<!-- <el-tab-pane label="课程评论" name="third" :disabed=dayjs().isBefore(dayjs(data.planDto.beginTime))>
|
||||||
|
|
||||||
</el-tab-pane> -->
|
</el-tab-pane> -->
|
||||||
<el-tab-pane label="材料下载" name="third" >
|
<!-- <el-tab-pane label="材料下载" name="third" >
|
||||||
<div v-if="!data.offcourseDto?.attach"
|
<div v-if="!data.offcourseDto?.attach"
|
||||||
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
|
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
|
||||||
此课程无附件
|
此课程无附件
|
||||||
@@ -82,18 +81,9 @@
|
|||||||
}"></FileTypeImg>
|
}"></FileTypeImg>
|
||||||
<div style="margin-left: 20px">{{ el.slice(el.lastIndexOf('/')+1,el.indexOf('-')) + el.slice(el.lastIndexOf('.')) }}</div>
|
<div style="margin-left: 20px">{{ el.slice(el.lastIndexOf('/')+1,el.indexOf('-')) + el.slice(el.lastIndexOf('.')) }}</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="download">-->
|
|
||||||
<!-- <img style="width: 16px; height: 15px" src="../../assets/image/download.png"/>-->
|
|
||||||
<!-- <div style="margin-left: 5px;color:#999;">-->
|
|
||||||
<!-- 下载-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!-- <div style="margin-left: 5px;color:#999;" @click="download(el)">
|
|
||||||
下载
|
|
||||||
</div> -->
|
|
||||||
<!-- </div>-->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -106,11 +96,12 @@
|
|||||||
<!-- todo #面授课接口 讲师缺少img和介绍-->
|
<!-- todo #面授课接口 讲师缺少img和介绍-->
|
||||||
<div class="teacheritem">
|
<div class="teacheritem">
|
||||||
<img class="peopleimg" :src="teacherInfo.avatar"/>
|
<img class="peopleimg" :src="teacherInfo.avatar"/>
|
||||||
<div class="nameSpan">
|
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
|
||||||
<div class="teacherName" style="margin-right: 5px">
|
<div class="teacherName" style="padding: 5px 0;">
|
||||||
{{ data.planDto?.teacher }}
|
{{ data.planDto?.teacher }}
|
||||||
</div>
|
</div>
|
||||||
<div class="introduce">{{ data.planDto?.bandDesc }}</div>
|
<!-- <div class="introduce">{{ data.planDto?.bandDesc }}</div> -->
|
||||||
|
<div class="introduce" style="margin: 0;">{{ cutOrgNamePath }}</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="follow">+ 关注</div>-->
|
<!-- <div class="follow">+ 关注</div>-->
|
||||||
</div>
|
</div>
|
||||||
@@ -142,6 +133,19 @@ const {
|
|||||||
} = useRoute();
|
} = useRoute();
|
||||||
|
|
||||||
const {data} = useRequest(STU_OFFCOURSE_DETAIL, {courseId});
|
const {data} = useRequest(STU_OFFCOURSE_DETAIL, {courseId});
|
||||||
|
// 获取组织名称
|
||||||
|
const cutOrgNamePath = computed(() => {
|
||||||
|
let newName = data.value?.offcourseDto?.organizationNames;
|
||||||
|
if(newName){
|
||||||
|
let names=newName.split(',');
|
||||||
|
let len=names.length;
|
||||||
|
//使用最后两们
|
||||||
|
if(len>1){
|
||||||
|
newName=names[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newName;
|
||||||
|
})
|
||||||
|
|
||||||
const teacherInfo = useUserInfo(
|
const teacherInfo = useUserInfo(
|
||||||
computed(() => data.value?.planDto?.teacherId)
|
computed(() => data.value?.planDto?.teacherId)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
:src="data.offcourseDto.picUrl" alt="">
|
:src="data.offcourseDto.picUrl" alt="">
|
||||||
<div style="margin-left: 40px;margin-top: 56px;">
|
<div style="margin-left: 40px;margin-top: 56px;">
|
||||||
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
||||||
<div class="time" style="margin-top: 30px">
|
<!-- <div class="time" style="margin-top: 30px">
|
||||||
<img style="width: 15px; height: 17px" src="../../assets/image/time.png"/>
|
<img style="width: 15px; height: 17px" src="../../assets/image/time.png"/>
|
||||||
<div style="margin-left: 8px">
|
<div style="margin-left: 8px">
|
||||||
{{
|
{{
|
||||||
@@ -37,10 +37,10 @@
|
|||||||
<div v-if="data.planDto.address" class="time" style="margin-top: 10px">
|
<div v-if="data.planDto.address" class="time" style="margin-top: 10px">
|
||||||
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
|
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
|
||||||
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="time" style="margin-top: 37px">
|
<!-- <div class="time" style="margin-top: 37px">
|
||||||
<botton class="btn" style="margin-right: 20px;width: 260px;height: 46px;" :style="{ background: '#999'}">当前任务暂未开放,请联系管理员</botton>
|
<botton class="btn" style="margin-right: 20px;width: 260px;height: 46px;" :style="{ background: '#999'}">当前任务暂未开放,请联系管理员</botton>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
@@ -53,17 +53,17 @@
|
|||||||
<div class="detail">
|
<div class="detail">
|
||||||
<div class="detailB">
|
<div class="detailB">
|
||||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||||
<el-tab-pane label="课程介绍" name="first">
|
<el-tab-pane label="内容简介" name="first">
|
||||||
<div class="notice" style="padding:20px;font-size:14px;">
|
<div class="notice" style="padding:20px;font-size:14px;">
|
||||||
{{ data.offcourseDto?.intro || "暂无课程介绍" }}
|
{{ data.offcourseDto?.intro || "暂无内容简介" }}
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="课程大纲" name="second">
|
<el-tab-pane label="课程速览" name="second">
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
|
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="材料下载" name="third" >
|
<!-- <el-tab-pane label="材料下载" name="third" >
|
||||||
<div v-if="!data.offcourseDto?.attach"
|
<div v-if="!data.offcourseDto?.attach"
|
||||||
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
|
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
|
||||||
此课程无附件
|
此课程无附件
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -94,11 +94,12 @@
|
|||||||
<!-- todo #面授课接口 讲师缺少img和介绍-->
|
<!-- todo #面授课接口 讲师缺少img和介绍-->
|
||||||
<div class="teacheritem">
|
<div class="teacheritem">
|
||||||
<img class="peopleimg" :src="teacherInfo.avatar"/>
|
<img class="peopleimg" :src="teacherInfo.avatar"/>
|
||||||
<div class="nameSpan">
|
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
|
||||||
<div class="teacherName" style="margin-right: 5px">
|
<div class="teacherName" style="padding: 5px 0;">
|
||||||
{{ data.planDto?.teacher }}
|
{{ data.planDto?.teacher }}
|
||||||
</div>
|
</div>
|
||||||
<div class="introduce">{{ data.planDto?.bandDesc }}</div>
|
<!-- <div class="introduce">{{ data.planDto?.bandDesc }}</div> -->
|
||||||
|
<div class="introduce" style="margin: 0;">{{ cutOrgNamePath }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -129,6 +130,19 @@ const {
|
|||||||
} = useRoute();
|
} = useRoute();
|
||||||
|
|
||||||
const {data} = useRequest(STU_OFFCOURSE_DETAIL, {courseId});
|
const {data} = useRequest(STU_OFFCOURSE_DETAIL, {courseId});
|
||||||
|
// 获取组织名称
|
||||||
|
const cutOrgNamePath = computed(() => {
|
||||||
|
let newName = data.value?.offcourseDto?.organizationNames;
|
||||||
|
if(newName){
|
||||||
|
let names=newName.split(',');
|
||||||
|
let len=names.length;
|
||||||
|
//使用最后两们
|
||||||
|
if(len>1){
|
||||||
|
newName=names[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newName;
|
||||||
|
})
|
||||||
|
|
||||||
const teacherInfo = useUserInfo(computed(() => data.value?.planDto?.teacherId));
|
const teacherInfo = useUserInfo(computed(() => data.value?.planDto?.teacherId));
|
||||||
const activeName = ref("first");
|
const activeName = ref("first");
|
||||||
|
|||||||
@@ -22,19 +22,19 @@
|
|||||||
:src="data.offcourseDto?.picUrl" alt="">
|
:src="data.offcourseDto?.picUrl" alt="">
|
||||||
<div style="margin-left: 40px;margin-top: 56px;">
|
<div style="margin-left: 40px;margin-top: 56px;">
|
||||||
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
||||||
<div class="time" style="margin-top: 30px">
|
<!-- <div class="time" style="margin-top: 30px">
|
||||||
<img style="width: 15px; height: 17px" src="../../assets/image/time.png"/>
|
<img style="width: 15px; height: 17px" src="../../assets/image/time.png"/>
|
||||||
<div style="margin-left: 8px">
|
<div style="margin-left: 8px">
|
||||||
{{
|
{{
|
||||||
data.planDto?.beginTime + " 至 " + data.planDto?.endTime
|
data.planDto?.beginTime + " 至 " + data.planDto?.endTime
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div v-if="data.planDto.address" class="time" style="margin-top: 10px">
|
<!-- <div v-if="data.planDto.address" class="time" style="margin-top: 10px">
|
||||||
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
|
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
|
||||||
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="time" style="margin-top: 37px" v-if="!isCourseEnd">
|
<!-- <div class="time" style="margin-top: 37px" v-if="!isCourseEnd">
|
||||||
<botton
|
<botton
|
||||||
class="btn"
|
class="btn"
|
||||||
style="margin-right: 20px;width: 160px;height: 46px;"
|
style="margin-right: 20px;width: 160px;height: 46px;"
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
@click="onLineSignUp(true)">
|
@click="onLineSignUp(true)">
|
||||||
重新报名
|
重新报名
|
||||||
</botton>
|
</botton>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
@@ -64,12 +64,12 @@
|
|||||||
<div class="detail">
|
<div class="detail">
|
||||||
<div class="detailB">
|
<div class="detailB">
|
||||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||||
<el-tab-pane label="课程介绍" name="first">
|
<el-tab-pane label="内容简介" name="first">
|
||||||
<div class="notice" style="padding:20px;font-size:14px;">
|
<div class="notice" style="padding:20px;font-size:14px;">
|
||||||
{{ data.offcourseDto?.intro || "暂无课程介绍" }}
|
{{ data.offcourseDto?.intro || "暂无内容简介" }}
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="课程大纲" name="second">
|
<el-tab-pane label="课程速览" name="second">
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
|
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -267,7 +267,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="材料下载" name="four" >
|
<!-- <el-tab-pane label="材料下载" name="four" >
|
||||||
<div v-if="data.offcourseDto?.attach == ''"
|
<div v-if="data.offcourseDto?.attach == ''"
|
||||||
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
|
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
|
||||||
此课程无附件
|
此课程无附件
|
||||||
@@ -285,16 +285,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="download">
|
<div class="download">
|
||||||
<img style="width: 16px; height: 15px" src="../../assets/image/download.png"/>
|
<img style="width: 16px; height: 15px" src="../../assets/image/download.png"/>
|
||||||
<!-- <div style="margin-left: 5px;color:#999;">
|
|
||||||
下载
|
|
||||||
</div> -->
|
|
||||||
<div style="margin-left: 5px;color:#2478ff;" @click="download(el)">
|
<div style="margin-left: 5px;color:#2478ff;" @click="download(el)">
|
||||||
下载
|
下载
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -307,11 +304,11 @@
|
|||||||
<!-- todo #面授课接口 讲师缺少img和介绍-->
|
<!-- todo #面授课接口 讲师缺少img和介绍-->
|
||||||
<div class="teacheritem">
|
<div class="teacheritem">
|
||||||
<img class="peopleimg" :src="teacherInfo.avatar"/>
|
<img class="peopleimg" :src="teacherInfo.avatar"/>
|
||||||
<div class="nameSpan">
|
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
|
||||||
<div class="teacherName" style="margin-right: 5px">
|
<div class="teacherName" style="padding: 5px 0;">
|
||||||
{{ data.planDto?.teacher }}
|
{{ data.planDto?.teacher }}
|
||||||
</div>
|
</div>
|
||||||
<div class="introduce">{{ data.planDto?.bandDesc }}</div>
|
<div class="introduce" style="margin: 0;">{{cutOrgNamePath}}</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="follow">+ 关注</div>-->
|
<!-- <div class="follow">+ 关注</div>-->
|
||||||
</div>
|
</div>
|
||||||
@@ -346,6 +343,21 @@ const returnclick = () => {
|
|||||||
};
|
};
|
||||||
const { query: {courseId} } = useRoute();
|
const { query: {courseId} } = useRoute();
|
||||||
const {data = {}} = useRequest(STU_OFFCOURSE_DETAIL, {courseId});
|
const {data = {}} = useRequest(STU_OFFCOURSE_DETAIL, {courseId});
|
||||||
|
console.log(data.value);
|
||||||
|
// 获取组织名称
|
||||||
|
const cutOrgNamePath = computed(() => {
|
||||||
|
let newName = data.value?.offcourseDto?.organizationNames;
|
||||||
|
if(newName){
|
||||||
|
let names=newName.split(',');
|
||||||
|
let len=names.length;
|
||||||
|
//使用最后两们
|
||||||
|
if(len>1){
|
||||||
|
newName=names[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newName;
|
||||||
|
})
|
||||||
|
|
||||||
const teacherInfo = useUserInfo( computed(() => data.value?.planDto?.teacherId));
|
const teacherInfo = useUserInfo( computed(() => data.value?.planDto?.teacherId));
|
||||||
const activeName = ref("first");
|
const activeName = ref("first");
|
||||||
const isCourseEnd = computed(() => dayjs(data.value.planDto?.endTime).isBefore(dayjs()));
|
const isCourseEnd = computed(() => dayjs(data.value.planDto?.endTime).isBefore(dayjs()));
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
<div class="bascinfo">
|
<div class="bascinfo">
|
||||||
<div style="margin-left: 46px">
|
<div style="margin-left: 46px">
|
||||||
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
<div class="title">【面授课】{{ data.planDto?.name }}</div>
|
||||||
<div class="time" style="margin-top: 26px">
|
<!-- <div class="time" style="margin-top: 26px">
|
||||||
<img
|
<img
|
||||||
style="width: 15px; height: 17px"
|
style="width: 15px; height: 17px"
|
||||||
src="../../assets/image/time.png"
|
src="../../assets/image/time.png"
|
||||||
@@ -54,9 +54,9 @@
|
|||||||
src="../../assets/image/position.png"
|
src="../../assets/image/position.png"
|
||||||
/>
|
/>
|
||||||
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<!-- <div>
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
<botton
|
<botton
|
||||||
class="btn"
|
class="btn"
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
>{{ data.signFlag ? "已签到" : "签到" }}
|
>{{ data.signFlag ? "已签到" : "签到" }}
|
||||||
</botton>
|
</botton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- 基本信息 -->
|
<!-- 基本信息 -->
|
||||||
|
|
||||||
@@ -91,17 +91,17 @@
|
|||||||
|
|
||||||
<div class="detailB">
|
<div class="detailB">
|
||||||
<el-tabs v-model:activeName="activeName" @tab-click="handleClick">
|
<el-tabs v-model:activeName="activeName" @tab-click="handleClick">
|
||||||
<el-tab-pane label="课程介绍" name="first">
|
<el-tab-pane label="内容简介" name="first">
|
||||||
<div class="notice" style="padding:20px;font-size:14px;">
|
<div class="notice" style="padding:20px;font-size:14px;">
|
||||||
{{ data.offcourseDto?.intro || "暂无课程介绍" }}
|
{{ data.offcourseDto?.intro || "暂无内容简介" }}
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="课程大纲" name="second">
|
<el-tab-pane label="课程速览" name="second">
|
||||||
<div style="display: flex; align-items: center">
|
<div style="display: flex; align-items: center">
|
||||||
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
|
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="材料下载" name="third" >
|
<!-- <el-tab-pane label="材料下载" name="third" >
|
||||||
<div v-if="!data.offcourseDto?.attach"
|
<div v-if="!data.offcourseDto?.attach"
|
||||||
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
|
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
|
||||||
此课程无附件
|
此课程无附件
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -134,11 +134,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="teacheritem">
|
<div class="teacheritem">
|
||||||
<img class="peopleimg" :src="teacherInfo.avatar"/>
|
<img class="peopleimg" :src="teacherInfo.avatar"/>
|
||||||
<div class="nameSpan">
|
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
|
||||||
<div class="teacherName" style="margin-right: 5px">
|
<div class="teacherName" style="padding: 5px 0;">
|
||||||
{{ data.planDto?.teacher }}
|
{{ data.planDto?.teacher }}
|
||||||
</div>
|
</div>
|
||||||
<div class="introduce">{{ data.planDto?.bandDesc }}</div>
|
<!-- <div class="introduce">{{ data.planDto?.bandDesc }}</div> -->
|
||||||
|
<div class="introduce" style="margin: 0;">{{ cutOrgNamePath }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -166,6 +167,19 @@ const returnclick = () => router.back();
|
|||||||
const { query: { courseId }} = useRoute();
|
const { query: { courseId }} = useRoute();
|
||||||
|
|
||||||
const { data } = useRequest(STU_OFFCOURSE_DETAIL, { courseId, usePermission: true, });
|
const { data } = useRequest(STU_OFFCOURSE_DETAIL, { courseId, usePermission: true, });
|
||||||
|
// 获取组织名称
|
||||||
|
const cutOrgNamePath = computed(() => {
|
||||||
|
let newName = data.value?.offcourseDto?.organizationNames;
|
||||||
|
if(newName){
|
||||||
|
let names=newName.split(',');
|
||||||
|
let len=names.length;
|
||||||
|
//使用最后两们
|
||||||
|
if(len>1){
|
||||||
|
newName=names[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newName;
|
||||||
|
})
|
||||||
const teacherInfo = useUserInfo(computed(() => data.value?.planDto?.teacherId));
|
const teacherInfo = useUserInfo(computed(() => data.value?.planDto?.teacherId));
|
||||||
const isAllowSign = computed(() => dayjs().isBetween(dayjs(data.value?.planDto?.beginTime).subtract(data.value?.planDto?.beforeStart || 0, "minute"), dayjs(data.value?.planDto?.afterStart ? data.value?.planDto?.beginTime : data.value?.planDto?.endTime).add(data.value?.planDto?.afterStart || 0, "minute")));
|
const isAllowSign = computed(() => dayjs().isBetween(dayjs(data.value?.planDto?.beginTime).subtract(data.value?.planDto?.beforeStart || 0, "minute"), dayjs(data.value?.planDto?.afterStart ? data.value?.planDto?.beginTime : data.value?.planDto?.endTime).add(data.value?.planDto?.afterStart || 0, "minute")));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user