This commit is contained in:
lims1@hunktimes.com
2023-08-01 16:49:31 +08:00
5 changed files with 141 additions and 83 deletions

View File

@@ -35,7 +35,7 @@
<div class="bascinfo">
<div style="margin-left: 46px">
<div class="title">面授课{{ data.planDto?.name }}</div>
<div class="time" style="margin-top: 26px">
<!-- <div class="time" style="margin-top: 26px">
<img
style="width: 15px; height: 17px"
src="../../assets/image/time.png"
@@ -54,9 +54,9 @@
src="../../assets/image/position.png"
/>
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
</div>
</div> -->
</div>
<div>
<!-- <div>
<div style="display: flex">
<botton
class="btn"
@@ -82,7 +82,7 @@
>{{ data.isSurvery ? "已评估" : "评估" }}
</botton>
</div>
</div>
</div> -->
</div>
<!-- 基本信息 -->
@@ -284,11 +284,12 @@
<!-- todo #面授课接口 讲师缺少img和介绍-->
<div class="teacheritem">
<img class="peopleimg" :src="teacherInfo?.avatar"/>
<div class="nameSpan">
<div class="teacherName" style="margin-right: 5px">
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
<div class="teacherName" style="padding: 5px 0;">
{{ data.planDto?.teacher }}
</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>
@@ -322,6 +323,19 @@ 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 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")));

View File

@@ -25,7 +25,7 @@
:src="data.offcourseDto.picUrl" alt="">
<div style="margin-left: 40px;margin-top: 56px;">
<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"/>
<div style="margin-left: 8px">
{{
@@ -37,10 +37,9 @@
<div v-if="data.planDto.address" class="time" style="margin-top: 10px">
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
</div>
</div> -->
<!-- <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>-->
<!-- </div>-->
<!-- <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 style="display: flex">
@@ -53,12 +52,12 @@
<div class="detail">
<div class="detailB">
<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;">
{{ data.offcourseDto?.intro || "暂无课程介绍" }}
{{ data.offcourseDto?.intro || "暂无内容简介" }}
</div>
</el-tab-pane>
<el-tab-pane label="课程大纲" name="second">
<el-tab-pane label="课程速览" name="second">
<div style="display: flex; align-items: center">
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
</div>
@@ -66,7 +65,7 @@
<!-- <el-tab-pane label="课程评论" name="third" :disabed=dayjs().isBefore(dayjs(data.planDto.beginTime))>
</el-tab-pane> -->
<el-tab-pane label="材料下载" name="third" >
<!-- <el-tab-pane label="材料下载" name="third" >
<div v-if="!data.offcourseDto?.attach"
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
此课程无附件
@@ -82,18 +81,9 @@
}"></FileTypeImg>
<div style="margin-left: 20px">{{ el.slice(el.lastIndexOf('/')+1,el.indexOf('-')) + el.slice(el.lastIndexOf('.')) }}</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>
</el-tab-pane>
</el-tab-pane> -->
</el-tabs>
</div>
</div>
@@ -106,11 +96,12 @@
<!-- todo #面授课接口 讲师缺少img和介绍-->
<div class="teacheritem">
<img class="peopleimg" :src="teacherInfo.avatar"/>
<div class="nameSpan">
<div class="teacherName" style="margin-right: 5px">
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
<div class="teacherName" style="padding: 5px 0;">
{{ data.planDto?.teacher }}
</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 class="follow">+ 关注</div>-->
</div>
@@ -142,6 +133,19 @@ const {
} = useRoute();
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)

View File

