@polyv/product-ui 1.0.0-rc-20250612.3 → 1.1.0-rc-20250703.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/address-edit.cjs.js +2 -2
- package/address-edit.es.js +22 -9
- package/address-edit.umd.js +2 -2
- package/address-item.cjs.js +2 -2
- package/address-item.es.js +12 -12
- package/address-item.umd.js +2 -2
- package/address-list.cjs.js +2 -2
- package/address-list.es.js +30 -18
- package/address-list.umd.js +3 -3
- package/big-card-popup.cjs.js +9 -0
- package/big-card-popup.es.d.ts +3 -0
- package/big-card-popup.es.js +4402 -0
- package/big-card-popup.umd.js +9 -0
- package/index.cjs.js +3 -3
- package/index.es.js +1438 -708
- package/index.umd.js +3 -3
- package/mobile-product-pendant.cjs.js +3 -3
- package/mobile-product-pendant.es.js +45 -35
- package/mobile-product-pendant.umd.js +3 -3
- package/order-confirm.cjs.js +2 -2
- package/order-confirm.es.js +30 -18
- package/order-confirm.umd.js +2 -2
- package/order-detail.cjs.js +2 -2
- package/order-detail.es.js +30 -18
- package/order-detail.umd.js +2 -2
- package/order-item.cjs.js +2 -2
- package/order-item.es.js +21 -9
- package/order-item.umd.js +2 -2
- package/order-list-popup.cjs.js +3 -3
- package/order-list-popup.es.js +40 -19
- package/order-list-popup.umd.js +2 -2
- package/order-list.cjs.js +2 -2
- package/order-list.es.js +21 -9
- package/order-list.umd.js +2 -2
- package/order-popup.cjs.js +2 -2
- package/order-popup.es.js +40 -19
- package/order-popup.umd.js +2 -2
- package/package.json +2 -1
- package/pc-product-pendant.cjs.js +3 -3
- package/pc-product-pendant.es.js +21 -9
- package/pc-product-pendant.umd.js +3 -3
- package/product-button.cjs.js +3 -3
- package/product-button.es.js +298 -261
- package/product-button.umd.js +3 -3
- package/product-detail-popup.cjs.js +3 -3
- package/product-detail-popup.es.js +265 -203
- package/product-detail-popup.umd.js +3 -3
- package/product-detail.cjs.js +3 -3
- package/product-detail.es.js +337 -283
- package/product-detail.umd.js +3 -3
- package/product-iframe-link-popup.cjs.js +2 -2
- package/product-iframe-link-popup.es.js +13 -4
- package/product-iframe-link-popup.umd.js +2 -2
- package/product-item.cjs.js +3 -3
- package/product-item.es.js +419 -222
- package/product-item.umd.js +3 -3
- package/product-list-popup.cjs.js +3 -3
- package/product-list-popup.es.js +445 -313
- package/product-list-popup.umd.js +3 -3
- package/product-list.cjs.js +3 -3
- package/product-list.es.js +436 -312
- package/product-list.umd.js +3 -3
- package/small-card.cjs.js +8 -0
- package/small-card.es.d.ts +3 -0
- package/small-card.es.js +4463 -0
- package/small-card.umd.js +9 -0
package/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('@charset "UTF-8";@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-common-pendant{position:relative;width:36px;height:36px;overflow:hidden;border-radius:4px;background-color:#0000000f;cursor:pointer}.plv-product-common-pendant+.plv-product-common-pendant{margin-top:8px}.plv-product-common-pendant__icon{width:100%;height:100%;background-repeat:no-repeat;background-size:100% 100%}.plv-product-common-pendant__text{position:absolute;bottom:7px;left:50%;display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:32px;height:12px;padding:0 2px;border-radius:6px;color:#fff;text-align:center;white-space:nowrap;transform:translate(-50%)}.plv-product-common-pendant__text span{font-size:12px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-pendant .plv-product-common-pendant__text{font-family:DINPro-Regular,sans-serif}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-pc-pendant{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:104px;height:28px;overflow:hidden;padding:0 4px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#0000004d;transition:width .3s ease,padding .3s ease}.plv-product-pc-pendant--collapsed{width:21px;padding:0;border-top-right-radius:0;border-bottom-right-radius:0}.plv-product-pc-pendant__content{display:flex;justify-content:space-between;align-items:center;width:100%;cursor:pointer}.plv-product-pc-pendant__main{display:flex;align-items:center;cursor:pointer}.plv-product-pc-pendant__icon{flex:none;width:20px;height:20px;margin-right:2px}.plv-product-pc-pendant__text{position:relative;flex:1;max-width:50px;color:#fff;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-pc-pendant__text:after{position:absolute;top:50%;left:55px;display:block;width:1px;height:16px;background:#fff3;transform:translateY(-50%);content:""}.plv-product-pc-pendant__main:hover{margin:-2px -3px;padding:2px 6px 2px 3px;border-radius:5px;background:#fff3}.plv-product-pc-pendant__main:hover .plv-product-pc-pendant__text:after{display:none}.plv-product-pc-pendant__arrow-right,.plv-product-pc-pendant__arrow-left{display:flex;color:#fff9;font-size:12px;cursor:pointer}.plv-product-pc-pendant__arrow-right:hover{margin:-6px -4px;padding:6px 4px;border-radius:5px;background:#fff3}.plv-product-pc-pendant__arrow-left:hover{margin:-14px -4px;padding:14px 4px;border-radius:6px;background:#fff3}.plv-product-pc-pendant__content--arrow-hover .plv-product-pc-pendant__text:after{display:none}.pendant-expand-enter-active{transition:all .3s ease}.pendant-expand-leave-active{transition:all .2s ease}.pendant-expand-enter-from,.pendant-expand-leave-to{opacity:0%;transform:translate(-10px)}.pendant-collapse-enter-active{transition:all .3s ease .1s}.pendant-collapse-leave-active{transition:all .2s ease}.pendant-collapse-enter-from,.pendant-collapse-leave-to{opacity:0%;transform:scale(.8)}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-button{position:relative}.plv-product-button__render{position:relative;z-index:10}.plv-product-button__inner{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;cursor:pointer}.plv-radio{cursor:pointer;line-height:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.plv-radio:last-of-type{margin-right:0}.plv-radio .plv-radio__inner{-ms-flex-negative:0;flex-shrink:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:16px;height:16px;border-radius:8px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;vertical-align:middle}.plv-radio .plv-radio__label{color:#1d2129;font-size:14px;padding-left:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;line-height:16px;word-break:break-word}.plv-radio:hover .plv-radio__inner{border-color:#3f76fc}.plv-radio.plv-radio--checked .plv-radio__inner{border-width:4px;border-color:#3f76fc}.plv-radio.plv-radio--disabled{cursor:not-allowed}.plv-radio.plv-radio--disabled .plv-radio__inner{border-color:#e5e5e5;background:#f9fafd}.plv-radio.plv-radio--disabled .plv-radio__label{color:#969ba5}.plv-radio.plv-radio--disabled.plv-radio--checked .plv-radio__inner{background:#f9fafd}.plv-radio.plv-radio--readonly{cursor:default}.plv-radio.plv-radio--readonly:hover .plv-radio__inner{border-color:#e5e5e5}.plv-radio.plv-radio--readonly:hover .plv-radio__inner.plv-radio__inner--checked{border-color:#3f76fc}.plv-radio--border{min-width:80px;height:36px!important;padding:0 16px;border-radius:2px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;position:relative;margin-right:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plv-radio--border:hover{border-color:#3f76fc}.plv-radio--border .plv-radio__label{padding-left:0;font-size:12px;float:none}.plv-radio--border.plv-radio--checked{border-width:2px;border-color:#3f76fc}.plv-radio--border .plv-radio__corner{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background-image:url(data:image/png;base64,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);background-size:100% 100%}.plv-radio--border.plv-radio--disabled{background:#f9fafd;border-color:#e5e5e5!important}.plv-radio--border.plv-radio--disabled:hover,.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5}.plv-radio--border.plv-radio--readonly.plv-radio--checked{border-color:#3f76fc}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-common-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006}.plv-product-common-popup__body{position:absolute;display:flex;flex-direction:column;width:100%;max-height:90%;overflow:hidden;border-radius:16px 16px 0 0;background:#fff}.plv-product-common-popup__header{position:relative;z-index:2;display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:0 54px}.plv-product-common-popup__back{position:absolute;top:50%;left:18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:20px;transform:translateY(-50%);cursor:pointer}.plv-product-common-popup__title{color:#000c;font-size:16px;font-weight:500;text-align:center}.plv-product-common-popup__header-right{position:absolute;top:50%;right:12px;display:flex;align-items:center;transform:translateY(-50%)}.plv-product-common-popup__close{display:flex;color:#0009;font-size:24px;cursor:pointer}.plv-product-common-popup__content{position:relative;z-index:2;display:flex;flex:1;overflow:hidden}.plv-product-common-popup__inner{flex:1;overflow-y:auto}.plv-product-common-popup__body--bg1{background:linear-gradient(180deg,#fee5e1,#fef9f4)}.plv-product-common-popup__body--bg1:before{position:absolute;top:-26px;right:-87px;z-index:1;width:176px;height:168px;background:#fdf0d5;pointer-events:none;content:"";filter:blur(80px)}.plv-product-common-popup__body--bg1 .plv-product-common-popup__content{padding:0 12px 30px}.plv-product-common-popup__body--bg1 .plv-product-common-popup__inner{border-radius:12px;background:#fff}.plv-product-common-popup--hide-modal{background:none;pointer-events:none}.plv-product-common-popup--hide-modal .plv-product-common-popup__body{pointer-events:initial}.plv-product-common-popup--fill-body .plv-product-common-popup__content{height:90%}.plv-product-common-popup--mobile .plv-product-common-popup__body{border-radius:16px 16px 0 0}.plv-product-common-popup--position-bottom .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(0, 100%);--plv-product-popup-animation-end: translate(0, 0);bottom:0;left:0}.plv-product-common-popup--position-left .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(-100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;left:0;height:100%;max-height:100%}.plv-product-common-popup--position-right .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;right:0;height:100%;max-height:100%}.plv-product-common-popup--position-center .plv-product-common-popup__body{top:50%;left:50%;max-height:90%;animation:none!important;transform:translate(-50%,-50%)}.plv-product-common-popup--horizontal-screen .plv-product-common-popup__body{border-radius:0}.plv-product-common-popup--page-fullscreen{top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__body,.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__content{overflow:initial}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__inner{overflow-y:initial}.plv-product-common-popup-slide-enter-active{animation:plv-product-common-popup-slide-in .2s ease-in-out}.plv-product-common-popup-slide-leave-active{animation:plv-product-common-popup-slide-in .15s reverse ease-in-out}@keyframes plv-product-common-popup-slide-in{0%{transform:var(--plv-product-popup-animation-start)}to{transform:var(--plv-product-popup-animation-end)}}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-form-input{display:flex}.plv-product-form-input__main{position:relative;display:flex;flex:1;align-items:center;box-sizing:border-box;height:50px;overflow:hidden;border-radius:8px;background:#f7f8fa}.plv-product-form-input__input{display:block;flex:1;box-sizing:border-box;height:100%;color:inherit}.plv-product-form-input__input-inner{border:none;border-radius:0;outline:none;display:block;box-sizing:border-box;width:100%;height:100%;padding:0 12px;background:none;font-size:14px}.plv-product-form-input__input-inner::placeholder{color:#9e9e9e}.plv-product-form-input__input-inner::-webkit-outer-spin-button,.plv-product-form-input__input-inner::-webkit-inner-spin-button{margin:0;appearance:none!important}.plv-product-form-input__input-inner[type=number]{appearance:textfield}.plv-product-form-input__input-inner[disabled]{opacity:100%}.plv-product-form-input__input-inner[type=button],.plv-product-form-input__input-inner[type=submit],.plv-product-form-input__input-inner[type=reset]{appearance:none;background:#fff}.plv-product-form-input__clearable{display:flex;margin-right:16px;color:#999;font-size:20px}.plv-product-form-input__suffix-text{color:#aaa;font-size:16px}.plv-product-form-input--textarea .plv-product-form-input__main{height:initial}.plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:8px}.plv-product-form-input__suffix{display:flex;align-items:center;padding-right:12px}.plv-product-form-input__suffix .polyv-icon{display:flex;color:#0006;font-size:18px}.plv-product-form-input__suffix:empty{display:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-loading{display:inline-block;width:32px;height:32px;background-image:url(data:image/png;base64,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);background-position:center;background-size:cover;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-label-panel{position:relative;background-color:#f7f8fa}.plv-product-c-label-list__wrapper{position:relative;z-index:1060;display:flex;box-sizing:border-box;margin-bottom:4px;padding:0 12px;background-color:#f7f8fa}.plv-product-c-label-list__inner{display:flex}.plv-product-c-label-list__item{display:flex;flex:none;flex-direction:column;align-items:center;box-sizing:border-box;height:26px;margin-right:8px;margin-bottom:8px;padding:4px 12px;border:1px solid rgba(0,0,0,.06);border-radius:20px;color:#0009;font-size:12px;line-height:18px}.plv-product-c-label-list__item.plv-product-c-label-list__item--active{border-color:#ff62644d;color:#ff6264;font-weight:500}.plv-product-c-label-list__arrow{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:26px;height:26px;margin-left:auto;border:1px solid rgba(0,0,0,.1);border-radius:20px}.plv-product-c-label-list__arrow-icon{display:flex;color:#0006;font-size:16px;transition:.3s}.plv-product-c-label-list__arrow--active .plv-product-c-label-list__arrow-icon{transform:rotate(180deg)}.plv-product-c-label-list__shadow{position:absolute;top:0;right:0;z-index:0;width:80px;height:42px;background:linear-gradient(90deg,#f7f8fa00,#f7f8fa 39%)}.plv-product-c-label-list-panel{position:absolute;top:100%;right:0;left:0;z-index:1050;box-sizing:border-box;padding:0 12px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:#f7f8fa}.plv-product-c-label-list-panel__content{flex-wrap:wrap;box-sizing:border-box;max-height:216px;overflow-y:auto;transform:translateZ(0)}.slide-fade-enter-active,.slide-fade-leave-active{overflow:hidden;transition:transform .3s ease,opacity .3s ease}.slide-fade-enter,.slide-fade-leave-to{opacity:0%;transform:translateY(-10px)}.fade-overlay-enter-active,.fade-overlay-leave-active{transition:opacity .3s ease}.fade-overlay-enter,.fade-overlay-leave-to{opacity:0%}.plv-product-c-label-overlay{position:fixed;inset:45% 0 0;z-index:1040;background-color:#0006}.plv-product-c-label-overlay-pc{position:absolute;inset:45% 0 0;z-index:1040;height:600px;background-color:#0006}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-explain--explaining{display:flex;justify-content:center;align-items:center;width:100%;height:20px;border-radius:0 0 8px 8px;background:#ff6264cc;color:#fff;font-size:12px;font-weight:500;backdrop-filter:blur(3px)}.plv-product-c-explain--explaining .plv-product-c-explain--explaining-icon{width:14px;height:14px;margin-right:2px;vertical-align:top}.plv-product-c-explain--explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(255,98,100,.3);border-radius:20px;background:#fff;color:#ff6264;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.plv-product-c-explain--not-explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(0,0,0,.1);border-radius:20px;background:#fff;color:#666;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--explaining-cover{position:absolute;bottom:0;left:0}.plv-product-c-explain--not-explained-cover,.plv-product-c-explain--explained-cover{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining{width:52px;height:16px;padding:1px 2px;border:1px solid rgba(255,82,82,.6);border-radius:2px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;transform:scale(.8333)}.plv-product-c-explain--no-cover .plv-product-c-explain--explained{width:60px;height:24px;padding:3px 12px;background:transparent;color:#ff5252;font-size:12px}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained{display:flex;box-sizing:border-box;height:16px;margin-left:4px;padding:1px 4px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained span{display:inline-block;transform:scale(.833);user-select:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__title-container{position:relative;margin-bottom:6px}.plv-product-c-item__title{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-item__title--single{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__title-more{position:absolute;top:22px;right:-6px;display:flex;border:none;background:none}.plv-product-c-item__title-more-icon{display:flex;color:#0006;font-size:16px}.plv-product-c-item__title--expanded{-webkit-line-clamp:unset}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__tag-container{box-sizing:border-box;margin-right:4px;padding:0 1px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__tag{display:inline-block;transform:scale(.833);user-select:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__price-area{display:flex;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px}.plv-product-c-item__price-custom{font-size:14px}.plv-product-c-item__price-symbol{color:#ff5252;font-size:12px}.plv-product-c-item__price-placeholder{margin-left:2px;color:#ff5252;font-size:18px}.plv-product-c-item__placeholder-text{margin:6px 2px 0 3px;color:#0006;font-size:12px}.plv-product-c-item__original-price{margin-left:2px;color:#0006;font-size:12px;line-height:14px;text-decoration:line-through}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-item{position:relative;display:flex;box-sizing:border-box;height:124px;margin-bottom:8px;padding:12px;border-radius:8px;background-color:#fff;cursor:pointer}.plv-product-item__ranking{box-sizing:border-box;min-width:19px;height:16px;padding:1px 6px;border-radius:2px;background:#0006;color:#fff;font-size:12px;font-weight:700;line-height:14px}.plv-product-item__ranking--cover{position:absolute;top:2px;left:2px}.plv-product-item__cover-area{position:relative;flex:none;overflow:hidden;margin-right:8px;border-radius:4px}.plv-product-item__cover-stock{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#00000080;color:#fff;font-size:12px}.plv-product-item__cover{width:100px;height:100px;object-fit:cover}.plv-product-item__content{display:flex;flex-grow:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-item__content .plv-product-c-item__title-container{min-width:0;margin-bottom:0}.plv-product-item__title-area{display:flex;align-items:center}.plv-product-item__tags{display:flex;flex-wrap:wrap;margin-top:6px;margin-bottom:6px}.plv-product-item__description{margin:0;color:#0006;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-item__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.plv-product-item__explained--no-cover{margin-right:12px;margin-left:auto}.plv-product-item__buy-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:24px;padding:3px 12px;border:none;border-radius:16px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;outline:none}.plv-product-item__buy-button--disabled{background:#ff525299;color:#fff}.plv-product-item-no-cover .plv-product-c-item__title{margin-left:4px}.plv-product-item--topping{background:#f15d5d14}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-list-empty{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;padding:0 10px;font-size:14px;line-height:18px;text-align:center;transform:translate(-50%,-50%)}.plv-product-list-empty__icon{display:flex;opacity:40%;margin-bottom:16px;color:#999;font-size:70px}.plv-product-list-empty__text{color:#999}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-list{height:100%;overflow-y:auto;background-color:#f7f8fa;-webkit-overflow-scrolling:touch}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__main{height:32px;border-radius:8px;background:#0000000a}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__input-inner{padding-left:4px}.plv-product-list__header-search-icon{display:flex;margin-left:11px;color:#0006}.plv-product-list__header{position:sticky;top:0;left:0;z-index:30;padding-bottom:12px;background-color:#f7f8fa}.plv-product-list__header-search-wrapper{display:flex;align-items:center;margin:0 0 12px;padding:7px 12px 0}.plv-product-list__search-input{flex:1;margin-right:8px}.plv-product-list__header-right{display:flex;flex-direction:column;margin-left:auto;padding:6px 10px 3px}.plv-product-list__header-right-icon{display:flex;margin:0 auto 2px}.plv-product-list__header-right-text{color:#333a47;font-size:12px}.plv-product-list__wrapper{padding:0 8px}.plv-product-list__product-total{display:flex;align-items:center;margin-top:12px;padding:0 12px}.plv-product-list__product-total-icon{display:flex;margin-right:4px;color:#000c;font-size:12px}.plv-product-list__product-total-text,.plv-product-list__product-total-num{color:#0009;font-size:12px}.plv-product-list__product-total-num{margin-left:8px;font-weight:500}.plv-product-list__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}.plv-product-list-popup__icon-close{display:flex;margin:0 4px 0 8px;color:#0009;font-size:24px;cursor:pointer}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-video{position:relative;width:100%;height:100%;background-color:#00000080}.plv-product-c-video__container{width:100%;height:100%}.plv-product-c-video__container-material{position:relative;width:100%;height:100%}.plv-product-c-video__container-placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-video__container-placeholder-icon{font-size:64px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - var(--swiper-navigation-size) / 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:#00000040;position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:#0000001a}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:#00000080;border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:"";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.plv-product-c-swiper-img,.plv-product-c-swiper-img__swiper{height:100%}.plv-product-c-swiper-img__swiper-slide{background:#0000001a}.plv-product-c-swiper-img__slide-img{width:100%;height:100%;object-fit:cover}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-swiper-img__placeholder-icon{font-size:64px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-switch-tab__block{display:flex;flex-direction:row;align-items:center;padding:2px;border-radius:10px;background:#0003;transition:all .3s}.plv-product-c-switch-tab__block-item{min-width:32px;height:14px;padding:0 4px;color:#dbe4f4;font-size:12px;line-height:14px;text-align:center;transform:scale(.833);cursor:pointer}.plv-product-c-switch-tab__block-item--active{border-radius:10px;background:#fff;color:#666}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-detail-cover{position:relative;width:100%;padding-top:100%;background:#eaeaea}.plv-product-c-detail-cover__container{position:absolute;top:0;left:0;width:100%;height:100%}.plv-product-c-detail-cover__switch-tab{position:absolute;bottom:20px;left:12px;z-index:20}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-product-info{position:relative;z-index:11;display:flex;flex-direction:column;box-sizing:border-box;margin-top:-8px;padding:8px 8px 16px;border-top-left-radius:15px;border-top-right-radius:15px;background:#f7f8fa}.plv-product-c-product-info .plv-product-c-item__price-placeholder{font-size:30px}.plv-product-c-product-info .plv-product-c-item__placeholder-text{margin:6px 4px 0}.plv-product-c-product-info__price{margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__treatment{margin-bottom:8px;margin-left:8px;color:#ff5252;font-size:22px}.plv-product-c-product-info__tags{display:flex;margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__content{display:flex;flex-direction:column;margin-bottom:8px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__content .plv-product-c-item__title-container{margin-bottom:0}.plv-product-c-product-info__content-desc{margin-top:6px;color:#0006;font-size:12px;line-height:18px}.plv-product-c-product-info__detail{flex:1;box-sizing:border-box;min-height:184px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__detail--mobile{padding-bottom:76px}.plv-product-c-product-info__detail-label{margin-bottom:12px;color:#000c;font-size:14px;font-weight:500;line-height:14px}.plv-product-c-product-info__detail-text:after{display:block;clear:both;content:""}.plv-product-c-product-info__detail-text table,.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{border-width:1px;border-style:solid}.plv-product-c-product-info__detail-text table{border-collapse:collapse}.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{min-width:50px;padding:3px 5px}.plv-product-c-product-info__detail-text p{margin:10px 0}.plv-product-c-product-info__detail-text p:first-child{margin-top:0}.plv-product-c-product-info__detail-text p:last-child{margin-bottom:0}.plv-product-c-product-info__detail-text a{color:#3f76fc}.plv-product-c-product-info__detail-text a:hover{color:#3f76fc!important}.plv-product-c-product-info__detail-text img{max-width:100%}.plv-product-c-product-info__detail-text ol,.plv-product-c-product-info__detail-text ul{padding-left:40px}.plv-product-c-product-info__detail-text ol{list-style-type:decimal}.plv-product-c-product-info__detail-text ul{list-style-type:disc}.plv-product-c-product-info__detail-text h1,.plv-product-c-product-info__detail-text h2,.plv-product-c-product-info__detail-text h3,.plv-product-c-product-info__detail-text h4,.plv-product-c-product-info__detail-text h5{margin:0;font-weight:700}.plv-product-c-product-info__detail-text h1{font-size:28px;line-height:42px}.plv-product-c-product-info__detail-text h2{font-size:24px;line-height:36px}.plv-product-c-product-info__detail-text h3{font-size:20px;line-height:28px}.plv-product-c-product-info__detail-text h4{font-size:18px;line-height:26px}.plv-product-c-product-info__detail-text h5{font-size:16px;line-height:22px}.plv-product-c-product-info__detail-text h6{margin:0}.plv-product-c-product-info__detail-text hr{border-color:#000}.plv-product-c-product-info__detail-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;color:#999;font-size:12px}.plv-product-c-product-info__detail-empty-icon{width:64px;height:64px;margin-bottom:12px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-detail-container{position:relative;display:flex;flex-direction:column;width:100%;height:100%}.plv-product-detail-container__content{background:#f7f8fa}.plv-product-detail-container__content-title{position:sticky;top:0;left:0;z-index:10;width:100%;height:52px;margin-bottom:8px;background:#f7f8fa;color:#000c;font-size:16px;font-weight:500;line-height:52px;text-align:center}.plv-product-detail-container__footer{z-index:15;box-sizing:border-box;width:100%;padding:12px 28px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-detail-container__footer{padding-bottom:16px}}.plv-product-detail-container__footer:before{position:absolute;top:-16px;right:0;left:0;height:16px;background:linear-gradient(0deg,#fff,#fff0);content:""}.plv-product-detail-container__footer-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:100%;height:48px;border:none;border-radius:24px;background:#ff5252;color:#fff;font-size:16px;outline:none}.plv-product-detail-container__footer-button--disabled{background:#ff525299;color:#fff}.plv-product-detail-container--mobile .plv-product-detail-container__content{flex:1}.plv-product-detail-container--mobile .plv-product-detail-container__footer{position:fixed;right:0;bottom:0;left:0}.plv-product-detail-container--pc .plv-product-detail-container__content{flex:1;overflow-y:auto}.plv-product-detail-container--pc .plv-product-detail-container__footer{position:relative;flex-shrink:0}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-detail-popup__close{position:absolute;top:11px;right:10px;z-index:99;display:flex;justify-content:center;align-items:center;width:28px;height:28px;border-radius:28px;background:#0000001a;color:#fff;cursor:pointer}.plv-product-detail-popup__close:before{position:absolute;inset:-10px;z-index:-1;content:""}.plv-product-detail-popup__icon-close{display:flex}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-order-status-tab{display:flex;gap:4px;align-items:center;height:auto;min-height:36px;overflow:auto hidden;margin:0 -12px;padding:8px 12px;color:#999;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.plv-product-c-order-status-tab::-webkit-scrollbar{display:none}.plv-product-c-order-status-tab__item{position:relative;flex:none;padding:8px 16px;background-color:transparent;color:#999;font-size:14px;white-space:nowrap;cursor:pointer}.plv-product-c-order-status-tab__item--active{color:#333}.plv-product-c-order-status-tab__item--active:after{position:absolute;bottom:1px;left:50%;width:16px;height:2px;border-radius:2px;background-color:#ff5252;transform:translate(-50%);content:""}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-purchase-product{display:flex;overflow:hidden;padding:10px 12px;border-radius:8px;background:#fff}.plv-product-c-purchase-product__image{flex:none;width:100px;height:100px;margin-right:8px;border-radius:4px;object-fit:cover}.plv-product-c-purchase-product__info{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-c-purchase-product__name{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-purchase-product__tags{display:flex;margin-top:6px}.plv-product-c-purchase-product__description{margin-top:6px;color:#0006;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-purchase-product__price-symbol{color:#333;font-size:12px}.plv-product-c-purchase-product__price-value{color:#333;font-size:18px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order-item{margin:8px 12px;padding:10px 12px 16px;border-radius:8px;background-color:#fff}.plv-product-order-item:first-child{margin-top:0}.plv-product-order-item__main .plv-product-c-purchase-product{padding:0}.plv-product-order-item__footer{padding-top:10px}.plv-product-order-item__actions-summary{display:flex;justify-content:space-between;align-items:center}.plv-product-order-item__left{display:flex;align-items:center}.plv-product-order-item__status-text{color:#666;font-size:14px}.plv-product-order-item__status-text--highlight{color:#ff5252}.plv-product-order-item__countdown{margin-left:8px;color:#ff5252}.plv-product-order-item__total{margin-bottom:12px;text-align:right}.plv-product-order-item__total-symbol{margin-right:2px;color:#999;font-size:14px;vertical-align:middle}.plv-product-order-item__total-value{color:#333;font-size:18px;vertical-align:middle}.plv-product-order-item__buttons{display:flex;gap:8px}.plv-product-order-item__button{box-sizing:border-box;max-width:150px;height:32px;padding:0 20px;border:1px solid rgba(0,0,0,.1);border-radius:22px;background-color:transparent;color:#000c;font-size:14px;line-height:32px;text-align:center;cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-order-item__button--highlight{border-color:#ff5252;background:#ff5252;color:#fff}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order-list{display:flex;flex-direction:column;height:100%;overflow:hidden auto}.plv-product-order-list__status-tab{position:sticky;top:0;z-index:1;flex-shrink:0;background:#f7f8fa}.plv-product-order-list__items-container{position:relative;flex:1;min-height:0;padding-top:8px}.plv-product-order-list__empty{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:300px}.plv-product-order-list__empty-icon{display:flex;justify-content:center;color:#e1e5e8;font-size:70px}.plv-product-order-list__empty-text{margin-top:16px;color:#999;font-size:12px;text-align:center}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-pay-status{display:flex;flex-direction:column;justify-content:center;align-items:center}.plv-product-c-pay-status__text{color:#000c;font-size:20px;font-weight:500}.plv-product-c-pay-status__actions{display:flex;justify-content:center;align-items:center;margin-top:4px;margin-bottom:18px;color:#999;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-customer-qrcode{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:18px;padding:20px 0;border-radius:8px;background:#fff}.plv-product-c-customer-qrcode__img-wrap{position:relative;display:flex;justify-content:center;align-items:center;padding:10px;border:1px solid #CCC;border-radius:4px}.plv-product-c-customer-qrcode__img-text{position:absolute;color:#0006;font-size:14px}.plv-product-c-customer-qrcode__img,.plv-product-c-customer-qrcode__img--expired{width:120px;height:120px}.plv-product-c-customer-qrcode__tips{margin-top:12px;color:#0006;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-address-item{box-sizing:border-box;padding:12px 16px;border-radius:8px;background:#fff}.plv-product-address-item__top{display:flex;justify-content:space-between;align-items:center}.plv-product-address-item__content{flex:1;min-width:0}.plv-product-address-item__header{color:#000c;font-size:14px}.plv-product-address-item__header-phone{margin-left:4px}.plv-product-address-item__address{margin-top:4px;color:#0006;font-size:14px;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-address-item__icon-wrapper{display:flex;flex-shrink:0;align-items:center;margin-left:40px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-phone-info{display:flex;align-items:center;box-sizing:border-box;height:52px;padding-left:12px;border-radius:8px;background:#fff;color:#000c;font-size:14px}.plv-product-c-phone-info__text{margin-left:12px}.plv-product-c-payment-methods{margin-bottom:8px;padding:10px 12px;border-radius:8px;background-color:$plv-color-white}.plv-product-c-payment-methods__title{margin-bottom:10px;color:$plv-color-black-opacity-40;font-size:12px}.plv-product-c-payment-methods__list{display:flex;flex-direction:column}.plv-product-c-payment-methods__item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.plv-product-c-payment-methods__item-info{display:flex;align-items:center}.plv-product-c-payment-methods__item-icon{display:flex;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px}.plv-product-c-payment-methods__item-icon img{max-width:100%;max-height:100%}.plv-product-c-payment-methods__item-label{color:$plv-color-black-opacity-80;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-order-info__text{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;height:44px;padding:12px 14px 12px 16px;color:#000c;font-size:12px}.plv-product-c-order-info__text>span:first-child{color:#0006}.plv-product-c-order-info__amount{color:#ff5252}.plv-product-c-order-info__amount-symbol{font-size:12px}.plv-product-c-order-info__amount-value{font-size:18px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-bottom-operate-panel{display:flex;justify-content:flex-end;box-sizing:border-box;width:100%;padding:10px 12px;background-color:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-c-bottom-operate-panel{padding-bottom:16px}}.plv-product-c-bottom-operate-panel__item{display:flex;justify-content:center;align-items:center}.plv-product-c-bottom-operate-panel__btn{box-sizing:border-box;height:40px;padding:9px 32px;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;white-space:nowrap}.plv-product-c-bottom-operate-panel__btn-refund{border:1px solid rgba(0,0,0,.1);background:transparent;color:#000c}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order-detail{display:flex;flex-direction:column;height:100%}.plv-product-order-detail__content{flex:1;padding:0 12px}.plv-product-order-detail__info{margin-top:8px;border-radius:8px;background:#fff}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order-list-popup__wrap{position:relative;box-sizing:border-box;width:100%;height:100%;overflow:hidden}.plv-product-order-list-popup__order-list,.plv-product-order-list-popup__order-detail{height:100%}.plv-product-order-list-popup__order-detail{position:absolute;top:0;left:0;box-sizing:border-box;width:100%}.plv-product-order-list-popup__fade-enter-active,.plv-product-order-list-popup__fade-leave-active{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.plv-product-order-list-popup__fade-enter-from,.plv-product-order-list-popup__fade-leave-to{opacity:0%}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-form-item{position:relative;display:flex;align-items:flex-start;margin-bottom:16px;border:1px solid transparent}.plv-product-form-item--error{border-color:#ff5252}.plv-product-form-item__anchor{position:absolute;top:0;left:0;opacity:0%}.plv-product-form-item__label-required{margin-right:2px;color:#ff5252}.plv-product-form-item__label{display:flex;flex-shrink:0;justify-content:flex-end;align-items:center;box-sizing:border-box;padding-right:16px;color:#000c;font-size:14px}.plv-product-form-item__content{position:relative;flex-shrink:0}.plv-product-form-item__content:not(.plv-product-form-item__content--has-width){flex:1}.plv-product-form-item--header{flex-direction:column}.plv-product-form-item--header .plv-product-form-item__label{justify-content:flex-start;width:100%;margin-bottom:8px;padding:0;color:#3339;font-size:12px;line-height:1.5}.plv-product-form-item--header .plv-product-form-item__content{width:100%}.plv-product-form-item__content-error{box-sizing:border-box;width:100%;padding-top:5px;color:#ff5252;font-size:12px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-choose-address{padding:12px 14px 12px 16px;border-radius:8px;background:#fff;cursor:pointer}.plv-product-c-choose-address .plv-product-address-item{padding:0}.plv-product-c-choose-address__empty{display:flex;justify-content:space-between;align-items:center;width:100%}.plv-product-c-choose-address__empty-text{color:#000c;font-size:14px}.plv-product-c-choose-address__empty-action{display:flex;align-items:center;color:#0006;font-size:14px}.plv-product-c-choose-address__empty-action-text{margin-right:4px}.plv-product-c-choose-address__arrow-icon{display:flex;color:#0006;font-size:18px}.plv-product-c-choose-address__info{display:flex;justify-content:space-between;align-items:center;width:100%}.plv-product-c-choose-address__info-contact{display:flex;flex:1;flex-direction:column;margin-right:16px}.plv-product-c-choose-address__info-name{margin-bottom:4px;color:#333;font-size:16px;font-weight:700}.plv-product-c-choose-address__info-mobile{color:#333;font-size:14px}.plv-product-c-choose-address__info-address{flex:1;color:#666;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-order-submit-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-c-order-submit-bar{padding-bottom:16px}}.plv-product-c-order-submit-bar__text{color:#666;font-size:14px}.plv-product-c-order-submit-bar__price{color:#ff5252;font-size:12px}.plv-product-c-order-submit-bar__price-integer{font-size:24px}.plv-product-c-order-submit-bar__submit-btn{box-sizing:border-box;height:40px;padding:9px 32px;border:none;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;white-space:nowrap;outline:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order{position:relative;display:flex;flex-direction:column;height:100%}.plv-product-order .plv-product-form-item__label{padding-right:0}.plv-product-order__content{flex:1;box-sizing:border-box;overflow-y:auto;padding:0 12px}.plv-product-order__form-item{box-sizing:border-box;border-radius:8px;background:#fff}.plv-product-order__form-item .plv-product-form-input__main{height:52px;background:transparent}.plv-product-order__form-item .plv-product-form-item__content-error{padding:0 0 8px 12px}.plv-product-order__purchase-product,.plv-product-order__payment-method{margin-top:8px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-address-list{display:flex;flex-direction:column;height:100%}.plv-product-address-list__content{flex:1;overflow-y:auto;padding:0 12px}.plv-product-address-list__address-item{margin-bottom:8px;padding-bottom:0}.plv-product-address-list__icon{display:flex;color:#ff5252}.plv-product-address-list__action{display:flex;justify-content:flex-end;align-items:center;margin-top:12px;padding:8px 0;border-top:1px solid #E6E6E6}.plv-product-address-list__action-btn{color:#0006;font-size:14px;cursor:pointer}.plv-product-address-list__action-btn~.plv-product-address-list__action-btn{margin-left:20px}.plv-product-address-list__footer{padding:10px 16px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-address-list__footer{padding-bottom:16px}}.plv-product-address-list__footer-btn{box-sizing:border-box;width:100%;height:40px;border:none;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;line-height:40px;outline:none}.plv-area-picker-mob{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#fff}.plv-area-picker-mob .plv-area-picker__tab{height:58px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.plv-area-picker-mob .plv-area-picker__tab__item{height:58px;line-height:58px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:16px;text-align:center;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plv-area-picker-mob .plv-area-picker__tab__item--selected{color:#3f76fc}.plv-area-picker-mob .plv-area-picker__tab__item--selected:after{content:"";height:2px;width:35px;background:#3f76fc;position:absolute;bottom:12px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%)}.plv-area-picker-mob .plv-area-picker__popper{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:hidden}.plv-area-picker-mob .plv-area-picker__popper__inner{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.plv-area-picker-mob .plv-area-picker__list{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:scroll}.plv-area-picker-mob .plv-area-picker__list__item{height:44px;line-height:44px;padding-left:33px;padding-right:32px;font-size:16px}.plv-area-picker-mob .plv-area-picker__list__item:nth-child(odd){background:#fafafa}.plv-area-picker-mob .plv-area-picker__list__item .plv-front-mob-icon-check{font-size:24px;color:#3f76fc;display:none}.plv-area-picker-mob .plv-area-picker__list__item .plv-area-picker-mob__area__item__inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.plv-area-picker-mob .plv-area-picker__list__item--selected{color:#3f76fc}.plv-area-picker-mob .plv-area-picker__list__item--selected .plv-front-mob-icon-check{display:block}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-form-area-picker__body,.plv-product-form-area-picker__body input{cursor:pointer}.plv-product-form-area-picker__header{display:flex;flex-shrink:0;box-sizing:border-box;width:100%;height:50px;padding:0 16px;font-size:16px;line-height:50px}.plv-product-form-area-picker__header-cancel{color:#9195a1;cursor:pointer}.plv-product-form-area-picker__header-confirm{color:#3082fe;cursor:pointer}.plv-product-form-area-picker__header-confirm.plv-product-form-area-picker__header-confirm--disabled{color:#9e9e9e}.plv-product-form-area-picker__header-placeholder{flex:1;overflow:hidden;color:#333;font-size:16px;text-align:center}.plv-product-form-area-picker__popup{display:flex;flex-direction:column;height:100%}.plv-product-form-area-picker__popup-content{flex:1;overflow:hidden}.plv-product-form-area-picker__popup-content .plv-area-picker__list__item{cursor:pointer}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-address-edit{display:flex;flex-direction:column;box-sizing:border-box;height:100%;padding-left:8px;background-color:#fff}.plv-product-address-edit__form{flex:1;overflow-y:auto}.plv-product-address-edit__form .plv-product-form-item{margin-bottom:0}.plv-product-address-edit__form .plv-product-form-item:first-child .plv-product-form-item__label{padding-right:38px}.plv-product-address-edit__form .plv-product-form-item:nth-child(3){margin-bottom:16px}.plv-product-address-edit__form .plv-product-form-item__label{padding-right:24px}.plv-product-address-edit__form .plv-product-form-input__main{height:52px;border-bottom:1px solid #e6e6e6;border-radius:0;background:transparent}.plv-product-address-edit__form .plv-product-form-input__input-inner{padding-left:0;color:#000c}.plv-product-address-edit__form-address .plv-product-form-input__main{height:64px}.plv-product-address-edit__form-address .plv-product-form-item__label{align-items:flex-start}.plv-product-address-edit__form-address .plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:0}.plv-product-address-edit__footer{position:fixed;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;padding:16px;background-color:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-address-edit__footer{padding-bottom:16px}}.plv-product-address-edit__submit-btn{width:100%;height:40px;padding:12px 16px;border:none;border-radius:22px;background-color:#ff5252;color:#fff;font-size:16px;font-weight:500;text-align:center;cursor:pointer}.plv-product-address-edit__submit-btn--disabled{background-color:#ff525299}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-font-din-pro-regular{font-family:D-DIN-PRO-Regular,sans-serif}.plv-font-din-pro-medium{font-family:D-DIN-PRO-Medium,sans-serif}.plv-font-din-pro-bold{font-family:D-DIN-PRO-Bold,sans-serif}.plv-product-order-popup__wrap{position:relative;box-sizing:border-box;height:100%;padding-top:8px}.plv-product-order-popup__fade-enter-active,.plv-product-order-popup__fade-leave-active{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.plv-product-order-popup__fade-enter-from,.plv-product-order-popup__fade-leave-to{opacity:0%}.plv-product-order-popup__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@charset "UTF-8";.plv-product-common-pendant{position:relative;width:36px;height:36px;overflow:hidden;border-radius:4px;cursor:pointer}.plv-product-common-pendant+.plv-product-common-pendant{margin-top:8px}.plv-product-common-pendant__icon{width:100%;height:100%;background-repeat:no-repeat;background-size:100% 100%}.plv-product-common-pendant__text{position:absolute;bottom:7px;left:50%;display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:32px;height:12px;padding:0 2px;border-radius:6px;color:#fff;text-align:center;white-space:nowrap;transform:translate(-50%)}.plv-product-common-pendant__text span{font-size:12px}.plv-product-pendant .plv-product-common-pendant__text{font-family:DINPro-Regular,sans-serif}.plv-product-pc-pendant{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:104px;height:28px;overflow:hidden;padding:0 4px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#0000004d;transition:width .3s ease,padding .3s ease}.plv-product-pc-pendant--collapsed{width:21px;padding:0;border-top-right-radius:0;border-bottom-right-radius:0}.plv-product-pc-pendant__content{display:flex;justify-content:space-between;align-items:center;width:100%;cursor:pointer}.plv-product-pc-pendant__main{display:flex;align-items:center;cursor:pointer}.plv-product-pc-pendant__icon{flex:none;width:20px;height:20px;margin-right:2px}.plv-product-pc-pendant__text{position:relative;flex:1;max-width:50px;color:#fff;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-pc-pendant__text:after{position:absolute;top:50%;left:55px;display:block;width:1px;height:16px;background:#fff3;transform:translateY(-50%);content:""}.plv-product-pc-pendant__main:hover{margin:-2px -3px;padding:2px 6px 2px 3px;border-radius:5px;background:#fff3}.plv-product-pc-pendant__main:hover .plv-product-pc-pendant__text:after{display:none}.plv-product-pc-pendant__arrow-right,.plv-product-pc-pendant__arrow-left{display:flex;color:#fff9;font-size:12px;cursor:pointer}.plv-product-pc-pendant__arrow-right:hover{margin:-6px -4px;padding:6px 4px;border-radius:5px;background:#fff3}.plv-product-pc-pendant__arrow-left:hover{margin:-14px -4px;padding:14px 4px;border-radius:6px;background:#fff3}.plv-product-pc-pendant__content--arrow-hover .plv-product-pc-pendant__text:after{display:none}.pendant-expand-enter-active{transition:all .3s ease}.pendant-expand-leave-active{transition:all .2s ease}.pendant-expand-enter-from,.pendant-expand-leave-to{opacity:0%;transform:translate(-10px)}.pendant-collapse-enter-active{transition:all .3s ease .1s}.pendant-collapse-leave-active{transition:all .2s ease}.pendant-collapse-enter-from,.pendant-collapse-leave-to{opacity:0%;transform:scale(.8)}.plv-product-button{position:relative}.plv-product-button__render{position:relative;z-index:10}.plv-product-button__inner{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;cursor:pointer}.plv-radio{cursor:pointer;line-height:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.plv-radio:last-of-type{margin-right:0}.plv-radio .plv-radio__inner{-ms-flex-negative:0;flex-shrink:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:16px;height:16px;border-radius:8px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;vertical-align:middle}.plv-radio .plv-radio__label{color:#1d2129;font-size:14px;padding-left:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;line-height:16px;word-break:break-word}.plv-radio:hover .plv-radio__inner{border-color:#3f76fc}.plv-radio.plv-radio--checked .plv-radio__inner{border-width:4px;border-color:#3f76fc}.plv-radio.plv-radio--disabled{cursor:not-allowed}.plv-radio.plv-radio--disabled .plv-radio__inner{border-color:#e5e5e5;background:#f9fafd}.plv-radio.plv-radio--disabled .plv-radio__label{color:#969ba5}.plv-radio.plv-radio--disabled.plv-radio--checked .plv-radio__inner{background:#f9fafd}.plv-radio.plv-radio--readonly{cursor:default}.plv-radio.plv-radio--readonly:hover .plv-radio__inner{border-color:#e5e5e5}.plv-radio.plv-radio--readonly:hover .plv-radio__inner.plv-radio__inner--checked{border-color:#3f76fc}.plv-radio--border{min-width:80px;height:36px!important;padding:0 16px;border-radius:2px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;position:relative;margin-right:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plv-radio--border:hover{border-color:#3f76fc}.plv-radio--border .plv-radio__label{padding-left:0;font-size:12px;float:none}.plv-radio--border.plv-radio--checked{border-width:2px;border-color:#3f76fc}.plv-radio--border .plv-radio__corner{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background-image:url(data:image/png;base64,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);background-size:100% 100%}.plv-radio--border.plv-radio--disabled{background:#f9fafd;border-color:#e5e5e5!important}.plv-radio--border.plv-radio--disabled:hover,.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5}.plv-radio--border.plv-radio--readonly.plv-radio--checked{border-color:#3f76fc}.plv-product-common-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006}.plv-product-common-popup__body{position:absolute;display:flex;flex-direction:column;width:100%;max-height:90%;overflow:hidden;border-radius:16px 16px 0 0;background:#fff}.plv-product-common-popup__header{position:relative;z-index:2;display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:0 54px}.plv-product-common-popup__back{position:absolute;top:50%;left:18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:20px;transform:translateY(-50%);cursor:pointer}.plv-product-common-popup__title{color:#000c;font-size:16px;font-weight:500;text-align:center}.plv-product-common-popup__header-right{position:absolute;top:50%;right:12px;display:flex;align-items:center;transform:translateY(-50%)}.plv-product-common-popup__close{display:flex;color:#0009;font-size:24px;cursor:pointer}.plv-product-common-popup__content{position:relative;z-index:2;display:flex;flex:1;overflow:hidden}.plv-product-common-popup__inner{flex:1;overflow-y:auto}.plv-product-common-popup__body--bg1{background:linear-gradient(180deg,#fee5e1,#fef9f4)}.plv-product-common-popup__body--bg1:before{position:absolute;top:-26px;right:-87px;z-index:1;width:176px;height:168px;background:#fdf0d5;pointer-events:none;content:"";filter:blur(80px)}.plv-product-common-popup__body--bg1 .plv-product-common-popup__content{padding:0 12px 30px}.plv-product-common-popup__body--bg1 .plv-product-common-popup__inner{border-radius:12px;background:#fff}.plv-product-common-popup--hide-modal{background:none;pointer-events:none}.plv-product-common-popup--hide-modal .plv-product-common-popup__body{pointer-events:initial}.plv-product-common-popup--fill-body .plv-product-common-popup__content{height:90%}.plv-product-common-popup--mobile .plv-product-common-popup__body{border-radius:16px 16px 0 0}.plv-product-common-popup--position-bottom .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(0, 100%);--plv-product-popup-animation-end: translate(0, 0);bottom:0;left:0}.plv-product-common-popup--position-left .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(-100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;left:0;height:100%;max-height:100%}.plv-product-common-popup--position-right .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;right:0;height:100%;max-height:100%}.plv-product-common-popup--position-center .plv-product-common-popup__body{top:50%;left:50%;max-height:90%;animation:none!important;transform:translate(-50%,-50%)}.plv-product-common-popup--horizontal-screen .plv-product-common-popup__body{border-radius:0}.plv-product-common-popup--page-fullscreen{top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__body,.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__content{overflow:initial}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__inner{overflow-y:initial}.plv-product-common-popup-slide-enter-active{animation:plv-product-common-popup-slide-in .2s ease-in-out}.plv-product-common-popup-slide-leave-active{animation:plv-product-common-popup-slide-in .15s reverse ease-in-out}@keyframes plv-product-common-popup-slide-in{0%{transform:var(--plv-product-popup-animation-start)}to{transform:var(--plv-product-popup-animation-end)}}.plv-product-form-input{display:flex}.plv-product-form-input__main{position:relative;display:flex;flex:1;align-items:center;box-sizing:border-box;height:50px;overflow:hidden;border-radius:8px;background:#f7f8fa}.plv-product-form-input__input{display:block;flex:1;box-sizing:border-box;height:100%;color:inherit}.plv-product-form-input__input-inner{border:none;border-radius:0;outline:none;display:block;box-sizing:border-box;width:100%;height:100%;padding:0 12px;background:none;font-size:14px}.plv-product-form-input__input-inner::placeholder{color:#9e9e9e}.plv-product-form-input__input-inner::-webkit-outer-spin-button,.plv-product-form-input__input-inner::-webkit-inner-spin-button{margin:0;appearance:none!important}.plv-product-form-input__input-inner[type=number]{appearance:textfield}.plv-product-form-input__input-inner[disabled]{opacity:100%}.plv-product-form-input__input-inner[type=button],.plv-product-form-input__input-inner[type=submit],.plv-product-form-input__input-inner[type=reset]{appearance:none;background:#fff}.plv-product-form-input__clearable{display:flex;margin-right:16px;color:#999;font-size:20px}.plv-product-form-input__suffix-text{color:#aaa;font-size:16px}.plv-product-form-input--textarea .plv-product-form-input__main{height:initial}.plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:8px}.plv-product-form-input__suffix{display:flex;align-items:center;padding-right:12px}.plv-product-form-input__suffix .polyv-icon{display:flex;color:#0006;font-size:18px}.plv-product-form-input__suffix:empty{display:none}.plv-product-c-loading{display:inline-block;width:32px;height:32px;background-image:url(data:image/png;base64,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);background-position:center;background-size:cover;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.plv-product-c-label-panel{position:relative;background-color:#f7f8fa}.plv-product-c-label-list__wrapper{position:relative;z-index:1060;display:flex;box-sizing:border-box;margin-bottom:4px;padding:0 12px;background-color:#f7f8fa}.plv-product-c-label-list__inner{display:flex}.plv-product-c-label-list__item{display:flex;flex:none;flex-direction:column;align-items:center;box-sizing:border-box;height:26px;margin-right:8px;margin-bottom:8px;padding:4px 12px;border:1px solid rgba(0,0,0,.06);border-radius:20px;color:#0009;font-size:12px;line-height:18px}.plv-product-c-label-list__item.plv-product-c-label-list__item--active{border-color:#ff62644d;color:#ff6264;font-weight:500}.plv-product-c-label-list__arrow{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:26px;height:26px;margin-left:auto;border:1px solid rgba(0,0,0,.1);border-radius:20px}.plv-product-c-label-list__arrow-icon{display:flex;color:#0006;font-size:16px;transition:.3s}.plv-product-c-label-list__arrow--active .plv-product-c-label-list__arrow-icon{transform:rotate(180deg)}.plv-product-c-label-list__shadow{position:absolute;top:0;right:0;z-index:0;width:80px;height:42px;background:linear-gradient(90deg,#f7f8fa00,#f7f8fa 39%)}.plv-product-c-label-list-panel{position:absolute;top:100%;right:0;left:0;z-index:1050;box-sizing:border-box;padding:0 12px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:#f7f8fa}.plv-product-c-label-list-panel__content{flex-wrap:wrap;box-sizing:border-box;max-height:216px;overflow-y:auto;transform:translateZ(0)}.slide-fade-enter-active,.slide-fade-leave-active{overflow:hidden;transition:transform .3s ease,opacity .3s ease}.slide-fade-enter,.slide-fade-leave-to{opacity:0%;transform:translateY(-10px)}.fade-overlay-enter-active,.fade-overlay-leave-active{transition:opacity .3s ease}.fade-overlay-enter,.fade-overlay-leave-to{opacity:0%}.plv-product-c-label-overlay{position:fixed;inset:45% 0 0;z-index:1040;background-color:#0006}.plv-product-c-label-overlay-pc{position:absolute;inset:45% 0 0;z-index:1040;height:600px;background-color:#0006}.plv-product-c-explain--explaining{display:flex;justify-content:center;align-items:center;width:100%;height:20px;border-radius:0 0 4px 4px;background:#ff6264cc;color:#fff;font-size:12px;font-weight:500;backdrop-filter:blur(3px)}.plv-product-c-explain--explaining .plv-product-c-explain--explaining-icon{width:14px;height:14px;margin-right:2px;vertical-align:top}.plv-product-c-explain--explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(255,98,100,.3);border-radius:20px;background:#fff;color:#ff6264;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.plv-product-c-explain--not-explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(0,0,0,.1);border-radius:20px;background:#fff;color:#666;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--explaining-cover{position:absolute;bottom:0;left:0}.plv-product-c-explain--not-explained-cover,.plv-product-c-explain--explained-cover{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining{width:52px;height:16px;padding:1px 2px;border:1px solid rgba(255,82,82,.6);border-radius:2px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;transform:scale(.8333)}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining span{margin-top:2px}.plv-product-c-explain--no-cover .plv-product-c-explain--explained{width:60px;height:24px;padding:3px 12px;background:transparent;color:#ff5252;font-size:12px}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained{display:flex;box-sizing:border-box;height:16px;margin-left:4px;padding:1px 4px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained span{display:inline-block;transform:scale(.833);user-select:none}.plv-product-c-item__title-container{position:relative;margin-bottom:6px}.plv-product-c-item__title{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-item__title--single{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__title-more{position:absolute;top:22px;right:-6px;display:flex;border:none;background:none}.plv-product-c-item__title-more-icon{display:flex;color:#0006;font-size:16px}.plv-product-c-item__title--expanded{-webkit-line-clamp:unset}.plv-product-c-item__tag-container{box-sizing:border-box;margin-right:4px;padding:0 1px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__tag-container:last-child{margin-right:0}.plv-product-c-item__tag{display:inline-block;transform:scale(.833);user-select:none}.plv-product-c-item__price-area{display:flex;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px}.plv-product-c-item__price-custom{font-size:14px}.plv-product-c-item__price-symbol{color:#ff5252;font-size:12px}.plv-product-c-item__price-placeholder{margin-left:2px;color:#ff5252;font-size:18px}.plv-product-c-item__placeholder-text{margin:6px 2px 0 3px;color:#0006;font-size:12px}.plv-product-c-item__original-price{margin-left:2px;color:#0006;font-size:12px;line-height:14px;text-decoration:line-through}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}.plv-product-item{position:relative;display:flex;box-sizing:border-box;height:124px;margin-bottom:8px;padding:12px;border-radius:8px;background-color:#fff;cursor:pointer}.plv-product-item__ranking{box-sizing:border-box;min-width:19px;height:16px;padding:1px 6px;border-radius:2px;background:#0006;color:#fff;font-size:12px;font-weight:700;line-height:14px}.plv-product-item__ranking--cover{position:absolute;top:2px;left:2px}.plv-product-item__cover-area{position:relative;flex:none;overflow:hidden;margin-right:8px;border-radius:4px}.plv-product-item__cover-stock{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#00000080;color:#fff;font-size:12px}.plv-product-item__cover{width:100px;height:100px;object-fit:cover}.plv-product-item__content{display:flex;flex-grow:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-item__content .plv-product-c-item__title-container{min-width:0;margin-bottom:0}.plv-product-item__title-area{display:flex;align-items:center}.plv-product-item__tags{display:flex;margin-top:6px;margin-bottom:6px}.plv-product-item__description{margin:0;color:#0006;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-item__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.plv-product-item__explained--no-cover{margin-right:12px;margin-left:auto}.plv-product-item__buy-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:24px;padding:3px 12px;border:none;border-radius:16px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;outline:none}.plv-product-item__buy-button--disabled{background:#ff525299;color:#fff}.plv-product-item-no-cover .plv-product-c-item__title{margin-left:4px}.plv-product-item--topping{background:#f15d5d14}.plv-product-list-empty{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;padding:0 10px;font-size:14px;line-height:18px;text-align:center;transform:translate(-50%,-50%)}.plv-product-list-empty__icon{display:flex;opacity:40%;margin-bottom:16px;color:#999;font-size:70px}.plv-product-list-empty__text{color:#999}.plv-product-list{height:100%;overflow-y:auto;background-color:#f7f8fa;-webkit-overflow-scrolling:touch}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__main{height:32px;border-radius:8px;background:#0000000a}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__input-inner{padding-left:4px}.plv-product-list__header-search-icon{display:flex;margin-left:11px;color:#0006}.plv-product-list__header{position:sticky;top:0;left:0;z-index:30;padding-bottom:12px;background-color:#f7f8fa}.plv-product-list__header-search-wrapper{display:flex;align-items:center;margin:0 0 12px;padding:7px 12px 0}.plv-product-list__search-input{flex:1;margin-right:8px}.plv-product-list__header-right{display:flex;flex-direction:column;margin-left:auto;padding:6px 10px 3px}.plv-product-list__header-right-icon{display:flex;margin:0 auto 2px}.plv-product-list__header-right-text{color:#333a47;font-size:12px}.plv-product-list__wrapper{padding:0 8px}.plv-product-list__product-total{display:flex;align-items:center;margin-top:12px;padding:0 12px}.plv-product-list__product-total-icon{display:flex;margin-right:4px;color:#000c;font-size:12px}.plv-product-list__product-total-text,.plv-product-list__product-total-num{color:#0009;font-size:12px}.plv-product-list__product-total-num{margin-left:8px;font-weight:500}.plv-product-list__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}.plv-product-list-popup__icon-close{display:flex;margin:0 4px 0 8px;color:#0009;font-size:24px;cursor:pointer}.plv-product-c-video{position:relative;width:100%;height:100%;background-color:#00000080}.plv-product-c-video__container{width:100%;height:100%}.plv-product-c-video__container-material{position:relative;width:100%;height:100%}.plv-product-c-video__container-placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-video__container-placeholder-icon{font-size:64px}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - var(--swiper-navigation-size) / 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:#00000040;position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:#0000001a}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:#00000080;border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:"";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.plv-product-c-swiper-img,.plv-product-c-swiper-img__swiper{height:100%}.plv-product-c-swiper-img__swiper-slide{background:#0000001a}.plv-product-c-swiper-img__slide-img{width:100%;height:100%;object-fit:cover}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-swiper-img__placeholder-icon{font-size:64px}.plv-product-c-switch-tab__block{display:flex;flex-direction:row;align-items:center;padding:2px;border-radius:10px;background:#0003;transition:all .3s}.plv-product-c-switch-tab__block-item{min-width:32px;height:14px;padding:0 4px;color:#dbe4f4;font-size:12px;line-height:14px;text-align:center;transform:scale(.833);cursor:pointer}.plv-product-c-switch-tab__block-item--active{border-radius:10px;background:#fff;color:#666}.plv-product-c-detail-cover{position:relative;width:100%;padding-top:100%;background:#eaeaea}.plv-product-c-detail-cover__container{position:absolute;top:0;left:0;width:100%;height:100%}.plv-product-c-detail-cover__switch-tab{position:absolute;bottom:20px;left:12px;z-index:20}.plv-product-c-product-info{position:relative;z-index:11;display:flex;flex-direction:column;box-sizing:border-box;margin-top:-8px;padding:8px 8px 16px;border-top-left-radius:15px;border-top-right-radius:15px;background:#f7f8fa}.plv-product-c-product-info .plv-product-c-item__price-placeholder{font-size:30px}.plv-product-c-product-info .plv-product-c-item__placeholder-text{margin:6px 4px 0}.plv-product-c-product-info__price{margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__treatment{margin-bottom:8px;margin-left:8px;color:#ff5252;font-size:22px}.plv-product-c-product-info__tags{display:flex;margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__content{display:flex;flex-direction:column;margin-bottom:8px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__content .plv-product-c-item__title-container{margin-bottom:0}.plv-product-c-product-info__content-desc{margin-top:6px;color:#0006;font-size:12px;line-height:18px}.plv-product-c-product-info__detail{flex:1;box-sizing:border-box;min-height:184px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__detail--mobile{padding-bottom:76px}.plv-product-common-popup--horizontal-screen .plv-product-c-product-info__detail--mobile{padding-bottom:0}.plv-product-c-product-info__detail-label{margin-bottom:12px;color:#000c;font-size:14px;font-weight:500;line-height:14px}.plv-product-c-product-info__detail-text:after{display:block;clear:both;content:""}.plv-product-c-product-info__detail-text table,.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{border-width:1px;border-style:solid}.plv-product-c-product-info__detail-text table{border-collapse:collapse}.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{min-width:50px;padding:3px 5px}.plv-product-c-product-info__detail-text p{margin:10px 0}.plv-product-c-product-info__detail-text p:first-child{margin-top:0}.plv-product-c-product-info__detail-text p:last-child{margin-bottom:0}.plv-product-c-product-info__detail-text a{color:#3f76fc}.plv-product-c-product-info__detail-text a:hover{color:#3f76fc!important}.plv-product-c-product-info__detail-text img{max-width:100%}.plv-product-c-product-info__detail-text ol,.plv-product-c-product-info__detail-text ul{padding-left:40px}.plv-product-c-product-info__detail-text ol{list-style-type:decimal}.plv-product-c-product-info__detail-text ul{list-style-type:disc}.plv-product-c-product-info__detail-text h1,.plv-product-c-product-info__detail-text h2,.plv-product-c-product-info__detail-text h3,.plv-product-c-product-info__detail-text h4,.plv-product-c-product-info__detail-text h5{margin:0;font-weight:700}.plv-product-c-product-info__detail-text h1{font-size:28px;line-height:42px}.plv-product-c-product-info__detail-text h2{font-size:24px;line-height:36px}.plv-product-c-product-info__detail-text h3{font-size:20px;line-height:28px}.plv-product-c-product-info__detail-text h4{font-size:18px;line-height:26px}.plv-product-c-product-info__detail-text h5{font-size:16px;line-height:22px}.plv-product-c-product-info__detail-text h6{margin:0}.plv-product-c-product-info__detail-text hr{border-color:#000}.plv-product-c-product-info__detail-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;color:#999;font-size:12px}.plv-product-c-product-info__detail-empty-icon{width:64px;height:64px;margin-bottom:12px}.plv-product-detail-container{position:relative;display:flex;flex-direction:column;width:100%;height:100%}.plv-product-detail-container__content{background:#f7f8fa}.plv-product-detail-container__content-title{position:sticky;top:0;left:0;z-index:10;width:100%;height:52px;margin-bottom:8px;background:#f7f8fa;color:#000c;font-size:16px;font-weight:500;line-height:52px;text-align:center}.plv-product-detail-container__footer{z-index:15;box-sizing:border-box;width:100%;padding:12px 28px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-detail-container__footer{padding-bottom:16px}}.plv-product-detail-container__footer:before{position:absolute;top:-16px;right:0;left:0;height:16px;background:linear-gradient(0deg,#fff,#fff0);content:""}.plv-product-detail-container__footer-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:100%;height:48px;border:none;border-radius:24px;background:#ff5252;color:#fff;font-size:16px;outline:none}.plv-product-detail-container__footer-button--disabled{background:#ff525299;color:#fff}.plv-product-detail-container--mobile .plv-product-detail-container__content{flex:1}.plv-product-detail-container--mobile .plv-product-detail-container__footer{position:fixed;right:0;bottom:0;left:0}.plv-product-detail-container--pc .plv-product-detail-container__content,.plv-product-common-popup--horizontal-screen .plv-product-detail-container__content{flex:1;overflow-y:auto}.plv-product-detail-container--pc .plv-product-detail-container__footer,.plv-product-common-popup--horizontal-screen .plv-product-detail-container__footer{position:relative;flex-shrink:0}.plv-product-detail-popup__close{position:absolute;top:11px;right:10px;z-index:99;display:flex;justify-content:center;align-items:center;width:28px;height:28px;border-radius:28px;background:#0000001a;color:#fff;cursor:pointer}.plv-product-detail-popup__close:before{position:absolute;inset:-10px;z-index:-1;content:""}.plv-product-detail-popup__icon-close{display:flex}.plv-product-c-order-status-tab{display:flex;gap:4px;align-items:center;height:auto;min-height:36px;overflow:auto hidden;margin:0 -12px;padding:8px 12px;color:#999;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.plv-product-c-order-status-tab::-webkit-scrollbar{display:none}.plv-product-c-order-status-tab__item{position:relative;flex:none;padding:8px 16px;background-color:transparent;color:#999;font-size:14px;white-space:nowrap;cursor:pointer}.plv-product-c-order-status-tab__item--active{color:#333}.plv-product-c-order-status-tab__item--active:after{position:absolute;bottom:1px;left:50%;width:16px;height:2px;border-radius:2px;background-color:#ff5252;transform:translate(-50%);content:""}.plv-product-c-purchase-product{display:flex;overflow:hidden;padding:10px 12px;border-radius:8px;background:#fff}.plv-product-c-purchase-product__image{flex:none;width:100px;height:100px;margin-right:8px;border-radius:4px;object-fit:cover}.plv-product-c-purchase-product__info{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-c-purchase-product__name{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-purchase-product__tags{display:flex;margin-top:6px}.plv-product-c-purchase-product__description{margin-top:6px;color:#0006;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-purchase-product__price-symbol{color:#333;font-size:12px}.plv-product-c-purchase-product__price-value{color:#333;font-size:18px}.plv-product-order-item{margin:8px 12px;padding:10px 12px 16px;border-radius:8px;background-color:#fff}.plv-product-order-item:first-child{margin-top:0}.plv-product-order-item__main .plv-product-c-purchase-product{padding:0}.plv-product-order-item__footer{padding-top:10px}.plv-product-order-item__actions-summary{display:flex;justify-content:space-between;align-items:center}.plv-product-order-item__left{display:flex;align-items:center}.plv-product-order-item__status-text{color:#666;font-size:14px}.plv-product-order-item__status-text--highlight{color:#ff5252}.plv-product-order-item__countdown{margin-left:8px;color:#ff5252}.plv-product-order-item__total{margin-bottom:12px;text-align:right}.plv-product-order-item__total-symbol{margin-right:2px;color:#999;font-size:14px;vertical-align:middle}.plv-product-order-item__total-value{color:#333;font-size:18px;vertical-align:middle}.plv-product-order-item__buttons{display:flex;gap:8px}.plv-product-order-item__button{box-sizing:border-box;max-width:150px;height:32px;padding:0 20px;border:1px solid rgba(0,0,0,.1);border-radius:22px;background-color:transparent;color:#000c;font-size:14px;line-height:32px;text-align:center;cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-order-item__button--highlight{border-color:#ff5252;background:#ff5252;color:#fff}.plv-product-order-list{display:flex;flex-direction:column;height:100%;overflow:hidden auto}.plv-product-order-list__status-tab{position:sticky;top:0;z-index:1;flex-shrink:0;background:#f7f8fa}.plv-product-order-list__items-container{position:relative;flex:1;min-height:0;padding-top:8px}.plv-product-order-list__empty{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:300px}.plv-product-order-list__empty-icon{display:flex;justify-content:center;color:#e1e5e8;font-size:70px}.plv-product-order-list__empty-text{margin-top:16px;color:#999;font-size:12px;text-align:center}.plv-product-c-pay-status{display:flex;flex-direction:column;justify-content:center;align-items:center}.plv-product-c-pay-status__text{color:#000c;font-size:20px;font-weight:500}.plv-product-c-pay-status__actions{display:flex;justify-content:center;align-items:center;margin-top:4px;margin-bottom:18px;color:#999;font-size:14px}.plv-product-c-customer-qrcode{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:18px;padding:20px 0;border-radius:8px;background:#fff}.plv-product-c-customer-qrcode__img-wrap{position:relative;display:flex;justify-content:center;align-items:center;padding:10px;border:1px solid #CCC;border-radius:4px}.plv-product-c-customer-qrcode__img-text{position:absolute;color:#0006;font-size:14px}.plv-product-c-customer-qrcode__img,.plv-product-c-customer-qrcode__img--expired{width:120px;height:120px}.plv-product-c-customer-qrcode__tips{margin-top:12px;color:#0006;font-size:14px}.plv-product-address-item{box-sizing:border-box;padding:12px 16px;border-radius:8px;background:#fff}.plv-product-address-item__top{display:flex;justify-content:space-between;align-items:center}.plv-product-address-item__content{flex:1;min-width:0}.plv-product-address-item__header{color:#000c;font-size:14px}.plv-product-address-item__header-phone{margin-left:4px}.plv-product-address-item__address{margin-top:4px;color:#0006;font-size:14px;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-address-item__icon-wrapper{display:flex;flex-shrink:0;align-items:center;margin-left:40px}.plv-product-c-phone-info{display:flex;align-items:center;box-sizing:border-box;height:52px;padding-left:12px;border-radius:8px;background:#fff;color:#000c;font-size:14px}.plv-product-c-phone-info__text{margin-left:12px}.plv-product-c-payment-methods{margin-bottom:8px;padding:10px 12px;border-radius:8px;background-color:$plv-color-white}.plv-product-c-payment-methods__title{margin-bottom:10px;color:$plv-color-black-opacity-40;font-size:12px}.plv-product-c-payment-methods__list{display:flex;flex-direction:column}.plv-product-c-payment-methods__item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.plv-product-c-payment-methods__item-info{display:flex;align-items:center}.plv-product-c-payment-methods__item-icon{display:flex;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px}.plv-product-c-payment-methods__item-icon img{max-width:100%;max-height:100%}.plv-product-c-payment-methods__item-label{color:$plv-color-black-opacity-80;font-size:14px}.plv-product-c-order-info__text{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;height:44px;padding:12px 14px 12px 16px;color:#000c;font-size:12px}.plv-product-c-order-info__text>span:first-child{color:#0006}.plv-product-c-order-info__amount{color:#ff5252}.plv-product-c-order-info__amount-symbol{font-size:12px}.plv-product-c-order-info__amount-value{font-size:18px}.plv-product-c-bottom-operate-panel{display:flex;justify-content:flex-end;box-sizing:border-box;width:100%;padding:10px 12px;background-color:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-c-bottom-operate-panel{padding-bottom:16px}}.plv-product-c-bottom-operate-panel__item{display:flex;justify-content:center;align-items:center}.plv-product-c-bottom-operate-panel__btn{box-sizing:border-box;height:40px;padding:9px 32px;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;white-space:nowrap}.plv-product-c-bottom-operate-panel__btn-refund{border:1px solid rgba(0,0,0,.1);background:transparent;color:#000c}.plv-product-order-detail{display:flex;flex-direction:column;height:100%}.plv-product-order-detail__content{flex:1;padding:0 12px}.plv-product-order-detail__info{margin-top:8px;border-radius:8px;background:#fff}.plv-product-order-list-popup__wrap{position:relative;box-sizing:border-box;width:100%;height:100%;overflow:hidden}.plv-product-order-list-popup__order-list,.plv-product-order-list-popup__order-detail{height:100%}.plv-product-order-list-popup__order-detail{position:absolute;top:0;left:0;box-sizing:border-box;width:100%}.plv-product-order-list-popup__fade-enter-active,.plv-product-order-list-popup__fade-leave-active{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.plv-product-order-list-popup__fade-enter-from,.plv-product-order-list-popup__fade-leave-to{opacity:0%}.plv-product-form-item{position:relative;display:flex;align-items:flex-start;margin-bottom:16px;border:1px solid transparent}.plv-product-form-item--error{border-color:#ff5252}.plv-product-form-item__anchor{position:absolute;top:0;left:0;opacity:0%}.plv-product-form-item__label-required{margin-right:2px;color:#ff5252}.plv-product-form-item__label{display:flex;flex-shrink:0;justify-content:flex-end;align-items:center;box-sizing:border-box;padding-right:16px;color:#000c;font-size:14px}.plv-product-form-item__content{position:relative;flex-shrink:0}.plv-product-form-item__content:not(.plv-product-form-item__content--has-width){flex:1}.plv-product-form-item--header{flex-direction:column}.plv-product-form-item--header .plv-product-form-item__label{justify-content:flex-start;width:100%;margin-bottom:8px;padding:0;color:#3339;font-size:12px;line-height:1.5}.plv-product-form-item--header .plv-product-form-item__content{width:100%}.plv-product-form-item__content-error{box-sizing:border-box;width:100%;padding-top:5px;color:#ff5252;font-size:12px}.plv-product-c-choose-address{padding:12px 14px 12px 16px;border-radius:8px;background:#fff;cursor:pointer}.plv-product-c-choose-address .plv-product-address-item{padding:0}.plv-product-c-choose-address__empty{display:flex;justify-content:space-between;align-items:center;width:100%}.plv-product-c-choose-address__empty-text{color:#000c;font-size:14px}.plv-product-c-choose-address__empty-action{display:flex;align-items:center;color:#0006;font-size:14px}.plv-product-c-choose-address__empty-action-text{margin-right:4px}.plv-product-c-choose-address__arrow-icon{display:flex;color:#0006;font-size:18px}.plv-product-c-choose-address__info{display:flex;justify-content:space-between;align-items:center;width:100%}.plv-product-c-choose-address__info-contact{display:flex;flex:1;flex-direction:column;margin-right:16px}.plv-product-c-choose-address__info-name{margin-bottom:4px;color:#333;font-size:16px;font-weight:700}.plv-product-c-choose-address__info-mobile{color:#333;font-size:14px}.plv-product-c-choose-address__info-address{flex:1;color:#666;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-order-submit-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-c-order-submit-bar{padding-bottom:16px}}.plv-product-c-order-submit-bar__text{color:#666;font-size:14px}.plv-product-c-order-submit-bar__price{color:#ff5252;font-size:12px}.plv-product-c-order-submit-bar__price-integer{font-size:24px}.plv-product-c-order-submit-bar__submit-btn{box-sizing:border-box;height:40px;padding:9px 32px;border:none;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;white-space:nowrap;outline:none}.plv-product-order{position:relative;display:flex;flex-direction:column;height:100%}.plv-product-order .plv-product-form-item__label{padding-right:0}.plv-product-order__content{flex:1;box-sizing:border-box;overflow-y:auto;padding:0 12px}.plv-product-order__form-item{box-sizing:border-box;border-radius:8px;background:#fff}.plv-product-order__form-item .plv-product-form-input__main{height:52px;background:transparent}.plv-product-order__form-item .plv-product-form-item__content-error{padding:0 0 8px 12px}.plv-product-order__purchase-product,.plv-product-order__payment-method{margin-top:8px}.plv-product-address-list{display:flex;flex-direction:column;height:100%}.plv-product-address-list__content{flex:1;overflow-y:auto;padding:0 12px}.plv-product-address-list__address-item{margin-bottom:8px;padding-bottom:0}.plv-product-address-list__icon{display:flex;color:#ff5252}.plv-product-address-list__action{display:flex;justify-content:flex-end;align-items:center;margin-top:12px;padding:8px 0;border-top:1px solid #E6E6E6}.plv-product-address-list__action-btn{color:#0006;font-size:14px;cursor:pointer}.plv-product-address-list__action-btn~.plv-product-address-list__action-btn{margin-left:20px}.plv-product-address-list__footer{padding:10px 16px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-address-list__footer{padding-bottom:16px}}.plv-product-address-list__footer-btn{box-sizing:border-box;width:100%;height:40px;border:none;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;line-height:40px;outline:none}.plv-area-picker-mob{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#fff}.plv-area-picker-mob .plv-area-picker__tab{height:58px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.plv-area-picker-mob .plv-area-picker__tab__item{height:58px;line-height:58px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:16px;text-align:center;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plv-area-picker-mob .plv-area-picker__tab__item--selected{color:#3f76fc}.plv-area-picker-mob .plv-area-picker__tab__item--selected:after{content:"";height:2px;width:35px;background:#3f76fc;position:absolute;bottom:12px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%)}.plv-area-picker-mob .plv-area-picker__popper{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:hidden}.plv-area-picker-mob .plv-area-picker__popper__inner{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.plv-area-picker-mob .plv-area-picker__list{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:scroll}.plv-area-picker-mob .plv-area-picker__list__item{height:44px;line-height:44px;padding-left:33px;padding-right:32px;font-size:16px}.plv-area-picker-mob .plv-area-picker__list__item:nth-child(odd){background:#fafafa}.plv-area-picker-mob .plv-area-picker__list__item .plv-front-mob-icon-check{font-size:24px;color:#3f76fc;display:none}.plv-area-picker-mob .plv-area-picker__list__item .plv-area-picker-mob__area__item__inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.plv-area-picker-mob .plv-area-picker__list__item--selected{color:#3f76fc}.plv-area-picker-mob .plv-area-picker__list__item--selected .plv-front-mob-icon-check{display:block}.plv-product-form-area-picker__body,.plv-product-form-area-picker__body input{cursor:pointer}.plv-product-form-area-picker__header{display:flex;flex-shrink:0;box-sizing:border-box;width:100%;height:50px;padding:0 16px;font-size:16px;line-height:50px}.plv-product-form-area-picker__header-cancel{color:#9195a1;cursor:pointer}.plv-product-form-area-picker__header-confirm{color:#3082fe;cursor:pointer}.plv-product-form-area-picker__header-confirm.plv-product-form-area-picker__header-confirm--disabled{color:#9e9e9e}.plv-product-form-area-picker__header-placeholder{flex:1;overflow:hidden;color:#333;font-size:16px;text-align:center}.plv-product-form-area-picker__popup{display:flex;flex-direction:column;height:100%}.plv-product-form-area-picker__popup-content{flex:1;overflow:hidden}.plv-product-form-area-picker__popup-content .plv-area-picker__list__item{cursor:pointer}.plv-product-address-edit{display:flex;flex-direction:column;box-sizing:border-box;height:100%;padding-left:8px;background-color:#fff}.plv-product-address-edit__form{flex:1;overflow-y:auto}.plv-product-address-edit__form .plv-product-form-item{margin-bottom:0}.plv-product-address-edit__form .plv-product-form-item:first-child .plv-product-form-item__label{padding-right:38px}.plv-product-address-edit__form .plv-product-form-item:nth-child(3){margin-bottom:16px}.plv-product-address-edit__form .plv-product-form-item__label{padding-right:24px}.plv-product-address-edit__form .plv-product-form-input__main{height:52px;border-bottom:1px solid #e6e6e6;border-radius:0;background:transparent}.plv-product-address-edit__form .plv-product-form-input__input-inner{padding-left:0;color:#000c}.plv-product-address-edit__form-address .plv-product-form-input__main{height:64px}.plv-product-address-edit__form-address .plv-product-form-item__label{align-items:flex-start}.plv-product-address-edit__form-address .plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:0}.plv-product-address-edit__footer{position:fixed;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;padding:16px;background-color:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-address-edit__footer{padding-bottom:16px}}.plv-product-address-edit__submit-btn{width:100%;height:40px;padding:12px 16px;border:none;border-radius:22px;background-color:#ff5252;color:#fff;font-size:16px;font-weight:500;text-align:center;cursor:pointer}.plv-product-address-edit__submit-btn--disabled{background-color:#ff525299}.plv-product-order-popup__wrap{position:relative;box-sizing:border-box;height:100%;padding-top:8px}.plv-product-order-popup__fade-enter-active,.plv-product-order-popup__fade-leave-active{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.plv-product-order-popup__fade-enter-from,.plv-product-order-popup__fade-leave-to{opacity:0%}.plv-product-order-popup__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}.plv-product-big-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:316px;height:316px;overflow:hidden;margin:0 auto;padding:16px 20px 28px;background:url(data:image/png;base64,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) no-repeat;background-size:contain}.plv-product-big-card__title{margin:0 auto;padding-top:2px;color:#2d693e;font-size:20px;font-weight:500}.plv-product-big-card__item{margin-top:28px}.plv-product-big-card__item .plv-product-item__explained--no-cover{margin-right:0}.plv-product-big-card__buy-button{display:flex;flex-direction:column;justify-content:center;align-items:center;width:260px;height:40px;margin:42px auto 0;padding:11px 32px;border:none;border-radius:25px;background:linear-gradient(90deg,#fff4ea,#ffcc96);color:#b03319;font-size:16px;text-align:center;outline:none}.plv-product-big-card__buy-button--disabled{opacity:60%;cursor:not-allowed}.plv-product-big-card-scale-enter-active,.plv-product-big-card-scale-leave-active{transition:transform .3s,opacity .2s;transform:scale(1)}.plv-product-big-card-scale-enter,.plv-product-big-card-scale-leave-to{opacity:0%;transform:scale(.9)}.plv-product-big-card-close-btn{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:40px;height:40px;margin:24px auto 0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:#0006;color:#fff;cursor:pointer}.plv-product-big-card-close-btn__icon{display:flex;font-size:18px}.plv-product-hot-sale{display:flex;align-items:center;width:114px;height:24px;margin-bottom:8px;padding-left:4px;border-radius:12px;background:linear-gradient(271deg,#ffaf0f00 1%,#ffaf0fcc 28%,#ffaf0f 99%)}.plv-product-hot-sale__icon{width:16px;height:16px}.plv-product-hot-sale__icon-img{width:100%;height:100%}.plv-product-hot-sale__content{display:flex;align-items:center;color:#fff;font-size:12px}.plv-product-hot-sale__tips{display:inline-block;margin-right:4px}.plv-product-hot-sale__symbol{font-size:12px;transform:scale(.8333)}.plv-product-hot-sale__count-to-animation{animation:plv-product-hot-sale-animation .6s infinite}@keyframes plv-product-hot-sale-animation{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.plv-product-card__cover{position:relative;box-sizing:border-box;width:110px;height:110px;overflow:hidden;margin-bottom:4px;border-radius:4px}.plv-product-card__cover-mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:27px;border-radius:4px;background:linear-gradient(180deg,#0003,#0000)}.plv-product-card__cover-stock{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#00000080;color:#fff;font-size:12px}.plv-product-card__cover-img{width:100%;height:100%;object-fit:cover}.plv-product-card__ranking{position:absolute;top:2px;left:2px;box-sizing:border-box;min-width:19px;height:16px;padding:1px 6px;border-radius:2px;background:#0006;color:#fff;font-size:12px;font-weight:700;line-height:14px}.plv-product-card__feature-tag{position:absolute;bottom:3px;left:3px}.plv-product-card__feature-tag.plv-product-c-item__tag-container{border-radius:2px;background:#0006;color:#fff}.plv-product-card__explain .plv-product-c-explain--not-explained-cover,.plv-product-card__explain .plv-product-c-explain--explained-cover{top:2px;left:2px;height:16px;padding:1px 4px;border:none;border-radius:2px;background:#0006;color:#fff;transform:unset}.plv-product-card__explain .plv-product-c-explain--not-explained-cover span,.plv-product-card__explain .plv-product-c-explain--explained-cover span{transform:scale(.8333)}.plv-product-card__explain .plv-product-c-explain--explained-cover{z-index:2}.plv-product-card__explain .plv-product-c-explain--explaining-cover{position:absolute;top:2px;left:2px;width:unset;height:16px;padding:0 4px;border-radius:2px;background:#0006;font-size:10px}.plv-product-card__explain .plv-product-c-explain--explaining-cover span{transform:scale(.8333)}.plv-product-card__explain .plv-product-c-explain--explaining .plv-product-c-explain--explaining-icon{width:12px;height:12px;margin-bottom:2px}.plv-product-small-card-root{position:relative;width:114px;overflow:hidden}.plv-product-small-card-container{position:relative;display:inline-block;width:114px}.plv-product-small-card{position:relative;box-sizing:border-box;width:114px;padding:2px 2px 4px;border-radius:6px;box-shadow:0 0 6px #0000001a;background-color:#fff;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-position:90% 92%;background-size:52px auto}.plv-product-small-card .plv-product-c-item__title-container{margin-bottom:0;padding:0 2px}.plv-product-small-card .plv-product-c-item__title{font-size:12px}.plv-product-small-card .plv-product-c-item__price-area{margin-top:2px;margin-bottom:4px;padding:0 2px}.plv-product-small-card .plv-product-c-item__price{font-size:14px}.plv-product-small-card .plv-product-c-item__price .plv-product-c-item__price-symbol{display:inline-block;font-size:12px;transform:scale(.8333)}.plv-product-small-card .plv-product-c-item__original-price{margin-left:0;transform:scale(.8333)}.plv-product-small-card__close-area{position:absolute;top:1px;right:0;z-index:99;display:flex;justify-content:center;align-items:center;width:20px;height:20px;color:#fff;cursor:pointer}.plv-product-small-card__icon-close{display:flex}.plv-product-small-card__display-number{position:absolute;top:4px;left:8px;color:#fff}.plv-product-small-card__explain{position:absolute;top:0}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--explained{padding-left:0;border:none;color:#fff}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--explained span{transform:scale(.8333)}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained{margin-top:4px;border:none;background:none;color:#fff}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained span{transform:scale(.8333)}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--explaining{margin-top:2px}.plv-product-small-card__buy-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:106px;height:24px;margin:0 auto;padding:3px 12px;border:none;border-radius:4px;background:#ff5252;color:#fff;font-size:12px;outline:none}.plv-product-small-card--no-cover{padding:24px 0 0;background-color:#ff5252}.plv-product-small-card--no-cover .plv-product-c-item__price-area{margin-bottom:6px}.plv-product-small-card__content--no-cover{position:relative;padding:8px 2px 4px;border-radius:6px;background-color:#fff;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-position:80% 70%;background-size:52px auto}.plv-product-small-card__content--no-cover .plv-product-c-item__tag-container{margin-bottom:4px;border-radius:2px}.plv-product-small-card__buy-button--disabled{background:#ff525299;cursor:not-allowed;pointer-events:none}.plv-product-small-card-animation-enter-active,.plv-product-small-card-animation-leave-active{transition:.5s;transform:translate(0)}.plv-product-small-card-animation-enter,.plv-product-small-card-animation-leave-active{transform:translate(100%)}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}();
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defProps = Object.defineProperties;
|
|
4
4
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
@@ -578,59 +578,69 @@ function updateModelEmit(field) {
|
|
|
578
578
|
};
|
|
579
579
|
}
|
|
580
580
|
const supportWebP = /* @__PURE__ */ (() => {
|
|
581
|
-
let
|
|
581
|
+
let e;
|
|
582
582
|
return () => {
|
|
583
|
-
if (null ==
|
|
584
|
-
|
|
585
|
-
const
|
|
586
|
-
if (
|
|
587
|
-
const
|
|
588
|
-
return 0 ===
|
|
583
|
+
if (null == e) try {
|
|
584
|
+
e = function() {
|
|
585
|
+
const e2 = document.createElement("canvas");
|
|
586
|
+
if (e2.getContext && e2.getContext("2d")) {
|
|
587
|
+
const A2 = "image/webp";
|
|
588
|
+
return 0 === e2.toDataURL(A2).indexOf("data:" + A2);
|
|
589
589
|
}
|
|
590
590
|
return false;
|
|
591
|
+
}() || function() {
|
|
592
|
+
let e2 = false;
|
|
593
|
+
const A2 = navigator.userAgent, t2 = /\bOS\s([\d_.]+)\slike\sMac\sOS\sX\b/.exec(A2);
|
|
594
|
+
if (t2) e2 = parseInt(t2[1]) >= 14;
|
|
595
|
+
else {
|
|
596
|
+
const t3 = /\bVersion\/([\d.]+)\sSafari\b/.exec(A2);
|
|
597
|
+
t3 && (e2 = parseInt(t3[1]) >= 16);
|
|
598
|
+
}
|
|
599
|
+
return e2;
|
|
591
600
|
}();
|
|
592
|
-
} catch (
|
|
593
|
-
|
|
601
|
+
} catch (A2) {
|
|
602
|
+
e = false;
|
|
594
603
|
}
|
|
595
|
-
return
|
|
604
|
+
return e;
|
|
596
605
|
};
|
|
597
606
|
})();
|
|
598
|
-
function getExtname(
|
|
599
|
-
const
|
|
607
|
+
function getExtname(e) {
|
|
608
|
+
const A2 = (e || "").split("."), t2 = A2[A2.length - 1];
|
|
600
609
|
return t2 ? t2.toLowerCase() : "";
|
|
601
610
|
}
|
|
602
|
-
function handleCompressOptions(
|
|
603
|
-
var
|
|
604
|
-
const
|
|
605
|
-
return
|
|
611
|
+
function handleCompressOptions(e) {
|
|
612
|
+
var A2, t2;
|
|
613
|
+
const n2 = "number" == typeof e ? { width: e } : e;
|
|
614
|
+
return n2.allowJPG = null === (A2 = n2.allowJPG) || void 0 === A2 || A2, n2.allowWebP = null !== (t2 = n2.allowWebP) && void 0 !== t2 ? t2 : "auto", n2;
|
|
606
615
|
}
|
|
607
|
-
function createURLObject(
|
|
608
|
-
let
|
|
616
|
+
function createURLObject(e) {
|
|
617
|
+
let A2;
|
|
609
618
|
if ("undefined" != typeof document) {
|
|
610
619
|
const t2 = document.createElement("a");
|
|
611
|
-
t2.href =
|
|
620
|
+
t2.href = e, A2 = t2;
|
|
612
621
|
} else if ("function" == typeof URL) try {
|
|
613
|
-
|
|
614
|
-
} catch (
|
|
622
|
+
A2 = new URL(/^\/\//.test(e) ? "https:" + e : e);
|
|
623
|
+
} catch (e2) {
|
|
615
624
|
}
|
|
616
|
-
return
|
|
625
|
+
return A2;
|
|
617
626
|
}
|
|
618
|
-
function genOSSCompressParams(
|
|
627
|
+
function genOSSCompressParams(e, A2) {
|
|
619
628
|
let t2 = "";
|
|
620
|
-
return null ==
|
|
629
|
+
return null == A2.width && null == A2.height || (t2 += "/resize", A2.width && (t2 += ",w_" + A2.width), A2.height && (t2 += ",h_" + A2.height), t2 += ",limit_1"), A2.allowAVIF && "gif" !== e ? t2 += "/format,avif" : true === A2.allowWebP || "auto" === A2.allowWebP && supportWebP() ? t2 += "/format,webp/quality,Q_80" : A2.allowJPG && "gif" !== e && (t2 += "/format,jpg/quality,Q_80"), t2;
|
|
621
630
|
}
|
|
622
|
-
function setOSSCompressParams(
|
|
631
|
+
function setOSSCompressParams(e, A2) {
|
|
623
632
|
let t2 = false;
|
|
624
|
-
return
|
|
625
|
-
}
|
|
626
|
-
function ossCompress(
|
|
627
|
-
const t2 = createURLObject(
|
|
628
|
-
if (!t2) return
|
|
629
|
-
|
|
630
|
-
|
|
633
|
+
return e = e.replace(/([?&]x-oss-process)(?:=([^&]*))?/, (e2, n2, r2) => (t2 = true, /^image/.test(r2) ? n2 + "=" + r2.replace(/\/(?:resize|format|quality)[^/]*/gi, "") + A2 : e2)), t2 ? e : e + (-1 === e.indexOf("?") ? "?" : "&") + "x-oss-process=image" + A2;
|
|
634
|
+
}
|
|
635
|
+
function ossCompress(e, A2) {
|
|
636
|
+
const t2 = createURLObject(e);
|
|
637
|
+
if (!t2) return e;
|
|
638
|
+
const n2 = getExtname(t2.pathname.split("/").pop());
|
|
639
|
+
if (!/\.videocc\.net$/i.test(t2.hostname) || "svg" === n2) return e;
|
|
640
|
+
const r2 = genOSSCompressParams(n2, handleCompressOptions(A2));
|
|
631
641
|
return r2 && (t2.search = setOSSCompressParams(t2.search, r2)), t2.href;
|
|
632
642
|
}
|
|
633
|
-
const _sfc_main$
|
|
643
|
+
const _sfc_main$P = /* @__PURE__ */ defineComponent({
|
|
634
644
|
__name: "index",
|
|
635
645
|
props: {
|
|
636
646
|
/** 挂件图片 */
|
|
@@ -682,10 +692,10 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
|
|
|
682
692
|
return { __sfc: true, props, emit, startCountDown, stopCountDown, resetSurplus, surplusSecond, pendantText, pendantIconStyle };
|
|
683
693
|
}
|
|
684
694
|
});
|
|
685
|
-
function normalizeComponent(scriptExports,
|
|
695
|
+
function normalizeComponent(scriptExports, render53, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
|
|
686
696
|
var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
|
|
687
|
-
if (
|
|
688
|
-
options.render =
|
|
697
|
+
if (render53) {
|
|
698
|
+
options.render = render53;
|
|
689
699
|
options.staticRenderFns = staticRenderFns;
|
|
690
700
|
options._compiled = true;
|
|
691
701
|
}
|
|
@@ -694,19 +704,19 @@ function normalizeComponent(scriptExports, render48, staticRenderFns, functional
|
|
|
694
704
|
options
|
|
695
705
|
};
|
|
696
706
|
}
|
|
697
|
-
var _sfc_render$
|
|
707
|
+
var _sfc_render$P = function render() {
|
|
698
708
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
699
709
|
return _c("div", { staticClass: "plv-product-common-pendant", on: { "click": function($event) {
|
|
700
710
|
return _setup.emit("click-pendant");
|
|
701
711
|
} } }, [_c("div", { staticClass: "plv-product-common-pendant__icon", style: _setup.pendantIconStyle }), _setup.pendantText ? _c("div", { staticClass: "plv-product-common-pendant__text" }, [_c("span", [_vm._v(_vm._s(_setup.pendantText))])]) : _vm._e()]);
|
|
702
712
|
};
|
|
703
|
-
var _sfc_staticRenderFns$
|
|
704
|
-
var __component__$
|
|
705
|
-
_sfc_main$
|
|
706
|
-
_sfc_render$
|
|
707
|
-
_sfc_staticRenderFns$
|
|
713
|
+
var _sfc_staticRenderFns$P = [];
|
|
714
|
+
var __component__$P = /* @__PURE__ */ normalizeComponent(
|
|
715
|
+
_sfc_main$P,
|
|
716
|
+
_sfc_render$P,
|
|
717
|
+
_sfc_staticRenderFns$P
|
|
708
718
|
);
|
|
709
|
-
const CommonPendant = __component__$
|
|
719
|
+
const CommonPendant = __component__$P.exports;
|
|
710
720
|
function mitt(n2) {
|
|
711
721
|
return { all: n2 = n2 || /* @__PURE__ */ new Map(), on: function(t2, e) {
|
|
712
722
|
var i2 = n2.get(t2);
|
|
@@ -830,7 +840,15 @@ const productEvents = {
|
|
|
830
840
|
/**
|
|
831
841
|
* 打开 iframe 链接弹层
|
|
832
842
|
*/
|
|
833
|
-
OpenProductIframeLinkPopup: "openProductIframeLinkPopup"
|
|
843
|
+
OpenProductIframeLinkPopup: "openProductIframeLinkPopup",
|
|
844
|
+
/**
|
|
845
|
+
* 打开大卡片弹层
|
|
846
|
+
*/
|
|
847
|
+
OpenProductBigCardPopup: "openProductBigCardPopup",
|
|
848
|
+
/**
|
|
849
|
+
* 打开小卡片弹层
|
|
850
|
+
*/
|
|
851
|
+
OpenProductSmallCardPopup: "openProductSmallCardPopup"
|
|
834
852
|
};
|
|
835
853
|
const productPendantProps = () => ({
|
|
836
854
|
productTarget: PropUtils.object().isRequired
|
|
@@ -860,7 +878,7 @@ const useProductPendant = (options) => {
|
|
|
860
878
|
toggleCollapse
|
|
861
879
|
};
|
|
862
880
|
};
|
|
863
|
-
const _sfc_main$
|
|
881
|
+
const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
864
882
|
__name: "mobile-product-pendant",
|
|
865
883
|
props: productPendantProps(),
|
|
866
884
|
setup(__props) {
|
|
@@ -872,17 +890,17 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
|
872
890
|
return { __sfc: true, props, productTotal, onClickPendant, getProductTotal, pendantIcon, CommonPendant };
|
|
873
891
|
}
|
|
874
892
|
});
|
|
875
|
-
var _sfc_render$
|
|
893
|
+
var _sfc_render$O = function render2() {
|
|
876
894
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
877
895
|
return _c("div", { staticClass: "plv-product-pendant" }, [_setup.productTotal ? _c(_setup.CommonPendant, { attrs: { "icon-url": _setup.pendantIcon, "text": _setup.productTotal }, on: { "click-pendant": _setup.onClickPendant } }) : _vm._e()], 1);
|
|
878
896
|
};
|
|
879
|
-
var _sfc_staticRenderFns$
|
|
880
|
-
var __component__$
|
|
881
|
-
_sfc_main$
|
|
882
|
-
_sfc_render$
|
|
883
|
-
_sfc_staticRenderFns$
|
|
897
|
+
var _sfc_staticRenderFns$O = [];
|
|
898
|
+
var __component__$O = /* @__PURE__ */ normalizeComponent(
|
|
899
|
+
_sfc_main$O,
|
|
900
|
+
_sfc_render$O,
|
|
901
|
+
_sfc_staticRenderFns$O
|
|
884
902
|
);
|
|
885
|
-
const mobileProductPendant = __component__$
|
|
903
|
+
const mobileProductPendant = __component__$O.exports;
|
|
886
904
|
const pcShopIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAM1BMVEUAAAD/VFT/U1P/UFD/UlL/UlL/UlL/UlL/UlL/U1P/UlL/UlL/VFT/VVX/U1P/U1P/UlKR79A9AAAAEHRSTlMAIL8QgN9w75/Pj2BAMK9Q9NbUAAAAAKtJREFUOMvtkVsKxCAMRRPjq/Yx2f9qZyQEit5C/4ZCz0dFPE2Ml14egNSkJ0qUC2/RgYTNqBMZiks/4WBK2HP/QjGpLkS7iUwUfr2haBWyN+2iIo+1VxQfWShZ4RHryT5StF82IH76QSVqfW22QnH1u205s2/X62dsct5FIFYfo8Z4eJYViIcCAgrmrpiQmFAwEBQMAEUjWBSaCHeH4TJ7hQmZoQxaZXr5F1/YARbafisbKwAAAABJRU5ErkJggg==";
|
|
887
905
|
function getDefaultExportFromCjs(x2) {
|
|
888
906
|
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
|
|
@@ -1000,7 +1018,7 @@ function requireIconBuilder() {
|
|
|
1000
1018
|
iconBuilder.IconBuilder = void 0;
|
|
1001
1019
|
var interfaces_1 = requireInterfaces();
|
|
1002
1020
|
var utils_1 = requireUtils();
|
|
1003
|
-
var IconBuilder = function(lineName,
|
|
1021
|
+
var IconBuilder = function(lineName, render53) {
|
|
1004
1022
|
var IconComponent = {
|
|
1005
1023
|
name: lineName,
|
|
1006
1024
|
props: ["size", "type", "color", "strokeLinecap", "strokeLinejoin"],
|
|
@@ -1036,7 +1054,7 @@ function requireIconBuilder() {
|
|
|
1036
1054
|
on: this.$listeners,
|
|
1037
1055
|
attrs: this.$attrs,
|
|
1038
1056
|
domProps: {
|
|
1039
|
-
innerHTML:
|
|
1057
|
+
innerHTML: render53(renderData)
|
|
1040
1058
|
}
|
|
1041
1059
|
});
|
|
1042
1060
|
}
|
|
@@ -1721,6 +1739,7 @@ function get(object4, path, defaultValue) {
|
|
|
1721
1739
|
}
|
|
1722
1740
|
const order$5 = { "title": "订单中心", "chooseAddress": "请添加收货地址", "add": "去添加", "phone": "手机号码:", "phonePlaceholder": "请输入手机号码", "submitOrder": "提交订单", "addAddress": "添加地址", "applyRefund": "申请退款", "refundTips": "退款金额 ", "confirmRefund": "退款", "refundFailed": "退款失败", "failed": "发起失败", "list": { "all": "全部", "waitPay": "待支付", "waitDelivery": "待发货", "delivering": "待收货", "finish": "已完成", "close": "已取消", "refunding": "退款中", "refunded": "已退款", "total": "合计", "waitPayBtnText": "立即支付", "waitDeliveryBtnText": "查看详情", "deliveringBtnText": "确认收货", "finishBtnText": "查看详情", "closeBtnText": "查看详情", "emptyText": "暂无订单" }, "detail": { "orderNo": "订单号", "createTime": "下单时间", "payTime": "支付时间", "deliveryTime": "发货时间", "finishTime": "完成时间", "actualPay": "实付", "payNow": "立即支付", "confirmReceipt": "确认收货", "expired": "已失效", "payAutoCancel": " 后自动取消", "cancelReason": "取消原因", "payTimeOut": "超时未支付", "refundTips": "退款金额原路返回", "qrCodeTips": "长按识别或截图保存,联系客服", "qrCodeExpiredTips": "二维码已失效,暂时无法联系客服", "paymentMethod": "支付方式", "wechat": "微信", "alipay": "支付宝" }, "confirmOrder": "确认订单", "shippingAddress": "收货地址", "noAddressTips": "请填写收货地址", "paySuccess": "支付成功", "cancelPay": "取消支付", "payFailed": "支付失败", "createOrderFailed": "无法创建订单,请稍后重试", "wechatPayTips": "请在微信中打开本页进行支付", "confirmReceiptTips": "请确认已经收到包裹", "confirmedReceipt": "已确认收货" };
|
|
1723
1741
|
const addressEdit$5 = { "name": "联系人", "namePlaceholder": "请填写联系人姓名", "choiceAddress": "选择地区", "addressPlaceholder": "请选择地区", "phone": "手机号码", "phonePlaceholder": "请填写手机号码", "phoneError": "请输入正确的手机号", "addressDetail": "详细地址", "addressDetailPlaceholder": "请填写详细地址", "error": "请完善信息", "submit": "保存", "deleteConfirm": "确定要删除该地址吗?", "addAddress": "添加地址", "editAddress": "修改地址", "deleteAddress": "删除地址", "addSuccess": "保存成功", "addError": "保存失败", "editSuccess": "修改成功", "editError": "修改失败" };
|
|
1742
|
+
const bigCard$5 = { "title": "商品推荐" };
|
|
1724
1743
|
const zhCNLang = {
|
|
1725
1744
|
"common.confirm": "确认",
|
|
1726
1745
|
"common.cancel": "取消",
|
|
@@ -1748,10 +1767,12 @@ const zhCNLang = {
|
|
|
1748
1767
|
"product.allProduct": "全部商品",
|
|
1749
1768
|
"product.stock.soldOut": "已抢光",
|
|
1750
1769
|
order: order$5,
|
|
1751
|
-
addressEdit: addressEdit$5
|
|
1770
|
+
addressEdit: addressEdit$5,
|
|
1771
|
+
bigCard: bigCard$5
|
|
1752
1772
|
};
|
|
1753
1773
|
const order$4 = { "title": "訂單中心", "chooseAddress": "請添加收貨地址", "add": "去添加", "phone": "手機號碼:", "phonePlaceholder": "請輸入手機號碼", "submitOrder": "提交訂單", "addAddress": "添加地址", "applyRefund": "申請退款", "refundTips": "退款金額 ", "confirmRefund": "退款", "refundFailed": "退款失敗", "failed": "发起失敗", "list": { "all": "全部", "waitPay": "待支付", "waitDelivery": "待發貨", "delivering": "待收貨", "finish": "已完成", "close": "已取消", "refunding": "退款中", "refunded": "已退款", "total": "合計", "waitPayBtnText": "立即支付", "waitDeliveryBtnText": "查看詳情", "deliveringBtnText": "確認收貨", "finishBtnText": "查看詳情", "closeBtnText": "查看詳情", "emptyText": "暫無訂單" }, "detail": { "orderNo": "訂單號", "createTime": "下單時間", "payTime": "支付時間", "deliveryTime": "發貨時間", "finishTime": "完成時間", "actualPay": "實付", "payNow": "立即支付", "confirmReceipt": "確認收貨", "expired": "已失效", "payAutoCancel": " 後自動取消", "cancelReason": "取消原因", "payTimeOut": "超時未支付", "refundTips": "退款金額原路返回", "qrCodeTips": "長按識別或截圖保存,聯繫客服", "qrCodeExpiredTips": "二維碼已失效,暫時無法聯繫客服", "paymentMethod": "支付方式", "wechat": "微信", "alipay": "支付寶" }, "confirmOrder": "確認訂單", "shippingAddress": "收貨地址", "noAddressTips": "請填寫收貨地址", "paySuccess": "支付成功", "payFailed": "支付失敗", "cancelPay": "取消支付", "createOrderFailed": "無法創建訂單,請稍後重試", "wechatPayTips": "請在微信中打開本頁進行支付", "confirmReceiptTips": "請確認已經收到包裹", "confirmedReceipt": "已確認收貨" };
|
|
1754
1774
|
const addressEdit$4 = { "name": "聯絡人", "namePlaceholder": "請填寫聯絡人", "choiceAddress": "選擇地區", "addressPlaceholder": "請選擇地區", "phone": "手機號碼", "phonePlaceholder": "請填寫手機號碼", "phoneError": "請輸入正確的手機號", "addressDetail": "詳細地址", "addressDetailPlaceholder": "請填寫詳細地址", "error": "請完善信息", "submit": "保存", "deleteConfirm": "確定要刪除該地址嗎?", "deleteAddress": "刪除地址", "addAddress": "添加地址", "editAddress": "修改地址", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "修改成功", "editError": "修改失敗" };
|
|
1775
|
+
const bigCard$4 = { "title": "商品推薦" };
|
|
1755
1776
|
const zhTWLang = {
|
|
1756
1777
|
"common.confirm": "確認",
|
|
1757
1778
|
"common.cancel": "取消",
|
|
@@ -1779,10 +1800,12 @@ const zhTWLang = {
|
|
|
1779
1800
|
"product.allProduct": "全部商品",
|
|
1780
1801
|
"product.stock.soldOut": "已搶光",
|
|
1781
1802
|
order: order$4,
|
|
1782
|
-
addressEdit: addressEdit$4
|
|
1803
|
+
addressEdit: addressEdit$4,
|
|
1804
|
+
bigCard: bigCard$4
|
|
1783
1805
|
};
|
|
1784
1806
|
const order$3 = { "title": "Order Center", "chooseAddress": "Add Shipping Address", "add": "Add Shipping Address", "phone": "Phone:", "phonePlaceholder": "Enter Phone", "submitOrder": "Submit", "addAddress": "Add Address", "applyRefund": "Apply Refund", "refundTips": "Refund Amount ", "confirmRefund": "Refund", "refundFailed": "Refund Failed", "failed": "Failed", "list": { "all": "All", "waitPay": "Wait Payment", "waitDelivery": "Wait Delivery", "delivering": "Delivering", "finish": "Finished", "close": "Closed", "refunding": "Refunding", "refunded": "Refunded", "total": "Total", "waitPayBtnText": "Pay Now", "waitDeliveryBtnText": "View Details", "deliveringBtnText": "Confirm Receipt", "finishBtnText": "View Details", "closeBtnText": "View Details", "emptyText": "No Order History" }, "detail": { "orderNo": "Order Number", "createTime": "Order Time", "payTime": "Payment Time", "deliveryTime": "Delivery Time", "finishTime": "Completion Time", "actualPay": "Total Amount", "payNow": "Pay Now", "confirmReceipt": "Confirm Receipt", "expired": "Expired", "payAutoCancel": "Cancel", "cancelReason": "Cancel Reason", "payTimeOut": "Pay Time Out", "refundTips": "Refund amount returned to the original path", "qrCodeTips": "Long press to scan or save screenshot for support", "qrCodeExpiredTips": "QR code expired, support unavailable", "paymentMethod": "Payment Method", "wechat": "Wechat", "alipay": "Alipay" }, "confirmOrder": "Confirm Order", "shippingAddress": "Shipping Address", "noAddressTips": "Please fill in the shipping address", "paySuccess": "Payment Success", "cancelPay": "Cancel Payment", "payFailed": "Payment Failed", "createOrderFailed": "Failed to create order, please try again later", "wechatPayTips": "Please open this page in WeChat to pay", "confirmReceiptTips": "Have you received the package?", "confirmedReceipt": "Confirmed Receipt" };
|
|
1785
1807
|
const addressEdit$3 = { "name": "Name", "namePlaceholder": "Enter Name", "choiceAddress": "Select Area", "addressPlaceholder": "Select Area", "phone": "Phone", "phonePlaceholder": "Enter Phone", "phoneError": "Please enter a valid phone number", "addressDetail": "Address Detail", "addressDetailPlaceholder": "Enter Address Detail", "error": "Please fill in all required fields", "submit": "Save", "deleteConfirm": "Delete this address?", "deleteAddress": "Yes", "addAddress": "Add Address", "editAddress": "Edit Address", "addSuccess": "Save Success", "addError": "Save Failed", "editSuccess": "Edit Success", "editError": "Edit Failed" };
|
|
1808
|
+
const bigCard$3 = { "title": "Top Picks" };
|
|
1786
1809
|
const enLang = {
|
|
1787
1810
|
"common.confirm": "Confirm",
|
|
1788
1811
|
"common.cancel": "Cancel",
|
|
@@ -1810,10 +1833,12 @@ const enLang = {
|
|
|
1810
1833
|
"product.allProduct": "Products",
|
|
1811
1834
|
"product.stock.soldOut": "Sold Out",
|
|
1812
1835
|
order: order$3,
|
|
1813
|
-
addressEdit: addressEdit$3
|
|
1836
|
+
addressEdit: addressEdit$3,
|
|
1837
|
+
bigCard: bigCard$3
|
|
1814
1838
|
};
|
|
1815
1839
|
const order$2 = { "title": "注文中心", "chooseAddress": "配送先を追加", "add": "配送先を追加", "phone": "電話番号:", "phonePlaceholder": "電話番号を入力", "submitOrder": "注文を提出", "addAddress": "配送先を追加", "applyRefund": "退款申請", "refundTips": "退款金額 ", "confirmRefund": "退款", "refundFailed": "退款失敗", "failed": "失敗", "list": { "all": "全て", "waitPay": "支払い待ち", "waitDelivery": "発送待ち", "delivering": "配送中", "finish": "完了", "close": "キャンセル", "refunding": "退款中", "refunded": "退款完了", "total": "合計", "waitPayBtnText": "支払い", "waitDeliveryBtnText": "詳細を見る", "deliveringBtnText": "確認受け取り", "finishBtnText": "詳細を見る", "closeBtnText": "詳細を見る", "emptyText": "注文履歴がありません" }, "detail": { "orderNo": "注文番号", "createTime": "注文日時", "payTime": "支払い日時", "deliveryTime": "発送日時", "finishTime": "完了日時", "actualPay": "実払い", "payNow": "支払い", "confirmReceipt": "確認受け取り", "expired": "失効", "payAutoCancel": " 後自動キャンセル", "cancelReason": "キャンセル理由", "payTimeOut": "超時未支払い", "refundTips": "退款金額原路返回", "qrCodeTips": "長押し識別またはスクリーンショット保存、サポートにお問い合わせください", "qrCodeExpiredTips": "QRコードは失効しました。暫時的にサポートに連絡できません", "paymentMethod": "支払い方法", "wechat": "ウェブアプリ", "alipay": "アリペイ" }, "confirmOrder": "注文を確認", "shippingAddress": "配送先", "noAddressTips": "配送先を入力してください", "paySuccess": "支払い成功", "cancelPay": "支払いをキャンセル", "payFailed": "支払い失敗", "createOrderFailed": "注文の作成に失敗しました。後で再試行してください。", "wechatPayTips": "WeChatでこのページを開いて支払いしてください", "confirmReceiptTips": "パッケージを確認しましたか?", "confirmedReceipt": "確認受け取り完了" };
|
|
1816
1840
|
const addressEdit$2 = { "name": "連絡先", "namePlaceholder": "連絡先を入力", "choiceAddress": "地域を選択", "addressPlaceholder": "地域を選択", "phone": "電話番号", "phonePlaceholder": "電話番号を入力", "phoneError": "正しい電話番号を入力してください", "addressDetail": "詳細住所", "addressDetailPlaceholder": "詳細住所を入力", "error": "情報を入力してください", "submit": "保存", "deleteConfirm": "この住所を削除しますか?", "deleteAddress": "住所を削除", "addAddress": "住所を追加", "editAddress": "住所を編集", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "編集成功", "editError": "編集失敗" };
|
|
1841
|
+
const bigCard$2 = { "title": "商品推薦" };
|
|
1817
1842
|
const jaLang = {
|
|
1818
1843
|
"common.confirm": "確認",
|
|
1819
1844
|
"common.cancel": "キャンセル",
|
|
@@ -1841,10 +1866,12 @@ const jaLang = {
|
|
|
1841
1866
|
"product.allProduct": "すべての商品",
|
|
1842
1867
|
"product.stock.soldOut": "売り切れ",
|
|
1843
1868
|
order: order$2,
|
|
1844
|
-
addressEdit: addressEdit$2
|
|
1869
|
+
addressEdit: addressEdit$2,
|
|
1870
|
+
bigCard: bigCard$2
|
|
1845
1871
|
};
|
|
1846
1872
|
const order$1 = { "title": "주문 센터", "chooseAddress": "주문 주소 추가", "add": "주문 주소 추가", "phone": "전화번호:", "phonePlaceholder": "전화번호 입력", "submitOrder": "주문 제출", "addAddress": "주문 주소 추가", "applyRefund": "환불 신청", "refundTips": "환불 금액 ", "confirmRefund": "환불", "refundFailed": "환불 실패", "failed": "실패", "list": { "all": "전체", "waitPay": "결제 대기", "waitDelivery": "배송 대기", "delivering": "배송 중", "finish": "완료", "close": "취소", "refunding": "환불 중", "refunded": "환불 완료", "total": "총 금액", "waitPayBtnText": "결제하기", "waitDeliveryBtnText": "상세 보기", "deliveringBtnText": "확인 받기", "finishBtnText": "상세 보기", "closeBtnText": "상세 보기", "emptyText": "주문 내역이 없습니다." }, "detail": { "orderNo": "주문번호", "createTime": "주문일시", "payTime": "결제일시", "deliveryTime": "배송일시", "finishTime": "완료일시", "actualPay": "총 금액", "payNow": "결제하기", "confirmReceipt": "확인 받기", "expired": "만료", "payAutoCancel": " 후 자동 취소", "cancelReason": "취소 사유", "payTimeOut": "결제 시간 초과", "refundTips": "환불 금액 원래 경로로 반환", "qrCodeTips": "장치 인식 또는 스크린샷 저장 후 문의", "qrCodeExpiredTips": "이미 만료되었습니다. 잠시 후 다시 시도해주세요.", "paymentMethod": "결제 방법", "wechat": "웹앱", "alipay": "알리페이" }, "confirmOrder": "주문 확인", "shippingAddress": "배송 주소", "noAddressTips": "배송 주소를 입력해주세요", "paySuccess": "결제 성공", "cancelPay": "결제 취소", "payFailed": "결제 실패", "createOrderFailed": "주문 생성에 실패했습니다. 나중에 다시 시도해주세요.", "wechatPayTips": "카카오톡에서 이 페이지를 열어 결제해주세요", "confirmReceiptTips": "패키지를 확인하셨습니까?", "confirmedReceipt": "확인 받기 완료" };
|
|
1847
1873
|
const addressEdit$1 = { "name": "연락처", "namePlaceholder": "연락처 입력", "choiceAddress": "지역 선택", "addressPlaceholder": "지역 선택", "phone": "전화번호", "phonePlaceholder": "전화번호 입력", "phoneError": "올바른 전화번호를 입력해주세요", "addressDetail": "상세 주소", "addressDetailPlaceholder": "상세 주소 입력", "error": "정보를 입력해주세요.", "submit": "저장", "deleteConfirm": "주소를 삭제하시겠습니까?", "deleteAddress": "주소 삭제", "addAddress": "주소 추가", "editAddress": "주소 수정", "addSuccess": "저장 성공", "addError": "저장 실패", "editSuccess": "수정 성공", "editError": "수정 실패" };
|
|
1874
|
+
const bigCard$1 = { "title": "상품 추천" };
|
|
1848
1875
|
const koLang = {
|
|
1849
1876
|
"common.confirm": "확인",
|
|
1850
1877
|
"common.cancel": "취소",
|
|
@@ -1872,10 +1899,12 @@ const koLang = {
|
|
|
1872
1899
|
"product.allProduct": "모든 상품",
|
|
1873
1900
|
"product.stock.soldOut": "품절",
|
|
1874
1901
|
order: order$1,
|
|
1875
|
-
addressEdit: addressEdit$1
|
|
1902
|
+
addressEdit: addressEdit$1,
|
|
1903
|
+
bigCard: bigCard$1
|
|
1876
1904
|
};
|
|
1877
1905
|
const order = { "title": "Центр заказов", "chooseAddress": "Пожалуйста, добавьте адрес доставки", "add": "Добавить", "phone": "Номер телефона:", "phonePlaceholder": "Пожалуйста, введите номер телефона", "submitOrder": "Отправить заказ", "addAddress": "Добавить адрес", "applyRefund": "Заявить о возврате", "refundTips": "Сумма возврата ", "confirmRefund": "Возврат", "refundFailed": "Возврат не удался", "failed": "Не удалось инициировать", "list": { "all": "Все", "waitPay": "Ожидает оплаты", "waitDelivery": "Ожидает отправки", "delivering": "Ожидает получения", "finish": "Завершено", "close": "Отменено", "refunding": "В процессе возврата", "refunded": "Возвращено", "total": "Итого", "waitPayBtnText": "Оплатить сейчас", "waitDeliveryBtnText": "Посмотреть детали", "deliveringBtnText": "Подтвердить получение", "finishBtnText": "Посмотреть детали", "closeBtnText": "Посмотреть детали", "emptyText": "Пока нет заказов" }, "detail": { "orderNo": "Номер заказа", "createTime": "Время создания заказа", "payTime": "Время оплаты", "deliveryTime": "Время отправки", "finishTime": "Время завершения", "actualPay": "Фактически оплачено", "payNow": "Оплатить сейчас", "confirmReceipt": "Подтвердить получение", "expired": "Истек срок действия", "payAutoCancel": " автоматическая отмена", "cancelReason": "Причина отмены", "payTimeOut": "Время оплаты истекло", "refundTips": "Сумма возврата вернется тем же способом", "qrCodeTips": "Долго нажмите для распознавания или сохраните скриншот, свяжитесь с сервисом", "qrCodeExpiredTips": "QR-код истек, временно невозможно связаться с сервисом", "paymentMethod": "Способ оплаты", "wechat": "Веб-приложение", "alipay": "АлиПай" }, "confirmOrder": "Подтвердить заказ", "shippingAddress": "Адрес доставки", "noAddressTips": "Пожалуйста, заполните адрес доставки", "paySuccess": "Оплата успешна", "cancelPay": "Отменить оплату", "payFailed": "Оплата не удалась", "createOrderFailed": "Не удается создать заказ, попробуйте позже", "wechatPayTips": "Пожалуйста, откройте эту страницу в WeChat для оплаты", "confirmReceiptTips": "Пожалуйста, подтвердите, что посылка получена", "confirmedReceipt": "Получение подтверждено" };
|
|
1878
1906
|
const addressEdit = { "name": "Контактное лицо", "namePlaceholder": "Пожалуйста, введите имя контактного лица", "choiceAddress": "Выберите регион", "addressPlaceholder": "Пожалуйста, выберите регион", "phone": "Номер телефона", "phonePlaceholder": "Пожалуйста, введите номер телефона", "phoneError": "Пожалуйста, введите правильный номер телефона", "addressDetail": "Подробный адрес", "addressDetailPlaceholder": "Пожалуйста, заполните подробный адрес", "error": "Пожалуйста, дополните информацию", "submit": "Сохранить", "deleteConfirm": "Вы уверены, что хотите удалить этот адрес?", "addAddress": "Добавить адрес", "editAddress": "Изменить адрес", "deleteAddress": "Удалить адрес", "addSuccess": "Успешно сохранено", "addError": "Не удалось сохранить", "editSuccess": "Успешно изменено", "editError": "Не удалось изменить" };
|
|
1907
|
+
const bigCard = { "title": "Товары" };
|
|
1879
1908
|
const ruLang = {
|
|
1880
1909
|
"common.confirm": "Подтвердить",
|
|
1881
1910
|
"common.cancel": "Отмена",
|
|
@@ -1903,7 +1932,8 @@ const ruLang = {
|
|
|
1903
1932
|
"product.allProduct": "Все товары",
|
|
1904
1933
|
"product.stock.soldOut": "Распродано",
|
|
1905
1934
|
order,
|
|
1906
|
-
addressEdit
|
|
1935
|
+
addressEdit,
|
|
1936
|
+
bigCard
|
|
1907
1937
|
};
|
|
1908
1938
|
const fullI18nData = {
|
|
1909
1939
|
[LangType.ZH_CN]: zhCNLang,
|
|
@@ -1969,7 +1999,7 @@ const useI18n = () => {
|
|
|
1969
1999
|
$t
|
|
1970
2000
|
};
|
|
1971
2001
|
};
|
|
1972
|
-
const _sfc_main$
|
|
2002
|
+
const _sfc_main$N = /* @__PURE__ */ defineComponent({
|
|
1973
2003
|
__name: "pc-product-pendant",
|
|
1974
2004
|
props: productPendantProps(),
|
|
1975
2005
|
setup(__props) {
|
|
@@ -1980,7 +2010,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
|
1980
2010
|
return { __sfc: true, props, $t, isCollapsed, onClickPendant, toggleCollapse, isArrowHovered, pcShopIcon, ProductIconArrowRight, ProductIconArrowLeft };
|
|
1981
2011
|
}
|
|
1982
2012
|
});
|
|
1983
|
-
var _sfc_render$
|
|
2013
|
+
var _sfc_render$N = function render3() {
|
|
1984
2014
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
1985
2015
|
return _c("div", { staticClass: "plv-product-pc-pendant", class: { "plv-product-pc-pendant--collapsed": _setup.isCollapsed } }, [_c("transition", { attrs: { "name": "pendant-expand" } }, [!_setup.isCollapsed ? _c("div", { staticClass: "plv-product-pc-pendant__content", class: { "plv-product-pc-pendant__content--arrow-hover": _setup.isArrowHovered }, on: { "click": _setup.onClickPendant } }, [_c("div", { staticClass: "plv-product-pc-pendant__main" }, [_c("img", { staticClass: "plv-product-pc-pendant__icon", attrs: { "src": _setup.pcShopIcon } }), _c("div", { staticClass: "plv-product-pc-pendant__text" }, [_vm._v(" " + _vm._s(_setup.$t("product.allProduct")) + " ")])]), _c(_setup.ProductIconArrowRight, { staticClass: "plv-product-pc-pendant__arrow-right", class: { "plv-product-pc-pendant__arrow-right--hover": _setup.isArrowHovered }, on: { "click": _setup.toggleCollapse, "mouseenter": function($event) {
|
|
1986
2016
|
_setup.isArrowHovered = true;
|
|
@@ -1988,13 +2018,13 @@ var _sfc_render$I = function render3() {
|
|
|
1988
2018
|
_setup.isArrowHovered = false;
|
|
1989
2019
|
} } })], 1) : _vm._e()]), _c("transition", { attrs: { "name": "pendant-collapse" } }, [_setup.isCollapsed ? _c(_setup.ProductIconArrowLeft, { staticClass: "plv-product-pc-pendant__arrow-left", on: { "click": _setup.toggleCollapse } }) : _vm._e()], 1)], 1);
|
|
1990
2020
|
};
|
|
1991
|
-
var _sfc_staticRenderFns$
|
|
1992
|
-
var __component__$
|
|
1993
|
-
_sfc_main$
|
|
1994
|
-
_sfc_render$
|
|
1995
|
-
_sfc_staticRenderFns$
|
|
2021
|
+
var _sfc_staticRenderFns$N = [];
|
|
2022
|
+
var __component__$N = /* @__PURE__ */ normalizeComponent(
|
|
2023
|
+
_sfc_main$N,
|
|
2024
|
+
_sfc_render$N,
|
|
2025
|
+
_sfc_staticRenderFns$N
|
|
1996
2026
|
);
|
|
1997
|
-
const pcProductPendant = __component__$
|
|
2027
|
+
const pcProductPendant = __component__$N.exports;
|
|
1998
2028
|
const hasOwnProperty$7 = Object.prototype.hasOwnProperty;
|
|
1999
2029
|
function hasOwnProp(r2, n2) {
|
|
2000
2030
|
return hasOwnProperty$7.call(r2, n2);
|
|
@@ -2043,19 +2073,6 @@ function concat(i2, r2, t2) {
|
|
|
2043
2073
|
let e = n2.search || "";
|
|
2044
2074
|
return e && "&" !== e.slice(-1) && (e += "&"), e += r2, n2.search = e, joinURL(n2);
|
|
2045
2075
|
}
|
|
2046
|
-
const useTrackEvent = (iarCore) => {
|
|
2047
|
-
const { injectData } = useGlobalInject();
|
|
2048
|
-
function trackEvent(data) {
|
|
2049
|
-
if (injectData.trackEventCallback) {
|
|
2050
|
-
injectData.trackEventCallback(data);
|
|
2051
|
-
return;
|
|
2052
|
-
}
|
|
2053
|
-
iarCore.trackEvent(data);
|
|
2054
|
-
}
|
|
2055
|
-
return {
|
|
2056
|
-
trackEvent
|
|
2057
|
-
};
|
|
2058
|
-
};
|
|
2059
2076
|
function canMatchKeywords(e, t2) {
|
|
2060
2077
|
e = e.toLowerCase();
|
|
2061
2078
|
const n2 = /[/\s;_-]/, s2 = /[/\s;_-]/;
|
|
@@ -2181,6 +2198,117 @@ let currentUAInfo;
|
|
|
2181
2198
|
function getCurrentUAInfo() {
|
|
2182
2199
|
return currentUAInfo || (currentUAInfo = Object.freeze("undefined" != typeof window ? new UAInfo(window.navigator.userAgent, window.navigator) : new UAInfo(""))), currentUAInfo;
|
|
2183
2200
|
}
|
|
2201
|
+
var __awaiter = function(i2, n2, o2, t2) {
|
|
2202
|
+
return new (o2 || (o2 = Promise))(function(e, a2) {
|
|
2203
|
+
function r2(i3) {
|
|
2204
|
+
try {
|
|
2205
|
+
k2(t2.next(i3));
|
|
2206
|
+
} catch (i4) {
|
|
2207
|
+
a2(i4);
|
|
2208
|
+
}
|
|
2209
|
+
}
|
|
2210
|
+
function l2(i3) {
|
|
2211
|
+
try {
|
|
2212
|
+
k2(t2.throw(i3));
|
|
2213
|
+
} catch (i4) {
|
|
2214
|
+
a2(i4);
|
|
2215
|
+
}
|
|
2216
|
+
}
|
|
2217
|
+
function k2(i3) {
|
|
2218
|
+
var n3;
|
|
2219
|
+
i3.done ? e(i3.value) : (n3 = i3.value, n3 instanceof o2 ? n3 : new o2(function(i4) {
|
|
2220
|
+
i4(n3);
|
|
2221
|
+
})).then(r2, l2);
|
|
2222
|
+
}
|
|
2223
|
+
k2((t2 = t2.apply(i2, n2 || [])).next());
|
|
2224
|
+
});
|
|
2225
|
+
};
|
|
2226
|
+
const uaInfo$1 = getCurrentUAInfo();
|
|
2227
|
+
const isAndroid$1 = uaInfo$1.os.isAndroid;
|
|
2228
|
+
const isIOS$1 = uaInfo$1.os.isIOS;
|
|
2229
|
+
var LinkType;
|
|
2230
|
+
!function(i2) {
|
|
2231
|
+
i2[i2.Normal = 10] = "Normal", i2[i2.MultiPlatform = 11] = "MultiPlatform", i2[i2.Native = 12] = "Native";
|
|
2232
|
+
}(LinkType || (LinkType = {}));
|
|
2233
|
+
var LinkJumpWay;
|
|
2234
|
+
function getNativeToPointMallFn() {
|
|
2235
|
+
var i2, n2, o2, t2;
|
|
2236
|
+
return isAndroid$1 ? null === (i2 = window.AndroidNative) || void 0 === i2 ? void 0 : i2.toPointMall : isIOS$1 ? null === (t2 = null === (o2 = null === (n2 = window.webkit) || void 0 === n2 ? void 0 : n2.messageHandlers) || void 0 === o2 ? void 0 : o2.gotoPointsMall) || void 0 === t2 ? void 0 : t2.postMessage : void 0;
|
|
2237
|
+
}
|
|
2238
|
+
function toNativeLink(i2) {
|
|
2239
|
+
const { androidLink: n2, iosLink: o2, otherLink: t2 } = i2, e = getNativeToPointMallFn();
|
|
2240
|
+
if (e) {
|
|
2241
|
+
let i3 = isAndroid$1 ? n2 : o2;
|
|
2242
|
+
const t3 = encodeURIComponent(location.href);
|
|
2243
|
+
i3 = concat(i3, { plt_back_uri: t3 });
|
|
2244
|
+
e(JSON.stringify({ url: i3 }));
|
|
2245
|
+
} else window.open(t2, "_blank", "noopener=yes");
|
|
2246
|
+
}
|
|
2247
|
+
function toPlvWebviewBridge(i2) {
|
|
2248
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2249
|
+
const { getPlvWebviewSmallWindowSize: n2, getPlvWebviewBridge: o2 } = i2, t2 = (null == n2 ? void 0 : n2()) || { width: 90, height: 160 }, e = yield null == o2 ? void 0 : o2();
|
|
2250
|
+
e && e.sendData("clickProduct", { width: t2.width, height: t2.height, newPage: true, link: i2.link, data: i2.data });
|
|
2251
|
+
});
|
|
2252
|
+
}
|
|
2253
|
+
function toMultiPlatformLink(i2) {
|
|
2254
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2255
|
+
const { linkData: n2, isWxMiniProgramEnv: o2, toWxMiniProgram: t2, openLink: e, getLinkParams: a2, isMobile: r2 } = i2, { wxMiniprogramLink: l2, mobileLink: k2, pcLink: d2 } = n2, s2 = (null == r2 ? void 0 : r2()) || false;
|
|
2256
|
+
let u2 = false;
|
|
2257
|
+
try {
|
|
2258
|
+
u2 = (yield null == o2 ? void 0 : o2()) || false;
|
|
2259
|
+
} catch (i3) {
|
|
2260
|
+
u2 = false;
|
|
2261
|
+
}
|
|
2262
|
+
u2 && l2 && t2 ? t2(formatLink(l2, a2)) : s2 && k2 ? e(formatLink(k2, a2), LinkJumpWay.NewWindow) : !s2 && d2 && e(formatLink(d2, a2), LinkJumpWay.NewWindow);
|
|
2263
|
+
});
|
|
2264
|
+
}
|
|
2265
|
+
!function(i2) {
|
|
2266
|
+
i2.PopUp = "POP_UP", i2.NewWindow = "NEW_WINDOW", i2.CurrentWindow = "CURRENT_WINDOW";
|
|
2267
|
+
}(LinkJumpWay || (LinkJumpWay = {}));
|
|
2268
|
+
function formatLink(i2, n2) {
|
|
2269
|
+
let o2 = {};
|
|
2270
|
+
if (n2) {
|
|
2271
|
+
const t2 = n2(i2);
|
|
2272
|
+
o2 = Object.assign({}, o2, t2);
|
|
2273
|
+
}
|
|
2274
|
+
return concat(i2, o2);
|
|
2275
|
+
}
|
|
2276
|
+
function navigateToLink(i2) {
|
|
2277
|
+
const { linkData: n2, openLink: o2, isPlvWebview: t2, getPlvWebviewSmallWindowSize: e, getPlvWebviewBridge: a2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, getLinkParams: k2, isMobile: d2 } = i2, { linkType: s2 } = n2, u2 = (null == t2 ? void 0 : t2()) || false;
|
|
2278
|
+
if (s2 !== LinkType.Native) {
|
|
2279
|
+
if (u2) {
|
|
2280
|
+
let i3 = "";
|
|
2281
|
+
const { link: o3, mobileLink: t3, mobileAppLink: r3, wxMiniprogramOriginalId: l3, wxMiniprogramLink: d3 } = n2;
|
|
2282
|
+
switch (s2) {
|
|
2283
|
+
case LinkType.Normal:
|
|
2284
|
+
i3 = o3;
|
|
2285
|
+
break;
|
|
2286
|
+
case LinkType.MultiPlatform:
|
|
2287
|
+
i3 = r3 || t3;
|
|
2288
|
+
}
|
|
2289
|
+
let u3 = null;
|
|
2290
|
+
return s2 !== LinkType.Normal && (u3 = { mobileLink: formatLink(t3, k2), wxMiniprogramOriginalId: l3, wxMiniprogramLink: formatLink(d3, k2), mobileAppLink: formatLink(r3, k2) }), void toPlvWebviewBridge({ link: formatLink(i3, k2), data: u3, getPlvWebviewSmallWindowSize: e, getPlvWebviewBridge: a2 });
|
|
2291
|
+
}
|
|
2292
|
+
if (s2 !== LinkType.Normal) s2 === LinkType.MultiPlatform && toMultiPlatformLink({ linkData: n2, getLinkParams: k2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, openLink: o2, isMobile: d2 });
|
|
2293
|
+
else {
|
|
2294
|
+
const { link: i3, jumpWay: t3 } = n2;
|
|
2295
|
+
o2(formatLink(i3, k2), t3);
|
|
2296
|
+
}
|
|
2297
|
+
} else toNativeLink({ androidLink: formatLink(n2.androidLink, k2), iosLink: formatLink(n2.iosLink, k2), otherLink: formatLink(n2.otherLink, k2) });
|
|
2298
|
+
}
|
|
2299
|
+
const useTrackEvent = (iarCore) => {
|
|
2300
|
+
const { injectData } = useGlobalInject();
|
|
2301
|
+
function trackEvent(data) {
|
|
2302
|
+
if (injectData.trackEventCallback) {
|
|
2303
|
+
injectData.trackEventCallback(data);
|
|
2304
|
+
return;
|
|
2305
|
+
}
|
|
2306
|
+
iarCore.trackEvent(data);
|
|
2307
|
+
}
|
|
2308
|
+
return {
|
|
2309
|
+
trackEvent
|
|
2310
|
+
};
|
|
2311
|
+
};
|
|
2184
2312
|
const ua = navigator.userAgent.toLowerCase();
|
|
2185
2313
|
const uaInfo = getCurrentUAInfo();
|
|
2186
2314
|
const isAndroid = uaInfo.os.isAndroid;
|
|
@@ -2313,7 +2441,8 @@ function getProductTargetExport(productTarget) {
|
|
|
2313
2441
|
ProductExplainStatus: productTarget.ProductExplainStatus,
|
|
2314
2442
|
ProductMediaType: productTarget.ProductMediaType,
|
|
2315
2443
|
ProductDeliveryType: productTarget.ProductDeliveryType,
|
|
2316
|
-
ProductEvents: productTarget.ProductEvents
|
|
2444
|
+
ProductEvents: productTarget.ProductEvents,
|
|
2445
|
+
ProductPushRule: productTarget.ProductPushRule
|
|
2317
2446
|
};
|
|
2318
2447
|
}
|
|
2319
2448
|
const PRODUCT_PROVIDE_KEY = Symbol("PRODUCT_PROVIDE_KEY");
|
|
@@ -2416,7 +2545,38 @@ const useProductStock = (options) => {
|
|
|
2416
2545
|
isSoldOut
|
|
2417
2546
|
};
|
|
2418
2547
|
};
|
|
2419
|
-
const
|
|
2548
|
+
const useProductExplain = (options) => {
|
|
2549
|
+
const { props } = options;
|
|
2550
|
+
const productExplainEnabled = ref(false);
|
|
2551
|
+
function getProductExplainEnabled() {
|
|
2552
|
+
return __async(this, null, function* () {
|
|
2553
|
+
if (!props.productTarget) return;
|
|
2554
|
+
const enabled = yield props.productTarget.getProductExplainEnabled();
|
|
2555
|
+
productExplainEnabled.value = enabled;
|
|
2556
|
+
});
|
|
2557
|
+
}
|
|
2558
|
+
function handleClickExplain(product) {
|
|
2559
|
+
return __async(this, null, function* () {
|
|
2560
|
+
if (typeof props.productConfig.customClickExplainHandler === "function") {
|
|
2561
|
+
props.productConfig.customClickExplainHandler(product);
|
|
2562
|
+
return;
|
|
2563
|
+
}
|
|
2564
|
+
if (!props.productTarget) return;
|
|
2565
|
+
const url2 = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
|
|
2566
|
+
if (url2) {
|
|
2567
|
+
window.open(url2, "_blank");
|
|
2568
|
+
}
|
|
2569
|
+
});
|
|
2570
|
+
}
|
|
2571
|
+
onMounted(() => {
|
|
2572
|
+
getProductExplainEnabled();
|
|
2573
|
+
});
|
|
2574
|
+
return {
|
|
2575
|
+
productExplainEnabled,
|
|
2576
|
+
handleClickExplain
|
|
2577
|
+
};
|
|
2578
|
+
};
|
|
2579
|
+
const htmlChars = ['"', "'", "&", "<", ">", " "], htmlEntities = [""", "'", "&", "<", ">", " "], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
|
|
2420
2580
|
htmlChars.forEach((n2, e) => {
|
|
2421
2581
|
charsToEntities[n2] = htmlEntities[e], entitiesToChars[htmlEntities[e]] = n2;
|
|
2422
2582
|
});
|
|
@@ -2435,15 +2595,15 @@ function randomStr(n2, e) {
|
|
|
2435
2595
|
function maskChars(n2, e) {
|
|
2436
2596
|
var t2, r2, o2;
|
|
2437
2597
|
e = e || {};
|
|
2438
|
-
const i2 = n2.length,
|
|
2439
|
-
if (
|
|
2440
|
-
let e2 = n2.substring(0,
|
|
2441
|
-
return e2 += new Array(
|
|
2598
|
+
const i2 = n2.length, s2 = null !== (t2 = e.start) && void 0 !== t2 ? t2 : 0, l2 = null !== (r2 = e.end) && void 0 !== r2 ? r2 : i2 - 1, a2 = null !== (o2 = e.maskChar) && void 0 !== o2 ? o2 : "*";
|
|
2599
|
+
if (s2 >= 0 && l2 >= 0 && s2 <= l2 && l2 < i2) {
|
|
2600
|
+
let e2 = n2.substring(0, s2);
|
|
2601
|
+
return e2 += new Array(l2 - s2 + 2).join(a2), l2 < i2 - 1 && (e2 += n2.substring(l2 + 1)), e2;
|
|
2442
2602
|
}
|
|
2443
|
-
if (
|
|
2444
|
-
if (
|
|
2445
|
-
let e2 = new Array(Math.min(
|
|
2446
|
-
return
|
|
2603
|
+
if (s2 >= 0) return s2 >= i2 ? n2 : n2.substring(0, s2) + new Array(i2 - s2 + 1).join(a2);
|
|
2604
|
+
if (l2 >= 0) {
|
|
2605
|
+
let e2 = new Array(Math.min(l2, i2) + 2).join(a2);
|
|
2606
|
+
return l2 < i2 - 1 && (e2 += n2.substring(l2 + 1)), e2;
|
|
2447
2607
|
}
|
|
2448
2608
|
return n2;
|
|
2449
2609
|
}
|
|
@@ -2486,7 +2646,7 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
2486
2646
|
}
|
|
2487
2647
|
const wx = yield injectData.getWeixinSdk();
|
|
2488
2648
|
(_a = wx == null ? void 0 : wx.miniProgram) == null ? void 0 : _a.navigateTo({
|
|
2489
|
-
url: url2
|
|
2649
|
+
url: url2.startsWith("/") ? url2 : `/${url2}`
|
|
2490
2650
|
});
|
|
2491
2651
|
return;
|
|
2492
2652
|
});
|
|
@@ -2541,7 +2701,9 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
2541
2701
|
watch(
|
|
2542
2702
|
() => [weixinBtnRef.value, supportWxOpenLaunchWeapp.value, buttonOptions.value],
|
|
2543
2703
|
() => {
|
|
2544
|
-
|
|
2704
|
+
setTimeout(() => {
|
|
2705
|
+
createWxMiniProgramButton();
|
|
2706
|
+
}, 500);
|
|
2545
2707
|
},
|
|
2546
2708
|
{
|
|
2547
2709
|
immediate: true
|
|
@@ -2558,7 +2720,7 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
2558
2720
|
};
|
|
2559
2721
|
};
|
|
2560
2722
|
const useAppNative = () => {
|
|
2561
|
-
function
|
|
2723
|
+
function getNativeToPointMallFn2() {
|
|
2562
2724
|
var _a, _b, _c, _d;
|
|
2563
2725
|
if (isAndroid) {
|
|
2564
2726
|
return (_a = window.AndroidNative) == null ? void 0 : _a.toPointMall;
|
|
@@ -2567,14 +2729,14 @@ const useAppNative = () => {
|
|
|
2567
2729
|
}
|
|
2568
2730
|
}
|
|
2569
2731
|
function supportNativeToPointMall() {
|
|
2570
|
-
return !!
|
|
2732
|
+
return !!getNativeToPointMallFn2();
|
|
2571
2733
|
}
|
|
2572
2734
|
const supportAppNative = computed(() => {
|
|
2573
2735
|
return supportNativeToPointMall();
|
|
2574
2736
|
});
|
|
2575
|
-
function
|
|
2737
|
+
function toNativeLink2(options) {
|
|
2576
2738
|
const { androidLink, iosLink, otherLink } = options;
|
|
2577
|
-
const nativePointMallFn =
|
|
2739
|
+
const nativePointMallFn = getNativeToPointMallFn2();
|
|
2578
2740
|
if (nativePointMallFn) {
|
|
2579
2741
|
let url2 = isAndroid ? androidLink : iosLink;
|
|
2580
2742
|
const pltBackUri = encodeURIComponent(location.href);
|
|
@@ -2590,60 +2752,10 @@ const useAppNative = () => {
|
|
|
2590
2752
|
window.open(otherLink, "_blank", "noopener=yes");
|
|
2591
2753
|
}
|
|
2592
2754
|
return {
|
|
2593
|
-
getNativeToPointMallFn,
|
|
2755
|
+
getNativeToPointMallFn: getNativeToPointMallFn2,
|
|
2594
2756
|
supportNativeToPointMall,
|
|
2595
2757
|
supportAppNative,
|
|
2596
|
-
toNativeLink
|
|
2597
|
-
};
|
|
2598
|
-
};
|
|
2599
|
-
const usePolyvWebview = () => {
|
|
2600
|
-
const { injectData } = useGlobalInject();
|
|
2601
|
-
const isPlvWebview = ref(false);
|
|
2602
|
-
const supportPlvWebview = computed(() => {
|
|
2603
|
-
return isPlvWebview.value;
|
|
2604
|
-
});
|
|
2605
|
-
function getPlvWebviewBridge() {
|
|
2606
|
-
return __async(this, null, function* () {
|
|
2607
|
-
if (injectData.getPlvWebviewBridge) {
|
|
2608
|
-
return yield injectData.getPlvWebviewBridge();
|
|
2609
|
-
}
|
|
2610
|
-
});
|
|
2611
|
-
}
|
|
2612
|
-
function toPlvWebviewBridge(options) {
|
|
2613
|
-
return __async(this, null, function* () {
|
|
2614
|
-
if (!supportPlvWebview.value) {
|
|
2615
|
-
return;
|
|
2616
|
-
}
|
|
2617
|
-
let plvWebviewDataSize = {
|
|
2618
|
-
width: 90,
|
|
2619
|
-
height: 160
|
|
2620
|
-
};
|
|
2621
|
-
if (injectData.getPlvWebviewSmallWindowSize) {
|
|
2622
|
-
plvWebviewDataSize = injectData.getPlvWebviewSmallWindowSize();
|
|
2623
|
-
}
|
|
2624
|
-
const webviewBridge = yield getPlvWebviewBridge();
|
|
2625
|
-
if (!webviewBridge) {
|
|
2626
|
-
return;
|
|
2627
|
-
}
|
|
2628
|
-
webviewBridge.sendData("clickProduct", {
|
|
2629
|
-
width: plvWebviewDataSize.width,
|
|
2630
|
-
height: plvWebviewDataSize.height,
|
|
2631
|
-
newPage: true,
|
|
2632
|
-
link: options.link,
|
|
2633
|
-
data: options.data
|
|
2634
|
-
});
|
|
2635
|
-
});
|
|
2636
|
-
}
|
|
2637
|
-
onMounted(() => {
|
|
2638
|
-
if (injectData.isPlvWebview) {
|
|
2639
|
-
isPlvWebview.value = injectData.isPlvWebview();
|
|
2640
|
-
}
|
|
2641
|
-
});
|
|
2642
|
-
return {
|
|
2643
|
-
isPlvWebview,
|
|
2644
|
-
supportPlvWebview,
|
|
2645
|
-
getPlvWebviewBridge,
|
|
2646
|
-
toPlvWebviewBridge
|
|
2758
|
+
toNativeLink: toNativeLink2
|
|
2647
2759
|
};
|
|
2648
2760
|
};
|
|
2649
2761
|
const productButtonProps = () => __spreadProps(__spreadValues({}, productProps()), {
|
|
@@ -2662,12 +2774,12 @@ const useProductButton = (options) => {
|
|
|
2662
2774
|
const { isSoldOut } = useProductStock({
|
|
2663
2775
|
product: () => props.productData
|
|
2664
2776
|
});
|
|
2665
|
-
const { getEmitter } = useGlobalInject();
|
|
2777
|
+
const { getEmitter, injectData } = useGlobalInject();
|
|
2666
2778
|
const { $t } = useI18n();
|
|
2667
2779
|
const productConfig = computed(() => {
|
|
2668
2780
|
return props.productConfig;
|
|
2669
2781
|
});
|
|
2670
|
-
const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram } = useWeixinButton({
|
|
2782
|
+
const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram, supportWxMiniProgramNavigateTo } = useWeixinButton({
|
|
2671
2783
|
getButtonOptions: () => {
|
|
2672
2784
|
const productData = props.productData;
|
|
2673
2785
|
return {
|
|
@@ -2678,10 +2790,9 @@ const useProductButton = (options) => {
|
|
|
2678
2790
|
},
|
|
2679
2791
|
launchCallback: () => sendClickEvent()
|
|
2680
2792
|
});
|
|
2681
|
-
const { supportAppNative
|
|
2682
|
-
const { supportPlvWebview, toPlvWebviewBridge } = usePolyvWebview();
|
|
2793
|
+
const { supportAppNative } = useAppNative();
|
|
2683
2794
|
const { trackEvent } = useTrackEvent(props.productTarget.iarCore);
|
|
2684
|
-
const { ProductBuyType, ProductType
|
|
2795
|
+
const { ProductBuyType, ProductType } = getProductTargetExport(props.productTarget);
|
|
2685
2796
|
const isDirectBuy = computed(() => {
|
|
2686
2797
|
return props.productData.productType === ProductType.Normal && props.productData.buyType === ProductBuyType.DirectBuy;
|
|
2687
2798
|
});
|
|
@@ -2708,13 +2819,13 @@ const useProductButton = (options) => {
|
|
|
2708
2819
|
if (isDirectBuy.value) {
|
|
2709
2820
|
return false;
|
|
2710
2821
|
}
|
|
2711
|
-
if (productData.linkType ===
|
|
2822
|
+
if (productData.linkType === LinkType.Normal) {
|
|
2712
2823
|
return !productData.link;
|
|
2713
2824
|
}
|
|
2714
|
-
if (productData.linkType ===
|
|
2825
|
+
if (productData.linkType === LinkType.MultiPlatform) {
|
|
2715
2826
|
return isMultiPlatformDisabled.value;
|
|
2716
2827
|
}
|
|
2717
|
-
if (productData.linkType ===
|
|
2828
|
+
if (productData.linkType === LinkType.Native) {
|
|
2718
2829
|
if (supportAppNative.value) {
|
|
2719
2830
|
return !productData.androidLink && !productData.iosLink;
|
|
2720
2831
|
}
|
|
@@ -2773,9 +2884,26 @@ const useProductButton = (options) => {
|
|
|
2773
2884
|
}
|
|
2774
2885
|
return concat(url2, urlParams);
|
|
2775
2886
|
}
|
|
2887
|
+
function getLinkData() {
|
|
2888
|
+
const productData = props.productData;
|
|
2889
|
+
const linkData = {
|
|
2890
|
+
linkType: productData.linkType,
|
|
2891
|
+
jumpWay: productData.jumpWay,
|
|
2892
|
+
link: productData.link,
|
|
2893
|
+
pcLink: productData.pcLink,
|
|
2894
|
+
mobileLink: productData.mobileLink,
|
|
2895
|
+
mobileAppLink: productData.mobileAppLink,
|
|
2896
|
+
androidLink: productData.androidLink,
|
|
2897
|
+
iosLink: productData.iosLink,
|
|
2898
|
+
otherLink: productData.otherLink,
|
|
2899
|
+
wxMiniprogramOriginalId: productData.wxMiniprogramOriginalId,
|
|
2900
|
+
wxMiniprogramAppId: productData.wxMiniprogramAppId,
|
|
2901
|
+
wxMiniprogramLink: productData.wxMiniprogramLink
|
|
2902
|
+
};
|
|
2903
|
+
return linkData;
|
|
2904
|
+
}
|
|
2776
2905
|
function onClickLinkBtn() {
|
|
2777
2906
|
const productData = props.productData;
|
|
2778
|
-
const { linkType } = productData;
|
|
2779
2907
|
sendClickEvent();
|
|
2780
2908
|
if (productConfig.value.customClickButtonHandler) {
|
|
2781
2909
|
productConfig.value.customClickButtonHandler(productData);
|
|
@@ -2785,70 +2913,28 @@ const useProductButton = (options) => {
|
|
|
2785
2913
|
toDirectBuy();
|
|
2786
2914
|
return;
|
|
2787
2915
|
}
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
case ProductLinkType.Normal:
|
|
2801
|
-
linkTo = link;
|
|
2802
|
-
break;
|
|
2803
|
-
case ProductLinkType.MultiPlatform:
|
|
2804
|
-
linkTo = mobileAppLink || mobileLink;
|
|
2805
|
-
break;
|
|
2806
|
-
}
|
|
2807
|
-
let otherData = null;
|
|
2808
|
-
if (productData.linkType !== ProductLinkType.Normal) {
|
|
2809
|
-
otherData = {
|
|
2810
|
-
mobileLink: formatProductLink(mobileLink),
|
|
2811
|
-
wxMiniprogramOriginalId,
|
|
2812
|
-
wxMiniprogramLink: formatProductLink(wxMiniprogramLink),
|
|
2813
|
-
mobileAppLink: formatProductLink(mobileAppLink)
|
|
2814
|
-
};
|
|
2815
|
-
}
|
|
2816
|
-
toPlvWebviewBridge({
|
|
2817
|
-
link: formatProductLink(linkTo),
|
|
2818
|
-
data: otherData
|
|
2819
|
-
});
|
|
2820
|
-
return;
|
|
2821
|
-
}
|
|
2822
|
-
if (linkType === ProductLinkType.Normal) {
|
|
2823
|
-
const { link, jumpWay } = productData;
|
|
2824
|
-
openLink(formatProductLink(link), jumpWay);
|
|
2825
|
-
return;
|
|
2826
|
-
}
|
|
2827
|
-
if (linkType === ProductLinkType.MultiPlatform) {
|
|
2828
|
-
const { wxMiniprogramLink, mobileLink, pcLink } = productData;
|
|
2829
|
-
if (isWxMiniProgramWebview.value && wxMiniprogramLink) {
|
|
2830
|
-
toWxMiniProgram(formatProductLink(wxMiniprogramLink));
|
|
2831
|
-
return;
|
|
2832
|
-
}
|
|
2833
|
-
if (isMobile) {
|
|
2834
|
-
openLink(formatProductLink(mobileLink), ProductLinkJumpWay.NewWindow);
|
|
2835
|
-
return;
|
|
2836
|
-
}
|
|
2837
|
-
if (!isMobile) {
|
|
2838
|
-
openLink(formatProductLink(pcLink), ProductLinkJumpWay.NewWindow);
|
|
2839
|
-
return;
|
|
2840
|
-
}
|
|
2841
|
-
}
|
|
2916
|
+
const linkData = getLinkData();
|
|
2917
|
+
navigateToLink({
|
|
2918
|
+
linkData,
|
|
2919
|
+
getLinkParams: productConfig.value.getLinkParams,
|
|
2920
|
+
openLink,
|
|
2921
|
+
isPlvWebview: injectData.isPlvWebview,
|
|
2922
|
+
isMobile: injectData.isMobile,
|
|
2923
|
+
getPlvWebviewBridge: injectData.getPlvWebviewBridge,
|
|
2924
|
+
getPlvWebviewSmallWindowSize: injectData.getPlvWebviewSmallWindowSize,
|
|
2925
|
+
isWxMiniProgramEnv: supportWxMiniProgramNavigateTo,
|
|
2926
|
+
toWxMiniProgram
|
|
2927
|
+
});
|
|
2842
2928
|
}
|
|
2843
2929
|
function openLink(url2, jumpWay) {
|
|
2844
2930
|
switch (jumpWay) {
|
|
2845
|
-
case
|
|
2931
|
+
case LinkJumpWay.NewWindow:
|
|
2846
2932
|
window.open(url2, "_blank", "noopener=yes");
|
|
2847
2933
|
break;
|
|
2848
|
-
case
|
|
2934
|
+
case LinkJumpWay.CurrentWindow:
|
|
2849
2935
|
window.location.href = url2;
|
|
2850
2936
|
break;
|
|
2851
|
-
case
|
|
2937
|
+
case LinkJumpWay.PopUp:
|
|
2852
2938
|
getEmitter().emit(productEvents.OpenProductIframeLinkPopup, url2);
|
|
2853
2939
|
break;
|
|
2854
2940
|
default:
|
|
@@ -2871,7 +2957,7 @@ const useProductButton = (options) => {
|
|
|
2871
2957
|
name: productData.name,
|
|
2872
2958
|
productId: productData.productId,
|
|
2873
2959
|
productType: productData.productType,
|
|
2874
|
-
productPushRule: data == null ? void 0 : data.pushRule
|
|
2960
|
+
productPushRule: (data == null ? void 0 : data.pushRule) || ""
|
|
2875
2961
|
}
|
|
2876
2962
|
});
|
|
2877
2963
|
props.productTarget.sendProductClickEvent({
|
|
@@ -2891,7 +2977,7 @@ const useProductButton = (options) => {
|
|
|
2891
2977
|
onClickLinkBtn
|
|
2892
2978
|
};
|
|
2893
2979
|
};
|
|
2894
|
-
const _sfc_main$
|
|
2980
|
+
const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
2895
2981
|
__name: "product-button",
|
|
2896
2982
|
props: productButtonProps(),
|
|
2897
2983
|
emits: productButtonEmits(),
|
|
@@ -2908,7 +2994,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
2908
2994
|
return { __sfc: true, props, emit, isButtonDisabled, buttonText, isWeixinButton, isPreviewMode, weixinBtnRef, onClickLinkBtn };
|
|
2909
2995
|
}
|
|
2910
2996
|
});
|
|
2911
|
-
var _sfc_render$
|
|
2997
|
+
var _sfc_render$M = function render4() {
|
|
2912
2998
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
2913
2999
|
return _c("div", { staticClass: "plv-product-button", class: {
|
|
2914
3000
|
"is-disabled": _setup.isButtonDisabled
|
|
@@ -2917,13 +3003,13 @@ var _sfc_render$H = function render4() {
|
|
|
2917
3003
|
return _setup.onClickLinkBtn.apply(null, arguments);
|
|
2918
3004
|
} } })] : _vm._e()], 2);
|
|
2919
3005
|
};
|
|
2920
|
-
var _sfc_staticRenderFns$
|
|
2921
|
-
var __component__$
|
|
2922
|
-
_sfc_main$
|
|
2923
|
-
_sfc_render$
|
|
2924
|
-
_sfc_staticRenderFns$
|
|
3006
|
+
var _sfc_staticRenderFns$M = [];
|
|
3007
|
+
var __component__$M = /* @__PURE__ */ normalizeComponent(
|
|
3008
|
+
_sfc_main$M,
|
|
3009
|
+
_sfc_render$M,
|
|
3010
|
+
_sfc_staticRenderFns$M
|
|
2925
3011
|
);
|
|
2926
|
-
const ProductButton = __component__$
|
|
3012
|
+
const ProductButton = __component__$M.exports;
|
|
2927
3013
|
var popperManager;
|
|
2928
3014
|
var hasRequiredPopperManager;
|
|
2929
3015
|
function requirePopperManager() {
|
|
@@ -3642,7 +3728,7 @@ const useDynamicHeight = (options) => {
|
|
|
3642
3728
|
reset
|
|
3643
3729
|
};
|
|
3644
3730
|
};
|
|
3645
|
-
const _sfc_main$
|
|
3731
|
+
const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
3646
3732
|
__name: "index",
|
|
3647
3733
|
props: {
|
|
3648
3734
|
value: PropUtils.bool.def(false),
|
|
@@ -3816,6 +3902,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
3816
3902
|
if (props.fillBody) {
|
|
3817
3903
|
return "90%";
|
|
3818
3904
|
}
|
|
3905
|
+
if (isHorizontalScreenOrientation.value) return document.documentElement.clientHeight;
|
|
3819
3906
|
if (props.enableDynamicHeight) {
|
|
3820
3907
|
return document.documentElement.clientHeight * dynamicContentHeightPercent.value;
|
|
3821
3908
|
}
|
|
@@ -3929,7 +4016,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
3929
4016
|
return { __sfc: true, props, emit, globalInjectData, popupInjectData, isHorizontalScreenOrientation, pageFullscreen, isFullscreen, dynamicContentHeightPercent, handleScroll, resetContentHeight, getOriginAppendTo, popupAppendTo, popupShowModal, getOriginPosition, popupPosition, wrapClass, wrapStyle, headerStyle, bodyWidth, bodyHeight, bodyClass, bodyStyle, wrapVisible, bodyVisible, wrapRef, innerRef, topicPopup, onBodyScroll, open, closeBody, close, onClickMask, back, onAfterLeave, resetScroll, ProductIconClose, ProductIconArrowLeft };
|
|
3930
4017
|
}
|
|
3931
4018
|
});
|
|
3932
|
-
var _sfc_render$
|
|
4019
|
+
var _sfc_render$L = function render5() {
|
|
3933
4020
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
3934
4021
|
return _c("div", { directives: [{ name: "show", rawName: "v-show", value: _setup.wrapVisible, expression: "wrapVisible" }], ref: "wrapRef", staticClass: "plv-product-common-popup", class: _setup.wrapClass, style: _setup.wrapStyle, on: { "click": _setup.onClickMask } }, [_c("transition", { attrs: { "name": "plv-product-common-popup-slide" }, on: { "after-leave": _setup.onAfterLeave } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _setup.bodyVisible, expression: "bodyVisible" }], staticClass: "plv-product-common-popup__body", class: _setup.bodyClass, style: _setup.bodyStyle, on: { "click": function($event) {
|
|
3935
4022
|
$event.stopPropagation();
|
|
@@ -3942,14 +4029,14 @@ var _sfc_render$G = function render5() {
|
|
|
3942
4029
|
})], 2)], 1)];
|
|
3943
4030
|
})] : _vm._e(), _c("div", { staticClass: "plv-product-common-popup__content" }, [_c("div", { ref: "innerRef", staticClass: "plv-product-common-popup__inner", on: { "scroll": _setup.onBodyScroll } }, [_vm._t("default")], 2)])], 2)])], 1);
|
|
3944
4031
|
};
|
|
3945
|
-
var _sfc_staticRenderFns$
|
|
3946
|
-
var __component__$
|
|
3947
|
-
_sfc_main$
|
|
3948
|
-
_sfc_render$
|
|
3949
|
-
_sfc_staticRenderFns$
|
|
4032
|
+
var _sfc_staticRenderFns$L = [];
|
|
4033
|
+
var __component__$L = /* @__PURE__ */ normalizeComponent(
|
|
4034
|
+
_sfc_main$L,
|
|
4035
|
+
_sfc_render$L,
|
|
4036
|
+
_sfc_staticRenderFns$L
|
|
3950
4037
|
);
|
|
3951
|
-
const CommonPopup = __component__$
|
|
3952
|
-
const _sfc_main$
|
|
4038
|
+
const CommonPopup = __component__$L.exports;
|
|
4039
|
+
const _sfc_main$K = /* @__PURE__ */ defineComponent({
|
|
3953
4040
|
__name: "product-iframe-link-popup",
|
|
3954
4041
|
setup(__props) {
|
|
3955
4042
|
const visible = ref(false);
|
|
@@ -3969,19 +4056,19 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
3969
4056
|
return { __sfc: true, visible, url: url2, popupConfig, CommonPopup, productEvents };
|
|
3970
4057
|
}
|
|
3971
4058
|
});
|
|
3972
|
-
var _sfc_render$
|
|
4059
|
+
var _sfc_render$K = function render6() {
|
|
3973
4060
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
3974
4061
|
return _c(_setup.CommonPopup, { attrs: { "popup-config": _setup.popupConfig, "open-event": _setup.productEvents.OpenProductIframeLinkPopup }, model: { value: _setup.visible, callback: function($$v) {
|
|
3975
4062
|
_setup.visible = $$v;
|
|
3976
4063
|
}, expression: "visible" } }, [_c("iframe", { staticStyle: { "width": "100%", "height": "100%" }, attrs: { "src": _setup.url, "frameborder": "0" } })]);
|
|
3977
4064
|
};
|
|
3978
|
-
var _sfc_staticRenderFns$
|
|
3979
|
-
var __component__$
|
|
3980
|
-
_sfc_main$
|
|
3981
|
-
_sfc_render$
|
|
3982
|
-
_sfc_staticRenderFns$
|
|
4065
|
+
var _sfc_staticRenderFns$K = [];
|
|
4066
|
+
var __component__$K = /* @__PURE__ */ normalizeComponent(
|
|
4067
|
+
_sfc_main$K,
|
|
4068
|
+
_sfc_render$K,
|
|
4069
|
+
_sfc_staticRenderFns$K
|
|
3983
4070
|
);
|
|
3984
|
-
const productIframeLinkPopup = __component__$
|
|
4071
|
+
const productIframeLinkPopup = __component__$K.exports;
|
|
3985
4072
|
const useVue = () => {
|
|
3986
4073
|
const instanceVm = getCurrentInstance();
|
|
3987
4074
|
function getInstance() {
|
|
@@ -5503,7 +5590,7 @@ const useFormInput = (options) => {
|
|
|
5503
5590
|
wordLimitText
|
|
5504
5591
|
};
|
|
5505
5592
|
};
|
|
5506
|
-
const _sfc_main$
|
|
5593
|
+
const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
5507
5594
|
__name: "form-input",
|
|
5508
5595
|
props: formInputProps(),
|
|
5509
5596
|
emits: formInputEmits(),
|
|
@@ -5529,7 +5616,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
5529
5616
|
return { __sfc: true, emit, props, value, type: type4, placeholder, maxlength, inputTitle, inputRef, inputClassNames, onInputChanged, onInputBlur, onInputFocus, formInstance, wordLimitText, clearValue, isFocus, ProductIconCloseRoundFill };
|
|
5530
5617
|
}
|
|
5531
5618
|
});
|
|
5532
|
-
var _sfc_render$
|
|
5619
|
+
var _sfc_render$J = function render7() {
|
|
5533
5620
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
5534
5621
|
return _c("div", { staticClass: "plv-product-form-input", class: _setup.inputClassNames }, [_c("div", { staticClass: "plv-product-form-input__main", class: {
|
|
5535
5622
|
"plv-product-form-input__main--has-title": _setup.inputTitle
|
|
@@ -5539,25 +5626,25 @@ var _sfc_render$E = function render7() {
|
|
|
5539
5626
|
return [_vm.suffixText ? _c("span", { staticClass: "plv-product-form-input__suffix-text" }, [_vm._v(" " + _vm._s(_vm.suffixText) + " ")]) : _setup.wordLimitText ? _c("span", { staticClass: "plv-product-form-input__suffix-text" }, [_vm._v(" " + _vm._s(_setup.wordLimitText) + " ")]) : _vm._e()];
|
|
5540
5627
|
})], 2)], 2)]);
|
|
5541
5628
|
};
|
|
5542
|
-
var _sfc_staticRenderFns$
|
|
5543
|
-
var __component__$
|
|
5544
|
-
_sfc_main$
|
|
5545
|
-
_sfc_render$
|
|
5546
|
-
_sfc_staticRenderFns$
|
|
5629
|
+
var _sfc_staticRenderFns$J = [];
|
|
5630
|
+
var __component__$J = /* @__PURE__ */ normalizeComponent(
|
|
5631
|
+
_sfc_main$J,
|
|
5632
|
+
_sfc_render$J,
|
|
5633
|
+
_sfc_staticRenderFns$J
|
|
5547
5634
|
);
|
|
5548
|
-
const FormInput = __component__$
|
|
5549
|
-
const _sfc_main$
|
|
5550
|
-
var _sfc_render$
|
|
5635
|
+
const FormInput = __component__$J.exports;
|
|
5636
|
+
const _sfc_main$I = {};
|
|
5637
|
+
var _sfc_render$I = function render8() {
|
|
5551
5638
|
var _vm = this, _c = _vm._self._c;
|
|
5552
5639
|
return _c("i", { staticClass: "plv-product-c-loading" });
|
|
5553
5640
|
};
|
|
5554
|
-
var _sfc_staticRenderFns$
|
|
5555
|
-
var __component__$
|
|
5556
|
-
_sfc_main$
|
|
5557
|
-
_sfc_render$
|
|
5558
|
-
_sfc_staticRenderFns$
|
|
5641
|
+
var _sfc_staticRenderFns$I = [];
|
|
5642
|
+
var __component__$I = /* @__PURE__ */ normalizeComponent(
|
|
5643
|
+
_sfc_main$I,
|
|
5644
|
+
_sfc_render$I,
|
|
5645
|
+
_sfc_staticRenderFns$I
|
|
5559
5646
|
);
|
|
5560
|
-
const Loading = __component__$
|
|
5647
|
+
const Loading = __component__$I.exports;
|
|
5561
5648
|
var reWhitespace = /\s/;
|
|
5562
5649
|
function trimmedEndIndex(string3) {
|
|
5563
5650
|
var index2 = string3.length;
|
|
@@ -6722,7 +6809,7 @@ const useProductTagPanel = (options) => {
|
|
|
6722
6809
|
expandProductTag
|
|
6723
6810
|
};
|
|
6724
6811
|
};
|
|
6725
|
-
const _sfc_main$
|
|
6812
|
+
const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
6726
6813
|
__name: "product-tag-panel",
|
|
6727
6814
|
props: productTagProps(),
|
|
6728
6815
|
emits: productTagEmits(),
|
|
@@ -6747,7 +6834,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
|
6747
6834
|
return { __sfc: true, props, emit, scrollRef, containerRef, isExpanded, topNProductTags, remainingProductTags, productTagList, instance, onScroll: onScroll2, selectProductTag, expandProductTag, ProductIconArrowDown, isMobile };
|
|
6748
6835
|
}
|
|
6749
6836
|
});
|
|
6750
|
-
var _sfc_render$
|
|
6837
|
+
var _sfc_render$H = function render9() {
|
|
6751
6838
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
6752
6839
|
return _setup.productTagList.length ? _c("div", { staticClass: "plv-product-c-label-panel" }, [_c("div", { ref: "containerRef", staticClass: "plv-product-c-label-list__wrapper" }, [_c("div", { staticClass: "plv-product-c-label-list__inner" }, _vm._l(_setup.topNProductTags, function(item, index2) {
|
|
6753
6840
|
return _c("div", { key: index2, staticClass: "plv-product-c-label-list__item", class: {
|
|
@@ -6768,15 +6855,15 @@ var _sfc_render$C = function render9() {
|
|
|
6768
6855
|
"plv-product-c-label-overlay-pc": !_setup.isMobile
|
|
6769
6856
|
}, on: { "click": _setup.expandProductTag } })])], 1) : _vm._e();
|
|
6770
6857
|
};
|
|
6771
|
-
var _sfc_staticRenderFns$
|
|
6772
|
-
var __component__$
|
|
6773
|
-
_sfc_main$
|
|
6774
|
-
_sfc_render$
|
|
6775
|
-
_sfc_staticRenderFns$
|
|
6858
|
+
var _sfc_staticRenderFns$H = [];
|
|
6859
|
+
var __component__$H = /* @__PURE__ */ normalizeComponent(
|
|
6860
|
+
_sfc_main$H,
|
|
6861
|
+
_sfc_render$H,
|
|
6862
|
+
_sfc_staticRenderFns$H
|
|
6776
6863
|
);
|
|
6777
|
-
const ProductTagPanel = __component__$
|
|
6864
|
+
const ProductTagPanel = __component__$H.exports;
|
|
6778
6865
|
const liveGif = "data:image/gif;base64,R0lGODlhKgAqAKIEAP7//////v3//////////wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzFEQjYxNzBBNjg5MTFFQjhBN0REMjM4Qzk4RDRFMzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzFEQjYxNzFBNjg5MTFFQjhBN0REMjM4Qzk4RDRFMzciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENzE0QTU2QkE2NkUxMUVCOEE3REQyMzhDOThENEUzNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENzE0QTU2Q0E2NkUxMUVCOEE3REQyMzhDOThENEUzNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS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";
|
|
6779
|
-
const _sfc_main$
|
|
6866
|
+
const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
6780
6867
|
__name: "product-explain",
|
|
6781
6868
|
props: {
|
|
6782
6869
|
product: PropUtils.object().isRequired,
|
|
@@ -6795,7 +6882,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
6795
6882
|
return { __sfc: true, props, emit, $t, ProductExplainStatus, onClickExplain, isMobile, liveGif };
|
|
6796
6883
|
}
|
|
6797
6884
|
});
|
|
6798
|
-
var _sfc_render$
|
|
6885
|
+
var _sfc_render$G = function render10() {
|
|
6799
6886
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
6800
6887
|
return _setup.isMobile ? _c("div", { class: { "plv-product-c-explain--no-cover": !_vm.product.cover } }, [_vm.product.explainStatus === _setup.ProductExplainStatus.Explaining ? _c("div", { staticClass: "plv-product-c-explain--explaining", class: {
|
|
6801
6888
|
"plv-product-c-explain--explaining-cover": _vm.product.cover
|
|
@@ -6808,14 +6895,14 @@ var _sfc_render$B = function render10() {
|
|
|
6808
6895
|
"plv-product-c-explain--not-explained-cover": _vm.product.cover
|
|
6809
6896
|
} }, [_c("span", [_vm._v(_vm._s(_setup.$t("product.notExplained")))])])]) : _vm._e();
|
|
6810
6897
|
};
|
|
6811
|
-
var _sfc_staticRenderFns$
|
|
6812
|
-
var __component__$
|
|
6813
|
-
_sfc_main$
|
|
6814
|
-
_sfc_render$
|
|
6815
|
-
_sfc_staticRenderFns$
|
|
6898
|
+
var _sfc_staticRenderFns$G = [];
|
|
6899
|
+
var __component__$G = /* @__PURE__ */ normalizeComponent(
|
|
6900
|
+
_sfc_main$G,
|
|
6901
|
+
_sfc_render$G,
|
|
6902
|
+
_sfc_staticRenderFns$G
|
|
6816
6903
|
);
|
|
6817
|
-
const ProductExplain = __component__$
|
|
6818
|
-
const _sfc_main$
|
|
6904
|
+
const ProductExplain = __component__$G.exports;
|
|
6905
|
+
const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
6819
6906
|
__name: "product-title",
|
|
6820
6907
|
props: {
|
|
6821
6908
|
title: PropUtils.string.def(""),
|
|
@@ -6833,24 +6920,31 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
6833
6920
|
}
|
|
6834
6921
|
function isTitleOverflowing() {
|
|
6835
6922
|
const titleEl = titleRef.value;
|
|
6836
|
-
if (!titleEl)
|
|
6923
|
+
if (!titleEl || !titleEl.parentElement) {
|
|
6924
|
+
return false;
|
|
6925
|
+
}
|
|
6926
|
+
const originalRect = titleEl.getBoundingClientRect();
|
|
6837
6927
|
const clone = titleEl.cloneNode(true);
|
|
6838
|
-
const computedStyle = window.getComputedStyle(titleEl);
|
|
6839
|
-
clone.style.font = computedStyle.font;
|
|
6840
|
-
clone.style.lineHeight = computedStyle.lineHeight;
|
|
6841
|
-
clone.style.display = "block";
|
|
6842
|
-
clone.style.width = titleEl.clientWidth + "px";
|
|
6843
|
-
clone.style.visibility = "hidden";
|
|
6844
6928
|
clone.style.position = "absolute";
|
|
6929
|
+
clone.style.top = "-9999px";
|
|
6930
|
+
clone.style.left = "-9999px";
|
|
6931
|
+
clone.style.visibility = "hidden";
|
|
6932
|
+
clone.style.width = `${originalRect.width}px`;
|
|
6933
|
+
clone.style.boxSizing = "border-box";
|
|
6845
6934
|
clone.style.whiteSpace = "normal";
|
|
6846
|
-
|
|
6847
|
-
|
|
6848
|
-
|
|
6849
|
-
|
|
6935
|
+
clone.style.webkitLineClamp = "unset";
|
|
6936
|
+
clone.style.display = "block";
|
|
6937
|
+
titleEl.parentElement.appendChild(clone);
|
|
6938
|
+
const cloneHeight = clone.getBoundingClientRect().height;
|
|
6939
|
+
titleEl.parentElement.removeChild(clone);
|
|
6940
|
+
return cloneHeight > originalRect.height + 1;
|
|
6850
6941
|
}
|
|
6851
|
-
|
|
6942
|
+
const checkOverflow2 = () => {
|
|
6852
6943
|
moreArrowVisible.value = isTitleOverflowing();
|
|
6853
|
-
}
|
|
6944
|
+
};
|
|
6945
|
+
onMounted(() => {
|
|
6946
|
+
checkOverflow2();
|
|
6947
|
+
});
|
|
6854
6948
|
watch(
|
|
6855
6949
|
() => props.title,
|
|
6856
6950
|
() => {
|
|
@@ -6858,30 +6952,27 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
6858
6952
|
titleRef.value.classList.remove("plv-product-c-item__title--expanded");
|
|
6859
6953
|
}
|
|
6860
6954
|
nextTick$1(() => {
|
|
6861
|
-
|
|
6955
|
+
checkOverflow2();
|
|
6862
6956
|
});
|
|
6863
6957
|
}
|
|
6864
6958
|
);
|
|
6865
|
-
|
|
6866
|
-
checkTitleOverflow();
|
|
6867
|
-
});
|
|
6868
|
-
return { __sfc: true, props, titleRef, moreArrowVisible, handleExpand, isTitleOverflowing, checkTitleOverflow, ProductIconArrowDown };
|
|
6959
|
+
return { __sfc: true, props, titleRef, moreArrowVisible, handleExpand, isTitleOverflowing, checkOverflow: checkOverflow2, ProductIconArrowDown };
|
|
6869
6960
|
}
|
|
6870
6961
|
});
|
|
6871
|
-
var _sfc_render$
|
|
6962
|
+
var _sfc_render$F = function render11() {
|
|
6872
6963
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
6873
6964
|
return _c("div", { staticClass: "plv-product-c-item__title-container" }, [_c("div", { ref: "titleRef", staticClass: "plv-product-c-item__title", class: {
|
|
6874
6965
|
"plv-product-c-item__title--single": _vm.useEllipsis
|
|
6875
6966
|
} }, [_vm._v(" " + _vm._s(_vm.title) + " ")]), _vm.useExpand && _setup.moreArrowVisible ? _c("button", { staticClass: "plv-product-c-item__title-more", on: { "click": _setup.handleExpand } }, [_c(_setup.ProductIconArrowDown, { staticClass: "plv-product-c-item__title-more-icon" })], 1) : _vm._e()]);
|
|
6876
6967
|
};
|
|
6877
|
-
var _sfc_staticRenderFns$
|
|
6878
|
-
var __component__$
|
|
6879
|
-
_sfc_main$
|
|
6880
|
-
_sfc_render$
|
|
6881
|
-
_sfc_staticRenderFns$
|
|
6968
|
+
var _sfc_staticRenderFns$F = [];
|
|
6969
|
+
var __component__$F = /* @__PURE__ */ normalizeComponent(
|
|
6970
|
+
_sfc_main$F,
|
|
6971
|
+
_sfc_render$F,
|
|
6972
|
+
_sfc_staticRenderFns$F
|
|
6882
6973
|
);
|
|
6883
|
-
const ProductTitle = __component__$
|
|
6884
|
-
const _sfc_main$
|
|
6974
|
+
const ProductTitle = __component__$F.exports;
|
|
6975
|
+
const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
6885
6976
|
__name: "product-feature-tag",
|
|
6886
6977
|
props: {
|
|
6887
6978
|
tag: PropUtils.string.def(""),
|
|
@@ -6895,19 +6986,19 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
|
6895
6986
|
return { __sfc: true, props, containerStyle };
|
|
6896
6987
|
}
|
|
6897
6988
|
});
|
|
6898
|
-
var _sfc_render$
|
|
6989
|
+
var _sfc_render$E = function render12() {
|
|
6899
6990
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
6900
6991
|
return _c("div", { staticClass: "plv-product-c-item__tag-container", style: _setup.containerStyle, attrs: { "title": _vm.tag } }, [_vm.tag ? _c("span", { staticClass: "plv-product-c-item__tag" }, [_vm._v(_vm._s(_vm.tag))]) : _vm._e()]);
|
|
6901
6992
|
};
|
|
6902
|
-
var _sfc_staticRenderFns$
|
|
6903
|
-
var __component__$
|
|
6904
|
-
_sfc_main$
|
|
6905
|
-
_sfc_render$
|
|
6906
|
-
_sfc_staticRenderFns$
|
|
6907
|
-
);
|
|
6908
|
-
const ProductFeatureTag = __component__$
|
|
6909
|
-
const _sfc_main$
|
|
6910
|
-
__name: "product-price",
|
|
6993
|
+
var _sfc_staticRenderFns$E = [];
|
|
6994
|
+
var __component__$E = /* @__PURE__ */ normalizeComponent(
|
|
6995
|
+
_sfc_main$E,
|
|
6996
|
+
_sfc_render$E,
|
|
6997
|
+
_sfc_staticRenderFns$E
|
|
6998
|
+
);
|
|
6999
|
+
const ProductFeatureTag = __component__$E.exports;
|
|
7000
|
+
const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
7001
|
+
__name: "product-price",
|
|
6911
7002
|
props: {
|
|
6912
7003
|
product: PropUtils.object()
|
|
6913
7004
|
},
|
|
@@ -6940,22 +7031,143 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
6940
7031
|
return { __sfc: true, props, $t, ProductType, ProductPriceType, isFreeProduct, hiddenPriceMarks, displayPrice };
|
|
6941
7032
|
}
|
|
6942
7033
|
});
|
|
6943
|
-
var _sfc_render$
|
|
7034
|
+
var _sfc_render$D = function render13() {
|
|
6944
7035
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
6945
7036
|
return _vm.product ? _c("div", { staticClass: "plv-product-c-item__price-area" }, [_vm.product.productType === _setup.ProductType.Normal ? [_c("span", { staticClass: "plv-product-c-item__price" }, [!_setup.isFreeProduct && _vm.product.priceType === _setup.ProductPriceType.Amount ? _c("span", { staticClass: "plv-product-c-item__price-symbol" }, [_vm._v("¥")]) : _vm._e(), _vm.product.priceVisible || _setup.isFreeProduct ? _c("span", [_vm.product.priceType === _setup.ProductPriceType.Custom ? _c("span", { staticClass: "plv-product-c-item__price-custom" }, [_vm._v(_vm._s(_vm.product.customPrice))]) : _c("span", { staticClass: "plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.displayPrice))])]) : [_c("span", { staticClass: "plv-product-c-item__price-placeholder plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.hiddenPriceMarks))]), _c("span", { staticClass: "plv-product-c-item__placeholder-text plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.$t("product.price.hidden")))])]], 2), _vm.product.originPrice ? _c("span", { staticClass: "plv-product-c-item__original-price" }, [_vm._v("¥" + _vm._s(_vm.product.originPrice))]) : _vm._e()] : _vm._e(), _vm.product.productType === _setup.ProductType.Finance ? [_c("div", { staticClass: "plv-product-c-item__price-finance" }, [_vm._v(" " + _vm._s(_vm.product.yield) + " ")])] : _vm._e(), _vm.product.productType === _setup.ProductType.Position ? [_c("div", { staticClass: "plv-product-c-item__price-finance" }, [_vm._v(" " + _vm._s(_vm.product.treatment) + " ")])] : _vm._e()], 2) : _vm._e();
|
|
6946
7037
|
};
|
|
6947
|
-
var _sfc_staticRenderFns$
|
|
6948
|
-
var __component__$
|
|
6949
|
-
_sfc_main$
|
|
6950
|
-
_sfc_render$
|
|
6951
|
-
_sfc_staticRenderFns$
|
|
7038
|
+
var _sfc_staticRenderFns$D = [];
|
|
7039
|
+
var __component__$D = /* @__PURE__ */ normalizeComponent(
|
|
7040
|
+
_sfc_main$D,
|
|
7041
|
+
_sfc_render$D,
|
|
7042
|
+
_sfc_staticRenderFns$D
|
|
6952
7043
|
);
|
|
6953
|
-
const ProductPrice = __component__$
|
|
7044
|
+
const ProductPrice = __component__$D.exports;
|
|
7045
|
+
var ProductItemScene = /* @__PURE__ */ ((ProductItemScene2) => {
|
|
7046
|
+
ProductItemScene2["ProductList"] = "productList";
|
|
7047
|
+
ProductItemScene2["BigCard"] = "bigCard";
|
|
7048
|
+
ProductItemScene2["AggregateStation"] = "aggregateStation";
|
|
7049
|
+
return ProductItemScene2;
|
|
7050
|
+
})(ProductItemScene || {});
|
|
7051
|
+
const useProductTrack = (options) => {
|
|
7052
|
+
const { productTarget } = options;
|
|
7053
|
+
const { ProductType } = getProductTargetExport(productTarget);
|
|
7054
|
+
const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
|
|
7055
|
+
const trackedProductIds = ref({});
|
|
7056
|
+
const productListRef = ref(null);
|
|
7057
|
+
const productItemsRef = shallowRef([]);
|
|
7058
|
+
function setItemRef(el) {
|
|
7059
|
+
if (el) {
|
|
7060
|
+
productItemsRef.value.push(el);
|
|
7061
|
+
}
|
|
7062
|
+
}
|
|
7063
|
+
function trackProductViewEvent(productData) {
|
|
7064
|
+
const specAttrs = {
|
|
7065
|
+
name: productData.name,
|
|
7066
|
+
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
|
|
7067
|
+
productId: productData.productId,
|
|
7068
|
+
productType: productData.productType,
|
|
7069
|
+
productFeature: JSON.stringify(productData.featureTags)
|
|
7070
|
+
};
|
|
7071
|
+
if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
|
|
7072
|
+
specAttrs.price = productData.originPrice;
|
|
7073
|
+
}
|
|
7074
|
+
trackEvent({
|
|
7075
|
+
event_id: "product_list_item_view",
|
|
7076
|
+
event_type: "show",
|
|
7077
|
+
spec_attrs: specAttrs
|
|
7078
|
+
});
|
|
7079
|
+
}
|
|
7080
|
+
function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
|
|
7081
|
+
const offsetTop = element.offsetTop;
|
|
7082
|
+
const offsetHeight = element.offsetHeight;
|
|
7083
|
+
const elementBottom = offsetTop + offsetHeight;
|
|
7084
|
+
const isFullyAbove = elementBottom <= containerScrollTop;
|
|
7085
|
+
const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
|
|
7086
|
+
return !isFullyAbove && !isBottomBelowViewportBottom;
|
|
7087
|
+
}
|
|
7088
|
+
function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
|
|
7089
|
+
if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
|
|
7090
|
+
return;
|
|
7091
|
+
}
|
|
7092
|
+
const element = itemInstance.$el;
|
|
7093
|
+
const productId = itemInstance.product.productId;
|
|
7094
|
+
const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
|
|
7095
|
+
if (isVisible && !trackedProductIds.value[productId]) {
|
|
7096
|
+
trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
|
|
7097
|
+
trackProductViewEvent(itemInstance.product);
|
|
7098
|
+
}
|
|
7099
|
+
}
|
|
7100
|
+
function trackProduct() {
|
|
7101
|
+
return __async(this, null, function* () {
|
|
7102
|
+
yield nextTick$1();
|
|
7103
|
+
const container = productListRef.value;
|
|
7104
|
+
if (!container || !productItemsRef.value.length) return;
|
|
7105
|
+
const scrollTop = container.scrollTop;
|
|
7106
|
+
const scrollClientHeight = container.clientHeight;
|
|
7107
|
+
const viewportBottom = scrollTop + scrollClientHeight;
|
|
7108
|
+
productItemsRef.value.forEach((itemInstance) => {
|
|
7109
|
+
checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
|
|
7110
|
+
});
|
|
7111
|
+
});
|
|
7112
|
+
}
|
|
7113
|
+
function clearTrackedProducts() {
|
|
7114
|
+
trackedProductIds.value = {};
|
|
7115
|
+
productItemsRef.value = [];
|
|
7116
|
+
}
|
|
7117
|
+
function getCommonSpecAttrs(productData) {
|
|
7118
|
+
return {
|
|
7119
|
+
clickTime: (/* @__PURE__ */ new Date()).getTime(),
|
|
7120
|
+
linkType: isMobile ? "mobile" : "pc",
|
|
7121
|
+
productName: productData.name,
|
|
7122
|
+
productId: productData.productId,
|
|
7123
|
+
productType: productData.productType,
|
|
7124
|
+
feature: JSON.stringify(productData.featureTags),
|
|
7125
|
+
price: productData.productType === ProductType.Normal ? productData.originPrice : "",
|
|
7126
|
+
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : ""
|
|
7127
|
+
};
|
|
7128
|
+
}
|
|
7129
|
+
function trackProductItemClick(productData) {
|
|
7130
|
+
trackEvent({
|
|
7131
|
+
event_id: "product_list_item_click",
|
|
7132
|
+
event_type: "click",
|
|
7133
|
+
spec_attrs: __spreadValues({}, getCommonSpecAttrs(productData))
|
|
7134
|
+
});
|
|
7135
|
+
}
|
|
7136
|
+
function trackProductPushItemClick(productData) {
|
|
7137
|
+
trackEvent({
|
|
7138
|
+
event_id: "product_push_item_click",
|
|
7139
|
+
event_type: "click",
|
|
7140
|
+
spec_attrs: __spreadProps(__spreadValues({}, getCommonSpecAttrs(productData)), {
|
|
7141
|
+
pushId: productData.pushLogId || ""
|
|
7142
|
+
})
|
|
7143
|
+
});
|
|
7144
|
+
}
|
|
7145
|
+
function trackProductPushItemView(productData) {
|
|
7146
|
+
trackEvent({
|
|
7147
|
+
event_id: "product_push_item_view",
|
|
7148
|
+
event_type: "show",
|
|
7149
|
+
spec_attrs: {
|
|
7150
|
+
linkType: isMobile ? "mobile" : "pc",
|
|
7151
|
+
productId: productData.productId,
|
|
7152
|
+
pushId: productData.pushLogId || ""
|
|
7153
|
+
}
|
|
7154
|
+
});
|
|
7155
|
+
}
|
|
7156
|
+
return {
|
|
7157
|
+
productListRef,
|
|
7158
|
+
setItemRef,
|
|
7159
|
+
trackProduct,
|
|
7160
|
+
clearTrackedProducts,
|
|
7161
|
+
trackProductItemClick,
|
|
7162
|
+
trackProductPushItemClick,
|
|
7163
|
+
trackProductPushItemView
|
|
7164
|
+
};
|
|
7165
|
+
};
|
|
6954
7166
|
const productItemProps = () => __spreadProps(__spreadValues({}, productProps()), {
|
|
6955
|
-
product: PropUtils.object().isRequired
|
|
7167
|
+
product: PropUtils.object().isRequired,
|
|
7168
|
+
scene: PropUtils.enum()
|
|
6956
7169
|
});
|
|
6957
7170
|
const productItemEmits = () => ({
|
|
6958
|
-
"click-explain": emitFunc(),
|
|
6959
7171
|
"click-product-item": emitFunc(),
|
|
6960
7172
|
"direct-buy": emitFunc()
|
|
6961
7173
|
});
|
|
@@ -6963,20 +7175,14 @@ const useProductItem = (options) => {
|
|
|
6963
7175
|
const { props, emit } = options;
|
|
6964
7176
|
const { ProductType, ProductBuyType } = getProductTargetExport(props.productTarget);
|
|
6965
7177
|
const { getEmitter } = useGlobalInject();
|
|
6966
|
-
const productExplainEnabled =
|
|
7178
|
+
const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
|
|
7179
|
+
const { trackProductItemClick, trackProductPushItemClick } = useProductTrack({ productTarget: props.productTarget });
|
|
6967
7180
|
const isProductRedirectLinkDirectly = ref(false);
|
|
6968
7181
|
const shouldEllipsisTitle = computed(() => {
|
|
6969
7182
|
const { product } = props;
|
|
6970
7183
|
return !!(product.name && product.featureTags.length && (product.description && product.productType !== ProductType.Position));
|
|
6971
7184
|
});
|
|
6972
|
-
function
|
|
6973
|
-
return __async(this, null, function* () {
|
|
6974
|
-
if (!props.productTarget) return;
|
|
6975
|
-
const enabled = yield props.productTarget.getProductExplainEnabled();
|
|
6976
|
-
productExplainEnabled.value = enabled;
|
|
6977
|
-
});
|
|
6978
|
-
}
|
|
6979
|
-
function setIsProductRedirectLinkDirectly() {
|
|
7185
|
+
function getIsProductRedirectLinkDirectly() {
|
|
6980
7186
|
return __async(this, null, function* () {
|
|
6981
7187
|
const { product, productTarget } = props;
|
|
6982
7188
|
if (!product || !productTarget) return false;
|
|
@@ -6984,11 +7190,13 @@ const useProductItem = (options) => {
|
|
|
6984
7190
|
isProductRedirectLinkDirectly.value = product.productType === ProductType.Normal && product.buyType === ProductBuyType.Link && enabled;
|
|
6985
7191
|
});
|
|
6986
7192
|
}
|
|
6987
|
-
function onClickExplain(product) {
|
|
6988
|
-
emit("click-explain", product);
|
|
6989
|
-
}
|
|
6990
7193
|
function onClickProductItem() {
|
|
6991
7194
|
emit("click-product-item", props.product);
|
|
7195
|
+
if (props.scene === ProductItemScene.BigCard) {
|
|
7196
|
+
trackProductPushItemClick(props.product);
|
|
7197
|
+
} else {
|
|
7198
|
+
trackProductItemClick(props.product);
|
|
7199
|
+
}
|
|
6992
7200
|
if (props.product.productType !== ProductType.Finance) {
|
|
6993
7201
|
getEmitter().emit(productEvents.OpenProductDetailPopup, props.product);
|
|
6994
7202
|
}
|
|
@@ -6996,22 +7204,19 @@ const useProductItem = (options) => {
|
|
|
6996
7204
|
function onDirectBuy(product) {
|
|
6997
7205
|
emit("direct-buy", product);
|
|
6998
7206
|
}
|
|
6999
|
-
onMounted(() => {
|
|
7000
|
-
setProductExplainEnabled();
|
|
7001
|
-
});
|
|
7002
7207
|
watchEffect(() => {
|
|
7003
|
-
|
|
7208
|
+
getIsProductRedirectLinkDirectly();
|
|
7004
7209
|
});
|
|
7005
7210
|
return {
|
|
7006
7211
|
productExplainEnabled,
|
|
7007
7212
|
isProductRedirectLinkDirectly,
|
|
7008
7213
|
shouldEllipsisTitle,
|
|
7009
7214
|
onDirectBuy,
|
|
7010
|
-
|
|
7215
|
+
handleClickExplain,
|
|
7011
7216
|
onClickProductItem
|
|
7012
7217
|
};
|
|
7013
7218
|
};
|
|
7014
|
-
const _sfc_main$
|
|
7219
|
+
const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
7015
7220
|
__name: "product-item",
|
|
7016
7221
|
props: productItemProps(),
|
|
7017
7222
|
emits: productItemEmits(),
|
|
@@ -7027,121 +7232,48 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
7027
7232
|
isProductRedirectLinkDirectly,
|
|
7028
7233
|
shouldEllipsisTitle,
|
|
7029
7234
|
onDirectBuy,
|
|
7030
|
-
|
|
7031
|
-
|
|
7235
|
+
onClickProductItem,
|
|
7236
|
+
handleClickExplain
|
|
7032
7237
|
} = useProductItem({
|
|
7033
7238
|
props,
|
|
7034
7239
|
emit
|
|
7035
7240
|
});
|
|
7036
|
-
return { __sfc: true, props, emit, ProductExplainStatus, $t, isSoldOut, productExplainEnabled, isProductRedirectLinkDirectly, shouldEllipsisTitle, onDirectBuy,
|
|
7241
|
+
return { __sfc: true, props, emit, ProductExplainStatus, $t, isSoldOut, productExplainEnabled, isProductRedirectLinkDirectly, shouldEllipsisTitle, onDirectBuy, onClickProductItem, handleClickExplain, ProductExplain, ProductTitle, ProductFeatureTag, ProductPrice, ProductButton, ossCompress, ProductItemScene };
|
|
7037
7242
|
}
|
|
7038
7243
|
});
|
|
7039
|
-
var _sfc_render$
|
|
7244
|
+
var _sfc_render$C = function render14() {
|
|
7040
7245
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
7041
|
-
return _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig, "disabled": !_setup.isProductRedirectLinkDirectly } }, [_c("div", { class: ["plv-product-item", { "plv-product-item-no-cover": !_vm.product.cover, "plv-product-item--topping": _vm.product.isTopping }], on: { "click": _setup.onClickProductItem } }, [_vm.product.cover ? _c("div", { staticClass: "plv-product-item__cover-area" }, [_c("img", { staticClass: "plv-product-item__cover", attrs: { "src": _setup.ossCompress(_vm.product.cover, { width: 300 }), "alt": _vm.product.name } }), _setup.isSoldOut ? _c("div", { staticClass: "plv-product-item__cover-stock" }, [_vm._v(" - " + _vm._s(_setup.$t("product.stock.soldOut")) + " - ")]) : _vm._e(), _vm.product.displayNumber ? _c("div", { staticClass: "plv-product-item__ranking plv-product-item__ranking--cover plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.
|
|
7246
|
+
return _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig, "disabled": !_setup.isProductRedirectLinkDirectly } }, [_c("div", { class: ["plv-product-item", { "plv-product-item-no-cover": !_vm.product.cover, "plv-product-item--topping": _vm.product.isTopping }], on: { "click": _setup.onClickProductItem } }, [_vm.product.cover ? _c("div", { staticClass: "plv-product-item__cover-area" }, [_c("img", { staticClass: "plv-product-item__cover", attrs: { "src": _setup.ossCompress(_vm.product.cover, { width: 300 }), "alt": _vm.product.name } }), _setup.isSoldOut ? _c("div", { staticClass: "plv-product-item__cover-stock" }, [_vm._v(" - " + _vm._s(_setup.$t("product.stock.soldOut")) + " - ")]) : _vm._e(), _vm.product.displayNumber ? _c("div", { staticClass: "plv-product-item__ranking plv-product-item__ranking--cover plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e()], 1) : _vm._e(), _c("div", { staticClass: "plv-product-item__content" }, [_c("div", { staticClass: "plv-product-item__title-area" }, [_vm.product.displayNumber && !_vm.product.cover ? _c("div", { staticClass: "plv-product-item__ranking plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled && !_vm.product.cover && _vm.product.explainStatus !== _setup.ProductExplainStatus.Explained ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e(), _c(_setup.ProductTitle, { attrs: { "title": _vm.product.name, "use-ellipsis": _setup.shouldEllipsisTitle } })], 1), _c("div", { staticClass: "plv-product-item__tags" }, _vm._l(_vm.product.featureTags, function(tag, index2) {
|
|
7042
7247
|
return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
|
|
7043
|
-
}), 1), _vm.product.description ? _c("p", { staticClass: "plv-product-item__description" }, [_vm._v(" " + _vm._s(_vm.product.description) + " ")]) : _vm._e(), _c("div", { staticClass: "plv-product-item__footer" }, [_c(_setup.ProductPrice, { attrs: { "product": _vm.product } }), _setup.productExplainEnabled && _vm.product.explainStatus === _setup.ProductExplainStatus.Explained && !_vm.product.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explained--no-cover", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.
|
|
7248
|
+
}), 1), _vm.product.description ? _c("p", { staticClass: "plv-product-item__description" }, [_vm._v(" " + _vm._s(_vm.product.description) + " ")]) : _vm._e(), _c("div", { staticClass: "plv-product-item__footer" }, [_c(_setup.ProductPrice, { attrs: { "product": _vm.product } }), _setup.productExplainEnabled && _vm.product.explainStatus === _setup.ProductExplainStatus.Explained && !_vm.product.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explained--no-cover", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e(), _vm.scene !== _setup.ProductItemScene.BigCard ? _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.onDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
|
|
7044
7249
|
return [_c("button", { staticClass: "plv-product-item__buy-button", class: { "plv-product-item__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
|
|
7045
|
-
} }]) })], 1)])])]);
|
|
7250
|
+
} }], null, false, 477326030) }) : _vm._e()], 1)])])]);
|
|
7046
7251
|
};
|
|
7047
|
-
var _sfc_staticRenderFns$
|
|
7048
|
-
var __component__$
|
|
7049
|
-
_sfc_main$
|
|
7050
|
-
_sfc_render$
|
|
7051
|
-
_sfc_staticRenderFns$
|
|
7252
|
+
var _sfc_staticRenderFns$C = [];
|
|
7253
|
+
var __component__$C = /* @__PURE__ */ normalizeComponent(
|
|
7254
|
+
_sfc_main$C,
|
|
7255
|
+
_sfc_render$C,
|
|
7256
|
+
_sfc_staticRenderFns$C
|
|
7052
7257
|
);
|
|
7053
|
-
const ProductItem = __component__$
|
|
7054
|
-
const _sfc_main$
|
|
7258
|
+
const ProductItem = __component__$C.exports;
|
|
7259
|
+
const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
7055
7260
|
__name: "product-empty",
|
|
7056
7261
|
setup(__props) {
|
|
7057
7262
|
const { $t } = useI18n();
|
|
7058
7263
|
return { __sfc: true, $t, ProductIconSearchEmpty };
|
|
7059
7264
|
}
|
|
7060
7265
|
});
|
|
7061
|
-
var _sfc_render$
|
|
7266
|
+
var _sfc_render$B = function render15() {
|
|
7062
7267
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
7063
7268
|
return _c("div", { staticClass: "plv-product-list-empty" }, [_c(_setup.ProductIconSearchEmpty, { staticClass: "plv-product-list-empty__icon" }), _c("div", { staticClass: "plv-product-list-empty__text" }, [_vm._v(" " + _vm._s(_setup.$t("product.empty")) + " ")])], 1);
|
|
7064
7269
|
};
|
|
7065
|
-
var _sfc_staticRenderFns$
|
|
7066
|
-
var __component__$
|
|
7067
|
-
_sfc_main$
|
|
7068
|
-
_sfc_render$
|
|
7069
|
-
_sfc_staticRenderFns$
|
|
7270
|
+
var _sfc_staticRenderFns$B = [];
|
|
7271
|
+
var __component__$B = /* @__PURE__ */ normalizeComponent(
|
|
7272
|
+
_sfc_main$B,
|
|
7273
|
+
_sfc_render$B,
|
|
7274
|
+
_sfc_staticRenderFns$B
|
|
7070
7275
|
);
|
|
7071
|
-
const ProductEmpty = __component__$
|
|
7072
|
-
const useProductTrack = (options) => {
|
|
7073
|
-
const { productTarget, ProductType } = options;
|
|
7074
|
-
const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
|
|
7075
|
-
const trackedProductIds = ref({});
|
|
7076
|
-
const productListRef = ref(null);
|
|
7077
|
-
const productItemsRef = shallowRef([]);
|
|
7078
|
-
function setItemRef(el) {
|
|
7079
|
-
if (el) {
|
|
7080
|
-
productItemsRef.value.push(el);
|
|
7081
|
-
}
|
|
7082
|
-
}
|
|
7083
|
-
function trackProductViewEvent(productData) {
|
|
7084
|
-
const specAttrs = {
|
|
7085
|
-
exposureTime: (/* @__PURE__ */ new Date()).getTime(),
|
|
7086
|
-
name: productData.name,
|
|
7087
|
-
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
|
|
7088
|
-
productId: productData.productId,
|
|
7089
|
-
productType: productData.productType,
|
|
7090
|
-
productFeature: JSON.stringify(productData.featureTags)
|
|
7091
|
-
};
|
|
7092
|
-
if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
|
|
7093
|
-
specAttrs.price = productData.originPrice;
|
|
7094
|
-
}
|
|
7095
|
-
trackEvent({
|
|
7096
|
-
event_id: "product_list_item_view",
|
|
7097
|
-
event_type: "show",
|
|
7098
|
-
spec_attrs: specAttrs
|
|
7099
|
-
});
|
|
7100
|
-
}
|
|
7101
|
-
function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
|
|
7102
|
-
const offsetTop = element.offsetTop;
|
|
7103
|
-
const offsetHeight = element.offsetHeight;
|
|
7104
|
-
const elementBottom = offsetTop + offsetHeight;
|
|
7105
|
-
const isFullyAbove = elementBottom <= containerScrollTop;
|
|
7106
|
-
const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
|
|
7107
|
-
return !isFullyAbove && !isBottomBelowViewportBottom;
|
|
7108
|
-
}
|
|
7109
|
-
function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
|
|
7110
|
-
if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
|
|
7111
|
-
return;
|
|
7112
|
-
}
|
|
7113
|
-
const element = itemInstance.$el;
|
|
7114
|
-
const productId = itemInstance.product.productId;
|
|
7115
|
-
const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
|
|
7116
|
-
if (isVisible && !trackedProductIds.value[productId]) {
|
|
7117
|
-
trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
|
|
7118
|
-
trackProductViewEvent(itemInstance.product);
|
|
7119
|
-
}
|
|
7120
|
-
}
|
|
7121
|
-
function trackProduct() {
|
|
7122
|
-
return __async(this, null, function* () {
|
|
7123
|
-
yield nextTick$1();
|
|
7124
|
-
const container = productListRef.value;
|
|
7125
|
-
if (!container || !productItemsRef.value.length) return;
|
|
7126
|
-
const scrollTop = container.scrollTop;
|
|
7127
|
-
const scrollClientHeight = container.clientHeight;
|
|
7128
|
-
const viewportBottom = scrollTop + scrollClientHeight;
|
|
7129
|
-
productItemsRef.value.forEach((itemInstance) => {
|
|
7130
|
-
checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
|
|
7131
|
-
});
|
|
7132
|
-
});
|
|
7133
|
-
}
|
|
7134
|
-
function clearTrackedProducts() {
|
|
7135
|
-
trackedProductIds.value = {};
|
|
7136
|
-
productItemsRef.value = [];
|
|
7137
|
-
}
|
|
7138
|
-
return {
|
|
7139
|
-
productListRef,
|
|
7140
|
-
setItemRef,
|
|
7141
|
-
trackProduct,
|
|
7142
|
-
clearTrackedProducts
|
|
7143
|
-
};
|
|
7144
|
-
};
|
|
7276
|
+
const ProductEmpty = __component__$B.exports;
|
|
7145
7277
|
const useTargetEventEmitter = (eventEmitter, listeners) => {
|
|
7146
7278
|
onMounted(() => {
|
|
7147
7279
|
if (!eventEmitter) return;
|
|
@@ -7164,7 +7296,7 @@ const useProductList = (options) => {
|
|
|
7164
7296
|
const { props } = options;
|
|
7165
7297
|
const { getEmitter } = useGlobalInject();
|
|
7166
7298
|
const { ProductStatus, ProductType, ProductEvents } = getProductTargetExport(props.productTarget);
|
|
7167
|
-
const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget
|
|
7299
|
+
const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget });
|
|
7168
7300
|
const { isSupportPay, getPayProviders } = usePayment({ props });
|
|
7169
7301
|
const pageNumber = ref(1);
|
|
7170
7302
|
const pageSize = ref(10);
|
|
@@ -7275,18 +7407,6 @@ const useProductList = (options) => {
|
|
|
7275
7407
|
}
|
|
7276
7408
|
});
|
|
7277
7409
|
}
|
|
7278
|
-
function handleClickExplain(product) {
|
|
7279
|
-
return __async(this, null, function* () {
|
|
7280
|
-
if (typeof props.productConfig.customClickExplainHandler === "function") {
|
|
7281
|
-
props.productConfig.customClickExplainHandler(product);
|
|
7282
|
-
return;
|
|
7283
|
-
}
|
|
7284
|
-
const url2 = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
|
|
7285
|
-
if (url2) {
|
|
7286
|
-
window.open(url2, "_blank");
|
|
7287
|
-
}
|
|
7288
|
-
});
|
|
7289
|
-
}
|
|
7290
7410
|
function getProductOrderEnabled() {
|
|
7291
7411
|
return __async(this, null, function* () {
|
|
7292
7412
|
if (!props.productTarget) return;
|
|
@@ -7332,10 +7452,24 @@ const useProductList = (options) => {
|
|
|
7332
7452
|
const productTarget = props.productTarget;
|
|
7333
7453
|
if (!productTarget) return;
|
|
7334
7454
|
const ProductEvents2 = productTarget.ProductEvents;
|
|
7455
|
+
productTarget.eventEmitter.on(ProductEvents2.OnSaleProduct, refreshProductList);
|
|
7456
|
+
productTarget.eventEmitter.on(ProductEvents2.OffSaleProduct, refreshProductList);
|
|
7457
|
+
productTarget.eventEmitter.on(ProductEvents2.DeleteProduct, refreshProductList);
|
|
7458
|
+
productTarget.eventEmitter.on(ProductEvents2.AddProduct, refreshProductList);
|
|
7459
|
+
productTarget.eventEmitter.on(ProductEvents2.ChangeProduct, refreshProductList);
|
|
7460
|
+
productTarget.eventEmitter.on(ProductEvents2.MoveProduct, refreshProductList);
|
|
7461
|
+
productTarget.eventEmitter.on(ProductEvents2.ChangeProductRank, refreshProductList);
|
|
7335
7462
|
productTarget.eventEmitter.on(ProductEvents2.RefreshProductList, refreshProductList);
|
|
7336
7463
|
}
|
|
7337
7464
|
function unbindProductEvent() {
|
|
7338
7465
|
const ProductEvents2 = props.productTarget.ProductEvents;
|
|
7466
|
+
props.productTarget.eventEmitter.off(ProductEvents2.OnSaleProduct, refreshProductList);
|
|
7467
|
+
props.productTarget.eventEmitter.off(ProductEvents2.OffSaleProduct, refreshProductList);
|
|
7468
|
+
props.productTarget.eventEmitter.off(ProductEvents2.DeleteProduct, refreshProductList);
|
|
7469
|
+
props.productTarget.eventEmitter.off(ProductEvents2.AddProduct, refreshProductList);
|
|
7470
|
+
props.productTarget.eventEmitter.off(ProductEvents2.ChangeProduct, refreshProductList);
|
|
7471
|
+
props.productTarget.eventEmitter.off(ProductEvents2.MoveProduct, refreshProductList);
|
|
7472
|
+
props.productTarget.eventEmitter.off(ProductEvents2.ChangeProductRank, refreshProductList);
|
|
7339
7473
|
props.productTarget.eventEmitter.off(ProductEvents2.RefreshProductList, refreshProductList);
|
|
7340
7474
|
}
|
|
7341
7475
|
function init() {
|
|
@@ -7410,11 +7544,10 @@ const useProductList = (options) => {
|
|
|
7410
7544
|
productList,
|
|
7411
7545
|
toppingProduct,
|
|
7412
7546
|
onScroll: onScroll2,
|
|
7413
|
-
handleClickExplain,
|
|
7414
7547
|
openOrderList
|
|
7415
7548
|
};
|
|
7416
7549
|
};
|
|
7417
|
-
const _sfc_main$
|
|
7550
|
+
const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
7418
7551
|
__name: "product-list",
|
|
7419
7552
|
props: productListProps(),
|
|
7420
7553
|
setup(__props, { expose }) {
|
|
@@ -7446,30 +7579,29 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
7446
7579
|
productTotal,
|
|
7447
7580
|
orderEntranceVisible,
|
|
7448
7581
|
onScroll: onScroll2,
|
|
7449
|
-
handleClickExplain,
|
|
7450
7582
|
openOrderList
|
|
7451
7583
|
} = useProductList({ props });
|
|
7452
7584
|
expose(instance);
|
|
7453
|
-
return { __sfc: true, props, $t, closeProductListPopup, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, instance, productListRef, productTagPanelRef, setItemRef, initialLoading, searchKeyword, activeTagId, isSearchMode, isLoading, productList, productTotal, orderEntranceVisible, onScroll: onScroll2,
|
|
7585
|
+
return { __sfc: true, props, $t, closeProductListPopup, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, instance, productListRef, productTagPanelRef, setItemRef, initialLoading, searchKeyword, activeTagId, isSearchMode, isLoading, productList, productTotal, orderEntranceVisible, onScroll: onScroll2, openOrderList, FormInput, FormTheme, Loading, ProductIconClose, ProductIconOrderEnter, ProductIconSearch, ProductIconProduct, ProductTagPanel, isMobile, ProductItem, ProductEmpty };
|
|
7454
7586
|
}
|
|
7455
7587
|
});
|
|
7456
|
-
var _sfc_render$
|
|
7588
|
+
var _sfc_render$A = function render16() {
|
|
7457
7589
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
7458
7590
|
return _c("div", { ref: "productListRef", staticClass: "plv-product-list", on: { "scroll": _setup.onScroll } }, [_c("div", { staticClass: "plv-product-list__header" }, [_c("div", { staticClass: "plv-product-list__header-search-wrapper" }, [_c(_setup.FormInput, { staticClass: "plv-product-list__search-input", attrs: { "theme": _setup.FormTheme.Dark, "placeholder": _setup.$t("product.searchPlaceholder") }, model: { value: _setup.searchKeyword, callback: function($$v) {
|
|
7459
7591
|
_setup.searchKeyword = $$v;
|
|
7460
7592
|
}, expression: "searchKeyword" } }, [_c(_setup.ProductIconSearch, { staticClass: "plv-product-list__header-search-icon", attrs: { "slot": "prefix" }, slot: "prefix" })], 1), _setup.orderEntranceVisible ? _c("div", { staticClass: "plv-product-list__header-right", on: { "click": _setup.openOrderList } }, [_c(_setup.ProductIconOrderEnter, { staticClass: "plv-product-list__header-right-icon" }), _c("div", { staticClass: "plv-product-list__header-right-text" }, [_vm._v(" " + _vm._s(_setup.$t("product.order")) + " ")])], 1) : _vm._e(), !_setup.isMobile ? _c(_setup.ProductIconClose, { staticClass: "plv-product-list-popup__icon-close", on: { "click": _setup.closeProductListPopup } }) : _vm._e()], 1), !_setup.isSearchMode ? [_c(_setup.ProductTagPanel, { ref: "productTagPanelRef", attrs: { "product-target": _vm.productTarget }, model: { value: _setup.activeTagId, callback: function($$v) {
|
|
7461
7593
|
_setup.activeTagId = $$v;
|
|
7462
7594
|
}, expression: "activeTagId" } }), _c("div", { staticClass: "plv-product-list__product-total" }, [_c(_setup.ProductIconProduct, { staticClass: "plv-product-list__product-total-icon" }), _c("div", { staticClass: "plv-product-list__product-total-text" }, [_vm._v(" " + _vm._s(_setup.$t("product.num")) + ": ")]), _c("div", { staticClass: "plv-product-list__product-total-num" }, [_vm._v(" " + _vm._s(_setup.productTotal) + " ")])], 1)] : _vm._e()], 2), !_setup.initialLoading ? [_setup.productList.length ? _c("div", { staticClass: "plv-product-list__wrapper" }, _vm._l(_setup.productList, function(product, index2) {
|
|
7463
|
-
return _c(_setup.ProductItem, { key: index2, ref: _setup.setItemRef, refInFor: true, attrs: { "product": product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "
|
|
7595
|
+
return _c(_setup.ProductItem, { key: index2, ref: _setup.setItemRef, refInFor: true, attrs: { "product": product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.handleDirectBuy } });
|
|
7464
7596
|
}), 1) : _c(_setup.ProductEmpty)] : _vm._e(), _setup.isLoading ? _c("div", { staticClass: "plv-product-list__loading" }, [_c(_setup.Loading)], 1) : _vm._e()], 2);
|
|
7465
7597
|
};
|
|
7466
|
-
var _sfc_staticRenderFns$
|
|
7467
|
-
var __component__$
|
|
7468
|
-
_sfc_main$
|
|
7469
|
-
_sfc_render$
|
|
7470
|
-
_sfc_staticRenderFns$
|
|
7598
|
+
var _sfc_staticRenderFns$A = [];
|
|
7599
|
+
var __component__$A = /* @__PURE__ */ normalizeComponent(
|
|
7600
|
+
_sfc_main$A,
|
|
7601
|
+
_sfc_render$A,
|
|
7602
|
+
_sfc_staticRenderFns$A
|
|
7471
7603
|
);
|
|
7472
|
-
const ProductList = __component__$
|
|
7604
|
+
const ProductList = __component__$A.exports;
|
|
7473
7605
|
const productListPopupProps = () => __spreadValues(__spreadValues({}, productListProps()), popupCommonProps());
|
|
7474
7606
|
const productListPopupEmits = () => ({
|
|
7475
7607
|
"not-support-direct-buy": emitFunc()
|
|
@@ -7500,7 +7632,7 @@ const useProductListPopup = (options) => {
|
|
|
7500
7632
|
emitNotSupportDirectBuy
|
|
7501
7633
|
};
|
|
7502
7634
|
};
|
|
7503
|
-
const _sfc_main$
|
|
7635
|
+
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
7504
7636
|
__name: "product-list-popup",
|
|
7505
7637
|
props: productListPopupProps(),
|
|
7506
7638
|
emits: productListPopupEmits(),
|
|
@@ -7516,19 +7648,19 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
7516
7648
|
return { __sfc: true, props, emit, visible, productListRef, open, close, emitNotSupportDirectBuy, CommonPopup, productEvents, ProductList };
|
|
7517
7649
|
}
|
|
7518
7650
|
});
|
|
7519
|
-
var _sfc_render$
|
|
7651
|
+
var _sfc_render$z = function render17() {
|
|
7520
7652
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
7521
7653
|
return _c(_setup.CommonPopup, { attrs: { "background": "none", "show-header": false, "open-event": _setup.productEvents.OpenProductListPopup, "popup-config": _vm.popupConfig }, model: { value: _setup.visible, callback: function($$v) {
|
|
7522
7654
|
_setup.visible = $$v;
|
|
7523
7655
|
}, expression: "visible" } }, [_c(_setup.ProductList, _vm._b({ ref: "productListRef" }, "product-list", _setup.props, false))], 1);
|
|
7524
7656
|
};
|
|
7525
|
-
var _sfc_staticRenderFns$
|
|
7526
|
-
var __component__$
|
|
7527
|
-
_sfc_main$
|
|
7528
|
-
_sfc_render$
|
|
7529
|
-
_sfc_staticRenderFns$
|
|
7657
|
+
var _sfc_staticRenderFns$z = [];
|
|
7658
|
+
var __component__$z = /* @__PURE__ */ normalizeComponent(
|
|
7659
|
+
_sfc_main$z,
|
|
7660
|
+
_sfc_render$z,
|
|
7661
|
+
_sfc_staticRenderFns$z
|
|
7530
7662
|
);
|
|
7531
|
-
const productListPopup = __component__$
|
|
7663
|
+
const productListPopup = __component__$z.exports;
|
|
7532
7664
|
function createScript(t2) {
|
|
7533
7665
|
const n2 = document.createElement("script");
|
|
7534
7666
|
return t2 && Object.keys(t2).forEach(function(o2) {
|
|
@@ -7577,7 +7709,7 @@ function loadMaterialPlayer() {
|
|
|
7577
7709
|
}
|
|
7578
7710
|
return materialPlayerLoader;
|
|
7579
7711
|
}
|
|
7580
|
-
const _sfc_main$
|
|
7712
|
+
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
7581
7713
|
__name: "product-video",
|
|
7582
7714
|
setup(__props, { expose }) {
|
|
7583
7715
|
const product = inject("product");
|
|
@@ -7671,17 +7803,17 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
7671
7803
|
return { __sfc: true, product, handleVideoPlay, handleVideoPause, ProductMediaType, materialPlayerInstance, materialPlayerRef, materialId, initMaterialPlayer, play, togglePlay, pause, paused, handlePlay, handlePause, bindPlayerEvent, unbindPlayerEvent, destroy, ProductIconVideoPlaceholder };
|
|
7672
7804
|
}
|
|
7673
7805
|
});
|
|
7674
|
-
var _sfc_render$
|
|
7806
|
+
var _sfc_render$y = function render18() {
|
|
7675
7807
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
7676
7808
|
return _c("div", { staticClass: "plv-product-c-video" }, [_c("div", { staticClass: "plv-product-c-video__container" }, [_setup.materialId ? _c("div", { ref: "materialPlayerRef", staticClass: "plv-product-c-video__container-material", on: { "click": _setup.togglePlay } }) : _c("div", { staticClass: "plv-product-c-video__container-placeholder" }, [_c(_setup.ProductIconVideoPlaceholder, { staticClass: "plv-product-c-video__container-placeholder-icon" })], 1)])]);
|
|
7677
7809
|
};
|
|
7678
|
-
var _sfc_staticRenderFns$
|
|
7679
|
-
var __component__$
|
|
7680
|
-
_sfc_main$
|
|
7681
|
-
_sfc_render$
|
|
7682
|
-
_sfc_staticRenderFns$
|
|
7810
|
+
var _sfc_staticRenderFns$y = [];
|
|
7811
|
+
var __component__$y = /* @__PURE__ */ normalizeComponent(
|
|
7812
|
+
_sfc_main$y,
|
|
7813
|
+
_sfc_render$y,
|
|
7814
|
+
_sfc_staticRenderFns$y
|
|
7683
7815
|
);
|
|
7684
|
-
const ProductVideo = __component__$
|
|
7816
|
+
const ProductVideo = __component__$y.exports;
|
|
7685
7817
|
function isObject$1(obj) {
|
|
7686
7818
|
return obj !== null && typeof obj === "object" && "constructor" in obj && obj.constructor === Object;
|
|
7687
7819
|
}
|
|
@@ -11576,7 +11708,7 @@ Object.keys(prototypes).forEach((prototypeGroup) => {
|
|
|
11576
11708
|
});
|
|
11577
11709
|
});
|
|
11578
11710
|
Swiper.use([Resize, Observer]);
|
|
11579
|
-
const _sfc_main$
|
|
11711
|
+
const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
11580
11712
|
__name: "swiper-image",
|
|
11581
11713
|
emits: {
|
|
11582
11714
|
"swiper-change": emitFunc()
|
|
@@ -11653,25 +11785,25 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
|
11653
11785
|
return { __sfc: true, emit, product, swiperRef, swiperInstance, isAtBeginning, isAtEnd, activeIndex, productCoverList, handleSlideChangeTransitionEnd, slideToPrev, slideToNext, initSwiper, destroy, ProductIconImgPlaceholder };
|
|
11654
11786
|
}
|
|
11655
11787
|
});
|
|
11656
|
-
var _sfc_render$
|
|
11788
|
+
var _sfc_render$x = function render19() {
|
|
11657
11789
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
11658
11790
|
return _c("div", { staticClass: "plv-product-c-swiper-img" }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _setup.productCoverList.length, expression: "productCoverList.length" }], ref: "swiperRef", staticClass: "plv-product-c-swiper-img__swiper swiper" }, [_c("div", { staticClass: "swiper-wrapper" }, _vm._l(_setup.productCoverList, function(cover, index2) {
|
|
11659
11791
|
return _c("div", { key: index2, staticClass: "plv-product-c-swiper-img__swiper-slide swiper-slide" }, [_c("img", { staticClass: "plv-product-c-swiper-img__slide-img", attrs: { "src": cover } })]);
|
|
11660
11792
|
}), 0), _c("div", { directives: [{ name: "show", rawName: "v-show", value: !_setup.isAtBeginning, expression: "!isAtBeginning" }], staticClass: "plv-product-c-swiper-img__swiper-button-prev swiper-button-prev", on: { "click": _setup.slideToPrev } }), _c("div", { directives: [{ name: "show", rawName: "v-show", value: !_setup.isAtEnd, expression: "!isAtEnd" }], staticClass: "plv-product-c-swiper-img__swiper-button-next swiper-button-next", on: { "click": _setup.slideToNext } })]), !_setup.productCoverList.length ? _c("div", { staticClass: "plv-product-c-swiper-img__placeholder" }, [_c(_setup.ProductIconImgPlaceholder, { staticClass: "plv-product-c-swiper-img__placeholder-icon" })], 1) : _vm._e()]);
|
|
11661
11793
|
};
|
|
11662
|
-
var _sfc_staticRenderFns$
|
|
11663
|
-
var __component__$
|
|
11664
|
-
_sfc_main$
|
|
11665
|
-
_sfc_render$
|
|
11666
|
-
_sfc_staticRenderFns$
|
|
11794
|
+
var _sfc_staticRenderFns$x = [];
|
|
11795
|
+
var __component__$x = /* @__PURE__ */ normalizeComponent(
|
|
11796
|
+
_sfc_main$x,
|
|
11797
|
+
_sfc_render$x,
|
|
11798
|
+
_sfc_staticRenderFns$x
|
|
11667
11799
|
);
|
|
11668
|
-
const SwiperImage = __component__$
|
|
11800
|
+
const SwiperImage = __component__$x.exports;
|
|
11669
11801
|
var ProductCoverTab = /* @__PURE__ */ ((ProductCoverTab2) => {
|
|
11670
11802
|
ProductCoverTab2["MaterialVideo"] = "materialVideo";
|
|
11671
11803
|
ProductCoverTab2["Image"] = "image";
|
|
11672
11804
|
return ProductCoverTab2;
|
|
11673
11805
|
})(ProductCoverTab || {});
|
|
11674
|
-
const _sfc_main$
|
|
11806
|
+
const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
11675
11807
|
__name: "switch-tab",
|
|
11676
11808
|
props: {
|
|
11677
11809
|
value: PropUtils.enum().def(ProductCoverTab.Image),
|
|
@@ -11717,7 +11849,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
11717
11849
|
return { __sfc: true, props, emit, $t, product, ProductMediaType, displayTabs, imgCountVisible, swiperImageTotalCount, onTabClick, ProductCoverTab };
|
|
11718
11850
|
}
|
|
11719
11851
|
});
|
|
11720
|
-
var _sfc_render$
|
|
11852
|
+
var _sfc_render$w = function render20() {
|
|
11721
11853
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
11722
11854
|
return _c("div", { staticClass: "plv-product-c-switch-tab" }, [_c("div", { staticClass: "plv-product-c-switch-tab__block" }, _vm._l(_setup.displayTabs, function(tab, index2) {
|
|
11723
11855
|
return _c("div", { key: index2, class: [
|
|
@@ -11728,14 +11860,14 @@ var _sfc_render$r = function render20() {
|
|
|
11728
11860
|
} } }, [_vm._v(" " + _vm._s(tab.label) + " "), _setup.imgCountVisible && tab.value === _setup.ProductCoverTab.Image ? _c("span", [_vm._v(_vm._s(_vm.activeSwiperIndex + 1) + "/" + _vm._s(_setup.swiperImageTotalCount))]) : _vm._e()]);
|
|
11729
11861
|
}), 0)]);
|
|
11730
11862
|
};
|
|
11731
|
-
var _sfc_staticRenderFns$
|
|
11732
|
-
var __component__$
|
|
11733
|
-
_sfc_main$
|
|
11734
|
-
_sfc_render$
|
|
11735
|
-
_sfc_staticRenderFns$
|
|
11863
|
+
var _sfc_staticRenderFns$w = [];
|
|
11864
|
+
var __component__$w = /* @__PURE__ */ normalizeComponent(
|
|
11865
|
+
_sfc_main$w,
|
|
11866
|
+
_sfc_render$w,
|
|
11867
|
+
_sfc_staticRenderFns$w
|
|
11736
11868
|
);
|
|
11737
|
-
const SwitchTab = __component__$
|
|
11738
|
-
const _sfc_main$
|
|
11869
|
+
const SwitchTab = __component__$w.exports;
|
|
11870
|
+
const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
11739
11871
|
__name: "product-cover",
|
|
11740
11872
|
setup(__props, { expose }) {
|
|
11741
11873
|
const { ProductType, ProductMediaType } = useProductInject();
|
|
@@ -11765,21 +11897,21 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
11765
11897
|
return { __sfc: true, ProductType, ProductMediaType, product, productVideoRef, activeTab, currentSwiperIndex, productVideoVisible, swiperImageVisible, handleSwiperChange, initActiveTab, ProductVideo, SwiperImage, SwitchTab };
|
|
11766
11898
|
}
|
|
11767
11899
|
});
|
|
11768
|
-
var _sfc_render$
|
|
11900
|
+
var _sfc_render$v = function render21() {
|
|
11769
11901
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
11770
11902
|
return _c("div", { staticClass: "plv-product-c-detail-cover" }, [_c("div", { staticClass: "plv-product-c-detail-cover__container" }, [_setup.productVideoVisible ? _c(_setup.ProductVideo, { ref: "productVideoRef" }) : _vm._e(), _setup.swiperImageVisible ? _c(_setup.SwiperImage, { on: { "swiper-change": _setup.handleSwiperChange } }) : _vm._e(), _setup.product && _setup.product.productType === _setup.ProductType.Normal ? [_c(_setup.SwitchTab, { staticClass: "plv-product-c-detail-cover__switch-tab", attrs: { "active-swiper-index": _setup.currentSwiperIndex }, model: { value: _setup.activeTab, callback: function($$v) {
|
|
11771
11903
|
_setup.activeTab = $$v;
|
|
11772
11904
|
}, expression: "activeTab" } })] : _vm._e()], 2)]);
|
|
11773
11905
|
};
|
|
11774
|
-
var _sfc_staticRenderFns$
|
|
11775
|
-
var __component__$
|
|
11776
|
-
_sfc_main$
|
|
11777
|
-
_sfc_render$
|
|
11778
|
-
_sfc_staticRenderFns$
|
|
11906
|
+
var _sfc_staticRenderFns$v = [];
|
|
11907
|
+
var __component__$v = /* @__PURE__ */ normalizeComponent(
|
|
11908
|
+
_sfc_main$v,
|
|
11909
|
+
_sfc_render$v,
|
|
11910
|
+
_sfc_staticRenderFns$v
|
|
11779
11911
|
);
|
|
11780
|
-
const ProductCover = __component__$
|
|
11912
|
+
const ProductCover = __component__$v.exports;
|
|
11781
11913
|
const emptyImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAB6CAMAAAC/Z0whAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAEdUExURUdwTOLl6eHl6OHl6OHl6N/f39vb/+Hl6Nvn5+Pj4////9/n5+Ll6eHl6OHh8ODl6OHk6OHk6OHk6OHl6OHl6ODj5+Hl6OLl6OHl6eLl6N/v7+Hk6OHl6OHl6N/j59/k5ODl6OHm6Ofn5+Lm6OHk6ID//+Hm6ODk6N/f5+Lm6Kqqqt3d3eHl6OHl6ODl59X//+Ll6OHl5+Dl59XV/9/l6ODk6OLl6eDl6OHl6ODl6ODm6OLl6N/j59vb2+Hm6dv//+Ll6OLm6Obm5uDk597m5t3u7uDk59/f6uHh4eDk6OHl6OHh5eHl6OHm6OHk6OHl5+Pn56r//+Hl6eHl6N/k5+Lm6eLm6P///+Tk8uLm6t/j5uHl6P///+Dk6OHl6OuQ0K0AAABedFJOUwDk9t/4EAf7FRICIJ/8Ed/vj5D+6UrG6n6TEEznz0AwpaQVg0MCj78gvwMPuf3qBsiAlQZYyJXo6+paWYEH5wdX6hS1Hw/5GBH6sUW7tbPtQANE7GBHhAQTPkizA4TQtmeQAAABv0lEQVRo3u3bV1PCQBQF4KsYS4L0XhUQELD33nvvff//z1BH3Sw8wIRkNzPOOU9LXr6ZDEnuw7lEf5mKJmMrw8z5DE/GktE5ak0qEWEyE0mkmsH5DJOdzLbg6UGmIsExDo4wNRnVf8UQU5XQD7jK1GXtG/QtKRQ3fV/iOlOZGaKtuHgh3Ot8msT4BqUFbu/6oK45nbr28hY2kTQtmj+KNZKT2odJztI0P1/ckKy8N7iyQMv8fEvy8sqVHZrg54JE8dn8khA/DuxKFH0n3BHEQYniUB9EiBAhQoT4P0TN67cyiQbGDZui4bE8/ubsiV7rA7fHnpjtYsav2hL9XYh5W2JZ+V3VrP9z7m0+HYbXkhmo5PDOgQgRIkSIEJXOq21nU1nzas55scO8mnVe7DSvao6LfuViudvZVNa8akh4OtrMq4FKHu8ciBAhQoQIESJEiBAhQoQIESJEiBCt5fjQFM2m5ZFEsSA0Lc02aUmi+CC0Sc3GbEMe+HQuNGaFVvCjLgnUi0xoBQvNZ3Z6Vu13PvulSyY2n5vb3Vc9zueupd2tvsHuQktf/SaCC9sWLmyUqN+aIfWbQeTC9hOp2/D6BHYmXfeKZbzGAAAAAElFTkSuQmCC";
|
|
11782
|
-
const _sfc_main$
|
|
11914
|
+
const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
11783
11915
|
__name: "product-info",
|
|
11784
11916
|
setup(__props) {
|
|
11785
11917
|
const { ProductType } = useProductInject();
|
|
@@ -11795,19 +11927,19 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
11795
11927
|
return { __sfc: true, ProductType, product, $t, title, isMobile, ProductPrice, ProductFeatureTag, ProductTitle, emptyImage };
|
|
11796
11928
|
}
|
|
11797
11929
|
});
|
|
11798
|
-
var _sfc_render$
|
|
11930
|
+
var _sfc_render$u = function render22() {
|
|
11799
11931
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
11800
11932
|
return _setup.product ? _c("div", { staticClass: "plv-product-c-product-info" }, [_setup.product.productType === _setup.ProductType.Normal ? _c(_setup.ProductPrice, { staticClass: "plv-product-c-product-info__price", attrs: { "product": _setup.product } }) : _setup.product.productType === _setup.ProductType.Position ? _c("div", { staticClass: "plv-product-c-product-info__treatment" }, [_vm._v(" " + _vm._s(_setup.product.treatment) + " ")]) : _vm._e(), _setup.product.featureTags.length ? _c("div", { staticClass: "plv-product-c-product-info__tags" }, _vm._l(_setup.product.featureTags, function(tag, index2) {
|
|
11801
11933
|
return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
|
|
11802
11934
|
}), 1) : _vm._e(), _c("div", { staticClass: "plv-product-c-product-info__content" }, [_c(_setup.ProductTitle, { attrs: { "title": _setup.product.name, "use-expand": _setup.product.productType === _setup.ProductType.Normal } }), _setup.product.description ? _c("div", { staticClass: "plv-product-c-product-info__content-desc" }, [_vm._v(" " + _vm._s(_setup.product.description) + " ")]) : _vm._e()], 1), _c("div", { staticClass: "plv-product-c-product-info__detail", class: { "plv-product-c-product-info__detail--mobile": _setup.isMobile } }, [_c("div", { staticClass: "plv-product-c-product-info__detail-label" }, [_vm._v(" " + _vm._s(_setup.title) + " ")]), _setup.product.detail ? _c("div", { staticClass: "plv-product-c-product-info__detail-text", domProps: { "innerHTML": _vm._s(_setup.product.detail) } }) : _c("div", { staticClass: "plv-product-c-product-info__detail-empty" }, [_c("img", { staticClass: "plv-product-c-product-info__detail-empty-icon", attrs: { "src": _setup.emptyImage, "alt": "empty" } }), _c("span", [_vm._v(_vm._s(_setup.$t("product.empty")))])])])], 1) : _vm._e();
|
|
11803
11935
|
};
|
|
11804
|
-
var _sfc_staticRenderFns$
|
|
11805
|
-
var __component__$
|
|
11806
|
-
_sfc_main$
|
|
11807
|
-
_sfc_render$
|
|
11808
|
-
_sfc_staticRenderFns$
|
|
11936
|
+
var _sfc_staticRenderFns$u = [];
|
|
11937
|
+
var __component__$u = /* @__PURE__ */ normalizeComponent(
|
|
11938
|
+
_sfc_main$u,
|
|
11939
|
+
_sfc_render$u,
|
|
11940
|
+
_sfc_staticRenderFns$u
|
|
11809
11941
|
);
|
|
11810
|
-
const ProductInfo = __component__$
|
|
11942
|
+
const ProductInfo = __component__$u.exports;
|
|
11811
11943
|
const productDetailProps = () => __spreadProps(__spreadValues({}, productProps()), {
|
|
11812
11944
|
paymentTarget: PropUtils.object().isRequired
|
|
11813
11945
|
});
|
|
@@ -11870,7 +12002,7 @@ const useProductDetail = (options) => {
|
|
|
11870
12002
|
handleVideoPause
|
|
11871
12003
|
};
|
|
11872
12004
|
};
|
|
11873
|
-
const _sfc_main$
|
|
12005
|
+
const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
11874
12006
|
__name: "product-detail",
|
|
11875
12007
|
props: productDetailProps(),
|
|
11876
12008
|
emits: productDetailEmits(),
|
|
@@ -11881,6 +12013,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
11881
12013
|
});
|
|
11882
12014
|
const { handleDirectBuy, getPayProviders } = useProductDirectBuy({ props, emitNotSupportDirectBuy });
|
|
11883
12015
|
const { $t } = useI18n();
|
|
12016
|
+
const { isHorizontalScreenOrientation } = useScreenOrientHook();
|
|
11884
12017
|
const { productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut } = useProductDetail({ props, emit });
|
|
11885
12018
|
onMounted(() => {
|
|
11886
12019
|
getPayProviders();
|
|
@@ -11889,27 +12022,28 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
11889
12022
|
provide("handleVideoPlay", handleVideoPlay);
|
|
11890
12023
|
provide("handleVideoPause", handleVideoPause);
|
|
11891
12024
|
expose(instance);
|
|
11892
|
-
return { __sfc: true, props, emit, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, $t, productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut, isMobile, ProductCover, ProductInfo, ProductButton };
|
|
12025
|
+
return { __sfc: true, props, emit, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, $t, isHorizontalScreenOrientation, productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut, isMobile, ProductCover, ProductInfo, ProductButton };
|
|
11893
12026
|
}
|
|
11894
12027
|
});
|
|
11895
|
-
var _sfc_render$
|
|
12028
|
+
var _sfc_render$t = function render23() {
|
|
11896
12029
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
11897
12030
|
return _setup.product ? _c("div", { staticClass: "plv-product-detail-container", class: {
|
|
11898
12031
|
"plv-product-detail-container--mobile": _setup.isMobile,
|
|
11899
|
-
"plv-product-detail-container--pc": !_setup.isMobile
|
|
12032
|
+
"plv-product-detail-container--pc": !_setup.isMobile,
|
|
12033
|
+
"plv-product-common-popup--horizontal-screen": _setup.isHorizontalScreenOrientation
|
|
11900
12034
|
} }, [_c("div", { staticClass: "plv-product-detail-container__content" }, [_setup.productCoverVisible ? _c(_setup.ProductCover, { ref: "productCoverRef" }) : _setup.product.productType === _setup.ProductType.Position ? _c("div", { staticClass: "plv-product-detail-container__content-title" }, [_vm._v(" " + _vm._s(_setup.$t("product.detail.job")) + " ")]) : _vm._e(), _c(_setup.ProductInfo)], 1), _c("div", { staticClass: "plv-product-detail-container__footer" }, [_vm._t("footer", function() {
|
|
11901
12035
|
return [_c(_setup.ProductButton, { attrs: { "product-data": _setup.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.handleDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
|
|
11902
12036
|
return [_c("button", { staticClass: "plv-product-detail-container__footer-button", class: { "plv-product-detail-container__footer-button--disabled": disabled } }, [_vm._v(" " + _vm._s(_setup.isSoldOut ? _setup.$t("product.stock.soldOut") : buttonText) + " ")])];
|
|
11903
12037
|
} }], null, false, 618492075) })];
|
|
11904
12038
|
})], 2)]) : _vm._e();
|
|
11905
12039
|
};
|
|
11906
|
-
var _sfc_staticRenderFns$
|
|
11907
|
-
var __component__$
|
|
11908
|
-
_sfc_main$
|
|
11909
|
-
_sfc_render$
|
|
11910
|
-
_sfc_staticRenderFns$
|
|
12040
|
+
var _sfc_staticRenderFns$t = [];
|
|
12041
|
+
var __component__$t = /* @__PURE__ */ normalizeComponent(
|
|
12042
|
+
_sfc_main$t,
|
|
12043
|
+
_sfc_render$t,
|
|
12044
|
+
_sfc_staticRenderFns$t
|
|
11911
12045
|
);
|
|
11912
|
-
const ProductDetail = __component__$
|
|
12046
|
+
const ProductDetail = __component__$t.exports;
|
|
11913
12047
|
const productDetailPopupProps = () => __spreadProps(__spreadValues(__spreadValues({}, productDirectBuyProps()), popupCommonProps()), {
|
|
11914
12048
|
/** 商品配置 */
|
|
11915
12049
|
productConfig: PropUtils.object().def({})
|
|
@@ -11931,8 +12065,10 @@ const useProductDetailPopup = (options) => {
|
|
|
11931
12065
|
var _a;
|
|
11932
12066
|
(_a = productVideoRef.value) == null ? void 0 : _a.pause();
|
|
11933
12067
|
}
|
|
11934
|
-
function open() {
|
|
12068
|
+
function open(productId) {
|
|
11935
12069
|
return __async(this, null, function* () {
|
|
12070
|
+
var _a;
|
|
12071
|
+
yield (_a = productDetailRef.value) == null ? void 0 : _a.init(productId);
|
|
11936
12072
|
visible.value = true;
|
|
11937
12073
|
yield nextTick$1();
|
|
11938
12074
|
if (commonPopupRef.value) {
|
|
@@ -11948,9 +12084,7 @@ const useProductDetailPopup = (options) => {
|
|
|
11948
12084
|
emit("not-support-direct-buy", product);
|
|
11949
12085
|
}
|
|
11950
12086
|
useEventBusListener(productEvents.OpenProductDetailPopup, (productData) => {
|
|
11951
|
-
|
|
11952
|
-
(_a = productDetailRef.value) == null ? void 0 : _a.init(productData.productId);
|
|
11953
|
-
open();
|
|
12087
|
+
open(productData.productId);
|
|
11954
12088
|
});
|
|
11955
12089
|
useEventBusListener(productEvents.CloseProductDetailPopup, () => {
|
|
11956
12090
|
close();
|
|
@@ -11968,7 +12102,7 @@ const useProductDetailPopup = (options) => {
|
|
|
11968
12102
|
emitNotSupportDirectBuy
|
|
11969
12103
|
};
|
|
11970
12104
|
};
|
|
11971
|
-
const _sfc_main$
|
|
12105
|
+
const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
11972
12106
|
__name: "product-detail-popup",
|
|
11973
12107
|
props: productDetailPopupProps(),
|
|
11974
12108
|
emits: productDetailPopupEmits(),
|
|
@@ -11995,19 +12129,19 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
11995
12129
|
return { __sfc: true, props, emit, visible, commonPopupRef, productVideoRef, productDetailRef, open, close, onPlay, onPause, pauseVideo, emitNotSupportDirectBuy, CommonPopup, ProductDetail, productEvents, isMobile, ProductIconClose };
|
|
11996
12130
|
}
|
|
11997
12131
|
});
|
|
11998
|
-
var _sfc_render$
|
|
12132
|
+
var _sfc_render$s = function render24() {
|
|
11999
12133
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12000
12134
|
return _c(_setup.CommonPopup, { ref: "commonPopupRef", attrs: { "show-header": false, "background": "#f7f8fa", "open-event": _setup.productEvents.OpenProductDetailPopup, "enable-dynamic-height": _setup.isMobile, "popup-config": _vm.popupConfig }, on: { "after-leave": _setup.pauseVideo }, model: { value: _setup.visible, callback: function($$v) {
|
|
12001
12135
|
_setup.visible = $$v;
|
|
12002
12136
|
}, expression: "visible" } }, [_c(_setup.ProductDetail, _vm._b({ ref: "productDetailRef", on: { "play": _setup.onPlay, "pause": _setup.onPause } }, "product-detail", _setup.props, false)), _c("div", { staticClass: "plv-product-detail-popup__close", on: { "click": _setup.close } }, [_c(_setup.ProductIconClose, { staticClass: "plv-product-detail-popup__icon-close" })], 1)], 1);
|
|
12003
12137
|
};
|
|
12004
|
-
var _sfc_staticRenderFns$
|
|
12005
|
-
var __component__$
|
|
12006
|
-
_sfc_main$
|
|
12007
|
-
_sfc_render$
|
|
12008
|
-
_sfc_staticRenderFns$
|
|
12138
|
+
var _sfc_staticRenderFns$s = [];
|
|
12139
|
+
var __component__$s = /* @__PURE__ */ normalizeComponent(
|
|
12140
|
+
_sfc_main$s,
|
|
12141
|
+
_sfc_render$s,
|
|
12142
|
+
_sfc_staticRenderFns$s
|
|
12009
12143
|
);
|
|
12010
|
-
const productDetailPopup = __component__$
|
|
12144
|
+
const productDetailPopup = __component__$s.exports;
|
|
12011
12145
|
var OrderButtonAction = /* @__PURE__ */ ((OrderButtonAction2) => {
|
|
12012
12146
|
OrderButtonAction2["ApplyRefund"] = "applyRefund";
|
|
12013
12147
|
OrderButtonAction2["Pay"] = "pay";
|
|
@@ -12239,7 +12373,7 @@ const useScrollTab = () => {
|
|
|
12239
12373
|
scrollToTabByValue
|
|
12240
12374
|
};
|
|
12241
12375
|
};
|
|
12242
|
-
const _sfc_main$
|
|
12376
|
+
const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
12243
12377
|
__name: "order-status-tab",
|
|
12244
12378
|
props: {
|
|
12245
12379
|
value: PropUtils.string.def("all")
|
|
@@ -12282,7 +12416,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
12282
12416
|
return { __sfc: true, emit, OrderStatus, getOrderStatusText, $t, tabContainerRef, setTabItemRef, scrollToTabAsync, scrollToTabByValue, targetOrderStatuses, orderStatusTabs, onClickTab, scrollToTabByTabValue };
|
|
12283
12417
|
}
|
|
12284
12418
|
});
|
|
12285
|
-
var _sfc_render$
|
|
12419
|
+
var _sfc_render$r = function render25() {
|
|
12286
12420
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12287
12421
|
return _c("div", { ref: "tabContainerRef", staticClass: "plv-product-c-order-status-tab" }, _vm._l(_setup.orderStatusTabs, function(tab, index2) {
|
|
12288
12422
|
return _c("div", { key: index2, ref: (el) => _setup.setTabItemRef(el, index2), refInFor: true, class: [
|
|
@@ -12293,14 +12427,14 @@ var _sfc_render$m = function render25() {
|
|
|
12293
12427
|
} } }, [_vm._v(" " + _vm._s(tab.label) + " ")]);
|
|
12294
12428
|
}), 0);
|
|
12295
12429
|
};
|
|
12296
|
-
var _sfc_staticRenderFns$
|
|
12297
|
-
var __component__$
|
|
12298
|
-
_sfc_main$
|
|
12299
|
-
_sfc_render$
|
|
12300
|
-
_sfc_staticRenderFns$
|
|
12430
|
+
var _sfc_staticRenderFns$r = [];
|
|
12431
|
+
var __component__$r = /* @__PURE__ */ normalizeComponent(
|
|
12432
|
+
_sfc_main$r,
|
|
12433
|
+
_sfc_render$r,
|
|
12434
|
+
_sfc_staticRenderFns$r
|
|
12301
12435
|
);
|
|
12302
|
-
const OrderStatusTab = __component__$
|
|
12303
|
-
const _sfc_main$
|
|
12436
|
+
const OrderStatusTab = __component__$r.exports;
|
|
12437
|
+
const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
12304
12438
|
__name: "order-pay-countdown",
|
|
12305
12439
|
props: {
|
|
12306
12440
|
endTime: PropUtils.number.isRequired
|
|
@@ -12348,18 +12482,18 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
12348
12482
|
return { __sfc: true, props, emit, timeStr, intervalId, clearCountdown, formattedTime };
|
|
12349
12483
|
}
|
|
12350
12484
|
});
|
|
12351
|
-
var _sfc_render$
|
|
12485
|
+
var _sfc_render$q = function render26() {
|
|
12352
12486
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12353
12487
|
return _c("span", [_vm._v(_vm._s(_setup.timeStr))]);
|
|
12354
12488
|
};
|
|
12355
|
-
var _sfc_staticRenderFns$
|
|
12356
|
-
var __component__$
|
|
12357
|
-
_sfc_main$
|
|
12358
|
-
_sfc_render$
|
|
12359
|
-
_sfc_staticRenderFns$
|
|
12489
|
+
var _sfc_staticRenderFns$q = [];
|
|
12490
|
+
var __component__$q = /* @__PURE__ */ normalizeComponent(
|
|
12491
|
+
_sfc_main$q,
|
|
12492
|
+
_sfc_render$q,
|
|
12493
|
+
_sfc_staticRenderFns$q
|
|
12360
12494
|
);
|
|
12361
|
-
const OrderPayCountdown = __component__$
|
|
12362
|
-
const _sfc_main$
|
|
12495
|
+
const OrderPayCountdown = __component__$q.exports;
|
|
12496
|
+
const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
12363
12497
|
__name: "purchase-product",
|
|
12364
12498
|
props: {
|
|
12365
12499
|
product: PropUtils.object().isRequired
|
|
@@ -12380,20 +12514,20 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
12380
12514
|
return { __sfc: true, props, $t, displayTotalPrice, emit, onOrderProductClick, ProductFeatureTag };
|
|
12381
12515
|
}
|
|
12382
12516
|
});
|
|
12383
|
-
var _sfc_render$
|
|
12517
|
+
var _sfc_render$p = function render27() {
|
|
12384
12518
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12385
12519
|
return _c("div", { staticClass: "plv-product-c-purchase-product", on: { "click": _setup.onOrderProductClick } }, [_c("img", { staticClass: "plv-product-c-purchase-product__image", attrs: { "src": _vm.product.cover, "alt": _vm.product.name } }), _c("div", { staticClass: "plv-product-c-purchase-product__info" }, [_c("div", { staticClass: "plv-product-c-purchase-product__name" }, [_vm._v(" " + _vm._s(_vm.product.name) + " ")]), _vm.product.featureTags ? _c("div", { staticClass: "plv-product-c-purchase-product__tags" }, _vm._l(_vm.product.featureTags, function(tag, index2) {
|
|
12386
12520
|
return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
|
|
12387
12521
|
}), 1) : _vm._e(), _vm.product.description ? _c("div", { staticClass: "plv-product-c-purchase-product__description" }, [_vm._v(" " + _vm._s(_vm.product.description) + " ")]) : _vm._e(), _c("div", { staticClass: "plv-product-c-purchase-product__price" }, [_vm.product.realPrice > 0 ? _c("span", { staticClass: "plv-product-c-purchase-product__price-symbol" }, [_vm._v("¥")]) : _vm._e(), _c("span", { staticClass: "plv-product-c-purchase-product__price-value plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.displayTotalPrice))])])])]);
|
|
12388
12522
|
};
|
|
12389
|
-
var _sfc_staticRenderFns$
|
|
12390
|
-
var __component__$
|
|
12391
|
-
_sfc_main$
|
|
12392
|
-
_sfc_render$
|
|
12393
|
-
_sfc_staticRenderFns$
|
|
12523
|
+
var _sfc_staticRenderFns$p = [];
|
|
12524
|
+
var __component__$p = /* @__PURE__ */ normalizeComponent(
|
|
12525
|
+
_sfc_main$p,
|
|
12526
|
+
_sfc_render$p,
|
|
12527
|
+
_sfc_staticRenderFns$p
|
|
12394
12528
|
);
|
|
12395
|
-
const PurchaseProduct = __component__$
|
|
12396
|
-
const _sfc_main$
|
|
12529
|
+
const PurchaseProduct = __component__$p.exports;
|
|
12530
|
+
const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
12397
12531
|
__name: "order-item",
|
|
12398
12532
|
props: {
|
|
12399
12533
|
order: PropUtils.object().isRequired
|
|
@@ -12422,7 +12556,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
12422
12556
|
return { __sfc: true, props, emit, OrderStatus, getOrderStatusText, ProductDeliveryType, getEmitter, $t, shouldHighlightStatusText, handleCountDownEnd, onOrderProductClick, onOrderBtnClick, OrderPayCountdown, PurchaseProduct, OrderButtonAction };
|
|
12423
12557
|
}
|
|
12424
12558
|
});
|
|
12425
|
-
var _sfc_render$
|
|
12559
|
+
var _sfc_render$o = function render28() {
|
|
12426
12560
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12427
12561
|
return _c("div", { staticClass: "plv-product-order-item" }, [_c("div", { staticClass: "plv-product-order-item__main" }, _vm._l(_vm.order.products, function(product, index2) {
|
|
12428
12562
|
return _c(_setup.PurchaseProduct, { key: index2, attrs: { "product": product }, on: { "click-purchase-product": _setup.onOrderProductClick } });
|
|
@@ -12436,13 +12570,13 @@ var _sfc_render$j = function render28() {
|
|
|
12436
12570
|
return _setup.onOrderBtnClick(_setup.OrderButtonAction.ConfirmReceipt);
|
|
12437
12571
|
} } }, [_vm._v(" " + _vm._s(_setup.$t("order.list.deliveringBtnText")) + " ")]) : _vm._e()])])])]);
|
|
12438
12572
|
};
|
|
12439
|
-
var _sfc_staticRenderFns$
|
|
12440
|
-
var __component__$
|
|
12441
|
-
_sfc_main$
|
|
12442
|
-
_sfc_render$
|
|
12443
|
-
_sfc_staticRenderFns$
|
|
12573
|
+
var _sfc_staticRenderFns$o = [];
|
|
12574
|
+
var __component__$o = /* @__PURE__ */ normalizeComponent(
|
|
12575
|
+
_sfc_main$o,
|
|
12576
|
+
_sfc_render$o,
|
|
12577
|
+
_sfc_staticRenderFns$o
|
|
12444
12578
|
);
|
|
12445
|
-
const OrderItem = __component__$
|
|
12579
|
+
const OrderItem = __component__$o.exports;
|
|
12446
12580
|
const orderListProps = () => __spreadValues({}, orderProps());
|
|
12447
12581
|
const useOrderList = (options) => {
|
|
12448
12582
|
const { props } = options;
|
|
@@ -12508,7 +12642,7 @@ const useOrderList = (options) => {
|
|
|
12508
12642
|
refreshOrderData
|
|
12509
12643
|
};
|
|
12510
12644
|
};
|
|
12511
|
-
const _sfc_main$
|
|
12645
|
+
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
12512
12646
|
__name: "order-list",
|
|
12513
12647
|
props: orderListProps(),
|
|
12514
12648
|
setup(__props, { expose }) {
|
|
@@ -12523,7 +12657,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
12523
12657
|
return { __sfc: true, props, $t, activeTab, scrollRef, orderList, instance, onScroll: onScroll2, navToOrderDetail, handleOrderBtnClick, getPayProviders, OrderStatusTab, OrderItem, ProductIconOrderEmpty };
|
|
12524
12658
|
}
|
|
12525
12659
|
});
|
|
12526
|
-
var _sfc_render$
|
|
12660
|
+
var _sfc_render$n = function render29() {
|
|
12527
12661
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12528
12662
|
return _c("div", { ref: "scrollRef", staticClass: "plv-product-order-list", on: { "scroll": _setup.onScroll } }, [_c(_setup.OrderStatusTab, { staticClass: "plv-product-order-list__status-tab", model: { value: _setup.activeTab, callback: function($$v) {
|
|
12529
12663
|
_setup.activeTab = $$v;
|
|
@@ -12531,14 +12665,14 @@ var _sfc_render$i = function render29() {
|
|
|
12531
12665
|
return _c(_setup.OrderItem, { key: index2, attrs: { "order": order2 }, on: { "click-purchase-product": _setup.navToOrderDetail, "click-order-btn": _setup.handleOrderBtnClick } });
|
|
12532
12666
|
}) : _c("div", { staticClass: "plv-product-order-list__empty" }, [_c(_setup.ProductIconOrderEmpty, { staticClass: "plv-product-order-list__empty-icon" }), _c("div", { staticClass: "plv-product-order-list__empty-text" }, [_vm._v(" " + _vm._s(_setup.$t("order.list.emptyText")) + " ")])], 1)], 2)], 1);
|
|
12533
12667
|
};
|
|
12534
|
-
var _sfc_staticRenderFns$
|
|
12535
|
-
var __component__$
|
|
12536
|
-
_sfc_main$
|
|
12537
|
-
_sfc_render$
|
|
12538
|
-
_sfc_staticRenderFns$
|
|
12668
|
+
var _sfc_staticRenderFns$n = [];
|
|
12669
|
+
var __component__$n = /* @__PURE__ */ normalizeComponent(
|
|
12670
|
+
_sfc_main$n,
|
|
12671
|
+
_sfc_render$n,
|
|
12672
|
+
_sfc_staticRenderFns$n
|
|
12539
12673
|
);
|
|
12540
|
-
const OrderList = __component__$
|
|
12541
|
-
const _sfc_main$
|
|
12674
|
+
const OrderList = __component__$n.exports;
|
|
12675
|
+
const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
12542
12676
|
__name: "pay-status",
|
|
12543
12677
|
setup(__props) {
|
|
12544
12678
|
const { getEmitter } = useGlobalInject();
|
|
@@ -12552,19 +12686,19 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
12552
12686
|
return { __sfc: true, getEmitter, $t, getOrderStatusText, OrderStatus, orderDetail, orderNo, handleCountDownEnd, OrderPayCountdown };
|
|
12553
12687
|
}
|
|
12554
12688
|
});
|
|
12555
|
-
var _sfc_render$
|
|
12689
|
+
var _sfc_render$m = function render30() {
|
|
12556
12690
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12557
12691
|
return _setup.orderDetail ? _c("div", { staticClass: "plv-product-c-pay-status" }, [_c("span", { staticClass: "plv-product-c-pay-status__text" }, [_vm._v(" " + _vm._s(_setup.getOrderStatusText(_setup.orderDetail.status)) + " ")]), _c("div", { staticClass: "plv-product-c-pay-status__actions" }, [_setup.orderDetail.status === _setup.OrderStatus.WaitPay ? _c("div", [_c(_setup.OrderPayCountdown, { attrs: { "end-time": _setup.orderDetail.expiredAt }, on: { "count-down-end": _setup.handleCountDownEnd } }), _c("span", [_vm._v(_vm._s(_setup.$t("order.detail.payAutoCancel")))])], 1) : _setup.orderDetail.status === _setup.OrderStatus.Close ? _c("div", [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.cancelReason")))]), _c("span", [_vm._v(": ")]), _c("span", [_vm._v(_vm._s(_setup.$t("order.detail.payTimeOut")))])]) : _setup.orderDetail.status === _setup.OrderStatus.Refunded ? _c("div", [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.refundTips")))])]) : _vm._e()])]) : _vm._e();
|
|
12558
12692
|
};
|
|
12559
|
-
var _sfc_staticRenderFns$
|
|
12560
|
-
var __component__$
|
|
12561
|
-
_sfc_main$
|
|
12562
|
-
_sfc_render$
|
|
12563
|
-
_sfc_staticRenderFns$
|
|
12693
|
+
var _sfc_staticRenderFns$m = [];
|
|
12694
|
+
var __component__$m = /* @__PURE__ */ normalizeComponent(
|
|
12695
|
+
_sfc_main$m,
|
|
12696
|
+
_sfc_render$m,
|
|
12697
|
+
_sfc_staticRenderFns$m
|
|
12564
12698
|
);
|
|
12565
|
-
const PayStatus = __component__$
|
|
12699
|
+
const PayStatus = __component__$m.exports;
|
|
12566
12700
|
const qrcodeExpiredImage = "data:image/png;base64,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";
|
|
12567
|
-
const _sfc_main$
|
|
12701
|
+
const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
12568
12702
|
__name: "customer-qrcode",
|
|
12569
12703
|
setup(__props) {
|
|
12570
12704
|
const { $t } = useI18n();
|
|
@@ -12579,18 +12713,18 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
12579
12713
|
return { __sfc: true, $t, orderDetail, customerServiceTips, qrcodeExpiredImage };
|
|
12580
12714
|
}
|
|
12581
12715
|
});
|
|
12582
|
-
var _sfc_render$
|
|
12716
|
+
var _sfc_render$l = function render31() {
|
|
12583
12717
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12584
12718
|
return _c("div", { staticClass: "plv-product-c-customer-qrcode" }, [_c("div", { staticClass: "plv-product-c-customer-qrcode__img-wrap" }, [_setup.orderDetail && _setup.orderDetail.products[0].customerServiceContact ? [_c("img", { staticClass: "plv-product-c-customer-qrcode__img", attrs: { "src": _setup.orderDetail.products[0].customerServiceContact } })] : [_c("img", { staticClass: "plv-product-c-customer-qrcode__img--expired", attrs: { "src": _setup.qrcodeExpiredImage, "alt": "expired" } }), _c("span", { staticClass: "plv-product-c-customer-qrcode__img-text" }, [_vm._v(" " + _vm._s(_setup.$t("order.detail.expired")) + " ")])]], 2), _c("span", { staticClass: "plv-product-c-customer-qrcode__tips" }, [_vm._v(_vm._s(_setup.customerServiceTips))])]);
|
|
12585
12719
|
};
|
|
12586
|
-
var _sfc_staticRenderFns$
|
|
12587
|
-
var __component__$
|
|
12588
|
-
_sfc_main$
|
|
12589
|
-
_sfc_render$
|
|
12590
|
-
_sfc_staticRenderFns$
|
|
12720
|
+
var _sfc_staticRenderFns$l = [];
|
|
12721
|
+
var __component__$l = /* @__PURE__ */ normalizeComponent(
|
|
12722
|
+
_sfc_main$l,
|
|
12723
|
+
_sfc_render$l,
|
|
12724
|
+
_sfc_staticRenderFns$l
|
|
12591
12725
|
);
|
|
12592
|
-
const CustomerQrcode = __component__$
|
|
12593
|
-
const _sfc_main$
|
|
12726
|
+
const CustomerQrcode = __component__$l.exports;
|
|
12727
|
+
const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
12594
12728
|
__name: "address-item",
|
|
12595
12729
|
props: {
|
|
12596
12730
|
addressInfo: PropUtils.object().isRequired
|
|
@@ -12606,18 +12740,18 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
12606
12740
|
return { __sfc: true, props, emit, onClick: onClick2, maskChars };
|
|
12607
12741
|
}
|
|
12608
12742
|
});
|
|
12609
|
-
var _sfc_render$
|
|
12743
|
+
var _sfc_render$k = function render32() {
|
|
12610
12744
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12611
12745
|
return _c("div", { staticClass: "plv-product-address-item", on: { "click": _setup.onClick } }, [_c("div", { staticClass: "plv-product-address-item__top" }, [_c("div", { staticClass: "plv-product-address-item__content" }, [_c("div", { staticClass: "plv-product-address-item__header" }, [_c("span", [_vm._v(_vm._s(_vm.addressInfo.name))]), _c("span", { staticClass: "plv-product-address-item__header-phone" }, [_vm._v(_vm._s(_setup.maskChars(_vm.addressInfo.mobile, { start: 3, end: 6 })))])]), _c("div", { staticClass: "plv-product-address-item__address" }, [_vm._v(" " + _vm._s(_vm.addressInfo.address) + " ")])]), _vm.$slots.icon ? _c("div", { staticClass: "plv-product-address-item__icon-wrapper" }, [_vm._t("icon")], 2) : _vm._e()]), _vm._t("action")], 2);
|
|
12612
12746
|
};
|
|
12613
|
-
var _sfc_staticRenderFns$
|
|
12614
|
-
var __component__$
|
|
12615
|
-
_sfc_main$
|
|
12616
|
-
_sfc_render$
|
|
12617
|
-
_sfc_staticRenderFns$
|
|
12747
|
+
var _sfc_staticRenderFns$k = [];
|
|
12748
|
+
var __component__$k = /* @__PURE__ */ normalizeComponent(
|
|
12749
|
+
_sfc_main$k,
|
|
12750
|
+
_sfc_render$k,
|
|
12751
|
+
_sfc_staticRenderFns$k
|
|
12618
12752
|
);
|
|
12619
|
-
const AddressItem = __component__$
|
|
12620
|
-
const _sfc_main$
|
|
12753
|
+
const AddressItem = __component__$k.exports;
|
|
12754
|
+
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
12621
12755
|
__name: "express-info",
|
|
12622
12756
|
setup(__props) {
|
|
12623
12757
|
const orderDetail = inject("orderDetail");
|
|
@@ -12625,20 +12759,20 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
12625
12759
|
return { __sfc: true, orderDetail, $t, maskChars, AddressItem };
|
|
12626
12760
|
}
|
|
12627
12761
|
});
|
|
12628
|
-
var _sfc_render$
|
|
12762
|
+
var _sfc_render$j = function render33() {
|
|
12629
12763
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12630
12764
|
return _setup.orderDetail ? _c("div", [_setup.orderDetail.expressEnabled ? _c(_setup.AddressItem, { staticClass: "plv-product-c-express-info", attrs: { "address-info": _setup.orderDetail.expressInfo } }) : _c("div", { staticClass: "plv-product-c-phone-info" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.phone")))]), _c("span", { staticClass: "plv-product-c-phone-info__text" }, [_vm._v(_vm._s(_setup.maskChars(_setup.orderDetail.expressInfo.mobile, { start: 3, end: 4 })))])])], 1) : _vm._e();
|
|
12631
12765
|
};
|
|
12632
|
-
var _sfc_staticRenderFns$
|
|
12633
|
-
var __component__$
|
|
12634
|
-
_sfc_main$
|
|
12635
|
-
_sfc_render$
|
|
12636
|
-
_sfc_staticRenderFns$
|
|
12766
|
+
var _sfc_staticRenderFns$j = [];
|
|
12767
|
+
var __component__$j = /* @__PURE__ */ normalizeComponent(
|
|
12768
|
+
_sfc_main$j,
|
|
12769
|
+
_sfc_render$j,
|
|
12770
|
+
_sfc_staticRenderFns$j
|
|
12637
12771
|
);
|
|
12638
|
-
const ExpressInfo = __component__$
|
|
12772
|
+
const ExpressInfo = __component__$j.exports;
|
|
12639
12773
|
const IconWechat = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='none'%20version='1.1'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cdefs%3e%3cclipPath%20id='master_svg0_1_31044'%3e%3crect%20x='0'%20y='0'%20width='24'%20height='24'%20rx='0'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23master_svg0_1_31044)'%3e%3cg%3e%3cpath%20d='M7.9075653125,8.011559448241844C7.4913803125000005,8.011559448241844,7.0751953125,8.289016532714843,7.0751953125,8.705201532714844C7.0751953125,9.121388532714844,7.4913803125000005,9.398838532714844,7.9075653125,9.398838532714844C8.3237453125,9.398838532714844,8.6012053125,9.121388532714844,8.6012053125,8.705201532714844C8.6012053125,8.271675532714843,8.3237453125,8.011559448241844,7.9075653125,8.011559448241844ZM13.5434053125,12.034678532714842C13.265945312500001,12.034678532714842,13.0058353125,12.329478532714845,13.0058353125,12.589588532714844C13.0058353125,12.884388532714844,13.2832853125,13.144508532714845,13.5434053125,13.144508532714845C13.9595853125,13.144508532714845,14.237045312500001,12.867048532714843,14.237045312500001,12.589588532714844C14.237045312500001,12.312138532714844,13.9595853125,12.034678532714842,13.5434053125,12.034678532714842ZM11.7572753125,9.398838532714844C12.1734653125,9.398838532714844,12.450915312500001,9.104048532714843,12.450915312500001,8.705200532714844C12.450915312500001,8.289015532714844,12.1734653125,8.011558532714844,11.7572753125,8.011558532714844C11.3410953125,8.011558532714844,10.9249053125,8.289015532714844,10.9249053125,8.705200532714844C10.9249053125,9.121388532714844,11.3410953125,9.398838532714844,11.7572753125,9.398838532714844ZM16.5607453125,12.034678532714842C16.2832853125,12.034678532714842,16.0231753125,12.329478532714845,16.0231753125,12.589588532714844C16.0231753125,12.884388532714844,16.3006253125,13.144508532714845,16.5607453125,13.144508532714845C16.9769253125,13.144508532714845,17.2543953125,12.867048532714843,17.2543953125,12.589588532714844C17.2543953125,12.312138532714844,16.9769353125,12.034678532714842,16.5607453125,12.034678532714842Z'%20fill='%2328C445'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M11.9653,0.069366455078125C5.35838,0.069366455078125,0,5.427746455078125,0,12.034666455078124C0,18.641666455078123,5.35838,23.999966455078123,11.9653,23.999966455078123C18.5723,23.999966455078123,23.9306,18.641666455078123,23.9306,12.034666455078124C23.9306,5.427746455078125,18.5723,0.069366297722125,11.9653,0.069366455078125ZM9.69364,15.104066455078126C9,15.104066455078126,8.44509,14.965366455078126,7.78613,14.809266455078125L5.87861,15.780366455078125L6.41619,14.098266455078125C5.04624,13.127166455078125,4.21387,11.861266455078125,4.21387,10.352566455078126C4.21387,7.699426455078125,6.69364,5.618496455078125,9.69364,5.618496455078125C12.3815,5.618496455078125,14.7572,7.283236455078125,15.2254,9.520236455078125C15.052,9.502896455078124,14.8786,9.485546455078126,14.7052,9.485546455078126C12.104,9.520236455078125,10.0578,11.479766455078124,10.0578,13.907566455078126C10.0578,14.306366455078125,10.1272,14.687866455078124,10.2312,15.069366455078125C10.0578,15.086666455078126,9.86705,15.104066455078126,9.69364,15.104066455078126ZM17.8092,17.046266455078126L18.2254,18.433566455078125L16.7341,17.601166455078125C16.1965,17.739866455078126,15.6416,17.878566455078126,15.0867,17.878566455078126C12.4682,17.878566455078126,10.4046,16.075166455078126,10.4046,13.838166455078126C10.3873,11.618466455078124,12.4509,9.815026455078126,15.052,9.815026455078126C17.5318,9.815026455078126,19.7168,11.635866455078125,19.7168,13.855466455078124C19.7168,15.104066455078126,18.9017,16.213866455078126,17.8092,17.046266455078126Z'%20fill='%232AAE67'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
|
|
12640
12774
|
const IconAlipay = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='none'%20version='1.1'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cdefs%3e%3cclipPath%20id='master_svg0_1_31591'%3e%3crect%20x='0'%20y='0'%20width='24'%20height='24'%20rx='0'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23master_svg0_1_31591)'%3e%3cg%3e%3cpath%20d='M5.4087,13.513C5.11304,13.7391,4.81739,14.0696,4.73043,14.5043C4.6087,15.0783,4.71304,15.8087,5.25217,16.3826C5.93043,17.0609,6.95652,17.2522,7.4087,17.287C8.6087,17.3739,9.89565,16.7652,10.8696,16.1043C11.2522,15.8435,11.8957,15.3043,12.5217,14.4696C11.1304,13.7565,9.3913,12.9565,7.54783,13.0261C6.57391,13.0609,5.89565,13.2522,5.4087,13.513ZM23.0435,16.6957C23.6522,15.2522,24,13.6696,24,12C24,5.3913,18.6087,0,12,0C5.3913,0,0,5.3913,0,12C0,18.6087,5.3913,24,12,24C16,24,19.5304,22.0348,21.7217,19.0261C19.6522,18.0174,16.2609,16.313,14.1565,15.3043C13.1652,16.4522,11.687,17.5826,10.0174,18.0696C8.97391,18.3826,8.01739,18.5043,7.04348,18.2957C6.05217,18.087,5.33913,17.6348,4.92174,17.1826C4.71304,16.9391,4.46957,16.6609,4.27826,16.2957C4.29565,16.313,4.29565,16.3478,4.29565,16.3652Q4.1913,16.1913,4.12174,15.913C4.08696,15.7739,4.05217,15.6348,4.03478,15.4957C4.01739,15.3913,4.01739,15.287,4.03478,15.2C4.01739,15.0261,4.03478,14.8348,4.06957,14.6435C4.17391,14.1565,4.36522,13.6174,4.90435,13.113C6.05217,11.9826,7.6,11.9304,8.4,11.9304C9.58261,11.9478,11.6348,12.4522,13.3739,13.0783C13.8609,12.0522,14.1739,10.9739,14.3652,10.2261L7.14783,10.2261L7.14783,9.44348L10.8522,9.44348L10.8522,7.87826L6.38261,7.87826L6.38261,7.07826L10.8522,7.07826L10.8522,5.51305C10.8522,5.30435,10.9043,5.13044,11.2348,5.13044L12.9913,5.13044L12.9913,7.07826L17.8435,7.07826L17.8435,7.86087L12.9913,7.86087L12.9913,9.42609L16.8696,9.42609Q16.4696,11.6,15.2696,13.7391C17.9652,14.6957,21.7739,16.1913,23.0435,16.6957Z'%20fill='%231777FF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
|
|
12641
|
-
const _sfc_main$
|
|
12775
|
+
const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
12642
12776
|
__name: "payment-method",
|
|
12643
12777
|
props: {
|
|
12644
12778
|
/**
|
|
@@ -12684,7 +12818,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
12684
12818
|
return { __sfc: true, props, emit, $t, PaymentProvider, defaultPaymentMethods, paymentMethodList, selectPaymentMethod, PlvRadio };
|
|
12685
12819
|
}
|
|
12686
12820
|
});
|
|
12687
|
-
var _sfc_render$
|
|
12821
|
+
var _sfc_render$i = function render34() {
|
|
12688
12822
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12689
12823
|
return _c("div", { staticClass: "plv-product-c-payment-methods" }, [_c("div", { staticClass: "plv-product-c-payment-methods__title" }, [_vm._v(" " + _vm._s(_setup.$t("order.detail.paymentMethod")) + " ")]), _c("div", { staticClass: "plv-product-c-payment-methods__list" }, _vm._l(_setup.paymentMethodList, function(method4, index2) {
|
|
12690
12824
|
return _c("div", { key: index2, staticClass: "plv-product-c-payment-methods__item", on: { "click": function($event) {
|
|
@@ -12692,14 +12826,14 @@ var _sfc_render$d = function render34() {
|
|
|
12692
12826
|
} } }, [_c("div", { staticClass: "plv-product-c-payment-methods__item-info" }, [_c("div", { staticClass: "plv-product-c-payment-methods__item-icon" }, [_c("img", { attrs: { "src": method4.icon, "alt": "icon" } })]), _c("span", { staticClass: "plv-product-c-payment-methods__item-label" }, [_vm._v(_vm._s(method4.label))])]), _c(_setup.PlvRadio, { attrs: { "checked": _vm.value === method4.value, "disabled": _vm.disabled } })], 1);
|
|
12693
12827
|
}), 0)]);
|
|
12694
12828
|
};
|
|
12695
|
-
var _sfc_staticRenderFns$
|
|
12696
|
-
var __component__$
|
|
12697
|
-
_sfc_main$
|
|
12698
|
-
_sfc_render$
|
|
12699
|
-
_sfc_staticRenderFns$
|
|
12829
|
+
var _sfc_staticRenderFns$i = [];
|
|
12830
|
+
var __component__$i = /* @__PURE__ */ normalizeComponent(
|
|
12831
|
+
_sfc_main$i,
|
|
12832
|
+
_sfc_render$i,
|
|
12833
|
+
_sfc_staticRenderFns$i
|
|
12700
12834
|
);
|
|
12701
|
-
const PaymentMethod = __component__$
|
|
12702
|
-
const _sfc_main$
|
|
12835
|
+
const PaymentMethod = __component__$i.exports;
|
|
12836
|
+
const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
12703
12837
|
__name: "order-info",
|
|
12704
12838
|
setup(__props) {
|
|
12705
12839
|
const { $t } = useI18n();
|
|
@@ -12722,18 +12856,18 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
12722
12856
|
return { __sfc: true, $t, orderDetail, OrderStatus, ProductDeliveryType, orderCreatedAt, orderDeliveryAt, orderFinishAt };
|
|
12723
12857
|
}
|
|
12724
12858
|
});
|
|
12725
|
-
var _sfc_render$
|
|
12859
|
+
var _sfc_render$h = function render35() {
|
|
12726
12860
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12727
12861
|
return _setup.orderDetail ? _c("div", [_c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.orderNo")))]), _c("span", [_vm._v(_vm._s(_setup.orderDetail.orderNo))])]), _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.createTime")))]), _c("span", [_vm._v(_vm._s(_setup.orderCreatedAt))])]), _setup.orderDetail.status !== _setup.OrderStatus.WaitPay && _setup.orderDetail.status !== _setup.OrderStatus.Close ? _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.payTime")))]), _c("span", [_vm._v(_vm._s(_setup.orderDetail.payAt))])]) : _vm._e(), (_setup.orderDetail.status === _setup.OrderStatus.Finish || _setup.orderDetail.status === _setup.OrderStatus.Delivering) && _setup.orderDetail.products[0].deliveryType === _setup.ProductDeliveryType.Express ? _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.deliveryTime")))]), _c("span", [_vm._v(_vm._s(_setup.orderDeliveryAt))])]) : _vm._e(), _setup.orderDetail.status === _setup.OrderStatus.Finish ? _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.finishTime")))]), _c("span", [_vm._v(_vm._s(_setup.orderFinishAt))])]) : _vm._e(), _setup.orderDetail.status !== _setup.OrderStatus.WaitPay && _setup.orderDetail.status !== _setup.OrderStatus.Close ? _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.actualPay")))]), _c("div", { staticClass: "plv-product-c-order-info__amount" }, [_c("span", { staticClass: "plv-product-c-order-info__amount-symbol" }, [_vm._v("¥")]), _c("span", { staticClass: "plv-product-c-order-info__amount-value plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.orderDetail.amount))])])]) : _vm._e()]) : _vm._e();
|
|
12728
12862
|
};
|
|
12729
|
-
var _sfc_staticRenderFns$
|
|
12730
|
-
var __component__$
|
|
12731
|
-
_sfc_main$
|
|
12732
|
-
_sfc_render$
|
|
12733
|
-
_sfc_staticRenderFns$
|
|
12863
|
+
var _sfc_staticRenderFns$h = [];
|
|
12864
|
+
var __component__$h = /* @__PURE__ */ normalizeComponent(
|
|
12865
|
+
_sfc_main$h,
|
|
12866
|
+
_sfc_render$h,
|
|
12867
|
+
_sfc_staticRenderFns$h
|
|
12734
12868
|
);
|
|
12735
|
-
const OrderInfo = __component__$
|
|
12736
|
-
const _sfc_main$
|
|
12869
|
+
const OrderInfo = __component__$h.exports;
|
|
12870
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
12737
12871
|
__name: "bottom-operate-panel",
|
|
12738
12872
|
emits: {
|
|
12739
12873
|
"click-order-btn": emitFunc()
|
|
@@ -12752,7 +12886,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
12752
12886
|
return { __sfc: true, emit, orderDetail, $t, OrderStatus, ProductDeliveryType, operatePanelVisible, onOrderBtnClick, OrderButtonAction };
|
|
12753
12887
|
}
|
|
12754
12888
|
});
|
|
12755
|
-
var _sfc_render$
|
|
12889
|
+
var _sfc_render$g = function render36() {
|
|
12756
12890
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12757
12891
|
return _setup.orderDetail && _setup.operatePanelVisible ? _c("div", { staticClass: "plv-product-c-bottom-operate-panel" }, [_setup.orderDetail.status === _setup.OrderStatus.WaitPay ? _c("div", { staticClass: "plv-product-c-bottom-operate-panel__item" }, [_c("div", [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.actualPay")))]), _c("span", [_vm._v("¥")]), _c("span", [_vm._v(_vm._s(_setup.orderDetail.amount))])]), _c("span", { staticClass: "plv-product-c-bottom-operate-panel__btn", on: { "click": function($event) {
|
|
12758
12892
|
return _setup.onOrderBtnClick(_setup.OrderButtonAction.Pay);
|
|
@@ -12762,13 +12896,13 @@ var _sfc_render$b = function render36() {
|
|
|
12762
12896
|
return _setup.onOrderBtnClick(_setup.OrderButtonAction.ApplyRefund);
|
|
12763
12897
|
} } }, [_c("span", { staticClass: "plv-product-c-bottom-operate-panel__btn plv-product-c-bottom-operate-panel__btn-refund" }, [_vm._v(" " + _vm._s(_setup.$t("order.applyRefund")) + " ")])]) : _vm._e()]) : _vm._e();
|
|
12764
12898
|
};
|
|
12765
|
-
var _sfc_staticRenderFns$
|
|
12766
|
-
var __component__$
|
|
12767
|
-
_sfc_main$
|
|
12768
|
-
_sfc_render$
|
|
12769
|
-
_sfc_staticRenderFns$
|
|
12899
|
+
var _sfc_staticRenderFns$g = [];
|
|
12900
|
+
var __component__$g = /* @__PURE__ */ normalizeComponent(
|
|
12901
|
+
_sfc_main$g,
|
|
12902
|
+
_sfc_render$g,
|
|
12903
|
+
_sfc_staticRenderFns$g
|
|
12770
12904
|
);
|
|
12771
|
-
const BottomOperatePanel = __component__$
|
|
12905
|
+
const BottomOperatePanel = __component__$g.exports;
|
|
12772
12906
|
const orderDetailProps = () => __spreadProps(__spreadValues({}, orderProps()), {
|
|
12773
12907
|
/** 是否同步支付状态 */
|
|
12774
12908
|
syncPayStatus: PropUtils.bool.def(false),
|
|
@@ -12857,7 +12991,7 @@ const useOrderDetail = (options) => {
|
|
|
12857
12991
|
customerQrcodeVisible
|
|
12858
12992
|
};
|
|
12859
12993
|
};
|
|
12860
|
-
const _sfc_main$
|
|
12994
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
12861
12995
|
__name: "order-detail",
|
|
12862
12996
|
props: orderDetailProps(),
|
|
12863
12997
|
setup(__props) {
|
|
@@ -12882,7 +13016,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
12882
13016
|
return { __sfc: true, props, orderDetail, OrderStatus, selectedPayMethod, customerQrcodeVisible, supportPayProviders, handleOrderBtnClick, getPayProviders, onClickOrderBtn, PurchaseProduct, PayStatus, CustomerQrcode, ExpressInfo, PaymentMethod, OrderInfo, BottomOperatePanel };
|
|
12883
13017
|
}
|
|
12884
13018
|
});
|
|
12885
|
-
var _sfc_render$
|
|
13019
|
+
var _sfc_render$f = function render37() {
|
|
12886
13020
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12887
13021
|
return _setup.orderDetail ? _c("div", { staticClass: "plv-product-order-detail" }, [_c("div", { staticClass: "plv-product-order-detail__content" }, [_c(_setup.PayStatus), _setup.customerQrcodeVisible ? _c(_setup.CustomerQrcode) : _vm._e(), _c(_setup.ExpressInfo), _c("div", { staticClass: "plv-product-order-detail__info" }, [_vm._l(_setup.orderDetail.products, function(product, index2) {
|
|
12888
13022
|
return _c(_setup.PurchaseProduct, { key: index2, attrs: { "product": product } });
|
|
@@ -12890,13 +13024,13 @@ var _sfc_render$a = function render37() {
|
|
|
12890
13024
|
_setup.selectedPayMethod = $$v;
|
|
12891
13025
|
}, expression: "selectedPayMethod" } }) : _vm._e(), _c(_setup.OrderInfo)], 2)], 1), _c(_setup.BottomOperatePanel, { on: { "click-order-btn": _setup.onClickOrderBtn } })], 1) : _vm._e();
|
|
12892
13026
|
};
|
|
12893
|
-
var _sfc_staticRenderFns$
|
|
12894
|
-
var __component__$
|
|
12895
|
-
_sfc_main$
|
|
12896
|
-
_sfc_render$
|
|
12897
|
-
_sfc_staticRenderFns$
|
|
13027
|
+
var _sfc_staticRenderFns$f = [];
|
|
13028
|
+
var __component__$f = /* @__PURE__ */ normalizeComponent(
|
|
13029
|
+
_sfc_main$f,
|
|
13030
|
+
_sfc_render$f,
|
|
13031
|
+
_sfc_staticRenderFns$f
|
|
12898
13032
|
);
|
|
12899
|
-
const OrderDetail = __component__$
|
|
13033
|
+
const OrderDetail = __component__$f.exports;
|
|
12900
13034
|
const useOrderListPopup = () => {
|
|
12901
13035
|
const { $t } = useI18n();
|
|
12902
13036
|
const visible = ref(false);
|
|
@@ -12950,7 +13084,7 @@ const useOrderListPopup = () => {
|
|
|
12950
13084
|
handleBack
|
|
12951
13085
|
};
|
|
12952
13086
|
};
|
|
12953
|
-
const _sfc_main$
|
|
13087
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
12954
13088
|
__name: "order-list-popup",
|
|
12955
13089
|
props: orderListProps(),
|
|
12956
13090
|
setup(__props, { expose }) {
|
|
@@ -12973,20 +13107,20 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
12973
13107
|
return { __sfc: true, props, visible, orderListRef, currentRoute, orderNo, popupTitle, OrderListPopupRoute: OrderListPopupRoute2, open, close, handleBack, CommonPopup, productEvents, OrderDetail, OrderList };
|
|
12974
13108
|
}
|
|
12975
13109
|
});
|
|
12976
|
-
var _sfc_render$
|
|
13110
|
+
var _sfc_render$e = function render38() {
|
|
12977
13111
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
12978
13112
|
return _c(_setup.CommonPopup, { attrs: { "background": "#f7f8fa", "backable": "", "closeable": false, "title": _setup.popupTitle, "open-event": _setup.productEvents.OpenProductOrderListPopup, "custom-back": _setup.handleBack }, model: { value: _setup.visible, callback: function($$v) {
|
|
12979
13113
|
_setup.visible = $$v;
|
|
12980
13114
|
}, expression: "visible" } }, [_c("div", { staticClass: "plv-product-order-list-popup__wrap" }, [_c("transition", { attrs: { "name": "plv-product-order-list-popup__fade" } }, [_setup.currentRoute === _setup.OrderListPopupRoute.OrderList ? _c(_setup.OrderList, _vm._b({ ref: "orderListRef", staticClass: "plv-product-order-list-popup__order-list" }, "order-list", _setup.props, false)) : _vm._e()], 1), _c("transition", { attrs: { "name": "plv-product-order-list-popup__fade" } }, [_setup.currentRoute === _setup.OrderListPopupRoute.OrderDetail && _setup.orderNo ? _c(_setup.OrderDetail, _vm._b({ staticClass: "plv-product-order-list-popup__order-detail", attrs: { "order-no": _setup.orderNo } }, "order-detail", _setup.props, false)) : _vm._e()], 1)], 1)]);
|
|
12981
13115
|
};
|
|
12982
|
-
var _sfc_staticRenderFns$
|
|
12983
|
-
var __component__$
|
|
12984
|
-
_sfc_main$
|
|
12985
|
-
_sfc_render$
|
|
12986
|
-
_sfc_staticRenderFns$
|
|
13116
|
+
var _sfc_staticRenderFns$e = [];
|
|
13117
|
+
var __component__$e = /* @__PURE__ */ normalizeComponent(
|
|
13118
|
+
_sfc_main$e,
|
|
13119
|
+
_sfc_render$e,
|
|
13120
|
+
_sfc_staticRenderFns$e
|
|
12987
13121
|
);
|
|
12988
|
-
const orderListPopup = __component__$
|
|
12989
|
-
const _sfc_main$
|
|
13122
|
+
const orderListPopup = __component__$e.exports;
|
|
13123
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
12990
13124
|
__name: "form-wrap",
|
|
12991
13125
|
props: formWrapProps(),
|
|
12992
13126
|
emits: formWrapEmits(),
|
|
@@ -13003,19 +13137,19 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
13003
13137
|
return { __sfc: true, props, emit, validateCurrentForm, submitForm };
|
|
13004
13138
|
}
|
|
13005
13139
|
});
|
|
13006
|
-
var _sfc_render$
|
|
13140
|
+
var _sfc_render$d = function render39() {
|
|
13007
13141
|
var _vm = this, _c = _vm._self._c;
|
|
13008
13142
|
_vm._self._setupProxy;
|
|
13009
13143
|
return _c("div", { staticClass: "plv-product-form-wrap" }, [_vm._t("default")], 2);
|
|
13010
13144
|
};
|
|
13011
|
-
var _sfc_staticRenderFns$
|
|
13012
|
-
var __component__$
|
|
13013
|
-
_sfc_main$
|
|
13014
|
-
_sfc_render$
|
|
13015
|
-
_sfc_staticRenderFns$
|
|
13145
|
+
var _sfc_staticRenderFns$d = [];
|
|
13146
|
+
var __component__$d = /* @__PURE__ */ normalizeComponent(
|
|
13147
|
+
_sfc_main$d,
|
|
13148
|
+
_sfc_render$d,
|
|
13149
|
+
_sfc_staticRenderFns$d
|
|
13016
13150
|
);
|
|
13017
|
-
const FormWrap = __component__$
|
|
13018
|
-
const _sfc_main$
|
|
13151
|
+
const FormWrap = __component__$d.exports;
|
|
13152
|
+
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
13019
13153
|
__name: "form-item",
|
|
13020
13154
|
props: formItemProps(),
|
|
13021
13155
|
setup(__props, { expose }) {
|
|
@@ -13037,7 +13171,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
13037
13171
|
return { __sfc: true, props, required: required4, labelText, labelModel, labelStyle, itemErrorMessage, contentWidthStyle, contentStyle, formItemIsError, formItemInstance, isMobile };
|
|
13038
13172
|
}
|
|
13039
13173
|
});
|
|
13040
|
-
var _sfc_render$
|
|
13174
|
+
var _sfc_render$c = function render40() {
|
|
13041
13175
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
13042
13176
|
return _c("div", { staticClass: "plv-product-form-item", class: {
|
|
13043
13177
|
"plv-product-form-item--header": _setup.labelModel === "header",
|
|
@@ -13047,14 +13181,14 @@ var _sfc_render$7 = function render40() {
|
|
|
13047
13181
|
"plv-product-form-item__content--has-width": !!_setup.contentWidthStyle
|
|
13048
13182
|
}, style: _setup.contentStyle }, [_vm._t("default"), _setup.itemErrorMessage ? _c("div", { staticClass: "plv-product-form-item__content-error" }, [_vm._v(" " + _vm._s(_setup.itemErrorMessage) + " ")]) : _vm._e()], 2)]);
|
|
13049
13183
|
};
|
|
13050
|
-
var _sfc_staticRenderFns$
|
|
13051
|
-
var __component__$
|
|
13052
|
-
_sfc_main$
|
|
13053
|
-
_sfc_render$
|
|
13054
|
-
_sfc_staticRenderFns$
|
|
13184
|
+
var _sfc_staticRenderFns$c = [];
|
|
13185
|
+
var __component__$c = /* @__PURE__ */ normalizeComponent(
|
|
13186
|
+
_sfc_main$c,
|
|
13187
|
+
_sfc_render$c,
|
|
13188
|
+
_sfc_staticRenderFns$c
|
|
13055
13189
|
);
|
|
13056
|
-
const FormItem = __component__$
|
|
13057
|
-
const _sfc_main$
|
|
13190
|
+
const FormItem = __component__$c.exports;
|
|
13191
|
+
const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
13058
13192
|
__name: "choose-address",
|
|
13059
13193
|
props: {
|
|
13060
13194
|
addressInfo: PropUtils.object(),
|
|
@@ -13091,20 +13225,20 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
13091
13225
|
return { __sfc: true, props, emit, $t, getEmitter, addressList, getAddressList, handleClick, ProductIconArrowRight, AddressItem };
|
|
13092
13226
|
}
|
|
13093
13227
|
});
|
|
13094
|
-
var _sfc_render$
|
|
13228
|
+
var _sfc_render$b = function render41() {
|
|
13095
13229
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
13096
13230
|
return _c("div", { staticClass: "plv-product-c-choose-address", on: { "click": _setup.handleClick } }, [_vm.addressInfo ? _c(_setup.AddressItem, { attrs: { "address-info": _vm.addressInfo }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
|
|
13097
13231
|
return [_c(_setup.ProductIconArrowRight, { staticClass: "plv-product-c-choose-address__arrow-icon" })];
|
|
13098
13232
|
}, proxy: true }], null, false, 3992671562) }) : _c("div", { staticClass: "plv-product-c-choose-address__empty" }, [_c("span", { staticClass: "plv-product-c-choose-address__empty-text" }, [_vm._v(_vm._s(_setup.$t("order.chooseAddress")))]), _c("span", { staticClass: "plv-product-c-choose-address__empty-action" }, [_c("span", { staticClass: "plv-product-c-choose-address__empty-action-text" }, [_vm._v(_vm._s(_setup.$t("order.add")))]), _c(_setup.ProductIconArrowRight, { staticClass: "plv-product-c-choose-address__arrow-icon" })], 1)])], 1);
|
|
13099
13233
|
};
|
|
13100
|
-
var _sfc_staticRenderFns$
|
|
13101
|
-
var __component__$
|
|
13102
|
-
_sfc_main$
|
|
13103
|
-
_sfc_render$
|
|
13104
|
-
_sfc_staticRenderFns$
|
|
13234
|
+
var _sfc_staticRenderFns$b = [];
|
|
13235
|
+
var __component__$b = /* @__PURE__ */ normalizeComponent(
|
|
13236
|
+
_sfc_main$b,
|
|
13237
|
+
_sfc_render$b,
|
|
13238
|
+
_sfc_staticRenderFns$b
|
|
13105
13239
|
);
|
|
13106
|
-
const ChooseAddress = __component__$
|
|
13107
|
-
const _sfc_main$
|
|
13240
|
+
const ChooseAddress = __component__$b.exports;
|
|
13241
|
+
const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
13108
13242
|
__name: "submit-bar",
|
|
13109
13243
|
props: {
|
|
13110
13244
|
/** 价格 */
|
|
@@ -13125,17 +13259,17 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
13125
13259
|
return { __sfc: true, props, emit, $t, onSubmit };
|
|
13126
13260
|
}
|
|
13127
13261
|
});
|
|
13128
|
-
var _sfc_render$
|
|
13262
|
+
var _sfc_render$a = function render42() {
|
|
13129
13263
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
13130
13264
|
return _c("div", { staticClass: "plv-product-c-order-submit-bar" }, [_c("div", { staticClass: "plv-product-c-order-submit-bar__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.actualPay")))]), _c("span", { staticClass: "plv-product-c-order-submit-bar__price" }, [_c("span", [_vm._v("¥")]), _c("span", { staticClass: "plv-product-c-order-submit-bar__price-integer plv-font-din-pro-regular" }, [_vm._v(_vm._s(_vm.price))])])]), _c("button", { staticClass: "plv-product-c-order-submit-bar__submit-btn", attrs: { "disabled": _vm.disabled }, on: { "click": _setup.onSubmit } }, [_vm._v(" " + _vm._s(_setup.$t("order.submitOrder")) + " ")])]);
|
|
13131
13265
|
};
|
|
13132
|
-
var _sfc_staticRenderFns$
|
|
13133
|
-
var __component__$
|
|
13134
|
-
_sfc_main$
|
|
13135
|
-
_sfc_render$
|
|
13136
|
-
_sfc_staticRenderFns$
|
|
13266
|
+
var _sfc_staticRenderFns$a = [];
|
|
13267
|
+
var __component__$a = /* @__PURE__ */ normalizeComponent(
|
|
13268
|
+
_sfc_main$a,
|
|
13269
|
+
_sfc_render$a,
|
|
13270
|
+
_sfc_staticRenderFns$a
|
|
13137
13271
|
);
|
|
13138
|
-
const SubmitBar = __component__$
|
|
13272
|
+
const SubmitBar = __component__$a.exports;
|
|
13139
13273
|
const orderConfirmProps = () => __spreadProps(__spreadValues(__spreadValues({}, orderProps()), paymentProps()), {
|
|
13140
13274
|
addressTarget: PropUtils.object().isRequired,
|
|
13141
13275
|
products: PropUtils.array().def([]),
|
|
@@ -13264,7 +13398,7 @@ const useOrderConfirm = (options) => {
|
|
|
13264
13398
|
submit
|
|
13265
13399
|
};
|
|
13266
13400
|
};
|
|
13267
|
-
const _sfc_main$
|
|
13401
|
+
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
13268
13402
|
__name: "order-confirm",
|
|
13269
13403
|
props: orderConfirmProps(),
|
|
13270
13404
|
emits: orderConfirmEmits(),
|
|
@@ -13289,7 +13423,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
13289
13423
|
return { __sfc: true, props, emit, supportPayProviders, getPayProviders, $t, chooseAddressInfo, formRef, formRules, formData, totalPrice, selectedPaymentMethod, ProductDeliveryType, submit, FormWrap, FormItem, FormInput, PurchaseProduct, PaymentMethod, ChooseAddress, SubmitBar };
|
|
13290
13424
|
}
|
|
13291
13425
|
});
|
|
13292
|
-
var _sfc_render$
|
|
13426
|
+
var _sfc_render$9 = function render43() {
|
|
13293
13427
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
13294
13428
|
return _c("div", { staticClass: "plv-product-order" }, [_c("div", { staticClass: "plv-product-order__content" }, [_vm.products[0] && _vm.products[0].deliveryType === _setup.ProductDeliveryType.Express ? _c(_setup.ChooseAddress, { attrs: { "address-info": _setup.chooseAddressInfo, "address-target": _vm.addressTarget } }) : _c(_setup.FormWrap, { ref: "formRef", attrs: { "form-rules": _setup.formRules, "label-width": 84, "form-data": _setup.formData } }, [_c(_setup.FormItem, { staticClass: "plv-product-order__form-item", attrs: { "form-field": "phone", "required": "", "highlight-error": "", "label": _setup.$t("order.phone") } }, [_c(_setup.FormInput, { attrs: { "type": "number", "placeholder": _setup.$t("order.phonePlaceholder"), "clearable": "" }, model: { value: _setup.formData.phone, callback: function($$v) {
|
|
13295
13429
|
_vm.$set(_setup.formData, "phone", $$v);
|
|
@@ -13299,13 +13433,13 @@ var _sfc_render$4 = function render43() {
|
|
|
13299
13433
|
_setup.selectedPaymentMethod = $$v;
|
|
13300
13434
|
}, expression: "selectedPaymentMethod" } })] : _vm._e()], 2), _c(_setup.SubmitBar, { attrs: { "price": _setup.totalPrice, "disabled": _vm.disabledSubmit }, on: { "submit": _setup.submit } })], 1);
|
|
13301
13435
|
};
|
|
13302
|
-
var _sfc_staticRenderFns$
|
|
13303
|
-
var __component__$
|
|
13304
|
-
_sfc_main$
|
|
13305
|
-
_sfc_render$
|
|
13306
|
-
_sfc_staticRenderFns$
|
|
13436
|
+
var _sfc_staticRenderFns$9 = [];
|
|
13437
|
+
var __component__$9 = /* @__PURE__ */ normalizeComponent(
|
|
13438
|
+
_sfc_main$9,
|
|
13439
|
+
_sfc_render$9,
|
|
13440
|
+
_sfc_staticRenderFns$9
|
|
13307
13441
|
);
|
|
13308
|
-
const OrderConfirm = __component__$
|
|
13442
|
+
const OrderConfirm = __component__$9.exports;
|
|
13309
13443
|
const addressListProps = () => ({
|
|
13310
13444
|
addressTarget: PropUtils.object().isRequired,
|
|
13311
13445
|
addressId: PropUtils.number.def(void 0)
|
|
@@ -13382,7 +13516,7 @@ const useAddressList = (options) => {
|
|
|
13382
13516
|
deleteAddress
|
|
13383
13517
|
};
|
|
13384
13518
|
};
|
|
13385
|
-
const _sfc_main$
|
|
13519
|
+
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
13386
13520
|
__name: "address-list",
|
|
13387
13521
|
props: addressListProps(),
|
|
13388
13522
|
emits: addressListEmits(),
|
|
@@ -13402,7 +13536,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
13402
13536
|
return { __sfc: true, props, emit, $t, scrollRef, addressList, selectedAddressId, onScroll: onScroll2, onClick: onClick2, onChooseAddress, onAddressEdit, deleteAddress, ProductIconChooseAddress, AddressItem };
|
|
13403
13537
|
}
|
|
13404
13538
|
});
|
|
13405
|
-
var _sfc_render$
|
|
13539
|
+
var _sfc_render$8 = function render44() {
|
|
13406
13540
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
13407
13541
|
return _c("div", { staticClass: "plv-product-address-list" }, [_c("div", { ref: "scrollRef", staticClass: "plv-product-address-list__content", on: { "scroll": _setup.onScroll } }, _vm._l(_setup.addressList, function(address, index2) {
|
|
13408
13542
|
return _c(_setup.AddressItem, { key: index2, staticClass: "plv-product-address-list__address-item", attrs: { "address-info": address }, on: { "choose-address": _setup.onChooseAddress }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
|
|
@@ -13418,13 +13552,13 @@ var _sfc_render$3 = function render44() {
|
|
|
13418
13552
|
}, proxy: true }], null, true) });
|
|
13419
13553
|
}), 1), _c("div", { staticClass: "plv-product-address-list__footer" }, [_c("button", { staticClass: "plv-product-address-list__footer-btn", on: { "click": _setup.onClick } }, [_vm._v(" " + _vm._s(_setup.$t("order.addAddress")) + " ")])])]);
|
|
13420
13554
|
};
|
|
13421
|
-
var _sfc_staticRenderFns$
|
|
13422
|
-
var __component__$
|
|
13423
|
-
_sfc_main$
|
|
13424
|
-
_sfc_render$
|
|
13425
|
-
_sfc_staticRenderFns$
|
|
13555
|
+
var _sfc_staticRenderFns$8 = [];
|
|
13556
|
+
var __component__$8 = /* @__PURE__ */ normalizeComponent(
|
|
13557
|
+
_sfc_main$8,
|
|
13558
|
+
_sfc_render$8,
|
|
13559
|
+
_sfc_staticRenderFns$8
|
|
13426
13560
|
);
|
|
13427
|
-
const AddressList = __component__$
|
|
13561
|
+
const AddressList = __component__$8.exports;
|
|
13428
13562
|
var areaPicker;
|
|
13429
13563
|
var hasRequiredAreaPicker;
|
|
13430
13564
|
function requireAreaPicker() {
|
|
@@ -14713,7 +14847,7 @@ const useFormAreaPicker = (options) => {
|
|
|
14713
14847
|
onClickConfirm
|
|
14714
14848
|
};
|
|
14715
14849
|
};
|
|
14716
|
-
const _sfc_main$
|
|
14850
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
14717
14851
|
__name: "form-area-picker",
|
|
14718
14852
|
props: formAreaPickerProps(),
|
|
14719
14853
|
emits: formAreaPickerEmit(),
|
|
@@ -14742,7 +14876,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14742
14876
|
return { __sfc: true, props, emit, $t, innerValue, pickerVisible, openPicker, closePicker, inputValue, inputPlaceholder, instance, formItemIsError, onClickConfirm, innerIsFinish, refreshKey, onHiddenPicker, FormInput, ProductIconArrowRight, CommonPopup, PlvAreaPicker };
|
|
14743
14877
|
}
|
|
14744
14878
|
});
|
|
14745
|
-
var _sfc_render$
|
|
14879
|
+
var _sfc_render$7 = function render45() {
|
|
14746
14880
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
14747
14881
|
return _c("div", { staticClass: "plv-product-form-area-picker", class: {
|
|
14748
14882
|
"plv-product-form-area-picker--error": _setup.formItemIsError
|
|
@@ -14756,13 +14890,13 @@ var _sfc_render$2 = function render45() {
|
|
|
14756
14890
|
_setup.innerValue = $$v;
|
|
14757
14891
|
}, expression: "innerValue" } })], 1)])], 1);
|
|
14758
14892
|
};
|
|
14759
|
-
var _sfc_staticRenderFns$
|
|
14760
|
-
var __component__$
|
|
14761
|
-
_sfc_main$
|
|
14762
|
-
_sfc_render$
|
|
14763
|
-
_sfc_staticRenderFns$
|
|
14893
|
+
var _sfc_staticRenderFns$7 = [];
|
|
14894
|
+
var __component__$7 = /* @__PURE__ */ normalizeComponent(
|
|
14895
|
+
_sfc_main$7,
|
|
14896
|
+
_sfc_render$7,
|
|
14897
|
+
_sfc_staticRenderFns$7
|
|
14764
14898
|
);
|
|
14765
|
-
const AreaPicker = __component__$
|
|
14899
|
+
const AreaPicker = __component__$7.exports;
|
|
14766
14900
|
function validatePhoneNumber(phoneNumber, areaCode = "+86") {
|
|
14767
14901
|
if (areaCode !== "+86") {
|
|
14768
14902
|
return /(^\d{5,20}$)/.test(phoneNumber);
|
|
@@ -14904,7 +15038,7 @@ const useAddressEdit = (options) => {
|
|
|
14904
15038
|
$t
|
|
14905
15039
|
};
|
|
14906
15040
|
};
|
|
14907
|
-
const _sfc_main$
|
|
15041
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
14908
15042
|
__name: "address-edit",
|
|
14909
15043
|
props: addressEditProps(),
|
|
14910
15044
|
setup(__props) {
|
|
@@ -14922,7 +15056,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
14922
15056
|
return { __sfc: true, props, formRef, areaPickerRef, formFieldList, formData, formRules, triggerSubmit, submitReceiveForm, $t, FormWrap, FormItem, FormInput, AreaPicker };
|
|
14923
15057
|
}
|
|
14924
15058
|
});
|
|
14925
|
-
var _sfc_render$
|
|
15059
|
+
var _sfc_render$6 = function render46() {
|
|
14926
15060
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
14927
15061
|
return _setup.formFieldList.length ? _c("div", { staticClass: "plv-product-address-edit" }, [_c(_setup.FormWrap, { ref: "formRef", staticClass: "plv-product-address-edit__form", attrs: { "label-width": 84, "form-data": _setup.formData, "form-rules": _setup.formRules, "submit-action": _setup.submitReceiveForm } }, [_vm._l(_setup.formFieldList, function(item, index2) {
|
|
14928
15062
|
return [item.formType === "area" ? [_c(_setup.FormItem, { key: `area-picker-${index2}`, attrs: { "label": _setup.$t("addressEdit.choiceAddress"), "form-field": "areaPickerValue" } }, [_c(_setup.AreaPicker, { ref: "areaPickerRef", refInFor: true, attrs: { "area-picker-text": _setup.formData.areaPickerText, "placeholder": _setup.$t("addressEdit.addressPlaceholder") }, on: { "update:areaPickerText": function($event) {
|
|
@@ -14938,13 +15072,13 @@ var _sfc_render$1 = function render46() {
|
|
|
14938
15072
|
}, expression: "formData[index]" } })], 1)];
|
|
14939
15073
|
}), _c("div", { staticClass: "plv-product-address-edit__footer" }, [_c("button", { staticClass: "plv-product-address-edit__submit-btn", class: { "plv-product-address-edit__submit-btn--disabled": _vm.disabledSubmit }, attrs: { "disabled": _vm.disabledSubmit }, on: { "click": _setup.triggerSubmit } }, [_vm._v(" " + _vm._s(_setup.$t("addressEdit.submit")) + " ")])])], 2)], 1) : _vm._e();
|
|
14940
15074
|
};
|
|
14941
|
-
var _sfc_staticRenderFns$
|
|
14942
|
-
var __component__$
|
|
14943
|
-
_sfc_main$
|
|
14944
|
-
_sfc_render$
|
|
14945
|
-
_sfc_staticRenderFns$
|
|
15075
|
+
var _sfc_staticRenderFns$6 = [];
|
|
15076
|
+
var __component__$6 = /* @__PURE__ */ normalizeComponent(
|
|
15077
|
+
_sfc_main$6,
|
|
15078
|
+
_sfc_render$6,
|
|
15079
|
+
_sfc_staticRenderFns$6
|
|
14946
15080
|
);
|
|
14947
|
-
const AddressEdit = __component__$
|
|
15081
|
+
const AddressEdit = __component__$6.exports;
|
|
14948
15082
|
var OrderPopupRoute = /* @__PURE__ */ ((OrderPopupRoute2) => {
|
|
14949
15083
|
OrderPopupRoute2["Order"] = "order";
|
|
14950
15084
|
OrderPopupRoute2["AddressList"] = "addressList";
|
|
@@ -15277,7 +15411,7 @@ const useOrderPopup = (options) => {
|
|
|
15277
15411
|
resetRoute
|
|
15278
15412
|
};
|
|
15279
15413
|
};
|
|
15280
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
15414
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
15281
15415
|
__name: "order-popup",
|
|
15282
15416
|
props: orderPopupProps(),
|
|
15283
15417
|
setup(__props, { expose }) {
|
|
@@ -15303,32 +15437,627 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15303
15437
|
return { __sfc: true, props, instance, currentRoute, popupTitle, popupContentHeightPercent, visible, products, editAddressFormData, submittingOrder, submittingAddress, currentChooseAddress, onChooseAddress, onClearAddress, submitOrder, submitAddress, popRoute, CommonPopup, Loading, productEvents, AddressList, AddressEdit, OrderConfirm, OrderPopupRoute };
|
|
15304
15438
|
}
|
|
15305
15439
|
});
|
|
15306
|
-
var _sfc_render = function render47() {
|
|
15440
|
+
var _sfc_render$5 = function render47() {
|
|
15307
15441
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
15308
15442
|
return _c(_setup.CommonPopup, { attrs: { "backable": "", "closeable": false, "title": _setup.popupTitle, "background": _setup.currentRoute === _setup.OrderPopupRoute.AddressEdit ? "#fff" : "#f7f8fa", "content-height-percent": _setup.popupContentHeightPercent, "open-event": _setup.productEvents.OpenProductOrderPopup, "custom-back": _setup.popRoute }, model: { value: _setup.visible, callback: function($$v) {
|
|
15309
15443
|
_setup.visible = $$v;
|
|
15310
15444
|
}, expression: "visible" } }, [_c("div", { staticClass: "plv-product-order-popup__wrap" }, [_c("transition", { attrs: { "name": "plv-product-order-popup__fade" } }, [_setup.currentRoute === _setup.OrderPopupRoute.Order ? _c(_setup.OrderConfirm, _vm._b({ attrs: { "products": _setup.products, "disabled-submit": _setup.submittingOrder, "address-data": _setup.currentChooseAddress }, on: { "submit-order": _setup.submitOrder } }, "order-confirm", _setup.props, false)) : _vm._e()], 1), _c("transition", { attrs: { "name": "plv-product-order-popup__fade" } }, [_setup.currentRoute === _setup.OrderPopupRoute.AddressList ? _c(_setup.AddressList, _vm._b({ attrs: { "address-id": _setup.currentChooseAddress && Number(_setup.currentChooseAddress.id) }, on: { "choose-address": _setup.onChooseAddress, "clear-address": _setup.onClearAddress } }, "address-list", _setup.props, false)) : _vm._e()], 1), _c("transition", { attrs: { "name": "plv-product-order-popup__fade" } }, [_setup.currentRoute === _setup.OrderPopupRoute.AddressEdit ? _c(_setup.AddressEdit, { attrs: { "form-list": _setup.editAddressFormData, "disabled-submit": _setup.submittingAddress, "submit-action": _setup.submitAddress } }) : _vm._e()], 1), _setup.submittingOrder || _setup.submittingAddress ? _c("div", { staticClass: "plv-product-order-popup__loading" }, [_c(_setup.Loading)], 1) : _vm._e()], 1)]);
|
|
15311
15445
|
};
|
|
15446
|
+
var _sfc_staticRenderFns$5 = [];
|
|
15447
|
+
var __component__$5 = /* @__PURE__ */ normalizeComponent(
|
|
15448
|
+
_sfc_main$5,
|
|
15449
|
+
_sfc_render$5,
|
|
15450
|
+
_sfc_staticRenderFns$5
|
|
15451
|
+
);
|
|
15452
|
+
const orderPopup = __component__$5.exports;
|
|
15453
|
+
const productCardProps = () => __spreadValues(__spreadValues({}, productProps()), paymentProps());
|
|
15454
|
+
const productCardEmits = () => ({
|
|
15455
|
+
"not-support-direct-buy": emitFunc(),
|
|
15456
|
+
"small-card-visible-change": emitFunc()
|
|
15457
|
+
});
|
|
15458
|
+
const useProductCard = (options) => {
|
|
15459
|
+
const { props, emit, scene } = options;
|
|
15460
|
+
const { ProductType, ProductPushRule, ProductBuyType } = getProductTargetExport(props.productTarget);
|
|
15461
|
+
const { getEmitter } = useGlobalInject();
|
|
15462
|
+
const { trackProductPushItemView, trackProductPushItemClick } = useProductTrack({ productTarget: props.productTarget });
|
|
15463
|
+
const { handleDirectBuy, getPayProviders } = useProductDirectBuy({
|
|
15464
|
+
props,
|
|
15465
|
+
emitNotSupportDirectBuy
|
|
15466
|
+
});
|
|
15467
|
+
const bigCardVisible = ref(false);
|
|
15468
|
+
const smallCardVisible = ref(false);
|
|
15469
|
+
const productData = ref();
|
|
15470
|
+
const currentPushRule = ref();
|
|
15471
|
+
const hotSaleTimes = ref(0);
|
|
15472
|
+
const lastHotSaleTimes = ref(0);
|
|
15473
|
+
const hotSaleConfig = ref();
|
|
15474
|
+
const isProductRedirectLinkDirectly = ref(false);
|
|
15475
|
+
const currentPushingProductId = ref();
|
|
15476
|
+
const productHotEffectEnabled = computed(() => {
|
|
15477
|
+
if (!hotSaleConfig.value) return false;
|
|
15478
|
+
return hotSaleTimes.value > 0 && hotSaleConfig.value.productHotEffectEnabled;
|
|
15479
|
+
});
|
|
15480
|
+
watch(productData, (newVal, oldVal) => __async(null, null, function* () {
|
|
15481
|
+
if (!oldVal || !newVal) return;
|
|
15482
|
+
if (newVal.productId === oldVal.productId) return;
|
|
15483
|
+
lastHotSaleTimes.value = 0;
|
|
15484
|
+
yield nextTick$1();
|
|
15485
|
+
hotSaleTimes.value = 0;
|
|
15486
|
+
}), { deep: true });
|
|
15487
|
+
watch(hotSaleTimes, (_2, oldVal) => {
|
|
15488
|
+
if (oldVal !== void 0) {
|
|
15489
|
+
lastHotSaleTimes.value = oldVal;
|
|
15490
|
+
}
|
|
15491
|
+
});
|
|
15492
|
+
watch(smallCardVisible, (visible) => {
|
|
15493
|
+
emit("small-card-visible-change", visible);
|
|
15494
|
+
});
|
|
15495
|
+
useEventBusListener(productEvents.OpenProductBigCardPopup, openBigCard);
|
|
15496
|
+
useEventBusListener(productEvents.OpenProductSmallCardPopup, openSmallCard);
|
|
15497
|
+
function openBigCard() {
|
|
15498
|
+
bigCardVisible.value = true;
|
|
15499
|
+
}
|
|
15500
|
+
function openSmallCard() {
|
|
15501
|
+
nextTick$1(() => {
|
|
15502
|
+
smallCardVisible.value = true;
|
|
15503
|
+
});
|
|
15504
|
+
}
|
|
15505
|
+
function close() {
|
|
15506
|
+
bigCardVisible.value = false;
|
|
15507
|
+
smallCardVisible.value = false;
|
|
15508
|
+
}
|
|
15509
|
+
function reset() {
|
|
15510
|
+
productData.value = void 0;
|
|
15511
|
+
currentPushRule.value = void 0;
|
|
15512
|
+
}
|
|
15513
|
+
function emitNotSupportDirectBuy() {
|
|
15514
|
+
emit("not-support-direct-buy", productData.value);
|
|
15515
|
+
}
|
|
15516
|
+
function openProductDetailPopup() {
|
|
15517
|
+
if (!productData.value) return;
|
|
15518
|
+
trackProductPushItemClick(productData.value);
|
|
15519
|
+
if (productData.value.productType === ProductType.Finance) return;
|
|
15520
|
+
getEmitter().emit(productEvents.OpenProductDetailPopup, productData.value);
|
|
15521
|
+
}
|
|
15522
|
+
function handlePushProduct(data) {
|
|
15523
|
+
hotSaleTimes.value = 0;
|
|
15524
|
+
productData.value = data.productData;
|
|
15525
|
+
currentPushRule.value = data.pushRule;
|
|
15526
|
+
currentPushingProductId.value = data.productData.productId;
|
|
15527
|
+
close();
|
|
15528
|
+
trackProductPushItemView(data.productData);
|
|
15529
|
+
if (data.pushRule === ProductPushRule.BigCard && scene === ProductPushRule.BigCard) {
|
|
15530
|
+
getEmitter().emit(productEvents.OpenProductBigCardPopup);
|
|
15531
|
+
}
|
|
15532
|
+
if (data.pushRule === ProductPushRule.SmallCard && scene === ProductPushRule.SmallCard) {
|
|
15533
|
+
getEmitter().emit(productEvents.OpenProductSmallCardPopup);
|
|
15534
|
+
}
|
|
15535
|
+
}
|
|
15536
|
+
function handleCancelPushProduct(data) {
|
|
15537
|
+
var _a;
|
|
15538
|
+
hotSaleTimes.value = 0;
|
|
15539
|
+
if (data.productId !== ((_a = productData.value) == null ? void 0 : _a.productId)) return;
|
|
15540
|
+
currentPushingProductId.value = void 0;
|
|
15541
|
+
reset();
|
|
15542
|
+
close();
|
|
15543
|
+
}
|
|
15544
|
+
function increaseProductDisplayNumber() {
|
|
15545
|
+
if (!productData.value) return;
|
|
15546
|
+
productData.value.displayNumber = productData.value.displayNumber + 1;
|
|
15547
|
+
}
|
|
15548
|
+
function handleOnSaleProduct(data) {
|
|
15549
|
+
if (!productData.value) return;
|
|
15550
|
+
if (data.productData.displayNumber >= productData.value.displayNumber) return;
|
|
15551
|
+
increaseProductDisplayNumber();
|
|
15552
|
+
}
|
|
15553
|
+
function decreaseProductDisplayNumber() {
|
|
15554
|
+
if (!productData.value) return;
|
|
15555
|
+
productData.value.displayNumber = productData.value.displayNumber - 1;
|
|
15556
|
+
}
|
|
15557
|
+
function handleOffSaleProduct(data) {
|
|
15558
|
+
if (!productData.value) return;
|
|
15559
|
+
if (data.productData.productId === currentPushingProductId.value) {
|
|
15560
|
+
currentPushingProductId.value = void 0;
|
|
15561
|
+
}
|
|
15562
|
+
if (data.productData.displayNumber >= productData.value.displayNumber) return;
|
|
15563
|
+
decreaseProductDisplayNumber();
|
|
15564
|
+
}
|
|
15565
|
+
function handleChangeProduct(data) {
|
|
15566
|
+
if (!productData.value) return;
|
|
15567
|
+
if (data.productData.productId !== productData.value.productId) return;
|
|
15568
|
+
productData.value = data.productData;
|
|
15569
|
+
if (data.productData.pushRule) {
|
|
15570
|
+
currentPushRule.value = data.productData.pushRule;
|
|
15571
|
+
}
|
|
15572
|
+
}
|
|
15573
|
+
function handleMoveProduct(data) {
|
|
15574
|
+
if (!productData.value) return;
|
|
15575
|
+
const index2 = data.targetProducts.findIndex((item) => {
|
|
15576
|
+
var _a;
|
|
15577
|
+
return item.productId === ((_a = productData.value) == null ? void 0 : _a.productId);
|
|
15578
|
+
});
|
|
15579
|
+
if (index2 === -1) return;
|
|
15580
|
+
productData.value = data.targetProducts[index2];
|
|
15581
|
+
if (data.targetProducts[index2].pushRule) {
|
|
15582
|
+
currentPushRule.value = data.targetProducts[index2].pushRule;
|
|
15583
|
+
}
|
|
15584
|
+
}
|
|
15585
|
+
function handleProductSoldOut(data) {
|
|
15586
|
+
if (!productData.value || productData.value.productId !== data.productId) return;
|
|
15587
|
+
if (productData.value.productType === ProductType.Normal) {
|
|
15588
|
+
productData.value.stock = 0;
|
|
15589
|
+
}
|
|
15590
|
+
}
|
|
15591
|
+
function handleDeleteProduct(data) {
|
|
15592
|
+
if (!productData.value) return;
|
|
15593
|
+
if (data.productId !== productData.value.productId) return;
|
|
15594
|
+
currentPushingProductId.value = void 0;
|
|
15595
|
+
reset();
|
|
15596
|
+
close();
|
|
15597
|
+
}
|
|
15598
|
+
function handleRefreshProductList() {
|
|
15599
|
+
return __async(this, null, function* () {
|
|
15600
|
+
if (!props.productTarget) return;
|
|
15601
|
+
const data = yield props.productTarget.getCurrentPushingProduct(currentPushingProductId.value);
|
|
15602
|
+
if (!data) return;
|
|
15603
|
+
productData.value = __spreadProps(__spreadValues({}, data), {
|
|
15604
|
+
pushRule: currentPushRule.value || data.pushRule || ProductPushRule.SmallCard
|
|
15605
|
+
});
|
|
15606
|
+
});
|
|
15607
|
+
}
|
|
15608
|
+
function handleProductClickTimesUpdate(data) {
|
|
15609
|
+
if (!productData.value || productData.value.productId !== data.productId) return;
|
|
15610
|
+
hotSaleTimes.value = data.times;
|
|
15611
|
+
}
|
|
15612
|
+
function bindProductEvent() {
|
|
15613
|
+
const productTarget = props.productTarget;
|
|
15614
|
+
if (!productTarget) return;
|
|
15615
|
+
const ProductEvents = productTarget.ProductEvents;
|
|
15616
|
+
productTarget.eventEmitter.on(ProductEvents.PushProduct, handlePushProduct);
|
|
15617
|
+
productTarget.eventEmitter.on(ProductEvents.CancelPushProduct, handleCancelPushProduct);
|
|
15618
|
+
productTarget.eventEmitter.on(ProductEvents.OnSaleProduct, handleOnSaleProduct);
|
|
15619
|
+
productTarget.eventEmitter.on(ProductEvents.OffSaleProduct, handleOffSaleProduct);
|
|
15620
|
+
productTarget.eventEmitter.on(ProductEvents.ChangeProduct, handleChangeProduct);
|
|
15621
|
+
productTarget.eventEmitter.on(ProductEvents.MoveProduct, handleMoveProduct);
|
|
15622
|
+
productTarget.eventEmitter.on(ProductEvents.ProductSoldOut, handleProductSoldOut);
|
|
15623
|
+
productTarget.eventEmitter.on(ProductEvents.DeleteProduct, handleDeleteProduct);
|
|
15624
|
+
productTarget.eventEmitter.on(ProductEvents.RefreshProductList, handleRefreshProductList);
|
|
15625
|
+
productTarget.eventEmitter.on(ProductEvents.ProductClickTimes, handleProductClickTimesUpdate);
|
|
15626
|
+
}
|
|
15627
|
+
function unbindProductEvent() {
|
|
15628
|
+
const ProductEvents = props.productTarget.ProductEvents;
|
|
15629
|
+
props.productTarget.eventEmitter.off(ProductEvents.PushProduct, handlePushProduct);
|
|
15630
|
+
props.productTarget.eventEmitter.off(ProductEvents.CancelPushProduct, handleCancelPushProduct);
|
|
15631
|
+
props.productTarget.eventEmitter.off(ProductEvents.OnSaleProduct, handleOnSaleProduct);
|
|
15632
|
+
props.productTarget.eventEmitter.off(ProductEvents.OffSaleProduct, handleOffSaleProduct);
|
|
15633
|
+
props.productTarget.eventEmitter.off(ProductEvents.ChangeProduct, handleChangeProduct);
|
|
15634
|
+
props.productTarget.eventEmitter.off(ProductEvents.MoveProduct, handleMoveProduct);
|
|
15635
|
+
props.productTarget.eventEmitter.off(ProductEvents.ProductSoldOut, handleProductSoldOut);
|
|
15636
|
+
props.productTarget.eventEmitter.off(ProductEvents.DeleteProduct, handleDeleteProduct);
|
|
15637
|
+
props.productTarget.eventEmitter.off(ProductEvents.RefreshProductList, handleRefreshProductList);
|
|
15638
|
+
props.productTarget.eventEmitter.off(ProductEvents.ProductClickTimes, handleProductClickTimesUpdate);
|
|
15639
|
+
}
|
|
15640
|
+
function setIsProductRedirectLinkDirectly() {
|
|
15641
|
+
return __async(this, null, function* () {
|
|
15642
|
+
if (!props.productTarget || !productData.value) return;
|
|
15643
|
+
const enabled = yield props.productTarget.getOutLinkProductRedirectEnabled();
|
|
15644
|
+
isProductRedirectLinkDirectly.value = productData.value.productType === ProductType.Normal && productData.value.buyType === ProductBuyType.Link && enabled;
|
|
15645
|
+
});
|
|
15646
|
+
}
|
|
15647
|
+
function getCurrentPushingProduct() {
|
|
15648
|
+
return __async(this, null, function* () {
|
|
15649
|
+
if (!props.productTarget) return;
|
|
15650
|
+
const data = yield props.productTarget.getCurrentPushingProduct();
|
|
15651
|
+
if (!data) return;
|
|
15652
|
+
handlePushProduct({
|
|
15653
|
+
productData: data,
|
|
15654
|
+
pushRule: data.pushRule || ProductPushRule.SmallCard
|
|
15655
|
+
});
|
|
15656
|
+
});
|
|
15657
|
+
}
|
|
15658
|
+
function getHotSaleConfig() {
|
|
15659
|
+
return __async(this, null, function* () {
|
|
15660
|
+
if (!props.productTarget) return;
|
|
15661
|
+
const config2 = yield props.productTarget.getProductHotSaleConfig();
|
|
15662
|
+
hotSaleConfig.value = config2;
|
|
15663
|
+
});
|
|
15664
|
+
}
|
|
15665
|
+
onMounted(() => {
|
|
15666
|
+
bindProductEvent();
|
|
15667
|
+
getCurrentPushingProduct();
|
|
15668
|
+
getPayProviders();
|
|
15669
|
+
setIsProductRedirectLinkDirectly();
|
|
15670
|
+
getHotSaleConfig();
|
|
15671
|
+
});
|
|
15672
|
+
onBeforeUnmount(() => {
|
|
15673
|
+
unbindProductEvent();
|
|
15674
|
+
});
|
|
15675
|
+
return {
|
|
15676
|
+
bigCardVisible,
|
|
15677
|
+
smallCardVisible,
|
|
15678
|
+
productData,
|
|
15679
|
+
currentPushRule,
|
|
15680
|
+
hotSaleTimes,
|
|
15681
|
+
lastHotSaleTimes,
|
|
15682
|
+
isProductRedirectLinkDirectly,
|
|
15683
|
+
hotSaleConfig,
|
|
15684
|
+
productHotEffectEnabled,
|
|
15685
|
+
openBigCard,
|
|
15686
|
+
openSmallCard,
|
|
15687
|
+
close,
|
|
15688
|
+
reset,
|
|
15689
|
+
openProductDetailPopup,
|
|
15690
|
+
handleDirectBuy
|
|
15691
|
+
};
|
|
15692
|
+
};
|
|
15693
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
15694
|
+
__name: "big-card",
|
|
15695
|
+
props: __spreadProps(__spreadValues({}, productCardProps()), {
|
|
15696
|
+
productData: PropUtils.object()
|
|
15697
|
+
}),
|
|
15698
|
+
emits: {
|
|
15699
|
+
"direct-buy": emitFunc()
|
|
15700
|
+
},
|
|
15701
|
+
setup(__props, { emit }) {
|
|
15702
|
+
const props = __props;
|
|
15703
|
+
const { $t } = useI18n();
|
|
15704
|
+
function onDirectBuy() {
|
|
15705
|
+
emit("direct-buy", props.productData);
|
|
15706
|
+
}
|
|
15707
|
+
return { __sfc: true, props, emit, $t, onDirectBuy, ProductItem, ProductButton, ProductItemScene };
|
|
15708
|
+
}
|
|
15709
|
+
});
|
|
15710
|
+
var _sfc_render$4 = function render48() {
|
|
15711
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
15712
|
+
return _c("div", { staticClass: "plv-product-big-card" }, [_c("div", { staticClass: "plv-product-big-card__title" }, [_vm._v(" " + _vm._s(_setup.$t("bigCard.title")) + " ")]), _vm.productData ? [_c(_setup.ProductItem, { staticClass: "plv-product-big-card__item", attrs: { "scene": _setup.ProductItemScene.BigCard, "product": _vm.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig } }), _c(_setup.ProductButton, { attrs: { "product-data": _vm.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.onDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
|
|
15713
|
+
return [_c("button", { staticClass: "plv-product-big-card__buy-button", class: { "plv-product-big-card__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
|
|
15714
|
+
} }], null, false, 3984514254) })] : _vm._e()], 2);
|
|
15715
|
+
};
|
|
15716
|
+
var _sfc_staticRenderFns$4 = [];
|
|
15717
|
+
var __component__$4 = /* @__PURE__ */ normalizeComponent(
|
|
15718
|
+
_sfc_main$4,
|
|
15719
|
+
_sfc_render$4,
|
|
15720
|
+
_sfc_staticRenderFns$4
|
|
15721
|
+
);
|
|
15722
|
+
const BigCard = __component__$4.exports;
|
|
15723
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
15724
|
+
__name: "big-card-popup",
|
|
15725
|
+
props: __spreadValues(__spreadValues({}, popupCommonProps()), productCardProps()),
|
|
15726
|
+
emits: productCardEmits(),
|
|
15727
|
+
setup(__props, { expose, emit }) {
|
|
15728
|
+
const props = __props;
|
|
15729
|
+
useProductProvide(props);
|
|
15730
|
+
const { ProductPushRule } = getProductTargetExport(props.productTarget);
|
|
15731
|
+
const contentHeightPercent = computed(() => {
|
|
15732
|
+
return isMobile ? 0.7 : 0;
|
|
15733
|
+
});
|
|
15734
|
+
const {
|
|
15735
|
+
bigCardVisible,
|
|
15736
|
+
productData,
|
|
15737
|
+
openBigCard,
|
|
15738
|
+
close,
|
|
15739
|
+
handleDirectBuy
|
|
15740
|
+
} = useProductCard({ props, emit, scene: ProductPushRule.BigCard });
|
|
15741
|
+
expose({
|
|
15742
|
+
open: openBigCard,
|
|
15743
|
+
close
|
|
15744
|
+
});
|
|
15745
|
+
return { __sfc: true, props, emit, ProductPushRule, contentHeightPercent, bigCardVisible, productData, openBigCard, close, handleDirectBuy, CommonPopup, productEvents, ProductIconClose, BigCard };
|
|
15746
|
+
}
|
|
15747
|
+
});
|
|
15748
|
+
var _sfc_render$3 = function render49() {
|
|
15749
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
15750
|
+
return _c(_setup.CommonPopup, { attrs: { "background": "none", "show-header": false, "open-event": _setup.productEvents.OpenProductBigCardPopup, "popup-config": _vm.popupConfig, "content-height-percent": _setup.contentHeightPercent }, model: { value: _setup.bigCardVisible, callback: function($$v) {
|
|
15751
|
+
_setup.bigCardVisible = $$v;
|
|
15752
|
+
}, expression: "bigCardVisible" } }, [_c("transition", { attrs: { "name": "plv-product-big-card-scale" } }, [_setup.bigCardVisible ? _c(_setup.BigCard, _vm._b({ attrs: { "product-data": _setup.productData }, on: { "direct-buy": _setup.handleDirectBuy } }, "big-card", _setup.props, false)) : _vm._e()], 1), _c("div", { staticClass: "plv-product-big-card-close-btn", on: { "click": _setup.close } }, [_c(_setup.ProductIconClose, { staticClass: "plv-product-big-card-close-btn__icon" })], 1)], 1);
|
|
15753
|
+
};
|
|
15754
|
+
var _sfc_staticRenderFns$3 = [];
|
|
15755
|
+
var __component__$3 = /* @__PURE__ */ normalizeComponent(
|
|
15756
|
+
_sfc_main$3,
|
|
15757
|
+
_sfc_render$3,
|
|
15758
|
+
_sfc_staticRenderFns$3
|
|
15759
|
+
);
|
|
15760
|
+
const bigCardPopup = __component__$3.exports;
|
|
15761
|
+
var vueCountTo_min$1 = { exports: {} };
|
|
15762
|
+
var vueCountTo_min = vueCountTo_min$1.exports;
|
|
15763
|
+
var hasRequiredVueCountTo_min;
|
|
15764
|
+
function requireVueCountTo_min() {
|
|
15765
|
+
if (hasRequiredVueCountTo_min) return vueCountTo_min$1.exports;
|
|
15766
|
+
hasRequiredVueCountTo_min = 1;
|
|
15767
|
+
(function(module2, exports2) {
|
|
15768
|
+
!function(t2, e) {
|
|
15769
|
+
module2.exports = e();
|
|
15770
|
+
}(vueCountTo_min, function() {
|
|
15771
|
+
return function(t2) {
|
|
15772
|
+
function e(n2) {
|
|
15773
|
+
if (i2[n2]) return i2[n2].exports;
|
|
15774
|
+
var a2 = i2[n2] = { i: n2, l: false, exports: {} };
|
|
15775
|
+
return t2[n2].call(a2.exports, a2, a2.exports, e), a2.l = true, a2.exports;
|
|
15776
|
+
}
|
|
15777
|
+
var i2 = {};
|
|
15778
|
+
return e.m = t2, e.c = i2, e.i = function(t3) {
|
|
15779
|
+
return t3;
|
|
15780
|
+
}, e.d = function(t3, i3, n2) {
|
|
15781
|
+
e.o(t3, i3) || Object.defineProperty(t3, i3, { configurable: false, enumerable: true, get: n2 });
|
|
15782
|
+
}, e.n = function(t3) {
|
|
15783
|
+
var i3 = t3 && t3.__esModule ? function() {
|
|
15784
|
+
return t3.default;
|
|
15785
|
+
} : function() {
|
|
15786
|
+
return t3;
|
|
15787
|
+
};
|
|
15788
|
+
return e.d(i3, "a", i3), i3;
|
|
15789
|
+
}, e.o = function(t3, e2) {
|
|
15790
|
+
return Object.prototype.hasOwnProperty.call(t3, e2);
|
|
15791
|
+
}, e.p = "/dist/", e(e.s = 2);
|
|
15792
|
+
}([function(t2, e, i2) {
|
|
15793
|
+
var n2 = i2(4)(i2(1), i2(5), null, null);
|
|
15794
|
+
t2.exports = n2.exports;
|
|
15795
|
+
}, function(t2, e, i2) {
|
|
15796
|
+
Object.defineProperty(e, "__esModule", { value: true });
|
|
15797
|
+
var n2 = i2(3);
|
|
15798
|
+
e.default = { props: { startVal: { type: Number, required: false, default: 0 }, endVal: { type: Number, required: false, default: 2017 }, duration: { type: Number, required: false, default: 3e3 }, autoplay: { type: Boolean, required: false, default: true }, decimals: { type: Number, required: false, default: 0, validator: function(t3) {
|
|
15799
|
+
return t3 >= 0;
|
|
15800
|
+
} }, decimal: { type: String, required: false, default: "." }, separator: { type: String, required: false, default: "," }, prefix: { type: String, required: false, default: "" }, suffix: { type: String, required: false, default: "" }, useEasing: { type: Boolean, required: false, default: true }, easingFn: { type: Function, default: function(t3, e2, i3, n3) {
|
|
15801
|
+
return i3 * (1 - Math.pow(2, -10 * t3 / n3)) * 1024 / 1023 + e2;
|
|
15802
|
+
} } }, data: function() {
|
|
15803
|
+
return { localStartVal: this.startVal, displayValue: this.formatNumber(this.startVal), printVal: null, paused: false, localDuration: this.duration, startTime: null, timestamp: null, remaining: null, rAF: null };
|
|
15804
|
+
}, computed: { countDown: function() {
|
|
15805
|
+
return this.startVal > this.endVal;
|
|
15806
|
+
} }, watch: { startVal: function() {
|
|
15807
|
+
this.autoplay && this.start();
|
|
15808
|
+
}, endVal: function() {
|
|
15809
|
+
this.autoplay && this.start();
|
|
15810
|
+
} }, mounted: function() {
|
|
15811
|
+
this.autoplay && this.start(), this.$emit("mountedCallback");
|
|
15812
|
+
}, methods: { start: function() {
|
|
15813
|
+
this.localStartVal = this.startVal, this.startTime = null, this.localDuration = this.duration, this.paused = false, this.rAF = (0, n2.requestAnimationFrame)(this.count);
|
|
15814
|
+
}, pauseResume: function() {
|
|
15815
|
+
this.paused ? (this.resume(), this.paused = false) : (this.pause(), this.paused = true);
|
|
15816
|
+
}, pause: function() {
|
|
15817
|
+
(0, n2.cancelAnimationFrame)(this.rAF);
|
|
15818
|
+
}, resume: function() {
|
|
15819
|
+
this.startTime = null, this.localDuration = +this.remaining, this.localStartVal = +this.printVal, (0, n2.requestAnimationFrame)(this.count);
|
|
15820
|
+
}, reset: function() {
|
|
15821
|
+
this.startTime = null, (0, n2.cancelAnimationFrame)(this.rAF), this.displayValue = this.formatNumber(this.startVal);
|
|
15822
|
+
}, count: function(t3) {
|
|
15823
|
+
this.startTime || (this.startTime = t3), this.timestamp = t3;
|
|
15824
|
+
var e2 = t3 - this.startTime;
|
|
15825
|
+
this.remaining = this.localDuration - e2, this.useEasing ? this.countDown ? this.printVal = this.localStartVal - this.easingFn(e2, 0, this.localStartVal - this.endVal, this.localDuration) : this.printVal = this.easingFn(e2, this.localStartVal, this.endVal - this.localStartVal, this.localDuration) : this.countDown ? this.printVal = this.localStartVal - (this.localStartVal - this.endVal) * (e2 / this.localDuration) : this.printVal = this.localStartVal + (this.localStartVal - this.startVal) * (e2 / this.localDuration), this.countDown ? this.printVal = this.printVal < this.endVal ? this.endVal : this.printVal : this.printVal = this.printVal > this.endVal ? this.endVal : this.printVal, this.displayValue = this.formatNumber(this.printVal), e2 < this.localDuration ? this.rAF = (0, n2.requestAnimationFrame)(this.count) : this.$emit("callback");
|
|
15826
|
+
}, isNumber: function(t3) {
|
|
15827
|
+
return !isNaN(parseFloat(t3));
|
|
15828
|
+
}, formatNumber: function(t3) {
|
|
15829
|
+
t3 = t3.toFixed(this.decimals), t3 += "";
|
|
15830
|
+
var e2 = t3.split("."), i3 = e2[0], n3 = e2.length > 1 ? this.decimal + e2[1] : "", a2 = /(\d+)(\d{3})/;
|
|
15831
|
+
if (this.separator && !this.isNumber(this.separator)) for (; a2.test(i3); ) i3 = i3.replace(a2, "$1" + this.separator + "$2");
|
|
15832
|
+
return this.prefix + i3 + n3 + this.suffix;
|
|
15833
|
+
} }, destroyed: function() {
|
|
15834
|
+
(0, n2.cancelAnimationFrame)(this.rAF);
|
|
15835
|
+
} };
|
|
15836
|
+
}, function(t2, e, i2) {
|
|
15837
|
+
Object.defineProperty(e, "__esModule", { value: true });
|
|
15838
|
+
var n2 = i2(0), a2 = function(t3) {
|
|
15839
|
+
return t3 && t3.__esModule ? t3 : { default: t3 };
|
|
15840
|
+
}(n2);
|
|
15841
|
+
e.default = a2.default, "undefined" != typeof window && window.Vue && window.Vue.component("count-to", a2.default);
|
|
15842
|
+
}, function(t2, e, i2) {
|
|
15843
|
+
Object.defineProperty(e, "__esModule", { value: true });
|
|
15844
|
+
var n2 = 0, a2 = "webkit moz ms o".split(" "), r2 = void 0, o2 = void 0;
|
|
15845
|
+
if ("undefined" == typeof window) e.requestAnimationFrame = r2 = function() {
|
|
15846
|
+
}, e.cancelAnimationFrame = o2 = function() {
|
|
15847
|
+
};
|
|
15848
|
+
else {
|
|
15849
|
+
e.requestAnimationFrame = r2 = window.requestAnimationFrame, e.cancelAnimationFrame = o2 = window.cancelAnimationFrame;
|
|
15850
|
+
for (var s2 = void 0, u2 = 0; u2 < a2.length && (!r2 || !o2); u2++) s2 = a2[u2], e.requestAnimationFrame = r2 = r2 || window[s2 + "RequestAnimationFrame"], e.cancelAnimationFrame = o2 = o2 || window[s2 + "CancelAnimationFrame"] || window[s2 + "CancelRequestAnimationFrame"];
|
|
15851
|
+
r2 && o2 || (e.requestAnimationFrame = r2 = function(t3) {
|
|
15852
|
+
var e2 = (/* @__PURE__ */ new Date()).getTime(), i3 = Math.max(0, 16 - (e2 - n2)), a3 = window.setTimeout(function() {
|
|
15853
|
+
t3(e2 + i3);
|
|
15854
|
+
}, i3);
|
|
15855
|
+
return n2 = e2 + i3, a3;
|
|
15856
|
+
}, e.cancelAnimationFrame = o2 = function(t3) {
|
|
15857
|
+
window.clearTimeout(t3);
|
|
15858
|
+
});
|
|
15859
|
+
}
|
|
15860
|
+
e.requestAnimationFrame = r2, e.cancelAnimationFrame = o2;
|
|
15861
|
+
}, function(t2, e) {
|
|
15862
|
+
t2.exports = function(t3, e2, i2, n2) {
|
|
15863
|
+
var a2, r2 = t3 = t3 || {}, o2 = typeof t3.default;
|
|
15864
|
+
"object" !== o2 && "function" !== o2 || (a2 = t3, r2 = t3.default);
|
|
15865
|
+
var s2 = "function" == typeof r2 ? r2.options : r2;
|
|
15866
|
+
if (e2 && (s2.render = e2.render, s2.staticRenderFns = e2.staticRenderFns), i2 && (s2._scopeId = i2), n2) {
|
|
15867
|
+
var u2 = Object.create(s2.computed || null);
|
|
15868
|
+
Object.keys(n2).forEach(function(t4) {
|
|
15869
|
+
var e3 = n2[t4];
|
|
15870
|
+
u2[t4] = function() {
|
|
15871
|
+
return e3;
|
|
15872
|
+
};
|
|
15873
|
+
}), s2.computed = u2;
|
|
15874
|
+
}
|
|
15875
|
+
return { esModule: a2, exports: r2, options: s2 };
|
|
15876
|
+
};
|
|
15877
|
+
}, function(t2, e) {
|
|
15878
|
+
t2.exports = { render: function() {
|
|
15879
|
+
var t3 = this, e2 = t3.$createElement;
|
|
15880
|
+
return (t3._self._c || e2)("span", [t3._v("\n " + t3._s(t3.displayValue) + "\n")]);
|
|
15881
|
+
}, staticRenderFns: [] };
|
|
15882
|
+
}]);
|
|
15883
|
+
});
|
|
15884
|
+
})(vueCountTo_min$1);
|
|
15885
|
+
return vueCountTo_min$1.exports;
|
|
15886
|
+
}
|
|
15887
|
+
var vueCountTo_minExports = requireVueCountTo_min();
|
|
15888
|
+
const CountTo = /* @__PURE__ */ getDefaultExportFromCjs(vueCountTo_minExports);
|
|
15889
|
+
var pkg_version = "1.0.3";
|
|
15890
|
+
function install(app) {
|
|
15891
|
+
app.component("count-to", CountTo);
|
|
15892
|
+
}
|
|
15893
|
+
"undefined" != typeof window && (window.countTo = { install, version: pkg_version, CountTo });
|
|
15894
|
+
const iconNormalProductSale = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAMKSURBVFiF7ZbPS1RRFMc/973nzDgzOm9MU3S0YWYsLQspoh+0mBaRCoJF4CaoXW2CXBS0KVuES4MWbYsW7SIIMmhh/0FCmwipAROCDBWaNHXeafGcp/PjPR0VN/mFw33cc+453/O99773YA972AbkQnu3pBMft5PD2HLxdOIci7k3oLacA0DbUvHe1GlW1DhBZVKnwpKOm7tGQNIHO/htjVGLQZ0CH2BpN3eNAJIboUaZRAFNwCdgcMNx96ZOSzo5Jr2p2I4TkEvJHpQM0IB9evIWIi7pxG07oxwD6SEr45shUZkCM3KNVkCXQjMBYUT62rsRTtIKaJJiwXq/swTCDBAA9CILAPsI8Cc3hiZXCQAHAOiQi8mnXimVl1P64t1Ak3qbeSeDyS6QT0TFfcFXBVFwYpaAbwqajE718svncku8FVjSXpDVXsrlVIx5uohKaffrLSFQuy6mGmgBZlceuJVwJSD9yesYdNEgJjPWOLXsxyel+18fXnv2CVQX+ess0LhSMQH+WIMkLGgWMEiRlUclHft1OBqD/TXeyjSLIf3J65URaOQcwdWujlhgSdjpKlRljxG/LXNnI4SMUnXyFhZYtspeSXcCQQk7HQQFDlv2c7gKzrRBQIeOeggImAYcanBXwC/QJGW/Ge4fkuAq+zz01fFEM0Sr4FQM9gXX/PX+wvhi1Euk3LS7AiYTJZ00hqAlaN/7/Ji3xoAd0+WiRJD5cmXcFdBkCqS7YK49Yp9yN5xthngEpucgu1TszZQt40HgVUkXTYHCroutI2KPDf5SBdBfV0RA3Z96hk7GPsnY+1uteV835wWkU7DO4IMazsxVpgCA4qGTRAeyy57hDlZyFKzTrSG3UE8C6t7UM7R1JOYXNi6+nIOZ7FpxTYbU3emJLREAUHe+DztKTP7amMDkL7BW7OKKh+rO9GPP/BtntCGjrQPo1ihtZpzjLv8Z84swPgmQIZc7r4Z+ZDbKu2kCDpEnsTSJ6DXa6gYI+UwMDX7/XWRq9jOTPyewtOfq1vcPlebdw/+Lf/Rl7Pynk6nBAAAAAElFTkSuQmCC";
|
|
15895
|
+
const iconPositionProductSale = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAGFSURBVFiF7ZYxTsMwFIY/O22lItgrYLAQQ7f2CD0CAwOHYKAnQJyg2Zi7MTAgcQB6hLJ0oUNViDgAYoL2MaRRQ4kTJ2nF0P6S9Wz5+b3ff2znwQ7bDpU2KWdNA7NrRHVATIHoQ5C+ehj7uQnIRdPwNXtCMChAFt5FrMZX9y/dpDzayn7+3UOLwRPQQimr5ErOTztJaSpWAp60M75QXrSBgTsBjUFJKGGESNJi41ZSGjuB+EzrEI72oQZUgZosLCtWYPwJd+/WsO4EvNhWoi8haVaWvvG1f4I4E4j1RwGMrJ7pazPgpsAG4abA/xBYswKSHM9NgZNjaBxAHagL7LHoA8EHPAbZBCxPipsCq++l8Pvku6glZW7B9BWmKcFdzkspBdaCMmdgg9iid6DYGShbicRsfgKQ8ffJZ1Xea1iRCaLMcicRCo5l/pyUxl6SaQZ4EirhSawVHFfUMB8Bqjd4TMIApZuvum+DpCzpZfltwzDXPcJ6zqT5JkMNEfrqMrCW5Tvs8AP9j5noqrxIOAAAAABJRU5ErkJggg==";
|
|
15896
|
+
const iconFinanceProductSale = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAHlSURBVFiF7Za/ihNBHMc/v9mE40gwe40INtMIZxfwBbJPoHaWV2pl8gTxnuA6tbBIp52+QdYncLuI1RYiFgFXMAh3u/OzSESIO5sd0VO5+8Kw7P7+ffY3w8zApS66JDRAx3HMKWPgNmA3WTKU1zhm8rTI/xiA3o8tIm+A2OOSI3pXHhdZ25wmqLiTOZXElKSoJuzpAXt6gGpCRUYlltK81KPYB/iTOm0dOY1GCBbRTJ59SrasqR7FCR2ZozLEmDHwqE3a1h3AMaUSKM2kziyzoqA0EyoBJw/bpg0AMBYnyGyZ+lxktkxxAs60noLGRah3Di2mmuJkRK+wAKwGzRl7n9fPVZwDGZiJvHqbBwPovUNLVc1RXRfufF0byv1mgG0/kZwoSuRFPYR/CqQ8IVJLh81S3V+P7+++se0XqYWzqZfX/yc6RL3WMAmjcIBo0/pt3boON/owULgC9PXHRC5W8PxDXVR9rkYAn+Vq3xvCzV7IzrILwNP/5RcY9Kmdnncrf1w4gOf74j0sfiljKMDvWoH/L8C51P+nO/DXAc6lfiNADp7dMFiS+yz+w6hLuvPgaTu66r0j+jtgomPkbETDPt5SOdqtvUXBrgvJk2sWZ06AIRoIIuQoKZE7lgcf86DYS10ofQNyBo61Y6qF2AAAAABJRU5ErkJggg==";
|
|
15897
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
15898
|
+
__name: "hot-sale-tip",
|
|
15899
|
+
props: {
|
|
15900
|
+
productTarget: PropUtils.object().isRequired,
|
|
15901
|
+
product: PropUtils.object().isRequired,
|
|
15902
|
+
hotSaleTimes: PropUtils.number.def(0),
|
|
15903
|
+
lastHotSaleTimes: PropUtils.number.def(0),
|
|
15904
|
+
hotSaleConfig: PropUtils.object()
|
|
15905
|
+
},
|
|
15906
|
+
setup(__props) {
|
|
15907
|
+
const props = __props;
|
|
15908
|
+
const { ProductType } = getProductTargetExport(props.productTarget);
|
|
15909
|
+
const countToRef = ref(null);
|
|
15910
|
+
const isCountToAnimation = ref(false);
|
|
15911
|
+
const hotSaleIcon = computed(() => {
|
|
15912
|
+
switch (props.product.productType) {
|
|
15913
|
+
case ProductType.Normal:
|
|
15914
|
+
return iconNormalProductSale;
|
|
15915
|
+
case ProductType.Position:
|
|
15916
|
+
return iconPositionProductSale;
|
|
15917
|
+
case ProductType.Finance:
|
|
15918
|
+
return iconFinanceProductSale;
|
|
15919
|
+
default:
|
|
15920
|
+
return iconNormalProductSale;
|
|
15921
|
+
}
|
|
15922
|
+
});
|
|
15923
|
+
const hotSaleText = computed(() => {
|
|
15924
|
+
var _a;
|
|
15925
|
+
const { productHotEffectTips } = (_a = props.hotSaleConfig) != null ? _a : {};
|
|
15926
|
+
if (!productHotEffectTips) return "";
|
|
15927
|
+
const { normalProductTips, jobProductTips, financeProductTips } = productHotEffectTips;
|
|
15928
|
+
switch (props.product.productType) {
|
|
15929
|
+
case ProductType.Normal:
|
|
15930
|
+
return normalProductTips;
|
|
15931
|
+
case ProductType.Position:
|
|
15932
|
+
return jobProductTips;
|
|
15933
|
+
case ProductType.Finance:
|
|
15934
|
+
return financeProductTips;
|
|
15935
|
+
default:
|
|
15936
|
+
return normalProductTips;
|
|
15937
|
+
}
|
|
15938
|
+
});
|
|
15939
|
+
watch(
|
|
15940
|
+
() => props.product,
|
|
15941
|
+
(newVal, oldVal) => {
|
|
15942
|
+
var _a, _b;
|
|
15943
|
+
if (oldVal && newVal.productId !== oldVal.productId) {
|
|
15944
|
+
(_b = (_a = countToRef.value) == null ? void 0 : _a.reset) == null ? void 0 : _b.call(_a);
|
|
15945
|
+
}
|
|
15946
|
+
}
|
|
15947
|
+
);
|
|
15948
|
+
const startCountAnimation = () => {
|
|
15949
|
+
var _a, _b;
|
|
15950
|
+
if (props.hotSaleTimes > 9999) return;
|
|
15951
|
+
if (!countToRef.value) return;
|
|
15952
|
+
isCountToAnimation.value = true;
|
|
15953
|
+
(_b = (_a = countToRef.value).start) == null ? void 0 : _b.call(_a);
|
|
15954
|
+
setTimeout(() => {
|
|
15955
|
+
isCountToAnimation.value = false;
|
|
15956
|
+
}, 2e3);
|
|
15957
|
+
};
|
|
15958
|
+
watch(
|
|
15959
|
+
() => props.hotSaleTimes,
|
|
15960
|
+
() => {
|
|
15961
|
+
startCountAnimation();
|
|
15962
|
+
}
|
|
15963
|
+
);
|
|
15964
|
+
onMounted(() => {
|
|
15965
|
+
startCountAnimation();
|
|
15966
|
+
});
|
|
15967
|
+
return { __sfc: true, props, ProductType, countToRef, isCountToAnimation, hotSaleIcon, hotSaleText, startCountAnimation, CountTo };
|
|
15968
|
+
}
|
|
15969
|
+
});
|
|
15970
|
+
var _sfc_render$2 = function render50() {
|
|
15971
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
15972
|
+
return _c("div", { staticClass: "plv-product-hot-sale" }, [_c("div", { staticClass: "plv-product-hot-sale__icon" }, [_c("img", { staticClass: "plv-product-hot-sale__icon-img", attrs: { "src": _setup.hotSaleIcon } })]), _c("div", { staticClass: "plv-product-hot-sale__content" }, [_c("span", { staticClass: "plv-product-hot-sale__tips" }, [_vm._v(_vm._s(_setup.hotSaleText))]), _vm.hotSaleTimes >= 9999 ? _c("div", { staticClass: "plv-font-din-pro-regular" }, [_c("span", { staticClass: "plv-product-hot-sale__symbol" }, [_vm._v("x")]), _vm._v("9999+ ")]) : _c("div", { staticClass: "plv-font-din-pro-regular", class: { "plv-product-hot-sale__count-to-animation": _setup.isCountToAnimation && _vm.hotSaleTimes !== 0 } }, [_c("span", { staticClass: "plv-product-hot-sale__symbol" }, [_vm._v("x")]), _c(_setup.CountTo, { ref: "countToRef", attrs: { "start-val": _vm.lastHotSaleTimes, "end-val": _vm.hotSaleTimes, "autoplay": false, "duration": 2e3 } })], 1)])]);
|
|
15973
|
+
};
|
|
15974
|
+
var _sfc_staticRenderFns$2 = [];
|
|
15975
|
+
var __component__$2 = /* @__PURE__ */ normalizeComponent(
|
|
15976
|
+
_sfc_main$2,
|
|
15977
|
+
_sfc_render$2,
|
|
15978
|
+
_sfc_staticRenderFns$2
|
|
15979
|
+
);
|
|
15980
|
+
const HotSaleTip = __component__$2.exports;
|
|
15981
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
15982
|
+
__name: "cover",
|
|
15983
|
+
props: __spreadProps(__spreadValues({}, productProps()), {
|
|
15984
|
+
product: PropUtils.object().isRequired
|
|
15985
|
+
}),
|
|
15986
|
+
setup(__props) {
|
|
15987
|
+
const props = __props;
|
|
15988
|
+
const { $t } = useI18n();
|
|
15989
|
+
const { isSoldOut } = useProductStock({
|
|
15990
|
+
product: () => props.product
|
|
15991
|
+
});
|
|
15992
|
+
const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
|
|
15993
|
+
return { __sfc: true, props, $t, isSoldOut, productExplainEnabled, handleClickExplain, ossCompress, ProductFeatureTag, ProductExplain };
|
|
15994
|
+
}
|
|
15995
|
+
});
|
|
15996
|
+
var _sfc_render$1 = function render51() {
|
|
15997
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
15998
|
+
return _vm.product ? _c("div", { staticClass: "plv-product-card__cover" }, [_c("div", { staticClass: "plv-product-card__cover-mask" }), _c("img", { staticClass: "plv-product-card__cover-img", attrs: { "src": _setup.ossCompress(_vm.product.cover, { width: 330 }), "alt": _vm.product.name } }), _setup.isSoldOut ? _c("div", { staticClass: "plv-product-card__cover-stock" }, [_vm._v(" - " + _vm._s(_setup.$t("product.stock.soldOut")) + " - ")]) : _vm._e(), _vm.product.displayNumber && !_setup.productExplainEnabled ? _c("div", { staticClass: "plv-product-card__ranking plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _vm.product.featureTags && _vm.product.featureTags.length > 0 ? _c(_setup.ProductFeatureTag, { staticClass: "plv-product-card__feature-tag", attrs: { "tag": _vm.product.featureTags[0] } }) : _vm._e(), _setup.productExplainEnabled ? _c(_setup.ProductExplain, { staticClass: "plv-product-card__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e()], 1) : _vm._e();
|
|
15999
|
+
};
|
|
16000
|
+
var _sfc_staticRenderFns$1 = [];
|
|
16001
|
+
var __component__$1 = /* @__PURE__ */ normalizeComponent(
|
|
16002
|
+
_sfc_main$1,
|
|
16003
|
+
_sfc_render$1,
|
|
16004
|
+
_sfc_staticRenderFns$1
|
|
16005
|
+
);
|
|
16006
|
+
const Cover = __component__$1.exports;
|
|
16007
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
16008
|
+
__name: "small-card",
|
|
16009
|
+
props: __spreadValues({}, productCardProps()),
|
|
16010
|
+
emits: productCardEmits(),
|
|
16011
|
+
setup(__props, { emit }) {
|
|
16012
|
+
const props = __props;
|
|
16013
|
+
useProductProvide(props);
|
|
16014
|
+
const { ProductPushRule } = getProductTargetExport(props.productTarget);
|
|
16015
|
+
const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
|
|
16016
|
+
const {
|
|
16017
|
+
smallCardVisible,
|
|
16018
|
+
productData,
|
|
16019
|
+
isProductRedirectLinkDirectly,
|
|
16020
|
+
hotSaleTimes,
|
|
16021
|
+
lastHotSaleTimes,
|
|
16022
|
+
hotSaleConfig,
|
|
16023
|
+
productHotEffectEnabled,
|
|
16024
|
+
close,
|
|
16025
|
+
openProductDetailPopup,
|
|
16026
|
+
handleDirectBuy
|
|
16027
|
+
} = useProductCard({ props, emit, scene: ProductPushRule.SmallCard });
|
|
16028
|
+
return { __sfc: true, props, emit, ProductPushRule, productExplainEnabled, handleClickExplain, smallCardVisible, productData, isProductRedirectLinkDirectly, hotSaleTimes, lastHotSaleTimes, hotSaleConfig, productHotEffectEnabled, close, openProductDetailPopup, handleDirectBuy, ProductButton, ProductIconClose, ProductTitle, ProductPrice, ProductFeatureTag, ProductExplain, HotSaleTip, Cover };
|
|
16029
|
+
}
|
|
16030
|
+
});
|
|
16031
|
+
var _sfc_render = function render52() {
|
|
16032
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
16033
|
+
return _setup.productData ? _c("div", { staticClass: "plv-product-small-card-root" }, [_c("transition", { attrs: { "name": "plv-product-small-card-animation" } }, [_setup.smallCardVisible ? _c("div", { staticClass: "plv-product-small-card-container" }, [_setup.productHotEffectEnabled ? _c(_setup.HotSaleTip, { attrs: { "product-target": _vm.productTarget, "product": _setup.productData, "hot-sale-times": _setup.hotSaleTimes, "last-hot-sale-times": _setup.lastHotSaleTimes, "hot-sale-config": _setup.hotSaleConfig } }) : _vm._e(), _c(_setup.ProductButton, { attrs: { "product-data": _setup.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig, "disabled": !_setup.isProductRedirectLinkDirectly } }, [_c("div", { staticClass: "plv-product-small-card", class: { "plv-product-small-card--no-cover": !_setup.productData.cover }, on: { "click": _setup.openProductDetailPopup } }, [_c("div", { staticClass: "plv-product-small-card__close-area", on: { "click": function($event) {
|
|
16034
|
+
$event.stopPropagation();
|
|
16035
|
+
return _setup.close.apply(null, arguments);
|
|
16036
|
+
} } }, [_c(_setup.ProductIconClose, { staticClass: "plv-product-small-card__icon-close" })], 1), _setup.productData.displayNumber && !_setup.productData.cover && !_setup.productExplainEnabled ? _c("div", { staticClass: "plv-product-small-card__display-number plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_setup.productData.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled && !_setup.productData.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-small-card__explain", attrs: { "product": _setup.productData, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e(), _setup.productData.cover ? _c(_setup.Cover, { attrs: { "product": _setup.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig } }) : _vm._e(), _c("div", { class: { "plv-product-small-card__content--no-cover": !_setup.productData.cover } }, [!_setup.productData.cover && _setup.productData.featureTags.length > 0 ? _c(_setup.ProductFeatureTag, { attrs: { "tag": _setup.productData.featureTags[0] } }) : _vm._e(), _c(_setup.ProductTitle, { attrs: { "title": _setup.productData.name, "use-ellipsis": "" } }), _c(_setup.ProductPrice, { attrs: { "product": _setup.productData } }), _c(_setup.ProductButton, { attrs: { "product-data": _setup.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.handleDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
|
|
16037
|
+
return [_c("button", { staticClass: "plv-product-small-card__buy-button", class: { "plv-product-small-card__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
|
|
16038
|
+
} }], null, false, 2260219374) })], 1)], 1)])], 1) : _vm._e()])], 1) : _vm._e();
|
|
16039
|
+
};
|
|
15312
16040
|
var _sfc_staticRenderFns = [];
|
|
15313
16041
|
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
15314
16042
|
_sfc_main,
|
|
15315
16043
|
_sfc_render,
|
|
15316
16044
|
_sfc_staticRenderFns
|
|
15317
16045
|
);
|
|
15318
|
-
const
|
|
16046
|
+
const smallCard = __component__.exports;
|
|
15319
16047
|
;
|
|
15320
16048
|
console.log(
|
|
15321
16049
|
"%c@polyv/product-ui",
|
|
15322
16050
|
"background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff",
|
|
15323
16051
|
"[component: index]",
|
|
15324
|
-
"[version: 1.
|
|
15325
|
-
"[buildTime: 2025-
|
|
16052
|
+
"[version: 1.1.0-rc-20250703.1]",
|
|
16053
|
+
"[buildTime: 2025-07-03 01:47:56]"
|
|
15326
16054
|
);
|
|
15327
16055
|
export {
|
|
15328
16056
|
AddressEdit,
|
|
15329
16057
|
AddressEditFormType,
|
|
15330
16058
|
AddressItem,
|
|
15331
16059
|
AddressList,
|
|
16060
|
+
bigCardPopup as BigCardPopup,
|
|
15332
16061
|
mobileProductPendant as MobileProductPendant,
|
|
15333
16062
|
OrderConfirm,
|
|
15334
16063
|
OrderDetail,
|
|
@@ -15343,5 +16072,6 @@ export {
|
|
|
15343
16072
|
productIframeLinkPopup as ProductIframeLinkPopup,
|
|
15344
16073
|
ProductItem,
|
|
15345
16074
|
ProductList,
|
|
15346
|
-
productListPopup as ProductListPopup
|
|
16075
|
+
productListPopup as ProductListPopup,
|
|
16076
|
+
smallCard as SmallCard
|
|
15347
16077
|
};
|