recycapp/pages/mine/orderConfig.vue
2025-10-30 21:04:29 +08:00

480 lines
13 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<view class="content-top">
<view class='hs-box'>
<view class="infoBox" style="margin-top: 17rpx;">
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
人身保险
</view>
<view class='hs-row-ft flex-center'>
<text class="rightText" v-if="userinfo.personal_insurance">已上传</text>
<view class="rightText2">待上传</view>
<u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon>
</view>
</view>
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
健康证
</view>
<view class='hs-row-ft flex-center'>
<text class="rightText" v-if="userinfo.health_certificate">已上传</text>
<view class="rightText2">待上传</view>
<u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon>
</view>
</view>
</view>
<view class="infoBox" style="margin-top: 17rpx;">
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
服务区域
</view>
<view class='hs-row-ft flex-center'>
<text class="rightText">建邺区</text>
<u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon>
</view>
</view>
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
回收分类
</view>
<view class='hs-row-ft flex-center'>
<text class="rightText">电视回收数码回收等<text class="colorText">3</text></text>
<u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon>
</view>
</view>
</view>
<view style="margin-top: 17rpx;" class="infoBox">
<view class="modelLabel">
资质证件
</view>
<view class='hs-list flex-between'>
<view class='hs-list-hd' style="width: 180px;">高空作业证</view>
<view class='hs-list-na flex-center'>
<view class="rightText" v-if="userinfo.high_altitude_certificate">>已上传</view>
<view class="rightText2">待上传</view>
<u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon>
</view>
</view>
<view class='hs-list flex-between' @click="linkDetail('about')">
<view class='hs-list-hd' style="width: 180px;">电工证</view>
<view class='hs-row-ft flex-center'>
<!-- <text class="rightText">已上传</text> -->
<view class="rightText" v-if="userinfo.electrician_certificate">已上传</view>
<view class="rightText2">待上传</view>
<u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon>
</view>
</view>
<view class='hs-list flex-between' @click="linkDetail('userProt')">
<view class='hs-list-hd' style="width: 180px;">焊工证</view>
<view class='hs-row-ft flex-center'>
<text class="rightText" v-if="userinfo.welder_certificate">已上传</text>
<view class="rightText2">待上传</view>
<u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon>
</view>
</view>
<view class='hs-list flex-between' @click="linkDetail('privacy')">
<view class='hs-list-hd' style="width: 180px;">绿色回收认证证书</view>
<view class='hs-row-ft flex-center'>
<text class="rightText" v-if="userinfo.green_recycle_certificate">已上传</text>
<view class="rightText2">待上传</view>
<u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon>
</view>
</view>
</view>
<!-- <view class="escLogin" @click="escLogin">退出登录</view> -->
<view class="infoBox" style="margin-top: 17rpx;">
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
真实姓名
</view>
<view class='hs-row-ft flex-center'>
<input v-model="userinfo.nickname" type="text" placeholder="请输入真实姓名"/>
<!-- <u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon> -->
</view>
</view>
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
手机号码
</view>
<view class='hs-row-ft flex-center'>
<input v-model="userinfo.mobile" type="text" placeholder="请输入手机号"/>
<!-- <u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon> -->
</view>
</view>
</view>
<view class="infoBox" style="margin-top: 17rpx;" v-if="isConfigPassword">
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
原支付密码
</view>
<view class='hs-row-ft flex-center'>
<input v-model="yuanPassword" type="password" placeholder="请输入原密码"/>
<!-- <u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon> -->
</view>
</view>
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
新支付密码
</view>
<view class='hs-row-ft flex-center'>
<input v-model="pay_password" type="password" placeholder="请输入新密码"/>
<!-- <u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon> -->
</view>
</view>
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
确认密码
</view>
<view class='hs-row-ft flex-center'>
<input v-model="rePassword" type="password" placeholder="请确认密码"/>
<!-- <u-icon name="arrow-right" color="#282F38" size="14" style="margin-left: 19rpx;"></u-icon> -->
</view>
</view>
</view>
<view class="infoBox" style="margin-top: 17rpx;" v-else>
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
支付密码
</view>
<view class='hs-row-ft flex-center'>
<input v-model="pay_password" type="password" placeholder="请输入支付密码"/>
</view>
</view>
<view class='hs-list flex-between'>
<view class='hs-list-hd'>
确认密码
</view>
<view class='hs-row-ft flex-center'>
<input v-model="rePassword" type="password" placeholder="请输入确认密码"/>
</view>
</view>
</view>
</view>
</view>
<!-- <u-popup :show="show" mode="top" @close="close" @open="open">
<view>
<text>人生若只如初见何事秋风悲画扇</text>
</view>
</u-popup> -->
<view style="height: 20rpx;"></view>
<view class="button-bottom">
<button class="btn btn-success" @click="checkPassword()" >保存</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
userinfo:{},
headflag:false,
nickname:'微信用户',
avatar:'/static/img/t2.png',
isConfigPassword: false,
yuanPassword: '',
pay_password: '',
rePassword: ''
}
},
components:{
},
onLoad() {
this.userinfo = uni.getStorageSync('userInfo');
// this.getAgreement()
this.checkPayPassword()
},
onShow() {
var token = uni.getStorageSync('userToken');
if (!token) {
return false;
}
this.getauth()
},
methods: {
checkPayPassword(){
var _this = this;
_this.$api.checkPayPassword({},res=>{
if(res.code == '1'){
console.log(res.data)
this.isConfigPassword = res.data.has_pay_password
// uni.showToast({ title: res.msg , icon: 'success' })
}
})
},
checkPassword() {
var _this = this;
if(this.isConfigPassword){
_this.$api.verifyPayPassword({
pay_password: this.yuanPassword
},res=>{
if(res.code == '1'){
console.log(res.data)
this.setConfig()
}else{
uni.showToast({ title: res.msg , icon: 'none' })
}
})
}else{
this.setConfig()
}
},
setConfig() {
var _this = this;
if(this.pay_password != this.rePassword){
uni.showToast({ title: '密码和确认密码不一致', icon: 'none' })
return false;
}
let data = {
realname: this.userinfo.nickname,
mobile: this.userinfo.mobile,
pay_password: this.pay_password
}
_this.$api.editperson(data,res=>{
if(res.code == '1'){
console.log(res.data)
uni.showToast({ title: res.msg , icon: 'success' })
}else{
uni.showToast({ title: res.msg , icon: 'none' })
}
})
},
escLogin(){
this.$api.escLogin({},res=>{
if(res.code == '1'){
uni.removeStorageSync('userToken')
uni.showToast({ title: res.msg , icon: 'success' })
setTimeout(()=>{
uni.navigateBack({
delta: 1
})
}, 2000)
}else{
uni.showToast({ title: res.msg , icon: 'fail' })
}
})
},
linkDetail(type){
uni.navigateTo({
url: '/pages/mine/detail?type='+type
})
},
// getAgreement(){
// var _this = this;
// _this.$api.agreementInfo({},res=>{
// if(res.code == '1'){
// console.log(res.data)
// // if(res.data.user.avatar){
// // _this.avatar = res.data.user.avatar
// // }
// _this.nickname = res.data.user.nickname
// _this.userinfo = res.data.user
// }else{
// }
// })
// },
getnicheng({detail}){
this.nickname = detail.value ;
},
getauth(){
var _this = this;
_this.$api.userInfo({},res=>{
if(res.code == '1'){
// if(res.data.user.avatar){
// _this.avatar = res.data.user.avatar
// }
// _this.nickname = res.data.user.nickname
// _this.userinfo = res.data.user
_this.userinfo = res.data.person
}else{
}
})
},
getinfo(){
var token = uni.getStorageSync('userToken');
if (token) {
this.headflag = true
}else{
this.headflag = false
}
},
onChooseAvatar(e) {
const { avatarUrl } = e.detail
this.edithead(avatarUrl );
},
edithead(avatarUrl){
var token =uni.getStorageSync('userToken');
uni.uploadFile({
url: this.$api.api_url + 'api/common/upload?token='+ token ,
filePath: avatarUrl,
fileType: 'image',
name: 'file',
sizeType:['original','compressed'],
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
},
formData: {
'method': 'images.upload',
'upfile': avatarUrl
},
success: (res) => {
var res = JSON.parse(res.data);
if(res.code == '1'){
this.avatar = res.data.fullurl
uni.showToast({ title: res.msg , icon: 'success' })
}else{
uni.showToast({ title: res.msg , icon: 'none' })
}
},
fail: (error) => {
if (error && error.response) {
uni.showToast({ title: error.response , icon: 'none' })
}
},
});
},
toAdd(){
if(this.avatar == '/static/img/t2.png' ){
uni.showToast({ title: "请上传自己的头像" , icon: 'none' })
return false;
}
this.$api.edituser({
avatar:this.avatar,
nickname:this.nickname
},res=>{
if(res.code == '1'){
uni.showToast({ title: res.msg , icon: 'success' })
uni.navigateBack({
delta: 1
})
return false
}else{
uni.showToast({ title: res.msg , icon: 'none' })
}
})
}
}
}
</script>
<style lang="scss">
page{
height: 100%;
}
.content{
padding: 8rpx 35rpx;
background: #F5F5FA;
height: 100%;
overflow: auto;
}
.hs-row{
width: 100%;
margin-left: 0;
padding: 40rpx 45rpx 40rpx 69rpx;
border-radius: 30rpx;
}
.hs-row-ft button{
height: 144rpx;
width: 144rpx;
padding: 0;
border-radius: 50%;background-color: #fff;line-height: 108px;
}
.hs-row-ft button::after{
border: none;
}
.user-head {
height: 140rpx;
}
.user-head-img {
height: 90upx;
width: 90upx;
border-radius: 50%;
}
.hs-row-na {
color: #666;
font-size: 26upx; text-align: right; padding-right: 15px;
width: 100%;
}
.hs-hd {
width: 160rpx;
}
.down {
top: 50%;
transform: translateY(-50%);
}
.infoBox{
background: #fff;
border-radius: 30rpx;
overflow: hidden;
padding: 10rpx 0 10rpx;
}
.hs-list{
// padding: 33rpx 45rpx;
margin: 33rpx 45rpx 0;
padding-bottom: 33rpx;
border-bottom: 1px solid #DEDEDE;
overflow: hidden;
}
.hs-list:last-child{
border-bottom: none;
}
.escLogin{
padding: 40rpx 0;
border-radius: 30rpx;
background: #fff;
text-align: center;
font-weight: 500;
font-size: 30rpx;
color: #282F38;
margin-top: 20rpx;
}
.rightText{
font-weight: 400;
font-size: 30rpx;
color: #282F38;
}
.colorText{
color:#FB8F0C;
}
.modelLabel{
font-weight: bold;
font-size: 32rpx;
color: #282F38;
padding: 42rpx 42rpx 20rpx;
}
.rightText2{
width: 115rpx;
height: 48rpx;
line-height: 48rpx;
text-align: center;
background: rgba(251,143,12,0.1);
border-radius: 10rpx;
font-weight: 400;
font-size: 30rpx;
color: #FB8F0C;
}
.button-bottom{
background: #fff;
left: 0;
padding: 10rpx 35rpx;
height: unset!important;
}
.btn-success{
background: linear-gradient(90deg, #FFAD38 0%, #FF884E 100%);
}
</style>