Przeglądaj źródła

Merge branch 'master' of http://192.168.40.220/dmc/jz_applet into master

yxb
wq 1 rok temu
rodzic
commit
231e05ec77

+ 103
- 0
datas/businessType.js Wyświetl plik

@@ -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: "修改订单金额"
}
]

+ 16
- 2
pages.json Wyświetl plik

@@ -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": {

+ 9
- 8
pages/index/index.vue Wyświetl plik

@@ -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({

+ 2
- 4
subpackage/after-sale/additional-equipment/additional-equipment-confirm.vue Wyświetl plik

@@ -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>

+ 160
- 0
subpackage/after-sale/business-processie.vue Wyświetl plik

@@ -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>

+ 177
- 0
subpackage/after-sale/inventory-equipment.vue Wyświetl plik

@@ -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>

+ 5
- 2
utils/network/api.js Wyświetl plik

@@ -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" //库存设备统计

Ładowanie…
Anuluj
Zapisz