From 333150446e8186563133de7169d429709dd2a71b Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 24 十月 2024 10:12:06 +0800
Subject: [PATCH] 更新

---
 h5/pages.json                    |    8 
 h5/pages/index_2/index.vue       | 1644 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 h5/static/banner.png             |    0 
 h5/components/searchShopList.vue |  118 +++
 h5/pages/login/login.vue         |    2 
 h5/utils/request.js              |    2 
 h5/static/mb.png                 |    0 
 h5/apis/index.js                 |    5 
 8 files changed, 1,777 insertions(+), 2 deletions(-)

diff --git a/h5/apis/index.js b/h5/apis/index.js
index 6bdccf5..124950f 100644
--- a/h5/apis/index.js
+++ b/h5/apis/index.js
@@ -48,4 +48,9 @@
 // 閫�鍑虹櫥褰�
 export function logout(data){
 	return post('system/logout', data)
+}
+
+// 鑾峰彇褰撳墠鐧诲綍浼佷笟閰嶇疆淇℃伅1.0.2
+export function getByLoginNew() {
+	return get('business/webParam/getByLoginNew')
 }
\ No newline at end of file
diff --git a/h5/components/searchShopList.vue b/h5/components/searchShopList.vue
new file mode 100644
index 0000000..25a7736
--- /dev/null
+++ b/h5/components/searchShopList.vue
@@ -0,0 +1,118 @@
+<template>
+	<view class="search" v-if="show" @click="close">
+		<view class="search_box" @click.stop="test">
+			<view class="search_box_item" style="background: rgba(13, 30, 65, 0.70)">
+				<view class="icon">
+					<image src="@/static/ic_search@2x.png" mode="widthFix"></image>
+				</view>
+				<view class="search_box_item_right">
+					<input type="text" focus v-model="title" placeholder-class="placeholder" placeholder="璇疯緭鍏ユ爣棰樻悳绱�" />
+					<button @click="submit">鎼滅储</button>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import { listForH5 } from '@/apis/index.js'
+	export default {
+		data() {
+			return {
+				show: false,
+				title: ''
+			}
+		},
+		methods: {
+			open() {
+				this.title = ''
+				this.show = true
+			},
+			close() {
+				this.show = false
+			},
+			test() {
+				return false
+			},
+			submit() {
+				this.$emit('getTitle', this.title)
+				this.close()
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.search {
+		position: fixed;
+		z-index: 4;
+		top: 0;
+		left: 0;
+		width: 100vw;
+		height: 100vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		.search_box {
+			width: 660px;
+			height: auto;
+			display: flex;
+			flex-direction: column;
+			.search_box_item {
+				width: 100%;
+				height: 72px;
+				border-radius: 32px;
+				display: flex;
+				align-items: center;
+				padding: 0 30px;
+				box-sizing: border-box;
+				margin-bottom: 16px;
+				&:last-child {
+					margin-bottom: 0 !important;
+				}
+				.search_box_item_right {
+					width: 100%;
+					display: flex;
+					align-items: center;
+					input {
+						flex: 1;
+						height: 100%;
+						font-size: 20px;
+						font-weight: 400;
+						color: #FFFFFF;
+					}
+					button {
+						flex-shrink: 0;
+						width: 100px;
+						height: 40px;
+						line-height: 40px;
+						text-align: center;
+						font-size: 16px;
+						color: #FFFFFF;
+						border-radius: 30rpx;
+						background-color: #5500ff;
+						margin-left: 30rpx;
+					}
+				}
+				.icon {
+					width: 20px;
+					height: 20px;
+					flex-shrink: 0;
+					margin-right: 18px;
+					image {
+						width: 100%;
+						height: 100%;
+					}
+				}
+				.placeholder {
+					height: 72px;
+					line-height: 72px;
+					font-size: 20px;
+					font-family: PingFangSC-Regular, PingFang SC;
+					font-weight: 400;
+					color: rgba(255,255,255,0.5);
+				}
+			}
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/h5/pages.json b/h5/pages.json
index ab8e3c5..7497756 100644
--- a/h5/pages.json
+++ b/h5/pages.json
@@ -1,6 +1,14 @@
 {
 	"pages": [
 		{
+			"path": "pages/index_2/index",
+			"style": {
+				"navigationBarTitleText": "棰勯�夋竻鍗曠郴缁�",
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": true
+			}
+		},
+		{
 			"path": "pages/index/index",
 			"style": {
 				"navigationBarTitleText": "棰勯�夋竻鍗曠郴缁�",
diff --git a/h5/pages/index_2/index.vue b/h5/pages/index_2/index.vue
new file mode 100644
index 0000000..8cb33cb
--- /dev/null
+++ b/h5/pages/index_2/index.vue
@@ -0,0 +1,1644 @@
+<template>
+	<view class="box">
+		<view class="box_bg" v-if="configuration && bgImg && configuration.bgImg.isShow !== 0" :style="{backgroundImage: 'url(' + bgImg + ')'}"></view>
+		<view class="box_bg" v-else-if="configuration" :style="{background: configuration.main.bgColor ? percentage(configuration.main.bgColor, configuration.main.alpha) : ''}"></view>
+		<view class="box_bg" v-else :style="{backgroundImage: 'url(' + require('@/static/mb.png') + ')'}"></view>
+		
+		<view class="box_content" :style="{maxWidth: configuration ? configuration.rangeSize + 'px' : '750px', minWidth: configuration ? configuration.rangeSize + 'px' : '750px'}">
+			<!-- 骞垮憡鍥� -->
+			<view class="advertisement">
+				<image v-if="configuration" :src="topImg" mode="widthFix"></image>
+				<image v-else :src="require('@/static/banner.png')" mode="widthFix"></image>
+			</view>
+			
+			<view class="box_content_left" v-if="status > 0" @click="fanhuiPage">
+				<image src="@/static/ic_left@2x.png" mode="widthFix"></image>
+			</view>
+			<view class="box_content_right" @click="xiaPage" v-if="status > 0 && status !== 2">
+				<image src="@/static/ic_right@2x.png" mode="widthFix"></image>
+			</view>
+			
+			<!-- 涓�閿竻绌烘寜閽� -->
+			<view class="box_content_close" v-if="status === 0" @click="empty">
+				涓�閿竻绌�
+			</view>
+			
+			<view class="box_user">
+				<text>{{User.username}}</text>
+				<image src="@/static/ic_logout@2x.png" mode="widthFix" @click="loginOut"></image>
+			</view>
+			
+			<!-- 棣栭〉 -->
+			<template v-if="status === 0">
+				<view class="commodityFrom" v-if="shopList && shopList.length > 0">
+					<view class="commodityFrom_head" :style="{background: !configuration ? 'rgba(13, 30, 65, 1)' : configuration.header.backgroundType === 0 ? 'rgba(13, 30, 65, 1)' : configuration.header.backgroundType === 1 ? percentage(configuration.header.bgColor, configuration.header.bgAlpha) : `linear-gradient(180deg, ${percentage(configuration.header.bgColor, configuration.header.bgAlpha)} 0%, ${percentage(configuration.header.bgColor2, configuration.header.bgAlpha2)} 100%)`}">
+						<view class="commodityFrom_head_item" :style="{color: !configuration ? '#ffffff' : configuration.header.type === 1 ? percentage(configuration.header.color, configuration.header.alpha) : '#ffffff'}">绫诲埆</view>
+						<view class="commodityFrom_head_item" :style="{color: !configuration ? '#ffffff' : configuration.header.type === 1 ? percentage(configuration.header.color, configuration.header.alpha) : '#ffffff'}">鍝佺墝</view>
+						<view class="commodityFrom_head_item" :style="{color: !configuration ? '#ffffff' : configuration.header.type === 1 ? percentage(configuration.header.color, configuration.header.alpha) : '#ffffff'}">鍨嬪彿</view>
+						<view class="commodityFrom_head_item" :style="{color: !configuration ? '#ffffff' : configuration.header.type === 1 ? percentage(configuration.header.color, configuration.header.alpha) : '#ffffff'}">鎸囧浠�</view>
+						<view class="commodityFrom_head_item" :style="{color: !configuration ? '#ffffff' : configuration.header.type === 1 ? percentage(configuration.header.color, configuration.header.alpha) : '#ffffff'}">鍏ユ墜浠�</view>
+					</view>
+					<view class="commodityFrom_body" :style="{background: !configuration ? 'rgba(0,0,0,0)' : percentage(configuration.list.bgColor, configuration.list.bgAlpha)}">
+						<view class="commodityFrom_body_content">
+							<view class="commodityFrom_body_content_item" v-for="(item, index) in shopList" :key="index">
+								<view class="commodityFrom_body_content_item_num">
+									<view class="commodityFrom_body_content_item_num_img">
+										<image :src="item.categoryImgurl ? item.prefixUrl + item.categoryImgurl : ''" mode="widthFix"></image>
+									</view>
+									{{stringOperations(item.categoryName, 3)}}
+								</view>
+								<view class="commodityFrom_body_content_item_num" @click="open(index, 1)">
+									{{stringOperations(item.brandName, 4)}}
+									<view class="drop-down" :style="{ opacity: item.ppShow ? opacity : '0', zIndex: item.ppShow ? zIndex : '-1', background: !configuration ? 'rgba(108, 130, 170, 1)' : percentage(configuration.pull.bgColor, configuration.pull.bgAlpha) }">
+										<view class="drop-down-search">鎼滅储</view>
+										<view class="drop-down-item" v-for="(child, i) in brandData" :key="i" @click.stop="clickBrand(item, child, index)">
+											{{child.name}}
+										</view>
+									</view>
+								</view>
+								<view class="commodityFrom_body_content_item_num" @click="open(index, 2)">
+									{{stringOperations(item.name, 8)}}
+									<view class="drop-top" v-show="item.name">
+										{{item.name}}
+									</view>
+									<view class="drop-down" :style="{ opacity: item.xhShow ? opacity : '0', zIndex: item.xhShow ? zIndex : '-1', background: !configuration ? 'rgba(108, 130, 170, 1)' : configuration.pull.bgType === 1 ? percentage(configuration.pull.bgColor, configuration.pull.bgAlpha) : 'rgba(108, 130, 170, 1)' }">
+										<view class="drop-down-item" v-for="(data, s) in item.xhData" :key="s" @click.stop="clickXH(data, index)">
+											{{ stringOperations(data.name, 7)}}
+										</view>
+									</view>
+								</view>
+								<view class="commodityFrom_body_content_item_num">
+									{{ item.zdPrice }}
+								</view>
+								<view class="commodityFrom_body_content_item_num">
+									<input
+										type="number"
+										v-model="item.price"
+										@onkeyup="checkInput(this)"
+										@input="changePrice(item.price, index)" />
+								</view>
+								<view class="commodityFrom_body_content_item_tips">
+									<image src="@/static/ic_img@2x.png" mode="widthFix" @click="openImg(index)"></image>
+									<image src="@/static/ic_copy@2x.png" mode="widthFix" @click="copyItem(item)"></image>
+									<image src="@/static/ic_delete@2x.png" mode="widthFix" @click="deleItem(index)"></image>
+								</view>
+							</view>
+						</view>
+						<view class="commodityFrom_body_total">
+							<view class="commodityFrom_body_total_item">鎬昏锛�</view>
+							<view class="commodityFrom_body_total_item">
+								{{simplifyNum(zdj)}}
+							</view>
+							<view class="commodityFrom_body_total_item">
+								{{simplifyNum(totalPrices)}}
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="productCategory">
+				<view class="productCategory_list" :style="{background: !configuration ? 'rgba(137, 159, 197, 1)' : configuration.category.bgType === 1 ? percentage(configuration.category.bgColor, configuration.category.bgAlpha) : '#899FC5'}">
+					<view
+					class="productCategory_list_item"
+					v-for="(item, index) in category"
+					:key="index"
+					@click="clickItem(index, item.id, item.name)">
+						<image :src="item.imgurl ? item.prefixUrl + item.imgurl : ''" mode="widthFix"></image>
+						<text>{{item.name}}</text>
+					</view>
+					<view class="productCategory_list_zw"></view>
+					<view class="productCategory_list_zw"></view>
+					<view class="productCategory_list_zw"></view>
+					<view class="productCategory_list_zw"></view>
+					<view class="productCategory_list_zw"></view>
+				</view>
+			</view>
+			</template>
+			
+			<!-- 鍟嗗搧鍒楄〃 -->
+			<template v-if="status === 1 || status === 2">
+				<view class="productPage">
+					<view class="productPage_head" :style="{background: !configuration ? 'rgba(13, 30, 65, 1)' : configuration.header.backgroundType === 2 ? `linear-gradient(180deg, ${percentage(configuration.header.bgColor, configuration.header.bgAlpha)} 0%, ${percentage(configuration.header.bgColor2, configuration.header.bgAlpha2)} 100%)` : percentage(configuration.header.bgColor, configuration.header.bgAlpha)}">
+						<view class="productPage_head_item" v-if="attrFirstName">
+							<text>{{attributeOne.name ? attributeOne.name : attrFirstName}}</text>
+							<image src="@/static/ar_open@2x.png" mode="widthFix"></image>
+							<view class="productPage_xl" :style="{background: !configuration ? 'rgba(13, 30, 65, 1)' : configuration.pull.bgType === 1 ? percentage(configuration.pull.bgColor, configuration.pull.bgAlpha) : '#0D1E41'}" v-if="attrFirstList.length > 0">
+								<view class="productPage_xl_iten" v-for="(item, index) in attrFirstList" :key="index" @click="clickShopPageCheck(item, 1)">
+									{{item.name}}
+								</view>
+							</view>
+						</view>
+						<view class="productPage_head_item" v-if="attrSecondName">
+							<text>{{attributeTwo.name ? attributeTwo.name : attrSecondName}}</text>
+							<image src="@/static/ar_open@2x.png" mode="widthFix"></image>
+							<view class="productPage_xl" :style="{background: !configuration ? 'rgba(13, 30, 65, 1)' : configuration.pull.bgType === 1 ? percentage(configuration.pull.bgColor, configuration.pull.bgAlpha) : '#0D1E41'}" v-if="attrSecondList.length > 0">
+								<view class="productPage_xl_iten" v-for="(item, index) in attrSecondList" :key="index" @click="clickShopPageCheck(item, 2)">
+									{{item.name}}
+								</view>
+							</view>
+						</view>
+						<view class="productPage_head_item">
+							<text v-if="budget.type == 1 || budget.type == 2">{{budget.name}}</text>
+							<text v-else>{{budget.max && budget.min ? budget.min + '~' + budget.max : '棰勭畻'}}</text>
+							<image src="@/static/ar_open@2x.png" mode="widthFix"></image>
+							<view class="productPage_xl" :style="{background: !configuration ? 'rgba(13, 30, 65, 1)' : configuration.pull.bgType === 1 ? percentage(configuration.pull.bgColor, configuration.pull.bgAlpha) : '#0D1E41'}" v-if="budgetList.length > 0">
+								<view class="productPage_xl_iten" v-for="(item, index) in budgetList" :key="index" @click="clickShopPageCheck(item, 3)">
+									<template v-if="!item.name">
+										{{item.minamount}}~{{item.maxamount}}
+									</template>
+									<template v-else>
+										{{item.name}}
+									</template>
+								</view>
+							</view>
+						</view>
+						<view class="productPage_head_item">
+							<text>{{shopPageBrand.name ? shopPageBrand.name : '鍝佺墝'}}</text>
+							<image src="@/static/ar_open@2x.png" mode="widthFix"></image>
+							<view class="productPage_xl" :style="{background: !configuration ? 'rgba(13, 30, 65, 1)' : configuration.pull.bgType === 1 ? percentage(configuration.pull.bgColor, configuration.pull.bgAlpha) : '#0D1E41'}" v-if="brandData.length > 0">
+								<view class="productPage_xl_iten" v-for="(item, index) in brandData1" :key="index" @click="clickShopPageCheck(item, 4)">
+									{{item.name}}
+								</view>
+							</view>
+						</view>
+					</view>
+					<view class="productPage_pk" v-if="isPK || status === 2">
+						<view class="productPage_pk_shop">
+							<view class="productPage_pk_shop_sp" @click="openSearch('left')" v-if="JSON.stringify(leftShop) == '{}'">
+								<image src="@/static/ic_add@2x.png" mode="widthFix"></image>
+							</view>
+							<view class="productPage_pk_shop_sp1" :style="{background: !configuration ? 'rgba(13, 30, 65, 1)' : configuration.header.backgroundType === 2 ? `linear-gradient(180deg, ${percentage(configuration.header.bgColor, configuration.header.bgAlpha)} 0%, ${percentage(configuration.header.bgColor2, configuration.header.bgAlpha2)} 100%)` : percentage(configuration.header.bgColor, configuration.header.bgAlpha)}" @click="clickPKshop(leftShop)" v-else>
+								<view class="productPage_pk_shop_sp1_img">
+									<image :src="leftShop.imgurl ? leftShop.prefixUrl + leftShop.imgurl : ''" mode="widthFix"></image>
+								</view>
+								<text>{{stringOperations(leftShop.name, 6)}}</text>
+							</view>
+							<view class="productPage_pk_shop_t">
+								<image :src="!configuration ? require('@/static/ic_pktai@2x.png') : configuration.pkImg.type === 0 ? require('@/static/ic_pktai@2x.png') : configuration.pkImg.imgurl" mode="widthFix"></image>
+							</view>
+						</view>
+						<view class="productPage_pk_z" @click="jumpPK">
+							<image src="@/static/ic_pk@2x.png" mode="widthFix"></image>
+						</view>
+						<view class="productPage_pk_shop">
+							<view class="productPage_pk_shop_sp" @click="openSearch('right')" v-if="JSON.stringify(rightShop) == '{}'">
+								<image src="@/static/ic_add@2x.png" mode="widthFix"></image>
+							</view>
+							<view class="productPage_pk_shop_sp1" @click="clickPKshop(rightShop)" v-else>
+								<view class="productPage_pk_shop_sp1_img">
+									<image :src="rightShop.imgurl ? rightShop.prefixUrl + rightShop.imgurl : ''" mode="widthFix"></image>
+								</view>
+								<text>{{stringOperations(rightShop.name, 6)}}</text>
+							</view>
+							<view class="productPage_pk_shop_t">
+								<image :src="!configuration ? require('@/static/ic_pktai@2x.png') : configuration.pkImg.type === 0 ? require('@/static/ic_pktai@2x.png') : configuration.pkImg.imgurl" mode="widthFix"></image>
+							</view>
+						</view>
+					</view>
+					<view class="productPage_shop" v-if="status === 1 && !pkcontent">
+						<view class="productPage_shop_item" :style="{background: !configuration ? 'rgba(137, 159, 197, 1)' : percentage(configuration.list.bgColor, configuration.list.bgAlpha)}" 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>
+							<text>{{stringOperations(item.name, 6)}}</text>
+						</view>
+						<view class="productPage_shop_zw"></view>
+						<view class="productPage_shop_zw"></view>
+						<view class="productPage_shop_zw"></view>
+					</view>
+					 <!-- v-if="status === 2" -->
+					<view class="productPage_parameter" v-if="isPK && pkcontent">
+						<view class="productPage_parameter_item" v-for="(item, index) in [leftShop, rightShop]" :key="index">
+							<view class="productPage_parameter_item_head">
+								{{stringOperations(item.name, 11)}}
+							</view>
+							<view class="productPage_parameter_item_content">
+								<view class="productPage_parameter_item_content_price">
+									<view class="zdj">
+										<text>鎸囧浠凤細</text>
+										<text>楼{{item.zdPrice}}</text>
+									</view>
+									<view class="rsj">
+										<text>寤鸿鍏ユ墜浠凤細</text>
+										<text>楼{{item.price}}</text>
+									</view>
+								</view>
+								<view class="productPage_parameter_item_content_nr">
+									<view class="item" v-for="(child, i) in item.goodsParamList" :key="i">
+										<view class="label">{{child.name}}锛�</view>
+										<view class="value">{{child.val}}</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</template>
+			
+			<!-- 鏌ョ湅澶у浘 -->
+			<bigImg
+				ref="bigImg"
+				:imgList="imgList"/>
+				
+			<!-- 鎼滅储 -->
+			<search
+				ref="search"
+				:categoryList="category"
+				:shopList="shopData"
+				:categoryid="categoryId"
+				:status="status"
+				:categoryName="categoryName"
+				@result="result" />
+			<!-- 鎼滅储鍟嗗搧鍒楄〃鏍囬 -->
+			<searchShopList
+				ref="searchShopListRef"
+				@getTitle="getVal"
+			 />
+		</view>
+	</view>
+</template>
+
+<script>
+	import bigImg from '@/components/bigImg.vue'
+	import search from '@/components/search.vue'
+	import searchShopList from '@/components/searchShopList.vue'
+	import { categoryList, goodsList, brandList, h5Image, logout, getByLoginNew } from '@/apis/index.js'
+	import { mapState } from 'vuex'
+	export default {
+		data() {
+			return {
+				status: 0,	// 0棣栭〉 1鍟嗗搧鍒楄〃 2pk椤�
+				
+				img: '',
+				
+				opacity: 1,
+				zIndex: 2,
+				
+				index: '',
+				
+				val: '',
+				
+				isPK: false,
+				pkcontent: false,
+				
+				imgList: [],  // 鏌ョ湅鍥剧墖鏁版嵁闆嗗悎
+				i: 0,
+				
+				categoryId: '',	// 绫诲埆id
+				categoryName: '',	// 绫诲埆鍚嶇О
+				category: [],	// 绫诲埆鏁版嵁
+				shopList: [],	// 棣栭〉宸查�夊晢鍝�
+				shopData: [],	// 鍟嗗搧鏁版嵁
+				brandData: [],	// 鍝佺墝鏁版嵁
+				brandData1: [],		// 鍟嗗搧鍒楄〃椤垫煡璇㈡悳绱�
+				
+				attrFirstName: '',
+				attrSecondName: '',
+				attrFirstList: [],	// 灞炴��1
+				attrSecondList: [],	// 灞炴��2
+				budgetList: [],	// 棰勭畻
+				isSOU: false,
+				shopPageData: [],	// 鍟嗗搧鍒楄〃椤甸潰鏁版嵁
+				shopPageDataSou: [],	// 鍟嗗搧鍒楄〃椤甸潰鎼滅储鏁版嵁
+				attributeOne: {		// 鍟嗗搧椤甸潰灞炴�т竴
+					id: '',
+					name: ''
+				},
+				attributeTwo: {		// 鍟嗗搧椤甸潰灞炴�т簩
+					id: '',
+					name: ''
+				},
+				budget: {		// 鍟嗗搧椤甸潰棰勭畻
+					id: '',
+					max: '',
+					min: '',
+					type: ''
+				},
+				shopPageBrand: {		// 鍟嗗搧椤甸潰鍝佺墝
+					id: '',
+					name: ''
+				},
+				
+				leftShop: {},	// pk宸︿晶鍟嗗搧
+				rightShop: {},	// pk鍙充晶鍟嗗搧
+				
+				totalPrices: 0,
+				zdj: 0,
+				
+				select: [],	// 宸查��
+				configuration: null,
+				bgImg: '',
+				topImg: '',
+				pkImg: '',
+				
+				title: ''
+			}
+		},
+		components: { bigImg, search, searchShopList },
+		onLoad() {
+			getByLoginNew({})
+				.then(res => {
+					if (!res.data) {
+						return
+					}
+					console.log(JSON.parse(res.data.newParam))
+					this.configuration = JSON.parse(res.data.newParam)
+					this.fontColor = this.configuration.pull.selType === 1 ? this.percentage(this.configuration.pull.selColor, this.configuration.pull.selAlpha) : 'rgba(255, 220, 108, 1)'
+					if (this.configuration.bgImg.type === 0) {
+						this.bgImg = require('@/static/mb.png')
+					} else {
+						this.bgImg = this.configuration.bgImg.imgurl
+					}
+					if (this.configuration.topImg.type === 0) {
+						this.topImg = require('@/static/banner.png')
+					} else {
+						this.topImg = this.configuration.topImg.imgurl
+					}
+					if (this.configuration.pkImg.type === 0) {
+						this.pkImg = require('@/static/ic_pktai@2x.png')
+					} else {
+						this.pkImg = this.configuration.pkImg.imgurl
+					}
+				})
+			var that = this
+			// 鐩戝惉閿洏缁勫悎閿�
+			document.onkeydown = function(e) {
+				var keyCode = e.keyCode || e.which || e.charCode;
+				var ctrlKey = e.ctrlKey || e.metaKey;
+				if(ctrlKey && keyCode == 70) {
+					if (that.status !== 1) {
+						that.$refs.search.open()
+					} else {
+						that.$refs.searchShopListRef.open()
+					}
+					e.preventDefault();
+					return false;
+				} else if (keyCode === 37) {
+					that.fanhuiPage()
+					e.preventDefault();
+					return false;
+				} else if (keyCode === 39) {
+					that.xiaPage()
+					e.preventDefault();
+					return false;
+				}
+			}
+			this.getCategoryList()
+			this.getGoodsList()
+			this.getbrandList()
+			this.h5Images()
+		},
+		onReady() {
+			var that = this
+			
+			let divs = document.getElementsByClassName('box')
+			
+			let start = 0
+			
+			divs[0].onmousedown = function(ev){
+				
+				if (that.status === 1) {
+					
+					start = ev.pageY
+								 
+					//event鐨勫吋瀹规��
+					var ev = ev || event;
+								 
+					//鑾峰彇榧犳爣鎸変笅鐨勫潗鏍�
+					var x1 = ev.clientX;
+					var y1 = ev.clientY;
+								 
+					//鑾峰彇鍏冪礌鐨刲eft锛宼op鍊�
+					var l = divs.offsetLeft;
+					var t = divs.offsetTop;
+								 
+					//缁欏彲瑙嗗尯鍩熸坊鍔犻紶鏍囩殑绉诲姩浜嬩欢
+					document.onmousemove = function(ev) {
+					    //event鐨勫吋瀹规��
+					    var ev = ev || event;
+								 
+					    //鑾峰彇榧犳爣绉诲姩鏃剁殑鍧愭爣
+					    var x2 = ev.clientX;
+					    var y2 = ev.clientY;
+								 
+					    //璁$畻鍑洪紶鏍囩殑绉诲姩璺濈
+					    var x = x2 - x1;
+					    var y = y2 - y1;
+								 
+					    //绉诲姩鐨勬暟鍊间笌鍏冪礌鐨刲eft锛宼op鐩稿姞锛屽緱鍑哄厓绱犵殑绉诲姩鐨勮窛绂�
+					    var lt = y + t;
+					    var ls = x + l;
+						
+						let num = start - ev.pageY
+						if (num < -100) {
+							that.isPK = true
+						} else if (num > 100) {
+							that.leftShop = {}
+							that.rightShop = {}
+							that.isPK = false
+						}
+					}
+					//娓呴櫎
+					document.onmouseup = function(ev){
+					    document.onmousemove = null;
+					}
+					
+				}
+			}
+		},
+		computed: {
+			// 鎸囧浠锋�昏
+			zdTotalPrice() {
+				let num = 0
+				this.shopList.forEach(item => {
+					num = num + Number(item.zdPrice)
+				})
+				return num || 0
+			},
+			// 鍏ユ墜浠�
+			totalPrice() {
+				let num = 0
+				this.shopList.forEach(item => {
+					num = num + Number(item.price)
+				})
+				return num || 0
+			},
+			...mapState(['Cookies', 'Config', 'User'])
+		},
+		watch: {
+			status: {
+				handler(news, old) {
+					if (news === 0) {
+						this.categoryName = ''
+					}
+				}
+			},
+			shopList: {
+				deep: true,
+				handler(news, old) {
+					let rsj = 0
+					let zdj = 0
+					this.shopList.forEach(item => {
+						rsj = rsj + Number(item.price)
+						zdj = zdj + Number(item.zdPrice)
+					})
+					this.totalPrices = rsj
+					this.zdj = zdj
+				}
+			}
+		},
+		methods: {
+			// 鑾峰彇鎼滅储鐨勬爣棰�
+			getVal(val) {
+				this.title = val
+				this.leftShop = {}
+				this.rightShop = {}
+				this.isSOU = true
+				this.shopPageDataSou = []
+				this.shopPageData.forEach(item => {
+					if (
+					(this.attributeOne.id ? item.attrFirstIds.indexOf(String(this.attributeOne.id)) !== -1 : true) &&
+					(this.attributeTwo.id ? item.attrSecodIds.indexOf(String(this.attributeTwo.id)) !== -1 : true) &&
+					(this.budget.type == 3 ? (item.price <= Number(this.budget.max)) && (item.price >= Number(this.budget.min)) : true) &&
+					(this.budget.type == 1 ? (item.price <= Number(this.budget.max)) : true) &&
+					(this.budget.type == 2 ? (item.price >= Number(this.budget.min)) : true) &&
+					(this.shopPageBrand.id ? item.brandId === this.shopPageBrand.id : true) && 
+					(item.name.indexOf(this.title) !== -1) // 鏍囬鎼滅储
+					) {
+						this.shopPageDataSou.push(item)
+					}
+				})
+			},
+			empty() {
+				this.shopList = []
+			},
+			percentage(bgColor, alpha) {
+				let res = +(alpha * 2.55).toFixed(0)
+				return bgColor + res.toString(16)
+			},
+			checkInput(_this) {
+			  if (_this.value != '' && _this.value.substr(0, 1) == '.') {
+				_this.value = 0
+			  }
+			  if (_this.value == '') {
+				_this.value = 0
+			  }
+			  _this.value = _this.value.replace(/^0*(0\.|[1-9])/, '$1') // 绂佹绮樿创
+			  _this.value = _this.value.replace(/[^\d.]/g, '0.00') // 绂佹杈撳叆闈炴暟瀛�
+			  _this.value = _this.value.replace(/\.{2,}/g, '.') // 鍙繚鐣欑涓�涓�. 娓呴櫎澶氫綑鐨�
+			  _this.value = _this.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
+			  _this.value = _this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') // 鍙兘杈撳叆涓や釜灏忔暟
+
+			  if (_this.value.indexOf('.') < 0 && _this.value != '') {
+				// 浠ヤ笂宸茬粡杩囨护锛屾澶勬帶鍒剁殑鏄鏋滄病鏈夊皬鏁扮偣锛岄浣嶄笉鑳戒负绫讳技浜� 01銆�02鐨勯噾棰�
+				if (_this.value.substr(0, 1) == '0' && _this.value.length == 2) {
+				  _this.value = _this.value.substr(1, _this.value.length)
+				}
+			  }
+			  if (!_this.value) {
+				_this.value = 0
+			  }
+			},
+			changePrice(price, index) {
+				if (price.indexOf('-') !== -1) {
+					this.shopList[index].price = ''
+					return
+				}
+				// if (!/^\d[0,9]$/.test(price)) {
+				// 	this.shopList[index].price = JSON.parse(JSON.stringify(price.replace(/-/g, '')))
+				// 	return
+				// }
+				let rsj = 0
+				this.shopList.forEach(item => {
+					rsj = rsj + Number(item.price)
+				})
+				this.totalPrices = rsj
+			},
+			simplifyNum(number) {
+				if (!number && number != 0) return number;
+				let test = number.toFixed(0)
+				if(test.length >= 7){
+					const moneys = number / 10000
+					const realVal = parseFloat(moneys).toFixed(0);
+					return realVal + "w"
+				} else {
+					return number
+				}
+			},
+			// 閫�鍑�
+			loginOut() {
+				logout({})
+					.then(res => {
+						this.$store.commit('clean')
+						uni.redirectTo({ url: '/pages/login/login' });
+					})
+			},
+			// 鑾峰彇娴锋姤鍥�
+			h5Images() {
+				h5Image({})
+					.then(res => {
+						this.img = res.data
+					})
+			},
+			xiaPage() {
+				if (this.status === 2 || this.status === 0) return
+				this.status = this.status + 1
+			},
+			// 杩斿洖涓婁竴椤�
+			fanhuiPage() {
+				if (this.status === 0) return
+				this.status = this.status - 1
+				if (this.status === 0) {
+					this.leftShop = {}
+					this.rightShop = {}
+					this.isPK = false,
+					this.pkcontent = false
+					this.attributeOne = {
+						id: '',
+						name: ''
+					},
+					this.attributeTwo = {
+						id: '',
+						name: ''
+					},
+					this.budget = {
+						id: '',
+						max: '',
+						min: ''
+					}
+					this.shopPageBrand = {
+						id: '',
+						name: ''
+					}
+				} else if (this.status === 1) {
+					this.leftShop = {}
+					this.rightShop = {}
+					this.isPK = false,
+					this.pkcontent = false
+				}
+			},
+			// 鐐瑰嚮鍨嬪彿
+			clickXH(item, index) {
+				let obj = JSON.parse(JSON.stringify(this.shopList[index]))
+				obj.name = JSON.parse(JSON.stringify(item.name))
+				obj.zdPrice = JSON.parse(JSON.stringify(item.zdPrice))
+				obj.price = JSON.parse(JSON.stringify(item.price))
+				obj.xhShow = false
+				this.shopList.splice(index, 1)
+				this.shopList[index] = JSON.parse(JSON.stringify(obj))
+				this.$forceUpdate()
+			},
+			// 鐐瑰嚮pk鍟嗗搧甯﹀洖棣栭〉
+			clickPKshop(item) {
+				this.shopList.push(item)
+				this.status = 0
+				this.isPK = false
+				this.pkcontent = false
+				this.leftShop = {}
+				this.rightShop = {}
+			},
+			// 鏌ョ湅澶у浘
+			openImg(i) {
+				this.imgList = []
+				this.shopList.forEach((item, index) => {
+					if (index === i) {
+						item.multifileList.forEach(child => {
+							this.imgList.push(item.prefixUrl + child.fileurl)
+						})
+					}
+				})
+				this.$refs.bigImg.open(i)
+			},
+			// 璺宠浆pk
+			jumpPK() {
+				if (JSON.stringify(this.leftShop) !== '{}' && JSON.stringify(this.rightShop) !== '{}') {
+					this.isPK = true
+					this.pkcontent = true
+					this.status = 2
+				}
+			},
+			// 鐐瑰嚮鍔犲叆pk鍟嗗搧
+			openSearch(type) {
+				if (type === 'left') {
+					this.$refs.search.open('left')
+				} else if (type === 'right') {
+					this.$refs.search.open('right')
+				}
+			},
+			// 鐐瑰嚮鍟嗗搧鍒楄〃椤甸潰鏌ヨ
+			clickShopPageCheck(item, type) {
+				this.leftShop = {}
+				this.rightShop = {}
+				this.isSOU = true
+				this.shopPageDataSou = []
+				if (type === 1) {
+					this.attributeOne.name = item.name  === '鍏ㄩ儴' ? '' : item.name
+					this.attributeOne.id = item.id
+				} else if (type === 2) {
+					this.attributeTwo.name = item.name === '鍏ㄩ儴' ? '' : item.name
+					this.attributeTwo.id = item.id
+				} else if (type === 3) {
+					this.budget.id = item.id
+					this.budget.max = item.maxamount
+					this.budget.min = item.minamount
+					this.budget.type = item.type
+					if (item.name) {
+						this.budget.name = item.name
+					}
+				} else if (type === 4) {
+					this.shopPageBrand.id = item.id
+					this.shopPageBrand.name = item.name === '鍏ㄩ儴' ? '' : item.name
+				}
+				this.isPK = false
+				this.pkcontent = false
+				this.status = 1
+				this.shopPageData.forEach(item => {
+					if (
+					(this.attributeOne.id ? item.attrFirstIds.indexOf(String(this.attributeOne.id)) !== -1 : true) &&
+					(this.attributeTwo.id ? item.attrSecodIds.indexOf(String(this.attributeTwo.id)) !== -1 : true) &&
+					(this.budget.type == 3 ? (item.price <= Number(this.budget.max)) && (item.price >= Number(this.budget.min)) : true) &&
+					(this.budget.type == 1 ? (item.price <= Number(this.budget.max)) : true) &&
+					(this.budget.type == 2 ? (item.price >= Number(this.budget.min)) : true) &&
+					(this.shopPageBrand.id ? item.brandId === this.shopPageBrand.id : true) && 
+					(item.name.indexOf(this.title) !== -1)
+					) {
+						this.shopPageDataSou.push(item)
+					}
+				})
+			},
+			// 鐐瑰嚮鍟嗗搧鍒楄〃椤甸潰鍟嗗搧
+			clickshoppageItem(item) {
+				this.shopList.push(item)
+				this.attrFirstList = []
+				this.attrSecondList = []
+				this.budgetList = []
+				this.status = 0
+				this.isPK = false
+				this.pkcontent = false
+			},
+			// 鑾峰彇鎼滅储缁撴灉
+			getSelectShop(categoryId, brandId) {
+				this.select = []
+				this.shopData.forEach(item => {
+					if (item.categoryId === categoryId && item.brandId === brandId) {
+						this.select.push(JSON.parse(JSON.stringify(item)))
+					}
+				})
+			},
+			// 閫夋嫨鍝佺墝
+			clickBrand(item, val, index) {
+				this.shopList[index].brandName = JSON.parse(JSON.stringify(val.name))
+				this.shopList[index].brandId = JSON.parse(JSON.stringify(val.id))
+				this.shopList[index].name = ''
+				this.shopList[index].zdPrice = ''
+				this.shopList[index].price = ''
+				this.shopList[index].ppShow = false
+				this.$forceUpdate()
+			},
+			// 鍝佺墝
+			getbrandList() {
+				brandList({})
+					.then(res => {
+						this.brandData = JSON.parse(JSON.stringify(res.data))
+						this.brandData1 = JSON.parse(JSON.stringify(res.data))
+						this.brandData1.unshift({ name: '鍏ㄩ儴', id: '' })
+					})
+			},
+			// 鑾峰彇閫変腑鍟嗗搧
+			result(val) {
+				val.ppShow = false
+				val.xhShow = false
+				if (this.$refs.search.typeName === 'left') {
+					this.leftShop = JSON.parse(JSON.stringify(val))
+				} else if (this.$refs.search.typeName === 'right') {
+					this.rightShop = JSON.parse(JSON.stringify(val))
+				} else {
+					this.shopList.push(JSON.parse(JSON.stringify(val)))
+				}
+			},
+			// 鑾峰彇鍏ㄩ儴鍟嗗搧
+			getGoodsList() {
+				goodsList({})
+					.then(res => {
+						this.shopData = res.data
+					})
+			},
+			// 鑾峰彇鍏ㄩ儴鍝佺被
+			getCategoryList() {
+				categoryList({})
+					.then(res => {
+						res.data.forEach(item => {
+							item.active = false
+						})
+						this.category = res.data
+					})
+			},
+			stringOperations(val, num) {
+				if (!val) return
+				if (val.length <= num) return val
+				return val.substring(0, num) + '...'
+			},
+			copyItem(item) {
+				let obj = JSON.parse(JSON.stringify(item))
+				obj.brandId = ''
+				obj.brand = ''
+				obj.brandName = ''
+				obj.name = ''
+				obj.zdPrice = ''
+				obj.price = ''
+				this.shopList.push(obj)
+			},
+			deleItem(i) {
+				this.shopList.splice(i, 1)
+			},
+			// 棣栭〉宸查�夊垪琛ㄥ搧鐗屼笅鎷�
+			open(index, type) {
+				this.shopList.forEach((item, i) => {
+					item.ppShow = false
+					item.xhShow = false
+				})
+				this.shopList.forEach((item, i) => {
+					if (i === index) {
+						if (type === 1) {
+							item.ppShow = true
+						} else {
+							let arr = []
+							this.shopData.forEach(element => {
+								if (
+								(item.categoryId ? element.categoryId === item.categoryId : true) &&
+								(item.brandId ? element.brandId === item.brandId : true)) {
+									arr.push(JSON.parse(JSON.stringify(element)))
+								}
+							})
+							this.shopList[index].xhData = arr;
+							item.xhShow = true
+						}
+					}
+				})
+				this.$forceUpdate()
+			},
+			// 鐐瑰嚮绫诲埆
+			clickItem(index, id, name) {
+				this.categoryId = id
+				this.categoryName = name
+				this.isSOU = false
+				this.title = ''
+				this.category.forEach((item, num) => {
+					if (index === num) {
+						item.active = true
+						
+						this.attrSecondList = []
+						this.attrFirstList = []
+						this.budgetList = []
+						
+						this.attrFirstName = item.attrFirst
+						this.attrSecondName = item.attrSecond
+						this.attrFirstList = JSON.parse(JSON.stringify(item.attrFirstList)) || []
+						this.attrFirstList.unshift({ name: '鍏ㄩ儴', id: '' })
+						this.attrSecondList = JSON.parse(JSON.stringify(item.attrSecondList)) || []
+						this.attrSecondList.unshift({ name: '鍏ㄩ儴', id: '' })
+						// this.budgetList = JSON.parse(JSON.stringify(item.budgetList))
+						let arr = []
+						item.budgetList.forEach(item => {
+							// 娌℃湁鏈�灏忛噾棰�
+							if (!item.minamount) {
+								arr.push({
+									id: JSON.parse(JSON.stringify(item.id)),
+									type: 1,
+									maxamount: JSON.parse(JSON.stringify(item.maxamount)),
+									minamount: JSON.parse(JSON.stringify(item.minamount)),
+									name: `${JSON.parse(JSON.stringify(item.maxamount))}浠ュ唴`
+								})
+							// 娌℃湁鏈�澶ч噾棰�
+							} else if (!item.maxamount) {
+								arr.push({
+									id: JSON.parse(JSON.stringify(item.id)),
+									type: 2,
+									maxamount: JSON.parse(JSON.stringify(item.maxamount)),
+									minamount: JSON.parse(JSON.stringify(item.minamount)),
+									name: `${JSON.parse(JSON.stringify(item.minamount))}浠ヤ笂`
+								})
+							} else {
+								arr.push({
+									id: JSON.parse(JSON.stringify(item.id)),
+									type: 3,
+									maxamount: JSON.parse(JSON.stringify(item.maxamount)),
+									minamount: JSON.parse(JSON.stringify(item.minamount))
+								})
+							}
+						})
+						arr.unshift({ name: '鍏ㄩ儴', id: '' })
+						this.budgetList = arr
+					} else {
+						item.active = false
+					}
+				})
+				// this.shopPageData = []
+				this.shopPageData = this.shopData.filter(item => {
+					return item.categoryId === id
+				})
+				console.log(this.shopPageData)
+				// this.shopData.forEach(item => {
+				// 	if (item.categoryId === id) {
+				// 		this.shopPageData.push(JSON.parse(JSON.stringify(item)))
+				// 	}
+				// })
+				this.attributeOne = {
+					id: '',
+					name: ''
+				},
+				this.attributeTwo = {
+					id: '',
+					name: ''
+				},
+				this.budget = {
+					id: '',
+					max: '',
+					min: ''
+				},
+				this.shopPageBrand = {
+					id: '',
+					name: ''
+				},
+				this.status = 1
+			},
+			mousemove(e) {
+				if (e === this.index) return
+				this.index = e
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.box {
+		// width: 100vw;
+		// min-height: 100vh;
+		// display: flex;
+		// justify-content: center;
+		// background-image: url('@/static/bg.jpg');
+		// background-repeat: no-repeat;
+		// background-size: 100% 100%;
+		width: 100vw;
+		min-height: 100vh;
+		display: flex;
+		justify-content: center;
+		.box_bg {
+			position: fixed;
+			top: 0;
+			left: 0;
+			z-index: -1;
+			width: 100vw;
+			height: 100vh;
+			background-repeat: no-repeat;
+			background-size: 100% 100%;
+		}
+		.box_content {
+			// max-width: 750px;
+			// min-width: 750px;
+			.box_user {
+				z-index: 9;
+				position: fixed;
+				top: 30px;
+				right: 40px;
+				display: flex;
+				align-items: center;
+				text {
+					font-size: 16px;
+					font-family: PingFangSC-Medium, PingFang SC;
+					font-weight: 500;
+					color: #FFFFFF;
+				}
+				image {
+					width: 18px;
+					height: 18px;
+					cursor: pointer;
+					margin-left: 10px;
+				}
+			}
+			.box_content_left {
+				position: fixed;
+				left: 50px;
+				top: 50%;
+				cursor: pointer;
+				transform: translate(-50%, 0);
+				width: 80px;
+				height: 80px;
+				z-index: 9;
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+			.box_content_right {
+				position: fixed;
+				right: 50px;
+				top: 50%;
+				cursor: pointer;
+				transform: translate(-50%, 0);
+				width: 80px;
+				height: 80px;
+				z-index: 999;
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+			.box_content_close {
+				position: fixed;
+				right: 0;
+				bottom: 30px;
+				cursor: pointer;
+				transform: translate(-50%, 0);
+				width: 80px;
+				height: 80px;
+				border-radius: 50%;
+				background-color: rgba(0, 0, 0, 0.40);
+				color: #FFFFFF;
+				font-size: 16px;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+			.advertisement {
+				width: 100%;
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+			.commodityFrom {
+				width: 100%;
+				padding: 0 22px;
+				box-sizing: border-box;
+				margin-top: 16px;
+				.commodityFrom_head {
+					width: 100%;
+					height: 60px;
+					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%);
+					border-radius: 8px 8px 0px 0px;
+					display: flex;
+					align-items: center;
+					.commodityFrom_head_item {
+						// flex: 1;
+						width: 126px;
+						height: 100%;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						font-size: 24px;
+						font-family: SourceHanSansSC-Medium, SourceHanSansSC;
+						font-weight: 500;
+						color: #FFFFFF;
+						margin-right: 6px;
+						&:last-child {
+							margin-right: 0 !important;
+						}
+						&:nth-child(3) {
+							flex: 1 !important;
+						}
+						&:nth-child(4) {
+							width: 100px !important;
+						}
+						&:nth-child(5) {
+							width: 100px !important;
+						}
+					}
+				}
+				.commodityFrom_body {
+					width: 100%;
+					padding: 10px 8px;
+					box-sizing: border-box;
+					background: rgba(0,224,255,0.3);
+					border-radius: 0 0 8px 8px;
+					display: flex;
+					flex-direction: column;
+					.commodityFrom_body_content {
+						width: 100%;
+						display: flex;
+						flex-direction: column;
+						.commodityFrom_body_content_item {
+							width: 100%;
+							height: 56px;
+							display: flex;
+							align-items: center;
+							margin-bottom: 6px;
+							position: relative;
+							transition: .5s;
+							&:hover .commodityFrom_body_content_item_tips {
+								transform: translate(100%, 0%);
+								opacity: 1;
+								z-index: 1;
+							}
+							.commodityFrom_body_content_item_tips {
+								transition: .5s;
+								position: absolute;
+								padding: 0 4px;
+								box-sizing: border-box;
+								right: -16px;
+								top: 0;
+								opacity: 0;
+								transform: translate(0%, 0%);
+								z-index: -1;
+								height: 56px;
+								display: flex;
+								align-items: center;
+								background: rgba(0,224,255,0.3);
+								border-radius: 8px;
+								image {
+									width: 32px;
+									height: 32px;
+									cursor: pointer;
+								}
+							}
+							.commodityFrom_body_content_item_num {
+								width: 126px;
+								height: 100%;
+								background: #FFFFFF;
+								border-radius: 8px;
+								margin-right: 6px;
+								font-size: 24px;
+								font-family: PingFangSC-Medium, PingFang SC;
+								font-weight: 500;
+								color: #111111;
+								display: flex;
+								align-items: center;
+								justify-content: center;
+								position: relative;
+								&:hover {
+									.drop-top {
+										z-index: 5;
+										opacity: 1;
+									}
+								}
+								&:nth-child(4) {
+									width: 100px !important;
+								}
+								&:nth-child(5) {
+									width: 100px !important;
+									margin-right: 0 !important;
+								}
+								&:nth-child(2) {
+									cursor: pointer;
+								}
+								&:nth-child(3) {
+									cursor: pointer;
+									flex: 1 !important;
+								}
+								.drop-top {
+									transition: .5s;
+									z-index: -2;
+									opacity: 0;
+									position: absolute;
+									top: 0;
+									left: 0;
+									white-space: nowrap;
+									transform: translate(0, -100%);
+									padding: 5px 15px;
+									box-sizing: border-box;
+									line-height: 50px;
+									background: rgba(0, 0, 0, 0.8);
+									border-radius: 10px;
+									color: #FFFFFF;
+									font-size: 24px;
+									font-weight: 500;
+								}
+								.commodityFrom_body_content_item_num_img {
+									width: 24px;
+									height: 24px;
+									margin-right: 4px;
+									image {
+										width: 100%;
+										height: 100%;
+									}
+								}
+								input {
+									font-size: 24px;
+									font-family: PingFangSC-Medium, PingFang SC;
+									font-weight: 500;
+									color: #111111;
+									text-align: center;
+								}
+								.drop-down::-webkit-scrollbar {
+								    width: 6px;
+									background: rgba(255,255,255,0.5);
+									border-radius: 4px;
+								}
+								.drop-down::-webkit-scrollbar-thumb {
+								    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
+									background: rgba(255,255,255,0.8);
+								}
+								.drop-down {
+									position: absolute;
+									bottom: 0;
+									left: 0;
+									width: 100%;
+									min-height: 0;
+									max-height: 260px;
+									overflow-y: scroll;
+									overflow-x: hidden;
+									height: auto;
+									transform: translate(0%, 100%);
+									background: linear-gradient(180deg, #518198 0%, #033B58 100%);
+									box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.19);
+									border-radius: 0px 0px 8px 8px;
+									// display: flex;
+									// flex-direction: column;
+									transition: .5s;
+									.drop-down-item {
+										width: 100%;
+										height: 52px;
+										// padding: 0 10px;
+										// box-sizing: border-box;
+										// overflow: hidden;
+										// white-space: nowrap;
+										// text-overflow: ellipsis;
+										cursor: pointer;
+										display: flex;
+										align-items: center;
+										justify-content: center;
+										font-size: 24px;
+										font-family: PingFangSC-Regular, PingFang SC;
+										font-weight: 400;
+										color: #FFFFFF;
+										&:hover {
+											color: #FFF200;
+										}
+									}
+								}
+							}
+						}
+					}
+					.commodityFrom_body_total {
+						width: 100%;
+						height: 56px;
+						display: flex;
+						align-items: center;
+						.commodityFrom_body_total_item {
+							width: 100px;
+							height: 100%;
+							background: rgba(255,255,255,0.4);
+							border-radius: 8px;
+							margin-right: 6px;
+							font-size: 24px;
+							font-family: SourceHanSansSC-Bold, SourceHanSansSC;
+							font-weight: bold;
+							color: #FFF200;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							input {
+								font-size: 24px;
+								font-family: SourceHanSansSC-Bold, SourceHanSansSC;
+								font-weight: bold;
+								color: #FFF200;
+								text-align: center;
+							}
+							&:first-child {
+								flex: 1;
+								display: flex;
+								align-items: center;
+								justify-content: flex-end;
+								font-size: 24px;
+								font-family: SourceHanSansSC-Medium, SourceHanSansSC;
+								font-weight: 500;
+								color: #FFFFFF;
+							}
+							&:last-child {
+								margin-right: 0 !important;
+							}
+						}
+					}
+				}
+			}
+			.productCategory {
+				width: 100%;
+				padding: 0 22px;
+				box-sizing: border-box;
+				margin-top: 10px;
+				.productCategory_list {
+					width: 100%;
+					padding: 10px 20px 0px 20px;
+					box-sizing: border-box;
+					background: rgba(0,224,255,0.18);
+					border-radius: 8px;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					flex-wrap: wrap;
+					margin-bottom: 30px;
+					.productCategory_list_zw {
+						width: 20%;
+						height: 0;
+					}
+					.productCategory_active {
+						background: rgba(255,255,255,0.24) !important;
+						border-radius: 8px !important;
+					}
+					.productCategory_list_item {
+						width: 20%	;
+						height: 108px;
+						display: flex;
+						transition: .5s;
+						flex-direction: column;
+						align-items: center;
+						justify-content: center;
+						margin-bottom: 12px;
+						cursor: pointer;
+						&:hover {
+							background: rgba(255,255,255,0.24) !important;
+							border-radius: 8px !important;
+						}
+						image {
+							width: 52px;
+							height: 52px;
+							margin-bottom: 4px;
+						}
+						text {
+							font-size: 24px;
+							font-family: SourceHanSansSC-Normal, SourceHanSansSC;
+							font-weight: 400;
+							color: #FFFFFF;
+						}
+					}
+				}
+			}
+			
+			.productPage {
+				width: 100%;
+				padding: 0 22px;
+				box-sizing: border-box;
+				margin-top: 16px;
+				.productPage_head {
+					width: 100%;
+					height: 60px;
+					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%);
+					border-radius: 8px 8px 0px 0px;
+					.productPage_head_item {
+						flex: 1;
+						height: 100%;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						cursor: pointer;
+						position: relative;
+						&:hover {
+							background: rgba(255, 255, 255, 0.16) !important;
+							// border-radius: 8px 8px 0px 0px;
+							// background: linear-gradient(360deg, #025170 0%, #529DB9 100%) !important;
+						}
+						&:hover image {
+							transform: rotate(180deg);
+						}
+						&:hover .productPage_xl {
+							transform: translate(0%, 100%);
+							display: block;
+							animation: move 0.5s 0s;
+						}
+						@keyframes move {
+							0%{
+								opacity: 0;
+							}
+							100%{
+								opacity: 1;
+							}
+						}
+						.productPage_xl::-webkit-scrollbar {
+						    width: 6px;
+							background: rgba(255,255,255,0.5);
+							border-radius: 4px;
+						}
+						.productPage_xl::-webkit-scrollbar-thumb {
+						    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
+							background: rgba(255,255,255,0.8);
+						}
+						.productPage_xl {
+							transition: .3s;
+							position: absolute;
+							bottom: 0;
+							left: 0;
+							min-height: 0;
+							max-height: 260px;
+							overflow-y: scroll;
+							overflow-x: hidden;
+							height: auto;
+							display: none;
+							z-index: 3;
+							transform: translate(0%, 90%);
+							width: 100%;
+							background: linear-gradient(180deg, #518198 0%, #033B58 100%);
+							box-shadow: 0px 4px 12px 0px rgba(0,0,0,0.19);
+							border-radius: 0px 0px 8px 8px;
+							.productPage_xl_iten {
+								width: 100%;
+								height: 56px;
+								line-height: 56px;
+								text-align: center;
+								cursor: pointer;
+								font-size: 24px;
+								font-family: PingFangSC-Regular, PingFang SC;
+								font-weight: 400;
+								color: #FFFFFF;
+								&:hover {
+									color: #FFF200;
+								}
+							}
+						}
+						text {
+							font-size: 24px;
+							font-family: SourceHanSansSC-Regular, SourceHanSansSC;
+							font-weight: 400;
+							color: #FFFFFF;
+						}
+						image {
+							transition: .3s;
+							width: 14px;
+							height: 10px;
+							margin-left: 4px;
+							margin-top: 7px;
+							transform: rotate(0deg);
+						}
+					}
+				}
+				.productPage_pk {
+					width: 100%;
+					margin-bottom: 32px;
+					display: flex;
+					align-items: center;
+					.productPage_pk_shop {
+						flex: 1;
+						display: flex;
+						justify-content: center;
+						align-items: center;
+						flex-direction: column;
+						.productPage_pk_shop_sp {
+							width: 100px;
+							height: 100px;
+							margin-top: 84px;
+							cursor: pointer;
+							margin-bottom: 52px;
+							image {
+								width: 100%;
+								height: 100%;
+							}
+						}
+						.productPage_pk_shop_sp1 {
+							width: 184px;
+							height: 200px;
+							background: linear-gradient(180deg, rgba(225,255,252,0.8) 0%, rgba(179,255,252,0.61) 36%, rgba(0,255,251,0.36) 100%);
+							border-radius: 8px;
+							border: 2px solid #FFFFFF;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							flex-direction: column;
+							margin-bottom: 12px;
+							margin-top: 24px;
+							cursor: pointer;
+							.productPage_pk_shop_sp1_img {
+								width: 100px;
+								height: 100px;
+								image {
+									width: 100%;
+									height: 100%;
+								}
+							}
+							text {
+								font-size: 24px;
+								font-family: SourceHanSansSC-Medium, SourceHanSansSC;
+								font-weight: 500;
+								color: #FFFFFF;
+								margin-top: 18px;
+							}
+						}
+						.productPage_pk_shop_t {
+							width: 254px;
+							height: 76px;
+							image {
+								width: 100%;
+								height: 100%;
+							}
+						}
+					}
+					.productPage_pk_z {
+						flex-shrink: 0;
+						width: 140px;
+						height: 90px;
+						cursor: pointer;
+						image {
+							width: 100%;
+							height: 100%;
+						}
+					}
+				}
+				.productPage_shop {
+					width: 100%;
+					margin-top: 12px;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					flex-wrap: wrap;
+					.productPage_shop_zw {
+						width: 168px;
+						height: 0;
+					}
+					.productPage_shop_item {
+						width: 168px;
+						height: 204px;
+						margin-bottom: 12px;
+						cursor: pointer;
+						background: rgba(0,224,255,0.18);
+						border-radius: 8px;
+						display: flex;
+						transition: .5s;
+						flex-direction: column;
+						justify-content: center;
+						align-items: center;
+						box-sizing: border-box;
+						&:hover {
+							background: linear-gradient(180deg, rgba(0,224,255,0.3) 0%, rgba(255,255,255,0.41) 100%);
+							border-radius: 8px;
+							border: 2px solid #FFFFFF;
+						}
+						.productPage_shop_item_img {
+							width: 136px;
+							height: 136px;
+							image {
+								width: 100%;
+								height: 100%;
+							}
+						}
+						text {
+							font-size: 24px;
+							font-family: SourceHanSansSC-Normal, SourceHanSansSC;
+							font-weight: 400;
+							color: #FFFFFF;
+							margin-top: 12px;
+						}
+					}
+				}
+				.productPage_parameter {
+					width: 100%;
+					display: flex;
+					align-items: flex-start;
+					margin-bottom: 30px;
+					.productPage_parameter_item {
+						flex: 1;
+						&:first-child {
+							margin-right: 18px;
+						}
+						.productPage_parameter_item_head {
+							width: 100%;
+							height: 60px;
+							background: rgba(0,224,255,0.34) linear-gradient(180deg, rgba(255,255,255,0.35) 0%, rgba(0,0,0,0.21) 100%);
+							border-radius: 8px 8px 0px 0px;
+							display: flex;
+							align-items: center;
+							justify-content: center;
+							font-size: 26px;
+							font-family: SourceHanSansSC-Medium, SourceHanSansSC;
+							font-weight: 500;
+							color: #FFFFFF;
+						}
+						.productPage_parameter_item_content {
+							width: 100%;
+							padding: 14px;
+							box-sizing: border-box;
+							background: rgba(0,224,255,0.3);
+							border-radius: 0px 0px 8px 8px;
+							display: flex;
+							flex-direction: column;
+							.productPage_parameter_item_content_price {
+								padding: 16px 0;
+								box-sizing: border-box;
+								background: #FFFFFF;
+								border-radius: 8px;
+								display: flex;
+								align-items: center;
+								.zdj {
+									flex: 1;
+									display: flex;
+									flex-direction: column;
+									align-items: flex-start;
+									justify-content: center;
+									margin-left: 20px;
+									text {
+										&:first-child {
+											font-size: 24px;
+											font-family: SourceHanSansSC-Regular, SourceHanSansSC;
+											font-weight: 400;
+											color: #333333;
+										}
+										&:last-child {
+											font-size: 26px;
+											font-family: SourceHanSansSC-Bold, SourceHanSansSC;
+											font-weight: bold;
+											color: #222222;
+											margin-top: 14px;
+										}
+									}
+								}
+								.rsj {
+									flex: 1;
+									display: flex;
+									flex-direction: column;
+									align-items: flex-start;
+									justify-content: center;
+									text {
+										&:first-child {
+											font-size: 24px;
+											font-family: SourceHanSansSC-Regular, SourceHanSansSC;
+											font-weight: 400;
+											color: #333333;
+										}
+										&:last-child {
+											font-size: 26px;
+											font-family: SourceHanSansSC-Bold, SourceHanSansSC;
+											font-weight: bold;
+											color: #F10000;
+											margin-top: 14px;
+										}
+									}
+								}
+							}
+							.productPage_parameter_item_content_nr {
+								padding: 16px 32px;
+								box-sizing: border-box;
+								background: #FFFFFF;
+								border-radius: 8px;
+								margin-top: 12px;
+								display: flex;
+								flex-direction: column;
+								.item {
+									display: flex;
+									align-items: center;
+									margin-bottom: 28px;
+									&:last-child {
+										margin-bottom: 0 !important;
+									}
+									.label {
+										flex-shrink: 0;
+										font-size: 24px;
+										font-family: SourceHanSansSC-Normal, SourceHanSansSC;
+										font-weight: 400;
+										color: #222222;
+									}
+									.value {
+										flex: 1;
+										font-size: 24px;
+										font-family: SourceHanSansSC-Normal, SourceHanSansSC;
+										font-weight: 400;
+										color: #222222;
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+</style>
diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue
index ac180e9..5a5149b 100644
--- a/h5/pages/login/login.vue
+++ b/h5/pages/login/login.vue
@@ -51,7 +51,7 @@
 					let result = await getByLogin()
 					this.$store.commit('setConfig', result.data)
 					uni.showToast({ title: '鐧诲綍鎴愬姛', icon: 'success', duration: 2000 });
-					uni.redirectTo({ url: '/pages/index/index' });
+					uni.redirectTo({ url: '/pages/index_2/index' });
 				})
 			}
 		}
diff --git a/h5/static/banner.png b/h5/static/banner.png
new file mode 100644
index 0000000..1318be1
--- /dev/null
+++ b/h5/static/banner.png
Binary files differ
diff --git a/h5/static/mb.png b/h5/static/mb.png
new file mode 100644
index 0000000..d930b7c
--- /dev/null
+++ b/h5/static/mb.png
Binary files differ
diff --git a/h5/utils/request.js b/h5/utils/request.js
index 1412e8c..50c2cfd 100644
--- a/h5/utils/request.js
+++ b/h5/utils/request.js
@@ -18,7 +18,7 @@
 		// http://127.0.0.1:10024/   娴嬭瘯
 		// https://yx.ahapp.net/h5_interface/${url}
 		uni.request({
-			url: `https://yx.ahapp.net/h5_interface/${url}`,
+			url: `http://192.168.0.112:10024/${url}`,
 			method,
 			data,
 			header: {

--
Gitblit v1.9.3