From fcc2e55be2ed8f3c25f72c41b563c965c3761aae Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Thu, 6 Feb 2025 18:28:16 +0800 Subject: [PATCH] add logic for tid1878 --- src/pages.json | 6 + src/subpackage/mall/components/bottom_modal.vue | 50 +++ src/subpackage/mall/components/line_button.vue | 2 +- src/subpackage/mall/components/number_operate.vue | 18 +- .../mall/components/specification_modal.vue | 144 +++++- src/subpackage/mall/js/api.js | 6 +- src/subpackage/mall/pages/goods_info.vue | 484 +++++++++++++++++++++ src/subpackage/mall/pages/index.vue | 9 +- src/subpackage/mall/static/images/arrow_873.png | Bin 0 -> 237 bytes src/subpackage/mall/static/images/arrow_9ad.png | Bin 0 -> 242 bytes src/subpackage/mall/static/images/home.png | Bin 0 -> 1260 bytes src/subpackage/mall/static/images/selected.png | Bin 0 -> 701 bytes src/subpackage/mall/static/images/share.png | Bin 0 -> 2100 bytes .../mall/static/images/shopping_cart.png | Bin 0 -> 1714 bytes src/subpackage/mall/static/images/star.png | Bin 0 -> 362 bytes src/uni.scss | 12 + 16 files changed, 714 insertions(+), 17 deletions(-) create mode 100644 src/subpackage/mall/components/bottom_modal.vue create mode 100644 src/subpackage/mall/pages/goods_info.vue create mode 100644 src/subpackage/mall/static/images/arrow_873.png create mode 100644 src/subpackage/mall/static/images/arrow_9ad.png create mode 100644 src/subpackage/mall/static/images/home.png create mode 100644 src/subpackage/mall/static/images/selected.png create mode 100644 src/subpackage/mall/static/images/share.png create mode 100644 src/subpackage/mall/static/images/shopping_cart.png create mode 100644 src/subpackage/mall/static/images/star.png diff --git a/src/pages.json b/src/pages.json index 99ab599..005c6e3 100644 --- a/src/pages.json +++ b/src/pages.json @@ -904,6 +904,12 @@ "style" : { "navigationBarTitleText": "商城" } + }, + { + "path": "pages/goods_info", + "style" : { + "navigationBarTitleText": "商品详情" + } } ] } diff --git a/src/subpackage/mall/components/bottom_modal.vue b/src/subpackage/mall/components/bottom_modal.vue new file mode 100644 index 0000000..09a83f5 --- /dev/null +++ b/src/subpackage/mall/components/bottom_modal.vue @@ -0,0 +1,50 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/mall/components/line_button.vue b/src/subpackage/mall/components/line_button.vue index 4ed1f46..84b31fd 100644 --- a/src/subpackage/mall/components/line_button.vue +++ b/src/subpackage/mall/components/line_button.vue @@ -1,5 +1,5 @@ diff --git a/src/subpackage/mall/components/number_operate.vue b/src/subpackage/mall/components/number_operate.vue index cc2035c..503d6b9 100644 --- a/src/subpackage/mall/components/number_operate.vue +++ b/src/subpackage/mall/components/number_operate.vue @@ -2,23 +2,35 @@ diff --git a/src/subpackage/mall/js/api.js b/src/subpackage/mall/js/api.js index 457697a..5de9aca 100644 --- a/src/subpackage/mall/js/api.js +++ b/src/subpackage/mall/js/api.js @@ -1,8 +1,10 @@ -import { ORIGIN } from '@/js/api'; - +// import { ORIGIN } from '@/js/api'; +const ORIGIN = `https://test.ouxuanzhineng.cn`; // 测试 export const MALL_API = { homeShow:`${ORIGIN}/shop2/homeShow`, // 首页设置信息 goodsCartAdd:`${ORIGIN}/shop2/goodsCartAdd`, //购物车 - 添加商品 + goodsSpecSel:`${ORIGIN}/shop2/goodsSpecSel`, //商品规格选择【返回库存&价格】 + goodsInfo:`${ORIGIN}/shop2/goodsInfo`, //商品详情 } export default { ORIGIN, MALL_API }; \ No newline at end of file diff --git a/src/subpackage/mall/pages/goods_info.vue b/src/subpackage/mall/pages/goods_info.vue new file mode 100644 index 0000000..6a0c4db --- /dev/null +++ b/src/subpackage/mall/pages/goods_info.vue @@ -0,0 +1,484 @@ + + + + + \ No newline at end of file diff --git a/src/subpackage/mall/pages/index.vue b/src/subpackage/mall/pages/index.vue index 5d01319..6fb1ddb 100644 --- a/src/subpackage/mall/pages/index.vue +++ b/src/subpackage/mall/pages/index.vue @@ -76,7 +76,7 @@ import indexSearchBar from "../components/index_search_bar.vue"; import indexClassifyBar from "../components/index_classify_bar.vue"; import goodsItem from "../components/goods_item.vue"; import spacificationModal from "../components/specification_modal.vue"; -import { routeTo, debounce, showLoad, hideLoad, showModal, showNone, tsRoute, jsonStr } from "@/utils/util.js"; +import { routeTo, showLoad, hideLoad, showModal, tsRoute, jsonStr } from "@/utils/util.js"; import { MALL_API } from "../js/api"; import server from "../js/server"; export default { @@ -150,7 +150,14 @@ export default { // 如果商品是多个规格属性的,则出现弹窗给用户选择规格加入购物车,如果是单规格的则直接加入购物车 // 根据product_spec_multi字段做判断 等于1则是多规格 if(e.product_spec_multi == 1){ + // e.product_spec.push({ + // id: 3, + // name: 'test', + // value: ['test1', 'test2', 'test3'] + // }) this.$refs.spacificationModal.alert({ + id: e?.id ?? '', + brand_id: brand_id, poster: e?.product_imgs?.[0] ?? '', name: e?.product_name ?? '', price: e?.product_price ?? '', diff --git a/src/subpackage/mall/static/images/arrow_873.png b/src/subpackage/mall/static/images/arrow_873.png new file mode 100644 index 0000000000000000000000000000000000000000..71d442a778ea32a3bd7d3694d4b2c02aa0ec3b88 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZH!3-ohr2EzaDa!z#5LY1mzugv$tYHkB{~fj< z)Nb>?6Uest-v&{DLS|*vl>s#il?3?(Gu&Sx`};?te`c^}wDrdWi~CAHeyrF7lnwNB zaSYKofA*v|UxNY<>w$0=t&aWo{%=@TeM>;B>(2g5ELY>R!o-4ZIdn_$hGWuR= z|3Y2a*}cBA7S>8<)}3p8%D=sM$DG63pALj*tNmmQ`Oj7_-B6SQG@QZH)z4*}Q$iB} DOEqFK literal 0 HcmV?d00001 diff --git a/src/subpackage/mall/static/images/arrow_9ad.png b/src/subpackage/mall/static/images/arrow_9ad.png new file mode 100644 index 0000000000000000000000000000000000000000..b76426a0157f3ffa19922a2c06814b47820b5cbf GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^GC(ZH!3-ohr2EzaDVqSF5LX~QYu4P^v**m5Id|sF znX_lln>~B}oH;-ei000kH4i8|XU-f511Jb&0LACc1Br|Gq=*9b3zr1>1vC6waaZn< ze^zo#u&4FM1B?4gW#3h7$p%UXdAc};Xq-QL(wnbAfrs@#(>A3C+rRH$y)yfEQiMR7 zwaJ=8I(eJ2BL1>yGv;o)dS%O}cbB$2J)V|6IrY!J%1wI?994YB=5B3q>%hg8RTEZ+ cy?VlUC5Y|rrFD#&K+_pKUHx3vIVCg!08#I0LjV8( literal 0 HcmV?d00001 diff --git a/src/subpackage/mall/static/images/home.png b/src/subpackage/mall/static/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..b85268ec6c1f825f36c198a77da598f1020780b3 GIT binary patch literal 1260 zcmV*IscluX*wz;jR8SCXHMX10?i`uK{m5o^W@mTuQOLgS-gD2K z-}#?&KV}Kn`G>Ca_^|=7)(Wne0#fGo12nM+$YVlekFNx5DCCWs6 zB%9Sm9+ zgQ;fP{jG&EMMY7xY&QK~HxL~Iv}o3aSek3yr#HH8?v4Qb1EM3@Y6e zlP7Q(MM4AkG;3QW5ma(vn>!SMf3vpVlu`LvDA#u7iaK-MDp`#?5FkvmwwsKqT@=mj z3(!fkhK1<1xmyB6C2_kzotCI4K$K0^E`V#-$#a(hbef4Uf%@5oRelM8W!bMX<0X&P zsRZC-RmF>%rv2C|0L!ulnbpUcv5Sbe5K+xPGiHhSqT|qU!^nK&2O;J34xnjeHQs$lpls5q09N>ciDin)bpBf!~V9wiD{tJNj z`1si;gm!YtK46;mb3}M6s1)LHWpg^6E;iapX+I0#XwclI@smPmkGffHo+qX4Djsj; zj~UM!hPLp$n#5C6Q#Yw<&zArO{Q_Yw_Zfz9wQ5r+6mFiMcP;_g6cWHa^zGO6%=;by z^8jKk{QX*~l=h5_jQqB2C!U#^=_?k?JBcbi)yd4tCylk(3?OCx6@Y6s3E&D5jXMsX zR}`lqyXrP(j01dYt$vA4>w0EyFaX`FC<-}Fi4%#$cf-T=8(rW|Y+3nPX6~y4Emc6u z{HFllUmvFfhLJJ7vS(S=ZOqDrx-G65hSnPdkWBW+QmItM%V!h-X8_(^cdpzmMEY#2 za*{HCwXxBY$^PC{Ds`=?rt&(t()B05ZUqpes5?(edjp`Bz@Ut6 zDA2SluX+hdX`ca5Yhq@)%kQWVr07}zNC5i(HTO?%@20__p`pLmO%qFLyRQLjYjyKR zHaR)DB_2<_&dl41l%u+yKJB+72l-od1;QR5)?Ep00Ic;Yw4uN%DDW3ECmT+qHyVcV zXV}cU_JJ)O`%NN@)lZwm%=jGOpF^rJ0N_3VO2fQqA++?0-Um$6+(s0? z1n>2fNH{ux}NE6 z_3vijjjZ|rDGR#+ekb5{M^M(?mk{4G(=&#lo$@&^z0J&{i{oSpkvY)Hwrzl_gF>Nj z%iLV~j#y0XcN}heJ`v3_moEw-erSUdwr%gNR7e#f^O@JHms(G@<7_?Kw4K5A3h^H+ WaLrzV7Y$DU0000$Si<-=n_aW8j`-q;@S2rihM=%+$dTU+z&$n@8CJG@($8v_8u@7*1kNBhRuG*<=39v->^p_C8eogh06T!U z7^0J|(dV8KO!ObZlDC1~z(-_$e<`F0ux)u!`0@;vzm=XFuHLSKCWjg@aw=*S)hvPF z0mrT)ARW61T+?4}`S(>U?vQNA%R(fVh?v*aUp7Ehi&6I;2w{lB8`|RLnQhlJFpssk zOI4Q*NcEpZ$Vr{hsCoRanlITG#xSnn^NrCtGD9l%L?>Q~cA}$qZ9qD9A2^Mqi>Rp* zR@q4og%P=F1UnI2rQ5trD%Oc$0(d~gY;yo_fF>-XnVylkiquQRAwzzth2CVAI|EJp zvXtH&5wqC=d;kYr#N6ruhR4)X3iBXO2?*vHY8uD;fRK8B(4B17OhY6*!ci~z!Z`e4e=QrM?*88YVAFh05 jmWowv=~p!ED!cR>3D{jKq|aK100000NkvXXu0mjfc;rFk literal 0 HcmV?d00001 diff --git a/src/subpackage/mall/static/images/share.png b/src/subpackage/mall/static/images/share.png new file mode 100644 index 0000000000000000000000000000000000000000..7701793761a57ea9380b87f3e236b3021e0d65fc GIT binary patch literal 2100 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 IM6N<$f>M#BoB#j- literal 0 HcmV?d00001 diff --git a/src/uni.scss b/src/uni.scss index 7745bde..082358c 100644 --- a/src/uni.scss +++ b/src/uni.scss @@ -105,4 +105,16 @@ $mColor: #009874; padding-bottom: $height; padding-bottom: calc( $height + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */ padding-bottom: calc( $height + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */ +} + +@mixin clearBtn{ + margin: 0; + padding: 0; + line-height: 0; + background-color: transparent; + border-radius: 0; + &::after{ + position: unset !important; + border: unset; + } } \ No newline at end of file