Commit ed96ba59 authored by 罗超's avatar 罗超

1

parent e293ba30
import request from '../utils/request.js'
let JHdata = uni.getStorageSync("userInfo");
/**
* 获取活动类型列表
* @param {JSON参数} data
......@@ -8,7 +8,17 @@ export function getActivityTypeList(data) {
return request({
url: '/AppletEducation/GetActivityTypeList',
method: 'post',
data
data: {
msg: data,
MallBaseId: JHdata.JHMallBaseId,
UserId: JHdata.JHMallUserId,
TenantId: JHdata.JHTenantId,
StudentId: JHdata.Id,
OpenId: JHdata.JHMallUserOpenId,
SmallShopsId: 0,
MiniAppId: "wx38e054ee42b054f4",
token: JHdata.MallToken
}
})
}
......@@ -20,6 +30,16 @@ export function getActivityList(data) {
return request({
url: '/AppletEducation/GetActivityPageJXH',
method: 'post',
data
data: {
msg: data,
MallBaseId: JHdata.JHMallBaseId,
UserId: JHdata.JHMallUserId,
TenantId: JHdata.JHTenantId,
StudentId: JHdata.Id,
OpenId: JHdata.JHMallUserOpenId,
SmallShopsId: 0,
MiniAppId: "wx38e054ee42b054f4",
token: JHdata.MallToken
}
})
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ export function getPaperList(data) {
return request({
url: '/AppletIndex/GetGuestExaminationPublishPage',
method: 'post',
data
data: { msg: data }
})
}
......@@ -20,7 +20,7 @@ export function getPaperDetail(data) {
return request({
url: '/appletindex/GetPaperDetails',
method: 'post',
data
data: { msg: data }
})
}
......@@ -32,6 +32,6 @@ export function submitPaper(data) {
return request({
url: '/AppletIndex/StuSubmitExamPaper',
method: 'post',
data
data: { msg: data }
})
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ export function login(data) {
return request({
url: '/AppletLogin/Login',
method: 'post',
data
data: { msg: data }
})
}
......@@ -20,7 +20,7 @@ export function getIndexInfo(data) {
return request({
url: '/AppletIndex/GetIndexInfo',
method: 'post',
data
data: { msg: data }
})
}
......@@ -32,7 +32,7 @@ export function getStundentPlanStatistical(data) {
return request({
url: '/AppletIndex/GetStundentPlanStatistical',
method: 'post',
data
data: { msg: data }
})
}
......@@ -44,7 +44,7 @@ export function getCourse(data) {
return request({
url: '/AppletIndex/GetChapterTree',
method: 'post',
data
data: { msg: data }
})
}
......@@ -56,7 +56,7 @@ export function getContract(data) {
return request({
url: '/AppletIndex/GetContractList',
method: 'post',
data
data: { msg: data }
})
}
......@@ -68,7 +68,7 @@ export function getProgress(data) {
return request({
url: '/AppletIndex/GetStundentScheduleList',
method: 'post',
data
data: { msg: data }
})
}
......@@ -80,7 +80,7 @@ export function getStundentSurplus(data) {
return request({
url: '/AppletIndex/GetStundentSurplus',
method: 'post',
data
data: { msg: data }
})
}
......@@ -92,7 +92,7 @@ export function setStudentLeave(data) {
return request({
url: '/LeaveStudent/SetStudentLeave',
method: 'post',
data
data: { msg: data }
})
}
......@@ -104,7 +104,7 @@ export function getStudentLeaveList(data) {
return request({
url: '/AppletIndex/GetEducationReceiptPage',
method: 'post',
data
data: { msg: data }
})
}
/**
......@@ -115,7 +115,7 @@ export function invalidReceiptInfo(data) {
return request({
url: '/AppletIndex/InvalidReceipt',
method: 'post',
data
data: { msg: data }
})
}
/**
......@@ -126,6 +126,6 @@ export function getEduReceiptInfo(data) {
return request({
url: "/AppletIndex/GetEduReceiptInfo",
method: 'post',
data
data: { msg: data }
})
}
\ No newline at end of file
......@@ -3,37 +3,64 @@
<view>
<view class="item" style="padding: 0 20px">
<view class="name">
<view>
<view class="grow">
{{ changeNumToHan(sortIndex) }}{{ data.GroupName }}
<text style="color: #999999">(共{{ data.DetailsList.length }}道,{{ data.GScore }}分)</text>
<text style="color: #999999"
>(共{{ data.DetailsList.length }}道,{{ data.GScore }}分)</text
>
</view>
<view class="ExamIndex_Box">
<text class="Single_Before">{{ ExamIndex }}</text>/<text
class="Exam_Total">{{ data.DetailsList.length }}</text>
<text class="Single_Before">{{ ExamIndex }}</text
>/<text class="Exam_Total">{{ data.DetailsList.length }}</text>
</view>
</view>
<swiper class="swiper-box" :style="{
<swiper
class="swiper-box"
:style="{
height: `calc(100vh - 300rpx - ${statusBarHeight}px)`,
}" :autoplay="autoplay" :current="current" @change="onchange" :skip-hidden-item-layout="true">
}"
:autoplay="autoplay"
:current="current"
@change="onchange"
:skip-hidden-item-layout="true"
:disable-programmatic-animation="true"
>
<swiper-item v-if="sortIndex != 1"></swiper-item>
<swiper-item v-for="(item1, index1) in data.DetailsList" :key="index1">
<view class="item1">
<view class="flex">
<view class="num" v-html="item1.Title"></view>{{item1.Score}}
<view class="flex flex_start_center">
<view class="num" v-html="item1.Title"></view>
</view>
<view v-for="(item2, index2) in item1.QuestionContentObj" :key="index2"
class="flex item2 flex_start_center">
<view
v-for="(item2, index2) in item1.QuestionContentObj"
:key="index2"
class="flex item2 flex_start_center"
>
<template v-if="isOperate">
<view class="chooseNum" :class="{ myAnswer: item2.IsAnswer }"
@click="change(item1, item2)">{{ item2.ShowName }}
<view
class="chooseNum"
:class="{ myAnswer: item2.IsAnswer }"
@click="change(item1, item2)"
>{{ item2.ShowName }}
</view>
<view class="chooseName" @click="change(item1, item2)" v-html="item2.Content"></view>
<view
class="chooseName"
@click="change(item1, item2)"
v-html="item2.Content"
></view>
</template>
<template v-else>
<view class="chooseNum" :class="{ isTrueAnswer: item2.IsAnswer }">{{ item2.Name }}
<view
class="chooseNum"
:class="{ isTrueAnswer: item2.IsAnswer }"
>{{ item2.Name }}
</view>
<view class="chooseName" :class="{ isTrueAnswer: item2.IsAnswer }"
v-html="item2.Content">
<view
class="chooseName"
:class="{ isTrueAnswer: item2.IsAnswer }"
v-html="item2.Content"
>
</view>
</template>
</view>
......@@ -41,26 +68,30 @@
<view class="AnswerContent" v-if="!isOperate">
<view>
<text style="color: #8c8a94">正确答案:</text>
<text class="isTrueAnswer">{{item1.Answer}}</text>
<text>
您的答案:
<text class="isTrueAnswer">{{ item1.Answer }}</text
>
<text
>您的答案是:
<template v-if="item1.StundetAnswer != ''">
<text v-if="item1.Answer == item1.StundetAnswer" class="isTrueAnswer">
<text
v-if="item1.Answer == item1.StundetAnswer"
class="isTrueAnswer"
>
{{ item1.StundetAnswer }},回答正确
</text>
<text v-else class="isNotAnswer">{{ item1.StundetAnswer }},回答错误</text>
<text v-else class="isNotAnswer"
>{{ item1.StundetAnswer }},回答错误</text
>
</template>
<template v-else>
<text>未作答</text>
</template>
</text>
</view>
<view style="margin:20rpx 0;">
<text style="color:#8c8a94">您的得分:</text>
<text class="isTrueAnswer" v-if="item1.StudentScore>0">{{item1.StudentScore}}</text>
<text class="isNotAnswer" v-else>{{item1.StudentScore}}</text>
</view>
<view style="word-wrap: break-word" v-if="item1.AnswerParse">
<view
style="margin-top: 20rpx; word-wrap: break-word"
v-if="item1.AnswerParse"
>
<text style="color: #8c8a94">解析:</text>
<text style="color: #000">{{ item1.AnswerParse }}</text>
</view>
......@@ -76,7 +107,7 @@
</template>
<script>
import {
import {
ref,
reactive,
toRefs,
......@@ -85,24 +116,19 @@
watch,
computed,
onMounted,
} from "vue";
import {
changeNumToHan
} from "../../utils/index";
export default {
} from "vue";
import { changeNumToHan } from "../../utils/index";
export default {
props: {
paperData: Object,
sort: Number,
sortTotal: Number,
isLast: Boolean,
startIndex: Number,
ExamStatus: Number,
isOperate: Boolean,
},
setup(props, context) {
let {
ctx
} = getCurrentInstance();
let { ctx } = getCurrentInstance();
let data = reactive({
autoplay: false,
sortIndex: props.sort + 1, //大题序号
......@@ -144,22 +170,33 @@
item1.QuestionContentObj.map((e) => {
if (e.Name == item2.Name) {
e.IsAnswer = true;
item1.IsRes = true;
} else {
e.IsAnswer = false;
}
if (e.IsAnswer) {
//标记已回答
item1.IsRes = true;
}
});
},
onchange(e) {
data.ExamIndex = e.detail.current;
if (data.sortIndex == 1) {
data.ExamIndex = e.detail.current + 1;
}
if (data.ExamIndex === data.data.DetailsList.length + 1) {
console.log("单选", e.detail);
this.$emit("getAfterTopic");
}
if (e.detail.current == 0 && data.sortIndex != 1) {
this.$emit("getBeforeTopic");
}
}
},
jumpAnswerSheet() {
uni.navigateTo({
url: "/pages/exam/answerSheet",
});
},
};
onMounted(() => {
if (props.isLast) {
......@@ -177,10 +214,10 @@
...methods,
};
},
};
};
</script>
<style scoped>
.name {
.name {
height: 90rpx;
font-size: 28rpx;
font-family: PingFang SC;
......@@ -189,75 +226,76 @@
display: flex;
align-items: center;
justify-content: space-between;
}
}
.swiper-box {
box-sizing: border-box;
}
.isTrueAnswer {
.isTrueAnswer {
color: green !important;
}
}
.isNotAnswer {
.isNotAnswer {
color: red !important;
}
}
.AnswerContent {
.AnswerContent {
font-size: 28rpx;
padding: 25rpx;
background-color: #f4f4f4;
border-radius: 5px;
}
}
.Single_Before {
.Single_Before {
font-size: 28rpx;
font-weight: bold;
color: #da7878;
}
}
.ExamIndex_Box {
.ExamIndex_Box {
margin-right: 20px;
}
}
.Exam_Total {
.Exam_Total {
font-size: 25rpx;
color: gray;
}
}
.answerSheet {
font-size: 30rpx;
margin-left: 20rpx;
color: #000;
}
.swiper-box {
height: calc(100vh - 270rpx);
.swiper-box {
box-sizing: border-box;
}
}
.num {
.num {
font-size: 28rpx;
font-family: PingFang SC;
font-weight: bold;
color: #111111;
}
}
.item {
.item {
/* margin-bottom: 40rpx; */
position: relative;
}
}
.item1 {
.item1 {
/* margin: 25rpx 0; */
align-items: center;
}
}
.item2 {
.item2 {
padding-left: 25rpx;
margin: 30rpx 0;
}
}
.myAnswer {
.myAnswer {
background-color: #00acf9 !important;
color: #ffffff !important;
}
}
.chooseNum {
.chooseNum {
width: 40rpx;
height: 40rpx;
text-align: center;
......@@ -269,13 +307,12 @@
font-family: PingFang SC;
font-weight: bold;
color: #111111;
flex-shrink: 0;
}
}
.chooseName {
.chooseName {
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #111111;
}
}
</style>
......@@ -183,7 +183,7 @@
</view>
<view v-show="current == 2" style="height: calc(100vh - 50px)">
<signUp ref="children"></signUp>
<SignUp ref="children"></SignUp>
</view>
<auth
......@@ -191,7 +191,13 @@
@changeuserinfo="reloadUserinfo"
@gbAuth="gbAuth"
></auth>
<van-popup :show="show" closeable position="bottom" @close="show = false">
<van-popup
:show="show"
closeable
round
position="bottom"
@close="show = false"
>
<view class="pubox">
<view class="pubox-top">
<text>选择活动类型</text>
......@@ -236,13 +242,16 @@ import {
onMounted,
} from "vue";
import Loadmore from "../../components/loadmore.vue";
import SignUp from "../../components/signUp.vue";
import { getActivityTypeList, getActivityList } from "../../api/activity";
export default {
components: {
Loadmore,
SignUp,
},
setup() {
let JHdata = uni.getStorageSync("userInfo");
let i = getCurrentInstance();
console.log(252, i);
let data = reactive({
show: false,
pageState: "more",
......
......@@ -17,7 +17,7 @@
</view>
<van-empty description="暂无数据" v-if="data.length === 0" />
<view v-for="(item, index) in data" :key="index" v-if="data.length > 0">
<view class="chapter" @click="openLayer">
<view class="chapter">
<view class="flex flex_between_center">
<view class="flex flex_between_center">
<view class="dot"></view>
......@@ -65,7 +65,6 @@ import { getIndexInfo } from "../../api/index";
export default {
setup() {
let data = reactive({
showLayer: false,
msg: {
ClassId: 0,
},
......@@ -73,16 +72,9 @@ export default {
CourseName: "",
});
let methods = {
openLayer() {
data.showLayer = true;
},
closeLayer() {
data.showLayer = false;
},
async getData() {
let res = await getProgress(data.msg);
data.data = res.Data;
console.log(113, data);
},
async getIndexdata() {
let res = await getIndexInfo();
......
let host = 'http://192.168.20.17:8017/api'
if (process.env.NODE_ENV === "development") {
host = 'http://192.168.20.17:8017/api'
// host = 'http://192.168.20.24:8300/api'
// host = 'http://192.168.20.17:8017/api'
host = 'http://192.168.20.24:8300/api'
} else {
host = 'https://eduapi.oytour.com/api'
}
......@@ -18,8 +18,7 @@ let request = (param) => {
'token': token || ""
},
data: {
msg: param.data,
// ...param.data.activityMsg
...param.data,
},
success: res => {
if (res.data.Code === 1) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment