"use strict";(self["webpackChunkshiweisuzhou"]=self["webpackChunkshiweisuzhou"]||[]).push([[646],{5646:function(t,i,e){e.r(i),e.d(i,{default:function(){return x}});var s=function(){var t=this,i=t._self._c;return i("div",[i("div",{staticClass:"product-detail-container"},[i("div",{staticClass:"left-section"},[i("el-carousel",{ref:"carousel",staticClass:"product-carousel",attrs:{height:"500px","indicator-position":"none"},on:{change:t.handleCarouselChange}},t._l(t.info.listimg,function(t,e){return i("el-carousel-item",{key:e},[i("img",{staticClass:"carousel-img",attrs:{src:t,alt:`商品图片${e+1}`}})])}),1),i("div",{staticClass:"hint-text"},[t._v(" 温馨提示:以上图片仅供参考,若图片与实物有所不同,则以实物为准。 ")]),i("div",{staticClass:"image-indicators"},t._l(t.info.listimg,function(e,s){return i("div",{key:s,staticClass:"indicator-item",class:{active:t.activeIndex===s},on:{click:function(i){return t.handleIndicatorClick(s)}}},[i("img",{staticClass:"indicator-img",attrs:{src:e,alt:`缩略图${s+1}`}})])}),0)],1),i("div",{staticClass:"right-section"},[i("h2",{staticClass:"product-title"},[t._v(" "+t._s(t.info.title)+" ")]),i("div",{staticClass:"product-tags"},[t.info.display_tags?i("div",{staticStyle:{display:"inline-block"}},t._l(t.info.display_tags.split(","),function(e,s){return i("el-tag",{key:s,staticStyle:{"margin-right":"5px"},attrs:{effect:"dark",size:"mini"}},[t._v(t._s(e))])}),1):t._e(),i("span",{staticClass:"subtitle"},[t._v(t._s(t.info.subtitle))])]),i("div",{staticClass:"price-info"},[i("span",{staticClass:"price-label"},[t._v("售价")]),i("span",{staticClass:"price-amount"},[t._v("¥"+t._s(t.info.sku[t.selectedSpec].price/100))]),i("span",{staticClass:"sales-volume"},[t._v("已售 "+t._s(t.info.sales_number))])]),i("div",{staticClass:"product-attr"},[t._m(0),i("div",{staticClass:"attr-item spec-group"},[i("span",{staticClass:"attr-label"},[t._v("商品规格")]),i("div",{staticClass:"custom-radio-group"},t._l(t.info.sku,function(e,s){return i("label",{key:s,staticClass:"custom-radio",class:{"is-checked":t.selectedSpec===s},on:{click:function(i){t.selectedSpec=s}}},[i("span",{staticClass:"radio-text"},[t._v(t._s(e.sku_name))])])}),0)]),t.currentMinQuantity>1?i("div",{staticClass:"attr-item"},[i("span",{staticClass:"attr-label"},[t._v("起订量")]),i("span",{staticClass:"attr-value"},[t._v(t._s(t.currentMinQuantity)+"件")])]):t._e(),i("div",{staticClass:"attr-item"},[i("span",{staticClass:"attr-label"},[t._v("发货地")]),i("span",{staticClass:"attr-value"},[t._v(t._s(t.info.supplier_address))])]),i("div",{staticClass:"attr-item"},[i("span",{staticClass:"attr-label"},[t._v("其他")]),i("span",{staticClass:"attr-value"},[t._v(t._s(t.otherInfo))])]),i("div",{staticClass:"attr-item"},[i("span",{staticClass:"attr-label"},[t._v("配送范围")]),i("span",{staticClass:"attr-value"},[t._v(t._s(t.deliveryRange))])])]),i("div",{staticClass:"quantity-control"},[i("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:t.decreaseQuantity}}),i("span",{staticClass:"quantity-value"},[t._v(t._s(t.quantity))]),i("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:t.increaseQuantity}}),i("el-button",{staticClass:"buy-btn",attrs:{type:"primary"},on:{click:t.buyNow}},[t._v("一口价购买")]),i("el-button",{staticClass:"cart-btn",attrs:{type:"success"},on:{click:t.addCart}},[t._v("加入购物车")]),i("el-button",{staticClass:"bargain-btn",attrs:{type:"info"},on:{click:t.goYj}},[t._v("议价")])],1)])]),i("div",{staticClass:"product-bottom"},[i("div",{staticClass:"hot-recommend-sidebar"},[i("div",{staticClass:"hot-title"},[t._v("热销推荐")]),t._l(t.hotRecommendData,function(e,s){return i("div",{key:s,staticClass:"product-item",on:{click:function(i){t.id=e.id,t.onReload()}}},[i("img",{directives:[{name:"lazy",rawName:"v-lazy",value:e.headimg,expression:"item.headimg"}],attrs:{alt:""}}),i("div",{staticClass:"product-name"},[t._v(t._s(e.title))]),i("div",{staticClass:"product-price"},[t._v("¥"+t._s(e.price/100))])])})],2),i("div",{staticClass:"product-right"},[i("div",{staticClass:"product-tabs"},[i("span",{class:["tab-item",{active:!t.tabIndex}],on:{click:function(i){t.tabIndex=0}}},[t._v("商品详情")]),i("span",{class:["tab-item",{active:t.tabIndex}],on:{click:function(i){t.tabIndex=1}}},[t._v("商品评价("+t._s(t.evaluateNum)+")")])]),i("div",{directives:[{name:"show",rawName:"v-show",value:!t.tabIndex,expression:"!tabIndex"}],staticClass:"product-detail-main",domProps:{innerHTML:t._s(t.util.formateRichText(t.info.content))}}),i("Evaluate",{directives:[{name:"show",rawName:"v-show",value:t.tabIndex,expression:"tabIndex"}],attrs:{id:t.id}})],1)]),i("AddToCartDialog",{attrs:{product:t.sku,buyQuantity:t.quantity,visible:t.showAddCartDialog},on:{"update:visible":function(i){t.showAddCartDialog=i}}})],1)},a=[function(){var t=this,i=t._self._c;return i("div",{staticClass:"attr-item"},[i("span",{staticClass:"attr-label"},[t._v("收货方式")]),i("span",{staticClass:"attr-value"},[t._v("邮寄")])])}],n=(e(4114),function(){var t=this,i=t._self._c;return i("div",{staticClass:"product-review-section"},[t._e(),i("div",{staticClass:"review-list"},[t._l(t.reviews,function(e,s){return i("div",{key:e.id,staticClass:"review-item"},[i("div",{staticClass:"user-info"},[i("img",{staticClass:"avatar",attrs:{src:e.user.avatar}}),i("div",{staticClass:"user-name"},[t._v(t._s(e.user.nickname))]),i("div",{staticClass:"rating-stars"},t._l(5,function(s){return i("span",{key:s},[t._v(" "+t._s(s<=e.rate?"★":"☆")+" ")])}),0)]),i("div",{staticClass:"review-content",class:{empty:!e.content},domProps:{innerHTML:t._s(t.util.formateRichText(e.content))}}),e.img_list.split(",")&&e.img_list.split(",").length?i("div",{staticClass:"review-images"},t._l(e.img_list.split(","),function(s,a){return i("img",{key:a,attrs:{src:s,alt:`${e.nickname}的评价图片${a+1}`},on:{click:function(i){t.openPreview(e.img_list.split(","),a)}}})}),0):t._e(),i("div",{staticClass:"review-time"},[t._v(t._s(e.time))])])}),0===t.reviews.length?i("div",{staticClass:"empty-state"},[i("el-empty",{attrs:{description:"暂无符合条件的评价"}})],1):t._e()],2),t.total>0?i("div",{staticClass:"pagination-container"},[i("el-pagination",{attrs:{"current-page":t.currentPage,"page-sizes":[5,10,20],"page-size":t.pageSize,layout:"total, sizes, prev, pager, next, jumper",total:t.total},on:{"size-change":t.handleSizeChange,"current-change":t.handleCurrentChange}})],1):t._e(),i("el-dialog",{attrs:{visible:t.previewVisible,modal:!0,title:`查看图片 ${t.previewIndex+1}/${t.previewImages.length}`,width:"80%",height:"80%","custom-class":"image-preview-dialog","close-on-click-modal":!0},on:{"update:visible":function(i){t.previewVisible=i}}},[i("div",{staticClass:"preview-container"},[i("el-button",{staticClass:"preview-btn prev-btn",attrs:{icon:"el-icon-arrow-left",circle:"",disabled:0===t.previewIndex},on:{click:function(i){return t.changePreview("prev")}}}),i("div",{staticClass:"preview-img-wrapper"},[i("img",{staticClass:"preview-img",attrs:{src:t.previewImages[t.previewIndex],alt:`预览图片 ${t.previewIndex+1}`}})]),i("el-button",{staticClass:"preview-btn next-btn",attrs:{icon:"el-icon-arrow-right",circle:"",disabled:t.previewIndex===t.previewImages.length-1},on:{click:function(i){return t.changePreview("next")}}})],1)])],1)}),r=[],l=e(9143),c={name:"ProductReviews",props:["id"],components:{ElEmpty:l.Empty,ElPagination:l.Pagination},data(){return{activeFilter:"all",currentPage:1,pageSize:10,reviews:[],total:0,loading:!1,previewVisible:!1,previewImages:[],previewIndex:0}},mounted(){this.getList()},watch:{id(t){this.idd=t,this.getList()}},methods:{getList(){this.loading=!0,this.get({product_id:this.id,offset:(this.currentPage-1)*this.pageSize,limit:this.pageSize},"/api/product/product_comment_list").then(t=>{this.reviews=t.data.list,this.total=t.data.total,this.loading=!1}).catch(()=>{this.loading=!1})},handleFilterChange(t){this.activeFilter=t,this.currentPage=1},handleSizeChange(t){this.pageSize=t,this.currentPage=1,this.getList()},handleCurrentChange(t){this.currentPage=t,this.getList(),document.querySelector(".review-list")?.scrollIntoView({behavior:"smooth"})},openPreview(t,i){this.previewImages=t,this.previewIndex=i,this.previewVisible=!0},changePreview(t){"prev"===t&&this.previewIndex>0?this.previewIndex--:"next"===t&&this.previewIndex{document.querySelector(".el-dialog__title").textContent=`查看图片 ${this.previewIndex+1}/${this.previewImages.length}`})}}},o=c,d=e(1656),u=(0,d.A)(o,n,r,!1,null,"35760caa",null),p=u.exports,h=function(){var t=this,i=t._self._c;return i("el-dialog",{attrs:{title:"加入购物车",visible:t.dialogVisible,width:"360px","close-on-click-modal":!1,"show-close":!1},on:{"update:visible":function(i){t.dialogVisible=i}}},[i("div",{staticClass:"cart-dialog__product"},[i("img",{directives:[{name:"lazy",rawName:"v-lazy",value:t.product.headimg,expression:"product.headimg"}],staticClass:"product-img",attrs:{alt:"商品图片"}}),i("div",{staticClass:"product-info"},[i("h4",{staticClass:"product-name"},[t._v(t._s(t.product.sku_name||"商品名称"))]),i("p",{staticClass:"product-price"},[t._v("¥"+t._s(t.product.price/100))])])]),i("div",{staticClass:"cart-dialog__quantity"},[i("label",[t._v("购买数量:")]),i("el-input-number",{staticClass:"quantity-input",attrs:{min:1,max:t.product.stock,step:1},on:{change:t.handleQuantityChange},model:{value:t.buyQuantity,callback:function(i){t.buyQuantity=i},expression:"buyQuantity"}}),t.product.stock?i("span",{staticClass:"stock-tip"},[t._v(" 库存仅剩 "+t._s(t.product.stock)+" 件 ")]):t._e()],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{staticClass:"cancel-btn",on:{click:function(i){t.dialogVisible=!1}}},[t._v(" 取消 ")]),i("el-button",{staticClass:"confirm-btn",attrs:{type:"primary",loading:t.loading},on:{click:t.handleAddToCart}},[t._v(" 加入购物车 ")])],1)])},v=[],m=e(3518),g={name:"AddToCartDialog",props:{product:{type:Object,required:!0,default:()=>({id:"",name:"",price:0,avatar:"https://picsum.photos/100",stock:99})},visible:{type:Boolean,default:!1},buyQuantity:{type:Number,default:!1}},data(){return{loading:!1}},computed:{dialogVisible:{get(){return this.visible},set(t){this.$emit("update:visible",t)}}},methods:{...(0,m.i0)(["addToCart"]),handleQuantityChange(t){t>this.product.stock&&(this.buyQuantity=this.product.stock,this.$message.warning(`库存不足,最多可购买 ${this.product.stock} 件`))},async handleAddToCart(){this.loading=!0;try{await this.addToCart({...this.product,quantity:this.buyQuantity}),this.dialogVisible=!1,this.buyQuantity=1}catch(t){this.$message.error(t.message||"加入购物车失败,请重试")}finally{this.loading=!1}}}},C=g,_=(0,d.A)(C,h,v,!1,null,"32e5a85a",null),f=_.exports,b=e(5129),y={name:"ProductDetail",components:{Evaluate:p,AddToCartDialog:f},data(){return{id:"",info:{},activeIndex:0,productCount:"52个",productSubtitle:"副标题",moq:1,deliveryMethod:"邮寄",selectedSpec:0,otherInfo:"下单填写留言,即免费赠送精美贺卡!",deliveryRange:"全国(可配送至全国1000多个城市,苏州市区内免配送费)",quantity:1,hotRecommendData:[],tabIndex:0,showAddCartDialog:!1,sku:{},evaluateNum:0}},computed:{currentMinQuantity(){return this.info?.sku&&0!==this.info.sku.length&&this.info.sku[this.selectedSpec].start_number||1}},watch:{selectedSpec(){this.quantity=this.currentMinQuantity}},methods:{...(0,m.i0)(["submitOrderData"]),buyNow(){const t=[{product:this.info,sku:this.info.sku[this.selectedSpec],quantity:this.quantity}];this.submitOrderData({from:"product",items:t}),this.$router.push("/Order")},handleCarouselChange(t){this.activeIndex=t},handleIndicatorClick(t){this.activeIndex=t,this.$nextTick(()=>{this.$refs.carousel&&this.$refs.carousel.setActiveItem(t)})},decreaseQuantity(){this.quantity>this.currentMinQuantity&&this.quantity--},increaseQuantity(){this.quantity++},handleShare(){this.$message.info("分享功能待实现")},goYj(){const t=b.A.state.user?.info?.token||"";window.location.href="https://swsz.api.js-dyyj.com/kefu?token="+t},addCart(){this.sku=this.info.sku[this.selectedSpec],this.showAddCartDialog=!0},getRecommend(){this.post({offset:0,limit:6,rand:!0,product_ids:this.id},"/api/search/product_recommend").then(t=>{this.hotRecommendData=t.data.list})},getDetail(){this.get({id:this.id},"/api/product/get_product_detail").then(t=>{this.info=t.data,this.info.sku&&this.info.sku.length>0&&(this.selectedSpec>=this.info.sku.length&&(this.selectedSpec=0),this.quantity=this.currentMinQuantity)})},onReload(){this.getDetail(),this.getRecommend(),this.get({product_id:this.id,offset:0,limit:1},"/api/product/product_comment_list").then(t=>{this.evaluateNum=t.data.total})}},mounted(){this.$refs.carousel||console.warn("轮播组件未正确加载,请检查ref属性是否设置"),this.id=this.$route.params.id,this.onReload()}},w=y,k=(0,d.A)(w,s,a,!1,null,"b0a7f4d8",null),x=k.exports}}]); //# sourceMappingURL=646.86f530bc.js.map