@@ -0,0 +1,103 @@ | |||
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: "修改订单金额" | |||
} | |||
] |
@@ -91,6 +91,20 @@ | |||
"subPackages": [{ | |||
"root": "subpackage/after-sale", //售后相关 | |||
"pages": [{ | |||
"path": "inventory-equipment", | |||
"style": { | |||
"navigationBarTitleText": "库存设备统计", | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
{ | |||
"path": "business-processie", | |||
"style": { | |||
"navigationBarTitleText": "业务操作记录", | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
{ | |||
"path": "report/qingfen", | |||
"style": { | |||
"navigationBarTitleText": "清分对账统计", | |||
@@ -861,7 +875,7 @@ | |||
} | |||
} | |||
}, | |||
{ | |||
"path": "order_payment", | |||
"style": { | |||
@@ -874,7 +888,7 @@ | |||
} | |||
} | |||
}, | |||
{ | |||
"path": "mpng-payment", | |||
"style": { |
@@ -7,13 +7,13 @@ | |||
<swiper class="swiper" circular :indicator-dots="swiper.indicatorDots" :autoplay="swiper.autoplay" | |||
:interval="swiper.interval" :duration="swiper.duration" | |||
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'" | |||
mode="widthFix"></image> | |||
</swiper-item> | |||
</block> --> | |||
<block > | |||
</block> | |||
<block> | |||
<swiper-item class="swiper-item"> | |||
<image :src="fileURL + 'image/index/banner-1.png'" mode="widthFix"></image> | |||
</swiper-item> | |||
@@ -50,7 +50,8 @@ | |||
</view> | |||
<view class="text">通行发票</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"> | |||
<image :src="fileURL + '20230511/24e179d44e2d4e5687339bff_obucxjh.png'" mode="aspectFill" /> | |||
</view> | |||
@@ -258,7 +259,7 @@ | |||
import { | |||
getCodeName | |||
} from "@/datas/queryKey.js"; | |||
const tools = require("../../static/etcUtil/tools.js"); | |||
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`; | |||
@@ -329,7 +330,7 @@ | |||
highMsg(); //高速快讯 | |||
processeCondition();//办理条件 | |||
commonQuestion(); | |||
// doSomething();//代办事项 | |||
}) | |||
@@ -577,7 +578,7 @@ | |||
.catch((err) => { | |||
console.log(err); | |||
}); | |||
} | |||
const goOrder = (index) => { | |||
uni.reLaunch({ |
@@ -132,7 +132,7 @@ | |||
/*视图进入后操作*/ | |||
onLoad((option) => { | |||
queryOrderDetail(option.id).then((val: any) => { | |||
queryOrderDetail(option.id).then((val : any) => { | |||
state.data = val | |||
}) | |||
}); | |||
@@ -144,10 +144,8 @@ | |||
navTo( | |||
`/subpackage/after-sale/additional-equipment/additional-equipment-verification?orderId=${state.data.orderId}&&cardId=${state.data.cardId}&&mobile=${state.data.customerTel}` | |||
) | |||
} | |||
const queryOrderDetail = (id) => { | |||
return new Promise(async (resolve, reject) => { | |||
const res = await request(orderDetail, { | |||
@@ -307,4 +305,4 @@ | |||
line-height: 80rpx; | |||
} | |||
} | |||
</style> | |||
</style> |
@@ -0,0 +1,160 @@ | |||
<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> |
@@ -0,0 +1,177 @@ | |||
<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> |
@@ -116,7 +116,7 @@ export const orderDetail = "9"; //根据订单ID获取订单详情 | |||
export const orderPay = "56"; //订单支付下单 | |||
export const checkOrderStatus = "57"; //订单支付结果查询接口 | |||
export const cancelOrder = "7"; //取消订单 | |||
export const cancelOrderNew = "7fba19ba5d354c0ea5c443f9b5c66cdf"; //取消订单(新) | |||
export const cancelOrderNew = "7fba19ba5d354c0ea5c443f9b5c66cdf"; //取消订单(新) | |||
export const receiveOrder = "155"; //订单完成收货 | |||
export const getLogistics = "30"; //获取所有的快递公司信息 | |||
export const editOrderAddr = '164'; //订单修改收货地址 | |||
@@ -240,4 +240,7 @@ export const queryStoredQuan = "cc907ba2683e481d92398bf6c4d74c57" //储值卡圈 | |||
export const queryTrajectory = "d6414e83a2a34c4cb0f3da33a0e901bd" //我的上个月轨迹查询 | |||
export const queryCardRecord = "2124c3086aa04faf84d70c01930cc90c" //用户储值卡充值记录-分页查询 | |||
export const PAYDETECTION = "7d240e2034f94da399fb0e3775f87a62" //CSMSN-订单支付检测 | |||
export const PAYMENTORDERAPPLY = "377421d6ed4f48a29575aa126838a4d2" //CSMSN-订单支付检测 | |||
export const PAYMENTORDERAPPLY = "377421d6ed4f48a29575aa126838a4d2" //CSMSN-订单支付检测 | |||
export const businessApi = "b275644e586b447791eede4ad6a41640" //业务完成日志 | |||
export const inventoryEquipmentApi = "5570160d4b8d46408664b6c289de6b57" //库存设备统计 |