刘翔宇-旅管家 3 years ago
parent c6dbdf0b71
commit 3c9ff0d9f5

@ -1,78 +1,81 @@
{
"name" : "wx-dangyuanjiaoyujidi",
"appid" : "__UNI__FC384E5",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* */
"modules" : {},
/* */
"distribute" : {
/* android */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios" : {},
/* SDK */
"sdkConfigs" : {}
}
},
/* */
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "wxd7b6631f1d3bc6bd",
"setting" : {
"urlCheck" : false,
"minified" : false
},
"usingComponents" : true,
"permission" : {
"scope.userLocation" : {
"desc" : "提供您最近的活动地址"
}
}
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "2"
{
"name": "wx-dangyuanjiaoyujidi",
"appid": "__UNI__FC384E5",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
/* 5+App */
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
/* */
"modules": {},
/* */
"distribute": {
/* android */
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios": {},
/* SDK */
"sdkConfigs": {}
}
},
/* */
"quickapp": {},
/* */
"mp-weixin": {
"appid": "wxd7b6631f1d3bc6bd",
"setting": {
"urlCheck": false,
"minified": false
},
"usingComponents": true,
"permission": {
"scope.userLocation": {
"desc": "提供您最近的活动地址"
}
},
"requiredPrivateInfos": [
"getLocation"
]
},
"mp-alipay": {
"usingComponents": true
},
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics": {
"enable": false
},
"vueVersion": "2"
}

@ -9,13 +9,13 @@
<view class="activityBox-row flex-row justify-between">
<text class="activityBox-title">{{list.name}}</text>
<view class="tag tag_green activityBox_btn">
<text>{{list.target_name}}</text>
<text>{{list.type_name}}</text>
</view>
</view>
<view class="activityBox-row">
<text class="icon-shijian iconfont"></text>
<text>活动时间{{list.start_time}}-{{list.end_time}}</text>
<text>活动时间{{getHm(list.start_time)}}-{{getHm(list.end_time)}}</text>
</view>
<!-- <view class="activityBox-row">
@ -349,7 +349,12 @@
clearInterval(this.t)
clearTimeout(this.timer)
},
methods: {
methods: {
getHm(val) {
if (val) {
return this.$moment(val).format("HH:mm:ss")
} else return "";
},
confirmCards(e){
this.card_type_names = e.value[0].label
this.form.card_type = e.value[0].value

@ -19,7 +19,7 @@
</view>
<view class="activityBox-row flex-row justify-between">
<view class="tag tag_green activityBox_btn">
<text>{{isUnde(item.target_name)}}</text>
<text>{{isUnde(item.type_name)}}</text>
</view>
<view class="tag" :class="{activityBox_btn:item.isCanBook}">
<text>{{item.isCanBook?"立即报名":"不可报名"}}</text>
@ -28,7 +28,7 @@
<view class="activityBox-row">
<text class="icon-shijian iconfont"></text>
<text>活动时间{{isUnde(item.start_time)}}-{{getHm(item.end_time)}}</text>
<text>活动时间{{getHm(item.start_time)}}-{{getHm(item.end_time)}}</text>
</view>
<!-- <view class="activityBox-row">
@ -68,7 +68,7 @@
list: [],
latitude: "",
longitude: "",
isloading: false
isloading: true
}
},
onLoad() {
@ -112,11 +112,11 @@
page_size: 100
},
utilSuccess: function(res) {
that.isloading = false;
for (var mod of res.data) {
mod.isCanBook = that.$moment(nt).isBefore(mod.end_plan);
}
that.list = res.data;
that.isloading = false;
},
utilFail: function(res) {
@ -132,7 +132,7 @@
},
getHm(val) {
if (val) {
return this.$moment(val).format("HH:mm")
return this.$moment(val).format("HH:mm:ss")
} else return "";
}
}

