@@ -12,4 +12,8 @@ | |||
view { | |||
box-sizing: border-box; | |||
color: #333333; | |||
font-family: SourceHanSansCN-Regular; | |||
} | |||
text { | |||
font-family: SourceHanSansCN-Regular; | |||
} |
@@ -2,12 +2,14 @@ | |||
.image_container { | |||
width: 100%; | |||
display: flex; | |||
flex-wrap: wrap; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.image_item { | |||
width: 200rpx; | |||
width: 190rpx; | |||
height: 160rpx; | |||
margin-right: 20rpx; | |||
margin-bottom: 20rpx; | |||
border-radius: 10rpx; | |||
} |
@@ -3,10 +3,11 @@ | |||
<picker bindchange="updateChange" value="{{current}}" data-current="{{current}}" range="{{data}}" range-key="{{rangeKey}}" disabled="{{disabled}}"> | |||
<view class="picker" wx:if="{{data[current][rangeKey]}}"> | |||
{{data[current][rangeKey]}} | |||
<image class="select_img" src="../../assets/img/select.png"></image> | |||
</view> | |||
<view wx:else class="picker" style="color: {{disabled? '#999999': 'rgba(0, 0, 0, 0.5)'}};"> | |||
请选择 | |||
<image class="select_img" src="../../assets/img/select.png"></image> | |||
</view> | |||
</picker> | |||
<image class="select_img" src="../../assets/img/select.png"></image> | |||
</view> |
@@ -1,23 +1,29 @@ | |||
/* components/Select/index.wxss */ | |||
.select_box { | |||
width: 160rpx; | |||
/* width: 180rpx; */ | |||
padding: 22rpx 0; | |||
display: flex; | |||
justify-content: space-between; | |||
justify-content: center; | |||
align-items: center; | |||
position: relative; | |||
} | |||
picker { | |||
width: 200rpx; | |||
font-size: 28rpx; | |||
color: #333333; | |||
display: flex; | |||
justify-content: flex-end; | |||
justify-content: center; | |||
align-items: center; | |||
} | |||
.picker { | |||
margin-right: 30rpx; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
margin-right: 20rpx; | |||
} | |||
.select_img { | |||
width: 16rpx; | |||
height: 10rpx; | |||
} |
@@ -1,6 +1,6 @@ | |||
const __request_base_url__ = { | |||
develop: "http://192.168.11.11:9061/api", | |||
// develop: "https://qmhhapi-test.t-aaron.com/api", | |||
// develop: "http://192.168.11.11:9061/api", | |||
develop: "https://qmhhapi-test.t-aaron.com/api", | |||
trial: "https://qmhhapi-test.t-aaron.com/api", | |||
release: "https://qmhh.t-aaron.com/api" | |||
} |
@@ -7,7 +7,7 @@ | |||
<view class="river_name">{{dataSource.name}}</view> | |||
<view class="info_item"> | |||
<text style="color: #7A8AA2;">河道长度:</text> | |||
<text>{{dataSource.length}}公里</text> | |||
<text>{{dataSource.length}}KM</text> | |||
</view> | |||
<view class="info_item"> | |||
<text style="color: #7A8AA2;">起讫位置:</text> |
@@ -92,4 +92,5 @@ | |||
.river_img { | |||
width: 100%; | |||
border-radius: 10rpx; | |||
margin-top: 30rpx; | |||
} |
@@ -17,7 +17,7 @@ | |||
</view> | |||
</view> | |||
<view class="content_info">{{item.content}}</view> | |||
<ImageList imageSource="{{item.image}}" limit="{{3}}"></ImageList> | |||
<ImageList imageSource="{{item.image}}" limit="{{5}}"></ImageList> | |||
</view> | |||
</list> | |||
</view> |
@@ -90,8 +90,12 @@ | |||
.content_info { | |||
width: 100%; | |||
margin: 20rpx 0; | |||
/* display: -webkit-box; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
word-wrap: break-word; | |||
white-space: normal !important; | |||
-webkit-line-clamp: 2; | |||
-webkit-box-orient: vertical; */ | |||
} |
@@ -1,6 +1,3 @@ | |||
{ | |||
"usingComponents": { | |||
"Select": "../../../components/Select/index" | |||
}, | |||
"navigationBarTitleText": "发布美拍" | |||
} |
@@ -7,8 +7,8 @@ Page({ | |||
data: { | |||
dataSource: {}, | |||
statusList: [ | |||
{title: '待处理', color: '#F34747'}, | |||
{title: '待处理', color: '#F34747'}, | |||
{title: '未处理', color: '#F34747'}, | |||
{title: '未处理', color: '#F34747'}, | |||
{title: '已处理', color: '#2a82e4'}, | |||
{title: '已处理', color: '#2a82e4'} | |||
] |
@@ -1,6 +1,41 @@ | |||
<!--package_mine/pages/feedbackDetail/index.wxml--> | |||
<view class="detail_container"> | |||
<view class="detail_main"> | |||
<view class="detail_head"> | |||
<text class="head_river">{{dataSource.streamName}}</text> | |||
<view class="head_status">{{statusList[dataSource.status-1].title}}</view> | |||
</view> | |||
<view class="info_box"> | |||
<view class="content">{{dataSource.feedbackDesc}}</view> | |||
<view class="image_box"> | |||
<image class="image_item" wx:for="{{imageList}}" src="{{item}}" wx:key="index" data-current="{{index}}" data-type="imageList" bindtap="showImgPreview"></image> | |||
</view> | |||
<view class="feedback_info"> | |||
<view class="feedback_title">反馈信息</view> | |||
<view class="detail_item"> | |||
<view class="item_title">反馈时间</view> | |||
<text class="item_value">{{dataSource.createTime}}</text> | |||
</view> | |||
<view class="textera_box"> | |||
<view class="item_title">反馈意见</view> | |||
<text class="item_textera">{{dataSource.examineRemark || '—'}}</text> | |||
</view> | |||
<view class="detail_item"> | |||
<view class="item_title">处理人</view> | |||
<text class="item_value">{{dataSource.realname || '—'}}</text> | |||
</view> | |||
<view class="image_list"> | |||
<view class="item_title">处理结果</view> | |||
<view class="image_box" wx:if="{{handleImgList.length}}"> | |||
<image class="image_item" wx:for="{{handleImgList}}" src="{{item}}" wx:key="index" data-current="{{index}}" data-type="handleImgList" bindtap="showImgPreview"></image> | |||
</view> | |||
</view> | |||
<view class="detail_item"> | |||
<view class="item_title">处理时间</view> | |||
<text class="item_value">{{dataSource.handleTime || '—'}}</text> | |||
</view> | |||
</view> | |||
</view> | |||
<!-- <view class="detail_main"> | |||
<view class="detail_item"> | |||
<view class="item_title">选择河道:</view> | |||
<text class="item_value">{{dataSource.streamName}}</text> | |||
@@ -41,5 +76,5 @@ | |||
<view class="item_title">处理时间:</view> | |||
<text class="item_value">{{dataSource.handleTime || ''}}</text> | |||
</view> | |||
</view> | |||
</view> --> | |||
</view> |
@@ -1,56 +1,129 @@ | |||
/* package_mine/pages/feedbackDetail/index.wxss */ | |||
.detail_container { | |||
width: 100%; | |||
padding: 0 30rpx; | |||
min-height: 100vh; | |||
} | |||
.detail_main { | |||
.detail_head { | |||
padding: 70rpx 50rpx 80rpx 50rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
background: linear-gradient(180deg, #027CFF, #61A7FF); | |||
} | |||
.head_river { | |||
font-size: 40rpx; | |||
font-weight: 600; | |||
color: #ffffff; | |||
font-family: DFPLiJinHeiW8-GB; | |||
} | |||
.head_status { | |||
padding: 10rpx 26rpx; | |||
color: #3275E9; | |||
font-size: 26rpx; | |||
background-color: #ffffff; | |||
border-radius: 4rpx; | |||
} | |||
.info_box { | |||
width: 100%; | |||
margin-top: -10rpx; | |||
padding: 30rpx; | |||
background-color: #ffffff; | |||
border-top-left-radius: 10rpx; | |||
border-top-right-radius: 10rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
align-items: flex-start; | |||
overflow: hidden; | |||
} | |||
.detail_item { | |||
width: 100%; | |||
margin: 15rpx 0; | |||
display:flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
.content { | |||
font-size: 28rpx; | |||
color: #4C4C4C; | |||
font-family: SourceHanSansCN-Normal; | |||
} | |||
.image_list { | |||
.feedback_title { | |||
padding-left: 24rpx; | |||
margin-bottom: 30rpx; | |||
font-size: 30rpx; | |||
color: #000000; | |||
font-weight: bold; | |||
position: relative; | |||
} | |||
.feedback_title::before { | |||
content: ''; | |||
width: 10rpx; | |||
height: 26rpx; | |||
border-radius: 5rpx; | |||
background-color: #3275E9; | |||
position: absolute; | |||
left: 0; | |||
top: 8rpx; | |||
} | |||
.feedback_info { | |||
width: 100%; | |||
margin: 15rpx 0; | |||
display:flex; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.image_list .item_title { | |||
width: 180rpx; | |||
} | |||
.image_box { | |||
width: 500rpx; | |||
width: 100%; | |||
padding: 30rpx 0; | |||
display: flex; | |||
flex-wrap: wrap; | |||
justify-content: flex-end; | |||
align-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.image_item { | |||
width: 140rpx; | |||
height: 140rpx; | |||
margin: 0 15rpx 15rpx 0; | |||
width: 136rpx; | |||
height: 114rpx; | |||
border-radius: 4rpx; | |||
margin-left: 30rpx; | |||
} | |||
.detail_item { | |||
width: 100%; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
border-top: 1rpx solid #EDEDED; | |||
} | |||
.item_title { | |||
width: 180rpx; | |||
font-size: 30rpx; | |||
color: #666666; | |||
margin-right: 30rpx; | |||
padding: 30rpx 0; | |||
font-size: 28rpx; | |||
color: #6F6F6F; | |||
} | |||
.item_value { | |||
width: 500rpx; | |||
font-size: 26rpx; | |||
color: #333333; | |||
text-align: end; | |||
font-size: 28rpx; | |||
color: #4F4F4F; | |||
} | |||
.textera_box { | |||
width: 100%; | |||
box-sizing: border-box; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.item_textera { | |||
box-sizing: border-box; | |||
width: 100%; | |||
padding: 20rpx 30rpx; | |||
background-color: rgba(32, 35, 42, 0.05); | |||
border-radius: 10rpx; | |||
font-size: 28rpx; | |||
color: rgba(79, 79, 79, 1); | |||
} | |||
.image_list { | |||
width: 100%; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
border-top: 1rpx solid #EDEDED; | |||
} | |||
@@ -23,7 +23,10 @@ | |||
<view class="empty_box" wx:else> | |||
<image class="success_img" src="../../../assets/img/unapprove.png" mode="widthFix"></image> | |||
<view class="tips_text">您当前还未申请身份, 请返回“我的”页面申请身份!</view> | |||
<view class="tips_text"> | |||
<text style="line-height: 53rpx;">您当前还未申请身份,</text> | |||
<text style="line-height: 53rpx;">请返回“我的”页面申请身份!</text> | |||
</view> | |||
<view class="return_btn" bindtap="returnList">我知道了</view> | |||
</view> | |||
@@ -99,33 +99,37 @@ | |||
.empty_box { | |||
width: 100%; | |||
padding: 130rpx 170rpx; | |||
padding-top: 130rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.success_img { | |||
width: 224rpx; | |||
height: 224rpx; | |||
margin-bottom: 126rpx; | |||
width: 500rpx; | |||
height: 440rpx; | |||
margin-bottom: 10rpx; | |||
} | |||
.tips_text { | |||
font-size: 26rpx; | |||
font-weight: 800; | |||
font-size: 30rpx; | |||
color: #504E4E; | |||
text-indent: 34rpx; | |||
color: #000000; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
} | |||
.return_btn { | |||
width: 400rpx; | |||
height: 88rpx; | |||
margin-top: 260rpx; | |||
width: 100%; | |||
height: 90rpx; | |||
margin-top: 400rpx; | |||
border-radius: 40rpx; | |||
background-color: #4BE2AC; | |||
line-height: 88rpx; | |||
background-color: #3275E9; | |||
line-height: 90rpx; | |||
text-align: center; | |||
color: #ffffff; | |||
font-size: 24rpx; | |||
font-weight: bold; | |||
font-size: 32rpx; | |||
font-family: Source Han Sans CN; | |||
} |
@@ -9,10 +9,10 @@ Page({ | |||
current: "/feedback/my", | |||
params: {}, | |||
statusList: [ | |||
{title: '待处理', color: '#F34747'}, | |||
{title: '待处理', color: '#F34747'}, | |||
{title: '已处理', color: '#2a82e4'}, | |||
{title: '已处理', color: '#2a82e4'} | |||
{title: '未处理', color: '#EBAC14'}, | |||
{title: '未处理', color: '#EBAC14'}, | |||
{title: '已处理', color: '#006DF7'}, | |||
{title: '已处理', color: '#006DF7'} | |||
] | |||
}, | |||
@@ -3,5 +3,6 @@ | |||
"list": "../../../components/List/index", | |||
"feedback-info": "../../../components/feedbackInfo/index" | |||
}, | |||
"navigationBarTitleText": "我的反馈" | |||
"navigationBarTitleText": "河湖问题反馈", | |||
"navigationBarBackgroundColor": "#F4F7FB" | |||
} |
@@ -3,12 +3,13 @@ | |||
<list id="list" class="feedback_list" url="{{current}}" bind:update-list="updateList" list="{{list}}" bind:reset-list="resetList" params="{{params}}"> | |||
<view class="feedback_item" data-item="{{item}}" bindtap="showDetail" wx:for="{{list}}" wx:key="index"> | |||
<view class="info_head"> | |||
<text class="item_value" style="color: {{statusList[item.status-1].color}}">{{statusList[item.status-1].title}}</text> | |||
</view> | |||
<view class="feedback_info"> | |||
<image class="feedback_img" src="{{item.feedbackCover}}"></image> | |||
<feedback-info class="info_box" dataSource="{{item}}"></feedback-info> | |||
<view class="river_info"> | |||
<text style="font-size: 32rpx; color:#2D2D2D;font-weight: bold; font-family: SourceHanSansCN-Medium;">{{item.streamName}}</text> | |||
<text style="font-size: 26rpx; color: #979798;margin-top: 10rpx;">{{item.createTime}}</text> | |||
</view> | |||
<view class="item_status" style="background-color: {{statusList[item.status-1].color}};">{{statusList[item.status-1].title}}</view> | |||
</view> | |||
<view class="item_content">{{item.feedbackDesc}}</view> | |||
</view> | |||
</list> |
@@ -2,11 +2,12 @@ | |||
.protect_container { | |||
width: 100%; | |||
height: 100vh; | |||
padding: 30rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: center; | |||
background-color: #F3F4F5; | |||
background-color: #F4F7FB; | |||
color: #333333; | |||
} | |||
.feedback_list { | |||
@@ -15,29 +16,47 @@ | |||
} | |||
.feedback_item { | |||
width: 100%; | |||
padding: 24rpx; | |||
margin-top: 18rpx; | |||
padding: 30rpx 24rpx 24rpx 24rpx; | |||
margin-bottom: 20rpx; | |||
background-color: #ffffff; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-end; | |||
border-radius: 8rpx; | |||
} | |||
.info_head { | |||
font-size: 22rpx; | |||
width: 100%; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
} | |||
.feedback_info { | |||
width: 100%; | |||
.river_info { | |||
display: flex; | |||
justify-content: space-between; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
} | |||
.feedback_img { | |||
width: 180rpx; | |||
height: 150rpx; | |||
margin-right: 30rpx; | |||
.item_status { | |||
padding: 10rpx 15rpx; | |||
font-size: 24rpx; | |||
color: #ffffff; | |||
border-radius: 4rpx; | |||
} | |||
.info_box { | |||
flex: 1; | |||
} | |||
.item_content { | |||
width: 100%; | |||
height: 190rpx; | |||
background-color:#F6F6F6; | |||
margin-top: 20rpx; | |||
padding: 30rpx 20rpx; | |||
font-size: 28rpx; | |||
color: #8C8C8C; | |||
line-height: 50rpx; | |||
display: -webkit-box; | |||
overflow: hidden; | |||
text-overflow: ellipsis; | |||
word-wrap: break-word; | |||
white-space: normal !important; | |||
-webkit-line-clamp: 3; | |||
-webkit-box-orient: vertical; | |||
} |
@@ -129,8 +129,9 @@ Page({ | |||
this.setData({form}) | |||
this.validate(name) | |||
}, | |||
/* 上传图片 */ | |||
uploadImage(){ | |||
// 点击相机 | |||
uploadAvatar() { | |||
wx.chooseMedia({ | |||
count: 1, // 最多可以选择的图片张数,默认9 | |||
mediaType: ['image'], // 图片 | |||
@@ -147,26 +148,10 @@ Page({ | |||
this.validate('headimgurl') | |||
}, | |||
fail: (e) => { | |||
console.log(e); | |||
console.log(e, '取消选择'); | |||
} | |||
}) | |||
}, | |||
// 删除图片 | |||
deleteImage() { | |||
let form = this.data.form | |||
form.headimgurl = '' | |||
this.setData({ form, image: '' }) | |||
this.validate('headimgurl') | |||
}, | |||
/** 返回 */ | |||
return() { | |||
wx.switchTab({ | |||
url: '/pages/mine/index', | |||
}) | |||
}, | |||
/** | |||
* 图片上传oss | |||
*/ |
@@ -1,27 +1,21 @@ | |||
<!--package_mine/pages/userInfo/index.wxml--> | |||
<view class="form_container"> | |||
<view class="upload_box {{formRules.headimgurl.warning? 'warning': ''}}" bindtap="uploadAvatar"> | |||
<image class="image_item" src="{{form.headimgurl}}" mode="aspectFill"> | |||
</image> | |||
<image class="upload_img" src="../../../assets/img/camera.png" mode="aspectFill"> | |||
</image> | |||
<text class="tips">请上传个人头像</text> | |||
</view> | |||
<view class="form_item {{formRules.nickname.warning ? 'warning' : ''}}"> | |||
<text><text style="color: red;">*</text>用户名称:</text> | |||
<text style="color: #6F6F6F;font-size: 28rpx;"><text style="color: red;">*</text>用户名称:</text> | |||
<view class="value_box"> | |||
<input style="width: 100%;height: 100%;" type="text" maxlength="100" placeholder="请输入您的姓名" placeholder-style="font-size: 24rpx; color: #A6A6A6;" adjust-position="{{true}}" value="{{form.nickname}}" | |||
<input style="width: 100%;height: 100%;text-align: end;" type="text" maxlength="10" placeholder="请输入您的姓名" placeholder-style="font-size: 26rpx; color: #A6A6A6;" adjust-position="{{true}}" value="{{form.nickname}}" | |||
data-name="nickname" name="nickname" bindinput="bindValue" /> | |||
</view> | |||
<text class="tips">请输入用户名称</text> | |||
</view> | |||
<view class="upload_images {{formRules.headimgurl.warning? 'warning': ''}}"> | |||
<text><text style="color: red;">*</text>个人头像:</text> | |||
<view class="image_preview" wx:if="{{form.headimgurl}}"> | |||
<image class="image_item" src="{{form.headimgurl}}" mode="aspectFill"> | |||
</image> | |||
<div class="close" catchtap="deleteImage"></div> | |||
</view> | |||
<view class="upload_image" bindtap="uploadImage" wx:if="{{form.headimgurl.length<1}}"> | |||
<image style="height: 56rpx;width: 56rpx;" mode="widthFix" src="../../../assets/img/upload.png"></image> | |||
</view> | |||
<text class="tips">请上传个人头像</text> | |||
</view> | |||
<view class="btn_list"> | |||
<view class="btn_item cancel_btn" bindtap="return">返回</view> | |||
<view class="btn_item submit_btn" bindtap="submit">确定</view> | |||
</view> | |||
@@ -1,29 +1,47 @@ | |||
/* package_mine/pages/userInfo/index.wxss */ | |||
.form_container { | |||
width: 100%; | |||
padding: 30rpx 80rpx; | |||
padding: 30rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
align-items: center; | |||
} | |||
.upload_box { | |||
margin-bottom: 130rpx; | |||
position: relative; | |||
} | |||
.image_item { | |||
width: 200rpx; | |||
height: 200rpx; | |||
border-radius: 50%; | |||
} | |||
.upload_img { | |||
width: 80rpx; | |||
height: 80rpx; | |||
position: absolute; | |||
right: -10rpx; | |||
bottom: -10rpx; | |||
} | |||
.form_item { | |||
width: 100%; | |||
margin-bottom: 60rpx; | |||
padding: 30rpx 0; | |||
margin-bottom: 30rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
position: relative; | |||
font-size: 30rpx; | |||
color: #666666; | |||
border-bottom: 1rpx solid #EDEDED; | |||
} | |||
.value_box { | |||
width: 420rpx; | |||
background-color: #F8F8F8; | |||
min-height: 68rpx; | |||
/* min-height: 68rpx; */ | |||
padding: 0 55rpx 0 20rpx; | |||
display: flex; | |||
justify-content: flex-start; | |||
justify-content: flex-end; | |||
align-items: center; | |||
border-radius: 34rpx; | |||
position: relative; | |||
@@ -32,122 +50,37 @@ | |||
} | |||
.tips{ | |||
position: absolute; | |||
bottom: -32rpx; | |||
bottom: -40rpx; | |||
left: -13rpx; | |||
color: red; | |||
font-size: 24rpx; | |||
transform: translate(27rpx, -5rpx); | |||
display: none; | |||
} | |||
.form_item.warning .tips, .use_purpose.warning .tips, .upload_images.warning .tips{ | |||
.form_item.warning .tips, .upload_box.warning .tips{ | |||
display: block; | |||
} | |||
/* 上传图片 */ | |||
.upload_images { | |||
width: 100%; | |||
margin-bottom: 30rpx; | |||
display: flex; | |||
justify-content: flex-start; | |||
align-items: flex-start; | |||
font-size: 30rpx; | |||
color: #666666; | |||
position: relative; | |||
} | |||
.image_preview { | |||
height: 120rpx; | |||
width: 120rpx; | |||
margin-left: 30rpx; | |||
margin-bottom: 20rpx; | |||
position: relative; | |||
} | |||
.image_item { | |||
height:100%; | |||
width: 100%; | |||
border-radius: 16rpx; | |||
margin-bottom: 20rpx; | |||
} | |||
.close{ | |||
position: absolute; | |||
top:0; | |||
right:0; | |||
transform: translate(40%,-40%); | |||
height:40rpx; | |||
width:40rpx; | |||
background:rgba(179, 179, 179, 0.5); | |||
border-radius: 50%; | |||
z-index: 10; | |||
} | |||
.close::before{ | |||
content: ""; | |||
display: block; | |||
position: absolute; | |||
width: 60%; | |||
height: 6rpx; | |||
top:50%; | |||
left:50%; | |||
background:rgb(124, 124, 124); | |||
transform-origin: center; | |||
/* transform: ; */ | |||
transform: translate(-50%,-50%) rotate(45deg); | |||
} | |||
.close::after{ | |||
content: ""; | |||
display: block; | |||
position: absolute; | |||
width: 60%; | |||
height: 6rpx; | |||
top:50%; | |||
left:50%; | |||
background:rgb(124, 124, 124); | |||
transform-origin: center; | |||
/* transform: ; */ | |||
transform: translate(-50%,-50%) rotate(-45deg); | |||
} | |||
.upload_image { | |||
width: 120rpx; | |||
height: 120rpx; | |||
margin-left: 40rpx; | |||
display: flex; | |||
flex-direction: column; | |||
align-items: center; | |||
justify-content: center; | |||
background-color: #F8F8F8; | |||
border-radius: 34rpx; | |||
} | |||
.upload_image text { | |||
color: rgba(0, 0, 0, 0.5); | |||
font-size: 30rpx; | |||
} | |||
.note_mark { | |||
margin-top: 20rpx; | |||
font-size: 24rpx; | |||
color: rgba(153, 153, 153, 1); | |||
} | |||
/* 按钮区 */ | |||
.btn_list { | |||
width: 100%; | |||
margin-top: 200rpx; | |||
margin-top: 500rpx; | |||
padding: 10rpx 0; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
.btn_item { | |||
width: 240rpx; | |||
height: 80rpx; | |||
width: 100%; | |||
height: 90rpx; | |||
border-radius: 40rpx; | |||
text-align: center; | |||
line-height: 80rpx; | |||
font-size: 26rpx; | |||
} | |||
.cancel_btn { | |||
color: #333333; | |||
border: 1rpx solid #E6E6E6; | |||
margin-right: 20rpx; | |||
font-size: 32rpx; | |||
} | |||
.submit_btn { | |||
color: #ffffff; | |||
background-color: #2a82e4; | |||
background-color: #3275E9; | |||
} |
@@ -9,7 +9,7 @@ Page({ | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
areaName: '芦淞区', // 当前区域位置 | |||
areaName: '', // 当前区域位置 | |||
announcementList: [], // 公告列表 | |||
// 快捷入口 | |||
entersList: [ | |||
@@ -83,6 +83,8 @@ Page({ | |||
if(Object.keys(tenant).length) { | |||
this.getOnliveNum() | |||
} | |||
let areaName = wx.getStorageSync('positionParams').areaName | |||
this.setData({areaName}) | |||
}, | |||
@@ -1,7 +1,6 @@ | |||
{ | |||
"usingComponents": { | |||
"list": "../../components/List/index", | |||
"select": "../../components/Select/index", | |||
"riverInfo": "../../components/riverInfo/index" | |||
}, | |||
"navigationBarTitleText": "全民护河" |
@@ -1,7 +1,6 @@ | |||
<!--pages/all/index.wxml--> | |||
<view class="protecityct_container"> | |||
<view class="protect_head"> | |||
<!-- <view class="select_location" bindtap="goSelectLocation">切换位置</view> --> | |||
<view class="search_container"> | |||
<image class="search_icon" src="../../assets/img/search.png"></image> | |||
<input class="task-search" type="text" placeholder="请输入河道名称进行查询" model:value="{{name}}" placeholder-class="placeholder-style" bindconfirm="search" bindblur="search"/> |
@@ -11,13 +11,8 @@ Page({ | |||
data: { | |||
// 区域选项列表 | |||
provinceOptions: [], | |||
cityOptions: [], | |||
districtOptions: [], | |||
provinceCurrent: -1, // 当前选择省 | |||
cityCurrent: -1, | |||
districtCurrent: -1, | |||
positionParams: {}, | |||
params: {}, // 筛选条件 | |||
obj: {}, | |||
path: '/pages/FirstPage/index', | |||
fromType: 'tabbar', | |||
tenantId: '', | |||
@@ -62,11 +57,7 @@ Page({ | |||
params.districtCode = positionParams.districtCode | |||
this.setData({ | |||
params, | |||
provinceCurrent: positionParams.provinceCurrent, | |||
cityCurrent: positionParams.cityCurrent, | |||
cityOptions: positionParams.cityOptions, | |||
districtCurrent: positionParams.districtCurrent, | |||
districtOptions: positionParams.districtOptions | |||
positionParams | |||
}) | |||
// 获取租户信息 | |||
this.getTenantByParams(params) | |||
@@ -81,16 +72,7 @@ Page({ | |||
params.cityCode = positionParams.cityCode | |||
params.districtCode = positionParams.districtCode | |||
this.setData({ | |||
params, | |||
provinceCurrent: positionParams.provinceCurrent, | |||
cityCurrent: positionParams.cityCurrent, | |||
cityOptions: positionParams.cityOptions, | |||
districtCurrent: positionParams.districtCurrent, | |||
districtOptions: positionParams.districtOptions | |||
}) | |||
wx.setStorage({ | |||
key: 'positionParams', | |||
data: positionParams | |||
params | |||
}) | |||
} else { | |||
this.getUserLocation() | |||
@@ -170,25 +152,29 @@ Page({ | |||
*/ | |||
getListByName(obj) { | |||
let provinceOptions = this.data.provinceOptions | |||
let provinceCurrent, cityCurrent, districtCurrent, cityOptions, districtOptions | |||
let positionParams = this.data.positionParams | |||
let params = this.data.params | |||
params.provinceCode = obj.provinceCode | |||
params.cityCode = obj.cityCode | |||
params.districtCode = obj.districtCode | |||
positionParams = {...positionParams,...params} | |||
if(provinceOptions.length) { | |||
provinceOptions.forEach((item,index)=> { | |||
if(item.citycode === obj.provinceCode) { | |||
provinceCurrent = index | |||
cityOptions = item?.itemList || [] | |||
if(cityOptions.length) { | |||
cityOptions.forEach((i, j)=> { | |||
positionParams.provinceCurrent = index | |||
positionParams.provinceName = item.name | |||
positionParams.cityOptions = item?.itemList || [] | |||
if(positionParams.cityOptions.length) { | |||
positionParams.cityOptions.forEach((i, j)=> { | |||
if(i.citycode === obj.cityCode) { | |||
cityCurrent = j | |||
districtOptions = i?.itemList || [] | |||
if (districtOptions.length) { | |||
districtOptions.forEach((m, n) => { | |||
positionParams.cityCurrent = j | |||
positionParams.cityName = i.name | |||
positionParams.districtOptions = i?.itemList || [] | |||
if (positionParams.districtOptions.length) { | |||
positionParams.districtOptions.forEach((m, n) => { | |||
if(m.citycode === obj.districtCode) { | |||
districtCurrent = n | |||
positionParams.districtCurrent = n | |||
positionParams.districtName = m.name | |||
} | |||
}) | |||
} | |||
@@ -198,7 +184,7 @@ Page({ | |||
} | |||
}) | |||
} | |||
this.setData({provinceCurrent, cityCurrent, districtCurrent, cityOptions, districtOptions, params}) | |||
this.setData({positionParams, params}) | |||
}, | |||
/* 获取省市区 */ | |||
@@ -226,31 +212,42 @@ Page({ | |||
}) | |||
const type = e.target.dataset.type | |||
const current = e.detail.current | |||
let positionParams = this.data.positionParams | |||
let params = this.data.params | |||
let code = this.data[type+'Options'][current].citycode | |||
let options = [] | |||
if(type === 'province') { | |||
options = this.data.provinceOptions | |||
} else { | |||
options = positionParams[type+'Options'] | |||
} | |||
let code = options[current].citycode | |||
params[type+'Code'] = code | |||
let itemList = this.data[type+'Options'][current].itemList || [] | |||
let name = options[current].name | |||
let itemList = options[current].itemList || [] | |||
positionParams[type + 'Current'] = current | |||
positionParams[type + 'Name'] = name | |||
if(type === 'province') { | |||
this.setData({ | |||
provinceCurrent: current, | |||
cityOptions: itemList, | |||
cityCurrent: -1, | |||
districtCurrent: -1 | |||
}) | |||
positionParams.cityOptions = itemList | |||
positionParams.cityCurrent = -1 | |||
positionParams.cityName = '' | |||
positionParams.districtOptions = [] | |||
positionParams.districtCurrent = -1 | |||
positionParams.districtName = '' | |||
params.cityCode = "" | |||
params.districtCode = "" | |||
} else if(type === 'city') { | |||
this.setData({ | |||
districtOptions: itemList, | |||
cityCurrent: current, | |||
districtCurrent: -1 | |||
}) | |||
positionParams.districtOptions = itemList | |||
positionParams.districtCurrent = -1 | |||
positionParams.districtName = '' | |||
params.districtCode = "" | |||
} else if(type === 'district') { | |||
this.setData({districtCurrent: current}) | |||
} | |||
positionParams = { | |||
...positionParams, | |||
...params | |||
} | |||
this.setData({ | |||
params: params | |||
params, | |||
positionParams | |||
}) | |||
this.getTenantByParams(params) | |||
}, | |||
@@ -261,34 +258,42 @@ Page({ | |||
}, | |||
// 获取用户位置信息 | |||
getUserLocation(e) { | |||
let cityObj = wx.getStorageSync('cityObj') | |||
if(!Object.keys(cityObj).length) { | |||
getLocatonPermission().then(res=> { | |||
wx.setStorage({ | |||
key: 'location', | |||
data: res | |||
}) | |||
let latlng = {} | |||
latlng.lat = res.latitude | |||
latlng.lng = res.longitude | |||
getCityNameCode(latlng).then(res=> { | |||
let cityObj = res.data | |||
const params = { | |||
provinceCode: cityObj.provinceCode, | |||
cityCode: cityObj.cityCode, | |||
districtCode: cityObj.districtCode | |||
} | |||
this.setData({cityObj}) | |||
this.getListByName(cityObj) | |||
this.getTenantByParams(params) | |||
}) | |||
getLocatonPermission().then(res=> { | |||
wx.setStorage({ | |||
key: 'location', | |||
data: res | |||
}) | |||
let latlng = {} | |||
latlng.lat = res.latitude | |||
latlng.lng = res.longitude | |||
getCityNameCode(latlng).then(res=> { | |||
let cityObj = res.data | |||
const params = { | |||
provinceCode: cityObj.provinceCode, | |||
cityCode: cityObj.cityCode, | |||
districtCode: cityObj.districtCode | |||
} | |||
this.setData({cityObj}) | |||
this.getListByName(cityObj) | |||
this.getTenantByParams(params) | |||
}) | |||
}) | |||
}, | |||
// 存储省市区信息 | |||
setAreaInfo() { | |||
let positionParams = this.data.positionParams | |||
positionParams.areaName = positionParams.districtName || positionParams.cityName || positionParams.provinceName || '' | |||
positionParams = { | |||
...positionParams, | |||
...this.data.params | |||
} | |||
wx.setStorageSync('positionParams', positionParams) | |||
}, | |||
/** | |||
* 进入首页 | |||
*/ | |||
goHome() { | |||
this.setAreaInfo() | |||
this.validateForm().then(res => { | |||
if(res) { | |||
enterMini({openid: this.data.openid, unionid: this.data.unionid, tenantId: this.data.tenantId}).then(item=> { |
@@ -2,5 +2,5 @@ | |||
"usingComponents": { | |||
"select": "../../components/Select/index" | |||
}, | |||
"navigationBarTitleText": "全民护河" | |||
"navigationBarTitleText": "登录" | |||
} |
@@ -4,19 +4,22 @@ | |||
<view class="login_main"> | |||
<text class="location_label">您的位置:</text> | |||
<view class="select_container"> | |||
<select data="{{provinceOptions}}" data-type="province" rangeKey="name" current="{{provinceCurrent}}" bind:updateChange="updateAreaChange"></select> | |||
<select disabled="{{!params.provinceCode}}" data="{{cityOptions}}" data-type="city" rangeKey="name" current="{{cityCurrent}}" bind:updateChange="updateAreaChange"></select> | |||
<select disabled="{{!params.cityCode}}" data="{{districtOptions}}" data-type="district" rangeKey="name" current="{{districtCurrent}}" bind:updateChange="updateAreaChange"></select> | |||
<select data="{{provinceOptions}}" data-type="province" rangeKey="name" current="{{positionParams.provinceCurrent}}" bind:updateChange="updateAreaChange"></select> | |||
<select disabled="{{!params.provinceCode}}" data="{{positionParams.cityOptions}}" data-type="city" rangeKey="name" current="{{positionParams.cityCurrent}}" bind:updateChange="updateAreaChange"></select> | |||
<select disabled="{{!params.cityCode}}" data="{{positionParams.districtOptions}}" data-type="district" rangeKey="name" current="{{positionParams.districtCurrent}}" bind:updateChange="updateAreaChange"></select> | |||
</view> | |||
<text class="location_label">您的关注部门:</text> | |||
<view class="form_item {{formRules.tenantId.warning ? 'warning' : ''}}"> | |||
<view class="value_box"> | |||
<picker class="picker_box" bindchange="selectTenant" value="{{tenantCurrent}}" data-current="{{tenantCurrent}}" range="{{tenantOptions}}" range-key="name"> | |||
<view class="picker" wx:if="{{tenantId}}"> | |||
{{tenantOptions[tenantCurrent].name}} | |||
<text>{{tenantOptions[tenantCurrent].name}}</text> | |||
<image class="select_img" src="../../assets/first/select.png"></image> | |||
</view> | |||
<view wx:else class="picker" style="color: #A6A6A6; font-size: 26rpx;"> | |||
<text>请选择部门</text> | |||
<image class="select_img" src="../../assets/first/select.png"></image> | |||
</view> | |||
<view wx:else class="picker" style="color: #A6A6A6; font-size: 26rpx;">请选择部门</view> | |||
<image class="select_img" src="../../assets/first/select.png"></image> | |||
</picker> | |||
</view> | |||
<text class="tips">请选择部门</text> |
@@ -27,10 +27,11 @@ | |||
} | |||
.select_container { | |||
width: 100%; | |||
padding: 0 20rpx; | |||
height: 82rpx; | |||
background-color: #fff; | |||
display: flex; | |||
justify-content: space-around; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
@@ -62,8 +63,7 @@ | |||
margin-top: 20rpx; | |||
} | |||
.picker_box { | |||
width: 560rpx; | |||
padding: 0 30rpx 0 10rpx; | |||
width: 600rpx; | |||
font-size: 28rpx; | |||
color: #333333; | |||
display: flex; | |||
@@ -72,7 +72,8 @@ | |||
position: relative; | |||
} | |||
.picker { | |||
width: 500rpx; | |||
width: 600rpx; | |||
padding: 0 30rpx 0 10rpx; | |||
margin-right: 30rpx; | |||
overflow: hidden; | |||
white-space: nowrap; |
@@ -23,7 +23,7 @@ | |||
<image style="height: 33rpx;width: 42rpx;margin-right: 20rpx;" src="../../assets/img/apply.png"></image> | |||
<view style="font-size: 28rpx;z-index:99;color: #FFFFFF;">申请成为护河身份</view> | |||
</view> | |||
<view class="apply_btn">立即申请</view> | |||
<view class="apply_btn" bindtap="goApprove">立即申请</view> | |||
</view> | |||
<view class="function_item" wx:for="{{list}}" wx:key="index" bindtap="goRecords" data-path="{{item.path}}"> | |||
<view class="item_title"> |
@@ -57,9 +57,9 @@ | |||
} | |||
.approve_btn { | |||
width: 173rpx; | |||
height: 43rpx; | |||
height: 44rpx; | |||
text-align: center; | |||
line-height: 43rpx; | |||
line-height: 44rpx; | |||
font-size: 24rpx; | |||
color: #ffffff; | |||
background-color: rgba(255,255,255,0.2); |