Commit 0b1396be by 李嘉林

删除冬奥会相关代码

parent efa981c2
......@@ -176,8 +176,6 @@ wx.onAppRoute(res => {
let currentPage = getCurrentPages()
// let fromPath = currentPage[currentPage.length - 1].__displayReporter.showReferpagepath
new Promise((resolve) => {
// 冬奥会不调用分销接口
if (!spokesmanId && Store.state.mixid != 'CL') {
// 获取当前分销员 id
spokesman.getSpokesmanidByShare().then(res => {
if (res.data.data.spokesmanId) { spokesmanId = res.data.data.spokesmanId }
......
......@@ -388,11 +388,8 @@ export default {
this.themeColor = res
}
}
// 不是冬奥会项目不调用此接口
if(this.$store.state.mixid !='CL'){
// 新人有礼弹窗
this.newUserFun();
}
// 新人有礼弹窗
this.newUserFun();
//清除商品列表组件懒加载缓存
......@@ -427,10 +424,7 @@ export default {
link:linkVal,
});
}
// 不是冬奥会项目不调用此接口
if(this.$store.state.mixid !='CL'){
this.getCartNum();
}
this.getCartNum();
if(checkTabbarPage('/')!=-1){
this.active=checkTabbarPage('/')
......@@ -561,10 +555,7 @@ export default {
return JSON.stringify(pageData);
},
init(pageList) {
// 不是冬奥会项目不调用此接口
if(this.$store.state.mixid !='CL'){
this.getCartNum();
}
this.getCartNum();
this.active=checkTabbarPage('/');
this.setVisible(this.mpApp.globalData.pageList,(res)=>{
this.pageInfo = res;
......@@ -915,8 +906,7 @@ export default {
let newHref = '/pages/home/main';
let title = app.globalData.shopInfo.shopName;
let hasInvitationStatus = 0;
// 不是冬奥会项目不调用此接口
if(wx.getStorageSync("sessionid") && this.$store.state.mixid !='CL') {
if(wx.getStorageSync("sessionid")) {
await app.fenxiaoModel.getSpokesmanidByShare().then(data=>{
log.info(data,'onShareAppMessage-getSpokesmanidByShare')
log.info('onShareAppMessage-getSpokesmanidByShare-917')
......
......@@ -261,45 +261,23 @@ export default {
log.info('存入openid失败',e)
}
log.info(this.$store.state.mixid,'mixid------230')
//冬奥会赛区通行(mixid=CL)定制一键登录直接返回不用手机号
let isCertified = false;
// this.mpApp.globalData.shopInfo.outCode正式环境提审赛区通行项目 这个值后台改为1 审核通过改为空
if(this.$store.state.mixid == 'CL' && this.mpApp.globalData.shopInfo.outCode == '') {
isCertified = res.data.data.isCertified == 'true'
if(isCertified && res.data.data.sessionId) {
//有账号
wx.setStorage({
key: "sessionid",
data: res.data.data.sessionId
});
wx.reLaunch({
url: '/pages/home/main' // 指定页面的url
});
return;
} else{
wx.reLaunch({
url: `/pages/wo/writeInformation/main`
});
}
// haveBindUserPhone
// 是否必须绑定手机号(0必须绑定,1不需要绑定
//有账号或不需要绑定手机号
if (res.data.data.isHaveUnion == "true" || this.mpApp.globalData.shopInfo.haveBindUserPhone == '1') {
this.backParams += `&sessionid=${
res.data.data.sessionId
}&needCertified=${res.data.data.NEED_CERTIFIED}`;
this.NEED_CERTIFIED = res.data.data.NEED_CERTIFIED;
wx.setStorage({
key: "sessionid",
data: res.data.data.sessionId
});
this.isHaveUnion = true;
} else {
// haveBindUserPhone
// 是否必须绑定手机号(0必须绑定,1不需要绑定
//有账号或不需要绑定手机号
if (res.data.data.isHaveUnion == "true" || this.mpApp.globalData.shopInfo.haveBindUserPhone == '1') {
this.backParams += `&sessionid=${
res.data.data.sessionId
}&needCertified=${res.data.data.NEED_CERTIFIED}`;
this.NEED_CERTIFIED = res.data.data.NEED_CERTIFIED;
wx.setStorage({
key: "sessionid",
data: res.data.data.sessionId
});
this.isHaveUnion = true;
} else {
//需要绑定
this.isHaveUnion = false;
}
//需要绑定
this.isHaveUnion = false;
}
this.appid = res.data.data.appid;
......
<template>
<!-- 核验历史 -->
<div class="checkHistory">
<div class="list" v-if="list.length>0">
<div class="item flex" v-for="(item, index) in list" :key="index">
<div class="left">
<p>
<span>核验地点:</span><span>{{ item.verificationPoint }}</span>
</p>
<p class="time">
<span>核验时间:</span><span>{{ item.verificationDatetime }}</span>
</p>
</div>
<div class="checkIcon">
<image
v-if="item.verificationStatus == 0"
src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/8c56ad03-32c4-46a2-91d0-98272c5c4a8b.png"
></image>
<image
v-else
src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/608700b3-4667-4977-9cf7-ec44e29fdd5d.png"
></image>
</div>
</div>
</div>
<div class="noCheck" v-else-if="loaded && list.length == 0">暂无核验</div>
</div>
</template>
<script type="text/ecmascript-6">
import index from "@/api/index";
const app = getApp();
const { log } = app;
export default {
name: "checkHistory",
data() {
return {
list: [],
loaded: false,
};
},
components: {},
computed: {},
onReady() {
console.log("---onready");
wx.setNavigationBarTitle({ title: "核验历史" });
},
onLoad() {
console.log("---onLoad");
},
onShow() {
this.init();
console.log("---onShow");
},
methods: {
init() {
this.loaded = false;
wx.showLoading({
title: "加载中...",
});
let query = {
pageNum: 1,
pageSize: 10000,
checkOrVerified: 2,
};
index.getHistoryByVerifier(query).then((res) => {
log.info('getHistoryByVerifier',query,res)
this.loaded = true;
wx.hideLoading();
if (res.data.ok == "true") {
this.list = res.data.data;
}
});
},
},
};
</script>
<style lang="scss" scoped>
.checkHistory {
height: 100vh;
overflow-y: auto;
background: #f6f7f8;
.list {
padding: 12px;
.item {
background: #fff;
border-radius: 4px;
margin-bottom: 10px;
padding: 10px 24px;
align-items: center;
justify-content: space-between;
.left {
p {
font-size: 13px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
}
.time {
margin-top: 8px;
}
}
.checkIcon {
image {
width: 64px;
height: 50px;
}
}
}
}
.noCheck {
margin-top: 20px;
font-size: 13px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666;
text-align: center;
}
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
{
}
\ No newline at end of file
<template>
<!-- 就餐地点 -->
<div class="diningPlace">
<div class="list">
<div
class="item flex"
v-for="(item, index) in list"
:key="index"
@click="selectItem(item, index)"
>
<div class="select" :class="{ selected: item.selected }">
<i class="iconfont icon-icon_duihao-mian" v-if="item.selected"></i>
</div>
<div class="name">{{ item.name }}</div>
</div>
</div>
<div class="seat"></div>
<div class="btm flex">
<div class="btn" :class="{ btn1: onInput }" @click="confirm">确定</div>
</div>
</div>
</template>
<script type="text/ecmascript-6">
export default {
name: "diningPlace",
data() {
return {
list: [],
selectList: [],
};
},
components: {},
computed: {
selectListIds() {
return this.selectList.map((item) => item.id);
},
listIds() {
return this.list.map((item) => item.id);
},
},
onReady() {
wx.setNavigationBarTitle({ title: "就餐地点" });
},
onLoad() {
console.log("---onLoad");
},
onShow() {
for (let i = 0; i < 20; i++) {
this.list.push({
id: i,
name: `密苑太子酒店1层${i}`,
selected: false,
});
}
console.log("---onready");
let diningPlaceList = wx.getStorageSync("wo-selectDiningPlaceList");
if (diningPlaceList) {
this.selectList = JSON.parse(diningPlaceList);
}
this.list.forEach((item) => {
if (this.selectListIds.includes(item.id)) {
item.selected = true;
} else {
item.selected = false;
}
});
console.log("---onShow");
},
methods: {
selectItem(item, index) {
item.selected = !item.selected;
console.log(item, index, "----56");
console.log(this.selectListIds, "----57");
if (this.selectListIds.includes(item.id)) {
this.selectList.splice(this.selectListIds.indexOf(item.id), 1);
} else {
this.selectList.push(item);
}
},
confirm() {
console.log(this.selectList, "--selectList");
wx.setStorageSync(
"wo-selectDiningPlaceList",
JSON.stringify(this.selectList)
);
wx.navigateBack();
},
},
};
</script>
<style lang="scss" scoped>
.diningPlace {
.list {
.item {
padding: 18px 24px;
border-bottom: 1px solid #d8d8d8;
align-items: center;
.select {
width: 20px;
height: 20px;
border-radius: 20px;
overflow: hidden;
border: 1px solid #d8d8d8;
i {
font-size: 20px;
color: #229df1;
}
}
.selected {
border-color: transparent;
}
.name {
margin-left: 10px;
flex: 1;
font-size: 15px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333;
}
}
}
.seat {
width: 100%;
height: 60px;
}
.btm {
position: fixed;
bottom: 0;
height: 60px;
background: #fff;
width: 100%;
justify-content: center;
align-items: center;
.btn {
display: flex;
align-items: center;
justify-content: center;
width: 90%;
height: 46px;
border-radius: 4px;
color: #fff;
background: #229df1;
}
}
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
{
}
\ No newline at end of file
<template>
<!-- 编辑图片 -->
<div class="editPicture">
<mpvue-cropper v-if="showCropper" :option="cropperOptions"></mpvue-cropper>
</div>
</template>
<script>
import mpvueCropper from "@/components/mpvue-cropper";
export default {
name: "editPicture",
data() {
return {
cropperOptions: {},
showCropper: false,
};
},
components: {
mpvueCropper,
},
computed: {},
onLoad(options) {
console.log(options.src, "----------22");
const device = wx.getSystemInfoSync(); // 获取设备信息
const width = device.windowWidth; // 示例为一个与屏幕等宽的正方形裁剪框
const height = device.windowHeight-200;
let cropperOptions = {
src: "",
id: "canvasId",
targetId: "targetId",
pixelRatio: device.pixelRatio,
width, // 画布宽度
height, // 画布高度
scale: 2.5, // 最大缩放倍数
zoom: 8, // 缩放系数
cut: {
x: (width - 260) / 2, // 裁剪框x轴起点
y: (height - 300) / 2, // 裁剪框y轴期起点
width: 260, // 裁剪框宽度
height: 320, // 裁剪框高度
},
};
cropperOptions.src = options.src;
this.cropperOptions = JSON.parse(JSON.stringify(cropperOptions))
this.showCropper = true;
},
onReady() {
wx.setNavigationBarTitle({ title: "头像编辑" });
},
methods: {
cReady() {},
},
onHide(){
console.log('--onHide')
},
onUnload(){
console.log('--onUnload')
this.showCropper = false;
}
};
</script>
<style lang="scss" scoped>
.editPicture {
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
{
}
\ No newline at end of file
<template>
<div>
<div class="topCard">
<div class="topCardText">请输入车牌号以申请临时通行证</div>
<input type="text" class="topCardInput" v-model="topCardInputValue">
</div>
<div class="contentCard" v-if="tag.length != 0">
<span class="contentCardText">最近使用</span>
<span class="contentCardTag" @click="changeValue">{{tag}}</span>
</div>
<div class="bottomBtn" @click="bindVehicleNumber">绑定车牌</div>
</div>
</template>
<script>
import index from "@/api/index";
export default {
data() {
return {
topCardInputValue: "",
// tag: '京B10200F',
tag: ''
}
},
onReady() {
console.log("---onready");
wx.setNavigationBarTitle({ title: "填报资料" });
},
onShow() {
this.topCardInputValue = ''
let licensePlateNumber = wx.getStorageSync('licensePlateNumber');
if (licensePlateNumber && licensePlateNumber.trim().length != 0) {
this.tag = licensePlateNumber
}
},
methods: {
changeValue() {
this.topCardInputValue = this.tag
},
bindVehicleNumber() {
if (this.topCardInputValue.trim().length != 0) {
wx.showLoading({
title: "加载中...",
});
index.getVehicleNumber(this.topCardInputValue).then((res) => {
wx.hideLoading();
if (res.data.code == 300) {
wx.showModal({
title: '提示',
content: '您未登录请先登录',
showCancel: true,
cancelText: '取消',
cancelColor: '#000000',
confirmText: '确定',
confirmColor: '#3CC51F',
success: (result) => {
if (result.confirm) {
wx.reLaunch({
url: '/pages/login/main',
});
}
},
});
} else if (res.data.data == null) {
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 1500,
mask: false,
});
}else if(!res.data.data.uniqueCode || res.data.data.uniqueCode == undefined){
wx.showToast({
title: '系统繁忙',
icon: 'none',
duration: 1500,
mask: false,
});
}else if(res.data.code == 200 && res.data.data.uniqueCode.length != 0){
wx.showToast({
title: '绑定成功',
icon: 'none',
duration: 1500,
mask: false,
});
wx.setStorageSync('licensePlateNumber',this.topCardInputValue)
wx.navigateTo({
url: '/pages/wo/vehicleApplication/main',
});
}
});
} else {
wx.showToast({
title: '前填写车牌号',
icon: 'none',
duration: 1500,
mask: false,
});
}
}
}
}
</script>
<style lang="scss" scoped>
.topCard {
border-top: 1px solid #f6f6f6;
border-bottom: 1px solid #f6f6f6;
padding: 10px 13px;
box-sizing: border-box;
.topCardText {
font-size: 13px;
}
.topCardInput {
margin-top: 17px;
border:1px solid #c0c0c0;
padding: 5px 8px;
}
}
.contentCard {
padding: 10px 13px;
box-sizing: border-box;
.contentCardText {
color: #c0c0c0;
font-size: 12px;
}
.contentCardTag {
font-size: 12px;
padding: 4px 6px;
box-sizing: border-box;
margin-left: 8px;
border: 1px solid #f6f6f6;
}
}
.bottomBtn {
background: #219df1;
color: #fff;
border-radius: 20px;
height: 33px;
text-align: center;
line-height: 33px;
width: 90%;
font-size: 14px;
margin: 6px auto;
}
</style>
\ No newline at end of file
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
<template>
<!-- 完善资料 -->
<div class="improveInformation">
<div class="info flex">
<i class="iconfont icon-icon_duihao-mian"></i>
<p>身份核验通过!确认与完善您的相关信息</p>
</div>
<div class="user">
<div class="cell flex idPhoto">
<div class="label">
<p>证件照</p>
</div>
<div class="img" @click="upLoadImg">
<image
v-if="userInfo.headPortraitUrl"
mode="aspectFill"
:src="userInfo.headPortraitUrl"
alt=""
></image>
<image
v-else
mode="aspectFill"
src="http://cdn.mayi888.com/public/png/4660508a-ee25-4872-a3a8-da10a0fbaab1.png"
alt=""
></image>
</div>
</div>
<div class="cell flex">
<div class="label">
<p>姓名</p>
</div>
<div class="text">
<p>{{ userInfo.realname }}</p>
</div>
</div>
<div class="cell flex">
<div class="label">
<p>身份证号码</p>
</div>
<div class="text">
<p>{{ userInfo.identityCard }}</p>
</div>
</div>
<div class="cell flex">
<div class="label">
<p>单位</p>
</div>
<div class="text">
<p>{{ userInfo.company }}</p>
</div>
</div>
<div class="cell flex">
<div class="label">
<p>人员类别</p>
</div>
<div class="text">
<p>{{ userInfo.identity }}</p>
</div>
</div>
<div class="cell selectCell" @click="selectworkRegion">
<div class="label flex">
<p>工作区域</p>
</div>
<p class="val">
{{ userInfo.workArea }}
</p>
</div>
<div class="cell flex">
<div class="label">
<p>住宿地点</p>
</div>
<div class="text">
<p>{{userInfo.accommodation}}</p>
</div>
</div>
<div class="cell flex">
<div class="label">
<p>用餐权限</p>
</div>
<div class="text">
<p>{{ userInfo.diningPlace?'有':'无' }}</p>
</div>
</div>
</div>
<div class="seat"></div>
<div class="btm flex">
<div class="btn" :class="{ btn1: onInput }" @click="confirm">确认</div>
</div>
</div>
</template>
<script>
import live from "@/api/live";
import index from "@/api/index";
import { DFSImg } from '@/utils/common.js'
const app = getApp();
const { log } = app;
export default {
name: "improveInformation",
data() {
return {
workAreaList: [],
diningPlaceList: [],
userInfo:{},
editImg: false,
};
},
components: {},
computed: {
onInput() {
return false;
},
},
onReady() {
console.log("---onReady");
wx.setNavigationBarTitle({ title: "验证通过" });
},
onLoad(options) {
console.log("---onLoad");
this.init();
},
onShow() {
console.log("---onShow");
// 选择后设置地点
let workAreaList = wx.getStorageSync('wo-selectWorkAreaList');
if(workAreaList){
this.workAreaList = JSON.parse(workAreaList);
}
let diningPlaceList = wx.getStorageSync('wo-selectDiningPlaceList');
if(diningPlaceList){
this.diningPlaceList = JSON.parse(diningPlaceList);
}
this.init();
},
methods: {
init(){
wx.showLoading({
title: "加载中...",
});
this.editImg = false;
live.getUserInfo().then(res=>{
log.info('getUserInfo',res)
wx.hideLoading();
if(res.data.ok=='true'){
this.userInfo = res.data.data;
let idPhoto = wx.getStorageSync("wo-selectImgUrl");
if (idPhoto) {
this.editImg = true;
this.userInfo.headPortraitUrl = idPhoto;
wx.removeStorageSync("wo-selectImgUrl");
} else {
this.userInfo.headPortraitUrl = this.userInfo.headPortraitUrl?DFSImg(this.userInfo.headPortraitUrl) : '';
}
}
})
},
selectworkRegion() {
return;
wx.setStorageSync('wo-selectWorkAreaList', JSON.stringify(this.workAreaList));
wx.navigateTo({
url: `/pages/wo/workRegion/main`,
});
},
selectDiningPlace() {
return;
wx.setStorageSync('wo-selectDiningPlaceList', JSON.stringify(this.diningPlaceList));
wx.navigateTo({
url: `/pages/wo/diningPlace/main`,
});
},
// 上传图片
upLoadImg() {
let self = this;
wx.chooseImage({
count: 1, // 默认9
sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
const src = res.tempFilePaths[0];
console.log(src, "---------------chooseImage");
if (src) {
// 将图片参数传递给插件
wx.navigateTo({
url: `/pages/wo/editPicture/main?src=${src}`, // 指定页面的url
});
}
wx.hideToast();
},
fail(res) {
wx.hideToast();
wx.navigateBack();
},
});
},
confirm() {
console.log("--提交--");
if(this.userInfo.headPortraitUrl == ""){
wx.showToast({
title: "请上传证件照",
icon: "error",
duration: 1000,
});
return;
}
if(this.editImg == true) {
console.log('----需要修改证件照')
this.update_info();
wx.setStorageSync("reloadTabbarPage", 1);
}
if(getCurrentPages().length>1){
wx.navigateBack({ delta: 1 });
} else {
wx.reLaunch({
url: '/pages/home/main' // 指定页面的url
});
}
},
update_info() {
let query = {
userId: this.userInfo.userId,
headPortraitUrl: this.userInfo.headPortraitUrl
}
index.update_info(query).then(res=>{
log.info('update_info',query,res)
if(res.data.ok == 'true'){}
})
},
},
onHide() {
console.log("--onHide");
},
onUnload() {
console.log("--onUnload");
},
};
</script>
<style lang="scss" scoped>
.improveInformation {
.cell {
align-items: center;
justify-content: space-between;
padding: 16px 16px 16px 0;
margin-left: 16px;
background: #fff;
border-bottom: 1px solid #f5f5f5;
.label {
flex-shrink: 0;
p {
font-size: 15px;
color: #333;
font-family: PingFangSC-Regular, PingFang SC;
}
}
.text {
display: flex;
align-items: center;
justify-content: flex-end;
width: 60%;
p {
font-size: 14px;
color: #999;
font-weight: 400;
}
.ipt {
width: 100%;
font-size: 14px;
text-align: right;
}
.ipt::-webkit-input-placeholder {
color: #999;
}
i {
margin-left: 8px;
font-size: 14px;
color: #999;
}
}
.img {
width: 80px;
height: 100px;
overflow: hidden;
border: 1px solid #d8d8d8;
image {
width: 100%;
height: 100%;
}
}
}
.info {
padding: 10px 20px;
background: #d5edfd;
align-items: center;
position: sticky;
top: 0;
i {
color: #6dd400;
}
p {
font-size: 12px;
color: #0091ff;
margin-left: 6px;
}
}
.selectCell {
.label {
justify-content: space-between;
align-items: center;
i {
margin-left: 8px;
font-size: 14px;
color: #999;
}
}
.val {
margin-top: 16px;
font-size: 14px;
color: #999;
font-weight: 400;
}
.text {
p {
text-align: left;
}
}
}
.seat {
width: 100%;
height: 60px;
}
.btm {
position: fixed;
bottom: 0;
height: 60px;
background: #fff;
width: 100%;
justify-content: center;
align-items: center;
.btn {
display: flex;
align-items: center;
justify-content: center;
width: 90%;
height: 46px;
border-radius: 4px;
color: #fff;
background: #229df1;
}
.btn1 {
background: #c8defc;
pointer-events: none;
}
}
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
<template>
<!-- 挂失 -->
<div class="reportTheLoss">
<div class="main">
<div class="top flex">
<image
src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/2102bb76-b84b-4165-926e-2f53ff4995fd.png"
></image>
</div>
<div class="info" v-if="loaded">
<div class="title">用户须知</div>
<div class="text" v-if="!reported">
<p>1.如果您的通行证实体卡遗失了,请尽快提交挂失;</p>
<p>2.挂失期间,您可以继续使用小程序电子通行证通关、就餐;</p>
<p>3.您也可以通过您单位联系冬奥办工作人员补办实体卡。</p>
</div>
<div class="text" v-else>
<p>1.你的实体卡已挂失,尚未补办新卡;</p>
<p>2.您可以到服务中心申请再次补办实体卡;</p>
<p>3.补卡期间,您可以继续使用小程序电子通行证通关、就餐。</p>
</div>
</div>
</div>
<div class="btm" v-if="!reported && loaded">
<div class="btn" @click="confirm" :class="{ btn1: confirmLoading }">
确认挂失
</div>
</div>
</div>
</template>
<script type="text/ecmascript-6">
import index from "@/api/index";
export default {
name: "reportTheLoss",
data() {
return {
reported: false, // 已经挂失
confirmLoading: false,
loaded: false,
};
},
components: {},
computed: {},
onReady() {
console.log("---onready");
wx.setNavigationBarTitle({ title: "实体卡挂失" });
},
onLoad() {
console.log("---onLoad");
},
onShow() {
console.log("---onShow");
this.init();
},
methods: {
init() {
index.getStaticCode().then((res) => {
this.loaded = true;
if (res.data.ok == "true" && res.data.data == "true") {
this.reported = false;
} else {
this.reported = true;
}
});
},
confirm() {
let _this = this;
wx.showModal({
title: "提示",
content: "挂失后您的通行证实体卡即刻失效!是否挂失",
confirmColor: "#229df1",
success(res) {
if (res.confirm) {
_this.confirmLoading = true;
wx.showLoading({
title: "挂失中...",
});
index.reportTheLoss().then((res) => {
if (res.data.ok == "true" && res.data.data == "true") {
wx.hideLoading();
wx.showToast({
title: "已挂失",
icon: "success",
duration: 1000,
});
_this.reported = true;
_this.confirmLoading = false;
} else {
wx.showToast({
title: "挂失失败",
icon: "error",
duration: 1000,
});
}
});
} else if (res.cancel) {
console.log("用户点击取消");
}
},
});
},
},
};
</script>
<style lang="scss" scoped>
.reportTheLoss {
.main {
padding: 20px 0;
.top {
padding: 0 13px;
height: 121px;
background: #edfbfd;
border-radius: 4px;
justify-content: center;
align-items: center;
image {
width: 60px;
height: 60px;
}
}
.info {
margin-top: 10px;
padding: 0 20px;
.title {
font-size: 17px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: bold;
color: #333333;
text-align: center;
}
.text {
margin-top: 20px;
p {
font-size: 13px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
line-height: 24px;
}
}
}
}
.btm {
position: fixed;
bottom: 0;
width: 100%;
.btn {
display: flex;
align-items: center;
justify-content: center;
margin: 20px;
height: 46px;
border-radius: 4px;
color: #fff;
background: #229df1;
}
.btn1 {
background: #c8defc;
pointer-events: none;
}
}
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
{
}
\ No newline at end of file
<template>
<!-- 出示通行证 -->
<div class="showPassCheck">
<div class="bg">
<img
src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/23b825e3-4dfb-4d6b-9b19-8e3764c476ed.png"
alt=""
/>
</div>
<div class="cont">
<div class="main flex">
<div class="title flex">
<div class="title-left flex">
<div class="img">
<image
mode="widthFix"
src="http://cdn.mayi888.com/public/png/9462ce53-792c-4607-ab7c-1875bed2d3ba.png"
alt=""
></image>
</div>
<p>{{ userInfo.company }}</p>
</div>
<div class="img">
<image
mode="widthFix"
src="http://cdn.mayi888.com/public/png/92ba7c1a-2ab9-4ff9-9ed4-aba4e219ca58.png"
alt=""
></image>
</div>
</div>
<div class="userImg">
<image
v-if="userInfo.headPortraitUrl"
mode="aspectFill"
:src="userInfo.headPortraitUrl"
alt=""
></image>
<image
v-else
mode="aspectFill"
src="http://cdn.mayi888.com/public/png/4660508a-ee25-4872-a3a8-da10a0fbaab1.png"
alt=""
></image>
</div>
<div class="userName">{{ userInfo.realname }}</div>
<div class="userWork">{{ userInfo.identity }}</div>
<div class="qrCode">
<canvas
class="canvas-code"
canvas-id="myQrcode"
:style="{background: '#fff', width: '308rpx', height: '308rpx',}"
/>
</div>
<div class="time" v-if="updateTime">{{ updateTime }}</div>
</div>
<div class="explain">张家口市冬奥会城市运行和环境建设管理指挥部</div>
</div>
</div>
</template>
<script type="text/ecmascript-6">
import live from "@/api/live";
import index from "@/api/index";
import { DFSImg } from "@/utils/common.js";
import QRCode from "@/utils/weapp-qrcode.js";
const app = getApp();
const { log } = app;
export default {
name: "showPassCheck",
data() {
return {
// 十秒更新一次
updateTime: "",
TimeOut: "",
qrCode: "",
qrCodeImg: "",
userInfo: {},
currentBrightness: 0,
};
},
components: {},
computed: {},
onReady() {
console.log("---onready");
wx.setNavigationBarTitle({ title: "赛区通行" });
},
onLoad() {
console.log("---onLoad");
},
onShow() {
let _this = this;
wx.getScreenBrightness({
success: (res)=>{
_this.currentBrightness = res.value
},
fail : (res)=>{
console.log(res,'-------getScreenBrightness--fail')
}
});
console.log(this.currentBrightness,'---currentBrightness');
console.log("---onShow");
this.setScreenBrightness(1);
this.getQrCode();
this.TimeOut = null;
this.TimeOut = setInterval(() => {
this.getQrCode();
}, 1000 * 10);
this.init();
},
onHide() {
this.setScreenBrightness(this.currentBrightness);
clearInterval(this.TimeOut);
},
onUnload() {
this.setScreenBrightness(this.currentBrightness);
clearInterval(this.TimeOut);
},
mounted() {},
methods: {
setScreenBrightness(val=0.7){
if (wx.setScreenBrightness) {
//设置屏幕亮度 参数值:0-1,越大越亮
wx.setScreenBrightness({
value: val
});
} else {
console.log("------微信版本过低------")
}
},
init() {
wx.showLoading({
title: "加载中...",
});
live.getUserInfo().then((res) => {
wx.hideLoading();
if (res.data.ok == "true") {
this.userInfo = res.data.data;
this.userInfo.headPortraitUrl = this.userInfo.headPortraitUrl
? DFSImg(this.userInfo.headPortraitUrl)
: "";
}
});
},
getQrCode() {
index.generatorUniqueCodeByDynamic().then((res) => {
log.info('generatorUniqueCodeByDynamic',res)
if (res.data.ok == "true") {
this.qrCode = res.data.data.uniqueCode;
this.updateTime = res.data.data.createDatetime;
this.getQrcodeImg();
}
});
},
getQrcodeImg() {
let _this = this;
const systemInfo = wx.getSystemInfoSync();
const width = (154 * systemInfo.windowWidth) / 375;
const height = width;
new QRCode("myQrcode", {
text: _this.qrCode,
width,
height,
padding: 4, // 生成二维码四周自动留边宽度,不传入默认为0
correctLevel: QRCode.CorrectLevel.L, // 二维码可辨识度
callback: (res) => {
console.log(res.path, "---res.path");
_this.qrCodeImg = res.path;
// 接下来就可以直接调用微信小程序的api保存到本地或者将这张二维码直接画在海报上面去,看各自需求
},
});
},
getTime() {
let year = new Date().getFullYear();
let month =
new Date().getMonth() + 1 < 10
? "0" + (new Date().getMonth() + 1)
: new Date().getMonth() + 1;
let day =
new Date().getDate() < 10
? "0" + new Date().getDate()
: new Date().getDate();
let hours =
new Date().getHours() < 10
? "0" + new Date().getHours()
: new Date().getHours();
let minutes =
new Date().getMinutes() < 10
? "0" + new Date().getMinutes()
: new Date().getMinutes();
let seconds =
new Date().getSeconds() < 10
? "0" + new Date().getSeconds()
: new Date().getSeconds();
let today = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
console.log(today);
return today;
},
},
};
</script>
<style lang="scss" scoped>
.showPassCheck {
.bg {
position: absolute;
top: 0;
left: 0;
width: 100vw;
img {
width: 100%;
}
}
.cont {
position: relative;
z-index: 1;
image {
width: 100%;
height: 100%;
}
.main {
width: 80%;
margin: 0 auto;
margin-top: 60px;
padding: 10px 12px;
background: #fff;
box-shadow: 0px 6px 24px 8px rgba(0, 0, 0, 0.03),
0px 5px 14px 0px rgba(0, 0, 0, 0.05),
0px 3px 8px -4px rgba(0, 0, 0, 0.08);
border-radius: 4px;
flex-direction: column;
align-items: center;
}
.explain {
margin-top: 50px;
text-align: center;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
}
.title {
align-items: center;
justify-content: space-between;
width: 100%;
.title-left{
align-items: center;
}
.img {
width: 30px;
height: 36px;
flex-shrink: 0;
}
p {
margin-left: 10px;
font-size: 15px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
}
}
.userImg {
margin-top: 10px;
width: 112px;
height: 140px;
border: 1px solid #d8d8d8;
padding: 1px;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.userName {
margin-top: 14px;
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
}
.userWork {
margin-top: 6px;
font-size: 13px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
}
.qrCode {
// width: 154px;
// height: 154px;
border: 2px solid #229df1;
margin-top: 16px;
}
.time {
margin-top: 14px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
}
}
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
{
}
\ No newline at end of file
<template>
<!-- 车辆通行证 -->
<div class="showPassCheck" v-if="licensePlateNumber.length != 0">
<div class="bg">
<img src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/23b825e3-4dfb-4d6b-9b19-8e3764c476ed.png" alt="" />
</div>
<div class="cont">
<div class="main flex">
<div class="title flex">
<div class="img">
<image mode="widthFix" src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/9462ce53-792c-4607-ab7c-1875bed2d3ba.png" alt=""></image>
</div>
<p>{{ companyName }}</p>
</div>
<div class="userImg">
<image mode="aspectFill" src="http://mayi-newshop.oss-cn-shanghai.aliyuncs.com/public/png/22b4fd78-49c6-4596-86a0-5974f46a3805.png" alt=""></image>
</div>
<span class="cardNumber">{{licensePlateNumber}}</span>
<div class="qrCode">
<canvas class="canvas-code" canvas-id="myQrcode" :style="{background: '#fff', width: '308rpx', height: '308rpx',}" />
</div>
<div class="time" v-if="updateTime">{{ updateTime }}</div>
</div>
<div class="changeVehicleText" @click="changeVehicle">更换车辆</div>
<div class="explain">张家口市冬奥会城市运行和环境建设管理指挥部</div>
</div>
</div>
</template>
<script type="text/ecmascript-6">
import live from "@/api/live";
import index from "@/api/index";
import QRCode from "@/utils/weapp-qrcode.js";
export default {
name: "showPassCheck",
data() {
return {
// 十秒更新一次
updateTime: "",
TimeOut: "",
qrCode: "",
qrCodeImg: "",
currentBrightness: 0,
licensePlateNumber: '',
companyName:''
};
},
components: {},
computed: {},
onReady() {
console.log("---onready");
wx.setNavigationBarTitle({ title: "赛区通行" });
},
onLoad() {
console.log("---onLoad");
},
onShow() {
let licensePlateNumber = wx.getStorageSync('licensePlateNumber');
this.licensePlateNumber = licensePlateNumber
console.log('licensePlateNumber', licensePlateNumber);
let _this = this;
wx.getScreenBrightness({
success: (res) => {
console.log('res.value', res.value);
_this.currentBrightness = res.value
},
fail: (res) => {
console.log(res, '-------getScreenBrightness--fail')
}
});
console.log(this.currentBrightness, '---currentBrightness');
console.log("---onShow");
this.setScreenBrightness(1);
if (licensePlateNumber && licensePlateNumber.trim().length != 0) {
this.getQrCode();
this.TimeOut = null;
this.TimeOut = setInterval(() => {
this.getQrCode();
}, 1000 * 10);
this.init();
} else {
wx.reLaunch({
url: '/pages/wo/fillInformation/main',
});
}
},
onHide() {
this.setScreenBrightness(this.currentBrightness);
clearInterval(this.TimeOut);
},
onUnload() {
this.setScreenBrightness(this.currentBrightness);
clearInterval(this.TimeOut);
},
mounted() { },
methods: {
setScreenBrightness(val = 0.7) {
if (wx.setScreenBrightness) {
console.log('微信版本111', val)
//设置屏幕亮度 参数值:0-1,越大越亮
wx.setScreenBrightness({
value: val
});
} else {
console.log("------微信版本过低------")
}
},
init() {
wx.showLoading({
title: "加载中...",
});
live.getUserInfo().then((res) => {
if (res.data.ok == "true") {
wx.hideLoading();
}
});
},
getQrCode() {
index.getVehicleNumber(this.licensePlateNumber).then((res) => {
if (res.data.ok == "true") {
this.qrCode = res.data.data.uniqueCode;
this.updateTime = res.data.data.createDatetime;
console.log(res.data.data.vehicleInfoResponseDTO);
this.companyName = res.data.data.vehicleInfoResponseDTO.companyName
this.getQrcodeImg();
}
});
},
getQrcodeImg() {
let _this = this;
const systemInfo = wx.getSystemInfoSync();
const width = (154 * systemInfo.windowWidth) / 375;
const height = width;
new QRCode("myQrcode", {
text: _this.qrCode,
width,
height,
padding: 4, // 生成二维码四周自动留边宽度,不传入默认为0
correctLevel: QRCode.CorrectLevel.L, // 二维码可辨识度
callback: (res) => {
console.log(res.path, "---res.path");
_this.qrCodeImg = res.path;
// 接下来就可以直接调用微信小程序的api保存到本地或者将这张二维码直接画在海报上面去,看各自需求
},
});
},
getTime() {
let year = new Date().getFullYear();
let month =
new Date().getMonth() + 1 < 10
? "0" + (new Date().getMonth() + 1)
: new Date().getMonth() + 1;
let day =
new Date().getDate() < 10
? "0" + new Date().getDate()
: new Date().getDate();
let hours =
new Date().getHours() < 10
? "0" + new Date().getHours()
: new Date().getHours();
let minutes =
new Date().getMinutes() < 10
? "0" + new Date().getMinutes()
: new Date().getMinutes();
let seconds =
new Date().getSeconds() < 10
? "0" + new Date().getSeconds()
: new Date().getSeconds();
let today = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
console.log(today);
return today;
},
changeVehicle() {
wx.navigateTo({
url: '/pages/wo/fillInformation/main',
});
}
},
};
</script>
<style lang="scss" scoped>
.showPassCheck {
.bg {
position: absolute;
top: 0;
left: 0;
width: 100vw;
img {
width: 100%;
}
}
.cont {
position: relative;
z-index: 1;
image {
width: 100%;
height: 100%;
}
.main {
width: 80%;
margin: 0 auto;
margin-top: 60px;
padding: 20px 22px;
background: #fff;
box-shadow: 0px 6px 24px 8px rgba(0, 0, 0, 0.03),
0px 5px 14px 0px rgba(0, 0, 0, 0.05),
0px 3px 8px -4px rgba(0, 0, 0, 0.08);
border-radius: 4px;
flex-direction: column;
align-items: center;
}
.changeVehicleText {
color: #69b7f5;
text-decoration: underline;
font-size: 15px;
text-align: center;
margin-top: 20px;
}
.explain {
margin-top: 50px;
text-align: center;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
}
.title {
align-items: center;
width: 100%;
.img {
width: 30px;
height: 36px;
}
p {
margin-left: 10px;
font-size: 15px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
}
}
.userImg {
margin-top: 20px;
width: 87px;
height: 33px;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.cardNumber {
height: 23px;
font-size: 16px;
font-weight: 500;
color: #333333;
line-height: 23px;
letter-spacing: 1px;
margin-top: 25px;
}
.userName {
margin-top: 14px;
font-size: 16px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
}
.userWork {
margin-top: 6px;
font-size: 13px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
}
.qrCode {
// width: 154px;
// height: 154px;
border: 2px solid #229df1;
margin-top: 25px;
}
.time {
margin-top: 25px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
}
}
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
<template>
<!-- 核验 -->
<div class="verification">
<div class="top">
<div class="topMain flex">
<div class="scan flex" @click="scanCode">
<i class="iconfont icon-richscan_icon"></i>
</div>
<div class="ipt">
<input
type="text"
name=""
value=""
v-model="checkText"
placeholder="输入核验码"
/>
</div>
<div class="checkBtn flex" @click="toCheck">核验</div>
</div>
</div>
<div v-show="showInfo">
<div class="userInfo" v-if="isUser">
<div class="img">
<image mode="aspectFill" :src="userInfo.handImage" alt=""></image>
</div>
<div class="cell flex">
<div class="label">姓名</div>
<div class="val">{{ userInfo.customerName }}</div>
</div>
<div class="cell flex">
<div class="label">单位</div>
<div class="val">{{ userInfo.company }}</div>
</div>
<div class="cell flex">
<div class="label">人员类别</div>
<div class="val">{{ userInfo.identity }}</div>
</div>
<div class="cell flex">
<div class="label">工作地点</div>
<div class="val">{{ userInfo.workArea }}</div>
</div>
<div class="cell flex">
<div class="label">就餐地点</div>
<div class="val">{{ userInfo.diningPlace }}</div>
</div>
</div>
<div class="userInfo" v-else>
<div class="cell flex">
<div class="label">工作单位</div>
<div class="val">{{ carInfo.companyName }}</div>
</div>
<div class="cell flex">
<div class="label">车牌号</div>
<div class="val">{{ carInfo.numberPlate }}</div>
</div>
<div class="cell flex">
<div class="label">车辆颜色</div>
<div class="val">{{ carInfo.vehicleColor }}</div>
</div>
<div class="cell flex">
<div class="label">车辆类型</div>
<div class="val">{{ carInfo.vehicleType }}</div>
</div>
<div class="cell flex">
<div class="label">驾驶员姓名</div>
<div class="val">{{ carInfo.driverName }}</div>
</div>
<div class="cell flex">
<div class="label">工作区域</div>
<div class="val">{{ carInfo.workArea }}</div>
</div>
<div class="cell flex">
<div class="label">车辆用途</div>
<div class="val">{{ carInfo.vehicleUse }}</div>
</div>
</div>
</div>
<div v-if="loaded && !showInfo" class="noInfo">
暂无{{ isUser ? "人员" : "车辆" }}信息
</div>
<template v-if="showInfo">
<div class="seat"></div>
<div class="btm flex">
<div class="btn" @click="confirm">再扫一次</div>
</div>
</template>
</div>
</template>
<script type="text/ecmascript-6">
import index from "@/api/index";
import { DFSImg } from "@/utils/common.js";
const app = getApp();
const { log } = app;
export default {
name: "verification",
data() {
return {
checkText: "",
showInfo: false,
loaded: false,
isUser: true, //是人员 false:车辆
userInfo: {},
carInfo: {},
};
},
components: {},
computed: {},
onReady() {
console.log("---onready");
wx.setNavigationBarTitle({ title: "核验" });
},
onLoad() {
console.log("---onLoad");
},
onShow() {
console.log("---onShow");
},
onUnload() {
this.showInfo = false;
},
methods: {
toCheck() {
this.getInfoByUniqueCode();
},
confirm() {
this.scanCode();
},
scanCode() {
let _this = this;
wx.scanCode({
success(res) {
console.log(res, "---success");
_this.checkText = res.result;
_this.getInfoByUniqueCode();
},
fail(res) {
wx.showToast({
title: "扫码失败",
icon: "error",
duration: 1000,
});
console.log(res, "----fail");
},
complete(res) {
console.log(res, "----res");
wx.hideLoading();
},
});
},
getInfoByUniqueCode() {
wx.showLoading({
title: "加载中...",
});
this.isUser = true;
this.showInfo = false;
this.loaded = false;
index.getInfoByUniqueCode(this.checkText).then((res) => {
log.info('getInfoByUniqueCode',this.checkText,res)
wx.hideLoading();
this.loaded = true;
if (res.data.ok == "true" && res.data.data) {
this.showInfo = true;
// carOrUser 0人 1车
if(res.data.data.carOrUser-0 == 0) {
this.userInfo = res.data.data.uniqueScanUserInfoDTO;
this.userInfo.handImage = DFSImg(this.userInfo.handImage);
} else {
this.carInfo = res.data.data.vehicleInfoResponseDTO;
this.isUser = false;
}
}
});
},
},
};
</script>
<style lang="scss" scoped>
.verification {
.top {
padding: 10px 14px;
.topMain {
align-items: center;
justify-content: space-between;
border: 1px solid #d8d8d8;
border-radius: 4px;
padding-right: 6px;
.scan {
align-items: center;
justify-content: center;
border-right: 1px solid #d8d8d8;
width: 44px;
height: 44px;
i {
color: #229df1;
font-size: 23px;
}
}
.ipt {
flex: 1;
margin: 0 10px;
font-size: 16px;
}
.checkBtn {
align-items: center;
justify-content: center;
font-size: 16px;
font-family: PingFangSC-Regular, PingFang SC;
background: #229df1;
border-radius: 6px;
color: #ffffff;
padding: 0 12px;
height: 34px;
}
}
border-bottom: 10px solid #f6f7f9;
}
.userInfo {
.img {
width: 104px;
height: 128px;
margin: 10px auto;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
}
.cell {
padding: 12px 20px;
background: #fff;
border-bottom: 1px solid #d8d8d8;
align-items: center;
justify-content: space-between;
.label {
font-size: 15px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
}
.val {
width: 70%;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
text-align: right;
}
}
}
.noInfo {
text-align: center;
font-size: 14px;
color: #666;
text-align: center;
margin-top: 20px;
}
.seat {
width: 100%;
height: 60px;
}
.btm {
position: fixed;
bottom: 0;
height: 60px;
background: #fff;
width: 100%;
justify-content: center;
align-items: center;
padding-bottom: 10px;
.btn {
display: flex;
align-items: center;
justify-content: center;
width: 90%;
height: 46px;
border-radius: 4px;
color: #fff;
background: #229df1;
}
}
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
{
}
\ No newline at end of file
<template>
<!-- 工作区域 -->
<div class="workRegion">
<div class="list">
<div class="item flex" v-for="(item, index) in list" :key="index" @click="selectItem(item,index)">
<div class="select" :class="{ selected: item.selected}">
<i class="iconfont icon-icon_duihao-mian" v-if="item.selected"></i>
</div>
<div class="name">{{ item.name }}</div>
</div>
</div>
<div class="seat"></div>
<div class="btm flex">
<div class="btn" :class="{ btn1: onInput }" @click="confirm">确定</div>
</div>
</div>
</template>
<script type="text/ecmascript-6">
export default {
name: "workRegion",
data() {
return {
list: [],
selectList: [],
};
},
components: {},
computed: {
selectListIds() {
return this.selectList.map(item=>item.id)
},
listIds() {
return this.list.map(item=>item.id)
}
},
onReady() {
wx.setNavigationBarTitle({ title: "工作区域" });
},
onLoad() {
console.log("---onLoad");
},
onShow() {
for(let i = 0; i<20;i++){
this.list.push({
id:i,
name: `云顶大酒店${i}`,
selected: false,
})
}
console.log("---onready");
let workAreaList = wx.getStorageSync('wo-selectWorkAreaList');
if(workAreaList){
this.selectList = JSON.parse(workAreaList);
}
console.log(this.selectList,this.selectListIds,'--this.selectList')
this.list.forEach(item=>{
if(this.selectListIds.includes(item.id)){
item.selected = true;
} else {
item.selected = false;
}
})
console.log(this.list,'---------------63')
console.log("---onShow");
},
methods: {
selectItem(item,index){
item.selected = !item.selected
console.log(item,index,'----56')
console.log(this.selectListIds,'----57')
if(this.selectListIds.includes(item.id)) {
this.selectList.splice(this.selectListIds.indexOf(item.id),1);
} else {
this.selectList.push(item);
}
},
confirm() {
console.log(this.selectList,'--selectList')
wx.setStorageSync('wo-selectWorkAreaList', JSON.stringify(this.selectList));
wx.navigateBack();
},
},
};
</script>
<style lang="scss" scoped>
.workRegion {
.list {
.item {
padding: 18px 24px;
border-bottom: 1px solid #d8d8d8;
align-items: center;
.select {
width: 20px;
height: 20px;
border-radius: 20px;
overflow: hidden;
border: 1px solid #d8d8d8;
i {
font-size: 20px;
color: #229df1;
}
}
.selected {
border-color: transparent;
}
.name {
margin-left: 10px;
flex: 1;
font-size: 15px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333;
}
}
}
.seat {
width: 100%;
height: 60px;
}
.btm {
position: fixed;
bottom: 0;
height: 60px;
background: #fff;
width: 100%;
justify-content: center;
align-items: center;
.btn {
display: flex;
align-items: center;
justify-content: center;
width: 90%;
height: 46px;
border-radius: 4px;
color: #fff;
background: #229df1;
}
}
}
</style>
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
{
}
\ No newline at end of file
import Vue from 'vue'
import App from './index'
const app = new Vue(App)
app.$mount()
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