Browse Source

云生态8

zys
kk_888 3 years ago
parent
commit
e98ce5f264
  1. 8
      pages.json
  2. 128
      pages/demandHall/demoInvestment/index.vue
  3. 350
      pages/demandHall/enterprisePage/index.vue
  4. 272
      pages/demandHall/enterpriseServer/index.vue
  5. 435
      pages/demandHall/index.vue

8
pages.json

@ -243,6 +243,13 @@
"enablePullDownRefresh": true "enablePullDownRefresh": true
} }
}, },
{
"path": "pages/demandHall/enterprisePage/index",
"style": {
"navigationBarTitleText": "企业主页",
"enablePullDownRefresh": true
}
},
{ {
"path": "pages/demandHall/demoInvestment/index", "path": "pages/demandHall/demoInvestment/index",
"style": { "style": {
@ -264,6 +271,7 @@
"enablePullDownRefresh": true "enablePullDownRefresh": true
} }
}, },
{ {
"path": "pages/release/index", "path": "pages/release/index",
"style": { "style": {

128
pages/demandHall/demoInvestment/index.vue

@ -76,20 +76,50 @@
<view class="mask-box" v-if="showScreenDialog"> <view class="mask-box" v-if="showScreenDialog">
<view :class="'screen-dialog-box ' + (showScreenDialog ? 'move' : '')"> <view :class="'screen-dialog-box ' + (showScreenDialog ? 'move' : '')">
<view class="screen-list"> <view class="screen-list">
<view class="screen-item"> <!-- <view class="screen-item">
<view class="screen-title">所有服务</view> <view class="screen-title">所有服务</view>
<view class="acea-row"> <view class="acea-row">
<view v-for="(item, index) in cagetoryList" :key="index" :class="'item ' + (cagetoryActive == index ? 'item-active' : '')" @tap="cagetoryClick" :data-i="index" :data-item="item">{{item.cagetoryName}}</view> <view v-for="(item, index) in cagetoryList" :key="index" :class="'item ' + (cagetoryActive == index ? 'item-active' : '')" @tap="cagetoryClick" :data-i="index" :data-item="item">{{item.cagetoryName}}</view>
</view> </view>
</view> -->
<view class="screen-item" >
<view class="screen-title" >项目领域</view>
<view class="acea-row">
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
</view>
</view>
<view class="screen-item">
<view class="screen-title">项目阶段</view>
<view class="acea-row">
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
</view>
</view> </view>
<view class="screen-item"> <view class="screen-item">
<view class="screen-title">项目标签</view>
<view class="acea-row">
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
<view class="item">农林牧鱼</view>
</view>
</view>
<!-- <view class="screen-item">
<view class="screen-title">商家身份<text class="fz20">(所有商家均实名认证)</text></view> <view class="screen-title">商家身份<text class="fz20">(所有商家均实名认证)</text></view>
<view class="acea-row"> <view class="acea-row">
<view :class="'item ' + (enterpriseType == 2 ? 'item-active' : '')" @tap="businessChange" data-name="个人认证" data-type="2">个人认证</view> <view :class="'item ' + (enterpriseType == 2 ? 'item-active' : '')" @tap="businessChange" data-name="个人认证" data-type="2">个人认证</view>
<view :class="'item ' + (enterpriseType == 1 ? 'item-active' : '')" @tap="businessChange" data-name="企业认证" data-type="1">企业认证</view> <view :class="'item ' + (enterpriseType == 1 ? 'item-active' : '')" @tap="businessChange" data-name="企业认证" data-type="1">企业认证</view>
</view> </view>
</view> </view> -->
<view class="submit-box acea-row"> <view class="submit-box acea-row row-between">
<view class="btn reset" @tap="resetClick">重置</view> <view class="btn reset" @tap="resetClick">重置</view>
<view class="btn finish" @tap="finishClick">完成</view> <view class="btn finish" @tap="finishClick">完成</view>
</view> </view>
@ -117,39 +147,44 @@
cName: "", cName: "",
} }
}, },
onLoad: function (options) { // onLoad: function (options) {
this.getCagetoryList(); // this.getCagetoryList();
}, // },
methods:{ methods:{
tabClick(e) { tabClick(e) {
this.setData({ this.setData({
active: e.currentTarget.dataset.i, active: e.currentTarget.dataset.i,
}) })
}, },
getCagetoryList() { // getCagetoryList() {
app.http('get', 'ResourcesCagetory/listResourcesCagetory').then(res => { // app.http('get', 'ResourcesCagetory/listResourcesCagetory').then(res => {
if (res.data.success) { // if (res.data.success) {
this.setData({ // this.setData({
cagetoryList: res.data.data // cagetoryList: res.data.data
}); // });
} // }
}); // });
}, // },
showDialog() { showDialog() {
this.setData({ this.setData({
showScreenDialog: true showScreenDialog: true
}); });
}, },
cagetoryClick(e) { showhaha() {
let item = e.currentTarget.dataset.item;
let i = e.currentTarget.dataset.i;
console.log(item);
this.setData({ this.setData({
cagetoryActive: i, showScreenDialog: true
resourceCagetoryId: item.id,
choseCagetory: item.cagetoryName
}); });
}, },
// cagetoryClick(e) {
// let item = e.currentTarget.dataset.item;
// let i = e.currentTarget.dataset.i;
// console.log(item);
// this.setData({
// cagetoryActive: i,
// resourceCagetoryId: item.id,
// choseCagetory: item.cagetoryName
// });
// },
businessChange(e) { businessChange(e) {
let type = e.currentTarget.dataset.type; let type = e.currentTarget.dataset.type;
let name = e.currentTarget.dataset.name; let name = e.currentTarget.dataset.name;
@ -435,9 +470,9 @@
.mask-box{ .mask-box{
width: 100%; width: 100%;
height: 100vh; height: 100vh;
background: rgba(0,0,0,.6); background: rgba(0,0,0,.5);
position:fixed; position:fixed;
top: 0;/* #ifdef H5 */ top: 190rpx;/* #ifdef H5 */
top: calc(88rpx + constant(safe-area-inset-top)); top: calc(88rpx + constant(safe-area-inset-top));
top: calc(88rpx + env(safe-area-inset-top));/* #endif */ top: calc(88rpx + env(safe-area-inset-top));/* #endif */
left: 0; left: 0;
@ -445,13 +480,13 @@
} }
.screen-dialog-box{ .screen-dialog-box{
width: 602rpx; width: 590rpx;
height: 100%; height: 100%;
/* padding-bottom: 160rpx; */ padding-top: 10rpx;
overflow-y: scroll; overflow-y: scroll;
background-color: #fff; background-color: #fff;
position: absolute; position: absolute;
top: 0; top: 0rpx;
right: 0rpx; right: 0rpx;
animation: move 200ms ease; animation: move 200ms ease;
} }
@ -469,29 +504,29 @@
.screen-item{ .screen-item{
width: 100%; width: 100%;
padding: 0 38rpx; padding: 0 38rpx;
padding-bottom: 22rpx; overflow: hidden;
border-bottom: 2rpx solid #EEEEEE; transform: all .2s linear;
} }
.screen-title{ .screen-title{
font-size: 24rpx; font-size: 28rpx;
color: #000; color: #343434;
margin-bottom: 32rpx; margin-bottom: 32rpx;
font-weight: 600
;
} }
.screen-item{ .screen-item{
padding-top: 40rpx; padding-top: 40rpx;
} }
.screen-item .item{ .screen-item .item{
width: 162rpx; width: 152rpx;
height: 48rpx; height: 64rpx;
line-height: 48rpx; line-height: 64rpx;
text-align: center; text-align: center;
font-size: 24rpx; font-size: 24rpx;
color: #666666; color: #666666;
background: #F6F6F6; background: #F6F6F6;
border-radius: 4rpx; margin: 0 32rpx 32rpx 0;
margin-bottom: 20rpx;
margin-right: 20rpx;
} }
.screen-item .item:nth-child(3n){ .screen-item .item:nth-child(3n){
margin-right: 0; margin-right: 0;
@ -523,18 +558,19 @@
color: #393939; color: #393939;
} }
.submit-box{ .submit-box{
width: 602rpx; width: 376rpx;
height: 100rpx; height: 64rpx;
box-shadow: 2rpx 0px 12rpx rgba(0, 0, 0, 0.16); margin: 0 auto;
position: fixed; margin-top: 64rpx;
bottom: 0;
right: 0;
} }
.submit-box .btn{ .submit-box .btn{
width: 50%; width: 152rpx;
height: 100%; height: 64rpx;
line-height: 100rpx; line-height: 64rpx;
text-align: center; text-align: center;
border-radius: 12rpx;
color: #FF5100;
border: 2rpx solid #FF9665;
} }
.submit-box .finish{ .submit-box .finish{
background: #FF660C; background: #FF660C;

350
pages/demandHall/enterprisePage/index.vue

@ -0,0 +1,350 @@
<template>
<view class="enterprise-page">
<image src="../../../static/images/business-img3.png" mode="aspectFill" class="top-img"></image>
<view class="enterprise-info-box">
<view class="company-info-box acea-row">
<image :src="detail.enterpriseLogo" mode="aspectFill" class="logo-img"></image>
<view class="info-right acea-row row-column-between">
<view class="name line1">{{detail.enterpriseName}}</view>
<view class="line1">{{detail.enterpriseTitle}}</view>
<view class="category-box acea-row">
<view class="tag-item-b tag line1">{{detail.cname}}</view>
</view>
</view>
</view>
<view class="contact-box acea-row row-column-between">
<view class="acea-row row-middle">
<image src="/static/images/home/c-location.png" class="contact-icon"></image>
<text class="line1">{{detail.enterpriseAddress}}</text>
</view>
<view class="acea-row row-middle" >
<image src="/static/images/home/c-site.png" class="contact-icon"></image>
<text class="line1">{{detail.enterpriseNet}}</text>
</view>
<view class="acea-row row-middle">
<image src="/static/images/home/c-phone.png" class="contact-icon"></image>
<text class="line1">{{detail.enterprisePhone}}</text>
</view>
</view>
</view>
<view class="navigation-box acea-row row-between-wrapper">
<view :class="'tab ' + (active == 1 ? 'tab-a' : '')" data-i="1" @tap="tabClick">首页</view>
<view :class="'tab ' + (active == 2 ? 'tab-a' : '')" data-i="2" @tap="tabClick">资源({{detail.resourceList.length || 0}})</view>
<view :class="'tab ' + (active == 3 ? 'tab-a' : '')" data-i="3" @tap="tabClick">需求({{detail.demandList.length || 0}})</view>
</view>
<view class="modular-box">
<!-- 首页 -->
<view class="home-box" v-if="active == 1">
<view class="company-show-box">
<view class="title-box acea-row row-middle">
<image src="../../../static/images/shu.png" mode=""></image>案例展示
</view>
<view>
<swiper class="swiper-block" autoplay="true" circular="true" previous-margin="0rpx" next-margin="180rpx" current="0" @change="swiperChange">
<block v-for="(item, index) in detail.imgPaths" :key="index">
<swiper-item class="swiper-item" @tap="previewImg">
<image mode="aspectFill" :src="item" :class="'slide-image ' + (swiperIndex == index ? 'active' : '')"></image>
</swiper-item>
</block>
</swiper>
</view>
</view>
<view class="title-box acea-row row-middle">
<image src="../../../static/images/shu.png" mode=""></image>基本信息
</view>
<view class="info-box">
<view class="info-item acea-row-nowrap">
<view class="f-weight">企业名称</view>
<view class="colG">{{detail.enterpriseName}}</view>
</view>
<view class="info-item acea-row-nowrap">
<view class="f-weight">所属类型</view>
<view class="colG">{{detail.enterpriseType == 1? '企业' : '个人团队' }}</view>
</view>
<view class="info-item acea-row-nowrap">
<view class="f-weight">法定代表</view>
<view class="colG">{{detail.legalPersonName}}</view>
</view>
<view class="info-item acea-row-nowrap">
<view class="f-weight">企业规模</view>
<view class="colG">{{detail.enterpriseScale}}</view>
</view>
<view class="info-item acea-row-nowrap">
<view class="f-weight">经营范围</view>
<view class="colG">{{detail.businessNature}}</view>
</view>
</view>
<view class="about-box">
<view class="title-box acea-row row-middle">
<image src="../../../static/images/shu.png" mode=""></image>关于我们
</view>
<view class="about">
<text>{{detail.resourceIntroduction}}</text>
</view>
</view>
</view>
<!-- 资源 -->
<view class="" v-if="active == 2">
</view>
<!-- 需求 -->
<view class="" v-if="active == 3">
</view>
</view>
</view>
</template>
<script>
const app = getApp();
export default {
data() {
return {
active: '1',
detail: {},
swiperIndex: 0,
}
},
onLoad: function (options) {
this.setData({
id: options.id
});
this.getDetail();
},
methods:{
previewImg() {
uni.previewImage({
current: this.detail.imgPaths[0],
// http
urls: this.detail.imgPaths // http
});
},
tabClick(e) {
this.setData({
active: e.currentTarget.dataset.i,
})
},
getDetail() {
app.http('get', 'Enterprise/enterpriseInfo', {
id: this.id
}).then(res => {
if (res.data.success) {
this.setData({
detail: res.data.data
});
}
});
},
swiperChange(e) {
const that = this;
that.setData({
swiperIndex: e.detail.current
});
},
},
}
</script>
<style lang="less">
.enterprise-page {
width: 100%;
height: auto;
background: #fff;
position: relative;
}
.top-img {
width: 100%;
height: 406rpx;
display: block;
}
.enterprise-info-box {
width: 100%;
height: 406rpx;
background: linear-gradient(to bottom, rgba(24, 24, 24, 1), rgba(0, 0, 0, 0.3));
position: absolute;
top: 0;
padding: 92rpx 40rpx 28rpx 40rpx;
.company-info-box {
.logo-img {
width: 134rpx;
height: 134rpx;
margin-right: 26rpx;
}
.info-right {
width: 332rpx;
height: 134rpx;
color: #FFFFFF;
font-size: 24rpx;
.name {
line-height: 35rpx;
font-size: 32rpx;
}
.category-box {
.tag {
width: 106rpx;
height: 36rpx;
line-height: 36rpx;
border-radius: 8rpx;
font-size: 20rpx;
margin-right: 12rpx;
text-align: center;
color: #fff;
}
.tag-item-b {
background: #5D8AFD;
}
.tag-item-y {
background: #FD855B;
}
}
}
}
.contact-box{
width: 336rpx;
height: 106rpx;
font-size: 24rpx;
font-weight: 500;
color: #FFFFFF;
margin-top: 46rpx;
.contact-icon{
width: 20rpx;
height: 20rpx;
margin-right: 10rpx;
}
.line1{
width: 300rpx;
line-height: 30rpx;
}
}
}
.navigation-box {
width: 100%;
height: 74rpx;
background: #FFFFFF;
box-shadow: 0px -6rpx 20rpx rgba(0, 0, 0, 0.11);
padding: 0 25rpx;
.tab {
width: 146rpx;
height: 74rpx;
line-height: 74rpx;
font-size: 28rpx;
color: #BFBFBF;
position: relative;
font-weight: 500;
text-align: center;
}
.tab::after {
display: block;
content: '';
width: 74rpx;
height: 8rpx;
border-radius: 8rpx;
background: #FF5100;
position: absolute;
bottom: -5rpx;
left: 50%;
margin-left: -37rpx;
opacity: 0;
transform: scaleX(0);
transition: all .2s ease, opacity .15s ease;
}
.tab-a {
color: #FF5100;
}
.tab-a::after {
opacity: 1;
transform: scaleX(1);
}
}
.modular-box{
width: 100%;
height: auto;
}
//
.home-box{
width: 100%;
padding-bottom: 140rpx;
.title-box{
font-size: 36rpx;
font-weight: 600;
color: #1D1D1D;
padding: 50rpx 0rpx 15rpx 40rpx;
}
.title-box image {
width: 18rpx;
height: 36rpx;
margin-right: 10rpx;
}
.col-line{
width: 8rpx;
height: 36rpx;
background: #FF7942;
border-radius: 4rpx;
margin-right: 14rpx;
}
.info-item{
padding-left: 40rpx;
margin-bottom: 20rpx;
font-size: 28rpx;
line-height: 40rpx;
color: #1D1D1D;
}
.f-weight{
font-weight: 600;
}
.colG{
width: 496rpx;
color: #707070;
margin-left: 30rpx;
}
.about{
padding: 0rpx 40rpx;
}
.about text{
font-size: 28rpx;
color: #707070;
line-height: 40rpx;
}
.swiper-block {
width: 100%;
}
.swiper-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
overflow: unset;
}
.slide-image {
height: 250rpx;
width: 520rpx;
border-radius: 9rpx;
margin: 0rpx 30rpx;
z-index: 1;
}
.active {
transform: scale(1.14);
transition: all 0.2s ease-in 0s;
z-index: 20;
padding-left: 40rpx;
}
}
</style>

272
pages/demandHall/enterpriseServer/index.vue

@ -2,15 +2,15 @@
<view class="supplyHall-page"> <view class="supplyHall-page">
<!-- 导航栏 --> <!-- 导航栏 -->
<view class="navigation-box"> <view class="navigation-box">
<view class="search-box acea-row row-middle" > <view class="search-box acea-row row-middle">
<image src="../../../static/images/search-icon.png" mode=""></image> <image src="../../../static/images/search-icon.png" mode=""></image>
<input type="text" value="" placeholder="请输入企业名或服务进行搜索"/> <input type="text" value="" placeholder="请输入企业名或服务进行搜索" />
<view class="search acea-row row-center-wrapper">搜一下</view> <view class="search acea-row row-center-wrapper">搜一下</view>
</view> </view>
<view class="resource-tabs acea-row"> <view class="resource-tabs acea-row">
<view :class="'tab ' + (active == 1 ? 'tab-a' : '')" data-i="1" @tap="tabClick">服务列表</view> <view :class="'tab ' + (active == 1 ? 'tab-a' : '')" data-i="1" @tap="tabClick">服务列表</view>
<view :class="'tab ' + (active == 2 ? 'tab-a' : '')" data-i="2" @tap="tabClick">企业列表</view> <view :class="'tab ' + (active == 2 ? 'tab-a' : '')" data-i="2" @tap="tabClick">企业列表</view>
<view class="screen-box acea-row row-between-wrapper" > <view class="screen-box acea-row row-between-wrapper">
<view class="screen acea-row row-middle" @tap="showDialog"> <view class="screen acea-row row-middle" @tap="showDialog">
<text>筛选</text> <text>筛选</text>
<image src="/static/images/home/screen.png"></image> <image src="/static/images/home/screen.png"></image>
@ -19,13 +19,15 @@
</view> </view>
</view> </view>
<view class="supplyHall-box" > <view class="supplyHall-box">
<view class="resource-box" v-if="active == 1" > <view class="resource-box" v-if="active == 1">
<!-- 企业 --> <!-- 企业 -->
<view class="enterprise-list" v-for="(item,index) in 2" :key="index"> <view class="enterprise-list" v-for="(item,index) in 2" :key="index">
<image src="../../../static/images/act-time.png" mode="" class="lable-img"></image> <image src="../../../static/images/act-time.png" mode="" class="lable-img"></image>
<view class="enterprise-con acea-row"> <view class="enterprise-con acea-row">
<view><image src="../../../static/images/home/menu6.png" class="enterprise-img"></image></view> <view>
<image src="../../../static/images/home/menu6.png" class="enterprise-img"></image>
</view>
<view class="content-right"> <view class="content-right">
<view>APP开发平台搭建外卖小程序返现H5定制一站式解决</view> <view>APP开发平台搭建外卖小程序返现H5定制一站式解决</view>
<view class="category-box acea-row"> <view class="category-box acea-row">
@ -43,22 +45,26 @@
</view> </view>
</view> </view>
<view class="company-box" v-if="active == 2"> <view class="company-box" v-if="active == 2">
<view class="business-list" v-for="(item,index) in 2" :key="index"> <view class="business-list" v-for="(item,index) in companyList" :key="index" @tap="toCompanyDetail" :data-id="item.id">
<view class="business-lable">企业</view> <view :class="'business-lable' + (item.enterpriseType == 2 ? 'bg2' : '')">
{{item.enterpriseType == 1 ? '企业' : '个人'}}
</view>
<view class="business-con acea-row"> <view class="business-con acea-row">
<view><image src="../../../static/images/home/menu6.png" class="logo-img"></image></view>
<view> <view>
<view class="title-h">招聘前端工程师若干名</view> <image :src="item.enterpriseLogo" class="logo-img"></image>
</view>
<view>
<view class="title-h">{{item.enterpriseName}}</view>
<view class="category-box acea-row"> <view class="category-box acea-row">
<view class="tag-item-b tag">商务合作</view> <view class="tag-item-b tag">{{item.cname}}</view>
<view class="tag-item-y tag">场地租赁</view> <!-- <view class="tag-item-y tag"></view> -->
</view> </view>
<view class="title-s">专注微信小程序及微信公众号开发模板定制化服务十年经...</view> <view class="title-s">{{item.enterpriseTitle}}</view>
</view> </view>
</view> </view>
<vie class="business-img acea-row row-around"> <vie class="business-img acea-row row-around">
<image src="../../../static/images/home/menu10.png"></image> <image v-for="(item, index2) in item.imgPaths" :key="index2" mode="aspectFill" :src="item"
<image src="../../../static/images/home/menu10.png"></image> v-if="index2 < 2"></image>
</vie> </vie>
</view> </view>
</view> </view>
@ -69,14 +75,18 @@
<view class="screen-item"> <view class="screen-item">
<view class="screen-title">所有服务</view> <view class="screen-title">所有服务</view>
<view class="acea-row"> <view class="acea-row">
<view v-for="(item, index) in cagetoryList" :key="index" :class="'item ' + (cagetoryActive == index ? 'item-active' : '')" @tap="cagetoryClick" :data-i="index" :data-item="item">{{item.cagetoryName}}</view> <view v-for="(item, index) in cagetoryList" :key="index"
:class="'item ' + (cagetoryActive == index ? 'item-active' : '')" @tap="cagetoryClick"
:data-i="index" :data-item="item">{{item.cagetoryName}}</view>
</view> </view>
</view> </view>
<view class="screen-item"> <view class="screen-item">
<view class="screen-title">商家身份<text class="fz20">(所有商家均实名认证)</text></view> <view class="screen-title">商家身份<text class="fz20">(所有商家均实名认证)</text></view>
<view class="acea-row"> <view class="acea-row">
<view :class="'item ' + (enterpriseType == 2 ? 'item-active' : '')" @tap="businessChange" data-name="个人认证" data-type="2">个人认证</view> <view :class="'item ' + (enterpriseType == 2 ? 'item-active' : '')" @tap="businessChange"
<view :class="'item ' + (enterpriseType == 1 ? 'item-active' : '')" @tap="businessChange" data-name="企业认证" data-type="1">企业认证</view> data-name="个人认证" data-type="2">个人认证</view>
<view :class="'item ' + (enterpriseType == 1 ? 'item-active' : '')" @tap="businessChange"
data-name="企业认证" data-type="1">企业认证</view>
</view> </view>
</view> </view>
<view class="submit-box acea-row"> <view class="submit-box acea-row">
@ -105,16 +115,31 @@
choseCagetory: '', choseCagetory: '',
choseBusiness: '', choseBusiness: '',
cName: "", cName: "",
companyList: [],
} }
}, },
onLoad: function (options) { onLoad: function(options) {
this.getCagetoryList(); this.getCagetoryList();
}, },
methods:{ methods: {
tabClick(e) { tabClick(e) {
this.setData({ this.setData({
active: e.currentTarget.dataset.i, active: e.currentTarget.dataset.i,
}) });
if (e.currentTarget.dataset.i == 2) {
this.getCompanyList();
}
},
getCompanyList() {
app.http('post', 'Enterprise/listEnterprise').then(res => {
if (res.data.success) {
this.setData({
companyList: res.data.data.content
});
}
});
}, },
getCagetoryList() { getCagetoryList() {
app.http('get', 'ResourcesCagetory/listResourcesCagetory').then(res => { app.http('get', 'ResourcesCagetory/listResourcesCagetory').then(res => {
@ -130,6 +155,8 @@
showScreenDialog: true showScreenDialog: true
}); });
}, },
//
cagetoryClick(e) { cagetoryClick(e) {
let item = e.currentTarget.dataset.item; let item = e.currentTarget.dataset.item;
let i = e.currentTarget.dataset.i; let i = e.currentTarget.dataset.i;
@ -140,6 +167,8 @@
choseCagetory: item.cagetoryName choseCagetory: item.cagetoryName
}); });
}, },
// /
businessChange(e) { businessChange(e) {
let type = e.currentTarget.dataset.type; let type = e.currentTarget.dataset.type;
let name = e.currentTarget.dataset.name; let name = e.currentTarget.dataset.name;
@ -149,12 +178,14 @@
}); });
}, },
//
finishClick() { finishClick() {
this.setData({ this.setData({
showScreenDialog: false showScreenDialog: false
}); });
}, },
//
resetClick() { resetClick() {
this.setData({ this.setData({
cName: '', cName: '',
@ -165,37 +196,48 @@
choseCagetory: '', choseCagetory: '',
}); });
}, },
//
toCompanyDetail(e) {
let id = e.currentTarget.dataset.id;
uni.navigateTo({
url: '/pages/demandHall/enterprisePage/index?id=' + id
});
},
} }
} }
</script> </script>
<style> <style>
.supplyHall-page{ .supplyHall-page {
width: 100%; width: 100%;
min-height: 100vh; min-height: 100vh;
background: #F5F5F5; background: #F5F5F5;
font-size: 28rpx; font-size: 28rpx;
} }
/* 导航栏 */ /* 导航栏 */
.navigation-box{ .navigation-box {
width: 100%; width: 100%;
height: auto; height: auto;
background: #fff; background: #fff;
padding-top: 20rpx; padding-top: 20rpx;
} }
.search-box{
.search-box {
width: 670rpx; width: 670rpx;
height: 68rpx; height: 68rpx;
border: 2rpx solid #FF5100; border: 2rpx solid #FF5100;
border-radius: 8rpx; border-radius: 8rpx;
margin: 0 auto; margin: 0 auto;
} }
.search-box image{
.search-box image {
width: 35rpx; width: 35rpx;
height: 35rpx; height: 35rpx;
margin: 0 29rpx 0 52rpx; margin: 0 29rpx 0 52rpx;
} }
.search{
.search {
margin-left: auto; margin-left: auto;
width: 132rpx; width: 132rpx;
height: 68rpx; height: 68rpx;
@ -203,14 +245,16 @@
border-radius: 8rpx; border-radius: 8rpx;
color: #fff; color: #fff;
} }
.resource-tabs{
.resource-tabs {
width: 100%; width: 100%;
padding-top: 10rpx; padding-top: 10rpx;
background: #fff; background: #fff;
border-bottom: 2rpx solid #EEEEEE; border-bottom: 2rpx solid #EEEEEE;
padding-left: 20rpx; padding-left: 20rpx;
} }
.tab{
.tab {
width: 150rpx; width: 150rpx;
padding: 26rpx 0; padding: 26rpx 0;
font-size: 32rpx; font-size: 32rpx;
@ -220,7 +264,8 @@
text-align: center; text-align: center;
margin-left: 115rpx; margin-left: 115rpx;
} }
.tab::after{
.tab::after {
display: block; display: block;
content: ''; content: '';
width: 80rpx; width: 80rpx;
@ -232,57 +277,66 @@
left: 50%; left: 50%;
margin-left: -40rpx; margin-left: -40rpx;
opacity: 0; opacity: 0;
transform:scaleX(0); transform: scaleX(0);
transition: all .2s ease,opacity .15s ease; transition: all .2s ease, opacity .15s ease;
} }
.tab-a{
.tab-a {
color: #FF5100; color: #FF5100;
} }
.tab-a::after{
.tab-a::after {
opacity: 1; opacity: 1;
transform: scaleX(1); transform: scaleX(1);
} }
.screen-box{ .screen-box {
height: 94rpx; height: 94rpx;
padding: 0 38rpx; padding: 0 38rpx;
color: #666; color: #666;
background: #fff; background: #fff;
margin-left: auto; margin-left: auto;
} }
.screen-result{
.screen-result {
color: #FF5100; color: #FF5100;
} }
.screen image{
.screen image {
width: 27rpx; width: 27rpx;
height: 27rpx; height: 27rpx;
margin-left: 6rpx; margin-left: 6rpx;
} }
.supplyHall-box{
.supplyHall-box {
width: 670rpx; width: 670rpx;
margin: 0 auto; margin: 0 auto;
} }
.resource-box{
.resource-box {
width: 100%; width: 100%;
} }
/* 企业 */ /* 企业 */
.lable-img{ .lable-img {
width: 60rpx; width: 60rpx;
height: 32rpx; height: 32rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 12rpx; border-radius: 12rpx;
} }
.user-info{
.user-info {
margin: 8rpx 0 0rpx 20rpx; margin: 8rpx 0 0rpx 20rpx;
padding-bottom: 16rpx; padding-bottom: 16rpx;
} }
.user-name{
.user-name {
height: 40rpx; height: 40rpx;
color: #1D1D1D; color: #1D1D1D;
margin: 0 10rpx 0 16rpx; margin: 0 10rpx 0 16rpx;
} }
.tag{ .tag {
width: 112rpx; width: 112rpx;
height: 36rpx; height: 36rpx;
border-radius: 4rpx; border-radius: 4rpx;
@ -290,20 +344,23 @@
margin-right: 8rpx; margin-right: 8rpx;
text-align: center; text-align: center;
} }
.tag-item-b{
.tag-item-b {
border: 1rpx solid #3A9EFA; border: 1rpx solid #3A9EFA;
color: #3A9EFA; color: #3A9EFA;
} }
.tag-item-y{
.tag-item-y {
border: 1px solid #FFAA00; border: 1px solid #FFAA00;
color: #FFAA00; color: #FFAA00;
} }
.tag-item-p{
.tag-item-p {
color: #FC9367; color: #FC9367;
border: 1px solid #FC9367; border: 1px solid #FC9367;
} }
.todetails{ .todetails {
width: 148rpx; width: 148rpx;
height: 44rpx; height: 44rpx;
line-height: 44rpx; line-height: 44rpx;
@ -316,7 +373,7 @@
color: #fff; color: #fff;
} }
.enterprise-list{ .enterprise-list {
width: 670rpx; width: 670rpx;
background: #FFFFFF; background: #FFFFFF;
margin: 0 auto; margin: 0 auto;
@ -324,37 +381,45 @@
border-radius: 12rpx; border-radius: 12rpx;
position: relative; position: relative;
} }
.enterprise-price{
.enterprise-price {
height: 40rpx; height: 40rpx;
font-size: 28rpx; font-size: 28rpx;
color: #FF5100; color: #FF5100;
} }
.head-logo{
.head-logo {
width: 72rpx; width: 72rpx;
height: 72rpx; height: 72rpx;
} }
.enterprise-con{
.enterprise-con {
width: 100%; width: 100%;
height: 192rpx; height: 192rpx;
margin: 6rpx 20rpx 10rpx 20rpx; margin: 6rpx 20rpx 10rpx 20rpx;
} }
.enterprise-img{
.enterprise-img {
width: 150rpx; width: 150rpx;
height: 192rpx; height: 192rpx;
margin-right: 30rpx; margin-right: 30rpx;
} }
.content-right{
.content-right {
width: 456rpx; width: 456rpx;
position: relative; position: relative;
} }
.content-right>.supply-screen{
.content-right>.supply-screen {
margin: 16rpx 0 20rpx 0; margin: 16rpx 0 20rpx 0;
} }
.company-box{
.company-box {
width: 670rpx; width: 670rpx;
margin: 0 auto; margin: 0 auto;
} }
.business-list{
.business-list {
width: 670rpx; width: 670rpx;
background: #FFFFFF; background: #FFFFFF;
margin: 0 auto; margin: 0 auto;
@ -362,7 +427,8 @@
border-radius: 12rpx; border-radius: 12rpx;
position: relative; position: relative;
} }
.business-lable{
.business-lable {
width: 60rpx; width: 60rpx;
height: 32rpx; height: 32rpx;
background: rgba(88, 144, 255, 0.91); background: rgba(88, 144, 255, 0.91);
@ -371,49 +437,67 @@
text-align: center; text-align: center;
font-size: 20rpx; font-size: 20rpx;
} }
.business-con{
.bg2 {
background: rgba(255, 170, 0, 0.63);
}
.business-con {
margin: 8rpx 20rpx 16rpx 20rpx; margin: 8rpx 20rpx 16rpx 20rpx;
} }
.logo-img{
.logo-img {
width: 154rpx; width: 154rpx;
height: 154rpx; height: 154rpx;
margin-right: 20rpx; margin-right: 20rpx;
} }
.title-h{
.title-h {
height: 44rpx; height: 44rpx;
font-size: 32rpx; font-size: 32rpx;
color: #1D1D1D; color: #1D1D1D;
margin-bottom: 8rpx; margin-bottom: 8rpx;
} }
.title-s{
.title-s {
width: 456rpx; width: 456rpx;
height: 72rpx; height: 65rpx;
font-size: 24rpx; font-size: 24rpx;
color: #666666; color: #666666;
margin-top: 10rpx; margin-top: 10rpx;
overflow: hidden;
text-overflow: ellipsis;
} }
.business-img{
.business-img {
width: 630rpx; width: 630rpx;
height: 176rpx; height: 176rpx;
margin: 0 20rpx; margin: 0 20rpx;
padding-bottom: 30rpx; padding-bottom: 30rpx;
} }
.business-img image{
.business-img image {
width: 305rpx; width: 305rpx;
height: 176rpx; height: 176rpx;
border-radius: 8rpx;
} }
.mask-box{
.mask-box {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
background: rgba(0,0,0,.6); background: rgba(0, 0, 0, .6);
position:fixed; position: fixed;
top: 0;/* #ifdef H5 */ top: 0;
/* #ifdef H5 */
top: calc(88rpx + constant(safe-area-inset-top)); top: calc(88rpx + constant(safe-area-inset-top));
top: calc(88rpx + env(safe-area-inset-top));/* #endif */ top: calc(88rpx + env(safe-area-inset-top));
/* #endif */
left: 0; left: 0;
z-index: 9999; z-index: 9999;
} }
.screen-dialog-box{
.screen-dialog-box {
width: 602rpx; width: 602rpx;
height: 100%; height: 100%;
/* padding-bottom: 160rpx; */ /* padding-bottom: 160rpx; */
@ -424,33 +508,38 @@
right: 0rpx; right: 0rpx;
animation: move 200ms ease; animation: move 200ms ease;
} }
/* .move{ /* .move{
right: 0rpx; right: 0rpx;
} */ } */
@keyframes move{ @keyframes move {
0%{ 0% {
transform: translateX(800rpx); transform: translateX(800rpx);
} }
100%{
100% {
transform: translateX(0rpx); transform: translateX(0rpx);
} }
} }
.screen-item{
.screen-item {
width: 100%; width: 100%;
padding: 0 38rpx; padding: 0 38rpx;
padding-bottom: 22rpx; padding-bottom: 22rpx;
border-bottom: 2rpx solid #EEEEEE; border-bottom: 2rpx solid #EEEEEE;
} }
.screen-title{
.screen-title {
font-size: 24rpx; font-size: 24rpx;
color: #000; color: #000;
margin-bottom: 32rpx; margin-bottom: 32rpx;
} }
.screen-item{
.screen-item {
padding-top: 40rpx; padding-top: 40rpx;
} }
.screen-item .item{ .screen-item .item {
width: 162rpx; width: 162rpx;
height: 48rpx; height: 48rpx;
line-height: 48rpx; line-height: 48rpx;
@ -462,36 +551,43 @@
margin-bottom: 20rpx; margin-bottom: 20rpx;
margin-right: 20rpx; margin-right: 20rpx;
} }
.screen-item .item:nth-child(3n){
.screen-item .item:nth-child(3n) {
margin-right: 0; margin-right: 0;
} }
.screen-item .item-active{
.screen-item .item-active {
border: 2rpx solid #FF6E33; border: 2rpx solid #FF6E33;
color: #FE7D26; color: #FE7D26;
background: #FDEFE6; background: #FDEFE6;
} }
.across-line{
.across-line {
width: 44rpx; width: 44rpx;
height: 2rpx; height: 2rpx;
background: #ACABAB; background: #ACABAB;
margin: 0 12rpx; margin: 0 12rpx;
} }
.low-price{
.low-price {
width: 228rpx; width: 228rpx;
height: 60rpx; height: 60rpx;
background: #F6F5F5; background: #F6F5F5;
border-radius: 4rpx; border-radius: 4rpx;
} }
.low-price input{
.low-price input {
width: 100%; width: 100%;
height: 100%; height: 100%;
text-align: center; text-align: center;
} }
.fz20{
.fz20 {
font-size: 20rpx; font-size: 20rpx;
color: #393939; color: #393939;
} }
.submit-box{
.submit-box {
width: 602rpx; width: 602rpx;
height: 100rpx; height: 100rpx;
box-shadow: 2rpx 0px 12rpx rgba(0, 0, 0, 0.16); box-shadow: 2rpx 0px 12rpx rgba(0, 0, 0, 0.16);
@ -499,18 +595,16 @@
bottom: 0; bottom: 0;
right: 0; right: 0;
} }
.submit-box .btn{
.submit-box .btn {
width: 50%; width: 50%;
height: 100%; height: 100%;
line-height: 100rpx; line-height: 100rpx;
text-align: center; text-align: center;
} }
.submit-box .finish{
.submit-box .finish {
background: #FF660C; background: #FF660C;
color: #fff; color: #fff;
} }
</style> </style>

