<script> | <script> | ||||
import { request } from "@/utils/network/request.js"; | |||||
import { etcQYAction, queryKey,getGlobalParam,wechatAppID,wechatSecret } from "@/utils/network/api.js"; | |||||
import { msg } from "./utils/utils"; | |||||
import { getItem,setItem } from "./utils/storage"; | |||||
import { stringToJson } from "@/utils/network/encryption"; | |||||
import { | |||||
getCodeName | |||||
} from "@/datas/queryKey.js"; | |||||
// import { log } from "console"; | |||||
export default { | |||||
// data(){ | |||||
// return{ | |||||
import { | |||||
request | |||||
} from "@/utils/network/request.js"; | |||||
import { | |||||
etcQYAction, | |||||
queryKey, | |||||
getGlobalParam, | |||||
wechatAppID, | |||||
wechatSecret | |||||
} from "@/utils/network/api.js"; | |||||
import { | |||||
msg | |||||
} from "./utils/utils"; | |||||
import { | |||||
getItem, | |||||
setItem | |||||
} from "./utils/storage"; | |||||
import { | |||||
stringToJson | |||||
} from "@/utils/network/encryption"; | |||||
import { | |||||
getCodeName | |||||
} from "@/datas/queryKey.js"; | |||||
// import { log } from "console"; | |||||
export default { | |||||
// data(){ | |||||
// return{ | |||||
// isEnableSetGray:true, | // isEnableSetGray:true, | ||||
// } | |||||
// }, | |||||
onLaunch: function (option) { | |||||
uni.getSystemInfo({ | |||||
success: (res) => { | |||||
console.log("sadsd",res) | |||||
if (res.uniPlatform === 'mp-weixin') { | |||||
console.log('当前为微信小程序',res,1111); | |||||
setItem("loginSource","69af303ba2eb4608a099163f0d2a5dbd"); | |||||
} else if (res.uniPlatform === 'mp-alipay') { | |||||
console.log('当前为支付宝小程序'); | |||||
setItem("loginSource","601052a249c04155831710b577cb796d"); | |||||
} | |||||
} | |||||
}); | |||||
this.globalParam(); | |||||
//获取微信小程序openid | |||||
uni.login({ | |||||
provider: "weixin", | |||||
success: function (e) { | |||||
console.log("e",e); | |||||
// auth.code2Session | |||||
uni.request({ | |||||
url: `https://api.weixin.qq.com/sns/jscode2session?appid=${wechatAppID}&secret=${wechatSecret}&js_code=${e.code}&grant_type=authorization_code`, | |||||
success: (res) => { | |||||
// state.openid = res.data.openid; | |||||
setItem("QYorder", res.data.openid); | |||||
console.log("获取微信小程序openid",res); | |||||
}, | |||||
fail: (err) => { | |||||
uni.showToast({ | |||||
title: "网络异常,请重试!" + err.errcode, | |||||
icon: "error", | |||||
duration: 500, | |||||
}); | |||||
return; | |||||
}, | |||||
}); | |||||
}, | |||||
}); | |||||
uni.setStorageSync("extraData", option.referrerInfo.extraData); | |||||
// #ifdef MP-WEIXIN | |||||
//获取小程序更新机制兼容 | |||||
if (uni.canIUse("getUpdateManager")) { | |||||
// pdateManager,用于管理小程序更新。 | |||||
const updateManager = uni.getUpdateManager(); | |||||
updateManager.onCheckForUpdate(function (res) { | |||||
// 请求完新版本信息的回调 | |||||
if (res.hasUpdate) { | |||||
updateManager.onUpdateReady(function () { | |||||
uni.showModal({ | |||||
title: "更新提示", | |||||
content: "新版本已经准备好,是否重启应用?", | |||||
success: function (res) { | |||||
if (res.confirm) { | |||||
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 | |||||
updateManager.applyUpdate(); | |||||
} | |||||
}, | |||||
}); | |||||
}); | |||||
updateManager.onUpdateFailed(function () { | |||||
// 新的版本下载失败 | |||||
uni.showModal({ | |||||
title: "已经有新版本了哟~", | |||||
content: "新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~", | |||||
showCancel: false, | |||||
confirmText: "我知道了", | |||||
}); | |||||
}); | |||||
} | |||||
}); | |||||
} else { | |||||
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 | |||||
uni.showModal({ | |||||
title: "提示", | |||||
content: | |||||
"当前微信版本过低,无法更好体验程序,请升级到最新微信版本后重试。", | |||||
showCancel: false, | |||||
confirmText: "我知道了", | |||||
}); | |||||
} | |||||
// #endif | |||||
}, | |||||
onShow: function (option) { | |||||
console.log(option); | |||||
console.log("进入主视图"); | |||||
if (option && option.scene === 1038) { | |||||
// 场景值1038:从被打开的小程序返回 | |||||
const { appId, extraData } = option.referrerInfo; | |||||
if (appId == "wxbcad394b3d99dac9") { | |||||
console.log(getItem("QYorder")); | |||||
const orders = getItem("QYorder"); | |||||
// appId为wxbcad394b3d99dac9:从车主小程序跳转回来 | |||||
// TODO | |||||
// 客户端小程序不确定授权结果,需要发起‘查询车牌服务开通信息’确认授权结果 | |||||
// } | |||||
// }, | |||||
onLaunch: function(option) { | |||||
uni.getSystemInfo({ | |||||
success: (res) => { | |||||
console.log("sadsd", res) | |||||
if (res.uniPlatform === 'mp-weixin') { | |||||
console.log('当前为微信小程序', res, 1111); | |||||
setItem("loginSource", "69af303ba2eb4608a099163f0d2a5dbd"); | |||||
} else if (res.uniPlatform === 'mp-alipay') { | |||||
console.log('当前为支付宝小程序'); | |||||
setItem("loginSource", "601052a249c04155831710b577cb796d"); | |||||
} | |||||
} | |||||
}); | |||||
this.globalParam(); | |||||
//获取微信小程序openid | |||||
uni.login({ | |||||
provider: "weixin", | |||||
success: function(e) { | |||||
console.log("e", e); | |||||
// auth.code2Session | |||||
uni.request({ | |||||
url: `https://api.weixin.qq.com/sns/jscode2session?appid=${wechatAppID}&secret=${wechatSecret}&js_code=${e.code}&grant_type=authorization_code`, | |||||
success: (res) => { | |||||
// state.openid = res.data.openid; | |||||
setItem("QYorder", res.data); | |||||
console.log("获取微信小程序openid", res); | |||||
}, | |||||
fail: (err) => { | |||||
uni.showToast({ | |||||
title: "网络异常,请重试!" + err.errcode, | |||||
icon: "error", | |||||
duration: 500, | |||||
}); | |||||
return; | |||||
}, | |||||
}); | |||||
}, | |||||
}); | |||||
uni.setStorageSync("extraData", option.referrerInfo.extraData); | |||||
// #ifdef MP-WEIXIN | |||||
//获取小程序更新机制兼容 | |||||
if (uni.canIUse("getUpdateManager")) { | |||||
// pdateManager,用于管理小程序更新。 | |||||
const updateManager = uni.getUpdateManager(); | |||||
updateManager.onCheckForUpdate(function(res) { | |||||
// 请求完新版本信息的回调 | |||||
if (res.hasUpdate) { | |||||
updateManager.onUpdateReady(function() { | |||||
uni.showModal({ | |||||
title: "更新提示", | |||||
content: "新版本已经准备好,是否重启应用?", | |||||
success: function(res) { | |||||
if (res.confirm) { | |||||
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 | |||||
updateManager.applyUpdate(); | |||||
} | |||||
}, | |||||
}); | |||||
}); | |||||
updateManager.onUpdateFailed(function() { | |||||
// 新的版本下载失败 | |||||
uni.showModal({ | |||||
title: "已经有新版本了哟~", | |||||
content: "新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~", | |||||
showCancel: false, | |||||
confirmText: "我知道了", | |||||
}); | |||||
}); | |||||
} | |||||
}); | |||||
} else { | |||||
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 | |||||
uni.showModal({ | |||||
title: "提示", | |||||
content: "当前微信版本过低,无法更好体验程序,请升级到最新微信版本后重试。", | |||||
showCancel: false, | |||||
confirmText: "我知道了", | |||||
}); | |||||
} | |||||
// #endif | |||||
}, | |||||
onShow: function(option) { | |||||
console.log(option); | |||||
console.log("进入主视图"); | |||||
if (option && option.scene === 1038) { | |||||
// 场景值1038:从被打开的小程序返回 | |||||
const { | |||||
appId, | |||||
extraData | |||||
} = option.referrerInfo; | |||||
if (appId == "wxbcad394b3d99dac9") { | |||||
console.log(getItem("QYorder")); | |||||
const orders = getItem("QYorder"); | |||||
// appId为wxbcad394b3d99dac9:从车主小程序跳转回来 | |||||
// TODO | |||||
// 客户端小程序不确定授权结果,需要发起‘查询车牌服务开通信息’确认授权结果 | |||||
var data = { | |||||
orderId: orders.orderId, | |||||
subOpenId: orders.openid, | |||||
}; | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
request(etcQYAction, options).then((res) => { | |||||
console.log(res); | |||||
var data = { | |||||
orderId: orders.orderId, | |||||
subOpenId: orders.openid, | |||||
}; | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
request(etcQYAction, options).then((res) => { | |||||
console.log(res); | |||||
msg("授权成功"); | |||||
//如果我当前路由是签约页面才能跳转 | |||||
let routes = getCurrentPages(); | |||||
let curRoute = routes[routes.length - 1].route; | |||||
console.log(curRoute); | |||||
if (curRoute === "orders/sign-up") { | |||||
uni.navigateTo({ | |||||
url: `/subpackage/orders/product-detail?orderId=${ | |||||
msg("授权成功"); | |||||
//如果我当前路由是签约页面才能跳转 | |||||
let routes = getCurrentPages(); | |||||
let curRoute = routes[routes.length - 1].route; | |||||
console.log(curRoute); | |||||
if (curRoute === "orders/sign-up") { | |||||
uni.navigateTo({ | |||||
url: `/subpackage/orders/product-detail?orderId=${ | |||||
orders.orderId | orders.orderId | ||||
}&&clientFee=${getItem("clientFee")}&&id=${getItem("productId")}`, | }&&clientFee=${getItem("clientFee")}&&id=${getItem("productId")}`, | ||||
}); | |||||
} | |||||
if (curRoute === "pages/app/sign") { | |||||
//扫描签约成功 | |||||
uni.switchTab({ | |||||
url: "/pages/index/index", | |||||
}); | |||||
} | |||||
}); | |||||
return; | |||||
} | |||||
} | |||||
console.log(option); | |||||
}, | |||||
onLoad: function (option) { | |||||
}, | |||||
onHide: function () { | |||||
console.log("App Hide"); | |||||
}, | |||||
methods:{ | |||||
globalParam(){ | |||||
const options = { | |||||
type: 2, | |||||
data: { | |||||
"loginSource":getItem("loginSource") | |||||
}, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
request(getGlobalParam, options).then((res) => { | |||||
const result = stringToJson(res.bizContent); | |||||
setItem('globalParam', result.data) | |||||
console.log("配置",result); | |||||
}); | |||||
}, | |||||
getGlobalParam(){ | |||||
const data=getItem('globalParam') | |||||
console.log("全局配置数据1111",getCodeName('IS_ENABLE',data.setGray)) | |||||
// 申办时是否允许修改OCR识别出来的车辆信息数据 | |||||
if(getCodeName('IS_ENABLE',data.setGray)=='启用'){ | |||||
this.isEnableSetGray=true; | |||||
}else{ | |||||
this.isEnableSetGray=true; | |||||
}); | |||||
} | |||||
if (curRoute === "pages/app/sign") { | |||||
//扫描签约成功 | |||||
uni.switchTab({ | |||||
url: "/pages/index/index", | |||||
}); | |||||
} | |||||
}); | |||||
return; | |||||
} | |||||
} | } | ||||
console.log(option); | |||||
}, | |||||
onLoad: function(option) { | |||||
}, | |||||
onHide: function() { | |||||
console.log("App Hide"); | |||||
}, | |||||
methods: { | |||||
globalParam() { | |||||
const options = { | |||||
type: 2, | |||||
data: { | |||||
"loginSource": getItem("loginSource") | |||||
}, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
request(getGlobalParam, options).then((res) => { | |||||
const result = stringToJson(res.bizContent); | |||||
setItem('globalParam', result.data) | |||||
console.log("配置", result); | |||||
}); | |||||
}, | |||||
getGlobalParam() { | |||||
const data = getItem('globalParam') | |||||
console.log("全局配置数据1111", getCodeName('IS_ENABLE', data.setGray)) | |||||
// 申办时是否允许修改OCR识别出来的车辆信息数据 | |||||
if (getCodeName('IS_ENABLE', data.setGray) == '启用') { | |||||
this.isEnableSetGray = true; | |||||
} else { | |||||
this.isEnableSetGray = true; | |||||
} | |||||
} | |||||
} | } | ||||
} | |||||
}; | |||||
}; | |||||
</script> | </script> | ||||
<style lang="scss"> | <style lang="scss"> | ||||
/*每个页面公共css */ | |||||
@import "./static/css/common.scss"; | |||||
/*每个页面公共css */ | |||||
@import "./static/css/common.scss"; | |||||
// @import './uni_modules/vk-uview-ui/index.scss'; | |||||
page{ | |||||
font-family: "Microsoft Yahei"; | |||||
// filter: grayscale(1) | |||||
} | |||||
</style> | |||||
// @import './uni_modules/vk-uview-ui/index.scss'; | |||||
page { | |||||
font-family: "Microsoft Yahei"; | |||||
// filter: grayscale(1) | |||||
} | |||||
</style> |
} from "@/utils/network/encryption"; | } from "@/utils/network/encryption"; | ||||
const state = reactive({ | const state = reactive({ | ||||
list: [] ,//车辆list, | |||||
list: [],//车辆list, | |||||
}); | }); | ||||
const flag = ref('0') //默认选择0 | const flag = ref('0') //默认选择0 | ||||
onLoad((option) => { | onLoad((option) => { | ||||
quanCheckActionTrue().then((item: any) => { | |||||
quanCheckActionTrue().then((item : any) => { | |||||
state.list = item.data | state.list = item.data | ||||
}) | }) | ||||
console.log("1",option) | |||||
console.log("1", option) | |||||
}); | }); | ||||
const quanCheckActionTrue = () => { | const quanCheckActionTrue = () => { | ||||
source: 'WECHAT', //渠道为小程序 | source: 'WECHAT', //渠道为小程序 | ||||
tabIndex: '0', //0全部 | tabIndex: '0', //0全部 | ||||
orderStep: '11', //11 为已完成” | orderStep: '11', //11 为已完成” | ||||
title:'1', | |||||
orderStatus: '1', | |||||
// isValueCard:'3', | // isValueCard:'3', | ||||
isValueCard:'1,3', | |||||
isValueCard: '1,3', | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
} | } | ||||
const choose = (i, item) => { | const choose = (i, item) => { | ||||
flag.value = i | |||||
navTo(`/pages/recharge/recharge?cardId=${item.cardId}`) | |||||
flag.value = i | |||||
navTo(`/pages/recharge/recharge?cardId=${item.cardId}`) | |||||
} | } | ||||
</script> | </script> | ||||
} | } | ||||
</style> | |||||
</style> |
/*根据登录code获取token信息*/ | /*根据登录code获取token信息*/ | ||||
fetchToken(code) { | fetchToken(code) { | ||||
console.log(code); | |||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
data: { | data: { | ||||
deviceId: "", | deviceId: "", | ||||
code: code, | code: code, | ||||
loginSource: getItem("loginSource"), | loginSource: getItem("loginSource"), | ||||
wxOpenid: JSON.stringify(getItem("QYorder")) | |||||
wxOpenid: getItem("QYorder").openid | |||||
}, | }, | ||||
method: "POST", | method: "POST", | ||||
showLoading: false, | showLoading: false, | ||||
return new Promise(async (resolve, reject) => { | return new Promise(async (resolve, reject) => { | ||||
const res = await request(getToken, options); | const res = await request(getToken, options); | ||||
const data = stringToJson(res.bizContent); | const data = stringToJson(res.bizContent); | ||||
console.log("data", data) | |||||
console.log("fetchToken", options) | |||||
this.saveToken(data.accessToken); | this.saveToken(data.accessToken); | ||||
this.saveOpenId(data.openId); | this.saveOpenId(data.openId); | ||||
console.log('输出内容', data.openId) | console.log('输出内容', data.openId) | ||||
}); | }); | ||||
}, | }, | ||||
/*退出登录*/ | /*退出登录*/ | ||||
loginOutNoConfirm() { | loginOutNoConfirm() { |
const flag = ref('0') //默认选择0 | const flag = ref('0') //默认选择0 | ||||
onLoad(() => { | onLoad(() => { | ||||
quanCheckActionTrue().then((item: any) => { | |||||
quanCheckActionTrue().then((item : any) => { | |||||
state.list = item.data | state.list = item.data | ||||
}) | }) | ||||
}); | }); | ||||
source: 'WECHAT', //渠道为小程序 | source: 'WECHAT', //渠道为小程序 | ||||
tabIndex: '0', //0全部 | tabIndex: '0', //0全部 | ||||
orderStep: '11', //11 为已完成” | orderStep: '11', //11 为已完成” | ||||
isValueCard:"", | |||||
title:"1" | |||||
isValueCard: "", | |||||
orderStatus: "1" | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
} | } | ||||
</style> | |||||
</style> |
<template> | <template> | ||||
<view class="selectCar-box"> | |||||
<view | |||||
v-if="state.list.length > 0" | |||||
@click="choose(i, item)" | |||||
class="item" | |||||
v-for="(item, i) in state.list" | |||||
:key="i" | |||||
> | |||||
<view class="iten-left"> | |||||
<image :src="`${$imgUrl}che.png`" mode="aspectFill"></image> | |||||
<text>{{ item.vehiclePlate }}</text> | |||||
</view> | |||||
<view class="choose-item"> | |||||
<view class="active" v-if="flag == i"> </view> | |||||
</view> | |||||
</view> | |||||
<view v-else class="flex"> 暂无车辆订单信息 </view> | |||||
</view> | |||||
<view class="selectCar-box"> | |||||
<view v-if="state.list.length > 0" @click="choose(i, item)" class="item" v-for="(item, i) in state.list" | |||||
:key="i"> | |||||
<view class="iten-left"> | |||||
<image :src="`${$imgUrl}che.png`" mode="aspectFill"></image> | |||||
<text>{{ item.vehiclePlate }}</text> | |||||
</view> | |||||
<view class="choose-item"> | |||||
<view class="active" v-if="flag == i"> </view> | |||||
</view> | |||||
</view> | |||||
<view v-else class="flex"> 暂无车辆订单信息 </view> | |||||
</view> | |||||
</template> | </template> | ||||
<script lang="ts" setup> | <script lang="ts" setup> | ||||
import { reactive, ref } from "vue"; | |||||
import { navTo } from "@/utils/utils"; | |||||
import { onLoad, onShow } from "@dcloudio/uni-app"; | |||||
import { orderList } from "@/utils/network/api.js"; | |||||
import { request } from "@/utils/network/request.js"; | |||||
import { msg } from "@/utils/utils"; | |||||
import { getItem, StorageKeys, setItem } from "@/utils/storage"; | |||||
import { stringToJson } from "@/utils/network/encryption"; | |||||
import { reactive, ref } from "vue"; | |||||
import { navTo } from "@/utils/utils"; | |||||
import { onLoad, onShow } from "@dcloudio/uni-app"; | |||||
import { orderList } from "@/utils/network/api.js"; | |||||
import { request } from "@/utils/network/request.js"; | |||||
import { msg } from "@/utils/utils"; | |||||
import { getItem, StorageKeys, setItem } from "@/utils/storage"; | |||||
import { stringToJson } from "@/utils/network/encryption"; | |||||
const state = reactive({ | |||||
list: [], | |||||
}); | |||||
onLoad(() => { | |||||
quanCheckActionTrue().then((item: any) => { | |||||
state.list = item.data; | |||||
console.log(item); | |||||
}); | |||||
}); | |||||
const state = reactive({ | |||||
list: [], | |||||
}); | |||||
onLoad(() => { | |||||
quanCheckActionTrue().then((item : any) => { | |||||
state.list = item.data; | |||||
console.log(item); | |||||
}); | |||||
}); | |||||
const quanCheckActionTrue = () => { | |||||
var data = { | |||||
opId: getItem(StorageKeys.OpenId), | |||||
source: "WECHAT", | |||||
tabIndex: "0", | |||||
orderStep: "11", | |||||
isValueCard:"", | |||||
title:"1", | |||||
}; | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
return new Promise(async (resolve, reject) => { | |||||
const res = await request(orderList, options); | |||||
const data = stringToJson(res.bizContent); | |||||
const quanCheckActionTrue = () => { | |||||
var data = { | |||||
opId: getItem(StorageKeys.OpenId), | |||||
source: "WECHAT", | |||||
tabIndex: "0", | |||||
orderStep: "11", | |||||
isValueCard: "", | |||||
orderStatus: "1", | |||||
}; | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
return new Promise(async (resolve, reject) => { | |||||
const res = await request(orderList, options); | |||||
const data = stringToJson(res.bizContent); | |||||
resolve(data); | |||||
}).catch((error) => { | |||||
reject(error); | |||||
}); | |||||
}; | |||||
const list = reactive([ | |||||
{ | |||||
name: "A12345", | |||||
}, | |||||
{ | |||||
name: "B12345", | |||||
}, | |||||
{ | |||||
name: "C12345", | |||||
}, | |||||
]); | |||||
const flag = ref("0"); | |||||
resolve(data); | |||||
}).catch((error) => { | |||||
reject(error); | |||||
}); | |||||
}; | |||||
const list = reactive([ | |||||
{ | |||||
name: "A12345", | |||||
}, | |||||
{ | |||||
name: "B12345", | |||||
}, | |||||
{ | |||||
name: "C12345", | |||||
}, | |||||
]); | |||||
const flag = ref("0"); | |||||
const choose = (i, item) => { | |||||
console.log(item.cardId); | |||||
navTo( | |||||
`/subpackage/after-sale/activation-once-again/activation-once-again?id=${item.id}` | |||||
); | |||||
}; | |||||
const choose = (i, item) => { | |||||
console.log(item.cardId); | |||||
navTo( | |||||
`/subpackage/after-sale/activation-once-again/activation-once-again?id=${item.id}` | |||||
); | |||||
}; | |||||
</script> | </script> | ||||
<style> | <style> | ||||
page { | |||||
width: 100%; | |||||
height: 100%; | |||||
background-color: #eef7f7; | |||||
} | |||||
page { | |||||
width: 100%; | |||||
height: 100%; | |||||
background-color: #eef7f7; | |||||
} | |||||
</style> | </style> | ||||
<style lang="scss" scoped> | <style lang="scss" scoped> | ||||
.flex { | |||||
display: flex; | |||||
justify-content: center; | |||||
} | |||||
.flex { | |||||
display: flex; | |||||
justify-content: center; | |||||
} | |||||
.selectCar-box { | |||||
// width: 100%; | |||||
height: 100%; | |||||
padding: 30rpx; | |||||
.selectCar-box { | |||||
// width: 100%; | |||||
height: 100%; | |||||
padding: 30rpx; | |||||
.item { | |||||
padding: 20rpx; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
height: 130rpx; | |||||
background: #ffffff; | |||||
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8); | |||||
border-radius: 20rpx; | |||||
margin-bottom: 30rpx; | |||||
.item { | |||||
padding: 20rpx; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
height: 130rpx; | |||||
background: #ffffff; | |||||
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8); | |||||
border-radius: 20rpx; | |||||
margin-bottom: 30rpx; | |||||
.iten-left { | |||||
display: flex; | |||||
align-items: center; | |||||
.iten-left { | |||||
display: flex; | |||||
align-items: center; | |||||
image { | |||||
width: 150rpx; | |||||
height: 90rpx; | |||||
} | |||||
image { | |||||
width: 150rpx; | |||||
height: 90rpx; | |||||
} | |||||
text { | |||||
margin-left: 20rpx; | |||||
font-size: 32rpx; | |||||
font-family: Noto Sans S Chinese; | |||||
font-weight: 400; | |||||
color: #333333; | |||||
} | |||||
} | |||||
text { | |||||
margin-left: 20rpx; | |||||
font-size: 32rpx; | |||||
font-family: Noto Sans S Chinese; | |||||
font-weight: 400; | |||||
color: #333333; | |||||
} | |||||
} | |||||
.choose-item { | |||||
width: 44rpx; | |||||
height: 44rpx; | |||||
background: #ffffff; | |||||
border: 2rpx solid #00b38b; | |||||
border-radius: 50%; | |||||
margin-right: 20rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
box-sizing: content-box; | |||||
} | |||||
.choose-item { | |||||
width: 44rpx; | |||||
height: 44rpx; | |||||
background: #ffffff; | |||||
border: 2rpx solid #00b38b; | |||||
border-radius: 50%; | |||||
margin-right: 20rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
box-sizing: content-box; | |||||
} | |||||
.active { | |||||
width: 34rpx; | |||||
height: 34rpx; | |||||
background: #00b38b; | |||||
border-radius: 50%; | |||||
} | |||||
} | |||||
} | |||||
</style> | |||||
.active { | |||||
width: 34rpx; | |||||
height: 34rpx; | |||||
background: #00b38b; | |||||
border-radius: 50%; | |||||
} | |||||
} | |||||
} | |||||
</style> |
const flag = ref('0') //默认选择0 | const flag = ref('0') //默认选择0 | ||||
onLoad(() => { | onLoad(() => { | ||||
quanCheckActionTrue().then((item: any) => { | |||||
quanCheckActionTrue().then((item : any) => { | |||||
state.list = item.data | state.list = item.data | ||||
}) | }) | ||||
}); | }); | ||||
source: 'WECHAT', //渠道为小程序 | source: 'WECHAT', //渠道为小程序 | ||||
tabIndex: '0', //0全部 | tabIndex: '0', //0全部 | ||||
orderStep: '11', //11 为已完成” | orderStep: '11', //11 为已完成” | ||||
isValueCard:"", | |||||
title:"1" | |||||
isValueCard: "", | |||||
orderStatus: "1" | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
} | } | ||||
</style> | |||||
</style> |
tabIndex: '0', | tabIndex: '0', | ||||
orderStep: '11', | orderStep: '11', | ||||
isValueCard: '', | isValueCard: '', | ||||
title:"1" | |||||
orderStatus: "1" | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
} | } | ||||
</style> | |||||
</style> |
source: 'WECHAT', | source: 'WECHAT', | ||||
tabIndex: '0', | tabIndex: '0', | ||||
orderStep: '11', | orderStep: '11', | ||||
isValueCard:"", | |||||
title:"1" | |||||
isValueCard: "", | |||||
orderStatus: "1" | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
} | } | ||||
</style> | |||||
</style> |
const flag = ref('0') //默认选择0 | const flag = ref('0') //默认选择0 | ||||
onLoad(() => { | onLoad(() => { | ||||
quanCheckActionTrue().then((item: any) => { | |||||
quanCheckActionTrue().then((item : any) => { | |||||
state.list = item.data | state.list = item.data | ||||
}) | }) | ||||
}); | }); | ||||
source: 'WECHAT', //渠道为小程序 | source: 'WECHAT', //渠道为小程序 | ||||
tabIndex: '0', //0全部 | tabIndex: '0', //0全部 | ||||
orderStep: '11', //11 为已完成” | orderStep: '11', //11 为已完成” | ||||
isValueCard:"", | |||||
title:"1" | |||||
isValueCard: "", | |||||
orderStatus: "1" | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
} | } | ||||
</style> | |||||
</style> |
list: [] | list: [] | ||||
}); | }); | ||||
onLoad(() => { | onLoad(() => { | ||||
quanCheckActionTrue().then((item: any) => { | |||||
quanCheckActionTrue().then((item : any) => { | |||||
state.list = item.data | state.list = item.data | ||||
console.log(item) | console.log(item) | ||||
}) | }) | ||||
tabIndex: '0', | tabIndex: '0', | ||||
orderStep: '11', | orderStep: '11', | ||||
isValueCard: '', | isValueCard: '', | ||||
title:"1" | |||||
orderStatus: "1" | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
} | } | ||||
</style> | |||||
</style> |
<template> | <template> | ||||
<view class="selectCar-box"> | |||||
<view | |||||
v-if="state.list.length > 0" | |||||
@click="choose(i, item)" | |||||
class="item" | |||||
v-for="(item, i) in state.list" | |||||
:key="i" | |||||
> | |||||
<view class="iten-left"> | |||||
<image :src="`${$imgUrl}che.png`" mode="aspectFill"></image> | |||||
<text>{{ item.vehiclePlate }}</text> | |||||
</view> | |||||
<view class="choose-item"> | |||||
<view class="active" v-if="flag == i"> </view> | |||||
</view> | |||||
</view> | |||||
<view v-else class="flex"> 暂无车辆订单信息 </view> | |||||
</view> | |||||
<view class="selectCar-box"> | |||||
<view v-if="state.list.length > 0" @click="choose(i, item)" class="item" v-for="(item, i) in state.list" | |||||
:key="i"> | |||||
<view class="iten-left"> | |||||
<image :src="`${$imgUrl}che.png`" mode="aspectFill"></image> | |||||
<text>{{ item.vehiclePlate }}</text> | |||||
</view> | |||||
<view class="choose-item"> | |||||
<view class="active" v-if="flag == i"> </view> | |||||
</view> | |||||
</view> | |||||
<view v-else class="flex"> 暂无车辆订单信息 </view> | |||||
</view> | |||||
</template> | </template> | ||||
<script lang="ts" setup> | <script lang="ts" setup> | ||||
import { reactive, ref } from "vue"; | |||||
import { navTo } from "@/utils/utils"; | |||||
import { onLoad, onShow } from "@dcloudio/uni-app"; | |||||
import { orderList } from "@/utils/network/api.js"; | |||||
import { request } from "@/utils/network/request.js"; | |||||
import { msg } from "@/utils/utils"; | |||||
import { getItem, StorageKeys, setItem } from "@/utils/storage"; | |||||
import { stringToJson } from "@/utils/network/encryption"; | |||||
import { reactive, ref } from "vue"; | |||||
import { navTo } from "@/utils/utils"; | |||||
import { onLoad, onShow } from "@dcloudio/uni-app"; | |||||
import { orderList } from "@/utils/network/api.js"; | |||||
import { request } from "@/utils/network/request.js"; | |||||
import { msg } from "@/utils/utils"; | |||||
import { getItem, StorageKeys, setItem } from "@/utils/storage"; | |||||
import { stringToJson } from "@/utils/network/encryption"; | |||||
const state = reactive({ | |||||
list: [], | |||||
}); | |||||
onLoad(() => { | |||||
quanCheckActionTrue().then((item: any) => { | |||||
state.list = item.data; | |||||
console.log(item); | |||||
}); | |||||
}); | |||||
const state = reactive({ | |||||
list: [], | |||||
}); | |||||
onLoad(() => { | |||||
quanCheckActionTrue().then((item : any) => { | |||||
state.list = item.data; | |||||
console.log(item); | |||||
}); | |||||
}); | |||||
const quanCheckActionTrue = () => { | |||||
var data = { | |||||
opId: getItem(StorageKeys.OpenId), | |||||
source: "WECHAT", | |||||
tabIndex: "0", | |||||
orderStep: "11", | |||||
isValueCard: "", | |||||
title:"1" | |||||
}; | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
return new Promise(async (resolve, reject) => { | |||||
const res = await request(orderList, options); | |||||
const data = stringToJson(res.bizContent); | |||||
const quanCheckActionTrue = () => { | |||||
var data = { | |||||
opId: getItem(StorageKeys.OpenId), | |||||
source: "WECHAT", | |||||
tabIndex: "0", | |||||
orderStep: "11", | |||||
isValueCard: "", | |||||
orderStatus: "1" | |||||
}; | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
return new Promise(async (resolve, reject) => { | |||||
const res = await request(orderList, options); | |||||
const data = stringToJson(res.bizContent); | |||||
resolve(data); | |||||
}).catch((error) => { | |||||
reject(error); | |||||
}); | |||||
}; | |||||
const list = reactive([ | |||||
{ | |||||
name: "A12345", | |||||
}, | |||||
{ | |||||
name: "B12345", | |||||
}, | |||||
{ | |||||
name: "C12345", | |||||
}, | |||||
]); | |||||
const flag = ref("0"); | |||||
resolve(data); | |||||
}).catch((error) => { | |||||
reject(error); | |||||
}); | |||||
}; | |||||
const list = reactive([ | |||||
{ | |||||
name: "A12345", | |||||
}, | |||||
{ | |||||
name: "B12345", | |||||
}, | |||||
{ | |||||
name: "C12345", | |||||
}, | |||||
]); | |||||
const flag = ref("0"); | |||||
const choose = (i, item) => { | |||||
console.log(item.cardId); | |||||
navTo( | |||||
`/subpackage/after-sale/pin-code-deblocking/pin-code-confirm?id=${item.id}` | |||||
); | |||||
}; | |||||
const choose = (i, item) => { | |||||
console.log(item.cardId); | |||||
navTo( | |||||
`/subpackage/after-sale/pin-code-deblocking/pin-code-confirm?id=${item.id}` | |||||
); | |||||
}; | |||||
</script> | </script> | ||||
<style> | <style> | ||||
page { | |||||
width: 100%; | |||||
height: 100%; | |||||
background-color: #eef7f7; | |||||
} | |||||
page { | |||||
width: 100%; | |||||
height: 100%; | |||||
background-color: #eef7f7; | |||||
} | |||||
</style> | </style> | ||||
<style lang="scss" scoped> | <style lang="scss" scoped> | ||||
.flex { | |||||
display: flex; | |||||
justify-content: center; | |||||
} | |||||
.flex { | |||||
display: flex; | |||||
justify-content: center; | |||||
} | |||||
.selectCar-box { | |||||
// width: 100%; | |||||
height: 100%; | |||||
padding: 30rpx; | |||||
.selectCar-box { | |||||
// width: 100%; | |||||
height: 100%; | |||||
padding: 30rpx; | |||||
.item { | |||||
padding: 20rpx; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
height: 130rpx; | |||||
background: #ffffff; | |||||
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8); | |||||
border-radius: 20rpx; | |||||
margin-bottom: 30rpx; | |||||
.item { | |||||
padding: 20rpx; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
align-items: center; | |||||
height: 130rpx; | |||||
background: #ffffff; | |||||
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8); | |||||
border-radius: 20rpx; | |||||
margin-bottom: 30rpx; | |||||
.iten-left { | |||||
display: flex; | |||||
align-items: center; | |||||
.iten-left { | |||||
display: flex; | |||||
align-items: center; | |||||
image { | |||||
width: 150rpx; | |||||
height: 90rpx; | |||||
} | |||||
image { | |||||
width: 150rpx; | |||||
height: 90rpx; | |||||
} | |||||
text { | |||||
margin-left: 20rpx; | |||||
font-size: 32rpx; | |||||
font-family: Noto Sans S Chinese; | |||||
font-weight: 400; | |||||
color: #333333; | |||||
} | |||||
} | |||||
text { | |||||
margin-left: 20rpx; | |||||
font-size: 32rpx; | |||||
font-family: Noto Sans S Chinese; | |||||
font-weight: 400; | |||||
color: #333333; | |||||
} | |||||
} | |||||
.choose-item { | |||||
width: 44rpx; | |||||
height: 44rpx; | |||||
background: #ffffff; | |||||
border: 2rpx solid #00b38b; | |||||
border-radius: 50%; | |||||
margin-right: 20rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
box-sizing: content-box; | |||||
} | |||||
.choose-item { | |||||
width: 44rpx; | |||||
height: 44rpx; | |||||
background: #ffffff; | |||||
border: 2rpx solid #00b38b; | |||||
border-radius: 50%; | |||||
margin-right: 20rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
box-sizing: content-box; | |||||
} | |||||
.active { | |||||
width: 34rpx; | |||||
height: 34rpx; | |||||
background: #00b38b; | |||||
border-radius: 50%; | |||||
} | |||||
} | |||||
} | |||||
</style> | |||||
.active { | |||||
width: 34rpx; | |||||
height: 34rpx; | |||||
background: #00b38b; | |||||
border-radius: 50%; | |||||
} | |||||
} | |||||
} | |||||
</style> |
const flag = ref('0') //默认选择0 | const flag = ref('0') //默认选择0 | ||||
onLoad(() => { | onLoad(() => { | ||||
quanCheckActionTrue().then((item: any) => { | |||||
quanCheckActionTrue().then((item : any) => { | |||||
state.list = item.data | state.list = item.data | ||||
}) | }) | ||||
}); | }); | ||||
source: 'WECHAT', //渠道为小程序 | source: 'WECHAT', //渠道为小程序 | ||||
tabIndex: '0', //0全部 | tabIndex: '0', //0全部 | ||||
orderStep: '11', //11 为已完成” | orderStep: '11', //11 为已完成” | ||||
isValueCard:"", | |||||
title:"1" | |||||
isValueCard: "", | |||||
orderStatus: "1" | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
} | } | ||||
</style> | |||||
</style> |
tabIndex: '0', | tabIndex: '0', | ||||
orderStep: '11', | orderStep: '11', | ||||
isValueCard: '', | isValueCard: '', | ||||
title:"1" | |||||
orderStatus: "1" | |||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
const choose = (i, item) => { | const choose = (i, item) => { | ||||
navTo(`/subpackage/personal-center/search/select-card?vehicleId=${item.vehicleId}`) | navTo(`/subpackage/personal-center/search/select-card?vehicleId=${item.vehicleId}`) | ||||
} | } | ||||
</script> | </script> | ||||
<style> | <style> | ||||
} | } | ||||
</style> | |||||
</style> |