消费者分销
This commit is contained in:
parent
53bf50ba3f
commit
12221e22fe
|
|
@ -4,214 +4,227 @@ export default {
|
|||
// 异步接口拦截
|
||||
addInterceptor() {
|
||||
uni.addInterceptor('request', {
|
||||
invoke(args) {
|
||||
uni.showLoading({
|
||||
mask: true,
|
||||
title: '加载中'
|
||||
invoke(args) {
|
||||
uni.showLoading({
|
||||
mask: true,
|
||||
title: '加载中'
|
||||
})
|
||||
// request 触发前拼接 url
|
||||
args.url = 'https://www.opsoul.com' + args.url;
|
||||
// args.url = 'http://192.168.2.42:80' + args.url;
|
||||
// args.url = 'http://127.0.0.1:80' + args.url;
|
||||
if (args.data) {
|
||||
args.data.deptId = globalData.deptId;
|
||||
args.data.from = globalData.from;
|
||||
}
|
||||
if (args.header) {
|
||||
args.header.deptId = globalData.deptId;
|
||||
args.header.from = globalData.from;
|
||||
// args.url = 'https://www.opsoul.com' + args.url;
|
||||
// args.url = 'http://192.168.2.42:80' + args.url;
|
||||
args.url = 'http://127.0.0.1:80' + args.url;
|
||||
if (args.data) {
|
||||
args.data.deptId = globalData.deptId;
|
||||
args.data.from = globalData.from;
|
||||
}
|
||||
if (args.header) {
|
||||
args.header.deptId = globalData.deptId;
|
||||
args.header.from = globalData.from;
|
||||
}
|
||||
// console.log("停止触发");
|
||||
// return false;
|
||||
},
|
||||
success(res) {
|
||||
if (res.data.code !== 0) {
|
||||
uni.showToast({
|
||||
title: '系统开小差啦T_T,请稍后重试',
|
||||
icon: 'error'
|
||||
})
|
||||
if (res.data.code !== 0) {
|
||||
uni.showToast({
|
||||
title: '系统开小差啦T_T,请稍后重试',
|
||||
icon: 'error'
|
||||
})
|
||||
}
|
||||
},
|
||||
fail(err) {
|
||||
uni.showToast({
|
||||
title: '系统开小差啦T_T,请稍后重试',
|
||||
title: '系统开小差啦T_T,请稍后重试',
|
||||
icon: 'error'
|
||||
})
|
||||
},
|
||||
complete(res) {
|
||||
complete(res) {
|
||||
uni.hideLoading();
|
||||
}
|
||||
})
|
||||
},
|
||||
checkAndAuth() {
|
||||
authAndGetLocation() {
|
||||
let _this = this;
|
||||
// 通过 wx.getSetting 先查询一下用户是否授权了 "scope.userInfo" 这个 scope
|
||||
// 通过 wx.getSetting 先查询一下用户是否授权了 "scope.userLocation" 这个 scope
|
||||
wx.getSetting({
|
||||
success(res) {
|
||||
if (!res.authSetting['scope.userInfo']) {
|
||||
if (!res.authSetting['scope.userLocation']) {
|
||||
// 用户授权
|
||||
wx.authorize({
|
||||
scope: 'scope.userInfo',
|
||||
scope: 'scope.userLocation',
|
||||
success() {
|
||||
// 用户已经同意, 后续调用此接口不会弹窗询问
|
||||
_this.login();
|
||||
_this.wxGetLocation();
|
||||
},
|
||||
fail() {
|
||||
// 用户已经拒绝过授权
|
||||
wx.openSetting({
|
||||
success(res) {
|
||||
if (res['scope.userInfo']) {
|
||||
_this.checkAndAuth();
|
||||
if (res['scope.userLocation']) {
|
||||
_this.wxGetLocation();
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
_this.login();
|
||||
_this.wxGetLocation();
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
async login() {
|
||||
let userInfo = await wx.getUserProfile({
|
||||
desc: '用于小程序登录'
|
||||
});
|
||||
// 获取微信登录凭证
|
||||
const wxLoginRes = await wx.login();
|
||||
// 获取openid
|
||||
const wxAuthRes = await uni.request({
|
||||
url: '/wx/auth',
|
||||
header: {
|
||||
code: wxLoginRes.code
|
||||
}
|
||||
})
|
||||
const openId = wxAuthRes[1].data.data.openid;
|
||||
// 第一次从服务端获取用户信息
|
||||
let wxGetUserRes = await this.qryUserInfo(openId);
|
||||
// 获取失败则获取微信信息再调用注册接口
|
||||
if (!wxGetUserRes.data) {
|
||||
// 注册完成后再次从服务端获取用户信息
|
||||
let registerRes = await this.registerUser({
|
||||
openId: openId,
|
||||
name: userInfo.userInfo.nickName,
|
||||
customerLogoUrl: userInfo.userInfo.avatarUrl,
|
||||
status: 0
|
||||
});
|
||||
if (registerRes.code === 0) {
|
||||
wxGetUserRes = await this.qryUserInfo(openId);
|
||||
}
|
||||
}
|
||||
if (!wxGetUserRes.data) {
|
||||
userInfo = null;
|
||||
} else {
|
||||
userInfo = {
|
||||
...wxGetUserRes.data,
|
||||
wxLoginCode: wxLoginRes.code
|
||||
}
|
||||
}
|
||||
if (!userInfo || userInfo.customerId == null || userInfo.customerId == undefined) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '微信用户信息获取失败,请退出小程序重试'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
// 页面存储用户登录有效信息,以便其他页面调用
|
||||
uni.setStorageSync('userProfile', userInfo);
|
||||
wxGetLocation() {
|
||||
wx.getLocation({
|
||||
type: 'gcj02',
|
||||
success(res) {
|
||||
const latitude = res.latitude
|
||||
const longitude = res.longitude
|
||||
console.log(res)
|
||||
// uni.setStorageSync('userLocation', res);
|
||||
},
|
||||
complete(res) {
|
||||
console.log(res)
|
||||
}
|
||||
})
|
||||
},
|
||||
async login() {
|
||||
let userInfo = await wx.getUserProfile({
|
||||
desc: '用于小程序登录'
|
||||
});
|
||||
// 获取微信登录凭证
|
||||
const wxLoginRes = await wx.login();
|
||||
// 获取openid
|
||||
const wxAuthRes = await uni.request({
|
||||
url: '/wx/auth',
|
||||
header: {
|
||||
code: wxLoginRes.code
|
||||
}
|
||||
})
|
||||
const openId = wxAuthRes[1].data.data.openid;
|
||||
// 第一次从服务端获取用户信息
|
||||
let wxGetUserRes = await this.qryUserInfo(openId);
|
||||
// 获取失败则获取微信信息再调用注册接口
|
||||
if (!wxGetUserRes.data) {
|
||||
// 注册完成后再次从服务端获取用户信息
|
||||
let registerRes = await this.registerUser({
|
||||
openId: openId,
|
||||
name: userInfo.userInfo.nickName,
|
||||
customerLogoUrl: userInfo.userInfo.avatarUrl,
|
||||
status: 0
|
||||
});
|
||||
if (registerRes.code === 0) {
|
||||
wxGetUserRes = await this.qryUserInfo(openId);
|
||||
}
|
||||
}
|
||||
if (!wxGetUserRes.data) {
|
||||
userInfo = null;
|
||||
} else {
|
||||
userInfo = {
|
||||
...wxGetUserRes.data,
|
||||
wxLoginCode: wxLoginRes.code
|
||||
}
|
||||
}
|
||||
if (!userInfo || userInfo.customerId == null || userInfo.customerId == undefined) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '微信用户信息获取失败,请退出小程序重试'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
// 页面存储用户登录有效信息,以便其他页面调用
|
||||
uni.setStorageSync('userProfile', userInfo);
|
||||
return true;
|
||||
},
|
||||
async storageExistUser() {
|
||||
uni.clearStorageSync('userProfile');
|
||||
// 获取微信登录凭证
|
||||
const wxLoginRes = await wx.login();
|
||||
// 获取openid
|
||||
const wxAuthRes = await uni.request({
|
||||
url: '/wx/auth',
|
||||
header: {
|
||||
code: wxLoginRes.code
|
||||
}
|
||||
})
|
||||
const openId = wxAuthRes[1].data.data.openid;
|
||||
// 从服务端获取用户信息
|
||||
let wxGetUserRes = await this.qryUserInfo(openId);
|
||||
let userInfo = null;
|
||||
if (wxGetUserRes.data) {
|
||||
userInfo = {
|
||||
...wxGetUserRes.data,
|
||||
wxLoginCode: wxLoginRes.code
|
||||
}
|
||||
}
|
||||
uni.setStorageSync('userProfile', userInfo);
|
||||
},
|
||||
async registerUser(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/wx/addUser',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async qryUserInfo(openId) {
|
||||
let res = await uni.request({
|
||||
url: '/wx/getUserInfo',
|
||||
method: 'POST',
|
||||
data: {
|
||||
openId: openId
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async qryUserPhone(code) {
|
||||
let res = await uni.request({
|
||||
url: '/wx/auth/phone',
|
||||
method: 'GET',
|
||||
header: {
|
||||
code: code
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async updateUser(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/update',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
// 更新用户信息的方法顺便更新本地缓存
|
||||
if (res[1].data.code === 0) {
|
||||
let userInfo = this.getCurUserInfo();
|
||||
let wxGetUserRes = await this.qryUserInfo(userInfo.openId);
|
||||
let newUserInfo;
|
||||
if (wxGetUserRes.data) {
|
||||
newUserInfo = {
|
||||
...wxGetUserRes.data,
|
||||
wxLoginCode: userInfo.wxLoginCode
|
||||
}
|
||||
}
|
||||
console.log(newUserInfo)
|
||||
uni.setStorageSync('userProfile', newUserInfo);
|
||||
}
|
||||
return res[1].data;
|
||||
},
|
||||
async storagePhoneIntoUserInfo(code) {
|
||||
let phoneRes = await this.qryUserPhone(code);
|
||||
if (phoneRes && phoneRes.msg === '获取手机号码异常') {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '请先确认登录微信号是否已绑定手机号'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
if (phoneRes && phoneRes.data) {
|
||||
let userInfo = this.getCurUserInfo();
|
||||
await this.updateUser({
|
||||
customerId: userInfo.customerId,
|
||||
account: phoneRes.data,
|
||||
phone: phoneRes.data
|
||||
})
|
||||
return true;
|
||||
}
|
||||
},
|
||||
async storageExistUser() {
|
||||
uni.clearStorageSync('userProfile');
|
||||
// 获取微信登录凭证
|
||||
const wxLoginRes = await wx.login();
|
||||
// 获取openid
|
||||
const wxAuthRes = await uni.request({
|
||||
url: '/wx/auth',
|
||||
header: {
|
||||
code: wxLoginRes.code
|
||||
}
|
||||
})
|
||||
const openId = wxAuthRes[1].data.data.openid;
|
||||
// 从服务端获取用户信息
|
||||
let wxGetUserRes = await this.qryUserInfo(openId);
|
||||
let userInfo = null;
|
||||
if (wxGetUserRes.data) {
|
||||
userInfo = {
|
||||
...wxGetUserRes.data,
|
||||
wxLoginCode: wxLoginRes.code
|
||||
}
|
||||
}
|
||||
uni.setStorageSync('userProfile', userInfo);
|
||||
},
|
||||
async registerUser(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/wx/addUser',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async qryUserInfo(openId) {
|
||||
let res = await uni.request({
|
||||
url: '/wx/getUserInfo',
|
||||
method: 'POST',
|
||||
data: {
|
||||
openId: openId
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async qryUserPhone(code) {
|
||||
let res = await uni.request({
|
||||
url: '/wx/auth/phone',
|
||||
method: 'GET',
|
||||
header: {
|
||||
code: code
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async updateUser(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/update',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
// 更新用户信息的方法顺便更新本地缓存
|
||||
if (res[1].data.code === 0) {
|
||||
let userInfo = this.getCurUserInfo();
|
||||
let wxGetUserRes = await this.qryUserInfo(userInfo.openId);
|
||||
let newUserInfo;
|
||||
if (wxGetUserRes.data) {
|
||||
newUserInfo = {
|
||||
...wxGetUserRes.data,
|
||||
wxLoginCode: userInfo.wxLoginCode
|
||||
}
|
||||
}
|
||||
uni.setStorageSync('userProfile', newUserInfo);
|
||||
}
|
||||
return res[1].data;
|
||||
},
|
||||
async storagePhoneIntoUserInfo(code) {
|
||||
let phoneRes = await this.qryUserPhone(code);
|
||||
if (phoneRes && phoneRes.msg === '获取手机号码异常') {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '请先确认登录微信号是否已绑定手机号'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
if (phoneRes && phoneRes.data) {
|
||||
let userInfo = this.getCurUserInfo();
|
||||
await this.updateUser({
|
||||
customerId: userInfo.customerId,
|
||||
account: phoneRes.data,
|
||||
phone: phoneRes.data
|
||||
})
|
||||
return true;
|
||||
}
|
||||
},
|
||||
wxLogin() {
|
||||
return wx.login();
|
||||
|
|
@ -219,19 +232,19 @@ export default {
|
|||
getCurUserInfo() {
|
||||
let userProfile = uni.getStorageSync('userProfile');
|
||||
return userProfile;
|
||||
},
|
||||
async getCurUserNoCache() {
|
||||
let userInfo = this.getCurUserInfo();
|
||||
let wxGetUserRes = await this.qryUserInfo(userInfo.openId);
|
||||
if (!wxGetUserRes.data) {
|
||||
userInfo = null;
|
||||
} else {
|
||||
userInfo = {
|
||||
...wxGetUserRes.data,
|
||||
wxLoginCode: userInfo.wxLoginCode
|
||||
}
|
||||
}
|
||||
return userInfo;
|
||||
},
|
||||
async getCurUserNoCache() {
|
||||
let userInfo = this.getCurUserInfo();
|
||||
let wxGetUserRes = await this.qryUserInfo(userInfo.openId);
|
||||
if (!wxGetUserRes.data) {
|
||||
userInfo = null;
|
||||
} else {
|
||||
userInfo = {
|
||||
...wxGetUserRes.data,
|
||||
wxLoginCode: userInfo.wxLoginCode
|
||||
}
|
||||
}
|
||||
return userInfo;
|
||||
},
|
||||
getProductCategories(params = {}) {
|
||||
return uni.request({
|
||||
|
|
@ -256,200 +269,204 @@ export default {
|
|||
url: '/order/server/app',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getWxPayParams(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/pay/wx/lite',
|
||||
method: 'POST',
|
||||
header: {
|
||||
code: params.code,
|
||||
orderMasterCode: params.orderMasterCode
|
||||
}
|
||||
})
|
||||
let res = await uni.request({
|
||||
url: '/pay/wx/lite',
|
||||
method: 'POST',
|
||||
header: {
|
||||
code: params.code,
|
||||
orderMasterCode: params.orderMasterCode
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getAddressList(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/address/list',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async addAddressList(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/address/insert',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async editAddressList(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/address/update',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async delAddressList(customerAddressId) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/address/delete',
|
||||
method: 'POST',
|
||||
data: {
|
||||
customerAddressId: customerAddressId
|
||||
},
|
||||
header: {
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async areaListByStep(params = {
|
||||
parentCode: null
|
||||
}) {
|
||||
let res = await uni.request({
|
||||
url: '/system/area/app/list',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async listByStep(params = {
|
||||
goodsCategoryId: null
|
||||
}) {
|
||||
let res = await uni.request({
|
||||
url: '/goods/deptcategory/listByStep',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async uploadFile(filePath) {
|
||||
let res = await uni.uploadFile({
|
||||
url: this.address + '/tool/qiniu/upload',
|
||||
filePath: filePath,
|
||||
name: 'uploadFile'
|
||||
})
|
||||
let resStr = res[1].data;
|
||||
let resObj = {};
|
||||
if (resStr != null && resStr.length > 0) {
|
||||
resObj = JSON.parse(resStr);
|
||||
}
|
||||
return resObj;
|
||||
},
|
||||
// async qryOrderGoodsPage(params = {}) {
|
||||
// let res = await uni.request({
|
||||
// url: '/order/goods/list',
|
||||
// method: 'POST',
|
||||
// data: params,
|
||||
// header: {
|
||||
// pageNum: params.pageNum,
|
||||
// pageSize: params.pageSize
|
||||
// }
|
||||
// })
|
||||
// return res[1].data;
|
||||
// },
|
||||
async bindBankCard(params) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/bankcard/bind',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getBindBankCardByCustomerId(params) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/bankcard/getByCustomerId',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getGoodsDetail(params) {
|
||||
let res = await uni.request({
|
||||
url: '/goods/goods/getDetail',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data.data;
|
||||
},
|
||||
async qryFinancialCount(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/financial/detail/count',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async qryFinancialDetail(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/financial/detail/app/list',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async qryOrderPage(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/order/master/app/list',
|
||||
method: 'POST',
|
||||
data: params,
|
||||
header: {
|
||||
pageNum: params.pageNum,
|
||||
pageSize: params.pageSize
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async updateOrder(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/order/master/editOrderMaster',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getHotGoods(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/goods/goods/hot/list',
|
||||
method: 'POST',
|
||||
data: params,
|
||||
header: {
|
||||
pageNum: params.pageNum,
|
||||
pageSize: params.pageSize
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getOrderMasterDetail(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/order/master/app/detail',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getWorkerList(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/worker/app/list',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getWorkerAllDetailById(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/worker/getDetailById',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getUnlimitedWxacode(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/wx/unlimited/wxacode',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getAddressList(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/address/list',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async addAddressList(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/address/insert',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async editAddressList(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/address/update',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async delAddressList(customerAddressId) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/address/delete',
|
||||
method: 'POST',
|
||||
data: {
|
||||
customerAddressId: customerAddressId
|
||||
},
|
||||
header: {
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async areaListByStep(params = { parentCode: null }) {
|
||||
let res = await uni.request({
|
||||
url: '/system/area/app/list',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async listByStep(params = {goodsCategoryId : null}) {
|
||||
let res = await uni.request({
|
||||
url: '/goods/deptcategory/listByStep',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async uploadFile(filePath) {
|
||||
let res = await uni.uploadFile({
|
||||
url: this.address + '/tool/qiniu/upload',
|
||||
filePath: filePath,
|
||||
name: 'uploadFile'
|
||||
})
|
||||
let resStr = res[1].data;
|
||||
let resObj = {};
|
||||
if (resStr != null && resStr.length > 0) {
|
||||
resObj = JSON.parse(resStr);
|
||||
}
|
||||
return resObj;
|
||||
},
|
||||
// async qryOrderGoodsPage(params = {}) {
|
||||
// let res = await uni.request({
|
||||
// url: '/order/goods/list',
|
||||
// method: 'POST',
|
||||
// data: params,
|
||||
// header: {
|
||||
// pageNum: params.pageNum,
|
||||
// pageSize: params.pageSize
|
||||
// }
|
||||
// })
|
||||
// return res[1].data;
|
||||
// },
|
||||
async bindBankCard(params) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/bankcard/bind',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getBindBankCardByCustomerId(params) {
|
||||
let res = await uni.request({
|
||||
url: '/customer/bankcard/getByCustomerId',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getGoodsDetail(params) {
|
||||
let res = await uni.request({
|
||||
url: '/goods/goods/getDetail',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data.data;
|
||||
},
|
||||
async qryFinancialCount(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/financial/detail/count',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async qryFinancialDetail(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/financial/detail/app/list',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async qryOrderPage(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/order/master/app/list',
|
||||
method: 'POST',
|
||||
data: params,
|
||||
header: {
|
||||
pageNum: params.pageNum,
|
||||
pageSize: params.pageSize
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async updateOrder(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/order/master/editOrderMaster',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getHotGoods(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/goods/goods/hot/list',
|
||||
method: 'POST',
|
||||
data: params,
|
||||
header: {
|
||||
pageNum: params.pageNum,
|
||||
pageSize: params.pageSize
|
||||
}
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getOrderMasterDetail(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/order/master/app/detail',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getWorkerList(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/worker/app/list',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getWorkerAllDetailById(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/worker/getDetailById',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
},
|
||||
async getUnlimitedWxacode(params = {}) {
|
||||
let res = await uni.request({
|
||||
url: '/wx/unlimited/wxacode',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res[1].data;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,281 @@
|
|||
<template>
|
||||
<view class="uni-combox" :class="border ? '' : 'uni-combox__no-border'">
|
||||
<view v-if="label" class="uni-combox__label" :style="labelStyle">
|
||||
<text>{{label}}</text>
|
||||
</view>
|
||||
<view class="uni-combox__input-box">
|
||||
<input class="uni-combox__input" type="text" :placeholder="placeholder" @click="toggleSelector" disabled
|
||||
placeholder-class="uni-combox__input-plac" v-model="inputVal[showField]" @input="onInput" @focus="onFocus"
|
||||
@blur="onBlur" />
|
||||
<uni-icons :type="showSelector? 'top' : 'bottom'" size="14" color="#999" @click="toggleSelector">
|
||||
</uni-icons>
|
||||
</view>
|
||||
<view class="uni-combox__selector" v-if="showSelector">
|
||||
<view class="uni-popper__arrow"></view>
|
||||
<scroll-view scroll-y="true" class="uni-combox__selector-scroll">
|
||||
<view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
|
||||
<text>{{emptyTips}}</text>
|
||||
</view>
|
||||
<view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index"
|
||||
@click="onSelectorClick(index)">
|
||||
<text>{{item[showField]}}</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
/**
|
||||
* Combox 组合输入框
|
||||
* @description 组合输入框一般用于既可以输入也可以选择的场景
|
||||
* @tutorial https://ext.dcloud.net.cn/plugin?id=1261
|
||||
* @property {String} label 左侧文字
|
||||
* @property {String} labelWidth 左侧内容宽度
|
||||
* @property {String} placeholder 输入框占位符
|
||||
* @property {Array} candidates 候选项列表
|
||||
* @property {String} emptyTips 筛选结果为空时显示的文字
|
||||
* @property {String} value 组合框的值
|
||||
*/
|
||||
export default {
|
||||
name: 'myUniCombox',
|
||||
emits: ['input', 'update:modelValue'],
|
||||
props: {
|
||||
border: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
labelWidth: {
|
||||
type: String,
|
||||
default: 'auto'
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
candidates: {
|
||||
type: Array,
|
||||
default () {
|
||||
return []
|
||||
}
|
||||
},
|
||||
showField: {
|
||||
type: String,
|
||||
default: 'name'
|
||||
},
|
||||
emptyTips: {
|
||||
type: String,
|
||||
default: '无匹配项'
|
||||
},
|
||||
// #ifndef VUE3
|
||||
value: {
|
||||
type: [Object, String, Number],
|
||||
default: ''
|
||||
},
|
||||
// #endif
|
||||
// #ifdef VUE3
|
||||
modelValue: {
|
||||
type: [Object, String, Number],
|
||||
default: ''
|
||||
},
|
||||
// #endif
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showSelector: false,
|
||||
inputVal: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
labelStyle() {
|
||||
if (this.labelWidth === 'auto') {
|
||||
return ""
|
||||
}
|
||||
return `width: ${this.labelWidth}`
|
||||
},
|
||||
filterCandidates() {
|
||||
return this.candidates
|
||||
// 不进行数据筛选,每次下拉都展示全部数据
|
||||
// .filter((item) => {
|
||||
// return item.toString().indexOf(this.inputVal) > -1
|
||||
// })
|
||||
},
|
||||
filterCandidatesLength() {
|
||||
return this.filterCandidates.length
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// #ifndef VUE3
|
||||
value: {
|
||||
handler(newVal) {
|
||||
this.inputVal = newVal
|
||||
},
|
||||
immediate: true
|
||||
},
|
||||
// #endif
|
||||
// #ifdef VUE3
|
||||
modelValue: {
|
||||
handler(newVal) {
|
||||
this.inputVal = newVal
|
||||
},
|
||||
immediate: true
|
||||
},
|
||||
// #endif
|
||||
},
|
||||
methods: {
|
||||
toggleSelector() {
|
||||
this.showSelector = !this.showSelector
|
||||
},
|
||||
onFocus() {
|
||||
this.showSelector = true
|
||||
},
|
||||
onBlur() {
|
||||
setTimeout(() => {
|
||||
this.showSelector = false
|
||||
}, 153)
|
||||
},
|
||||
onSelectorClick(index) {
|
||||
this.inputVal = this.filterCandidates[index]
|
||||
this.showSelector = false
|
||||
this.$emit('input', this.inputVal)
|
||||
this.$emit('update:modelValue', this.inputVal[this.showField])
|
||||
},
|
||||
onInput() {
|
||||
setTimeout(() => {
|
||||
this.$emit('input', this.inputVal)
|
||||
this.$emit('update:modelValue', this.inputVal)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" >
|
||||
.uni-combox {
|
||||
font-size: 14px;
|
||||
border: 1px solid #DCDFE6;
|
||||
border-radius: 4px;
|
||||
padding: 6px 10px;
|
||||
position: relative;
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
// height: 40px;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
// border-bottom: solid 1px #DDDDDD;
|
||||
}
|
||||
|
||||
.uni-combox__label {
|
||||
font-size: 16px;
|
||||
line-height: 22px;
|
||||
padding-right: 10px;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.uni-combox__input-box {
|
||||
position: relative;
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
/* #endif */
|
||||
flex: 1;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.uni-combox__input {
|
||||
flex: 1;
|
||||
font-size: 28rpx;
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.uni-combox__input-plac {
|
||||
font-size: 28rpx;
|
||||
// color: #999;
|
||||
}
|
||||
|
||||
.uni-combox__selector {
|
||||
/* #ifndef APP-NVUE */
|
||||
box-sizing: border-box;
|
||||
/* #endif */
|
||||
position: absolute;
|
||||
top: calc(100% + 12px);
|
||||
left: 0;
|
||||
width: 100%;
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #EBEEF5;
|
||||
border-radius: 6px;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
z-index: 3;
|
||||
padding: 4px 0;
|
||||
}
|
||||
|
||||
.uni-combox__selector-scroll {
|
||||
/* #ifndef APP-NVUE */
|
||||
max-height: 200px;
|
||||
box-sizing: border-box;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.uni-combox__selector-empty,
|
||||
.uni-combox__selector-item {
|
||||
/* #ifndef APP-NVUE */
|
||||
display: flex;
|
||||
cursor: pointer;
|
||||
/* #endif */
|
||||
line-height: 36px;
|
||||
font-size: 28rpx;
|
||||
text-align: center;
|
||||
// border-bottom: solid 1px #DDDDDD;
|
||||
padding: 0px 10px;
|
||||
}
|
||||
|
||||
.uni-combox__selector-item:hover {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
.uni-combox__selector-empty:last-child,
|
||||
.uni-combox__selector-item:last-child {
|
||||
/* #ifndef APP-NVUE */
|
||||
border-bottom: none;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
// picker 弹出层通用的指示小三角
|
||||
.uni-popper__arrow,
|
||||
.uni-popper__arrow::after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
border-width: 6px;
|
||||
}
|
||||
|
||||
.uni-popper__arrow {
|
||||
filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
|
||||
top: -6px;
|
||||
left: 10%;
|
||||
margin-right: 3px;
|
||||
border-top-width: 0;
|
||||
border-bottom-color: #EBEEF5;
|
||||
}
|
||||
|
||||
.uni-popper__arrow::after {
|
||||
content: " ";
|
||||
top: 1px;
|
||||
margin-left: -6px;
|
||||
border-top-width: 0;
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
|
||||
.uni-combox__no-border {
|
||||
border: none;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -56,6 +56,10 @@
|
|||
"es6" : false
|
||||
},
|
||||
"usingComponents" : true,
|
||||
"permission" : {}
|
||||
"permission" : {
|
||||
"scope.userLocation" : {
|
||||
"desc" : "因涉及上门家政服务,需获取地理位置"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,6 +47,10 @@
|
|||
"path": "serv-detail"
|
||||
}, {
|
||||
"path": "statement-desc"
|
||||
}, {
|
||||
"path": "withdraw"
|
||||
}, {
|
||||
"path": "b-account-bind"
|
||||
}]
|
||||
}, {
|
||||
"root":"pages/publish/",
|
||||
|
|
|
|||
|
|
@ -104,6 +104,9 @@
|
|||
}
|
||||
this.inParam = option;
|
||||
this.loadData(option);
|
||||
},
|
||||
onShow() {
|
||||
this.$request.authAndGetLocation();
|
||||
},
|
||||
onShareAppMessage(e) {
|
||||
let shareInfo = null;
|
||||
|
|
|
|||
|
|
@ -213,10 +213,10 @@
|
|||
<view class="cuIcon-qr_code text-green"></view>
|
||||
<text>二维码分享</text>
|
||||
</view>
|
||||
<!-- <view class="cu-item">
|
||||
<view class="cu-item" v-if="curUserInfo.placeStatus == 2" @click="showPage('/pages/my/withdraw')">
|
||||
<view class="cuIcon-moneybagfill text-cyan"></view>
|
||||
<text>钱包</text>
|
||||
</view> -->
|
||||
</view>
|
||||
<!-- <view class="cu-item">
|
||||
<view class="cuIcon-friendaddfill text-blue"></view>
|
||||
<text>加盟项目</text>
|
||||
|
|
@ -372,11 +372,41 @@
|
|||
})
|
||||
},
|
||||
async showAppInviteQrcode() {
|
||||
let res = await this.$request.getUnlimitedWxacode({
|
||||
scene: "distributor=" + this.curUserInfo.customerId
|
||||
});
|
||||
this.appQrcode = res.data;
|
||||
this.appShareQrcodeModal = true;
|
||||
// 判断当前用户的是否已通过分销资格审核
|
||||
if (this.curUserInfo.placeStatus == 1) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '审核中'
|
||||
})
|
||||
} else if (this.curUserInfo.placeStatus != 2) {
|
||||
await this.$request.updateUser({
|
||||
customerId: this.curUserInfo.customerId,
|
||||
placeStatus: 1
|
||||
});
|
||||
this.curUserInfo = this.$request.getCurUserInfo();
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '已提交进行分销审核'
|
||||
})
|
||||
} else {
|
||||
// 判断是否有绑定银行信息
|
||||
let res = await this.$request.getBindBankCardByCustomerId({
|
||||
customerId: this.curUserInfo.customerId
|
||||
});
|
||||
let bindBankCardInfo = res.data;
|
||||
if (bindBankCardInfo && bindBankCardInfo.bankNum) {
|
||||
// 分销资格审核通过,可进行二维码分享
|
||||
let res = await this.$request.getUnlimitedWxacode({
|
||||
scene: "distributor=" + this.curUserInfo.customerId
|
||||
});
|
||||
this.appQrcode = res.data;
|
||||
this.appShareQrcodeModal = true;
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/my/withdraw'
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
showPage(pageUrl) {
|
||||
if (pageUrl) {
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@
|
|||
<block slot="content">帐号绑定/修改</block>
|
||||
</cu-custom>
|
||||
<view class="margin-lr-sm margin-tb-lg shadow-warp">
|
||||
<!-- <view class="bg-gray flex justify-start align-center text-xl padding-lr padding-top-xs">
|
||||
<view class="bg-gray flex justify-start align-center text-xl padding-lr padding-top-xs">
|
||||
<view class="padding-lr padding-tb-sm" :class="curAccountType === '0' ? 'curTab' : ''" data-type="0" @click="changAccountType">支付宝</view>
|
||||
<view class="padding-lr padding-tb-sm" :class="curAccountType === '1' ? 'curTab' : ''" data-type="1" @click="changAccountType">银行卡</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<!-- 支付宝 -->
|
||||
<!-- <view v-if="curAccountType == '0'" class="bg-white padding text-lg">
|
||||
<view v-if="curAccountType == '0'" class="bg-white padding text-lg">
|
||||
<view>
|
||||
<view class="margin-bottom-sm">开户人姓名</view>
|
||||
<input type="digit" placeholder="请输入开户人姓名" placeholder-style="color:#989898" v-model="formData.name">
|
||||
|
|
@ -20,9 +20,9 @@
|
|||
<view class="margin-bottom-sm">支付宝账户</view>
|
||||
<input type="digit" placeholder="请输入支付宝账户" placeholder-style="color:#989898" v-model="formData.account">
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<!-- 银行卡 -->
|
||||
<!-- <view v-else-if="curAccountType === '1'" class="bg-white padding text-lg">
|
||||
<view v-else-if="curAccountType === '1'" class="bg-white padding text-lg">
|
||||
<view>
|
||||
<view class="margin-bottom-sm">开户人姓名</view>
|
||||
<input type="text" placeholder="请输入开户人姓名" placeholder-style="color:#989898" v-model="formData.name">
|
||||
|
|
@ -39,22 +39,32 @@
|
|||
<view class="margin-bottom-sm">银行卡号</view>
|
||||
<input type="text" placeholder="请输入银行卡号" placeholder-style="color:#989898" v-model="formData.bankNum">
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- <view class="margin-top">
|
||||
<view class="margin-bottom-sm">银行卡号开户城市</view>
|
||||
<view class="flex">
|
||||
<my-uni-combox class="flex-sub margin-right-xs" :candidates="provinceList"
|
||||
:showField="'areaName'" placeholder="选择省份" v-model="formData.provinceObj"
|
||||
@input="chooseRegion($event)"></my-uni-combox>
|
||||
<my-uni-combox class="flex-sub margin-right-xs" :candidates="cityList"
|
||||
:showField="'areaName'" placeholder="选择城市" v-model="formData.cityObj"></my-uni-combox>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
<!-- 操作按钮 -->
|
||||
<!-- <view class="margin-lr">
|
||||
<view class="margin-lr">
|
||||
<button class="cu-btn lg bg-main-color long-btn shadow-blur" @click="submit">提交</button>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import myUniCombox from '@/components/uni-combox/my-uni-combox.vue';
|
||||
import myUniCombox from '@/components/uni-combox/my-uni-combox.vue';
|
||||
|
||||
export default {
|
||||
// components: {
|
||||
// myUniCombox
|
||||
// },
|
||||
components: {
|
||||
myUniCombox
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
curAccountType: '0',
|
||||
|
|
@ -67,7 +77,7 @@
|
|||
curUserInfo: {}
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
onLoad(options) {
|
||||
this.loadData();
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -0,0 +1,151 @@
|
|||
<template>
|
||||
<view>
|
||||
<!-- 顶部操作条 -->
|
||||
<cu-custom :bgColor="'bg-main-color'" :isBack="true">
|
||||
<block slot="backText">返回</block>
|
||||
<block slot="content">提现账户</block>
|
||||
</cu-custom>
|
||||
<!-- <view class="margin-lr-sm margin-tb-lg shadow-warp">
|
||||
<view @click="bindAccount">
|
||||
<view v-if="bindBankCard && bindBankCard.bankNum" class="bg-gray flex justify-between align-center text-xl padding">
|
||||
<view>
|
||||
<text class="cu-tag bg-main-color light margin-right-sm">已绑定</text>
|
||||
<text>{{bindBankCard.encodeBankNum}}</text>
|
||||
</view>
|
||||
<view>帐号另绑<text class="cuIcon-right"></text></view>
|
||||
</view>
|
||||
<view v-else class="bg-gray flex justify-between align-center text-xl padding">
|
||||
<view>提现帐号绑定</view>
|
||||
<view><text class="cuIcon-right"></text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bg-white padding solid-bottom">
|
||||
<view class="text-right text-lg">
|
||||
<text>可提现金额:</text>
|
||||
<text class="text-red text-price">{{balance}}</text>
|
||||
</view>
|
||||
<view class="text-lg margin-bottom-sm">提现金额</view>
|
||||
<view class="text-xxl solid-bottom flex justify-start align-baseline">
|
||||
<text class="margin-right-xs text-bold">¥</text>
|
||||
<input type="digit" placeholder="请输入金额" placeholder-style="color:#989898" style="height: 80rpx;">
|
||||
</view>
|
||||
</view>
|
||||
<view class="bg-white padding">
|
||||
<view class="text-lg margin-bottom-sm">发票凭证(电子票)</view>
|
||||
<view class="grid col-3 grid-square flex-sub">
|
||||
<view class="bg-img" v-for="(item,index) in imgList" :key="index"
|
||||
@tap="viewImage($event)" :data-url="item">
|
||||
<image :src="item" mode="aspectFill"></image>
|
||||
<view class="cu-tag bg-red" @tap.stop="delImg($event)" :data-index="index">
|
||||
<text class='cuIcon-close'></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="solids" @tap="chooseImage" v-if="imgList.length < 9">
|
||||
<text class='cuIcon-cameraadd'></text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="margin-sm shadow-warp">
|
||||
<view class="padding-tb-lg padding-lr bg-gradual-color light" v-if="bindBankCard && bindBankCard.bankNum">
|
||||
<view>提现账户</view>
|
||||
<view class="flex justify-between margin-top-sm">
|
||||
<!-- <text class="cu-tag bg-white radius margin-right-sm">已绑定</text> -->
|
||||
<text class="text-xxl">{{bindBankCard.encodeBankNum}}</text>
|
||||
<view class="cu-btn bg-white radius" @click="bindAccount">帐号另绑</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding-tb-lg padding-lr bg-gradual-color light" v-else>
|
||||
<view class="padding-bottom">提现帐号未绑定</view>
|
||||
<view class="cu-btn bg-white radius" @click="bindAccount">前往绑定</view>
|
||||
</view>
|
||||
<view class="padding bg-white flex justify-between">
|
||||
</view>
|
||||
</view>
|
||||
<!-- 操作按钮 -->
|
||||
<!-- <view class="margin-lr">
|
||||
<button class="cu-btn lg bg-main-color long-btn shadow-blur" @click="withdraw">提现</button>
|
||||
</view> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
balance: '0.00',
|
||||
imgList: [],
|
||||
curUserInfo: {},
|
||||
bindBankCard: null
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.loadData();
|
||||
},
|
||||
onShow() {
|
||||
this.reloadData();
|
||||
},
|
||||
methods: {
|
||||
async loadData() {
|
||||
this.curUserInfo = this.$request.getCurUserInfo();
|
||||
this.loadBindBankCard();
|
||||
},
|
||||
async reloadData() {
|
||||
this.loadBindBankCard();
|
||||
},
|
||||
async loadBindBankCard() {
|
||||
let res = await this.$request.getBindBankCardByCustomerId({
|
||||
customerId: this.curUserInfo.customerId
|
||||
});
|
||||
this.bindBankCard = res.data;
|
||||
if (this.bindBankCard && this.bindBankCard.bankNum) {
|
||||
this.bindBankCard.encodeBankNum = '****' + this.bindBankCard.bankNum.substring(this.bindBankCard.bankNum.length - 4);
|
||||
}
|
||||
},
|
||||
bindAccount() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/my/b-account-bind'
|
||||
})
|
||||
},
|
||||
chooseImage(e) {
|
||||
uni.chooseImage({
|
||||
count: 9, //默认9
|
||||
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album'], //从相册选择
|
||||
success: (res) => {
|
||||
if (this.imgList.length != 0) {
|
||||
this.imgList = this.imgList.concat(res.tempFilePaths)
|
||||
} else {
|
||||
this.imgList = res.tempFilePaths
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
viewImage(e) {
|
||||
uni.previewImage({
|
||||
urls: this.imgList,
|
||||
current: e.currentTarget.dataset.url
|
||||
});
|
||||
},
|
||||
delImg(e) {
|
||||
uni.showModal({
|
||||
title: '',
|
||||
content: '确定要删除这张图片吗?',
|
||||
cancelText: '取消',
|
||||
confirmText: '确定',
|
||||
success: res => {
|
||||
if (res.confirm) {
|
||||
this.imgList.splice(e.currentTarget.dataset.index, 1)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
withdraw() {
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
Loading…
Reference in New Issue