index-legacy.871f4f16.js 14 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. ;(function(){function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}var __vite_style__=document.createElement('style');__vite_style__.innerHTML="._useCoupon_dzp2v_1{padding-top:.42667rem;padding-bottom:.42667rem}._useCoupon_dzp2v_1 ._couponCount_dzp2v_5{color:#ff3535;font-size:.42667rem;font-weight:600}._useCoupon_dzp2v_1 ._couponCount_dzp2v_5 i{font-style:normal;font-size:.37333rem}._choiceCoupon_dzp2v_14{display:flex;flex-direction:column;overflow:hidden;height:100%}._couponTitle_dzp2v_20{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:0 .45333rem;height:1.6rem;line-height:1.6rem;font-size:.48rem;font-weight:600;color:#1a1a1a}._couponTitle_dzp2v_20 ._iconClose_dzp2v_32{display:inline-block;width:.64rem;height:.64rem;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAG9QTFRFAAAAzMzM8fHx8/Pz6+vr8fHx6urq7Ozs6urq6+vr7Ozs6+vr6+vr6+vr6+vr7Ozs6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr7OzsZmZma2trbGxsgYGBj4+PysrKy8vLzMzMz8/P39/f6+vrszxq/gAAABp0Uk5TAAUSFhkkJVBXZmt1jY+2yM7b6/Hz9Pj8/v60zef/AAABRUlEQVRIx61W2baCMAyMIIvsm6ChgGD+/xvvA4gta+O580TITE+bpEkBljDdMEqzsszSKHRNOIHhxQ+S8Ig944B+De60wj247tAvfkGbKPzLFt9KaBeJteY7OR0gd5b8W0WHqG4L/pNO8FQUTkWnqKRd2TlpILfneCakheQTXZ804U/5LXQFxZjzgLQRAAAYcv28W9EMX3NoRPuW68oAAE9eokXEuvtYXY2Irez3ACCWfwhERPEajddoyf4YwFTqv8GvYuRjo9wPE1zlVEM9KyZ+PSgEF0I1Dt1IE30/fXSqP4RoEblpYSFQPs6MCFLaVmzzKYWM9hVrPmVQrvM5bR9Fv/aVfAF7S+xDs8PKThy7NNjFxy5v/gViX1F2E+C3GXYj47dK3WZs/d7u+QOFP7L4QxHAPhq79n8Mdv7T4YfHic7z5w+yIe8epvSUygAAAABJRU5ErkJggg==) no-repeat center;background-size:contain}._couponContent_dzp2v_39{flex:1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.32rem .37333rem;--coupon-point: #fff}._couponFooter_dzp2v_46{display:flex;align-items:center;justify-content:space-between;line-height:1.49333rem;padding:0 .42667rem}._couponFooter_dzp2v_46 ._couponSelectText_dzp2v_53{font-size:.42667rem;color:#1a1a1a}._couponFooter_dzp2v_46 ._couponSelectText_dzp2v_53 span{padding:0 .24rem;font-weight:600;color:#fc1a19}\n";document.head.appendChild(__vite_style__);System.register(['./index-legacy.b6c08a42.js','./vendor-legacy.5e7defd7.js','./index-legacy.f25f109a.js','./hooks-legacy.35db07ef.js','./item-legacy.91854470.js'],function(exports){'use strict';var ColResult,request,state,defineComponent,createVNode,createTextVNode,Fragment,Loading,Button,Cell,Popup,useEventTracking,Item;return{setters:[function(module){ColResult=module.C;request=module.r;state=module.s;},function(module){defineComponent=module.d;createVNode=module.a;createTextVNode=module.j;Fragment=module.F;Loading=module.L;Button=module.B;Cell=module.C;Popup=module.P;},function(){},function(module){useEventTracking=module.u;},function(module){Item=module.I;}],execute:function execute(){var useCoupon="_useCoupon_dzp2v_1";var couponCount="_couponCount_dzp2v_5";var choiceCoupon="_choiceCoupon_dzp2v_14";var couponTitle="_couponTitle_dzp2v_20";var iconClose="_iconClose_dzp2v_32";var couponContent="_couponContent_dzp2v_39";var couponFooter="_couponFooter_dzp2v_46";var couponSelectText="_couponSelectText_dzp2v_53";var styles={useCoupon:useCoupon,couponCount:couponCount,choiceCoupon:choiceCoupon,couponTitle:couponTitle,iconClose:iconClose,couponContent:couponContent,couponFooter:couponFooter,couponSelectText:couponSelectText};var ChoiceCoupon=defineComponent({name:'choice-coupon',props:{orderAmount:{type:Number,default:0},useCoupon:{type:Array,default:function _default(){return[];}},couponCategory:{type:String,default:'UNIVERSAL'},couponList:{type:Array,default:function _default(){return[];}}},emits:['close','submit'],data:function data(){return{list:[],// consumeAmount: 0 // 消耗金额
  2. dataLoading:false};},computed:{// 使用优惠券的数量
  3. useLength:function useLength(){return this.list.filter(function(list){return list.checked;}).length||0;}},mounted:function mounted(){var _this=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee(){var canUsable,canUsed;return regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:// this.getList()
  4. // 处理显示已选择的优惠券
  5. // 处理可用优惠券是否支付使用
  6. _this.couponList.forEach(function(item){_this.useCoupon.forEach(function(coupon){if(item.couponIssueId===coupon.couponIssueId){item.checked=true;}});});canUsable=_this.couponList.filter(function(list){return!list.disabled;});canUsed=_this.couponList.filter(function(list){return list.disabled;});_this.list=[].concat(_toConsumableArray(canUsable),_toConsumableArray(canUsed));_this.calcCoupon();useEventTracking('优惠券');case 6:case"end":return _context.stop();}}},_callee);}))();},methods:{// async getList() {
  7. // if (this.dataLoading) return
  8. // this.dataLoading = true
  9. // try {
  10. // const res = await request.post(`${state.platformApi}/couponInfo/page`, {
  11. // data: {
  12. // couponCategory: this.couponCategory,
  13. // couponType: 'FULL_DISCOUNT',
  14. // useState: 'USABLE',
  15. // page: 1,
  16. // rows: 100
  17. // }
  18. // })
  19. // this.dataLoading = false
  20. // const result = res.data || {}
  21. // // 处理重复请求数据
  22. // if (this.list.length > 0 && result.pageNo === 1) return
  23. // this.list = result.rows || []
  24. // // 处理可用优惠券是否支付使用
  25. // this.list.forEach((item: any) => {
  26. // item.checked = false
  27. // // 如果使用金额大于订单金额则优惠券不可用
  28. // if (item.useLimit > this.orderAmount) {
  29. // item.disabled = true
  30. // } else {
  31. // item.disabled = false
  32. // }
  33. // // 处理显示已选择的优惠券
  34. // this.useCoupon.forEach((coupon: any) => {
  35. // if (item.couponIssueId === coupon.couponIssueId) {
  36. // item.checked = true
  37. // }
  38. // })
  39. // })
  40. // // 初始化排序
  41. // const canUsable = this.list.filter((list: any) => !list.disabled)
  42. // const canUsed = this.list.filter((list: any) => list.disabled)
  43. // this.list = [...canUsable, ...canUsed]
  44. // this.calcCoupon()
  45. // } catch {
  46. // //
  47. // }
  48. // },
  49. onSubmit:function onSubmit(){// 返回选中的优惠券
  50. this.$emit('submit',this.list.filter(function(list){return list.checked;}));this.list.forEach(function(item){item.checked=false;});},onSelect:function onSelect(item){item.checked=!item.checked;this.calcCoupon();},calcCoupon:function calcCoupon(){// 计算优惠券
  51. // 已使用的优惠券
  52. var useList=this.list.filter(function(list){return list.checked;});var limitCount=useList.map(function(list){return Number(list.useLimit||0);});var usePrice=limitCount.length>0?limitCount.reduce(function(sum,list){return sum+list;}):0;// 使用优惠券后,可判断的金额
  53. var useLastAmount=this.orderAmount-usePrice;// 判断使用优惠券之后还有没有其它优惠券可用
  54. this.list.forEach(function(item){if(Number(item.useLimit)>useLastAmount&&!item.checked){item.disabled=true;}else{item.disabled=false;}});}},render:function render(){var _this2=this;return createVNode("div",{"class":styles.choiceCoupon},[createVNode("div",{"class":styles.couponTitle},[createVNode("span",null,[createTextVNode("\u4F18\u60E0\u5238")]),createVNode("i",{"class":styles.iconClose,"onClick":function onClick(){return _this2.$emit('close');}},null)]),createVNode("div",{"class":styles.couponContent},[!this.dataLoading?createVNode(Fragment,null,[this.list.length>0?createVNode(Fragment,null,[this.list.map(function(item){return createVNode(Item,{"item":item,"isSelect":true,"onClick":_this2.onSelect},null);})]):createVNode(ColResult,{"btnStatus":false,"tips":"暂无优惠券","classImgSize":"SMALL"},null)]):createVNode(Loading,{"size":48,"color":"#2dc7aa","vertical":true,"style":{height:'100%',justifyContent:'center'}},{default:function _default(){return[createTextVNode("\u52A0\u8F7D\u4E2D...")];}})]),createVNode("div",{"class":[styles.couponFooter,'van-hairline--top']},[createVNode("div",{"class":styles.couponSelectText},[createTextVNode("\u5DF2\u9009"),createVNode("span",null,[this.useLength]),createTextVNode("\u5F20")]),createVNode(Button,{"type":"primary","round":true,"style":{minWidth:'105px',fontSize:'16px'},"onClick":this.onSubmit},{default:function _default(){return[createTextVNode("\u786E\u5B9A")];}})])]);}});/*
  55. * 订单类型对应优惠券类型
  56. */var couponEnum={UNIVERSAL:'UNIVERSAL',VIP:'VIP',PINAO_ROOM:'PIANO',GOODS:'MALL',MUSIC:'MUSIC',PRACTICE:'SPARRING',LIVE:'LIVE',VIDEO:'VIDEO',ALBUM:'ALBUM'};var UseCoupons=exports('U',defineComponent({name:'use-conpon',props:{disabled:{type:Boolean,default:false},orderAmount:{type:Number,default:0},orderType:{type:String,default:''},discountPrice:{// 优惠券使用金额
  57. type:Number,default:0}},emits:['couponSelect'],data:function data(){return{popupStatus:false,popupLoading:false,useCouponList:[],useCouponLoading:false,useCouponCount:0,dataLoading:false,list:[]};},computed:{couponCount:function couponCount(){var limitCount=this.useCouponList.map(function(list){return Number(list.discountPrice||0);});var count=0;if(this.disabled){count=this.discountPrice;}else{count=limitCount.length>0?limitCount.reduce(function(sum,list){return sum+list;}):0;}return count;},couponCategory:function couponCategory(){// 如果订单类型不在优惠券类型里面,则默认查询通用券
  58. return couponEnum[this.orderType]||'UNIVERSAL';}},mounted:function mounted(){// this.getUseableCoupon()
  59. this.getList();},methods:{getList:function getList(){var _this3=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee2(){var res,result,count;return regeneratorRuntime.wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:if(!_this3.dataLoading){_context2.next=2;break;}return _context2.abrupt("return");case 2:_this3.dataLoading=true;_context2.prev=3;_context2.next=6;return request.post("".concat(state.platformApi,"/couponInfo/page"),{data:{couponCategory:_this3.couponCategory,couponType:'FULL_DISCOUNT',useState:'USABLE',orderUse:1,page:1,rows:100}});case 6:res=_context2.sent;_this3.dataLoading=false;result=res.data||{};// 处理重复请求数据
  60. if(!(_this3.list.length>0&&result.pageNo===1)){_context2.next=11;break;}return _context2.abrupt("return");case 11:_this3.list=result.rows||[];// 处理可用优惠券是否支付使用
  61. _this3.list.forEach(function(item){item.checked=false;// 如果使用金额大于订单金额则优惠券不可用
  62. if(item.useLimit>_this3.orderAmount){item.disabled=true;}else{item.disabled=false;}});count=0;_this3.list.forEach(function(item){if(!item.disabled){count++;}});console.log(_this3.list,'list');_this3.useCouponCount=count;_context2.next=21;break;case 19:_context2.prev=19;_context2.t0=_context2["catch"](3);case 21:case"end":return _context2.stop();}}},_callee2,null,[[3,19]]);}))();},// async getUseableCoupon() {
  63. // try {
  64. // this.useCouponLoading = true
  65. // // 判断是哪个端
  66. // const url =
  67. // state.platformType === 'STUDENT' ? '/api-student' : '/api-teacher'
  68. // const res = await request.get(`${url}/couponInfo/statInfo`)
  69. // this.useCouponLoading = false
  70. // const result = (res.data || []).find(
  71. // result => result.useState === 'USABLE'
  72. // )
  73. // this.useCouponCount = result.total || 0
  74. // } catch {
  75. // // TODO: handle
  76. // }
  77. // },
  78. onSubmit:function onSubmit(item){// useCouponList
  79. this.useCouponList=item;this.$emit('couponSelect',item);this.popupStatus=false;this.popupLoading=false;}},render:function render(){var _this4=this;return createVNode(Fragment,null,[createVNode(Cell,{"title":"优惠券","class":styles.useCoupon,"style":{borderRadius:'8px'},"isLink":!this.disabled,"clickable":false,"onClick":function onClick(){if(_this4.disabled)return;_this4.popupStatus=true;_this4.popupLoading=true;}},{value:function value(){return!_this4.useCouponLoading&&createVNode(Fragment,null,[_this4.couponCount>0?createVNode("span",{"class":styles.couponCount},[createVNode("i",null,[createTextVNode("-\uFFE5")]),_this4.couponCount]):createVNode(Fragment,null,[_this4.useCouponCount>0?"".concat(_this4.useCouponCount,"\u5F20\u53EF\u4F7F\u7528"):'暂无可使用优惠券'])]);}}),createVNode(Popup,{"show":this.popupStatus,"onUpdate:show":function onUpdateShow($event){return _this4.popupStatus=$event;},"position":"bottom","round":true,"safeAreaInsetBottom":true,"style":{height:'75%'},"onClosed":function onClosed(){_this4.popupLoading=false;}},{default:function _default(){return[_this4.popupLoading&&createVNode(ChoiceCoupon,{"couponCategory":_this4.couponCategory,"useCoupon":_this4.useCouponList,"orderAmount":_this4.orderAmount,"couponList":_this4.list,"onClose":function onClose(){return _this4.popupStatus=false;},"onSubmit":function onSubmit(item){return _this4.onSubmit(item);}},null)];}})]);}}));}};});})();