浏览代码

修改bug

yxb
DESKTOP-2IO5MST\huting 1年前
父节点
当前提交
24da12a61f
共有 31 个文件被更改,包括 150 次插入241 次删除
  1. 9
    9
      pages.json
  2. 9
    15
      pages/index/index.vue
  3. 0
    2
      pages/recharge/recharge-weixin.vue
  4. 2
    5
      subpackage/after-sale/ETC-log-off/select-car.vue
  5. 0
    1
      subpackage/after-sale/ETC-log-off/upload-card.vue
  6. 1
    1
      subpackage/after-sale/add-equity/add-equity-details.vue
  7. 1
    1
      subpackage/after-sale/add-equity/choice-order.vue
  8. 0
    2
      subpackage/after-sale/additional-equipment/additional-equipment-confirm.vue
  9. 0
    1
      subpackage/after-sale/card-deactivation-activation/deactivation-activation-confirm.vue
  10. 0
    2
      subpackage/after-sale/card-loss-reporting/cardloss-confirm.vue
  11. 2
    6
      subpackage/after-sale/card-loss-reporting/select-car.vue
  12. 6
    7
      subpackage/after-sale/month-statement/month-statement-query-list.vue
  13. 2
    13
      subpackage/after-sale/pin-code-deblocking/select-car.vue
  14. 0
    1
      subpackage/after-sale/refund-order-balance/refund-order-balance.vue
  15. 0
    23
      subpackage/after-sale/to-bookkeeping-card/choice-product-new.vue
  16. 0
    2
      subpackage/after-sale/to-bookkeeping-card/confirm.vue
  17. 0
    1
      subpackage/after-sale/transfer-ownership/select-car-transfer.vue
  18. 0
    91
      subpackage/after-sale/transfer-ownership/transfer-verification.vue
  19. 0
    1
      subpackage/orders/flowingWater.vue
  20. 16
    2
      subpackage/orders/invoiceApply/invoice-content.vue
  21. 48
    12
      subpackage/orders/invoiceApply/invoice-step1.vue
  22. 0
    3
      subpackage/orders/invoiceApply/invoiceList.vue
  23. 1
    1
      subpackage/orders/opening-account-people.vue
  24. 3
    3
      subpackage/orders/opening-account-unit.vue
  25. 1
    2
      subpackage/orders/order-details-new.vue
  26. 0
    23
      subpackage/orders/product-detail.vue
  27. 0
    6
      subpackage/orders/release-products.vue
  28. 39
    2
      subpackage/personal-center/search/etcFlowingWater.vue
  29. 7
    1
      subpackage/personal-center/search/select-card.vue
  30. 1
    0
      utils/network/api.js
  31. 2
    2
      utils/network/request.js

+ 9
- 9
pages.json 查看文件

