pay.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836
  1. var __request = require('../../utils/request.js')
  2. var _handle = require('../../utils/handle.js')
  3. var validator = require('../../utils/validator.js')
  4. Page({
  5. data: {
  6. orderId: 0,
  7. payData: {},
  8. address: null,
  9. pick_address: null,
  10. selectaddress:false,
  11. selectpickaddress:false,
  12. balanceInfo: {},
  13. centInfo:{},
  14. cashInfo:{},
  15. userInfo: {},
  16. radish: 0,
  17. pwd: '',
  18. pwdDialog: false,
  19. useRadishSelect: false,
  20. useRadishSelectVal: 'select',
  21. showModal: false,
  22. luoboCount: '',
  23. countMoney: '',
  24. curPayway: 'weixinpay',
  25. payway: {
  26. weixin: 'weixinpay',
  27. balance: 'balance',
  28. cent: 'cent'
  29. },
  30. total:0,
  31. yunfei:0,
  32. _yunfei:0,
  33. payFlag:false,
  34. useBalance:false,
  35. useCash:true,
  36. afterdec:0,//使用提货券扣除后的总额
  37. remark:'',
  38. receivetype:0,//提货方式
  39. pickdepartsList:[],
  40. repickdepartsList:[],
  41. pickindex:0,
  42. pickid:0,
  43. has_unuse_quan:false,
  44. use_silver:0,
  45. pay_cash:0,//佣金抵扣
  46. freight_limit:9900,
  47. unquan_silver:0,//不能使用提货券抵扣的银豆
  48. //20240314使用新接口获取相关扣除
  49. payQueryData:{}
  50. },
  51. onLoad: function (options) {
  52. this.data.orderId = options.orderId;
  53. this.getOrderInfo()
  54. // this.getBalanceInfo()
  55. wx.setStorageSync('use_address', false);
  56. wx.setStorageSync('use_pick_address', false);
  57. wx.setStorageSync('receivetype', 0);
  58. this.getpickdeparts();
  59. },
  60. onShow: function () {
  61. this.getUserInfo()
  62. var receivetype = wx.getStorageSync('receivetype');
  63. if(receivetype == 0){
  64. var address = wx.getStorageSync('use_address');
  65. if(address){
  66. this.setData({
  67. address: address,
  68. selectaddress:true,
  69. receivetype : receivetype,
  70. yunfei : this.data._yunfei
  71. });
  72. }
  73. }else{
  74. var address = wx.getStorageSync('use_pick_address');
  75. if(address){
  76. this.setData({
  77. pick_address: address,
  78. selectpickaddress:true,
  79. receivetype : receivetype,
  80. yunfei : 0
  81. });
  82. }
  83. }
  84. this.setData({
  85. payFlag: false
  86. })
  87. },
  88. inputPwd: function (e) {
  89. this.setData({
  90. pwd: e.detail.value
  91. })
  92. },
  93. checkboxChange: function (e) {
  94. if (e.detail.value[0]) {
  95. this.setData({
  96. useRadishSelect: true,
  97. useRadishSelectVal: 'select'
  98. })
  99. } else {
  100. this.setData({
  101. useRadishSelect: false
  102. })
  103. }
  104. },
  105. getOrderInfo: function () {
  106. var that = this
  107. var url = "v1/order/" + that.data.orderId;
  108. var params = {}
  109. var check_has_unuse_quan = false;
  110. var success = function (val) {
  111. if (val.data && val.data.product && !val.data.product.robo_balance_price) {
  112. that.setData({
  113. curPayway: 'weixinpay'
  114. })
  115. }
  116. var total = 0;
  117. for(var i in val.data.product_list){
  118. if(!val.data.product_list[i].send) total = total + (val.data.product_list[i].price * val.data.product_list[i].count)
  119. }
  120. var canusebalance = 0;
  121. var nousebalance = 0;
  122. var use_silver = 0;
  123. var unquan_silver = 0;//使用的silver
  124. for(var i in val.data.product_list){
  125. var item = val.data.product_list[i];
  126. if(!item.send){
  127. if(val.data.special_promotion){//新增双十一促销判断
  128. canusebalance = canusebalance + (item.price * item.count);
  129. }else{
  130. // if(item.pv >= item.price){
  131. // canusebalance = canusebalance + (item.price * item.count);
  132. // }else{
  133. // nousebalance = nousebalance + (item.price * item.count);
  134. // }
  135. if(!item.use_quan){
  136. nousebalance = nousebalance + (item.price * item.count);
  137. check_has_unuse_quan = true;
  138. unquan_silver = unquan_silver + item.silver;
  139. }else{
  140. canusebalance = canusebalance + (item.price * item.count);
  141. }
  142. }
  143. use_silver = use_silver + item.silver;
  144. }
  145. }
  146. console.log('canusebalance',canusebalance);
  147. console.log('nousebalance',nousebalance);
  148. that.setData({
  149. payData: val.data,
  150. project: val.data.product_list,
  151. total:total,
  152. yunfei:that.data.receivetype == 0 ? total<that.data.freight_limit?val.data.freight:0 : 0,
  153. _yunfei:total<that.data.freight_limit?val.data.freight:0,
  154. canusebalance:canusebalance,
  155. nousebalance:nousebalance,
  156. has_unuse_quan:check_has_unuse_quan,
  157. use_silver:use_silver,
  158. disAmount:val.data.dis_amount,
  159. unquan_silver:unquan_silver
  160. });
  161. if(that.data.payData.order_type == 3){
  162. that.getCentInfo();
  163. }else{
  164. that.getCashInfo();
  165. }
  166. if(val.data.pay_way != '' && (val.data.address_id != 0 || val.data.pick_dept != 0)){
  167. if(val.data.pick_way == 0){
  168. that.getAddress(val.data.address_id);
  169. that.setData({
  170. selectaddress:true,
  171. receivetype : val.data.pick_way,
  172. yunfei : val.data.freight,
  173. remark : val.data.remark
  174. });
  175. }else{
  176. // that.getPickAddress(val.data.pick_dept);
  177. var pid = 0;
  178. for(var i = 0;i<that.data.pickdepartsList.length;i++){
  179. if(that.data.pickdepartsList[i]['id'] == val.data.pick_dept) pid = i;
  180. }
  181. var _pick_address = {
  182. contact:val.data.contact,
  183. tel:val.data.tel
  184. }
  185. that.setData({
  186. selectpickaddress:true,
  187. receivetype : val.data.pick_way,
  188. yunfei : 0,
  189. pick_address:_pick_address,
  190. pickindex:pid,
  191. pickid:that.data.payData.pick_dept,
  192. remark : val.data.remark
  193. });
  194. }
  195. }
  196. that.getPayQuery();
  197. }
  198. __request.$get(url, params, success)
  199. },
  200. getDefaultAddress: function () {
  201. var that = this
  202. var url = "v1/user/address/default";
  203. var params = {}
  204. var success = function (val) {
  205. if (val.data !== null) {
  206. that.setData({
  207. address: val.data
  208. });
  209. }
  210. }
  211. __request.$get(url, params, success)
  212. },
  213. getCashInfo: function(){
  214. var that = this
  215. var url = "v1/user/cash/balance/info";
  216. var params = {}
  217. var success = function (res) {
  218. console.log('res.data',res.data)
  219. that.setData({
  220. cashInfo: res.data
  221. })
  222. that.getBalanceInfo();
  223. }
  224. __request.$get(url, params, success)
  225. },
  226. getBalanceInfo: function () {
  227. var that = this
  228. var url = "v1/user/balance/info";
  229. var params = {}
  230. var success = function (val) {
  231. // console.log('showusebalance:',(val.data.total > 0 && that.data.payData.order_type == 0))
  232. //获取订单最高可用银豆
  233. var max_silver = that.data.payData.total_silver;
  234. //获取账户持有银豆
  235. // var user_silver = val.data.silver_total;
  236. // var use_silver = 0;//使用银豆
  237. // if(user_silver > 0){
  238. // use_silver = user_silver >= max_silver ? max_silver : user_silver;
  239. // }
  240. //新直接使用计算好的值
  241. var use_silver = that.data.use_silver;
  242. //总额和canuse&nouse减去银豆
  243. var has_balance = val.data.total;
  244. var sour_total = that.data.total;
  245. var mins_total = that.data.total - use_silver;
  246. var mins_canuse = that.data.canusebalance;
  247. var mins_nouse = that.data.nousebalance;
  248. var afterdec = 0;
  249. var dis_amount = 0;
  250. //
  251. sour_total = sour_total - use_silver;
  252. //canuse的扣除银豆
  253. // if(mins_canuse - use_silver < 0){
  254. // mins_canuse = 0;
  255. // left_silver = use_silver - mins_canuse;
  256. // }else{
  257. // mins_canuse = mins_canuse - use_silver;
  258. // left_silver = 0;
  259. // }
  260. // console.log('mins_canuse',mins_canuse);
  261. // console.log('left_silver',left_silver);
  262. // //nouse的扣除剩余的银豆
  263. // if(mins_nouse - left_silver < 0){
  264. // mins_nouse = 0;
  265. // left_silver = left_silver - mins_nouse;
  266. // }else{
  267. // mins_nouse = mins_nouse - left_silver;
  268. // left_silver = 0;
  269. // }
  270. // console.log('left_silver',left_silver);
  271. //重写分别扣除的银豆
  272. var quan_silver = use_silver - that.data.unquan_silver;
  273. mins_canuse = mins_canuse - quan_silver;
  274. mins_nouse = mins_nouse - that.data.unquan_silver;
  275. //新增剩余的根据等级和订单类型做折扣
  276. // if(val.data.show_invite_mode == 1 && that.data.payData.order_type == 0){//店长可以享受优惠
  277. // var disbi = val.data.discount_bl == 0? 100 : val.data.discount_bl;
  278. // sour_total = sour_total * (disbi/100);
  279. // dis_amount = parseInt(mins_total - (mins_total * (disbi/100)));
  280. // mins_canuse = mins_canuse * (disbi/100);
  281. // mins_nouse = mins_nouse * (disbi/100);
  282. // }
  283. //新已减银豆
  284. if(that.data.payData.pay_way == ''){
  285. if(that.data.receivetype == 0){
  286. if(parseInt(has_balance) >= parseInt(mins_canuse) + parseInt(that.data.yunfei)){
  287. console.log('1');
  288. afterdec = mins_nouse;
  289. }else{
  290. console.log('2');
  291. afterdec = Math.abs((mins_canuse + that.data.yunfei)-has_balance) + mins_nouse;
  292. }
  293. }else{
  294. if(parseInt(has_balance) >= parseInt(mins_canuse)){
  295. console.log('3');
  296. afterdec = mins_nouse;
  297. }else{
  298. console.log('4');
  299. afterdec = Math.abs((mins_canuse)-has_balance) + mins_nouse;
  300. }
  301. }
  302. }else{
  303. console.log('5');
  304. // afterdec = (that.data.total - that.data.payData.paied_silver - that.data.payData.dis_amount)+that.data.yunfei-that.data.payData.coupon_price;
  305. afterdec = that.data.total + that.data.yunfei - that.data.payData.paied_silver - that.data.payData.coupon_price - that.data.payData.paied_cash;
  306. }
  307. var source_afterdec = afterdec;
  308. //canuse的扣除银豆
  309. // mins_canuse = mins_canuse - use_silver < 0 ? 0 : mins_canuse - use_silver;
  310. // left_silver = mins_canuse - use_silver < 0 ? use_silver - mins_canuse : 0;
  311. // //nouse的扣除剩余的银豆
  312. // mins_nouse = mins_nouse - left_silver < 0 ? 0 : mins_nouse - left_silver;
  313. // left_silver = mins_nouse - left_silver < 0 ? left_silver - mins_nouse : 0;
  314. console.log('afterdec',afterdec);
  315. console.log('mins_canuse',mins_canuse);
  316. console.log('mins_nouse',mins_nouse);
  317. console.log('use_silver',use_silver);
  318. console.log('sour_total',sour_total);
  319. //旧未减银豆
  320. // if(that.data.payData.pay_way == ''){
  321. // if(that.data.receivetype == 0){
  322. // if(parseInt(val.data.total) >= parseInt(that.data.canusebalance) + parseInt(that.data.yunfei)){
  323. // afterdec = that.data.nousebalance;
  324. // }else{
  325. // afterdec = Math.abs((that.data.canusebalance + that.data.yunfei)-val.data.total) + that.data.nousebalance;
  326. // }
  327. // }else{
  328. // if(parseInt(val.data.total) >= parseInt(that.data.canusebalance)){
  329. // afterdec = that.data.nousebalance;
  330. // }else{
  331. // afterdec = Math.abs((that.data.canusebalance)-val.data.total) + that.data.nousebalance;
  332. // }
  333. // }
  334. // }else{
  335. // afterdec = that.data.total+that.data.yunfei-that.data.payData.coupon_price;
  336. // }
  337. var minus_cash = 0;
  338. var trueafter = afterdec - that.data.payData.dis_amount;
  339. if(that.data.cashInfo.available > 0 && trueafter > 0){
  340. minus_cash = that.data.cashInfo.available < trueafter ? that.data.cashInfo.available : trueafter;
  341. }
  342. console.log('minus_cash',minus_cash);
  343. that.setData({
  344. balanceInfo: val.data,
  345. cache: false,
  346. // curPayway:val.data.total >= (that.data.total + that.data.yunfei)?'balance':'weixinpay'
  347. curPayway:'weixinpay',
  348. // useBalance:(val.data.total > 0 && that.data.payData.order_type == 0 && that.data.payData.pv >= that.data.payData.total_price)? true:false,
  349. useBalance: /* (val.data.total > 0 && that.data.payData.order_type == 0) || */ !that.data.payData.shut_wechat ? true:false,
  350. afterdec: afterdec,
  351. hasSeilver: val.data.silver_total,
  352. useSeilver: use_silver,
  353. minusTotal: sour_total,
  354. discountBl: val.data.discount_bl,
  355. sourceAfterdec: source_afterdec,
  356. pay_cash: minus_cash,
  357. freight_limit:val.data.freight_limit,
  358. // disAmount:dis_amount
  359. });
  360. console.log('useBalance',that.data.useBalance);
  361. console.log('coupon_price',that.data.coupon_price);
  362. }
  363. __request.$get(url, params, success)
  364. },
  365. getCentInfo: function () {
  366. var that = this
  367. var url = "v1/user/cent/info";
  368. var params = {}
  369. var success = function (val) {
  370. // console.log('showusebalance:',(val.data.total > 0 && that.data.payData.order_type == 0))
  371. that.setData({
  372. centInfo: val.data,
  373. cache: false,
  374. curPayway:'cent',
  375. useBalance:false,
  376. afterdec:that.data.receivetype == 0 ? parseInt(val.data.total) >= parseInt(that.data.total) + parseInt(that.data.yunfei)?'0':(that.data.total + that.data.yunfei)-val.data.total : 0
  377. });
  378. }
  379. __request.$get(url, params, success)
  380. },
  381. switchChange:function(e){
  382. var that = this;
  383. that.setData({
  384. useBalance:e.detail.value
  385. })
  386. that.getPayQuery();
  387. },
  388. switchcashChange:function(e){
  389. var that = this;
  390. that.setData({
  391. useCash:e.detail.value
  392. })
  393. that.getPayQuery();
  394. },
  395. getUserInfo: function () {
  396. var that = this
  397. var url = "v1/user/info";
  398. var params = {
  399. cache: false
  400. }
  401. var success = function (val) {
  402. that.setData({
  403. userInfo: val.data
  404. });
  405. }
  406. __request.$get(url, params, success)
  407. },
  408. cancelDialog: function () {
  409. this.setData({
  410. pwdDialog: false
  411. })
  412. },
  413. toPay: function (e) {
  414. if(this.data.payFlag){
  415. wx.showToast({
  416. title: '支付中,请稍后...',
  417. icon: 'none',
  418. duration: 2000
  419. })
  420. return false;
  421. }
  422. _handle.setFormId(e)
  423. var that = this
  424. this.setData({
  425. payFlag: true
  426. })
  427. if (that.data.receivetype == 0 && !that.data.address) {
  428. wx.showToast({
  429. title: '请先填写地址',
  430. icon: 'none',
  431. duration: 2000
  432. })
  433. that.setData({
  434. payFlag: false
  435. })
  436. } else if (that.data.receivetype == 0 && !validator.required1(this.data.address.contact)) {
  437. wx.showToast({
  438. title: '国家安全局规定:运单禁止出现“先生”,“小姐”,“女士”等,请重新填写地址',
  439. icon: 'none',
  440. duration: 2000
  441. })
  442. that.setData({
  443. payFlag: false
  444. })
  445. }else if (that.data.receivetype == 1 && !that.data.pick_address) {
  446. wx.showToast({
  447. title: '请先选择提货人',
  448. icon: 'none',
  449. duration: 2000
  450. })
  451. that.setData({
  452. payFlag: false
  453. })
  454. }else if (that.data.receivetype == 1 && !that.data.pickid) {
  455. wx.showToast({
  456. title: '请选择自提门店',
  457. icon: 'none',
  458. duration: 2000
  459. })
  460. that.setData({
  461. payFlag: false
  462. })
  463. } else {
  464. if (that.data.curPayway === 'balance') {
  465. var p
  466. if (that.data.project) {
  467. p = that.data.balanceInfo.total - that.data.project.robo_balance_price * that.data.payData.count
  468. }
  469. if (p < 0) {
  470. this.setData({
  471. luoboCount: -(that.data.balanceInfo.total - that.data.project.robo_balance_price * that.data.payData.count),
  472. showModal: true,
  473. countMoney: -(that.data.balanceInfo.total - that.data.project.robo_balance_price * that.data.payData.count) / 100,
  474. payFlag: false
  475. })
  476. } else {
  477. that.pay()
  478. }
  479. } else if (that.data.curPayway === 'cent') {
  480. // var b
  481. // if (that.data.project) {
  482. // b = that.data.balanceInfo.dc_total - that.data.project.mall_balance_price * that.data.payData.count
  483. // }
  484. // if (b < 0) {
  485. // this.setData({
  486. // luoboCount: that.data.project.mall_balance_price * that.data.payData.count - that.data.balanceInfo.dc_total,
  487. // showModal: true,
  488. // payFlag: false
  489. // })
  490. // } else {
  491. that.pay()
  492. // }
  493. } else if (that.data.curPayway === 'weixinpay') {
  494. // if(that.data.useBalance && that.data.afterdec > 0){
  495. // wx.showModal({
  496. // title: '提示',
  497. // content: '订单将抵扣 '+ (that.data.payData.coupon_price>0?that.data.payData.coupon_price/100:((that.data.total+that.data.yunfei)-that.data.afterdec) / 100)+' 元提货券,剩下 '+(that.data.afterdec / 100)+' 元将由微信支付,祝您购物愉快!' ,
  498. // success: function (sm) {
  499. // if (sm.confirm) {
  500. // that.pay()
  501. // } else if (sm.cancel) {
  502. // console.log('用户点击取消')
  503. // that.setData({
  504. // payFlag: false
  505. // })
  506. // }
  507. // }
  508. // })
  509. // }else{
  510. that.pay()
  511. // }
  512. }
  513. // if (!that.data.userInfo.user.has_trade_pwd) {
  514. // that.setPwdDialog()
  515. // } else {
  516. // if (that.data.balanceInfo.total - that.data.project.price * that.data.payData.count < 0) {
  517. // this.setData({
  518. // luoboCount: -(that.data.balanceInfo.total - that.data.project.price * that.data.payData.count),
  519. // showModal: true,
  520. // countMoney: -(that.data.balanceInfo.total - that.data.project.price * that.data.payData.count) / 100
  521. // })
  522. // } else {
  523. // that.setData({
  524. // pwdDialog: true
  525. // })
  526. // if (that.data.useRadishSelect) {
  527. // that.setData({
  528. // pwdDialog: true
  529. // })
  530. // } else {
  531. // that.openToast('请勾选使用提货券兑换~')
  532. // }
  533. // }
  534. // }
  535. }
  536. },
  537. onCancel: function () {
  538. this.setData({
  539. showModal: false
  540. });
  541. },
  542. onConfirm: function () {
  543. wx.navigateTo({
  544. url: '/packageUser/pages/user/exchange/exchange'
  545. })
  546. },
  547. onConfirm1: function() {
  548. wx.navigateTo({
  549. url: '/packageUser/pages/user/buy/buy?path=/pages/pay/pay&orderId=' + this.data.orderId +
  550. '&luoboCount=' + this.data.luoboCount + '&countMoney=' + this.data.countMoney
  551. })
  552. // /pages/pay/pay?order_id=EX201807206A91F25E
  553. },
  554. onConfirm2: function () {
  555. wx.navigateTo({
  556. url: '/pages/parse/parse?id=8'
  557. })
  558. },
  559. preventTouchMove: function () {
  560. },
  561. selectClick: function (e) {
  562. var that = this
  563. that.setData({
  564. curPayway: e.target.dataset.payway
  565. });
  566. },
  567. pay: function () {
  568. var that = this
  569. var url = "v1/pay";
  570. var params;
  571. if(that.data.receivetype == 0){
  572. params = {
  573. pick_way: 0,
  574. order_id: that.data.orderId,
  575. trad_pwd: that.data.pwd,
  576. pay_way: that.data.curPayway,
  577. address_id: that.data.address.id,
  578. s: 'xcx',
  579. use_coupon:that.data.useBalance,
  580. remark:that.data.remark,
  581. use_balance:that.data.useCash
  582. }
  583. }else{
  584. params = {
  585. pick_way: 1,
  586. order_id: that.data.orderId,
  587. trad_pwd: that.data.pwd,
  588. pay_way: that.data.curPayway,
  589. s: 'xcx',
  590. use_coupon:that.data.useBalance,
  591. use_balance:that.data.useCash,
  592. remark:that.data.remark,
  593. pick_dept:that.data.pickid,
  594. pick_addr_id:that.data.pick_address.id
  595. }
  596. }
  597. console.log('onpay',params)
  598. var success = function (val) {
  599. console.log(val);
  600. if(val.statusCode === 200){
  601. if (that.data.curPayway === 'weixinpay' && val.data.need_wx) {
  602. wx.requestPayment({
  603. 'timeStamp': val.data.pay_data.timeStamp,
  604. 'nonceStr': val.data.pay_data.nonceStr,
  605. 'package': val.data.pay_data.package,
  606. 'signType': val.data.pay_data.signType,
  607. 'paySign': val.data.pay_data.paySign,
  608. 'success':function(res){
  609. wx.showToast({
  610. title: '支付成功',
  611. icon: 'success',
  612. duration: 1000
  613. })
  614. wx.navigateTo({
  615. // url: '/packageUser/pages/user/orders/orders'
  616. url: '/pages/projects/project-success/project-success?id=' + that.data.orderId
  617. })
  618. },
  619. 'fail':function(res){
  620. that.setData({
  621. payFlag: false
  622. })
  623. that.getOrderInfo()
  624. }
  625. })
  626. } else {
  627. that.setData({
  628. pay: val.data
  629. });
  630. wx.redirectTo({
  631. // url: '/packageUser/pages/user/orders/orders'
  632. url: '/pages/projects/project-success/project-success?id=' + that.data.orderId
  633. })
  634. }
  635. that.setData({
  636. payFlag: false
  637. })
  638. that.getOrderInfo()
  639. }else{
  640. that.setData({
  641. payFlag: false
  642. })
  643. that.getOrderInfo()
  644. }
  645. }
  646. var fail = function(err){
  647. that.setData({
  648. payFlag: false
  649. })
  650. }
  651. __request.$post(url, params, success, fail)
  652. },
  653. setPwdDialog: function () {
  654. wx.showModal({
  655. title: '提示',
  656. confirmColor: '#eab86a',
  657. content: '您未设置交易密码,是否前往设置?',
  658. success: function(res) {
  659. if (res.confirm) {
  660. wx.navigateTo({
  661. url: '/packageUser/pages/user/safe/safe'
  662. })
  663. } else if (res.cancel) {
  664. }
  665. }
  666. })
  667. },
  668. onShareAppMessage: function (val) {
  669. return _request.share({
  670. sc: 'xcx_pay'
  671. })
  672. },
  673. bindremark (e) {
  674. this.setData({
  675. remark: e.detail.value
  676. })
  677. },
  678. receivetbn(e){
  679. if(this.data.payData.pay_way == ''){
  680. this.setData({
  681. receivetype: e.target.dataset.value,
  682. yunfei : e.target.dataset.value == 0 ? this.data._yunfei : 0
  683. })
  684. wx.setStorageSync('receivetype', e.target.dataset.value) //存入
  685. this.getBalanceInfo();
  686. this.getPayQuery();
  687. }else{
  688. wx.showToast({
  689. title: '当前提货方式已确定',
  690. icon: 'none',
  691. duration: 2000
  692. })
  693. }
  694. },
  695. getpickdeparts: function () {
  696. var that = this
  697. var url = "v1/pick_departs";
  698. var params = {}
  699. var success = function (val) {
  700. console.log('pick_departs-val',val);
  701. let list = [];
  702. for(var i in val.data){
  703. list.push(val.data[i]['pick_address']+'-'+val.data[i]['pick_title'])
  704. }
  705. that.setData({
  706. pickdepartsList:val.data,
  707. repickdepartsList:list,
  708. pickindex: 0,
  709. pickid:val.data[0]?val.data[0]['id']:0
  710. })
  711. }
  712. __request.$get(url, params, success)
  713. },
  714. bindPickerChange: function(e) {
  715. var that = this;
  716. console.log('picker发送选择改变,携带值为', e.detail.value)
  717. this.setData({
  718. pickindex: e.detail.value,
  719. pickid:that.data.pickdepartsList[e.detail.value]['id']
  720. })
  721. },
  722. getAddress(id) {
  723. var that = this
  724. var url = 'v1/address/'
  725. var params = {
  726. }
  727. var success = function (res) {
  728. var setaddress;
  729. for(var i in res.data){
  730. if(res.data[i]['id'] == id){
  731. setaddress = res.data[i];
  732. }
  733. }
  734. that.setData({
  735. address:setaddress
  736. })
  737. }
  738. __request.$get(url, params, success)
  739. },
  740. getPickAddress(id) {
  741. var that = this
  742. var url = 'v1/pick_address'
  743. var params = {
  744. }
  745. var success = function (res) {
  746. var setaddress;
  747. for(var i in res.data){
  748. if(res.data[i]['id'] == id){
  749. setaddress = res.data[i];
  750. }
  751. }
  752. that.setData({
  753. pick_address:setaddress
  754. })
  755. }
  756. __request.$get(url, params, success)
  757. },
  758. //获取扣减相关
  759. getPayQuery() {
  760. var that = this
  761. var url = 'v1/pay/query'
  762. var params = {
  763. 'order_id':that.data.orderId,
  764. 'use_coupon':true, //是否使用提货券
  765. 'use_balance':that.data.useCash, //是否使用佣金
  766. 'pick_way':that.data.receivetype, //自提方式
  767. }
  768. var success = function (res) {
  769. that.setData({
  770. payQueryData:res.data
  771. })
  772. }
  773. __request.$post(url, params, success)
  774. }
  775. })