This commit is contained in:
Vinjor 2025-04-03 16:46:51 +08:00
parent 783a6d8ab2
commit 70a543b4c7
14 changed files with 857 additions and 726 deletions

View File

@ -1,29 +1,16 @@
<template>
<!-- header -->
<view :style="{ backgroundColor, paddingTop: homeHeaderPaddingTop + 'px' }" class="navigationBar"
:class="{leftTitle: leftTitle}">
<template v-if="leftTitle">
<view class="navigationBarTitle" :style="{ color: titleColor }">
{{ title ? title : '' }}
</view>
</template>
<template v-else>
<view :style="{ backgroundColor:backgroundColor }" class="navigationBar">
<template>
<view class="navigationBarBack" @click="back">
<slot name="back">
<uni-icons size="24" type="left" :color="titleColor"></uni-icons>
</slot>
<uni-icons size="24" type="left" :color="titleColor"></uni-icons>
</view>
<view class="navigationBarTitle" :style="{ color: titleColor }">
{{ title }}
</view>
<view v-if="showClear" @click="clearNoReadFun" class="navigationBarIcon" :style="{ color: titleColor }">
<image src="@/static/images/clear.png" mode="" class="clear-icon"></image>
<view class="navigationBarIcon" :style="{ color: titleColor }">
</view>
</template>
<view class="navigationBarBackExtra">
<slot name="extra">
</slot>
</view>
</view>
</template>
@ -44,40 +31,10 @@
type: String,
default: '#fff'
},
leftTitle: {
type: Boolean,
default: false
},
showClear: {
type: Boolean,
default: false
}
},
mounted() {
// #ifdef MP
const {
barHeight,
barTop,
menuButtonLeft
} = getWXStatusHeight()
console.log('barHeight, barTop, menuButtonLeft: ', barHeight, barTop, menuButtonLeft);
this.homeHeaderPaddingTop = barTop || 0
this.homeHeaderMenuHeight = barHeight
this.homeHeaderMenuLeft = menuButtonLeft - 6
// #endif
},
data() {
return {
// #ifdef MP
homeHeaderPaddingTop: 0,
homeHeaderMenuHeight: 0,
homeHeaderMenuLeft: 0,
// #endif
// #ifdef APP || H5
homeHeaderPaddingTop: 20,
homeHeaderMenuHeight: 50,
homeHeaderMenuLeft: 0
// #endif
}
},
methods: {
@ -93,37 +50,27 @@
<style lang="scss" scoped>
.navigationBar {
position: absolute;
top: var(--status-bar-height);
height: 90rpx;
width: 100%;
display: flex;
align-items: center;
font-size: 30rpx;
justify-content: center;
&.leftTitle {
justify-content: start;
padding-left: 28rpx;
}
z-index: 999;
.navigationBarBack {
position: absolute;
left: 20rpx;
}
.navigationBarBackExtra {
position: absolute;
right: 20rpx;
width: 200rpx;
}
.navigationBarTitle {
font-size: 36rpx;
flex: 1;
text-align: center;
}
.navigationBarIcon {
display: flex;
}
.clear-icon {
width: 40rpx;
height: 40rpx;
border-radius: 50%;
width: 200rpx;
}
}
</style>

View File

@ -7,7 +7,8 @@
"componentPlaceholder": {
"mine-index": "view",
"notice-index": "view",
"subscribe": "view"
"subscribe": "view",
"my-notice": "view"
}
}
}, {
@ -47,26 +48,46 @@
"style": {
"navigationBarTitleText": "订阅设置"
}
},
{
"path": "report",
"style": {
"navigationBarTitleText": "报名",
"navigationStyle": "custom"
}
}
]
}, {
"root": "pages/components",
"pages": [{
"path": "notice-index",
"style": {
"navigationBarTitleText": "通告首页"
"path": "notice-index",
"style": {
"navigationBarTitleText": "通告首页"
}
}, {
"path": "notice-item",
"style": {
"navigationBarTitleText": "通告组件"
}
}, {
"path": "subscribe",
"style": {
"navigationBarTitleText": "订阅"
}
},
{
"path": "my-notice",
"style": {
"navigationBarTitleText": "我的通告"
}
},
{
"path": "my-notice-item",
"style": {
"navigationBarTitleText": "我的通告组件"
}
}
}, {
"path": "notice-item",
"style": {
"navigationBarTitleText": "通告组件"
}
}, {
"path": "subscribe",
"style": {
"navigationBarTitleText": "订阅"
}
}]
]
}, {
"root": "pages/mine",
"pages": [{
@ -110,6 +131,7 @@
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "多点通告",
"navigationBarBackgroundColor": "#FFFFFF"
"navigationBarBackgroundColor": "#FFFFFF",
"navigationStyle": "custom"
}
}

View File

@ -110,6 +110,7 @@
}
.dl-menu-box {
border-bottom: 1rpx solid #EEEEEE;
display: flex;
align-items: center;
justify-content: center;

View File

@ -74,9 +74,6 @@
<notice-item v-if="dataList.length>0" :dataList="dataList" @goDetail="goDetail()"></notice-item>
<notice-item v-if="dataList.length>0" :dataList="dataList" @goDetail="goDetail()"></notice-item>
<notice-item v-if="dataList.length>0" :dataList="dataList" @goDetail="goDetail()"></notice-item>
<notice-item v-if="dataList.length>0" :dataList="dataList" @goDetail="goDetail()"></notice-item>
<notice-item v-if="dataList.length>0" :dataList="dataList" @goDetail="goDetail()"></notice-item>
<notice-item v-if="dataList.length>0" :dataList="dataList" @goDetail="goDetail()"></notice-item>
<view style="text-align: center" v-if="dataList.length==0">
<image class="" src="@/static/images/nothing.png"></image>
</view>
@ -505,6 +502,7 @@
transition: 1s;
.dl-text {
font-size: 32rpx;
line-height: 78rpx;
font-weight: bold;
}
@ -577,10 +575,10 @@
align-items: center;
border-radius: 35rpx;
justify-content: center;
height: 120rpx;
height: 100rpx;
width: 100%;
background: url('/static/index/member-bg.png');
background-size: contain;
background-size: 100% 100%;
background-position: center;
/* 图片居中显示 */
background-repeat: no-repeat;
@ -612,10 +610,9 @@
}
.dl-item-box {
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 607rpx);
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 586rpx);
isplay: flex;
flex-direction: column;
padding-top: 15rpx;
}
}
}

View File