{ {
"path": "card-loss-reporting/select-car", "path": "card-loss-reporting/select-car",
"style": { "style": {
"navigationBarTitleText": " 卡签挂失/解除挂失-选择车辆",
"navigationBarTitleText": "卡签挂失/解除挂失-选择车辆",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "card-loss-reporting/cardloss-confirm", "path": "card-loss-reporting/cardloss-confirm",
"style": { "style": {
"navigationBarTitleText": " 卡签挂失/解除挂失-确认",
"navigationBarTitleText": "卡签挂失/解除挂失-确认",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "card-loss-reporting/card-result", "path": "card-loss-reporting/card-result",
"style": { "style": {
"navigationBarTitleText": " 卡签挂失/解除挂失-结果",
"navigationBarTitleText": "卡签挂失/解除挂失-结果",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "transfer-ownership/select-car-transfer", "path": "transfer-ownership/select-car-transfer",
"style": { "style": {
"navigationBarTitleText": " ETC过户-选择车辆",
"navigationBarTitleText": "ETC过户-选择车辆",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "transfer-ownership/card-result", "path": "transfer-ownership/card-result",
"style": { "style": {
"navigationBarTitleText": " ETC过户-结果",
"navigationBarTitleText": "ETC过户-结果",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "transfer-ownership/transfer-confirm", "path": "transfer-ownership/transfer-confirm",
"style": { "style": {
"navigationBarTitleText": " ETC过户-确认",
"navigationBarTitleText": "ETC过户-确认",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "transfer-ownership/transfer-verification", "path": "transfer-ownership/transfer-verification",
"style": { "style": {
"navigationBarTitleText": " ETC过户-验证",
"navigationBarTitleText": "ETC过户-验证",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "card-supplement/reissueForm", "path": "card-supplement/reissueForm",
"style": { "style": {
"navigationBarTitleText": " 补办ETC卡-填写",
"navigationBarTitleText": "补办ETC卡-填写",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{ {
"path": "additional-equipment/result", "path": "additional-equipment/result",
"style": { "style": {
"navigationBarTitleText": "设备补增",
"navigationBarTitleText": "设备补增-结果",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },

+ 9
- 15
pages/index/index.vue 查看文件

<image class="icon" :src="fileURL + 'image/index/icon-notice.png'" lazy-load="false" <image class="icon" :src="fileURL + 'image/index/icon-notice.png'" lazy-load="false"
mode="aspectFill"> mode="aspectFill">
</image> </image>
<uni-notice-bar style="width: 100%;" scrollable single :text="state.notice">
<uni-notice-bar style="width: 100%;" scrollable single :text="state.notice" @click="tip()">
</uni-notice-bar> </uni-notice-bar>
</view> </view>
</view> </view>
<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>
<view class="text">二次激活</view>
<view class="text">OBU重新激活</view>
</view> </view>
<view class="item-box" <view class="item-box"
@click="$util.navTo('/subpackage/personal-center/install-activation-order',true)"> @click="$util.navTo('/subpackage/personal-center/install-activation-order',true)">
</view> </view>
<view class="text">设备注销</view> <view class="text">设备注销</view>
</view> </view>
<view class="item-box" @click="cardRecharge(2)">
<!-- <view class="item-box" @click="cardRecharge(2)">
<view class="item item-6"> <view class="item item-6">
<image :src="fileURL + 'image/index/item-6.png'" mode="aspectFill" /> <image :src="fileURL + 'image/index/item-6.png'" mode="aspectFill" />
</view> </view>
<view class="text">通行费补缴</view>
</view>
<view class="text">解除车牌占用</view>
</view> -->
<!-- <view class="item-box" <!-- <view class="item-box"
@click="$util.navTo(`/subpackage/personal-center/setting/personal-information/corrections`,true)"> @click="$util.navTo(`/subpackage/personal-center/setting/personal-information/corrections`,true)">
<view class="item item-7"> <view class="item item-7">
</view> </view>
</view> </view>


<!-- 消息滚动显示 -->
<!-- <view v-if="false" class="backlog-notice">
<notice-bar :noticeList="state.noticeList" @noticeClick="goOrder(3)"></notice-bar>
</view> -->

<!--快速办理通道 --> <!--快速办理通道 -->
<view class="express-lane"> <view class="express-lane">
<view class="title">快速办理</view> <view class="title">快速办理</view>
onReachBottom(() => { onReachBottom(() => {
highMsg(); //高速快讯 highMsg(); //高速快讯
}) })
const tip = () => {
const params = encodeURIComponent(JSON.stringify("https://webzeus.hltgz.com/throughBilManager/index"))
tools.toUrl(`/subpackage/personal-center/webview?url=` + params);
}
//获取轮播 //获取轮播
const getSwiper = () => { const getSwiper = () => {


}); });


} }
const goOrder = (index) => {
uni.reLaunch({
url: `../order/order?index=${index}`
})
}
const cardRecharge = (val) => { const cardRecharge = (val) => {
// #ifdef MP-ALIPAY // #ifdef MP-ALIPAY
if (val == 1 || val == 2 || val == 3) { if (val == 1 || val == 2 || val == 3) {

+ 0
- 2
pages/recharge/recharge-weixin.vue 查看文件

tools.hideLoadingAlert(); tools.hideLoadingAlert();
} }
} }
console.error("CMD_READBINARY指令长度不符" + res[2]);
tools.hideLoadingAlert(); tools.hideLoadingAlert();
} }
function getCardIdReturn(res : any) { function getCardIdReturn(res : any) {
const result = stringToJson(res.bizContent); const result = stringToJson(res.bizContent);
console.log("获取微信小程序openid", result); console.log("获取微信小程序openid", result);
const openidData = stringToJson(result.data); const openidData = stringToJson(result.data);
// setItem("QYorder", result.data);
state.openid = openidData.openid state.openid = openidData.openid
}); });
// #endif // #endif

+ 2
- 5
subpackage/after-sale/ETC-log-off/select-car.vue 查看文件

const quanCheckActionTrue = () => { const quanCheckActionTrue = () => {
let source = "" let source = ""
// #ifdef MP-ALIPAY // #ifdef MP-ALIPAY
source ="ALI"
source = "ALI"
// #endif // #endif
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
source ="WECHAT"
source = "WECHAT"
// #endif // #endif
var data = { var data = {
opId: getItem(StorageKeys.OpenId), opId: getItem(StorageKeys.OpenId),
} }


.selectCar-box { .selectCar-box {
// width: 100%;
height: 100%; height: 100%;
padding: 30rpx; padding: 30rpx;


} }


} }


} }
</style> </style>

+ 0
- 1
subpackage/after-sale/ETC-log-off/upload-card.vue 查看文件

reject("指令执行失败!"); reject("指令执行失败!");
} }
}).catch((error) => { }).catch((error) => {
console.log('指令执行失败', error)
reject(error); reject(error);
}); });
}); });

+ 1
- 1
subpackage/after-sale/add-equity/add-equity-details.vue 查看文件

if (data.hasData) { if (data.hasData) {
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
content: '重复购买此产品',
content: '重复购买此权益',
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
console.log('用户点击确定'); console.log('用户点击确定');

+ 1
- 1
subpackage/after-sale/add-equity/choice-order.vue 查看文件

if (data.hasData) { if (data.hasData) {
uni.showModal({ uni.showModal({
title: '提示', title: '提示',
content: '重复购买此产品',
content: '重复购买此权益',
success: function (res) { success: function (res) {
if (res.confirm) { if (res.confirm) {
console.log('用户点击确定'); console.log('用户点击确定');

+ 0
- 2
subpackage/after-sale/additional-equipment/additional-equipment-confirm.vue 查看文件

</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.selectCar-box { .selectCar-box {
// width: 100%;
// height: 100%;
padding: 30rpx; padding: 30rpx;


.title { .title {

+ 0
- 1
subpackage/after-sale/card-deactivation-activation/deactivation-activation-confirm.vue 查看文件

let result = stringToJson(res.bizContent); let result = stringToJson(res.bizContent);
let cmdArray = result.command ? result.command.split(",") : []; let cmdArray = result.command ? result.command.split(",") : [];
console.log(result); console.log(result);
// console.log(result.cosRecordId);
if (cmdArray.length > 0) { if (cmdArray.length > 0) {
tools.showLoadingAlert("正在执行指令"); tools.showLoadingAlert("正在执行指令");
bluetoothUtil.transCmd(cmdArray, "10", function(res) { bluetoothUtil.transCmd(cmdArray, "10", function(res) {

+ 0
- 2
subpackage/after-sale/card-loss-reporting/cardloss-confirm.vue 查看文件

</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.selectCar-box { .selectCar-box {
// width: 100%;
// height: 100%;
padding: 30rpx; padding: 30rpx;


.title { .title {

+ 2
- 6
subpackage/after-sale/card-loss-reporting/select-car.vue 查看文件

const quanCheckActionTrue = () => { const quanCheckActionTrue = () => {
let source = "" let source = ""
// #ifdef MP-ALIPAY // #ifdef MP-ALIPAY
source ="ALI"
source = "ALI"
// #endif // #endif
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
source ="WECHAT"
source = "WECHAT"
// #endif // #endif
var data = { var data = {
opId: getItem(StorageKeys.OpenId), opId: getItem(StorageKeys.OpenId),
} }


.selectCar-box { .selectCar-box {
// width: 100%;
height: 100%; height: 100%;
padding: 30rpx; padding: 30rpx;


background: #00B38B; background: #00B38B;
border-radius: 50%; border-radius: 50%;
} }

} }


} }
</style> </style>

+ 6
- 7
subpackage/after-sale/month-statement/month-statement-query-list.vue 查看文件

<view class="content"> <view class="content">
<view class="top-content"> <view class="top-content">
<view class="example-body"> <view class="example-body">
<!-- <uni-datetime-picker v-model="state.range" type="daterange" /> -->
<text>请选择月份:</text> <text>请选择月份:</text>
<picker mode="date" @change="bindDateChange" fields="month"> <picker mode="date" @change="bindDateChange" fields="month">
<view class="uni-input">{{state.date}}</view> <view class="uni-input">{{state.date}}</view>




<view class="uni-container" v-if="state.listData.length>0"> <view class="uni-container" v-if="state.listData.length>0">
<view class="list-item" v-for="(item,index) in state.listData">
<view class="list-item" v-for="(item,index) in state.listData"
@click="query(item.handleDate,item.vehicleId)">
<view><text>姓名:</text><text>{{item.customerName}}</text></view> <view><text>姓名:</text><text>{{item.customerName}}</text></view>
<view><text>证件号码:</text><text>{{item.customerIdNum}}</text></view> <view><text>证件号码:</text><text>{{item.customerIdNum}}</text></view>
<view><text>通行次数:</text><text>{{item.num}}</text></view> <view><text>通行次数:</text><text>{{item.num}}</text></view>
</view> </view>
<view class="bottom-line" v-if="state.flags">我是有底线的~~~</view> <view class="bottom-line" v-if="state.flags">我是有底线的~~~</view>
</view> </view>
<!-- <view v-else class="uni-container" style="text-align: center;">
暂无数据
</view> -->


</view> </view>


import { request } from "@/utils/network/request.js"; import { request } from "@/utils/network/request.js";
import { getItem, StorageKeys } from "@/utils/storage"; import { getItem, StorageKeys } from "@/utils/storage";
import { getVehiclePlateColor } from "@/datas/vehiclePlateColor"; import { getVehiclePlateColor } from "@/datas/vehiclePlateColor";
import { msg } from "@/utils/utils";
import { msg, navTo } from "@/utils/utils";
const state = reactive({ const state = reactive({
startTime: Date.now(), //日期 startTime: Date.now(), //日期
listData: [], listData: [],
console.log("option", option.vehicleId) console.log("option", option.vehicleId)
state.vehicleId = option.vehicleId; state.vehicleId = option.vehicleId;
state.vehicleNum = option.vehicleId.split('_')[0]; state.vehicleNum = option.vehicleId.split('_')[0];
console.log("option.vehicleId.split('_')[1]", getVehiclePlateColor(option.vehicleId.split('_')[1]))
state.vehicleColor = getVehiclePlateColor(option.vehicleId.split('_')[1]); state.vehicleColor = getVehiclePlateColor(option.vehicleId.split('_')[1]);
getUserinfo() getUserinfo()
}) })
console.log("业务完成日志", state.listData,) console.log("业务完成日志", state.listData,)
}); });
} }
const query = (handleDate, vehicleId) => {
navTo(`/subpackage/personal-center/search/select-card?vehicleId=${vehicleId}&&handleDate=${handleDate}`)
}
</script> </script>


<style scoped> <style scoped>

+ 2
- 13
subpackage/after-sale/pin-code-deblocking/select-car.vue 查看文件

const quanCheckActionTrue = () => { const quanCheckActionTrue = () => {
let source = "" let source = ""
// #ifdef MP-ALIPAY // #ifdef MP-ALIPAY
source ="ALI"
source = "ALI"
// #endif // #endif
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
source ="WECHAT"
source = "WECHAT"
// #endif // #endif
var data = { var data = {
opId: getItem(StorageKeys.OpenId), opId: getItem(StorageKeys.OpenId),
reject(error); reject(error);
}); });
}; };
const list = reactive([
{
name: "A12345",
},
{
name: "B12345",
},
{
name: "C12345",
},
]);
const flag = ref("0"); const flag = ref("0");


const choose = (i, item) => { const choose = (i, item) => {

+ 0
- 1
subpackage/after-sale/refund-order-balance/refund-order-balance.vue 查看文件

checkQuanCengEvent(val); checkQuanCengEvent(val);
}); });
} else { } else {
console.error("CMD_READBINARY指令长度不符" + res[2]);
tools.hideLoadingAlert(); tools.hideLoadingAlert();
} }
} }

+ 0
- 23
subpackage/after-sale/to-bookkeeping-card/choice-product-new.vue 查看文件

</view> </view>
<view class="bottomTip"> 到底啦!敬请期待其他产品! </view> <view class="bottomTip"> 到底啦!敬请期待其他产品! </view>
</view> </view>
<!-- <view class="content-value">
<view @click="savaHandle(item)" class="ul-item" v-for="(item, index) in state.dataArray" :key="index">
<image style="width: 100%; height: 170rpx; border-radius: 20rpx"
:src="`${$imgUrl}applyCard/product-bg.png`"></image>
<view class="item-value">
<image class="icon-tip"
:src="state.sysType === 'WECHAT'?`${$imgUrl}applyCard/wechat.png` : `${$imgUrl}applyCard/alibaba.png`">
</image>
<view class="content">
<view class="title">
{{ item.promoteName }}
</view>
<view style="margin-top: 15rpx" class="tip">
{{ item['releaseProductStandards']['productStandards']['cardTypeArr'] }}
</view>
</view>
<view class="money">
¥:{{ item.fee * 0.01 }}
</view>
</view>
</view>
<view class="bottomTip"> 到底啦!敬请期待其他产品! </view>
</view> -->
</template> </template>


<script setup lang="ts"> <script setup lang="ts">

+ 0
- 2
subpackage/after-sale/to-bookkeeping-card/confirm.vue 查看文件

</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.selectCar-box { .selectCar-box {
// width: 100%;
// height: 100%;
padding: 30rpx; padding: 30rpx;


.title { .title {

+ 0
- 1
subpackage/after-sale/transfer-ownership/select-car-transfer.vue 查看文件



onLoad(() => { onLoad(() => {
quanCheckActionTrue().then((item : any) => { quanCheckActionTrue().then((item : any) => {
console.log("过户", item)
let data = item.data let data = item.data
for (var k = 0; k < data.length; k++) { for (var k = 0; k < data.length; k++) {
if (data[k]['orderStatus'] != "99999") { if (data[k]['orderStatus'] != "99999") {

+ 0
- 91
subpackage/after-sale/transfer-ownership/transfer-verification.vue 查看文件

<u-form-item prop="cardState"> <u-form-item prop="cardState">
<view class="from_item"> <view class="from_item">
<text><text style="color: red">*</text>是否保留卡签:</text> <text><text style="color: red">*</text>是否保留卡签:</text>
<!-- <u-radio-group v-model="form.serviceTypeName">
<u-radio :customStyle="{ marginBottom: '8px' }" activeColor="#2CE242"
v-for="(item, index) in radiolist1" :key="index" :label="item.disabled"
:name="item.name">
{{ item.name }}
</u-radio>
</u-radio-group> -->
<radio-group @change="radioChange" class="radios"> <radio-group @change="radioChange" class="radios">
<block v-for="(item, index) in radiolist1" :key="item.val"> <block v-for="(item, index) in radiolist1" :key="item.val">
<view class="radio-box"> <view class="radio-box">
</radio-group> </radio-group>
</view> </view>
</u-form-item> </u-form-item>

<!-- <u-form-item prop="phone">
<view class="from_item" style="background-color: #f7f7f7">
<text><text style="color: red"></text>手机号:</text>
<u-input v-model="form.mobile" :disabled="true" class="input" />
</view>
</u-form-item>
<u-form-item prop="code">
<view class="from_item">
<text><text style="color: red"></text>验证码:</text>
<u-input v-model="form.code" placeholder="请输入验证码" class="input" />
<view class="hint2">
<view class="green">{{ codeDuration === 0 ? "" : codeDuration }}</view>
<view class="grey" @click="getCode">{{
codeDuration === 0 ? "发送验证码" : "秒后可重发"
}}</view>
</view>
</view>
</u-form-item> -->
</view> </view>
</u-form> </u-form>
<button class="submit" @click="toPage()">下一步</button> <button class="submit" @click="toPage()">下一步</button>
ref, ref,
reactive reactive
} from "vue"; } from "vue";
import {
navTo
} from "@/utils/utils";
import { import {
onLoad onLoad
} from "@dcloudio/uni-app"; } from "@dcloudio/uni-app";
import {
request
} from "@/utils/network/request.js";
import {
sendCode,
checkCode,
changeCardApply
} from "@/utils/network/api.js";
import {
stringToJson
} from "@/utils/network/encryption";
import {
msg
} from "@/utils/utils";


// 表单数据 // 表单数据
const form = reactive({ const form = reactive({
const radioChange = (e : any) => { const radioChange = (e : any) => {
console.log(e); console.log(e);
form.serviceType = e.detail.value form.serviceType = e.detail.value
// if (val.name === '是') {
// form.equipmentState = '1';
// } else {
// form.equipmentState = '2';
// }
}; };
const getCode = () => {
if (codeDuration.value !== 0) {
return;
}
const options = {
type: 2,
data: {
mobile: form.mobile
},
method: "POST",
showLoading: true,
};
request(sendCode, options)
.then((res) => {
codeInterval();

msg("验证码发送成功!");
})
.catch((err) => {
console.log(err);
});
}

//下一步 //下一步
const toPage = () => { const toPage = () => {
// if (form.serviceTypeName === '保留卡签') {
// form.serviceType = 'WITHVEHICLE'
// } else {
// form.serviceType = 'WITHCUSTOMER'
// }
// const options = {
// type: 2,
// data: {
// mobile: form.mobile,
// code: form.code
// },
// method: "POST",
// showLoading: true,
// };
// request(checkCode, options)
// .then((res) => {
uni.$emit('queryCardlossStatus', { uni.$emit('queryCardlossStatus', {
type: form.serviceType type: form.serviceType
}) })
uni.navigateBack() uni.navigateBack()
// })
// .catch((err) => {
// console.log(err);
// });
}; };
</script> </script>



+ 0
- 1
subpackage/orders/flowingWater.vue 查看文件

checkQuanCengEvent(val); checkQuanCengEvent(val);
}); });
} else { } else {
console.error("CMD_READBINARY指令长度不符1111" + res[2]);
tools.hideLoadingAlert(); tools.hideLoadingAlert();
} }
} }

+ 16
- 2
subpackage/orders/invoiceApply/invoice-content.vue 查看文件

navTo, msg navTo, msg
} from "@/utils/utils"; } from "@/utils/utils";
import { reactive, ref } from "vue"; import { reactive, ref } from "vue";
import { onLoad, onReachBottom } from "@dcloudio/uni-app";
import { onLoad, onReachBottom, onShow } from "@dcloudio/uni-app";
import { queryEtcOrderApi, getUserMsg, trafficFlowApi } from "@/utils/network/api.js"; import { queryEtcOrderApi, getUserMsg, trafficFlowApi } from "@/utils/network/api.js";
import { stringToJson } from "@/utils/network/encryption"; import { stringToJson } from "@/utils/network/encryption";
import { request } from "@/utils/network/request.js"; import { request } from "@/utils/network/request.js";
state.type = option.type state.type = option.type
getUserinfo() getUserinfo()
}) })
// onShow(() => {
// if (state.type == 1) {
// etcOrder(1)
// }
// })
const value = ref('') const value = ref('')
const getUserinfo = () => { const getUserinfo = () => {
const options = { const options = {
console.log(e) console.log(e)
} }
const apply = () => { const apply = () => {
let newArr = []
for (var i = 0; i < state.ordersArr.length; i++) {
for (var k = 0; k < state.data.length; k++) {
if (state.ordersArr[i] == state.data[k]['orderNo']) {
newArr.push(state.data[k])
}
}
}
const params = encodeURIComponent(JSON.stringify(newArr))
if (state.ordersArr.length >= 1) { if (state.ordersArr.length >= 1) {
navTo(`/subpackage/orders/invoiceApply/invoice-step1?type=${state.type}&&ordersArr=${state.ordersArr}&&userMobile=${state.userMobile}`)
navTo(`/subpackage/orders/invoiceApply/invoice-step1?type=${state.type}&&ordersArr=${params}&&userMobile=${state.userMobile}`)
} else { } else {
msg("请选择订单开票") msg("请选择订单开票")
} }

+ 48
- 12
subpackage/orders/invoiceApply/invoice-step1.vue 查看文件

<view class="from_item"> <view class="from_item">
<text><text style="color: red;">*</text>车辆所有人证件号后6位:</text> <text><text style="color: red;">*</text>车辆所有人证件号后6位:</text>
<view style="display: flex;"> <view style="display: flex;">
<u-input v-model="state.subIdentNo" class="input" />
<u-input v-model="state.subIdentNo" class="input" maxlength="6" type="number" />
</view> </view>
</view> </view>
</u-form-item> </u-form-item>
reactive reactive
} from "vue"; } from "vue";
import { onLoad, onShow } from "@dcloudio/uni-app"; import { onLoad, onShow } from "@dcloudio/uni-app";
import { navTo } from "@/utils/utils"
import { ETCProductInvoiceApi } from "@/utils/network/api.js";
import { navTo, msg } from "@/utils/utils"
import { ETCProductInvoiceApi, flowServiceFee } from "@/utils/network/api.js";
import { stringToJson } from "@/utils/network/encryption"; import { stringToJson } from "@/utils/network/encryption";
import { request } from "@/utils/network/request.js"; import { request } from "@/utils/network/request.js";
const state = reactive({ const state = reactive({
params: "", params: "",
orders: [], orders: [],
userMobile: "", userMobile: "",
subIdentNo: ""
subIdentNo: "",
invoiceAmount: 0
}) })
onShow(() => { onShow(() => {
uni.$once('list', (query) => { uni.$once('list', (query) => {
}) })
}) })
onLoad((option) => { onLoad((option) => {
let ordersArr = JSON.parse(decodeURIComponent(option.ordersArr))
state.type = option.type state.type = option.type
state.userMobile = option.userMobile state.userMobile = option.userMobile
if (option.ordersArr.indexOf(',') > 1) {
// 数组
state.orders = option.ordersArr.split(',')
} else {
// 一个
state.orders.push(option.ordersArr)
console.log("ordersArr", ordersArr)
for (var i = 0; i < ordersArr.length; i++) {
let obj = {}
obj['orderNo'] = ordersArr[i]['orderNo']
state.orders.push(obj)
state.invoiceAmount += Number(ordersArr[i]['invoiceAmount'])
} }
console.log("option", state.orders)
console.log("option", state.orders, state.invoiceAmount)
}) })
const toheaderPage = () => { const toheaderPage = () => {
console.log(1); console.log(1);
const submit = () => { const submit = () => {
if (state.type == '1') { if (state.type == '1') {
ETCProductInvoiceRequest() ETCProductInvoiceRequest()
} else {
flowServiceFeeRequest()
} }
} }
const ETCProductInvoiceRequest = () => { const ETCProductInvoiceRequest = () => {
console.log("state.params", state.params['id'])
const options = { const options = {
type: 2, type: 2,
data: { data: {
titleId: state.params['id'], //发票抬头编号 titleId: state.params['id'], //发票抬头编号
subIdentNo: state.subIdentNo, //证件号后6位 subIdentNo: state.subIdentNo, //证件号后6位
userMobile: state.userMobile, //手机号 userMobile: state.userMobile, //手机号
sellerId: "", //售方信息编号
sellerId: "31dc9b8068604823b42b05522843560f", //售方信息编号
}, },
method: "POST", method: "POST",
showLoading: true, showLoading: true,
}; };
request(ETCProductInvoiceApi, options).then((res) => { request(ETCProductInvoiceApi, options).then((res) => {
const data = stringToJson(res.bizContent); const data = stringToJson(res.bizContent);
msg("开票成功")
setTimeout(() => {
uni.navigateBack({
delta: 3
})
}, 1500)
console.log(data, "通行");
});
}
const flowServiceFeeRequest = () => {
const options = {
type: 2,
data: {
listNos: state.orders, //订单号列表
titleId: state.params['id'], //发票抬头编号
subIdentNo: state.subIdentNo, //证件号后6位
invoiceAmount: state.invoiceAmount, //开票金额 分
sellerId: "31dc9b8068604823b42b05522843560f", //售方信息编号
},
method: "POST",
showLoading: true,
};
request(flowServiceFee, options).then((res) => {
const data = stringToJson(res.bizContent);
msg("开票成功")

setTimeout(() => {
uni.navigateBack({
delta: 3
})
}, 1500)
console.log(data, "通行"); console.log(data, "通行");
}); });
} }

+ 0
- 3
subpackage/orders/invoiceApply/invoiceList.vue 查看文件

<!-- <text>新办订单</text> --> <!-- <text>新办订单</text> -->
</view> </view>
<view class="content"> <view class="content">
<!-- <view class="row">
订单类型:<text>新办订单</text>
</view> -->
<view class="row"> <view class="row">
开票日期:<text>{{item.invoiceDate}}</text> 开票日期:<text>{{item.invoiceDate}}</text>
</view> </view>

+ 1
- 1
subpackage/orders/opening-account-people.vue 查看文件

return; return;
} }
if (!checkStr(state.form.userIdNum, 'card')) { if (!checkStr(state.form.userIdNum, 'card')) {
msg('请输入正确身份证');
msg('请输入正确身份证');
return; return;
} }
if (!checkStr(state.form.tel, 'mobile')) { if (!checkStr(state.form.tel, 'mobile')) {

+ 3
- 3
subpackage/orders/opening-account-unit.vue 查看文件

return; return;
} }
if (!state.form.agentPosImgUrl) { if (!state.form.agentPosImgUrl) {
msg('上传身份证的人像面');
msg('上传身份证的人像面');
return; return;
} }
if (!state.form.agentNegImgUrl) { if (!state.form.agentNegImgUrl) {
msg('上传身份证的国徽面');
msg('上传身份证的国徽面');
return; return;
} }
if (!state.form.proxyUrl) { if (!state.form.proxyUrl) {
msg('上传身份证的委托书');
msg('上传身份证的委托书');
return; return;
} }
if (!state.form.userName) { if (!state.form.userName) {

+ 1
- 2
subpackage/orders/order-details-new.vue 查看文件

} }
} }
} }
state.orderInfo.appraise = appraise;
// state.orderInfo.appraise = appraise;
console.log("获取订单详情", state.orderInfo) console.log("获取订单详情", state.orderInfo)
}) })
} }
requestEditOrderAddr(addr); requestEditOrderAddr(addr);
}); });
console.log("optionssdsfd", options) console.log("optionssdsfd", options)
// getOrderDetails(options.id, options.appraise);
state.id = options.id state.id = options.id
state.appraise = options.appraise state.appraise = options.appraise
}) })

