This commit is contained in:
itgaojian163 2025-01-17 18:01:48 +08:00
parent 6b33fab527
commit c8bbac8c0f
49 changed files with 2335 additions and 241 deletions

View File

@ -1,12 +1,41 @@
{
"pages": [
"pages/index/index"
"pages/index/index",
"pages/domain/domain",
"pages/policy/policy",
"pages/invest/invest",
"pages/company/company",
"pages/garden/garden"
],
"window": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "Weixin",
"navigationBarTitleText": "达拉特招商",
"navigationBarBackgroundColor": "#ffffff"
},
"tabBar": {
"color": "#797979",
"selectedColor": "#28804F",
"borderStyle": "white",
"list": [{
"pagePath": "pages/index/index",
"selectedIconPath": "/imgs/ic_bottom_index_sel.png",
"iconPath": "/imgs/ic_bottom_index_normal.png",
"text": "首页"
},
{
"pagePath": "pages/domain/domain",
"selectedIconPath": "/imgs/ic_bottom_domain_sel.png",
"iconPath": "/imgs/ic_bottom_domain_normal.png",
"text": "产业"
},
{
"pagePath": "pages/policy/policy",
"selectedIconPath": "/imgs/ic_bottom_policy_sel.png",
"iconPath": "/imgs/ic_bottom_policy_normal.png",
"text": "政策"
}
]
},
"style": "v2",
"componentFramework": "glass-easel",
"sitemapLocation": "sitemap.json",

142
app.wxss
View File

