Merge branch 'dev-wangyiming'
# Conflicts: # src/views/AppMain.vue # src/views/equip/detail.vue
This commit is contained in:
commit
eaf7853193
|
|
@ -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
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue