上一页

This commit is contained in:
yuping
2023-02-20 05:57:44 +08:00
parent e6ca8a8d5b
commit 09421dcb4f
13 changed files with 170 additions and 157 deletions

View File

@@ -7,11 +7,11 @@
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<template>
<!--
<!--
-->
<div id="container">
<div id="container">
<!-- <div id="nav">
<!-- <div id="nav">
<router-link
v-for="item in routes"
:key="item.path"
@@ -24,16 +24,16 @@
{{ item.name }}
</router-link>
</div> -->
<main style="z-index: 2">
<router-view />
</main>
</div>
<main style="z-index: 2">
<router-view/>
</main>
</div>
</template>
<script setup>
import {boeRequest, request} from "@/api/request";
import { GET_USER_INFO } from "@/api/ThirdApi";
import { useStore } from "vuex";
import { onMounted } from "vue";
import {GET_USER_INFO} from "@/api/ThirdApi";
import {useStore} from "vuex";
import {onMounted} from "vue";
import {useRoute} from "vue-router/dist/vue-router";
import {USER_INFO} from "@/api/api";
@@ -45,11 +45,11 @@ onMounted(() => {
});
function getUserInfo() {
if(import.meta.env.MODE ==='development' || import.meta.env.MODE ==='test'){
request(USER_INFO,{}).then(res=>{
if (import.meta.env.MODE === 'development' || import.meta.env.MODE === 'test') {
request(USER_INFO, {}).then(res => {
store.commit("SET_USER", res.data);
})
}else{
} else {
boeRequest(GET_USER_INFO).then((res) => {
res.result.avatar = res.result.avatar || '/800e23f7-b58c-4192-820d-0c6a2b7544cc.png'
store.commit("SET_USER", res.result);
@@ -59,58 +59,67 @@ function getUserInfo() {
</script>
<style lang="scss">
#app {
// font-family: MicrosoftYaHei, Microsoft YaHei, Avenir, Helvetica, Arial,
// sans-serif;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
Microsoft YaHei, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
height: 100%;
// font-family: MicrosoftYaHei, Microsoft YaHei, Avenir, Helvetica, Arial,
// sans-serif;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
Microsoft YaHei, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
height: 100%;
}
.return {
right: 0 !important;
}
.preNext {
right: 115px !important;
margin-top:4px;
}
#container {
display: flex;
width: 100%;
min-height: 100%;
background-color: rgba(242, 245, 247, 1);
display: flex;
width: 100%;
min-height: 100%;
background-color: rgba(242, 245, 247, 1);
// background-color: #ccc;
#nav {
width: 220px;
height: 100%;
display: flex;
flex-direction: column;
gap: 20px;
padding: 30px 0;
box-sizing: border-box;
background: #f1f1f1;
box-shadow: 0 5px 15px 8px rgba(1, 22, 54, 0.795);
// background-color: #ccc;
#nav {
width: 220px;
height: 100%;
display: flex;
flex-direction: column;
gap: 20px;
padding: 30px 0;
box-sizing: border-box;
background: #f1f1f1;
box-shadow: 0 5px 15px 8px rgba(1, 22, 54, 0.795);
.link {
text-decoration: none;
color: rgb(0, 0, 0);
padding: 10px;
transition: all 0.4s;
text-align: center;
.link {
text-decoration: none;
color: rgb(0, 0, 0);
padding: 10px;
transition: all 0.4s;
text-align: center;
&:hover {
background: rgba(4, 37, 223, 0.274);
color: #f1f1f1;
}
&:hover {
background: rgba(4, 37, 223, 0.274);
color: #f1f1f1;
}
&.active {
color: #f1f1f1;
background: rgba(17, 120, 255, 0.74);
}
}
}
&.active {
color: #f1f1f1;
background: rgba(17, 120, 255, 0.74);
}
}
}
main {
flex: 1;
width: 100%;
// padding: 30px;
box-sizing: border-box;
}
main {
flex: 1;
width: 100%;
// padding: 30px;
box-sizing: border-box;
}
}
</style>

View File

@@ -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])
@@ -41,7 +39,7 @@ export function useTaskPage() {
infoId: info.id,
courseId: d.courseId,
pName: info.name,
sName:d.stageName,
sName: d.stageName,
chapterOrStageId: d.stageId,
btype: type
},

View File

@@ -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">
<button class="btn btn01"></button>
<span class="content" style="margin-left: 6px">上一个</span>
<span class="content" style="margin-left: 31px">一个</span>
<button class="btn btn02" style="margin-left: 6px"></button>
<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();

View File

@@ -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">
<button class="btn btn01"></button>
<span class="content" style="margin-left: 6px">上一个</span>
<span class="content" style="margin-left: 31px">一个</span>
<button class="btn btn02" style="margin-left: 6px"></button>
</div>-->
<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>
@@ -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",
});

View File

@@ -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>
<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="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>
@@ -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("");

View File

@@ -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>
<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="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>
@@ -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>

View File

@@ -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">
<button class="btn btn01"></button>
<span class="content" style="margin-left: 6px">上一个</span>
<span class="content" style="margin-left: 31px">一个</span>
<button class="btn btn02" style="margin-left: 6px"></button>
</div>-->
<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">
@@ -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: "",

View File

@@ -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();

View File

@@ -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">
<button class="btn btn01"></button>
<span class="content" style="margin-left: 6px">上一个</span>
<span class="content" style="margin-left: 31px">一个</span>
<button class="btn btn02" style="margin-left: 6px"></button>
</div>-->
<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>
@@ -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) => {

View File

@@ -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>
<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="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;"
@@ -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)

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();