mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-12 12:26:49 +08:00
style:增加项目列表学习进度搜索,增加项目起止时间;增加讨论模块部分接口及样式接入。
This commit is contained in:
@@ -36,48 +36,47 @@
|
||||
</div>
|
||||
<!-- 面包屑导航 -->
|
||||
<!-- 标题 -->
|
||||
<div class="title">{{ info.name }}</div>
|
||||
<div class="title">【讨论】{{ state.info.discussDtoList[0].discussName }}</div>
|
||||
<!-- 标题 -->
|
||||
<!-- 详细内容 -->
|
||||
<div class="bascinfo clearfix">
|
||||
<!-- 中间部分 -->
|
||||
<div class="middletitle">
|
||||
<div class="title">
|
||||
{{ info.name }}
|
||||
{{ state.info.discussDtoList[0].discussName }}
|
||||
</div>
|
||||
<!-- <button class="btn">发表帖子</button>-->
|
||||
<button class="btn">发表帖子</button>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="line clearfix">
|
||||
<div class="linetitle">{{ info.sName }}</div>
|
||||
<div class="linetitle">{{ state.info.discussDtoList[0].discussName }}</div>
|
||||
<div class="radi"></div>
|
||||
<div class="intime">进行中</div>
|
||||
</div>
|
||||
<div class="allbtn">
|
||||
<button :class="`btnone ${param.searchType == 1 ? 'active' : ''}`">
|
||||
<button :class="`btnone ${state.searchType == 1 ? 'active' : ''}`" @click="nowPost(state.info.discussDtoList[0].discussId)">
|
||||
最新
|
||||
</button>
|
||||
<button
|
||||
:class="`btntwo ${param.searchType == 2 ? 'active' : ''}`"
|
||||
style="margin-left: 20px"
|
||||
>
|
||||
最热
|
||||
:class="`btnone ${state.searchType == 2 ? 'active' : ''}`"
|
||||
style="margin-left: 20px" @click="hotPost(state.info.discussDtoList[0].discussId)">
|
||||
最热
|
||||
</button>
|
||||
</div>
|
||||
<div
|
||||
class="discusslist"
|
||||
v-for="(d, j) in info?.discussDtoList"
|
||||
v-for="(d, j) in state?.postList"
|
||||
:key="j"
|
||||
>
|
||||
<div class="itemtitle">{{ d.discussName }}</div>
|
||||
<div class="itemdiscuss">
|
||||
{{ d.discussExplain }}
|
||||
<div class="itemtitle" @click="comment(d)">{{ d.discussSubmitTitle }}</div>
|
||||
<div class="itemdiscuss" @click="comment(d)">
|
||||
{{ d.discussSubmitContent }}
|
||||
</div>
|
||||
<div class="allstar clearfix">
|
||||
<div @click="comment(d)" style="display: flex; cursor: pointer">
|
||||
<span class="iconfont icon-pinglun" style="color: #b3bdc4"></span>
|
||||
<div class="count">{{ d.commentNum || 0 }}</div>
|
||||
<div class="count">{{ d.discussReviewCount || 0 }}</div>
|
||||
</div>
|
||||
<div @click="like(d)" style="display: flex; cursor: pointer">
|
||||
<span
|
||||
@@ -87,7 +86,7 @@
|
||||
marginLeft: '19px',
|
||||
}"
|
||||
></span>
|
||||
<div class="count">{{ d.praiseNum || 0 }}</div>
|
||||
<div class="count">{{ d.discussLikeCount || 0 }}</div>
|
||||
</div>
|
||||
<div @click="collection(d)" style="display: flex; cursor: pointer">
|
||||
<span
|
||||
@@ -97,11 +96,23 @@
|
||||
marginLeft: '19px',
|
||||
}"
|
||||
></span>
|
||||
<div class="count">{{ d.collectionNum || 0 }}</div>
|
||||
<div class="count">{{ d.discussCollectionCount || 0 }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="thinline"></div>
|
||||
</div>
|
||||
<div
|
||||
style="display:flex;justify-content:center;align-items:center;margin-top:36px;">
|
||||
<!-- 分页 -->
|
||||
<el-pagination
|
||||
v-model:current-page="state.currentPage"
|
||||
:page-size="state.pageSize"
|
||||
:small="small"
|
||||
layout="prev, pager, next, jumper"
|
||||
:total="state.total"
|
||||
@current-change="handleCurrentChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 详细内容 -->
|
||||
@@ -110,7 +121,12 @@
|
||||
|
||||
<script setup>
|
||||
import { request, useRequest } from "@/api/request";
|
||||
import { COMMENT_COLLECTION, COMMENT_PRAISE, DISCUSS_LIST } from "@/api/api";
|
||||
import {
|
||||
COMMENT_COLLECTION,
|
||||
COMMENT_PRAISE,
|
||||
DISCUSS_LIST,
|
||||
QueryDiscussSubmitDetailByDiscussId
|
||||
} from "@/api/api";
|
||||
import { reactive, ref, toRefs } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
|
||||
@@ -126,12 +142,203 @@ const param = ref({
|
||||
type,
|
||||
id,
|
||||
});
|
||||
const { data: info } = useRequest(DISCUSS_LIST, param.value);
|
||||
|
||||
const state = reactive({
|
||||
activeName: "first",
|
||||
info:{},
|
||||
pageNo:1,
|
||||
pageSize:10,
|
||||
searchType:1,
|
||||
|
||||
postList: [], //帖子列表
|
||||
total:0, // 帖子总条数
|
||||
currentPage: 1
|
||||
});
|
||||
|
||||
|
||||
useRequest(DISCUSS_LIST, param.value, (e)=>{
|
||||
console.log('我是获取的讨论详情数据', e)
|
||||
state.info = e.data;
|
||||
// 获取该讨论下面的帖子
|
||||
console.log('我是查询讨论下帖子的参数',{
|
||||
"discussId": e.data.discussDtoList[0].discussId,
|
||||
"pageNo": state.pageNo,
|
||||
"pageSize": state.pageSize,
|
||||
"searchType": state.searchType
|
||||
})
|
||||
useRequest(
|
||||
QueryDiscussSubmitDetailByDiscussId,
|
||||
{
|
||||
"discussId": e.data.discussDtoList[0].discussId,
|
||||
"pageNo": state.pageNo,
|
||||
"pageSize": state.pageSize,
|
||||
"searchType": state.searchType
|
||||
},
|
||||
(e)=>{
|
||||
console.log('我是当前讨论下的帖子',e)
|
||||
state.postList = e.data.rows;
|
||||
state.total = e.data.total;
|
||||
|
||||
// 添加一条假的数据 供测试使用
|
||||
state.postList =[
|
||||
{
|
||||
"createTime": "",
|
||||
"createUser": 0,
|
||||
"discussCollectionCount": "234",
|
||||
"discussId": "",
|
||||
"discussLikeCount": "3576",
|
||||
"discussReviewCount": "12353",
|
||||
"discussSubmitContent": "帖子的内容----帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容",
|
||||
"discussSubmitId": "",
|
||||
"discussSubmitPictureAddress": "",
|
||||
"discussSubmitTitle": "我是一个用来测试的帖子标题",
|
||||
"stuId": "",
|
||||
"stuName": "",
|
||||
"updateTime": "",
|
||||
"updateUser": 0,
|
||||
|
||||
"submitReviewVoList": [
|
||||
{
|
||||
"createTime": "",
|
||||
"createUser": 0,
|
||||
"discussLikeCount": "",
|
||||
"discussReviewContent": "",
|
||||
"discussReviewFlag": "",
|
||||
"discussReviewId": "",
|
||||
"discussReviewPictureAddress": "",
|
||||
"discussSubmitId": "",
|
||||
"stuId": "",
|
||||
"stuName": "",
|
||||
"submitReplyVoList": [
|
||||
{
|
||||
"createTime": "",
|
||||
"createUser": 0,
|
||||
"discussReplyId": 0,
|
||||
"discussReviewId": "",
|
||||
"replyContent": "",
|
||||
"replyFlag": "",
|
||||
"replyPictureAddress": "",
|
||||
"reviewStuId": "",
|
||||
"reviewStuName": "",
|
||||
"stuId": "",
|
||||
"stuName": "",
|
||||
"updateTime": "",
|
||||
"updateUser": 0
|
||||
}
|
||||
],
|
||||
"updateTime": "",
|
||||
"updateUser": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
state.total = 100;
|
||||
})
|
||||
});
|
||||
|
||||
// 获取帖子
|
||||
function getPostList(discussId) {
|
||||
console.log({
|
||||
"discussId": discussId,
|
||||
"pageNo": state.pageNo,
|
||||
"pageSize": state.pageSize,
|
||||
"searchType": state.searchType
|
||||
})
|
||||
|
||||
useRequest(
|
||||
QueryDiscussSubmitDetailByDiscussId,
|
||||
{
|
||||
"discussId": discussId,
|
||||
"pageNo": state.pageNo,
|
||||
"pageSize": state.pageSize,
|
||||
"searchType": state.searchType
|
||||
},
|
||||
(e)=>{
|
||||
console.log('我是当前讨论下的帖子',e)
|
||||
state.postList = e.data.rows;
|
||||
state.total = e.data.total;
|
||||
|
||||
// 添加一条假的数据 供测试使用
|
||||
state.postList =[
|
||||
{
|
||||
"createTime": "",
|
||||
"createUser": 0,
|
||||
"discussCollectionCount": "234",
|
||||
"discussId": "",
|
||||
"discussLikeCount": "3576",
|
||||
"discussReviewCount": "12353",
|
||||
"discussSubmitContent": "帖子的内容----帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容帖子的内容",
|
||||
"discussSubmitId": "",
|
||||
"discussSubmitPictureAddress": "",
|
||||
"discussSubmitTitle": "我是一个用来测试的帖子标题",
|
||||
"stuId": "",
|
||||
"stuName": "",
|
||||
"updateTime": "",
|
||||
"updateUser": 0,
|
||||
|
||||
"submitReviewVoList": [
|
||||
{
|
||||
"createTime": "",
|
||||
"createUser": 0,
|
||||
"discussLikeCount": "",
|
||||
"discussReviewContent": "",
|
||||
"discussReviewFlag": "",
|
||||
"discussReviewId": "",
|
||||
"discussReviewPictureAddress": "",
|
||||
"discussSubmitId": "",
|
||||
"stuId": "",
|
||||
"stuName": "",
|
||||
"submitReplyVoList": [
|
||||
{
|
||||
"createTime": "",
|
||||
"createUser": 0,
|
||||
"discussReplyId": 0,
|
||||
"discussReviewId": "",
|
||||
"replyContent": "",
|
||||
"replyFlag": "",
|
||||
"replyPictureAddress": "",
|
||||
"reviewStuId": "",
|
||||
"reviewStuName": "",
|
||||
"stuId": "",
|
||||
"stuName": "",
|
||||
"updateTime": "",
|
||||
"updateUser": 0
|
||||
}
|
||||
],
|
||||
"updateTime": "",
|
||||
"updateUser": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
state.total = 100;
|
||||
})
|
||||
}
|
||||
|
||||
// 最新
|
||||
function nowPost(id) {
|
||||
state.searchType = 1;
|
||||
state.pageNo = 1;
|
||||
state.currentPage = 1;
|
||||
getPostList(id);
|
||||
}
|
||||
// 最热
|
||||
function hotPost() {
|
||||
state.searchType = 2;
|
||||
state.pageNo = 1;
|
||||
state.currentPage = 1;
|
||||
getPostList(id);
|
||||
}
|
||||
|
||||
// 分页
|
||||
function handleCurrentChange(e, k) {
|
||||
console.log('分页打印', e, k)
|
||||
state.currentPage = e;
|
||||
state.pageNo = e;
|
||||
getPostList(state.info.discussDtoList[0].discussId);
|
||||
}
|
||||
|
||||
|
||||
function comment({ discussId: id }) {
|
||||
router.push({ path: "discussdetail", query: { id, type } });
|
||||
}
|
||||
@@ -320,6 +527,7 @@ function collection(d) {
|
||||
font-weight: 500;
|
||||
color: #333333;
|
||||
margin-right: 88px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.itemdiscuss {
|
||||
@@ -330,6 +538,7 @@ function collection(d) {
|
||||
font-weight: 500;
|
||||
color: #666666;
|
||||
line-height: 24px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.allstar {
|
||||
|
||||
Reference in New Issue
Block a user