19 changed files with 1945 additions and 741 deletions
@ -1,12 +1,9 @@ |
|||||
{ |
{ |
||||
"navigationBarTitleText": "完善个人信息", |
|
||||
"usingComponents": { |
"usingComponents": { |
||||
"wux-tabs": "../../dist/tabs/index", |
"personal-info": "./components/personalInfo/personalInfo", |
||||
"wux-tab": "../../dist/tab/index", |
"wux-button": "../../dist/button/index", |
||||
"wux-badge": "../../dist/badge/index", |
"organization": "./components/organization/organization", |
||||
"wux-cell-group": "../../dist/cell-group/index", |
|
||||
"wux-cell": "../../dist/cell/index", |
|
||||
"wux-input": "../../dist/input/index", |
|
||||
"wux-actionsheet": "../../dist/actionsheet/index" |
"wux-actionsheet": "../../dist/actionsheet/index" |
||||
} |
}, |
||||
|
"navigationBarTitleText": "完善个人信息" |
||||
} |
} |
@ -1,278 +1,82 @@ |
|||||
.topfixed { |
page { |
||||
position: fixed; |
|
||||
top: 0; |
|
||||
width: 100%; |
|
||||
z-index: 999999; |
|
||||
} |
|
||||
.margintop { |
|
||||
margin-top: 60px; |
|
||||
} |
|
||||
.tab2 { |
|
||||
color: #999; |
|
||||
font-size: 0.975rem; |
|
||||
position: relative; |
|
||||
} |
|
||||
.tab2 .status.pass { |
|
||||
position: absolute; |
|
||||
width: 74rpx; |
|
||||
height: 32rpx; |
|
||||
top: 10%; |
|
||||
left: 100%; |
|
||||
} |
|
||||
.tab2 .status.pass image { |
|
||||
position: absolute; |
|
||||
width: 100%; |
width: 100%; |
||||
height:100%; |
height: auto; |
||||
object-fit: cover; |
overflow-y: auto; |
||||
left: 0; |
|
||||
top: 0; |
|
||||
} |
} |
||||
.tab2 .status.pass view { |
.complete-info { |
||||
position: relative; |
|
||||
z-index: 100; |
|
||||
width: 100%; |
width: 100%; |
||||
height: 100%; |
height: 100%; |
||||
line-height: 27rpx; |
background: #f7f7f7; |
||||
text-align: center; |
|
||||
font-size: 16rpx; |
|
||||
color: #06B5A4; |
|
||||
} |
} |
||||
.tab2 .status.unpass { |
|
||||
position: absolute; |
.tab-bar { |
||||
width: 90rpx; |
|
||||
height: 32rpx; |
|
||||
top: 10%; |
|
||||
left: 100%; |
|
||||
} |
|
||||
.tab2 .status.unpass image { |
|
||||
position: absolute; |
|
||||
width: 100%; |
width: 100%; |
||||
height:100%; |
height: 100rpx; |
||||
object-fit: cover; |
background: #fff; |
||||
left: 0; |
display: flex; |
||||
top: 0; |
align-items: center; |
||||
} |
justify-content: space-around; |
||||
.tab2 .status.unpass view { |
|
||||
position: relative; |
position: relative; |
||||
|
position: fixed; |
||||
|
top: 0; |
||||
|
left: 0; |
||||
z-index: 100; |
z-index: 100; |
||||
width: 100%; |
|
||||
height: 100%; |
|
||||
line-height: 27rpx; |
|
||||
text-align: center; |
|
||||
font-size: 16rpx; |
|
||||
color: #E74848; |
|
||||
} |
|
||||
|
|
||||
.jzdz { |
|
||||
font-size: 0.975rem; |
|
||||
padding: 10px 0 0 10px; |
|
||||
color: #333; |
|
||||
} |
|
||||
|
|
||||
.content { |
|
||||
width: 670rpx; |
|
||||
padding-top: 5px; |
|
||||
padding-bottom: 10px; |
|
||||
padding-right: 30rpx; |
|
||||
padding-left: 10rpx; |
|
||||
} |
|
||||
|
|
||||
.cardcon { |
|
||||
height: auto; |
|
||||
} |
|
||||
|
|
||||
.btn1 { |
|
||||
margin-top: 40rpx; |
|
||||
} |
|
||||
|
|
||||
.logo-layout { |
|
||||
height: 136rpx; |
|
||||
width: 159rpx; |
|
||||
margin: 0 auto; |
|
||||
padding: 60rpx 0 80rpx 0; |
|
||||
} |
|
||||
|
|
||||
.logo { |
|
||||
height: 136rpx; |
|
||||
width: 159rpx; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
.tap { |
|
||||
font-size: 12px; |
|
||||
color: #999; |
|
||||
padding: 0 10px 0 10px; |
|
||||
} |
|
||||
|
|
||||
.input-placeholder { |
|
||||
color: #999; |
|
||||
text-align: right; |
|
||||
font-size: 0.875rem; |
|
||||
} |
|
||||
|
|
||||
.scode { |
|
||||
text-align: left !important; |
|
||||
} |
} |
||||
|
.tab-bar .tab { |
||||
.wux-tabs__tab-title { |
flex: 1; |
||||
|
height: 100rpx; |
||||
|
line-height: 100rpx; |
||||
|
font-size: 30rpx; |
||||
color: #999; |
color: #999; |
||||
font-size: 0.975rem; |
width: 50%; |
||||
} |
text-align: center; |
||||
|
|
||||
.wux-tabs__tab--balanced .wux-tabs__tab-bar { |
|
||||
background: #f00 !important; |
|
||||
color: #f00 !important; |
|
||||
} |
|
||||
|
|
||||
.wux-tabs__tab--current .wux-tabs__tab-title { |
|
||||
color: #f00 !important; |
|
||||
} |
|
||||
|
|
||||
.wux-input__label { |
|
||||
font-size: 0.975rem; |
|
||||
color: #333; |
|
||||
} |
|
||||
|
|
||||
.wux-input__item { |
|
||||
text-align: right; |
|
||||
} |
|
||||
|
|
||||
.yzm .wux-input__item { |
|
||||
text-align: left; |
|
||||
} |
} |
||||
|
.tab-bar .tab.select-tab { |
||||
.xing { |
color: #F82525; |
||||
color: #f00; |
font-size: 32rpx; |
||||
float: left; |
font-weight: bold; |
||||
width: 10px; |
|
||||
} |
} |
||||
.sex-select { |
.tab-bar .select-bar { |
||||
width: 100%; |
width: 80rpx; |
||||
|
height: 6rpx; |
||||
position: absolute; |
position: absolute; |
||||
top: 5rpx; |
bottom: 0rpx; |
||||
right: 0px; |
border-radius: 3rpx; |
||||
text-align: right; |
background: #F82525; |
||||
z-index: 999; |
|
||||
} |
|
||||
.select-img { |
|
||||
width: 40rpx; |
|
||||
height: 40rpx; |
|
||||
} |
} |
||||
.select-text { |
/** .tab-bar .select-bar.tab1 { |
||||
padding: 15rpx; |
left: calc(17% - 40rpx); |
||||
|
transition: left 0.4s ease-out; |
||||
} |
} |
||||
|
.tab-bar .select-bar.tab2 { |
||||
.float-right { |
left: calc(50% - 40rpx); |
||||
float: right; |
transition: left 0.4s ease-out; |
||||
} |
} |
||||
|
.tab-bar .select-bar.tab3 { |
||||
|
left: calc(83% - 40rpx); |
||||
|
transition: left 0.4s ease-out; |
||||
|
} */ |
||||
|
|
||||
/* 弹性盒子 */ |
.tab-bar .select-bar.tab1 { |
||||
.flex { |
left: calc(25% - 40rpx); |
||||
display: -webkit-box; |
transition: left 0.4s ease-out; |
||||
display: flex; |
|
||||
} |
|
||||
|
|
||||
/* 垂直水平居中 */ |
|
||||
|
|
||||
.flex-container { |
|
||||
justify-content: center; |
|
||||
align-items: center; |
|
||||
flex-wrap: wrap; |
|
||||
} |
} |
||||
|
.tab-bar .select-bar.tab2 { |
||||
/* 等宽排列 */ |
left: calc(75% - 40rpx); |
||||
|
transition: left 0.4s ease-out; |
||||
.justify-space-between { |
|
||||
justify-content: space-between; |
|
||||
} |
} |
||||
|
|
||||
.sex-content { |
.content { |
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: space-between; |
|
||||
} |
|
||||
radio { |
|
||||
font-size: 30rpx; |
|
||||
|
|
||||
color: #999; |
|
||||
} |
|
||||
radio + radio { |
|
||||
margin-left: 30rpx; |
|
||||
} |
|
||||
.verify-content { |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
} |
|
||||
.verify-content .verify-code { |
|
||||
height: 100%; |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
} |
|
||||
.verify-content .verify-code input { |
|
||||
width: 190rpx; |
|
||||
text-align: right; |
|
||||
margin-right: 20rpx; |
|
||||
} |
|
||||
.verify-content .verify-code .getcode { |
|
||||
background: #f30; |
|
||||
color: #fff; |
|
||||
font-size: 24rpx; |
|
||||
border-radius: 8rpx; |
|
||||
height: 50rpx; |
|
||||
line-height: 50rpx; |
|
||||
padding: 6rpx 20rpx 6rpx 20rpx; |
|
||||
} |
|
||||
.submit-btn { |
|
||||
width: 100%; |
width: 100%; |
||||
height: 85rpx; |
min-height: calc(100vh - 100rpx); |
||||
display: flex; |
margin-top: 100rpx; |
||||
justify-content: center; |
|
||||
align-items:center; |
|
||||
margin-top: 40rpx; |
|
||||
} |
|
||||
.submit-btn button { |
|
||||
background: linear-gradient(to right, #f51010, #ff4c4c); |
|
||||
width: 560rpx; |
|
||||
height: 85rpx; |
|
||||
border-radius: 16rpx; |
|
||||
line-height: 85rpx; |
|
||||
font-size: 36rpx; |
|
||||
color: #fff; |
|
||||
text-align: center; |
|
||||
margin: 0; |
|
||||
padding: 0; |
|
||||
outline: 0; |
|
||||
} |
|
||||
.submit-btn .hover-button { |
|
||||
background: red; |
|
||||
} |
} |
||||
|
|
||||
.jzdz .address { |
|
||||
display: flex; |
|
||||
justify-content: space-between; |
|
||||
align-items: center; |
|
||||
box-sizing: border-box; |
|
||||
padding-right: 30rpx; |
|
||||
height: 60rpx; |
|
||||
} |
|
||||
.jzdz .address .right { |
|
||||
display: flex; |
|
||||
align-items: center; |
|
||||
justify-content: flex-end; |
|
||||
} |
|
||||
.jzdz .address .right .change-grid { |
|
||||
color: #999; |
|
||||
margin-right: 10rpx; |
|
||||
font-size: 25rpx; |
|
||||
} |
|
||||
.jzdz .address .right image { |
|
||||
width: 22rpx; |
|
||||
height: 22rpx; |
|
||||
object-fit: cover; |
|
||||
} |
|
||||
.wux-actionsheet__button { |
.wux-actionsheet__button { |
||||
font-size: 34rpx !important; |
font-size: 34rpx !important; |
||||
color: #333 !important; |
color: #333 !important; |
||||
|
} |
||||
|
.wux-actionsheet__group--options { |
||||
|
max-height: 50vh !important; |
||||
|
overflow-y: auto !important; |
||||
} |
} |
@ -0,0 +1,15 @@ |
|||||
|
Component({ |
||||
|
data: {}, |
||||
|
methods: { |
||||
|
navigationOrganizationBasicInfo () { |
||||
|
wx.navigateTo({ |
||||
|
url: '/subpages/mine/pages/company/company' |
||||
|
}) |
||||
|
}, |
||||
|
navigateOrganizationMoreinfo () { |
||||
|
wx.navigateTo({ |
||||
|
url: '/subpages/mine/pages/companyInfo/companyInfo' |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
"component": true |
||||
|
} |
@ -0,0 +1,10 @@ |
|||||
|
<view class="organization"> |
||||
|
<view class="item" hover-start-time="150" hover-class="hover-item" bindtap="navigationOrganizationBasicInfo"> |
||||
|
<view class="tit">认证企业基础信息</view> |
||||
|
<image src="/images/home/next.png" /> |
||||
|
</view> |
||||
|
<view class="item" hover-start-time="150" hover-class="hover-item" bindtap="navigateOrganizationMoreinfo"> |
||||
|
<view class="tit">完善企业更多信息</view> |
||||
|
<image src="/images/home/next.png" /> |
||||
|
</view> |
||||
|
</view> |
@ -0,0 +1,31 @@ |
|||||
|
.organization { |
||||
|
width: 100%; |
||||
|
min-height: calc(100vh - 100vh); |
||||
|
box-sizing: border-box; |
||||
|
padding: 20rpx; |
||||
|
} |
||||
|
.organization .item { |
||||
|
width: 100%; |
||||
|
height: 100rpx; |
||||
|
border-radius: 16rpx; |
||||
|
background: #fff; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
box-sizing: border-box; |
||||
|
padding: 0 20rpx; |
||||
|
} |
||||
|
.organization .item + .item { |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.organization .item .name { |
||||
|
color: #333; |
||||
|
font-size: 34rpx; |
||||
|
} |
||||
|
.organization .item image { |
||||
|
width:18rpx; |
||||
|
height: 24rpx; |
||||
|
} |
||||
|
.organization .hover-item { |
||||
|
background: #f7f7f7; |
||||
|
} |
@ -0,0 +1,588 @@ |
|||||
|
var api = require('../../../../utils/api.js') |
||||
|
Component({ |
||||
|
data: { |
||||
|
personalInfo: { |
||||
|
identityNo: '', // 身份证号
|
||||
|
realName: '', // 姓名
|
||||
|
sex: '', // 性别
|
||||
|
mobile: '', // 手机号
|
||||
|
smsCode: '', // 验证码
|
||||
|
road: '', // 什么路
|
||||
|
villageName: '', // 小区
|
||||
|
dwellingPlace: '', // 楼栋号-单元室
|
||||
|
partyFlag: '0' |
||||
|
}, |
||||
|
gridInfo: { |
||||
|
gridName: '', // 网格名称
|
||||
|
gridId: '' // 网格id
|
||||
|
}, |
||||
|
wxInfo: { |
||||
|
encryptedData:'',// 完整信息的加密数据
|
||||
|
iv: '', // 初始向量
|
||||
|
wxCode: '', // 微信cod
|
||||
|
}, |
||||
|
smsCodeText: '获取验证码', // 获取验证码button内容
|
||||
|
unionIdStatus: '0', // 是否完善过个人信息,完善过更新,未完善过增加
|
||||
|
getMobileType: 'wx' // 获取手机号的方式,默认从微信获取,但是微信新获取部分用户会有各种莫名其妙的bug,所以增加手机号/验证码的方式
|
||||
|
}, |
||||
|
properties: { |
||||
|
type: { |
||||
|
type: String, |
||||
|
value: 'resident' |
||||
|
}, |
||||
|
moreThanOneGrid: { |
||||
|
type: Boolean, |
||||
|
value: false |
||||
|
}, |
||||
|
selectedGrid: { |
||||
|
type: Object, |
||||
|
observer: function (value) { |
||||
|
this.setData({ |
||||
|
gridInfo: value |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
lifetimes:{ |
||||
|
attached () { |
||||
|
this.getPersonalInfo().then(res => { |
||||
|
this.getGridList() |
||||
|
}) |
||||
|
this.checkWxUnionId() |
||||
|
this.getWxCode() |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
// 身份证号 双向绑定
|
||||
|
bindIdentityNoInput (e) { |
||||
|
this.setData({ |
||||
|
'personalInfo.identityNo': e.detail.value |
||||
|
}) |
||||
|
console.log(this.data.personalInfo) |
||||
|
}, |
||||
|
// 姓名 双向绑定
|
||||
|
bindRealNameInput (e) { |
||||
|
this.setData({ |
||||
|
'personalInfo.realName': e.detail.value |
||||
|
}) |
||||
|
console.log(this.data.personalInfo) |
||||
|
}, |
||||
|
// 选择性别回调
|
||||
|
bindSexChange (e) { |
||||
|
this.setData({ |
||||
|
'personalInfo.sex': e.detail.value |
||||
|
}) |
||||
|
console.log(this.data.personalInfo) |
||||
|
}, |
||||
|
// 手机号 双向绑定
|
||||
|
bindMobileInput (e) { |
||||
|
this.setData({ |
||||
|
'personalInfo.mobile': e.detail.value |
||||
|
}) |
||||
|
console.log(this.data.personalInfo) |
||||
|
}, |
||||
|
// 验证码 双向绑定
|
||||
|
bindSmsCodeInput (e) { |
||||
|
this.setData({ |
||||
|
'personalInfo.smsCode': e.detail.value |
||||
|
}) |
||||
|
console.log(this.data.personalInfo) |
||||
|
}, |
||||
|
// 路 双向绑定
|
||||
|
bindRoadInput (e) { |
||||
|
this.setData({ |
||||
|
'personalInfo.road': e.detail.value |
||||
|
}) |
||||
|
console.log(this.data.personalInfo) |
||||
|
}, |
||||
|
// 小区 双向绑定
|
||||
|
bindVillageNameInput (e) { |
||||
|
this.setData({ |
||||
|
'personalInfo.villageName': e.detail.value |
||||
|
}) |
||||
|
console.log(this.data.personalInfo) |
||||
|
}, |
||||
|
// 楼栋号-单元室 双向绑定
|
||||
|
bindDwellingPlaceInput (e) { |
||||
|
this.setData({ |
||||
|
'personalInfo.dwellingPlace': e.detail.value |
||||
|
}) |
||||
|
console.log(this.data.personalInfo) |
||||
|
}, |
||||
|
// 获取验证码
|
||||
|
getSmsCode () { |
||||
|
if (!this.data.personalInfo.mobile) { |
||||
|
this.showToast('请先输入手机号') |
||||
|
return false |
||||
|
} |
||||
|
this.setData({ |
||||
|
smsCodeText: '获取中...' |
||||
|
}) |
||||
|
const mobile = this.data.personalInfo.mobile |
||||
|
api.sendSms(mobile).then(res => { |
||||
|
this.showToast('验证码发送成功') |
||||
|
let num = 60 |
||||
|
this.setData({ |
||||
|
smsCodeText: "60s后重新获取" |
||||
|
}) |
||||
|
const timer = setInterval(() => { |
||||
|
if (num >= 1) { |
||||
|
this.setData({ |
||||
|
smsCodeText: `${num}s后重新获取` |
||||
|
}) |
||||
|
--num |
||||
|
} else { |
||||
|
clearInterval(timer) |
||||
|
this.setData({ |
||||
|
smsCodeText: '获取验证码' |
||||
|
}) |
||||
|
} |
||||
|
}, 1000) |
||||
|
}).catch(err =>{ |
||||
|
console.log(err) |
||||
|
this.setData({ |
||||
|
smsCodeText: '获取验证码' |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
// 获取手机号
|
||||
|
getPhoneNumber (e) { |
||||
|
if (e.detail.errMsg === 'getPhoneNumber:ok') { |
||||
|
const para = { |
||||
|
wxCode: '', |
||||
|
encryptedData: e.detail.encryptedData, |
||||
|
iv: e.detail.iv |
||||
|
} |
||||
|
const that = this |
||||
|
wx.login({ |
||||
|
success (res) { |
||||
|
para.wxCode = res.code |
||||
|
api.getWxPhone(para).then(data => { |
||||
|
console.log('获取微信手机号', data) |
||||
|
that.setData({ |
||||
|
'personalInfo.mobile': data.data |
||||
|
}) |
||||
|
}).catch(err => { |
||||
|
console.log(err) |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
// 获取之前完善的个人信息
|
||||
|
getPersonalInfo () { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
api.prepareComplete().then(res => { |
||||
|
console.log('获取个人信息', res) |
||||
|
for(const key in this.data.personalInfo) { |
||||
|
this.data.personalInfo[key] = res.data[key] |
||||
|
} |
||||
|
for(const key in this.data.gridInfo) { |
||||
|
this.data.gridInfo[key] = res.data[key] |
||||
|
} |
||||
|
this.setData({ |
||||
|
personalInfo: this.data.personalInfo, |
||||
|
gridInfo: this.data.gridInfo |
||||
|
}) |
||||
|
if (this.data.personalInfo.partyFlag === '1') { |
||||
|
this.triggerEvent('selectTabChange', {tab: 'partyMember', partyFlag: '1' }) |
||||
|
} |
||||
|
resolve(true) |
||||
|
}).catch(err => { |
||||
|
console.log(err) |
||||
|
reject(false) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
// 查看用户是否完善个人信息
|
||||
|
checkWxUnionId() { |
||||
|
api.checkWxUnionId().then(res => { |
||||
|
console.log('查看用户是否已保存unionId', res) |
||||
|
this.setData({ |
||||
|
unionIdStatus: res.data |
||||
|
// unionIdStatus: '0'
|
||||
|
}) |
||||
|
}).catch(err => { |
||||
|
this.setData({ |
||||
|
unionIdStatus: '0' |
||||
|
}) |
||||
|
console.log(err) |
||||
|
}) |
||||
|
}, |
||||
|
// 获取用户信息
|
||||
|
getUserInfo(e) { |
||||
|
if (e.detail.errMsg === 'getUserInfo:ok') { |
||||
|
this.setData({ |
||||
|
'wxInfo.encryptedData': e.detail.encryptedData, |
||||
|
'wxInfo.iv': e.detail.iv |
||||
|
}) |
||||
|
this.getWxCode().then(() => { |
||||
|
this.submitPersonalInfo() |
||||
|
}).catch(() => { |
||||
|
this.showToast('获取wxCode失败,请重新提交') |
||||
|
}) |
||||
|
} else { |
||||
|
this.showToast('请授权,再完善个人信息') |
||||
|
return false |
||||
|
} |
||||
|
}, |
||||
|
// 获取wxCode
|
||||
|
getWxCode() { |
||||
|
const that = this |
||||
|
return new Promise((resolve, reject) => { |
||||
|
wx.login({ |
||||
|
success(res) { |
||||
|
that.setData({ |
||||
|
'wxInfo.wxCode': res.code |
||||
|
}) |
||||
|
console.log('wxInfo', that.data.wxInfo) |
||||
|
resolve(true) |
||||
|
}, |
||||
|
fail (err) { |
||||
|
reject(false) |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
// 切换网格
|
||||
|
changeGrid() { |
||||
|
this.triggerEvent('changeGrid', { gridId: this.data.gridInfo.gridId }) |
||||
|
}, |
||||
|
// 获取当前用户所有网格
|
||||
|
getGridList() { |
||||
|
this.triggerEvent('getGridList', { gridId: this.data.gridInfo.gridId }) |
||||
|
}, |
||||
|
// 提交完善信息-从微信获取手机号方式
|
||||
|
submitPersonalInfoByWx () { |
||||
|
if (!this.data.personalInfo.identityNo) { |
||||
|
if (this.data.type === 'partyMember') { |
||||
|
this.showToast('请输入身份证号') |
||||
|
return false |
||||
|
} |
||||
|
} |
||||
|
if (!this.data.personalInfo.realName) { |
||||
|
this.showToast('请填写姓名') |
||||
|
return false |
||||
|
} |
||||
|
if (!this.data.personalInfo.sex) { |
||||
|
this.showToast('请选择性别') |
||||
|
return false |
||||
|
} |
||||
|
if (!this.data.personalInfo.mobile) { |
||||
|
this.showToast('请填写手机号') |
||||
|
return false |
||||
|
} |
||||
|
// if (!this.data.personalInfo.smsCode) {
|
||||
|
// this.showToast('请填写验证码')
|
||||
|
// return false
|
||||
|
// }
|
||||
|
if (!this.data.personalInfo.road) { |
||||
|
this.showToast('请填写所在街道') |
||||
|
return false |
||||
|
} |
||||
|
const para = { |
||||
|
partyFlag: this.data.type === 'partyMember' ? '1' : '0', |
||||
|
identityNo: this.data.personalInfo.identityNo, |
||||
|
mobile: this.data.personalInfo.mobile, |
||||
|
smsCode: this.data.personalInfo.smsCode, |
||||
|
realName: this.data.personalInfo.realName, |
||||
|
sex: this.data.personalInfo.sex, |
||||
|
road: this.data.personalInfo.road, |
||||
|
villageName: this.data.personalInfo.villageName, |
||||
|
dwellingPlace: this.data.personalInfo.dwellingPlace, |
||||
|
gridId: this.data.gridInfo.gridId, |
||||
|
wxCode: this.data.unionIdStatus === '0' ? this.data.wxInfo.wxCode : '', |
||||
|
encryptedData: this.data.unionIdStatus === '0' ? this.data.wxInfo.encryptedData : '', |
||||
|
iv: this.data.unionIdStatus === '0' ? this.data.wxInfo.iv : '' |
||||
|
} |
||||
|
if (this.data.personalInfo.partyFlag === '1' && this.data.type === 'resident') { |
||||
|
wx.showModal({ |
||||
|
content: '您已是党员,无须进行居民认证,居民认证后会取消党员身份,是否继续?', |
||||
|
showCancel: true, |
||||
|
cancelText: '否', |
||||
|
confirmText: '是', |
||||
|
confirmColor: '#000000', |
||||
|
success: (e) => { |
||||
|
if (e.confirm) { |
||||
|
wx.showLoading({ |
||||
|
title: '提交中...' |
||||
|
}) |
||||
|
api.completeResidentInfoV2(para).then(res => { |
||||
|
wx.hideLoading() |
||||
|
if (res.data.resultCode == 1) { |
||||
|
wx.showModal({ |
||||
|
title: '认证信息提交成功', |
||||
|
showCancel: false, |
||||
|
content: res.data.resultMsg, |
||||
|
success: res => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '认证成功', |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
complete: () => { |
||||
|
setTimeout(() => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
}, 2000) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else if (e.cancel) { |
||||
|
return false |
||||
|
} |
||||
|
}, |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showLoading({ |
||||
|
title: '提交中...' |
||||
|
}) |
||||
|
if (this.data.type === 'partyMember') { |
||||
|
api.completePartyInfoV2(para).then(res => { |
||||
|
wx.hideLoading() |
||||
|
if (res.data.resultCode == 1) { |
||||
|
wx.showModal({ |
||||
|
title: '认证信息提交成功', |
||||
|
showCancel: false, |
||||
|
content: res.data.resultMsg, |
||||
|
success: res => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '认证成功', |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
complete: () => { |
||||
|
setTimeout(() => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
}, 2000) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.data.type === 'resident') { |
||||
|
api.completeResidentInfoV2(para).then(res => { |
||||
|
wx.hideLoading() |
||||
|
if (res.data.resultCode == 1) { |
||||
|
wx.showModal({ |
||||
|
title: '认证信息提交成功', |
||||
|
showCancel: false, |
||||
|
content: res.data.resultMsg, |
||||
|
success: res => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '认证成功', |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
complete: () => { |
||||
|
setTimeout(() => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
}, 2000) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
// 提交完善信息,手机号输入方式
|
||||
|
submitPersonalInfoBySelf () { |
||||
|
if (!this.data.personalInfo.identityNo) { |
||||
|
if (this.data.type === 'partyMember') { |
||||
|
this.showToast('请输入身份证号') |
||||
|
return false |
||||
|
} |
||||
|
} |
||||
|
if (!this.data.personalInfo.realName) { |
||||
|
this.showToast('请填写姓名') |
||||
|
return false |
||||
|
} |
||||
|
if (!this.data.personalInfo.sex) { |
||||
|
this.showToast('请选择性别') |
||||
|
return false |
||||
|
} |
||||
|
if (!this.data.personalInfo.mobile) { |
||||
|
this.showToast('请填写手机号') |
||||
|
return false |
||||
|
} |
||||
|
if (!this.data.personalInfo.smsCode) { |
||||
|
this.showToast('请填写验证码') |
||||
|
return false |
||||
|
} |
||||
|
if (!this.data.personalInfo.road) { |
||||
|
this.showToast('请填写所在街道') |
||||
|
return false |
||||
|
} |
||||
|
const para = { |
||||
|
partyFlag: this.data.type === 'partyMember' ? '1' : '0', |
||||
|
identityNo: this.data.personalInfo.identityNo, |
||||
|
mobile: this.data.personalInfo.mobile, |
||||
|
smsCode: this.data.personalInfo.smsCode, |
||||
|
realName: this.data.personalInfo.realName, |
||||
|
sex: this.data.personalInfo.sex, |
||||
|
road: this.data.personalInfo.road, |
||||
|
villageName: this.data.personalInfo.villageName, |
||||
|
dwellingPlace: this.data.personalInfo.dwellingPlace, |
||||
|
gridId: this.data.gridInfo.gridId, |
||||
|
wxCode: this.data.unionIdStatus === '0' ? this.data.wxInfo.wxCode : '', |
||||
|
encryptedData: this.data.unionIdStatus === '0' ? this.data.wxInfo.encryptedData : '', |
||||
|
iv: this.data.unionIdStatus === '0' ? this.data.wxInfo.iv : '' |
||||
|
} |
||||
|
if (this.data.personalInfo.partyFlag === '1' && this.data.type === 'resident') { |
||||
|
wx.showModal({ |
||||
|
content: '您已是党员,无须进行居民认证,居民认证后会取消党员身份,是否继续?', |
||||
|
showCancel: true, |
||||
|
cancelText: '否', |
||||
|
confirmText: '是', |
||||
|
confirmColor: '#000000', |
||||
|
success: (e) => { |
||||
|
if (e.confirm) { |
||||
|
wx.showLoading({ |
||||
|
title: '提交中...' |
||||
|
}) |
||||
|
api.completeResidentInfo(para).then(res => { |
||||
|
wx.hideLoading() |
||||
|
if (res.data.resultCode == 1) { |
||||
|
wx.showModal({ |
||||
|
title: '认证信息提交成功', |
||||
|
showCancel: false, |
||||
|
content: res.data.resultMsg, |
||||
|
success: res => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '认证成功', |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
complete: () => { |
||||
|
setTimeout(() => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
}, 2000) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else if (e.cancel) { |
||||
|
return false |
||||
|
} |
||||
|
}, |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showLoading({ |
||||
|
title: '提交中...' |
||||
|
}) |
||||
|
if (this.data.type === 'partyMember') { |
||||
|
api.completePartyInfo(para).then(res => { |
||||
|
wx.hideLoading() |
||||
|
if (res.data.resultCode == 1) { |
||||
|
wx.showModal({ |
||||
|
title: '认证信息提交成功', |
||||
|
showCancel: false, |
||||
|
content: res.data.resultMsg, |
||||
|
success: res => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '认证成功', |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
complete: () => { |
||||
|
setTimeout(() => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
}, 2000) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else if (this.data.type === 'resident') { |
||||
|
api.completeResidentInfo(para).then(res => { |
||||
|
wx.hideLoading() |
||||
|
if (res.data.resultCode == 1) { |
||||
|
wx.showModal({ |
||||
|
title: '认证信息提交成功', |
||||
|
showCancel: false, |
||||
|
content: res.data.resultMsg, |
||||
|
success: res => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '认证成功', |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
complete: () => { |
||||
|
setTimeout(() => { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
}, 2000) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
submitPersonalInfo () { |
||||
|
if (this.data.getMobileType === 'wx') { |
||||
|
this.submitPersonalInfoByWx() |
||||
|
} else if (this.data.getMobileType === 'self') { |
||||
|
this.submitPersonalInfoBySelf() |
||||
|
} |
||||
|
}, |
||||
|
// 代码简化,弹窗统一封装
|
||||
|
showToast (title) { |
||||
|
wx.showToast({ |
||||
|
title: title, |
||||
|
icon: 'none', |
||||
|
duration: 2000 |
||||
|
}) |
||||
|
}, |
||||
|
changeGetMobileType () { |
||||
|
let type = 'wx' |
||||
|
if (this.data.getMobileType === 'wx') { |
||||
|
type = 'self' |
||||
|
} else if (this.data.getMobileType === 'self') { |
||||
|
type = 'wx' |
||||
|
} |
||||
|
this.setData({ |
||||
|
getMobileType: type |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}) |
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
"component": true |
||||
|
} |
@ -0,0 +1,98 @@ |
|||||
|
<view class="personal-info"> |
||||
|
|
||||
|
<view class="basic-info"> |
||||
|
<view class="list-item identity-no" wx:if="{{type === 'partyMember'}}"> |
||||
|
<view class="left"> |
||||
|
<text class="must">*</text> |
||||
|
<view class="title">身份证号</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<input type="idcard" bindblur="bindIdentityNoInput" bindinput="bindIdentityNoInput" value="{{personalInfo.identityNo}}" placeholder-class="placeholder-style" placeholder="实名认证请输入身份证" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-item real-name"> |
||||
|
<view class="left"> |
||||
|
<text class="must">*</text> |
||||
|
<view class="title">姓名</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<input confirm-type="next" bindblur="bindRealNameInput" bindinput="bindRealNameInput" value="{{personalInfo.realName}}" placeholder-class="placeholder-style" placeholder="请输入姓名" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-item sex"> |
||||
|
<view class="left"> |
||||
|
<text class="must">*</text> |
||||
|
<view class="title">性别</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<radio-group class="radio-group" bindchange="bindSexChange"> |
||||
|
<radio checked="{{personalInfo.sex === '1'}}" value="1" color="#F82525" class="radio">男</radio> |
||||
|
<radio checked="{{personalInfo.sex === '0'}}" value="0" color="#F82525" class="radio">女</radio> |
||||
|
</radio-group> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-item mobile" wx:if="{{getMobileType === 'wx'}}"> |
||||
|
<view class="left"> |
||||
|
<text class="must">*</text> |
||||
|
<view class="title">手机号</view> |
||||
|
</view> |
||||
|
<view class="right"> |
||||
|
<input wx:if="{{personalInfo.mobile}}" disabled="{{true}}" type="number" bindblur="bindMobileInput" bindinput="bindMobileInput" value="{{personalInfo.mobile}}" placeholder-class="placeholder-style" placeholder="请获取手机号" /> |
||||
|
<button hover-class="button-hover" class="get-code" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">{{personalInfo.mobile ? '重新获取' : '获取手机号'}}</button> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-item mobile" wx:if="{{getMobileType === 'self'}}"> |
||||
|
<view class="left"> |
||||
|
<text class="must">*</text> |
||||
|
<view class="title">手机号</view> |
||||
|
</view> |
||||
|
<view class="right" > |
||||
|
<input type="number" bindblur="bindMobileInput" bindinput="bindMobileInput" value="{{personalInfo.mobile}}" placeholder-class="placeholder-style" placeholder="请输入手机号" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-item sms-code" wx:if="{{getMobileType === 'self'}}"> |
||||
|
<view class="left"> |
||||
|
<text class="must">*</text> |
||||
|
<view class="title">验证码</view> |
||||
|
</view> |
||||
|
<view class="right code"> |
||||
|
<input bindblur="bindSmsCodeInput" bindinput="bindSmsCodeInput" value="{{personalInfo.smsCode}}" placeholder-class="placeholder-style" placeholder="请输入验证码" /> |
||||
|
<button disabled="{{smsCodeText !== '获取验证码'}}" bindtap="getSmsCode" hover-class="button-hover" class="get-code">{{smsCodeText}}</button> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="note" bindtap="changeGetMobileType">{{getMobileType === 'wx' ? '*如若获取手机号异常,请点击切换至手机号/验证码注册方式' : '*点击可切回至从微信获取手机号注册方式'}}</view> |
||||
|
|
||||
|
<view class="address-info"> |
||||
|
<view class="header"> |
||||
|
<view class="title">居住地址</view> |
||||
|
<view bindtap="changeGrid" class="change-grid" wx:if="{{moreThanOneGrid}}"> |
||||
|
<text>切换网格</text> |
||||
|
<image src="../../../../images/mine/ic_qiehuan@2x.png" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="list-item"> |
||||
|
<view class="grid-name">{{gridInfo.gridName}}</view> |
||||
|
</view> |
||||
|
<view class="list-item"> |
||||
|
<input bindblur="bindRoadInput" bindinput="bindRoadInput" value="{{personalInfo.road}}" placeholder-class="placeholder-style" placeholder="请输入所在小区" /> |
||||
|
</view> |
||||
|
<!-- <view class="list-item"> |
||||
|
<input bindblur="bindVillageNameInput" bindinput="bindVillageNameInput" value="{{personalInfo.villageName}}" placeholder-class="placeholder-style" placeholder="小区名称" /> |
||||
|
</view> |
||||
|
<view class="list-item"> |
||||
|
<input bindblur="bindDwellingPlaceInput" bindinput="bindDwellingPlaceInput" value="{{personalInfo.dwellingPlace}}" placeholder-class="placeholder-style" placeholder="楼栋号-单元室 (如5号楼701)" /> |
||||
|
</view> --> |
||||
|
</view> |
||||
|
|
||||
|
<view class="note">*请填写您的真实信息,我们会严格保密,请您放心</view> |
||||
|
|
||||
|
<view class="submit-button" wx:if="{{unionIdStatus === '1'}}"> |
||||
|
<button bindtap="submitPersonalInfo" hover-class="hover-submit">提交</button> |
||||
|
</view> |
||||
|
<view class="submit-button" wx:if="{{unionIdStatus === '0'}}"> |
||||
|
<button hover-class="hover-submit" open-type="getUserInfo" bindgetuserinfo="getUserInfo">提交</button> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
@ -0,0 +1,219 @@ |
|||||
|
.personal-info { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
box-sizing: border-box; |
||||
|
padding: 0 20rpx; |
||||
|
overflow: hidden; |
||||
|
} |
||||
|
|
||||
|
.basic-info { |
||||
|
width: 100%; |
||||
|
background: #fff; |
||||
|
border-radius: 16rpx; |
||||
|
box-sizing: border-box; |
||||
|
padding: 0 20rpx; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.basic-info .list-item { |
||||
|
width: 100%; |
||||
|
height: 100rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
.basic-info .list-item + .list-item { |
||||
|
border-top: 1rpx solid #eaeaea; |
||||
|
} |
||||
|
.basic-info .list-item .left { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
height: 100rpx; |
||||
|
} |
||||
|
.basic-info .list-item .left .must { |
||||
|
color: #F61616; |
||||
|
font-size: 30rpx; |
||||
|
} |
||||
|
.basic-info .list-item .left .title { |
||||
|
color: #333; |
||||
|
font-size: 34rpx; |
||||
|
} |
||||
|
.basic-info .list-item .right { |
||||
|
height: 100%; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
.basic-info .list-item .right.code { |
||||
|
width: calc(100% - 120rpx); |
||||
|
overflow: hidden; |
||||
|
} |
||||
|
.basic-info .list-item .right .placeholder-style { |
||||
|
font-size: 28rpx; |
||||
|
color: #999; |
||||
|
} |
||||
|
.basic-info .list-item .right input { |
||||
|
text-align: right; |
||||
|
font-size: 34rpx; |
||||
|
color: #333; |
||||
|
height: 100%; |
||||
|
width: 100%; |
||||
|
} |
||||
|
.basic-info .list-item .right.code input { |
||||
|
width: calc(100% - 300rpx); |
||||
|
} |
||||
|
.basic-info .list-item .right radio-group { |
||||
|
height: 100%; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
color: #999; |
||||
|
font-size: 28rpx; |
||||
|
} |
||||
|
.basic-info .list-item .right radio-group radio + radio { |
||||
|
margin-left: 20rpx; |
||||
|
} |
||||
|
.basic-info .list-item .right .get-code { |
||||
|
padding: 0 15rpx; |
||||
|
height: 60rpx; |
||||
|
line-height: 60rpx; |
||||
|
background: linear-gradient(to right, #F40C0C, #FF4E4E); |
||||
|
color: #fff; |
||||
|
font-size: 24rpx; |
||||
|
border-radius: 6rpx; |
||||
|
margin: 0; |
||||
|
margin-left: 25rpx; |
||||
|
} |
||||
|
.basic-info .list-item .right .button-hover { |
||||
|
background: rgb(175, 1, 1); |
||||
|
} |
||||
|
|
||||
|
.basic-info .list-item.identity-no .left { |
||||
|
width: 160rpx; |
||||
|
} |
||||
|
.basic-info .list-item.identity-no .right { |
||||
|
width: calc(100% - 160rpx); |
||||
|
} |
||||
|
.basic-info .list-item.real-name .left { |
||||
|
width: 140rpx; |
||||
|
} |
||||
|
.basic-info .list-item.real-name .right { |
||||
|
width: calc(100% - 140rpx); |
||||
|
} |
||||
|
.basic-info .list-item.sex .left { |
||||
|
width: 140rpx; |
||||
|
} |
||||
|
.basic-info .list-item.sex .right { |
||||
|
width: calc(100% - 140rpx); |
||||
|
} |
||||
|
.basic-info .list-item.mobile .left { |
||||
|
width: 140rpx; |
||||
|
} |
||||
|
.basic-info .list-item.mobile .right { |
||||
|
width: calc(100% - 140rpx); |
||||
|
} |
||||
|
.basic-info .list-item.mobile .right input { |
||||
|
width: calc(100% - 25rpx - 200rpx); |
||||
|
} |
||||
|
.basic-info .list-item.sms-code .left { |
||||
|
width: 140rpx; |
||||
|
} |
||||
|
.basic-info .list-item.sms-code .right { |
||||
|
width: calc(100% - 140rpx); |
||||
|
} |
||||
|
|
||||
|
.address-info { |
||||
|
width: 100%; |
||||
|
background: #fff; |
||||
|
border-radius: 16rpx; |
||||
|
box-sizing: border-box; |
||||
|
padding: 0 20rpx; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
.address-info .header { |
||||
|
width: 100%; |
||||
|
height: 78rpx; |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
box-sizing: border-box; |
||||
|
padding-top: 24rpx; |
||||
|
} |
||||
|
.address-info .header .title { |
||||
|
height: 54rpx; |
||||
|
font-size: 34rpx; |
||||
|
color: #333; |
||||
|
line-height: 54rpx; |
||||
|
} |
||||
|
.address-info .header .change-grid { |
||||
|
display: flex; |
||||
|
height: 54rpx; |
||||
|
align-items: center; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
.address-info .header .change-grid text { |
||||
|
font-size: 28rpx; |
||||
|
color: #999; |
||||
|
} |
||||
|
.address-info .header .change-grid image { |
||||
|
width: 28rpx; |
||||
|
height: 28rpx; |
||||
|
margin-left: 10rpx; |
||||
|
position: relative; |
||||
|
} |
||||
|
.address-info .list-item { |
||||
|
width: 100%; |
||||
|
height: 100rpx; |
||||
|
align-items: center; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
.address-info .list-item + .list-item { |
||||
|
border-top: 1rpx solid #eaeaea; |
||||
|
} |
||||
|
.address-info .list-item .grid-name { |
||||
|
color: #333; |
||||
|
font-size: 32rpx; |
||||
|
height: 100rpx; |
||||
|
line-height: 100rpx; |
||||
|
width: 100%; |
||||
|
overflow: hidden; |
||||
|
white-space: nowrap; |
||||
|
text-overflow: ellipsis; |
||||
|
} |
||||
|
.address-info .list-item input { |
||||
|
height: 100%; |
||||
|
text-align: right; |
||||
|
font-size: 34rpx; |
||||
|
color: #333; |
||||
|
width: 100%; |
||||
|
} |
||||
|
.address-info .list-item .placeholder-style { |
||||
|
font-size: 28rpx; |
||||
|
color: #999; |
||||
|
} |
||||
|
|
||||
|
.note { |
||||
|
font-size: 22rpx; |
||||
|
color: #999; |
||||
|
line-height: 62rpx; |
||||
|
} |
||||
|
|
||||
|
.submit-button { |
||||
|
width: 100%; |
||||
|
height: 84rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
margin: 30rpx 0 65rpx; |
||||
|
} |
||||
|
.submit-button button { |
||||
|
height: 84rpx; |
||||
|
line-height: 84rpx; |
||||
|
width: 560rpx; |
||||
|
padding: 0; |
||||
|
text-align: center; |
||||
|
color: #fff; |
||||
|
font-size: 33rpx; |
||||
|
border-radius: 16rpx; |
||||
|
background: linear-gradient(to right, #F40C0C, #FF4E4E); |
||||
|
} |
||||
|
.submit-button .hover-submit { |
||||
|
background: rgb(175, 1, 1); |
||||
|
} |
@ -0,0 +1,439 @@ |
|||||
|
var api = require('../../utils/api.js') |
||||
|
var global = require('../../utils/config.js') |
||||
|
const app = getApp() |
||||
|
import { $wuxActionSheet } from '../../dist/index' |
||||
|
Page({ |
||||
|
data: { |
||||
|
gridName: '', |
||||
|
gridId: '', |
||||
|
idCard: '', |
||||
|
userName: '', |
||||
|
sex: '', |
||||
|
mobile: '', |
||||
|
smsCode: '', |
||||
|
street: '', |
||||
|
community: '', |
||||
|
building: '', |
||||
|
submitEvent: false, |
||||
|
partyMember: false, |
||||
|
isPartyMember: '0', |
||||
|
wait: 60, |
||||
|
btntxt: '获取验证码', |
||||
|
tabType: 'tab1', |
||||
|
state: '', |
||||
|
unionIdStatus: '0', |
||||
|
encryptedData: '', |
||||
|
iv: '', |
||||
|
wxCode: '', |
||||
|
gridList: [], |
||||
|
changeGridList: [] |
||||
|
}, |
||||
|
onLoad() { |
||||
|
this.getPrepareComplete().then(res => { |
||||
|
this.getGridList() |
||||
|
}) |
||||
|
this.checkWxUnionId() |
||||
|
this.getWxCode() |
||||
|
}, |
||||
|
// 拉取 用户信息
|
||||
|
getPrepareComplete() { |
||||
|
return new Promise((resolve, reject) => { |
||||
|
api.prepareComplete().then(res => { |
||||
|
console.log('拉取用户信息', res) |
||||
|
this.setData({ |
||||
|
idCard: res.data.identityNo, |
||||
|
userName: res.data.realName, |
||||
|
sex: res.data.sex, |
||||
|
mobile: res.data.mobile, |
||||
|
street: res.data.road, |
||||
|
community: res.data.villageName, |
||||
|
building: res.data.dwellingPlace, |
||||
|
state: res.data.state, |
||||
|
gridId: res.data.gridId, |
||||
|
gridName: res.data.gridName |
||||
|
}) |
||||
|
resolve(true) |
||||
|
}).catch(err => { |
||||
|
reject(false) |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
adInputIdCard: function (e) { |
||||
|
this.setData({ |
||||
|
idCard: e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
adInputUserName: function (e) { |
||||
|
this.setData({ |
||||
|
userName: e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
adChangeSex: function (e) { |
||||
|
this.setData({ |
||||
|
sex: e.currentTarget.dataset.sex |
||||
|
}) |
||||
|
}, |
||||
|
adInputMobile: function (e) { |
||||
|
this.setData({ |
||||
|
mobile: e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
adInputSmsCode: function (e) { |
||||
|
this.setData({ |
||||
|
smsCode: e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
adInputStreet: function (e) { |
||||
|
this.setData({ |
||||
|
street: e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
adInputCommunity: function (e) { |
||||
|
this.setData({ |
||||
|
community: e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
adInputBuilding: function (e) { |
||||
|
this.setData({ |
||||
|
building: e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
// 我是居民/我是党员 切换
|
||||
|
onChange(e) { |
||||
|
if (e.detail.key == 'tab2') { |
||||
|
this.setData({ |
||||
|
partyMember: true, |
||||
|
isPartyMember: '1', |
||||
|
tabType: 'tab2' |
||||
|
}) |
||||
|
console.log('this', this.data.partyMember) |
||||
|
} else { |
||||
|
this.setData({ |
||||
|
partyMember: false, |
||||
|
isPartyMember: '0', |
||||
|
tabType: 'tab1', |
||||
|
idCard: '' |
||||
|
}) |
||||
|
console.log('this', this.data.partyMember) |
||||
|
} |
||||
|
}, |
||||
|
outtime() { |
||||
|
let that = this |
||||
|
if (that.data.wait === 0) { |
||||
|
that.setData({ |
||||
|
wait: 60, |
||||
|
btntxt: '获取验证码' |
||||
|
}) |
||||
|
} else { |
||||
|
that.setData({ |
||||
|
wait: that.data.wait - 1 |
||||
|
}) |
||||
|
setTimeout(() => { |
||||
|
that.outtime() |
||||
|
}, 1000) |
||||
|
} |
||||
|
}, |
||||
|
toRegister() { |
||||
|
if (this.data.partyMember) { |
||||
|
if (this.data.idCard === '') { |
||||
|
wx.showToast({ |
||||
|
title: '请先输入身份证号', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
} |
||||
|
if (this.data.userName === '') { |
||||
|
wx.showToast({ |
||||
|
title: '请先输入姓名', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.data.sex === '') { |
||||
|
wx.showToast({ |
||||
|
title: '请选择性别', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.data.mobile === '') { |
||||
|
wx.showToast({ |
||||
|
title: '请先输入手机号', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.data.smsCode === '') { |
||||
|
wx.showToast({ |
||||
|
title: '请先输入验证码', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.data.street === '') { |
||||
|
wx.showToast({ |
||||
|
title: '请先输入所在街道', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.data.street.length > 30) { |
||||
|
wx.showToast({ |
||||
|
title: '所在街道不超过30字', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.data.submitEvent === true) { |
||||
|
wx.showToast({ |
||||
|
title: '加载中...', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
wx.showLoading({ |
||||
|
title: '加载中...' |
||||
|
}) |
||||
|
const para = { |
||||
|
partyFlag: this.data.isPartyMember, |
||||
|
identityNo: this.data.idCard, |
||||
|
mobile: this.data.mobile, |
||||
|
smsCode: this.data.smsCode, |
||||
|
realName: this.data.userName, |
||||
|
sex: this.data.sex, |
||||
|
road: this.data.street, |
||||
|
villageName: this.data.community, |
||||
|
dwellingPlace: this.data.building, |
||||
|
gridId: this.data.gridId, |
||||
|
wxCode: this.data.unionIdStatus === '1' ? '' : this.data.wxCode, |
||||
|
encryptedData: this.data.unionIdStatus === '1' ? '' : this.data.encryptedData, |
||||
|
iv: this.data.unionIdStatus === '1' ? '' : this.data.iv |
||||
|
} |
||||
|
console.log(this.data.tabType) |
||||
|
if (this.data.tabType == 'tab1'){ |
||||
|
api.completeResidentInfo(para).then(function (res) { |
||||
|
// console.log(res.data.resultCode)
|
||||
|
wx.hideLoading() |
||||
|
if (res.data.resultCode == 1) { |
||||
|
wx.showModal({ |
||||
|
title: '党员认证失败', |
||||
|
showCancel: false, |
||||
|
content: res.data.resultMsg, |
||||
|
success: function (res) { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '认证成功', |
||||
|
icon: 'none', |
||||
|
duration: 3000, |
||||
|
complete: function () { |
||||
|
setTimeout(function () { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
}, 3000); |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}else{ |
||||
|
api.completePartyInfo(para).then(function (res) { |
||||
|
// console.log(res.data.resultCode)
|
||||
|
wx.hideLoading() |
||||
|
if (res.data.resultCode == 1) { |
||||
|
wx.showModal({ |
||||
|
title: '党员认证失败', |
||||
|
showCancel: false, |
||||
|
content: res.data.resultMsg, |
||||
|
success: function (res) { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '认证成功', |
||||
|
icon: 'none', |
||||
|
duration: 3000, |
||||
|
complete: function () { |
||||
|
setTimeout(function () { |
||||
|
wx.reLaunch({ |
||||
|
url: '/pages/indexNew/indexNew' |
||||
|
}) |
||||
|
}, 3000); |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
// api.completeInfo(para).then(function (res) {
|
||||
|
// // console.log(res.data.resultCode)
|
||||
|
// wx.hideLoading()
|
||||
|
// if (res.data.resultCode == 1) {
|
||||
|
// wx.showModal({
|
||||
|
// title: '党员认证失败',
|
||||
|
// showCancel: false,
|
||||
|
// content: res.data.resultMsg,
|
||||
|
// success: function (res) {
|
||||
|
// wx.reLaunch({
|
||||
|
// url: '/pages/index/index'
|
||||
|
// })
|
||||
|
// }
|
||||
|
// })
|
||||
|
// } else {
|
||||
|
// wx.showToast({
|
||||
|
// title: '认证成功',
|
||||
|
// icon: 'none',
|
||||
|
// duration: 3000,
|
||||
|
// complete: function () {
|
||||
|
// setTimeout(function () {
|
||||
|
// wx.reLaunch({
|
||||
|
// url: '/pages/index/index'
|
||||
|
// })
|
||||
|
// }, 3000);
|
||||
|
// }
|
||||
|
// })
|
||||
|
// }
|
||||
|
// })
|
||||
|
}, |
||||
|
getSmsCode() { |
||||
|
console.log(this.data.mobile) |
||||
|
if (this.data.mobile === '') { |
||||
|
wx.showToast({ |
||||
|
title: '请先输入手机号', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} else if (this.data.mobile.length !== 11) { |
||||
|
wx.showToast({ |
||||
|
title: '请先输入正确手机号', |
||||
|
icon: 'none', |
||||
|
duration: 3000 |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
if (this.data.wait < 60) { |
||||
|
wx.showToast({ |
||||
|
title: '请' + this.data.wait + '秒后再试', |
||||
|
duration: 2000, |
||||
|
icon: 'none' |
||||
|
}) |
||||
|
return |
||||
|
} |
||||
|
this.outtime() |
||||
|
api.sendSms(this.data.mobile).then(function (res) { |
||||
|
console.log('已经成功发送验证码') |
||||
|
console.log(res) |
||||
|
}) |
||||
|
}, |
||||
|
// 性别选择
|
||||
|
radioChange(e) { |
||||
|
this.setData({ |
||||
|
sex: e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
// 查看用户是否完善个人信息
|
||||
|
checkWxUnionId() { |
||||
|
api.checkWxUnionId().then(res => { |
||||
|
console.log('查看用户是否已保存unionId', res) |
||||
|
this.setData({ |
||||
|
unionIdStatus: res.data |
||||
|
}) |
||||
|
}).catch(err => { |
||||
|
this.setData({ |
||||
|
unionIdStatus: '0' |
||||
|
}) |
||||
|
console.log(err) |
||||
|
}) |
||||
|
}, |
||||
|
// 获取用户信息
|
||||
|
getUserInfo(e) { |
||||
|
this.setData({ |
||||
|
encryptedData: e.detail.encryptedData, |
||||
|
iv: e.detail.iv |
||||
|
}) |
||||
|
this.toRegister() |
||||
|
}, |
||||
|
// 获取wxCode
|
||||
|
getWxCode() { |
||||
|
const that = this |
||||
|
wx.login({ |
||||
|
success(res) { |
||||
|
that.setData({ |
||||
|
wxCode: res.code |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 获取所有网格
|
||||
|
getGridList() { |
||||
|
api.getGridList().then(res => { |
||||
|
console.log('获取所有网格', res) |
||||
|
const buttonList = [] |
||||
|
res.data.forEach(item => { |
||||
|
if (item.gridId !== this.data.gridId) { |
||||
|
buttonList.push({ |
||||
|
id: item.gridId, |
||||
|
text: item.grid |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
this.setData({ |
||||
|
gridList: res.data, |
||||
|
changeGridList: buttonList |
||||
|
}) |
||||
|
}).catch(err => { |
||||
|
this.setData({ |
||||
|
gridList: [] |
||||
|
}) |
||||
|
console.log(err) |
||||
|
}) |
||||
|
}, |
||||
|
// 切换网格
|
||||
|
changeGrid() { |
||||
|
const buttonList = [] |
||||
|
this.data.gridList.forEach(item => { |
||||
|
buttonList.push({ |
||||
|
id: item.gridId, |
||||
|
text: item.grid |
||||
|
}) |
||||
|
}) |
||||
|
const index = buttonList.findIndex(item => item.id === this.data.gridId) |
||||
|
if (index > -1) { |
||||
|
buttonList.splice(index, 1) |
||||
|
} |
||||
|
this.setData({ |
||||
|
changeGridList: buttonList |
||||
|
}) |
||||
|
const that = this |
||||
|
$wuxActionSheet().showSheet({ |
||||
|
buttons: this.data.changeGridList, |
||||
|
className: 'dialog-class', |
||||
|
buttonClicked(index, item) { |
||||
|
that.setData({ |
||||
|
gridId: item.id, |
||||
|
gridName: item.text |
||||
|
}) |
||||
|
return true |
||||
|
}, |
||||
|
cancelText: '取消', |
||||
|
cancel() { }, |
||||
|
destructiveButtonClicked() { }, |
||||
|
}) |
||||
|
} |
||||
|
}) |
@ -0,0 +1,12 @@ |
|||||
|
{ |
||||
|
"navigationBarTitleText": "完善个人信息", |
||||
|
"usingComponents": { |
||||
|
"wux-tabs": "../../dist/tabs/index", |
||||
|
"wux-tab": "../../dist/tab/index", |
||||
|
"wux-badge": "../../dist/badge/index", |
||||
|
"wux-cell-group": "../../dist/cell-group/index", |
||||
|
"wux-cell": "../../dist/cell/index", |
||||
|
"wux-input": "../../dist/input/index", |
||||
|
"wux-actionsheet": "../../dist/actionsheet/index" |
||||
|
} |
||||
|
} |
@ -0,0 +1,97 @@ |
|||||
|
<view class="container"> |
||||
|
<view class="topfixed"> |
||||
|
<wux-tabs defaultCurrent="tab1" bindchange="onChange"> |
||||
|
<wux-tab key="tab1" title="我是居民"></wux-tab> |
||||
|
<wux-tab key="tab2"> |
||||
|
<view class="tab2" style="color: {{tabType == 'tab2' ? '#f00' : '#999'}}"> |
||||
|
我是党员 |
||||
|
<!-- <view class="status pass" wx:if="{{state === '3' && idCard}}"> |
||||
|
<image src="../../images/mine/party-pass.png" /> |
||||
|
<view>认证通过</view> |
||||
|
</view> |
||||
|
<view class="status unpass" wx:if="{{state === '2' && idCard}}"> |
||||
|
<image src="../../images/mine/party-unpass.png" /> |
||||
|
<view>认证不通过</view> |
||||
|
</view> --> |
||||
|
</view> |
||||
|
</wux-tab> |
||||
|
</wux-tabs> |
||||
|
</view> |
||||
|
<view class="card cardcon margintop"> |
||||
|
<view class="content"> |
||||
|
<wux-cell hover-class="none" wx:if="{{partyMember}}"> |
||||
|
<span class="xing">*</span> |
||||
|
<wux-input label="身份证号" placeholder="实名认证请输入身份证" controlled value="{{idCard}}" bind:change="adInputIdCard"></wux-input> |
||||
|
</wux-cell> |
||||
|
<wux-cell hover-class="none"> |
||||
|
<span class="xing">*</span> |
||||
|
<wux-input label="姓名" placeholder="请输入姓名" controlled value="{{userName}}" bind:change="adInputUserName"></wux-input> |
||||
|
</wux-cell> |
||||
|
<wux-cell hover-class="none"> |
||||
|
<span class="xing">*</span> |
||||
|
<view class="sex-content"> |
||||
|
<view>性别</view> |
||||
|
<radio-group class="radio-group" bindchange="radioChange"> |
||||
|
<radio value="1" color="#F82525" checked="{{sex === '1'}}"> |
||||
|
<text style="color: {{sex == 1 ? '#333' : '#999'}}">男</text> |
||||
|
</radio> |
||||
|
<radio value="0" color="#F82525" checked="{{sex === '0'}}"> |
||||
|
<text style="color: {{sex === '0' ? '#333' : '#999'}}">女</text> |
||||
|
</radio> |
||||
|
</radio-group> |
||||
|
</view> |
||||
|
</wux-cell> |
||||
|
<wux-cell hover-class="none"> |
||||
|
<span class="xing">*</span> |
||||
|
<wux-input label="手机号" placeholder="请输入手机号" controlled value="{{mobile}}" bind:change="adInputMobile"></wux-input> |
||||
|
</wux-cell> |
||||
|
<wux-cell hover-class="none" class="yzm"> |
||||
|
<span class="xing">*</span> |
||||
|
<view class="verify-content"> |
||||
|
<view>验证码</view> |
||||
|
<view class="verify-code"> |
||||
|
<input type="text" placeholder="请输入验证码" placeholder-class="scode" bind:change="adInputSmsCode"/> |
||||
|
<view class="getcode" bindtap="getSmsCode"> |
||||
|
<span wx:if="{{wait>=60}}">获取验证码</span> |
||||
|
<span wx:else>{{wait}}秒...</span> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</wux-cell> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="card cardcon"> |
||||
|
<view class="jzdz"> |
||||
|
<view class="address"> |
||||
|
<view class="left">居住地址</view> |
||||
|
<view class="right" bindtap="changeGrid" wx:if="{{changeGridList.length > 0}}"> |
||||
|
<view class="change-grid">切换网格</view> |
||||
|
<image src="../../images/mine/ic_qiehuan@2x.png" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view>{{gridName}}</view> |
||||
|
</view> |
||||
|
<view class="content"> |
||||
|
<wux-cell hover-class="none"> |
||||
|
<wux-input placeholder="*请填写所在小区" controlled value="{{street}}" bind:change="adInputStreet"></wux-input> |
||||
|
</wux-cell> |
||||
|
<!-- <wux-cell hover-class="none"> |
||||
|
<wux-input placeholder="小区名称" controlled value="{{community}}" bind:change="adInputCommunity"></wux-input> |
||||
|
</wux-cell> |
||||
|
<wux-cell hover-class="none"> |
||||
|
<wux-input placeholder="楼栋号-单元室(如5号楼701)" controlled value="{{building}}" bind:change="adInputBuilding"></wux-input> |
||||
|
</wux-cell> --> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="tap">*请填写您的真实信息,我们会严格保密,请您放心</view> |
||||
|
<view class="submit-btn" wx:if="{{unionIdStatus === '1'}}"> |
||||
|
<button hover-class="hover-button" bindtap="toRegister">提交</button> |
||||
|
</view> |
||||
|
|
||||
|
<view class="submit-btn" wx:elif="{{unionIdStatus === '0'}}"> |
||||
|
<button hover-class="hover-button" open-type="getUserInfo" bindgetuserinfo="getUserInfo">提交</button> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
<wux-actionsheet id="wux-actionsheet" /> |
@ -0,0 +1,278 @@ |
|||||
|
.topfixed { |
||||
|
position: fixed; |
||||
|
top: 0; |
||||
|
width: 100%; |
||||
|
z-index: 999999; |
||||
|
} |
||||
|
.margintop { |
||||
|
margin-top: 60px; |
||||
|
} |
||||
|
.tab2 { |
||||
|
color: #999; |
||||
|
font-size: 0.975rem; |
||||
|
position: relative; |
||||
|
} |
||||
|
.tab2 .status.pass { |
||||
|
position: absolute; |
||||
|
width: 74rpx; |
||||
|
height: 32rpx; |
||||
|
top: 10%; |
||||
|
left: 100%; |
||||
|
} |
||||
|
.tab2 .status.pass image { |
||||
|
position: absolute; |
||||
|
width: 100%; |
||||
|
height:100%; |
||||
|
object-fit: cover; |
||||
|
left: 0; |
||||
|
top: 0; |
||||
|
} |
||||
|
.tab2 .status.pass view { |
||||
|
position: relative; |
||||
|
z-index: 100; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
line-height: 27rpx; |
||||
|
text-align: center; |
||||
|
font-size: 16rpx; |
||||
|
color: #06B5A4; |
||||
|
} |
||||
|
.tab2 .status.unpass { |
||||
|
position: absolute; |
||||
|
width: 90rpx; |
||||
|
height: 32rpx; |
||||
|
top: 10%; |
||||
|
left: 100%; |
||||
|
} |
||||
|
.tab2 .status.unpass image { |
||||
|
position: absolute; |
||||
|
width: 100%; |
||||
|
height:100%; |
||||
|
object-fit: cover; |
||||
|
left: 0; |
||||
|
top: 0; |
||||
|
} |
||||
|
.tab2 .status.unpass view { |
||||
|
position: relative; |
||||
|
z-index: 100; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
line-height: 27rpx; |
||||
|
text-align: center; |
||||
|
font-size: 16rpx; |
||||
|
color: #E74848; |
||||
|
} |
||||
|
|
||||
|
.jzdz { |
||||
|
font-size: 0.975rem; |
||||
|
padding: 10px 0 0 10px; |
||||
|
color: #333; |
||||
|
} |
||||
|
|
||||
|
.content { |
||||
|
width: 670rpx; |
||||
|
padding-top: 5px; |
||||
|
padding-bottom: 10px; |
||||
|
padding-right: 30rpx; |
||||
|
padding-left: 10rpx; |
||||
|
} |
||||
|
|
||||
|
.cardcon { |
||||
|
height: auto; |
||||
|
} |
||||
|
|
||||
|
.btn1 { |
||||
|
margin-top: 40rpx; |
||||
|
} |
||||
|
|
||||
|
.logo-layout { |
||||
|
height: 136rpx; |
||||
|
width: 159rpx; |
||||
|
margin: 0 auto; |
||||
|
padding: 60rpx 0 80rpx 0; |
||||
|
} |
||||
|
|
||||
|
.logo { |
||||
|
height: 136rpx; |
||||
|
width: 159rpx; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
.tap { |
||||
|
font-size: 12px; |
||||
|
color: #999; |
||||
|
padding: 0 10px 0 10px; |
||||
|
} |
||||
|
|
||||
|
.input-placeholder { |
||||
|
color: #999; |
||||
|
text-align: right; |
||||
|
font-size: 0.875rem; |
||||
|
} |
||||
|
|
||||
|
.scode { |
||||
|
text-align: left !important; |
||||
|
} |
||||
|
|
||||
|
.wux-tabs__tab-title { |
||||
|
color: #999; |
||||
|
font-size: 0.975rem; |
||||
|
} |
||||
|
|
||||
|
.wux-tabs__tab--balanced .wux-tabs__tab-bar { |
||||
|
background: #f00 !important; |
||||
|
color: #f00 !important; |
||||
|
} |
||||
|
|
||||
|
.wux-tabs__tab--current .wux-tabs__tab-title { |
||||
|
color: #f00 !important; |
||||
|
} |
||||
|
|
||||
|
.wux-input__label { |
||||
|
font-size: 0.975rem; |
||||
|
color: #333; |
||||
|
} |
||||
|
|
||||
|
.wux-input__item { |
||||
|
text-align: right; |
||||
|
} |
||||
|
|
||||
|
.yzm .wux-input__item { |
||||
|
text-align: left; |
||||
|
} |
||||
|
|
||||
|
.xing { |
||||
|
color: #f00; |
||||
|
float: left; |
||||
|
width: 10px; |
||||
|
} |
||||
|
.sex-select { |
||||
|
width: 100%; |
||||
|
position: absolute; |
||||
|
top: 5rpx; |
||||
|
right: 0px; |
||||
|
text-align: right; |
||||
|
z-index: 999; |
||||
|
} |
||||
|
.select-img { |
||||
|
width: 40rpx; |
||||
|
height: 40rpx; |
||||
|
} |
||||
|
.select-text { |
||||
|
padding: 15rpx; |
||||
|
} |
||||
|
|
||||
|
.float-right { |
||||
|
float: right; |
||||
|
} |
||||
|
|
||||
|
/* 弹性盒子 */ |
||||
|
.flex { |
||||
|
display: -webkit-box; |
||||
|
display: flex; |
||||
|
} |
||||
|
|
||||
|
/* 垂直水平居中 */ |
||||
|
|
||||
|
.flex-container { |
||||
|
justify-content: center; |
||||
|
align-items: center; |
||||
|
flex-wrap: wrap; |
||||
|
} |
||||
|
|
||||
|
/* 等宽排列 */ |
||||
|
|
||||
|
.justify-space-between { |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
|
||||
|
.sex-content { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: space-between; |
||||
|
} |
||||
|
radio { |
||||
|
font-size: 30rpx; |
||||
|
|
||||
|
color: #999; |
||||
|
} |
||||
|
radio + radio { |
||||
|
margin-left: 30rpx; |
||||
|
} |
||||
|
.verify-content { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.verify-content .verify-code { |
||||
|
height: 100%; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.verify-content .verify-code input { |
||||
|
width: 190rpx; |
||||
|
text-align: right; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
.verify-content .verify-code .getcode { |
||||
|
background: #f30; |
||||
|
color: #fff; |
||||
|
font-size: 24rpx; |
||||
|
border-radius: 8rpx; |
||||
|
height: 50rpx; |
||||
|
line-height: 50rpx; |
||||
|
padding: 6rpx 20rpx 6rpx 20rpx; |
||||
|
} |
||||
|
.submit-btn { |
||||
|
width: 100%; |
||||
|
height: 85rpx; |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
align-items:center; |
||||
|
margin-top: 40rpx; |
||||
|
} |
||||
|
.submit-btn button { |
||||
|
background: linear-gradient(to right, #f51010, #ff4c4c); |
||||
|
width: 560rpx; |
||||
|
height: 85rpx; |
||||
|
border-radius: 16rpx; |
||||
|
line-height: 85rpx; |
||||
|
font-size: 36rpx; |
||||
|
color: #fff; |
||||
|
text-align: center; |
||||
|
margin: 0; |
||||
|
padding: 0; |
||||
|
outline: 0; |
||||
|
} |
||||
|
.submit-btn .hover-button { |
||||
|
background: red; |
||||
|
} |
||||
|
|
||||
|
.jzdz .address { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
box-sizing: border-box; |
||||
|
padding-right: 30rpx; |
||||
|
height: 60rpx; |
||||
|
} |
||||
|
.jzdz .address .right { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: flex-end; |
||||
|
} |
||||
|
.jzdz .address .right .change-grid { |
||||
|
color: #999; |
||||
|
margin-right: 10rpx; |
||||
|
font-size: 25rpx; |
||||
|
} |
||||
|
.jzdz .address .right image { |
||||
|
width: 22rpx; |
||||
|
height: 22rpx; |
||||
|
object-fit: cover; |
||||
|
} |
||||
|
.wux-actionsheet__button { |
||||
|
font-size: 34rpx !important; |
||||
|
color: #333 !important; |
||||
|
} |
Loading…
Reference in new issue