xiabin
This commit is contained in:
		
							parent
							
								
									a8427ed66b
								
							
						
					
					
						commit
						51caf72c38
					
				
							
								
								
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/carton.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/carton.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 26 KiB | 
							
								
								
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/film.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/film.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/fruit.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/fruit.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 35 KiB | 
							
								
								
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/metal.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/metal.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 58 KiB | 
							
								
								
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/plastics.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/plastics.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 27 KiB | 
							
								
								
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/vegetable.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								sub-operation-service/src/assets/images/vegetable.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 39 KiB | 
| @ -66,7 +66,7 @@ const leftMenu = reactive([ | |||||||
|     name: 'control', |     name: 'control', | ||||||
|     title: '包装', |     title: '包装', | ||||||
|     icon: 'menu3.png', |     icon: 'menu3.png', | ||||||
|     path: '/sub-operation-service/packaging/sorting', |     path: '/sub-operation-service/packaging/index', | ||||||
|     isOpen: false, |     isOpen: false, | ||||||
|     children: [], |     children: [], | ||||||
|   }, |   }, | ||||||
|  | |||||||
| @ -1,19 +1,306 @@ | |||||||
| <template> | <template> | ||||||
|   <div></div> |   <!--  <page-layout :menus="state.menus"> </page-layout>--> | ||||||
|  |   <section> | ||||||
|  |     <common> | ||||||
|  |       <template #main> | ||||||
|  |         <el-card shadow="none" style="border-radius: 14px; height: 200px"> | ||||||
|  |           <div class="tabs"> | ||||||
|  |             <div class="tab cursor"> | ||||||
|  |               <div class="tab_list">塑料类包装</div> | ||||||
|  |               <div | ||||||
|  |                 v-for="(item, index) in tab1" | ||||||
|  |                 :key="index" | ||||||
|  |                 class="tab_list_li" | ||||||
|  |                 :class="{ active: currentTab1 === index }" | ||||||
|  |                 @click.stop="currentTab1 = index" | ||||||
|  |               > | ||||||
|  |                 {{ item }} | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="tab cursor"> | ||||||
|  |               <div class="tab_list">纸类包装</div> | ||||||
|  |               <div | ||||||
|  |                 v-for="(item, index) in tab2" | ||||||
|  |                 :key="index" | ||||||
|  |                 class="tab_list_li" | ||||||
|  |                 :class="{ active: currentTab2 === index }" | ||||||
|  |                 @click.stop="currentTab2 = index" | ||||||
|  |               > | ||||||
|  |                 {{ item }} | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="tab cursor"> | ||||||
|  |               <div class="tab_list">金属类包装</div> | ||||||
|  |               <div | ||||||
|  |                 v-for="(item, index) in tab3" | ||||||
|  |                 :key="index" | ||||||
|  |                 class="tab_list_li" | ||||||
|  |                 :class="{ active: currentTab3 === index }" | ||||||
|  |                 @click.stop="currentTab3 = index" | ||||||
|  |               > | ||||||
|  |                 {{ item }} | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |         </el-card> | ||||||
|  |         <el-row :gutter="20" style="margin-top: 10px"> | ||||||
|  |           <el-col v-for="(item, index) in state.data" :key="index" :span="12"> | ||||||
|  |             <el-card class="storage-card" shadow="hover"> | ||||||
|  |               <div class="storage-content"> | ||||||
|  |                 <div class="storage-content-top" @click="toLink(item)"> | ||||||
|  |                   <img :src="getAssetsFile(`${item.imageUrl}`)" fit="cover" class="storage-image" /> | ||||||
|  |                   <div class="storage-info"> | ||||||
|  |                     <h3 class="storage-title">{{ item.title }}</h3> | ||||||
|  |                     <div class="storage-desc"> | ||||||
|  |                       <span>{{ item.description }}</span> | ||||||
|  |                       <img :src="getAssetsFile('images/warehouseLogistics/认证.png')" alt="" style="width: 20px" /> | ||||||
|  |                       <img :src="getAssetsFile('images/warehouseLogistics/优先级.png')" alt="" style="width: 20px" /> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="storage-tags"> | ||||||
|  |                       <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">高品质</el-tag> | ||||||
|  |                       <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">食品级</el-tag> | ||||||
|  |                       <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">塑料</el-tag> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="storage-location"> | ||||||
|  |                       <el-icon><Location /></el-icon> | ||||||
|  |                       {{ item.location }} | ||||||
|  |                     </div> | ||||||
|  |                   </div> | ||||||
|  |                 </div> | ||||||
|  |                 <div class="storage-price"> | ||||||
|  |                   <div class="storage-price-left"> | ||||||
|  |                     <span class="price-label">报价</span> | ||||||
|  |                     <span class="price-amount">¥{{ item.price }}/m</span> | ||||||
|  |                   </div> | ||||||
|  |                   <el-button type="success" class="contact-btn"> | ||||||
|  |                     <img :src="getAssetsFile('images/warehouseLogistics/messageBox.png')" alt="" style="height: 30px; margin-right: 5px" /> | ||||||
|  |                     <span>联系卖家</span> | ||||||
|  |                   </el-button> | ||||||
|  |                 </div> | ||||||
|  |                 <div v-if="item.rank" class="rank-badge"> | ||||||
|  |                   <!--              {{ item.rank }}--> | ||||||
|  |                   <img :src="getAssetsFile('images/warehouseLogistics/top' + item.rank + '.png')" alt="" style="width: 80px" /> | ||||||
|  |                 </div> | ||||||
|  |               </div> | ||||||
|  |             </el-card> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  |         <page-pagination :total="6" @current-change="currentChange" /> | ||||||
|       </template> |       </template> | ||||||
|  |     </common> | ||||||
|  |   </section> | ||||||
|  | </template> | ||||||
|  | <script setup name="page-menu"> | ||||||
|  | import { ref, reactive, watch } from 'vue'; | ||||||
|  | import { getAssetsFile } from '@/utils'; | ||||||
|  | import { useRoute, useRouter } from 'vue-router'; | ||||||
|  | import warehouseLogisticsRoutes from '@/router/modules/warehouseLogistics'; | ||||||
|  | import Common from './components/common.vue'; | ||||||
| 
 | 
 | ||||||
