4/18 样式修改,缴费部分页面按照ui重做

This commit is contained in:
wangyuxin
2026-04-18 16:24:20 +08:00
parent 72ec4017e8
commit 452bf0b84d
36 changed files with 975 additions and 973 deletions

View File

@@ -3,7 +3,7 @@
<view class="status-bar"></view>
<uni-nav-bar title="投诉建议" backgroundColor="transparent" :border="false" left-icon="left" @clickLeft="goBack">
</uni-nav-bar>
<!-- 表单区域 -->
<scroll-view class="page" scroll-y="true">
@@ -93,19 +93,19 @@
</view>
</view>
</view>
</scroll-view>
<!-- 底部下一步按钮 -->
<view class="bottom-btn-wrap">
<button class="next-btn" @click="submitForm">提交</button>
</view>
<!-- ================== 自定义Popup弹窗纯view实现 ================== -->
<!-- 蒙层 -->
<view class="mask" v-if="showTypePopup || showPropertyPopup" @click="closeAllPopup"></view>
<!-- 投诉类型弹窗 -->
<view v-if="showTypePopup" class="mask" @click="showTypePopup=false"></view>
<view v-if="showTypePopup" class="popup">
@@ -113,18 +113,18 @@
<text class="title">选择投诉类型</text>
<text class="close" @click="showTypePopup = false"></text>
</view>
<view class="list">
<view :class="{ active: selectedType === item }" class="item" v-for="(item, index) in typeOptions"
:key="index" @click="selectType(item)">
{{ item }}
</view>
</view>
</view>
<!-- 投诉物业弹窗 -->
<view v-if="showPropertyPopup" class="mask" @click="showPropertyPopup=false"></view>
<view v-if="showPropertyPopup" class="popup">
@@ -132,7 +132,7 @@
<text class="title">选择投诉类型</text>
<text class="close" @click="showPropertyPopup = false"></text>
</view>
<view class="list">
<view :class="{ active: selectedProperty === item }" class="item"
v-for="(item, index) in propertyOptions" :key="index" @click="selectProperty(item)">
@@ -140,10 +140,10 @@
</view>
</view>
</view>
</view>
@@ -317,31 +317,31 @@
/* 关键:占满屏幕高度 */
/* background: linear-gradient(to left bottom, #e2efff 0%, #f9f9f9 50%); */
}
.page {
flex: 1;
overflow-y: auto;
padding: 0px 20px;
padding: 0px 40rpx;
box-sizing: border-box;
background-color: #fff;
}
/* 表单主体 */
.form-content {
}
.form-content {}
.form-tip {
display: block;
font-size: 16px;
font-size: 32rpx;
color: #1D1D1D;
margin-bottom: 10px;
margin-bottom: 10rpx;
font-weight: 600;
}
/* 表单项:一行布局,不换行 */
.form-row {
display: flex;
align-items: center;
padding: 16px 0;
padding: 20rpx 0;
border-bottom: 1rpx solid #f0f0f0;
}
@@ -354,12 +354,12 @@
.required-star {
color: #ff3b30;
font-size: 15px;
margin-right: 4px;
font-size: 30rpx;
margin-right: 8rpx;
}
.label-text {
font-size: 14px;
font-size: 28rpx;
color: #333;
}
@@ -371,7 +371,7 @@
}
.value-text {
font-size: 15px;
font-size: 30rpx;
color: grey;
}
@@ -387,7 +387,7 @@
/* 输入框样式 */
.text-input {
width: 100%;
font-size: 15px;
font-size: 30rpx;
color: #333;
border: none;
outline: none;
@@ -397,9 +397,9 @@
/* 问题描述行 */
.desc-row {
align-items: flex-start;
padding-top: 16px;
padding-bottom: 16px;
padding-top: 32rpx;
padding-bottom: 32rpx;
}
.desc-right {
@@ -407,13 +407,13 @@
}
.desc-input {
width: calc(100vw - 42px);
width: calc(100vw - 84rpx);
min-height: 80px;
margin-top: 10px;
padding: 12px;
margin-top: 20rpx;
padding: 24rpx;
border: 1rpx solid #f0f0f0;
border-radius: 8rpx;
font-size: 15px;
font-size: 30rpx;
color: #333;
line-height: 1.5;
box-sizing: border-box;
@@ -423,8 +423,8 @@
/* 照片上传区域 */
.photo-row {
align-items: flex-start;
padding-top: 16px;
padding-bottom: 16px;
padding-top: 32rpx;
padding-bottom: 32rpx;
border-bottom: none;
}
@@ -435,7 +435,7 @@
.photo-grid {
display: flex;
flex-wrap: wrap;
gap: 12px;
gap: 24rpx;
}
.photo-item {
@@ -489,7 +489,7 @@
/* 底部按钮 */
.bottom-btn-wrap {
padding: 10px 15px 20px;
padding: 20rpx 30rpx 40rpx;
display: flex;
gap: 20rpx;
background-color: #fff;
@@ -530,7 +530,7 @@
}
.popup-header {
padding: 15px;
padding: 30rpx;
text-align: center;
/* border-bottom: 1rpx solid #f0f0f0; */
position: relative;
@@ -543,7 +543,7 @@
.close {
position: absolute;
right: 15px;
right: 30rpx;
top: 50%;
transform: translateY(-50%);
font-size: 36rpx;
@@ -552,13 +552,13 @@
/* 选项列表 */
.list {
padding: 0 15px;
padding: 0 30rpx;
}
.item {
padding: 15px 0;
padding: 30rpx 0;
text-align: center;
font-size: 14px;
font-size: 28rpx;
border-bottom: 1rpx solid #f5f5f5;
}

View File

@@ -3,7 +3,7 @@
<view class="status-bar"></view>
<uni-nav-bar title="投诉详情" backgroundColor="transparent" :border="false" left-icon="left" @clickLeft="goBack">
</uni-nav-bar>
<!-- 表单区域 -->
<scroll-view class="page" scroll-y="true">
@@ -85,12 +85,12 @@
computed: {
},
created() {
},
onShow() {
@@ -143,7 +143,7 @@
</script>
<style lang="scss">
page {
background: #f2f1f6;
background: #fff;
}
</style>
@@ -155,17 +155,16 @@
/* 关键:占满屏幕高度 */
/* background: linear-gradient(to left bottom, #e2efff 0%, #f9f9f9 50%); */
}
.page {
flex: 1;
overflow-y: auto;
padding: 0px 20px;
padding: 0px 40rpx;
box-sizing: border-box;
/* background-color: #fff; */
}
.page-container {
}
.page-container {}
/* 通用标题样式(带蓝色竖线) */
.section-title {
@@ -183,7 +182,7 @@
}
.title-text {
font-size: 16px;
font-size: 32rpx;
font-weight: bold;
color: #333333;
}
@@ -200,8 +199,8 @@
.completedDesc {
color: #2F77FD;
font-size: 14px;
margin-bottom: 15px;
font-size: 28rpx;
margin-bottom: 30rpx;
}
@@ -221,7 +220,7 @@
.info-label {
width: 220rpx;
font-size: 14px;
font-size: 28rpx;
color: #333333;
flex-shrink: 0;
line-height: 1.5;
@@ -229,7 +228,7 @@
.info-value {
flex: 1;
font-size: 14px;
font-size: 28rpx;
color: #000;
line-height: 1.5;
}
@@ -260,13 +259,13 @@
display: flex;
flex-wrap: wrap;
/* 自动换行 */
gap: 10px;
gap: 20rpx;
/* 图片之间的间距(可改) */
margin: 5px 0px 10px 0px;
margin: 10rpx 0px 20rpx 0px;
}
.photo-item {
width: calc(33.333% - 7px);
width: calc(33.333% - 14rpx);
height: 66px;
object-fit: cover;
}
@@ -282,7 +281,9 @@
.completed {
color: #999999;
}.status-bar{
}
.status-bar {
width: 100vw;
height: 46px;
}

View File

@@ -236,7 +236,7 @@
.page {
flex: 1;
overflow-y: auto;
padding: 0px 20px;
padding: 0px 40rpx;
box-sizing: border-box;
/* background-color: #fff; */
}
@@ -259,7 +259,7 @@
border-radius: 16rpx;
padding: 30rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
margin-bottom: 10px;
margin-bottom: 20rpx;
}
@@ -271,16 +271,16 @@
}
.card-title {
font-size: 16px;
font-size: 32rpx;
font-weight: 400;
color: #222222;
margin-right: 20rpx;
}
.card-tag {
font-size: 12px;
padding: 1px 8px;
border-radius: 20px;
font-size: 24rpx;
padding: 2rpx 16rpx;
border-radius: 40rpx;
}
.pending {
@@ -307,9 +307,9 @@
/* 描述文本 */
.card-desc {
font-size: 14px;
font-size: 28rpx;
color: #666666;
line-height: 20px;
line-height: 40rpx;
margin-bottom: 20rpx;
}
@@ -318,14 +318,14 @@
display: flex;
flex-wrap: wrap;
/* 自动换行 */
gap: 10px;
gap: 20rpx;
/* 图片之间的间距(可改) */
margin: 5px 0px 10px 0px;
margin: 10rpx 0px 20rpx 0px;
}
/* 单个图片项 */
.img-item {
width: calc(33.333% - 7px);
width: calc(33.333% - 14rpx);
height: 52px;
}
@@ -345,7 +345,7 @@
}
.card-time {
font-size: 12px;
font-size: 24rpx;
color: #999999;
}
@@ -356,7 +356,7 @@
/* 底部按钮 */
.bottom-btn-wrap {
padding: 10px 15px 20px;
padding: 20rpx 30rpx 40rpx;
display: flex;
gap: 20rpx;
/* background-color: #fff; */

View File

@@ -124,15 +124,15 @@
.page {
flex: 1;
overflow-y: auto;
padding: 0px 20px;
padding: 0px 40rpx;
box-sizing: border-box;
/* background-color: #fff; */
}
/* 卡片容器 */
.property-card {
padding: 15px;
/* margin: 0px 20px 20px 20px; */
padding: 30rpx;
/* margin: 0px 40rpx 40rpx 40rpx; */
background: #ffffff;
border-radius: 16rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
@@ -141,7 +141,7 @@
.topBox {
display: flex;
align-items: flex-start;
margin-bottom: 10px;
margin-bottom: 20rpx;
}
/* 头像 */
@@ -163,7 +163,7 @@
/* 物业名称 */
.property-name {
font-size: 16px;
font-size: 32rpx;
font-weight: 600;
color: #333333;
line-height: 35px;
@@ -171,9 +171,9 @@
/* 物业地址 */
.property-address {
font-size: 14px;
font-size: 28rpx;
color: #666666;
line-height: 12px;
line-height: 24rpx;
}
/* 电话行 */
@@ -181,24 +181,24 @@
display: flex;
align-items: center;
gap: 8rpx;
line-height: 30px;
line-height: 60rpx;
}
/* 电话标签 */
.phone-label {
font-size: 14px;
font-size: 28rpx;
color: #999999;
}
/* 电话号码 */
.phone-num {
font-size: 14px;
font-size: 28rpx;
color: #666666;
}
/* 电话图标 */
.phone-icon {
font-size: 12px;
font-size: 24rpx;
color: #409eff !important;
/* 蓝色,和原图一致 */
margin-left: 8rpx;

View File

@@ -142,7 +142,7 @@
.page {
flex: 1;
overflow-y: auto;
padding: 0px 20px;
padding: 0px 40rpx;
box-sizing: border-box;
/* background-color: #fff; */
}
@@ -155,30 +155,30 @@
/* 标题与描述 */
.survey-title {
font-size: 16px;
font-size: 32rpx;
font-weight: 600;
color: #333;
text-align: center;
margin: 0px 0 10px 0;
margin: 0px 0 20rpx 0;
;
}
.survey-desc {
font-size: 12px;
font-size: 24rpx;
color: #4A4A4A;
line-height: 1.6;
margin-bottom: 10px;
margin-bottom: 20rpx;
text-align: justify;
}
.question-item {
margin-bottom: 50rpx;
margin-bottom: 30rpx;
}
.question-title {
font-size: 16px;
font-size: 32rpx;
color: #000;
margin-bottom: 5px;
margin-bottom: 10rpx;
font-weight: 600;
}
@@ -192,7 +192,7 @@
font-size: 32rpx;
color: #333;
line-height: 1.5;
padding-left: 15px;
padding-left: 30rpx;
}
/* 星级评分样式 */
@@ -200,6 +200,7 @@
display: flex;
align-items: center;
gap: 20rpx;
padding-left: 30rpx;
}
.star-item {

View File

@@ -270,7 +270,7 @@
.page {
flex: 1;
overflow-y: auto;
padding: 0px 20px;
padding: 0px 40rpx;
box-sizing: border-box;
/* background-color: #fff; */
}
@@ -284,31 +284,31 @@
/* 标题与描述 */
.survey-title {
font-size: 16px;
font-size: 32rpx;
font-weight: 600;
color: #333;
text-align: center;
margin: 0px 0 10px 0;
margin: 0px 0 20rpx 0;
;
}
.survey-desc {
font-size: 12px;
font-size: 24rpx;
color: #4A4A4A;
line-height: 1.6;
margin-bottom: 10px;
margin-bottom: 20rpx;
text-align: justify;
}
/* 问题项 */
.question-item {
margin-bottom: 25px;
margin-bottom: 30rpx;
.question-title {
font-size: 16px;
font-size: 32rpx;
font-weight: 600;
color: #333;
margin-bottom: 5px;
margin-bottom:10rpx;
line-height: 1.4;
.required {
@@ -324,7 +324,7 @@
display: flex;
flex-direction: column;
gap: 30rpx;
padding-left: 15px;
padding-left: 30rpx;
}
.radio-item {
@@ -373,7 +373,7 @@
background-color: #fff;
font-size: 32rpx;
color: #333;
margin-left: 15px;
margin-left: 30rpx;
}
.select-placeholder {
@@ -434,7 +434,7 @@
display: flex;
align-items: center;
gap: 16rpx;
margin-left: 15px;
margin-left: 30rpx;
.star-icon {
font-size: 56rpx;
@@ -449,7 +449,7 @@
/* 文本输入框 */
.textarea-input {
width: calc(100% - 15px);
width: calc(100% - 30rpx);
min-height: 240rpx;
padding: 20rpx;
border: 2rpx solid #e5e5e5;
@@ -458,7 +458,7 @@
font-size: 32rpx;
color: #333;
box-sizing: border-box;
margin-left: 15px;
margin-left: 30rpx;
}
/* 底部占位 & 提交按钮 */
@@ -467,7 +467,7 @@
}
.submit-btn-wrap {
padding: 10px 15px 20px;
padding: 20rpx 30rpx 40rpx;
display: flex;
gap: 20rpx;
// background-color: #fff;

View File

@@ -30,7 +30,7 @@
</view>
</view>
<!-- 占位 -->
<view style="width: 100%;height: 1px;"> </view>
<view style="width: 100%;height:2rpx;"> </view>
</scroll-view>
@@ -247,14 +247,14 @@
.page {
flex: 1;
overflow-y: auto;
padding: 0px 20px;
padding: 0px 40rpx;
box-sizing: border-box;
/* background-color: #fff; */
}
.page-container {
padding: 20px;
padding: 40rpx;
}
/* --- 分段控制器样式 --- */
@@ -276,12 +276,12 @@
.list-container {}
.list-item {
padding: 15px;
margin-bottom: 10px;
padding: 30rpx;
margin-bottom: 20rpx;
display: flex;
align-items: center;
justify-content: space-between;
border: 1px solid #E6E6E6;
border:2rpx solid #E6E6E6;
background-color: #fff;
&.disabled {
@@ -292,23 +292,23 @@
}
&.selected {
border: 1px solid #2F77FD;
border:2rpx solid #2F77FD;
background-color: #F5FAFF;
}
}
.item-content {
// flex: 1;
width: calc(100% - 50px);
// margin-right: 10px;
width: calc(100% - 100rpx);
// margin-right: 20rpx;
}
.item-title {
font-size: 16px;
font-size: 32rpx;
font-weight: 600;
color: #222222;
line-height: 22px;
margin-bottom: 5px;
line-height: 44rpx;
margin-bottom:10rpx;
/* 超长文本省略 */
overflow: hidden;
text-overflow: ellipsis;
@@ -319,13 +319,13 @@
.item-info {
display: flex;
align-items: center;
gap: 10px;
gap: 20rpx;
.info-time,
.info-community {
font-size: 14px;
font-size: 28rpx;
color: #666;
line-height: 16px;
line-height: 32rpx;
/* 超长文本省略 */
overflow: hidden;
text-overflow: ellipsis;
@@ -334,10 +334,10 @@
}
.item-status {
font-size: 14px;
font-size: 28rpx;
font-weight: 500;
padding: 0px 0px;
border-radius: 4px;
border-radius:8rpx;
&.joined {
color: #2F77FD;

View File

@@ -196,7 +196,7 @@
bottom: 0;
display: flex;
flex-direction: column;
padding-bottom: 30px;
padding-bottom: 60rpx;
background: linear-gradient(to left bottom, #e2efff 0%, #f9f9f9 50%);
/* background: #fff; */
@@ -213,21 +213,21 @@
}
.container {
padding: 20px;
padding: 40rpx;
}
/* Banner 轮播 */
.banner-box {
width: 100%;
border-radius: 10px;
border-radius: 20rpx;
overflow: hidden;
margin-bottom: 20px;
height: 111px;
margin-bottom: 40rpx;
height: 122rpx;
}
.banner-img {
width: 100%;
height: 111px;
height: 122rpx;
}
@@ -236,28 +236,28 @@
.func-section {
width: 100%;
background-color: #ffffff;
border-radius: 10px;
padding: 10px;
border-radius: 20rpx;
padding: 20rpx;
box-sizing: border-box;
margin-bottom: 20px;
margin-bottom: 40rpx;
}
.section-title {
display: flex;
align-items: center;
margin-bottom: 25px;
margin-bottom: 50rpx;
}
.title-line {
width: 6px;
height: 24px;
width:12rpx;
height: 48rpx;
background-color: #007aff;
border-radius: 3px;
margin-right: 10px;
border-radius:6rpx;
margin-right: 20rpx;
}
.title-text {
font-size: 16px;
font-size: 32rpx;
font-weight: 600;
color: #000000;
}
@@ -274,18 +274,18 @@
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 20px;
margin-bottom: 40rpx;
}
.func-icon {
width: 42px;
height: 42px;
width: 84rpx;
height: 84rpx;
border-radius: 50%;
background-color: #f0f5ff;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 10px;
margin-bottom: 20rpx;
position: relative;
}
@@ -300,7 +300,7 @@
}
.func-name {
font-size: 14px;
font-size: 28rpx;
color: #000000;
font-weight: 400;
text-align: center;