Browse Source

云生态8

zys
kk_888 3 years ago
parent
commit
e98ce5f264
  1. 8
      pages.json
  2. 2
      pages/demandHall/companyDetail/index.vue
  3. 134
      pages/demandHall/demoInvestment/index.vue
  4. 350
      pages/demandHall/enterprisePage/index.vue
  5. 946
      pages/demandHall/enterpriseServer/index.vue
  6. 1523
      pages/demandHall/index.vue

8
pages.json

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

2
pages/demandHall/companyDetail/index.vue

@ -195,7 +195,7 @@ export default {
*/
onLoad: function (options) {
this.setData({
id: options.id
id: options.id
});
this.getDetail();
},

134
pages/demandHall/demoInvestment/index.vue

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

946
pages/demandHall/enterpriseServer/index.vue

File diff suppressed because it is too large Load Diff

1523
pages/demandHall/index.vue

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save