课程详情,知识点接口
This commit is contained in:
+1
-1
@@ -3,6 +3,6 @@ ENV = 'development'
|
||||
# 'development'
|
||||
|
||||
# base api
|
||||
# VITE_APP_BASE_API_Url = 'http://25.18.122.66:9786'
|
||||
#VITE_APP_BASE_API_Url = 'http://25.18.122.66:9786'
|
||||
# 苗扬
|
||||
VITE_APP_BASE_API_Url = 'http://25.64.16.133:9786'
|
||||
|
||||
+20
-5
@@ -15,8 +15,8 @@ export default {
|
||||
<style lang="scss">
|
||||
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
|
||||
// @import "@/uni_modules/uview-ui/index.scss";
|
||||
view{
|
||||
box-sizing: border-box;
|
||||
view {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'PingFangSC';
|
||||
@@ -42,18 +42,33 @@ view{
|
||||
.mb-8 {
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
.mb-18{
|
||||
.pt-8 {
|
||||
padding-top: 8rpx;
|
||||
}
|
||||
.mb- {
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
.mb-18 {
|
||||
margin-bottom: 18rpx;
|
||||
}
|
||||
.mb-64{
|
||||
.mb-64 {
|
||||
margin-bottom: 64rpx;
|
||||
}
|
||||
.mb-30 {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.mb-36 {
|
||||
margin-bottom: 36rpx;
|
||||
}
|
||||
.mb-4 {
|
||||
margin-bottom: 4rpx;
|
||||
}
|
||||
.fz-30{
|
||||
.fz-30 {
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.fz-24 {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.w_100 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
import request from '@/api/request'
|
||||
|
||||
const base_url = '/traapp'
|
||||
|
||||
// 获取课程分类树接口
|
||||
export const getCourseDetailApi = (data) => {
|
||||
return request({
|
||||
url: base_url + '/crsInfo/queryCrsInfoDetail',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
};
|
||||
@@ -3,17 +3,17 @@
|
||||
<image src="/src/static/images/courseDetail/mipmap-xhdpi/bg.png" mode="widthFix" class="back-image"></image>
|
||||
<view class="detail-body">
|
||||
<view class="head-title font_pf">
|
||||
<view class="title-text">课程标题课程标题111111</view>
|
||||
<view class="title-text">{{ form.crsName }}</view>
|
||||
<view class="title-num">
|
||||
<view class="num-item">
|
||||
<image class="title-icon" src="/src/static/images/courseDetail/mipmap-xhdpi/zhishidian.png" mode="widthFix"></image>
|
||||
<view class="mr-10">知识点</view>
|
||||
<view class="c-000">4</view>
|
||||
<view class="c-000">{{ form.pgrphNum }}</view>
|
||||
</view>
|
||||
<view class="num-item">
|
||||
<image class="title-icon" src="/src/static/images/courseDetail/mipmap-xhdpi/yixue.png" mode="widthFix"></image>
|
||||
<view class="mr-10">已学</view>
|
||||
<view class="c-000">1</view>
|
||||
<view class="c-000">{{ form.styParaGraphNum }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -29,36 +29,36 @@
|
||||
:inactive-style="{ color: '#666666', 'font-size': '30rpx' }"
|
||||
></uv-tabs>
|
||||
</view>
|
||||
<view class="course-info">
|
||||
<view class="course-info" v-if="tabAct == '课程介绍'">
|
||||
<view class="info-top font_pf">
|
||||
<view class="top-left font_pf">
|
||||
<view class="fz-30 fw-600 mb-8">课程类别</view>
|
||||
<view class="fz-30 fw-600">核心业务类</view>
|
||||
<view class="fz-30 fw-600">{{ form.catalogName }}</view>
|
||||
</view>
|
||||
<view class="top-right font_pf">
|
||||
<view class="rate-text mb-4">评分</view>
|
||||
<view class="rate-num">7.8</view>
|
||||
<view class="rate-num">{{ form.evalGrade }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info-middle font_pf">
|
||||
<view class="fz-30 fw-600 mb-8">发布日期</view>
|
||||
<view class="fz-30 fw-600">2025-06-04 14:45</view>
|
||||
<view class="fz-30 fw-600">{{ common.formatDate2(form.issuTm, 'yyyy-MM-dd HH:mm') }}</view>
|
||||
</view>
|
||||
<view class="info-bottom">
|
||||
<view class="bottom-left">
|
||||
<view class="mb-64">
|
||||
<view class="fz-30 font_pf fw-600 mb-18">标签</view>
|
||||
<view class="label">
|
||||
<text class="label-item font_pf" v-for="item in 6">零售业务</text>
|
||||
<view class="label" v-if="form.tagCataList">
|
||||
<text class="label-item font_pf" v-for="item in form.tagCataList" :key="item.tagId">{{ item.tagName }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mb-64">
|
||||
<view class="fz-30 fw-600 font_pf mb-4">创建人</view>
|
||||
<view class="fz-30 font_pf fw-600">李少全</view>
|
||||
<view class="fz-30 font_pf fw-600">{{ form.ctUserName }}</view>
|
||||
</view>
|
||||
<view class="mb-64">
|
||||
<view class="fz-30 font_pf fw-600 mb-4">归属部门</view>
|
||||
<view class="fz-30 font_pf fw-600">机构业务部</view>
|
||||
<view class="fz-30 font_pf fw-600">{{ form.belgOrgName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom-right">
|
||||
@@ -66,6 +66,23 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="point" v-if="tabAct == '知识点'">
|
||||
<view class="point-item mb-30" v-for="(item, index) in form.pgrphData" :key="item.index">
|
||||
<view class="flex">
|
||||
<view class="blue-ball">
|
||||
<view class="ball"></view>
|
||||
</view>
|
||||
<view class="item-label">
|
||||
<view class="fz-30 font_pf fw-600 mb-30">知识点0{{ index + 1 }}</view>
|
||||
<view class="fz-30 font_pf fw-600 mb-36">{{ item.pgrphContent }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pt-8">
|
||||
<view class="font_pf fz-24" :class="item.pgrphStdyStateName == '已学习' ? 'learn' : 'unlearn'">{{ item.pgrphStdyStateName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="evaluate" v-if="tabAct == '评价'"></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="btn-box font_pf">
|
||||
@@ -77,15 +94,26 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
import { reactive, ref } from 'vue';
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { getCourseDetailApi } from '@/api/courseDetail.js';
|
||||
// import {formatDate2} from '@/common/common.js'
|
||||
import common from '@/common/common';
|
||||
// tab栏
|
||||
const tabList = ref([{ name: '课程介绍' }, { name: '知识点' }, { name: '评价' }]);
|
||||
const form = ref({});
|
||||
const crsNum = ref('');
|
||||
const tabAct = ref('课程介绍');
|
||||
const tabSwitch = (item) => {
|
||||
console.log(item);
|
||||
tabAct.value = item.name;
|
||||
};
|
||||
onLoad(() => {
|
||||
console.log('onLoad');
|
||||
const getData = async () => {
|
||||
const { body } = await getCourseDetailApi({ crsNum: crsNum.value });
|
||||
form.value = body;
|
||||
};
|
||||
onLoad((params) => {
|
||||
crsNum.value = params.crsNum;
|
||||
getData();
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -96,7 +124,7 @@ onLoad(() => {
|
||||
}
|
||||
.detail-body {
|
||||
box-sizing: border-box;
|
||||
height: calc(100vh - 256rpx);
|
||||
min-height: calc(100vh - 256rpx);
|
||||
position: absolute;
|
||||
top: 256rpx;
|
||||
border-radius: 23rpx 23rpx 0rpx 0rpx;
|
||||
@@ -242,6 +270,35 @@ onLoad(() => {
|
||||
margin-right: 30rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.point {
|
||||
width: 100%;
|
||||
}
|
||||
.point-item {
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
padding-top: 24rpx;
|
||||
padding-left: 36rpx;
|
||||
padding-right: 52rpx;
|
||||
border-radius: 22rpx;
|
||||
justify-content: space-between;
|
||||
.blue-ball {
|
||||
padding-top: 16rpx;
|
||||
margin-right: 12rpx;
|
||||
.ball {
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
background-color: #0066ff;
|
||||
border-radius: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.learn {
|
||||
color: #1dd17a;
|
||||
}
|
||||
.unlearn {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.c-000 {
|
||||
font-weight: 600;
|
||||
color: #000000;
|
||||
|
||||
Reference in New Issue
Block a user