export const businessType = [{ | |||||
value: "PLACEORDER", | |||||
text: "申办下单" | |||||
}, | |||||
{ | |||||
value: "PAYCONTRACT", | |||||
text: "支付签约" | |||||
}, { | |||||
value: "CANCELORDER", | |||||
text: "取消订单" | |||||
}, | |||||
{ | |||||
value: "APPLYRETURN", | |||||
text: "申请退货" | |||||
}, { | |||||
value: "CLOSEORDER", | |||||
text: "结束订单" | |||||
}, | |||||
{ | |||||
value: "REUSEORDER", | |||||
text: "订单再次使用" | |||||
}, { | |||||
value: "APPLYREPLACEMENT", | |||||
text: "申请换货" | |||||
}, | |||||
{ | |||||
value: "USERINFORMATIONCHANGE", | |||||
text: "用户信息变更及上传" | |||||
}, { | |||||
value: "VECHICLEINFORMATIONCHANGE", | |||||
text: "车辆信息变更及上传" | |||||
}, | |||||
{ | |||||
value: "REWRITE", | |||||
text: "卡签重写" | |||||
}, { | |||||
value: "LOSS", | |||||
text: "卡签挂失" | |||||
}, | |||||
{ | |||||
value: "UNHUNG", | |||||
text: "卡签解挂" | |||||
}, { | |||||
value: "ETCOWNERSHIP", | |||||
text: "etc过户" | |||||
}, | |||||
{ | |||||
value: "PINUNLOCK", | |||||
text: "pin码解锁" | |||||
}, { | |||||
value: "RENEW", | |||||
text: "卡签续期" | |||||
}, | |||||
{ | |||||
value: "CANCELLATIONPLATEOCCUPANCY", | |||||
text: "解除车牌占用" | |||||
}, { | |||||
value: "REACTIVE", | |||||
text: "obu重新激活" | |||||
}, | |||||
{ | |||||
value: "USERACCOUNTTOPUP", | |||||
text: "用户账户充值" | |||||
}, { | |||||
value: "LOOP", | |||||
text: "储值卡圈存" | |||||
}, | |||||
{ | |||||
value: "EXCHANGECARD", | |||||
text: "储值卡转记账卡" | |||||
}, { | |||||
value: "CANCELLATION", | |||||
text: "卡签注销" | |||||
}, | |||||
{ | |||||
value: "DEACTIVATE", | |||||
text: "卡签停用" | |||||
}, { | |||||
value: "ENABLE", | |||||
text: "卡签启用" | |||||
}, | |||||
{ | |||||
value: "CANCELLATIONFEE", | |||||
text: "储值卡注销退费" | |||||
}, { | |||||
value: "STOREDVALUECARD_PAYARREARS", | |||||
text: "储值卡欠费补缴" | |||||
}, | |||||
{ | |||||
value: "ACCOUNTCARD_PAYARREARS", | |||||
text: "记账卡欠费补缴" | |||||
}, { | |||||
value: "CARDREACTIVE", | |||||
text: "CARD重新激活" | |||||
}, | |||||
{ | |||||
value: "OKAPPLYRETURN", | |||||
text: "完成退货" | |||||
}, { | |||||
value: "UPDATEAMOUNT", | |||||
text: "修改订单金额" | |||||
} | |||||
] |
"subPackages": [{ | "subPackages": [{ | ||||
"root": "subpackage/after-sale", //售后相关 | "root": "subpackage/after-sale", //售后相关 | ||||
"pages": [{ | "pages": [{ | ||||
"path": "inventory-equipment", | |||||
"style": { | |||||
"navigationBarTitleText": "库存设备统计", | |||||
"enablePullDownRefresh": false | |||||
} | |||||
}, | |||||
{ | |||||
"path": "business-processie", | |||||
"style": { | |||||
"navigationBarTitleText": "业务操作记录", | |||||
"enablePullDownRefresh": false | |||||
} | |||||
}, | |||||
{ | |||||
"path": "report/qingfen", | "path": "report/qingfen", | ||||
"style": { | "style": { | ||||
"navigationBarTitleText": "清分对账统计", | "navigationBarTitleText": "清分对账统计", | ||||
} | } | ||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
"path": "order_payment", | "path": "order_payment", | ||||
"style": { | "style": { | ||||
} | } | ||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
"path": "mpng-payment", | "path": "mpng-payment", | ||||
"style": { | "style": { |
<swiper class="swiper" circular :indicator-dots="swiper.indicatorDots" :autoplay="swiper.autoplay" | <swiper class="swiper" circular :indicator-dots="swiper.indicatorDots" :autoplay="swiper.autoplay" | ||||
:interval="swiper.interval" :duration="swiper.duration" | :interval="swiper.interval" :duration="swiper.duration" | ||||
indicator-active-color="rgba(0, 179, 139, 1)" :easing-function="swiper.easing"> | indicator-active-color="rgba(0, 179, 139, 1)" :easing-function="swiper.easing"> | ||||
<!-- <block v-if="state.swiperList.length >0" v-for="item in state.swiperList" :key="item.id"> | |||||
<swiper-item class="swiper-item" @click="gotoLink(item)"> | |||||
<block v-if="state.swiperList.length >0" v-for="item in state.swiperList" :key="item.id"> | |||||
<swiper-item class="swiper-item" @click="link(item)"> | |||||
<image :src="item.imgUrl?strReplace(item.imgUrl):fileURL + 'image/index/banner-1.png'" | <image :src="item.imgUrl?strReplace(item.imgUrl):fileURL + 'image/index/banner-1.png'" | ||||
mode="widthFix"></image> | mode="widthFix"></image> | ||||
</swiper-item> | </swiper-item> | ||||
</block> --> | |||||
<block > | |||||
</block> | |||||
<block> | |||||
<swiper-item class="swiper-item"> | <swiper-item class="swiper-item"> | ||||
<image :src="fileURL + 'image/index/banner-1.png'" mode="widthFix"></image> | <image :src="fileURL + 'image/index/banner-1.png'" mode="widthFix"></image> | ||||
</swiper-item> | </swiper-item> | ||||
</view> | </view> | ||||
<view class="text">通行发票</view> | <view class="text">通行发票</view> | ||||
</view> --> | </view> --> | ||||
<view class="item-box" @click="$util.navTo('/subpackage/after-sale/activation-once-again/select-car',true)"> | |||||
<view class="item-box" | |||||
@click="$util.navTo('/subpackage/after-sale/activation-once-again/select-car',true)"> | |||||
<view class="item item-3"> | <view class="item item-3"> | ||||
<image :src="fileURL + '20230511/24e179d44e2d4e5687339bff_obucxjh.png'" mode="aspectFill" /> | <image :src="fileURL + '20230511/24e179d44e2d4e5687339bff_obucxjh.png'" mode="aspectFill" /> | ||||
</view> | </view> | ||||
import { | import { | ||||
getCodeName | getCodeName | ||||
} from "@/datas/queryKey.js"; | } from "@/datas/queryKey.js"; | ||||
const tools = require("../../static/etcUtil/tools.js"); | const tools = require("../../static/etcUtil/tools.js"); | ||||
const bgOrange = `url(${fileURL}image/index/bg-orange.png) center center no-repeat`; | const bgOrange = `url(${fileURL}image/index/bg-orange.png) center center no-repeat`; | ||||
const bgBlue = `url(${fileURL}image/index/bg-blue.png) center center no-repeat`; | const bgBlue = `url(${fileURL}image/index/bg-blue.png) center center no-repeat`; | ||||
highMsg(); //高速快讯 | highMsg(); //高速快讯 | ||||
processeCondition();//办理条件 | processeCondition();//办理条件 | ||||
commonQuestion(); | commonQuestion(); | ||||
// doSomething();//代办事项 | // doSomething();//代办事项 | ||||
}) | }) | ||||
.catch((err) => { | .catch((err) => { | ||||
console.log(err); | console.log(err); | ||||
}); | }); | ||||
} | } | ||||
const goOrder = (index) => { | const goOrder = (index) => { | ||||
uni.reLaunch({ | uni.reLaunch({ |
/*视图进入后操作*/ | /*视图进入后操作*/ | ||||
onLoad((option) => { | onLoad((option) => { | ||||
queryOrderDetail(option.id).then((val: any) => { | |||||
queryOrderDetail(option.id).then((val : any) => { | |||||
state.data = val | state.data = val | ||||
}) | }) | ||||
}); | }); | ||||
navTo( | navTo( | ||||
`/subpackage/after-sale/additional-equipment/additional-equipment-verification?orderId=${state.data.orderId}&&cardId=${state.data.cardId}&&mobile=${state.data.customerTel}` | `/subpackage/after-sale/additional-equipment/additional-equipment-verification?orderId=${state.data.orderId}&&cardId=${state.data.cardId}&&mobile=${state.data.customerTel}` | ||||
) | ) | ||||
} | } | ||||
const queryOrderDetail = (id) => { | const queryOrderDetail = (id) => { | ||||
return new Promise(async (resolve, reject) => { | return new Promise(async (resolve, reject) => { | ||||
const res = await request(orderDetail, { | const res = await request(orderDetail, { | ||||
line-height: 80rpx; | line-height: 80rpx; | ||||
} | } | ||||
} | } | ||||
</style> | |||||
</style> |
<template> | |||||
<view class="content"> | |||||
<view class="card"> | |||||
<text>请选择具体业务:</text> | |||||
<uni-data-select v-model="state.businessTypeVal" :localdata="state.businessRange" @change="changeBusiness" | |||||
:clear="false"></uni-data-select> | |||||
</view> | |||||
<view class="example-body"> | |||||
<uni-datetime-picker v-model="state.range" type="daterange" /> | |||||
<button size="mini" style="color: #ffffff; | |||||
backgroundColor: rgb(118, 200, 77); | |||||
borderColor: rgb(118, 200, 77); | |||||
font-size: 26rpx; | |||||
flex-shrink: 0;margin-left: 20rpx;" @click="search(1)">搜索</button> | |||||
</view> | |||||
<view class="uni-container"> | |||||
<uni-table ref="table" border stripe emptyText="暂无更多数据"> | |||||
<uni-tr> | |||||
<uni-th width="140" align="center">业务类型</uni-th> | |||||
<uni-th width="150" align="center">操作时间</uni-th> | |||||
<uni-th width="170" align="center">日志记录时间</uni-th> | |||||
</uni-tr> | |||||
<uni-tr v-for="(item,index) in state.listData" :key="index"> | |||||
<uni-td align="center">{{item.serviceType}}</uni-td> | |||||
<uni-td align="center">{{item.operateTime}}</uni-td> | |||||
<uni-td align="center">{{item.insertTime}}</uni-td> | |||||
</uni-tr> | |||||
</uni-table> | |||||
</view> | |||||
<!-- <view class="uni-pagination-box"><uni-pagination show-icon :page-size="state.pageSize" :current="state.pageNo" | |||||
:total="state.total" @change="change" /></view> --> | |||||
</view> | |||||
</template> | |||||
<script setup lang="ts"> | |||||
import { reactive } from "vue"; | |||||
import { | |||||
businessType | |||||
} from "@/datas/businessType.js" | |||||
import { onLoad } from "@dcloudio/uni-app"; | |||||
import { businessApi } from "@/utils/network/api.js"; | |||||
import { stringToJson } from "@/utils/network/encryption"; | |||||
import { request } from "@/utils/network/request.js"; | |||||
import { getItem, StorageKeys } from "@/utils/storage"; | |||||
const state = reactive({ | |||||
startTime: Date.now(), //日期 | |||||
businessTypeVal: "", | |||||
businessRange: [], | |||||
listDataTitle: ["业务类型", "操作时间", "日志记录时间"], | |||||
listData: [], | |||||
range: ['', ''], | |||||
pageSize: 10, //每页数据量 | |||||
pageNo: 1, // 当前页 | |||||
total: 0, // 数据总量 | |||||
}) | |||||
onLoad((option) => { | |||||
state.businessRange = businessType; | |||||
search(0) | |||||
}) | |||||
const changeBusiness = (e) => { | |||||
state.businessTypeVal = e | |||||
console.log(e) | |||||
} | |||||
//业务完成日志 | |||||
const search = (val) => { | |||||
if (val == 1) { | |||||
var data = { | |||||
opId: getItem(StorageKeys.OpenId), | |||||
serviceType: state.businessTypeVal, | |||||
startDate: state.range[0], | |||||
endDate: state.range[1], | |||||
pageNo: state.pageNo, | |||||
pageSize: state.pageSize, | |||||
}; | |||||
} else { | |||||
var data = { | |||||
opId: getItem(StorageKeys.OpenId), | |||||
// pageNo: state.pageNo, | |||||
// pageSize: state.pageSize, | |||||
}; | |||||
} | |||||
const options = { | |||||
type: 2, | |||||
data: data, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
request(businessApi, options).then((res) => { | |||||
const data = stringToJson(res.bizContent); | |||||
state.listData = []; | |||||
state.listData = data.data | |||||
state.total = data.data.length | |||||
console.log("业务完成日志", data.data) | |||||
}); | |||||
} | |||||
const change = (e) => { | |||||
console.log("e", e) | |||||
state.pageNo = e.current | |||||
search(1) | |||||
} | |||||
</script> | |||||
<style scoped> | |||||
.content { | |||||
font-size: 32rpx; | |||||
padding: 20rpx 30rpx; | |||||
} | |||||
.card { | |||||
display: flex; | |||||
margin: 0 20rpx; | |||||
align-items: center; | |||||
} | |||||
.title { | |||||
margin-bottom: 20rpx; | |||||
} | |||||
.uni-container { | |||||
margin: 50rpx 0; | |||||
} | |||||
/deep/.uni-table-th, | |||||
/deep/.uni-table-td { | |||||
padding: 0 !important; | |||||
font-size: 12px !important; | |||||
} | |||||
/deep/.uni-date__x-input, | |||||
/deep/.uni-select { | |||||
font-size: 13px; | |||||
height: 30px; | |||||
line-height: 30px; | |||||
} | |||||
/deep/.uni-stat__select { | |||||
width: 360rpx; | |||||
} | |||||
/deep/.uni-select__selector-empty, | |||||
/deep/.uni-select__selector-item { | |||||
font-size: 13px !important; | |||||
} | |||||
/deep/.uni-date { | |||||
width: 73% !important; | |||||
} | |||||
.example-body { | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 20rpx; | |||||
} | |||||
/deep/.uni-date-x { | |||||
height: 76rpx !important; | |||||
} | |||||
</style> |
<template> | |||||
<view class="uni-container"> | |||||
<!-- <uni-table ref="table" border stripe emptyText="暂无更多数据"> | |||||
<uni-tr> | |||||
<uni-th width="140" align="center">仓库名称</uni-th> | |||||
<uni-th width="150" align="center">仓库数量</uni-th> | |||||
<uni-th width="170" align="center">剩余可用数量</uni-th> | |||||
<uni-th width="170" align="center">设备可用率</uni-th> | |||||
</uni-tr> | |||||
<uni-tr v-for="(item,index) in state.listData" :key="index"> | |||||
<uni-td align="center">{{item.name}}<text v-if="item.detailed.length>0">></text></uni-td> | |||||
<uni-td align="center">{{item.totalNum}}</uni-td> | |||||
<uni-td align="center">{{item.availableNum}}</uni-td> | |||||
<uni-td align="center">{{item.availableRate}}%</uni-td> | |||||
<block v-if="item.detailed.length>0"> | |||||
<uni-tr v-for="(items,index1) in item.detailed" :key="index1"> | |||||
<uni-td align="center">{{items.name}}</uni-td> | |||||
<uni-td align="center">{{items.totalNum}}</uni-td> | |||||
<uni-td align="center">{{items.availableNum}}</uni-td> | |||||
<uni-td align="center">{{items.availableRate}}%</uni-td> | |||||
</uni-tr> | |||||
</block> | |||||
</uni-tr> | |||||
</uni-table> --> | |||||
<view class="title" style="border-bottom: 1rpx solid #c1c1c1;"> | |||||
<text>仓库名称</text> | |||||
<text>仓库数量</text> | |||||
<text>剩余可用数量</text> | |||||
<text>设备可用率</text> | |||||
</view> | |||||
<view v-for="(item,index) in state.listData" :key="index" class="content"> | |||||
<view @click="show(index)" style="display: inline-block;" class="tu"> | |||||
{{item.name}} | |||||
<block v-if="item.detailed.length>0 && index==state.isShow1"> | |||||
<image :class="state.isZhan?'jiantou1':'jiantou'" src="../../static/image/icon-back.png"> | |||||
</image> | |||||
</block> | |||||
<block v-else> | |||||
<image class="jiantou" src="../../static/image/icon-back.png"> | |||||
</image> | |||||
</block> | |||||
</view> | |||||
<text>{{item.totalNum}}</text> | |||||
<text>{{item.availableNum}}</text> | |||||
<text class="last">{{item.availableRate}}</text> | |||||
<view v-if="item.detailed.length>0 && index==state.isShow && state.isZhan"> | |||||
<view v-for="(items,index1) in item.detailed" :key="index1" class="title"> | |||||
<text>{{items.name}}</text> | |||||
<text>{{items.totalNum}}</text> | |||||
<text>{{items.availableNum}}</text> | |||||
<text>{{items.availableRate}}</text> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
</template> | |||||
<script setup lang="ts"> | |||||
import { reactive } from "vue"; | |||||
import { | |||||
businessType | |||||
} from "@/datas/businessType.js" | |||||
import { onLoad } from "@dcloudio/uni-app"; | |||||
import { inventoryEquipmentApi } from "@/utils/network/api.js"; | |||||
import { stringToJson } from "@/utils/network/encryption"; | |||||
import { request } from "@/utils/network/request.js"; | |||||
import { getItem, StorageKeys } from "@/utils/storage"; | |||||
const state = reactive({ | |||||
listData: [], | |||||
isShow: -1, | |||||
isShow1: 1, | |||||
isZhan: false, //展示哪一种箭头 | |||||
clickNum: true, //点击的那一个箭头 | |||||
}) | |||||
onLoad((option) => { | |||||
inventoryEquipment(); | |||||
}) | |||||
const inventoryEquipment = () => { | |||||
const options = { | |||||
type: 2, | |||||
data: { | |||||
"openId": getItem(StorageKeys.OpenId) | |||||
}, | |||||
method: "POST", | |||||
showLoading: true, | |||||
}; | |||||
request(inventoryEquipmentApi, options).then((res) => { | |||||
const data = stringToJson(res.bizContent); | |||||
if (data.hasData) { | |||||
state.listData = data.data | |||||
} | |||||
console.log("inventoryEquipment", data) | |||||
}); | |||||
} | |||||
const show = (index) => { | |||||
state.isShow = index | |||||
state.isShow1 = index | |||||
state.isZhan = !state.isZhan | |||||
state.clickNum = index | |||||
} | |||||
</script> | |||||
<style scoped> | |||||
.uni-container { | |||||
font-size: 32rpx; | |||||
/* padding: 20rpx 30rpx; */ | |||||
/* width: 98%; */ | |||||
overflow-x: scroll; | |||||
white-space: nowrap; | |||||
margin: 30rpx; | |||||
border-right: 1rpx solid #c1c1c1; | |||||
} | |||||
/deep/.uni-table-th, | |||||
/deep/.uni-table-td { | |||||
padding: 5px 0; | |||||
font-size: 12px; | |||||
} | |||||
.jiantou { | |||||
width: 30rpx; | |||||
height: 30rpx; | |||||
transform: rotate(90deg); | |||||
} | |||||
.jiantou1 { | |||||
width: 30rpx; | |||||
height: 30rpx; | |||||
transform: rotate(270deg); | |||||
} | |||||
.title text { | |||||
border-left: 1rpx solid #c1c1c1; | |||||
border-top: 1rpx solid #c1c1c1; | |||||
text-align: center; | |||||
display: inline-block; | |||||
width: 40%; | |||||
padding: 6rpx 0; | |||||
border-bottom: 1rpx solid #c1c1c1; | |||||
} | |||||
.title text:first-child { | |||||
width: 58%; | |||||
} | |||||
.title text:last-child { | |||||
border-right: 1rpx solid #c1c1c1; | |||||
} | |||||
/* .content, | |||||
.title { | |||||
border-bottom: 1rpx solid #c1c1c1; | |||||
} */ | |||||
.content>text, | |||||
.content .tu { | |||||
border-left: 1rpx solid #c1c1c1; | |||||
/* border-top: 1rpx solid #c1c1c1; */ | |||||
border-bottom: 1rpx solid #c1c1c1; | |||||
/* border-right: 1rpx solid #c1c1c1; */ | |||||
text-align: center; | |||||
display: inline-block; | |||||
width: 40%; | |||||
padding: 6rpx 0; | |||||
} | |||||
.content .last { | |||||
border-right: 1rpx solid #c1c1c1; | |||||
} | |||||
.content .tu { | |||||
width: 58%; | |||||
} | |||||
</style> |
export const orderPay = "56"; //订单支付下单 | export const orderPay = "56"; //订单支付下单 | ||||
export const checkOrderStatus = "57"; //订单支付结果查询接口 | export const checkOrderStatus = "57"; //订单支付结果查询接口 | ||||
export const cancelOrder = "7"; //取消订单 | export const cancelOrder = "7"; //取消订单 | ||||
export const cancelOrderNew = "7fba19ba5d354c0ea5c443f9b5c66cdf"; //取消订单(新) | |||||
export const cancelOrderNew = "7fba19ba5d354c0ea5c443f9b5c66cdf"; //取消订单(新) | |||||
export const receiveOrder = "155"; //订单完成收货 | export const receiveOrder = "155"; //订单完成收货 | ||||
export const getLogistics = "30"; //获取所有的快递公司信息 | export const getLogistics = "30"; //获取所有的快递公司信息 | ||||
export const editOrderAddr = '164'; //订单修改收货地址 | export const editOrderAddr = '164'; //订单修改收货地址 | ||||
export const queryTrajectory = "d6414e83a2a34c4cb0f3da33a0e901bd" //我的上个月轨迹查询 | export const queryTrajectory = "d6414e83a2a34c4cb0f3da33a0e901bd" //我的上个月轨迹查询 | ||||
export const queryCardRecord = "2124c3086aa04faf84d70c01930cc90c" //用户储值卡充值记录-分页查询 | export const queryCardRecord = "2124c3086aa04faf84d70c01930cc90c" //用户储值卡充值记录-分页查询 | ||||
export const PAYDETECTION = "7d240e2034f94da399fb0e3775f87a62" //CSMSN-订单支付检测 | export const PAYDETECTION = "7d240e2034f94da399fb0e3775f87a62" //CSMSN-订单支付检测 | ||||
export const PAYMENTORDERAPPLY = "377421d6ed4f48a29575aa126838a4d2" //CSMSN-订单支付检测 | |||||
export const PAYMENTORDERAPPLY = "377421d6ed4f48a29575aa126838a4d2" //CSMSN-订单支付检测 | |||||
export const businessApi = "b275644e586b447791eede4ad6a41640" //业务完成日志 | |||||
export const inventoryEquipmentApi = "5570160d4b8d46408664b6c289de6b57" //库存设备统计 |