@ -0,0 +1,6 @@ |
|||||||
|
{ |
||||||
|
"component": true, |
||||||
|
"usingComponents": { |
||||||
|
"van-nav-bar": "@vant/weapp/nav-bar/index" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,50 @@ |
|||||||
|
const app = getApp<IAppOption>() |
||||||
|
|
||||||
|
Component({ |
||||||
|
options: { |
||||||
|
multipleSlots: true, // 在组件定义时的选项中启用多slot支持
|
||||||
|
}, |
||||||
|
properties: { |
||||||
|
title: String, |
||||||
|
fixed: Boolean, |
||||||
|
placeholder: Boolean, |
||||||
|
leftText: String, |
||||||
|
rightText: String, |
||||||
|
customStyle: String, |
||||||
|
leftArrow: Boolean, |
||||||
|
border: { |
||||||
|
type: Boolean, |
||||||
|
value: false, |
||||||
|
}, |
||||||
|
zIndex: { |
||||||
|
type: Number, |
||||||
|
value: 1, |
||||||
|
}, |
||||||
|
|
||||||
|
back: { |
||||||
|
type: Boolean, |
||||||
|
value: true, |
||||||
|
}, |
||||||
|
}, |
||||||
|
|
||||||
|
/** |
||||||
|
* 组件的初始数据 |
||||||
|
*/ |
||||||
|
data: { |
||||||
|
imageUrl: app.globalData.imageUrl, |
||||||
|
Timestamp:app.globalData.Timestamp |
||||||
|
}, |
||||||
|
|
||||||
|
/** |
||||||
|
* 组件的方法列表 |
||||||
|
*/ |
||||||
|
methods: { |
||||||
|
onClickLeft() { |
||||||
|
if(this.data.back) |
||||||
|
this.triggerEvent('clickLeft', {}, {}) |
||||||
|
}, |
||||||
|
onClickRight() { |
||||||
|
this.triggerEvent('clickRight', {}, {}) |
||||||
|
}, |
||||||
|
}, |
||||||
|
}) |
@ -0,0 +1,17 @@ |
|||||||
|
<van-nav-bar |
||||||
|
title="{{title}}" |
||||||
|
fixed="{{fixed}}" |
||||||
|
placeholder="{{placeholder}}" |
||||||
|
leftText="{{leftText}}" |
||||||
|
rightText="{{rightText}}" |
||||||
|
customStyle="{{customStyle}}" |
||||||
|
leftArrow="{{leftArrow}}" |
||||||
|
border="{{border}}" |
||||||
|
zIndex="{{zIndex}}" |
||||||
|
bind:click-left="onClickLeft" |
||||||
|
bind:click-right="onClickRight" |
||||||
|
> |
||||||
|
<slot name="left" slot="left"></slot> |
||||||
|
<slot name="title" slot="title"></slot> |
||||||
|
<slot name="right" slot="right"></slot> |
||||||
|
</van-nav-bar> |
Before Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 237 KiB |
After Width: | Height: | Size: 234 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 581 B |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 436 B |
Before Width: | Height: | Size: 329 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 551 B |
Before Width: | Height: | Size: 479 B |
Before Width: | Height: | Size: 816 B |
Before Width: | Height: | Size: 502 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 534 B |
After Width: | Height: | Size: 7.7 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 721 B |
After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 487 KiB |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 270 KiB |
Before Width: | Height: | Size: 200 KiB |
Before Width: | Height: | Size: 206 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 881 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 934 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 220 KiB |
Before Width: | Height: | Size: 6.4 KiB |
@ -1,5 +1,6 @@ |
|||||||
{ |
{ |
||||||
"usingComponents": { |
"usingComponents": { |
||||||
"van-popup": "@vant/weapp/popup/index" |
"van-popup": "@vant/weapp/popup/index", |
||||||
|
"navbar": "/components/navbar/index" |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -1,219 +1,192 @@ |
|||||||
page { |
page { |
||||||
background-color: #f3f4f5; |
background-color: rgba(247, 246, 250, 1); |
||||||
} |
|
||||||
.page { |
|
||||||
padding-bottom: 10vh; |
|
||||||
min-height: 100vh; |
|
||||||
.logo { |
|
||||||
margin-left: 32rpx; |
|
||||||
width: 327rpx; |
|
||||||
max-height: 100rpx; |
|
||||||
} |
} |
||||||
|
|
||||||
.page-title { |
.page-title { |
||||||
margin: 50rpx 0 0 32rpx; |
width: 320rpx; |
||||||
width: 580rpx; |
height: 34rpx; |
||||||
height: 52rpx; |
|
||||||
} |
|
||||||
.page-slogan { |
|
||||||
margin: 14rpx 32rpx 0; |
|
||||||
padding: 30rpx 32rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #65686c; |
|
||||||
line-height: 52rpx; |
|
||||||
} |
} |
||||||
.search { |
.page { |
||||||
margin: 34rpx 32rpx 0; |
padding: 44rpx 40rpx; |
||||||
padding: 0 0 0 24rpx; |
.user { |
||||||
display: flex; |
display: flex; |
||||||
align-items: center; |
align-items: center; |
||||||
background: linear-gradient(158deg, #ffffff 0%, #f2f9fe 100%); |
.avatar-wrapper { |
||||||
border-radius: 106rpx 106rpx 106rpx 106rpx; |
flex-shrink: 0; |
||||||
border: 1px solid #ffffff; |
padding: 0; |
||||||
.icon { |
margin: 0; |
||||||
width: 36rpx; |
width: 124rpx; |
||||||
height: 36rpx; |
height: 124rpx; |
||||||
|
outline: none; |
||||||
|
border: 2px solid #fff; |
||||||
|
border-radius: 50%; |
||||||
|
&::after { |
||||||
|
border: none; |
||||||
|
} |
||||||
|
.avatar { |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
border-radius: 50%; |
||||||
} |
} |
||||||
.input { |
} |
||||||
|
.wrap { |
||||||
flex: 1; |
flex: 1; |
||||||
padding: 16rpx; |
padding-left: 24rpx; |
||||||
line-height: 40rpx; |
.nickname { |
||||||
|
font-size: 36rpx; |
||||||
|
font-weight: bold; |
||||||
|
color: rgba(1, 1, 5, 1); |
||||||
|
} |
||||||
|
.hostipal { |
||||||
|
margin-top: 16rpx; |
||||||
|
line-height: 1; |
||||||
font-size: 28rpx; |
font-size: 28rpx; |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
|
.tag { |
||||||
|
display: inline-block; |
||||||
|
font-size: 24rpx; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
padding: 2rpx 10rpx; |
||||||
|
background: #8c75d0; |
||||||
|
border-radius: 8rpx 8rpx 8rpx 8rpx; |
||||||
} |
} |
||||||
.place-input { |
|
||||||
color: #c9cdd4; |
|
||||||
} |
} |
||||||
} |
} |
||||||
.swiper { |
|
||||||
margin: 36rpx 32rpx -52rpx; |
|
||||||
height: 318rpx; |
|
||||||
|
|
||||||
.wx-swiper-dots { |
|
||||||
bottom: 60rpx; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
} |
} |
||||||
.wx-swiper-dot { |
.banner { |
||||||
width: 8rpx; |
margin-top: 32rpx; |
||||||
height: 8rpx; |
padding: 40rpx; |
||||||
|
border-radius: 24rpx; |
||||||
|
border: 1px solid #fff; |
||||||
|
background: linear-gradient(to right, rgba(223, 214, 250, 1), rgba(229, 227, 240, 1)); |
||||||
|
.title { |
||||||
|
font-size: 40rpx; |
||||||
|
color: rgba(140, 117, 208, 1); |
||||||
|
font-weight: bold; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
.btn { |
||||||
|
margin: 16rpx auto 0; |
||||||
|
padding: 8rpx 0; |
||||||
|
width: 330rpx; |
||||||
|
text-align: center; |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
background-color: rgba(140, 117, 208, 1); |
||||||
|
border-radius: 64rpx; |
||||||
} |
} |
||||||
.wx-swiper-dot-active { |
|
||||||
width: 24rpx !important; |
|
||||||
height: 8rpx !important; |
|
||||||
border-radius: 5rpx !important; |
|
||||||
} |
} |
||||||
|
.message { |
||||||
.swiper-item { |
margin-top: 16rpx; |
||||||
|
height: 150rpx; |
||||||
position: relative; |
position: relative; |
||||||
.banner { |
.content { |
||||||
position: absolute; |
position: absolute; |
||||||
top: 0; |
top: 48rpx; |
||||||
left: 0; |
left: 212rpx; |
||||||
z-index: 1; |
font-size: 32rpx; |
||||||
|
color: rgba(0, 0, 0, 1); |
||||||
|
display: flex; |
||||||
|
align-items: baseline; |
||||||
|
.num { |
||||||
|
font-size: 48rpx; |
||||||
|
color: rgba(140, 117, 208, 1); |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
&.dot::after { |
||||||
|
position: absolute; |
||||||
|
right: -18rpx; |
||||||
|
top: 10rpx; |
||||||
|
content: ''; |
||||||
|
width: 18rpx; |
||||||
|
height: 18rpx; |
||||||
|
flex-shrink: 0; |
||||||
|
border-radius: 50%; |
||||||
|
background-color: rgba(241, 44, 54, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.ad { |
||||||
|
margin-top: 32rpx; |
||||||
|
.ad-img { |
||||||
display: block; |
display: block; |
||||||
width: 100%; |
width: 100%; |
||||||
height: 274rpx; |
height: 224rpx; |
||||||
border-radius: 32rpx; |
box-shadow: 0 4rpx 22rpx 0 rgba(0, 0, 0, 0.03); |
||||||
} |
} |
||||||
&::after { |
|
||||||
content: ''; |
|
||||||
position: absolute; |
|
||||||
bottom: 74rpx; |
|
||||||
left: 40rpx; |
|
||||||
width: 606rpx; |
|
||||||
height: 194rpx; |
|
||||||
background: rgba(0, 43, 88, 0.28); |
|
||||||
box-shadow: 0rpx 8rpx 8rpx 0rpx rgba(0, 0, 0, 0.65); |
|
||||||
border-radius: 0rpx 0rpx 0rpx 0rpx; |
|
||||||
filter: blur(16.5px); |
|
||||||
} |
} |
||||||
|
.list { |
||||||
|
margin-top: 32rpx; |
||||||
|
padding: 32rpx 20rpx; |
||||||
|
background-color: #fff; |
||||||
|
border-radius: 24rpx; |
||||||
|
.list-header { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
.title { |
||||||
|
width: 146rpx; |
||||||
|
height: 34rpx; |
||||||
|
} |
||||||
|
.more { |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
.cards { |
|
||||||
margin: 52rpx 32rpx 0; |
|
||||||
display: grid; |
|
||||||
gap: 28rpx 26rpx; |
|
||||||
grid-template-columns: repeat(2, 1fr); |
|
||||||
grid-template-rows: repeat(auto-fill, 164rpx); |
|
||||||
.card { |
.card { |
||||||
padding: 20rpx 30rpx; |
margin: 24rpx 0 0; |
||||||
|
background-color: #fff; |
||||||
|
border-radius: 24rpx; |
||||||
|
display: flex; |
||||||
|
.photo { |
||||||
|
flex-shrink: 0; |
||||||
|
width: 176rpx; |
||||||
|
height: 176rpx; |
||||||
|
border-radius: 12rpx; |
||||||
|
} |
||||||
|
.wrap { |
||||||
|
padding: 12rpx 0 0 24rpx; |
||||||
|
flex: 1; |
||||||
display: flex; |
display: flex; |
||||||
justify-content: center; |
|
||||||
flex-direction: column; |
flex-direction: column; |
||||||
overflow: hidden; |
justify-content: space-between; |
||||||
height: 164rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
.title { |
.title { |
||||||
font-size: 36rpx; |
font-size: 32rpx; |
||||||
color: #3795f7; |
color: rgba(33, 29, 46, 1); |
||||||
line-height: 42rpx; |
line-height: 44rpx; |
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
.content { |
|
||||||
margin-top: 10rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #65686c; |
|
||||||
min-width: 0; |
|
||||||
line-height: 40rpx; |
|
||||||
overflow: hidden; |
overflow: hidden; |
||||||
text-overflow: ellipsis; |
text-overflow: ellipsis; |
||||||
display: -webkit-box; |
display: -webkit-box; |
||||||
-webkit-line-clamp: 2; |
-webkit-line-clamp: 2; |
||||||
-webkit-box-orient: vertical; |
-webkit-box-orient: vertical; |
||||||
} |
} |
||||||
} |
.w-footer { |
||||||
} |
margin-top: 28rpx; |
||||||
|
|
||||||
.remark { |
|
||||||
margin: 52rpx 32rpx 0; |
|
||||||
.r-header { |
|
||||||
display: flex; |
display: flex; |
||||||
|
justify-content: space-between; |
||||||
align-items: center; |
align-items: center; |
||||||
gap: 16rpx; |
.date { |
||||||
font-size: 36rpx; |
font-size: 28rpx; |
||||||
color: #222222; |
color: rgba(173, 172, 178, 1); |
||||||
font-weight: bold; |
|
||||||
&::before { |
|
||||||
content: ''; |
|
||||||
width: 8rpx; |
|
||||||
height: 34rpx; |
|
||||||
background-color: #3795f7; |
|
||||||
} |
|
||||||
} |
|
||||||
.r-content { |
|
||||||
margin-top: 30rpx; |
|
||||||
padding: 32rpx; |
|
||||||
width: 100%; |
|
||||||
box-sizing: border-box; |
|
||||||
height: 272rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
background-color: #fff; |
|
||||||
border-radius: 24rpx; |
|
||||||
} |
|
||||||
.textarea-placeholder { |
|
||||||
color: #babdc1; |
|
||||||
} |
|
||||||
.submit { |
|
||||||
margin: 28rpx auto 0; |
|
||||||
width: 236rpx; |
|
||||||
height: 70rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #fff; |
|
||||||
text-align: center; |
|
||||||
line-height: 70rpx; |
|
||||||
background: linear-gradient(90deg, #134df6 36%, #3795f7 100%); |
|
||||||
border-radius: 112rpx 112rpx 112rpx 112rpx; |
|
||||||
} |
|
||||||
.not-submit { |
|
||||||
background: #e3e3e3; |
|
||||||
} |
} |
||||||
|
.options { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 60rpx; |
||||||
|
.o-item { |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 12rpx; |
||||||
|
.icon { |
||||||
|
width: 36rpx; |
||||||
|
height: 36rpx; |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
.popup { |
|
||||||
padding: 33rpx 0 0; |
|
||||||
|
|
||||||
.popup-container { |
|
||||||
padding: 280rpx 48rpx 0; |
|
||||||
width: 622rpx; |
|
||||||
height: 490rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
background: linear-gradient(180deg, #e7f8ff 0%, #ffffff 100%); |
|
||||||
border-radius: 32rpx; |
|
||||||
position: relative; |
|
||||||
|
|
||||||
.badge { |
|
||||||
position: absolute; |
|
||||||
left: 0; |
|
||||||
top: -33px; |
|
||||||
width: 246rpx; |
|
||||||
height: 286rpx; |
|
||||||
} |
} |
||||||
|
|
||||||
.title { |
|
||||||
position: absolute; |
|
||||||
top: 50rpx; |
|
||||||
right: 28rpx; |
|
||||||
width: 338rpx; |
|
||||||
height: 164rpx; |
|
||||||
} |
} |
||||||
|
|
||||||
.conform { |
|
||||||
height: 88rpx; |
|
||||||
text-align: center; |
|
||||||
background: #3795f7; |
|
||||||
line-height: 88rpx; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #ffffff; |
|
||||||
border-radius: 96rpx 96rpx 96rpx 96rpx; |
|
||||||
} |
} |
||||||
|
|
||||||
.cancel { |
|
||||||
margin-top: 10rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
color: #999999; |
|
||||||
text-align: center; |
|
||||||
line-height: 88rpx; |
|
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -0,0 +1,5 @@ |
|||||||
|
{ |
||||||
|
"usingComponents": { |
||||||
|
"navbar":"/components/navbar/index" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,84 @@ |
|||||||
|
page { |
||||||
|
background-color: rgba(247, 246, 250, 1); |
||||||
|
} |
||||||
|
|
||||||
|
.page { |
||||||
|
.page-tags { |
||||||
|
position: sticky; |
||||||
|
top: 0; |
||||||
|
left: 0; |
||||||
|
padding: 32rpx 0 32rpx 32rpx; |
||||||
|
display: flex; |
||||||
|
overflow-x: auto; |
||||||
|
display: flex; |
||||||
|
gap: 16rpx; |
||||||
|
flex-wrap: nowrap; |
||||||
|
.tag { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
line-height: 44rpx; |
||||||
|
padding: 6rpx 32rpx; |
||||||
|
background-color: #fff; |
||||||
|
border-radius: 82rpx; |
||||||
|
&.active { |
||||||
|
color: #fff; |
||||||
|
background-color: rgba(140, 117, 208, 1); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.card { |
||||||
|
margin: 24rpx 40rpx 0; |
||||||
|
padding: 12rpx; |
||||||
|
background-color: #fff; |
||||||
|
border-radius: 24rpx; |
||||||
|
display: flex; |
||||||
|
.photo { |
||||||
|
flex-shrink: 0; |
||||||
|
width: 176rpx; |
||||||
|
height: 176rpx; |
||||||
|
border-radius: 12rpx; |
||||||
|
} |
||||||
|
.wrap { |
||||||
|
padding: 12rpx 0 0 24rpx; |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
justify-content: space-between; |
||||||
|
.title { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
line-height: 44rpx; |
||||||
|
overflow: hidden; |
||||||
|
text-overflow: ellipsis; |
||||||
|
display: -webkit-box; |
||||||
|
-webkit-line-clamp: 2; |
||||||
|
-webkit-box-orient: vertical; |
||||||
|
} |
||||||
|
.w-footer { |
||||||
|
margin-top: 28rpx; |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
align-items: center; |
||||||
|
.date { |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
|
} |
||||||
|
.options { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 60rpx; |
||||||
|
.o-item { |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 12rpx; |
||||||
|
.icon { |
||||||
|
width: 36rpx; |
||||||
|
height: 36rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,46 @@ |
|||||||
|
const _app = getApp<IAppOption>(); |
||||||
|
|
||||||
|
Page({ |
||||||
|
data: { |
||||||
|
list: [] as any[], |
||||||
|
pagination: { |
||||||
|
page: 1, |
||||||
|
pages: 1, |
||||||
|
count: 1, |
||||||
|
}, |
||||||
|
}, |
||||||
|
onLoad() {}, |
||||||
|
getList(newPage = 1) { |
||||||
|
wx.ajax({ |
||||||
|
method: 'GET', |
||||||
|
url: '?r=wtx/knowledge/list', |
||||||
|
data: { |
||||||
|
page: newPage, |
||||||
|
}, |
||||||
|
}).then((res) => { |
||||||
|
const list = res.page === 1 ? res.list : [...this.data.list, ...res.list]; |
||||||
|
this.setData({ |
||||||
|
total: res.count, |
||||||
|
list, |
||||||
|
pagination: { |
||||||
|
page: res.page, |
||||||
|
pages: res.pages, |
||||||
|
count: res.count, |
||||||
|
}, |
||||||
|
}); |
||||||
|
}); |
||||||
|
}, |
||||||
|
onReachBottom() { |
||||||
|
const { page, pages } = this.data.pagination; |
||||||
|
if (pages > page) { |
||||||
|
this.getList(page + 1); |
||||||
|
} |
||||||
|
}, |
||||||
|
handleDetail() { |
||||||
|
wx.navigateTo({ |
||||||
|
url: '/pages/informationDetail/index', |
||||||
|
}); |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
export {}; |
@ -0,0 +1,35 @@ |
|||||||
|
<navbar fixed title="资料库" custom-style="background:{{background}}"></navbar> |
||||||
|
|
||||||
|
<view |
||||||
|
class="page" |
||||||
|
style="background: url('/images/bg2.png') no-repeat top center/100% 616rpx;padding-top: {{pageTop + 20}}px;" |
||||||
|
> |
||||||
|
<view class="page-tags" style="background:{{background}};top:{{pageTop}}px;"> |
||||||
|
<view class="tag active">全部</view> |
||||||
|
<view class="tag">安全性</view> |
||||||
|
<view class="tag">有效性</view> |
||||||
|
</view> |
||||||
|
<view class="card" bind:tap="handleDetail"> |
||||||
|
<image |
||||||
|
class="photo" |
||||||
|
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||||
|
></image> |
||||||
|
<view class="wrap"> |
||||||
|
<view class="title">替妥尤单抗的作用机制、适用场景、使用方式</view> |
||||||
|
<view class="w-footer"> |
||||||
|
<view class="date">2025-06-17</view> |
||||||
|
<view class="options"> |
||||||
|
<view class="o-item"> |
||||||
|
<image class="icon" src="/images/icon7.png"></image> |
||||||
|
24 |
||||||
|
</view> |
||||||
|
<view class="o-item"> |
||||||
|
<image class="icon" src="/images/icon8.png"></image> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
<pagination pagination="{{pagination}}"></pagination> |
||||||
|
</view> |
||||||
|
|
@ -0,0 +1,7 @@ |
|||||||
|
{ |
||||||
|
"navigationStyle": "default", |
||||||
|
"navigationBarTitleText": "资料库详情页", |
||||||
|
"usingComponents": { |
||||||
|
"mp-html": "mp-html" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,91 @@ |
|||||||
|
.page { |
||||||
|
padding: 40rpx; |
||||||
|
.title { |
||||||
|
font-size: 40rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
font-weight: bold; |
||||||
|
line-height: 48rpx; |
||||||
|
} |
||||||
|
.info { |
||||||
|
margin-top: 26rpx; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
.date { |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
|
} |
||||||
|
.eye { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
gap: 12rpx; |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
|
|
||||||
|
.icon { |
||||||
|
width: 40rpx; |
||||||
|
height: 40rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.file-card { |
||||||
|
margin-top: 32rpx; |
||||||
|
padding: 22rpx 32rpx; |
||||||
|
background: linear-gradient(352deg, #f7f6fa 0%, #f2edff 100%); |
||||||
|
border-radius: 24rpx 24rpx 24rpx 24rpx; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
gap: 24rpx; |
||||||
|
.icon { |
||||||
|
width: 84rpx; |
||||||
|
height: 84rpx; |
||||||
|
} |
||||||
|
.content { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
line-height: 48rpx; |
||||||
|
} |
||||||
|
.btn { |
||||||
|
flex-shrink: 0; |
||||||
|
padding: 4rpx 32rpx; |
||||||
|
font-size: 32rpx; |
||||||
|
line-height: 48rpx; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
background-color: rgba(140, 117, 208, 1); |
||||||
|
border-radius: 64rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
.mp-html { |
||||||
|
margin-top: 32rpx; |
||||||
|
} |
||||||
|
|
||||||
|
.page-footer { |
||||||
|
position: fixed; |
||||||
|
bottom: 0px; |
||||||
|
left: 0; |
||||||
|
padding: 18rpx 40rpx; |
||||||
|
width: 100%; |
||||||
|
box-sizing: border-box; |
||||||
|
background-color: #fff; |
||||||
|
box-shadow: 0rpx -2rpx 36rpx 0rpx rgba(0, 0, 0, 0.16); |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
gap: 22rpx; |
||||||
|
.avatar { |
||||||
|
width: 66rpx; |
||||||
|
height: 66rpx; |
||||||
|
} |
||||||
|
.title { |
||||||
|
flex: 1; |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(140, 117, 208, 1); |
||||||
|
line-height: 36rpx; |
||||||
|
} |
||||||
|
.icon { |
||||||
|
width: 40rpx; |
||||||
|
height: 40rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
const _app = getApp<IAppOption>(); |
||||||
|
|
||||||
|
Page({ |
||||||
|
data: { |
||||||
|
doc: '1', |
||||||
|
}, |
||||||
|
onLoad() {}, |
||||||
|
}); |
||||||
|
|
||||||
|
export {}; |
@ -0,0 +1,25 @@ |
|||||||
|
<view class="page"> |
||||||
|
<view class="title">70年来首款新药! 信达生物替妥尤单抗国内获批上市</view> |
||||||
|
<view class="info"> |
||||||
|
<view class="date">2025-06-17</view> |
||||||
|
<view class="eye"> |
||||||
|
<image class="icon" src="/images/icon9.png"></image> |
||||||
|
24 |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
<view class="file-card"> |
||||||
|
<image class="icon" src="/images/file-icon1.png"></image> |
||||||
|
<view class="content">关于甲状腺眼病及其疗法</view> |
||||||
|
<view class="btn">下载</view> |
||||||
|
</view> |
||||||
|
|
||||||
|
<view class="mp-html"> |
||||||
|
<mp-html content="{{doc}}"></mp-html> |
||||||
|
</view> |
||||||
|
|
||||||
|
<view class="page-footer"> |
||||||
|
<image class="avatar" src="/images/icon10.png"></image> |
||||||
|
<view class="title">TED规范化诊治中心</view> |
||||||
|
<view class="icon" src="/images/icon8.png"></view> |
||||||
|
</view> |
||||||
|
</view> |
@ -1,7 +1,6 @@ |
|||||||
{ |
{ |
||||||
|
"navigationStyle": "custom", |
||||||
"usingComponents": { |
"usingComponents": { |
||||||
"van-icon": "@vant/weapp/icon/index", |
"van-divider": "@vant/weapp/divider/index" |
||||||
"van-nav-bar": "@vant/weapp/nav-bar/index", |
|
||||||
"van-popup": "@vant/weapp/popup/index" |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -1,143 +1,132 @@ |
|||||||
|
page { |
||||||
|
background-color: rgba(247, 246, 250, 1); |
||||||
|
} |
||||||
.page { |
.page { |
||||||
position: relative; |
padding: 0 70rpx 100rpx; |
||||||
.logo { |
.logo { |
||||||
position: absolute; |
display: block; |
||||||
left: 32rpx; |
margin: 0 auto; |
||||||
width: 327rpx; |
width: 164rpx; |
||||||
max-height: 100rpx; |
height: 164rpx; |
||||||
} |
border-radius: 24rpx; |
||||||
.container { |
} |
||||||
margin-top: 336rpx; |
.page-title { |
||||||
padding: 64rpx 32rpx 0; |
display: block; |
||||||
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.76) 0%, #ffffff 100%) no-repeat top center/100% 186rpx; |
margin: 32rpx auto 0; |
||||||
border-radius: 32rpx; |
width: 510rpx; |
||||||
|
height: 54rpx; |
||||||
.tel { |
} |
||||||
.input { |
.protocol { |
||||||
padding: 24rpx 48rpx; |
margin-top: 32rpx; |
||||||
background-color: #f4f7fa; |
.p-title { |
||||||
border-radius: 96rpx; |
font-size: 36rpx; |
||||||
|
color: rgba(105, 104, 110, 1); |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
.p-content { |
||||||
|
margin-top: 20rpx; |
||||||
font-size: 32rpx; |
font-size: 32rpx; |
||||||
|
color: rgba(105, 104, 110, 1); |
||||||
|
line-height: 64rpx; |
||||||
|
.link { |
||||||
|
color: rgba(140, 117, 208, 1); |
||||||
} |
} |
||||||
|
|
||||||
.place-input { |
|
||||||
color: #babdc1; |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
.phone { |
||||||
.code-row { |
margin-top: 46rpx; |
||||||
margin-top: 32rpx; |
height: 88rpx; |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
display: flex; |
display: flex; |
||||||
align-items: center; |
align-items: center; |
||||||
gap: 30rpx; |
justify-content: center; |
||||||
background-color: #f4f7fa; |
background: linear-gradient(89deg, #8c75d0 0%, #b7bdff 100%); |
||||||
border-radius: 96rpx; |
border-radius: 84rpx 84rpx 84rpx 84rpx; |
||||||
|
|
||||||
.code { |
|
||||||
flex: 1; |
|
||||||
padding: 24rpx 48rpx; |
|
||||||
font-size: 32rpx; |
|
||||||
} |
} |
||||||
|
.divider { |
||||||
.place-code { |
margin: 80rpx 150rpx 0; |
||||||
color: #babdc1; |
.van-divider { |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
} |
} |
||||||
|
} |
||||||
.btn { |
.tel-btn { |
||||||
flex-shrink: 0; |
margin: 0 auto; |
||||||
padding: 24rpx; |
padding: 4rpx 0; |
||||||
width: 7em; |
width: 266rpx; |
||||||
text-align: center; |
display: flex; |
||||||
color: #3795f7; |
align-items: center; |
||||||
|
justify-content: center; |
||||||
|
gap: 12rpx; |
||||||
|
background: #fff; |
||||||
|
border-radius: 24rpx; |
||||||
|
font-size: 24rpx; |
||||||
|
color: rgba(173, 172, 178, 1); |
||||||
|
.icon { |
||||||
|
width: 40rpx; |
||||||
|
height: 40rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
.form { |
||||||
|
margin-top: 50rpx; |
||||||
|
.form-row { |
||||||
|
margin-bottom: 32rpx; |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
align-items: center; |
||||||
|
padding: 12rpx 12rpx 12rpx 32rpx; |
||||||
|
background-color: rgba(255, 255, 255, 1); |
||||||
|
border-radius: 132rpx; |
||||||
|
.input { |
||||||
|
flex: 1; |
||||||
|
line-height: 60rpx; |
||||||
|
height: 60rpx; |
||||||
font-size: 32rpx; |
font-size: 32rpx; |
||||||
border-radius: 96rpx; |
|
||||||
} |
} |
||||||
|
.place-input { |
||||||
|
color: rgba(173, 172, 178, 0.6); |
||||||
} |
} |
||||||
|
.btn { |
||||||
.protool { |
padding: 0 24rpx; |
||||||
margin-top: 56rpx; |
height: 60rpx; |
||||||
|
font-size: 28rpx; |
||||||
|
color: rgba(140, 117, 208, 1); |
||||||
display: flex; |
display: flex; |
||||||
align-items: center; |
align-items: center; |
||||||
font-size: 28rpx; |
justify-content: center; |
||||||
color: #999; |
border-radius: 20rpx; |
||||||
|
|
||||||
.radio { |
|
||||||
transform: scale(0.7); |
|
||||||
} |
|
||||||
|
|
||||||
.link { |
|
||||||
color: #3795f7; |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
.submit { |
.submit { |
||||||
margin-top: 70rpx; |
margin-top: 50rpx; |
||||||
text-align: center; |
height: 84rpx; |
||||||
font-size: 36rpx; |
font-size: 32rpx; |
||||||
color: #3795f7; |
color: rgba(140, 117, 208, 1); |
||||||
line-height: 84rpx; |
|
||||||
border: 1px solid rgba(55, 149, 247, 0.2); |
|
||||||
border-radius: 96rpx 96rpx 96rpx 96rpx; |
|
||||||
} |
|
||||||
|
|
||||||
.tel-btn { |
|
||||||
margin-top: 32rpx; |
|
||||||
text-align: center; |
|
||||||
font-size: 36rpx; |
|
||||||
color: #ffffff; |
|
||||||
line-height: 88rpx; |
|
||||||
border-radius: 96rpx 96rpx 96rpx 96rpx; |
|
||||||
background: linear-gradient(90deg, #134df6 16%, #3795f7 100%); |
|
||||||
} |
|
||||||
|
|
||||||
.visitor { |
|
||||||
margin-top: 236rpx; |
|
||||||
display: flex; |
display: flex; |
||||||
align-items: center; |
align-items: center; |
||||||
justify-content: center; |
justify-content: center; |
||||||
font-size: 32rpx; |
border-radius: 84rpx 84rpx 84rpx 84rpx; |
||||||
line-height: 1; |
border: 1px solid rgba(140, 117, 208, 1); |
||||||
color: #3795f7; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
.popup { |
|
||||||
padding: 33rpx 0 0; |
|
||||||
|
|
||||||
.popup-container { |
|
||||||
padding: 64rpx 44rpx 10rpx; |
|
||||||
width: 622rpx; |
|
||||||
box-sizing: border-box; |
|
||||||
background: linear-gradient(180deg, #e7f8ff 0%, #ffffff 100%); |
|
||||||
border-radius: 32rpx; |
|
||||||
position: relative; |
|
||||||
|
|
||||||
.content { |
|
||||||
font-size: 36rpx; |
|
||||||
color: #65686c; |
|
||||||
text-align: center; |
|
||||||
.link { |
|
||||||
color: #3795f7; |
|
||||||
} |
} |
||||||
} |
} |
||||||
|
.signature { |
||||||
.conform { |
margin-top: 46rpx; |
||||||
margin-top: 48rpx; |
font-size: 28rpx; |
||||||
height: 88rpx; |
color: rgba(161, 164, 172, 1); |
||||||
text-align: center; |
line-height: 48rpx; |
||||||
background: #3795f7; |
.row { |
||||||
line-height: 86rpx; |
margin-top: 24rpx; |
||||||
font-size: 36rpx; |
display: flex; |
||||||
color: #ffffff; |
gap: 16rpx; |
||||||
border-radius: 96rpx 96rpx 96rpx 96rpx; |
.check { |
||||||
|
margin-top: 6rpx; |
||||||
|
flex-shrink: 0; |
||||||
|
width: 36rpx; |
||||||
|
height: 36rpx; |
||||||
} |
} |
||||||
|
} |
||||||
.cancel { |
.link { |
||||||
padding: 32rpx 0; |
color: rgba(140, 117, 208, 1); |
||||||
font-size: 32rpx; |
|
||||||
color: #3795f7; |
|
||||||
text-align: center; |
|
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -1,170 +1,123 @@ |
|||||||
const app = getApp<IAppOption>(); |
const app = getApp<IAppOption>() |
||||||
let timer: number | null = 0; |
let timer = null as null | number |
||||||
|
|
||||||
Page({ |
Page({ |
||||||
data: { |
data: { |
||||||
menuButtonInfo: {}, |
showTel: false, |
||||||
mobile: '', |
mobile: '', |
||||||
code: '', |
code: '', |
||||||
protool: false, |
|
||||||
codeText: '发送验证码', |
|
||||||
|
|
||||||
back: false, |
codeText: '发送验证码', |
||||||
|
|
||||||
type: '', |
check1: false, |
||||||
show: false, |
check2: false, |
||||||
}, |
check3: false, |
||||||
onLoad(options) { |
|
||||||
this.setData({ |
|
||||||
back: options.back === '1', |
|
||||||
}); |
|
||||||
}, |
|
||||||
onShow() { |
|
||||||
wx.hideShareMenu(); |
|
||||||
}, |
}, |
||||||
|
onLoad() {}, |
||||||
getCode() { |
getCode() { |
||||||
if (timer) return; |
if (timer) return |
||||||
const mobile = this.data.mobile; |
const mobile = this.data.mobile |
||||||
if (!mobile) { |
if (!mobile) { |
||||||
wx.showToast({ |
wx.showToast({ |
||||||
title: '手机号不能为空', |
title: '手机号不能为空', |
||||||
icon: 'none', |
icon: 'none', |
||||||
}); |
}) |
||||||
return; |
return |
||||||
} |
} |
||||||
// 验证手机号
|
// 验证手机号
|
||||||
if (!/^1[3-9,]\d{9}$/.test(mobile)) { |
if (!/^1[3-9,]\d{9}$/.test(mobile)) { |
||||||
wx.showToast({ |
wx.showToast({ |
||||||
title: '手机号格式不正确', |
title: '手机号格式不正确', |
||||||
icon: 'none', |
icon: 'none', |
||||||
}); |
}) |
||||||
return; |
return |
||||||
} |
} |
||||||
wx.ajax({ |
wx.ajax({ |
||||||
method: 'POST', |
method: 'POST', |
||||||
url: '?r=shizhong/login/send-verify-code', |
url: '?r=wtx/login/send-verify-code', |
||||||
data: { |
data: { |
||||||
mobile, |
mobile, |
||||||
}, |
}, |
||||||
}).then(() => { |
}).then((_res) => { |
||||||
wx.showToast({ |
wx.showToast({ |
||||||
icon: 'none', |
icon: 'none', |
||||||
title: '验证码已发送~', |
title: '验证码已发送~', |
||||||
}); |
}) |
||||||
let time = 60; |
let time = 60 |
||||||
timer = setInterval(() => { |
timer = setInterval(() => { |
||||||
time--; |
time-- |
||||||
this.setData({ |
this.setData({ |
||||||
codeText: `${time}s后重新发送`, |
codeText: `${time}s后重新发送`, |
||||||
}); |
}) |
||||||
if (time <= 0) { |
if (time <= 0) { |
||||||
clearInterval(timer as number); |
clearInterval(timer as number) |
||||||
timer = null; |
timer = null |
||||||
this.setData({ |
this.setData({ |
||||||
codeText: '发送验证码', |
codeText: '发送验证码', |
||||||
}); |
}) |
||||||
} |
} |
||||||
}, 1000); |
}, 1000) |
||||||
}); |
}) |
||||||
}, |
}, |
||||||
handleSubmit() { |
handleDocRule() { |
||||||
const { show, mobile, code, protool } = this.data; |
const { check1, check2, check3 } = this.data |
||||||
if (!protool && !show) { |
return new Promise((resolve) => { |
||||||
this.setData({ |
if (check1 && check2 && check3) { |
||||||
type: 'login', |
return resolve(true) |
||||||
show: true, |
|
||||||
}); |
|
||||||
return; |
|
||||||
} else if (show) { |
|
||||||
this.setData({ |
|
||||||
show: false, |
|
||||||
protool: true, |
|
||||||
}); |
|
||||||
} |
|
||||||
if (!mobile) { |
|
||||||
wx.showToast({ |
|
||||||
title: '请输入手机号', |
|
||||||
icon: 'none', |
|
||||||
}); |
|
||||||
return; |
|
||||||
} |
} |
||||||
if (!code) { |
|
||||||
wx.showToast({ |
wx.showToast({ |
||||||
title: '请输入验证码', |
title: '请同意相关协议', |
||||||
icon: 'none', |
icon: 'none', |
||||||
}); |
}) |
||||||
return; |
}) |
||||||
} |
}, |
||||||
|
async handleSubmit() { |
||||||
|
await this.handleDocRule() |
||||||
|
const { mobile, code } = this.data |
||||||
wx.ajax({ |
wx.ajax({ |
||||||
method: 'POST', |
method: 'POST', |
||||||
url: '?r=shizhong/login/reg-login', |
url: '?r=wtx/login/reg-login', |
||||||
data: { |
data: { |
||||||
mobile, |
mobile, |
||||||
code, |
code, |
||||||
}, |
}, |
||||||
}).then(() => { |
}).then((_res) => { |
||||||
this.submitCallback(); |
this.submitCallback() |
||||||
}); |
}) |
||||||
}, |
}, |
||||||
handleWxSubmit(e: any) { |
handleWxSubmit(e: WechatMiniprogram.CustomEvent) { |
||||||
const { show, protool } = this.data; |
const { iv, encryptedData } = e.detail |
||||||
if (!protool && !show) { |
|
||||||
this.setData({ |
|
||||||
type: 'phone', |
|
||||||
show: true, |
|
||||||
}); |
|
||||||
return; |
|
||||||
} else if (show) { |
|
||||||
this.setData({ |
|
||||||
show: false, |
|
||||||
protool: true, |
|
||||||
}); |
|
||||||
} |
|
||||||
const { iv, encryptedData } = e.detail; |
|
||||||
if (iv && encryptedData) { |
if (iv && encryptedData) { |
||||||
wx.ajax({ |
wx.ajax({ |
||||||
method: 'POST', |
method: 'POST', |
||||||
url: '?r=shizhong/login/wx-reg-login', |
url: '?r=wtx/login/wx-reg-login', |
||||||
data: { |
data: { |
||||||
iv: encodeURIComponent(iv), |
iv: encodeURIComponent(iv), |
||||||
encryptedData: encodeURIComponent(encryptedData), |
encryptedData: encodeURIComponent(encryptedData), |
||||||
}, |
}, |
||||||
}).then(() => { |
}).then((_res) => { |
||||||
this.submitCallback(); |
this.submitCallback() |
||||||
}); |
}) |
||||||
} |
} |
||||||
}, |
}, |
||||||
submitCallback() { |
submitCallback() { |
||||||
app.globalData.isLogin = 1; |
app.getUserInfo(2).then((res) => { |
||||||
const backPath = app.globalData.backPath; |
if (res.PatientId) { |
||||||
wx.reLaunch({ url: backPath || '/pages/home/index' }); |
|
||||||
app.globalData.backPath = ''; |
|
||||||
}, |
|
||||||
handleProtool() { |
|
||||||
this.setData({ |
|
||||||
protool: !this.data.protool, |
|
||||||
}); |
|
||||||
}, |
|
||||||
handleNavProtool() { |
|
||||||
wx.navigateTo({ url: `/pages/protocol/index` }); |
|
||||||
}, |
|
||||||
handleVisitor() { |
|
||||||
if (app.globalData.isLogin !== 1) { |
|
||||||
app.globalData.isLogin = 999; |
|
||||||
app.globalData.backPath = ''; |
|
||||||
} |
|
||||||
wx.reLaunch({ |
wx.reLaunch({ |
||||||
url: '/pages/home/index', |
url: `/patient/pages/index/index`, |
||||||
}); |
}) |
||||||
|
} else { |
||||||
|
wx.navigateTo({ |
||||||
|
url: `/patient/pages/entryInfo/index?aid=${res.applyIntentionId}`, |
||||||
|
}) |
||||||
|
} |
||||||
|
}) |
||||||
}, |
}, |
||||||
handleCancel() { |
handleShowTel() { |
||||||
this.setData({ |
this.setData({ |
||||||
show: false, |
showTel: !this.data.showTel, |
||||||
}); |
}) |
||||||
}, |
|
||||||
handleBack() { |
|
||||||
wx.navigateBack(); |
|
||||||
}, |
}, |
||||||
}); |
}) |
||||||
|
|
||||||
export {}; |
export {} |
||||||
|
@ -0,0 +1,5 @@ |
|||||||
|
{ |
||||||
|
"navigationStyle": "default", |
||||||
|
"navigationBarTitleText": "消息", |
||||||
|
"usingComponents": {} |
||||||
|
} |
@ -0,0 +1,57 @@ |
|||||||
|
page { |
||||||
|
background-color: rgba(247, 246, 250, 1); |
||||||
|
} |
||||||
|
.page { |
||||||
|
padding: 32rpx 30rpx; |
||||||
|
.card1 { |
||||||
|
margin-bottom: 32rpx; |
||||||
|
padding: 0 32rpx; |
||||||
|
border-radius: 24rpx; |
||||||
|
background-color: #fff; |
||||||
|
.title { |
||||||
|
padding: 32rpx 0 24rpx; |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
.content { |
||||||
|
padding-bottom: 32rpx; |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(105, 104, 110, 1); |
||||||
|
line-height: 48rpx; |
||||||
|
border-bottom: 1px solid rgba(173, 172, 178, 0.1); |
||||||
|
} |
||||||
|
.c-footer { |
||||||
|
padding: 24rpx 0; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: space-between; |
||||||
|
.btn { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(105, 104, 110, 1); |
||||||
|
} |
||||||
|
.more { |
||||||
|
width: 16rpx; |
||||||
|
height: 36rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.card2 { |
||||||
|
margin-bottom: 32rpx; |
||||||
|
padding: 32rpx; |
||||||
|
border-radius: 24rpx; |
||||||
|
background-color: #fff; |
||||||
|
.title { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
line-height: 48rpx; |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
.photo { |
||||||
|
margin-top: 24rpx; |
||||||
|
width: 100%; |
||||||
|
height: 260rpx; |
||||||
|
border-radius: 16rpx; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,41 @@ |
|||||||
|
const _app = getApp<IAppOption>(); |
||||||
|
|
||||||
|
Page({ |
||||||
|
data: { |
||||||
|
list: [] as any[], |
||||||
|
pagination: { |
||||||
|
page: 1, |
||||||
|
pages: 1, |
||||||
|
count: 1, |
||||||
|
}, |
||||||
|
}, |
||||||
|
onLoad() {}, |
||||||
|
getList(newPage = 1) { |
||||||
|
wx.ajax({ |
||||||
|
method: 'GET', |
||||||
|
url: '?r=wtx/knowledge/list', |
||||||
|
data: { |
||||||
|
page: newPage, |
||||||
|
}, |
||||||
|
}).then((res) => { |
||||||
|
const list = res.page === 1 ? res.list : [...this.data.list, ...res.list]; |
||||||
|
this.setData({ |
||||||
|
total: res.count, |
||||||
|
list, |
||||||
|
pagination: { |
||||||
|
page: res.page, |
||||||
|
pages: res.pages, |
||||||
|
count: res.count, |
||||||
|
}, |
||||||
|
}); |
||||||
|
}); |
||||||
|
}, |
||||||
|
onReachBottom() { |
||||||
|
const { page, pages } = this.data.pagination; |
||||||
|
if (pages > page) { |
||||||
|
this.getList(page + 1); |
||||||
|
} |
||||||
|
}, |
||||||
|
}); |
||||||
|
|
||||||
|
export {} |
@ -0,0 +1,23 @@ |
|||||||
|
<view class="page"> |
||||||
|
<view class="card1"> |
||||||
|
<view class="title">项目进展更新</view> |
||||||
|
<view class="content"> |
||||||
|
随着城市化进程的加速,城市交通拥堵问题日益严重,给人们的生活和工作带来了诸多不便。汽车尾气排放导致空气污染加剧... |
||||||
|
</view> |
||||||
|
<view class="c-footer"> |
||||||
|
<view class="btn">去查看</view> |
||||||
|
<image class="more" src="/images/icon3.png"></image> |
||||||
|
</view> |
||||||
|
</view> |
||||||
|
<view class="card2"> |
||||||
|
<view class="title"> |
||||||
|
随着城市化进程的加速,城市交通拥堵问题日益严重,给人们的生活和工作带来了诸多不便。汽车尾气排放导致空气污染加剧... |
||||||
|
</view> |
||||||
|
<image |
||||||
|
class="photo" |
||||||
|
mode="aspectFill" |
||||||
|
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" |
||||||
|
></image> |
||||||
|
</view> |
||||||
|
<pagination pagination="{{pagination}}"></pagination> |
||||||
|
</view> |
@ -1,7 +1,4 @@ |
|||||||
{ |
{ |
||||||
"usingComponents": { |
"navigationStyle": "custom", |
||||||
"van-icon": "@vant/weapp/icon/index", |
"usingComponents": {} |
||||||
"global-toast": "/components/global-toast/index", |
|
||||||
"uploadFile": "/components/uploadFile/index" |
|
||||||
} |
|
||||||
} |
} |
||||||
|
@ -1,90 +1,96 @@ |
|||||||
page { |
page { |
||||||
background-color: #f3f4f5; |
background-color: rgba(247, 247, 250, 1); |
||||||
} |
} |
||||||
.page { |
.page { |
||||||
background: linear-gradient(180deg, #d2f1fe 0%, rgba(244, 248, 249, 0) 100%) no-repeat top center / 100% 682rpx; |
padding: 52rpx 30rpx; |
||||||
.login { |
.user { |
||||||
margin: 32rpx 62rpx 0; |
|
||||||
display: flex; |
display: flex; |
||||||
gap: 24rpx; |
align-items: center; |
||||||
.upload { |
.avatar-wrapper { |
||||||
flex-shrink: 0; |
flex-shrink: 0; |
||||||
|
padding: 0; |
||||||
|
margin: 0; |
||||||
|
width: 124rpx; |
||||||
|
height: 124rpx; |
||||||
|
outline: none; |
||||||
|
border: 2px solid #fff; |
||||||
|
border-radius: 50%; |
||||||
|
&::after { |
||||||
|
border: none; |
||||||
|
} |
||||||
.avatar { |
.avatar { |
||||||
width: 160rpx; |
width: 100%; |
||||||
height: 160rpx; |
height: 100%; |
||||||
border-radius: 50%; |
border-radius: 50%; |
||||||
} |
} |
||||||
} |
} |
||||||
.user { |
.wrap { |
||||||
padding-top: 10rpx; |
|
||||||
flex: 1; |
flex: 1; |
||||||
.name { |
padding-left: 24rpx; |
||||||
|
.nickname { |
||||||
font-size: 40rpx; |
font-size: 40rpx; |
||||||
color: #141515; |
|
||||||
font-weight: bold; |
font-weight: bold; |
||||||
line-height: 1; |
color: rgba(1, 1, 5, 1); |
||||||
word-break: break-all; |
|
||||||
.icon { |
|
||||||
vertical-align: -4rpx; |
|
||||||
width: 36rpx; |
|
||||||
height: 36rpx; |
|
||||||
} |
} |
||||||
} |
.hostipal { |
||||||
.tel { |
margin-top: 16rpx; |
||||||
margin-top: 8rpx; |
line-height: 1; |
||||||
font-size: 28rpx; |
|
||||||
color: #999999; |
|
||||||
line-height: 40rpx; |
|
||||||
} |
|
||||||
.status { |
|
||||||
margin-top: 8rpx; |
|
||||||
font-size: 28rpx; |
|
||||||
color: #999999; |
|
||||||
line-height: 40rpx; |
|
||||||
} |
|
||||||
} |
|
||||||
.switch { |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
font-size: 28rpx; |
font-size: 28rpx; |
||||||
color: #999999; |
color: rgba(173, 172, 178, 1); |
||||||
|
.tag { |
||||||
|
display: inline-block; |
||||||
|
font-size: 24rpx; |
||||||
|
color: rgba(255, 255, 255, 1); |
||||||
|
padding: 2rpx 10rpx; |
||||||
|
background: #8c75d0; |
||||||
|
border-radius: 8rpx 8rpx 8rpx 8rpx; |
||||||
} |
} |
||||||
} |
} |
||||||
.no-login { |
|
||||||
margin: 32rpx 62rpx 0; |
|
||||||
display: flex; |
|
||||||
align-items: center; |
|
||||||
gap: 24rpx; |
|
||||||
.avatar { |
|
||||||
width: 160rpx; |
|
||||||
height: 160rpx; |
|
||||||
} |
} |
||||||
.name { |
.edit { |
||||||
font-size: 40rpx; |
flex-shrink: 0; |
||||||
color: #3795f7; |
width: 48rpx; |
||||||
|
height: 48rpx; |
||||||
} |
} |
||||||
} |
} |
||||||
.nav-list { |
.list { |
||||||
margin: 70rpx 32rpx 0; |
margin-top: 32rpx; |
||||||
padding: 0 30rpx; |
padding: 0 32rpx; |
||||||
background: #ffffff; |
border-radius: 24rpx; |
||||||
border-radius: 16rpx 16rpx 16rpx 16rpx; |
background-color: #fff; |
||||||
border: 2rpx solid #ffffff; |
.list-item { |
||||||
.nav-item { |
|
||||||
padding: 32rpx 0; |
padding: 32rpx 0; |
||||||
|
border-bottom: 1px solid rgba(173, 172, 178, 0.1); |
||||||
display: flex; |
display: flex; |
||||||
align-items: center; |
align-items: center; |
||||||
border-bottom: 1px solid #f0f0f0; |
gap: 20rpx; |
||||||
font-size: 36rpx; |
|
||||||
color: #000000; |
|
||||||
&:last-of-type { |
&:last-of-type { |
||||||
border: none; |
border: none; |
||||||
} |
} |
||||||
.icon { |
.icon { |
||||||
margin-right: 20rpx; |
width: 44rpx; |
||||||
width: 48rpx; |
height: 44rpx; |
||||||
height: 48rpx; |
|
||||||
} |
} |
||||||
|
.content { |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
line-height: 40rpx; |
||||||
|
} |
||||||
|
.more { |
||||||
|
width: 16rpx; |
||||||
|
height: 36rpx; |
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
.login-out { |
||||||
|
margin-top: 48rpx; |
||||||
|
height: 84rpx; |
||||||
|
border-radius: 130rpx 130rpx 130rpx 130rpx; |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: center; |
||||||
|
font-size: 32rpx; |
||||||
|
color: rgba(33, 29, 46, 1); |
||||||
|
background-color: #fff; |
||||||
|
} |
||||||
|
} |
||||||
|