| <script setup> | const route = useRoute(); | ||||||
| import { ref } from 'vue'; | const router = useRouter(); | ||||||
| 
 | 
 | ||||||
| /* --------------- data --------------- */ | const tab1 = reactive(['塑料类薄膜袋', '塑料瓶/壶', '塑料桶', '塑料盒', '塑料箱', '其他塑料包装制品']); | ||||||
| // #region | const tab2 = reactive(['纸盒', '纸箱', '纸袋', '其他纸类包装容器']); | ||||||
|  | const tab3 = reactive(['金属罐', '金属桶', '金属盒', '其他金属类包装容器']); | ||||||
|  | const state = reactive({ | ||||||
|  |   menus: warehouseLogisticsRoutes[0].children, | ||||||
|  |   query: { | ||||||
|  |     current: 1, | ||||||
|  |   }, | ||||||
|  |   data: [ | ||||||
|  |     { | ||||||
|  |       imageUrl: 'images/film.png', | ||||||
|  |       title: '薄膜包装服务', | ||||||
|  |       description: '薄膜包装有限公司 ', | ||||||
|  |       location: '临沧市-耿马县', | ||||||
|  |       price: '3', | ||||||
|  |       rank: '1', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       imageUrl: 'images/plastics.png', | ||||||
|  |       title: '塑料袋包装服务', | ||||||
|  |       description: '塑料包装有限公司', | ||||||
|  |       location: '临沧市-耿马县', | ||||||
|  |       price: '150', | ||||||
|  |       rank: '2', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       imageUrl: 'images/carton.png', | ||||||
|  |       title: '纸盒包装服务', | ||||||
|  |       description: '保和纸盒包装厂', | ||||||
|  |       location: '临沧市-耿马县', | ||||||
|  |       price: '5', | ||||||
|  |       rank: '3', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       imageUrl: 'images/metal.png', | ||||||
|  |       title: '金属罐包装服务', | ||||||
|  |       description: '金属罐头厂', | ||||||
|  |       location: '临沧市-耿马县', | ||||||
|  |       price: '8', | ||||||
|  |       rank: '', | ||||||
|  |     }, | ||||||
|  |   ], | ||||||
|  | }); | ||||||
| 
 | 
 | ||||||
