小鹿骑行

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

View File

@ -118,6 +118,11 @@
{ name: 'platinum', className: 'theme-platinum', iconColor: '#fff' }, // { name: 'platinum', className: 'theme-platinum', iconColor: '#fff' }, //
{ name: 'gold', className: 'theme-gold', iconColor: '#fff' }, // { name: 'gold', className: 'theme-gold', iconColor: '#fff' }, //
{ name: 'silver', className: 'theme-silver', 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' } // { name: 'normal', className: 'theme-normal', iconColor: '#fff' } //
] ]
} }
@ -420,7 +425,7 @@
background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%); // background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%); //
border: 2rpx solid #333; 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); } .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); } .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; } .c1 { background: #FFD700; top: -20%; right: -10%; width: 300rpx; height: 300rpx; opacity: 0.15; }
@ -457,7 +462,52 @@
.decoration-badge { opacity: 0.3; } .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 { &.theme-normal {
background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
box-shadow: 0 16rpx 32rpx rgba(79, 172, 254, 0.3); box-shadow: 0 16rpx 32rpx rgba(79, 172, 254, 0.3);

View File

@ -1,6 +1,6 @@
<template> <template>
<view class="page"> <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"> title-size='36' height='36' id="navbar">
</u-navbar> </u-navbar>
<view class="form"> <view class="form">
@ -22,7 +22,7 @@
{{txt}} {{txt}}
</view> --> </view> -->
</view> </view>
<button class="bc" @click="btnbc">保存</button> <button class="bc" @click="btnbc">{{ isEdit ? '保存' : '添加' }}</button>
</view> </view>
</template> </template>
@ -42,17 +42,27 @@
}, },
areaId:'', areaId:'',
token:'', token:'',
obj:{}, obj:{
id:'' title: '',
duration: 0
},
id:'',
agreementType: 0, // 0- 1-
isEdit: false //
}; };
}, },
components: { components: {
piaoyiEditor piaoyiEditor
}, },
onLoad(option) { 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.getqiniuyun()
this.getxieyi() if (this.isEdit) {
this.getxieyi()
}
}, },
methods: { methods: {
saveContens(e) { saveContens(e) {
@ -77,30 +87,104 @@
}, },
// //
btnbc(){ btnbc(){
let data = { //
id:this.id, if (!this.obj.title || !this.obj.title.trim()) {
title:this.obj.title, uni.showToast({
duration:Number(this.obj.duration) || 0, title: '请输入标题',
content:this.txt || this.values icon: 'none',
duration: 2000
})
return
} }
this.$u.put(`/bst/agreement`,data).then((res) => {
if (res.code == 200) { //
uni.showToast({ const content = this.txt || this.values || ''
title: '保存成功', if (!content || !content.trim()) {
icon: 'success', uni.showToast({
duration:3000 title: '请输入内容',
}) icon: 'none',
setTimeout(()=>{ duration: 2000
uni.navigateBack() })
},1500) return
}else{ }
uni.showToast({
title: res.msg, if (this.isEdit) {
icon: 'none', // - PUT
duration:3000 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) { onShareAppMessage(res) {

View File

@ -6,17 +6,51 @@
<view class="content"> <view class="content">
<!-- 加载态 --> <!-- 加载态 -->
<view v-if="loading" class="loading">加载中</view> <view v-if="loading" class="loading">加载中</view>
<!-- 空态 -->
<view v-else-if="isEmpty" class="empty">暂无数据</view>
<!-- 列表 --> <!-- 列表 -->
<scroll-view v-else scroll-y class="list"> <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="card-wrapper">
<view class="item__meta"> <view class="card-header">
<text class="meta__area">{{ item.areaName || '-' }}</text> <text class="card-title">公告</text>
<text class="meta__time">{{ item.duration || '-' }}</text> <view v-if="hasNotice" class="card-status">
<text v-if="item.agreementType == 0">公告</text> <text class="status-text">已设置</text>
<text v-if="item.agreementType == 1">协议</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>
</view> </view>
</scroll-view> </scroll-view>
@ -34,7 +68,10 @@
areaId:'', areaId:'',
list: [], list: [],
loading: false, loading: false,
isEmpty: false, noticeItem: null, //
agreementItem: null, //
hasNotice: false, //
hasAgreement: false, //
}; };
}, },
onLoad(option) { onLoad(option) {
@ -51,14 +88,25 @@
if (res && res.code == 200) { if (res && res.code == 200) {
const rows = (res.data && (res.data.rows || res.data.list)) || res.rows || [] const rows = (res.data && (res.data.rows || res.data.list)) || res.rows || []
this.list = Array.isArray(rows) ? 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 { } else {
this.list = [] this.list = []
this.isEmpty = true this.hasNotice = false
this.hasAgreement = false
this.noticeItem = null
this.agreementItem = null
} }
}).catch(() => { }).catch(() => {
this.list = [] this.list = []
this.isEmpty = true this.hasNotice = false
this.hasAgreement = false
this.noticeItem = null
this.agreementItem = null
}).finally(() => { }).finally(() => {
this.loading = false this.loading = false
}) })
@ -67,6 +115,12 @@
uni.navigateTo({ uni.navigateTo({
url:'/page_shanghu/gonggao?id=' + id 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; box-sizing: border-box;
} }
.loading, .loading {
.empty {
text-align: center; text-align: center;
color: #999; color: #999;
padding: 48rpx 0; padding: 48rpx 0;
@ -94,36 +147,127 @@
max-height: 100%; max-height: 100%;
} }
.item { .card-wrapper {
padding: 28rpx 24rpx; background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
border-radius: 16rpx; border-radius: 20rpx;
background: #f1f1f1; padding: 32rpx;
margin-bottom: 24rpx; 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-size: 32rpx;
font-weight: 600; font-weight: 600;
color: #262B37; color: #262B37;
margin-bottom: 12rpx; margin-bottom: 16rpx;
line-height: 1.5;
} }
.item__meta { .card-item__meta {
font-size: 24rpx; font-size: 24rpx;
color: #7A7F8A; color: #7A7F8A;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 12rpx; gap: 16rpx;
margin-bottom: 8rpx;
} }
.meta__dot { color: #bbb; } .meta__area {
.meta__time { margin-left: auto; } padding: 4rpx 12rpx;
background: #f5f5f5;
border-radius: 8rpx;
}
.item__brief { .meta__time {
font-size: 26rpx; margin-left: auto;
color: #4A4F59; color: #4297F3;
margin-top: 8rpx; font-weight: 500;
line-height: 1.6; }
.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> </style>

View File

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

View File

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

View File

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

View File

@ -1114,7 +1114,10 @@
this.$u.post(`/app/order/calcFee`, data).then(res => { this.$u.post(`/app/order/calcFee`, data).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.fuzhuobj = res.data 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 this.ddflag = true
} else { } else {
let that = this let that = this
@ -2403,7 +2406,64 @@
padding-bottom: 200rpx; padding-bottom: 200rpx;
box-sizing: border-box; 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 { .map-wrapper {
width: 100%; width: 100%;
height: 400rpx; height: 400rpx;

View File

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

View File

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

View File

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

View File

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