| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | <template> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |   <div> | 
					
						
							|  |  |  |  |     <el-dialog v-model="dialogVisible" :close-on-click-modal="false" custom-class="custom-inquiry-dialog" width="450px"> | 
					
						
							|  |  |  |  |       <div class="info-section"> | 
					
						
							|  |  |  |  |         <div class="info-item"> | 
					
						
							|  |  |  |  |           <span class="label">首选商家:</span> | 
					
						
							|  |  |  |  |           <span class="value">{{ diodescription }}</span> | 
					
						
							|  |  |  |  |         </div> | 
					
						
							|  |  |  |  |         <div class="info-item"> | 
					
						
							|  |  |  |  |           <span class="label">选择服务:</span> | 
					
						
							|  |  |  |  |           <span class="value">{{ diotext }}</span> | 
					
						
							|  |  |  |  |         </div> | 
					
						
							| 
									
										
										
										
											2025-05-29 17:13:58 +08:00
										 |  |  |  |       </div> | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       <el-form ref="formRef" :model="form" label-position="top"> | 
					
						
							|  |  |  |  |         <el-form-item label="需求量:" prop="quantity" :rules="[{ required: true, message: '请输入重量' }]"> | 
					
						
							|  |  |  |  |           <el-input v-model="form.quantity" placeholder="请输入重量(kg)"> | 
					
						
							|  |  |  |  |             <template #suffix>kg</template> | 
					
						
							|  |  |  |  |           </el-input> | 
					
						
							|  |  |  |  |         </el-form-item> | 
					
						
							| 
									
										
										
										
											2025-05-29 17:13:58 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |         <el-form-item label="您的称呼:" prop="name" :rules="[{ required: true, message: '请输入您的称呼' }]"> | 
					
						
							|  |  |  |  |           <el-input v-model="form.name" placeholder="请输入您的称呼" /> | 
					
						
							|  |  |  |  |         </el-form-item> | 
					
						
							| 
									
										
										
										
											2025-05-29 17:13:58 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |         <el-form-item | 
					
						
							|  |  |  |  |           label="您的电话:" | 
					
						
							|  |  |  |  |           prop="phone" | 
					
						
							|  |  |  |  |           :rules="[ | 
					
						
							|  |  |  |  |             { required: true, message: '请输入电话' }, | 
					
						
							|  |  |  |  |             { pattern: /^1[3-9]\d{9}$/, message: '手机号格式错误' }, | 
					
						
							|  |  |  |  |           ]" | 
					
						
							|  |  |  |  |         > | 
					
						
							|  |  |  |  |           <el-input v-model="form.phone" placeholder="请输入电话号码" /> | 
					
						
							|  |  |  |  |         </el-form-item> | 
					
						
							|  |  |  |  |       </el-form> | 
					
						
							| 
									
										
										
										
											2025-05-29 17:13:58 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       <template #footer> | 
					
						
							|  |  |  |  |         <div class="dialog-footer"> | 
					
						
							|  |  |  |  |           <el-button class="cancel-btn" @click="dialogVisible = false">取消</el-button> | 
					
						
							|  |  |  |  |           <el-button class="submit-btn" type="primary" @click="handleSubmit">发送询价</el-button> | 
					
						
							|  |  |  |  |         </div> | 
					
						
							|  |  |  |  |       </template> | 
					
						
							|  |  |  |  |     </el-dialog> | 
					
						
							|  |  |  |  |     <!--  <page-layout :menus="state.menus"> </page-layout>--> | 
					
						
							|  |  |  |  |     <section> | 
					
						
							|  |  |  |  |       <common> | 
					
						
							|  |  |  |  |         <template #main> | 
					
						
							|  |  |  |  |           <el-card shadow="none" style="border-radius: 14px"> | 
					
						
							|  |  |  |  |             <div class="tabs tabs0"> | 
					
						
							|  |  |  |  |               <div class="tab cursor"> | 
					
						
							|  |  |  |  |                 <div | 
					
						
							|  |  |  |  |                   v-for="(item, index) in tab0" | 
					
						
							|  |  |  |  |                   :key="index" | 
					
						
							|  |  |  |  |                   class="tab_list_li" | 
					
						
							|  |  |  |  |                   style="margin-left: 20px; margin-bottom: 10px" | 
					
						
							|  |  |  |  |                   :class="{ active: currentTab0 === index, tab_list_li0: currentTab0 === index }" | 
					
						
							|  |  |  |  |                   @click.stop=" | 
					
						
							|  |  |  |  |                     currentTab0 = index; | 
					
						
							|  |  |  |  |                     currentTab1 = 0; | 
					
						
							|  |  |  |  |                     currentTab2 = 0; | 
					
						
							|  |  |  |  |                   " | 
					
						
							|  |  |  |  |                 > | 
					
						
							|  |  |  |  |                   {{ item }} | 
					
						
							|  |  |  |  |                 </div> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |               </div> | 
					
						
							|  |  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |             <div class="tabs"> | 
					
						
							|  |  |  |  |               <div class="tab cursor"> | 
					
						
							|  |  |  |  |                 <div | 
					
						
							|  |  |  |  |                   v-for="(item, index) in tab1" | 
					
						
							|  |  |  |  |                   :key="index" | 
					
						
							|  |  |  |  |                   class="tab_list_li" | 
					
						
							|  |  |  |  |                   :class="{ active: currentTab1 === index }" | 
					
						
							|  |  |  |  |                   @click.stop="currentTab1 = index" | 
					
						
							|  |  |  |  |                 > | 
					
						
							|  |  |  |  |                   {{ item }} | 
					
						
							|  |  |  |  |                 </div> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |               </div> | 
					
						
							|  |  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |             <div class="tabs"> | 
					
						
							|  |  |  |  |               <div class="tab cursor"> | 
					
						
							|  |  |  |  |                 <div | 
					
						
							|  |  |  |  |                   v-for="(item, index) in tab2" | 
					
						
							|  |  |  |  |                   :key="index" | 
					
						
							|  |  |  |  |                   class="tab_list_li" | 
					
						
							|  |  |  |  |                   :class="{ active: currentTab2 === index }" | 
					
						
							|  |  |  |  |                   @click.stop="currentTab2 = index" | 
					
						
							|  |  |  |  |                 > | 
					
						
							|  |  |  |  |                   {{ item }} | 
					
						
							|  |  |  |  |                 </div> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |               </div> | 
					
						
							|  |  |  |  |             </div> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |           </el-card> | 
					
						
							|  |  |  |  |           <el-row v-if="currentTab0 === 0" :gutter="20" style="margin-top: 10px"> | 
					
						
							|  |  |  |  |             <el-col :span="24"> | 
					
						
							|  |  |  |  |               <el-card class="storage-card" shadow="hover" body-style="padding: 0"> | 
					
						
							|  |  |  |  |                 <div class="storage-content"> | 
					
						
							|  |  |  |  |                   <div class="storage-content-top"> | 
					
						
							|  |  |  |  |                     <img src="@/assets/images/warehouseLogistics/img4.png" fit="cover" class="storage-image storage-image1" /> | 
					
						
							|  |  |  |  |                   </div> | 
					
						
							|  |  |  |  |                 </div> | 
					
						
							|  |  |  |  |               </el-card> | 
					
						
							|  |  |  |  |             </el-col> | 
					
						
							|  |  |  |  |             <!-- <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> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |                     </div> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |                   </div> | 
					
						
							|  |  |  |  |                   <div class="storage-price"> | 
					
						
							|  |  |  |  |                     <div class="storage-price-left"> | 
					
						
							|  |  |  |  |                       <span class="price-label">报价</span> | 
					
						
							|  |  |  |  |                       <span class="price-amount">¥{{ item.price }}/kg</span> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |                     </div> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |                     <el-button type="success" class="contact-btn" @click="goDei(item)"> | 
					
						
							|  |  |  |  |                       <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"> | 
					
						
							|  |  |  |  |                     <img :src="getAssetsFile('images/warehouseLogistics/top' + item.rank + '.png')" alt="" style="width: 80px" /> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |                   </div> | 
					
						
							|  |  |  |  |                 </div> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |               </el-card> | 
					
						
							|  |  |  |  |             </el-col> --> | 
					
						
							|  |  |  |  |           </el-row> | 
					
						
							|  |  |  |  |           <el-row v-if="currentTab0 === 1" :gutter="20" style="margin-top: 10px"> | 
					
						
							|  |  |  |  |             <el-col :span="24"> | 
					
						
							|  |  |  |  |               <el-card class="storage-card" shadow="hover" body-style="padding: 0"> | 
					
						
							|  |  |  |  |                 <div class="storage-content"> | 
					
						
							|  |  |  |  |                   <div class="storage-content-top"> | 
					
						
							|  |  |  |  |                     <img src="@/assets/images/warehouseLogistics/img5.png" fit="cover" class="storage-image storage-image1" /> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |                   </div> | 
					
						
							|  |  |  |  |                 </div> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |               </el-card> | 
					
						
							|  |  |  |  |               <el-card class="storage-card" shadow="hover" body-style="padding: 0"> | 
					
						
							|  |  |  |  |                 <div class="storage-content"> | 
					
						
							|  |  |  |  |                   <div class="storage-content-top"> | 
					
						
							|  |  |  |  |                     <img src="@/assets/images/warehouseLogistics/img6.png" fit="cover" class="storage-image storage-image1" /> | 
					
						
							|  |  |  |  |                   </div> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |                 </div> | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |               </el-card> | 
					
						
							|  |  |  |  |             </el-col> | 
					
						
							|  |  |  |  |           </el-row> | 
					
						
							|  |  |  |  |           <div style="position: fixed; left: 50%; bottom: 7%"> | 
					
						
							|  |  |  |  |             <el-button style="padding: 10px 100px" size="large" type="primary">发布包装{{ currentTab0 === 0 ? '服务' : '需求' }}</el-button> | 
					
						
							|  |  |  |  |           </div> | 
					
						
							|  |  |  |  |           <page-pagination :total="5" @current-change="currentChange" /> | 
					
						
							|  |  |  |  |         </template> | 
					
						
							|  |  |  |  |       </common> | 
					
						
							|  |  |  |  |     </section> | 
					
						
							|  |  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | </template> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | <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'; | 
					
						
							| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | const route = useRoute(); | 
					
						
							|  |  |  |  | const router = useRouter(); | 
					
						
							| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  | const tab0 = reactive(['包装服务', '包装需求']); | 
					
						
							|  |  |  |  | const tab1 = reactive(['全部', '熟料容器', '金属容器', '纸类容器']); | 
					
						
							|  |  |  |  | const tab2 = reactive(['全部', '塑料袋', '塑料瓶', '塑料桶', '塑料盒']); | 
					
						
							|  |  |  |  | const tab3 = reactive(['水产', '其他类']); | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | const state = reactive({ | 
					
						
							|  |  |  |  |   menus: warehouseLogisticsRoutes[0].children, | 
					
						
							|  |  |  |  |   query: { | 
					
						
							|  |  |  |  |     current: 1, | 
					
						
							|  |  |  |  |   }, | 
					
						
							|  |  |  |  |   data: [ | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       title: '蔬菜分拣服务', | 
					
						
							|  |  |  |  |       description: '绿鲜甄选蔬菜分拣中心 ', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |       location: '临沧市-耿马县', | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       price: '150', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |       rank: '1', | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       imageUrl: 'images/vegetable.png', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |     }, | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       title: '水果分拣服务', | 
					
						
							|  |  |  |  |       description: '果韵鲜享分拣站', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |       location: '临沧市-耿马县', | 
					
						
							|  |  |  |  |       price: '150', | 
					
						
							|  |  |  |  |       rank: '2', | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       imageUrl: 'images/fruit.png', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |     }, | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       title: '水果分拣服务', | 
					
						
							|  |  |  |  |       description: '好果分拣站 ', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |       location: '临沧市-耿马县', | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       price: '150', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |       rank: '3', | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       imageUrl: 'images/fruit.png', | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |       title: '水果分拣服务', | 
					
						
							|  |  |  |  |       description: '果美分拣站 ', | 
					
						
							|  |  |  |  |       location: '临沧市-耿马县', | 
					
						
							|  |  |  |  |       price: '150', | 
					
						
							|  |  |  |  |       rank: '', | 
					
						
							|  |  |  |  |       imageUrl: 'images/fruit.png', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |     }, | 
					
						
							|  |  |  |  |     { | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       title: '水果分拣服务', | 
					
						
							|  |  |  |  |       description: '好果存分拣站 ', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |       location: '临沧市-耿马县', | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       price: '150', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |       rank: '', | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |       imageUrl: 'images/fruit.png', | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |     }, | 
					
						
							|  |  |  |  |   ], | 
					
						
							|  |  |  |  | }); | 
					
						
							| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  | const currentTab0 = ref(0); | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | const currentTab1 = ref(0); | 
					
						
							|  |  |  |  | const currentTab2 = ref(0); | 
					
						
							|  |  |  |  | const currentTab3 = ref(0); | 
					
						
							| 
									
										
										
										
											2025-05-29 17:13:58 +08:00
										 |  |  |  | const dialogVisible = ref(false); | 
					
						
							|  |  |  |  | const formRef = ref(null); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | const form = reactive({ | 
					
						
							|  |  |  |  |   quantity: '', | 
					
						
							|  |  |  |  |   title: '', | 
					
						
							|  |  |  |  |   phone: '', | 
					
						
							|  |  |  |  |   name: '', | 
					
						
							|  |  |  |  | }); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | const diotext = ref(''); | 
					
						
							|  |  |  |  | const diodescription = ref(''); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | const goDei = (data) => { | 
					
						
							|  |  |  |  |   diodescription.value = data.description; | 
					
						
							|  |  |  |  |   diotext.value = data.title; | 
					
						
							|  |  |  |  |   dialogVisible.value = true; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | const handleSubmit = () => { | 
					
						
							|  |  |  |  |   formRef.value.validate((valid) => { | 
					
						
							|  |  |  |  |     if (valid) { | 
					
						
							|  |  |  |  |       console.log('提交数据:', form); | 
					
						
							|  |  |  |  |       dialogVisible.value = false; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   }); | 
					
						
							|  |  |  |  | }; | 
					
						
							| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | const currentChange = (current) => { | 
					
						
							|  |  |  |  |   state.query.current = current; | 
					
						
							|  |  |  |  | }; | 
					
						
							| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | const toLink = (row) => { | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |   row.data = ['高品质', '杀菌灭毒', '绿色']; | 
					
						
							| 
									
										
										
										
											2025-05-30 11:41:57 +08:00
										 |  |  |  |   router.push({ | 
					
						
							|  |  |  |  |     path: '/sub-operation-service/packaging/details', | 
					
						
							|  |  |  |  |     query: row, | 
					
						
							|  |  |  |  |   }); | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | }; | 
					
						
							| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | </script> | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | <style lang="scss" scoped> | 
					
						
							| 
									
										
										
										
											2025-05-29 17:13:58 +08:00
										 |  |  |  | // 基础颜色配置
 | 
					
						
							|  |  |  |  | $primary-color: #25bf82; // 主色调
 | 
					
						
							|  |  |  |  | $text-dark: #25bf82; // 深色文字
 | 
					
						
							|  |  |  |  | $text-regular: #606266; // 常规文字
 | 
					
						
							|  |  |  |  | $border-color: #dcdfe6; // 边框颜色
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // 弹窗整体样式
 | 
					
						
							|  |  |  |  | :deep(.custom-inquiry-dialog) { | 
					
						
							|  |  |  |  |   border-radius: 8px; | 
					
						
							|  |  |  |  |   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   .el-dialog__header { | 
					
						
							|  |  |  |  |     padding: 20px; | 
					
						
							|  |  |  |  |     border-bottom: 1px solid #f2f6fc; | 
					
						
							|  |  |  |  |     .el-dialog__title { | 
					
						
							|  |  |  |  |       font-size: 18px; | 
					
						
							|  |  |  |  |       color: $text-dark; | 
					
						
							|  |  |  |  |       font-weight: 600; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   .el-dialog__body { | 
					
						
							|  |  |  |  |     padding: 20px 28px; | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   .el-form-item__label { | 
					
						
							|  |  |  |  |     color: $text-regular; | 
					
						
							|  |  |  |  |     font-size: 14px; | 
					
						
							|  |  |  |  |     padding-bottom: 6px; | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .info-section { | 
					
						
							|  |  |  |  |   padding: 0px 50px; | 
					
						
							|  |  |  |  |   margin-bottom: 24px; | 
					
						
							|  |  |  |  |   .info-item { | 
					
						
							|  |  |  |  |     margin-bottom: 12px; | 
					
						
							|  |  |  |  |     .label { | 
					
						
							|  |  |  |  |       color: $text-regular; | 
					
						
							|  |  |  |  |       margin-right: 8px; | 
					
						
							|  |  |  |  |       font-size: 20px; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |     .value { | 
					
						
							|  |  |  |  |       color: $text-dark; | 
					
						
							|  |  |  |  |       font-weight: 500; | 
					
						
							|  |  |  |  |       font-size: 20px; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // 输入框样式覆盖
 | 
					
						
							|  |  |  |  | :deep(.el-input) { | 
					
						
							|  |  |  |  |   .el-input__inner { | 
					
						
							|  |  |  |  |     height: 40px; | 
					
						
							|  |  |  |  |     line-height: 40px; | 
					
						
							|  |  |  |  |     border-radius: 4px; | 
					
						
							|  |  |  |  |     &:focus { | 
					
						
							|  |  |  |  |       border-color: $primary-color; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  |   .el-input__suffix { | 
					
						
							|  |  |  |  |     color: $text-regular; | 
					
						
							|  |  |  |  |     right: 12px; | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // 下拉菜单样式
 | 
					
						
							|  |  |  |  | :deep(.custom-select-dropdown) { | 
					
						
							|  |  |  |  |   .el-select-dropdown__item { | 
					
						
							|  |  |  |  |     color: $text-regular; | 
					
						
							|  |  |  |  |     &.selected { | 
					
						
							|  |  |  |  |       color: $primary-color; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // 按钮组样式
 | 
					
						
							|  |  |  |  | .dialog-footer { | 
					
						
							|  |  |  |  |   text-align: right; | 
					
						
							|  |  |  |  |   .el-button { | 
					
						
							|  |  |  |  |     padding: 10px 24px; | 
					
						
							|  |  |  |  |     border-radius: 4px; | 
					
						
							|  |  |  |  |     font-size: 14px; | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  |   .cancel-btn { | 
					
						
							|  |  |  |  |     color: $text-regular; | 
					
						
							|  |  |  |  |     &:hover { | 
					
						
							|  |  |  |  |       color: $primary-color; | 
					
						
							|  |  |  |  |       border-color: $primary-color; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  |   .submit-btn { | 
					
						
							|  |  |  |  |     color: #fff; | 
					
						
							|  |  |  |  |     background: $primary-color; | 
					
						
							|  |  |  |  |     &:hover { | 
					
						
							|  |  |  |  |       background: mix($primary-color, #fff, 85%); | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | .tabs { | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |   //height: 160px;
 | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |   line-height: 50px; | 
					
						
							|  |  |  |  |   display: flex; | 
					
						
							|  |  |  |  |   flex-direction: column; | 
					
						
							|  |  |  |  |   font-size: 18px; | 
					
						
							|  |  |  |  |   align-items: flex-start; | 
					
						
							|  |  |  |  |   justify-content: space-between; | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |   // padding: 0 20px;
 | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | .tabs0 { | 
					
						
							|  |  |  |  |   padding: 0; | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | } | 
					
						
							|  |  |  |  | .tab { | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |   // height: 100px;
 | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |   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; | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |   .tab_list_li:first-child { | 
					
						
							|  |  |  |  |     margin-left: 20px; | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |   .tab_list_li.active { | 
					
						
							|  |  |  |  |     color: rgba(37, 191, 130, 1); | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |   .tab_list_li0 { | 
					
						
							|  |  |  |  |     border-bottom: 2px solid rgba(37, 191, 130, 1); | 
					
						
							|  |  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | } | 
					
						
							|  |  |  |  | .cursor { | 
					
						
							|  |  |  |  |   cursor: pointer; | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | .active { | 
					
						
							|  |  |  |  |   color: rgba(37, 191, 130, 1); | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | .storage-card { | 
					
						
							|  |  |  |  |   position: relative; | 
					
						
							|  |  |  |  |   overflow: hidden; | 
					
						
							|  |  |  |  |   margin-bottom: 20px; | 
					
						
							|  |  |  |  |   border: 0; | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  |   border-radius: 16px; | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | } | 
					
						
							|  |  |  |  | .storage-content { | 
					
						
							|  |  |  |  |   @include flex-column; | 
					
						
							| 
									
										
										
										
											2025-05-15 17:34:49 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  |   gap: 16px; | 
					
						
							|  |  |  |  |   &-top { | 
					
						
							|  |  |  |  |     @include flex-row; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     align-items: center; | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | .storage-image { | 
					
						
							|  |  |  |  |   margin-right: 16px; | 
					
						
							|  |  |  |  |   width: 120px; | 
					
						
							|  |  |  |  |   height: 120px; | 
					
						
							|  |  |  |  |   border-radius: 8px; | 
					
						
							|  |  |  |  |   object-fit: cover; | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-06-24 16:43:55 +08:00
										 |  |  |  | .storage-image1 { | 
					
						
							|  |  |  |  |   margin-right: 0; | 
					
						
							|  |  |  |  |   width: 100%; | 
					
						
							|  |  |  |  |   height: auto; | 
					
						
							|  |  |  |  |   border-radius: 0; | 
					
						
							|  |  |  |  |   object-fit: cover; | 
					
						
							|  |  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-05-29 16:16:21 +08:00
										 |  |  |  | .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> |