| // #endregion | const currentTab1 = ref(0); | ||||||
|  | const currentTab2 = ref(0); | ||||||
|  | const currentTab3 = ref(0); | ||||||
| 
 | 
 | ||||||
| /* --------------- methods --------------- */ | const currentChange = (current) => { | ||||||
| // #region |   state.query.current = current; | ||||||
|  | }; | ||||||
| 
 | 
 | ||||||
| // #endregion | const toLink = (row) => { | ||||||
|  |   router.push({ | ||||||
|  |     path: '/sub-operation-service/warehouse-detail', | ||||||
|  |     query: { id: row?.id ?? '100' }, | ||||||
|  |   }); | ||||||
|  | }; | ||||||
| </script> | </script> | ||||||
|  | <style lang="scss" scoped> | ||||||
|  | .tabs { | ||||||
|  |   height: 160px; | ||||||
|  |   line-height: 50px; | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   font-size: 18px; | ||||||
|  |   align-items: flex-start; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   padding: 0 20px; | ||||||
|  | } | ||||||
|  | .tab { | ||||||
|  |   height: 100px; | ||||||
|  |   width: 850px; | ||||||
|  |   display: flex; | ||||||
|  |   align-items: center; | ||||||
|  |   justify-content: flex-start; | ||||||
|  |   overflow-x: auto; | ||||||
|  |   overflow: auto; /* 启用滚动 */ | ||||||
|  |   white-space: nowrap; /* 强制单行显示 */ | ||||||
|  |   -ms-overflow-style: none; /* IE/Edge 兼容 */ | ||||||
|  |   scrollbar-width: none; /* 隐藏滚动条 */ | ||||||
|  |   .tab_list { | ||||||
|  |     color: #999999; | ||||||
|  |     font-size: 20px; | ||||||
|  |     font-weight: 400; | ||||||
|  |   } | ||||||
|  |   .tab_list_li { | ||||||
|  |     margin-left: 40px; | ||||||
|  |     color: #000000; | ||||||
|  |     font-size: 20px; | ||||||
|  |     font-weight: 400; | ||||||
|  |   } | ||||||
|  |   .tab_list_li.active { | ||||||
|  |     color: rgba(37, 191, 130, 1); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .cursor { | ||||||
|  |   cursor: pointer; | ||||||
|  | } | ||||||
|  | .active { | ||||||
|  |   color: rgba(37, 191, 130, 1); | ||||||
|  | } | ||||||
|  | .storage-card { | ||||||
|  |   position: relative; | ||||||
|  |   overflow: hidden; | ||||||
|  |   margin-bottom: 20px; | ||||||
|  |   border: 0; | ||||||
|  |   border-radius: 24px; | ||||||
|  | } | ||||||
|  | .storage-content { | ||||||
|  |   @include flex-column; | ||||||
| 
 | 
 | ||||||
| <style lang="scss" scoped></style> |   gap: 16px; | ||||||
|  |   &-top { | ||||||
|  |     @include flex-row; | ||||||
|  | 
 | ||||||
|  |     align-items: center; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .storage-image { | ||||||
|  |   margin-right: 16px; | ||||||
|  |   width: 120px; | ||||||
|  |   height: 120px; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   object-fit: cover; | ||||||
|  | } | ||||||
|  | .storage-info { | ||||||
|  |   padding-right: 50px; | ||||||
|  |   flex: 1; | ||||||
|  |   cursor: pointer; | ||||||
|  | } | ||||||
|  | .storage-title, | ||||||
|  | .storage-desc, | ||||||
|  | .storage-tags, | ||||||
|  | .storage-location { | ||||||
|  |   overflow: hidden; | ||||||
|  |   margin: 10px 0; | ||||||
|  |   width: 100%; | ||||||
|  |   text-align: left; | ||||||
|  | } | ||||||
|  | .storage-title { | ||||||
|  |   font-size: 20px; | ||||||
|  |   font-weight: 700; | ||||||
|  |   color: #000000; | ||||||
|  |   @include ellipsis; | ||||||
|  | } | ||||||
|  | .storage-desc { | ||||||
|  |   font-size: 16px; | ||||||
|  |   color: #999999; | ||||||
|  |   @include ellipsis; | ||||||
|  |   i { | ||||||
|  |     display: inline-block; | ||||||
|  |     width: 20px; | ||||||
|  |     height: 20px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .storage-tags { | ||||||
|  |   span { | ||||||
|  |     margin-right: 10px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .storage-location { | ||||||
|  |   display: flex; | ||||||
|  |   align-items: center; | ||||||
|  |   font-size: 16px; | ||||||
|  |   font-weight: 400; | ||||||
|  |   color: #000000; | ||||||
|  | } | ||||||
|  | .storage-price { | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   align-items: center; | ||||||
|  |   &-left { | ||||||
|  |     color: #25bf82; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .price-label { | ||||||
|  |   margin-right: 10px; | ||||||
|  |   font-size: 16px; | ||||||
|  |   color: #999999; | ||||||
|  | } | ||||||
|  | .price-amount { | ||||||
|  |   font-size: 20px; | ||||||
|  |   font-weight: 700; | ||||||
|  |   color: #25bf82; | ||||||
|  | } | ||||||
|  | .contact-btn { | ||||||
|  |   width: 152px; | ||||||
|  |   height: 48px; | ||||||
|  |   font-size: 20px; | ||||||
|  |   border-radius: 8px; | ||||||
|  |   background: #25bf82 !important; | ||||||
|  |   :deep(.el-icon) { | ||||||
|  |     margin-right: 10px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .rank-badge { | ||||||
|  |   position: absolute; | ||||||
|  |   top: 0; | ||||||
|  |   right: 20px; | ||||||
|  |   width: 80px; | ||||||
|  |   height: 80px; | ||||||
|  | } | ||||||
|  | </style> | ||||||
|  | |||||||
| @ -3,14 +3,44 @@ | |||||||
|   <section> |   <section> | ||||||
|     <common> |     <common> | ||||||
|       <template #main> |       <template #main> | ||||||
|         <el-card shadow="none" style="border-radius: 14px"> |         <el-card shadow="none" style="border-radius: 14px; height: 200px"> | ||||||
|           <div class="tabs"> |           <div class="tabs"> | ||||||
|             <div class="tab" style="color: rgba(153, 153, 153, 1)">仓储分类</div> |             <div class="tab cursor"> | ||||||
|             <div class="tab cursor" :class="{ active: currentTab === 0 }" @click.stop="currentTab = 0">普通仓库</div> |               <div class="tab_list">蔬菜分拣</div> | ||||||
|             <div class="tab cursor" :class="{ active: currentTab === 1 }" @click.stop="currentTab = 1">恒温仓库</div> |               <div | ||||||
|             <div class="tab cursor" :class="{ active: currentTab === 2 }" @click.stop="currentTab = 2">冷库</div> |                 v-for="(item, index) in tab1" | ||||||
|             <div class="tab cursor" :class="{ active: currentTab === 3 }" @click.stop="currentTab = 3">气调仓库</div> |                 :key="index" | ||||||
|             <div class="tab"> </div> |                 class="tab_list_li" | ||||||
|  |                 :class="{ active: currentTab1 === index }" | ||||||
|  |                 @click.stop="currentTab1 = index" | ||||||
|  |               > | ||||||
|  |                 {{ item }} | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="tab cursor"> | ||||||
|  |               <div class="tab_list">水果分拣</div> | ||||||
|  |               <div | ||||||
|  |                 v-for="(item, index) in tab2" | ||||||
|  |                 :key="index" | ||||||
|  |                 class="tab_list_li" | ||||||
|  |                 :class="{ active: currentTab2 === index }" | ||||||
|  |                 @click.stop="currentTab2 = index" | ||||||
|  |               > | ||||||
|  |                 {{ item }} | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |             <!-- <div class="tab cursor"> | ||||||
|  |               <div class="tab_list">水果分拣</div> | ||||||
|  |               <div | ||||||
|  |                 v-for="(item, index) in tab3" | ||||||
|  |                 :key="index" | ||||||
|  |                 class="tab_list_li" | ||||||
|  |                 :class="{ active: currentTab3 === index }" | ||||||
|  |                 @click.stop="currentTab3 = index" | ||||||
|  |               > | ||||||
|  |                 {{ item }} | ||||||
|  |               </div> | ||||||
|  |             </div> --> | ||||||
|           </div> |           </div> | ||||||
|         </el-card> |         </el-card> | ||||||
|         <el-row :gutter="20" style="margin-top: 10px"> |         <el-row :gutter="20" style="margin-top: 10px"> | ||||||
| @ -18,7 +48,7 @@ | |||||||
|             <el-card class="storage-card" shadow="hover"> |             <el-card class="storage-card" shadow="hover"> | ||||||
|               <div class="storage-content"> |               <div class="storage-content"> | ||||||
|                 <div class="storage-content-top" @click="toLink(item)"> |                 <div class="storage-content-top" @click="toLink(item)"> | ||||||
|                   <el-image :src="item.imageUrl" fit="cover" class="storage-image" /> |                   <img :src="getAssetsFile(`${item.imageUrl}`)" fit="cover" class="storage-image" /> | ||||||
|                   <div class="storage-info"> |                   <div class="storage-info"> | ||||||
|                     <h3 class="storage-title">{{ item.title }}</h3> |                     <h3 class="storage-title">{{ item.title }}</h3> | ||||||
|                     <div class="storage-desc"> |                     <div class="storage-desc"> | ||||||
| @ -27,8 +57,9 @@ | |||||||
|                       <img :src="getAssetsFile('images/warehouseLogistics/优先级.png')" alt="" style="width: 20px" /> |                       <img :src="getAssetsFile('images/warehouseLogistics/优先级.png')" alt="" style="width: 20px" /> | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="storage-tags"> |                     <div class="storage-tags"> | ||||||
|                       <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">延长仓储</el-tag> |                       <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">高品质</el-tag> | ||||||
|                       <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">保鲜储存</el-tag> |                       <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">杀菌灭毒</el-tag> | ||||||
|  |                       <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">绿色</el-tag> | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="storage-location"> |                     <div class="storage-location"> | ||||||
|                       <el-icon><Location /></el-icon> |                       <el-icon><Location /></el-icon> | ||||||
| @ -39,7 +70,7 @@ | |||||||
|                 <div class="storage-price"> |                 <div class="storage-price"> | ||||||
|                   <div class="storage-price-left"> |                   <div class="storage-price-left"> | ||||||
|                     <span class="price-label">报价</span> |                     <span class="price-label">报价</span> | ||||||
|                     <span class="price-amount">¥{{ item.price }}/间/月</span> |                     <span class="price-amount">¥{{ item.price }}/kg</span> | ||||||
|                   </div> |                   </div> | ||||||
|                   <el-button type="success" class="contact-btn"> |                   <el-button type="success" class="contact-btn"> | ||||||
|                     <img :src="getAssetsFile('images/warehouseLogistics/messageBox.png')" alt="" style="height: 30px; margin-right: 5px" /> |                     <img :src="getAssetsFile('images/warehouseLogistics/messageBox.png')" alt="" style="height: 30px; margin-right: 5px" /> | ||||||
| @ -54,7 +85,7 @@ | |||||||
|             </el-card> |             </el-card> | ||||||
|           </el-col> |           </el-col> | ||||||
|         </el-row> |         </el-row> | ||||||
|         <page-pagination :total="20" @current-change="currentChange" /> |         <page-pagination :total="5" @current-change="currentChange" /> | ||||||
|       </template> |       </template> | ||||||
|     </common> |     </common> | ||||||
|   </section> |   </section> | ||||||
| @ -69,6 +100,9 @@ import Common from './components/common.vue'; | |||||||
| const route = useRoute(); | const route = useRoute(); | ||||||
| const router = useRouter(); | const router = useRouter(); | ||||||
| 
 | 
 | ||||||
|  | const tab1 = reactive(['叶菜类', '豆菜类', '根茎类', '茄果菜类', '食用菌类', '其他类蔬菜']); | ||||||
|  | const tab2 = reactive(['甘蔗', '热带水果', '其他类水果']); | ||||||
|  | const tab3 = reactive(['水产', '其他类']); | ||||||
| const state = reactive({ | const state = reactive({ | ||||||
|   menus: warehouseLogisticsRoutes[0].children, |   menus: warehouseLogisticsRoutes[0].children, | ||||||
|   query: { |   query: { | ||||||
| @ -76,57 +110,51 @@ const state = reactive({ | |||||||
|   }, |   }, | ||||||
|   data: [ |   data: [ | ||||||
|     { |     { | ||||||
|       imageUrl: '/storage1.jpg', |       title: '蔬菜分拣服务', | ||||||
|       title: '果蔬保鲜仓储', |       description: '绿鲜甄选蔬菜分拣中心 ', | ||||||
|       description: '绿鲜蔬选果蔬仓储中心 ', |  | ||||||
|       location: '临沧市-耿马县', |       location: '临沧市-耿马县', | ||||||
|       price: '600.0', |       price: '150', | ||||||
|       rank: '1', |       rank: '1', | ||||||
|  |       imageUrl: 'images/vegetable.png', | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       imageUrl: '/storage2.jpg', |       title: '水果分拣服务', | ||||||
|       title: '果蔬保鲜仓储', |       description: '果韵鲜享分拣站', | ||||||
|       description: '绿鲜蔬选果蔬仓储中心', |  | ||||||
|       location: '临沧市-耿马县', |       location: '临沧市-耿马县', | ||||||
|       price: '600.0', |       price: '150', | ||||||
|       rank: '2', |       rank: '2', | ||||||
|  |       imageUrl: 'images/fruit.png', | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       imageUrl: '/storage3.jpg', |       title: '水果分拣服务', | ||||||
|       title: '果蔬保鲜仓储', |       description: '好果分拣站 ', | ||||||
|       description: '绿鲜蔬选果蔬仓储中心 ', |  | ||||||
|       location: '临沧市-耿马县', |       location: '临沧市-耿马县', | ||||||
|       price: '600.0', |       price: '150', | ||||||
|       rank: '3', |       rank: '3', | ||||||
|  |       imageUrl: 'images/fruit.png', | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       imageUrl: '/storage3.jpg', |       title: '水果分拣服务', | ||||||
|       title: '果蔬保鲜仓储', |       description: '果美分拣站 ', | ||||||
|       description: '绿鲜蔬选果蔬仓储中心 ', |  | ||||||
|       location: '临沧市-耿马县', |       location: '临沧市-耿马县', | ||||||
|       price: '600.0', |       price: '150', | ||||||
|       rank: '', |       rank: '', | ||||||
|  |       imageUrl: 'images/fruit.png', | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       imageUrl: '/storage3.jpg', |       title: '水果分拣服务', | ||||||
|       title: '果蔬保鲜仓储', |       description: '好果存分拣站 ', | ||||||
|       description: '绿鲜蔬选果蔬仓储中心 ', |  | ||||||
|       location: '临沧市-耿马县', |       location: '临沧市-耿马县', | ||||||
|       price: '600.0', |       price: '150', | ||||||
|       rank: '', |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       imageUrl: '/storage3.jpg', |  | ||||||
|       title: '果蔬保鲜仓储', |  | ||||||
|       description: '绿鲜蔬选果蔬仓储中心 ', |  | ||||||
|       location: '临沧市-耿马县', |  | ||||||
|       price: '600.0', |  | ||||||
|       rank: '', |       rank: '', | ||||||
|  |       imageUrl: 'images/fruit.png', | ||||||
|     }, |     }, | ||||||
|   ], |   ], | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| const currentTab = ref(0); | const currentTab1 = ref(0); | ||||||
|  | const currentTab2 = ref(0); | ||||||
|  | const currentTab3 = ref(0); | ||||||
| 
 | 
 | ||||||
| const currentChange = (current) => { | const currentChange = (current) => { | ||||||
|   state.query.current = current; |   state.query.current = current; | ||||||
| @ -141,13 +169,41 @@ const toLink = (row) => { | |||||||
| </script> | </script> | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
| .tabs { | .tabs { | ||||||
|   height: 50px; |   height: 160px; | ||||||
|   line-height: 50px; |   line-height: 50px; | ||||||
|   display: flex; |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|   font-size: 18px; |   font-size: 18px; | ||||||
|  |   align-items: flex-start; | ||||||
|   justify-content: space-between; |   justify-content: space-between; | ||||||
|   padding: 0 20px; |   padding: 0 20px; | ||||||
| } | } | ||||||
|  | .tab { | ||||||
|  |   height: 100px; | ||||||
|  |   width: 850px; | ||||||
|  |   display: flex; | ||||||
|  |   align-items: center; | ||||||
|  |   justify-content: flex-start; | ||||||
|  |   overflow-x: auto; | ||||||
|  |   overflow: auto; /* 启用滚动 */ | ||||||
|  |   white-space: nowrap; /* 强制单行显示 */ | ||||||
|  |   -ms-overflow-style: none; /* IE/Edge 兼容 */ | ||||||
|  |   scrollbar-width: none; /* 隐藏滚动条 */ | ||||||
|  |   .tab_list { | ||||||
|  |     color: #999999; | ||||||
|  |     font-size: 20px; | ||||||
|  |     font-weight: 400; | ||||||
|  |   } | ||||||
|  |   .tab_list_li { | ||||||
|  |     margin-left: 40px; | ||||||
|  |     color: #000000; | ||||||
|  |     font-size: 20px; | ||||||
|  |     font-weight: 400; | ||||||
|  |   } | ||||||
|  |   .tab_list_li.active { | ||||||
|  |     color: rgba(37, 191, 130, 1); | ||||||
|  |   } | ||||||
|  | } | ||||||
| .cursor { | .cursor { | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
| @ -190,6 +246,7 @@ const toLink = (row) => { | |||||||
|   overflow: hidden; |   overflow: hidden; | ||||||
|   margin: 10px 0; |   margin: 10px 0; | ||||||
|   width: 100%; |   width: 100%; | ||||||
|  |   text-align: left; | ||||||
| } | } | ||||||
| .storage-title { | .storage-title { | ||||||
|   font-size: 20px; |   font-size: 20px; | ||||||
| @ -221,9 +278,10 @@ const toLink = (row) => { | |||||||
| } | } | ||||||
| .storage-price { | .storage-price { | ||||||
|   display: flex; |   display: flex; | ||||||
|  |   justify-content: space-between; | ||||||
|   align-items: center; |   align-items: center; | ||||||
|   &-left { |   &-left { | ||||||
|     flex: 1; |     color: #25bf82; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| .price-label { | .price-label { | ||||||
| @ -234,7 +292,7 @@ const toLink = (row) => { | |||||||
| .price-amount { | .price-amount { | ||||||
|   font-size: 20px; |   font-size: 20px; | ||||||
|   font-weight: 700; |   font-weight: 700; | ||||||
|   color: $color-primary; |   color: #25bf82; | ||||||
| } | } | ||||||
| .contact-btn { | .contact-btn { | ||||||
|   width: 152px; |   width: 152px; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user