123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- // pages/fund/withdrawAccountEdit.js
- import * as API_WithdrawAccount from '../../api/withdrawAccount'
- import * as API_Passport from '../../api/passport'
- import Toast from '../../miniprogram_npm/vant-weapp/toast/toast';
- const app=getApp()
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- bankTypes: [{
- name: '支付宝',
- value: 'alipayDirectPlugin',
- disabled: false
- }, {
- name: '微信',
- value: 'weixinPayPlugin',
- disabled: false
- }, {
- name: '其他',
- value: '',
- disabled: false
- }],
- show:false,
- bankTypeSelected:{},
- editForm:{
- id:'',
- bank_account: '',
- account_name: '',
- bank_name:'',
- payment_plugin_id:'',
- member_id:app.globalData.sellerShop.member_id,
- shop_id:app.globalData.sellerShop.shop_id
- }
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- const {id}=options
- if(id){
- this.getAccount(id)
- }
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- },
- showPopup(){
- this.setData({
- show:true
- })
- },
- onCancel(){
- this.setData({
- show:false
- })
- },
- onConfirm(e){
- const {value} = e.detail
- let bankName=value.value===''?'':value.name
- if(value.value!==this.data.bankTypeSelected.value){ //账号类型发生变化,清空账户名和账号
- this.setData({
- ['editForm.account_name']:'',
- ['editForm.bank_account']:''
- })
- }
- this.setData({
- bankTypeSelected:value,
- show:false,
- ['editForm.bank_name']:value.value!==this.data.bankTypeSelected.value?bankName:this.data.editForm.bank_name,
- ['editForm.payment_plugin_id']:value.value
- })
- },
- onChange(event) {
- const that = this
- let dataKey = event.currentTarget.dataset.name
- // event.detail 为当前输入的值
- this.setData({
- [dataKey]: event.detail
- })
- },
- submit(e){
- console.log(this.data.editForm)
- let that=this
- //校验输入项
- if(Object.keys(that.data.bankTypeSelected).length===0){
- Toast.fail('请选择银行账号类型')
- return false
- }
- if(!that.data.editForm.bank_name||that.data.editForm.bank_name.trim()===''){
- Toast.fail('请输入银行名称')
- return false
- }
- if(!that.data.editForm.account_name|| that.data.editForm.account_name.trim()===''){
- Toast.fail('请输入账号实名')
- return false
- }
- if(!that.data.editForm.bank_account||that.data.editForm.bank_account.trim()===''){
- Toast.fail('请输入账号')
- return false
- }
- if(!that.data.editForm.id){
- API_WithdrawAccount.add(that.data.editForm).then(res=>{
- that.setData({
- editForm:{...res}
- })
- wx.showToast({
- title: '添加成功!',
- icon: 'success',
- duration: 2000
- })
- })
- }else{
- API_WithdrawAccount.update(that.data.editForm.id,that.data.editForm).then(res=>{
- that.setData({
- editForm:{...res}
- })
- wx.showToast({
- title: '修改成功!',
- icon: 'success',
- duration: 2000
- })
- })
- }
- },
- getAccount(id){
- let that=this
- API_WithdrawAccount.get(id,{}).then(res=>{
- let bankt = that.data.bankTypes.find(p=>p.value===res.payment_plugin_id)
- console.log(bankt)
- that.setData({
- editForm:{...res},
- bankTypeSelected:bankt
- })
- })
- },
- async getOpenId(e){
- const uuid =wx.getStorageSync('uuid')
- let code=await this.wxlogin()
- const mp_type = 'miniprogramo2oseller'
- let {
- encryptedData,
- iv
- } = await this.wxgetUserInfo({
- withCredentials: true,
- lang: 'zh_CN'
- })
- let final = await API_Passport.decryptWxUser({
- code,
- uuid,
- encrypted_data: encryptedData,
- iv,
- mini_program_type:mp_type
- })
- this.setData({
- ['editForm.bank_account']:final.openid
- })
- },
- // 同步获取登录code
- wxlogin(){
- return new Promise((resolve,reject)=>{
- wx.login({
- complete: (res) => {resolve(res.code)}
- })
- })
- },
- // 同步获取用户信息
- wxgetUserInfo(option){
- return new Promise((resolve,reject)=>{
- wx.getUserInfo({
- ...option,
- complete: (res) => {
- console.log(res)
- resolve(res)
- }
- })
- })
- }
- })
|