<template> | |||||
<view class="wrapper"> | |||||
<view class="search-box"> | |||||
<image :src="`${$imgUrl}service/icon-search.png`" class="icon" mode="aspectFill" @click="search()"></image> | |||||
<input class="search" placeholder="请输入业务名称" v-model="state.searchVal" @confirm="search()" /> | |||||
</view> | |||||
<view class="content"> | |||||
<view class="left"> | |||||
<view v-for="(item,index) in menuShow.list" :key="index" | |||||
:class="activeTab === item.name ? 'menu active' : 'menu'" @click="tabHandle(item.name,index)"> | |||||
<view :class="activeTab === item.name ? 'border on' : 'border'" :style="{ '--background': bgOn }"></view> | |||||
<view class="menu-text">{{item.name}}</view> | |||||
</view> | |||||
</view> | |||||
<view class="right"> | |||||
<rightListVue class="rightListVue" :menuList='menuShow.list[tableSelectIndex].children' | |||||
v-if="menuShow.list.length > 0" /> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script lang="ts" setup> | |||||
import { source } from "@/utils/network/difference"; | |||||
import rightListVue from "./components/rightList.vue"; | |||||
import { | |||||
ref, | |||||
reactive, | |||||
} from "vue"; | |||||
import { | |||||
onLoad | |||||
} from "@dcloudio/uni-app"; | |||||
import { | |||||
fileURL, fileURLList | |||||
} from "@/datas/fileURL.js"; | |||||
import { | |||||
queryMenuConfig | |||||
} from "@/utils/network/api.js"; | |||||
import {requestNew} from "@/utils/network/request.js"; | |||||
import { | |||||
getItem, | |||||
StorageKeys, | |||||
} from "@/utils/storage"; | |||||
const bgOn = `url(${fileURL}image/newHome/bg-on.png) center center no-repeat`; | |||||
import {hasLogin,confirm} from "@/utils/utils"; | |||||
const activeTab = ref(""); | |||||
const tableSelectIndex = ref(0); | |||||
// 切换 | |||||
function tabHandle(val, index) { | |||||
activeTab.value = val; | |||||
tableSelectIndex.value = index | |||||
console.log(tableSelectIndex.value) | |||||
} | |||||
const menu = reactive({ | |||||
list: [] //请求的真正的不会变得 | |||||
}); | |||||
const menuShow = reactive({ | |||||
list: [],//展示的 | |||||
}); | |||||
const state = reactive({ | |||||
searchVal: '', //input输入值 | |||||
newArr: [] | |||||
<template> | |||||
<view class="wrapper"> | |||||
<view class="search-box"> | |||||
<image :src="`${$imgUrl}service/icon-search.png`" class="icon" mode="aspectFill" @click="search()"></image> | |||||
<input class="search" placeholder="请输入业务名称" v-model="state.searchVal" @confirm="search()" /> | |||||
</view> | |||||
<view class="content"> | |||||
<view class="left"> | |||||
<view v-for="(item,index) in menuShow.list" :key="index" | |||||
:class="activeTab === item.name ? 'menu active' : 'menu'" @click="tabHandle(item.name,index)"> | |||||
<view :class="activeTab === item.name ? 'border on' : 'border'" :style="{ '--background': bgOn }"></view> | |||||
<view class="menu-text">{{item.name}}</view> | |||||
</view> | |||||
</view> | |||||
<view class="right"> | |||||
<rightListVue class="rightListVue" :menuList='menuShow.list[tableSelectIndex].children' | |||||
v-if="menuShow.list.length > 0" /> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script lang="ts" setup> | |||||
import { source } from "@/utils/network/difference"; | |||||
import rightListVue from "./components/rightList.vue"; | |||||
import { | |||||
ref, | |||||
reactive, | |||||
} from "vue"; | |||||
import { | |||||
onLoad | |||||
} from "@dcloudio/uni-app"; | |||||
import { | |||||
fileURL, fileURLList | |||||
} from "@/datas/fileURL.js"; | |||||
import { | |||||
queryMenuConfig | |||||
} from "@/utils/network/api.js"; | |||||
import {requestNew} from "@/utils/network/request.js"; | |||||
import { | |||||
getItem, | |||||
StorageKeys, | |||||
} from "@/utils/storage"; | |||||
const bgOn = `url(${fileURL}image/newHome/bg-on.png) center center no-repeat`; | |||||
import {hasLogin,confirm,navTo} from "@/utils/utils"; | |||||
const activeTab = ref(""); | |||||
const tableSelectIndex = ref(0); | |||||
// 切换 | |||||
function tabHandle(val, index) { | |||||
activeTab.value = val; | |||||
tableSelectIndex.value = index | |||||
console.log(tableSelectIndex.value) | |||||
} | |||||
const menu = reactive({ | |||||
list: [] //请求的真正的不会变得 | |||||
}); | |||||
const menuShow = reactive({ | |||||
list: [],//展示的 | |||||
}); | |||||
const state = reactive({ | |||||
searchVal: '', //input输入值 | |||||
newArr: [] | |||||
}); | |||||
onLoad(() => { | |||||
load() | |||||
}); | }); | ||||
onLoad(() => { | |||||
function load(){ | |||||
console.log("1") | console.log("1") | ||||
if (!hasLogin()) { | if (!hasLogin()) { | ||||
console.log("2") | console.log("2") | ||||
activeTab.value = val.menuList[0]['name'] | activeTab.value = val.menuList[0]['name'] | ||||
}) | }) | ||||
} | } | ||||
}); | |||||
// 深拷贝 | |||||
const deepClone = (obj) => { | |||||
if (typeof obj !== 'object' || obj === null) { | |||||
return obj; | |||||
} | |||||
let clone = Array.isArray(obj) ? [] : {}; | |||||
for (let key in obj) { | |||||
if (obj.hasOwnProperty(key)) { | |||||
clone[key] = deepClone(obj[key]); | |||||
} | |||||
} | |||||
return clone; | |||||
} | |||||
const search = () => { | |||||
for (var i = 0; i < menu.list.length; i++) { | |||||
state.newArr[i]['children'] = []; | |||||
for (var j = 0; j < menu.list[i]['children'].length; j++) { | |||||
const name = menu.list[i]['children'][j].name; | |||||
if (name.indexOf(state.searchVal) >= 0) { | |||||
state.newArr[i]['children'].push(menu.list[i]['children'][j]) | |||||
} | |||||
} | |||||
} | |||||
// 清除没有孩子的父亲 | |||||
const lastArr = [] | |||||
for (var k = 0; k < state.newArr.length; k++) { | |||||
if (state.newArr[k]['children'].length != 0) { | |||||
lastArr.push(state.newArr[k]) | |||||
} | |||||
} | |||||
console.log("lastArr", lastArr) | |||||
if (state.searchVal) { | |||||
tableSelectIndex.value = 0 | |||||
} | |||||
menuShow.list = lastArr | |||||
console.log("menuShow.list", menuShow.list, tableSelectIndex.value) | |||||
} | |||||
const queryMenuConfigAction = () => { | |||||
var data = { | |||||
openId: getItem(StorageKeys.OpenId), | |||||
systemType: source == "WECHAT" ? '6' : "9", | |||||
loginSource: getItem("loginSource") | |||||
}; | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
return new Promise(async (resolve, reject) => { | |||||
const res = await requestNew(queryMenuConfig, options); | |||||
const data = res; | |||||
console.log("dataqueryMenuConfigAction", data.menuList) | |||||
resolve(data); | |||||
}).catch((error) => { | |||||
reject(error); | |||||
}); | |||||
} | |||||
function toNext(url) { | |||||
uni.navigateTo({ | |||||
url: url, | |||||
}); | |||||
} | |||||
</script> | |||||
<style> | |||||
page { | |||||
height: 100%; | |||||
background: white; | |||||
} | |||||
.wrapper { | |||||
display: flex; | |||||
background: #01243A; | |||||
flex-direction: column; | |||||
height: 100%; | |||||
} | |||||
.search-box { | |||||
margin: 50rpx 40rpx; | |||||
height: 72rpx; | |||||
border-radius: 36rpx; | |||||
background: #f7f7f7; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
} | |||||
.search-box .icon { | |||||
width: 48rpx; | |||||
height: 48rpx; | |||||
margin: 0 20rpx; | |||||
} | |||||
.search-box .search { | |||||
flex: 1; | |||||
margin-right: 20rpx; | |||||
height: 100%; | |||||
padding: 0 10rpx; | |||||
font-size: 28rpx; | |||||
color: black; | |||||
background: transparent; | |||||
} | |||||
.content { | |||||
display: flex; | |||||
flex: 1; | |||||
flex-grow: 1; | |||||
background: #fff; | |||||
border-radius: 30rpx 30rpx 0 0; | |||||
padding-top: 40rpx; | |||||
} | |||||
.left { | |||||
width: 180rpx; | |||||
border-right: 1px solid #dcdcdc; | |||||
margin-right: 29rpx; | |||||
} | |||||
.left .menu-text { | |||||
font-size: 26rpx; | |||||
color: #666666; | |||||
width: 120rpx; | |||||
} | |||||
.left .menu { | |||||
padding-left: 15rpx; | |||||
display: flex; | |||||
align-items: center; | |||||
margin: 20rpx 0 60rpx 0; | |||||
} | |||||
.left .active .menu-text { | |||||
font-weight: bold; | |||||
line-height: 32rpx; | |||||
font-family: NotoSansHans, NotoSansHans; | |||||
font-size: 28rpx; | |||||
color: #01243A; | |||||
} | |||||
.left .border { | |||||
width: 9rpx; | |||||
height: 26rpx; | |||||
border-radius: 4rpx; | |||||
margin-right: 20rpx; | |||||
} | |||||
.left .on { | |||||
/* background: linear-gradient(0deg, #43a1e0 0%, #13e7c1 100%); */ | |||||
/* background: linear-gradient(0deg, #fff 0%, #C2A75F 50%, #C2A75F 100%); */ | |||||
border-radius: 4rpx; | |||||
font-size: 28rpx; | |||||
background: var(--background); | |||||
background-size: 100% 100%; | |||||
} | |||||
.right { | |||||
flex: 1; | |||||
} | |||||
/* .right-content { | |||||
display: flex; | |||||
flex-wrap: wrap; | |||||
} | |||||
// #ifdef MP-ALIPAY | |||||
.item { | |||||
width: 95rpx; | |||||
height: 95rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
border-radius: 20rpx; | |||||
} | |||||
.right .item-box { | |||||
display: flex; | |||||
flex-direction: column; | |||||
justify-content: center; | |||||
align-items: center; | |||||
margin-right: 26rpx; | |||||
margin-bottom: 39rpx; | |||||
} | |||||
// #endif | |||||
// #ifdef MP-WEIXIN | |||||
.item { | |||||
width: 105rpx; | |||||
height: 105rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
border-radius: 20rpx; | |||||
} | |||||
.right .item-box { | |||||
display: flex; | |||||
flex-direction: column; | |||||
justify-content: center; | |||||
align-items: center; | |||||
margin-right: 30rpx; | |||||
margin-bottom: 39rpx; | |||||
} | |||||
// #endif | |||||
.item image { | |||||
width: 64rpx; | |||||
height: 64rpx; | |||||
} | |||||
.right .text { | |||||
width: 105rpx; | |||||
font-size: 22rpx; | |||||
text-align: center; | |||||
height: 60rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
margin-top: 19rpx; | |||||
color: #666666; | |||||
} */ | |||||
.bg-blue { | |||||
background: var(--background); | |||||
} | |||||
.bg-orange { | |||||
background: var(--background); | |||||
} | |||||
.right .text-orange { | |||||
color: #fd8362; | |||||
} | |||||
.rightListVue { | |||||
height: 100%; | |||||
} | } | ||||
</style> | |||||
// 深拷贝 | |||||
const deepClone = (obj) => { | |||||
if (typeof obj !== 'object' || obj === null) { | |||||
return obj; | |||||
} | |||||
let clone = Array.isArray(obj) ? [] : {}; | |||||
for (let key in obj) { | |||||
if (obj.hasOwnProperty(key)) { | |||||
clone[key] = deepClone(obj[key]); | |||||
} | |||||
} | |||||
return clone; | |||||
} | |||||
const search = () => { | |||||
for (var i = 0; i < menu.list.length; i++) { | |||||
state.newArr[i]['children'] = []; | |||||
for (var j = 0; j < menu.list[i]['children'].length; j++) { | |||||
const name = menu.list[i]['children'][j].name; | |||||
if (name.indexOf(state.searchVal) >= 0) { | |||||
state.newArr[i]['children'].push(menu.list[i]['children'][j]) | |||||
} | |||||
} | |||||
} | |||||
// 清除没有孩子的父亲 | |||||
const lastArr = [] | |||||
for (var k = 0; k < state.newArr.length; k++) { | |||||
if (state.newArr[k]['children'].length != 0) { | |||||
lastArr.push(state.newArr[k]) | |||||
} | |||||
} | |||||
console.log("lastArr", lastArr) | |||||
if (state.searchVal) { | |||||
tableSelectIndex.value = 0 | |||||
} | |||||
menuShow.list = lastArr | |||||
console.log("menuShow.list", menuShow.list, tableSelectIndex.value) | |||||
} | |||||
const queryMenuConfigAction = () => { | |||||
var data = { | |||||
openId: getItem(StorageKeys.OpenId), | |||||
systemType: source == "WECHAT" ? '6' : "9", | |||||
loginSource: getItem("loginSource") | |||||
}; | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
return new Promise(async (resolve, reject) => { | |||||
const res = await requestNew(queryMenuConfig, options,false, ()=>{ | |||||
console.log('---------------------我执行了!') | |||||
load() | |||||
}); | |||||
const data = res; | |||||
console.log("dataqueryMenuConfigAction", data.menuList) | |||||
resolve(data); | |||||
}).catch((error) => { | |||||
reject(error); | |||||
}); | |||||
} | |||||
function toNext(url) { | |||||
navTo(url); | |||||
} | |||||
</script> | |||||
<style> | |||||
page { | |||||
height: 100%; | |||||
background: white; | |||||
} | |||||
.wrapper { | |||||
display: flex; | |||||
background: #01243A; | |||||
flex-direction: column; | |||||
height: 100%; | |||||
} | |||||
.search-box { | |||||
margin: 50rpx 40rpx; | |||||
height: 72rpx; | |||||
border-radius: 36rpx; | |||||
background: #f7f7f7; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
} | |||||
.search-box .icon { | |||||
width: 48rpx; | |||||
height: 48rpx; | |||||
margin: 0 20rpx; | |||||
} | |||||
.search-box .search { | |||||
flex: 1; | |||||
margin-right: 20rpx; | |||||
height: 100%; | |||||
padding: 0 10rpx; | |||||
font-size: 28rpx; | |||||
color: black; | |||||
background: transparent; | |||||
} | |||||
.content { | |||||
display: flex; | |||||
flex: 1; | |||||
flex-grow: 1; | |||||
background: #fff; | |||||
border-radius: 30rpx 30rpx 0 0; | |||||
padding-top: 40rpx; | |||||
} | |||||
.left { | |||||
width: 180rpx; | |||||
border-right: 1px solid #dcdcdc; | |||||
margin-right: 29rpx; | |||||
} | |||||
.left .menu-text { | |||||
font-size: 26rpx; | |||||
color: #666666; | |||||
width: 120rpx; | |||||
} | |||||
.left .menu { | |||||
padding-left: 15rpx; | |||||
display: flex; | |||||
align-items: center; | |||||
margin: 20rpx 0 60rpx 0; | |||||
} | |||||
.left .active .menu-text { | |||||
font-weight: bold; | |||||
line-height: 32rpx; | |||||
font-family: NotoSansHans, NotoSansHans; | |||||
font-size: 28rpx; | |||||
color: #01243A; | |||||
} | |||||
.left .border { | |||||
width: 9rpx; | |||||
height: 26rpx; | |||||
border-radius: 4rpx; | |||||
margin-right: 20rpx; | |||||
} | |||||
.left .on { | |||||
border-radius: 4rpx; | |||||
font-size: 28rpx; | |||||
background: var(--background); | |||||
background-size: 100% 100%; | |||||
} | |||||
.right { | |||||
flex: 1; | |||||
} | |||||
.bg-blue { | |||||
background: var(--background); | |||||
} | |||||
.bg-orange { | |||||
background: var(--background); | |||||
} | |||||
.right .text-orange { | |||||
color: #fd8362; | |||||
} | |||||
.rightListVue { | |||||
height: 100%; | |||||
} | |||||
</style> |
import { | import { | ||||
request,requestNew | request,requestNew | ||||
} from "@/utils/network/request.js"; | } from "@/utils/network/request.js"; | ||||
import { | |||||
stringToJson | |||||
} from "@/utils/network/encryption.js"; | |||||
import filter from '@/components/filter/filter.vue'; | import filter from '@/components/filter/filter.vue'; | ||||
import { source } from "@/utils/network/difference"; | import { source } from "@/utils/network/difference"; | ||||
import { vehiclePlateColor, vehiclePlateColorPai, getVehiclePlateColorPaiShow } from "@/datas/vehiclePlateColor.js"; | import { vehiclePlateColor, vehiclePlateColorPai, getVehiclePlateColorPaiShow } from "@/datas/vehiclePlateColor.js"; | ||||
console.log("state.data.opId", state.data.opId) | console.log("state.data.opId", state.data.opId) | ||||
if (state.data.opId) { | if (state.data.opId) { | ||||
getUserInfo(); | getUserInfo(); | ||||
// showEquityListRequest(); //权益请求 | |||||
} else { | } else { | ||||
state.userVehicleInfoSumQueryVo = { | state.userVehicleInfoSumQueryVo = { | ||||
vehicleSum: 0, | vehicleSum: 0, | ||||
}); | }); | ||||
} | } | ||||
const goOrder = (index) => { | const goOrder = (index) => { | ||||
uni.navigateTo({ | |||||
url: `../order/order?index=${index}` | |||||
}) | |||||
navTo(`../order/order?index=${index}`) | |||||
} | } | ||||
const goLogin = () => { | const goLogin = () => { | ||||
if (!getItem('openId')) { | if (!getItem('openId')) { | ||||
}) | }) | ||||
} | } | ||||
} | } | ||||
const showEquityListRequest = () => { | |||||
const options = { | |||||
type: 2, | |||||
data: { | |||||
"openId": getItem(StorageKeys.OpenId), | |||||
"pageNo": 1, | |||||
"pageSize": 100, | |||||
}, | |||||
method: 'POST', | |||||
showLoading: true, | |||||
} | |||||
request(showEquityListApi, options).then((res) => { | |||||
const data = stringToJson(res.bizContent); | |||||
console.log("购买2", data) | |||||
state.equityNumber = data.data.length | |||||
}) | |||||
} | |||||
const goEquity = () => { | const goEquity = () => { | ||||
navTo('/subpackage/service/equityList/equityList') | navTo('/subpackage/service/equityList/equityList') | ||||
} | } |
} | } | ||||
}, | }, | ||||
loginAll(code){ | |||||
}, | |||||
/*退出登录*/ | /*退出登录*/ | ||||
loginOutNoConfirm() { | loginOutNoConfirm() { |
import { | import { | ||||
addressQueryNew, | addressQueryNew, | ||||
productReCode, | productReCode, | ||||
addProduct, | |||||
orderAdd, orderDetailQuery | orderAdd, orderDetailQuery | ||||
} from "@/utils/network/api.js"; | } from "@/utils/network/api.js"; | ||||
import { request, requestNew } from "@/utils/network/request.js"; | import { request, requestNew } from "@/utils/network/request.js"; |
import carNumberInput from "./components/car-number-input.vue"; | import carNumberInput from "./components/car-number-input.vue"; | ||||
import numberplateColor from "./components/layout-numberplate-color"; | import numberplateColor from "./components/layout-numberplate-color"; | ||||
import { getItem, StorageKeys } from "@/utils/storage"; | import { getItem, StorageKeys } from "@/utils/storage"; | ||||
import { stringToJson } from "@/utils/network/encryption"; | |||||
import navBar from "@/components/nav-bar/nav-bar2.vue"; | import navBar from "@/components/nav-bar/nav-bar2.vue"; | ||||
import { onLoad, onShow, onPageScroll, onUnload } from "@dcloudio/uni-app"; | import { onLoad, onShow, onPageScroll, onUnload } from "@dcloudio/uni-app"; | ||||
import { | import { | ||||
isSubmitOrderApi, | |||||
plateCheck, | plateCheck, | ||||
addressQueryNew, | addressQueryNew, | ||||
productReCode, | |||||
addProduct, | |||||
orderAdd, orderDetailQuery | orderAdd, orderDetailQuery | ||||
} from "@/utils/network/api.js"; | } from "@/utils/network/api.js"; | ||||
import { request, requestNew } from "@/utils/network/request.js"; | |||||
import { requestNew } from "@/utils/network/request.js"; | |||||
import { reactive, ref } from "vue"; | import { reactive, ref } from "vue"; | ||||
import { msg, noticeUser,navTo } from "@/utils/utils"; | import { msg, noticeUser,navTo } from "@/utils/utils"; | ||||
state.show = false; | state.show = false; | ||||
}; | }; | ||||
const nextAction = () => { | const nextAction = () => { | ||||
uni.showLoading({ | |||||
title:"请稍后", | |||||
mask: true //是否显示透明蒙层,防止触摸穿透 | |||||
}) | |||||
if (!state.data.vehiclePlate) { | if (!state.data.vehiclePlate) { | ||||
uni.hideLoading() | |||||
msg("请输入申办车牌"); | msg("请输入申办车牌"); | ||||
return; | return; | ||||
} | } | ||||
}; | }; | ||||
const nextActionRequest = () => { | const nextActionRequest = () => { | ||||
if (!state.data.vehiclePlate) { | if (!state.data.vehiclePlate) { | ||||
uni.hideLoading() | |||||
msg("请输入申办车牌"); | msg("请输入申办车牌"); | ||||
return; | return; | ||||
} | } | ||||
if (state.data.vehiclePlate.length < 7) { | if (state.data.vehiclePlate.length < 7) { | ||||
uni.hideLoading() | |||||
msg("请输入正确的申办车牌"); | msg("请输入正确的申办车牌"); | ||||
return; | return; | ||||
} | } | ||||
if (!state.data.region) { | if (!state.data.region) { | ||||
uni.hideLoading() | |||||
msg("请选择收货地址"); | msg("请选择收货地址"); | ||||
return; | return; | ||||
} | } | ||||
//1.优先车牌校验 2.在进行订单创建 | //1.优先车牌校验 2.在进行订单创建 | ||||
// isSubmitOrderRequest(state.data.vehiclePlate, state.data.vehiclePlateColor).then((item) => { | |||||
// console.log("item.data.data.canSubmit", item.data.data.canSubmit) | |||||
// if (item.data.data.canSubmit == 1) { | |||||
var vehicleData = { | var vehicleData = { | ||||
vehiclePlate: state.data.vehiclePlate, | vehiclePlate: state.data.vehiclePlate, | ||||
vehiclePlateColor: state.data.vehiclePlateColor, | vehiclePlateColor: state.data.vehiclePlateColor, | ||||
}; | }; | ||||
const options = { | const options = { | ||||
type: 2, | type: 2, | ||||
data: vehicleData, | data: vehicleData, | ||||
console.log("车牌信息", options) | console.log("车牌信息", options) | ||||
// 车牌校验有问题 还没改好 | // 车牌校验有问题 还没改好 | ||||
requestNew(plateCheck, options).then((res) => { | requestNew(plateCheck, options).then((res) => { | ||||
// uni.redirectTo({ | |||||
// url: `/subpackage/orders/essential-information-two?userType=${state.data.userType}&vanType=${state.data.vanType}&isValueCard=${state.isValueCard}&cardType=${state.data.cardType}&totalAmount=${state.totalAmount}&equityId=${state.equityId}&vehiclePlate=${state.data.vehiclePlate}&vehiclePlateColor=${state.data.vehiclePlateColor}&productId=${state.data.productId}`, | |||||
// }); | |||||
nextAddress() | nextAddress() | ||||
}); | }); | ||||
// } else { | |||||
// msg(item.data.data.canSubmitMsg); | |||||
// } | |||||
// }) | |||||
} | } | ||||
onLoad((option : any) => { | onLoad((option : any) => { | ||||
state.data.vanType = option.vanType; //1客车 2货车 | state.data.vanType = option.vanType; //1客车 2货车 | ||||
}); | }); | ||||
} | } | ||||
}; | }; | ||||
// 老中台-检测能否提交订单 | |||||
// const isSubmitOrderRequest = (vehiclePlate, vehiclePlateColor) => { | |||||
// const options = { | |||||
// type: 2, | |||||
// data: { | |||||
// vehicleId: vehiclePlate + "_" + vehiclePlateColor | |||||
// }, | |||||
// method: "POST", | |||||
// showLoading: true, | |||||
// }; | |||||
// return new Promise(async (resolve, reject) => { | |||||
// const res = await request(isSubmitOrderApi, options); | |||||
// const data = stringToJson(res.bizContent); | |||||
// console.log("111") | |||||
// resolve(data); | |||||
// }).catch((error) => { | |||||
// console.log("222") | |||||
// reject(error); | |||||
// }); | |||||
// } | |||||
</script> | </script> | ||||
<style lang="scss" scoped> | <style lang="scss" scoped> |
//已签约 | //已签约 | ||||
// msg("已签约"); | // msg("已签约"); | ||||
confirm("您已完成签约,等待业务员审核发货", () => { | confirm("您已完成签约,等待业务员审核发货", () => { | ||||
uni.switchTab({ | |||||
url: "/pages/index/index" | |||||
uni.redirectTo({ | |||||
url: `/pages/order/order?index=0` | |||||
}) | }) | ||||
}, "已完成签约", false); | }, "已完成签约", false); | ||||
} else if (data.signStatusCode === "UNSIGN") { | } else if (data.signStatusCode === "UNSIGN") { | ||||
confirm( | confirm( | ||||
"您已解约!", | "您已解约!", | ||||
() => { | () => { | ||||
uni.switchTab({ | |||||
url: "/pages/index/index" | |||||
uni.redirectTo({ | |||||
url: `/pages/order/order?index=0` | |||||
}) | }) | ||||
}, | }, | ||||
"您已解约", | "您已解约", |
//已签约 | //已签约 | ||||
// msg("已签约"); | // msg("已签约"); | ||||
confirm("您已完成签约,等待业务员审核发货", () => { | confirm("您已完成签约,等待业务员审核发货", () => { | ||||
uni.switchTab({ | |||||
url: "/pages/index/index" | |||||
uni.redirectTo({ | |||||
url: `/pages/order/order?index=0` | |||||
}) | }) | ||||
}, "已完成签约", false); | }, "已完成签约", false); | ||||
} else if (data.signStatus === "UNSIGN") { | } else if (data.signStatus === "UNSIGN") { | ||||
confirm( | confirm( | ||||
"您已解约!", | "您已解约!", | ||||
() => { | () => { | ||||
uni.switchTab({ | |||||
url: "/pages/index/index" | |||||
uni.redirectTo({ | |||||
url: `/pages/order/order?index=0` | |||||
}) | }) | ||||
}, | }, | ||||
"您已解约", | "您已解约", |
} else if (data.userState === "NORMAL") { | } else if (data.userState === "NORMAL") { | ||||
msg("已开通车主服务"); | msg("已开通车主服务"); | ||||
setTimeout(() => { | setTimeout(() => { | ||||
uni.switchTab({ | |||||
url: "/pages/index/index" | |||||
uni.redirectTo({ | |||||
url: `/pages/order/order?index=0` | |||||
}) | }) | ||||
}, 1500) | }, 1500) | ||||
strReplace, uploadFile | strReplace, uploadFile | ||||
} from "@/utils/utils"; | } from "@/utils/utils"; | ||||
const savaHandle = () => { | const savaHandle = () => { | ||||
if(!state.form.vehBodyUrl){ | |||||
uni.showToast({ | |||||
title: "请上传车头照", | |||||
icon: "none" | |||||
}) | |||||
return; | |||||
} | |||||
if (state.showCaridCorlor) { | if (state.showCaridCorlor) { | ||||
state.form.vehicleId = state.form.vehicleId + '_' + state.carIdcorlorCode | state.form.vehicleId = state.form.vehicleId + '_' + state.carIdcorlorCode | ||||
var data = state.form; | var data = state.form; |
}); | }); | ||||
} | } | ||||
//请求 | //请求 | ||||
export function requestNew(code, options = {}, start = false) { | |||||
export function requestNew(code, options = {}, start = false,clie=()=>{}) { | |||||
//公参 | //公参 | ||||
const Common = { | const Common = { | ||||
agentId: agentId, | agentId: agentId, | ||||
if (options.showLoading) { | if (options.showLoading) { | ||||
uni.hideLoading() | uni.hideLoading() | ||||
} | } | ||||
console.log("返回结果"+code,res) | |||||
console.log("返回结果"+code,res,res.statusCode,res.data.code,res.statusCode == 200 && res.data.code == 0) | |||||
if (res.statusCode == 200 && res.data.code == 0) { | if (res.statusCode == 200 && res.data.code == 0) { | ||||
resolve(res.data.data) | resolve(res.data.data) | ||||
} else { | } else { | ||||
// 未知错误:登录凭证失效! | // 未知错误:登录凭证失效! | ||||
if(res.data.code == 403003 && res.data.message=='未知错误:登录凭证失效!'){ | |||||
if(res.data.code == 403003){ | |||||
uni.showModal({ | uni.showModal({ | ||||
title: '提示', | title: '提示', | ||||
content: res.data.message, | content: res.data.message, | ||||
}else if(res.data.code == 401002){ | }else if(res.data.code == 401002){ | ||||
updateGetTokenNew().then((data) => { | updateGetTokenNew().then((data) => { | ||||
console.log("token刷新", data); | console.log("token刷新", data); | ||||
clie(data) | |||||
requestNew(code, options, true) | requestNew(code, options, true) | ||||
}) | }) | ||||
}else if(res.data.code == 403001 || res.data.code == 403004){ | }else if(res.data.code == 403001 || res.data.code == 403004){ |
import { getItem, StorageKeys } from "./storage"; | import { getItem, StorageKeys } from "./storage"; | ||||
import { OrderStatus, OrderTypes } from "@/datas/enum.ts"; | import { OrderStatus, OrderTypes } from "@/datas/enum.ts"; | ||||
import { envs,interceptNDApi } from "@/utils/network/api.js"; | |||||
import { | |||||
stringToJson | |||||
} from "@/utils/network/encryption"; | |||||
import { envs } from "@/utils/network/api.js"; | |||||
import { agentId } from "@/utils/network/difference"; | import { agentId } from "@/utils/network/difference"; | ||||
import { | import { | ||||
request,requestNew | |||||
requestNew | |||||
} from "@/utils/network/request.js"; | } from "@/utils/network/request.js"; | ||||
export const msg = (title : string = "", param : any = {}) => { | export const msg = (title : string = "", param : any = {}) => { | ||||
if (!title) return; | if (!title) return; | ||||
}); | }); | ||||
}, '温馨提示', true, '去登录'); | }, '温馨提示', true, '去登录'); | ||||
} else { | } else { | ||||
let pages = getCurrentPages(); | |||||
// 获取页面栈总页数 | |||||
// this.pagesCount = pages.length; | |||||
// 如果页面栈总数大于10 | |||||
console.log("pages.length",pages.length) | |||||
if(pages.length >= 10){ | |||||
// 使用重定向跳转页面 | |||||
uni.redirectTo({ | |||||
url | |||||
}) | |||||
}else{ | |||||
// 如果页面栈总数小于10,则打开新页面 | |||||
uni.navigateTo({ | |||||
url, | |||||
}); | |||||
} | |||||
let pages = getCurrentPages(); | |||||
// 获取页面栈总页数 | |||||
// this.pagesCount = pages.length; | |||||
// 如果页面栈总数大于10 | |||||
console.log("pages.length",pages.length) | |||||
if(pages.length >= 10){ | |||||
// 使用重定向跳转页面 | |||||
uni.redirectTo({ | |||||
url | |||||
}) | |||||
}else{ | |||||
// 如果页面栈总数小于10,则打开新页面 | |||||
uni.navigateTo({ | |||||
url, | |||||
}); | |||||
} | |||||
} | } | ||||
}; | }; | ||||
}, | }, | ||||
}) | }) | ||||
} | } | ||||
export const interceptND = (vehicleId) => { | |||||
var data = { | |||||
vehicleId: vehicleId, | |||||
source:"MINI_PROGRAM" | |||||
}; | |||||
console.log("data==",data) | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
return new Promise(async (resolve, reject) => { | |||||
const res = await request(interceptNDApi, options); | |||||
const data = stringToJson(res.bizContent); | |||||
if(data.pass=='on'){ | |||||
confirm('鉴于系统正在进行升级维护,请您前往贵州黔通智联九州ETC服务小程序,以便顺利办理相关业务。', () => { | |||||
}, '温馨提示', true, '确定'); | |||||
}else{ | |||||
resolve(data); | |||||
} | |||||
}).catch((error) => { | |||||
reject(error); | |||||
}); | |||||
} | |||||
// 身份证有效期是否过期 | // 身份证有效期是否过期 | ||||
export function compareDates(specifiedDateString) { | export function compareDates(specifiedDateString) { | ||||
const newTime=specifiedDateString.substring(0,4)+"-"+specifiedDateString.substring(4,6)+"-"+specifiedDateString.substring(6,8) | const newTime=specifiedDateString.substring(0,4)+"-"+specifiedDateString.substring(4,6)+"-"+specifiedDateString.substring(6,8) |