| | |
| | | </view> |
| | | </view> |
| | | <view class="productPage_shop" v-if="status === 1 && !pkcontent"> |
| | | <view class="productPage_shop_item" v-for="(item, index) in isSOU ? shopPageDataSou : shopPageData" :key="index" @click="clickshoppageItem(item)"> |
| | | <view class="productPage_shop_item_img"> |
| | | <image :src="item.imgurl ? item.prefixUrl + item.imgurl : ''" mode="widthFix"></image> |
| | | <noData v-if="shopPageData.length === 0 && shopPageDataSou.length === 0" /> |
| | | <template v-else> |
| | | <view class="productPage_shop_item" v-for="(item, index) in isSOU ? shopPageDataSou : shopPageData" :key="index" @click="clickshoppageItem(item)"> |
| | | <view class="productPage_shop_item_img"> |
| | | <image :src="item.imgurl ? item.prefixUrl + item.imgurl : ''" mode="widthFix"></image> |
| | | </view> |
| | | <!-- stringOperations(item.name, 6) --> |
| | | <text>{{item.name}}</text> |
| | | </view> |
| | | <!-- stringOperations(item.name, 6) --> |
| | | <text>{{item.name}}</text> |
| | | </view> |
| | | <view class="productPage_shop_zw"></view> |
| | | <view class="productPage_shop_zw"></view> |
| | | <view class="productPage_shop_zw"></view> |
| | | <view class="productPage_shop_zw"></view> |
| | | <view class="productPage_shop_zw"></view> |
| | | <view class="productPage_shop_zw"></view> |
| | | </template> |
| | | </view> |
| | | <!-- v-if="status === 2" --> |
| | | <view class="productPage_parameter" v-if="isPK && pkcontent"> |
| | |
| | | </view> |
| | | </view> |
| | | <view class="productPage_parameter_item_content_nr"> |
| | | <view class="item" v-for="(child, i) in item.goodsParamList" :key="i"> |
| | | <view class="item" v-if="item.param1" v-for="(child, i) in item.param1" :key="child.index"> |
| | | <view class="label">{{child.name}}:</view> |
| | | <view class="value">{{child.val}}</view> |
| | | </view> |
| | | <view v-if="item.param2.length>0" class="paramline"></view> |
| | | <view class="item" v-if="item.param2" v-for="(child, j) in item.param2" :key="child.index"> |
| | | <view class="label">{{child.name}}:</view> |
| | | <view class="value">{{child.val}}</view> |
| | | </view> |
| | |
| | | <!-- 查看大图 --> |
| | | <bigImg |
| | | ref="bigImg" |
| | | :imgList="imgList"/> |
| | | <!-- 查看大图 --> |
| | | <bigImg1 |
| | | ref="bigImg1" |
| | | :imgList="imgList"/> |
| | | <!-- 搜索 --> |
| | | |
| | |
| | | |
| | | <script> |
| | | import bigImg from '@/components/bigImg.vue' |
| | | import bigImg1 from '@/components/bigImg1.vue' |
| | | import search from '@/components/search.vue' |
| | | import noData from '@/components/noData.vue' |
| | | import { mapState } from 'vuex' |
| | | import { categoryList, goodsList, brandList, h5Image, goodsPage, listForH5 } from '@/apis/index.js' |
| | | export default { |
| | |
| | | page: 1 |
| | | } |
| | | }, |
| | | components: { bigImg, search }, |
| | | components: { bigImg, search, noData, bigImg1 }, |
| | | onLoad() { |
| | | var that = this |
| | | // 监听键盘组合键 |
| | |
| | | }) |
| | | } |
| | | }) |
| | | this.$refs.bigImg.open(0) |
| | | // console.log(this.imgList) |
| | | this.$viewerApi({ |
| | | images: this.imgList, |
| | | }) |
| | | // this.$refs.bigImg.open(0) |
| | | // this.$refs.bigImg1.open(0) |
| | | }, |
| | | empty() { |
| | | this.shopList = [] |
| | |
| | | this.leftShop = JSON.parse(JSON.stringify(val)) |
| | | } else if (this.$refs.search.typeName === 'right') { |
| | | this.rightShop = JSON.parse(JSON.stringify(val)) |
| | | let leftParamList = this.leftShop.goodsParamList; |
| | | let rightParamList = this.rightShop.goodsParamList; |
| | | let leftList1 = new Array(); |
| | | let leftList2 = new Array(); |
| | | let rightList1 = new Array(); |
| | | let rightList2 = new Array(); |
| | | if(leftParamList && leftParamList.length>0){ |
| | | leftParamList.forEach(item => { |
| | | let flag =0; |
| | | let rightTemp = null; |
| | | if(rightParamList && rightParamList.length>0){ |
| | | rightParamList.forEach(item1 => { |
| | | if (item.name === item1.name ) { |
| | | flag =1; |
| | | rightTemp = item1; |
| | | return; |
| | | } |
| | | }) |
| | | } |
| | | if(flag === 1){ |
| | | leftList1.push(item); |
| | | rightList1.push(rightTemp); |
| | | }else{ |
| | | leftList2.push(item); |
| | | } |
| | | }) |
| | | } |
| | | if(rightParamList && rightParamList.length>0){ |
| | | rightParamList.forEach(item=> { |
| | | let flag1 = 0; |
| | | rightList1.forEach(item1 => { |
| | | if (item.name === item1.name ) { |
| | | flag1 =1; |
| | | //return; |
| | | } |
| | | }) |
| | | if(flag1 === 0){ |
| | | rightList2.push(item); |
| | | } |
| | | }) |
| | | } |
| | | Reflect.set(this.leftShop, "param1",leftList1); |
| | | Reflect.set(this.leftShop, "param2",leftList2); |
| | | Reflect.set(this.rightShop, "param1",rightList1); |
| | | Reflect.set(this.rightShop, "param2",rightList2); |
| | | } else { |
| | | this.shopList.push(JSON.parse(JSON.stringify(val))) |
| | | } |
| | |
| | | margin-top: 16px; |
| | | .commodityFrom_head { |
| | | width: 100%; |
| | | height: 60px; |
| | | height: 45px; |
| | | padding: 10px 8px; |
| | | box-sizing: border-box; |
| | | background: rgba(0,224,255,0.24) linear-gradient(180deg, rgba(255,255,255,0.35) 0%, rgba(0,0,0,0.21) 100%); |
| | |
| | | flex-direction: column; |
| | | .commodityFrom_body_content_item { |
| | | width: 100%; |
| | | height: 56px; |
| | | height: 45px; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 6px; |
| | |
| | | opacity: 0; |
| | | transform: translate(0%, 0%); |
| | | z-index: -1; |
| | | height: 56px; |
| | | height: 45px; |
| | | display: flex; |
| | | align-items: center; |
| | | background: rgba(0,224,255,0.3); |
| | |
| | | } |
| | | .commodityFrom_body_total { |
| | | width: 100%; |
| | | height: 56px; |
| | | height: 45px; |
| | | display: flex; |
| | | align-items: center; |
| | | .commodityFrom_body_total_item { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .productPage { |
| | | width: 100%; |
| | | padding: 0 22px; |
| | |
| | | margin-top: 16px; |
| | | .productPage_head { |
| | | width: 100%; |
| | | height: 60px; |
| | | height: 45px; |
| | | display: flex; |
| | | align-items: center; |
| | | background: rgba(0,224,255,0.34) linear-gradient(180deg, rgba(255,255,255,0.35) 0%, rgba(0,0,0,0.21) 100%); |
| | |
| | | margin-top: 12px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | .paramline{ |
| | | border-bottom: #c7c9ce 2px dashed; |
| | | margin-bottom: 15px; |
| | | } |
| | | .item { |
| | | display: flex; |
| | | align-items: flex-start; |