435
pages/demandHall/index.vue

@ -1,5 +1,5 @@
<template> <template>
<view class="dmandhall-page"> <view class="dmandhall-page">
<view class="top-box acea-row row-between-wrapper"> <view class="top-box acea-row row-between-wrapper">
<view class="top-l-box acea-row"> <view class="top-l-box acea-row">
<view :class="'tab-item ' + (active == 1 ? 'tab-item-a' : '')" data-i="1" @tap="topTabClick">资源供应</view> <view :class="'tab-item ' + (active == 1 ? 'tab-item-a' : '')" data-i="1" @tap="topTabClick">资源供应</view>
@ -13,7 +13,7 @@
<view :class="'tab ' + (tabActive == 1 ? 'tab-a' : '')" data-i="1" @tap="tabClick">资源列表</view> <view :class="'tab ' + (tabActive == 1 ? 'tab-a' : '')" data-i="1" @tap="tabClick">资源列表</view>
<view :class="'tab ' + (tabActive == 2 ? 'tab-a' : '')" data-i="2" @tap="tabClick">企业列表</view> <view :class="'tab ' + (tabActive == 2 ? 'tab-a' : '')" data-i="2" @tap="tabClick">企业列表</view>
</view> </view>
<view class="screen-box acea-row row-between-wrapper" v-if="active == 1" > <view class="screen-box acea-row row-between-wrapper" v-if="active == 1">
<view class="screen-result"> <view class="screen-result">
{{choseCagetory}} {{choseCagetory}}
<text v-if="choseCagetory != '' && choseBusiness != ''">-</text> <text v-if="choseCagetory != '' && choseBusiness != ''">-</text>
@ -28,7 +28,8 @@
<!-- 资源供应 --> <!-- 资源供应 -->
<view class="resource-box" v-if="active == 1"> <view class="resource-box" v-if="active == 1">
<view class="resource-list"> <view class="resource-list">
<view v-for="(item, index) in list" :key="index" class="resource-item acea-row-nowrap" @tap="toResourceDetail" :data-id="item.id" v-if="tabActive == 1"> <view v-for="(item, index) in list" :key="index" class="resource-item acea-row-nowrap"
@tap="toResourceDetail" :data-id="item.id" v-if="tabActive == 1">
<view class="logo-box"> <view class="logo-box">
<image :src="item.resourceImgs[0]" mode="aspectFill"></image> <image :src="item.resourceImgs[0]" mode="aspectFill"></image>
</view> </view>
@ -47,9 +48,11 @@
<view class="toMore-btn">了解详情</view> <view class="toMore-btn">了解详情</view>
</view> </view>
</view> </view>
<view v-for="(item, index) in companyList" :key="index" class="resource-item acea-row-nowrap" v-if="tabActive == 2" @tap="toCompanyDetail" :data-id="item.id"> <view v-for="(item, index) in companyList" :key="index" class="resource-item acea-row-nowrap"
v-if="tabActive == 2" @tap="toCompanyDetail" :data-id="item.id">
<view class="logo-box"> <view class="logo-box">
<view :class="'tips-item ' + (item.enterpriseType == 2 ? 'bg2' : '' )">{{item.enterpriseType == 1 ? '企业' : '个人'}}</view> <view :class="'tips-item ' + (item.enterpriseType == 2 ? 'bg2' : '' )">
{{item.enterpriseType == 1 ? '企业' : '个人'}}</view>
<image :src="item.enterpriseLogo" mode="aspectFill"></image> <image :src="item.enterpriseLogo" mode="aspectFill"></image>
</view> </view>
<view class="resource-info"> <view class="resource-info">
@ -62,7 +65,8 @@
<view class="desc line2" v-if="item.enterpriseType == 1">{{item.enterpriseTitle}}</view> <view class="desc line2" v-if="item.enterpriseType == 1">{{item.enterpriseTitle}}</view>
<view class="anli-list acea-row row-between"> <view class="anli-list acea-row row-between">
<view class="anli-item acea-row"> <view class="anli-item acea-row">
<image v-for="(item, index2) in item.imgPaths" :key="index2" mode="aspectFill" :src="item" v-if="index2 < 2"></image> <image v-for="(item, index2) in item.imgPaths" :key="index2" mode="aspectFill"
:src="item" v-if="index2 < 2"></image>
<!-- <text>购物商城优秀资源</text> --> <!-- <text>购物商城优秀资源</text> -->
</view> </view>
<!-- <view class="anli-item acea-row row-column"> <!-- <view class="anli-item acea-row row-column">
@ -89,7 +93,8 @@
</view> </view>
</view> --> </view> -->
<view class="company-list"> <view class="company-list">
<view v-for="(item, index) in list" :key="index" class="company-item" :data-id="item.id" @tap="toNeedsDetail"> <view v-for="(item, index) in list" :key="index" class="company-item" :data-id="item.id"
@tap="toNeedsDetail">
<view class="title-box acea-row row-between"> <view class="title-box acea-row row-between">
<view class="title line1">{{item.title}}</view> <view class="title line1">{{item.title}}</view>
<view class="price">{{item.capital}}</view> <view class="price">{{item.capital}}</view>
@ -111,7 +116,9 @@
<view class="screen-item"> <view class="screen-item">
<view class="screen-title">所有服务</view> <view class="screen-title">所有服务</view>
<view class="acea-row"> <view class="acea-row">
<view v-for="(item, index) in cagetoryList" :key="index" :class="'item ' + (cagetoryActive == index ? 'item-active' : '')" @tap="cagetoryClick" :data-i="index" :data-item="item">{{item.cagetoryName}}</view> <view v-for="(item, index) in cagetoryList" :key="index"
:class="'item ' + (cagetoryActive == index ? 'item-active' : '')" @tap="cagetoryClick"
:data-i="index" :data-item="item">{{item.cagetoryName}}</view>
</view> </view>
</view> </view>
<!-- <view class="screen-item"> <!-- <view class="screen-item">
@ -137,8 +144,10 @@
<view class="screen-item"> <view class="screen-item">
<view class="screen-title">商家身份<text class="fz20">(所有商家均实名认证)</text></view> <view class="screen-title">商家身份<text class="fz20">(所有商家均实名认证)</text></view>
<view class="acea-row"> <view class="acea-row">
<view :class="'item ' + (enterpriseType == 2 ? 'item-active' : '')" @tap="businessChange" data-name="个人认证" data-type="2">个人认证</view> <view :class="'item ' + (enterpriseType == 2 ? 'item-active' : '')" @tap="businessChange"
<view :class="'item ' + (enterpriseType == 1 ? 'item-active' : '')" @tap="businessChange" data-name="企业认证" data-type="1">企业认证</view> data-name="个人认证" data-type="2">个人认证</view>
<view :class="'item ' + (enterpriseType == 1 ? 'item-active' : '')" @tap="businessChange"
data-name="企业认证" data-type="1">企业认证</view>
</view> </view>
</view> </view>
<view class="submit-box acea-row"> <view class="submit-box acea-row">
@ -149,15 +158,15 @@
</view> </view>
</view> </view>
<tabbar :current="currentTabIndex" @click="tabBarClick"></tabbar> <tabbar :current="currentTabIndex" @click="tabBarClick"></tabbar>
</view> </view>
</template> </template>
<script> <script>
// pages/demandHall/index.js // pages/demandHall/index.js
const app = getApp(); const app = getApp();
import tabbar from "../../tabbarComponent/tabbar"; import tabbar from "../../tabbarComponent/tabbar";
export default { export default {
data() { data() {
return { return {
tabbar: {}, tabbar: {},
@ -196,14 +205,14 @@ export default {
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function(options) {
this.getCagetoryList(); this.getCagetoryList();
}, },
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom: function () { onReachBottom: function() {
this.setData({ this.setData({
pageNumber: this.pageNumber + 1 pageNumber: this.pageNumber + 1
}); });
@ -213,14 +222,14 @@ export default {
/** /**
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function () { onShow: function() {
this.getPageData(); this.getPageData();
}, },
/** /**
* 页面相关事件处理函数--监听用户下拉动作 * 页面相关事件处理函数--监听用户下拉动作
*/ */
onPullDownRefresh: function () { onPullDownRefresh: function() {
this.setData({ this.setData({
loading: true, loading: true,
pageNumber: 0, pageNumber: 0,
@ -229,7 +238,7 @@ export default {
this.getPageData(); this.getPageData();
}, },
methods: { methods: {
tabBarClick(index){ tabBarClick(index) {
console.log('返回tabBar索引:' + index) console.log('返回tabBar索引:' + index)
this.currentTabIndex = index this.currentTabIndex = index
}, },
@ -260,8 +269,6 @@ export default {
if (e.currentTarget.dataset.i == 2) { if (e.currentTarget.dataset.i == 2) {
this.getCompanyList(); this.getCompanyList();
} else {
this.getPageData();
} }
}, },
@ -280,9 +287,11 @@ export default {
toCompanyDetail(e) { toCompanyDetail(e) {
let id = e.currentTarget.dataset.id; let id = e.currentTarget.dataset.id;
uni.navigateTo({ uni.navigateTo({
url: '/pages/demandHall/companyDetail/index?id=' + id url: '/pages/demandHall/companyDetail/index?id=' + id
}); });
}, },
toNeedsDetail(e) { toNeedsDetail(e) {
@ -345,37 +354,37 @@ export default {
}); });
}, },
getPageData() { // getPageData() {
if (this.loading) { // if (this.loading) {
app.http('post', `Resources/listResources?page=${this.pageNumber}&size=${this.pageSize}`, { // app.http('post', `Resources/listResources?page=${this.pageNumber}&size=${this.pageSize}`, {
resourceType: this.active, // resourceType: this.active,
resourceCagetoryId: this.resourceCagetoryId, // resourceCagetoryId: this.resourceCagetoryId,
enterpriseType: this.enterpriseType // enterpriseType: this.enterpriseType
}).then(res => { // }).then(res => {
if (res.data.success) { // if (res.data.success) {
uni.stopPullDownRefresh(); // uni.stopPullDownRefresh();
if (res.data.data.content.length < this.pageSize) { // if (res.data.data.content.length < this.pageSize) {
this.setData({ // this.setData({
loading: false // loading: false
}); // });
} // }
if (this.pageNumber > 0) { // if (this.pageNumber > 0) {
this.setData({ // this.setData({
list: this.list.concat(res.data.data.content) // list: this.list.concat(res.data.data.content)
}); // });
} else { // } else {
this.setData({ // this.setData({
list: res.data.data.content // list: res.data.data.content
}); // });
} // }
} // }
}); // });
} else { // } else {
uni.stopPullDownRefresh(); // uni.stopPullDownRefresh();
} // }
}, // },
getCompanyList() { getCompanyList() {
app.http('post', `Enterprise/listEnterprise?page=${this.pageNumber}&size=${this.pageSize}`, { app.http('post', `Enterprise/listEnterprise?page=${this.pageNumber}&size=${this.pageSize}`, {
@ -391,31 +400,35 @@ export default {
} }
} }
}; };
</script> </script>
<style> <style>
/* pages/demandHall/index.wxss */ /* pages/demandHall/index.wxss */
image{ image {
border-radius: 8rpx; border-radius: 8rpx;
} }
.dmandhall-page{
.dmandhall-page {
padding-bottom: 210rpx; padding-bottom: 210rpx;
min-height: 100vh; min-height: 100vh;
font-size: 28rpx; font-size: 28rpx;
background: #F5F5F5; background: #F5F5F5;
} }
.top-box{
.top-box {
width: 100%; width: 100%;
padding: 16rpx 0; padding: 16rpx 0;
background: #fff; background: #fff;
position: fixed; position: fixed;
top: 0; top: 0;
z-index: 99; z-index: 99;
} }
.top-l-box{
.top-l-box {
padding-left: 40rpx; padding-left: 40rpx;
} }
.tab-item{
.tab-item {
width: 162rpx; width: 162rpx;
height: 40rpx; height: 40rpx;
line-height: 40rpx; line-height: 40rpx;
@ -424,31 +437,36 @@ image{
font-size: 28rpx; font-size: 28rpx;
color: #BFBFBF; color: #BFBFBF;
font-weight: 500; font-weight: 500;
} }
.tab-item-a{
.tab-item-a {
font-size: 36rpx; font-size: 36rpx;
color: #FF5100; color: #FF5100;
} }
.top-r-box image{
.top-r-box image {
width: 36rpx; width: 36rpx;
height: 36rpx; height: 36rpx;
margin-left: 30rpx; margin-left: 30rpx;
} }
.resource-tabs{
.resource-tabs {
width: 100%; width: 100%;
padding-top: 10rpx; padding-top: 10rpx;
background: #fff; background: #fff;
border-bottom: 2rpx solid #EEEEEE; border-bottom: 2rpx solid #EEEEEE;
} }
.tab{
.tab {
width: 162rpx; width: 162rpx;
padding: 26rpx 0; padding: 26rpx 0;
font-size: 28rpx; font-size: 28rpx;
color: #BFBFBF; color: #BFBFBF;
position: relative; position: relative;
font-weight: 500; font-weight: 500;
} }
.tab::after{
.tab::after {
display: block; display: block;
content: ''; content: '';
width: 50rpx; width: 50rpx;
@ -460,45 +478,51 @@ image{
left: 50%; left: 50%;
margin-left: -50rpx; margin-left: -50rpx;
opacity: 0; opacity: 0;
transform:scaleX(0); transform: scaleX(0);
transition: all .2s ease,opacity .15s ease; transition: all .2s ease, opacity .15s ease;
} }
.tab-a{
.tab-a {
color: #333; color: #333;
} }
.tab-a::after{
.tab-a::after {
opacity: 1; opacity: 1;
transform: scaleX(1); transform: scaleX(1);
} }
.no-more{
.no-more {
text-align: center; text-align: center;
line-height: 38rpx; line-height: 38rpx;
font-size: 28rpx; font-size: 28rpx;
color: #9C9C9C; color: #9C9C9C;
} }
.screen-box{ .screen-box {
width: 100%; width: 100%;
height: 94rpx; height: 94rpx;
padding: 0 38rpx; padding: 0 38rpx;
color: #666; color: #666;
background: #fff; background: #fff;
} }
.screen-result{
.screen-result {
font-size: 28rpx; font-size: 28rpx;
color: #FF5100; color: #FF5100;
} }
.screen image{
.screen image {
width: 27rpx; width: 27rpx;
height: 27rpx; height: 27rpx;
margin-left: 6rpx; margin-left: 6rpx;
} }
.resource-list{ .resource-list {
width: 100%; width: 100%;
padding: 290rpx 40rpx 24rpx; padding: 290rpx 40rpx 24rpx;
} }
.resource-item{
.resource-item {
width: 100%; width: 100%;
min-height: 302rpx; min-height: 302rpx;
background: #fff; background: #fff;
@ -506,18 +530,21 @@ image{
padding: 20rpx; padding: 20rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
position: relative; position: relative;
} }
.logo-box{
.logo-box {
width: 154rpx; width: 154rpx;
height: 154rpx; height: 154rpx;
margin-right: 20rpx; margin-right: 20rpx;
position: relative; position: relative;
} }
.logo-box image{
.logo-box image {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.tips-item {
.tips-item {
padding: 2rpx 6rpx; padding: 2rpx 6rpx;
line-height: 28rpx; line-height: 28rpx;
font-size: 20rpx; font-size: 20rpx;
@ -528,43 +555,52 @@ image{
position: absolute; position: absolute;
top: 4rpx; top: 4rpx;
left: 4rpx; left: 4rpx;
} }
.bg2 {
.bg2 {
background: rgba(255, 170, 0, 0.63); background: rgba(255, 170, 0, 0.63);
} }
.resource-info{
.resource-info {
width: calc(100% - 170rpx); width: calc(100% - 170rpx);
} }
.resource-item .title{
.resource-item .title {
font-size: 32rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
line-height: 44rpx; line-height: 44rpx;
color: #1D1D1D; color: #1D1D1D;
} }
.desc{
.desc {
font-size: 24rpx; font-size: 24rpx;
color: #666666; color: #666666;
line-height: 34rpx; line-height: 34rpx;
} }
.price{
.price {
color: #FF5100; color: #FF5100;
line-height: 40rpx; line-height: 40rpx;
font-weight: 600; font-weight: 600;
margin: 10rpx 0 40rpx; margin: 10rpx 0 40rpx;
} }
.company-info{
.company-info {
width: 66%; width: 66%;
color: #A7A7A7; color: #A7A7A7;
font-size: 24rpx; font-size: 24rpx;
} }
.company-info text{
.company-info text {
display: inline-block; display: inline-block;
margin-right: 18rpx; margin-right: 18rpx;
} }
.tags-box{
.tags-box {
margin: 6rpx 0 10rpx; margin: 6rpx 0 10rpx;
} }
.tag-item{
.tag-item {
width: 112rpx; width: 112rpx;
height: 36rpx; height: 36rpx;
display: inline-block; display: inline-block;
@ -575,16 +611,19 @@ image{
color: #FFAA00; color: #FFAA00;
border-radius: 4rpx; border-radius: 4rpx;
margin-right: 8rpx; margin-right: 8rpx;
} }
.bgG{
.bgG {
border: 1rpx solid #3A9EFA; border: 1rpx solid #3A9EFA;
color: #3A9EFA; color: #3A9EFA;
} }
.bgO{
.bgO {
border: 1rpx solid #FC9367; border: 1rpx solid #FC9367;
color: #FC9367; color: #FC9367;
} }
.toMore-btn{
.toMore-btn {
width: 164rpx; width: 164rpx;
height: 44rpx; height: 44rpx;
background: linear-gradient(141deg, #FFA782 0%, #FF6D31 100%); background: linear-gradient(141deg, #FFA782 0%, #FF6D31 100%);
@ -598,52 +637,63 @@ image{
position: absolute; position: absolute;
right: 20rpx; right: 20rpx;
bottom: 20rpx; bottom: 20rpx;
} }
.anli-list{
.anli-list {
font-size: 24rpx; font-size: 24rpx;
color: #666; color: #666;
margin: 24rpx 0 20rpx; margin: 24rpx 0 20rpx;
} }
.anli-item image{
.anli-item image {
width: 220rpx; width: 220rpx;
height: 136rpx; height: 136rpx;
margin-right: 8rpx; margin-right: 8rpx;
} }
.comment{
.comment {
font-size: 20rpx; font-size: 20rpx;
color: #FF6D31; color: #FF6D31;
} }
.company-list-box{
.company-list-box {
width: 100%; width: 100%;
background: #fff; background: #fff;
padding: 90rpx 0 0; padding: 90rpx 0 0;
} }
.company-list{
.company-list {
width: 100%; width: 100%;
border-top: 2rpx solid #EEEEEE; border-top: 2rpx solid #EEEEEE;
} }
.company-item{
.company-item {
width: 100%; width: 100%;
padding: 40rpx; padding: 40rpx;
border-bottom: 2rpx solid #EEEEEE; border-bottom: 2rpx solid #EEEEEE;
} }
.title-box .title{
.title-box .title {
width: 500rpx; width: 500rpx;
} }
.title-box .price{
.title-box .price {
margin: 0; margin: 0;
} }
.company-item .tags-box{
.company-item .tags-box {
margin: 20rpx 0; margin: 20rpx 0;
} }
.btn-box{
.btn-box {
margin-top: 20rpx; margin-top: 20rpx;
font-size: 24rpx; font-size: 24rpx;
color: #707070; color: #707070;
} }
.btn-box .toMore-btn{
.btn-box .toMore-btn {
position: static; position: static;
} }
@ -657,18 +707,21 @@ image{
.mask-box{ .mask-box {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
background: rgba(0,0,0,.6); background: rgba(0, 0, 0, .6);
position:fixed; position: fixed;
top: 0;/* #ifdef H5 */ top: 0;
/* #ifdef H5 */
top: calc(88rpx + constant(safe-area-inset-top)); top: calc(88rpx + constant(safe-area-inset-top));
top: calc(88rpx + env(safe-area-inset-top));/* #endif */ top: calc(88rpx + env(safe-area-inset-top));
/* #endif */
left: 0; left: 0;
z-index: 9999; z-index: 9999;
} }
.screen-dialog-box{
.screen-dialog-box {
width: 602rpx; width: 602rpx;
height: 100%; height: 100%;
/* padding-bottom: 160rpx; */ /* padding-bottom: 160rpx; */
@ -678,34 +731,39 @@ image{
top: 0; top: 0;
right: 0rpx; right: 0rpx;
animation: move 200ms ease; animation: move 200ms ease;
} }
/* .move{
/* .move{
right: 0rpx; right: 0rpx;
} */ } */
@keyframes move{ @keyframes move {
0%{ 0% {
transform: translateX(800rpx); transform: translateX(800rpx);
} }
100%{
100% {
transform: translateX(0rpx); transform: translateX(0rpx);
} }
} }
.screen-item{
.screen-item {
width: 100%; width: 100%;
padding: 0 38rpx; padding: 0 38rpx;
padding-bottom: 22rpx; padding-bottom: 22rpx;
border-bottom: 2rpx solid #EEEEEE; border-bottom: 2rpx solid #EEEEEE;
} }
.screen-title{
.screen-title {
font-size: 24rpx; font-size: 24rpx;
color: #000; color: #000;
margin-bottom: 32rpx; margin-bottom: 32rpx;
} }
.screen-item{
.screen-item {
padding-top: 40rpx; padding-top: 40rpx;
} }
.screen-item .item{ .screen-item .item {
width: 162rpx; width: 162rpx;
height: 48rpx; height: 48rpx;
line-height: 48rpx; line-height: 48rpx;
@ -716,52 +774,61 @@ image{
border-radius: 4rpx; border-radius: 4rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
margin-right: 20rpx; margin-right: 20rpx;
} }
.screen-item .item:nth-child(3n){
.screen-item .item:nth-child(3n) {
margin-right: 0; margin-right: 0;
} }
.screen-item .item-active{
.screen-item .item-active {
border: 2rpx solid #FF6E33; border: 2rpx solid #FF6E33;
color: #FE7D26; color: #FE7D26;
background: #FDEFE6; background: #FDEFE6;
} }
.across-line{
.across-line {
width: 44rpx; width: 44rpx;
height: 2rpx; height: 2rpx;
background: #ACABAB; background: #ACABAB;
margin: 0 12rpx; margin: 0 12rpx;
} }
.low-price{
.low-price {
width: 228rpx; width: 228rpx;
height: 60rpx; height: 60rpx;
background: #F6F5F5; background: #F6F5F5;
border-radius: 4rpx; border-radius: 4rpx;
} }
.low-price input{
.low-price input {
width: 100%; width: 100%;
height: 100%; height: 100%;
text-align: center; text-align: center;
} }
.fz20{
.fz20 {
font-size: 20rpx; font-size: 20rpx;
color: #393939; color: #393939;
} }
.submit-box{
.submit-box {
width: 602rpx; width: 602rpx;
height: 100rpx; height: 100rpx;
box-shadow: 2rpx 0px 12rpx rgba(0, 0, 0, 0.16); box-shadow: 2rpx 0px 12rpx rgba(0, 0, 0, 0.16);
position: fixed; position: fixed;
bottom: 0; bottom: 0;
right: 0; right: 0;
} }
.submit-box .btn{
.submit-box .btn {
width: 50%; width: 50%;
height: 100%; height: 100%;
line-height: 100rpx; line-height: 100rpx;
text-align: center; text-align: center;
} }
.submit-box .finish{
.submit-box .finish {
background: #FF660C; background: #FF660C;
color: #fff; color: #fff;
} }
</style> </style>
Loading…
Cancel
Save