|
|
- <template>
- <view class="page">
- <view class="content">
- <!-- 顶部导航栏 -->
- <view class="banner sticky">
- <view :class="['head-div', isSticky && 'iooo', isSticky && 'box-shadow-light']">
- <view class="flex">
- <view>
- <uv-icon name="location" size="22" color="#333"></uv-icon>
- </view>
- <view>{{ area }}</view>
- <view @click="showRoleSelector">
- <uv-icon name="arrow-down" size="16" color="#333"></uv-icon>
- </view>
- </view>
- </view>
-
- <!-- 角色切换按钮 -->
- <view class="role-switch-container">
- <view class="role-switch-btn" @click="showRoleSelector">
- <text class="role-text">{{ currentRoleText }}</text>
- <uv-icon name="arrow-down" size="14" color="#666"></uv-icon>
- </view>
- </view>
- </view>
-
- <!-- banner图片 -->
- <view class="banner-div">
- <image style="width:690rpx;height:268rpx;border-radius:10rpx" src="/static/re/banner.png"></image>
- </view>
-
- <!-- 公告栏 -->
- <view class="notify-div flex" @click="clickNotify">
- <view class="mr10">
- <uv-icon name="volume" size="24" color="#666"></uv-icon>
- </view>
- <view class="ellipsis">公告:{{ notice.content || '砼聚人平台全新上线,欢迎大家使用!' }}</view>
- </view>
-
- <!-- 主要内容 -->
- <view class="content-div">
- <view class="font-title mt32">砼聚人小程序全新上线啦</view>
- <view class="font-subtitle m20">深度开放共创共赢</view>
- <view class="description">
- 砼聚人平台隶属于长沙市砼聚人科技有限公司,平台专注于为混凝土行业的设备提供灵活用工(现主营业务为泵车,车载泵,搅拌车提供代驾服务),致力于解决行业用工成本及用工风险的行业痛点,帮助客户降低成本,提升市场竞争力。同时,提升泵车操作手应有的技术价值,实现工作自由度高,劳动强度低,收入高,结算快的未来工作场景,我们的梦想是,让行业的兄弟活得更有尊严
- </view>
-
- <!-- 入驻按钮 -->
- <view class="flex m20 font-botton">
- <view class="flex" style="width:50%" @click="clickDriver">
- <image src="/static/re/ideic3.png" class="square40 mr10" />
- <view style="line-height:40rpx">泵司入驻</view>
- </view>
- <view class="flex" style="width:50%" @click="clickEnter">
- <image src="/static/re/ideic4.png" class="square40 mr10" />
- <view style="line-height:40rpx">企业入驻</view>
- </view>
- </view>
-
- <!-- 描述文字和图片 -->
- <view class="description-with-image">
- 随着疫情到来,全民进入消费降级时代,行业进入寒冬,许多企业面临困境并关闭。然而,在这个
- <image style="float:right;width:480rpx;height:378rpx" src="/static/re/ide1.png"></image>
- 挑战中,人们开始重视居家生活质量和健康,促进了需求量上升。行业逐渐适应新常态,加强线上销售和定制服务,不断创新和改进产品。逆境中孕育机遇,希望新的一年能带来行业的复苏和发展。
- </view>
-
- <!-- 统计数据 -->
- <view class="flex m36">
- <view class="flex" style="width:50%">
- <image src="/static/re/ideic1.png" class="square80 mr10" />
- <view>
- <view style="line-height:60rpx;font-size:60rpx;color:#F40000;font-weight:bolder">{{ num1 || '1000+' }}</view>
- <view style="line-height:20rpx;font-size:20rpx;color:#aaa">企业入驻</view>
- </view>
- </view>
- <view class="flex" style="width:50%">
- <image src="/static/re/ideic2.png" class="square80 mr10" />
- <view>
- <view style="line-height:60rpx;font-size:60rpx;color:#F40000;font-weight:bolder">{{ num2 || '5000+' }}</view>
- <view style="line-height:20rpx;font-size:20rpx;color:#aaa">司机入驻</view>
- </view>
- </view>
- </view>
-
- <!-- 视频介绍 -->
- <view @click="clickVideo">
- <view class="m10">更多精彩更在视频介绍:</view>
- <video style="width:690rpx;height:1272rpx" :src="videoUrl" :autoplay="true"></video>
- </view>
- </view>
- </view>
-
- <tabber select="home" />
-
- <!-- 身份切换浮窗 -->
- <view class="role-float-btn" @click="showRoleModal">
- <uv-icon name="man" size="24" color="#fff"></uv-icon>
- </view>
-
- <!-- 角色选择组件 -->
- <role-selector ref="roleSelector" @roleChanged="onRoleChanged"></role-selector>
- </view>
- </template>
-
- <script>
- import tabber from '@/components/base/tabbar.vue'
- import roleSelector from '@/components/config/roleSelector.vue'
- import { mapState, mapGetters, mapMutations } from 'vuex'
-
- export default {
- components: {
- tabber,
- roleSelector,
- },
- data() {
- return {
- area: '长沙',
- isSticky: false,
- num1: '1000+',
- num2: '5000+',
- notice: {
- content: '砼聚人平台全新上线,欢迎大家使用!'
- },
- leftIcon: false,
- rightIcon: false,
- videoUrl: 'https://relief.oss-cn-hangzhou.aliyuncs.com/home.mp4'
- }
- },
- computed: {
- ...mapState(['role']),
- ...mapGetters(['currentRoleText'])
- },
- onShow() {
- this.loadData();
- // 初始化角色
- this.initRole();
- // 监听滚动实现粘性导航
- const intersectionObserver = uni.createIntersectionObserver(this);
- intersectionObserver.relativeToViewport({ top: 0 }).observe('.banner-div', (res) => {
- if (res.intersectionRatio <= 0) {
- this.isSticky = true;
- } else {
- this.isSticky = false;
- }
- });
-
- // 获取存储的地区信息
- this.area = uni.getStorageSync('area') || '长沙';
-
- // 监听角色变更事件
- uni.$on('roleChanged', (newRole) => {
- console.log('角色已变更为:', newRole);
- });
- },
- methods: {
- ...mapMutations(['initRole']),
- // 点击公告
- clickNotify() {
- uni.navigateTo({ url: '/pages_order/base/notify' });
- },
- // 泵司入驻
- clickDriver() {
- uni.navigateTo({ url: '/pages_order/login/driver' });
- },
- // 企业入驻
- clickEnter() {
- uni.navigateTo({ url: '/pages_order/login/enter' });
- },
- // 加载数据
- loadData() {
- // 模拟加载统计数据
- setTimeout(() => {
- this.num1 = '1200+';
- this.num2 = '5800+';
- }, 1000);
- },
- // 点击视频
- clickVideo() {
- console.log('点击视频');
- },
- // 显示角色选择器
- showRoleSelector() {
- this.$refs.roleSelector.open();
- },
-
- // 显示身份切换弹窗
- showRoleModal() {
- this.$refs.roleSelector.open();
- },
- // 处理角色变更事件
- onRoleChanged(newRole) {
- console.log('角色已变更为:', newRole);
- },
-
- }
- }
- </script>
-
- <style scoped lang="scss">
- body {
- background-color: #FFF;
- }
-
- .iooo {
- background-color: #FFF;
- }
-
- .banner {
- width: 100vw;
- height: 344rpx;
- background: radial-gradient(200% 100% at 49% 0%, rgba(205, 0, 0, 0.2) 0%, rgba(233, 244, 252, 0) 100%);
- }
-
- .head-div {
- width: 690rpx;
- height: 88rpx;
- padding: 88rpx 30rpx 0rpx;
- line-height: 88rpx;
- font-size: 32rpx;
- color: #000000;
- }
-
- .banner-div {
- width: 690rpx;
- height: 260rpx;
- margin: -160rpx auto 10rpx;
- }
-
- .notify-div {
- width: 690rpx;
- margin: 30rpx auto 10rpx;
- font-size: 24rpx;
- line-height: 36rpx;
- color: #1C1C1C;
- }
-
- .content-div {
- width: 690rpx;
- margin: 0 auto;
- margin-top: 10rpx;
- font-size: 28rpx;
- line-height: 52rpx;
- color: rgba(51, 51, 51, 0.85);
- }
-
- .font-title {
- font-size: 36rpx;
- font-weight: bold;
- color: #333;
- }
-
- .font-subtitle {
- font-size: 28rpx;
- color: #666;
- }
-
- .font-botton {
- font-size: 28rpx;
- color: #333;
- }
-
- .description {
- text-align: justify;
- line-height: 1.6;
- }
-
- .description-with-image {
- text-align: justify;
- line-height: 1.6;
- margin: 20rpx 0;
- }
-
- .flex {
- display: flex;
- align-items: center;
- }
-
- .flex-sb {
- display: flex;
- justify-content: space-between;
- align-items: center;
- }
-
- .mr10 {
- margin-right: 10rpx;
- }
-
- .m20 {
- margin: 20rpx 0;
- }
-
- .m36 {
- margin: 36rpx 0;
- }
-
- .mt32 {
- margin-top: 32rpx;
- }
-
- .square40 {
- width: 40rpx;
- height: 40rpx;
- }
-
- .square80 {
- width: 80rpx;
- height: 80rpx;
- }
-
- .ellipsis {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
-
- .box-shadow-light {
- box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
- }
-
- .m10 {
- margin: 10rpx 0;
- }
-
- .role-switch-container {
- position: absolute;
- top: 20rpx;
- right: 30rpx;
- z-index: 10;
- }
-
- .role-switch-btn {
- display: flex;
- align-items: center;
- padding: 10rpx 20rpx;
- background-color: rgba(255, 255, 255, 0.9);
- border-radius: 30rpx;
- border: 1rpx solid #e0e0e0;
- box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
- }
-
- .role-text {
- font-size: 24rpx;
- color: #333;
- margin-right: 8rpx;
- }
-
- .role-float-btn {
- position: fixed;
- bottom: 200rpx;
- right: 30rpx;
- width: 100rpx;
- height: 100rpx;
- background: linear-gradient(135deg, #007AFF 0%, #0056CC 100%);
- border-radius: 50rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- box-shadow: 0 8rpx 20rpx rgba(0, 122, 255, 0.3);
- z-index: 999;
- transition: all 0.3s ease;
-
- &:active {
- transform: scale(0.95);
- box-shadow: 0 4rpx 10rpx rgba(0, 122, 255, 0.2);
- }
- }
-
-
- </style>
|