@ -1,14 +1,25 @@
/**app.wxss**/
/**app.wxss**/
page {
background-color: #f7f8fa;
font-size: 28rpx;
color: #333;
background-color: #F4F4F4;
font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, Arial, sans-serif;
line-height: 1.6;
height: 100vh;
display: flex;
flex-direction: column;
justify-content: flex-start;
}
page::after {
content: '';
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 1rpx;
background: transparent;
box-shadow: 0rpx -2rpx 35rpx 5rpx rgba(165, 165, 165, 0.34);
z-index: 9999;
}
::-webkit-scrollbar {
@ -16,7 +27,7 @@ page {
width: 0;
height: 0;
color: transparent;
}
}
.container {
width: 100vw;
@ -31,6 +42,10 @@ page {
margin-top: 10rpx;
}
.mt-20 {
margin-top: 20rpx;
}
.mr-10 {
margin-right: 10rpx;
}
@ -43,10 +58,129 @@ page {
margin-bottom: 10rpx;
}
.mb-20 {
margin-bottom: 20rpx;
}
.mg {
margin: 10rpx;
}
.pd {
padding: 10rpx;
}
.divider-v {
margin-top: 5rpx;
width: 90%;
height: 3rpx;
background-color: #F0F0F0;
}
.divider-v-100 {
height: 1rpx;
background-color: #F0F0F0;
width: 100%;
}
.func-container {
background-color: white;
display: flex;
flex-direction: column;
justify-content: center;
padding: 20rpx 34rpx;
}
.func-title-box {
display: flex;
flex-direction: row;
align-items: center;
}
.func-title-box .icon {
width: 40rpx;
height: 40rpx;
}
.func-title-box .name {
font-family: Source Han Sans CN;
font-weight: bold;
font-size: 24rpx;
color: #303030;
margin-left: 20rpx;
text-align: center;
}
.scroll-list {
flex: 1;
overflow-y: hidden;
height: 100vh;
overflow: hidden;
background-color: white;
}
.map {
width: 100vw;
height: 100vh;
}
.full-btn {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 20rpx;
background: linear-gradient(0deg, #6AC191 0%, #256742 100%);
border-radius: 7rpx;
}
.full-btn:active {
background: linear-gradient(0deg, #a6eec6 0%, #63bb89 60%);
}
.full-btn .icon {
width: 30rpx;
height: 30rpx;
}
.full-btn .txt {
font-family: Source Han Sans CN;
font-weight: 500;
font-size: 27rpx;
color: #FFFFFF;
margin-left: 5rpx;
line-height: 27rpx;
}
.more {
font-family: Source Han Sans CN;
font-size: 24rpx;
color: #303030;
line-height: 24rpx;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.more .icon {
width: 24rpx;
height: 24rpx;
margin-left: 5rpx;
}
.line-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
width: 100%;
}
.expand-btn {
float: right;
background-color: chartreuse;
margin-top: 100rpx;
}

View File

@ -1,95 +0,0 @@
Component({
options: {
addGlobalClass: true,
pureDataPattern: /^_/,
multipleSlots: true
},
properties: {
tabs: {
type: Array,
value: []
},
tabClass: {
type: String,
value: ''
},
swiperClass: {
type: String,
value: ''
},
activeClass: {
type: String,
value: ''
},
tabUnderlineColor: {
type: String,
value: '#07c160'
},
tabActiveTextColor: {
type: String,
value: '#000000'
},
tabInactiveTextColor: {
type: String,
value: '#000000'
},
tabBackgroundColor: {
type: String,
value: '#ffffff'
},
activeTab: {
type: Number,
value: 0
},
swipeable: {
type: Boolean,
value: true
},
animation: {
type: Boolean,
value: true
},
duration: {
type: Number,
value: 500
}
},
data: {
currentView: 0
},
observers: {
activeTab: function activeTab(_activeTab) {
var len = this.data.tabs.length;
if (len === 0) return;
var currentView = _activeTab - 1;
if (currentView < 0) currentView = 0;
if (currentView > len - 1) currentView = len - 1;
this.setData({
currentView: currentView
});
}
},
lifetimes: {
created: function created() {}
},
methods: {
handleTabClick: function handleTabClick(e) {
var index = e.currentTarget.dataset.index;
this.setData({
activeTab: index
});
this.triggerEvent('tabclick', {
index: index
});
},
handleSwiperChange: function handleSwiperChange(e) {
var index = e.detail.current;
this.setData({
activeTab: index
});
this.triggerEvent('change', {
index: index
});
}
}
});

View File

@ -1,4 +0,0 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -1,20 +0,0 @@
<view class="weui-tabs">
<view class="weui-tabs-bar__wrp">
<scroll-view scroll-x scroll-into-view="item_{{currentView}}" scroll-with-animation="{{animation}}">
<view class="weui-tabs-bar__content">
<block wx:for="{{tabs}}" wx:key="title">
<view id="item_{{index}}" class="weui-tabs-bar__item" style="background-color: {{tabBackgroundColor}}; color: {{activeTab === index ? tabActiveTextColor : tabInactiveTextColor}};" bindtap="handleTabClick" data-index="{{index}}">
<view class="weui-tabs-bar__title {{tabClass}} {{activeTab === index ? activeClass : ''}}" style="border-bottom-color: {{activeTab === index ? tabUnderlineColor : 'transparent'}}">
<text class="">{{item.title}}</text>
</view>
</view>
</block>
</view>
</scroll-view>
</view>
<!-- <swiper class="{{swiperClass}}" current="{{activeTab}}" duration="{{duration}}" bindchange="handleSwiperChange">
<swiper-item wx:for="{{tabs}}" wx:key="title">
<slot name="tab-content-{{index}}"></slot>
</swiper-item>
</swiper> -->
</view>

View File

@ -1,24 +0,0 @@
.weui-tabs {
width: 100%
}
.weui-tabs-bar__wrp {
width: 100%;
background: #fff
}
.weui-tabs-bar__content {
width: 100%;
white-space: nowrap
}
.weui-tabs-bar__item {
display: inline-block
}
.weui-tabs-bar__title {
display: inline-block;
border-bottom-width: 2px;
border-bottom-style: solid;
border-bottom-color: transparent
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 912 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
imgs/ic_data_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
imgs/ic_desc_icon_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

BIN
imgs/ic_desc_icon_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
imgs/ic_desc_icon_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
imgs/ic_invest_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

BIN
imgs/ic_search_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

BIN
imgs/ic_statistics_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 980 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

66
pages/company/company.js Normal file
View File

@ -0,0 +1,66 @@
// pages/company/company.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -0,0 +1,4 @@
{
"usingComponents": {},
"navigationBarTitleText": "公司详情"
}

101
pages/company/company.wxml Normal file
View File

@ -0,0 +1,101 @@
<!--pages/company/company.wxml-->
<view class="func-container" style="padding: 45rpx;">
<view class="company-name-box">
<text class="name">内蒙古好友发科技有限公司</text>
<view class="status">状态</view>
</view>
<view class="company-tag-box">
<text class="tag">实力指数:</text>
<view class="tag-num">⭐⭐⭐⭐⭐⭐</view>
</view>
<view class="divider-v-100" style="margin: 20rpx 0rpx;"></view>
<view class="company-info-title">
<text class="name">工商信息</text>
<view class="more">
<text>全部</text>
<image src="/imgs/ic_arrow_right_black.png" style="width: 27rpx;height: 27rpx;"></image>
</view>
</view>
<view class="info-box">
<view class="info-item">
<view class="title">企业法人</view>
<view class="content">企业法人</view>
</view>
<view class="info-item">
<view class="title">注册资本</view>
<view class="content">10000万</view>
</view>
</view>
<view class="info-box">
<view class="info-item">
<view class="title">企业类型</view>
<view class="content">企业类型</view>
</view>
<view class="info-item">
<view class="title">成立日期</view>
<view class="content">2024-23-23</view>
</view>
</view>
<view class="info-box">
<view class="info-item">
<view class="title">参保人数</view>
<view class="content">-</view>
</view>
<view class="info-item">
<view class="title">注册地址</view>
<view class="content">内蒙古呼和浩特市</view>
</view>
</view>
<view class="p-tabs">
<view class="p-tab-sel">股东信息</view>
<view class="p-tab-normal" style="margin-left: 50rpx;">主要人员</view>
</view>
<scroll-view scroll-x style="margin-top: 20rpx;">
<view class="scroll-container">
<block>
<view class="scroll-item">
<view class="name">
<view class="squ-name">姓</view>
<view class="squ-full">姓名</view>
</view>
<view class="credit">
<view class="cre-name">认缴出资额:</view>
<view class="cre-content">999.99万人名币</view>
</view>
<view class="scale">
<view class="sca-name">持股比例:</view>
<view class="sca-content">99.99%</view>
</view>
</view>
<view class="scroll-item">
<view class="name">
<view class="squ-name">姓</view>
<view class="squ-full">姓名</view>
</view>
<view class="credit">
<view class="cre-name">认缴出资额:</view>
<view class="cre-content">999.99万人名币</view>
</view>
<view class="scale">
<view class="sca-name">持股比例:</view>
<view class="sca-content">99.99%</view>
</view>
</view>
</block>
</view>
</scroll-view>
<view class="desc-title">企业介绍</view>
<view class="desc-content">
<image src="/imgs/ic_data_bg.png" style="height: 100rpx;"></image>
<view>企业简介</view>
<view>企业简介</view>
<view>企业简介</view>
<view>企业简介</view>
<view>企业简介</view>
<view class="full-btn">
<image class="icon" src="/imgs/ic_phone_white_icon.png"></image>
<text class="txt">联系我们</text>
</view>
</view>
</view>

263
pages/company/company.wxss Normal file
View File

@ -0,0 +1,263 @@
/* pages/company/company.wxss */
page {
background-color: white;
}
.company-name-box {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.company-name-box .name {
font-family: Source Han Sans CN;
font-weight: bold;
font-size: 32rpx;
color: #303030;
line-height: 27rpx;
}
.company-name-box .status {
background: rgba(0, 103, 34, 0.16);
border-radius: 7rpx;
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 20rpx;
color: #1E8C3E;
line-height: 27rpx;
margin-left: 10rpx;
padding: 5rpx 15rpx;
}
.company-tag-box {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
background: #F6F6F6;
margin-top: 20rpx;
width: fit-content;
padding: 5rpx 20rpx;
}
.company-tag-box .tag {
font-family: Source Han Sans CN;
font-size: 20rpx;
color: #7E7E7E;
text-align: center;
line-height: 20rpx;
}
.company-tag-box .tag-num {
font-size: 30rpx;
text-align: center;
line-height: 20rpx;
}
.company-info-title {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.company-info-title .name {
font-family: Source Han Sans CN;
font-weight: 500;
font-size: 27rpx;
color: #303030;
line-height: 27rpx;
}
.company-info-title .more {
font-family: Source Han Sans CN;
font-size: 27rpx;
color: #303030;
line-height: 27rpx;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.info-box {
margin-top: 32rpx;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.info-item {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
flex: 1;
}
.info-item .title {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 20rpx;
color: #8F8F8F;
line-height: 27rpx;
}
.info-item .content {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 27rpx;
color: #303030;
line-height: 27rpx;
margin-top: 20rpx;
overflow: hidden;
/* 超出部分隐藏 */
white-space: nowrap;
/* 文本不换行 */
text-overflow: ellipsis;
/* 超出部分显示省略号 */
}
.p-tabs {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
margin-top: 30rpx;
}
.p-tab-sel {
position: relative;
font-family: Source Han Sans CN;
font-weight: bold;
font-size: 27rpx;
color: #256742;
}
.p-tab-normal {
font-weight: bold;
position: relative;
font-family: Source Han Sans CN;
font-size: 27rpx;
color: #303030;
}
.p-tab-sel::after {
content: "";
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 0;
width: 40rpx;
height: 4rpx;
background-color: #006400;
}
.scroll-container {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}
.scroll-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
background: rgba(240, 240, 240, 0.59);
border-radius: 13rpx;
margin-top: 20rpx;
width: 45%;
padding: 20rpx;
}
.scroll-item:nth-of-type(n+2) {
margin-left: 20rpx;
}
.scroll-item .name {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.squ-name {
font-family: Source Han Sans CN;
font-weight: 500;
font-size: 59rpx;
color: #256742;
background: #FFFFFF;
border-radius: 5rpx;
padding: 16rpx;
line-height: 1;
}
.squ-full {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 27rpx;
color: #3C3C3C;
margin-left: 22rpx;
}
.credit {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin-top: 20rpx;
}
.credit .cre-name {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 20rpx;
color: #3C3C3C;
line-height: 27rpx;
}
.credit .cre-content {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 20rpx;
color: #256742;
line-height: 27rpx;
margin-left: 10rpx;
}
.scale {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin-top: 10rpx;
}
.sca-name {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 20rpx;
color: #3C3C3C;
line-height: 27rpx;
}
.sca-content {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 20rpx;
color: #256742;
line-height: 27rpx;
margin-left: 10rpx;
}
.desc-title {
font-family: Source Han Sans CN;
font-weight: 500;
font-size: 27rpx;
color: #303030;
line-height: 27rpx;
margin-top: 60rpx;
}

72
pages/domain/domain.js Normal file
View File

@ -0,0 +1,72 @@
// pages/domain/domain.js
Page({
/**
* 页面的初始数据
*/
data: {
indicatorWidth: 0,
scrollWidth: 0, //滚动视图的总宽度
screenWidth: 0, //屏幕宽度
sliderWidth: 10, //指示器宽度
lastScrollLeft: 0,
lastScrollTop: 0,
defaultSliderWidth: 10, //默认指示器宽度
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var window = wx.getWindowInfo()
var screenWidth = window.screenWidth
this.setData({
screenWidth: screenWidth - 34
})
},
onReady() {
var _self = this
setTimeout(_ => {
const query = wx.createSelectorQuery().in(this)
query.selectAll('.plates-item').boundingClientRect()
query.exec(res => {
let width = 0
if (res) {
res[0].forEach(x => {
width += x.width
})
}
_self.setData({
scrollWidth: width - _self.data.screenWidth
})
})
}, 5)
},
//监听scroll-view滚动
scrollPlates(e) {
var _self = this
let scrollLeft = e.detail.scrollLeft;
var offsetLeft = e.detail.scrollLeft
var scale = _self.data.scrollWidth / 30
var offsetX = offsetLeft / scale
console.log(`${offsetX} ${offsetLeft} ${scale}`)
console.log(`滚动条宽度:${_self.data.sliderWidth}---偏移量:${offsetX}`)
_self.setData({
sliderWidth: _self.data.defaultSliderWidth + offsetX,
lastScrollLeft: scrollLeft
})
},
//公司详情
showCompany() {
wx.navigateTo({
url: '/pages/company/company',
})
},
//园区详情
showGarden() {
wx.navigateTo({
url: '/pages/garden/garden',
})
}
})

3
pages/domain/domain.json Normal file
View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

192
pages/domain/domain.wxml Normal file
View File

@ -0,0 +1,192 @@
<!--pages/domain/domain.wxml-->
<view>
<!-- 产业基础 -->
<view class="func-container">
<image class="desc-video" src="https://ts1.cn.mm.bing.net/th/id/R-C.9e45a633e95179a37c907fa2797999ad?rik=aMuPS4TunAh5ZA&riu=http%3a%2f%2fwww.quazero.com%2fuploads%2fallimg%2f140303%2f1-140303214Q2.jpg&ehk=P%2firfYpARc1fHht%2bWpapYR4W15p6SLABE8CBexoeon4%3d&risl=&pid=ImgRaw&r=0"></image>
<view class="desc-title">产业基础</view>
<view class="desc-content">达拉特旗位于内蒙古自治区南部,为鄂尔多斯市下辖的一个旗,北与包头市隔河相望,东南西分别与准格尔旗、东胜市、杭锦旗接壤,达拉特旗地处鄂尔多斯高原西部,黄河南岸。</view>
<view class="desc-tag-box">
<view class="desc-tag">
<image src="../../imgs/ic_desc_icon_1.png" />
<text>全旗总面积8200平方公里</text>
</view>
<view class="desc-tag">
<image src="../../imgs/ic_desc_icon_2.png" />
<text>辖8个苏木镇</text>
</view>
<view class="desc-tag">
<image src="../../imgs/ic_desc_icon_3.png" />
<text>总人口34万</text>
</view>
</view>
</view>
<!-- 特色产业 -->
<view class="func-container mt-20">
<view class="item-title-box">
<view class="func-title-box">
<image class="icon" src="/imgs/ic_statistics_icon.png" />
<text class="name">特色产业</text>
</view>
</view>
<view class="unique-items mb-20">
<view class="unique-item">
<image src="/imgs/ic_desc_icon_3.png" />
<text>新能源产业</text>
</view>
<view class="unique-item">
<image src="/imgs/ic_desc_icon_1.png" />
<text>新能源产业</text>
</view>
<view class="unique-item">
<image src="/imgs/ic_desc_icon_1.png" />
<text>新能源产业</text>
</view>
<view class="unique-item">
<image src="/imgs/ic_desc_icon_1.png" />
<text>新能源产业</text>
</view>
<view class="unique-item">
<image src="/imgs/ic_desc_icon_1.png" />
<text>新能源产业</text>
</view>
<view class="unique-item">
<image src="/imgs/ic_desc_icon_1.png" />
<text>新能源产业</text>
</view>
<view class="unique-item">
<image src="/imgs/ic_desc_icon_1.png" />
<text>新能源产业</text>
</view>
</view>
</view>
<!-- 产业图谱 -->
<view class="func-container mt-20">
<view class="item-title-box">
<view class="func-title-box">
<image class="icon" src="/imgs/ic_chance_title_icon.png" />
<text class="name">产业图谱</text>
</view>
</view>
<scroll-view id="plates" scroll-x="true" bindscroll="scrollPlates">
<view class="plates-content">
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
<view class="plates-item">
<image class="icon" src="/imgs/ic_data_bg.png"></image>
<text class="txt">电子信息</text>
</view>
</view>
</scroll-view>
<view class="slider-bar-box mt-20">
<view class="slider-bar" style="width: {{sliderWidth}}px;"></view>
</view>
</view>
<!-- 重点企业 -->
<view class="func-container mt-20">
<view class="item-title-box">
<view class="func-title-box">
<image class="icon" src="/imgs/ic_invest_icon.png" />
<text class="name">重点企业</text>
</view>
</view>
<block>
<view class="enterprise-item" bind:tap="showCompany">
<image class="icon" src="/imgs/ic_invest_icon.png" />
<view class="enterprise-content">
<text class="enterprise-name">企业名称</text>
<text class="enterprise-code">社会信用代码:11010202340</text>
</view>
</view>
<view class="divider-w"></view>
<view class="enterprise-item">
<image class="icon" src="/imgs/ic_invest_icon.png" />
<view class="enterprise-content">
<text class="enterprise-name">企业名称</text>
<text class="enterprise-code">社会信用代码:11010202340</text>
</view>
</view>
<view class="divider-w"></view>
<view class="enterprise-item">
<image class="icon" src="/imgs/ic_invest_icon.png" />
<view class="enterprise-content">
<text class="enterprise-name">企业名称</text>
<text class="enterprise-code">社会信用代码:11010202340</text>
</view>
</view>
</block>
</view>
<!-- 开发园区 -->
<view class="func-container mt-20">
<view class="item-title-box">
<view class="func-title-box">
<image class="icon" src="/imgs/ic_invest_icon.png" />
<text class="name">开发园区</text>
</view>
</view>
<view class="area-box mt-20">
<view class="area-item" bind:tap="showGarden">
<image src="/imgs/ic_data_bg.png" mode="aspectFill"></image>
<text>内蒙古呼和浩特</text>
</view>
<view class="area-item">
<image src="/imgs/ic_data_bg.png" mode="aspectFill"></image>
<text>内蒙古呼和浩特</text>
</view>
<view class="area-item">
<image src="/imgs/ic_data_bg.png" mode="aspectFill"></image>
<text>内蒙古呼和浩特</text>
</view>
<view class="area-item">
<image src="/imgs/ic_data_bg.png" mode="aspectFill"></image>
<text>内蒙古呼和浩特</text>
</view>
<view class="area-item">
<image src="/imgs/ic_data_bg.png" mode="aspectFill"></image>
<text>内蒙古呼和浩特</text>
</view>
</view>
</view>
</view>

242
pages/domain/domain.wxss Normal file
View File

@ -0,0 +1,242 @@
/* pages/domain/domain.wxss */
.desc-video {
width: 100%;
height: 315rpx;
border-radius: 10rpx;
}
.desc-title {
margin-top: 39rpx;
font-family: JiangChengYueHuTi600W;
font-weight: 400;
font-size: 40rpx;
color: #303030;
line-height: 27rpx;
}
.desc-content {
width: 683rpx;
height: 99rpx;
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 20rpx;
color: #6F6F6F;
margin-top: 33rpx;
}
.desc-tag-box {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top: 39rpx;
margin-bottom: 30rpx;
}
.desc-tag {
background: rgba(41, 176, 98, 0.08);
border-radius: 13rpx;
padding: 15rpx 10rpx;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.desc-tag image {
width: 28rpx;
height: 28rpx;
}
.desc-tag text {
font-size: 20rpx;
color: #256742;
margin-left: 20rpx;
}
.item-title-box {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
}
.item-title-box .more {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 24rpx;
color: #434343;
}
.unique-items {
display: flex;
justify-content: flex-start;
/* 左对齐 */
flex-wrap: wrap;
/* 允许换行 */
}
.unique-item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: #F8F8F8;
margin-top: 32rpx;
padding: 20rpx;
margin-right: 20rpx;
border-radius: 5rpx;
width: calc((100% - 110px) / 4);
}
.unique-item image {
width: 66rpx;
height: 66rpx;
}
.unique-item text {
font-family: Source Han Sans CN;
font-size: 20rpx;
color: #303030;
}
/* 将每行最后一个元素的margin-right设置为0 */
.unique-item:nth-of-type(4n) {
margin-right: 0;
}
.area-box {
display: flex;
justify-content: flex-start;
/* 左对齐 */
flex-wrap: wrap;
/* 允许换行 */
}
.area-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-right: 20rpx;
margin-top: 20rpx;
width: calc((100% - 20px) / 3);
}
.area-item:nth-of-type(3n) {
margin-right: 0;
}
.area-item image {
width: 213.2rpx;
height: 150.67rpx;
border-radius: 10rpx;
}
.area-item text {
font-family: Source Han Sans CN;
font-size: 20rpx;
margin-top: 15rpx;
color: #303030;
}
.plates-content {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}
.plates-item {
display: flex;
flex-direction: column;
position: relative;
}
.plates-item:nth-of-type(n+2) {
margin-left: 20rpx;
}
.plates-item .txt {
position: absolute;
bottom: 0;
background: rgba(0, 0, 0, 0.49);
width: 100%;
text-align: center;
font-size: 20rpx;
color: white;
border-bottom-left-radius: 10rpx;
border-bottom-right-radius: 10rpx;
}
.plates-item .icon {
width: 257rpx;
height: 167rpx;
border-radius: 10rpx;
}
.slider-bar-box {
width: 40px;
height: 5px;
background-color: #CDCDCD;
border-radius: 2.5px;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
align-self: center;
}
.slider-bar {
height: 5px;
background-color: #256742;
border-radius: 2.5px;
}
.enterprise-item {
display: flex;
flex-direction: row;
}
.enterprise-item:nth-of-type(n+2) {
margin-top: 20rpx;
}
.divider-w {
margin-top: 20rpx;
height: 1rpx;
background-color: #F0F0F0;
margin-left: 110rpx;
}
.enterprise-item .icon {
width: 92rpx;
height: 92rpx;
}
.enterprise-content {
margin-left: 20rpx;
display: flex;
flex-direction: column;
justify-content: center;
}
.enterprise-name {
font-family: Source Han Sans CN;
font-weight: bold;
font-size: 27rpx;
color: #303030;
line-height: 27rpx;
}
.enterprise-code {
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 20rpx;
color: #303030;
line-height: 27rpx;
margin-top: 25rpx;
}

65
pages/garden/garden.js Normal file
View File

@ -0,0 +1,65 @@
// index.js
var minOffset = 30; //最小偏移量,低于这个值不响应滑动处理
var minTime = 60; // 最小时间,单位:毫秒,低于这个值不响应滑动处理
var startX = 0; //开始时的X坐标
var startY = 0; //开始时的Y坐标
var startTime = 0; //开始时的毫秒数
Page({
data: {
// markers: [{
// id: 1,
// longitude: 120.22096505715056,
// latitude: 30.257772854411684,
// width: 48,
// height: 48,
// iconPath: '../../static/index/location_fill.png'
// }],
height: 30,
lat: 40.412646,
lng: 110.034106
},
onLoad(e) {
const res = wx.getWindowInfo()
this.setData({
panelTop: parseInt(res.windowHeight / 3) * 2,
windowHeight: res.windowHeight
})
},
tapMap(e) {
let h = parseInt(this.data.windowHeight / 3) * 2
this.setData({
panelTop: h
})
},
touchStart: function (e) {
startX = e.touches[0].pageX; // 获取触摸时的x坐标
startY = e.touches[0].pageY; // 获取触摸时的x坐标
startTime = new Date().getTime(); //获取毫秒数
},
touchCancel: function (e) {
startX = 0; //开始时的X坐标
startY = 0; //开始时的Y坐标
startTime = 0; //开始时的毫秒数
},
touchEnd: function (e) {
var endX = e.changedTouches[0].pageX;
var endY = e.changedTouches[0].pageY;
var touchTime = new Date().getTime() - startTime;
if (touchTime >= minTime) {
var xOffset = endX - startX;
var yOffset = endY - startY;
if (Math.abs(xOffset) < Math.abs(yOffset) && Math.abs(yOffset) >= minOffset) {
if (yOffset < 0 || (e.target.offsetTop > 400)) {
this.setData({
height: 80
})
} else {
this.setData({
height: 30
})
}
}
}
}
})

4
pages/garden/garden.json Normal file
View File

@ -0,0 +1,4 @@
{
"usingComponents": {},
"navigationBarTitleText": "园区详情"
}

25
pages/garden/garden.wxml Normal file
View File

@ -0,0 +1,25 @@
<view class="container">
<map class="map" longitude="{{lng}}" latitude="{{lat}}" style="height: {{100 - height}}vh;" />
<view class="panel" style="height: {{height}}vh;" capture-bind:touchstart="touchStart" capture-bind:touchend="touchEnd" capture-bind:touchcancel="touchCancel">
<scroll-view class="scroll-container" scroll-y="true">
<view class="func-container">
<view class="area-name">内蒙古国家大学科技园</view>
<view class="area-tags">
<view class="area-tag">有色金属</view>
<view class="area-tag">节能环保</view>
<view class="area-tag">新材料</view>
</view>
<view class="area-desc-info">
<image src="/imgs/ic_data_bg.png" style="height: 80rpx;width: 100%;"></image>
<view> 作为小米生态链企业之一云米科技成立于2014年5月是一家高科技互联网智能硬件公司聚焦智能家电定位中高端人群。总部设立在广东省佛山市顺德区并在广州市、北京市等地设立分部。
</view>
</view>
<view class="full-btn">
<image class="icon" src="/imgs/ic_phone_white_icon.png"></image>
<text class="txt">联系我们</text>
</view>
</view>
</scroll-view>
</view>
</view>

102
pages/garden/garden.wxss Normal file
View File

@ -0,0 +1,102 @@
.map {
width: 100vw;
transition: all .5s ease;
}
.panel {
width: 100vw;
background: white;
z-index: 99999;
box-shadow: 0 0 16rpx #b8b8b8, none, none, none;
transition: all .5s ease;
overflow: hidden;
left: 0;
bottom: 0;
position: absolute;
border-top-left-radius: 20rpx;
border-top-right-radius: 20rpx;
}
.scroll-container {
margin-bottom: 64rpx;
height: 100%;
width: 100vw;
border-top-left-radius: 20rpx;
border-top-right-radius: 20rpx;
}
.area-name {
font-family: Source Han Sans CN;
font-weight: 500;
font-size: 32rpx;
color: #303030;
}
.area-tags {
display: flex;
flex-direction: row;
white-space: pre-wrap;
margin-top: 20rpx;
}
.area-tag {
background: rgba(219, 72, 72, 0.12);
border-radius: 18rpx;
font-family: Source Han Sans CN;
font-weight: 300;
font-size: 24rpx;
color: #D83535;
text-align: center;
padding: 10rpx 20rpx;
}
.area-tag:nth-of-type(n+2) {
margin-left: 10rpx;
}
.area-desc-info {
margin: 20rpx 0rpx;
font-family: Source Han Sans CN;
font-weight: 400;
font-size: 24rpx;
color: #6F6F6F;
}
/*
.hospitals .hospital {
justify-content: space-between;
align-items: center;
padding: 32rpx;
height: 218rpx;
margin-bottom: 64rpx;
border-radius: 25rpx;
border: 1rpx solid #b8b8b8;
}
.hospitals .hospital:last-child {
margin-bottom: 0;
}
.hospital .info {
width: 70%;
}
.hospital .info,
.hospital .lookDetail {
height: 100%;
}
.name {
font-size: 36rpx;
font-weight: bolder;
}
.type {
color: #D43030;
}
.lookDetail {
color: #2A82E4;
} */

View File

@ -4,12 +4,24 @@ import AuthService from '../../utils/api/testapi';
Page({
data: {
progress1: '60%',
progress2: '80%',
progress3: '30%',
progress4: '40%',
curTab: 1,
isExpand: false, //简介展开和收起
collapseText: '收起',
expandText: '查看更多>>',
years,
year: date.getFullYear(),
showActionsheet: false,
motto: 'Hello World',
userInfo: {
avatarUrl: defaultAvatarUrl,
nickName: '',
},
hasUserInfo: false,
overtop: true, //是否显示收起和展开
canIUseGetUserProfile: wx.canIUse('getUserProfile'),
canIUseNicknameComp: wx.canIUse('input.type.nickname'),
triggered: false,
@ -47,7 +59,20 @@ Page({
this.data.list.push(`ssss==${i}`)
}
this.setData({
list: this.data.list
list: this.data.list,
overtop: false
})
},
expandClick() {
this.setData({
isExpand: !this.data.isExpand
})
},
changeTab(e) {
this.setData({
curTab: e.currentTarget.dataset.index
})
},
doRefresh() {
@ -66,7 +91,6 @@ Page({
}, 3000);
},
onPageScroll(e) {
console.log(e)
if (e.scrollTop < 10) {
this.setData({
opacity: 1
@ -175,5 +199,11 @@ Page({
wx.navigateTo({
url: './webview',
})
},
//投资机会-全部
showInvest() {
wx.navigateTo({
url: '/pages/invest/invest',
})
}
})

View File

@ -1,6 +1,6 @@
{
"usingComponents": {
"mp-loading": "weui-miniprogram/loading/loading",
"mp-tabs": "/components/tabs/index"
"mp-actionSheet": "weui-miniprogram/actionsheet/actionsheet"
}
}

View File

@ -1,18 +1,170 @@
<!--index.wxml-->
<mp-tabs tabs="{{tabs}}" activeTab="{{activeTab}}" tab-class="tab-item">
</mp-tabs>
<scroll-view class="scrollarea" scroll-y type="list" refresher-enabled="false" refresher-triggered="{{triggered}}" bindrefresherrefresh="doRefresh" bindscrolltolower="doLoadMore" lower-threshold="60">
<view class="container">
<view class="{{isFixed? 'fixed-title':'item-title'}}">
<view class="item-box"></view>
<view class="item-box1"></view>
<view>
<!-- 视频简介 -->
<view class="func-container">
<video class="desc-video" controls="false" />
<view class="desc-title">达拉特旗</view>
<view class="text-expansion mt-20">
<view class="text-expansion__text {{ isExpand ? 'text-expansion__text--expand' : '' }}">
<view class="text-expansion__button" bindtap="expandClick">{{ isExpand ? collapseText : expandText }}</view>
达拉特旗位于内蒙古自治区南部,为鄂尔多斯市下辖的一个旗,北与包头市隔河相望,东南西分别与准格尔旗、东胜市、杭锦旗接壤,达拉特旗地处鄂尔多斯高原西部,黄河南岸。达拉特旗位于内蒙古自治区南部达拉特旗位于内蒙古自治区南部,为鄂尔多斯市下辖的一个旗,北与包头市隔河相望,东南西分别与准格尔旗、东胜市、杭锦旗接壤,达拉特旗地处鄂尔多斯高原西部,黄河南岸。达拉特旗位于内蒙古自治区南部达拉特旗位于内蒙古自治区南部,为鄂尔多斯市下辖的一个旗,北与包头市隔河相望,东南西分别与准格尔旗、东胜市、杭锦旗接壤,达拉特旗地处鄂尔多斯高原西部,黄河南岸。达拉特旗位于内蒙古自治区南部
</view>
</view>
<block wx:for="{{list}}" wx:key="index">
<text style="margin-bottom: 10rpx;">{{item}}</text>
</block>
<block wx:if="{{hasMore && isLoading}}">
<mp-loading show="{{isLoading}}" type="dot-gray" style="width: 100vw;height:40rpx"></mp-loading>
<view class="desc-tag-box">
<view class="desc-tag">
<image src="../../imgs/ic_desc_icon_1.png" />
<text>全旗总面积8200平方公里</text>
</view>
<view class="desc-tag">
<image src="../../imgs/ic_desc_icon_2.png" />
<text>辖8个苏木镇</text>
</view>
<view class="desc-tag">
<image src="../../imgs/ic_desc_icon_3.png" />
<text>总人口34万</text>
</view>
</view>
</view>
<!-- 数据统计 -->
<view class="statistics-box mt-20">
<view class="statistics-title-box">
<view class="func-title-box">
<image class="icon" src="../../imgs/ic_statistics_icon.png" />
<text class="name">数据统计</text>
</view>
<view class="statistics-term">
<text>2024</text>
<image class="statistics-term-arrow" src="../../imgs/ic_arrow_down_black.png"></image>
</view>
</view>
<view class="statistics-content-box">
<view class="statistics-content-item">
<text class="statistics-content-item-title">生产总值</text>
<view class="statistics-content-item-content">
<view class="progress" style="background-color: #FF5D5D;width: {{progress1}};"></view>
<view class="text">14亿</view>
</view>
</view>
<view class="statistics-content-item">
<text class="statistics-content-item-title">工业总产值</text>
<view class="statistics-content-item-content">
<view class="progress" style="background-color: #FFBC5D;width: {{progress2}};"></view>
<view class="text" style="color: #B77920;">1亿</view>
</view>
</view>
<view class="statistics-content-item">
<text class="statistics-content-item-title">固定资产投资</text>
<view class="statistics-content-item-content">
<view class="progress" style="background-color: #5DADFF;width: {{progress3}};"></view>
<view class="text" style="color: #2C76C2;">99亿</view>
</view>
</view>
<view class="statistics-content-item">
<text class="statistics-content-item-title">招商引资项目</text>
<view class="statistics-content-item-content">
<view class="progress" style="background-color:#5DFFF2;width: {{progress4}};"></view>
<view class="text" style="color:#24B9AD;">40个</view>
</view>
</view>
</view>
</view>
<!-- 投资环境 -->
<view class="func-container mt-20">
<view class="func-title-box">
<image src="../../imgs/ic_invest_icon.png" class="icon" />
<text class="name">投资环境</text>
</view>
<view class="invest-tabs">
<view class="{{curTab==1? 'tab-select' :'tab-normal'}}" bind:tap="changeTab" data-index="1">
<text>地区概况</text>
<image src="../../imgs/ic_arrow_down_circle.png" />
</view>
<view class="{{curTab==2? 'tab-select' :'tab-normal'}}" bind:tap="changeTab" data-index="2">
<text>资源条件</text>
<image src="../../imgs/ic_arrow_down_circle.png" />
</view>
<view class="{{curTab==3? 'tab-select' :'tab-normal'}}" bind:tap="changeTab" data-index="3">
<text>气候条件</text>
<image src="../../imgs/ic_arrow_down_circle.png" />
</view>
<view class="{{curTab==4? 'tab-select' :'tab-normal'}}" bind:tap="changeTab" data-index="4">
<text>基础设施</text>
<image src="../../imgs/ic_arrow_down_circle.png" />
</view>
</view>
<view class="invest-content">
<image style="width: 100%;height: 300rpx;" src="../../imgs/ic_data_bg.png" />
<view>文字介绍</view>
</view>
<view class="more">
<image class="icon" src="/imgs/ic_arrow_right_black.png"></image>
</view>
</view>
<!-- 投资优势 -->
<view class="func-container mt-20">
<view class="func-title-box">
<image src="/imgs/ic_superiority_title.png" class="icon" />
<text class="name">投资优势</text>
</view>
<view class="superiority-content">
<image src="/imgs/ic_desc_icon_3.png" />
<image src="/imgs/ic_desc_icon_3.png" />
<image src="/imgs/ic_desc_icon_3.png" />
<image src="/imgs/ic_desc_icon_3.png" />
<image src="/imgs/ic_desc_icon_3.png" />
</view>
</view>
<!-- 投资机会 -->
<view class="func-container mt-20">
<view class="chance-title-box">
<view class="func-title-box">
<image class="icon" src="/imgs/ic_chance_title_icon.png" />
<text class="name">投资机会</text>
</view>
<view class="more" bind:tap="showInvest">
<view>查看全部</view>
<image class="icon" src="/imgs/ic_arrow_right_black.png"></image>
</view>
</view>
<block>
<view class="chance-item-box">
<view class="chance-item-title">
<view class="title">达拉特旗小商品小食品加工园建设项目</view>
<view class="more">查看详情 ></view>
</view>
<view class="chance-item-content line-3">
总占地面积约100亩总建筑面积约7万平方米。建设内容包括加工车间、展示营销中心、道路建设、地下室、人防、给排水管网、电力通信等吸引全县小商品、总占地面积约100亩总建筑面积约7万平方米。建设内容包括加工车间、展示营销中心、道路建设、地下室、人防、给排水管网、电力通信等吸引全县小商品、小商品、总占地面积约100亩总建筑面积约7万平方米。建设内容包括加工车间、展示营销中心、道路建设、地下室、人防、给排水管网、电力通信等吸引全县小商品、 总占地面积约100亩总建筑面积约7万平方米。建设内容包括加工车间、展示营销中心、道路建设、地下室、人防、给排水管网、电力通信等吸引全县小商品、总占地面积约100亩总建筑面积约7万平方米。建设内容包括加工车间、展示营销中心、道路建设、地下室、人防、给排水管网、电力通信等吸引全县小商品、小商品、总占地面积约100亩总建筑面积约7万平方米。建设内容包括加工车间、展示营销中心、道路建设、地下室、人防、给排水管网、电力通信等吸引全县小商品、
</view>
<view class="chance-item-attrs">
<view class="chance-attr">
<text class="title">预计总投资</text>
<text class="content">5000万元</text>
</view>
<view class="divide-line"></view>
<view class="chance-attr">
<text class="title">所属产业</text>
<text class="content">生物产业</text>
</view>
<view class="divide-line"></view>
<view class="chance-attr">
<text class="title">占地面积</text>
<text class="content">1亩</text>
</view>
<view class="divide-line"></view>
<view class="chance-attr">
<text class="title">用地类型</text>
<text class="content">商业用地</text>
</view>
</view>
</view>
</block>
</view>
</scroll-view>
</view>
<mp-actionSheet bindactiontap="btnClick" show="{{showActionsheet}}" title="这是一个标题,可以为一行或者两行。">
<picker-view style="width: 100%; height: 300px;" value="{{value}}" bindchange="bindChange">
<picker-view-column>
<view wx:for="{{years}}" style="line-height: 30px">{{item}}年</view>
</picker-view-column>
</picker-view>
</mp-actionSheet>

File diff suppressed because one or more lines are too long

23
pages/invest/invest.js Normal file
View File

@ -0,0 +1,23 @@
// pages/invest/invest.js
Page({
/**
* 页面的初始数据
*/
data: {
curTab: 1
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
changeTab(e) {
console.log(e)
this.setData({
curTab: e.currentTarget.dataset.itemid
})
}
})

4
pages/invest/invest.json Normal file
View File

@ -0,0 +1,4 @@
{
"usingComponents": {},
"navigationBarTitleText": "投资机会"
}

86
pages/invest/invest.wxml Normal file
View File

@ -0,0 +1,86 @@
<!--pages/invest/invest.wxml-->
<view>
<scroll-view scroll-x class="scroll-tab-box">
<view class="tabs-container">
<view class="{{curTab==1?'tab-sel':'tab-normal'}}" data-itemId="1" bind:tap="changeTab">全部</view>
<view class="{{curTab==2?'tab-sel':'tab-normal'}}" data-itemId="2" bind:tap="changeTab">生物产业</view>
<view class="{{curTab==3?'tab-sel':'tab-normal'}}" data-itemId="3" bind:tap="changeTab">农产品</view>
<view class="{{curTab==4?'tab-sel':'tab-normal'}}" data-itemId="4" bind:tap="changeTab">服装产业</view>
<view class="{{curTab==5?'tab-sel':'tab-normal'}}" data-itemId="5" bind:tap="changeTab">化工</view>
</view>
</scroll-view>
<view class="news">
<view wx:for="{{news.newsList}}" wx:for-index="idx" wx:for-item="item" wx:key="idx">
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_1'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-small-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_2'}}">
<view class="news-row-img">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
<view class="news-row-info">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
</view>
<view class="news-box transverse-news" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_3'}}">
<view class="news-row-info">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-row-img">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_4'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-big-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{item.newsContentCoverList[0].contentCoverId}}"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_5'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_6'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-big-pic">
<image src="{{news.newsUrl}}/route/file/download/true/{{coverItem.contentCoverId}}" wx:for="{{item.newsContentCoverList}}" wx:for-item="coverItem" wx:key="coverItem"></image>
<image src="../../images/play.png" class="play-btn"></image>
</view>
<view class="news-info">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
</view>
</view>
<view class="news-box" bindtap="goNewsDetail" data-template-record-url="{{item.templateRecordUrl}}" wx:if="{{item.typesettingCode == 'key_7'}}">
<view class="news-title">{{item.newsContentTitle}}</view>
<view class="news-info voice-box">
<text>来源:{{item.newsContentResource}}</text>
<text>{{item.newsContentPublishTime}}</text>
<image src="../../images/play.png"></image>
</view>
</view>
</view>
</view>
</view>

125
pages/invest/invest.wxss Normal file
View File

@ -0,0 +1,125 @@
/* pages/invest/invest.wxss */
.scroll-tab-box {
background-color: white;
position: fixed;
top: 0;
left: 0;
z-index: 2;
}
.tabs-container {
display: flex;
flex-direction: row;
white-space: nowrap;
background-color: white;
padding: 16rpx;
margin-left: 16rpx;
}
.tab-sel {
background-color: #EBEBEB;
font-family: Source Han Sans CN;
font-size: 24rpx;
text-align: center;
color: #256742;
padding: 10rpx 30rpx;
border-radius: 5rpx;
}
.tab-normal {
padding: 10rpx 30rpx;
font-family: Source Han Sans CN;
font-size: 24rpx;
text-align: center;
color: #676767;
}
.news {
padding: 30rpx;
border-bottom: 5px solid #FBFBFB;
margin-top: 5rpx;
}
.news-box {
padding: 30rpx 0;
border-bottom: 1px solid #EBEBEB;
display: flex;
flex-direction: column;
}
.news-title {
color: #242424;
font-size: 30rpx;
font-weight: bold;
}
.news-info {
color: #949494;
margin-top: 15rpx;
font-size: 24rpx;
}
.news-info text {
margin-right: 20rpx;
}
.voice-box {
padding-right: 30px;
position: relative;
}
.voice-box iamge {
position: absolute;
top: 0;
right: 0;
width: 25rpx;
height: 25rpx;
}
.news-big-pic,
.news-small-pic {
margin-top: 10rpx;
}
.news-big-pic {
position: relative;
}
.news-big-pic image {
width: 100%;
height: 380rpx;
}
.news-big-pic image.play-btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 80rpx;
height: 80rpx;
}
.news-small-pic image {
width: 30%;
height: 150rpx;
margin-right: 20rpx;
}
.transverse-news {
flex-direction: row;
justify-content: space-between;
}
.news-row-img {
width: 30%;
height: 150rpx;
}
.news-row-img image {
width: 100%;
height: 100%;
}
.news-row-info {
width: 68%;
}

25
pages/policy/policy.js Normal file
View File

@ -0,0 +1,25 @@
// pages/policy/policy.js
Page({
/**
* 页面的初始数据
*/
data: {
curTab: 1,
isLoading: false,
hasMore: true,
triggered: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
changeTab(e) {
this.setData({
curTab: e.currentTarget.dataset.index
})
}
})

3
pages/policy/policy.json Normal file
View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

34
pages/policy/policy.wxml Normal file
View File

@ -0,0 +1,34 @@
<!--pages/policy/policy.wxml-->
<view>
<!-- 搜索框 -->
<view class="search-box">
<image src="/imgs/ic_search_icon.png"></image>
<input placeholder="输入关键字查找" placeholder-class="placeholder" />
</view>
<view class="policy-tabs">
<view class="policy-tab-box" bind:tap="changeTab" data-index="1">
<view class="{{curTab==1? 'policy-tab-select':'policy-tab-normal'}}">国家政策</view>
</view>
<view class="policy-tab-box" bind:tap="changeTab" data-index="2">
<view class="{{curTab==2? 'policy-tab-select':'policy-tab-normal'}}">地方政策</view>
</view>
</view>
<scroll-view class="scrollarea" scroll-y type="list" refresher-enabled="false" refresher-triggered="{{triggered}}" bindrefresherrefresh="doRefresh" bindscrolltolower="doLoadMore" lower-threshold="60">
<view class="container">
<!-- <block wx:for="{{list}}" wx:key="index"> -->
<view class="policy-item">
<text class="policy-item-title">锡林郭勒盟惠企政策“大礼包”——奖励补贴类(八)</text>
<view class="policy-desc-box">
<text class="policy-desc-name">内蒙古自治区锡林郭勒盟发展和改革委员会</text>
<text class="policy-desc-date">2024-12-27</text>
</view>
</view>
<view class="divider-v"></view>
<!-- </block> -->
<block wx:if="{{hasMore && isLoading}}">
<mp-loading show="{{isLoading}}" type="dot-gray" style="width: 100vw;height:40rpx"></mp-loading>
</block>
</view>
</scroll-view>
</view>

136
pages/policy/policy.wxss Normal file
View File

@ -0,0 +1,136 @@
/* pages/policy/policy.wxss */
page {
background-color: white;
}
.scrollarea {
flex: 1;
overflow-y: hidden;
height: 85vh;
width: 100vw;
overflow: hidden;
}
.search-box {
display: flex;
flex-direction: row;
height: 71rpx;
background: #F4F4F4;
border-radius: 30rpx;
align-items: center;
margin: 10rpx 35rpx;
}
.search-box image {
width: 30rpx;
height: 30rpx;
margin-left: 25rpx;
}
.placeholder {
color: #B5B5B5;
font-size: 24rpx;
}
.search-box input {
text-align: center;
flex: 1;
color: black;
font-size: 24rpx;
height: 71rpx;
margin-left: -30rpx;
}
.policy-tabs {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin-top: 20rpx;
}
.policy-tab-normal {
flex: 1;
text-align: center;
font-family: Source Han Sans CN;
font-weight: bold;
font-size: 24rpx;
color: #454545;
}
.policy-tab-box {
flex: 1;
align-items: center;
justify-content: center;
display: flex;
}
.policy-tab-select {
text-align: center;
color: #256742;
position: relative;
}
.policy-tab-select::after {
content: "";
position: absolute;
left: -20rpx;
bottom: 0;
width: 80px;
height: 10px;
background: linear-gradient(90deg, rgba(255, 179, 31, 0.47) 0%, rgba(255, 255, 255, 0) 100%);
border-radius: 9rpx 0rpx 0rpx 9rpx;
z-index: -1;
}
.policy-item {
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 30rpx;
}
.policy-item-title {
font-family: Source Han Sans CN;
font-size: 32rpx;
color: #454545;
line-height: 48rpx;
display: -webkit-box;
/* 设置为WebKit内核的弹性盒子模型 */
-webkit-box-orient: vertical;
/* 垂直排列 */
-webkit-line-clamp: 2;
/* 限制显示两行 */
overflow: hidden;
/* 隐藏超出范围的内容 */
text-overflow: ellipsis;
}
.policy-desc-box {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-top: 10rpx;
}
.policy-desc-name {
font-family: Source Han Sans CN;
font-weight: 300;
font-size: 24rpx;
color: #5C5C5C;
line-height: 40rpx;
overflow: hidden;
/* 超出部分隐藏 */
white-space: nowrap;
/* 文本不换行 */
text-overflow: ellipsis;
}
.policy-desc-date {
font-family: Source Han Sans CN;
font-weight: 300;
font-size: 24rpx;
color: #5C5C5C;
line-height: 40rpx;
}