合并代码
This commit is contained in:
parent
409f137e89
commit
d9f56e0fbb
|
@ -352,6 +352,47 @@ const mine = {
|
|||
method: 'GET',
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 查看已绑定的银行卡列表
|
||||
* @param {Object} param
|
||||
*/
|
||||
getBankCards(param) {
|
||||
return util.request({
|
||||
url: '/user/bank-cards/getBankCards',
|
||||
data: param.data,
|
||||
query: param.query,
|
||||
method: 'GET',
|
||||
load: true,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 添加银行卡
|
||||
* @param {Object} param
|
||||
*/
|
||||
addBankCard(param) {
|
||||
return util.request({
|
||||
url: '/user/bank-cards/addBankCard',
|
||||
data: param.data,
|
||||
query: param.query,
|
||||
method: 'POST',
|
||||
load: true,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 删除银行卡
|
||||
* @param {Object} param
|
||||
*/
|
||||
deleteBankCard(param) {
|
||||
return util.request({
|
||||
url: '/user/bank-cards/deleteBankCard',
|
||||
path: param.path,
|
||||
method: 'DELETE',
|
||||
load: true,
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
export default mine
|
|
@ -190,6 +190,7 @@ const util = {
|
|||
...params.header,
|
||||
}
|
||||
|
||||
console.log('token', token)
|
||||
if (token) params.header["Authorization"] = `Bearer ${token}`
|
||||
|
||||
// console.log('request url', url)
|
||||
|
@ -213,7 +214,7 @@ const util = {
|
|||
responseType: params.responseType || 'text',
|
||||
// 请求成功返回
|
||||
success: res => {
|
||||
// console.log('request success', url, res, params.data ? params.data : '')
|
||||
console.log('request success', url, res, params.data ? params.data : '')
|
||||
// 关闭加载效果
|
||||
if (params.load) {
|
||||
uni.hideLoading()
|
||||
|
@ -224,8 +225,7 @@ const util = {
|
|||
// 登出
|
||||
util.logout(() => {
|
||||
util.alert('请先登录')
|
||||
reject(res.data) // 链式回调0
|
||||
|
||||
reject(res.data)
|
||||
// uni.reLaunch({
|
||||
// url: '/login/login',
|
||||
// })
|
||||
|
@ -235,7 +235,6 @@ const util = {
|
|||
params.success ? params.success(res.data) : ''
|
||||
// 链式回调
|
||||
resolve(res.data);
|
||||
|
||||
},
|
||||
// 请求失败返回
|
||||
fail: res => {
|
||||
|
@ -1410,17 +1409,17 @@ const util = {
|
|||
* @param {Function} cb 回调函数
|
||||
*/
|
||||
finalLogin(param, cb) {
|
||||
try {
|
||||
// 登录令牌
|
||||
const token = param.data
|
||||
// 缓存token
|
||||
uni.setStorageSync('token', token)
|
||||
console.log('set token', token)
|
||||
|
||||
// 开启加载
|
||||
uni.showLoading({
|
||||
mask: true
|
||||
})
|
||||
|
||||
setTimeout(() => {
|
||||
// 获取用户信息
|
||||
util.getUserinfo((userinfo) => {
|
||||
// 登录
|
||||
|
@ -1435,9 +1434,7 @@ const util = {
|
|||
//
|
||||
cb ? cb() : ''
|
||||
})
|
||||
} catch (ev) {
|
||||
console.log('finalLogin catch', ev)
|
||||
}
|
||||
}, 500)
|
||||
},
|
||||
|
||||
// 登录腾讯聊天
|
||||
|
|
|
@ -57,7 +57,6 @@
|
|||
|
||||
// 加载更多列表
|
||||
function getMoreList() {
|
||||
console.log('getMoreList', listPrototype)
|
||||
if (listPrototype.total <= listPrototype.data.length) return
|
||||
listPrototype.pageNum++
|
||||
getList()
|
||||
|
|
|
@ -158,7 +158,7 @@
|
|||
<view class="li mtb30" v-for="(item,index) in team.sonUser" :key="item.id">
|
||||
<view class="menber df aic">
|
||||
<view class="count mr20 plr10 cfff br10" v-if="item.isShop == 1">商</view>
|
||||
<view class="c333 f32">{{item.userNickname}}{{item.isShop}}</view>
|
||||
<view class="c333 f32">{{item.userNickname}}</view>
|
||||
<template v-if="item.sonList[0]">
|
||||
<uni-icons @click="lowTeam(item)" type="up" color="#A45EFF" size="28rpx"
|
||||
v-if="item.showSecond" />
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
import util from '@/common/js/util';
|
||||
// api
|
||||
import api from '@/api/index.js'
|
||||
// 手机状态栏
|
||||
import statusBar from '@/components/header/statusBar.vue';
|
||||
// 首页视频
|
||||
import indexVideo from '@/components/index/indexVideo.vue'
|
||||
// 评论弹窗
|
||||
|
@ -258,15 +260,41 @@
|
|||
})
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回
|
||||
*/
|
||||
function handleBack() {
|
||||
const pages = getCurrentPages()
|
||||
|
||||
// 如果页面栈数量大于1
|
||||
if (pages.length > 1) {
|
||||
uni.navigateBack()
|
||||
} else {
|
||||
uni.switchTab({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="page f1">
|
||||
<view class="apex">
|
||||
<statusBar />
|
||||
|
||||
<view class="head df fdr jcsb">
|
||||
<view class="back" @click="handleBack">
|
||||
<uni-icons type="left" color="#fff" size="40rpx" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- -->
|
||||
<indexVideo ref="indexVideo" :statistic="statistic" :item="detail" :tabIndex="0" :isMine="isMine" :index="0"
|
||||
:current="0" mode="detail" @showComment="handleShowCommentAlt" @showCollect="handleShowCollectAlt"
|
||||
@showShareFirend="handleShowShareFirend" @like="videoLike" @detailMenu="detailMenu"
|
||||
@dataCenter="handleDataCenter"@showProduct="handleShowProduct" @proBuy="handleProBuy" />
|
||||
@dataCenter="handleDataCenter" @showProduct="handleShowProduct" @proBuy="handleProBuy" />
|
||||
|
||||
<!-- 评论弹窗 -->
|
||||
<commentAlt ref="commentRef" />
|
||||
|
@ -281,6 +309,20 @@
|
|||
</view>
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
//
|
||||
<style lang="scss" scoped>
|
||||
// 顶部
|
||||
.apex {
|
||||
position: fixed;
|
||||
top: 0%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
|
||||
// 返回
|
||||
.back {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
background-color: rgba(0, 0, 0, .8);
|
||||
border-radius: 100rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -7,6 +7,7 @@
|
|||
ref,
|
||||
getCurrentInstance,
|
||||
reactive,
|
||||
computed,
|
||||
} from 'vue'
|
||||
import {
|
||||
onLoad,
|
||||
|
@ -16,6 +17,8 @@
|
|||
import util from '@/common/js/util';
|
||||
// api
|
||||
import api from '@/api/index.js'
|
||||
// 手机状态栏
|
||||
import statusBar from '@/components/header/statusBar.vue';
|
||||
// 首页视频
|
||||
import indexVideo from '@/components/index/indexVideo.vue'
|
||||
// 评论弹窗
|
||||
|
@ -24,6 +27,10 @@
|
|||
import collectAlt from '@/components/index/collect.vue'
|
||||
// 分享到好友弹窗
|
||||
import shareFirendAlt from '@/components/index/shareFirend.vue'
|
||||
// 产品详情弹窗
|
||||
import productAlt from '@/components/index/proDetailAlt.vue'
|
||||
// 产品规格弹窗
|
||||
import productSpecAlt from '@/components/shop/detail/makeOrder.vue'
|
||||
|
||||
const {
|
||||
proxy
|
||||
|
@ -34,11 +41,17 @@
|
|||
const detail = reactive({})
|
||||
// 是否是自己
|
||||
const isMine = ref(false)
|
||||
// 显示统计
|
||||
const statistic = ref('0')
|
||||
// 用户信息
|
||||
const userinfo = computed(() => uni.$store.state.userinfo)
|
||||
|
||||
onLoad((option) => {
|
||||
if (option.videoId) videoId.value = option.videoId
|
||||
// 是否我的作品
|
||||
if (option.isMine && option.isMine != 'false') isMine.value = option.isMine
|
||||
// 是否显示统计
|
||||
if (option.statistic) statistic.value = option.statistic
|
||||
|
||||
// 获取视频详情
|
||||
getVideoDetail()
|
||||
|
@ -64,12 +77,7 @@
|
|||
}
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
const result = rs.data
|
||||
|
||||
result.format_videoUrl = util.format_url(result.videoUrl, 'video')
|
||||
result.format_header = util.format_url(result.header, 'img')
|
||||
|
||||
Object.assign(detail, result)
|
||||
Object.assign(detail, rs.data)
|
||||
|
||||
// 播放视频
|
||||
proxy.$refs.indexVideo.play()
|
||||
|
@ -107,41 +115,38 @@
|
|||
proxy.$refs.shareFirendRef.open()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 视频点赞
|
||||
* @param {Object} param 见下
|
||||
* @param {Number} param.index 操作的视频下标
|
||||
* @param {Number|String} param.isLike 点赞操作
|
||||
* @param {Number|String} param.isLike 0.点赞 1.取消点赞
|
||||
* @param {Number|String} param.likeType 点赞类型 0.公开赞 1.隐私赞
|
||||
*/
|
||||
function videoLike(param) {
|
||||
const {
|
||||
index,
|
||||
isLike
|
||||
} = param
|
||||
const item = detail
|
||||
// 操作状态
|
||||
let type = 1
|
||||
// 0未点赞 1已点赞 3私密赞
|
||||
if (item.isLike == 0) type = isLike
|
||||
const data = {
|
||||
// 视频id
|
||||
videoId: item.id,
|
||||
// 点赞用户id
|
||||
likeUserId: userinfo.value.id,
|
||||
// 被点赞用户id
|
||||
targetUserId: item.userId,
|
||||
// 点赞类型 0.公开赞 1.隐私赞
|
||||
likeType: param.likeType,
|
||||
// //点赞 0.点赞 1.取消点赞
|
||||
isLike: param.isLike,
|
||||
}
|
||||
|
||||
//
|
||||
api.video.videoLike({
|
||||
query: {
|
||||
// 0赞1取消赞 3私密赞
|
||||
type,
|
||||
// 视频id
|
||||
videoId: item.videoId,
|
||||
}
|
||||
data,
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
// 同步点赞状态
|
||||
item.isLike = {
|
||||
0: 1,
|
||||
1: 0,
|
||||
3: 3,
|
||||
} [type]
|
||||
// 取消减数量 否则增加
|
||||
type == 1 ? item.likes-- : item.likes++
|
||||
uni.$emit('updateVideo', {
|
||||
...item,
|
||||
...rs.data,
|
||||
})
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
|
@ -206,17 +211,90 @@
|
|||
* @param {Object} detail
|
||||
*/
|
||||
function handleDataCenter(detail) {
|
||||
uni.navigateTo({
|
||||
url: util.setUrl('/pages/index/dataCenter/dataCenter', {
|
||||
videoId: detail.id,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开产品弹窗
|
||||
* @param {Object} item 视频列表项
|
||||
*/
|
||||
function handleShowProduct(item) {
|
||||
// 打开产品详情弹窗
|
||||
proxy.$refs.productAltRef.init(item.productId)
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品弹窗购买
|
||||
* @param {Object} product
|
||||
*/
|
||||
function handleProductBuy(product) {
|
||||
Object.assign(productDetail, {}, product)
|
||||
//
|
||||
proxy.$refs.productSpecAltRef.open()
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品购买
|
||||
* @param {Object} video 视频列表
|
||||
*/
|
||||
function handleProBuy(video) {
|
||||
// 获取商品详情
|
||||
api.shop.productDetail({
|
||||
query: {
|
||||
// 产品id
|
||||
productionId: video.productId,
|
||||
},
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
//
|
||||
handleProductBuy(rs.data)
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: rs.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回
|
||||
*/
|
||||
function handleBack() {
|
||||
const pages = getCurrentPages()
|
||||
|
||||
// 如果页面栈数量大于1
|
||||
if (pages.length > 1) {
|
||||
uni.navigateBack()
|
||||
} else {
|
||||
uni.switchTab({
|
||||
url: '/pages/index/index'
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="page f1">
|
||||
<view class="apex">
|
||||
<statusBar />
|
||||
|
||||
<view class="head df fdr jcsb">
|
||||
<view class="back" @click="handleBack">
|
||||
<uni-icons type="left" color="#fff" size="40rpx" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- -->
|
||||
<indexVideo ref="indexVideo" :statistic="1" :item="detail" :tabIndex="0" :isMine="isMine" :index="0"
|
||||
<indexVideo ref="indexVideo" :statistic="statistic" :item="detail" :tabIndex="0" :isMine="isMine" :index="0"
|
||||
:current="0" mode="detail" @showComment="handleShowCommentAlt" @showCollect="handleShowCollectAlt"
|
||||
@showShareFirend="handleShowShareFirend" @like="videoLike" @detailMenu="detailMenu"
|
||||
@dataCenter="handleDataCenter" />
|
||||
@dataCenter="handleDataCenter" @showProduct="handleShowProduct" @proBuy="handleProBuy" />
|
||||
|
||||
<!-- 评论弹窗 -->
|
||||
<commentAlt ref="commentRef" />
|
||||
|
@ -224,9 +302,27 @@
|
|||
<collectAlt ref="collectRef" />
|
||||
<!-- 分享到好友弹窗 -->
|
||||
<shareFirendAlt ref="shareFirendRef" />
|
||||
<!-- 产品详情弹窗 -->
|
||||
<productAlt ref="productAltRef" @buy="handleProductBuy" />
|
||||
<!-- 产品立即下单弹窗 -->
|
||||
<productSpecAlt ref="productSpecAltRef" :detail="productDetail" @confirm="handlePay" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
//
|
||||
<style lang="scss" scoped>
|
||||
// 顶部
|
||||
.apex {
|
||||
position: fixed;
|
||||
top: 0%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
|
||||
// 返回
|
||||
.back {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
background-color: rgba(0, 0, 0, .8);
|
||||
border-radius: 100rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -57,6 +57,7 @@
|
|||
function getLst() {
|
||||
api.mine.myComment({
|
||||
query: {
|
||||
userId: userinfo.value.id,
|
||||
pageNum: list.pageNum,
|
||||
pageSize: list.pageSize,
|
||||
}
|
||||
|
@ -79,7 +80,6 @@
|
|||
}).finally(() => {
|
||||
uni.stopPullDownRefresh()
|
||||
})
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,5 +1,82 @@
|
|||
<script setup>
|
||||
// 我的银行卡
|
||||
import {
|
||||
ref,
|
||||
computed,
|
||||
reactive,
|
||||
} from 'vue'
|
||||
import {
|
||||
useStore
|
||||
} from 'vuex'
|
||||
import {
|
||||
onLoad,
|
||||
onUnload,
|
||||
} from '@dcloudio/uni-app'
|
||||
// 工具库
|
||||
import util from '@/common/js/util.js'
|
||||
// api
|
||||
import api from '@/api/index.js'
|
||||
// 列表
|
||||
const list = reactive([])
|
||||
// 滑动菜单
|
||||
const options = reactive([{
|
||||
text: '解绑',
|
||||
style: {
|
||||
backgroundColor: '#007aff'
|
||||
},
|
||||
cb: (event) => removeBank(event)
|
||||
}])
|
||||
|
||||
onLoad(() => {
|
||||
// 获取列表
|
||||
getList()
|
||||
// 开启监听
|
||||
addListener()
|
||||
})
|
||||
|
||||
onUnload(() => {
|
||||
// 关闭监听
|
||||
removeListener()
|
||||
})
|
||||
|
||||
// 开启监听
|
||||
function addListener() {
|
||||
uni.$on('updateBindingBank', () => {
|
||||
// 获取列表
|
||||
getList()
|
||||
})
|
||||
}
|
||||
|
||||
// 关闭监听
|
||||
function removeListener() {
|
||||
uni.$off('updateBindingBank')
|
||||
}
|
||||
|
||||
// 获取列表
|
||||
function getList() {
|
||||
api.mine.getBankCards({}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
Object.assign(list, rs.data)
|
||||
list.push({
|
||||
bankName: "建设银行",
|
||||
cardHolderName: "商旭",
|
||||
cardId: "1",
|
||||
cardNumber: "6217002270031535710",
|
||||
cardType: "DEBIT",
|
||||
createTime: null,
|
||||
delFlag: "0",
|
||||
isDefault: null,
|
||||
updateTime: null,
|
||||
userId: 13,
|
||||
})
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: rs.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 跳转
|
||||
function link(url) {
|
||||
|
@ -7,18 +84,60 @@
|
|||
url,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 右滑菜单项点击
|
||||
* @param {Object} event
|
||||
*/
|
||||
function handleItem(event, item) {
|
||||
console.log('event', event, item)
|
||||
item.cb(item)
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除银行卡
|
||||
* @param {Object} item 银行卡信息
|
||||
*/
|
||||
function removeBank(item) {
|
||||
util.alert({
|
||||
content: '删除后不可恢复,确认删除?',
|
||||
}).then(rs => {
|
||||
api.mine.deleteBankCard({
|
||||
path: [item.cardId],
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
// 获取列表
|
||||
getList()
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: rs.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="app">
|
||||
<view class="list">
|
||||
<view class="card item" v-for="(item,index) in 3" :key="index">
|
||||
<view class="name">很行银行</view>
|
||||
<view class="type">储蓄卡</view>
|
||||
<view class="number">**** **** **** 0896</view>
|
||||
<uni-swipe-action ref="swipeAction">
|
||||
<view class="card item" v-for="(item,index) in list" :key="index">
|
||||
<uni-swipe-action-item :right-options="options" @click="handleItem($event,item)">
|
||||
<view class="main ptb30 plr40">
|
||||
<view class="name">{{item.bankName}}</view>
|
||||
<view class="type">
|
||||
<text v-if="item.cardType == 'DEBIT'">储蓄卡</text>
|
||||
<text v-else-if="item.cardType == 'CREDIT'">信用卡</text>
|
||||
</view>
|
||||
<view class="number">{{item.cardNumber}}</view>
|
||||
</view>
|
||||
</uni-swipe-action-item>
|
||||
</view>
|
||||
</uni-swipe-action>
|
||||
|
||||
<view class="item add rows" @click="link('/pages/mine/setting/bankCardAdd')">
|
||||
<view class="item add rows ptb30 plr40" @click="link('/pages/mine/setting/bankCardAdd')">
|
||||
<view>添加银行卡</view>
|
||||
<uni-icons type="right" color="#999" />
|
||||
</view>
|
||||
|
@ -27,10 +146,11 @@
|
|||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
// 列表
|
||||
.list {
|
||||
.item {
|
||||
overflow: hidden;
|
||||
margin: 20rpx;
|
||||
padding: 30rpx 40rpx;
|
||||
border-radius: 25rpx;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,30 +1,83 @@
|
|||
<script setup>
|
||||
// 添加银行卡
|
||||
import {
|
||||
reactive
|
||||
} from 'vue';
|
||||
ref,
|
||||
reactive,
|
||||
computed,
|
||||
} from 'vue'
|
||||
import {
|
||||
useStore
|
||||
} from 'vuex'
|
||||
import {
|
||||
onLoad,
|
||||
} from '@dcloudio/uni-app'
|
||||
// 工具库
|
||||
import util from '@/common/js/util.js'
|
||||
// api
|
||||
import api from '@/api/index.js'
|
||||
// 获取验证码
|
||||
import getCode from '@/components/getCode/getCode'
|
||||
|
||||
// 银行卡列表
|
||||
const bankList = reactive([
|
||||
{
|
||||
name: '银行卡1',
|
||||
},
|
||||
{
|
||||
name: '银行卡2',
|
||||
},
|
||||
{
|
||||
name: '银行卡3',
|
||||
},
|
||||
])
|
||||
const bankList = reactive([])
|
||||
// 表单对象
|
||||
const form = reactive({
|
||||
cardNumber: '',
|
||||
phoneNumber: '',
|
||||
userIdCard: '',
|
||||
userRealName: '',
|
||||
})
|
||||
|
||||
// 绑定
|
||||
function handleSubmit() {
|
||||
const data = {
|
||||
...form
|
||||
}
|
||||
|
||||
//
|
||||
if (!data.phoneNumber) {
|
||||
util.alert('手机号不能为空')
|
||||
return
|
||||
}
|
||||
if (!data.userIdCard) {
|
||||
util.alert('身份证号不能为空')
|
||||
return
|
||||
}
|
||||
if (!data.cardNumber) {
|
||||
util.alert('用户手机号不能为空')
|
||||
return
|
||||
}
|
||||
if (!data.userRealName) {
|
||||
util.alert('真实姓名不能为空')
|
||||
return
|
||||
}
|
||||
|
||||
//
|
||||
api.mine.addBankCard({
|
||||
data,
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
uni.$emit('updateBindingBank')
|
||||
util.alert('添加成功')
|
||||
|
||||
setTimeout(() => {
|
||||
uni.navigateBack()
|
||||
}, 500)
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
content: rs.msg,
|
||||
showCancel: false,
|
||||
})
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="appbw">
|
||||
<!-- 表单 -->
|
||||
<view class="form mtb30 mlr40">
|
||||
|
||||
<view class="line">
|
||||
<!-- <view class="line">
|
||||
<view class="title">银行卡类型</view>
|
||||
<view class="inputBox">
|
||||
<picker :range="bankList" range-key="name">
|
||||
|
@ -34,48 +87,47 @@
|
|||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="line">
|
||||
<view class="title">银行卡卡号</view>
|
||||
<view class="inputBox">
|
||||
<input class="input" type="text" placeholder="请输入银行卡卡号" />
|
||||
<input class="input" v-model="form.cardNumber" type="text" placeholder="请输入银行卡卡号" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="line">
|
||||
<view class="title">姓名</view>
|
||||
<view class="inputBox">
|
||||
<input class="input" type="text" placeholder="请输入姓名" />
|
||||
<input class="input" v-model="form.userRealName" type="text" placeholder="请输入姓名" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="line">
|
||||
<view class="title">身份证号</view>
|
||||
<view class="inputBox">
|
||||
<input class="input" type="text" placeholder="请输入身份证号" />
|
||||
<input class="input" v-model="form.userIdCard" type="text" placeholder="请输入身份证号" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="line">
|
||||
<view class="title">手机号(银行绑定的手机号)</view>
|
||||
<view class="inputBox rows">
|
||||
<input class="input" type="text" placeholder="请输入手机号" />
|
||||
<view class="inputBox">
|
||||
<input class="input" v-model="form.phoneNumber" type="text" placeholder="请输入手机号" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="line">
|
||||
<view class="title">验证码</view>
|
||||
<view class="inputBox rows">
|
||||
<input class="input" type="text" placeholder="请输入验证码" />
|
||||
<view class="getCode btn black plr30">
|
||||
<getCode />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="line">
|
||||
<view class="title">验证码</view>
|
||||
<view class="inputBox">
|
||||
<input class="input" type="text" placeholder="请输入验证码" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="btn lg black mt50">绑定</view>
|
||||
<view class="btn lg black mt50" @click="handleSubmit">绑定</view>
|
||||
</view>
|
||||
|
||||
<view class="fill"></view>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<script setup>
|
||||
// 设置
|
||||
import {
|
||||
ref,
|
||||
computed,
|
||||
|
|
|
@ -66,6 +66,7 @@ updateOrderDetail 更新订单详情
|
|||
updateUserProduct 更新用户商品
|
||||
updateBindingAccount 更新绑定账号
|
||||
selectBindingBank 选择绑定的银行卡
|
||||
updateBindingBank 更新绑定的银行卡
|
||||
|
||||
缓存
|
||||
---
|
||||
|
|
Loading…
Reference in New Issue