mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-10 11:26:49 +08:00
上一页
This commit is contained in:
@@ -69,6 +69,15 @@ function getUserInfo() {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.return {
|
||||
right: 0 !important;
|
||||
}
|
||||
|
||||
.preNext {
|
||||
right: 115px !important;
|
||||
margin-top:4px;
|
||||
}
|
||||
|
||||
#container {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import {useRoute, useRouter} from "vue-router/dist/vue-router";
|
||||
import {useStore} from "vuex";
|
||||
import {PROJECT, TASK_TYPES} from "@/api/CONST";
|
||||
import {computed, onMounted} from "vue";
|
||||
import {TASK_TYPES} from "@/api/CONST";
|
||||
import {computed, watchEffect} from "vue";
|
||||
|
||||
export function useTaskPage() {
|
||||
const router = useRouter()
|
||||
@@ -16,11 +16,9 @@ export function useTaskPage() {
|
||||
}))) : info.value.taskBoList)
|
||||
const index = computed(() => taskList.value?.findIndex(t => t.id == taskId))
|
||||
const hasPrev = computed(() => index.value - 1 > 0)
|
||||
const hasNext = computed(() => taskList.value.length > index)
|
||||
const hasNext = computed(() => taskList.value.length > index.value)
|
||||
|
||||
onMounted(() => {
|
||||
dispatch('getProjectInfo', {projectId:infoId})
|
||||
})
|
||||
type == 1 ? dispatch('getProjectInfo', {projectId: infoId}) : dispatch('getRouterInfo', {routerId: infoId})
|
||||
|
||||
function nextPage() {
|
||||
toPage(taskList.value[index.value + 1])
|
||||
|
||||
@@ -7,14 +7,16 @@
|
||||
<div>{{ sName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">投票详情</div>
|
||||
<!--
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</span>
|
||||
</div>
|
||||
-->
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
@@ -195,6 +197,7 @@ import store from "@/store";
|
||||
import { ElMessage } from "element-plus";
|
||||
import {useRoute,useRouter} from "vue-router/dist/vue-router";
|
||||
import {computed, reactive, toRefs} from "vue";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
// const { data } = useRequest(TASK_VOTE_DETAIL, {});
|
||||
// console.log("datadatadata", data);
|
||||
// const state = reactive({
|
||||
@@ -204,7 +207,7 @@ import {computed, reactive, toRefs} from "vue";
|
||||
const {
|
||||
query: {courseId, pName, sName, chapterOrStageId, infoId, id, btype},
|
||||
} = useRoute();
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const router = useRouter();
|
||||
const returnclick = () => {
|
||||
router.back();
|
||||
|
||||
@@ -7,13 +7,16 @@
|
||||
<div>{{ sName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">辩论详情</div>
|
||||
<!--
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</div>-->
|
||||
</span>
|
||||
</div>
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
@@ -89,13 +92,14 @@ import { reactive, toRefs } from "vue";
|
||||
import { useRequest } from "@/api/request";
|
||||
import { TASK_VOTE_DETAIL, VOTE_DETAIL } from "@/api/api";
|
||||
import { useRoute } from "vue-router/dist/vue-router";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
|
||||
const {
|
||||
query: { id: voteSubmitId, pName, sName },
|
||||
} = useRoute();
|
||||
const { data } = useRequest(TASK_VOTE_DETAIL, { voteSubmitId });
|
||||
const { data: voteDetail } = useRequest(VOTE_DETAIL, { voteSubmitId });
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const state = reactive({
|
||||
activeName: "first",
|
||||
});
|
||||
|
||||
@@ -11,23 +11,16 @@
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">讨论详情</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="prevnext">
|
||||
<div class="prev">
|
||||
<img
|
||||
style="width: 23px; height: 23px"
|
||||
src="../../assets/image/prev.png"
|
||||
/>
|
||||
<div style="margin-left: 7px">上一个</div>
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="prev" style="margin-left: 31px">
|
||||
<div style="margin-right: 7px">下一个</div>
|
||||
<img
|
||||
style="width: 23px; height: 23px"
|
||||
src="../../assets/image/next.png"
|
||||
/>
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
@@ -167,6 +160,7 @@ import { useRoute, useRouter } from "vue-router";
|
||||
import store from "@/store";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { fileUp } from "../../api/request";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
|
||||
const userInfo = computed(() => store.state.userInfo);
|
||||
const router = useRouter();
|
||||
@@ -176,7 +170,7 @@ const returnclick = () => {
|
||||
const {
|
||||
query: { id, type, pName, sName },
|
||||
} = useRoute();
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const dialogVisible = ref(false);
|
||||
|
||||
const titleName = ref("");
|
||||
|
||||
@@ -11,23 +11,16 @@
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">考试详情</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="prevnext">
|
||||
<div class="prev">
|
||||
<img
|
||||
style="width: 23px; height: 23px"
|
||||
src="../../assets/image/prev.png"
|
||||
/>
|
||||
<div style="margin-left: 7px">上一个</div>
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="prev" style="margin-left: 31px">
|
||||
<div style="margin-right: 7px">下一个</div>
|
||||
<img
|
||||
style="width: 23px; height: 23px"
|
||||
src="../../assets/image/next.png"
|
||||
/>
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
@@ -123,11 +116,12 @@
|
||||
import { useRoute } from "vue-router/dist/vue-router";
|
||||
import { usePage, useRequest } from "@/api/request";
|
||||
import { COMMENT_LIST, DISCUSS_DETAIL, EXAMINATION_QUERY } from "@/api/api";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
|
||||
const {
|
||||
query: { id, discussSubmitId, pName, sName },
|
||||
} = useRoute();
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const { data } = useRequest(EXAMINATION_QUERY(159), {});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -17,13 +17,16 @@
|
||||
<div>{{ sName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">作业详情</div>
|
||||
<!--
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</div>-->
|
||||
</span>
|
||||
</div>
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color: #0073fb">
|
||||
@@ -451,12 +454,13 @@ 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 {useTaskPage} from "@/api/useCommon";
|
||||
//import AlertSuccess from "@/components/alert/AlertSuccess.vue";
|
||||
|
||||
const fileList = ref([]);
|
||||
const fielPath = ref(import.meta.env.VITE_FILE_PATH);
|
||||
const uploadRef = ref();
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const centerDialogVisible = ref(false);
|
||||
const sbValue = ref({
|
||||
content: "",
|
||||
|
||||
@@ -196,7 +196,6 @@ import {useRoute} from "vue-router/dist/vue-router";
|
||||
import {useRouter} from "vue-router";
|
||||
import {useUserInfo} from "@/api/utils";
|
||||
import {ElMessage} from "element-plus";
|
||||
import dayjs from "dayjs";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
|
||||
const {
|
||||
@@ -255,7 +254,7 @@ let timer = null;
|
||||
function isSignClick() {
|
||||
timer = setInterval(() => {
|
||||
let beginTime = new Date(data.value?.liveStartTime).getTime();
|
||||
let endTime = !data.value.afterSignIn || data.value.afterSignIn == '0'
|
||||
let endTime = !data.value.afterSignIn || data.value?.afterSignIn == '0'
|
||||
? new Date(data.value.liveEndTime).getTime()
|
||||
: new Date(data.value?.liveStartTime).getTime();
|
||||
let nowTime = new Date().getTime();
|
||||
|
||||
@@ -8,13 +8,16 @@
|
||||
<div>{{ sName }}</div>
|
||||
<div v-if="sName" style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">活动详情</div>
|
||||
<!--
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</div>-->
|
||||
</span>
|
||||
</div>
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
@@ -170,6 +173,7 @@ import { useRouter } from "vue-router";
|
||||
import { useRoute } from "vue-router/dist/vue-router";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { reactive, onUnmounted, toRefs} from "vue";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
const router = useRouter();
|
||||
const returnclick = () => {
|
||||
router.back();
|
||||
@@ -183,7 +187,7 @@ const state = reactive({
|
||||
});
|
||||
|
||||
const { isAllowSign } = toRefs(state);
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const { data } = useRequest(ACTIVITY, { activityId });
|
||||
console.log('data', data)
|
||||
const signClick = (tab, event) => {
|
||||
|
||||
@@ -10,22 +10,16 @@
|
||||
<div v-if="sName" style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">评估详情</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="prevnext">
|
||||
<div class="prev">
|
||||
<img
|
||||
style="width: 23px; height: 23px"
|
||||
src="../../assets/image/prev.png"
|
||||
/>
|
||||
<div style="margin-left: 7px">上一个</div>
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="prev" style="margin-left: 31px">
|
||||
<div style="margin-right: 7px">下一个</div>
|
||||
<img
|
||||
style="width: 23px; height: 23px"
|
||||
src="../../assets/image/next.png"
|
||||
/>
|
||||
</div>-->
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;"
|
||||
@@ -342,6 +336,7 @@ import { ASSESSMENT_QUERY, ASSESSMENT_SUBMIT } from "@/api/api";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { ref } from "vue";
|
||||
import dayjs from "dayjs";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
|
||||
const {
|
||||
query: { courseId, id: taskId, infoId, type, pName, sName, chapterOrStageId, projectStatus, projectEndTime },
|
||||
@@ -351,7 +346,7 @@ const returnclick = () => {
|
||||
clearInterval(timers)
|
||||
router.back();
|
||||
};
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const { data } = useRequest(ASSESSMENT_QUERY(courseId), { id: courseId, type, chapterOrStageId, targetId: infoId ? infoId : 0 });
|
||||
console.log('我是查询评估的参数', { id: courseId, type, chapterOrStageId, targetId: infoId ? infoId : 0 })
|
||||
console.log('我是需要排序得题目', data)
|
||||
|
||||
@@ -7,14 +7,16 @@
|
||||
<div>{{ sName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">测评详情</div>
|
||||
<!--
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</span>
|
||||
</div>
|
||||
-->
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
@@ -82,11 +84,12 @@
|
||||
import {reactive,computed} from "vue";
|
||||
import {useRoute,useRouter} from "vue-router/dist/vue-router";
|
||||
import store from "@/store";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
|
||||
const {
|
||||
query: {courseId, pName, sName, chapterOrStageId, infoId, id, exname, btype},
|
||||
} = useRoute();
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const router = useRouter();
|
||||
const returnclick = () => {
|
||||
router.back();
|
||||
|
||||
@@ -7,14 +7,16 @@
|
||||
<div>{{ sName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">考试详情</div>
|
||||
<!--
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</span>
|
||||
</div>
|
||||
-->
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
@@ -76,11 +78,12 @@
|
||||
} from "@/api/api";
|
||||
import {reactive} from "vue";
|
||||
import {useRoute,useRouter} from "vue-router/dist/vue-router";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
|
||||
const {
|
||||
query: {courseId, pName, sName, chapterOrStageId, infoId, id, exname},
|
||||
} = useRoute();
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const router = useRouter();
|
||||
const returnclick = () => {
|
||||
router.back();
|
||||
|
||||
@@ -7,14 +7,16 @@
|
||||
<div>{{ sName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">外链详情</div>
|
||||
<!--
|
||||
<div class="preNext">
|
||||
<span @click="prevPage" v-if="hasPrev">
|
||||
<button class="btn btn01"></button>
|
||||
<span class="content" style="margin-left: 6px">上一个</span>
|
||||
</span>
|
||||
<span @click="nextPage" v-if="hasNext">
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</span>
|
||||
</div>
|
||||
-->
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
@@ -79,11 +81,12 @@
|
||||
} from "@/api/api";
|
||||
import {reactive} from "vue";
|
||||
import {useRoute,useRouter} from "vue-router/dist/vue-router";
|
||||
import {useTaskPage} from "@/api/useCommon";
|
||||
|
||||
const {
|
||||
query: {courseId, pName, sName, chapterOrStageId, infoId, id, exname},
|
||||
} = useRoute();
|
||||
|
||||
const {nextPage,prevPage,hasPrev, hasNext} = useTaskPage()
|
||||
const router = useRouter();
|
||||
const returnclick = () => {
|
||||
router.back();
|
||||
|
||||
Reference in New Issue
Block a user