小鹿骑行

This commit is contained in:
吴鹏 2025-12-26 16:56:36 +08:00
parent 812c9facf4
commit da818eb65d
13 changed files with 492 additions and 140 deletions

View File

@ -1,7 +1,7 @@
const install = (Vue, vm) => {
uni.setStorageSync('deptId', 100);
Vue.prototype.$u.http.setConfig({
// baseUrl: 'http://192.168.1.15:4101', //键辉本地
// baseUrl: 'http://192.168.1.3:4101', //键辉本地
// baseUrl: 'http://192.168.2.221:4101', //景森本地
baseUrl: 'https://ele.ccttiot.com/prod-api', //线上 小鹿appid wx8a05cf95418a6859 小兔骑骑appidwx38f96c87621a87ab 遇福兴https://fu.chuantewulian.cn wxcb1d6a5d9dca8bbe
// baseUrl: 'https://cc.ccttiot.com/prod-api', //叉车线上

View File

@ -118,6 +118,11 @@
{ name: 'platinum', className: 'theme-platinum', iconColor: '#fff' }, //
{ name: 'gold', className: 'theme-gold', iconColor: '#fff' }, //
{ name: 'silver', className: 'theme-silver', iconColor: '#fff' }, //
{ name: 'emerald', className: 'theme-emerald', iconColor: '#fff' }, //
{ name: 'ruby', className: 'theme-ruby', iconColor: '#fff' }, //
{ name: 'violet', className: 'theme-violet', iconColor: '#fff' }, //
{ name: 'cyan', className: 'theme-cyan', iconColor: '#fff' }, //
{ name: 'pink', className: 'theme-pink', iconColor: '#fff' }, //
{ name: 'normal', className: 'theme-normal', iconColor: '#fff' } //
]
}
@ -420,7 +425,7 @@
background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%); //
border: 2rpx solid #333;
.vip-name { color: #FFD700; background: linear-gradient(to right, #FFD700, #FDB931); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.vip-name { color: #FFD700; background: linear-gradient(to right, #FFD700, #FDB931); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.progress-bar-fill { background: linear-gradient(90deg, #FFD700, #FDB931); }
.icon-box { background: rgba(255, 215, 0, 0.15); border: 1px solid rgba(255, 215, 0, 0.3); }
.c1 { background: #FFD700; top: -20%; right: -10%; width: 300rpx; height: 300rpx; opacity: 0.15; }
@ -457,7 +462,52 @@
.decoration-badge { opacity: 0.3; }
}
// 5. ()
// 5. (绿)
&.theme-emerald {
background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
box-shadow: 0 16rpx 32rpx rgba(17, 153, 142, 0.3);
.c1 { background: #fff; top: -30%; right: -10%; width: 350rpx; height: 350rpx; opacity: 0.25; }
.c2 { background: #38ef7d; bottom: -20%; left: -10%; width: 250rpx; height: 250rpx; opacity: 0.2; }
}
// 6. ()
&.theme-ruby {
background: linear-gradient(135deg, #eb3349 0%, #f45c43 100%);
box-shadow: 0 16rpx 32rpx rgba(235, 51, 73, 0.3);
.c1 { background: #fff; top: 0; right: 0; width: 300rpx; height: 300rpx; opacity: 0.2; }
.c2 { background: #f45c43; bottom: -30%; left: 10%; width: 280rpx; height: 280rpx; opacity: 0.25; }
}
// 7. ()
&.theme-violet {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
box-shadow: 0 16rpx 32rpx rgba(102, 126, 234, 0.3);
.c1 { background: #fff; top: -20%; right: -5%; width: 320rpx; height: 320rpx; opacity: 0.2; }
.c2 { background: #764ba2; bottom: -25%; left: -5%; width: 240rpx; height: 240rpx; opacity: 0.3; }
}
// 8. (绿)
&.theme-cyan {
background: linear-gradient(135deg, #00d2ff 0%, #3a7bd5 100%);
box-shadow: 0 16rpx 32rpx rgba(0, 210, 255, 0.3);
.c1 { background: #fff; top: 10%; right: 10%; width: 280rpx; height: 280rpx; opacity: 0.25; }
.c2 { background: #3a7bd5; bottom: -15%; left: 5%; width: 220rpx; height: 220rpx; opacity: 0.2; }
}
// 9. ()
&.theme-pink {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
box-shadow: 0 16rpx 32rpx rgba(240, 147, 251, 0.3);
.c1 { background: #fff; top: -10%; right: 0; width: 300rpx; height: 300rpx; opacity: 0.3; }
.c2 { background: #f5576c; bottom: -20%; left: 0; width: 260rpx; height: 260rpx; opacity: 0.25; }
}
// 10. ()
&.theme-normal {
background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
box-shadow: 0 16rpx 32rpx rgba(79, 172, 254, 0.3);

View File

@ -1,6 +1,6 @@
<template>
<view class="page">
<u-navbar title="公告协议" :border-bottom="false" :background="bgc" back-icon-color="#262B37" title-color='#262B37'
<u-navbar :title="isEdit ? '编辑' + (agreementType == 0 ? '公告' : '协议') : '添加' + (agreementType == 0 ? '公告' : '协议')" :border-bottom="false" :background="bgc" back-icon-color="#262B37" title-color='#262B37'
title-size='36' height='36' id="navbar">
</u-navbar>
<view class="form">
@ -22,7 +22,7 @@
{{txt}}
</view> -->
</view>
<button class="bc" @click="btnbc">保存</button>
<button class="bc" @click="btnbc">{{ isEdit ? '保存' : '添加' }}</button>
</view>
</template>
@ -42,17 +42,27 @@
},
areaId:'',
token:'',
obj:{},
id:''
obj:{
title: '',
duration: 0
},
id:'',
agreementType: 0, // 0- 1-
isEdit: false //
};
},
components: {
piaoyiEditor
},
onLoad(option) {
this.id = option.id
this.id = option.id || ''
this.areaId = option.areaId || ''
this.agreementType = option.agreementType ? Number(option.agreementType) : 0
this.isEdit = !!this.id
this.getqiniuyun()
this.getxieyi()
if (this.isEdit) {
this.getxieyi()
}
},
methods: {
saveContens(e) {
@ -77,30 +87,104 @@
},
//
btnbc(){
let data = {
id:this.id,
title:this.obj.title,
duration:Number(this.obj.duration) || 0,
content:this.txt || this.values
//
if (!this.obj.title || !this.obj.title.trim()) {
uni.showToast({
title: '请输入标题',
icon: 'none',
duration: 2000
})
return
}
this.$u.put(`/bst/agreement`,data).then((res) => {
if (res.code == 200) {
uni.showToast({
title: '保存成功',
icon: 'success',
duration:3000
})
setTimeout(()=>{
uni.navigateBack()
},1500)
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration:3000
})
//
const content = this.txt || this.values || ''
if (!content || !content.trim()) {
uni.showToast({
title: '请输入内容',
icon: 'none',
duration: 2000
})
return
}
if (this.isEdit) {
// - PUT
let data = {
id: this.id,
title: this.obj.title,
duration: Number(this.obj.duration) || 0,
content: content
}
})
this.$u.put(`/bst/agreement`, data).then((res) => {
if (res.code == 200) {
uni.showToast({
title: '保存成功',
icon: 'success',
duration: 3000
})
setTimeout(() => {
uni.navigateBack()
}, 1500)
} else {
uni.showToast({
title: res.msg || '保存失败',
icon: 'none',
duration: 3000
})
}
}).catch((err) => {
uni.showToast({
title: '保存失败,请重试',
icon: 'none',
duration: 3000
})
})
} else {
// - POST
// areaId
if (!this.areaId) {
uni.showToast({
title: '区域ID不能为空',
icon: 'none',
duration: 2000
})
return
}
let data = {
title: this.obj.title,
agreementType: this.agreementType,
areaId: this.areaId,
contentType: 2,
content: content,
duration: Number(this.obj.duration) || 0
}
this.$u.post(`/bst/agreement`, data).then((res) => {
if (res.code == 200) {
uni.showToast({
title: '添加成功',
icon: 'success',
duration: 3000
})
setTimeout(() => {
uni.navigateBack()
}, 1500)
} else {
uni.showToast({
title: res.msg || '添加失败',
icon: 'none',
duration: 3000
})
}
}).catch((err) => {
uni.showToast({
title: '添加失败,请重试',
icon: 'none',
duration: 3000
})
})
}
}
},
onShareAppMessage(res) {

View File

@ -6,17 +6,51 @@
<view class="content">
<!-- 加载态 -->
<view v-if="loading" class="loading">加载中</view>
<!-- 空态 -->
<view v-else-if="isEmpty" class="empty">暂无数据</view>
<!-- 列表 -->
<scroll-view v-else scroll-y class="list">
<view class="item" v-for="item in list" :key="item.id" @click="btnid(item.id)">
<view class="item__title">{{ item.title }}</view>
<view class="item__meta">
<text class="meta__area">{{ item.areaName || '-' }}</text>
<text class="meta__time">{{ item.duration || '-' }}</text>
<text v-if="item.agreementType == 0">公告</text>
<text v-if="item.agreementType == 1">协议</text>
<!-- 公告卡片 -->
<view class="card-wrapper">
<view class="card-header">
<text class="card-title">公告</text>
<view v-if="hasNotice" class="card-status">
<text class="status-text">已设置</text>
</view>
</view>
<view v-if="hasNotice" class="card-content" @click="btnid(noticeItem.id)">
<view class="card-item">
<view class="card-item__title">{{ noticeItem.title }}</view>
<view class="card-item__meta">
<text class="meta__area">{{ noticeItem.areaName || '-' }}</text>
<text class="meta__time">{{ noticeItem.duration || '-' }}</text>
</view>
</view>
</view>
<view v-else class="card-empty">
<text class="empty-text">暂未设置公告</text>
<button class="add-btn" @click="goToAdd(0)">去添加</button>
</view>
</view>
<!-- 协议卡片 -->
<view class="card-wrapper">
<view class="card-header">
<text class="card-title">协议</text>
<view v-if="hasAgreement" class="card-status">
<text class="status-text">已设置</text>
</view>
</view>
<view v-if="hasAgreement" class="card-content" @click="btnid(agreementItem.id)">
<view class="card-item">
<view class="card-item__title">{{ agreementItem.title }}</view>
<view class="card-item__meta">
<text class="meta__area">{{ agreementItem.areaName || '-' }}</text>
<text class="meta__time">{{ agreementItem.duration || '-' }}</text>
</view>
</view>
</view>
<view v-else class="card-empty">
<text class="empty-text">暂未设置协议</text>
<button class="add-btn" @click="goToAdd(1)">去添加</button>
</view>
</view>
</scroll-view>
@ -34,7 +68,10 @@
areaId:'',
list: [],
loading: false,
isEmpty: false,
noticeItem: null, //
agreementItem: null, //
hasNotice: false, //
hasAgreement: false, //
};
},
onLoad(option) {
@ -51,14 +88,25 @@
if (res && res.code == 200) {
const rows = (res.data && (res.data.rows || res.data.list)) || res.rows || []
this.list = Array.isArray(rows) ? rows : []
this.isEmpty = this.list.length === 0
//
this.noticeItem = this.list.find(item => item.agreementType == 0) || null
this.agreementItem = this.list.find(item => item.agreementType == 1) || null
this.hasNotice = !!this.noticeItem
this.hasAgreement = !!this.agreementItem
} else {
this.list = []
this.isEmpty = true
this.hasNotice = false
this.hasAgreement = false
this.noticeItem = null
this.agreementItem = null
}
}).catch(() => {
this.list = []
this.isEmpty = true
this.hasNotice = false
this.hasAgreement = false
this.noticeItem = null
this.agreementItem = null
}).finally(() => {
this.loading = false
})
@ -67,6 +115,12 @@
uni.navigateTo({
url:'/page_shanghu/gonggao?id=' + id
})
},
//
goToAdd(agreementType){
uni.navigateTo({
url:`/page_shanghu/gonggao?areaId=${this.areaId}&agreementType=${agreementType}`
})
}
},
}
@ -83,8 +137,7 @@
box-sizing: border-box;
}
.loading,
.empty {
.loading {
text-align: center;
color: #999;
padding: 48rpx 0;
@ -94,36 +147,127 @@
max-height: 100%;
}
.item {
padding: 28rpx 24rpx;
border-radius: 16rpx;
background: #f1f1f1;
.card-wrapper {
background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
border-radius: 20rpx;
padding: 32rpx;
margin-bottom: 24rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
border: 2rpx solid #f0f0f0;
}
.item__title {
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24rpx;
padding-bottom: 20rpx;
border-bottom: 2rpx solid #f0f0f0;
}
.card-title {
font-size: 36rpx;
font-weight: 700;
color: #262B37;
position: relative;
padding-left: 16rpx;
}
.card-title::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 6rpx;
height: 28rpx;
background: linear-gradient(180deg, #4297F3 0%, #5BA3F5 100%);
border-radius: 3rpx;
}
.card-status {
background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
padding: 8rpx 20rpx;
border-radius: 20rpx;
}
.status-text {
font-size: 24rpx;
color: #4caf50;
font-weight: 600;
}
.card-item {
padding: 24rpx;
background: #ffffff;
border-radius: 16rpx;
border: 2rpx solid #e8e8e8;
transition: all 0.3s ease;
}
.card-item:active {
transform: scale(0.98);
box-shadow: 0 2rpx 12rpx rgba(66, 151, 243, 0.2);
border-color: #4297F3;
}
.card-item__title {
font-size: 32rpx;
font-weight: 600;
color: #262B37;
margin-bottom: 12rpx;
margin-bottom: 16rpx;
line-height: 1.5;
}
.item__meta {
.card-item__meta {
font-size: 24rpx;
color: #7A7F8A;
display: flex;
align-items: center;
gap: 12rpx;
margin-bottom: 8rpx;
gap: 16rpx;
}
.meta__dot { color: #bbb; }
.meta__time { margin-left: auto; }
.meta__area {
padding: 4rpx 12rpx;
background: #f5f5f5;
border-radius: 8rpx;
}
.item__brief {
font-size: 26rpx;
color: #4A4F59;
margin-top: 8rpx;
line-height: 1.6;
.meta__time {
margin-left: auto;
color: #4297F3;
font-weight: 500;
}
.card-empty {
text-align: center;
padding: 60rpx 0;
}
.empty-text {
display: block;
font-size: 28rpx;
color: #999;
margin-bottom: 32rpx;
}
.add-btn {
width: 240rpx;
height: 72rpx;
line-height: 72rpx;
background: linear-gradient(135deg, #4297F3 0%, #5BA3F5 100%);
color: #ffffff;
border: none;
border-radius: 36rpx;
font-size: 28rpx;
font-weight: 600;
box-shadow: 0 8rpx 20rpx rgba(66, 151, 243, 0.3);
transition: all 0.3s ease;
}
.add-btn:active {
transform: translateY(2rpx);
box-shadow: 0 4rpx 12rpx rgba(66, 151, 243, 0.3);
}
</style>

View File

@ -40,12 +40,12 @@
class="type-option"
:class="{active: currentindex == index}"
@click="payxz(index,item)">
<u-icon :name="item.picture" size="44" color="#409EFF"></u-icon>
<u-icon :name="item.channelPicture" size="44" color="#409EFF"></u-icon>
<view class="option-text">
<text class="option-name">{{item.outName}}</text>
<text class="option-desc">{{item.remark}}</text>
<text class="option-name">{{item.channelOutName}}</text>
<text class="option-desc">{{item.channelRemark == null ? '' : item.channelRemark}}</text>
</view>
<text style="font-size: 26rpx;color: #333;" v-if="txlist.find(val => val.channelId == item.id)">已绑定</text>
<text style="font-size: 26rpx;color: #333;" v-if="txlist.find(val => val.channelId == item.channelId)">已绑定</text>
<text style="font-size: 26rpx;color: #999;" v-else>未绑定</text>
</view>
</view>
@ -233,34 +233,34 @@
url:'/page_shanghu/mingxi'
})
},
//
payxz(index, val) {
if (this.userInfo.authTypes.some(item => item == 1)) { //
const hasMatched = this.txlist.some(item => item.channelId == val.id);
if (hasMatched) {
const matchedItem = this.txlist.find(item => item.channelId == val.id);
this.channelId = matchedItem.id;
this.currentindex = index;
if (this.amount != '') {
this.ckinpt();
}
if (this.userInfo.authTypes.some(item => item == 1)) { //
const hasMatched = this.txlist.some(item => item.channelId == val.channelId)
if (hasMatched) {
const matchedItem = this.txlist.find(item => item.channelId == val.channelId)
this.channelId = matchedItem.id
this.currentindex = index
if (this.amount != '') {
this.ckinpt()
}
} else {
uni.navigateTo({
url: '/page_user/shoukuan/addsk?activeType=' + val.channelApiType + '&id=' + val.channelId
})
}
} else {
uni.navigateTo({
url: '/page_user/shoukuan/addsk?activeType=' + val.apiType + '&id=' + val.id
});
uni.navigateTo({
url:'/page_user/shiming'
})
}
} else {
uni.navigateTo({
url:'/page_user/shiming'
})
}
},
//
getqudao(){
this.$u.get(`/app/withdrawChannel/listSimple?appId=${this.$store.state.appid}`).then(res =>{
if(res.code == 200){
this.zhanghulist = res.data
}
this.$u.get(`/app/userWithdrawChannel/enabledList?appId=${this.$store.state.appid}`).then(res =>{
if(res.code == 200){
this.zhanghulist = res.data
}
})
},
//
@ -283,11 +283,10 @@
getUserInfo(){
this.$u.get(`/getInfo`).then((res) => {
if (res.code == 200) {
this.userInfo = res.user
// this.getlist()
this.gettxfs()
this.successAmount = res.stat.withdraw.successAmount == null ? 0 : res.stat.withdraw.successAmount
this.waitDivideAmount = res.stat.bonus.waitDivideAmount == null ? 0 : res.stat.bonus.waitDivideAmount
this.userInfo = res.user
this.gettxfs()
this.successAmount = res.stat.withdraw.successAmount == null ? 0 : res.stat.withdraw.successAmount
this.waitDivideAmount = res.stat.bonus.waitDivideAmount == null ? 0 : res.stat.bonus.waitDivideAmount
}
})
},
@ -364,7 +363,6 @@
this.price = 0
this.list = []
this.pageNum = 1
// this.getlist()
this.getUserInfo()
uni.showToast({
title: '提现成功',

View File

@ -165,7 +165,7 @@
<u-switch v-model="data.depositDeduction" @change="toggleUseLimits" active-color="#4C97E7" size="40"></u-switch>
</view>
<template v-if="data.depositDeduction">
<template>
<view class="divider margin-tb"></view>
<view class="switch-item">
<view class="switch-info">
@ -190,7 +190,7 @@
<view class="switch-item">
<view class="switch-info">
<view class="label">超时结束订单</view>
<view class="desc">超出可用时长后自动结束订单</view>
<view class="desc">超出可用时长后自动结束订单</view>
</view>
<u-switch v-model="data.timeoutFinish" @change="toggleUseLimitsss" active-color="#4C97E7" size="40"></u-switch>
</view>
@ -351,7 +351,6 @@
onShow() {
},
methods: {
getAccessoryNameById(id) {
const item = this.Accessorylist.find(accessory => accessory.id == id)
@ -669,25 +668,21 @@
border-left: 8rpx solid #4C97E7;
line-height: 1;
}
.form-item {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24rpx;
.label {
font-size: 28rpx;
color: #333;
font-weight: 500;
}
.input {
flex: 1;
text-align: right;
font-size: 28rpx;
color: #333;
//
height: 72rpx;
background-color: #F5F7FA;

View File

@ -2,12 +2,6 @@
<view class="page">
<u-navbar title="审核管理" :border-bottom="false" :background="bgc" title-color='#000' title-size='36' back-icon-color="#000"
height='44'></u-navbar>
<!-- 顶部占位 -->
<!-- <view class="fixed-header">
... 如果有搜索框可以放这里
</view> -->
<scroll-view class="list-container" @scrolltolower="handleScrollToLower" scroll-y>
<view class="card" v-for="(item,index) in list " :key="index">
<view class="card-header">

View File

@ -1114,7 +1114,10 @@
this.$u.post(`/app/order/calcFee`, data).then(res => {
if (res.code == 200) {
this.fuzhuobj = res.data
if (res.data.manageFee > 0 || res.data.dispatchFee > 0) {
let manageFee = res.data.manageFee == null ? 0 : res.data.manageFee
let dispatchFee = res.data.dispatchFee == null ? 0 : res.data.dispatchFee
console.log(manageFee,dispatchFee,'000000000');
if (manageFee > 0 || dispatchFee > 0) {
this.ddflag = true
} else {
let that = this
@ -2403,7 +2406,64 @@
padding-bottom: 200rpx;
box-sizing: border-box;
}
.diaodu {
position: fixed;
width: 560rpx;
background-color: #fff;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: 24rpx;
overflow: hidden;
z-index: 999;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1);
.top {
width: 100%;
height: 80rpx;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0 30rpx;
box-sizing: border-box;
font-size: 40rpx;
color: #999;
}
.cen {
font-size: 32rpx;
color: #333;
padding: 0 40rpx 40rpx;
box-sizing: border-box;
text-align: center;
line-height: 1.5;
}
.anniu {
display: flex;
height: 100rpx;
border-top: 1px solid #f5f5f5;
view {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
font-weight: 500;
}
.bu {
color: #666;
background: #f8f8f8;
}
.shou {
color: #fff;
background: #4C97E7;
}
}
}
.map-wrapper {
width: 100%;
height: 400rpx;

View File

@ -67,8 +67,6 @@
上月
</view>
</view>
<view class="" style="width: 100%;height: 20rpx;"></view>
<!-- 营收类 -->
<view class="" style="height: 80vh;overflow: scroll;" v-if="index == 0">
@ -127,8 +125,6 @@
</view>
</view>
</view> -->
<view class="ordertj">
<view class="one">
<view class="two">

View File

@ -25,9 +25,11 @@
},
onLoad() {
this.http = 'https://ele.ccttiot.com/ext?url=' + encodeURIComponent('https://player.bilibili.com/player.html?isOutside=true&aid=114369123849636&bvid=BV1CuLczFEe2&cid=29515777844&p=1')
// this.http = 'https://weixin.qq.com/sph/AclK6wcxT'
console.log(this.http);
},
methods: {
//
onWebViewLoad(e) {
console.log('网页加载完成', e)
uni.showToast({ title: '页面加载完成', icon: 'none' })

View File

@ -31,27 +31,44 @@
<u-input v-model="bankForm.bankName" placeholder="请输入开户行名称" border="none" class="custom-input"></u-input>
</view>
<view class="form-item">
<!-- <view class="form-item">
<view class="form-label">持卡人姓名</view>
<u-input v-model="bankForm.name" placeholder="请输入持卡人姓名" border="none" class="custom-input"></u-input>
</view>
</view> -->
<view class="form-item">
<view class="form-label">银行卡号</view>
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input"></u-input>
</view>
<view class="form-item">
<!-- <view class="form-item">
<view class="form-label">身份证号</view>
<u-input v-model="bankForm.idCard" placeholder="请输入身份证号" border="none" class="custom-input"></u-input>
</view>
</view> -->
<view class="form-item" style="border-bottom: none;">
<view class="form-item" v-if="activeType != 'PUBLIC_BANK'" style="border-bottom: none;">
<view class="form-label">手机号</view>
<u-input v-model="bankForm.mobile" placeholder="请输入手机号" border="none" class="custom-input"></u-input>
</view>
</view>
<!-- 太米对公钱包绑定表单 -->
<view class="section-card" v-if="activeType == 'TM_PUBLIC_WALLET'">
<view class="section-title">绑定银行卡信息</view>
<view class="form-item">
<view class="form-label">银行卡号</view>
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input"></u-input>
</view>
<view class="form-item">
<view class="form-label">开户行名称</view>
<u-input v-model="bankForm.bankName" placeholder="请输入开户行名称" border="none" class="custom-input"></u-input>
</view>
<view class="form-item" style="border-bottom: none;">
<view class="form-label">联行号</view>
<u-input v-model="bankForm.contactLine" placeholder="请输入联行号" border="none" class="custom-input"></u-input>
</view>
</view>
<!-- 二维码收款设置 -->
<view class="section-card" v-if="activeType == 'QR_CODE'">
<view class="section-title">上传收款二维码</view>
@ -62,34 +79,34 @@
<text class="upload-tip" v-if="!bankForm.no">点击上传二维码</text>
</view>
</view>
<view class="form-item" style="margin-top: 20rpx;">
<!-- <view class="form-item" style="margin-top: 20rpx;">
<view class="form-label">收款人姓名</view>
<u-input v-model="bankForm.name" placeholder="请输入收款人姓名" border="none" class="custom-input"></u-input>
</view>
<view class="form-item">
</view> -->
<!-- <view class="form-item">
<view class="form-label">收款人身份证号</view>
<u-input v-model="bankForm.idCard" placeholder="请输入收款人身份证号" border="none" class="custom-input"></u-input>
</view>
<view class="form-item" style="border-bottom: none;">
</view> -->
<!-- <view class="form-item" style="border-bottom: none;">
<view class="form-label">收款人手机号</view>
<u-input v-model="bankForm.mobile" placeholder="请输入收款人手机号" border="none" class="custom-input"></u-input>
</view>
</view> -->
</view>
<!-- 太米收款设置 -->
<view class="section-card" v-if="activeType == 'TM_WALLET'">
<view class="section-title">绑定银行卡信息</view>
<view class="form-item">
<!-- <view class="form-item">
<view class="form-label">持卡人姓名</view>
<u-input v-model="bankForm.name" placeholder="请输入持卡人姓名" border="none" class="custom-input"></u-input>
</view>
</view> -->
<view class="form-item">
<view class="form-label">银行卡号</view>
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input"></u-input>
</view>
<view class="form-item">
<!-- <view class="form-item">
<view class="form-label">身份证号</view>
<u-input v-model="bankForm.idCard" placeholder="请输入身份证号" border="none" class="custom-input"></u-input>
</view>
</view> -->
<view class="form-item" style="border-bottom: none;">
<view class="form-label">手机号</view>
<u-input v-model="bankForm.mobile" placeholder="请输入手机号" border="none" class="custom-input"></u-input>
@ -126,7 +143,8 @@ export default {
idCard: '',
mobile: '',
no:'',
bankName: '' //
bankName: '', //
contactLine: '' //
},
token: '', // token
upurl: 'https://api.ccttiot.com', //
@ -140,7 +158,7 @@ export default {
onLoad(e) {
this.activeType = e.activeType
this.activeTypeid = e.id
this.getqudao()
// this.getqudao()
this.getQiniuToken()
},
methods: {
@ -149,13 +167,13 @@ export default {
this.activeTypeid = item.id
},
//
getqudao(){
this.$u.get(`/app/withdrawChannel/listSimple?appId=${this.$store.state.appid}`).then(res =>{
if(res.code == 200){
this.zhanghulist = res.data
}
})
},
// getqudao(){
// this.$u.get(`/app/userWithdrawChannel/enabledList?appId=${this.$store.state.appid}`).then(res =>{
// if(res.code == 200){
// this.zhanghulist = res.data
// }
// })
// },
// token
getQiniuToken() {
this.$u.get("/common/qiniuToken").then((res) => {
@ -246,6 +264,17 @@ export default {
})
return
}
//
if(this.activeType == 'TM_PUBLIC_WALLET'){
if(!this.bankForm.no || !this.bankForm.bankName || !this.bankForm.contactLine){
uni.showToast({
title: '请填写完整信息',
icon: 'none',
duration:2000
})
return
}
}
uni.showLoading({ title: '添加中...' })
// BANK PUBLIC_BANK
let data = {

View File

@ -391,7 +391,7 @@
//
onShareAppMessage: function () {
return {
title: '小鹿骑行',
title: '快来一起骑行吧',
path: '/pages/nearbystores/index'
}
},
@ -399,7 +399,7 @@
//
onShareTimeline: function () {
return {
title: '小鹿骑行',
title: '快来一起骑行吧',
query: '',
path: '/pages/nearbystores/index'
}

View File

@ -8,7 +8,7 @@ const store = new Vuex.Store({
isLogin: false,
userInfo: null,
token:"",
appid:'1',//1小鹿 6创享 2嵛山岛 7小兔 8福兴
appid:'1',//1小鹿 6创享 2嵛山岛 7小兔 1福兴
// 电动车图标
iconobj:{
tabcion:'https://api.ccttiot.com/smartmeter/img/static/uIiSizdNVb65ATEXvxfT', //底部导航栏图标