Bladeren bron

欠费补缴接口调整

yxb
zengyuehua 2 jaren geleden
bovenliggende
commit
8050fdda2f

+ 36
- 9
after-sale/arrears/arrears.vue Bestand weergeven

@@ -16,6 +16,10 @@
</view>
<view class="detail">
<view class="orders">
<view class="order-text">
<text class="type">补缴类型:</text>
<text class="value">{{item.suppleType=='TRAFFIC'?'流水欠费补缴':'卡账欠费补缴'}}</text>
</view>
<view class="order-text">
<text class="type">补缴单号:</text>
<text class="value">{{item.suppleNo}}</text>
@@ -40,8 +44,14 @@
</view>
</view>
<view class="bottom">
<view class="bottom-left"><text class="tit">欠费金额:¥</text><text
class="amount">{{item.fee}}</text>
<view class="bottom-left"><text class="tit1">通行金额:¥</text><text
class="amount1">{{item.fee}}</text>
</view>
<view class="bottom-left"><text class="tit1">服务费用:¥</text><text
class="amount1">{{item.serviceFee}}</text>
</view>
<view class="bottom-left"><text class="tit">欠费总金额:¥</text><text
class="amount">{{item.totalFee}}</text>
</view>
</view>
</view>
@@ -108,8 +118,8 @@

