修复bug
This commit is contained in:
parent
62632e0aff
commit
5ac5be413b
8
App.vue
8
App.vue
|
|
@ -273,4 +273,12 @@
|
|||
<style>
|
||||
/*每个页面公共css */
|
||||
@import '@/static/css/common.css';
|
||||
|
||||
/* App.vue全局style */
|
||||
page,
|
||||
html,
|
||||
body {
|
||||
-webkit-text-size-adjust: 100% !important;
|
||||
text-size-adjust: 100% !important;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -15,8 +15,9 @@
|
|||
|
||||
<view class="tags-container">
|
||||
<view class="tag-item" v-for="(tag, idx) in displayTags" :key="idx" :style="getTagStyle(tag)">
|
||||
<image class="tag-icon" v-if="tag.icon" :src="tag.icon"></image>
|
||||
<!-- <image class="tag-icon" v-if="tag.icon" :src="tag.icon"></image> -->
|
||||
<text class="tag-text">{{ tag.text }} </text>
|
||||
<text class="tag-text1">›</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -109,7 +110,7 @@ export default {
|
|||
}
|
||||
} else if (len === 2) {
|
||||
sizeStyle = {
|
||||
width: '134rpx',
|
||||
width: '142rpx',
|
||||
height: '42rpx',
|
||||
padding: '0 12rpx',
|
||||
boxSizing: 'border-box'
|
||||
|
|
@ -219,10 +220,20 @@ export default {
|
|||
}
|
||||
|
||||
.tag-text {
|
||||
font-size: 22rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 28rpx;
|
||||
white-space: nowrap;
|
||||
margin-top: 4rpx;
|
||||
padding-right: 2rpx;
|
||||
}
|
||||
|
||||
.tag-text1 {
|
||||
font-size: 40rpx;
|
||||
line-height: 28rpx;
|
||||
white-space: nowrap;
|
||||
margin-top: 4rpx;
|
||||
padding-right: 2rpx;
|
||||
margin-bottom: 6rpx;
|
||||
font-weight: 200;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -144,6 +144,7 @@ export default {
|
|||
margin-top: 10rpx;
|
||||
|
||||
.type-icon {
|
||||
border: 1rpx solid #D6CAC0;
|
||||
width: 26rpx;
|
||||
height: 26rpx;
|
||||
margin-right: 8rpx;
|
||||
|
|
|
|||
|
|
@ -452,7 +452,7 @@ export default {
|
|||
}
|
||||
// 小于一万,原样返回,单位为元
|
||||
return {
|
||||
val: num,
|
||||
val: parseFloat(num.toFixed(2)),
|
||||
unit: '元'
|
||||
};
|
||||
},
|
||||
|
|
@ -1432,19 +1432,21 @@ page {
|
|||
|
||||
.notice-text {
|
||||
font-weight: 400;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #30353C;
|
||||
}
|
||||
}
|
||||
|
||||
.notice-btn {
|
||||
font-weight: 400;
|
||||
font-size: 18rpx;
|
||||
// font-weight: 400;
|
||||
font-size: 20rpx;
|
||||
color: #8D4C1B;
|
||||
padding: 2rpx 15rpx;
|
||||
padding: 6rpx 18rpx;
|
||||
border-radius: 30rpx;
|
||||
border: 1rpx solid #8d4c1b50;
|
||||
margin-left: 10rpx;
|
||||
margin-bottom: 4rpx;
|
||||
margin-top: 4rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,10 @@
|
|||
<template>
|
||||
<view class="skill-market-page">
|
||||
|
||||
<custom-navbar
|
||||
title="技能集市"
|
||||
:showBack="true"
|
||||
backgroundColor="#FFFFFF"
|
||||
:show-headle="true"
|
||||
borderBottom="none"
|
||||
<custom-navbar title="技能集市" :showBack="true" backgroundColor="#FFFFFF" :show-headle="true" borderBottom="none"
|
||||
headleSrc="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/51ebca5d-95c5-4fb8-8aa3-560a79100d25.png"
|
||||
@onHeadleClick="goToSearch">
|
||||
@onHeadleClick="goToSearch" class="nav-img-size">
|
||||
</custom-navbar>
|
||||
|
||||
<view class="nav-placeholder" :style="{ height: navHeight + 'px' }"></view>
|
||||
|
||||
<view class="sticky-header-container" :style="{ top: navHeight + 'px' }">
|
||||
|
||||
<view class="official-author-block" v-if="authorInfo.show">
|
||||
|
|
@ -68,14 +60,11 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> <view class="list-container">
|
||||
</view>
|
||||
<view class="list-container">
|
||||
<view v-if="skillList.length > 0">
|
||||
<skill-card
|
||||
v-for="(item, index) in skillList"
|
||||
:key="item.id || index"
|
||||
:item="item"
|
||||
@click="goToDetail(item)"
|
||||
></skill-card>
|
||||
<skill-card v-for="(item, index) in skillList" :key="item.id || index" :item="item"
|
||||
@click="goToDetail(item)"></skill-card>
|
||||
</view>
|
||||
|
||||
<view v-else>
|
||||
|
|
@ -131,7 +120,9 @@ export default {
|
|||
},
|
||||
computed: {
|
||||
filterIcon() {
|
||||
return 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/e00ab2ac-bccf-42d8-820c-65727327e279.png'
|
||||
return this.filterVisible
|
||||
? 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/e00ab2ac-bccf-42d8-820c-65727327e279.png'
|
||||
: 'https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/bfe7a104-bef8-4432-9487-42f05e3e9035.png'
|
||||
}
|
||||
},
|
||||
// 接收页面跳转传过来的作者参数
|
||||
|
|
@ -459,11 +450,14 @@ export default {
|
|||
}
|
||||
|
||||
.filter-icon {
|
||||
width: 18rpx;
|
||||
height: 12rpx;
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
transition: transform 0.3s ease;
|
||||
|
||||
&.rotate {
|
||||
transform: rotate(180deg);
|
||||
width: 18rpx;
|
||||
height: 12rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -476,7 +470,8 @@ export default {
|
|||
.filter-panel {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0; right: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 100vh;
|
||||
z-index: 100;
|
||||
pointer-events: none;
|
||||
|
|
@ -484,13 +479,22 @@ export default {
|
|||
|
||||
&.show {
|
||||
pointer-events: auto;
|
||||
.filter-mask { opacity: 1; }
|
||||
.filter-container { transform: translateY(0); }
|
||||
|
||||
.filter-mask {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.filter-container {
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.filter-mask {
|
||||
position: absolute;
|
||||
top: 0; left: 0; right: 0; bottom: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
|
|
@ -498,7 +502,9 @@ export default {
|
|||
|
||||
.filter-container {
|
||||
position: absolute;
|
||||
top: 0; left: 0; right: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: #fff;
|
||||
border-radius: 0 0 24rpx 24rpx;
|
||||
padding: 30rpx 30rpx 40rpx;
|
||||
|
|
@ -553,12 +559,19 @@ export default {
|
|||
height: 373rpx;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .icon-headle {
|
||||
width: 32rpx !important;
|
||||
height: 32rpx !important;
|
||||
}
|
||||
|
||||
::v-deep .back-icon {
|
||||
width: 28rpx !important;
|
||||
height: 36rpx !important;
|
||||
}
|
||||
|
||||
.nav-img-size::v-deep .icon-headle {
|
||||
width: 36rpx !important;
|
||||
height: 36rpx !important;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -86,7 +86,7 @@
|
|||
|
||||
<view class="order-card">
|
||||
<template v-for="card in currentCardList">
|
||||
<view class="function-list" v-if="card.type == 'line'">
|
||||
<view class="function-list" v-if="card.type == 'line'" :key="card.title">
|
||||
<view class="function-title">{{ card.title }}</view>
|
||||
<view class="function-grid">
|
||||
<view class="grid-item" v-for="(item, index) in card.list" :key="index"
|
||||
|
|
@ -98,22 +98,22 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="function-list" style="padding: 24rpx; padding-bottom: 28rpx"
|
||||
v-if="card.type == 'lineCard'">
|
||||
<view class="function-list" style="padding: 24rpx; padding-bottom: 28rpx" v-if="card.type == 'lineCard'"
|
||||
:key="card.title">
|
||||
<view class="lineCard-title">{{ card.title }}</view>
|
||||
<view class="lineCard-grid">
|
||||
<image v-for="(item, index) in card.list" :src="item.url" mode="widthFix"
|
||||
@click="handleFunction(item)"></image>
|
||||
@click="handleFunction(item)" :key="index"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="imagePure" v-if="card.type == 'imagePure'">
|
||||
<view class="imagePure" v-if="card.type == 'imagePure'" :key="card.title">
|
||||
<image @click="handleFunction(card)" :src="card.url" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="image-list" v-if="card.type == 'image'">
|
||||
<view class="image-list" v-if="card.type == 'image'" :key="card.title">
|
||||
<view class="image-title">{{ card.title }}</view>
|
||||
<image @click="handleFunction(card)" :src="card.url" mode="widthFix"></image>
|
||||
</view>
|
||||
<view class="listcard-list" v-if="card.type == 'listcard'">
|
||||
<view class="listcard-list" v-if="card.type == 'listcard'" :key="card.title">
|
||||
<view class="function-title">{{ card.title }}</view>
|
||||
<view class="listcard-item" v-for="(item, index) in card.list" :key="index">
|
||||
<image @click="handleFunction(item)" :src="item.url" mode="widthFix"></image>
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
<view class="listcard-text">{{ item.text }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="imageText-list" v-if="card.type == 'imageText'">
|
||||
<view class="imageText-list" v-if="card.type == 'imageText'" :key="card.title">
|
||||
<view class="lineCard-title">{{ card.title }}</view>
|
||||
<view class="imageText-content">
|
||||
<image :src="card.url" mode="widthFix"></image>
|
||||
|
|
@ -160,6 +160,8 @@
|
|||
<view class="item-right orange" @tap="goToBusinessTime">去配置</view>
|
||||
</view>
|
||||
|
||||
<view class="divider-line"></view>
|
||||
|
||||
<view class="missing-item" v-if="!hasServiceSkill">
|
||||
<view class="item-left">
|
||||
<image class="item-icon"
|
||||
|
|
@ -173,6 +175,8 @@
|
|||
<view class="item-right orange" @tap="goToServiceSkill">去配置</view>
|
||||
</view>
|
||||
|
||||
<view class="divider-line"></view>
|
||||
|
||||
<view class="missing-item" v-if="!isCertified">
|
||||
<view class="item-left">
|
||||
<image class="item-icon"
|
||||
|
|
@ -1682,6 +1686,13 @@ button::after {
|
|||
align-items: center;
|
||||
gap: 12rpx;
|
||||
margin-top: 10rpx;
|
||||
width: auto;
|
||||
height: 36rpx;
|
||||
padding: 0 8rpx 0 8rpx;
|
||||
background-image: url('https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/378a6936-a543-4ff5-9aa0-cfcb4d4e14b3.png');
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
margin-left: -6rpx;
|
||||
|
||||
.user_detail_tip_phone {
|
||||
// width: 100rpx;
|
||||
|
|
@ -1743,7 +1754,7 @@ button::after {
|
|||
.modal-header {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
height: 150rpx;
|
||||
height: 100rpx;
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
justify-content: center;
|
||||
|
|
@ -1832,6 +1843,13 @@ button::after {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.divider-line {
|
||||
width: 100%;
|
||||
height: 1rpx;
|
||||
background-color: #f2f2f2;
|
||||
margin: -26rpx 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,9 @@
|
|||
<template>
|
||||
<view class="notice-page">
|
||||
<!-- 自定义顶部导航组件 -->
|
||||
<custom-navbar
|
||||
title="公告通知"
|
||||
:showBack="true"
|
||||
backgroundColor="#FFFFFF"
|
||||
:show-headle="true"
|
||||
<custom-navbar title="公告通知" :showBack="true" backgroundColor="#FFFFFF" :show-headle="true"
|
||||
headleSrc="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/51ebca5d-95c5-4fb8-8aa3-560a79100d25.png"
|
||||
@onHeadleClick="goToSearch"
|
||||
/>
|
||||
@onHeadleClick="goToSearch" class="nav-img-size" />
|
||||
|
||||
<view class="page-content">
|
||||
<!-- 加载状态 -->
|
||||
|
|
@ -19,12 +14,7 @@
|
|||
|
||||
<!-- 公告列表 -->
|
||||
<view v-else-if="noticeList.length > 0" class="notice-list">
|
||||
<NoticeCard
|
||||
v-for="item in noticeList"
|
||||
:key="item.id"
|
||||
:item="item"
|
||||
@click="goToDetail"
|
||||
/>
|
||||
<NoticeCard v-for="item in noticeList" :key="item.id" :item="item" @click="goToDetail" />
|
||||
|
||||
<!-- 加载更多状态 -->
|
||||
<view v-if="loadingMore" class="load-more">
|
||||
|
|
@ -36,7 +26,9 @@
|
|||
</view>
|
||||
<!-- 空状态 -->
|
||||
<view v-else class="empty-container">
|
||||
<image class="empty-img" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/8c5e7b2a-3d4f-4b1e-9a7c-6e8f2d1b4a5c.png" mode="aspectFit"></image>
|
||||
<image class="empty-img"
|
||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/8c5e7b2a-3d4f-4b1e-9a7c-6e8f2d1b4a5c.png"
|
||||
mode="aspectFit"></image>
|
||||
<text class="empty-text">暂无公告通知</text>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -181,9 +173,13 @@ export default {
|
|||
}
|
||||
|
||||
@keyframes spin {
|
||||
to { transform: rotate(360deg); }
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
.load-more, .no-more {
|
||||
}
|
||||
|
||||
.load-more,
|
||||
.no-more {
|
||||
text-align: center;
|
||||
padding: 30rpx 0;
|
||||
font-size: 24rpx;
|
||||
|
|
@ -209,4 +205,9 @@ export default {
|
|||
color: #999;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-img-size::v-deep .icon-headle {
|
||||
width: 36rpx !important;
|
||||
height: 36rpx !important;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -5,15 +5,8 @@
|
|||
<image class="back-icon" src="/static/images/back.png" @tap="goBack"></image>
|
||||
|
||||
<view class="search-box">
|
||||
<input
|
||||
class="search-input"
|
||||
v-model="keyword"
|
||||
:placeholder="placeholderText"
|
||||
placeholder-class="search-placeholder"
|
||||
focus
|
||||
confirm-type="search"
|
||||
@confirm="handleSearch"
|
||||
/>
|
||||
<input class="search-input" v-model="keyword" :placeholder="placeholderText"
|
||||
placeholder-class="search-placeholder" focus confirm-type="search" @confirm="handleSearch" />
|
||||
<text class="search-btn" @tap="handleSearch">搜索</text>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -23,7 +16,8 @@
|
|||
|
||||
<view class="result-container">
|
||||
|
||||
<view class="sort-bar" v-if="hasSearched && ['brand', 'skill', 'collection_brand', 'collection_course'].includes(searchType)">
|
||||
<view class="sort-bar"
|
||||
v-if="hasSearched && ['brand', 'skill', 'collection_brand', 'collection_course'].includes(searchType)">
|
||||
<view class="sort-item" @tap="toggleSort('time')">
|
||||
<text class="sort-text" :class="{ active: orderType === 1 || orderType === 2 }">发布时间</text>
|
||||
<view class="arrows">
|
||||
|
|
@ -44,36 +38,24 @@
|
|||
<view v-if="loading && page === 1" class="loading-tips">加载中...</view>
|
||||
|
||||
<view v-else-if="searchType === 'notice' && resultList.length > 0">
|
||||
<notice-card
|
||||
v-for="item in resultList"
|
||||
:key="item.id"
|
||||
:item="item"
|
||||
@click="goToDetail(item)"
|
||||
/>
|
||||
<notice-card v-for="item in resultList" :key="item.id" :item="item" @click="goToDetail(item)" />
|
||||
</view>
|
||||
|
||||
<view v-else-if="(searchType === 'brand' || searchType === 'collection_brand') && resultList.length > 0" class="brand-grid">
|
||||
<brand-card
|
||||
class="brand-card-wrap"
|
||||
v-for="item in resultList"
|
||||
:key="item.id"
|
||||
:item="item"
|
||||
:tagKeys="item.tagKeys || []"
|
||||
@click="goToDetail(item)"
|
||||
/>
|
||||
<view v-else-if="(searchType === 'brand' || searchType === 'collection_brand') && resultList.length > 0"
|
||||
class="brand-grid">
|
||||
<brand-card class="brand-card-wrap" v-for="item in resultList" :key="item.id" :item="item"
|
||||
:tagKeys="item.tagKeys || []" @click="goToDetail(item)" />
|
||||
</view>
|
||||
|
||||
<view v-else-if="(searchType === 'skill' || searchType === 'collection_course') && resultList.length > 0" class="course-list">
|
||||
<skill-card
|
||||
v-for="item in resultList"
|
||||
:key="item.id"
|
||||
:item="item"
|
||||
@click="goToDetail(item)"
|
||||
/>
|
||||
<view v-else-if="(searchType === 'skill' || searchType === 'collection_course') && resultList.length > 0"
|
||||
class="course-list">
|
||||
<skill-card v-for="item in resultList" :key="item.id" :item="item" @click="goToDetail(item)" />
|
||||
</view>
|
||||
|
||||
<view v-else-if="!loading && hasSearched && resultList.length === 0" class="empty-state">
|
||||
<image class="empty-icon" src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/4e4320d1-cc5c-4312-890c-f1eb8381fdd2.png"></image>
|
||||
<image class="empty-icon"
|
||||
src="https://mrrplus.oss-cn-beijing.aliyuncs.com/photo/system/4e4320d1-cc5c-4312-890c-f1eb8381fdd2.png">
|
||||
</image>
|
||||
<text>未搜索到相关内容哦~</text>
|
||||
</view>
|
||||
|
||||
|
|
@ -262,7 +244,9 @@ export default {
|
|||
coverSrc: item.cover_img || 'https://dummyimage.com/300x200/ccc/fff.png',
|
||||
type: item.link_name || (item.link_type === 1 ? '平台课程' : '品牌课程'),
|
||||
views: item.browse_num || 0,
|
||||
typeIcon: item.link_logo || ''
|
||||
typeIcon: item.link_logo || '',
|
||||
time: item.create_time ? item.create_time.split(' ')[0] : '',
|
||||
video: item.video || ''
|
||||
}));
|
||||
}
|
||||
|
||||
|
|
@ -340,6 +324,7 @@ export default {
|
|||
flex: 1;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.search-placeholder {
|
||||
color: #CCCCCC;
|
||||
}
|
||||
|
|
@ -417,7 +402,11 @@ export default {
|
|||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
.brand-card-wrap { width: 48.5%; margin-bottom: 24rpx; }
|
||||
|
||||
.brand-card-wrap {
|
||||
width: 48.5%;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.course-list {
|
||||
|
|
@ -437,6 +426,7 @@ export default {
|
|||
height: 300rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
text {
|
||||
font-size: 28rpx;
|
||||
color: #999;
|
||||
|
|
|
|||
Loading…
Reference in New Issue