Merge branch 'dev-wangyiming'

# Conflicts:
#	src/views/AppMain.vue
#	src/views/equip/detail.vue
This commit is contained in:
wlikett 2023-12-07 17:59:00 +08:00
commit eaf7853193
3 changed files with 918 additions and 812 deletions

View File

@ -1,8 +1,9 @@
<script setup lang="ts">
import HeaderCom from '../layout/header.vue'
import FooterInfo from '../components/FooterInfo/index.vue'
import { useRouter } from 'vue-router'
import $bus from '@/utils/bus'
import {useRouter} from "vue-router";
import $bus from "@/utils/bus"
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
const locale = zhCn
const route = useRoute()
const router = useRouter()
@ -28,12 +29,12 @@
//
const searchKeywordBtn = (e) => {
if (route.path == '/equipList') {
$bus.emit('search', keywordIptValue.value)
} else {
if(route.path == '/equipList'){
$bus.emit('search',keywordIptValue.value)
}else {
router.push({
name: 'equipList',
state: { keyWord: keywordIptValue.value }
name:'equipList',
state:{keyWord: keywordIptValue.value}
})
}
}
@ -43,20 +44,83 @@
keywordIptValue.value = hisValue
}
//
$bus.on('callBackText', (val) => {
$bus.on('callBackText',(val) => {
nextTick(() => {
keywordIptValue.value = val
})
})
onMounted(() => {
})
</script>
<template>
<HeaderCom />
<div class="shop-header">
<div class="header-box">
<ul class="header-wapper">
<li>
<span>
<a @click="$router.push('/login')">登录</a>
/
<a style="color: #6d6d6d">注册</a>
</span>
</li>
<li>
<span @click="$router.push({ name: 'myuser' })">个人中心</span>
</li>
<li @click="$router.push('/collect')">
<img src="./assets/img/home/2023_12_01_beijing2/shoucang.png" alt="" />
<span>收藏夹</span>
</li>
<li>
<img src="./assets/img/home/2023_12_01_beijing2/shouji.png" alt="" />
<span class="last-span">手机版</span>
</li>
</ul>
</div>
<!-- 菜单 -->
<div class="shop-menu-box">
<div class="shop-menu">
<div class="left-logo" @click="$router.push('/home')">
<!-- 首页Logo -->
<img
src="@/assets/img/home/2023_12_01_beijing2/logo.png"
alt="首页"
title="首页" />
</div>
<input
placeholder="输入设备关键词"
type="text"
v-model="keywordIptValue"
@keydown.enter="searchKeywordBtn" />
<button class="search-btn" @click="searchKeywordBtn">搜索</button>
<div class="erweima">
<div class="tilte">手机扫码登录</div>
<img src="" alt="" />
</div>
<div class="ipt-down">
<a
@click="handleHistory(item.name)"
v-for="item in searchHistoryList"
:key="item.name">
{{ item.name }}
</a>
</div>
</div>
</div>
</div>
<div class="container">
<RouterView />
<el-config-provider :locale="locale">
<RouterView />
</el-config-provider>
</div>
<FooterInfo v-if="isMyInfoPage()" />
<!-- <FooterInfo /> -->
</template>
<style scoped lang="scss">
@ -69,4 +133,144 @@
padding: 20px 30px;
box-sizing: border-box;
}
.shop-header {
// height: 157px;
width: 100%;
position: sticky;
top: 0;
left: 0;
z-index: 999;
.header-box {
background-color: #f5f5f5;
width: 100%;
.header-wapper {
width: 1200px;
height: 37px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: flex-end;
li {
display: flex;
align-items: center;
justify-content: center;
height: 37px;
cursor: pointer;
margin-left: 20px;
span {
color: #6d6d6d;
font-size: 14px;
padding: 0 20px 0 3px;
border-right: 1px solid #666655;
&:hover {
color: #2282ff;
}
a {
text-decoration: none;
color: #2282ff;
}
}
.last-span {
border: none;
padding: 0;
}
}
}
}
.shop-menu-box {
background-color: #edeef6;
.shop-menu {
position: relative;
width: 1200px;
height: 140px;
margin: 0 auto;
display: flex;
align-items: center;
.left-logo {
color: #999999;
font-weight: bold;
font-size: 20px;
img {
width: 176px;
height: 58px;
cursor: pointer;
}
}
input {
width: 700px;
height: 45px;
border: 1px solid #5ca4ff;
border-radius: 45px;
margin-left: 70px;
line-height: 45px;
color: transparent;
text-shadow: 0 0 0 #333;
padding-left: 30px;
}
input:focus {
outline: 1px solid #5ca4ff;
}
input::-webkit-input-placeholder {
color: #949494;
}
.search-btn {
width: 100px;
height: 39px;
transform: translateX(-110px);
border-radius: 39px;
background: linear-gradient(132deg, #6de7ff 0%, #348cff 100%);
box-shadow: 0px 2px 4px 0px rgba(20, 175, 255, 0.5);
border: none;
color: #fff;
cursor: pointer;
font-size: 18px;
}
.erweima {
display: none;
width: 100px;
height: 80px;
margin-left: -20px;
padding: 10px;
background-color: #fff;
.tilte {
font-size: 14px;
color: #1f88ff;
text-align: center;
}
}
.ipt-down {
position: absolute;
bottom: 20px;
left: 22%;
overflow: hidden;
a {
padding: 0 10px;
color: #727272;
font-size: 14px;
cursor: pointer;
}
}
}
}
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -57,7 +57,7 @@
</div>
</div>
<div class="showList">
<div class="showList" v-if="pageData.total > 0">
<equip-card
class="card"
v-for="(v,i) in equipList"
@ -71,8 +71,11 @@
time-unit="月"
@on-click="toDetail"></equip-card>
</div>
<div class="noData" v-else>
<el-empty :image-size="200" />
</div>
<div class="pagination">
<div class="pagination" v-if="pageData.total > 0">
<el-pagination
v-model:current-page="pageData.pageNum"
:page-size="pageData.pageSize"
@ -416,8 +419,24 @@ const getData = async (text = '') => {
const params = {
keyWord: text,
pageSize:pageData.pageSize,
pageNum:pageData.pageNum
pageNum:pageData.pageNum,
updateTimeOrderBy:'',
monthLeasePriceOrderBy:'',
typeId:'',
monthLeasePriceMin:0,
monthLeasePriceMax:'',
ageMin:'',
ageMax:'',
workingHoursMin:'',
workingHoursMax:''
}
if(optionActive.value == '1'){
}else if(optionActive.value == '2'){
}
const res = await getList(params)
pageData.total = res.total
equipList.value = res.rows
@ -507,7 +526,7 @@ init()
cursor: pointer;
color: #939393;
font-size: 15px;
line-height: 25px;
&:hover {
color: red;
}