@@ -25,7 +25,7 @@
:src="data.offcourseDto.picUrl" alt="">
<div style="margin-left: 40px;margin-top: 56px;">
<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"/>
<div style="margin-left: 8px">
{{
@@ -37,10 +37,10 @@
<div v-if="data.planDto.address" class="time" style="margin-top: 10px">
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
</div>
<div class="time" style="margin-top: 37px">
</div> -->
<!-- <div class="time" style="margin-top: 37px">
<botton class="btn" style="margin-right: 20px;width: 260px;height: 46px;" :style="{ background: '#999'}">当前任务暂未开放请联系管理员</botton>
</div>
</div> -->
</div>
</div>
<div style="display: flex">
@@ -53,17 +53,17 @@
<div class="detail">
<div class="detailB">
<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;">
{{ data.offcourseDto?.intro || "暂无课程介绍" }}
{{ data.offcourseDto?.intro || "暂无内容简介" }}
</div>
</el-tab-pane>
<el-tab-pane label="课程大纲" name="second">
<el-tab-pane label="课程速览" name="second">
<div style="display: flex; align-items: center">
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
</div>
</el-tab-pane>
<el-tab-pane label="材料下载" name="third" >
<!-- <el-tab-pane label="材料下载" name="third" >
<div v-if="!data.offcourseDto?.attach"
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>
</el-tab-pane>
</el-tab-pane> -->
</el-tabs>
</div>
</div>
@@ -94,11 +94,12 @@
<!-- todo #面授课接口 讲师缺少img和介绍-->
<div class="teacheritem">
<img class="peopleimg" :src="teacherInfo.avatar"/>
<div class="nameSpan">
<div class="teacherName" style="margin-right: 5px">
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
<div class="teacherName" style="padding: 5px 0;">
{{ data.planDto?.teacher }}
</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>
@@ -129,6 +130,19 @@ const {
} = useRoute();
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 activeName = ref("first");

View File

@@ -22,37 +22,37 @@
:src="data.offcourseDto?.picUrl" alt="">
<div style="margin-left: 40px;margin-top: 56px;">
<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"/>
<div style="margin-left: 8px">
{{
data.planDto?.beginTime + " 至 " + data.planDto?.endTime
}}
</div>
</div>
<div v-if="data.planDto.address" class="time" style="margin-top: 10px">
</div> -->
<!-- <div v-if="data.planDto.address" class="time" style="margin-top: 10px">
<img style="width: 16px; height: 18px" src="../../assets/image/position.png"/>
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
</div>
<div class="time" style="margin-top: 37px" v-if="!isCourseEnd">
<botton
class="btn"
style="margin-right: 20px;width: 160px;height: 46px;"
v-if="data.planDto.applyFlag"
@click="onLineSignUp(false)"
</div> -->
<!-- <div class="time" style="margin-top: 37px" v-if="!isCourseEnd">
<botton
class="btn"
style="margin-right: 20px;width: 160px;height: 46px;"
v-if="data.planDto.applyFlag"
@click="onLineSignUp(false)"
:style="{ background: (data.isSignUp || data.isRefused) ? '#999' : 'rgb(57, 146, 249)'}">
{{
data.isRefused ? '审核拒绝' : data.isSignUp? '已报名' :'立即报名'
}}
</botton>
<botton
v-if="data.isRefused && !data.isSignUpAgain"
class="btn"
style="margin-right: 20px;width: 160px;height: 46px;"
<botton
v-if="data.isRefused && !data.isSignUpAgain"
class="btn"
style="margin-right: 20px;width: 160px;height: 46px;"
@click="onLineSignUp(true)">
重新报名
</botton>
</div>
</div> -->
</div>
</div>
<div style="display: flex">
@@ -64,12 +64,12 @@
<div class="detail">
<div class="detailB">
<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;">
{{ data.offcourseDto?.intro || "暂无课程介绍" }}
{{ data.offcourseDto?.intro || "暂无内容简介" }}
</div>
</el-tab-pane>
<el-tab-pane label="课程大纲" name="second">
<el-tab-pane label="课程速览" name="second">
<div style="display: flex; align-items: center">
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
</div>
@@ -200,7 +200,7 @@
</div>
<!-- 查看更多 -->
<div style="display: flex;justify-content: center;align-items: center;position:absolute;bottom:0px;cursor: pointer;width:100%">
<span
<span
@click="lookMore(i)"
style="font-size: 14px;color: #2478ff;">{{ i==spreadReply ? '收起' : '查看更多' }}</span>
</div>
@@ -263,11 +263,11 @@
</div>
</div>
</div>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="材料下载" name="four" >
<!-- <el-tab-pane label="材料下载" name="four" >
<div v-if="data.offcourseDto?.attach == ''"
style="font-size: 14px;font-weight: 400; line-height: 24px; cursor: pointer;margin-left: 40px; margin-top: 20px;">
此课程无附件
@@ -285,16 +285,13 @@
</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:#2478ff;" @click="download(el)">
下载
</div>
</div>
</div>
</div>
</el-tab-pane>
</el-tab-pane> -->
</el-tabs>
</div>
</div>
@@ -307,11 +304,11 @@
<!-- todo #面授课接口 讲师缺少img和介绍-->
<div class="teacheritem">
<img class="peopleimg" :src="teacherInfo.avatar"/>
<div class="nameSpan">
<div class="teacherName" style="margin-right: 5px">
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
<div class="teacherName" style="padding: 5px 0;">
{{ data.planDto?.teacher }}
</div>
<div class="introduce">{{ data.planDto?.bandDesc }}</div>
<div class="introduce" style="margin: 0;">{{cutOrgNamePath}}</div>
</div>
<!-- <div class="follow">+ 关注</div>-->
</div>
@@ -346,6 +343,21 @@ const returnclick = () => {
};
const { query: {courseId} } = useRoute();
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 activeName = ref("first");
const isCourseEnd = computed(() => dayjs(data.value.planDto?.endTime).isBefore(dayjs()));
@@ -416,7 +428,7 @@ const replayComment = ref({
const clearText = () => {
disComment.value.content = "";
fileListComment.value = [];
fileListCommentRelpay.value = [];
fileListCommentRelpay.value = [];
replayComment.value.content = "";
}
// 评论图片展示数组
@@ -466,7 +478,7 @@ function submitComment() {
content: disComment.value.content,
type: 2,
})
request(COMMENT_ADD, {
id: courseId,
targetId: courseId,
@@ -499,7 +511,7 @@ function submitReplayComment() {
type: 2,
pid: replayComment.value.pid
})
request(COMMENT_ADD, {
id: courseId,
targetId: courseId,

View File

@@ -35,7 +35,7 @@
<div class="bascinfo">
<div style="margin-left: 46px">
<div class="title">面授课{{ data.planDto?.name }}</div>
<div class="time" style="margin-top: 26px">
<!-- <div class="time" style="margin-top: 26px">
<img
style="width: 15px; height: 17px"
src="../../assets/image/time.png"
@@ -54,9 +54,9 @@
src="../../assets/image/position.png"
/>
<div style="margin-left: 8px">{{ data.planDto?.address }}</div>
</div>
</div> -->
</div>
<div>
<!-- <div>
<div style="display: flex">
<botton
class="btn"
@@ -66,7 +66,7 @@
>{{ data.signFlag ? "已签到" : "签到" }}
</botton>
</div>
</div>
</div> -->
</div>
<!-- 基本信息 -->
@@ -91,17 +91,17 @@
<div class="detailB">
<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;">
{{ data.offcourseDto?.intro || "暂无课程介绍" }}
{{ data.offcourseDto?.intro || "暂无内容简介" }}
</div>
</el-tab-pane>
<el-tab-pane label="课程大纲" name="second">
<el-tab-pane label="课程速览" name="second">
<div style="display: flex; align-items: center">
<div style="padding:20px;" class="content" v-html="data.offcourseDto?.outline"></div>
</div>
</el-tab-pane>
<el-tab-pane label="材料下载" name="third" >
<!-- <el-tab-pane label="材料下载" name="third" >
<div v-if="!data.offcourseDto?.attach"
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>
</el-tab-pane>
</el-tab-pane> -->
</el-tabs>
</div>
</div>
@@ -134,11 +134,12 @@
</div>
<div class="teacheritem">
<img class="peopleimg" :src="teacherInfo.avatar"/>
<div class="nameSpan">
<div class="teacherName" style="margin-right: 5px">
<div class="nameSpan" style="align-items: flex-start;justify-content:flex-start;flex-direction: column;padding-left: 10px;">
<div class="teacherName" style="padding: 5px 0;">
{{ data.planDto?.teacher }}
</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>
@@ -166,6 +167,19 @@ const returnclick = () => router.back();
const { query: { courseId }} = useRoute();
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 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")));