提交 e01ed602 authored 作者: matian's avatar matian

update:代码更新关于活动时间判断

上级 6798e5cb
......@@ -11,6 +11,7 @@
"element-ui": "^2.15.5",
"query-string": "^7.0.1",
"swiper": "^5.4.5",
"vant": "^2.12.26",
"vue": "^2.6.14",
"vue-awesome-swiper": "^4.1.1",
"vue-router": "^3.5.2",
......@@ -521,6 +522,22 @@
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/runtime": {
"version": "7.15.3",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz",
"integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==",
"dependencies": {
"regenerator-runtime": "^0.13.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/runtime/node_modules/regenerator-runtime": {
"version": "0.13.9",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
},
"node_modules/@babel/template": {
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
......@@ -568,6 +585,15 @@
"node": ">=6.9.0"
}
},
"node_modules/@popperjs/core": {
"version": "2.9.3",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz",
"integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@rollup/pluginutils": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz",
......@@ -593,11 +619,23 @@
"node": ">= 6"
}
},
"node_modules/@vant/icons": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.7.0.tgz",
"integrity": "sha512-sqKvtYcSgSd6+AU1nBPaZARn2Nzf8hi0ErLhfXVR6f+Y7R0gojGZVoxuB83yUI6+0LwbitW5IfN3E6qzEsu21Q=="
},
"node_modules/@vant/popperjs": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.1.0.tgz",
"integrity": "sha512-8MD1gz146awV/uPxYjz4pet22f7a9YVKqk7T+gFkWFwT9mEcrIUEg/xPrdOnWKLP9puXyYtm7oVfSDSefZ/p/w==",
"dependencies": {
"@popperjs/core": "^2.9.2"
}
},
"node_modules/@vue/babel-helper-vue-jsx-merge-props": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==",
"dev": true
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA=="
},
"node_modules/@vue/babel-plugin-transform-vue-jsx": {
"version": "1.2.1",
......@@ -3952,6 +3990,21 @@
"node": ">= 0.12.0"
}
},
"node_modules/vant": {
"version": "2.12.26",
"resolved": "https://registry.npmjs.org/vant/-/vant-2.12.26.tgz",
"integrity": "sha512-1JsFLt088joJgYbnIeunAIt2mySrypvIcwlpFlrcqEDs2mlb+HyGqpNjUL1bI2RhH9z3Qk7fJxY/1zs5VuhlKQ==",
"dependencies": {
"@babel/runtime": "7.x",
"@vant/icons": "^1.5.3",
"@vant/popperjs": "^1.0.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"vue-lazyload": "1.2.3"
},
"peerDependencies": {
"vue": ">= 2.6.0"
}
},
"node_modules/vite": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/vite/-/vite-2.4.4.tgz",
......@@ -4032,6 +4085,11 @@
"vue": "2.x"
}
},
"node_modules/vue-lazyload": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz",
"integrity": "sha512-DC0ZwxanbRhx79tlA3zY5OYJkH8FYp3WBAnAJbrcuoS8eye1P73rcgAZhyxFSPUluJUTelMB+i/+VkNU/qVm7g=="
},
"node_modules/vue-router": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz",
......@@ -4522,6 +4580,21 @@
"@babel/plugin-syntax-typescript": "^7.14.5"
}
},
"@babel/runtime": {
"version": "7.15.3",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz",
"integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==",
"requires": {
"regenerator-runtime": "^0.13.4"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.13.9",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
}
}
},
"@babel/template": {
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
......@@ -4560,6 +4633,11 @@
"to-fast-properties": "^2.0.0"
}
},
"@popperjs/core": {
"version": "2.9.3",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz",
"integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ=="
},
"@rollup/pluginutils": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz",
......@@ -4576,11 +4654,23 @@
"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
"dev": true
},
"@vant/icons": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@vant/icons/-/icons-1.7.0.tgz",
"integrity": "sha512-sqKvtYcSgSd6+AU1nBPaZARn2Nzf8hi0ErLhfXVR6f+Y7R0gojGZVoxuB83yUI6+0LwbitW5IfN3E6qzEsu21Q=="
},
"@vant/popperjs": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.1.0.tgz",
"integrity": "sha512-8MD1gz146awV/uPxYjz4pet22f7a9YVKqk7T+gFkWFwT9mEcrIUEg/xPrdOnWKLP9puXyYtm7oVfSDSefZ/p/w==",
"requires": {
"@popperjs/core": "^2.9.2"
}
},
"@vue/babel-helper-vue-jsx-merge-props": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==",
"dev": true
"integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA=="
},
"@vue/babel-plugin-transform-vue-jsx": {
"version": "1.2.1",
......@@ -7337,6 +7427,18 @@
"unescape": "^1.0.1"
}
},
"vant": {
"version": "2.12.26",
"resolved": "https://registry.npmjs.org/vant/-/vant-2.12.26.tgz",
"integrity": "sha512-1JsFLt088joJgYbnIeunAIt2mySrypvIcwlpFlrcqEDs2mlb+HyGqpNjUL1bI2RhH9z3Qk7fJxY/1zs5VuhlKQ==",
"requires": {
"@babel/runtime": "7.x",
"@vant/icons": "^1.5.3",
"@vant/popperjs": "^1.0.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"vue-lazyload": "1.2.3"
}
},
"vite": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/vite/-/vite-2.4.4.tgz",
......@@ -7398,6 +7500,11 @@
"integrity": "sha512-50um10t6N+lJaORkpwSi1wWuMmBI1sgFc9Znsi5oUykw2cO5DzLaBHcO2JNX21R+Ue4TGoIJDhhxjBHtkFrTEQ==",
"requires": {}
},
"vue-lazyload": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/vue-lazyload/-/vue-lazyload-1.2.3.tgz",
"integrity": "sha512-DC0ZwxanbRhx79tlA3zY5OYJkH8FYp3WBAnAJbrcuoS8eye1P73rcgAZhyxFSPUluJUTelMB+i/+VkNU/qVm7g=="
},
"vue-router": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz",
......
......@@ -14,6 +14,7 @@
"element-ui": "^2.15.5",
"query-string": "^7.0.1",
"swiper": "^5.4.5",
"vant": "^2.12.26",
"vue": "^2.6.14",
"vue-awesome-swiper": "^4.1.1",
"vue-router": "^3.5.2",
......
......@@ -34,10 +34,7 @@ export default {
},
methods: {
handleClose() {
if(this.status == true){
this.$emit('update:visible', false)
}
this.$emit('update:visible', false)
}
}
}
......
......@@ -8,10 +8,10 @@ import beforeEnter from './utils/beforeEnter'
import '@/assets/css/base.css'
import './assets/rem/rem.js'
// Element-UI
import '@/assets/theme/index.css'
import ElementUI from 'element-ui'
Vue.use(ElementUI)
import { Toast } from 'vant';
Vue.use(Toast);
import VueAwesomeSwiper from 'vue-awesome-swiper'
Vue.use(VueAwesomeSwiper, /* { default options with global component } */)
......
<template>
<div class="detail_content">
<div v-if="isShowError == true" class="showError">
<img src="https://webapp-pub.ezijing.com/marketing/detail2.png" alt="">
<img src="https://webapp-pub.ezijing.com/marketing/detail2.png" alt="" />
<div class="text">您访问的页面不存在。</div>
</div>
<div v-else>
<img :src="signInfo.market_other_img" alt="" class="market_other_img" v-if ="signInfo.market_other_img !== ''">
<img src="https://webapp-pub.ezijing.com/marketing/detail.png" class="signIn_detail" @click="handleClick"/>
<app-popup :visible.sync="popupVisible" :signInfo = "signInfo" :status = "status"></app-popup>
<img
:src="signInfo.market_other_img || defaultImg3"
alt=""
class="market_other_img"
/>
<img
src="https://webapp-pub.ezijing.com/marketing/detail.png"
class="signIn_detail"
@click="handleClick"
/>
<app-popup
:visible.sync="popupVisible"
:signInfo="signInfo"
:status="status"
></app-popup>
</div>
</div>
</template>
<script>
import { signInDetail, signIn } from "@/api/base.js";
import AppPopup from '../../components/AppPopup.vue'
import AppPopup from "../../components/AppPopup.vue";
import { Toast } from "vant";
export default {
components: { AppPopup },
data(){
return{
status:false,
signInfo:{
student:{
}
},//签到详情信息
popupVisible: true,
id:'',
isShowError:false
}
},
mounted(){
this.id = this.$route.query.id;//从链接上获取活动id
if(this.id == ''||this.id == undefined){
data() {
return {
status: false,
signInfo: {
student: {},
}, //签到详情信息
popupVisible: true,
id: "",
isShowError: false,
defaultImg3:
"https://webapp-pub.ezijing.com/marketing/%E7%94%BB%E6%9D%BF%201.png",
};
},
mounted() {
this.id = this.$route.query.id; //从链接上获取活动id
if (this.id == "" || this.id == undefined) {
this.isShowError = true;
return
return;
}
this.getSignInDetail(); //获取页面详情
},
methods:{
handleClick() {
this.popupVisible = true
this.getSignInDetail(); //获取页面详情
},
methods: {
handleClick() {
this.popupVisible = true;
},
getSignInDetail() {
Toast(`该活动已于结束签到`);
//调用签到详情接口
let id = this.id ;
signInDetail(id).then((res) => {
let id = this.id;
signInDetail(id).then((res) => {
if (res.code == 0) {
this.signInfo = res.data;//获取签到详情数据
let time = new Date().getTime();//获取当前时间戳
let start_time = new Date(this.signInfo.start_time).getTime();
let end_time = new Date(this.signInfo.end_time).getTime();
let sign_start_time = new Date(this.signInfo.sign_start_time).getTime();
let sign_end_time = new Date(this.signInfo.sign_end_time).getTime();
if(time > start_time && time < end_time && sign_start_time == ''&&sign_end_time == ''){ //活动开始 不限制签到时间
this.getSignIn();//调起签到接口
}else if(sign_start_time !== ''&& sign_end_time !== ''){ //限制签到时间
if(time >= sign_end_time){
this.$message.error(`该活动签到时间已于${this.signInfo.sign_end_time}结束`)
}else if(time < sign_start_time){
this.$message.error(`该活动尚未到开始签到时间, 请于${this.signInfo.sign_start_time}之后签到`);
}
else if(time > sign_start_time && time < sign_end_time){
this.getSignIn();//调起签到接口
}
this.signInfo = res.data; //获取签到详情数据
let time = new Date().getTime(); //获取当前时间戳
let sign_start_time = new Date(
this.signInfo.sign_start_time
).getTime(); //签到开始
let sign_end_time = new Date(this.signInfo.sign_end_time).getTime(); //签到结束
if (sign_start_time !== "" && sign_end_time !== "") {
//限制签到时间
if (time < sign_start_time) {
Toast(`该活动将于${this.signInfo.sign_start_time}开始签到`);
} else {
this.getSignIn(); //调用签到接口
}
} else {
//不限制签到时间
this.getSignIn();
}
}
} else {
Toast.fail(this.message);
}
});
},
//签到接口
getSignIn(){
let id = this.id ;//从链接上获取活动id
signIn(id).then((res)=>{
getSignIn() {
let id = this.id; //从链接上获取活动id
signIn(id).then((res) => {
if (res.code == 0) {
this.status = res.data.status; //签到状态
if(this.status = true){
this.$message.success('签到成功')
}else{
this.$message.error('签到失败')
}
this.status = res.data.status; //签到状态
let time = new Date().getTime(); //获取当前时间戳
let end_time = new Date(this.signInfo.sign_end_time).getTime(); //活动结束
let sign_end_time = new Date(this.signInfo.sign_end_time).getTime(); //签到结束
if (
this.signInfo.sign_start_time !== "" &&
this.signInfo.sign_end_time !== ""
) {
if (this.status == false && time >= sign_end_time) {
Toast(`该活动已于${this.signInfo.sign_end_time}结束签到`);
}
})
}
}
}
} else {
if (this.status == false && time >= end_time) {
Toast("该活动已结束签到");
}
}
} else {
Toast.fail(this.message);
}
});
},
},
};
</script>
<style lang = "scss" scoped>
<style lang="scss" scoped>
.detail_content {
width: 100%;
height: 100vh;
position: relative;
background-color: #f2f2f2;
.market_other_img{
position: relative;
.market_other_img {
width: 100%;
height: 100%;
}
.signIn_detail{
.signIn_detail {
width: 1rem;
height: 1rem;
line-height: 1rem;
position: fixed;
right: .56rem;
top: .67rem;
right: 0.56rem;
top: 0.67rem;
padding-left: 10px;
}
.showError{
width: 100%;
height: 100%;
/* position: relative; */
img{
width: 3.58rem;
height: 3.09rem;
position: absolute;
top: 2.84rem;
left: 50%;
transform: translate(-50%,-50%);
}
.text{
text-align: center;
position: absolute;
top:6.39rem;
left: 50%;
transform: translate(-50%,-50%);
font-size: 28px;
font-weight: 400;
color: #999999;
.showError {
width: 100%;
height: 100%;
/* position: relative; */
img {
width: 3.58rem;
height: 3.09rem;
position: absolute;
top: 2.84rem;
left: 50%;
transform: translate(-50%, -50%);
}
.text {
text-align: center;
position: absolute;
top: 6.39rem;
left: 50%;
transform: translate(-50%, -50%);
font-size: 28px;
font-weight: 400;
color: #999999;
}
}
}
}
</style>
\ No newline at end of file
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论