From dcdb0231034810232f2542f3865666ebf72daf11 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 30 四月 2025 16:45:34 +0800 Subject: [PATCH] sf --- company_admin/src/views/business/pageConfiguration.vue | 294 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 220 insertions(+), 74 deletions(-) diff --git a/company_admin/src/views/business/pageConfiguration.vue b/company_admin/src/views/business/pageConfiguration.vue index 3bdb438..73d2ffa 100644 --- a/company_admin/src/views/business/pageConfiguration.vue +++ b/company_admin/src/views/business/pageConfiguration.vue @@ -7,13 +7,13 @@ <el-tab-pane label="涓荤晫闈�" name="0"></el-tab-pane> <el-tab-pane label="PK鏁堟灉" name="1"></el-tab-pane> <el-tab-pane label="鎼滅储鏁堟灉" name="2"></el-tab-pane> + <el-tab-pane label="鍟嗗搧鍒楄〃" name="3"></el-tab-pane> </el-tabs> </div> - <div class="prediv-content"> <div class="content" :style="contentStyle"> <img :src="form.topImg.type ? form.topImg.imgurl : defaultBanner" alt=""> - <template v-if="type != 1"> + <template v-if="type != 1 && type !=3"> <div> <div class="commodityFrom_head" :style="tableHeaderStyle"> <!-- @mouseenter="mouseenter" @mouseleave="mouseleave" --> @@ -94,7 +94,7 @@ </div> </div> </template> - <div class="productPage" v-if="type == 1"> + <div class="productPage" v-if="type == 1 || type ==3"> <div class="productPage_head" :style="tableHeaderStyle"> <div class="productPage_head_item" @mouseenter="mouseenterHead" @mouseleave="mouseleaveHead"> <span>灞炴��1</span> @@ -142,72 +142,86 @@ </div> --> </div> </div> - <div class="productPage_pk"> - <div class="productPage_pk_shop"> + <template v-if="type ==1"> + <div class="productPage_pk" > + <div class="productPage_pk_shop"> - <div class="productPage_pk_shop_sp1" :style="tableHeaderStyle"> - <div class="productPage_pk_shop_sp1_img"> - <img src="@/assets/images/Samsung@2x.png" mode="widthFix"> + <div class="productPage_pk_shop_sp1" :style="tableHeaderStyle"> + <div class="productPage_pk_shop_sp1_img"> + <img src="@/assets/images/Samsung@2x.png" mode="widthFix"> + </div> + <span>涓夋槦323娲楃儤</span> </div> - <span>涓夋槦323娲楃儤</span> + <div class="productPage_pk_shop_t"> + <img v-if="form.pkImg.type==0" src="@/assets/images/pk_defult.png" alt=""> + <img v-else :src="form.pkImg.imgurl" alt=""> + </div> </div> - <div class="productPage_pk_shop_t"> - <img v-if="form.pkImg.type==0" src="@/assets/images/pk_defult.png" alt=""> - <img v-else :src="form.pkImg.imgurl" alt=""> + <div class="productPage_pk_z"> + <img src="@/assets/images/ic_pk@2x.png" mode="widthFix"> </div> - </div> - <div class="productPage_pk_z"> - <img src="@/assets/images/ic_pk@2x.png" mode="widthFix"> - </div> - <div class="productPage_pk_shop" > + <div class="productPage_pk_shop" > - <div class="productPage_pk_shop_sp1" :style="tableHeaderStyle"> - <div class="productPage_pk_shop_sp1_img"> - <img src="@/assets/images/Galanz@2x.png" mode="widthFix"> + <div class="productPage_pk_shop_sp1" :style="tableHeaderStyle"> + <div class="productPage_pk_shop_sp1_img"> + <img src="@/assets/images/Galanz@2x.png" mode="widthFix"> + </div> + <span>鏍煎叞浠�434娲楃儤</span> </div> - <span>鏍煎叞浠�434娲楃儤</span> - </div> - <div class="productPage_pk_shop_t"> - <img v-if="form.pkImg.type==0" src="@/assets/images/pk_defult.png" alt=""> - <img v-else :src="form.pkImg.imgurl" alt=""> + <div class="productPage_pk_shop_t"> + <img v-if="form.pkImg.type==0" src="@/assets/images/pk_defult.png" alt=""> + <img v-else :src="form.pkImg.imgurl" alt=""> + </div> </div> </div> - </div> - <div class="productPage_parameter"> - <div class="productPage_parameter_item" v-for="(item, index) in [leftShop, rightShop]" :key="index"> - <div class="productPage_parameter_item_head" :style="tableHeaderStyle"> - <span>{{item.name}}</span> - </div> - <div class="productPage_parameter_item_content" :style="tableBodyStyle"> - <div class="productPage_parameter_item_content_price"> - <div class="zdj"> - <span>鎸囧浠凤細</span> - <span>楼{{item.zdPrice}}</span> - </div> - <div class="rsj"> - <span>寤鸿鍏ユ墜浠凤細</span> - <span>楼{{item.price}}</span> - </div> - </div> - <div class="productPage_parameter_item_content_nr"> - <div class="item" v-if="item.param1" v-for="(child, i) in item.param1" :key="child.index"> - <div class="label">{{child.name}}锛�</div> - <div class="value">{{child.val}}</div> - </div> - <div v-if="item.param2.length>0" class="paramline"></div> - <div class="item" v-if="item.param2" v-for="(child, j) in item.param2" :key="child.index"> - <div class="label">{{child.name}}锛�</div> - <div class="value">{{child.val}}</div> - </div> - </div> - </div> - </div> - </div> + <div class="productPage_parameter"> + <div class="productPage_parameter_item" v-for="(item, index) in [leftShop, rightShop]" :key="index"> + <div class="productPage_parameter_item_head" :style="tableHeaderStyle"> + <span>{{item.name}}</span> + </div> + <div class="productPage_parameter_item_content" :style="tableBodyStyle"> + <div class="productPage_parameter_item_content_price"> + <div class="zdj"> + <span>鎸囧浠凤細</span> + <span>楼{{item.zdPrice}}</span> + </div> + <div class="rsj"> + <span>寤鸿鍏ユ墜浠凤細</span> + <span>楼{{item.price}}</span> + </div> + </div> + <div class="productPage_parameter_item_content_nr"> + <div class="item" v-if="item.param1" v-for="(child, i) in item.param1" :key="child.index"> + <div class="label">{{child.name}}锛�</div> + <div class="value">{{child.val}}</div> + </div> + <div v-if="item.param2.length>0" class="paramline"></div> + <div class="item" v-if="item.param2" v-for="(child, j) in item.param2" :key="child.index"> + <div class="label">{{child.name}}锛�</div> + <div class="value">{{child.val}}</div> + </div> + </div> + </div> + </div> + </div> + </template> + <template v-if="type==3"> + <div class="productPage_shop" > + <div class="productPage_shop_item" v-for="(item, index) in productList" :style="{...selectList}" :key="index" > + <div class="productPage_shop_item_img"> + <img :src="item.img" mode="widthFix"/> + </div> + <span :style="{...selProNameStyle}">{{item.name}}</span> + </div> + <div class="productPage_shop_zw"></div> + <div class="productPage_shop_zw"></div> + <div class="productPage_shop_zw"></div> + </div> + </template> </div> - </div> </div> - <div class="search" v-if="type == 2"> + <div class="search" v-if="type == 2 "> <div class="search_box"> <div class="search_box_item" :style="searchStyle"> <div class="icon"> @@ -429,16 +443,38 @@ </template> </div> </el-form-item> - <el-form-item label="鍒楄〃瀛椾綋棰滆壊"> + <el-form-item label="鍝佺被鍒楄〃瀛椾綋"> <div class="color-select-item"> - <el-radio-group v-model="form.listname.selType" @change="selectListName"> + 棰滆壊 <el-radio-group v-model="form.listname.selType" @change="selectListName" style="margin-left: 15px"> <el-radio :label="0">榛樿</el-radio> <el-radio :label="1">鑷畾涔�</el-radio> </el-radio-group> <template v-if="form.listname.selType == 1"> <el-color-picker v-model="form.listname.selColor" size="mini" style="margin-right: 10px; margin-left: 10px;"></el-color-picker> - 涓嶉�忔槑搴︼細<el-input v-model="form.listname.selAlpha" type="number" style="width: 100px;"></el-input> % + 涓嶉�忔槑搴� <el-input v-model="form.listname.selAlpha" type="number" style="width: 100px;"></el-input> % </template> + </div> + <div > + <div class="color-select-item" style="margin-top: 10px"> + 澶у皬<el-input v-model="form.listname.fontSize" type="number" style="width: 80px;margin-left: 15px"></el-input> px (榛樿16px) + </div> + </div> + </el-form-item> + <el-form-item label="鍟嗗搧鍒楄〃瀛椾綋"> + <div class="color-select-item"> + 棰滆壊 <el-radio-group v-model="form.listproname.selType" @change="selectproName" style="margin-left: 15px"> + <el-radio :label="0">榛樿</el-radio> + <el-radio :label="1">鑷畾涔�</el-radio> + </el-radio-group> + <template v-if="form.listproname.selType == 1"> + <el-color-picker v-model="form.listproname.selColor" size="mini" style="margin-right: 10px; margin-left: 10px;"></el-color-picker> + 涓嶉�忔槑搴� <el-input v-model="form.listproname.selAlpha" type="number" style="width: 100px;"></el-input> % + </template> + </div> + <div > + <div class="color-select-item" style="margin-top: 10px"> + 澶у皬<el-input v-model="form.listproname.fontSize" type="number" style="width: 80px;margin-left: 15px"></el-input> px (榛樿16px) + </div> </div> </el-form-item> </el-form> @@ -555,6 +591,12 @@ this.form.listname.selAlpha = '100' } }, + selectproName(v) { + if (v == 0) { + this.form.listproname.selColor = '#ffffff' + this.form.listproname.selAlpha = '100' + } + }, selectCategroy(v) { if (v == 0) { this.form.category.bgColor = '#899FC5' @@ -604,11 +646,12 @@ if (res.newParam) { var param= JSON.parse(res.newParam) for (const key in this.form) { - this.form[key] =param[key]||{} + if(param[key]){ + this.form[key] = param[key] + } } // this.form = JSON.parse(res.newParam) } - console.log(this.form) }) }, @@ -655,6 +698,38 @@ { img: require('@/assets/images/category/ic_xiwanji@2x.png'), name: '娲楃鏈�' }, { img: require('@/assets/images/category/ic_jinshui@2x.png'), name: '鍑�姘村櫒' }, { img: require('@/assets/images/category/ic_qita@2x.png'), name: '鍏朵粬' }, + ], + productList: [ + { img: require('@/assets/images/product/1a.png'), name: '鍗¤惃甯�' }, + { img: require('@/assets/images/product/2a.png'), name: '澶ф捣璞�' }, + { img: require('@/assets/images/product/3a.png'), name: '灏忕櫧妗�' }, + { img: require('@/assets/images/product/4a.png'), name: '鐧界弽鐝�' }, + { img: require('@/assets/images/product/5a.png'), name: '涓滆姖58' }, + { img: require('@/assets/images/product/6a.png'), name: '涓滆姖59' }, + { img: require('@/assets/images/product/7a.png'), name: '鏉句笅50' }, + { img: require('@/assets/images/product/8a.png'), name: '缇庣殑55' }, + { img: require('@/assets/images/product/9a.png'), name: '娴峰皵57' }, + { img: require('@/assets/images/product/10a.png'), name: '缇庣殑46' }, + { img: require('@/assets/images/product/1a.png'), name: '鍗¤惃甯�' }, + { img: require('@/assets/images/product/2a.png'), name: '澶ф捣璞�' }, + { img: require('@/assets/images/product/3a.png'), name: '灏忕櫧妗�' }, + { img: require('@/assets/images/product/4a.png'), name: '鐧界弽鐝�' }, + { img: require('@/assets/images/product/5a.png'), name: '涓滆姖58' }, + { img: require('@/assets/images/product/6a.png'), name: '涓滆姖59' }, + { img: require('@/assets/images/product/7a.png'), name: '鏉句笅50' }, + { img: require('@/assets/images/product/8a.png'), name: '缇庣殑55' }, + { img: require('@/assets/images/product/9a.png'), name: '娴峰皵57' }, + { img: require('@/assets/images/product/10a.png'), name: '缇庣殑46' }, + { img: require('@/assets/images/product/1a.png'), name: '鍗¤惃甯�' }, + { img: require('@/assets/images/product/2a.png'), name: '澶ф捣璞�' }, + { img: require('@/assets/images/product/3a.png'), name: '灏忕櫧妗�' }, + { img: require('@/assets/images/product/4a.png'), name: '鐧界弽鐝�' }, + { img: require('@/assets/images/product/5a.png'), name: '涓滆姖58' }, + { img: require('@/assets/images/product/6a.png'), name: '涓滆姖59' }, + { img: require('@/assets/images/product/7a.png'), name: '鏉句笅50' }, + { img: require('@/assets/images/product/8a.png'), name: '缇庣殑55' }, + { img: require('@/assets/images/product/9a.png'), name: '娴峰皵57' }, + { img: require('@/assets/images/product/10a.png'), name: '缇庣殑46' }, ], action: process.env.VUE_APP_API_PREFIX + '/public/upload', defaultBanner: require('@/assets/images/banner_defult.png'), @@ -744,10 +819,16 @@ }, selType:0, listname: { - bgType: 0, - bgColor: '#6C82AA', - bgAlpha: '100', + fontType: 0, + fontSize: '16', selType: '0', + selColor: '#ffffff', + selAlpha: '100' + }, + listproname: { + fontType: 0, + fontSize: '16', + selType: 0, selColor: '#ffffff', selAlpha: '100' }, @@ -818,10 +899,16 @@ return selStyle }, selListNameStyle() { - let selListNameStyle = {} let alpha = +(this.form.listname.selAlpha * 2.55).toFixed(0) - selListNameStyle.color = this.form.listname.selColor + (alpha==0?"00":alpha.toString(16)) + let color = this.form.listname.selColor + (alpha==0?"00":alpha.toString(16)) + let selListNameStyle = {color: color,'font-size':(this.form.listname.fontSize || '16')+'px'} return selListNameStyle + }, + selProNameStyle() { + let alpha = +(this.form.listproname.selAlpha * 2.55).toFixed(0) + let color = this.form.listproname.selColor + (alpha==0?"00":alpha.toString(16)) + let selProNameStyle = {color: color,'font-size':(this.form.listproname.fontSize || '16')+'px'} + return selProNameStyle }, searchStyle() { let alpha = +(this.form.search.bgAlpha * 2.55).toFixed(0) @@ -837,8 +924,6 @@ }, created() { this.getDesc() - console.log(this.form.listname) - console.log(this.form.listname.selType) } } /** @@ -1132,12 +1217,12 @@ flex-wrap: wrap; .productPage_shop_zw { - width: 168px; + width: 15%; height: 0; } .productPage_shop_item { - width: 168px; + width: 15%; // height: 204px; margin-bottom: 12px; cursor: pointer; @@ -1163,8 +1248,8 @@ } .productPage_shop_item_img { - width: 136px; - height: 136px; + width: 50px; + height: 50px; display: flex; align-items: center; justify-content: center; @@ -1856,4 +1941,65 @@ } } } + +.productPage_shop { + width: 100%; + margin-top: 12px; + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + .productPage_shop_zw { + width: 15%; + height: 0; + } + .productPage_shop_item { + width: 15%; + margin-bottom: 12px; + cursor: pointer; + background: rgba(0,224,255,0.18); + border-radius: 8px; + display: flex; + transition: .5s; + padding: 15px; + box-sizing: border-box; + flex-direction: column; + align-items: center; + box-sizing: border-box; + white-space: pre-wrap; + word-break: break-all; + text-align: center; + &: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; + box-sizing: border-box; + } + .productPage_shop_item_img { + width: 136px; + height: 136px; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + image { + width: 100%; + height: 100%; + } + } + text { + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + font-size: 16px; + font-family: SourceHanSansSC-Normal, SourceHanSansSC; + font-weight: 400; + color: #FFFFFF; + margin-top: 12px; + } + } +} </style> -- Gitblit v1.9.3