Merge branch 'bd-test' of gitee.com:cabbage_qd/web-base-h5 into bd-online

This commit is contained in:
woody 2025-08-11 09:38:20 +08:00
commit 928a26a273
7 changed files with 260 additions and 170 deletions

View File

@ -2,7 +2,9 @@
<div v-if="popupVisible" class="region-select-overlay"> <div v-if="popupVisible" class="region-select-overlay">
<div class="region-select-popup"> <div class="region-select-popup">
<div class="popup-header"> <div class="popup-header">
<h3 class="popup-title">选择收益区域({{ typeEnumMap[area] }})</h3> <h3 class="popup-title">
{{ reselected ? '修改' : '选择' }}收益区域({{ typeEnumMap[area] }})
</h3>
</div> </div>
<div class="popup-content"> <div class="popup-content">
<picker-view <picker-view
@ -60,6 +62,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
reselected: {
type: Boolean,
default: false,
},
}, },
data() { data() {
return { return {

View File

@ -1,202 +1,242 @@
const http = uni.$u.http const http = uni.$u.http
// 钱包余额 // 钱包余额
export const getWalletBalance = (params) => http.get('/member/api/wallet/balance', { export const getWalletBalance = params =>
params http.get('/member/api/wallet/balance', {
}) params,
})
//提现账户 //提现账户
export const getPkBdAccountList = (params) => http.get('/system/api/account/pkBdAccountList', { export const getPkBdAccountList = params =>
params http.get('/system/api/account/pkBdAccountList', {
}) params,
})
//提现选择银行卡 //提现选择银行卡
export const getDefaultBank = (params) => http.get('/member/api/bank/default-bank', { export const getDefaultBank = params =>
params http.get('/member/api/bank/default-bank', {
}) params,
})
//校验是否绑定银行卡 //校验是否绑定银行卡
export const checkIsbindBank = (params) => http.get('/member/api/bank/is-bind', { export const checkIsbindBank = params =>
params http.get('/member/api/bank/is-bind', {
}) params,
})
//提现页面展示 //提现页面展示
export const getWidthdrawShow = (params) => http.get('/member/api/withdraw/show/add', { export const getWidthdrawShow = params =>
params http.get('/member/api/withdraw/show/add', {
}) params,
})
//确认提现 //确认提现
export const addWithdraw = (params) => http.post('/member/api/withdraw/add', params) export const addWithdraw = params =>
http.post('/member/api/withdraw/add', params)
//提现明细列表 //提现明细列表
export const getWithdrawList = (params) => http.get('/member/api/withdraw/list-detail', { export const getWithdrawList = params =>
params http.get('/member/api/withdraw/list-detail', {
}) params,
})
//提现撤销 //提现撤销
export const cancelWithdraw = (params) => http.get('/member/api/withdraw/cancel', { export const cancelWithdraw = params =>
params http.get('/member/api/withdraw/cancel', {
}) params,
})
//获取转账转出账户 //获取转账转出账户
export const getTransferAccount = (params) => http.get('/member/api/transfer/transfer-account', { export const getTransferAccount = params =>
params http.get('/member/api/transfer/transfer-account', {
}) params,
})
//根据用户编号查询用户姓名 //根据用户编号查询用户姓名
export const getTransferChineseName = (params) => http.get('/member/api/transfer/chinese-name', { export const getTransferChineseName = params =>
params http.get('/member/api/transfer/chinese-name', {
}) params,
})
//查询选择账户可转账余额 //查询选择账户可转账余额
export const getTransferMember = (params) => http.get('/member/api/transfer/member-balance', { export const getTransferMember = params =>
params http.get('/member/api/transfer/member-balance', {
}) params,
})
//确认转账 //确认转账
export const addTransfer = (params) => http.post('/member/api/transfer/add', params) export const addTransfer = params =>
http.post('/member/api/transfer/add', params)
//钱包银行卡列表 //钱包银行卡列表
export const getBankList = (params) => http.get('/member/api/bank/list', { export const getBankList = params =>
params http.get('/member/api/bank/list', {
}) params,
})
//解除绑定 //解除绑定
export const removeBankBind = (params) => http.get('/member/api/bank/unbind-bank', { export const removeBankBind = params =>
params http.get('/member/api/bank/unbind-bank', {
}) params,
})
//获取银行验证码 //获取银行验证码
export const getVerification = (params) => http.get('/member/api/sms/verification', { export const getVerification = params =>
params http.get('/member/api/sms/verification', {
}) params,
})
//绑定银行卡校验 //绑定银行卡校验
export const verifyBankCard = (params) => http.post('/member/api/bank/verify-bank-card', params) export const verifyBankCard = params =>
http.post('/member/api/bank/verify-bank-card', params)
//是否配置白名单 白名单不进行银行卡四要素校验 //是否配置白名单 白名单不进行银行卡四要素校验
export const checkIfWhite = (params) => http.get('/member/api/bank/is-white-list', { export const checkIfWhite = params =>
params http.get('/member/api/bank/is-white-list', {
}) params,
})
//银行卡选择下拉选 //银行卡选择下拉选
export const getBankCardChoiceList = (params) => http.get('/system/api/bank/list', { export const getBankCardChoiceList = params =>
params http.get('/system/api/bank/list', {
}) params,
})
//钱包绑卡 //钱包绑卡
export const bindWalletBankAdd = (params) => http.post('/member/api/bank/add', params) export const bindWalletBankAdd = params =>
http.post('/member/api/bank/add', params)
// 交易明细 // 交易明细
export const getTransactionDetails = (params) => http.post('/member/api/wallet/transaction-details?pageNum=' + params export const getTransactionDetails = params =>
.pageNum + "&pageSize=" + params.pageSize, params) http.post(
'/member/api/wallet/transaction-details?pageNum=' +
params.pageNum +
'&pageSize=' +
params.pageSize,
params
)
//交易类型下拉选 //交易类型下拉选
export const getTradeTypeList = (params) => http.get('/member/api/wallet/trade-type', { export const getTradeTypeList = params =>
params http.get('/member/api/wallet/trade-type', {
}) params,
})
//币种-账户类型下拉选 //币种-账户类型下拉选
export const getEnumsAccountList = (params) => http.get('/system/api/account/pkBdAccountList', { export const getEnumsAccountList = params =>
params http.get('/system/api/account/pkBdAccountList', {
}) params,
})
//意见反馈类型 //意见反馈类型
export const getFeedbackType = (params) => http.get('/system/pub/enums/feedback-type', { export const getFeedbackType = params =>
params http.get('/system/pub/enums/feedback-type', {
}) params,
})
//提交意见反馈列表 //提交意见反馈列表
export const saveFeedBack = (params) => http.post('/system/api/feedback/save', params) export const saveFeedBack = params =>
http.post('/system/api/feedback/save', params)
// 公告、站内信、意见反馈数 // 公告、站内信、意见反馈数
export const getNoticeCount = (params) => http.get('/system/api/notice/index-count', { export const getNoticeCount = params =>
params http.get('/system/api/notice/index-count', {
}) params,
})
// 公告站内信列表 公告1站内信2 // 公告站内信列表 公告1站内信2
export const getNoticeList = (params) => http.get('/system/api/notice/index-list', { export const getNoticeList = params =>
params http.get('/system/api/notice/index-list', {
}) params,
})
//意见列表 //意见列表
export const getFeedbackList = (params) => http.get('/system/api/feedback/index-list', { export const getFeedbackList = params =>
params http.get('/system/api/feedback/index-list', {
}) params,
})
//获取公告、站内信详情 //获取公告、站内信详情
export const getNoticeDetail = (params) => http.get('/system/api/notice/index-detail', { export const getNoticeDetail = params =>
params http.get('/system/api/notice/index-detail', {
}) params,
})
//二级密码校验 //二级密码校验
export const checkPwd = (params) => http.get('/member/api/recharge/check-pwd', { export const checkPwd = params =>
params http.get('/member/api/recharge/check-pwd', {
}) params,
})
//是否进行实名认证 //是否进行实名认证
export const getIfAuth = (params) => http.get('/member/api/authentication/is-auth', { export const getIfAuth = params =>
params http.get('/member/api/authentication/is-auth', {
}) params,
})
//证件类型 //证件类型
export const getCardType = (params) => http.get('/system/pub/enums/id-type', { export const getCardType = params =>
params http.get('/system/pub/enums/id-type', {
}) params,
})
//实名认证 //实名认证
export const addAuthentication = (params) => http.post('/member/api/authentication/add', params) export const addAuthentication = params =>
http.post('/member/api/authentication/add', params)
//上传图片 //上传图片
export const getUploadUrl = (params) => http.post('/system/upload', params) export const getUploadUrl = params => http.post('/system/upload', params)
//成长之路-等级 //成长之路-等级
export const getGrowUpGrade = (params) => http.get('/member/api/member-footmark/grow-up-footmark-grade', { export const getGrowUpGrade = params =>
params http.get('/member/api/member-footmark/grow-up-footmark-grade', {
}) params,
})
//成长之路-奖衔 //成长之路-奖衔
export const getGrowUpAwards = (params) => http.get('/member/api/member-footmark/grow-up-footmark-awards', { export const getGrowUpAwards = params =>
params http.get('/member/api/member-footmark/grow-up-footmark-awards', {
}) params,
})
//是否上传营业执照 //是否上传营业执照
export const getIsExist = (params) => http.get('/member/api/business/license/is-exist', { export const getIsExist = params =>
params http.get('/member/api/business/license/is-exist', {
}) params,
})
//上传营业执照 //上传营业执照
export const addLicense = (params) => http.post('/member/api/business/license/add', params) export const addLicense = params =>
http.post('/member/api/business/license/add', params)
//营业执照详情 //营业执照详情
export const getLicenseDetail = (params) => http.get('/member/api/business/license/detail', { export const getLicenseDetail = params =>
params http.get('/member/api/business/license/detail', {
}) params,
})
//修改营业执照 //修改营业执照
export const updateLicense = (params) => http.post('/member/api/business/license/update', params) export const updateLicense = params =>
http.post('/member/api/business/license/update', params)
//ocr //ocr
export const ocrIdCard = (params) => http.post('/member/api/authentication/invoke-idCard', params) export const ocrIdCard = params =>
http.post('/member/api/authentication/invoke-idCard', params)
//ocrBack //ocrBack
export const ocrIdCardBack = (params) => http.post('/member/api/authentication/invoke-idCard-back', params) export const ocrIdCardBack = params =>
http.post('/member/api/authentication/invoke-idCard-back', params)
//实名认证详情 //实名认证详情
export const authenticationDetails = (params) => http.get('/member/api/authentication/detail', { export const authenticationDetails = params =>
params http.get('/member/api/authentication/detail', {
}) params,
})
//实名认证详情续约用 //实名认证详情续约用
export const agreementName = (params) => http.get('/member/api/authentication/agreement-real-name', { export const agreementName = params =>
params http.get('/member/api/authentication/agreement-real-name', {
}) params,
})
//设置默认银行卡 //设置默认银行卡
export const updateDefault = (params) => http.get('/member/api/bank/update-default', { export const updateDefault = params =>
params http.get('/member/api/bank/update-default', {
}) params,
})

View File

@ -101,6 +101,11 @@
<script> <script>
import * as bal from '@/config/balance.js' import * as bal from '@/config/balance.js'
const BALANCE_TYPE = {
RECHARGE: 1,
WITHDRAW: 2,
TRANSFER: 3,
}
export default { export default {
data() { data() {
return { return {
@ -108,17 +113,17 @@ export default {
{ {
name: '充值', name: '充值',
path: '/pages/pay/index', path: '/pages/pay/index',
id: '1', id: BALANCE_TYPE.RECHARGE,
}, },
{ {
name: '提现', name: '提现',
path: '/pages/mine/balance/withdrawal', path: '/pages/mine/balance/withdrawal',
id: '2', id: BALANCE_TYPE.WITHDRAW,
}, },
{ {
name: '转账', name: '转账',
path: '/pages/mine/balance/transfer', path: '/pages/mine/balance/transfer',
id: '3', id: BALANCE_TYPE.TRANSFER,
}, },
], ],
tabActive: '', tabActive: '',
@ -155,12 +160,12 @@ export default {
{ {
name: '充值', name: '充值',
path: '/pages/pay/index', path: '/pages/pay/index',
id: '1', id: BALANCE_TYPE.RECHARGE,
}, },
{ {
name: '提现', name: '提现',
path: '/pages/mine/balance/withdrawal', path: '/pages/mine/balance/withdrawal',
id: '2', id: BALANCE_TYPE.WITHDRAW,
}, },
] ]
} else { } else {
@ -168,17 +173,17 @@ export default {
{ {
name: '充值', name: '充值',
path: '/pages/pay/index', path: '/pages/pay/index',
id: '1', id: BALANCE_TYPE.RECHARGE,
}, },
{ {
name: '提现', name: '提现',
path: '/pages/mine/balance/withdrawal', path: '/pages/mine/balance/withdrawal',
id: '2', id: BALANCE_TYPE.WITHDRAW,
}, },
{ {
name: '转账', name: '转账',
path: '/pages/mine/balance/transfer', path: '/pages/mine/balance/transfer',
id: '3', id: BALANCE_TYPE.TRANSFER,
}, },
] ]
} }
@ -228,9 +233,15 @@ export default {
handleLink(item) { handleLink(item) {
this.tabActive = item.path this.tabActive = item.path
if (item.id == 2 || item.id == 3) { if (
item.id == BALANCE_TYPE.WITHDRAW ||
item.id == BALANCE_TYPE.TRANSFER
) {
if (this.userInfo.pkCountry == 1) { if (this.userInfo.pkCountry == 1) {
if (this.userInfo.pkGradeId == 1 && item.id == 2) { if (
this.userInfo.pkGradeId == 1 &&
item.id == BALANCE_TYPE.WITHDRAW
) {
} else { } else {
bal bal
.getIfAuth({ .getIfAuth({
@ -240,13 +251,15 @@ export default {
if (res.code == 200 && res.flag == 'Y') { if (res.code == 200 && res.flag == 'Y') {
this.checkExit(item) this.checkExit(item)
} else if (res.code == 200 && res.flag == 'N') { } else if (res.code == 200 && res.flag == 'N') {
this.smShow = true
uni.showToast({ uni.showToast({
title: '请先进行实名认证', title: '请先进行实名认证',
icon: 'none',
}) })
uni.navigateTo({ setTimeout(() => {
url: '/pages/selfService/realName/realName', uni.navigateTo({
}) url: '/pages/selfService/realName/realName',
})
}, 900)
} }
}) })
} }

View File

@ -15,7 +15,7 @@
</view> </view>
<view v-if="unSelected.includes('province')" class="region-action"> <view v-if="unSelected.includes('province')" class="region-action">
<button class="select-btn" @click="selectProvinceRegion"> <button class="select-btn" @click="selectProvinceRegion">
选择省级收益区域 {{ selectedData.provinceData ? '修改' : '选择' }}省级收益区域
</button> </button>
</view> </view>
</view> </view>
@ -38,7 +38,7 @@
</view> </view>
<view v-if="unSelected.includes('city')" class="region-action"> <view v-if="unSelected.includes('city')" class="region-action">
<button class="select-btn" @click="selectCityRegion"> <button class="select-btn" @click="selectCityRegion">
选择市级收益区域 {{ selectedData.cityData ? '修改' : '选择' }}市级收益区域
</button> </button>
</view> </view>
</view> </view>
@ -65,7 +65,7 @@
</view> </view>
<view v-if="unSelected.includes('county')" class="region-action"> <view v-if="unSelected.includes('county')" class="region-action">
<button class="select-btn" @click="selectCountyRegion"> <button class="select-btn" @click="selectCountyRegion">
选择区县收益区域 {{ selectedData.countyData ? '修改' : '选择' }}区县收益区域
</button> </button>
</view> </view>
</view> </view>
@ -82,6 +82,7 @@
<RegionSelect <RegionSelect
@success="successHandle" @success="successHandle"
:autoTrigger="false" :autoTrigger="false"
:reselected="reselected"
ref="regionSelect" ref="regionSelect"
showCancelButton showCancelButton
/> />
@ -101,6 +102,7 @@ export default {
return { return {
unSelected: [], unSelected: [],
selectedData: {}, selectedData: {},
reselected: true,
rawData: {}, // rawData: {}, //
} }
}, },
@ -148,16 +150,26 @@ export default {
} }
}) })
}, },
updateReSelected(data) {
if (data) {
this.reselected = true
} else {
this.reselected = false
}
},
// //
selectProvinceRegion() { selectProvinceRegion() {
this.updateReSelected(this.selectedData?.provinceData)
this.$refs.regionSelect.open('province') this.$refs.regionSelect.open('province')
}, },
// //
selectCityRegion() { selectCityRegion() {
this.updateReSelected(this.selectedData?.cityData)
this.$refs.regionSelect.open('city') this.$refs.regionSelect.open('city')
}, },
// //
selectCountyRegion() { selectCountyRegion() {
this.updateReSelected(this.selectedData?.countyData)
this.$refs.regionSelect.open('county') this.$refs.regionSelect.open('county')
}, },
successHandle(data) { successHandle(data) {

View File

@ -44,6 +44,7 @@
> >
<u--input <u--input
:placeholder="'请输入'" :placeholder="'请输入'"
disabled
v-model="dataForm.accountName" v-model="dataForm.accountName"
></u--input> ></u--input>
</u-form-item> </u-form-item>
@ -54,7 +55,11 @@
prop="sex" prop="sex"
ref="item1" ref="item1"
> >
<u-radio-group v-model="dataForm.sex" @change="radioGroupChange"> <u-radio-group
disabled
v-model="dataForm.sex"
@change="radioGroupChange"
>
<u-radio <u-radio
:customStyle="{ marginRight: '16rpx' }" :customStyle="{ marginRight: '16rpx' }"
v-for="(item, index) in sexList" v-for="(item, index) in sexList"
@ -75,7 +80,6 @@
> >
<u--input <u--input
suffixIcon="arrow-right" suffixIcon="arrow-right"
readonly
v-model="dataForm.idName" v-model="dataForm.idName"
disabled disabled
:placeholder="'请选择'" :placeholder="'请选择'"
@ -91,10 +95,11 @@
> >
<u--input <u--input
:placeholder="'请输入'" :placeholder="'请输入'"
disabled
v-model="dataForm.idCard" v-model="dataForm.idCard"
></u--input> ></u--input>
</u-form-item> </u-form-item>
<u-form-item <!-- <u-form-item
required required
label-width="180rpx" label-width="180rpx"
:label="'银行名称'" :label="'银行名称'"
@ -137,8 +142,8 @@
v-model="dataForm.subBankName" v-model="dataForm.subBankName"
disabledColor="#F5F5F5;" disabledColor="#F5F5F5;"
></u--input> ></u--input>
</u-form-item> </u-form-item> -->
<u-form-item <!-- <u-form-item
required required
@click="getDiqu" @click="getDiqu"
:label="'所在地区'" :label="'所在地区'"
@ -153,7 +158,7 @@
:placeholder="'请选择'" :placeholder="'请选择'"
> >
</u--input> </u--input>
</u-form-item> </u-form-item> -->
<view class="view-class"> <view class="view-class">
<u-form-item <u-form-item
@ -165,6 +170,7 @@
> >
<u-textarea <u-textarea
v-model="dataForm.address" v-model="dataForm.address"
disabled
placeholder-class="place-class" placeholder-class="place-class"
class="border-color" class="border-color"
maxlength="200" maxlength="200"
@ -285,10 +291,10 @@ export default {
showAmount: false, showAmount: false,
showCtype: false, showCtype: false,
dataForm: { dataForm: {
bankName: '', // bankName: '',
cardNumber: '', // cardNumber: '',
pkBank: '', // pkBank: '',
subBankName: '', // subBankName: '',
accountName: '', accountName: '',
idCard: '', idCard: '',
pkProvince: '', pkProvince: '',
@ -457,6 +463,7 @@ export default {
this.$set(this.dataForm, 'accountName', res.data.name) this.$set(this.dataForm, 'accountName', res.data.name)
this.$set(this.dataForm, 'idCard', res.data.idCard) this.$set(this.dataForm, 'idCard', res.data.idCard)
this.$set(this.dataForm, 'sex', res.data.sex) this.$set(this.dataForm, 'sex', res.data.sex)
this.$set(this.dataForm, 'address', res.data.address)
} else { } else {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.uploadImg1.deletePic({ index: 0 }) this.$refs.uploadImg1.deletePic({ index: 0 })
@ -486,10 +493,13 @@ export default {
} }
}, },
imageUploaded1(url) { imageUploaded1(url) {
if (!url) return
this.dataForm.idFront = url this.dataForm.idFront = url
this.getIdCardInfo(url)
}, },
imageUploaded2(url) { imageUploaded2(url) {
this.dataForm.idBack = url this.dataForm.idBack = url
this.idBackChange(url)
}, },
// radio // radio
radioGroupChange(e) { radioGroupChange(e) {

View File

@ -38,7 +38,7 @@
v-model="dataForm.changeMemberName" v-model="dataForm.changeMemberName"
placeholder-class="place-class" placeholder-class="place-class"
class="border-color" class="border-color"
placeholder="请输入收货人姓名" placeholder="请输入新会员姓名"
/> />
</u-form-item> </u-form-item>
</view> </view>

View File

@ -81,7 +81,11 @@
<view style="display: flex; flex: 1"> <view style="display: flex; flex: 1">
<view <view
class="fly" class="fly"
v-show="item.preSaleStatus == 3 || item.isSale == 1" v-show="
item.preSaleStatus == 3 ||
item.isSale == 1 ||
(item.specialArea === 14 && !Number(item.inventory))
"
></view> ></view>
<view class="image-container"> <view class="image-container">
<img :src="item.cover || item.cover1" class="cover" alt="" /> <img :src="item.cover || item.cover1" class="cover" alt="" />
@ -178,28 +182,30 @@
{{ item.waresPrice | numberToCurrency }} {{ item.waresPrice | numberToCurrency }}
</view> </view>
</view> </view>
<template v-if="item.specialArea !== 14">
<img <img
@click.stop="addCar(item)" @click.stop="addCar(item)"
v-show=" v-show="
item.preSaleStatus != 3 && item.preSaleStatus != 3 &&
item.isSale != 1 && item.isSale != 1 &&
specialArea != 31 specialArea != 31
" "
src="@/static/images/cart.png" src="@/static/images/cart.png"
alt="" alt=""
/> />
<img </template>
@click.stop="addCar(item)" <template v-else>
v-show=" <img
item.preSaleStatus != 3 && @click.stop="addCar(item)"
item.isSale != 1 && v-show="
specialArea == 31 && item.preSaleStatus != 3 &&
userInfo.isMakerSpace == 0 item.isSale != 1 &&
" Number(item.inventory)
src="@/static/images/cart.png" "
alt="" src="@/static/images/cart.png"
/> alt=""
/>
</template>
</view> </view>
</view> </view>
</view> </view>
@ -518,6 +524,9 @@ export default {
}) })
}, },
goDetails(item) { goDetails(item) {
if (item.specialArea === 14 && !Number(item.inventory)) {
return
}
if (item.preSaleStatus != 3 && item.isSale != 1) { if (item.preSaleStatus != 3 && item.isSale != 1) {
uni.navigateTo({ uni.navigateTo({
url: url: