提交 573c9a4e authored 作者: lihuihui's avatar lihuihui

updata

上级 9d4a938c
......@@ -27,6 +27,10 @@ export default class API {
return window.G.$instance_vue
}
isWeapp() {
return this.$store.state.isWeapp
}
/* 重新封装 请求时的执行函数 */
_request (_config = {}) {
/* 具体执行请求成功后业务逻辑前,先执行该方法 */
......@@ -94,9 +98,14 @@ export default class API {
const { status, data } = res.response
if (data) {
if (status === 402) {
window.G.$instance_vue.$router.replace({
path: '/pay'
})
console.log(this.isWeapp)
if (this.isWeapp) {
wx.miniProgram.navigateTo({ url: `/pages/web/index?src=${window.location.origin}/pay` })
} else {
window.G.$instance_vue.$router.replace({
path: '/pay'
})
}
// const routeData = window.G.$instance_vue.$router.resolve({
// name: 'pay'
// })
......
......@@ -5,8 +5,10 @@ const httpRequest = new BaseAPI(webConf)
/**
* 获取我的已做试题
*/
export function getMyQuestion() {
return httpRequest.get('/zy/v2/examination/my-question')
export function getMyQuestion(data) {
return httpRequest.get('/zy/v2/examination/my-question', data, {
headers: { 'Content-Type': 'multipart/form-data' }
})
}
/* 模拟考试设置角色 */
......
......@@ -17,8 +17,8 @@
<div class="val">{{item.total_fee}}</div>
</div>
<div class="deti">
<div class="val col" v-if="item.status === 1">购买成功</div>
<div class="val col" v-else>继续购买</div>
<div class="val col" v-if="item.status == 1">购买成功</div>
<div class="val col" v-else @click="goBuy">继续购买</div>
</div>
</li>
</template>
......@@ -37,6 +37,11 @@ export default {
mounted() {
this.getMyOrder()
},
computed: {
isWeapp() {
return this.$store.state.isWeapp
}
},
methods: {
getMyOrder() {
api.getMyOrder().then(res => {
......@@ -44,6 +49,15 @@ export default {
this.order = res.data.orders
}
})
},
goBuy() {
if (this.isWeapp) {
wx.miniProgram.navigateTo({ url: `/pages/web/index?src=${window.location.origin}/pay` })
} else {
window.G.$instance_vue.$router.replace({
path: '/pay'
})
}
}
}
}
......
<template>
<div>
<div class="top-tab">
<div :class="activeClass == '0' ? 'left btn active' : 'left btn'" @click="tab('0')">
<div class="num">{{ question.errorTotal }}</div>
<div class="txt">错题总数</div>
</div>
<div :class="activeClass == '1' ? 'right btn active' : 'right btn'" @click="tab('1')">
<div class="num">{{ question.total }}</div>
<div class="txt">做题总数</div>
<div id="top-view">
<div class="top-tab">
<div :class="activeClass == '0' ? 'left btn active' : 'left btn'" @click="tab('0')">
<div class="num">{{ question.errorTotal }}</div>
<div class="txt">错题总数</div>
</div>
<div :class="activeClass == '1' ? 'right btn active' : 'right btn'" @click="tab('1')">
<div class="num">{{ question.total }}</div>
<div class="txt">做题总数</div>
</div>
</div>
</div>
<div class="exam-con">
<div class="sele" @click="screen.isShow = true">
<div class="title">选择题型</div>
<div class="txt">
<div class="t">{{ screen.checkedText }}</div>
<van-icon name="arrow" />
<div class="exam-con">
<div class="sele" @click="screen.isShow = true">
<div class="title">选择题型</div>
<div class="txt">
<div class="t">{{ screen.checkedText }}</div>
<van-icon name="arrow" />
</div>
</div>
</div>
</div>
<div class="question-box">
<div class="question-box" id="bottom-view">
<ul>
<template v-for="(item, index) in question.list">
<template v-if="changeGroup">
<template v-if="screen.screenVal == 0">
<li :key="index" v-if="item.is_right == '0'">
<img src="../../assets/images/que-type1.png" alt="" v-if="item.question_type == '6'">
<img src="../../assets/images/que-type2.png" alt="" v-if="item.question_type == '5'">
<img src="../../assets/images/que-type3.png" alt="" v-if="item.question_type == '2'">
<img src="../../assets/images/que-type4.png" alt="" v-if="item.question_type == '1'">
<div class="text">{{ item.question.question_content }}</div>
<div class="del" @click="del(item.id)">删除</div>
</li>
</template>
<template v-else>
<li :key="index" v-if="item.is_right == '0' && item.question_type == screen.screenVal">
<img src="../../assets/images/que-type1.png" alt="" v-if="item.question_type == '6'">
<img src="../../assets/images/que-type2.png" alt="" v-if="item.question_type == '5'">
<img src="../../assets/images/que-type3.png" alt="" v-if="item.question_type == '2'">
<img src="../../assets/images/que-type4.png" alt="" v-if="item.question_type == '1'">
<div class="text">{{ item.question.question_content }}</div>
<div class="del" @click="del(item.id)">删除</div>
</li>
</template>
<template v-if="screen.screenVal == 0">
<li :key="index" v-if="item.is_right == '0'">
<img src="../../assets/images/que-type1.png" alt="" v-if="item.question_type == '6'">
<img src="../../assets/images/que-type2.png" alt="" v-if="item.question_type == '5'">
<img src="../../assets/images/que-type3.png" alt="" v-if="item.question_type == '2'">
<img src="../../assets/images/que-type4.png" alt="" v-if="item.question_type == '1'">
<div class="text">{{ item.question.question_content }}</div>
<div class="del" @click="del(item.id)">删除</div>
</li>
</template>
<template v-else>
<template v-if="screen.screenVal == 0">
<li :key="index">
<img src="../../assets/images/que-type1.png" alt="" v-if="item.question_type == '6'">
<img src="../../assets/images/que-type2.png" alt="" v-if="item.question_type == '5'">
<img src="../../assets/images/que-type3.png" alt="" v-if="item.question_type == '2'">
<img src="../../assets/images/que-type4.png" alt="" v-if="item.question_type == '1'">
<div class="text">{{ item.question.question_content }}</div>
<div class="del" @click="del(item.id)">删除</div>
</li>
</template>
<template v-else>
<li :key="index" v-if="item.question_type == screen.screenVal">
<img src="../../assets/images/que-type1.png" alt="" v-if="item.question_type == '6'">
<img src="../../assets/images/que-type2.png" alt="" v-if="item.question_type == '5'">
<img src="../../assets/images/que-type3.png" alt="" v-if="item.question_type == '2'">
<img src="../../assets/images/que-type4.png" alt="" v-if="item.question_type == '1'">
<div class="text">{{ item.question.question_content }}</div>
<div class="del" @click="del(item.id)">删除</div>
</li>
</template>
<li :key="index" v-if="item.is_right == '0' && item.question_type == screen.screenVal">
<img src="../../assets/images/que-type1.png" alt="" v-if="item.question_type == '6'">
<img src="../../assets/images/que-type2.png" alt="" v-if="item.question_type == '5'">
<img src="../../assets/images/que-type3.png" alt="" v-if="item.question_type == '2'">
<img src="../../assets/images/que-type4.png" alt="" v-if="item.question_type == '1'">
<div class="text">{{ item.question.question_content }}</div>
<div class="del" @click="del(item.id)">删除</div>
</li>
</template>
</template>
</ul>
<div class="loading" v-if="isLogding">
<div class="icon">
<van-loading color="#1989fa" />
</div>
</div>
</div>
<div class="sele-pop" v-if="screen.isShow">
<div class="picker">
......@@ -96,12 +79,39 @@ export default {
columns: ['全部', '单选题', '多选题', '判断题', '案例题'],
screenVal: '0'
},
question: {},
question: {
list: []
},
activeClass: '0',
changeGroup: false
changeGroup: false,
isLogding: false,
params: {
is_error: 1,
page: 1,
page_size: 20
},
scrollFlag: false
}
},
methods: {
handleScroll(e) {
const scrollTop = e.target.scrollTop
const eScroll = e.target.scrollHeight - (document.getElementsByTagName('body')[0].offsetHeight - document.getElementById('top-view').offsetHeight)
console.log(this.scrollFlag)
if (this.scrollFlag) { return false }
if (scrollTop === eScroll) {
this.scrollFlag = true
this.isLogding = true
this.params.page = this.params.page + 1
this.initData()
}
},
scrollDom() {
const topViewH = document.getElementById('top-view').offsetHeight
const clientHeight = document.documentElement.clientHeight
const bottomView = document.getElementById('bottom-view')
bottomView.style.height = (clientHeight - topViewH) + 'px'
},
del(id) {
api.deleteQuestion({ id: id }).then(res => {
if (res.code === 0) {
......@@ -112,10 +122,25 @@ export default {
})
},
tab(e) {
if (e === '0') {
this.params = {
is_error: 1,
page: 1,
page_size: 20
}
} else {
this.params = {
is_error: 0,
page: 1,
page_size: 20
}
}
this.screen.checkedText = '全部'
this.screen.screenVal = 0
this.activeClass = e
e === '0' ? this.changeGroup = false : this.changeGroup = true
document.getElementById('bottom-view').scrollTop = 0
this.question.list = []
},
onConfirm(value, index) {
const arr = [0, 1, 2, 5, 6]
......@@ -124,20 +149,25 @@ export default {
this.screen.isShow = false
},
initData() {
api.getMyQuestion().then(res => {
let count = 0
this.question = res
this.question.list.map(item => {
if (item.is_right === '0') {
count++
}
api.getMyQuestion(this.params).then(res => {
res.list.map(item => {
this.question.list.push(item)
})
this.question.errorTotal = count
this.question.total = res.total
this.question.errorTotal = res.error_total
this.scrollDom()
if (res.list.length === 0) {
Toast('没有更多了')
} else {
this.scrollFlag = false
}
this.isLogding = false
})
}
},
mounted() {
this.initData()
window.addEventListener('scroll', this.handleScroll, true)
}
}
</script>
......@@ -214,6 +244,7 @@ export default {
}
}
.question-box{
overflow-y: scroll;
padding: 0 .4rem;
ul{
li{
......@@ -242,4 +273,15 @@ export default {
}
}
}
.loading{
position: relative;
width: 100%;
padding-bottom: .4rem;
.icon{
position: absolute;
left: 50%;
top: 0;
-webkit-transform: translateX(-50%);
}
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论