<template> | <template> | ||||
<!-- style="filter: grayscale(1)" --> | |||||
<view :class="state.isEnableSetGray?'setGray':''"> | <view :class="state.isEnableSetGray?'setGray':''"> | ||||
<slot></slot> | <slot></slot> | ||||
</view> | </view> | ||||
</template> | </template> | ||||
<script setup lang="ts"> | <script setup lang="ts"> | ||||
import {onLoad} from "@dcloudio/uni-app"; | |||||
import {getItem} from "@/utils/storage"; | |||||
import {getCodeName} from "@/datas/queryKey.js"; | |||||
import {reactive} from "vue"; | |||||
import { onLoad } from "@dcloudio/uni-app"; | |||||
import { getItem } from "@/utils/storage"; | |||||
import { getCodeName } from "@/datas/queryKey.js"; | |||||
import { reactive } from "vue"; | |||||
const state = reactive({ | const state = reactive({ | ||||
isEnableSetGray:false | |||||
isEnableSetGray: false | |||||
}) | }) | ||||
onLoad((option : any) => { | onLoad((option : any) => { | ||||
getGlobalParam(); //全局配置数据 | getGlobalParam(); //全局配置数据 | ||||
}); | }); | ||||
const getGlobalParam=()=>{ | |||||
const data=getItem('globalParam') | |||||
const getGlobalParam = () => { | |||||
const data = getItem('globalParam') | |||||
// 在那能看到打印 | // 在那能看到打印 | ||||
console.log("全局配置数据1111",getCodeName('IS_ENABLE',data.setGray)) | |||||
console.log("全局配置数据1111", getCodeName('IS_ENABLE', data.setGray)) | |||||
// 申办时是否允许修改OCR识别出来的车辆信息数据 | // 申办时是否允许修改OCR识别出来的车辆信息数据 | ||||
if(getCodeName('IS_ENABLE',data.setGray)=='启用'){ | |||||
state.isEnableSetGray=true; | |||||
}else{ | |||||
state.isEnableSetGray=false; | |||||
if (getCodeName('IS_ENABLE', data.setGray) == '启用') { | |||||
state.isEnableSetGray = true; | |||||
} else { | |||||
state.isEnableSetGray = false; | |||||
} | } | ||||
} | } | ||||
</script> | </script> | ||||
<style > | |||||
.setGray{ | |||||
filter: grayscale(1) !important; | |||||
} | |||||
<style> | |||||
.setGray { | |||||
filter: grayscale(1) !important; | |||||
} | |||||
</style> | </style> |
{{item.region?item.region[0]+item.region[1]+item.region[2]:""}} | {{item.region?item.region[0]+item.region[1]+item.region[2]:""}} | ||||
</view> | </view> | ||||
</picker> | </picker> | ||||
<!-- <image class="arror" v-if="state.sysType == 'WECHAT'" | |||||
:src="`${$imgUrl}common/arror-right.png`" mode="aspectFill"> | |||||
</image> --> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
} | } | ||||
.nav-bar { | .nav-bar { | ||||
/* background: linear-gradient(to left, #43A1E0 0%, #13E7C1 100%); */ | |||||
position: fixed; | position: fixed; | ||||
width: 100%; | width: 100%; | ||||
z-index: 999; | z-index: 999; |
<template> | <template> | ||||
<!-- 通告栏 --> | |||||
<view class="noticeBar"> | |||||
<swiper | |||||
class="list" | |||||
circular="true" | |||||
vertical="true" | |||||
autoplay="true" | |||||
interval="3000" | |||||
duration="1000" | |||||
> | |||||
<swiper-item v-for="item in noticeList" :key="item.id"> | |||||
<view class="content" @click="emits('noticeClick', item)"> | |||||
<view class="icon-notice">●</view> | |||||
<view class="notice-txt"> | |||||
{{ item.title }} | |||||
</view> | |||||
<view class="right"> | |||||
<view class="label">去办理</view> | |||||
<image class="arror" :src="`${$imgUrl}common/arror-right.png`" mode="aspectFill"/> | |||||
</view> | |||||
</view> | |||||
</swiper-item> | |||||
</swiper> | |||||
</view> | |||||
<!-- 通告栏 --> | |||||
<view class="noticeBar"> | |||||
<swiper class="list" circular="true" vertical="true" autoplay="true" interval="3000" duration="1000"> | |||||
<swiper-item v-for="item in noticeList" :key="item.id"> | |||||
<view class="content" @click="emits('noticeClick', item)"> | |||||
<view class="icon-notice">●</view> | |||||
<view class="notice-txt"> | |||||
{{ item.title }} | |||||
</view> | |||||
<view class="right"> | |||||
<view class="label">去办理</view> | |||||
<image class="arror" :src="`${$imgUrl}common/arror-right.png`" mode="aspectFill" /> | |||||
</view> | |||||
</view> | |||||
</swiper-item> | |||||
</swiper> | |||||
</view> | |||||
</template> | </template> | ||||
<script setup> | <script setup> | ||||
import { ref } from "vue"; | |||||
import { | |||||
ref | |||||
} from "vue"; | |||||
const emits = defineEmits(["noticeClick"]); | |||||
const emits = defineEmits(["noticeClick"]); | |||||
defineProps({ | |||||
//公告栏列表 | |||||
noticeList: { | |||||
type: Array, | |||||
default: () => { | |||||
return []; | |||||
}, | |||||
}, | |||||
}); | |||||
defineProps({ | |||||
//公告栏列表 | |||||
noticeList: { | |||||
type: Array, | |||||
default: () => { | |||||
return []; | |||||
}, | |||||
}, | |||||
}); | |||||
</script> | </script> | ||||
<style lang="scss" scoped> | <style lang="scss" scoped> | ||||
.noticeBar { | |||||
/* margin: 50rpx 30rpx 0px; */ | |||||
padding-left: 30rpx; | |||||
padding-right: 20rpx; | |||||
height: 88rpx; | |||||
line-height: 88rpx; | |||||
background: #ffffff; | |||||
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8); | |||||
border-radius: 20rpx; | |||||
color: #172843; | |||||
font-size: 26rpx; | |||||
display: flex; | |||||
.noticeBar { | |||||
padding-left: 30rpx; | |||||
padding-right: 20rpx; | |||||
height: 88rpx; | |||||
line-height: 88rpx; | |||||
background: #ffffff; | |||||
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8); | |||||
border-radius: 20rpx; | |||||
color: #172843; | |||||
font-size: 26rpx; | |||||
display: flex; | |||||
.list { | |||||
width: 100%; | |||||
height: 100%; | |||||
.content { | |||||
display: flex; | |||||
align-items: center; | |||||
.icon-notice { | |||||
font-size: 18rpx; | |||||
color: #172843; | |||||
} | |||||
.notice-txt { | |||||
flex: 1; | |||||
font-size: 26rpx; | |||||
color: #172843; | |||||
padding-left: 20rpx; | |||||
overflow: hidden; | |||||
text-overflow: ellipsis; | |||||
white-space: nowrap; | |||||
margin-right: 10rpx; | |||||
} | |||||
.right { | |||||
display: flex; | |||||
flex-direction: row; | |||||
justify-content: center; | |||||
align-items: center; | |||||
.arror { | |||||
width: 30rpx; | |||||
height: 30rpx; | |||||
} | |||||
.label { | |||||
font-size: 24rpx; | |||||
color: #00b38b; | |||||
line-height: 36rpx; | |||||
margin-right: 10rpx; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> | |||||
.list { | |||||
width: 100%; | |||||
height: 100%; | |||||
.content { | |||||
display: flex; | |||||
align-items: center; | |||||
.icon-notice { | |||||
font-size: 18rpx; | |||||
color: #172843; | |||||
} | |||||
.notice-txt { | |||||
flex: 1; | |||||
font-size: 26rpx; | |||||
color: #172843; | |||||
padding-left: 20rpx; | |||||
overflow: hidden; | |||||
text-overflow: ellipsis; | |||||
white-space: nowrap; | |||||
margin-right: 10rpx; | |||||
} | |||||
.right { | |||||
display: flex; | |||||
flex-direction: row; | |||||
justify-content: center; | |||||
align-items: center; | |||||
.arror { | |||||
width: 30rpx; | |||||
height: 30rpx; | |||||
} | |||||
.label { | |||||
font-size: 24rpx; | |||||
color: #00b38b; | |||||
line-height: 36rpx; | |||||
margin-right: 10rpx; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
</style> |
width: 100%; | width: 100%; | ||||
top: 0rpx; | top: 0rpx; | ||||
background: rgba(0, 0, 0, .5); | background: rgba(0, 0, 0, .5); | ||||
/* height: calc(100% - 500rpx); */ | |||||
height: 100vh; | height: 100vh; | ||||
} | } | ||||
align-items: center; | align-items: center; | ||||
padding: 20rpx; | padding: 20rpx; | ||||
font-size: 34rpx; | font-size: 34rpx; | ||||
/* line-height: 100rpx; */ | |||||
/* z-index: 2; */ | |||||
} | } | ||||
.pickViewColumn { | .pickViewColumn { | ||||
height: 600rpx; | height: 600rpx; | ||||
/* margin-top: -300rpx; */ | |||||
} | } | ||||
.indicator { | .indicator { | ||||
height: 80rpx; | height: 80rpx; | ||||
/* border: 1rpx solid #E5E8E8; */ | |||||
} | } | ||||
.pickerCancel { | .pickerCancel { |
border-radius: 16rpx; | border-radius: 16rpx; | ||||
z-index: 2; | z-index: 2; | ||||
} | } | ||||
/* .content { | |||||
position: absolute; | |||||
top: 50%; | |||||
left: 50%; | |||||
transform: translate(-50%, -50%); | |||||
} | |||||
*/ | |||||
</style> | </style> |
envs | envs | ||||
} from '@/utils/network/api.js' | } from '@/utils/network/api.js' | ||||
// export const fileURL = 'http://47.94.96.52/' | |||||
// export const fileURL = 'http://222.85.144.89:19002/default-bucket/' | |||||
export const downloadFileURL = envs[process.env.NODE_ENV].baseUrl + '/default-bucket/' | export const downloadFileURL = envs[process.env.NODE_ENV].baseUrl + '/default-bucket/' | ||||
export const fileURL = envs[process.env.NODE_ENV].baseUrl + '/default-bucket/' | export const fileURL = envs[process.env.NODE_ENV].baseUrl + '/default-bucket/' | ||||
export const fileURLList = envs[process.env.NODE_ENV].baseUrl + "/" | |||||
// export const downloadFileURL = "http://192.168.100.63:8087/user-export-excel/" | |||||
// export const fileURL = "http://192.168.100.63:8087/default-bucket/" | |||||
// export const fileURLList = "http://192.168.100.63:8087/" | |||||
export const fileURLList = envs[process.env.NODE_ENV].baseUrl + "/" |
<!-- 按钮导航 --> | <!-- 按钮导航 --> | ||||
<view class="nav"> | <view class="nav"> | ||||
<view class="item-box" @click="cardRecharge(1)"> | |||||
<!-- <view class="item-box" @click="cardRecharge(1)"> | |||||
<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('/pages/bluetooth/bluetooth?routeType=4', true)"> | <view class="item-box" @click="$util.navTo('/pages/bluetooth/bluetooth?routeType=4', 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" /> | ||||
quanKeyAction().then((val : any) => { | quanKeyAction().then((val : any) => { | ||||
setItem('key', val.dictTypeAndItem) | setItem('key', val.dictTypeAndItem) | ||||
}) | }) | ||||
// #ifdef MP-ALIPAY | |||||
noticeUser(() => { | |||||
console.log("dingyuele") | |||||
}); | |||||
// #endif | |||||
}) | }) | ||||
<!-- item.orderSource==1 app --> | <!-- item.orderSource==1 app --> | ||||
<view v-if="item.orderStatus != OrderStatus.已取消 && !item.orderSource"> | <view v-if="item.orderStatus != OrderStatus.已取消 && !item.orderSource"> | ||||
<!-- 微信小程序正常 --> | <!-- 微信小程序正常 --> | ||||
<view v-if="source=='WECHAT'"> | |||||
<view> | |||||
<!-- 信息填写未完成 --> | <!-- 信息填写未完成 --> | ||||
<view class="btns" | <view class="btns" | ||||
v-if="item.orderStep == OrderStatus['完成个人/单位信息上传'] || item.orderStep == OrderStatus.完成填写基本信息 || item.orderStep == OrderStatus.完成车辆信息上传 || item.orderStep == OrderStatus.待支付3"> | v-if="item.orderStep == OrderStatus['完成个人/单位信息上传'] || item.orderStep == OrderStatus.完成填写基本信息 || item.orderStep == OrderStatus.完成车辆信息上传 || item.orderStep == OrderStatus.待支付3"> | ||||
<view class="btn btn-primary" @click.stop="gotoAgainUseOrder(item)">再次使用订单</view> | <view class="btn btn-primary" @click.stop="gotoAgainUseOrder(item)">再次使用订单</view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
<!-- 支付宝现在不要哪些按钮 --> | |||||
<view v-else> | |||||
<!-- 信息填写未完成 --> | |||||
<view class="btns" | |||||
v-if="item.orderStep == OrderStatus['完成个人/单位信息上传'] || item.orderStep == OrderStatus.完成填写基本信息 || item.orderStep == OrderStatus.完成车辆信息上传 || item.orderStep == OrderStatus.待支付3"> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoCancelOrder(item)">取消订单</view> --> | |||||
<view class="btn btn-primary" @click.stop="gotoEditUserOrUnitInfo(item)">继续申请</view> | |||||
</view> | |||||
<!-- 待支付 --> | |||||
<view class="btns" v-if="item.orderStep == OrderStatus.待加购权益"> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoCancelOrder(item)">取消订单</view> --> | |||||
<!-- <view class="btn btn-primary" @click.stop="gotoEditUserOrUnitInfo(item)">加购权益</view> --> | |||||
</view> | |||||
<view class="btns" v-if="item.orderStep == OrderStatus['完成车辆信息上传/待支付']"> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoCancelOrder(item)">取消订单</view> --> | |||||
<view class="btn btn-primary" @click.stop="gotoOrderDetailsPay(item)">支付</view> | |||||
</view> | |||||
<view class="btns" v-if="item.orderStep == OrderStatus.待支付2"> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoCancelOrder(item)">取消订单</view> --> | |||||
<view class="btn btn-primary" @click.stop="gotoOrderDetailsPay(item)">支付</view> | |||||
</view> | |||||
<view class="btns" v-if="item.orderStep == OrderStatus['已支付/待签约']"> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoCancelOrder(item)">取消订单</view> --> | |||||
<view class="btn btn-primary" @click.stop="gotoOrderSign(item)">去签约</view> | |||||
</view> | |||||
<!-- <view class="btns" v-if="item.orderStep == OrderStatus.待支付3"> | |||||
<view class="btn btn-normal" @click.stop="gotoCancelOrder(item)">取消订单</view> | |||||
<view class="btn btn-primary" @click.stop="gotoOrderDetails(item)">支付</view> | |||||
</view> --> | |||||
<!-- 审核中/审核不通过 --> | |||||
<view class="btns" v-if="item.orderStep == OrderStatus.待审核 || item.orderStep == OrderStatus.审核不通过"> | |||||
<!-- <view class="btn btn-normal" v-if="item.orderStep == OrderStatus.审核不通过" | |||||
@click.stop="gotoEditUserOrUnitInfo(item)">修改资料</view> --> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoCancelOrder(item)">取消订单</view> --> | |||||
<!-- <view class="btn btn-primary" @click.stop="gotoEditAddress(item)">修改地址</view> --> | |||||
</view> | |||||
<!-- 待发货 --> | |||||
<view class="btns" v-else-if="item.orderStep == OrderStatus.待发货"> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoCancelOrder(item)">取消订单</view> --> | |||||
<!-- <view class="btn btn-primary" @click.stop="gotoEditAddress(item)">修改地址</view> --> | |||||
</view> | |||||
<!-- 待收货 --> | |||||
<view class="btns" v-else-if="item.orderStep == OrderStatus.待收货"> | |||||
<view class="btn btn-normal" @click.stop="gotoCheckLogistics(item)">查看物流 | |||||
</view> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoReturnOrder(item)">申请退货 | |||||
</view> --> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoExchangeOrder(item)">申请换货</view> --> | |||||
<view class="btn btn-primary" @click.stop="gotoConfirmReceipt(item)">确认收货</view> | |||||
<!-- <view class="btn btn-primary" @click.stop="closeOrder(item)" v-if="item.finishOrder">结束订单</view> --> | |||||
</view> | |||||
<!-- 待激活 --> | |||||
<view class="btns" v-else-if="item.orderStep == OrderStatus.待激活"> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoReturnOrder(item)">申请退货</view> --> | |||||
<!-- <view class="btn btn-normal" @click.stop="gotoExchangeOrder(item)">申请换货</view> --> | |||||
<view class="btn btn-primary" @click.stop="gotoActiveOrder(item)">去激活</view> | |||||
<!-- <view class="btn btn-primary" @click.stop="closeOrder(item)" v-if="item.finishOrder">结束订单</view> --> | |||||
</view> | |||||
<!-- 已完成 售后订单不允许评价产品,储值卡转记账卡除外--> | |||||
<!-- 发行产品 isProduct=0; 业务员 isStaff=0; 权益 isEquity=0 业务服务 isService=0; --> | |||||
<!-- <view class="btns" | |||||
v-else-if="item.orderStep == OrderStatus.已完成 && (item.orderType =='ISSUE' || item.orderType =='VALUE_TO_ACCOUNT') "> | |||||
<view class="btn btn-normal" v-if="( item.isProduct==1 && item.isService==1) "> | |||||
已评价 | |||||
</view> | |||||
<view class='evaluation' v-else> | |||||
<view class="btn btn-primary" v-if="item.isProduct==0 || item.isService==0" | |||||
@click.stop="gotoEvaluateProduct(item)">去评价产品</view> | |||||
</view> | |||||
</view> --> | |||||
<!-- 已结束 --> | |||||
<view class="btns" v-else-if="item.orderStep == OrderStatus.已结束 && item.isUseAgain"> | |||||
<!-- <view class="btn btn-primary" @click.stop="gotoAgainUseOrder(item)">再次使用订单</view> --> | |||||
</view> | |||||
</view> | |||||
<!-- 换货中 --> | <!-- 换货中 --> |
<view class="btn btn-primary" @click.stop="gotoActiveOrder(item)">去激活</view> | <view class="btn btn-primary" @click.stop="gotoActiveOrder(item)">去激活</view> | ||||
</view> | </view> | ||||
<!-- 已完成 --> | <!-- 已完成 --> | ||||
<view class="btns" v-else-if="item.orderStep == OrderStatus.已完成 && source=='WECHAT'"> | |||||
<view class="btns" v-else-if="item.orderStep == OrderStatus.已完成"> | |||||
<view class="btn btn-normal" v-if="item.isStaff==1 && item.isProduct==1"> | <view class="btn btn-normal" v-if="item.isStaff==1 && item.isProduct==1"> | ||||
已评价 | 已评价 |
} from "@/utils/network/request.js"; | } from "@/utils/network/request.js"; | ||||
import { | import { | ||||
writeCardBack, | writeCardBack, | ||||
CardSignCancellation, | |||||
confirmSignCancellation, etcCarOcrCard | |||||
CardSignCancellation, etcCarOcrCard | |||||
} from "@/utils/network/api.js"; | } from "@/utils/network/api.js"; | ||||
import { | import { | ||||
stringToJson | stringToJson |
} | } | ||||
.selectCar-box { | .selectCar-box { | ||||
// width: 100%; | |||||
height: 100%; | height: 100%; | ||||
padding: 30rpx; | padding: 30rpx; | ||||
H5("H5", "H5页面", ), | H5("H5", "H5页面", ), | ||||
ALI("ALI", "支付宝小程序", ) --> | ALI("ALI", "支付宝小程序", ) --> | ||||
<!-- 按钮区 --> | <!-- 按钮区 --> | ||||
<view v-if="source=='WECHAT'"> | |||||
<view> | |||||
<view class="btn-view" | <view class="btn-view" | ||||
v-if="state.orderInfo.orderStatus != OrderStatus.已取消 && state.orderInfo['orderSource'] !='SERVICE_HALL'"> | v-if="state.orderInfo.orderStatus != OrderStatus.已取消 && state.orderInfo['orderSource'] !='SERVICE_HALL'"> | ||||
<!-- 信息填写未完成 --> | <!-- 信息填写未完成 --> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
<!-- 支付宝现在不要哪些按钮 --> | |||||
<view v-else> | |||||
<view class="btn-view" | |||||
v-if="state.orderInfo.orderStatus != OrderStatus.已取消 && state.orderInfo['orderSource'] !='SERVICE_HALL'"> | |||||
<!-- 信息填写未完成 --> | |||||
<view class="btn-status" | |||||
v-if="state.orderInfo.orderStep == OrderStatus['完成个人/单位信息上传'] || state.orderInfo.orderStep == OrderStatus.完成填写基本信息 || state.orderInfo.orderStep == OrderStatus.待支付3"> | |||||
<!-- <view class="btn space" @click="gotoCancelOrder(state.orderInfo)">取消订单</view> --> | |||||
<view class="btn-green" @click="gotoEditUserOrUnitInfo(state.orderInfo)">继续申请</view> | |||||
</view> | |||||
<!-- 审核中/审核不通过 --> | |||||
<view | |||||
v-if="state.orderInfo.orderStep == OrderStatus.审核不通过 || state.orderInfo.orderStep == OrderStatus.待审核" | |||||
class="btn-status"> | |||||
<!-- <view class="btn space" @click="gotoCancelOrder(state.orderInfo)">取消订单</view> --> | |||||
<!-- <view class="btn space" v-if="state.orderInfo.orderStep == OrderStatus.审核不通过" | |||||
@click="gotoEditUserOrUnitInfo(state.orderInfo)">修改资料</view> --> | |||||
<!-- <view class="btn-green" @click="gotoEditAddress(state.orderInfo)">修改地址</view> --> | |||||
</view> | |||||
<!-- 待支付 --> | |||||
<view | |||||
v-if="state.orderInfo.orderStep == OrderStatus['完成车辆信息上传/待支付'] || state.orderInfo.orderStep == OrderStatus.待支付2 " | |||||
class="btn-status"> | |||||
<!-- <view class="btn space" @click="gotoCancelOrder(state.orderInfo)">取消订单</view> --> | |||||
<view class="btn-green width-num-1" @click="gotoOrderDetailsPay(state.orderInfo)">支付</view> | |||||
</view> | |||||
<!-- 待签约--> | |||||
<view v-if="state.orderInfo.orderStep == OrderStatus['已支付/待签约']" class="btn-status"> | |||||
<!-- <view class="btn space" @click="gotoCancelOrder(state.orderInfo)">取消订单</view> --> | |||||
<view class="btn-green" @click="gotoOrderSign(state.orderInfo)">去签约</view> | |||||
</view> | |||||
<!-- 待发货 --> | |||||
<view v-if="state.orderInfo.orderStep == OrderStatus.待发货" class="btn-status"> | |||||
<!-- <view class="btn space" @click="gotoCancelOrder(state.orderInfo)">取消订单</view> --> | |||||
<!-- <view class="btn-green" @click="gotoEditAddress(state.orderInfo)">修改地址</view> --> | |||||
</view> | |||||
<!-- 待收货 --> | |||||
<view v-if="state.orderInfo.orderStep == OrderStatus.待收货" class="btn-status"> | |||||
<view class="btn space" @click="gotoCheckLogistics(state.orderInfo)">查看物流</view> | |||||
<!-- <view class="btn space" @click="gotoReturnOrder(state.orderInfo)">申请退货</view> --> | |||||
<view class="btn-green space" @click="gotoConfirmReceipt(state.orderInfo)">确认收货</view> | |||||
<!-- <view class="btn-green" @click.stop="closeOrder(state.orderInfo)" v-if="state.orderInfo.finishOrder">结束订单</view> --> | |||||
</view> | |||||
<!-- 待激活 --> | |||||
<view v-if="state.orderInfo.orderStep == OrderStatus.待激活" class="btn-status"> | |||||
<!-- <view class="btn space" @click="gotoReturnOrder(state.orderInfo)">申请退货</view> --> | |||||
<!-- <view class="btn space" @click="gotoExchangeOrder(state.orderInfo)">申请换货</view> --> | |||||
<view class="btn-green space" @click="gotoActiveOrder(state.orderInfo)">去激活</view> | |||||
<!-- <view class="btn-green" @click.stop="closeOrder(state.orderInfo)" | |||||
v-if="state.orderInfo.finishOrder">结束订单</view> --> | |||||
</view> | |||||
<!-- 订单已结束 --> | |||||
<view v-if="state.orderInfo.orderStep == OrderStatus.已结束 && state.orderInfo.isUseAgain" | |||||
class="btn-status"> | |||||
<!-- <view class="btn-green" @click.stop="gotoAgainUseOrder(state.orderInfo)">再次使用订单</view> --> | |||||
</view> | |||||
<!-- 订单完成 --> | |||||
<!-- <view v-if="state.isWeiXin==1"> | |||||
<view | |||||
v-if="state.orderInfo.orderStep == OrderStatus.已完成 && (state.orderInfo.orderType =='ISSUE' || state.orderInfo.orderType =='VALUE_TO_ACCOUNT')" | |||||
class="btn-status"> | |||||
<view class="btn space" | |||||
v-if="( state.orderInfo.isProduct==1 && state.orderInfo.isService==1) "> | |||||
已评价</view> | |||||
<view class="btn-green" v-else @click.stop="gotoEvaluateProduct(state.orderInfo)">去评价产品 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view v-if="state.isWeiXin==2"> | |||||
<view class="btn-status" v-if="state.orderInfo.orderStep == OrderStatus.已完成"> | |||||
<view class="btn space" v-if="state.orderInfo.isStaff==1 && state.orderInfo.isProduct==1"> | |||||
已评价 | |||||
</view> | |||||
<view class='evaluation' v-else> | |||||
<view class="btn-green" @click.stop="gotoEvaluateSalesman(state.orderInfo)">去评价 | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> --> | |||||
<!-- 换货中 --> | |||||
<!-- <view v-if="state.orderInfo.orderStep == OrderStatus['已申请-换货']" class="btn-status"> | |||||
<view class="btn space" @click="gotoCheckLogistics(state.orderInfo)">查看物流</view> | |||||
<view class="btn-green" @click="gotoConfirmReceipt(state.orderInfo)">确认收货</view> | |||||
</view> --> | |||||
</view> | |||||
<view v-else> | |||||
<!-- 待激活 --> | |||||
<view class="btns" | |||||
v-if="state.orderInfo.orderStep == OrderStatus.待激活 && state.orderInfo.cardId && state.orderInfo.obuId" | |||||
style="display: flex;justify-content: flex-end;"> | |||||
<view class="btn btn-green" @click.stop="gotoActiveOrder(state.orderInfo)" | |||||
style="border: 1px solid #00B38B;">去激活</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | </view> | ||||
</view> | </view> |
<script setup lang="ts"> | <script setup lang="ts"> | ||||
import { onLoad, onShow } from "@dcloudio/uni-app"; | import { onLoad, onShow } from "@dcloudio/uni-app"; | ||||
import { reactive } from "vue"; | import { reactive } from "vue"; | ||||
import { etcQYAction } 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 { fileURL } from "@/datas/fileURL.js"; | import { fileURL } from "@/datas/fileURL.js"; | ||||
import navBar from "@/components/nav-bar/nav-bar2.vue"; | |||||
import navBgCar from "./components/nav-bg-car4"; | |||||
import { setItem } from "@/utils/storage"; | |||||
import { msg, confirm } from "@/utils/utils"; | import { msg, confirm } from "@/utils/utils"; | ||||
import { | import { | ||||
aliPayConfigIdTwo, | aliPayConfigIdTwo, | ||||
obtainUserId, | obtainUserId, | ||||
infoQuery, | infoQuery, | ||||
envs | |||||
envs, etcQYAction | |||||
} from "@/utils/network/api"; | } from "@/utils/network/api"; | ||||
const imgURL = `${fileURL}image/`; | const imgURL = `${fileURL}image/`; | ||||
本次将为贵州黔通智联科技股份有限公司开启免密支付服务,后续相关的费用将通过微信车主服务从你的微信支付账户扣除 | 本次将为贵州黔通智联科技股份有限公司开启免密支付服务,后续相关的费用将通过微信车主服务从你的微信支付账户扣除 | ||||
</view> | </view> | ||||
<view class="content_3"> | <view class="content_3"> | ||||
注:签约成功后请返回本页面,再次点击开通服务 | |||||
注:签约成功后请返回本页面,再次点击{{state.channelSing=="0"?'开通服务':'恢复签约'}} | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<script setup lang="ts"> | <script setup lang="ts"> | ||||
import { onLoad, onShow } from "@dcloudio/uni-app"; | import { onLoad, onShow } from "@dcloudio/uni-app"; | ||||
import { reactive } from "vue"; | import { reactive } from "vue"; | ||||
import { etcQYAction, channelSingQueryApi } 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 { fileURL } from "@/datas/fileURL.js"; | import { fileURL } from "@/datas/fileURL.js"; | ||||
import navBar from "@/components/nav-bar/nav-bar2.vue"; | |||||
import navBgCar from "./components/nav-bg-car4"; | |||||
import { setItem } from "@/utils/storage"; | import { setItem } from "@/utils/storage"; | ||||
import { msg } from "@/utils/utils"; | import { msg } from "@/utils/utils"; | ||||
import { | import { | ||||
checkOrderStatus, | |||||
wechatAppID, | |||||
wechatSecret, | |||||
getOpenidApi, | getOpenidApi, | ||||
infoQuery, | infoQuery, | ||||
envs | |||||
envs, etcQYAction, channelSingQueryApi | |||||
} from "@/utils/network/api"; | } from "@/utils/network/api"; | ||||
const imgURL = `${fileURL}image/`; | const imgURL = `${fileURL}image/`; | ||||
<template> | <template> | ||||
<view v-if="source=='WECHAT'"> | |||||
<!-- <view v-if="source=='WECHAT'"> --> | |||||
<view> | |||||
<template v-for="(col,index) in list" :key="index"> | <template v-for="(col,index) in list" :key="index"> | ||||
<view class="title">{{col.title}}</view> | <view class="title">{{col.title}}</view> | ||||
<u-cell-group> | <u-cell-group> | ||||
</u-cell-group> | </u-cell-group> | ||||
</template> | </template> | ||||
</view> | </view> | ||||
<view v-else> | |||||
<!-- <view v-else> | |||||
<template v-for="(col,index) in listALI" :key="index"> | <template v-for="(col,index) in listALI" :key="index"> | ||||
<view class="title">{{col.title}}</view> | <view class="title">{{col.title}}</view> | ||||
<u-cell-group> | <u-cell-group> | ||||
:titleStyle="titleStyle" borderBottom></u-cell-item> | :titleStyle="titleStyle" borderBottom></u-cell-item> | ||||
</u-cell-group> | </u-cell-group> | ||||
</template> | </template> | ||||
</view> | |||||
</view> --> | |||||
<button class="action" @click="loginOut">退出登录</button> | <button class="action" @click="loginOut">退出登录</button> |
/* 接口中常量 */ | /* 接口中常量 */ | ||||
// export const URL = "192.168.100.63"; | |||||
// export const URL = "trial.etcjz.cn"; | |||||
export const URL = "qtzl.etcjz.cn"; | export const URL = "qtzl.etcjz.cn"; | ||||
/** | /** | ||||
* 配置信息,针对不同的平台进行配置 | * 配置信息,针对不同的平台进行配置 | ||||
export const envs = { | export const envs = { | ||||
//开发环境配置 | //开发环境配置 | ||||
development: { | development: { | ||||
// baseUrl: "https://trial.etcjz.cn", | |||||
baseUrl: "https://qtzl.etcjz.cn", | baseUrl: "https://qtzl.etcjz.cn", | ||||
// baseUrl: "https://qtzl.etcjz.cn/test", | // baseUrl: "https://qtzl.etcjz.cn/test", | ||||
}, | }, | ||||
//生产环境配置 | //生产环境配置 | ||||
production: { | production: { | ||||
baseUrl: "https://qtzl.etcjz.cn", | baseUrl: "https://qtzl.etcjz.cn", | ||||
// baseUrl: "https://trial.etcjz.cn", | |||||
// baseUrl: "https://qtzl.etcjz.cn/test", | // baseUrl: "https://qtzl.etcjz.cn/test", | ||||
}, | }, | ||||
} | } | ||||
export const userInfoIndex = "9a78e7c35f31439990dc4b778ca84ad1"; //USER-获取用户个人简单信息 | export const userInfoIndex = "9a78e7c35f31439990dc4b778ca84ad1"; //USER-获取用户个人简单信息 | ||||
// 售后管理 | // 售后管理 | ||||
// export const CardSignCancellation = "146"; //卡签注销 | |||||
export const CardSignCancellation = "7f3f4d4b3fde4d45a706e6c67312a42d"; //卡签注销 | export const CardSignCancellation = "7f3f4d4b3fde4d45a706e6c67312a42d"; //卡签注销 | ||||
export const CancellationRefundInforAdd = "bc51978865f44f2e87eed8400f78dddc"; //注销退费信息新增 | export const CancellationRefundInforAdd = "bc51978865f44f2e87eed8400f78dddc"; //注销退费信息新增 | ||||
export const CancellationRefundInforEdit = "a4904950cf854d97a32ba77549c0d39c "; //注销退费信息编辑 | export const CancellationRefundInforEdit = "a4904950cf854d97a32ba77549c0d39c "; //注销退费信息编辑 | ||||
export const carMessageApi = "854899f6244049d69b6ff883f28dcb28" // 车辆信息上传带出车辆信息 | export const carMessageApi = "854899f6244049d69b6ff883f28dcb28" // 车辆信息上传带出车辆信息 | ||||
export const getZfbOpenid = "62f02a3fd5eb462d9541aa21b78bba06" // 获取支付宝Openid支付宝 | export const getZfbOpenid = "62f02a3fd5eb462d9541aa21b78bba06" // 获取支付宝Openid支付宝 | ||||
export const channelSingApi = "5c7a7614cf5746aa8db6215c5b46f8f0" | |||||
export const channelSingQueryApi = "0c6d650d94274ee086008652fa0fe41a" | |||||
export const isChannelSingApi = "IF01001202308301001" //是否签约 | |||||
export const channelSingQueryApi = "0c6d650d94274ee086008652fa0fe41a" |
} | } | ||||
} | } | ||||
signStr += "signCode=" + signCode; | signStr += "signCode=" + signCode; | ||||
// console.log("signStr*************"+signStr); | |||||
if (!requestId) { | if (!requestId) { | ||||
return false; | return false; | ||||
} | } | ||||
signStr = md5(signStr); | signStr = md5(signStr); | ||||
signStr = signStr.toUpperCase(); | signStr = signStr.toUpperCase(); | ||||
// console.log('MD5**************' + signStr); | |||||
signStr += requestId; | signStr += requestId; | ||||
// console.log('requestId**************' + signStr); | |||||
signStr = sha1(signStr); | signStr = sha1(signStr); | ||||
signStr = signStr.toUpperCase(); | signStr = signStr.toUpperCase(); | ||||
// console.log('SHA1**************' + signStr); | |||||
return signStr; | return signStr; | ||||
} | } | ||||
const base64 = uni.arrayBufferToBase64(encrypted); | const base64 = uni.arrayBufferToBase64(encrypted); | ||||
return base64; | return base64; | ||||
} | } | ||||
//调用中台参数 | |||||
// export function encryption(ifCode, subdata, type) { | |||||
// var requestData = new Array(); | |||||
// requestData["ifCode"] = ifCode; | |||||
// // requestData["appId"] = "52030131"; // || "admin001" | |||||
// requestData["appId"] = "admin001"; // || "admin001" | |||||
// requestData["signType"] = "MD5"; // || "NONE" | |||||
// // requestData["encryptType"] = "SM4"; | |||||
// requestData["encryptType"] = "NONE"; | |||||
// requestData["reqId"] = requestData["appId"] + "_" + getDate() + "_" + generateMixed(5); | |||||
// requestData["timestamp"] = formatTime(new Date()); | |||||
// // requestData["bizContent"] = s4.encryptData_CBC(subdata, sm4Key) | |||||
// requestData["bizContent"] = JSON.stringify(subdata) | |||||
// requestData["sign"] = md5( | |||||
// "bizContent=" + requestData["bizContent"] + | |||||
// "&signType=" + requestData["signType"] + | |||||
// "&encryptType=" + requestData["encryptType"] + | |||||
// "×tamp=" + requestData["timestamp"] + | |||||
// "&ifCode=" + requestData["ifCode"] | |||||
// ); | |||||
// let endData = arrayToJson(requestData); | |||||
// return endData; | |||||
// } | |||||
// 不加密 | |||||
// export function encryption(ifCode, subdata, type) { | |||||
// var requestData = new Array(); | |||||
// const key = 'WVdSdGFXNHdNREZmTWpBeU16QTRNRE09' | |||||
// // const key = 'TlRJd016QXhNekZmTWpBeU16QTRNekU9' | |||||
// requestData["ifCode"] = ifCode; | |||||
// // requestData["appId"] = "52030131"; // || "admin001" | |||||
// requestData["appId"] = "admin001"; // || "admin001" | |||||
// requestData["signType"] = "SM3"; // || "NONE" | |||||
// // requestData["encryptType"] = "SM4"; | |||||
// requestData["encryptType"] = "NONE"; | |||||
// requestData["reqId"] = requestData["appId"] + "_" + getDate() + "_" + generateMixed(5); | |||||
// requestData["timestamp"] = formatTime(new Date()); | |||||
// requestData["bizContent"] = JSON.stringify(subdata) | |||||
// // requestData["bizContent"] = s4.encryptData_CBC(subdata, sm4Key) | |||||
// requestData["accessToken"] = getItem(StorageKeys.Token) | |||||
// requestData["sign"] = sm3( | |||||
// "appId=" + requestData["appId"] + | |||||
// "&bizContent=" + requestData["bizContent"] + | |||||
// "&signType=" + requestData["signType"] + | |||||
// "&encryptType=" + requestData["encryptType"] + | |||||
// "×tamp=" + requestData["timestamp"] + | |||||
// "&ifCode=" + requestData["ifCode"] + | |||||
// "&reqId=" + requestData["reqId"] + | |||||
// "&accessToken=" + requestData["accessToken"], key | |||||
// ); | |||||
// let endData = arrayToJson(requestData); | |||||
// return endData; | |||||
// } | |||||
//调用中台参数 | //调用中台参数 | ||||
export function encryption(ifCode, subdata, type) { | export function encryption(ifCode, subdata, type) { | ||||
var requestData = new Array(); | var requestData = new Array(); |
} | } | ||||
}); | }); | ||||
} else { | } else { | ||||
console.log("res", res) | |||||
console.log("请求失败返回参数", code, res) | |||||
uni.showModal({ | uni.showModal({ | ||||
title: '提示', | title: '提示', | ||||
content: res.data.errorMsg, | content: res.data.errorMsg, |
//*******************************************************// | |||||
// 存储数据 | |||||
//*******************************************************// | |||||
// 存储数据 | |||||
export enum StorageKeys { | export enum StorageKeys { | ||||
Token = "token", //登录token | Token = "token", //登录token | ||||
OpenId = "openId", //openId | OpenId = "openId", //openId |