</view>
</view> -->
</view>
<view class="tips" v-else>
~暂无数据~
@@ -194,9 +204,12 @@
};
request(CardBillQuery, options).then((res) => {
const data = stringToJson(res.bizContent);
console.log(data);
data.data = data.data.map(val => {
val.checked = false
val.fee = val.fee / 100
val.totalFee = val.totalFee / 100
val.serviceFee = val.serviceFee / 100
return val
})
state.list = data.data
@@ -212,7 +225,7 @@
state.list.map(val => {
val.checked = true;
if (val.suppleStatus == 'NOTPAY') {
allPrice.value += val.fee
allPrice.value += val.totalFee
state.suppleNoList.push(val.suppleNo)
}
})
@@ -236,7 +249,7 @@
state.suppleNoList.forEach((item, i) => {
state.list.forEach((val, index) => {
if (item == val.suppleNo) {
arr.push(val.fee)
arr.push(val.totalFee)
}
})
})
@@ -274,6 +287,7 @@
data: {
openid: state.openid,
suppleNoList: state.suppleNoList,
totalFee: allPrice.value * 100,
payConfigId: wechatPayConfigId,
},
method: "POST",
@@ -338,11 +352,13 @@

.content-box {
padding-bottom: 115rpx;
.tips{

.tips {
font-size: 25rpx;
color: #d2d2d2;
text-align: center;
}

.footer {
display: flex;
align-items: center;
@@ -354,6 +370,7 @@
bottom: 0;
width: 100%;
box-sizing: border-box;

.footer-right {
align-items: center;
display: flex;
@@ -784,15 +801,25 @@

.list .bottom {
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid #dcdcdc;
margin: 0 30rpx;
padding: 20rpx 0;
flex-direction: column;
align-items: flex-start;

.tit {
font-size: 30rpx;
}

.tit1 {
font-size: 26rpx;
color: #999;
}

.amount1 {
font-size: 26rpx;
color: #333;
}
}

.list .btn {

+ 6
- 0
pages.json Bestand weergeven

@@ -1043,6 +1043,12 @@
"navigationBarTitleText": "设置-个人信息-身份证"
}
},
{
"path": "setting/car-information/car-manage",
"style": {
"navigationBarTitleText": "设置-车辆信息-管理"
}
},
{
"path": "setting/car-information/corrections",
"style": {

+ 14
- 3
pages/index/index.vue Bestand weergeven

@@ -12,8 +12,9 @@
<view class="notice">
<image class="icon" :src="fileURL + 'image/index/icon-notice.png'" lazy-load="false">
</image>
<text class="notice-text">{{state.notice}}</text>
<!-- <u-notice-bar mode="horizontal" :is-circular="false" :list="list"></u-notice-bar> -->
<!-- <text class="notice-text">{{state.notice}}</text> -->
<uni-notice-bar style="width: 100%;" scrollable single :text="state.notice">
</uni-notice-bar>
</view>

</view>
@@ -233,7 +234,7 @@

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 list=reactive(["您有一条待办事项,还未办理完成"])
const list = reactive(["您有一条待办事项,还未办理完成"])
const state = reactive({
type: 0,
userType: 0,
@@ -460,6 +461,16 @@
align-items: center;
padding: 0 20rpx;
box-sizing: border-box;

::v-deep .uni-noticebar {
background: none !important;
margin-bottom: 0;

text {
font-size: 24rpx!important;
color: #ffffff!important;
}
}
}

.banner .notice .icon {

+ 18
- 0
uni_modules/uni-notice-bar/changelog.md Bestand weergeven

@@ -0,0 +1,18 @@
## 1.2.1(2022-09-05)
- 新增 属性 fontSize,可修改文字大小。
## 1.2.0(2021-11-19)
- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-notice-bar](https://uniapp.dcloud.io/component/uniui/uni-notice-bar)
## 1.1.1(2021-11-09)
- 新增 提供组件设计资源,组件样式调整
## 1.1.0(2021-07-30)
- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
## 1.0.9(2021-05-12)
- 新增 组件示例地址
## 1.0.8(2021-04-21)
- 优化 添加依赖 uni-icons, 导入后自动下载依赖
## 1.0.7(2021-02-05)
- 优化 组件引用关系,通过uni_modules引用组件

## 1.0.6(2021-02-05)
- 调整为uni_modules目录规范

+ 426
- 0
uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue Bestand weergeven

@@ -0,0 +1,426 @@
<template>
<view v-if="show" class="uni-noticebar" :style="{ backgroundColor }" @click="onClick">
<uni-icons v-if="showIcon === true || showIcon === 'true'" class="uni-noticebar-icon" type="sound"
:color="color" :size="fontSize * 1.5" />
<view ref="textBox" class="uni-noticebar__content-wrapper"
:class="{
'uni-noticebar__content-wrapper--scrollable': scrollable,
'uni-noticebar__content-wrapper--single': !scrollable && (single || moreText)
}"
:style="{ height: scrollable ? fontSize * 1.5 + 'px' : 'auto' }"
>
<view :id="elIdBox" class="uni-noticebar__content"
:class="{
'uni-noticebar__content--scrollable': scrollable,
'uni-noticebar__content--single': !scrollable && (single || moreText)
}"
>
<text :id="elId" ref="animationEle" class="uni-noticebar__content-text"
:class="{
'uni-noticebar__content-text--scrollable': scrollable,
'uni-noticebar__content-text--single': !scrollable && (single || showGetMore)
}"
:style="{
color: color,
fontSize: fontSize + 'px',
lineHeight: fontSize * 1.5 + 'px',
width: wrapWidth + 'px',
'animationDuration': animationDuration,
'-webkit-animationDuration': animationDuration,
animationPlayState: webviewHide ? 'paused' : animationPlayState,
'-webkit-animationPlayState': webviewHide ? 'paused' : animationPlayState,
animationDelay: animationDelay,
'-webkit-animationDelay': animationDelay
}"
>{{text}}</text>
</view>
</view>
<view v-if="isShowGetMore" class="uni-noticebar__more uni-cursor-point"
@click="clickMore">
<text v-if="moreText.length > 0" :style="{ color: moreColor, fontSize: fontSize + 'px' }">{{ moreText }}</text>
<uni-icons v-else type="right" :color="moreColor" :size="fontSize * 1.1" />
</view>
<view class="uni-noticebar-close uni-cursor-point" v-if="isShowClose">
<uni-icons type="closeempty" :color="color" :size="fontSize * 1.1" @click="close" />
</view>
</view>
</template>

<script>
// #ifdef APP-NVUE
const dom = weex.requireModule('dom');
const animation = weex.requireModule('animation');
// #endif

/**
* NoticeBar 自定义导航栏
* @description 通告栏组件
* @tutorial https://ext.dcloud.net.cn/plugin?id=30
* @property {Number} speed 文字滚动的速度,默认100px/秒
* @property {String} text 显示文字
* @property {String} backgroundColor 背景颜色
* @property {String} color 文字颜色
* @property {String} moreColor 查看更多文字的颜色
* @property {String} moreText 设置“查看更多”的文本
* @property {Boolean} single = [true|false] 是否单行
* @property {Boolean} scrollable = [true|false] 是否滚动,为true时,NoticeBar为单行
* @property {Boolean} showIcon = [true|false] 是否显示左侧喇叭图标
* @property {Boolean} showClose = [true|false] 是否显示左侧关闭按钮
* @property {Boolean} showGetMore = [true|false] 是否显示右侧查看更多图标,为true时,NoticeBar为单行
* @event {Function} click 点击 NoticeBar 触发事件
* @event {Function} close 关闭 NoticeBar 触发事件
* @event {Function} getmore 点击”查看更多“时触发事件
*/

export default {
name: 'UniNoticeBar',
emits: ['click', 'getmore', 'close'],
props: {
text: {
type: String,
default: ''
},
moreText: {
type: String,
default: ''
},
backgroundColor: {
type: String,
default: '#FFF9EA'
},
speed: {
// 默认1s滚动100px
type: Number,
default: 100
},
color: {
type: String,
default: '#FF9A43'
},
fontSize: {
type: Number,
default: 14
},
moreColor: {
type: String,
default: '#FF9A43'
},
single: {
// 是否单行
type: [Boolean, String],
default: false
},
scrollable: {
// 是否滚动,添加后控制单行效果取消
type: [Boolean, String],
default: false
},
showIcon: {
// 是否显示左侧icon
type: [Boolean, String],
default: false
},
showGetMore: {
// 是否显示右侧查看更多
type: [Boolean, String],
default: false
},
showClose: {
// 是否显示左侧关闭按钮
type: [Boolean, String],
default: false
}
},
data() {
const elId = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
const elIdBox = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
return {
textWidth: 0,
boxWidth: 0,
wrapWidth: '',
webviewHide: false,
// #ifdef APP-NVUE
stopAnimation: false,
// #endif
elId: elId,
elIdBox: elIdBox,
show: true,
animationDuration: 'none',
animationPlayState: 'paused',
animationDelay: '0s'
}
},
computed: {
isShowGetMore() {
return this.showGetMore === true || this.showGetMore === 'true'
},
isShowClose() {
return (this.showClose === true || this.showClose === 'true')
&& (this.showGetMore === false || this.showGetMore === 'false')
}
},
mounted() {
// #ifdef APP-PLUS
var pages = getCurrentPages();
var page = pages[pages.length - 1];
var currentWebview = page.$getAppWebview();
currentWebview.addEventListener('hide', () => {
this.webviewHide = true
})
currentWebview.addEventListener('show', () => {
this.webviewHide = false
})
// #endif
this.$nextTick(() => {
this.initSize()
})
},
// #ifdef APP-NVUE
beforeDestroy() {
this.stopAnimation = true
},
// #endif
methods: {
initSize() {
if (this.scrollable) {
// #ifndef APP-NVUE
let query = [],
boxWidth = 0,
textWidth = 0;
let textQuery = new Promise((resolve, reject) => {
uni.createSelectorQuery()
// #ifndef MP-ALIPAY
.in(this)
// #endif
.select(`#${this.elId}`)
.boundingClientRect()
.exec(ret => {
this.textWidth = ret[0].width
resolve()
})
})
let boxQuery = new Promise((resolve, reject) => {
uni.createSelectorQuery()
// #ifndef MP-ALIPAY
.in(this)
// #endif
.select(`#${this.elIdBox}`)
.boundingClientRect()
.exec(ret => {
this.boxWidth = ret[0].width
resolve()
})
})
query.push(textQuery)
query.push(boxQuery)
Promise.all(query).then(() => {
this.animationDuration = `${this.textWidth / this.speed}s`
this.animationDelay = `-${this.boxWidth / this.speed}s`
setTimeout(() => {
this.animationPlayState = 'running'
}, 1000)
})
// #endif
// #ifdef APP-NVUE
dom.getComponentRect(this.$refs['animationEle'], (res) => {
let winWidth = uni.getSystemInfoSync().windowWidth
this.textWidth = res.size.width
animation.transition(this.$refs['animationEle'], {
styles: {
transform: `translateX(-${winWidth}px)`
},
duration: 0,
timingFunction: 'linear',
delay: 0
}, () => {
if (!this.stopAnimation) {
animation.transition(this.$refs['animationEle'], {
styles: {
transform: `translateX(-${this.textWidth}px)`
},
timingFunction: 'linear',
duration: (this.textWidth - winWidth) / this.speed * 1000,
delay: 1000
}, () => {
if (!this.stopAnimation) {
this.loopAnimation()
}
});
}
});
})
// #endif
}
// #ifdef APP-NVUE
if (!this.scrollable && (this.single || this.moreText)) {
dom.getComponentRect(this.$refs['textBox'], (res) => {
this.wrapWidth = res.size.width
})
}
// #endif
},
loopAnimation() {
// #ifdef APP-NVUE
animation.transition(this.$refs['animationEle'], {
styles: {
transform: `translateX(0px)`
},
duration: 0
}, () => {
if (!this.stopAnimation) {
animation.transition(this.$refs['animationEle'], {
styles: {
transform: `translateX(-${this.textWidth}px)`
},
duration: this.textWidth / this.speed * 1000,
timingFunction: 'linear',
delay: 0
}, () => {
if (!this.stopAnimation) {
this.loopAnimation()
}
});
}
});
// #endif
},
clickMore() {
this.$emit('getmore')
},
close() {
this.show = false;
this.$emit('close')
},
onClick() {
this.$emit('click')
}
}
}
</script>

<style lang="scss" scoped>
.uni-noticebar {
/* #ifndef APP-NVUE */
display: flex;
width: 100%;
box-sizing: border-box;
/* #endif */
flex-direction: row;
align-items: center;
padding: 10px 12px;
margin-bottom: 10px;
}

.uni-cursor-point {
/* #ifdef H5 */
cursor: pointer;
/* #endif */
}

.uni-noticebar-close {
margin-left: 8px;
margin-right: 5px;
}

.uni-noticebar-icon {
margin-right: 5px;
}

.uni-noticebar__content-wrapper {
flex: 1;
flex-direction: column;
overflow: hidden;
}

.uni-noticebar__content-wrapper--single {
/* #ifndef APP-NVUE */
line-height: 18px;
/* #endif */
}

.uni-noticebar__content-wrapper--single,
.uni-noticebar__content-wrapper--scrollable {
flex-direction: row;
}

/* #ifndef APP-NVUE */
.uni-noticebar__content-wrapper--scrollable {
position: relative;
}

/* #endif */

.uni-noticebar__content--scrollable {
/* #ifdef APP-NVUE */
flex: 0;
/* #endif */
/* #ifndef APP-NVUE */
flex: 1;
display: block;
overflow: hidden;
/* #endif */
}

.uni-noticebar__content--single {
/* #ifndef APP-NVUE */
display: flex;
flex: none;
width: 100%;
justify-content: center;
/* #endif */
}

.uni-noticebar__content-text {
font-size: 14px;
line-height: 18px;
/* #ifndef APP-NVUE */
word-break: break-all;
/* #endif */
}

.uni-noticebar__content-text--single {
/* #ifdef APP-NVUE */
lines: 1;
/* #endif */
/* #ifndef APP-NVUE */
display: block;
width: 100%;
white-space: nowrap;
/* #endif */
overflow: hidden;
text-overflow: ellipsis;
}

.uni-noticebar__content-text--scrollable {
/* #ifdef APP-NVUE */
lines: 1;
padding-left: 750rpx;
/* #endif */
/* #ifndef APP-NVUE */
position: absolute;
display: block;
height: 18px;
line-height: 18px;
white-space: nowrap;
padding-left: 100%;
animation: notice 10s 0s linear infinite both;
animation-play-state: paused;
/* #endif */
}

.uni-noticebar__more {
/* #ifndef APP-NVUE */
display: inline-flex;
/* #endif */
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
padding-left: 5px;
}

@keyframes notice {
100% {
transform: translate3d(-100%, 0, 0);
}
}
</style>

+ 87
- 0
uni_modules/uni-notice-bar/package.json Bestand weergeven

@@ -0,0 +1,87 @@
{
"id": "uni-notice-bar",
"displayName": "uni-notice-bar 通告栏",
"version": "1.2.1",
"description": "NoticeBar 通告栏组件,常用于展示公告信息,可设为滚动公告",
"keywords": [
"uni-ui",
"uniui",
"通告栏",
"公告",
"跑马灯"
],
"repository": "https://github.com/dcloudio/uni-ui",
"engines": {
"HBuilderX": ""
},
"directories": {
"example": "../../temps/example_temps"
},
"dcloudext": {
"sale": {
"regular": {
"price": "0.00"
},
"sourcecode": {
"price": "0.00"
}
},
"contact": {
"qq": ""
},
"declaration": {
"ads": "无",
"data": "无",
"permissions": "无"
},
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
"type": "component-vue"
},
"uni_modules": {
"dependencies": [
"uni-scss",
"uni-icons"
],
"encrypt": [],
"platforms": {
"cloud": {
"tcb": "y",
"aliyun": "y"
},
"client": {
"App": {
"app-vue": "y",
"app-nvue": "y"
},
"H5-mobile": {
"Safari": "y",
"Android Browser": "y",
"微信浏览器(Android)": "y",
"QQ浏览器(Android)": "y"
},
"H5-pc": {
"Chrome": "y",
"IE": "y",
"Edge": "y",
"Firefox": "y",
"Safari": "y"
},
"小程序": {
"微信": "y",
"阿里": "y",
"百度": "y",
"字节跳动": "y",
"QQ": "y"
},
"快应用": {
"华为": "u",
"联盟": "u"
},
"Vue": {
"vue2": "y",
"vue3": "y"
}
}
}
}
}

+ 13
- 0
uni_modules/uni-notice-bar/readme.md Bestand weergeven

@@ -0,0 +1,13 @@


## NoticeBar 通告栏
> **组件名:uni-notice-bar**
> 代码块: `uNoticeBar`


通告栏组件 。

### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-notice-bar)
#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839



Laden…
Annuleren
Opslaan