@ -39,6 +39,47 @@
<image class="right-image" :src="imageUrl+item.mainImage" mode="aspectFit"></image>
</view>
</view>
<!-- 单个数据 -->
<view v-if="null!=dataObj" class="dl-notice-box no-bg" @click="goDetail(item)">
<view class="dl-notice-title">
<image class="dl-image" :src="'/static/platform/'+dataObj.platformCode+'.png'" mode="aspectFit"></image>
<view class="dl-text">{{dataObj.title}}</view>
</view>
<view class="dl-notice-content">
<view class="left-text">
<view class="text-item">
<image class="dl-icon" src="@/static/index/money.png" mode="aspectFit"></image>
<view v-if="null==dataObj.feeUp" class="dl-content">奖励无稿费</view>
<view v-else class="dl-content">奖励¥{{dataObj.feeDown}}-{{dataObj.feeUp}}</view>
</view>
<view class="text-item">
<image class="dl-icon" src="@/static/index/my.png" mode="aspectFit"></image>
<view class="dl-content">
粉丝{{formatNumberWithUnits(dataObj.fansDown)}}-{{formatNumberWithUnits(dataObj.fansUp)}}
</view>
</view>
<view class="text-item" style="border-bottom: 1rpx solid #F4F4F4;padding-bottom: 10rpx;">
<image class="dl-icon" src="@/static/index/xing.png" mode="aspectFit"></image>
<view class="dl-content">类型{{dataObj.bloggerTypesText}}</view>
</view>
<view class="text-item" style="padding-top: 10rpx;">
<view class="item-box" style="width: 40%;">
<image class="dl-icon2" :src="imageUrl+dataObj.avatar" mode="aspectFit"></image>
<view class="dl-item-right">{{dataObj.userNickName}}</view>
</view>
<view class="item-box">
<image class="dl-icon3" src="@/static/index/person.png" mode="aspectFit"></image>
<view class="dl-item-right dl-number">{{dataObj.reportNum}}</view>
</view>
<view class="item-box">
<image class="dl-icon3" src="@/static/index/eye.png" mode="aspectFit"></image>
<view class="dl-item-right dl-number">{{dataObj.viewNum}}</view>
</view>
</view>
</view>
<image class="right-image" :src="imageUrl+dataObj.mainImage" mode="aspectFit"></image>
</view>
</view>
</view>
</template>
@ -52,6 +93,10 @@
dataList: {
type: Array,
default: []
},
dataObj: {
type: Object,
default: null
}
},
data() {
@ -80,6 +125,15 @@
<style lang="scss">
.dl-components {
.dl-notice-box:first-child {
margin-top: 20rpx;
}
.no-bg {
background: none !important;
margin-bottom: 0 !important;
padding-top: 0 !important;
}
.dl-notice-box {
font-size: 29rpx;

View File

@ -106,7 +106,7 @@
position: relative;
.dl-title {
font-size: 38rpx;
font-size: 32rpx;
width: 100%;
position: relative;
text-align: center;
@ -146,6 +146,7 @@
}
.seting {
font-size: 30rpx;
width: 180rpx;
display: flex;
align-items: center;

View File

@ -6,6 +6,7 @@
<notice-index v-show="'home'==menuCode"></notice-index>
<mine-index v-show="'my'==menuCode"></mine-index>
<subscribe v-show="'dingyue'==menuCode"></subscribe>
<my-notice v-show="'myNotice'==menuCode"></my-notice>
</view>
<tabBarVue :menuCode="menuCode" ref="tarBar" @changeMenu="changeMenu"></tabBarVue>
</view>
@ -16,12 +17,14 @@
import noticeIndex from '@/pages/components/notice-index.vue'
import subscribe from '@/pages/components/subscribe.vue'
import mineIndex from '@/pages/mine/mine-index.vue'
import myNotice from '@/pages/components/my-notice.vue'
export default {
components: {
tabBarVue,
noticeIndex,
subscribe,
mineIndex
mineIndex,
myNotice
},
data() {
return {

View File

@ -1,6 +1,7 @@
<template>
<view class="member-card-box">
<navigation-bar-vue title="会员中心" background-color="#262626" title-color="#FFFFFF"></navigation-bar-vue>
<navigation-bar-vue title="会员中心" style="width: 100%;" background-color="#262626"
title-color="#FFFFFF"></navigation-bar-vue>
<view class="main-body">
<!-- 会员卡展示区 -->
<view class="vip-box">
@ -61,6 +62,66 @@
</view>
</view>
</view>
<view class="rights-item item-bg" v-for="(item,index) in rightsList">
<view class="title-left">{{item.name}}</view>
<view :class="[i==cardList.length-1?'value-item yellow-bg':'value-item']"
v-for="(card,i) in cardList">
<view v-if="'02'==item.rightsType">
<!-- 数量限制 -->
<text v-if="0==item.cardRights[card.id]">无限</text>
<text v-else>{{item.cardRights[card.id]}}</text>
</view>
<view v-else-if="'01'==item.rightsType">
<!-- 是否支持 -->
<text v-if="0==item.cardRights[card.id]">-</text>
<view v-else>
<uni-icons v-if="i==cardList.length-1" color="#3A3A38" type="checkmarkempty"
size="18"></uni-icons>
<uni-icons v-else color="#E8CEAD" type="checkmarkempty" size="18"></uni-icons>
</view>
</view>
</view>
</view>
<view class="rights-item item-bg" v-for="(item,index) in rightsList">
<view class="title-left">{{item.name}}</view>
<view :class="[i==cardList.length-1?'value-item yellow-bg':'value-item']"
v-for="(card,i) in cardList">
<view v-if="'02'==item.rightsType">
<!-- 数量限制 -->
<text v-if="0==item.cardRights[card.id]">无限</text>
<text v-else>{{item.cardRights[card.id]}}</text>
</view>
<view v-else-if="'01'==item.rightsType">
<!-- 是否支持 -->
<text v-if="0==item.cardRights[card.id]">-</text>
<view v-else>
<uni-icons v-if="i==cardList.length-1" color="#3A3A38" type="checkmarkempty"
size="18"></uni-icons>
<uni-icons v-else color="#E8CEAD" type="checkmarkempty" size="18"></uni-icons>
</view>
</view>
</view>
</view>
<view class="rights-item item-bg" v-for="(item,index) in rightsList">
<view class="title-left">{{item.name}}</view>
<view :class="[i==cardList.length-1?'value-item yellow-bg':'value-item']"
v-for="(card,i) in cardList">
<view v-if="'02'==item.rightsType">
<!-- 数量限制 -->
<text v-if="0==item.cardRights[card.id]">无限</text>
<text v-else>{{item.cardRights[card.id]}}</text>
</view>
<view v-else-if="'01'==item.rightsType">
<!-- 是否支持 -->
<text v-if="0==item.cardRights[card.id]">-</text>
<view v-else>
<uni-icons v-if="i==cardList.length-1" color="#3A3A38" type="checkmarkempty"
size="18"></uni-icons>
<uni-icons v-else color="#E8CEAD" type="checkmarkempty" size="18"></uni-icons>
</view>
</view>
</view>
</view>
<view class="rights-item item-bg">
<view class="title-left">每日报名上限</view>
<view class="value-item">20</view>
@ -191,6 +252,7 @@
<style lang="scss">
.member-card-box {
width: 100%;
padding-top: calc(90rpx + var(--status-bar-height));
color: #363636;
font-size: 29rpx;
background-color: #262626;
@ -203,7 +265,8 @@
.main-body {
width: 100%;
min-height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 57rpx);
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 90rpx);
overflow-y: scroll;
padding: 20rpx;
display: flex;
flex-direction: column;

View File

@ -310,10 +310,10 @@
margin-top: 10rpx;
border-radius: 35rpx;
justify-content: center;
height: 120rpx;
height: 100rpx;
width: 100%;
background: url('/static/index/member-bg.png');
background-size: contain;
background-size: 100% 100%;
background-position: center;
/* 图片居中显示 */
background-repeat: no-repeat;
@ -352,6 +352,7 @@
}
.points-box {
margin-top: 10rpx;
width: 100%;
display: flex;
align-items: center;

View File

@ -1,173 +1,178 @@
<template>
<view class="dl-detail-box">
<!-- 博主信息 -->
<view class="info-box">
<image class="image" :src="userDetail.avatar?imageUrl+userDetail.avatar :'/static/images/profile.jpg'"
mode="aspectFit"></image>
<view class="name-info">
<view class="name">{{userDetail.nickName}}</view>
<view class="text">{{userDetail.identityType}}</view>
</view>
<view class="fork-info">
<view class="up-box">
<view class="item-dom-guanzhu" v-if="!isLove" @click="forkUser('1')">关注</view>
<view class="item-dom-yiguanzhu" v-if="isLove" @click="forkUser('0')">已关注</view>
<view class="item-dom-zhuye">主页</view>
<navigation-bar-vue title="会员中心" style="width: 100%;" background-color="#ffffff"
title-color="#000000"></navigation-bar-vue>
<view class="notice-detail-last-box">
<!-- 博主信息 -->
<view class="info-box">
<image class="image" :src="userDetail.avatar?imageUrl+userDetail.avatar :'/static/images/profile.jpg'"
mode="aspectFit"></image>
<view class="name-info">
<view class="name">{{userDetail.nickName}}</view>
<view class="text">{{userDetail.identityType}}</view>
</view>
<view class="fork-info">
<view class="up-box">
<view class="item-dom-guanzhu" v-if="!isLove" @click="forkUser('1')">关注</view>
<view class="item-dom-yiguanzhu" v-if="isLove" @click="forkUser('0')">已关注</view>
<view class="item-dom-zhuye">主页</view>
</view>
<view class="down-box">举报</view>
</view>
<view class="down-box">举报</view>
</view>
<!-- 通告信息 -->
<view class="info-box notice-main">
<view class="dl-notice-title">
<image class="dl-image" :src="'/static/platform/'+platformCode+'.png'" mode="aspectFit"></image>
<view class="dl-text">{{noticeDetail.title}}</view>
</view>
<view class="end-time">截止日期{{noticeDetail.endDate}}</view>
<view class="field-box">
<view class="dl-item">
<view class="dl-label">
奖励
</view>
<view class="dl-value">
<text v-if="null==noticeDetail.feeUp">无稿费</text>
<text v-else>¥{{noticeDetail.feeDown}}-{{noticeDetail.feeUp}}</text>
</view>
</view>
<view class="dl-item">
<view class="dl-label">
招募名额
</view>
<view class="dl-value">{{noticeDetail.needNum}} </view>
</view>
<view class="dl-item">
<view class="dl-label">
产品品牌
</view>
<view class="dl-value">{{noticeDetail.brand}} </view>
</view>
<view class="dl-item">
<view class="dl-label">
粉丝要求
</view>
<view class="dl-value">
{{formatNumberWithUnits(noticeDetail.fansDown)}}-{{formatNumberWithUnits(noticeDetail.fansUp)}}
</view>
</view>
<view class="dl-item">
<view class="dl-label">
地区要求
</view>
<view class="dl-value">{{noticeDetail.city}} </view>
</view>
<view class="dl-item">
<view class="dl-label">
博主类型
</view>
<view class="dl-value">{{noticeDetail.bloggerTypes}}</view>
</view>
</view>
<view class="bottom-box">
<text class="update-text">{{calculateTimeDifference(noticeDetail.updateTime)}}更新</text>
<text class="view-text">{{noticeDetail.viewNum}} 阅读</text>
</view>
</view>
<!-- 通告详情 -->
<view class="info-box notice-detail">
<view class="detail-title">通告详情</view>
<view class="detail-content">
<rich-text style="width: 100%" :nodes="noticeDetail.detail" />
</view>
<view class="detail-images">
<image v-for="(item,index) in noticeDetail.imageArray" :src="imageUrl+item" mode="widthFix"></image>
</view>
</view>
<!-- 联系方式 -->
<view class="info-box notice-detail">
<view class="detail-title">联系方式</view>
<view class="field-box">
<view class="dl-item">
<view class="dl-label">
联系人
</view>
<view class="dl-value">报名后可查看 </view>
</view>
<view class="dl-item">
<view class="dl-label">
微信号
</view>
<view class="dl-value">报名后可查看 </view>
</view>
<view class="dl-item">
<view class="dl-label">
微信二维码
</view>
<view class="dl-value">报名后可查看 </view>
</view>
<view class="dl-item">
<view class="dl-label">
加入通告二维码
</view>
<view class="dl-value">报名后可查看 </view>
</view>
</view>
</view>
<!-- 报名列表 -->
<view class="info-box notice-detail">
<view class="detail-title">收到报名{{imageArray.length}}</view>
<view class="image-box" v-if="imageArray.length>0"
:style="{height:(imageArray.length*(imageWidth+10)+20)+'rpx'}">
<view class="image-row" v-for="(row,rowIndex) in imageArray">
<image v-for="(item,i) in row"
:style="{ top:(imageWidth+10)*rowIndex+'rpx',left:imageWidth*i+'rpx'}"
src="@/static/images/profile.jpg" mode="aspectFit">
</image>
</view>
</view>
</view>
<!-- 去报名始终浮动下方 -->
<view class="dl-bottom-box" v-show="showBottom">
<!-- 报名 -->
<view class="report-box" v-if="null==userInfo || noticeDetail.userId!=userInfo.userId">
<view @click="goHome()">
<image src="@/static/detail/home.png" mode="aspectFit"></image>
</view>
<view @click="shareFun()">
<image src="@/static/detail/share.png" mode="aspectFit"></image>
</view>
<view v-if="null==userInfo" class="join-report">请登录后报名</view>
<view v-else-if="ifBz" @click="goReport()" class="join-report">报名参加</view>
<view v-else class="join-report" @click="changeUserType()">切换博主后报名</view>
</view>
<!-- 通告发布人能操作的 -->
<view class="report-box" v-if="null!=userInfo && userInfo.userId==noticeDetail.userId">
<view v-if="'0'==noticeDetail.approvalStatus" class="close-notice">关闭</view>
<view v-if="'0'==noticeDetail.approvalStatus" class="waiting-approval">
<view>审核中</view>
<image @click="useCoupon()" src="@/static/detail/approval.png" mode="aspectFit"></image>
</view>
<view v-if="'2'==noticeDetail.approvalStatus" class="waiting-approval">已关闭</view>
<view v-if="'1'==noticeDetail.approvalStatus" class="waiting-approval" @click="closeNotice('2')">关闭
</view>
</view>
</view>
<!-- 提示窗示例 -->
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog cancelText="取消" confirmText="创建" iconPath="/static/detail/card.png"
content="没有符合粉丝要求的名片,无法报名" @confirm="dialogConfirm" @close="dialogClose"></uni-popup-dialog>
</uni-popup>
<!-- 分享示例 -->
<uni-popup ref="share" type="share" safeArea backgroundColor="#fff">
<uni-popup-share @select="selectShare()"></uni-popup-share>
</uni-popup>
<!-- 海报 -->
<shareImages ref="canvas" :canvasWidth="canvasWidth" :canvasHeight="canvasHeight" :shareTitle="shareTitle"
:goodsTitle="goodsTitle" :shareImage="shareImage" :qrSize="qrSize" :qrUrl="qrUrl"
@success="shareSuccess()" />
</view>
<!-- 通告信息 -->
<view class="info-box notice-main">
<view class="dl-notice-title">
<image class="dl-image" :src="'/static/platform/'+platformCode+'.png'" mode="aspectFit"></image>
<view class="dl-text">{{noticeDetail.title}}</view>
</view>
<view class="end-time">截止日期{{noticeDetail.endDate}}</view>
<view class="field-box">
<view class="dl-item">
<view class="dl-label">
奖励
</view>
<view class="dl-value">
<text v-if="null==noticeDetail.feeUp">无稿费</text>
<text v-else>¥{{noticeDetail.feeDown}}-{{noticeDetail.feeUp}}</text>
</view>
</view>
<view class="dl-item">
<view class="dl-label">
招募名额
</view>
<view class="dl-value">{{noticeDetail.needNum}} </view>
</view>
<view class="dl-item">
<view class="dl-label">
产品品牌
</view>
<view class="dl-value">{{noticeDetail.brand}} </view>
</view>
<view class="dl-item">
<view class="dl-label">
粉丝要求
</view>
<view class="dl-value">
{{formatNumberWithUnits(noticeDetail.fansDown)}}-{{formatNumberWithUnits(noticeDetail.fansUp)}}
</view>
</view>
<view class="dl-item">
<view class="dl-label">
地区要求
</view>
<view class="dl-value">{{noticeDetail.city}} </view>
</view>
<view class="dl-item">
<view class="dl-label">
博主类型
</view>
<view class="dl-value">{{noticeDetail.bloggerTypes}}</view>
</view>
</view>
<view class="bottom-box">
<text class="update-text">{{calculateTimeDifference(noticeDetail.updateTime)}}更新</text>
<text class="view-text">{{noticeDetail.viewNum}} 阅读</text>
</view>
</view>
<!-- 通告详情 -->
<view class="info-box notice-detail">
<view class="detail-title">通告详情</view>
<view class="detail-content">
<rich-text style="width: 100%" :nodes="noticeDetail.detail" />
</view>
<view class="detail-images">
<image v-for="(item,index) in noticeDetail.imageArray" :src="imageUrl+item" mode="widthFix"></image>
</view>
</view>
<!-- 联系方式 -->
<view class="info-box notice-detail">
<view class="detail-title">联系方式</view>
<view class="field-box">
<view class="dl-item">
<view class="dl-label">
联系人
</view>
<view class="dl-value">报名后可查看 </view>
</view>
<view class="dl-item">
<view class="dl-label">
微信号
</view>
<view class="dl-value">报名后可查看 </view>
</view>
<view class="dl-item">
<view class="dl-label">
微信二维码
</view>
<view class="dl-value">报名后可查看 </view>
</view>
<view class="dl-item">
<view class="dl-label">
加入通告二维码
</view>
<view class="dl-value">报名后可查看 </view>
</view>
</view>
</view>
<!-- 报名列表 -->
<view class="info-box notice-detail">
<view class="detail-title">收到报名{{imageArray.length}}</view>
<view class="image-box" v-if="imageArray.length>0"
:style="{height:(imageArray.length*(imageWidth+10)+20)+'rpx'}">
<view class="image-row" v-for="(row,rowIndex) in imageArray">
<image v-for="(item,i) in row"
:style="{ top:(imageWidth+10)*rowIndex+'rpx',left:imageWidth*i+'rpx'}"
src="@/static/images/profile.jpg" mode="aspectFit">
</image>
</view>
</view>
</view>
<!-- 去报名始终浮动下方 -->
<view class="dl-bottom-box" v-show="showBottom">
<!-- 报名 -->
<view class="report-box" v-if="null==userInfo || noticeDetail.userId!=userInfo.userId">
<view @click="goHome()">
<image src="@/static/detail/home.png" mode="aspectFit"></image>
</view>
<view @click="shareFun()">
<image src="@/static/detail/share.png" mode="aspectFit"></image>
</view>
<view v-if="null==userInfo" class="join-report">请登录后报名</view>
<view v-else-if="ifBz" class="join-report">报名参加</view>
<view v-else class="join-report" @click="changeUserType()">切换博主后报名</view>
</view>
<!-- 通告发布人能操作的 -->
<view class="report-box" v-if="null!=userInfo && userInfo.userId==noticeDetail.userId">
<view v-if="'0'==noticeDetail.approvalStatus" class="close-notice">关闭</view>
<view v-if="'0'==noticeDetail.approvalStatus" class="waiting-approval">
<view>审核中</view>
<image @click="useCoupon()" src="@/static/detail/approval.png" mode="aspectFit"></image>
</view>
<view v-if="'2'==noticeDetail.approvalStatus" class="waiting-approval">已关闭</view>
<view v-if="'1'==noticeDetail.approvalStatus" class="waiting-approval" @click="closeNotice('2')">关闭
</view>
</view>
</view>
<!-- 提示窗示例 -->
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog cancelText="取消" confirmText="创建" iconPath="/static/detail/card.png"
content="没有符合粉丝要求的名片,无法报名" @confirm="dialogConfirm" @close="dialogClose"></uni-popup-dialog>
</uni-popup>
<!-- 分享示例 -->
<uni-popup ref="share" type="share" safeArea backgroundColor="#fff">
<uni-popup-share @select="selectShare()"></uni-popup-share>
</uni-popup>
<!-- 海报 -->
<shareImages ref="canvas" :canvasWidth="canvasWidth" :canvasHeight="canvasHeight" :shareTitle="shareTitle"
:goodsTitle="goodsTitle" :shareImage="shareImage" :qrSize="qrSize" :qrUrl="qrUrl"
@success="shareSuccess()" />
</view>
</template>
<script>
import navigationBarVue from '@/components/navigation/navigationBar.vue';
import html2canvas from 'html2canvas';
import shareImages from '@/components/hj-placard/shareImages.vue'
import constant from '@/utils/constant';
@ -191,7 +196,8 @@
import config from '@/config'
export default {
components: {
shareImages
shareImages,
navigationBarVue
},
data() {
return {
@ -424,6 +430,12 @@
goHome() {
this.$tab.reLaunch('/pages/index')
},
/**
* 报名
*/
goReport() {
this.$tab.navigateTo('/pages/notice/report')
},
/**
* 分享
*/
@ -482,8 +494,9 @@
<style lang="scss">
.dl-detail-box {
padding: 20rpx 25rpx 130rpx 25rpx;
width: 100%;
padding-top: calc(90rpx + var(--status-bar-height));
background-color: white;
color: #363636;
font-size: 30rpx;
height: 100%;
@ -493,307 +506,319 @@
justify-content: center;
position: relative;
.info-box {
width: 100%;
padding: 28rpx;
.notice-detail-last-box {
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 90rpx);
overflow-y: scroll;
padding: 30rpx 30rpx 115rpx 30rpx;
background-color: #F6F6F6;
display: flex;
background-color: white;
border-radius: 30rpx;
align-items: center;
justify-content: center;
margin-bottom: 25rpx;
flex-direction: column;
align-items: self-start;
justify-content: start;
position: relative;
.image {
flex: none;
width: 100rpx;
height: 100rpx;
border-radius: 50%;
}
.name-info {
width: calc(100% - 350rpx);
flex: 1;
padding-left: 30rpx;
text-align: left;
.info-box {
width: 100%;
padding: 28rpx;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
.name {
width: 100%;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-bottom: 10rpx;
}
.text {
font-size: 24rpx;
color: #929292;
}
}
.fork-info {
flex: none;
width: 270rpx;
display: flex;
flex-direction: column;
background-color: white;
border-radius: 30rpx;
align-items: center;
justify-content: center;
margin-bottom: 25rpx;
.up-box {
padding-bottom: 5rpx;
.image {
flex: none;
width: 100rpx;
height: 100rpx;
border-radius: 50%;
}
.name-info {
width: calc(100% - 350rpx);
flex: 1;
padding-left: 30rpx;
text-align: left;
display: flex;
font-size: 28rpx;
padding-left: 10rpx;
flex-direction: column;
align-items: flex-start;
justify-content: center;
.name {
width: 100%;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-bottom: 10rpx;
}
.text {
font-size: 24rpx;
color: #929292;
}
}
.fork-info {
flex: none;
width: 270rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.item-dom-guanzhu {
padding: 5rpx 22rpx;
border-radius: 20rpx;
color: white;
background-color: #FC1F3E;
.up-box {
padding-bottom: 5rpx;
display: flex;
font-size: 28rpx;
padding-left: 10rpx;
align-items: center;
justify-content: center;
.item-dom-guanzhu {
padding: 5rpx 22rpx;
border-radius: 20rpx;
color: white;
background-color: #FC1F3E;
}
.item-dom-yiguanzhu {
padding: 5rpx 22rpx;
border: 1rpx solid #FC1F3E;
border-radius: 20rpx;
color: #FC1F3E;
background-color: white;
}
.item-dom-zhuye {
margin-left: 15rpx;
padding: 5rpx 22rpx;
border-radius: 20rpx;
background-color: #F4F4F4;
}
}
.item-dom-yiguanzhu {
padding: 5rpx 22rpx;
border: 1rpx solid #FC1F3E;
border-radius: 20rpx;
color: #FC1F3E;
background-color: white;
}
.item-dom-zhuye {
margin-left: 15rpx;
padding: 5rpx 22rpx;
border-radius: 20rpx;
background-color: #F4F4F4;
.down-box {
padding-top: 10rpx;
font-size: 24rpx;
color: #929292;
}
}
.down-box {
padding-top: 10rpx;
font-size: 24rpx;
}
.notice-main {
align-items: flex-start;
flex-direction: column;
.dl-notice-title {
display: flex;
width: 100%;
padding-bottom: 10rpx;
align-items: center;
justify-content: center;
.dl-image {
flex: none;
width: 70rpx;
height: 70rpx;
}
.dl-text {
margin-left: 10rpx;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
font-weight: bold;
}
}
.end-time {
border-radius: 15rpx;
background-color: #FFF4F5;
padding: 8rpx 20rpx;
color: #FC1F3E;
}
.field-box {
margin: 20rpx 0;
padding: 25rpx 20rpx;
background-color: #FAFAFA;
border-radius: 15rpx;
width: 100%;
display: flex;
justify-content: center;
align-items: flex-start;
flex-direction: column;
.dl-item {
display: flex;
justify-content: center;
align-items: flex-start;
margin-bottom: 10rpx;
.dl-label {}
.dl-value {
flex: 1;
}
}
}
.bottom-box {
width: 100%;
border-top: 1rpx solid #F7F7F7;
padding: 25rpx 30rpx 5rpx 30rpx;
color: #929292;
font-size: 24rpx;
.update-text {
float: left;
}
.view-text {
float: right;
}
}
}
.notice-detail {
align-items: flex-start;
flex-direction: column;
}
.notice-main {
align-items: flex-start;
flex-direction: column;
.dl-notice-title {
display: flex;
width: 100%;
padding-bottom: 10rpx;
align-items: center;
justify-content: center;
.dl-image {
flex: none;
width: 70rpx;
height: 70rpx;
}
.dl-text {
margin-left: 10rpx;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
.detail-title {
border-left: 8rpx solid #FC1F3E;
font-weight: bold;
padding-left: 20rpx;
}
}
.end-time {
border-radius: 15rpx;
background-color: #FFF4F5;
padding: 8rpx 20rpx;
color: #FC1F3E;
}
.detail-content {
width: 100%;
padding: 20rpx 0;
border-bottom: 1rpx solid #F7F7F7;
}
.field-box {
margin: 20rpx 0;
padding: 25rpx 20rpx;
background-color: #FAFAFA;
border-radius: 15rpx;
width: 100%;
display: flex;
justify-content: center;
align-items: flex-start;
flex-direction: column;
.detail-images {
width: 100%;
.dl-item {
display: flex;
justify-content: center;
align-items: flex-start;
margin-bottom: 10rpx;
.dl-label {}
.dl-value {
flex: 1;
image {
width: 100%;
margin-top: 20rpx;
}
}
}
.bottom-box {
width: 100%;
border-top: 1rpx solid #F7F7F7;
padding: 25rpx 30rpx 5rpx 30rpx;
color: #929292;
font-size: 24rpx;
.update-text {
float: left;
}
.view-text {
float: right;
}
}
}
.notice-detail {
align-items: flex-start;
flex-direction: column;
.detail-title {
border-left: 8rpx solid #FC1F3E;
font-weight: bold;
padding-left: 20rpx;
}
.detail-content {
width: 100%;
padding: 20rpx 0;
border-bottom: 1rpx solid #F7F7F7;
}
.detail-images {
width: 100%;
image {
width: 100%;
.field-box {
margin-top: 20rpx;
}
}
.field-box {
margin-top: 20rpx;
padding-top: 10rpx;
border-radius: 15rpx;
width: 100%;
display: flex;
justify-content: center;
align-items: flex-start;
flex-direction: column;
.dl-item {
padding-top: 10rpx;
border-radius: 15rpx;
width: 100%;
display: flex;
justify-content: center;
align-items: flex-start;
margin-bottom: 10rpx;
flex-direction: column;
.dl-label {}
.dl-item {
display: flex;
justify-content: center;
align-items: flex-start;
margin-bottom: 10rpx;
.dl-value {
flex: 1;
.dl-label {}
.dl-value {
flex: 1;
}
}
}
}
.image-box {
width: 100%;
padding: 20rpx 0;
.image-row {
.image-box {
width: 100%;
position: relative;
padding: 20rpx 0;
image {
position: absolute;
border-radius: 50%;
width: 90rpx;
height: 90rpx;
.image-row {
width: 100%;
position: relative;
image {
position: absolute;
border-radius: 50%;
width: 90rpx;
height: 90rpx;
}
}
}
}
}
.dl-bottom-box {
border-top: 1rpx solid #F7F7F7;
color: #363636;
position: fixed;
padding-bottom: 20rpx;
padding-top: 20rpx;
padding-left: 40rpx;
padding-right: 40rpx;
bottom: 0;
background-color: #F7F7F7;
width: 100%;
.dl-bottom-box {
border-top: 1rpx solid #F7F7F7;
color: #363636;
position: fixed;
padding-bottom: 20rpx;
padding-top: 20rpx;
padding-left: 40rpx;
padding-right: 40rpx;
bottom: 0;
background-color: #F7F7F7;
width: 100%;
.report-box {
display: flex;
justify-content: center;
align-items: center;
.report-box {
display: flex;
justify-content: center;
align-items: center;
.share-image {
pointer-events: none;
background-color: #F7F7F7;
}
.share-image {
pointer-events: none;
background-color: #F7F7F7;
}
image {
margin-right: 25rpx;
width: 80rpx;
height: 80rpx;
}
.join-report {
margin-left: 20rpx;
flex: 1;
padding: 15rpx;
text-align: center;
background-color: #FC1F3E;
border-radius: 14rpx;
color: white;
}
.close-notice {
padding: 15rpx 25rpx;
background-color: #F7F7F7;
border: 1rpx solid #E2E2E2;
border-radius: 10rpx;
margin-right: 20rpx;
}
.waiting-approval {
text-align: center;
padding: 15rpx 25rpx;
background-color: #E2E2E2;
border: 1rpx solid #D1D1D1;
border-radius: 10rpx;
position: relative;
flex: 1;
image {
position: absolute;
top: -30px;
margin: auto;
left: 200rpx;
width: 150rpx;
margin-right: 25rpx;
width: 80rpx;
height: 80rpx;
}
}
.join-report {
margin-left: 20rpx;
flex: 1;
padding: 15rpx;
text-align: center;
background-color: #FC1F3E;
border-radius: 14rpx;
color: white;
}
.close-notice {
padding: 15rpx 25rpx;
background-color: #F7F7F7;
border: 1rpx solid #E2E2E2;
border-radius: 10rpx;
margin-right: 20rpx;
}
.waiting-approval {
text-align: center;
padding: 15rpx 25rpx;
background-color: #E2E2E2;
border: 1rpx solid #D1D1D1;
border-radius: 10rpx;
position: relative;
flex: 1;
image {
position: absolute;
top: -30px;
margin: auto;
left: 200rpx;
width: 150rpx;
}
}
}
}
}
}

View File

@ -1,122 +1,128 @@
<template>
<view class="dingyue-box">
<view class="line-box">
<view class="dl-title">领域</view>
<view class="dl-content">
<view class="line-row" v-for="(item,index) in bloggerTypeList">
<view v-for="(t,i) in item" :class="t.code==dataObj.bloggerTypeCode?'line-item click':'line-item'"
@click="changeChooseValue(t,'bloggerTypeCode')">
{{t.title}}
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">平台</view>
<view class="dl-content">
<view class="line-row" v-for="(item,index) in platformList">
<view v-for="(t,i) in item" :class="t.code==dataObj.platformCode?'line-item click':'line-item'"
@click="changeChooseValue(t,'platformCode')">
{{t.title}}
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">通告类型</view>
<view class="dl-content">
<view class="line-row" v-for="(item,index) in noticeTypeList">
<view v-for="(t,i) in item" :class="t.code==dataObj.noticeTypeCode?'line-item click':'line-item'"
@click="changeChooseValue(t,'noticeTypeCode')">
{{t.title}}
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">关键词<text>包含以下关键词的通告将被收入订阅</text></view>
<view class="dl-content">
<view class="line-row">
<view class="keywords-item" v-for="(item,index) in dataObj.keywordsList">
{{checkKeywords(item)}} <uni-icons class="icon-text" type="closeempty" size="13"
@click="delKeywords(item)"></uni-icons>
</view>
<view class="keywords-item" @click="addNewKeys()">
<uni-icons type="plusempty" size="13"></uni-icons>
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">粉丝</view>
<view class="dl-content">
<view class="line-row">
<uni-data-select v-model="dataObj.fansLimit" :localdata="range" @change="change($event,'fans')"
:clear="false"></uni-data-select>
</view>
<view class="line-row" v-show="dataObj.fansLimit">
<view class="dl-drawer-item">
<input class="uni-input" v-model="dataObj.fansDown" type="digit" placeholder="最低" />
<view></view>
<input class="uni-input" v-model="dataObj.fansUp" type="digit" placeholder="最高" />
<navigation-bar-vue style="width: 100%;" title="报名" background-color="#FFFFFF"
title-color="#3D3D3D"></navigation-bar-vue>
<view class="select-box-dom">
<view class="line-box">
<view class="dl-title">领域</view>
<view class="dl-content">
<view class="line-row" v-for="(item,index) in bloggerTypeList">
<view v-for="(t,i) in item"
:class="t.code==dataObj.bloggerTypeCode?'line-item click':'line-item'"
@click="changeChooseValue(t,'bloggerTypeCode')">
{{t.title}}
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">奖励</view>
<view class="dl-content">
<view class="line-row" v-for="(item,index) in rewardTypeList">
<view v-for="(t,i) in item" :class="t.code==dataObj.rewardTypeCode?'line-item click':'line-item'"
@click="changeChooseValue(t,'rewardTypeCode')">
{{t.title}}
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">稿费要求</view>
<view class="dl-content">
<view class="line-row">
<uni-data-select v-model="dataObj.feeLimit" :localdata="range" @change="change($event,'fee')"
:clear="false"></uni-data-select>
</view>
<view class="line-row" v-show="dataObj.feeLimit">
<view class="dl-drawer-item">
<input class="uni-input" v-model="dataObj.feeDown" type="digit" placeholder="最低" />
<view></view>
<input class="uni-input" v-model="dataObj.feeUp" type="digit" placeholder="最高" />
<view class="line-box">
<view class="dl-title">平台</view>
<view class="dl-content">
<view class="line-row" v-for="(item,index) in platformList">
<view v-for="(t,i) in item" :class="t.code==dataObj.platformCode?'line-item click':'line-item'"
@click="changeChooseValue(t,'platformCode')">
{{t.title}}
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">推送</view>
<view class="dl-content">
<view class="line-row">
<view class="seting-view"><text>符合订阅设置的新通告</text>
<switch v-if="dataObj.newNotice" style="float: right;display: flex;" checked color="#FC1F3E"
@change="switchChange($event,'newNotice')" />
<switch v-else style="float: right;display: flex;" color="#FC1F3E"
@change="switchChange($event,'newNotice')" />
</view>
<view class="seting-view"><text>订阅通告主新通告</text>
<switch v-if="dataObj.forkNotice" style="float: right;display: flex;" checked color="#FC1F3E"
@change="switchChange($event,'forkNotice')" />
<switch v-else style="float: right;display: flex;" color="#FC1F3E"
@change="switchChange($event,'forkNotice')" />
<view class="line-box">
<view class="dl-title">通告类型</view>
<view class="dl-content">
<view class="line-row" v-for="(item,index) in noticeTypeList">
<view v-for="(t,i) in item"
:class="t.code==dataObj.noticeTypeCode?'line-item click':'line-item'"
@click="changeChooseValue(t,'noticeTypeCode')">
{{t.title}}
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
</view>
<view class="line-box" style="align-items: center;">
<view class="submit-box" @click="saveSet()">保存</view>
<view class="line-box">
<view class="dl-title">关键词<text>包含以下关键词的通告将被收入订阅</text></view>
<view class="dl-content">
<view class="line-row">
<view class="keywords-item" v-for="(item,index) in dataObj.keywordsList">
{{checkKeywords(item)}} <uni-icons class="icon-text" type="closeempty" size="13"
@click="delKeywords(item)"></uni-icons>
</view>
<view class="keywords-item" @click="addNewKeys()">
<uni-icons type="plusempty" size="13"></uni-icons>
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">粉丝</view>
<view class="dl-content">
<view class="line-row">
<uni-data-select v-model="dataObj.fansLimit" :localdata="range" @change="change($event,'fans')"
:clear="false"></uni-data-select>
</view>
<view class="line-row" v-show="dataObj.fansLimit">
<view class="dl-drawer-item">
<input class="uni-input" v-model="dataObj.fansDown" type="digit" placeholder="最低" />
<view></view>
<input class="uni-input" v-model="dataObj.fansUp" type="digit" placeholder="最高" />
</view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">奖励</view>
<view class="dl-content">
<view class="line-row" v-for="(item,index) in rewardTypeList">
<view v-for="(t,i) in item"
:class="t.code==dataObj.rewardTypeCode?'line-item click':'line-item'"
@click="changeChooseValue(t,'rewardTypeCode')">
{{t.title}}
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">稿费要求</view>
<view class="dl-content">
<view class="line-row">
<uni-data-select v-model="dataObj.feeLimit" :localdata="range" @change="change($event,'fee')"
:clear="false"></uni-data-select>
</view>
<view class="line-row" v-show="dataObj.feeLimit">
<view class="dl-drawer-item">
<input class="uni-input" v-model="dataObj.feeDown" type="digit" placeholder="最低" />
<view></view>
<input class="uni-input" v-model="dataObj.feeUp" type="digit" placeholder="最高" />
</view>
</view>
</view>
</view>
<view class="line-box">
<view class="dl-title">推送</view>
<view class="dl-content">
<view class="line-row">
<view class="seting-view"><text>符合订阅设置的新通告</text>
<switch v-if="dataObj.newNotice" style="float: right;display: flex;" checked color="#FC1F3E"
@change="switchChange($event,'newNotice')" />
<switch v-else style="float: right;display: flex;" color="#FC1F3E"
@change="switchChange($event,'newNotice')" />
</view>
<view class="seting-view"><text>订阅通告主新通告</text>
<switch v-if="dataObj.forkNotice" style="float: right;display: flex;" checked
color="#FC1F3E" @change="switchChange($event,'forkNotice')" />
<switch v-else style="float: right;display: flex;" color="#FC1F3E"
@change="switchChange($event,'forkNotice')" />
</view>
</view>
</view>
</view>
<view class="line-box" style="align-items: center;">
<view class="submit-box" @click="saveSet()">保存</view>
</view>
</view>
<!-- 输入框示例 -->
<uni-popup ref="inputDialog" type="dialog" :key="keywordsValue">
@ -134,7 +140,11 @@
getSubscribeSet,
saveSubscribe
} from '@/api/business/subscribeSet.js'
import navigationBarVue from '@/components/navigation/navigationBar.vue';
export default {
components: {
navigationBarVue
},
data() {
return {
//
@ -327,6 +337,7 @@
<style lang="scss">
.dingyue-box {
padding-top: calc(90rpx + var(--status-bar-height));
border-top: 1rpx solid #F4F4F4;
width: 100%;
color: #363636;
@ -339,120 +350,126 @@
justify-content: center;
position: relative;
.line-box {
.select-box-dom {
width: 100%;
padding: 30rpx 30rpx 20rpx 30rpx;
display: flex;
flex-direction: column;
align-items: self-start;
justify-content: inherit;
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 90rpx);
overflow-y: scroll;
.submit-box {
padding: 15rpx 0;
background-color: #FC1F3E;
color: white;
width: 70%;
margin-bottom: 30rpx;
border-radius: 10rpx;
text-align: center;
}
.dl-title {
font-weight: bold;
font-size: 38rpx;
text {
margin-left: 20rpx;
font-weight: normal !important;
font-size: 22rpx;
color: #929292;
}
}
.dl-content {
.line-box {
width: 100%;
font-size: 24rpx;
padding: 15rpx;
border-bottom: 1rpx solid #F7F7F7;
padding: 30rpx 30rpx 20rpx 30rpx;
display: flex;
flex-direction: column;
align-items: self-start;
justify-content: flex-start;
.line-row {
width: 100%;
.submit-box {
padding: 15rpx 0;
background-color: #FC1F3E;
color: white;
width: 70%;
margin-bottom: 30rpx;
border-radius: 10rpx;
text-align: center;
}
.line-item {
width: calc(25% - 16rpx);
border: 1rpx solid #E9E9E9;
margin: 8rpx 8rpx;
float: left;
border-radius: 25rpx;
color: #363636;
text-align: center;
padding: 8rpx 15rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dl-title {
font-weight: bold;
font-size: 38rpx;
.keywords-item {
border: 1rpx solid #E9E9E9;
margin: 8rpx 8rpx;
float: left;
border-radius: 25rpx;
color: #363636;
text-align: center;
padding: 8rpx 20rpx;
.icon-text {
margin-left: 8rpx;
}
}
.dl-drawer-item {
display: flex;
text {
margin-left: 20rpx;
font-weight: normal !important;
font-size: 22rpx;
color: #929292;
align-items: center;
justify-content: center;
border-bottom: 1px solid #F4F4F4;
margin-bottom: 20rpx;
input {
width: 100%;
border: 1rpx solid #F4F4F4;
border-radius: 15rpx;
color: #929292;
padding: 5rpx 10rpx;
margin: 10rpx 0;
text-align: center;
height: 60rpx;
line-height: 60rpx;
}
.dl-reward-type {
flex: 1;
text-align: center;
border: 1rpx solid #F4F4F4;
color: #929292;
border-radius: 15rpx;
padding: 10rpx 25rpx;
margin: 10rpx;
}
}
.seting-view {
padding: 20rpx 0;
font-size: 30rpx;
display: flex;
align-items: center;
justify-content: flex-end;
text {
flex: 1;
}
}
}
.click {
color: #FC1F3E !important;
border: 1rpx solid #FC1F3E !important;
.dl-content {
width: 100%;
font-size: 24rpx;
padding: 15rpx;
border-bottom: 1rpx solid #F7F7F7;
.line-row {
width: 100%;
.line-item {
width: calc(25% - 16rpx);
border: 1rpx solid #E9E9E9;
margin: 8rpx 8rpx;
float: left;
border-radius: 25rpx;
color: #363636;
text-align: center;
padding: 8rpx 15rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.keywords-item {
border: 1rpx solid #E9E9E9;
margin: 8rpx 8rpx;
float: left;
border-radius: 25rpx;
color: #363636;
text-align: center;
padding: 8rpx 20rpx;
.icon-text {
margin-left: 8rpx;
}
}
.dl-drawer-item {
display: flex;
color: #929292;
align-items: center;
justify-content: center;
border-bottom: 1px solid #F4F4F4;
margin-bottom: 20rpx;
input {
width: 100%;
border: 1rpx solid #F4F4F4;
border-radius: 15rpx;
color: #929292;
padding: 5rpx 10rpx;
margin: 10rpx 0;
text-align: center;
height: 60rpx;
line-height: 60rpx;
}
.dl-reward-type {
flex: 1;
text-align: center;
border: 1rpx solid #F4F4F4;
color: #929292;
border-radius: 15rpx;
padding: 10rpx 25rpx;
margin: 10rpx;
}
}
.seting-view {
padding: 20rpx 0;
font-size: 30rpx;
display: flex;
align-items: center;
justify-content: flex-end;
text {
flex: 1;
}
}
}
.click {
color: #FC1F3E !important;
border: 1rpx solid #FC1F3E !important;
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -462,10 +462,10 @@
display: flex;
/* #ifdef APP-NVUE */
// nvue 使 margin-bottom error
padding-bottom: 22px;
padding-bottom: 20rpx;
/* #endif */
/* #ifndef APP-NVUE */
margin-bottom: 22px;
margin-bottom: 20rpx;
/* #endif */
flex-direction: row;
@ -624,4 +624,4 @@
border-width: 0;
/* #endif */
}
</style>
</style>