Selaa lähdekoodia

高速快讯字典

yxb
DESKTOP-2IO5MST\huting 1 vuosi sitten
vanhempi
commit
5c4df76232

+ 3
- 2
App.vue Näytä tiedosto

uni.login({ uni.login({
provider: "weixin", provider: "weixin",
success: function (e) { success: function (e) {
console.log(e);
console.log("e",e);
// auth.code2Session
uni.request({ uni.request({
url: `https://api.weixin.qq.com/sns/jscode2session?appid=${wechatAppID}&secret=${wechatSecret}&js_code=${e.code}&grant_type=authorization_code`, url: `https://api.weixin.qq.com/sns/jscode2session?appid=${wechatAppID}&secret=${wechatSecret}&js_code=${e.code}&grant_type=authorization_code`,
success: (res) => { success: (res) => {
// state.openid = res.data.openid; // state.openid = res.data.openid;
setItem("QYorder", res.data.openid); setItem("QYorder", res.data.openid);
console.log(res);
console.log("获取微信小程序openid",res);
}, },
fail: (err) => { fail: (err) => {
uni.showToast({ uni.showToast({

+ 12
- 5
components/nav-bar/nav-bar2.vue Näytä tiedosto

<view class="title" :style="{paddingTop:searchMarginTop+'px',height:searchHeight+'px',lineHeight:searchHeight+'px'}"> <view class="title" :style="{paddingTop:searchMarginTop+'px',height:searchHeight+'px',lineHeight:searchHeight+'px'}">
<block v-if="isBack && !isAlipay"> <block v-if="isBack && !isAlipay">
<image :src="`/static/image/icon-back.png`" <image :src="`/static/image/icon-back.png`"
:style="{height:searchHeight+'px',width:searchHeight+'px'}" class="back" @click="back"></image>
:style="{height:searchHeight+'px',width:searchHeight+'px'}" class="back" @click="back(title)"></image>
</block> </block>
<text>{{title}}</text> <text>{{title}}</text>
</view> </view>
default:0 default:0
} }
}) })
const back = () => {
uni.navigateBack({
delta: 1
})
const back = (title) => {
console.log("555555555",title)
if(title=="九州ETC"){
uni.switchTab({
url: "/pages/order/order"
})
}else{
uni.navigateBack({
delta: 1
})
}
} }
</script> </script>



+ 26
- 19
composables/order/useOrderList.ts Näytä tiedosto

/** /**
* 订单列表业务逻辑 * 订单列表业务逻辑
*/ */
import { onLoad,onShow,onUnload } from "@dcloudio/uni-app";
import { onLoad, onShow, onUnload } from "@dcloudio/uni-app";
import { reactive, ref } from 'vue'; import { reactive, ref } from 'vue';
import { hasLogin, msg } from "@/utils/utils"; import { hasLogin, msg } from "@/utils/utils";
export default function useOrderList() { export default function useOrderList() {


const data = reactive({ const data = reactive({
//登录状态 //登录状态
login:hasLogin(),
login: hasLogin(),
//是否刷新 //是否刷新
refresh:false,
refresh: false,
//当前切换的index 0-全部 1-待发货 2-待收货 3-待激活 xx-退款/换货 //当前切换的index 0-全部 1-待发货 2-待收货 3-待激活 xx-退款/换货
tabIndex: 0, tabIndex: 0,
//导航栏数据 //导航栏数据
tabsList: [ tabsList: [
{ id: 0, name: '全部' },
{ id: 1, name: '待发货' },
{ id: 0, name: '全部' },
{ id: 1, name: '待发货' },
{ id: 2, name: '待收货' }, { id: 2, name: '待收货' },
{ id: 3, name: '待激活' },
{ id: 4, name: '退款/换货' }
{ id: 3, name: '待激活' },
{ id: 4, name: '退款/换货' }
], ],
}) })
onLoad(() => {

onLoad((option) => {
console.log("option", option)
if (!option.index) {
data.tabIndex = 0
} else {
data.tabIndex = Number(option.index)
}
//监听订单刷新信息 //监听订单刷新信息
uni.$on('refreshOrder',() => {
uni.$on('refreshOrder', () => {
data.refresh = true; data.refresh = true;
}); });
uni.$on('refreshFinish',()=>{
uni.$on('refreshFinish', () => {
data.refresh = false; data.refresh = false;
}) })
uni.$on('loginOut',()=>{
uni.$on('loginOut', () => {
data.login = false; data.login = false;
data.refresh = false; data.refresh = false;
}) })
}); });
onUnload(()=>{
onUnload(() => {
uni.$off('refreshOrder'); uni.$off('refreshOrder');
}); });
onShow(()=>{
onShow(() => {
data.login = hasLogin(); data.login = hasLogin();
if(data.login){
if (data.login) {
data.refresh = true; data.refresh = true;
console.log("data.refresh", data.refresh)
} }
}) })



+ 2
- 2
login/login.vue Näytä tiedosto

import { reactive } from "vue"; import { reactive } from "vue";
import { checkStr, msg, navTo } from "@/utils/utils"; import { checkStr, msg, navTo } from "@/utils/utils";
import { onLoad, onUnload } from "@dcloudio/uni-app"; import { onLoad, onUnload } from "@dcloudio/uni-app";
import { login, loginCode, loginTime } from "@/utils/network/api.js";
import { login, loginCode, loginTime,wechatAppID } from "@/utils/network/api.js";
import { request } from "@/utils/network/request.js"; import { request } from "@/utils/network/request.js";
import { stringToJson } from "@/utils/network/encryption"; import { stringToJson } from "@/utils/network/encryption";
import { useUserStore } from "@/stores/user"; import { useUserStore } from "@/stores/user";
import { setItem } from "@/utils/storage"; import { setItem } from "@/utils/storage";

const userStore = useUserStore(); const userStore = useUserStore();
const { fetchToken } = userStore; const { fetchToken } = userStore;


} }
}) })
} }
</script> </script>


<style lang="scss" scoped> <style lang="scss" scoped>

+ 21
- 15
pages/index/index.vue Näytä tiedosto

</swiper> </swiper>


<view class="notice"> <view class="notice">
<image class="icon" :src="fileURL + 'image/index/icon-notice.png'" lazy-load="false" mode="aspectFill">
<image class="icon" :src="fileURL + 'image/index/icon-notice.png'" lazy-load="false"
mode="aspectFill">
</image> </image>
<!-- <text class="notice-text">{{state.notice}}</text> --> <!-- <text class="notice-text">{{state.notice}}</text> -->
<uni-notice-bar style="width: 100%;" scrollable single :text="state.notice"> <uni-notice-bar style="width: 100%;" scrollable single :text="state.notice">
<view class="nav"> <view class="nav">
<view class="item-box" @click="$util.navTo('/pages/recharge/select-car',true)"> <view class="item-box" @click="$util.navTo('/pages/recharge/select-car',true)">
<view class="item item-1"> <view class="item item-1">
<image :src="fileURL + 'image/index/item-1.png'" mode="aspectFill"/>
<image :src="fileURL + 'image/index/item-1.png'" mode="aspectFill" />
</view> </view>
<view class="text">储值卡充值</view> <view class="text">储值卡充值</view>
</view> </view>
<view class="item-box" @click="$util.navTo('/subpackage/personal-center/search/select-car',true)"> <view class="item-box" @click="$util.navTo('/subpackage/personal-center/search/select-car',true)">
<view class="item item-2"> <view class="item item-2">
<image :src="fileURL + 'image/index/item-2.png'" mode="aspectFill"/>
<image :src="fileURL + 'image/index/item-2.png'" mode="aspectFill" />
</view> </view>
<view class="text">账单查询</view> <view class="text">账单查询</view>
</view> </view>
<view class="item-box" @click="$util.navTo('/subpackage/orders/Invoice-mannager',true)"> <view class="item-box" @click="$util.navTo('/subpackage/orders/Invoice-mannager',true)">
<view class="item item-3"> <view class="item item-3">
<image :src="fileURL + 'image/index/item-3.png'" mode="aspectFill"/>
<image :src="fileURL + 'image/index/item-3.png'" mode="aspectFill" />
</view> </view>
<view class="text">通行发票</view> <view class="text">通行发票</view>
</view> </view>
<view class="item-box" <view class="item-box"
@click="$util.navTo('/subpackage/personal-center/install-activation-order',true)"> @click="$util.navTo('/subpackage/personal-center/install-activation-order',true)">
<view class="item item-4"> <view class="item item-4">
<image :src="fileURL + 'image/index/item-4.png'" mode="aspectFill"/>
<image :src="fileURL + 'image/index/item-4.png'" mode="aspectFill" />
</view> </view>
<view class="text">设备激活</view> <view class="text">设备激活</view>
</view> </view>
<view class="item-box" <view class="item-box"
@click="$util.navTo('/subpackage/after-sale/card-loss-reporting/select-car',true)"> @click="$util.navTo('/subpackage/after-sale/card-loss-reporting/select-car',true)">
<view class="item item-5"> <view class="item item-5">
<image :src="fileURL + 'image/index/item-5.png'" mode="aspectFill"/>
<image :src="fileURL + 'image/index/item-5.png'" mode="aspectFill" />
</view> </view>
<view class="text">设备遗失</view> <view class="text">设备遗失</view>
</view> </view>
<view class="item-box" <view class="item-box"
@click="$util.navTo('/subpackage/after-sale/rescind-carId/rescind-carId-select',true)"> @click="$util.navTo('/subpackage/after-sale/rescind-carId/rescind-carId-select',true)">
<view class="item item-6"> <view class="item item-6">
<image :src="fileURL + 'image/index/item-6.png'" mode="aspectFill"/>
<image :src="fileURL + 'image/index/item-6.png'" mode="aspectFill" />
</view> </view>
<view class="text">解除车牌占用</view> <view class="text">解除车牌占用</view>
</view> </view>
<view class="item-box" <view class="item-box"
@click="$util.navTo(`/subpackage/personal-center/setting/personal-information/corrections`,true)"> @click="$util.navTo(`/subpackage/personal-center/setting/personal-information/corrections`,true)">
<view class="item item-7"> <view class="item item-7">
<image :src="fileURL + 'image/index/item-7.png'" mode="aspectFill"/>
<image :src="fileURL + 'image/index/item-7.png'" mode="aspectFill" />
</view> </view>
<view class="text">基础信息变更</view> <view class="text">基础信息变更</view>
</view> </view>
<view class="item-box" @click="$util.navTo(`/pages/service/service`,true)"> <view class="item-box" @click="$util.navTo(`/pages/service/service`,true)">
<view class="item item-8"> <view class="item item-8">
<image :src="fileURL + 'image/index/item-more.png'" mode="aspectFill"/>
<image :src="fileURL + 'image/index/item-more.png'" mode="aspectFill" />
</view> </view>
<view class="text">更多</view> <view class="text">更多</view>
</view> </view>


//调用方式 //调用方式
request(querySwiper, options).then((res) => { request(querySwiper, options).then((res) => {
console.log(stringToJson(res.bizContent));
const data = stringToJson(res.bizContent)
console.log("轮播图",data)
state.swiperList = data.swipers ?data.swipers:[]
})
console.log(stringToJson(res.bizContent));
const data = stringToJson(res.bizContent)
console.log("轮播图", data)
state.swiperList = data.swipers ? data.swipers : []
})
.catch((err) => { .catch((err) => {
console.log(err); console.log(err);
}); });
request(queryHighMsg, options).then((res) => { request(queryHighMsg, options).then((res) => {
console.log("高速快讯查询接口", stringToJson(res.bizContent)); console.log("高速快讯查询接口", stringToJson(res.bizContent));
state.highMsgData = stringToJson(res.bizContent).data state.highMsgData = stringToJson(res.bizContent).data
for (var i = 0; i < state.highMsgData.length; i++) {
state.highMsgData[i]["copywriting"] = getCodeName('COPYWRITING', state.highMsgData[i]["copywriting"])
}
}) })
.catch((err) => { console.log(err) }); .catch((err) => { console.log(err) });
} }
const link = (item) => { const link = (item) => {
console.log("item", item) console.log("item", item)
navTo(`item.hyperLink`)
if (item.hyperLink) {
navTo(`item.hyperLink`)
}
} }
</script> </script>



+ 1
- 0
pages/order/components/order-tabbar.vue Näytä tiedosto



/* 改变tab refresh:点击同个tab是否刷新*/ /* 改变tab refresh:点击同个tab是否刷新*/
const changeTab = (index,refresh?:boolean) => { const changeTab = (index,refresh?:boolean) => {
console.log("index",index)
if(refresh){ if(refresh){
uni.$emit("refreshOrder"); uni.$emit("refreshOrder");
return; return;

+ 5
- 1
pages/order/order.vue Näytä tiedosto

import orderListItem from "./components/order-list-item"; import orderListItem from "./components/order-list-item";
import useOrderList from "@/composables/order/useOrderList"; import useOrderList from "@/composables/order/useOrderList";
import filter from '@/components/filter/filter.vue'; import filter from '@/components/filter/filter.vue';
import { onLoad} from "@dcloudio/uni-app";
const { const {
data, data,
tabbarRef tabbarRef
} = useOrderList(); } = useOrderList();
onLoad((option)=>{
// console.log("option",option)
// data.tabIndex=option.index
})
</script> </script>


<style lang="scss"> <style lang="scss">

+ 12
- 7
pages/user/user.vue Näytä tiedosto

<view class="order box"> <view class="order box">
<view class="right-head"> <view class="right-head">
<view class="tit">我的订单</view> <view class="tit">我的订单</view>
<view class="more">
<view class="more" @click="goOrder(0)">
<text class="more-text">查看全部</text> <text class="more-text">查看全部</text>
<image :src="`${$imgUrl}user/icon-arrow.png`" class="arrow"></image> <image :src="`${$imgUrl}user/icon-arrow.png`" class="arrow"></image>
</view> </view>
</view> </view>
<view class="order-items"> <view class="order-items">
<view class="item">
<view class="item" @click="goOrder(1)">
<image :src="`${$imgUrl}user/icon-daifahuo.png`" class="icon"></image> <image :src="`${$imgUrl}user/icon-daifahuo.png`" class="icon"></image>
<text class="tit">待发货</text> <text class="tit">待发货</text>
</view> </view>
<view class="item">
<view class="item" @click="goOrder(2)">
<image :src="`${$imgUrl}user/icon-daishouhuo.png`" class="icon"></image> <image :src="`${$imgUrl}user/icon-daishouhuo.png`" class="icon"></image>
<text class="tit">待收货</text> <text class="tit">待收货</text>
</view> </view>
<view class="item">
<view class="item" @click="goOrder(3)">
<image :src="`${$imgUrl}user/icon-daijihuo.png`" class="icon"></image> <image :src="`${$imgUrl}user/icon-daijihuo.png`" class="icon"></image>
<text class="tit">待激活</text> <text class="tit">待激活</text>
</view> </view>
<view class="item">
<view class="item" @click="goOrder(4)">
<image :src="`${$imgUrl}user/icon-tuihuanhuo.png`" class="icon"></image> <image :src="`${$imgUrl}user/icon-tuihuanhuo.png`" class="icon"></image>
<text class="tit">退换货/退款</text> <text class="tit">退换货/退款</text>
</view> </view>
mobile: '' mobile: ''
}, },
monthFlowingVo: { monthFlowingVo: {
duration: "",
duration: 0,
mileage: 0, mileage: 0,
flowingNum: 0, flowingNum: 0,
num: 0, num: 0,
} }
}); });
} }
const goOrder=(index)=>{
uni.reLaunch({
url:`../order/order?index=${index}`
})
}
</script> </script>
<style> <style>
page { page {


.order .order-items { .order .order-items {
display: flex; display: flex;
justify-content: space-evenly;
justify-content: space-around;
padding: 30rpx 0; padding: 30rpx 0;
} }



+ 6
- 2
subpackage/after-sale/to-bookkeeping-card/mailing_information.vue Näytä tiedosto

} from "@dcloudio/uni-app"; } from "@dcloudio/uni-app";
import { import {
navTo, navTo,
checkStr
checkStr,msg
} from "@/utils/utils"; } from "@/utils/utils";
import { import {
request request
onLoad((option) => { onLoad((option) => {
params.orderId = option.orderId params.orderId = option.orderId
params.applyId = option.applyId params.applyId = option.applyId
getexpresslist();
}); });


onShow(() => { onShow(() => {
getAddressList(); getAddressList();
getexpresslist();
}) })


const getexpresslist = () => { const getexpresslist = () => {


}; };
const queryCckChangejzCardInfo = () => { const queryCckChangejzCardInfo = () => {
if(!form.address){
msg("请编辑收货详细地址");
return;
}
var data = { var data = {
applyId: params.applyId, applyId: params.applyId,
orderId: params.orderId, orderId: params.orderId,

+ 1
- 1
subpackage/orders/opening-account-people.vue Näytä tiedosto

idNum: state.form.userIdNum, idNum: state.form.userIdNum,
idType: state.form.userIdType, idType: state.form.userIdType,
mobile: state.form.tel, mobile: state.form.tel,
name: state.form.userName,
userName: state.form.userName,
gender: state.form.gender == '男' ? 'MALE' : 'FEMALE', gender: state.form.gender == '男' ? 'MALE' : 'FEMALE',
certifyChannel: "BAIDUOCR", certifyChannel: "BAIDUOCR",
address: state.form.address, address: state.form.address,

+ 1
- 1
subpackage/orders/opening-account-unit.vue Näytä tiedosto

idNum: state.form.userIdNum, idNum: state.form.userIdNum,
idType: state.form.userIdType, idType: state.form.userIdType,
mobile: state.form.tel, mobile: state.form.tel,
name: state.form.userName,
userName: state.form.userName,
gender: 'UNKOWN', gender: 'UNKOWN',
certifyChannel: "BAIDUOCR", certifyChannel: "BAIDUOCR",
address: state.form.address, address: state.form.address,

+ 22
- 6
subpackage/personal-center/vehicle-information.vue Näytä tiedosto

<template> <template>
<view v-if="state.list.length!=0"> <view v-if="state.list.length!=0">
<view class="car-item" v-for="(item,index) in state.list"> <view class="car-item" v-for="(item,index) in state.list">
<image :src="`${$imgUrl}user/icon-car.png`" class="car-pic"></image>
<image :src="`${$imgUrl}che.png`" class="car-pic"></image>
<view class="car-info"> <view class="car-info">
<view class="car-no"><text class="no">{{item.vehiclePlate}}</text><text class="color">{{item.color}}</text></view> <view class="car-no"><text class="no">{{item.vehiclePlate}}</text><text class="color">{{item.color}}</text></view>
<view class="card-no">卡号:{{item.cardId}}</view> <view class="card-no">卡号:{{item.cardId}}</view>
import { onLoad} from "@dcloudio/uni-app"; import { onLoad} from "@dcloudio/uni-app";
import {selectCarInfo,delCarInfo} from "@/utils/network/api.js"; import {selectCarInfo,delCarInfo} from "@/utils/network/api.js";
import {getItem} from "@/utils/storage"; import {getItem} from "@/utils/storage";
import {vehiclePlateColor} from "@/datas/vehiclePlateColor.js";
import {vehiclePlateColorPai} from "@/datas/vehiclePlateColor.js";
const state = reactive({ const state = reactive({
list:'' list:''
}) })
request(selectCarInfo, options).then((res) => { request(selectCarInfo, options).then((res) => {
console.log("车辆信息:",res) console.log("车辆信息:",res)
const data = stringToJson(res.bizContent).vehicleManages const data = stringToJson(res.bizContent).vehicleManages
for(var i=0;i<data.length;i++){
for(var j=0;j<vehiclePlateColor.length;j++){
if(data[i].vehiclePlateColor==vehiclePlateColor[j]['id']){
data[i].color=vehiclePlateColor[j]['color']
// for(var i=0;i<data.length;i++){
// for(var j=0;j<vehiclePlateColor.length;j++){
// if(data[i].vehiclePlateColor==vehiclePlateColor[j]['id']){
// data[i].color=vehiclePlateColor[j]['color']
// }
// }
// }
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < vehiclePlateColorPai.length; j++) {
if (data[i].vehiclePlateColor == vehiclePlateColorPai[j]['id']) {
data[i].color = vehiclePlateColorPai[j]['color']
} }
} }
} }
text-align: center; text-align: center;
margin: 50rpx auto; margin: 50rpx auto;
} }
.color{
padding: 4rpx 8rpx;
border-radius: 10rpx;
color: white;
background-color: rgb(6, 112, 255);
display: inline-block;
margin-left: 20rpx;
font-size: 24rpx;
}
</style> </style>

+ 6
- 5
utils/network/api.js Näytä tiedosto

export const envs = { export const envs = {
//开发环境配置 //开发环境配置
development: { development: {
// baseUrl: "htttp://192.168.100.63:8087",
baseUrl: "http://192.168.100.63:8087",
// baseUrl: "https://qtzl.etcjz.cn", // baseUrl: "https://qtzl.etcjz.cn",
baseUrl: "https://testmedusa.etcjz.cn",
// baseUrl: "https://testmedusa.etcjz.cn",
// baseUrl: "http://192.168.100.158:8085",
}, },
//生产环境配置 //生产环境配置
production: { production: {
// baseUrl: "htttp://222.85.144.89:19002",
// baseUrl: "http://192.168.100.63:8087"
baseUrl: "https://testmedusa.etcjz.cn",
// baseUrl: "http://192.168.100.63:8087",
baseUrl: "http://222.85.144.89:19002",
// baseUrl: "https://testmedusa.etcjz.cn",
} }
} }

+ 2
- 4
utils/network/request.js Näytä tiedosto

loginSource: getItem("loginSource"), loginSource: getItem("loginSource"),
rbacSource: 'MINI_PROGRAM' rbacSource: 'MINI_PROGRAM'
} }
//Url 地址 /api/interfaceMidGroundIn
options.url = envs[process.env.NODE_ENV].baseUrl + '/ifzt/api/interfaceMidGroundIn'
// options.url = envs[process.env.NODE_ENV].baseUrl + '/api/interfaceMidGroundIn' // options.url = envs[process.env.NODE_ENV].baseUrl + '/api/interfaceMidGroundIn'
// options.url = envs[process.env.NODE_ENV].baseUrl + '/ifzt/api/interfaceMidGroundIn'

options.url = envs[process.env.NODE_ENV].baseUrl + '/ifzt/api/interfaceMidGroundIn'
// options.url = envs[process.env.NODE_ENV].baseUrl + '/ifzt/api/interfaceMidGroundIn'
//默认json数据格式提交` //默认json数据格式提交`
let contentType = 'application/x-www-form-urlencoded' let contentType = 'application/x-www-form-urlencoded'



Loading…
Peruuta
Tallenna