Commit 8fdae7108a162cfe9c369d11fd33390014c74713
1 parent
c4c4f1251c
Exists in
master
完成镜框和太阳镜的选购页功能
Showing
9 changed files
with
543 additions
and
980 deletions
Show diff stats
src/components/UniSliper/UniSliper.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="c-progress"> |
| 3 | 3 | <div class="c-progress-outer" :style="setProgressBgStyle" ref="progress"> |
| 4 | - <div class="c-progress-inner" :style="setProgressStyle"></div> | |
| 5 | - <div v-if="showSlider" class="c-progress-slider" ref="slider" :style="setSliderStyle"></div> | |
| 4 | + <div class="c-progress-inner" | |
| 5 | + v-bind:style="{width: inner_width+'rpx'}" | |
| 6 | + ></div> | |
| 7 | + <!-- <div v-if="showSlider" class="c-progress-slider" ref="slider" :style="setSliderStyle"></div> --> | |
| 6 | 8 | </div> |
| 7 | - <span v-if="showPerText">{{stand_width}}mm</span> | |
| 9 | + <span v-if="showPerText">{{content}}mm</span> | |
| 8 | 10 | </div> |
| 9 | 11 | </template> |
| 10 | 12 | |
| ... | ... | @@ -19,57 +21,15 @@ |
| 19 | 21 | export default { |
| 20 | 22 | name: 'CProgress', |
| 21 | 23 | props: { |
| 22 | - percent: { | |
| 23 | - type: Number, | |
| 24 | - default: 60 | |
| 25 | - }, | |
| 26 | - showSlider: { | |
| 27 | - type: Boolean, | |
| 28 | - default: true | |
| 29 | - }, | |
| 30 | - showPerText: { | |
| 31 | - type: Boolean, | |
| 32 | - default: true | |
| 33 | - }, | |
| 34 | - // 进度条的宽度 | |
| 35 | - width: { | |
| 36 | - type: Number, | |
| 37 | - default: 300 | |
| 38 | - }, | |
| 39 | - bgColor: { | |
| 40 | - type: String, | |
| 41 | - default: '#ebeef5' | |
| 42 | - }, | |
| 43 | - progressColor: { | |
| 44 | - type: String, | |
| 45 | - default: '#409EFF' | |
| 46 | - }, | |
| 47 | - // 滑块的宽度 | |
| 48 | - sliderWidth: { | |
| 49 | - type: Number, | |
| 50 | - default: 20 | |
| 51 | - }, | |
| 52 | - // 颜色的类型 | |
| 53 | - type: { | |
| 54 | - type: String, | |
| 55 | - default: colorTable.default | |
| 56 | - }, | |
| 57 | - //规格长度 | |
| 58 | - standard:{ | |
| 59 | - type: Number, | |
| 60 | - default: 1.4 | |
| 61 | - }, | |
| 62 | - //初始长度 | |
| 63 | - stand_width:{ | |
| 64 | - type: Number, | |
| 65 | - default: 0 | |
| 66 | - } | |
| 24 | + //inner的长度 | |
| 25 | + inner_widthProp: Number, | |
| 26 | + //调用接口的值 | |
| 27 | + contentProp: String | |
| 67 | 28 | }, |
| 68 | 29 | data () { |
| 69 | 30 | return { |
| 70 | - sliderLeft: 0, // 滑块相对父元素发x坐标 | |
| 71 | - progressWidth: 0, // 进度条当前的的宽度 | |
| 72 | - tempPercent: 0, | |
| 31 | + inner_width: this.inner_widthProp, | |
| 32 | + content: this.contentProp | |
| 73 | 33 | } |
| 74 | 34 | }, |
| 75 | 35 | computed: { |
| ... | ... | @@ -103,71 +63,71 @@ |
| 103 | 63 | this.sliderLeft = this.width / 100 * this.percent |
| 104 | 64 | this.progressWidth = this.sliderLeft + this.sliderWidth // 滑块的x坐标加上滑块的宽度 |
| 105 | 65 | this.tempPercent = this.percent |
| 106 | - this.addListener() | |
| 66 | + // this.addListener() | |
| 107 | 67 | }, |
| 108 | - methods: { | |
| 109 | - addListener () { | |
| 110 | - const slider = this.$refs.slider | |
| 111 | - const progress = this.$refs.progress | |
| 112 | - let isClickSlider = false | |
| 113 | - let distance = 0 // 滑块与点击坐标的绝对距离 | |
| 114 | - progress.onclick = (e) => { | |
| 115 | - // 阻止事件冒泡 | |
| 116 | - if (e.target == slider) { | |
| 117 | - return | |
| 118 | - } | |
| 119 | - let curX = progress.offsetLeft | |
| 120 | - this.sliderLeft = e.pageX - curX | |
| 121 | - if (this.sliderLeft <= 0) { | |
| 122 | - this.sliderLeft = 0 | |
| 123 | - } | |
| 124 | - if (this.sliderLeft >= this.width) { | |
| 125 | - this.sliderLeft = this.width | |
| 126 | - } | |
| 127 | - this._countCurPercent() | |
| 128 | - } | |
| 129 | - // slider.onmousedown = (e) => { | |
| 130 | - // isClickSlider = true | |
| 131 | - // let curX = slider.offsetLeft | |
| 132 | - // distance = e.pageX - curX // 得出绝对距离 | |
| 133 | - // } | |
| 134 | - progress.onmousemove = (e) => { | |
| 135 | - if (isClickSlider) { | |
| 136 | - // 判断是否已经超出进度条的长度 | |
| 137 | - if ((e.pageX - distance) >= 0 && (e.pageX - distance) <= (this.width - 0)) { | |
| 138 | - this.sliderLeft = e.pageX - distance | |
| 139 | - this._countCurPercent() | |
| 140 | - } | |
| 141 | - } | |
| 142 | - } | |
| 143 | - progress.onmouseup = () => { | |
| 144 | - isClickSlider = false | |
| 145 | - } | |
| 146 | - }, | |
| 147 | - // 算出百分比 | |
| 148 | - _countCurPercent () { | |
| 149 | - this.tempPercent = Math.ceil(parseInt(this.sliderLeft / this.width * 100)) | |
| 150 | - this.progressWidth = this.sliderLeft + 20 | |
| 151 | - // 取整的时候宽度可能不为0,所以在0和100的时候也将宽度取整 | |
| 152 | - if (this.tempPercent <= 0) { | |
| 153 | - this.progressWidth = 0 | |
| 154 | - this.sliderLeft = 0 | |
| 155 | - } | |
| 156 | - if (this.tempPercent >= 100) { | |
| 157 | - this.progressWidth = this.width + 20 | |
| 158 | - this.sliderLeft = this.width | |
| 159 | - } | |
| 160 | - this.stand_width = this.tempPercent*this.standard | |
| 161 | - this.stand_width = parseInt(this.stand_width/1) //取整 | |
| 162 | - this.$emit('percentChange', this.tempPercent) | |
| 163 | - } | |
| 164 | - } | |
| 68 | + // methods: { | |
| 69 | + // addListener () { | |
| 70 | + // const slider = this.$refs.slider | |
| 71 | + // const progress = this.$refs.progress | |
| 72 | + // let isClickSlider = false | |
| 73 | + // let distance = 0 // 滑块与点击坐标的绝对距离 | |
| 74 | + // progress.onclick = (e) => { | |
| 75 | + // // 阻止事件冒泡 | |
| 76 | + // if (e.target == slider) { | |
| 77 | + // return | |
| 78 | + // } | |
| 79 | + // let curX = progress.offsetLeft | |
| 80 | + // this.sliderLeft = e.pageX - curX | |
| 81 | + // if (this.sliderLeft <= 0) { | |
| 82 | + // this.sliderLeft = 0 | |
| 83 | + // } | |
| 84 | + // if (this.sliderLeft >= this.width) { | |
| 85 | + // this.sliderLeft = this.width | |
| 86 | + // } | |
| 87 | + // this._countCurPercent() | |
| 88 | + // } | |
| 89 | + // // slider.onmousedown = (e) => { | |
| 90 | + // // isClickSlider = true | |
| 91 | + // // let curX = slider.offsetLeft | |
| 92 | + // // distance = e.pageX - curX // 得出绝对距离 | |
| 93 | + // // } | |
| 94 | + // progress.onmousemove = (e) => { | |
| 95 | + // if (isClickSlider) { | |
| 96 | + // // 判断是否已经超出进度条的长度 | |
| 97 | + // if ((e.pageX - distance) >= 0 && (e.pageX - distance) <= (this.width - 0)) { | |
| 98 | + // this.sliderLeft = e.pageX - distance | |
| 99 | + // this._countCurPercent() | |
| 100 | + // } | |
| 101 | + // } | |
| 102 | + // } | |
| 103 | + // progress.onmouseup = () => { | |
| 104 | + // isClickSlider = false | |
| 105 | + // } | |
| 106 | + // }, | |
| 107 | + // // 算出百分比 | |
| 108 | + // _countCurPercent () { | |
| 109 | + // this.tempPercent = Math.ceil(parseInt(this.sliderLeft / this.width * 100)) | |
| 110 | + // this.progressWidth = this.sliderLeft + 20 | |
| 111 | + // // 取整的时候宽度可能不为0,所以在0和100的时候也将宽度取整 | |
| 112 | + // if (this.tempPercent <= 0) { | |
| 113 | + // this.progressWidth = 0 | |
| 114 | + // this.sliderLeft = 0 | |
| 115 | + // } | |
| 116 | + // if (this.tempPercent >= 100) { | |
| 117 | + // this.progressWidth = this.width + 20 | |
| 118 | + // this.sliderLeft = this.width | |
| 119 | + // } | |
| 120 | + // this.stand_width = this.tempPercent*this.standard | |
| 121 | + // this.stand_width = parseInt(this.stand_width/1) //取整 | |
| 122 | + // this.$emit('percentChange', this.tempPercent) | |
| 123 | + // } | |
| 124 | + // } | |
| 165 | 125 | } |
| 166 | 126 | </script> |
| 167 | 127 | |
| 168 | 128 | <style scoped lang="scss"> |
| 169 | 129 | .c-progress { |
| 170 | - $width: 400rpx; | |
| 130 | + $width: 300px; | |
| 171 | 131 | $radius: 5px; |
| 172 | 132 | display: flex; |
| 173 | 133 | align-items: center; |
| ... | ... | @@ -179,7 +139,7 @@ |
| 179 | 139 | } |
| 180 | 140 | |
| 181 | 141 | .c-progress-outer { |
| 182 | - width: $width; | |
| 142 | + width: 420rpx; | |
| 183 | 143 | height: 10px; |
| 184 | 144 | background: #ebeef5; |
| 185 | 145 | position: relative; |
| ... | ... | @@ -187,7 +147,7 @@ |
| 187 | 147 | align-items: center; |
| 188 | 148 | |
| 189 | 149 | .c-progress-inner { |
| 190 | - width: 100rpx; | |
| 150 | + width: 300rpx; | |
| 191 | 151 | height: 10px; |
| 192 | 152 | background: #FF6B4A ; |
| 193 | 153 | } | ... | ... |
src/pages.json
src/pages/detailStandard/detailStandard_k.vue
| 1 | 1 | <template> |
| 2 | 2 | <view class="container"> |
| 3 | 3 | <view class="detail"> |
| 4 | - <view class="detail1"><image v-bind:src="detail.image"></image></view> | |
| 4 | + <view class="detail1"><image v-bind:src="details.data.img_index_url"></image></view> | |
| 5 | 5 | <view class="detail2"> |
| 6 | - <view class="detail2_name">{{detail.name}}</view> | |
| 6 | + <view class="detail2_name">{{details.data.p_name}}</view> | |
| 7 | 7 | <view class="detail2_tui"><span>支持7天无条件退货</span><span>顺丰发货</span></view> |
| 8 | - <view class="detail2_price"><span>¥{{detail.price}}</span></view> | |
| 8 | + <view class="detail2_price"> | |
| 9 | + <span>¥{{details.data.p_sale_price*count}}</span> | |
| 10 | + <view class="counter"> | |
| 11 | + <view class="btn" disabled="this.disabled" @click="counter(false)">-</view> | |
| 12 | + <text>{{count}}</text> | |
| 13 | + <view class="btn" @click="counter(true)">+</view> | |
| 14 | + </view> | |
| 15 | + </view> | |
| 9 | 16 | </view> |
| 10 | 17 | </view> |
| 11 | 18 | <view class="choose"> |
| 12 | 19 | <view class="colour"> |
| 13 | 20 | <view class="colour1"><span>框架颜色</span><image src="/static/img/detail/xiala.png"></image></view> |
| 14 | - <view class="colour_exp">*黑色 BHL192345</view> | |
| 21 | + <view class="colour_exp">*{{colour}}</view> | |
| 22 | + <view> | |
| 15 | 23 | <view class="colour2"> |
| 16 | - <view v-for="(colours) in colour" :key="colours.key"><image v-bind:src="colours.img"></image></view> | |
| 24 | + <view | |
| 25 | + v-for="(items,index) in details.data.skuList" | |
| 26 | + :key="index" | |
| 27 | + @click="viewChoose(index)" | |
| 28 | + class="colour2_view" | |
| 29 | + v-bind:class="{'colour2_viewed': chooseNum == index}" | |
| 30 | + > | |
| 31 | + <image v-bind:src="items.pic" @click="colourChange(index,items.sku_name)"></image> | |
| 32 | + </view> | |
| 33 | + </view> | |
| 17 | 34 | </view> |
| 18 | 35 | <hr/> |
| 19 | 36 | </view> |
| ... | ... | @@ -22,23 +39,59 @@ |
| 22 | 39 | <view class="size1_1">框架尺寸</view> |
| 23 | 40 | <view><span>+¥20</span><image src="/static/img/detail/xiala.png"></image></view> |
| 24 | 41 | </view> |
| 25 | - <view class="size2"> | |
| 26 | - <view>通用</view> | |
| 27 | - <view>定制</view> | |
| 42 | + <view class="colour"> | |
| 43 | + <view class="colour_exp">*{{colour}}</view> | |
| 28 | 44 | </view> |
| 29 | 45 | <view class="D3_list"> |
| 30 | - <view v-for="(item) in parameter" :key="item.key"> | |
| 31 | - <view><image class="D3_image" v-bind:src = "item.img"></image></view> | |
| 46 | + <view> | |
| 47 | + <view><image class="D3_image" v-bind:src ="parameter[0].img"></image></view> | |
| 48 | + <view class="D3_list_jDu"> | |
| 49 | + <view class="D3_list1"> | |
| 50 | + <c-progress class="c-progress" :inner_widthProp="300"/> | |
| 51 | + <text>{{details.data.frame_width}}mm</text> | |
| 52 | + </view> | |
| 53 | + <view>{{parameter[0].standard}}</view> | |
| 54 | + </view> | |
| 55 | + </view> | |
| 56 | + <view> | |
| 57 | + <view><image class="D3_image" v-bind:src ="parameter[1].img"></image></view> | |
| 32 | 58 | <view class="D3_list_jDu"> |
| 33 | - <!-- uni-sliper插件 --> | |
| 34 | - <!-- <c-progress class="c-progress" | |
| 35 | - :percent="item.percent" | |
| 36 | - :show-slider="false" :width="190" | |
| 37 | - :standard="item.standard_l" | |
| 38 | - :stand_width="item.slength" | |
| 39 | - progressColor="#FF6B4A" | |
| 40 | - /> --> | |
| 41 | - <view>{{item.standard}}</view> | |
| 59 | + <view class="D3_list1"> | |
| 60 | + <c-progress class="c-progress" :inner_widthProp="190"/> | |
| 61 | + <view>{{details.data.glass_width}}mm</view> | |
| 62 | + </view> | |
| 63 | + <view>{{parameter[1].standard}}</view> | |
| 64 | + </view> | |
| 65 | + </view> | |
| 66 | + <view> | |
| 67 | + <view><image class="D3_image" v-bind:src ="parameter[2].img"></image></view> | |
| 68 | + <view class="D3_list_jDu"> | |
| 69 | + <view class="D3_list1"> | |
| 70 | + <c-progress class="c-progress" :inner_widthProp="210"/> | |
| 71 | + <view>{{details.data.glass_height}}mm</view> | |
| 72 | + </view> | |
| 73 | + <view>{{parameter[2].standard}}</view> | |
| 74 | + </view> | |
| 75 | + </view> | |
| 76 | + <view> | |
| 77 | + <view><image class="D3_image" v-bind:src ="parameter[3].img"></image></view> | |
| 78 | + <view class="D3_list_jDu"> | |
| 79 | + | |
| 80 | + <view class="D3_list1"> | |
| 81 | + <c-progress class="c-progress" :inner_widthProp="160"/> | |
| 82 | + <view>{{details.data.nose_width}}mm</view> | |
| 83 | + </view> | |
| 84 | + <view>{{parameter[3].standard}}</view> | |
| 85 | + </view> | |
| 86 | + </view> | |
| 87 | + <view> | |
| 88 | + <view><image class="D3_image" v-bind:src ="parameter[4].img"></image></view> | |
| 89 | + <view class="D3_list_jDu"> | |
| 90 | + <view class="D3_list1"> | |
| 91 | + <c-progress class="c-progress" :inner_widthProp="260"/> | |
| 92 | + <view>{{details.data.leg_long}}mm</view> | |
| 93 | + </view> | |
| 94 | + <view>{{parameter[4].standard}}</view> | |
| 42 | 95 | </view> |
| 43 | 96 | </view> |
| 44 | 97 | <hr/> |
| ... | ... | @@ -51,7 +104,13 @@ |
| 51 | 104 | </view> |
| 52 | 105 | <view class="colour_exp">*0290</view> |
| 53 | 106 | <view class="part_som"> |
| 54 | - <view v-for="(part) in part" :key="part.key"><image v-bind:src="part.img"></image></view> | |
| 107 | + <view | |
| 108 | + v-for="(part) in part" | |
| 109 | + :key="part.key" | |
| 110 | + v-bind:class="{'size_viewed': part.is_actived}" | |
| 111 | + > | |
| 112 | + <image v-bind:src="part.img"></image> | |
| 113 | + </view> | |
| 55 | 114 | </view> |
| 56 | 115 | </view> |
| 57 | 116 | </view> |
| ... | ... | @@ -60,7 +119,7 @@ |
| 60 | 119 | <view class="buy2">系统已为你保存好已选镜框,放心去选镜片吧!</view> |
| 61 | 120 | <view class="buy3"> |
| 62 | 121 | <view class="buy3_1">暂时不选</view> |
| 63 | - <view class="buy3_2">立即去选</view> | |
| 122 | + <view class="buy3_2" @click="popArgs">立即去选</view> | |
| 64 | 123 | </view> |
| 65 | 124 | </view> |
| 66 | 125 | <view class="zhanwei"></view> |
| ... | ... | @@ -72,55 +131,73 @@ import CProgress from '../../components/UniSliper/UniSliper' |
| 72 | 131 | import store from '@/store' |
| 73 | 132 | |
| 74 | 133 | export default { |
| 134 | + components: { | |
| 135 | + CProgress | |
| 136 | + }, | |
| 75 | 137 | data(){ |
| 76 | 138 | return{ |
| 77 | - detail:{ | |
| 78 | - image:'/static/img/detail/d1.png', | |
| 79 | - name:'商品名称商品名称商品名称商品名称商品名称', | |
| 80 | - price: 180, | |
| 81 | - number: 1, | |
| 82 | - }, | |
| 83 | - //框架颜色 | |
| 84 | - colour:[ | |
| 85 | - {key:0 ,img: '/static/img/detail/Kuang/s1.png'}, | |
| 86 | - {key:1 ,img: '/static/img/detail/Kuang/s2.png'}, | |
| 87 | - {key:2 ,img: '/static/img/detail/Kuang/s3.png'}, | |
| 88 | - {key:3 ,img: '/static/img/detail/Kuang/s4.png'}, | |
| 89 | - {key:4 ,img: '/static/img/detail/Kuang/s5.png'}, | |
| 90 | - {key:5 ,img: '/static/img/detail/Kuang/s6.png'}, | |
| 91 | - {key:6 ,img: '/static/img/detail/Kuang/s7.png'} | |
| 92 | - ], | |
| 93 | - //规格 | |
| 139 | + count: 1, | |
| 140 | + colour: '1.56非球面防蓝光_亚黑色', | |
| 141 | + chooseNum : '', | |
| 94 | 142 | parameter:[ |
| 95 | - {key: 0,img:'/static/img/detail/d2.png', standard:'框架宽', slength:139,standard_l:1.4,percent:100}, | |
| 96 | - {key: 1,img:'/static/img/detail/d3.png', standard:'镜片宽', slength:51,standard_l:1,percent:50}, | |
| 97 | - {key: 2,img:'/static/img/detail/d4.png', standard:'镜片高', slength:45,standard_l:1,percent:50}, | |
| 98 | - {key: 3,img:'/static/img/detail/d5.png', standard:'鼻架宽', slength:19,standard_l:0.4,percent:30}, | |
| 99 | - {key: 4,img:'/static/img/detail/d6.png', standard:'框架耳长', slength:138,standard_l:1.6,percent:60}, | |
| 143 | + {key: 0,img:'/static/img/detail/d2.png', standard:'框架宽', slength:139}, | |
| 144 | + {key: 1,img:'/static/img/detail/d3.png', standard:'镜片宽', slength:51}, | |
| 145 | + {key: 2,img:'/static/img/detail/d4.png', standard:'镜片高', slength:45}, | |
| 146 | + {key: 3,img:'/static/img/detail/d5.png', standard:'鼻架宽', slength:19}, | |
| 147 | + {key: 4,img:'/static/img/detail/d6.png', standard:'框架耳长', slength:138}, | |
| 100 | 148 | ], |
| 101 | 149 | //配饰 |
| 102 | 150 | part:[ |
| 103 | - {key: 0,img:'/static/img/detail/Kuang/g1.png'}, | |
| 104 | - {key: 1,img:'/static/img/detail/Kuang/g1.png'}, | |
| 105 | - {key: 2,img:'/static/img/detail/Kuang/g2.png'}, | |
| 106 | - {key: 3,img:'/static/img/detail/Kuang/g1.png'}, | |
| 107 | - {key: 4,img:'/static/img/detail/Kuang/g1.png'}, | |
| 108 | - {key: 5,img:'/static/img/detail/Kuang/g3.png'}, | |
| 109 | - {key: 6,img:'/static/img/detail/Kuang/g3.png'}, | |
| 110 | - {key: 7,img:'/static/img/detail/Kuang/g2.png'}, | |
| 151 | + {key: 0,img:'/static/img/detail/Kuang/g1.png',is_actived:true}, | |
| 152 | + {key: 1,img:'/static/img/detail/Kuang/g1.png',is_actived:false}, | |
| 153 | + {key: 2,img:'/static/img/detail/Kuang/g2.png',is_actived:false}, | |
| 154 | + {key: 3,img:'/static/img/detail/Kuang/g1.png',is_actived:false}, | |
| 155 | + {key: 4,img:'/static/img/detail/Kuang/g1.png',is_actived:false}, | |
| 156 | + {key: 5,img:'/static/img/detail/Kuang/g3.png',is_actived:false}, | |
| 157 | + {key: 6,img:'/static/img/detail/Kuang/g3.png',is_actived:false}, | |
| 158 | + {key: 7,img:'/static/img/detail/Kuang/g2.png',is_actived:false}, | |
| 111 | 159 | ], |
| 112 | 160 | } |
| 113 | 161 | }, |
| 114 | 162 | |
| 115 | - components: { | |
| 116 | - detailStandard_k(){ | |
| 117 | - console.log(detailStandard_k) | |
| 118 | - return this.$store.state.detailStandard_k.detailStandardList | |
| 119 | - } | |
| 163 | + computed: { | |
| 164 | + details(){ | |
| 165 | + return this.$store.state.detailStandard_k.list | |
| 166 | + }, | |
| 120 | 167 | }, |
| 121 | 168 | onLoad:function(){ |
| 122 | - store.dispatch('detailStandard_k/getList') | |
| 169 | + store.dispatch('detailStandard_k/fetch', { | |
| 170 | + uid: "1", | |
| 171 | + pid: "26", | |
| 172 | + }); | |
| 173 | + // console.log(this.$store.state.detailStandard_k.list+'ssss'); | |
| 123 | 174 | }, |
| 175 | + methods: { | |
| 176 | + counter(isadd){ | |
| 177 | + if(isadd){ | |
| 178 | + this.count++ | |
| 179 | + }else{ | |
| 180 | + this.count <= 1? this.disabled = true:this.count-- | |
| 181 | + } | |
| 182 | + }, | |
| 183 | + colourChange(index,e){ | |
| 184 | + this.colour = e ; //颜色选择 | |
| 185 | + // console.log(index,e); | |
| 186 | + | |
| 187 | + }, | |
| 188 | + viewChoose(index){ | |
| 189 | + this.chooseNum = index | |
| 190 | + }, | |
| 191 | + popArgs(){ | |
| 192 | + uni.navigateTo({ | |
| 193 | + url: '../detailsChoiceArgs/detailsChoiceArgs', | |
| 194 | + success: res => {}, | |
| 195 | + fail: () => {}, | |
| 196 | + complete: () => {} | |
| 197 | + }); | |
| 198 | + } | |
| 199 | + } | |
| 200 | + | |
| 124 | 201 | } |
| 125 | 202 | </script> |
| 126 | 203 | |
| ... | ... | @@ -148,7 +225,7 @@ hr{ |
| 148 | 225 | align-items: center; |
| 149 | 226 | } |
| 150 | 227 | .detail1{ |
| 151 | - height: 188rpx; | |
| 228 | + height: 178rpx; | |
| 152 | 229 | width: 188rpx; |
| 153 | 230 | image{ |
| 154 | 231 | width: 100%; |
| ... | ... | @@ -159,7 +236,7 @@ hr{ |
| 159 | 236 | .detail2{ |
| 160 | 237 | width: 68%; |
| 161 | 238 | view{ |
| 162 | - margin-bottom: 8px; | |
| 239 | + margin-bottom: 6px; | |
| 163 | 240 | font-family: PingFangSC-Regular; |
| 164 | 241 | } |
| 165 | 242 | .detail2_name{ |
| ... | ... | @@ -167,6 +244,11 @@ hr{ |
| 167 | 244 | color: #333333; |
| 168 | 245 | letter-spacing: -0.26px; |
| 169 | 246 | line-height: 18px; |
| 247 | + overflow:hidden; | |
| 248 | + text-overflow:ellipsis; | |
| 249 | + display:-webkit-box; | |
| 250 | + -webkit-box-orient:vertical; | |
| 251 | + -webkit-line-clamp:2; | |
| 170 | 252 | } |
| 171 | 253 | .detail2_tui{ |
| 172 | 254 | font-size: 10px; |
| ... | ... | @@ -182,6 +264,24 @@ hr{ |
| 182 | 264 | letter-spacing: -0.26px; |
| 183 | 265 | } |
| 184 | 266 | } |
| 267 | +.counter{ | |
| 268 | + display: flex; | |
| 269 | + flex-direction: row; | |
| 270 | + justify-content: space-between; | |
| 271 | + font-size: 28rpx; | |
| 272 | + color: #333333; | |
| 273 | + width: 122rpx; | |
| 274 | + float: right; | |
| 275 | + .btn{ | |
| 276 | + display: flex; | |
| 277 | + justify-content: center; | |
| 278 | + line-height: 32rpx; | |
| 279 | + height: 32rpx; | |
| 280 | + width: 32rpx; | |
| 281 | + background-color: #F2F2F2; | |
| 282 | + color: #CFCFCF; | |
| 283 | + } | |
| 284 | +} | |
| 185 | 285 | .choose{ |
| 186 | 286 | background: #FFFFFF; |
| 187 | 287 | padding: 16px; |
| ... | ... | @@ -218,15 +318,19 @@ hr{ |
| 218 | 318 | justify-content: space-between ; |
| 219 | 319 | grid-row-gap: 10px; |
| 220 | 320 | margin-bottom: 14px; |
| 221 | - view{ | |
| 321 | + .colour2_view{ | |
| 222 | 322 | border: 1px solid #F2F2F2; |
| 223 | 323 | image{ |
| 224 | - width: 100%; | |
| 225 | - height: 100%; | |
| 324 | + width: 100rpx; | |
| 325 | + height: 60rpx; | |
| 226 | 326 | } |
| 227 | 327 | } |
| 228 | - view:hover{ | |
| 328 | + .colour2_viewed{ | |
| 229 | 329 | border: 1px solid #FF6B4A; |
| 330 | + image{ | |
| 331 | + width: 100rpx; | |
| 332 | + height: 60rpx; | |
| 333 | + } | |
| 230 | 334 | } |
| 231 | 335 | } |
| 232 | 336 | } |
| ... | ... | @@ -306,6 +410,9 @@ hr{ |
| 306 | 410 | color: #999999; |
| 307 | 411 | letter-spacing: -0.19px; |
| 308 | 412 | } |
| 413 | + .D3_list1{ | |
| 414 | + display: flex; | |
| 415 | + } | |
| 309 | 416 | } |
| 310 | 417 | } |
| 311 | 418 | .part{ |
| ... | ... | @@ -323,13 +430,19 @@ hr{ |
| 323 | 430 | height: 100%; |
| 324 | 431 | } |
| 325 | 432 | } |
| 326 | - view:hover{ | |
| 433 | + .size_viewed{ | |
| 327 | 434 | border: 1px solid #FF6B4A; |
| 435 | + height: 72rpx; | |
| 436 | + image{ | |
| 437 | + width: 100%; | |
| 438 | + height: 100%; | |
| 439 | + } | |
| 328 | 440 | } |
| 329 | 441 | } |
| 330 | 442 | } |
| 443 | + | |
| 331 | 444 | .buy{ |
| 332 | - height: 280rpx; | |
| 445 | + height: 300rpx; | |
| 333 | 446 | background: #FFFFFF ; |
| 334 | 447 | margin-top: 10px; |
| 335 | 448 | border-radius: 8px; | ... | ... |
src/pages/detailStandard/detailStandard_sun.vue
| 1 | 1 | <template> |
| 2 | 2 | <view class="container"> |
| 3 | 3 | <view class="detail"> |
| 4 | - <view class="detail1"><image v-bind:src="detail.image"></image></view> | |
| 4 | + <view class="detail1"><image v-bind:src="details.data.img_index_url"></image></view> | |
| 5 | 5 | <view class="detail2"> |
| 6 | - <view class="detail2_name">{{detail.name}}</view> | |
| 7 | - <view class="detail2_tui"><span>支持7天无条件退货</span><span>顺丰发货</span></view> | |
| 8 | - <view class="detail2_price"><span>¥{{detail.price}}</span></view> | |
| 6 | + <view class="detail2_name">{{details.data.p_name}}</view> | |
| 7 | + <view class="detail2_tui"><text>支持7天无条件退货</text><text>顺丰发货</text></view> | |
| 8 | + <view class="detail2_price"> | |
| 9 | + <text>¥{{details.data.p_sale_price*count}}</text> | |
| 10 | + <view class="counter"> | |
| 11 | + <view class="btn" disabled="this.disabled" @click="counter(false)">-</view> | |
| 12 | + <text>{{count}}</text> | |
| 13 | + <view class="btn" @click="counter(true)">+</view> | |
| 14 | + </view> | |
| 15 | + </view> | |
| 9 | 16 | </view> |
| 10 | 17 | </view> |
| 11 | 18 | <view class="choose"> |
| 12 | 19 | <view class="colour"> |
| 13 | - <view class="colour1"><span>框架颜色</span><image src="/static/img/detail/xiala2.png"></image></view> | |
| 14 | - <view class="colour_exp">*黑色 BHL192345</view> | |
| 20 | + <view class="colour1"><text>框架颜色</text><image src="/static/img/detail/xiala.png"></image></view> | |
| 21 | + <view class="colour_exp">*{{colour}}</view> | |
| 22 | + <view> | |
| 15 | 23 | <view class="colour2"> |
| 16 | - <view v-for="(colours) in colour" :key="colours.key"><image v-bind:src="colours.img"></image></view> | |
| 24 | + <view | |
| 25 | + v-for="(items,index) in details.data.skuList" | |
| 26 | + :key="index" | |
| 27 | + @click="viewChoose(index)" | |
| 28 | + class="colour2_view" | |
| 29 | + v-bind:class="{'colour2_viewed': chooseNum == index}" | |
| 30 | + > | |
| 31 | + <image v-bind:src="items.pic" @click="colourChange(index,items.sku_name)"></image> | |
| 32 | + </view> | |
| 33 | + </view> | |
| 17 | 34 | </view> |
| 18 | 35 | <hr/> |
| 19 | 36 | </view> |
| 20 | 37 | <view class="colour"> |
| 21 | - <view class="colour1"><span>镜片颜色</span><image src="/static/img/detail/xiala2.png"></image></view> | |
| 38 | + <view class="colour1"><text>镜片颜色</text><image src="/static/img/detail/xiala.png"></image></view> | |
| 22 | 39 | <view class="colour_exp">*BL192345 粉紫色【限时打折】</view> |
| 40 | + <view> | |
| 23 | 41 | <view class="jp_colour2"> |
| 24 | - <view class="jp_colour" v-for="(colours) in jp" :key="colours.key"><image v-bind:src="colours.img"></image></view> | |
| 42 | + <view | |
| 43 | + v-for="(items,index) in jp_colour" | |
| 44 | + :key="index" | |
| 45 | + class="jp_colour2_view" | |
| 46 | + > | |
| 47 | + <image v-bind:src="items.img"></image> | |
| 48 | + </view> | |
| 49 | + </view> | |
| 25 | 50 | </view> |
| 26 | 51 | <hr/> |
| 27 | 52 | </view> |
| 28 | - <view class="split"> | |
| 29 | - <view class="split1"> | |
| 30 | - <span>折射率</span> | |
| 31 | - <span class="split1_span">注:折射率越高,镜片越薄,看起来更美观。</span> | |
| 32 | - <image src="/static/img/detail/xiala2.png"></image> | |
| 53 | + <view class="colour"> | |
| 54 | + <view class="colour1"> | |
| 55 | + <text>{{details.data.attrList[0].meta_name}}</text> | |
| 56 | + <text class="colour_exp colour1_span2">注:折射率越高,镜片越薄</text> | |
| 57 | + <image src="/static/img/detail/xiala.png"></image> | |
| 33 | 58 | </view> |
| 34 | - <view class="split2"> | |
| 35 | - <view class="split2_number">0-300度</view> | |
| 36 | - <view class="split2_choose"><view class="split2_tui">1.56(推荐)</view><view>1.60</view></view> | |
| 59 | + <view> | |
| 60 | + <view class="split"> | |
| 61 | + <view | |
| 62 | + v-for="(items,index) in details.data.attrList[0].attr" | |
| 63 | + :key="index" | |
| 64 | + > | |
| 65 | + <view | |
| 66 | + class="split_colour2" | |
| 67 | + @click="splitChoose(index)" | |
| 68 | + v-bind:class="{'split_colour2 split_colour2_actived' : isSplit == index}" | |
| 69 | + >{{items.name}}</view> | |
| 70 | + </view> | |
| 37 | 71 | </view> |
| 38 | - <view class="split2"> | |
| 39 | - <view class="split2_number">300-1000度</view> | |
| 40 | - <view class="split2_choose"><view class="split2_tui">1.71(推荐)</view> | |
| 41 | - <view>1.67</view><view>1.74</view><view>1.80</view><view>1.71</view></view> | |
| 42 | 72 | </view> |
| 43 | 73 | <hr/> |
| 44 | 74 | </view> |
| 45 | 75 | <view class="size"> |
| 46 | 76 | <view class="size1"> |
| 47 | 77 | <view class="size1_1">框架尺寸</view> |
| 48 | - <view><span>+¥20</span><image src="/static/img/detail/xiala2.png"></image></view> | |
| 78 | + <view><span>+¥20</span><image src="/static/img/detail/xiala.png"></image></view> | |
| 49 | 79 | </view> |
| 50 | - <view class="size2"> | |
| 51 | - <view>通用</view> | |
| 52 | - <view>定制</view> | |
| 80 | + <view class="colour"> | |
| 81 | + <view class="colour_exp">*{{colour}}</view> | |
| 53 | 82 | </view> |
| 54 | - <!-- uni-sliper插件 --> | |
| 55 | 83 | <view class="D3_list"> |
| 56 | - <view v-for="(item) in parameter" :key="item.key"> | |
| 57 | - <view><image class="D3_image" v-bind:src = "item.img"></image></view> | |
| 84 | + <view> | |
| 85 | + <view><image class="D3_image" v-bind:src ="parameter[0].img"></image></view> | |
| 86 | + <view class="D3_list_jDu"> | |
| 87 | + <view class="D3_list1"> | |
| 88 | + <c-progress class="c-progress" :inner_widthProp="300"/> | |
| 89 | + <text>{{details.data.frame_width}}mm</text> | |
| 90 | + </view> | |
| 91 | + <view>{{parameter[0].standard}}</view> | |
| 92 | + </view> | |
| 93 | + </view> | |
| 94 | + <view> | |
| 95 | + <view><image class="D3_image" v-bind:src ="parameter[1].img"></image></view> | |
| 96 | + <view class="D3_list_jDu"> | |
| 97 | + <view class="D3_list1"> | |
| 98 | + <c-progress class="c-progress" :inner_widthProp="190"/> | |
| 99 | + <view>{{details.data.glass_width}}mm</view> | |
| 100 | + </view> | |
| 101 | + <view>{{parameter[1].standard}}</view> | |
| 102 | + </view> | |
| 103 | + </view> | |
| 104 | + <view> | |
| 105 | + <view><image class="D3_image" v-bind:src ="parameter[2].img"></image></view> | |
| 58 | 106 | <view class="D3_list_jDu"> |
| 59 | - <c-progress class="c-progress" | |
| 60 | - :percent="item.percent" | |
| 61 | - :show-slider="false" :width="190" | |
| 62 | - :standard="item.standard_l" | |
| 63 | - :stand_width="item.slength" | |
| 64 | - progressColor="#FF6B4A" | |
| 65 | - /> | |
| 66 | - <view>{{item.standard}}</view> | |
| 107 | + <view class="D3_list1"> | |
| 108 | + <c-progress class="c-progress" :inner_widthProp="210"/> | |
| 109 | + <view>{{details.data.glass_height}}mm</view> | |
| 110 | + </view> | |
| 111 | + <view>{{parameter[2].standard}}</view> | |
| 112 | + </view> | |
| 113 | + </view> | |
| 114 | + <view> | |
| 115 | + <view><image class="D3_image" v-bind:src ="parameter[3].img"></image></view> | |
| 116 | + <view class="D3_list_jDu"> | |
| 117 | + | |
| 118 | + <view class="D3_list1"> | |
| 119 | + <c-progress class="c-progress" :inner_widthProp="160"/> | |
| 120 | + <view>{{details.data.nose_width}}mm</view> | |
| 121 | + </view> | |
| 122 | + <view>{{parameter[3].standard}}</view> | |
| 123 | + </view> | |
| 124 | + </view> | |
| 125 | + <view> | |
| 126 | + <view><image class="D3_image" v-bind:src ="parameter[4].img"></image></view> | |
| 127 | + <view class="D3_list_jDu"> | |
| 128 | + <view class="D3_list1"> | |
| 129 | + <c-progress class="c-progress" :inner_widthProp="260"/> | |
| 130 | + <view>{{details.data.leg_long}}mm</view> | |
| 131 | + </view> | |
| 132 | + <view>{{parameter[4].standard}}</view> | |
| 67 | 133 | </view> |
| 68 | 134 | </view> |
| 69 | 135 | <hr/> |
| ... | ... | @@ -72,11 +138,17 @@ |
| 72 | 138 | <view class="part"> |
| 73 | 139 | <view class="size1"> |
| 74 | 140 | <view class="size1_1">配件</view> |
| 75 | - <view><span>+¥0.00</span><image src="/static/img/detail/xiala2.png"></image></view> | |
| 141 | + <view><span>+¥0.00</span><image src="/static/img/detail/xiala.png"></image></view> | |
| 76 | 142 | </view> |
| 77 | 143 | <view class="colour_exp">*0290</view> |
| 78 | 144 | <view class="part_som"> |
| 79 | - <view v-for="(part) in part" :key="part.key"><image v-bind:src="part.img"></image></view> | |
| 145 | + <view | |
| 146 | + v-for="(part) in part" | |
| 147 | + :key="part.key" | |
| 148 | + v-bind:class="{'size_viewed': part.is_actived}" | |
| 149 | + > | |
| 150 | + <image v-bind:src="part.img"></image> | |
| 151 | + </view> | |
| 80 | 152 | </view> |
| 81 | 153 | </view> |
| 82 | 154 | </view> |
| ... | ... | @@ -85,7 +157,7 @@ |
| 85 | 157 | <view class="buy2">系统已为你保存好已选镜框,放心去选镜片吧!</view> |
| 86 | 158 | <view class="buy3"> |
| 87 | 159 | <view class="buy3_1">暂时不选</view> |
| 88 | - <view class="buy3_2">立即去选</view> | |
| 160 | + <view class="buy3_2" @click="popArgs">立即去选</view> | |
| 89 | 161 | </view> |
| 90 | 162 | </view> |
| 91 | 163 | <view class="zhanwei"></view> |
| ... | ... | @@ -94,6 +166,7 @@ |
| 94 | 166 | </template> |
| 95 | 167 | <script> |
| 96 | 168 | import CProgress from '../../components/UniSliper/UniSliper' |
| 169 | +import store from '@/store' | |
| 97 | 170 | |
| 98 | 171 | export default { |
| 99 | 172 | components: { |
| ... | ... | @@ -101,56 +174,91 @@ export default { |
| 101 | 174 | }, |
| 102 | 175 | data(){ |
| 103 | 176 | return{ |
| 104 | - detail:{ | |
| 105 | - image:'/static/img/detail/sun_glass.png', | |
| 106 | - name:'商品名称商品名称商品名称商品名称商品名称', | |
| 107 | - price: 180, | |
| 108 | - number: 1, | |
| 109 | - }, | |
| 110 | - //框架颜色 | |
| 111 | - colour:[ | |
| 112 | - {key:0 ,img: '/static/img/detail/Kuang/s1.png'}, | |
| 113 | - {key:1 ,img: '/static/img/detail/Kuang/s2.png'}, | |
| 114 | - {key:2 ,img: '/static/img/detail/Kuang/s3.png'}, | |
| 115 | - {key:3 ,img: '/static/img/detail/Kuang/s4.png'}, | |
| 116 | - {key:4 ,img: '/static/img/detail/Kuang/s5.png'}, | |
| 117 | - {key:5 ,img: '/static/img/detail/Kuang/s6.png'}, | |
| 118 | - {key:6 ,img: '/static/img/detail/Kuang/s7.png'} | |
| 177 | + count: 1, | |
| 178 | + colour: '1.56非球面防蓝光_亚黑色', | |
| 179 | + chooseNum : '', | |
| 180 | + isSplit: '' , | |
| 181 | + parameter:[ | |
| 182 | + {key: 0,img:'/static/img/detail/d2.png', standard:'框架宽', slength:139}, | |
| 183 | + {key: 1,img:'/static/img/detail/d3.png', standard:'镜片宽', slength:51}, | |
| 184 | + {key: 2,img:'/static/img/detail/d4.png', standard:'镜片高', slength:45}, | |
| 185 | + {key: 3,img:'/static/img/detail/d5.png', standard:'鼻架宽', slength:19}, | |
| 186 | + {key: 4,img:'/static/img/detail/d6.png', standard:'框架耳长', slength:138}, | |
| 119 | 187 | ], |
| 120 | 188 | //镜片颜色 |
| 121 | - jp:[ | |
| 122 | - {key:0 ,img: '/static/img/detail/Kuang/sun_jp.png'}, | |
| 123 | - {key:1 ,img: '/static/img/detail/Kuang/sun_jp.png'}, | |
| 124 | - {key:2 ,img: '/static/img/detail/Kuang/sun_jp.png'}, | |
| 125 | - {key:3 ,img: '/static/img/detail/Kuang/sun_jp.png'}, | |
| 126 | - {key:4 ,img: '/static/img/detail/Kuang/sun_jp.png'}, | |
| 127 | - {key:5 ,img: '/static/img/detail/Kuang/sun_jp.png'}, | |
| 128 | - {key:6 ,img: '/static/img/detail/Kuang/sun_jp.png'}, | |
| 129 | - {key:7 ,img: '/static/img/detail/Kuang/sun_jp.png'}, | |
| 130 | - {key:8 ,img: '/static/img/detail/Kuang/sun_jp.png'} | |
| 131 | - ], | |
| 132 | - //规格参数 | |
| 133 | - parameter:[ | |
| 134 | - {key: 0,img:'/static/img/detail/d2.png', standard:'框架宽', slength:139,standard_l:1.4,percent:100}, | |
| 135 | - {key: 1,img:'/static/img/detail/d3.png', standard:'镜片宽', slength:51,standard_l:1,percent:50}, | |
| 136 | - {key: 2,img:'/static/img/detail/d4.png', standard:'镜片高', slength:45,standard_l:1,percent:50}, | |
| 137 | - {key: 3,img:'/static/img/detail/d5.png', standard:'鼻架宽', slength:19,standard_l:0.4,percent:30}, | |
| 138 | - {key: 4,img:'/static/img/detail/d6.png', standard:'框架耳长', slength:138,standard_l:1.6,percent:60}, | |
| 189 | + jp_colour:[ | |
| 190 | + {img:'/static/img/detail/Kuang/sun_jp.png'}, | |
| 191 | + {img:'/static/img/detail/Kuang/sun_jp.png'}, | |
| 192 | + {img:'/static/img/detail/Kuang/sun_jp.png'}, | |
| 193 | + {img:'/static/img/detail/Kuang/sun_jp.png'}, | |
| 194 | + {img:'/static/img/detail/Kuang/sun_jp.png'}, | |
| 195 | + {img:'/static/img/detail/Kuang/sun_jp.png'} | |
| 139 | 196 | ], |
| 140 | 197 | //配饰 |
| 141 | 198 | part:[ |
| 142 | - {key: 0,img:'/static/img/detail/Kuang/g1.png'}, | |
| 143 | - {key: 1,img:'/static/img/detail/Kuang/g1.png'}, | |
| 144 | - {key: 2,img:'/static/img/detail/Kuang/g2.png'}, | |
| 145 | - {key: 3,img:'/static/img/detail/Kuang/g1.png'}, | |
| 146 | - {key: 4,img:'/static/img/detail/Kuang/g1.png'}, | |
| 147 | - {key: 5,img:'/static/img/detail/Kuang/g3.png'}, | |
| 148 | - {key: 6,img:'/static/img/detail/Kuang/g3.png'}, | |
| 149 | - {key: 7,img:'/static/img/detail/Kuang/g2.png'}, | |
| 150 | - | |
| 199 | + {key: 0,img:'/static/img/detail/Kuang/g1.png',is_actived:true}, | |
| 200 | + {key: 1,img:'/static/img/detail/Kuang/g1.png',is_actived:false}, | |
| 201 | + {key: 2,img:'/static/img/detail/Kuang/g2.png',is_actived:false}, | |
| 202 | + {key: 3,img:'/static/img/detail/Kuang/g1.png',is_actived:false}, | |
| 203 | + {key: 4,img:'/static/img/detail/Kuang/g1.png',is_actived:false}, | |
| 204 | + {key: 5,img:'/static/img/detail/Kuang/g3.png',is_actived:false}, | |
| 205 | + {key: 6,img:'/static/img/detail/Kuang/g3.png',is_actived:false}, | |
| 206 | + {key: 7,img:'/static/img/detail/Kuang/g2.png',is_actived:false}, | |
| 151 | 207 | ], |
| 208 | + //折射率 | |
| 209 | + split:[ | |
| 210 | + {number: 1.56}, | |
| 211 | + {number: 1.60}, | |
| 212 | + {number: 1.67}, | |
| 213 | + {number: 1.71}, | |
| 214 | + {number: 1.74} | |
| 215 | + | |
| 216 | + ] | |
| 217 | + } | |
| 218 | + }, | |
| 219 | + | |
| 220 | + computed: { | |
| 221 | + details(){ | |
| 222 | + return this.$store.state.detailStandard_k.list | |
| 223 | + }, | |
| 224 | + }, | |
| 225 | + onLoad:function(){ | |
| 226 | + store.dispatch('detailStandard_k/fetch', { | |
| 227 | + uid: "1", | |
| 228 | + pid: "26", | |
| 229 | + }); | |
| 230 | + console.log(this.$store.state.detailStandard_k.list.data+'ssswwwwwwwws'); | |
| 231 | + console.log("ssssssssssssssssssssssssssss") | |
| 232 | + }, | |
| 233 | + methods: { | |
| 234 | + counter(isadd){ | |
| 235 | + if(isadd){ | |
| 236 | + this.count++ | |
| 237 | + }else{ | |
| 238 | + this.count <= 1? this.disabled = true:this.count-- | |
| 239 | + } | |
| 240 | + }, | |
| 241 | + colourChange(index,e){ | |
| 242 | + this.colour = e ; //颜色选择 | |
| 243 | + // console.log(index,e); | |
| 244 | + | |
| 245 | + }, | |
| 246 | + viewChoose(index){ | |
| 247 | + this.chooseNum = index | |
| 248 | + }, | |
| 249 | + splitChoose(index){ | |
| 250 | + this.isSplit = index | |
| 251 | + }, | |
| 252 | + popArgs(){ | |
| 253 | + uni.navigateTo({ | |
| 254 | + url: '../detailsChoiceArgs/detailsChoiceArgs', | |
| 255 | + success: res => {}, | |
| 256 | + fail: () => {}, | |
| 257 | + complete: () => {} | |
| 258 | + }); | |
| 152 | 259 | } |
| 153 | 260 | } |
| 261 | + | |
| 154 | 262 | } |
| 155 | 263 | </script> |
| 156 | 264 | |
| ... | ... | @@ -166,6 +274,7 @@ hr{ |
| 166 | 274 | height: 1px; |
| 167 | 275 | background: #F2F2F2; |
| 168 | 276 | margin-top: 18px; |
| 277 | + margin-bottom: 10px; | |
| 169 | 278 | } |
| 170 | 279 | .detail{ |
| 171 | 280 | height: 272rpx; |
| ... | ... | @@ -178,7 +287,7 @@ hr{ |
| 178 | 287 | align-items: center; |
| 179 | 288 | } |
| 180 | 289 | .detail1{ |
| 181 | - height: 188rpx; | |
| 290 | + height: 178rpx; | |
| 182 | 291 | width: 188rpx; |
| 183 | 292 | image{ |
| 184 | 293 | width: 100%; |
| ... | ... | @@ -189,7 +298,7 @@ hr{ |
| 189 | 298 | .detail2{ |
| 190 | 299 | width: 68%; |
| 191 | 300 | view{ |
| 192 | - margin-bottom: 8px; | |
| 301 | + margin-bottom: 6px; | |
| 193 | 302 | font-family: PingFangSC-Regular; |
| 194 | 303 | } |
| 195 | 304 | .detail2_name{ |
| ... | ... | @@ -197,6 +306,11 @@ hr{ |
| 197 | 306 | color: #333333; |
| 198 | 307 | letter-spacing: -0.26px; |
| 199 | 308 | line-height: 18px; |
| 309 | + overflow:hidden; | |
| 310 | + text-overflow:ellipsis; | |
| 311 | + display:-webkit-box; | |
| 312 | + -webkit-box-orient:vertical; | |
| 313 | + -webkit-line-clamp:2; | |
| 200 | 314 | } |
| 201 | 315 | .detail2_tui{ |
| 202 | 316 | font-size: 10px; |
| ... | ... | @@ -212,6 +326,24 @@ hr{ |
| 212 | 326 | letter-spacing: -0.26px; |
| 213 | 327 | } |
| 214 | 328 | } |
| 329 | +.counter{ | |
| 330 | + display: flex; | |
| 331 | + flex-direction: row; | |
| 332 | + justify-content: space-between; | |
| 333 | + font-size: 28rpx; | |
| 334 | + color: #333333; | |
| 335 | + width: 122rpx; | |
| 336 | + float: right; | |
| 337 | + .btn{ | |
| 338 | + display: flex; | |
| 339 | + justify-content: center; | |
| 340 | + line-height: 32rpx; | |
| 341 | + height: 32rpx; | |
| 342 | + width: 32rpx; | |
| 343 | + background-color: #F2F2F2; | |
| 344 | + color: #CFCFCF; | |
| 345 | + } | |
| 346 | +} | |
| 215 | 347 | .choose{ |
| 216 | 348 | background: #FFFFFF; |
| 217 | 349 | padding: 16px; |
| ... | ... | @@ -233,6 +365,13 @@ hr{ |
| 233 | 365 | width: 40rpx; |
| 234 | 366 | height: 36rpx; |
| 235 | 367 | } |
| 368 | + .colour1_span2{ | |
| 369 | + font-family: PingFangSC-Regular; | |
| 370 | + font-size: 12px; | |
| 371 | + color: #666666; | |
| 372 | + margin-left: 10px; | |
| 373 | + font-weight: normal | |
| 374 | + } | |
| 236 | 375 | } |
| 237 | 376 | .colour_exp{ |
| 238 | 377 | font-family: PingFangSC-Regular; |
| ... | ... | @@ -248,94 +387,61 @@ hr{ |
| 248 | 387 | justify-content: space-between ; |
| 249 | 388 | grid-row-gap: 10px; |
| 250 | 389 | margin-bottom: 14px; |
| 251 | - view{ | |
| 390 | + .colour2_view{ | |
| 252 | 391 | border: 1px solid #F2F2F2; |
| 253 | 392 | image{ |
| 254 | - width: 100%; | |
| 255 | - height: 100%; | |
| 393 | + width: 100rpx; | |
| 394 | + height: 60rpx; | |
| 256 | 395 | } |
| 257 | 396 | } |
| 258 | - view:hover{ | |
| 397 | + .colour2_viewed{ | |
| 259 | 398 | border: 1px solid #FF6B4A; |
| 399 | + image{ | |
| 400 | + width: 100rpx; | |
| 401 | + height: 60rpx; | |
| 402 | + } | |
| 260 | 403 | } |
| 261 | 404 | } |
| 262 | 405 | } |
| 263 | 406 | .jp_colour2{ |
| 264 | - display: grid; | |
| 265 | - grid-template-columns: repeat(6, 12%); | |
| 266 | - grid-row-gap: 10px; | |
| 267 | - grid-column-gap: 6px; | |
| 268 | - margin-bottom: 14px; | |
| 269 | - view{ | |
| 407 | + display: grid; | |
| 408 | + grid-template-columns: repeat(5, 13%); | |
| 409 | + justify-content: start ; | |
| 410 | + grid-column-gap: 10px; | |
| 411 | + grid-row-gap: 10px; | |
| 412 | + margin-bottom: 14px; | |
| 413 | + .jp_colour2_view{ | |
| 270 | 414 | border: 1px solid #F2F2F2; |
| 271 | - height: 80rpx; | |
| 272 | 415 | image{ |
| 273 | - width: 100%; | |
| 274 | - height: 100%; | |
| 416 | + width: 80rpx; | |
| 417 | + height: 80rpx; | |
| 275 | 418 | } |
| 276 | 419 | } |
| 277 | - view:hover{ | |
| 278 | - border: 1px solid #FF6B4A; | |
| 279 | - } | |
| 280 | -} | |
| 281 | -.split1{ | |
| 282 | - span{ | |
| 283 | - font-family: PingFangSC-Medium; | |
| 284 | - font-size: 16px; | |
| 285 | - color: #333333; | |
| 286 | - letter-spacing: -0.3px; | |
| 287 | - text-align: justify; | |
| 288 | - line-height: 24px; | |
| 289 | - font-weight: bold; | |
| 290 | - margin-right:8px; | |
| 291 | - } | |
| 292 | - .split1_span{ | |
| 293 | - font-family: PingFangSC-Regular; | |
| 294 | - font-size: 10px; | |
| 295 | - color: #999999; | |
| 296 | - letter-spacing: -0.3px; | |
| 297 | - font-weight:normal; | |
| 298 | - } | |
| 299 | - image{ | |
| 300 | - float: right; | |
| 301 | - width: 40rpx; | |
| 302 | - height: 36rpx; | |
| 303 | - } | |
| 304 | 420 | } |
| 305 | -.split2{ | |
| 306 | - margin-bottom: 12px; | |
| 307 | - .split2_number{ | |
| 421 | +.split{ | |
| 422 | + display: grid; | |
| 423 | + grid-template-columns: repeat(2, 45%); | |
| 424 | + grid-column-gap: 10px; | |
| 425 | + grid-row-gap: 10px; | |
| 426 | + margin-top: 10px ; | |
| 427 | + .split_colour2{ | |
| 428 | + display: flex; | |
| 429 | + justify-content: center; | |
| 430 | + align-items: center; | |
| 431 | + width: 300rpx; | |
| 432 | + height: 60rpx; | |
| 433 | + background: #F2F2F2; | |
| 434 | + border-radius: 2px; | |
| 308 | 435 | font-family: PingFangSC-Regular; |
| 309 | - font-size: 10px; | |
| 310 | - color: #999999; | |
| 311 | - letter-spacing: -0.19px; | |
| 312 | - margin-bottom: 6px; | |
| 436 | + font-size: 12px; | |
| 437 | + color: #666666; | |
| 438 | + letter-spacing: 0; | |
| 439 | + text-align: center; | |
| 313 | 440 | } |
| 314 | - .split2_choose{ | |
| 315 | - display: flex; | |
| 316 | - view{ | |
| 317 | - display: flex; | |
| 318 | - justify-content: center; | |
| 319 | - align-items: center; | |
| 320 | - font-family: PingFangSC-Regular; | |
| 321 | - font-size: 12px; | |
| 322 | - color: #666666; | |
| 323 | - background: #F2F2F2; | |
| 324 | - width: 100rpx; | |
| 325 | - height: 60rpx; | |
| 326 | - border-radius: 2px; | |
| 327 | - margin-right: 10px; | |
| 328 | - } | |
| 329 | - view:hover{ | |
| 330 | - color: #FF6B4A; | |
| 331 | - background: rgba(255,107,74,0.15); | |
| 332 | - } | |
| 333 | - .split2_tui{ | |
| 334 | - width: 186rpx; | |
| 335 | - height: 60rpx; | |
| 336 | - } | |
| 441 | + .split_colour2_actived{ | |
| 442 | + background: rgba(255,107,74,0.15); | |
| 443 | + color: #FF6B4A; | |
| 337 | 444 | } |
| 338 | - | |
| 339 | 445 | } |
| 340 | 446 | .size,.part{ |
| 341 | 447 | margin-top:14px; |
| ... | ... | @@ -413,6 +519,9 @@ hr{ |
| 413 | 519 | color: #999999; |
| 414 | 520 | letter-spacing: -0.19px; |
| 415 | 521 | } |
| 522 | + .D3_list1{ | |
| 523 | + display: flex; | |
| 524 | + } | |
| 416 | 525 | } |
| 417 | 526 | } |
| 418 | 527 | .part{ |
| ... | ... | @@ -430,13 +539,19 @@ hr{ |
| 430 | 539 | height: 100%; |
| 431 | 540 | } |
| 432 | 541 | } |
| 433 | - view:hover{ | |
| 542 | + .size_viewed{ | |
| 434 | 543 | border: 1px solid #FF6B4A; |
| 544 | + height: 72rpx; | |
| 545 | + image{ | |
| 546 | + width: 100%; | |
| 547 | + height: 100%; | |
| 548 | + } | |
| 435 | 549 | } |
| 436 | 550 | } |
| 437 | 551 | } |
| 552 | + | |
| 438 | 553 | .buy{ |
| 439 | - height: 280rpx; | |
| 554 | + height: 300rpx; | |
| 440 | 555 | background: #FFFFFF ; |
| 441 | 556 | margin-top: 10px; |
| 442 | 557 | border-radius: 8px; |
| ... | ... | @@ -502,5 +617,4 @@ hr{ |
| 502 | 617 | font-size: 16px; |
| 503 | 618 | } |
| 504 | 619 | } |
| 505 | - | |
| 506 | 620 | </style> |
| 507 | 621 | \ No newline at end of file | ... | ... |
src/pages/frameDetail/frameDetail.vue
| ... | ... | @@ -1,617 +0,0 @@ |
| 1 | -<template> | |
| 2 | - <view class="container"> | |
| 3 | - <view class="D1"> | |
| 4 | - <!-- 轮播图 --> | |
| 5 | - <swiper class="swiperImage" :indicator-dots="true" :autoplay="true" :interval="4000" :duration="500" > | |
| 6 | - <swiper-item v-for="(item) in infos" :key="item.goods_id"> | |
| 7 | - <image :src="item.img" mode="scaleToFill"></image> | |
| 8 | - </swiper-item> | |
| 9 | - </swiper> | |
| 10 | - <view class="D1_price">¥{{price}}</view> | |
| 11 | - <view class="D1_name"><span class="D1_name1">{{name}}</span><span class="D1_number">{{number}}购买过</span></view> | |
| 12 | - <view class="D1_spans"><span>支持7天无理由退货</span><span>顺丰发货</span><span>30天质量保证</span></view> | |
| 13 | - </view> | |
| 14 | - <view class="D2" v-if="updateGoodType == 2 || updateGoodType == 4"> | |
| 15 | - <view><span class="D2_span1">框架材质:</span><span class="D2_span2">{{introduction.material}}</span></view> | |
| 16 | - <view><span class="D2_span1">风格:</span><span class="D2_span2">{{introduction.func}}</span></view> | |
| 17 | - <view><span class="D2_span1">适用性别:</span><span class="D2_span2">{{introduction.rate}}</span></view> | |
| 18 | - </view> | |
| 19 | - <view class="D2" v-if="updateGoodType == 1"> | |
| 20 | - <view><span class="D2_span1">镜片材质:</span><span class="D2_span2">{{introduction.material}}</span></view> | |
| 21 | - <view><span class="D2_span1">功能:</span><span class="D2_span2">{{introduction.func}}</span></view> | |
| 22 | - <view><span class="D2_span1">使用场景:</span><span class="D2_span2">{{introduction.rate}}</span></view> | |
| 23 | - </view> | |
| 24 | - <view class="D2" v-if="updateGoodType == 3"> | |
| 25 | - <view><span class="D2_span1">材质:</span><span class="D2_span2">{{introduction.material}}</span></view> | |
| 26 | - <view><span class="D2_span1">直径/基弧:</span><span class="D2_span2">{{introduction.func}}</span></view> | |
| 27 | - <view><span class="D2_span1">适用性别:</span><span class="D2_span2">{{introduction.rate}}</span></view> | |
| 28 | - </view> | |
| 29 | - | |
| 30 | - <view class="D3"> | |
| 31 | - <view class="screenBar"> | |
| 32 | - <view v-for="item in screenItems" :key="item.current" @click="tabChange(item.current)" > | |
| 33 | - <view class="screenItem" v-bind:class="{ active: current === item.current }">{{ item.text }}</view> | |
| 34 | - </view> | |
| 35 | - </view> | |
| 36 | - <view class="screen-item " v-if="current ===0"> | |
| 37 | - <view class="D3_list"> | |
| 38 | - <view v-for="(item) in parameter" :key="item.key"> | |
| 39 | - <image class="D3_image" v-bind:src = "item.img"></image> | |
| 40 | - <span>{{item.standard}}</span> | |
| 41 | - <span>{{item.slength}}</span> | |
| 42 | - </view> | |
| 43 | - </view> | |
| 44 | - </view > | |
| 45 | - <view class="screen-item " v-if="current ===1"> | |
| 46 | - <view class="D3_list"> | |
| 47 | - <view>主体</view> | |
| 48 | - <view>商品产地:韩国</view> | |
| 49 | - <view>包装清单:彩色隐形 * 1</view> | |
| 50 | - </view> | |
| 51 | - </view > | |
| 52 | - <view class="screen-item " v-if="current ===2"> | |
| 53 | - <view class="customerService"> | |
| 54 | - <view class="serviceItem" > | |
| 55 | - <view class="title"> | |
| 56 | - <view style="width: 6rpx;height: 6rpx;border-radius: 3rpx;background-color: #FF6B4A;margin-right: 12rpx;"></view> | |
| 57 | - <text class="titleText">卖家服务</text> | |
| 58 | - </view> | |
| 59 | - <view class="itemContent">平台卖家服务,为您在平台获得最优的购买体验</view> | |
| 60 | - </view> | |
| 61 | - <view class="serviceItem" > | |
| 62 | - <view class="title"> | |
| 63 | - <view style="width: 6rpx;height: 6rpx;border-radius: 3rpx;background-color: #FF6B4A;margin-right: 12rpx;"></view> | |
| 64 | - <text class="titleText">平台承诺</text> | |
| 65 | - </view> | |
| 66 | - <view class="itemContent">平台卖家服务,为您在平台获得最优的购买体验阿斯蒂芬的发射点发射点发生的房贷首付的发护法国会国家和国际会更加和</view> | |
| 67 | - </view> | |
| 68 | - <view class="serviceItem"> | |
| 69 | - <view class="title"> | |
| 70 | - <view style="width: 6rpx;height: 6rpx;border-radius: 3rpx;background-color: #FF6B4A;margin-right: 12rpx;"></view> | |
| 71 | - <text class="titleText">正品保证</text> | |
| 72 | - </view> | |
| 73 | - <view class="itemContent">向您保证所售商品均为正品行货</view> | |
| 74 | - </view> | |
| 75 | - <view class="serviceItem2"> | |
| 76 | - <view class="title"> | |
| 77 | - <text class="titleText">权利申明</text> | |
| 78 | - </view> | |
| 79 | - <view class="itemContent">任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知。</view> | |
| 80 | - </view> | |
| 81 | - <view class="serviceItem2"> | |
| 82 | - <view class="title"> | |
| 83 | - <text class="titleText">价格保证</text> | |
| 84 | - </view> | |
| 85 | - <view class="itemContent"> | |
| 86 | - <view class="itemContent-child"> | |
| 87 | - <text class="contentTitle">平台价:</text> | |
| 88 | - <text>任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知</text> | |
| 89 | - </view> | |
| 90 | - <view class="itemContent-child"> | |
| 91 | - <text class="contentTitle">划线价:</text> | |
| 92 | - <text>任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知</text> | |
| 93 | - </view> | |
| 94 | - <view class="itemContent-child"> | |
| 95 | - <text class="contentTitle">平折扣:</text> | |
| 96 | - <text>任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知</text> | |
| 97 | - </view> | |
| 98 | - <view class="itemContent-child"> | |
| 99 | - <text class="contentTitle">异常问题:</text> | |
| 100 | - <text>任何个人或单位如果同时符合以下两个条件:1. 权利人发现网络用户利用网络服务侵害其合法权益;2. 百度的搜索引擎系统以自动检索方式而链接到第三方网站的内容侵犯了上述权利人的合法权益。请上述个人或单位务必以书面的通讯方式向百度提交权利通知</text> | |
| 101 | - </view> | |
| 102 | - | |
| 103 | - </view> | |
| 104 | - </view> | |
| 105 | - </view> | |
| 106 | - </view > | |
| 107 | - </view> | |
| 108 | - <view class="D4" v-if="current !==2"> | |
| 109 | - <view class="D4_esvalue"> | |
| 110 | - <view>{{esvalue}}</view> | |
| 111 | - <view class="D4_2"> | |
| 112 | - <view class="star" v-for="o in starCount" :key="o"> | |
| 113 | - <image src="../../static/img/detail/d_star.png" mode="aspectFill" style="height: 26rpx; width: 28rpx;"></image> | |
| 114 | - </view> | |
| 115 | - </view> | |
| 116 | - </view> | |
| 117 | - <view class="D4_list"> | |
| 118 | - <view v-for="(assess) in assess" :key="assess.key">{{assess.Iassess}}</view> | |
| 119 | - </view> | |
| 120 | - </view> | |
| 121 | - <view class="D5" v-if="current !==2"> | |
| 122 | - <view class="D5_fixed1"> | |
| 123 | - <image src="/static/img/detail/hr.png"></image> | |
| 124 | - <view>商品详细</view> | |
| 125 | - <image src="/static/img/detail/hr.png"></image> | |
| 126 | - </view> | |
| 127 | - <view class="D5_all"> | |
| 128 | - <image v-bind:src="imgAll"></image> | |
| 129 | - </view> | |
| 130 | - <view class="D5_photoes"> | |
| 131 | - <view class="D5_photoes1"> | |
| 132 | - <view v-for="(photoes) in photoes" :key="photoes.value"> | |
| 133 | - <image v-bind:src = "photoes.img"></image> | |
| 134 | - <view>{{photoes.value}}</view> | |
| 135 | - </view> | |
| 136 | - </view> | |
| 137 | - <view class="D5_logo1">帕森防蓝光镜片</view> | |
| 138 | - <view class="D5_logo2">健康护眼,我们是认真的!</view> | |
| 139 | - <view class="D5_logo3"><image src='/static/img/detail/logo.png'></image></view> | |
| 140 | - </view> | |
| 141 | - </view> | |
| 142 | - <view class="D6" v-if="current !==2"> | |
| 143 | - <view class="D6_v1">CHARM DETAIL</view> | |
| 144 | - <view class="D6_v2">细节展示</view> | |
| 145 | - <view ><image v-bind:src="imgDetail"></image></view> | |
| 146 | - <view>........................................................................</view> | |
| 147 | - <view class="D6_v5"><span class="D6_v5_s1">优质选材 </span><span class="D6_v5_s2"> / 金属材质 光泽饱满</span></view> | |
| 148 | - </view> | |
| 149 | - | |
| 150 | - <!-- 底部菜单 --> | |
| 151 | - <view class="botton"> | |
| 152 | - <view class="botton_1"><image v-bind:src="imgShop.img"></image><view class="botton_image">购物车</view></view> | |
| 153 | - <view class="botton_2"> | |
| 154 | - <view class="botton_input">加入购物车</view> | |
| 155 | - <view class="botton_now" @click="goPerchase">立即购买</view> | |
| 156 | - </view> | |
| 157 | - </view> | |
| 158 | - </view> | |
| 159 | -</template> | |
| 160 | - | |
| 161 | -<script> | |
| 162 | -import store from '@/store'; | |
| 163 | -export default { | |
| 164 | - data(){ | |
| 165 | - return { | |
| 166 | - name:'商品名称', | |
| 167 | - goodType:2, | |
| 168 | - price: 120, | |
| 169 | - number: 391, | |
| 170 | - screenItems: [ | |
| 171 | - {current:0,text:'商品保障'}, | |
| 172 | - {current:1,text:'规格参数'}, | |
| 173 | - {current:2,text:'售后保障'}, | |
| 174 | - ], | |
| 175 | - current: 0, | |
| 176 | - starCount:5, | |
| 177 | - infos: [ | |
| 178 | - { goods_id: 0, img: '/static/img/goods/p11.png', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | |
| 179 | - { goods_id: 1, img: '/static/img/goods/p12.png', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | |
| 180 | - { goods_id: 2, img: '/static/img/goods/p12.png', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | |
| 181 | - { goods_id: 3, img: '/static/img/goods/p11.png', name: '商品名称', price: '¥168', slogan:'1235人付款' }, | |
| 182 | - ], | |
| 183 | - parameter:[ | |
| 184 | - {key: 0,img:'/static/img/detail/d2.png', standard:'框架宽', slength:'139mm'}, | |
| 185 | - {key: 1,img:'/static/img/detail/d3.png', standard:'镜片宽', slength:'51mm'}, | |
| 186 | - {key: 2,img:'/static/img/detail/d4.png', standard:'镜片高', slength:'45mm'}, | |
| 187 | - {key: 3,img:'/static/img/detail/d5.png', standard:'鼻架宽', slength:'19mm'}, | |
| 188 | - {key: 4,img:'/static/img/detail/d6.png', standard:'框架耳长', slength:'138mm'}, | |
| 189 | - {key: 5,img:'/static/img/detail/d7.png', standard:'框架重', slength:'19mm'} | |
| 190 | - ], | |
| 191 | - assess:[ | |
| 192 | - {key: 0, Iassess: '价格实惠'}, | |
| 193 | - {key: 1, Iassess: '美观大方'}, | |
| 194 | - {key: 2, Iassess: '易搭配'} | |
| 195 | - ], | |
| 196 | - esvalue:'宝贝好评率 100%', | |
| 197 | - introduction:{ | |
| 198 | - material:'钛合金', | |
| 199 | - func:'抗疲劳/防辐射', | |
| 200 | - rate: 1.6 | |
| 201 | - }, | |
| 202 | - imgAll:'/static/img/detail/d8.png' , | |
| 203 | - photoes:[ | |
| 204 | - {value:'日常办公', img:'/static/img/detail/d9.png'}, | |
| 205 | - {value:'上网', img:'/static/img/detail/d10.png'}, | |
| 206 | - {value:'追剧', img:'/static/img/detail/d11.png'}, | |
| 207 | - {value:'玩游戏', img:'/static/img/detail/d12.png'}, | |
| 208 | - ], | |
| 209 | - imgDetail:'/static/img/detail/d13.png', | |
| 210 | - imgShop:{ | |
| 211 | - img:'/static/tab-cart.png', | |
| 212 | - IsShown: false | |
| 213 | - } | |
| 214 | - } | |
| 215 | - }, | |
| 216 | - onLoad:function(option){ | |
| 217 | - this.goodType = option.goodType | |
| 218 | - // console.log(this.updateGoodType) | |
| 219 | - store.dispatch('read/fetch'); | |
| 220 | - }, | |
| 221 | - computed:{ | |
| 222 | - updateGoodType(){ | |
| 223 | - return this.goodType | |
| 224 | - }, | |
| 225 | - goodInfo() { | |
| 226 | - console.log(this.$store.state.read.goodInfo) | |
| 227 | - return this.$store.state.read.goodInfo; | |
| 228 | - }, | |
| 229 | - }, | |
| 230 | - methods:{ | |
| 231 | - goPerchase(){ | |
| 232 | - switch(this.updateGoodType){ | |
| 233 | - case '1': | |
| 234 | - uni.navigateTo({ | |
| 235 | - url: '../detailsChoiceArgs/detailsChoiceArgs', | |
| 236 | - success: res => {}, | |
| 237 | - fail: () => {}, | |
| 238 | - complete: () => {} | |
| 239 | - }); | |
| 240 | - break; | |
| 241 | - case '2': | |
| 242 | - uni.navigateTo({ | |
| 243 | - url: `../detailStandard/detailStandard_k`, | |
| 244 | - success: res => {}, | |
| 245 | - fail: () => {}, | |
| 246 | - complete: () => {} | |
| 247 | - }); | |
| 248 | - break; | |
| 249 | - case '3': | |
| 250 | - uni.navigateTo({ | |
| 251 | - url: `../purchaseLenses/purchaseLenses`, | |
| 252 | - success: res => {}, | |
| 253 | - fail: () => {}, | |
| 254 | - complete: () => {} | |
| 255 | - }); | |
| 256 | - break; | |
| 257 | - case '4': | |
| 258 | - uni.navigateTo({ | |
| 259 | - url: `../detailStandard/detailStandard_sun`, | |
| 260 | - success: res => {}, | |
| 261 | - fail: () => {}, | |
| 262 | - complete: () => {} | |
| 263 | - }); | |
| 264 | - break; | |
| 265 | - default : | |
| 266 | - break | |
| 267 | - } | |
| 268 | - }, | |
| 269 | - tabChange(e) { | |
| 270 | - if (this.current !== e) { | |
| 271 | - this.current = e; | |
| 272 | - } | |
| 273 | - } | |
| 274 | - } | |
| 275 | -} | |
| 276 | -</script> | |
| 277 | -<style lang='scss'> | |
| 278 | - .container{ | |
| 279 | - background-color:#f8f8f8 ; | |
| 280 | - } | |
| 281 | - .D1,.D2,.D3,.D4,.D6{ | |
| 282 | - background: #ffffff; | |
| 283 | - margin-bottom: 10px; | |
| 284 | - padding:8px 20px 8px 20px; | |
| 285 | - box-sizing: border-box; | |
| 286 | - .swiperImage { | |
| 287 | - width: 684rpx; | |
| 288 | - height: 512rpx; | |
| 289 | - image { | |
| 290 | - width: 100%; | |
| 291 | - height: 100%; | |
| 292 | - border-radius: 16rpx; | |
| 293 | - } | |
| 294 | - } | |
| 295 | - } | |
| 296 | - .D5{ | |
| 297 | - background: #ffffff; | |
| 298 | - padding:8px 20px 8px 20px; | |
| 299 | - box-sizing: border-box; | |
| 300 | - } | |
| 301 | - .swiperImage{ | |
| 302 | - width: 100%; | |
| 303 | - height: 560rpx; | |
| 304 | - .swiper-item{ | |
| 305 | - width: 100%; | |
| 306 | - image{ | |
| 307 | - width: 100%; | |
| 308 | - } | |
| 309 | - } | |
| 310 | - } | |
| 311 | - .D1{ | |
| 312 | - .D1_price{ | |
| 313 | - color: #EB5D3B; | |
| 314 | - font-size: 18px; | |
| 315 | - margin-top: 5px; | |
| 316 | - font-family: 'PingFangSC-Semibold'; | |
| 317 | - } | |
| 318 | - .D1_name{ | |
| 319 | - font-size: 16px; | |
| 320 | - font-family: 'PingFangSC-Semibold'; | |
| 321 | - margin-top: 5px; | |
| 322 | - display: flex; | |
| 323 | - justify-content: space-between; | |
| 324 | - .D1_name1{ | |
| 325 | - font-weight: bold; | |
| 326 | - font-size: 16px; | |
| 327 | - color: #333333; | |
| 328 | - } | |
| 329 | - .D1_number{ | |
| 330 | - color: #999999 ; | |
| 331 | - font-size: 14px; | |
| 332 | - font-family: 'PingFangSC-Regular'; | |
| 333 | - } | |
| 334 | - } | |
| 335 | - .D1_spans{ | |
| 336 | - font-size: 10px; | |
| 337 | - color:#999999; | |
| 338 | - margin-top: 5px; | |
| 339 | - span{ | |
| 340 | - height: 14px; | |
| 341 | - margin-right: 10px; | |
| 342 | - } | |
| 343 | - } | |
| 344 | - | |
| 345 | - } | |
| 346 | - .D2{ | |
| 347 | - font-size: 14px; | |
| 348 | - font-family: 'PingFangSC-Regular'; | |
| 349 | - view{ | |
| 350 | - height: 24px; | |
| 351 | - } | |
| 352 | - .D2_span1{ | |
| 353 | - color: #999999; | |
| 354 | - } | |
| 355 | - .D2_span2{ | |
| 356 | - color: #333333; | |
| 357 | - } | |
| 358 | - } | |
| 359 | - .D3{ | |
| 360 | - .screenBar{ | |
| 361 | - width: 670rpx; | |
| 362 | - margin-top: 20rpx; | |
| 363 | - margin-bottom: 24rpx; | |
| 364 | - display: flex; | |
| 365 | - flex-direction: row; | |
| 366 | - justify-content: space-between; | |
| 367 | - align-items: center; | |
| 368 | - font-size: 14px; | |
| 369 | - color: #333333; | |
| 370 | - transition:all 0.2s; | |
| 371 | - } | |
| 372 | - .screen-item{ | |
| 373 | - font-size: 32rpx; | |
| 374 | - color: #333333; | |
| 375 | - display: flex; | |
| 376 | - transition:all 0.2s; | |
| 377 | - .D3_list{ | |
| 378 | - margin-bottom: 4px; | |
| 379 | - } | |
| 380 | - .D3_list view{ | |
| 381 | - display: flex; | |
| 382 | - align-content: center; | |
| 383 | - font-size: 14px; | |
| 384 | - color: #333333; | |
| 385 | - } | |
| 386 | - .D3_list image{ | |
| 387 | - width: 50px; | |
| 388 | - height: 25px; | |
| 389 | - margin-right: 6px; | |
| 390 | - } | |
| 391 | - .D3_list span{ | |
| 392 | - margin-left: 6px; | |
| 393 | - margin-right: 5px; | |
| 394 | - font-family: 'PingFangSC-Regular'; | |
| 395 | - } | |
| 396 | - } | |
| 397 | - .active{ | |
| 398 | - border-bottom: 4rpx solid #FF6B4A; | |
| 399 | - } | |
| 400 | - .customerService{ | |
| 401 | - margin-bottom: 90rpx; | |
| 402 | - .serviceItem{ | |
| 403 | - margin-bottom: 32rpx; | |
| 404 | - .title{ | |
| 405 | - display: flex;flex-direction: row; | |
| 406 | - align-items: center; | |
| 407 | - .titleText{ | |
| 408 | - font-size: 14px; | |
| 409 | - color: #333333; | |
| 410 | - margin-bottom: 12rpx; | |
| 411 | - } | |
| 412 | - } | |
| 413 | - .itemContent{ | |
| 414 | - font-size: 14px; | |
| 415 | - color: #999999; | |
| 416 | - margin-left: 18rpx; | |
| 417 | - } | |
| 418 | - } | |
| 419 | - .serviceItem2{ | |
| 420 | - margin-left: 18rpx; | |
| 421 | - margin-bottom: 32rpx; | |
| 422 | - .titleText{ | |
| 423 | - font-size: 14px; | |
| 424 | - color: #FF6B4A; | |
| 425 | - } | |
| 426 | - .itemContent{ | |
| 427 | - font-size: 14px; | |
| 428 | - color: #999999; | |
| 429 | - .itemContent-child{ | |
| 430 | - margin-bottom: 40rpx; | |
| 431 | - .contentTitle{ | |
| 432 | - border-bottom: 1px solid #FF6B4A; | |
| 433 | - } | |
| 434 | - } | |
| 435 | - } | |
| 436 | - } | |
| 437 | - } | |
| 438 | - } | |
| 439 | - .D4{ | |
| 440 | - .D4_esvalue{ | |
| 441 | - font-size: 14px; | |
| 442 | - color: #333333; | |
| 443 | - display: flex; | |
| 444 | - justify-content: space-between; | |
| 445 | - margin-bottom: 10px; | |
| 446 | - .D4_2{ | |
| 447 | - width: 90px; | |
| 448 | - display: flex; | |
| 449 | - align-items: center; | |
| 450 | - justify-content: space-between; | |
| 451 | - } | |
| 452 | - } | |
| 453 | - .D4_esvalue view{ | |
| 454 | - font-size: 14px; | |
| 455 | - color: #333333; | |
| 456 | - font-weight: bold; | |
| 457 | - } | |
| 458 | - .D4_list view{ | |
| 459 | - display: inline-block; | |
| 460 | - font-size: 12px; | |
| 461 | - text-align: center; | |
| 462 | - margin-right: 12px; | |
| 463 | - width: 90px; | |
| 464 | - height: 24px; | |
| 465 | - line-height: 24px; | |
| 466 | - background: #F2F2F2; | |
| 467 | - color: #666666 ; | |
| 468 | - } | |
| 469 | - } | |
| 470 | - .D5{ | |
| 471 | - .D5_fixed1{ | |
| 472 | - display: flex; | |
| 473 | - justify-content: space-between; | |
| 474 | - align-content: center; | |
| 475 | - margin-bottom: 12px; | |
| 476 | - view{ | |
| 477 | - font-size: 14px; | |
| 478 | - color: #333333; | |
| 479 | - font-weight: bold; | |
| 480 | - font-family: 'PingFangSC-Medium'; | |
| 481 | - line-height: 24px; | |
| 482 | - } | |
| 483 | - image{ | |
| 484 | - width: 240rpx; | |
| 485 | - height: 3px; | |
| 486 | - margin-top: 10px; | |
| 487 | - } | |
| 488 | - } | |
| 489 | - .D5_all { | |
| 490 | - width: 100%; | |
| 491 | - height: 380px; | |
| 492 | - margin-bottom: 30px; | |
| 493 | - font-family: 'PingFangSC-Regular'; | |
| 494 | - border: #999999 solid 1.5px; | |
| 495 | - image{ | |
| 496 | - width: 100%; | |
| 497 | - height: 380px; | |
| 498 | - }} | |
| 499 | - .D5_photoes1{ | |
| 500 | - display: grid; | |
| 501 | - grid-template-columns: 48% 48%; | |
| 502 | - grid-row-gap: 10px; | |
| 503 | - grid-column-gap: 4%; | |
| 504 | - image{ | |
| 505 | - width: 100%; | |
| 506 | - height: 70px; | |
| 507 | - } | |
| 508 | - view{ | |
| 509 | - width: 100%; | |
| 510 | - font-size: 14px; | |
| 511 | - text-align: center; | |
| 512 | - background: #949494; | |
| 513 | - font-family: 'PingFangSC-Regular'; | |
| 514 | - color: #ffffff; | |
| 515 | - view{ | |
| 516 | - height: 24px; | |
| 517 | - line-height: 24px; | |
| 518 | - } | |
| 519 | - } | |
| 520 | - } | |
| 521 | - .D5_logo1,.D5_logo2{ | |
| 522 | - text-align: center; | |
| 523 | - } | |
| 524 | - .D5_logo1{ | |
| 525 | - margin-top: 40px; | |
| 526 | - font-size: 24px; | |
| 527 | - font-weight: bold; | |
| 528 | - font-family: 'PingFangSC-Semibold'; | |
| 529 | - } | |
| 530 | - .D5_logo2{ | |
| 531 | - font-size: 12px; | |
| 532 | - } | |
| 533 | - .D5_logo3{ | |
| 534 | - width: 100%; | |
| 535 | - text-align: center; | |
| 536 | - image{ | |
| 537 | - width: 50px; | |
| 538 | - height: 24px; | |
| 539 | - } | |
| 540 | - } | |
| 541 | - } | |
| 542 | - .D6{ | |
| 543 | - width: 100%; | |
| 544 | - height: 430px; | |
| 545 | - background: #F9F6ED; | |
| 546 | - margin-bottom: 74px; | |
| 547 | - view{ | |
| 548 | - text-align: center; | |
| 549 | - } | |
| 550 | - .D6_v1{ | |
| 551 | - font-weight: bold; | |
| 552 | - } | |
| 553 | - .D6_v2{ | |
| 554 | - font-size: 14px; | |
| 555 | - margin-bottom: 30px; | |
| 556 | - } | |
| 557 | - .D6_v5{ | |
| 558 | - .D6_v5_s1{ | |
| 559 | - font-weight: bold; | |
| 560 | - } | |
| 561 | - .D6_v5_s2{ | |
| 562 | - font-size: 14px; | |
| 563 | - } | |
| 564 | - } | |
| 565 | - } | |
| 566 | - .botton{ | |
| 567 | - position: fixed; | |
| 568 | - bottom: 0; | |
| 569 | - height: 74px; | |
| 570 | - width: 100%; | |
| 571 | - background: #FFFFFF; | |
| 572 | - padding: 20px 20px 8px 20px; | |
| 573 | - font-family: 'PingFangSC-Regular'; | |
| 574 | - box-sizing: border-box; | |
| 575 | - display: flex; | |
| 576 | - justify-content: space-between; | |
| 577 | - align-content: center; | |
| 578 | - .botton_1{ | |
| 579 | - width: 20%; | |
| 580 | - height: 100%; | |
| 581 | - text-align: center; | |
| 582 | - color: #989898; | |
| 583 | - } | |
| 584 | - image{ | |
| 585 | - width: 60%; | |
| 586 | - height: 30px; | |
| 587 | - } | |
| 588 | - .botton_image{ | |
| 589 | - font-size: 12px; | |
| 590 | - text-align: center; | |
| 591 | - } | |
| 592 | - .botton_2{ | |
| 593 | - width: 74%; | |
| 594 | - height: 86%; | |
| 595 | - display: grid; | |
| 596 | - grid-template-columns: 50% 50%; | |
| 597 | - } | |
| 598 | - .botton_input{ | |
| 599 | - display: inline-flex; | |
| 600 | - align-items: center; | |
| 601 | - justify-content: space-around; | |
| 602 | - background: #FFF0EC; | |
| 603 | - font-size: 16px; | |
| 604 | - color: #FF6B4A; | |
| 605 | - border-radius: 20px 0 0 20px; | |
| 606 | - } | |
| 607 | - .botton_now{ | |
| 608 | - display: inline-flex; | |
| 609 | - align-items: center; | |
| 610 | - justify-content: space-around; | |
| 611 | - background: #FF6B4A; | |
| 612 | - font-size: 16px; | |
| 613 | - color: #FFFFFF; | |
| 614 | - border-radius:0 20px 20px 0; | |
| 615 | - } | |
| 616 | - } | |
| 617 | -</style> | |
| 618 | 0 | \ No newline at end of file |
src/store/modules/detailStandard_k.js
| ... | ... | @@ -2,7 +2,7 @@ import urlAlias from '../url'; |
| 2 | 2 | import request from '../request'; |
| 3 | 3 | |
| 4 | 4 | const { |
| 5 | - detailStandardList | |
| 5 | + detailStandardUrl | |
| 6 | 6 | } = urlAlias |
| 7 | 7 | |
| 8 | 8 | const state = { |
| ... | ... | @@ -10,29 +10,28 @@ const state = { |
| 10 | 10 | }; |
| 11 | 11 | |
| 12 | 12 | const mutations = { |
| 13 | - INIT: (state, detailStandardList) => { | |
| 14 | - state.detailStandardList = detailStandardList; | |
| 13 | + INIT: (state, data) => { | |
| 14 | + state.list = data; | |
| 15 | 15 | }, |
| 16 | 16 | }; |
| 17 | 17 | |
| 18 | 18 | const actions = { |
| 19 | - getList({ commit }, param){ | |
| 19 | + fetch({ commit }, param) { | |
| 20 | 20 | request({ |
| 21 | - detailStandardList, | |
| 22 | - success: (res) => { | |
| 23 | - | |
| 24 | - commit('INIT', res.data.data) | |
| 25 | - console,log('success') | |
| 26 | - }, | |
| 27 | - fail: (res) => { | |
| 28 | - console.log("detail status === > ", res); | |
| 29 | - }, | |
| 30 | - complete: (res) => { | |
| 31 | - console.log("detail compete status === > ", res); | |
| 32 | - }, | |
| 33 | - }) | |
| 21 | + url: detailStandardUrl, | |
| 22 | + data: param, | |
| 23 | + success: (res) => { | |
| 24 | + commit('INIT', res.data); | |
| 25 | + }, | |
| 26 | + fail: (res) => { | |
| 27 | + console.log(" detail fail status === > ", res); | |
| 28 | + }, | |
| 29 | + complete: (res) => { | |
| 30 | + console.log(" detail complete status === > ", res); | |
| 31 | + }, | |
| 32 | + }) | |
| 34 | 33 | } |
| 35 | -} | |
| 34 | + } | |
| 36 | 35 | |
| 37 | 36 | export default { |
| 38 | 37 | namespaced: true, | ... | ... |
src/store/modules/myOrder.js
src/store/modules/test.js
src/store/url.js