+ 0
- 23
subpackage/orders/product-detail.vue 查看文件

StorageKeys StorageKeys
} from "@/utils/storage.ts"; } from "@/utils/storage.ts";
import { import {
checkOrderStatus,
wechatAppID, wechatAppID,
wechatPayConfigId, wechatPayConfigId,
wechatSecret, wechatSecret,
fileType: 'docx', fileType: 'docx',
showMenu: true, //关键点 showMenu: true, //关键点
success: function (res) { success: function (res) {
// msg("成功查看协议详情");
}, },
fail: function (err) { fail: function (err) {
msg("打开文档失败"); msg("打开文档失败");
// #endif // #endif
} }


//支付成功改变订单状态
const checkOrder = () => {
const options = {
type: 2,
data: {
orderId: state.orderId,
payConfigId: wechatPayConfigId,
},
method: "POST",
showLoading: true,
};

request(checkOrderStatus, options).then((res) => {
msg("支付成功!");
var pages = getCurrentPages().length;
uni.$emit("refreshOrder");
uni.switchTab({
url: "/pages/order/order"
})
});
};
// 协议确认接口 // 协议确认接口
const agreementConfirm = () => { const agreementConfirm = () => {
const options = { const options = {

+ 0
- 6
subpackage/orders/release-products.vue 查看文件

<view class="action-btn"> 签约 </view> <view class="action-btn"> 签约 </view>
</view> </view>
</view> </view>
<!-- <view class="action">
<button type="default" class="button" @click="savaHandle()">
已有签约,跳过。
</button>
</view> -->
</view> </view>
</template> </template>


.content-value { .content-value {
position: relative; position: relative;
margin-top: -50rpx; margin-top: -50rpx;
// padding: 0rpx 30rpx;
position: relative; position: relative;
} }



+ 39
- 2
subpackage/personal-center/search/etcFlowingWater.vue 查看文件

import { import {
downloadFileURL downloadFileURL
} from '@/datas/fileURL.js' } from '@/datas/fileURL.js'
import {
msg,
} from "@/utils/utils";
const dataTime = reactive({ const dataTime = reactive({
startDate: "开始时间", startDate: "开始时间",
endDate: "结束时间" endDate: "结束时间"
pageSize: 10, //每页数据量 pageSize: 10, //每页数据量
pageNo: 1, // 当前页 pageNo: 1, // 当前页
flags: false, flags: false,
handleDate: "", //月结单选择时间
vehicleId: ""
}) })
onLoad((option) => { onLoad((option) => {
state.cardId = option.cardId; state.cardId = option.cardId;
state.handleDate = option.handleDate;
state.vehicleId = option.vehicleId;
console.log("月结单111", state.handleDate)
if (state.handleDate != "undefined") {
// "2024-04-25"
let deadLine = getDaysInMonth(state.handleDate.substring(0, 4), state.handleDate.substring(4, 6))
dataTime.startDate = state.handleDate.substring(0, 4) + "-" + state.handleDate.substring(4, 6) + "-" +
"01"
dataTime.endDate = state.handleDate.substring(0, 4) + "-" + state.handleDate.substring(4, 6) + "-" +
deadLine

console.log("月结单", dataTime.startDate, state.handleDate != "")
search(1)
}
}) })

function getDaysInMonth(year, month) {
var date = new Date();
date.setFullYear(year);
date.setMonth(month);
date.setDate(0);
return date.getDate();
}
// 触底加载 // 触底加载
onReachBottom(() => { onReachBottom(() => {
if (state.list.length < state.pageNo * 10) return state.flags = true if (state.list.length < state.pageNo * 10) return state.flags = true
search(2) search(2)
}) })
const search = (val) => { const search = (val) => {
if (dataTime.startDate == "开始时间") {
msg('请选择开始时间');
return;
}
if (dataTime.endDate == "结束时间") {
msg('请选择结束时间');
return;
}
getPpassBillCount() getPpassBillCount()
if (val == 1) { if (val == 1) {
state.pageNo = 1 state.pageNo = 1
type: 2, type: 2,
data: { data: {
cardId: state.cardId, cardId: state.cardId,
starDate: dataTime.startDate,
endDate: dataTime.endDate,
beforeDate: dataTime.startDate,
afterDate: dataTime.endDate,
vehiclePlate: state.vehicleId.split('_')[0],
vehiclePlateColor: state.vehicleId.split('_')[1]
}, },
method: "POST", method: "POST",
showLoading: true, showLoading: true,

+ 7
- 1
subpackage/personal-center/search/select-card.vue 查看文件



const state = reactive({ const state = reactive({
cards: [], cards: [],
vehicleId: "",
handleDate: ""
}); });
onLoad((option) => { onLoad((option) => {
state.handleDate = option.handleDate
state.vehicleId = option.vehicleId
getCardList(option.vehicleId) getCardList(option.vehicleId)
}); });


const choose = (i, item) => { const choose = (i, item) => {
console.log(item, i) console.log(item, i)
console.log(item.vehicleId); console.log(item.vehicleId);
navTo(`/subpackage/personal-center/search/etcFlowingWater?cardId=${item.cardId}`)
navTo(
`/subpackage/personal-center/search/etcFlowingWater?cardId=${item.cardId}&&handleDate=${state.handleDate}&&vehicleId=${state.vehicleId}`
)
} }


const getCardList = (vehicleId) => { const getCardList = (vehicleId) => {

+ 1
- 0
utils/network/api.js 查看文件

export const trafficFlowApi = "4c5a8512929945ae93828e184fbd9082" // 查询通行流水服务费订单 export const trafficFlowApi = "4c5a8512929945ae93828e184fbd9082" // 查询通行流水服务费订单
export const ETCProductInvoiceApi = "32bab1eee9c34694baa37c9ed222d431" // ETC产品合并开票 export const ETCProductInvoiceApi = "32bab1eee9c34694baa37c9ed222d431" // ETC产品合并开票
export const invoiceQueryApi = "bd1340041fab4303899d41d23109e46a" // 发票查询 export const invoiceQueryApi = "bd1340041fab4303899d41d23109e46a" // 发票查询
export const flowServiceFee = "1a78cda7cace443f9cff63902fb3d35c" // 通行流水服务费批量开票
export const silentLoginApi = "abaf0013caa24dafad12b0f571e8ee40" // 无感登录 export const silentLoginApi = "abaf0013caa24dafad12b0f571e8ee40" // 无感登录

+ 2
- 2
utils/network/request.js 查看文件



} }


options.url = envs[process.env.NODE_ENV].baseUrl + '/api/interfaceMidGroundIn'
// options.url = envs[process.env.NODE_ENV].baseUrl + '/dev/api/interfaceMidGroundIn'
// options.url = envs[process.env.NODE_ENV].baseUrl + '/api/interfaceMidGroundIn'
options.url = envs[process.env.NODE_ENV].baseUrl + '/dev/api/interfaceMidGroundIn'
//默认json数据格式提交` //默认json数据格式提交`
let contentType = 'application/x-www-form-urlencoded' let contentType = 'application/x-www-form-urlencoded'



正在加载...
取消
保存