@ -18,13 +18,13 @@
<view class="activityBox-row flex-row justify-between">
<text class="activityBox-title">{{isUnde(list.name)}}</text>
<view class="tag tag_green activityBox_btn">
<text>{{isUnde(list.target_name)}}</text>
<text>{{isUnde(list.type_name)}}</text>
</view>
</view>
<view class="activityBox-row">
<text class="icon-shijian iconfont"></text>
<text>活动时间{{isUnde(list.start_time)}}-{{isUnde(list.end_time)}}</text>
<text>活动时间{{getHm(list.start_time)}}-{{getHm(list.end_time)}}</text>
</view>
<!-- <view class="activityBox-row">
@ -60,7 +60,7 @@
<text class="infoBox-titletxt">活动详情</text>
</view>
<view class="infoBox-content">
<rich-text :nodes="list.content"></rich-text>
<rich-text style="text-indent: 2em;font-size: 28rpx;" :nodes="list.content"></rich-text>
</view>
</view>
<view class="infofooter flex-row" v-if="list.isCanBook">
@ -127,7 +127,6 @@
utilSuccess: function(res) {
res.isCanBook = that.$moment(nt).isBefore(res.end_plan);
that.list = res;
that.list.end_time = that.$moment(res.end_time).format("HH:mm");
wx.setStorage({
key: 'activityinfo',
data: res,
@ -151,6 +150,11 @@
} else {
return ""
}
},
getHm(val) {
if (val) {
return this.$moment(val).format("HH:mm:ss")
} else return "";
}
}
}
@ -166,7 +170,8 @@
.infoBox {
box-sizing: border-box;
padding: 40rpx 0rpx;
background: #FFFFFF;
background: #FFFFFF;
margin-bottom: 40rpx;
}
.infoBox-title {
@ -174,7 +179,7 @@
}
.infoBox-titletxt {
font-size: 26rpx;
font-size: 30rpx;
color: #4E4E4E;
margin-left: 21rpx;
}
@ -183,7 +188,8 @@
padding: 37rpx 26rpx;
box-sizing: border-box;
font-size: 24rpx;
color: #828282;
color: #828282;
margin-bottom: 100rpx;
}
.infofooter {

@ -6,87 +6,92 @@
<text class="orderBoxTitleTxt">{{info.type==1?"团队预约信息":"个人预约信息"}}</text>
</view>
<view class="orderBoxInfo flex-col">
<view class="orderBoxInfoRow flex-row">
<view class="orderBoxInfo flex-col">
<view class="orderBoxInfoRow flex-row" >
<text class="iconfont icon-youkexuzhi"></text>
<text class="orderBoxInfoRowTxt">活动名称{{info.activity.name||"加载中..."}}</text>
</view>
<view class="orderBoxInfoRow flex-row" style="margin-top: 20rpx;">
<text class="iconfont icon-shijian"></text>
<text
class="orderBoxInfoRowTxt">活动时间{{timeFormat(info.activity.start_time, 'MM月DD日')}}{{getHm(info.activity.start_time)}}-{{getHm(info.activity.end_time)}}</text>
class="orderBoxInfoRowTxt">活动时间{{timeFormat(tstart_time, 'MM月DD日')}}{{timeFormat(tstart_time,"HH:mm")}}-{{timeFormat(tend_time,"HH:mm")}}</text>
</view>
<view class="orderBoxInfoRow flex-row" style="margin-top: 20rpx;">
<text class="iconfont icon-renshu"></text>
<text class="orderBoxInfoRowTxt">活动人数{{info.total}}</text>
<text class="orderBoxInfoRowTxt">活动人数{{info.total||""}}</text>
</view>
</view>
</view>
</view>
<view class="orderBoxTitle flex-row">
<text style="padding-top:25rpx" class="orderBoxTitleTxt">可扫活动码入场</text>
</view>
<view class="orderBoxTitle flex-row">
<text style="padding-top:25rpx" class="orderBoxTitleTxt">可扫活动码入场</text>
</view>
<view class="orderBoxList p0">
<view class="orderBox">
<view v-if="info.type==1" class="orderBoxInfo flex-col ewmcode">
<text>入场码{{info.code}}-0</text>
<view>
<view class="imgs" >
<view :class="info.status!=1?'isuse':''">
<cover-image v-if="info.status==2" src="../../static/img/used.png" alt=""></cover-image>
<!-- <img v-if="info.status!=1" src="../../static/img/used.png" alt=""> -->
<canvas canvas-id='qrcode' style="width: 170rpx;height:170rpx;margin: 0 auto;">
<cover-view v-if="showview">
</cover-view>
</canvas>
</view>
</view>
</view>
<!-- <text class="ewminfo">{{isuse?'已使用':'请前往现场核销订单二维码'}}</text> -->
</view>
<view v-if="info.type==2" class="orderBoxInfo flex-col ewmcode" :key='index' v-for="(item,index) in detailsinfo">
<text>入场码{{info.code}}-{{item.code}}</text>
<view>
<view class="imgs" >
<view :class="item.status!=1?'isuse':''">
<cover-image v-if="info.status==2" src="../../static/img/used.png" alt=""></cover-image>
<!-- <img v-if="item.status!=1" src="../../static/img/used.png" alt=""> -->
<canvas :canvas-id="'qrcode'+index" style="width: 170px;height:170px;margin: 0 auto;">
<cover-view v-if="showview">
</cover-view>
</canvas>
</view>
<view class="imgsname">
<text class="orderBoxTitleTxt">{{item.name}}</text>
<text class="orderBoxTitleTxt" style="font-size: 28rpx;" v-if="item.is_open==1">
可使用身份证
</text>
<text style="font-size: 28rpx;" class="orderBoxTitleTxt" v-if="item.is_open==0">
不可使用身份证
</text>
</view>
</view>
</view>
<!-- <text class="ewminfo">{{isuse?'已使用':'请前往现场核销订单二维码'}}</text> -->
<view v-if="info.type==1" class="orderBoxInfo flex-col ewmcode">
<text>入场码{{info.code}}-0</text>
<view>
<view class="imgs">
<view :class="info.status!=1?'isuse':''">
<cover-image v-if="info.status==2" src="../../static/img/used.png" alt=""></cover-image>
<!-- <img v-if="info.status!=1" src="../../static/img/used.png" alt=""> -->
<canvas canvas-id='qrcode' style="width: 170rpx;height:170rpx;margin: 0 auto;">
<cover-view v-if="showview">
</cover-view>
</canvas>
</view>
</view>
</view>
<!-- <text class="ewminfo">{{isuse?'已使用':'请前往现场核销订单二维码'}}</text> -->
</view>
<view v-if="info.type==2" class="orderBoxInfo flex-col ewmcode" :key='index'
v-for="(item,index) in detailsinfo">
<text>入场码{{info.code}}-{{item.code}}</text>
<view>
<view class="imgs">
<view :class="item.status!=1?'isuse':''">
<cover-image v-if="info.status==2" src="../../static/img/used.png" alt=""></cover-image>
<!-- <img v-if="item.status!=1" src="../../static/img/used.png" alt=""> -->
<canvas :canvas-id="'qrcode'+index" style="width: 170px;height:170px;margin: 0 auto;">
<cover-view v-if="showview">
</cover-view>
</canvas>
</view>
<view class="imgsname">
<text class="orderBoxTitleTxt">{{item.name}}</text>
<text class="orderBoxTitleTxt" style="font-size: 28rpx;" v-if="item.is_open==1">
可使用身份证
</text>
<text style="font-size: 28rpx;" class="orderBoxTitleTxt" v-if="item.is_open==0">
不可使用身份证
</text>
</view>
</view>
</view>
<!-- <text class="ewminfo">{{isuse?'已使用':'请前往现场核销订单二维码'}}</text> -->
</view>
</view>
</view>
<view style="padding-bottom:25rpx">
<view class="orderBoxInfoRow flex-row" style="margin-top: 25rpx;">
<!-- <text class="iconfont icon-iconfontgerenzhongxin"></text> -->
<text v-if="info.type==1" class="orderBoxInfoRowTxt">{{info.leader||""}} {{info.mobile||""}}</text>
<text v-if="info.type==2" class="orderBoxInfoRowTxt">{{info.mobile||""}}</text>
</view>
<view class="orderBoxInfoRow flex-row" v-if="info.type==1" style="margin-top: 20rpx;">
<!-- <text class="iconfont icon-danwei"></text> -->
<text class="orderBoxInfoRowTxt">单位名称{{info.unit||""}}</text>
</view>
<view class="orderBoxInfoRow flex-row" style="margin-top: 20rpx;margin-bottom: 20rpx;">
<text class="orderBoxInfoRowTxt">下单时间{{info.created_at||""}}</text>
</view>
</view>
<view style="padding-bottom:25rpx">
<view class="orderBoxInfoRow flex-row" style="margin-top: 25rpx;">
<!-- <text class="iconfont icon-iconfontgerenzhongxin"></text> -->
<text v-if="info.type==1" class="orderBoxInfoRowTxt">{{info.leader||""}} {{info.mobile||""}}</text>
<text v-if="info.type==2" class="orderBoxInfoRowTxt">{{info.mobile||""}}</text>
</view>
<view class="orderBoxInfoRow flex-row" v-if="info.type==1" style="margin-top: 20rpx;">
<!-- <text class="iconfont icon-danwei"></text> -->
<text class="orderBoxInfoRowTxt">单位名称{{info.unit||""}}</text>
</view>
<view class="orderBoxInfoRow flex-row" style="margin-top: 20rpx;margin-bottom: 20rpx;">
<text class="orderBoxInfoRowTxt">下单时间{{info.created_at||""}}</text>
</view>
</view>
<!-- <view class="orderBoxList p0">
<view class="orderBox">
@ -118,39 +123,41 @@
export default {
data() {
return {
info: {},
detailsinfo:[],
showview:false,
optionid:"",
timers:"",
isused:false,
info: {},
detailsinfo: [],
showview: false,
optionid: "",
timers: "",
isused: false,
tstart_time:"",
tend_time:""
}
},
onLoad(options) {
if (!this.util.isNull(options.id)) {
if (!this.util.isNull(options.id)) {
this.optionid = options.id
this.loadInfo(options.id);
}
},
onShow() {
var that = this
this.timers = setInterval(function(){
that.loadInfo(that.optionid);
},4000)
},
onHide() {
clearInterval(this.timers)
},
onUnload() {
clearInterval(this.timers)
},
onShow() {
var that = this
this.timers = setInterval(function() {
that.loadInfo(that.optionid);
}, 4000)
},
onHide() {
clearInterval(this.timers)
},
onUnload() {
clearInterval(this.timers)
},
methods: {
qrFun: function(text,qrcode) {
var id = "qrcode";
if(qrcode){
id = qrcode
qrFun: function(text, qrcode) {
var id = "qrcode";
if (qrcode) {
id = qrcode
}
uQRCode.make({
canvasId: id,
@ -174,31 +181,34 @@
data: {
id: id
},
customLoading: true,
utilSuccess: function(res) {
that.info = res;
that.info = res;
that.detailsinfo = res.details;
if(res.status!=1){
clearInterval(that.timers)
}
if(res.type==1){
that.qrFun(res.code+"-"+"0");
setTimeout(function(){
that.showview = true
},500)
}
if(res.type==2){
for(var i=0;i<res.details.length;i++){
that.qrFun(res.code+"-"+res.details[i].code,'qrcode'+i);
}
setTimeout(function(){
that.showview = true
},500)
}
that.tstart_time=that.info.activity.start_time;
that.tend_time=that.info.activity.end_time;
if (res.status != 1) {
clearInterval(that.timers)
}
if (res.type == 1) {
that.qrFun(res.code + "-" + "0");
setTimeout(function() {
that.showview = true
}, 500)
}
if (res.type == 2) {
for (var i = 0; i < res.details.length; i++) {
that.qrFun(res.code + "-" + res.details[i].code, 'qrcode' + i);
}
setTimeout(function() {
that.showview = true
}, 500)
}
},
utilFail: function(res) {
uni.showToast({
@ -208,13 +218,10 @@
}
})
},
getHm(val) {
if (val) {
return this.$moment(val).format("hh:MM")
} else return "";
},
timeFormat(time, format) {
return this.$moment(time).format(format)
if (time) {
return this.$moment(time).format(format)
} else return "";
}
}
}
@ -261,8 +268,8 @@
.orderBoxList {
padding: 26rpx;
box-sizing: border-box;
background: #fff;
box-sizing: border-box;
background: #fff;
border-radius: 20rpx;
}
@ -306,7 +313,7 @@
.orderBoxInfoRowTxt {
font-size: 30rpx!important;
font-size: 30rpx !important;
font-family: PingFang SC;
color: #828282;
}
@ -319,58 +326,63 @@
}
.p0 {
padding-top: 0;
border-left:32rpx solid #ef9525
padding-top: 0;
border-left: 32rpx solid #ef9525
}
.ewmcode {
text-align: center;
font-size: 28rpx;
text-align: left;
font-size: 28rpx;
margin-left: 18rpx;
padding-bottom:0;
font-size: 28rpx;
text-align: left;
font-size: 28rpx;
margin-left: 18rpx;
padding-bottom: 0;
}
.imgs {
margin: 30rpx 0 0rpx 0;
font-size: 0;
display: inline-block;
}
.imgs view{
position: relative;
display: inline-block;
margin-bottom: 20rpx;
}
.imgs cover-image {
position: absolute;
width: 200rpx;
height: 200rpx;
z-index: 999;
opacity: 1;
right: 0rpx;
bottom: 0rpx;
}
.imgs canvas{
display: inline-block;
vertical-align: middle;
}
.imgsname{
display: inline-block;
text-align: center;
margin-left: 15rpx;
}
.imgs text{
display: block;
/* margin-left: 40rpx; */
}
.imgs .isuse cover-view{
/* opacity: .4; */
background-color: rgba(255,255,255,0.6);
width: 170px;
height:170px;
}
.imgs view {
position: relative;
display: inline-block;
margin-bottom: 20rpx;
}
.imgs cover-image {
position: absolute;
width: 200rpx;
height: 200rpx;
z-index: 999;
opacity: 1;
right: 0rpx;
bottom: 0rpx;
}
.imgs canvas {
display: inline-block;
vertical-align: middle;
}
.imgsname {
display: inline-block;
text-align: center;
margin-left: 15rpx;
}
.imgs text {
display: block;
/* margin-left: 40rpx; */
}
.imgs .isuse cover-view {
/* opacity: .4; */
background-color: rgba(255, 255, 255, 0.6);
width: 170px;
height: 170px;
}
.ewminfo {

@ -358,7 +358,7 @@ const isValidCardID = cardID => {
};
const shareInfo = {
title:"苏州的红色摇篮",
title:"",
imageUrl:"/static/share.jpg"
}
/**

Loading…
Cancel
Save