初始化万家商超用户端仓库

This commit is contained in:
wangxiaowei
2025-04-30 14:04:34 +08:00
commit 022c640d89
425 changed files with 160005 additions and 0 deletions

View File

@ -0,0 +1,210 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center aboutUs_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub aboutUs_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 aboutUs_fd0_0_c0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='aboutUs_fd0_0_c1_c0'>关于我们</text>
</view>
<view class='flex flex-wrap align-center aboutUs_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<view class="flex flex-direction flex-wrap align-center aboutUs_flex_1">
<image class='aboutUs_fd1_0' mode="aspectFit" src="../../../static/logo.png"></image>
<view class='flex flex-wrap align-center aboutUs_fd1_1'>
<text>当前版本</text>
<text>{{appVersion}}</text>
</view>
</view>
<view class='flex flex-wrap align-center justify-between setUp_fd1_0' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/pages/dl/agreementPolicy/agreementPolicy?type=25`" >
<text class='setUp_fd1_0_c0'>公司信息</text>
<text class='fu-iconfont2 system_fd2_0_c0_c1'>&#xE7F2;</text>
</view>
<view class="flex flex-direction align-center benben-position-layout flex aboutUs_flex_2">
<text class='aboutUs_fd2_0'>copyright©2024 萬家商超</text>
<text class='aboutUs_fd2_1'>All Rights Reserved</text>
<!-- #ifndef MP-WEIXIN -->
<text class='aboutUs_fd2_0' @tap.stop="toWaiUrl('https://beian.miit.gov.cn/')" >备案号浙ICP备2023015585号-2A</text>
<!-- #endif -->
</view>
<view :style="{height: '168rpx'}"></view>
</view>
</template>
<script>
export default {
components: {},
data() {
return {};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
appVersion() {
// 获取版本号
return this.$store.state.appVersion
}
},
watch: {},
onLoad(options) {
},
onUnload() {
},
onReady() {
},
onShow() {
this.$store.dispatch('getAppVersion') // 更新版本号
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
toWaiUrl(url) {
// #ifdef APP
plus.runtime.openWeb(url);
// #endif
},
}
};
</script>
<style lang="scss" scoped>
.aboutUs_fd2_0 {
color: #BFBFBF;
font-size: 28rpx;
font-weight: 400;
line-height: 45rpx;
}
.setUp_fd1_0 {
margin: 100rpx 200rpx 0rpx 200rpx;
}
.setUp_fd1_0_c0 {
font-size: 32rpx;
font-weight: 400;
color: #333333;
}
.setUp_fd1_0_c1 {
width: 14rpx;
height: 26rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 32rpx 0rpx 0rpx;
}
.system_fd2_0_c0_c1 {
font-size: 26rpx;
color: rgba(191, 191, 191, 1);
}
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #fff;
background-size: 100% auto !important;
}
.aboutUs_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.aboutUs_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.aboutUs_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.aboutUs_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.aboutUs_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.aboutUs_flex_1 {
padding: 0rpx 0rpx 0rpx 0rpx;
}
.aboutUs_fd1_1 {
padding: 33rpx 0rpx 0rpx 0rpx;
font-size: 28rpx;
color: #333;
font-weight: 400;
}
.aboutUs_fd1_0 {
width: 172rpx;
height: 172rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
margin: 97rpx 0rpx 0rpx 0rpx;
}
.aboutUs_flex_2 {
background: #fff;
width: 750rpx;
height: 168rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
background-size: 100% auto !important;
}
.aboutUs_fd2_1 {
color: #BFBFBF;
font-size: 28rpx;
font-weight: 400;
line-height: 45rpx;
}
.aboutUs_fd2_0 {
color: #BFBFBF;
font-size: 28rpx;
font-weight: 400;
line-height: 45rpx;
}
</style>

View File

@ -0,0 +1,301 @@
<template>
<view :style="themeColor">
<view class="page">
<view class="flex benben-position-layout flex flex-wrap align-center reasonForAccountCancellation_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx', }">
<view class='flex flex-wrap align-center justify-between flex-sub reasonForAccountCancellation_fd0_0'>
<view class='flex flex-wrap align-center reasonForAccountCancellation_fd0_0_c0'
@tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 reasonForAccountCancellation_fd0_0_c0_c0'>&#xE794;</text>
</view>
<text class='reasonForAccountCancellation_fd0_0_c1'>注销账号</text>
<view class='flex flex-wrap align-center reasonForAccountCancellation_fd0_0_c0'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---注销账号原因-带图flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch reasonForAccountCancellation_flex_1">
<view class='flex flex-wrap align-center reasonForAccountCancellation_fd1_0'>
<text class='reasonForAccountCancellation_fd1_0_c0'>账号注销</text>
</view>
<text class='reasonForAccountCancellation_fd1_1'>永久注销且无法恢复请谨慎操作</text>
<view class='flex flex-wrap align-center reasonForAccountCancellation_fd1_2'>
<text class='reasonForAccountCancellation_fd1_0_c0'>请选择注销账号的原因</text>
</view>
<benben-select-diy ref="showSelectPopup1681204058787"
class-name='flex flex-direction align-stretch flex' :items.sync="dataMessage" v-model="changeId"
default-type="aid" default-label="name" :allow-cancel='false' type="radio" :disabled='false'>
<template v-for='(item,key0) in dataMessage'>
<view v-if="item.isSelected" class='flex flex reasonForAccountCancellation_fd1_0' :key="key0"
@tap="$refs.showSelectPopup1681204058787.tapHandle(key0)">
<image class='reasonForAccountCancellation_fd1_3_c0_c0' mode="aspectFit"
:src='STATIC_URL+"122.png"'></image>
<text class='reasonForAccountCancellation_fd1_3_c0_c1'>{{item.name}}</text>
</view>
<view v-else class='flex flex reasonForAccountCancellation_fd1_0' :key="key0"
@tap="$refs.showSelectPopup1681204058787.tapHandle(key0)">
<image class='reasonForAccountCancellation_fd1_3_c0_c0' mode="aspectFit"
:src='STATIC_URL+"123.png"'></image>
<text class='reasonForAccountCancellation_fd1_3_c1_c1'>{{item.name}}</text>
</view>
</template>
</benben-select-diy>
<text class='reasonForAccountCancellation_fd1_4'>请填写注销原因</text>
<view class='flex flex-wrap reasonForAccountCancellation_fd1_5'>
<textarea class='flex reasonForAccountCancellation_input_fd1_5' confirm-type="done"
:placeholder="'请输入'" :maxlength="240" placeholder-style="color:#999;font-size:28rpx"
v-model="body" />
</view>
</view>
<!---注销账号原因-带图flex布局结束-->
<view
class="flex flex-wrap align-start justify-center benben-position-layout flex reasonForAccountCancellation_flex_2">
<button class='flex-sub reasonForAccountCancellation_fd2_0' @tap.stop="goRichFunc()">下一步</button>
</view>
<view :style="{height: '150rpx'}"></view>
</view>
</view>
</template>
<script>
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"dataMessage": [],
"changeType": [{
"name": "多账号,释放手机号",
"value": "1",
"image": ""
}, {
"name": "不想使用了",
"value": "2",
"image": ""
}, {
"name": "其他",
"value": "3",
"image": ""
}],
"changeId": "",
"body": ""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
this.getReasonFunc()
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
//跳转风险
goRichFunc() {
if (!validate(this.changeId, 'require')) {
this.$message.info('请选择注销原因');
return false;
}
if (!validate(this.body, 'require')) {
this.$message.info('请填写注销原因');
return false;
}
this.$urouter.navigateTo(`/pages/xtsz/accountCancel02/index?cancel_type=${this.changeId}&cancel_reason=${this.body}`);
},
//获取注销原因
async getReasonFunc() {
//请求方法
//数据验证
let datadataMessage = await this.$api.get(global.apiUrls.post637c458b131e3, {
});
if (datadataMessage.data.code != 1) {
this.$message.info(datadataMessage.data.msg);
return
}
let infodataMessage = datadataMessage.data;
this.dataMessage = infodataMessage.data
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #fff;
background-size: 100% auto;
}
.reasonForAccountCancellation_flex_0 {
border-bottom: 1px solid #eee;
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.reasonForAccountCancellation_fd0_0_c1 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 50rpx;
}
.reasonForAccountCancellation_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.reasonForAccountCancellation_fd0_0_c0 {
width: 120rpx;
height: 88rpx;
}
.reasonForAccountCancellation_fd0_0 {
padding: 0rpx 32rpx 0rpx 32rpx;
}
.reasonForAccountCancellation_flex_1 {
background: #fff;
font-size: 32rpx;
background-size: 100% auto !important;
padding: 0rpx 32rpx 32rpx 32rpx;
}
.reasonForAccountCancellation_input_fd1_5 {
border-bottom: 1px solid var(--benbenbdColor0);
width: 100%;
height: 100rpx;
font-size: 28rpx;
font-weight: 400;
color: #333;
}
.reasonForAccountCancellation_fd1_5 {
border: 1px solid #eee;
border-radius: 10rpx 10rpx 10rpx 10rpx;
padding: 24rpx 24rpx 24rpx 24rpx;
}
.reasonForAccountCancellation_fd1_4 {
border-top: 1px solid #eee;
font-size: 32rpx;
font-weight: 700;
color: #333333;
margin: 0rpx 0rpx 32rpx 0rpx;
padding: 32rpx 0rpx 0rpx 0rpx;
}
.reasonForAccountCancellation_fd1_3_c1_c1 {
color: #333;
font-size: 28rpx;
font-weight: 500;
line-height: 40rpx;
}
.reasonForAccountCancellation_fd1_3_c0_c1 {
font-size: 28rpx;
font-weight: 500;
color: #333;
line-height: 40rpx;
}
.reasonForAccountCancellation_fd1_3_c0_c0 {
width: 36rpx;
height: 36rpx;
border-radius: 18rpx 18rpx 18rpx 18rpx;
margin: 0rpx 24rpx 0rpx 0rpx;
}
.reasonForAccountCancellation_fd1_2 {
border-top: 1px solid #eee;
padding: 32rpx 0rpx 12rpx 0rpx;
margin: 32rpx 0rpx 0rpx 0rpx;
}
.reasonForAccountCancellation_fd1_1 {
line-height: 40rpx;
font-size: 28rpx;
font-weight: 500;
color: #333333;
}
.reasonForAccountCancellation_fd1_0_c0 {
line-height: 45rpx;
font-size: 32rpx;
font-weight: 700;
color: #333333;
}
.reasonForAccountCancellation_fd1_0 {
padding: 32rpx 0rpx 32rpx 0rpx;
}
.reasonForAccountCancellation_flex_2 {
background: #fff;
width: 750rpx;
height: 150rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
background-size: 100% auto !important;
}
.reasonForAccountCancellation_fd2_0 {
background: #ff9300;
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #fff;
margin: 0rpx 32rpx 0rpx 32rpx;
height: 88rpx;
line-height: 88rpx;
width: 640rpx;
}
</style>

View File

@ -0,0 +1,330 @@
<template>
<view :style="themeColor">
<view class="page">
<view class="flex benben-position-layout flex flex-wrap align-center accountCancellationRisk_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx', }">
<view class='flex flex-wrap align-center justify-between flex-sub accountCancellationRisk_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 accountCancellationRisk_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='accountCancellationRisk_fd0_0_c1_c0'>注销账号</text>
</view>
<view class='flex flex-wrap align-center accountCancellationRisk_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<view class="flex flex-direction flex-wrap align-stretch accountCancellationRisk_flex_1">
<text class='accountCancellationRisk_fd1_0'>账号注销</text>
<text class='accountCancellationRisk_fd1_1'>永久注销且无法恢复请谨慎操作</text>
<text class='accountCancellationRisk_fd1_2'>{{dataMessage.title}}</text>
<jyf-parser class='accountCancellationRisk_fd1_3' :html="dataMessage.body | richTextFormat">
</jyf-parser>
<text class='accountCancellationRisk_fd1_4'>点击下方按钮即表示你已阅读并了解以上风险</text>
</view>
<view
class="flex flex-direction flex-wrap align-center justify-center benben-position-layout flex accountCancellationRisk_flex_2">
<button class='accountCancellationRisk_fd2_0'
@tap.stop="popupShow1681205077956=true">我已清楚风险确定继续</button>
<button class='accountCancellationRisk_fd2_1' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">返回</button>
</view>
<view :style="{height: '264rpx'}"></view>
<benben-popup v-model="popupShow1681205077956" :mask="true" :mask-close-able="true" mode='center'>
<!---注销弹窗确认flex布局开始-->
<view class="flex flex-direction flex-wrap align-center accountCancellationRisk_flex_3">
<text class='accountCancellationRisk_fd3_0'>请再次确认你已了解注销风险 并要继续执行该操作</text>
<view class='flex flex-wrap align-center accountCancellationRisk_fd3_1'>
<button class='accountCancellationRisk_fd3_1_c0'
@tap.stop="popupShow1681205077956=false">取消</button>
<button class='accountCancellationRisk_fd3_1_c1' @tap.stop="submitzxFunc()">确定</button>
</view>
</view>
<!---注销弹窗确认flex布局结束-->
</benben-popup>
</view>
</view>
</template>
<script>
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"popupShow1681205077956": false,
"dataMessage": {
"aid": "",
"title": "",
"body": "",
"create_time": ""
},
"cancel_type": "",
"cancel_reason": ""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
let {
cancel_type,
cancel_reason
} = options
if (cancel_type !== undefined) this.cancel_type = cancel_type
if (cancel_reason !== undefined) this.cancel_reason = cancel_reason
this.getContentFunc()
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
//获取内容
async getContentFunc() {
//请求方法
//数据验证
let datadataMessage = await this.$api.post(global.apiUrls.post636c78ae2216b, {
aid: '26'
});
if (datadataMessage.data.code != 1) {
this.$message.info(datadataMessage.data.msg);
return
}
let infodataMessage = datadataMessage.data;
this.dataMessage = infodataMessage.data
},
//发送注销
async submitzxFunc() {
//请求方法
//数据验证
let data637c4d70d3aa8 = await this.$api.post(global.apiUrls.post637c4d70d3aa8, {
cancel_type: this.cancel_type,
cancel_reason: this.cancel_reason
});
if (!data637c4d70d3aa8) return
if (data637c4d70d3aa8.data.code != 1) {
this.$message.info(data637c4d70d3aa8.data.msg);
return
}
this.$store.commit('logout')
this.$message.info('注销申请成功');
setTimeout(()=>{
uni.switchTab({
url: '/pages/tabBar/homePage/homePage'
})
},500)
// setTimeout(() => {
// this.$urouter.reLaunch(`/pages/tabBar/passwordLogi/passwordLogi`);
// }, 500)
// this.$urouter.navigateTo(`/pages/setUp/reasonForAccountCancellation/reasonForAccountCancellation`);
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #fff;
background-size: 100% auto;
}
.accountCancellationRisk_flex_0 {
border-bottom: 1px solid #eee;
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.accountCancellationRisk_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.accountCancellationRisk_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.accountCancellationRisk_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.accountCancellationRisk_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.accountCancellationRisk_flex_1 {
background: #fff;
font-size: 32rpx;
background-size: 100% auto !important;
padding: 32rpx 32rpx 32rpx 32rpx;
}
.accountCancellationRisk_fd1_4 {
border-top: 1px solid #eee;
background: #FFFFFF;
font-size: 24rpx;
font-weight: 400;
color: rgba(217, 45, 53, 1);
margin: 40rpx 0rpx 0rpx 0rpx;
line-height: 32rpx;
padding: 32rpx 0rpx 0rpx 0rpx;
}
::v-deep .accountCancellationRisk_fd1_3 {
width: 100%;
}
.accountCancellationRisk_fd1_2 {
border-top: 1px solid #eee;
line-height: 45rpx;
font-size: 32rpx;
font-weight: 700;
color: #333333;
padding: 32rpx 0rpx 24rpx 0rpx;
margin: 32rpx 0rpx 0rpx 0rpx;
}
.accountCancellationRisk_fd1_1 {
line-height: 40rpx;
font-size: 28rpx;
font-weight: 500;
color: #333333;
}
.accountCancellationRisk_fd1_0 {
line-height: 45rpx;
font-size: 32rpx;
font-weight: 700;
color: #333333;
padding: 0rpx 0rpx 24rpx 0rpx;
}
.accountCancellationRisk_flex_2 {
width: 750rpx;
height: 264rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
}
.accountCancellationRisk_fd2_1 {
border: 1px solid #ff9300;
background: #fff;
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #ff9300;
width: 686rpx;
height: 88rpx;
line-height: 88rpx;
font-weight: 400;
margin: 32rpx 0rpx 0rpx 0rpx;
}
.accountCancellationRisk_fd2_0 {
background: #ff9300;
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 88rpx;
line-height: 88rpx;
font-weight: 400;
padding: 0rpx 0rpx 0rpx 0rpx;
}
.accountCancellationRisk_flex_3 {
background: #fff;
width: 540rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
}
.accountCancellationRisk_fd3_1_c1 {
border-top: 1px solid #eee;
border-left: 1px solid #eee;
background: #fff;
line-height: 110rpx;
border-radius: 0rpx 0rpx 16rpx 0rpx;
font-size: 32rpx;
color: rgba(242, 97, 103, 1);
width: 270rpx;
}
.accountCancellationRisk_fd3_1_c0 {
border-top: 1px solid #eee;
background: #fff;
line-height: 110rpx;
border-radius: 0rpx 0rpx 0rpx 16rpx;
font-size: 32rpx;
color: rgba(153, 153, 153, 1);
padding: 0rpx 103rpx 0rpx 103rpx;
}
.accountCancellationRisk_fd3_1 {
margin: 33rpx 0rpx 0rpx 0rpx;
}
.accountCancellationRisk_fd3_0 {
line-height: 52rpx;
font-size: 28rpx;
font-weight: 400;
color: #333333;
text-align: center;
margin: 52rpx 60rpx 0rpx 60rpx;
}
</style>

View File

@ -0,0 +1,252 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center inputNewPhone_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub inputNewPhone_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 inputNewPhone_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='inputNewPhone_fd0_0_c1_c0'>绑定新手机</text>
</view>
<view class='flex flex-wrap align-center inputNewPhone_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<view class="flex flex-direction flex-wrap align-stretch inputNewPhone_flex_1">
<view class='flex flex-wrap align-center inputNewPhone_fd1_0'>
<text class='inputNewPhone_fd1_0_c0'>新手机号码</text>
<input class='flex-sub inputNewPhone_fd1_0_c1' type="number" :focus='true' placeholder="请输入新密码"
confirm-type="done" :maxlength="11" placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx"
v-model="newPhone" />
</view>
<view class='flex flex-wrap align-center inputNewPhone_fd1_1'>
<text class='inputNewPhone_fd1_1_c0'>短信验证:</text>
<input class='flex-sub inputNewPhone_fd1_1_c1' type="number" placeholder="请输入验证码" confirm-type="done"
:maxlength="4" placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx"
v-model="smsVerification" />
<benben-send-verification-code class='flex inputNewPhone_fd1_1_c2' after-text='后重新获取'
before-text='获取短信验证' type='5' :phone="newPhone"></benben-send-verification-code>
</view>
</view>
<view
class="flex flex-direction flex-wrap align-center justify-center flex inputNewPhone_flex_2">
<button class='inputNewPhone_fd2_0' @tap.stop="bindNewPhoneNumberFunc()"> </button>
</view>
<view :style="{height: '88rpx'}"></view>
</view>
</template>
<script>
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"newPhone": "",
"smsVerification": "",
"phone": ""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
let {
phone
} = options
if (phone !== undefined) this.phone = phone
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
//绑定新手机号
bindNewPhoneNumberFunc() {
if (!validate(this.newPhone, 'require')) {
this.$message.info('新手机号不能为空');
return false;
}
if (!validate(this.newPhone, 'phone')) {
this.$message.info('请输入正确的新手机号');
return false;
}
if (!validate(this.smsVerification, 'require')) {
this.$message.info('验证码不能为空');
return false;
}
if (!validate(this.smsVerification, 'captcha')) {
this.$message.info('请输入正确的验证码');
return false;
}
this.$api.post(global.apiUrls.post5f6c915d69d1f,{
mobile:this.newPhone,
code:this.smsVerification,
type:5
}).then(res=>{
var res = res.data;
this.$message.info(res.msg);
if (res.code == 1) {
setTimeout(() => {
this.$store.commit("logout");
uni.switchTab({
url: '/pages/tabBar/myPage/myPage'
});
}, 800);
}
})
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #fff;
background-size: 100% auto !important;
}
.inputNewPhone_flex_0 {
border-bottom: 1px solid #eee;
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.inputNewPhone_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.inputNewPhone_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.inputNewPhone_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.inputNewPhone_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.inputNewPhone_flex_1 {
background: #fff;
font-size: 32rpx;
background-size: 100% auto !important;
padding: 0rpx 32rpx 0rpx 32rpx;
}
.inputNewPhone_fd1_1_c2 {
font-size: 32rpx;
font-weight: 400;
color: rgba(29, 138, 240, 1);
}
.inputNewPhone_fd1_1_c1 {
line-height: 45rpx;
color: #333;
font-size: 32rpx;
font-weight: 400;
}
.inputNewPhone_fd1_1_c0 {
font-size: 32rpx;
font-weight: 400;
font-style: normal;
color: #333;
}
.inputNewPhone_fd1_1 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.inputNewPhone_fd1_0_c1 {
line-height: 45rpx;
font-size: 28rpx;
font-weight: 400;
color: #333;
}
.inputNewPhone_fd1_0_c0 {
font-size: 32rpx;
font-weight: 400;
font-style: normal;
color: #333333;
line-height: 32rpx;
}
.inputNewPhone_fd1_0 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.inputNewPhone_flex_2 {
margin-top: 88rpx;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
bottom: calc(40rpx + var(--window-bottom));
}
.inputNewPhone_fd2_0 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 88rpx;
line-height: 88rpx;
font-weight: 400;
}
</style>

View File

@ -0,0 +1,163 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center bindNewphone_flex_0" :style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub bindNewphone_fd0_0' >
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >
<text class='fu-iconfont2 bindNewphone_fd0_0_c0_c0' >&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub' >
<text class='bindNewphone_fd0_0_c1_c0' >绑定新手机</text>
</view>
<view class='flex flex-wrap align-center bindNewphone_fd0_0_c2' >
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}" ></view>
<view class="flex flex-direction flex-wrap align-stretch bindNewphone_flex_1" >
<view class='flex flex-wrap align-center bindNewphone_fd1_0' >
<text class='bindNewphone_fd1_0_c0' >新手机号码</text>
<input class='flex-sub bindNewphone_fd1_0_c1' type="number" :focus='true' placeholder="请输入新密码" confirm-type="done" :maxlength="11" placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx" v-model="newPhone" />
</view>
<view class='flex flex-wrap align-center bindNewphone_fd1_1' >
<text class='bindNewphone_fd1_1_c0' >短信验证:</text>
<input class='flex-sub bindNewphone_fd1_1_c1' type="number" placeholder="请输入验证码" confirm-type="done" :maxlength="4" placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx" v-model="smsVerification" />
<benben-send-verification-code class='flex bindNewphone_fd1_1_c2' after-text='后重新获取' before-text='获取短信验证' type='5' :phone="newPhone"></benben-send-verification-code>
</view>
</view>
<view class="flex flex-direction flex-wrap align-center justify-center benben-position-layout flex bindNewphone_flex_2" >
<button class='bindNewphone_fd2_0' @tap.stop="bindNewPhoneNumberFunc()" > </button>
</view>
<view :style="{height: '88rpx'}" ></view>
</view>
</template>
<script>
import {validate} from '@/common/utils/validate.js'
export default {
components:{},
data(){
return {"newPhone":"","smsVerification":"","phone":""};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
},
watch:{},
onLoad(options){
let {phone}=options
if (phone !== undefined) this.phone = phone
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
//绑定新手机号
bindNewPhoneNumberFunc(){
if(!validate(this.newPhone,'require')){
this.$message.info('新手机号不能为空');
return false;
}
if(!validate(this.newPhone,'phone')){
this.$message.info('请输入正确的新手机号');
return false;
}
if(!validate(this.smsVerification,'require')){
this.$message.info('短信验证码不能为空');
return false;
}
if(!validate(this.smsVerification,'captcha')){
this.$message.info('请输入正确的短信验证码');
return false;
}
setTimeout(()=>{
this.$message.info('绑定成功');
this.$urouter.navigateBack(2);
},1000)
}
}
};
</script>
<style lang="scss" scoped>
.page{
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background:#fff;background-size: 100% auto !important;
}
.bindNewphone_flex_0{
border-bottom:1px solid #eee;background:#fff;width:750rpx;height:88rpx;overflow:hidden;z-index:10;top:0rpx;background-size:100% auto !important;
}
.bindNewphone_fd0_0_c2{
width:32rpx;height:32rpx;
}
.bindNewphone_fd0_0_c1_c0{
font-size:36rpx;font-weight:500;color:#333;line-height:88rpx;
}
.bindNewphone_fd0_0_c0_c0{
font-size:32rpx;font-weight:500;color:#333;line-height:88rpx;
}
.bindNewphone_fd0_0{
margin:0rpx 32rpx 0rpx 32rpx;
}
.bindNewphone_flex_1{
background:#fff;font-size:32rpx;background-size:100% auto !important;padding:0rpx 32rpx 0rpx 32rpx;
}
.bindNewphone_fd1_1_c2{
font-size:32rpx;font-weight:400;color:rgba(29, 138, 240, 1);
}
.bindNewphone_fd1_1_c1{
line-height:45rpx;color:#333;font-size:32rpx;font-weight:400;
}
.bindNewphone_fd1_1_c0{
font-size:32rpx;font-weight:400;font-style:normal;color:#333;
}
.bindNewphone_fd1_1{
border-bottom:1px solid #eee;padding:32rpx 0rpx 32rpx 0rpx;
}
.bindNewphone_fd1_0_c1{
line-height:45rpx;font-size:28rpx;font-weight:400;color:#333;
}
.bindNewphone_fd1_0_c0{
font-size:32rpx;font-weight:400;font-style:normal;color:#333333;line-height:32rpx;
}
.bindNewphone_fd1_0{
border-bottom:1px solid #eee;padding:32rpx 0rpx 32rpx 0rpx;
}
.bindNewphone_flex_2{
width:750rpx;height:88rpx;overflow:hidden;z-index:10;bottom:calc(40rpx + var(--window-bottom));
}
.bindNewphone_fd2_0{
background:rgba(255, 147, 0, 1);border-radius:16rpx 16rpx 16rpx 16rpx;font-size:32rpx;color:#fff;width:686rpx;height:88rpx;line-height:88rpx;font-weight:400;
}
</style>

View File

@ -0,0 +1,220 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center changePhone_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub changePhone_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 changePhone_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='changePhone_fd0_0_c1_c0'>修改绑定手机号</text>
</view>
<view class='flex flex-wrap align-center changePhone_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---验证码flex布局开始-->
<view class="flex flex-direction align-center benben-flex-layout changePhone_flex_1">
<text class='changePhone_fd1_0'>我们要对您绑定的手机号进行验证</text>
<text class='changePhone_fd1_1'>{{mobile}}</text>
</view>
<!---验证码flex布局结束-->
<benben-digital-password v-model='code' :box-num='4' mode='number'
class-name='flex flex align-center justify-center changePhone_flex_password_2'>
<template #default="{ content, active, index }">
<view :key="index" v-if="active"
class="flex align-center justify-center active-digital-password changePhone_flex_password_active_2">
{{ content }}
</view>
<view :key="index" v-else class="flex align-center justify-center changePhone_flex_password_noActive_2">
{{ content }}
</view>
</template>
</benben-digital-password>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch justify-center benben-flex-layout">
<view class='flex flex-wrap align-center justify-center'>
<benben-send-verification-code class='flex changePhone_fd3_0_c0' after-text='后重新获取' before-text='获取验证码'
type='4' :phone="phone"></benben-send-verification-code>
</view>
</view>
<!---flex布局flex布局结束-->
<view
class="flex flex-direction flex-wrap align-center justify-center flex changePhone_flex_4">
<button class='changePhone_fd4_0' @tap.stop="nextFunctionFunc()">下一步</button>
</view>
<view :style="{height: '88rpx'}"></view>
</view>
</template>
<script>
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"phone": "",
"code": "",
mobile:""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
this.phone = global.userInfo._mobile
this.mobile = global.userInfo.mobile
},
methods: {
//下一步
nextFunctionFunc() {
if (!validate(this.code, 'require')) {
this.$message.info('验证码不能为空');
return false;
}
if (!validate(this.code, 'captcha')) {
this.$message.info('请输入正确的验证码');
return false;
}
if (!validate(this.code, 'length', '4')) {
this.$message.info('请输入4位验证码数字');
return false;
}
// 请求接口时携带的数据
let data = {
mobile: this.phone,
code: this.code,
type: 4
};
this.$api.post(global.apiUrls.post5f6db4db8abcf, data).then((res) => {
res = res.data;
if (res.code == 1) {
this.$urouter.redirectTo({
url: "/pages/xtsz/bindNewphone/bindNewphone?phone=" + this.phone,
});
} else {
this.$message.info("验证码错误");
}
});
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #fff;
background-size: 100% auto !important;
}
.changePhone_flex_0 {
border-bottom: 1px solid #eee;
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.changePhone_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.changePhone_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333333;
line-height: 36rpx;
}
.changePhone_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.changePhone_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.changePhone_flex_1 {
padding: 103rpx 0rpx 0rpx 0rpx;
}
.changePhone_fd1_1 {
margin: 51rpx 0rpx 71rpx 0rpx;
line-height: 37rpx;
font-size: 28rpx;
font-weight: 400;
color: #484848;
}
.changePhone_fd1_0 {
font-size: 28rpx;
font-weight: 400;
color: #333333;
}
.changePhone_flex_password_noActive_2 {
border: 1px solid var(--benbenbdColor0);
width: 100rpx;
height: 100rpx;
}
.changePhone_flex_password_active_2 {
border: 1px solid var(--benbenbdColor0);
width: 100rpx;
height: 100rpx;
}
::v-deep .changePhone_flex_password_2 {
margin: 24rpx 0rpx 48rpx 0rpx;
}
.changePhone_fd3_0_c0 {
font-size: 28rpx;
font-weight: 400;
color: rgba(29, 138, 240, 1);
text-align: center;
}
.changePhone_flex_4 {
margin-top: 88rpx;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
bottom: calc(40rpx + var(--window-bottom));
}
.changePhone_fd4_0 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 88rpx;
line-height: 88rpx;
font-weight: 400;
}
</style>

View File

@ -0,0 +1,163 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center changeBindphone_flex_0" :style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub changeBindphone_fd0_0' >
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >
<text class='fu-iconfont2 changeBindphone_fd0_0_c0_c0' >&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub' >
<text class='changeBindphone_fd0_0_c1_c0' >修改绑定手机号</text>
</view>
<view class='flex flex-wrap align-center changeBindphone_fd0_0_c2' >
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}" ></view>
<!---验证码flex布局开始-->
<view class="flex flex-direction align-center benben-flex-layout changeBindphone_flex_1" >
<text class='changeBindphone_fd1_0' >我们要对您绑定的手机号进行验证</text>
<text class='changeBindphone_fd1_1' >{{phone}}</text>
</view>
<!---验证码flex布局结束-->
<benben-digital-password v-model='code' :box-num='4' mode='number' class-name='flex flex align-center justify-center changeBindphone_flex_password_2'>
<template #default="{ content, active, index }">
<view :key="index" v-if="active" class="flex align-center justify-center active-digital-password changeBindphone_flex_password_active_2">
{{ content }}
</view>
<view :key="index" v-else class="flex align-center justify-center changeBindphone_flex_password_noActive_2">
{{ content }}
</view>
</template>
</benben-digital-password>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch justify-center benben-flex-layout" >
<view class='flex flex-wrap align-center justify-center' >
<benben-send-verification-code class='flex changeBindphone_fd3_0_c0' after-text='后重新获取' before-text='获取验证码' type='4' :phone="phone"></benben-send-verification-code>
</view>
</view>
<!---flex布局flex布局结束-->
<view class="flex flex-direction flex-wrap align-center justify-center benben-position-layout flex changeBindphone_flex_4" >
<button class='changeBindphone_fd4_0' @tap.stop="nextFunctionFunc()" >下一步</button>
</view>
<view :style="{height: '88rpx'}" ></view>
</view>
</template>
<script>
import {validate} from '@/common/utils/validate.js'
export default {
components:{},
data(){
return {"phone":"","code":""};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
},
watch:{},
onLoad(options){
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
//下一步
nextFunctionFunc(){
if(!validate(this.code,'require')){
this.$message.info('验证码不能为空');
return false;
}
if(!validate(this.code,'captcha')){
this.$message.info('请输入正确的验证码');
return false;
}
if(!validate(this.code,'length','4')){
this.$message.info('请输入4位验证码数字');
return false;
}
this.$urouter.navigateTo(`/pages/xtsz/bindNewphone/bindNewphone?phone=${this.phone}`);
}
}
};
</script>
<style lang="scss" scoped>
.page{
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background:#fff;background-size: 100% auto !important;
}
.changeBindphone_flex_0{
border-bottom:1px solid #eee;background:#fff;width:750rpx;height:88rpx;overflow:hidden;z-index:10;top:0rpx;background-size:100% auto !important;
}
.changeBindphone_fd0_0_c2{
width:32rpx;height:32rpx;
}
.changeBindphone_fd0_0_c1_c0{
font-size:36rpx;font-weight:500;color:#333333;line-height:36rpx;
}
.changeBindphone_fd0_0_c0_c0{
font-size:32rpx;font-weight:500;color:#333;line-height:88rpx;
}
.changeBindphone_fd0_0{
margin:0rpx 32rpx 0rpx 32rpx;
}
.changeBindphone_flex_1{
padding:103rpx 0rpx 0rpx 0rpx;
}
.changeBindphone_fd1_1{
margin:51rpx 0rpx 71rpx 0rpx;line-height:37rpx;font-size:28rpx;font-weight:400;color:#484848;
}
.changeBindphone_fd1_0{
font-size:28rpx;font-weight:400;color:#333333;
}
.changeBindphone_flex_password_noActive_2{
border:1px solid var(--benbenbdColor0);width:100rpx;height:100rpx;
}
.changeBindphone_flex_password_active_2{
border:1px solid var(--benbenbdColor0);width:100rpx;height:100rpx;
}
::v-deep .changeBindphone_flex_password_2{
margin:24rpx 0rpx 48rpx 0rpx;
}
.changeBindphone_fd3_0_c0{
font-size:28rpx;font-weight:400;color:rgba(29, 138, 240, 1);text-align:center;
}
.changeBindphone_flex_4{
width:750rpx;height:88rpx;overflow:hidden;z-index:10;bottom:calc(40rpx + var(--window-bottom));
}
.changeBindphone_fd4_0{
background:rgba(255, 147, 0, 1);border-radius:16rpx 16rpx 16rpx 16rpx;font-size:32rpx;color:#fff;width:686rpx;height:88rpx;line-height:88rpx;font-weight:400;
}
</style>

View File

@ -0,0 +1,218 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center changePsw_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub changePsw_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 changePsw_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='changePsw_fd0_0_c1_c0'>修改密码</text>
</view>
<view class='flex flex-wrap align-center changePsw_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---验证码flex布局开始-->
<view class="flex flex-direction align-center benben-flex-layout changePsw_flex_1">
<text class='changePsw_fd1_0'>我们要对您绑定的手机号进行验证</text>
<text class='changePsw_fd1_1'>{{mobile}}</text>
</view>
<!---验证码flex布局结束-->
<benben-digital-password v-model='code' :box-num='4' mode='number'
class-name='flex flex align-center justify-center changePsw_flex_password_2'>
<template #default="{ content, active, index }">
<view :key="index" v-if="active"
class="flex align-center justify-center active-digital-password changePsw_flex_password_active_2">
{{ content }}
</view>
<view :key="index" v-else class="flex align-center justify-center changePsw_flex_password_noActive_2">
{{ content }}
</view>
</template>
</benben-digital-password>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch justify-center benben-flex-layout">
<view class='flex flex-wrap align-center justify-center'>
<benben-send-verification-code class='flex changePsw_fd3_0_c0' after-text='后重新获取' before-text='获取验证码'
type='4' :phone="phone"></benben-send-verification-code>
</view>
</view>
<!---flex布局flex布局结束-->
<view
class="flex flex-direction flex-wrap align-center justify-center flex changePsw_flex_4">
<button class='changePsw_fd4_0' @tap.stop="changePswFunc()">下一步</button>
</view>
<view :style="{height: '88rpx'}"></view>
</view>
</template>
<script>
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"phone": "",
"code": "",
mobile:""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
console.log()
this.phone = global.userInfo._mobile
this.mobile = global.userInfo.mobile
},
methods: {
//修改密码
changePswFunc() {
if (!validate(this.code, 'require')) {
this.$message.info('验证码不能为空');
return false;
}
if (!validate(this.code, 'captcha')) {
this.$message.info('请输入正确的验证码');
return false;
}
if (!validate(this.code, 'length', '4')) {
this.$message.info('请输入4位验证码数字');
return false;
}
let data = {
mobile: this.phone,
code: this.code,
type: 4
};
this.$api.post(global.apiUrls.post5f6db4db8abcf, data).then((res) => {
res = res.data;
if (res.code == 1) {
this.$urouter.navigateTo(`/pages/xtsz/setNewpswd/setNewpswd?phone=${this.phone}&code=${this.code}`);
} else {
this.$message.info("验证码错误");
}
});
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #fff;
background-size: 100% auto !important;
}
.changePsw_flex_0 {
border-bottom: 1px solid #eee;
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.changePsw_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.changePsw_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333333;
line-height: 36rpx;
}
.changePsw_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.changePsw_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.changePsw_flex_1 {
padding: 103rpx 0rpx 0rpx 0rpx;
}
.changePsw_fd1_1 {
margin: 51rpx 0rpx 71rpx 0rpx;
line-height: 37rpx;
font-size: 28rpx;
font-weight: 400;
color: #484848;
}
.changePsw_fd1_0 {
font-size: 28rpx;
font-weight: 400;
color: #333333;
}
.changePsw_flex_password_noActive_2 {
border: 1px solid var(--benbenbdColor0);
width: 100rpx;
height: 100rpx;
}
.changePsw_flex_password_active_2 {
border: 1px solid var(--benbenbdColor0);
width: 100rpx;
height: 100rpx;
}
::v-deep .changePsw_flex_password_2 {
margin: 24rpx 0rpx 48rpx 0rpx;
}
.changePsw_fd3_0_c0 {
font-size: 28rpx;
font-weight: 400;
color: rgba(29, 138, 240, 1);
text-align: center;
}
.changePsw_flex_4 {
margin-top: 80rpx;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
bottom: calc(40rpx + var(--window-bottom));
}
.changePsw_fd4_0 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 88rpx;
line-height: 88rpx;
font-weight: 400;
}
</style>

View File

@ -0,0 +1,163 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center declassifyPage_flex_0" :style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub declassifyPage_fd0_0' >
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >
<text class='fu-iconfont2 declassifyPage_fd0_0_c0_c0' >&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub' >
<text class='declassifyPage_fd0_0_c1_c0' >修改密码</text>
</view>
<view class='flex flex-wrap align-center declassifyPage_fd0_0_c2' >
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}" ></view>
<!---验证码flex布局开始-->
<view class="flex flex-direction align-center benben-flex-layout declassifyPage_flex_1" >
<text class='declassifyPage_fd1_0' >我们要对您绑定的手机号进行验证</text>
<text class='declassifyPage_fd1_1' >{{phone}}</text>
</view>
<!---验证码flex布局结束-->
<benben-digital-password v-model='code' :box-num='4' mode='number' class-name='flex flex align-center justify-center declassifyPage_flex_password_2'>
<template #default="{ content, active, index }">
<view :key="index" v-if="active" class="flex align-center justify-center active-digital-password declassifyPage_flex_password_active_2">
{{ content }}
</view>
<view :key="index" v-else class="flex align-center justify-center declassifyPage_flex_password_noActive_2">
{{ content }}
</view>
</template>
</benben-digital-password>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch justify-center benben-flex-layout" >
<view class='flex flex-wrap align-center justify-center' >
<benben-send-verification-code class='flex declassifyPage_fd3_0_c0' after-text='后重新获取' before-text='获取验证码' type='4' :phone="phone"></benben-send-verification-code>
</view>
</view>
<!---flex布局flex布局结束-->
<view class="flex flex-direction flex-wrap align-center justify-center benben-position-layout flex declassifyPage_flex_4" >
<button class='declassifyPage_fd4_0' @tap.stop="changePswFunc()" >下一步</button>
</view>
<view :style="{height: '88rpx'}" ></view>
</view>
</template>
<script>
import {validate} from '@/common/utils/validate.js'
export default {
components:{},
data(){
return {"phone":"","code":""};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
},
watch:{},
onLoad(options){
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
//修改密码
changePswFunc(){
if(!validate(this.code,'require')){
this.$message.info('验证码不能为空');
return false;
}
if(!validate(this.code,'captcha')){
this.$message.info('请输入正确的验证码');
return false;
}
if(!validate(this.code,'length','4')){
this.$message.info('请输入4位验证码数字');
return false;
}
this.$urouter.navigateTo(`/pages/xtsz/setNewpswd/setNewpswd?phone=&code=`);
}
}
};
</script>
<style lang="scss" scoped>
.page{
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background:#fff;background-size: 100% auto !important;
}
.declassifyPage_flex_0{
border-bottom:1px solid #eee;background:#fff;width:750rpx;height:88rpx;overflow:hidden;z-index:10;top:0rpx;background-size:100% auto !important;
}
.declassifyPage_fd0_0_c2{
width:32rpx;height:32rpx;
}
.declassifyPage_fd0_0_c1_c0{
font-size:36rpx;font-weight:500;color:#333333;line-height:36rpx;
}
.declassifyPage_fd0_0_c0_c0{
font-size:32rpx;font-weight:500;color:#333;line-height:88rpx;
}
.declassifyPage_fd0_0{
margin:0rpx 32rpx 0rpx 32rpx;
}
.declassifyPage_flex_1{
padding:103rpx 0rpx 0rpx 0rpx;
}
.declassifyPage_fd1_1{
margin:51rpx 0rpx 71rpx 0rpx;line-height:37rpx;font-size:28rpx;font-weight:400;color:#484848;
}
.declassifyPage_fd1_0{
font-size:28rpx;font-weight:400;color:#333333;
}
.declassifyPage_flex_password_noActive_2{
border:1px solid var(--benbenbdColor0);width:100rpx;height:100rpx;
}
.declassifyPage_flex_password_active_2{
border:1px solid var(--benbenbdColor0);width:100rpx;height:100rpx;
}
::v-deep .declassifyPage_flex_password_2{
margin:24rpx 0rpx 48rpx 0rpx;
}
.declassifyPage_fd3_0_c0{
font-size:28rpx;font-weight:400;color:rgba(29, 138, 240, 1);text-align:center;
}
.declassifyPage_flex_4{
width:750rpx;height:88rpx;overflow:hidden;z-index:10;bottom:calc(40rpx + var(--window-bottom));
}
.declassifyPage_fd4_0{
background:rgba(255, 147, 0, 1);border-radius:16rpx 16rpx 16rpx 16rpx;font-size:32rpx;color:#fff;width:686rpx;height:88rpx;line-height:88rpx;font-weight:400;
}
</style>

View File

@ -0,0 +1,558 @@
<template>
<view class="change">
<!-- 标题栏 start -->
<form @submit="formSubmit">
<view class="warp">
<!-- 反馈类型 start -->
<view class="feedback">
<view class="feedback-top padding-tb">反馈类型</view>
<view class="feedback-reason text-gray">
<view class="margin-top-xs text-cut" v-for="(item, index) in types" :key="index"
:class="item.aid == active ? 'active' : ''" @click="reason(item.aid)">
{{ item.title }}
</view>
</view>
</view>
<!-- 反馈类型 end -->
<!-- 反馈内容 start -->
<view class="feedback-content ">
<view class="block-box margin-top-lg"></view>
<view class="feedback-content-top padding">反馈内容</view>
<view class="content">
<textarea class="textarea" name="body" placeholder-class="text-gray" v-model="body" maxlength="200"
:placeholder="'问题描述的越详细.有助于我们更快的解决问题'" placeholder-style="font-size:28rpx" />
</view>
</view>
<!-- 反馈内容 end -->
<!-- 图片 start-->
<view class='flex flex-direction flex-wrap align-stretch'>
<benben-images-upload ref="benbenImagesUploadfd1_3_c1_c0" :img-list.sync="singleImageUpload" :img-ids.sync="singleImageUploadIds"
:is-show-tips='true' :maxlength="6">
<template #content="{ num, maxlength, isShow, imgList }">
<view class="flex flex-wrap align-start flex feedbackRecord_fd1_3_c1_c0">
<view v-for="(image, index) in imgList" :key="index"
class='flex position-relative feedbackRecord_fd1_3_c1_c00'>
<text class='fu-iconfont2 position-absolute feedbackRecord_fd1_3_c1_c000'
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.delImage(index)">&#xE8E7;</text>
<image class='feedbackRecord_fd1_3_c1_c001'
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.previewImage(index)" mode="aspectFill" :src='image'>
</image>
</view>
<image class='feedbackRecord_fd1_3_c1_c01'
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.manyChooseImage()" v-if="isShow" mode="aspectFit"
:src='STATIC_URL+"140.jpg"'></image>
<text class='image_upload_tips feedbackRecord_fd1_3_c1_c02'>请上传应用截图最多上传6张</text>
</view>
</template>
</benben-images-upload>
</view>
<!-- <view class="cu-form-group">
<view class="grid col-4 grid-square flex-sub">
<view class="bg-img" v-for="(item, index) in imgList" :key="index" @tap="viewImage(index)"
:data-url="index">
<view class="image">
<image :src="item.path" mode="aspectFill"></image>
</view>
<view class="cu-tag bg-red" @tap.stop="delImg" :data-index="index"><text class="cuIcon-close"></text>
</view>
</view>
<view @tap="chooseImage" v-if="imgList.length < 6">
<image :src='STATIC_URL+"140.jpg"' mode="" class="add-img"></image>
</view>
</view>
</view>
<view class="upload_desc">请上传应用截图最多上传{{ count }}</view> -->
<!-- 图片 end -->
</view>
<!-- 联系方式 - 手机号码 start -->
<view class="feedback-contact ">
<view class="feedback-contact-top padding-top-lg">请留下您的联系方式</view>
<view class="feedback-contact-content flex"><input name="contact" placeholder-class="text-gray" maxlength="48" v-model="contact" :placeholder="'手机号/邮箱/QQ号'" /></view>
</view>
<!-- 联系方式 - 手机号码 end -->
<view class="bg-white footer-yy flex flex-direction justify-center align-center">
<button class="btn-primary round" formType="submit">提交</button>
<text class="text-lg margin-top-lg" style="color: #FF9300;" @click="routeHistory">反馈记录</text>
</view>
</form>
<!-- 断网检测 -->
<fu-notwork></fu-notwork>
</view>
</template>
<script>
// 引入规则校验文件
import {
validate
} from '@/common/utils/index';
// import { UploadImg } from '@/common/utils/upload-image.js'
// 引入上传图片公共方法
import {
UploadImage
} from '@/common/utils/index';
// 引入上传公共url
import {
UPLOAD_IMAGE_URL
} from '@/common/config.js';
export default {
data() {
return {
"singleImageUpload": [],
singleImageUploadIds:'',
// 是否必填信息 默认初始值必填
types: [], // 反馈类型 调用接口获取
active: 1, // 反馈类型选中 默认选中第一个
imgList: [], // 上传图片数组
count: 6, //做多上传几张图片
body: '', //反馈内容
contact: '', // 手机号码
imgIds: '',
// 显示状态类型判断
thumb_status: '1' // 是否显示图片上传
};
},
computed: {
/**
* 反馈内容字数计算
*/
bodyLen() {
return this.body.length;
}
},
onLoad() {
// 获取反馈类型数据
this.get_feedback_type();
},
methods: {
/**
* @description 查看历史反馈
*/
routeHistory() {
uni.navigateTo({
url: '/pages/xtsz/historicalFeedback/historicalFeedback'
});
},
/**
* @description 选择反馈类型
* @param {Object} type反馈类型id
*/
reason(type) {
this.active = type;
},
/**
* @description 获取反馈类型数据
*/
get_feedback_type() {
let that = this;
this.$api
.post(global.apiUrls.feedbackTypes)
.then(res => {
console.log(res);
if (res.data.code == 1) {
let result = res.data.data;
that.types = result; //获取反馈类型数据
that.active = result[0] && result[0].aid; //默认选中第一个反馈类型
}
})
.catch(err => {
console.log(err);
});
},
/**
* @description 图片上传
*/
chooseImage() {
let self = this;
console.log('可以选择的图片数量', self.count - self.imgList.length);
// 从相册中选择图片
uni.chooseImage({
count: self.count - self.imgList.length, // 默认3
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
success: function(res) {
const tempFilePaths = res.tempFilePaths;
// 开始上传
new UploadImage(tempFilePaths, {
complete: function(res) {
console.log(res);
// 上传成功 返回数据格式为数组 [ { id: '', path: '' } ]
self.imgList.push(...res);
}
});
}
});
},
/**
* @description 图片预览
* @param {Object} inx图片预览数据
*/
viewImage(inx) {
let arr = this.imgList.map(item => {
return item.path;
});
uni.previewImage({
urls: arr,
current: inx
});
},
/**
* @description 删除图片事件
* @param {Object} e事件参数
* e.currentTarget.dataset.index需要删除的图片下标
*/
delImg(e) {
this.$util.showModal({
title: '友情提示',
content: '确定要删除图片吗?',
cancelText: '取消',
confirmText: '确定',
success: res => {
if (res.confirm) {
// 确定删除从数组中删除图片
this.imgList.splice(e.currentTarget.dataset.index, 1);
}
}
});
},
/**
* @description 反馈提交
* @param {Object} e事件参数
* e.detail.value 获取表单输入值
*/
formSubmit(e) {
// console.log(this.singleImageUpload);
// console.log(this.singleImageUploadIds);
// return false;
let _this = this;
//进行表单检查
var formData = e.detail.value;
// 选中反馈类型赋值
formData.type = this.active;
// 对图片进行处理操作
// let imgarr = this.imgList.map(item => {
// return item.id;
// });
// formData.thumb = imgarr.join(',');
formData.thumb = this.singleImageUploadIds;
// 对表单数据进行校验,
let errMsg = this.doValidate(formData);
if (errMsg) {
this.$message.info(errMsg);
return;
}
// let typeName = ''
// this.types.map((item) => {
// if (formData.type == item.aid) {
// typeName = item.title
// }
// })
// formData.type = typeName
console.log(errMsg, formData);
// 提交数据
if (this.isSubmit) return;
this.isSubmit = true;
uni.showLoading({
title: '正在提交~',
mask: true
})
this.$api.post(global.apiUrls.feedbackAdd, formData).then(res => {
this.$message.info(res.data.msg);
console.log(res);
uni.hideLoading()
if (res.data.code == 1) {
// 提交成功返回上页面
setTimeout(() => {
uni.navigateBack();
// _this.$urouter.redirectTo('/pages/index/setting/my-feedback');
}, 1200);
} else {
this.isSubmit = false;
}
});
},
/**
* @description 进行表单校验
* @param {Object} formData要校验的表单数据
*/
doValidate(formData) {
let {
body,
contact,
qq_contact,
email_contact
} = formData;
console.log(body, contact);
if (!body || !body.trim()) {
return '反馈内容不能为空';
}
if (!this.singleImageUploadIds) {
return '请上传应用截图';
}
// if ( !contact || !contact.trim()) {
// return that.i18n['请留下你的联系方式'] ;
// }
return '';
}
}
};
</script>
<style lang="scss">
page {
.feedbackRecord_fd1_3_c1_c02 {
font-size: 24rpx;
color: rgba(191, 191, 191, 1);
font-weight: 400;
width: 100%;
}
.feedbackRecord_fd1_3_c1_c01 {
width: 160rpx;
height: 160rpx;
margin: 0rpx 24rpx 24rpx 0rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
}
.feedbackRecord_fd1_3_c1_c001 {
width: 160rpx;
height: 160rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
}
.feedbackRecord_fd1_3_c1_c000 {
top: 0rpx;
right: 0rpx;
z-index: 10;
color: #ff5536;
}
.feedbackRecord_fd1_3_c1_c00 {
margin: 0rpx 24rpx 24rpx 0rpx;
}
.feedbackRecord_fd1_3_c1_c0 {
padding: 24rpx 0rpx 0rpx 24rpx;
}
.header {
// border-bottom: 1px solid #f1f1f1;
.title-right {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #ff6464;
}
}
font-size: 28upx;
color: #333;
.change {
min-height: 100vh;
background-color: white;
.warp {
width: 100%;
background: #fff;
padding-bottom: 32upx;
// border-bottom: 20upx solid #F8F9FC;
// 反馈类型 start
.feedback {
padding: 0 25upx;
.feedback-top {
margin-bottom: 24upx;
height: 30upx;
line-height: 30upx;
color: #1A1A1A;
font-size: 32rpx;
font-weight: 500;
}
.feedback-reason {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
.margin-top-xs {
padding: 12rpx 40rpx;
text-align: center;
font-size: 28upx;
border-radius: 10upx;
border: 1px solid #BFBFBF;
margin-right: 20rpx;
margin-top: 20rpx;
&.active {
color: #fff;
border: 1px solid #FF9300;
background: #FF9300;
// background: linear-gradient(270deg, rgba(241, 35, 19, 1) 0%, rgba(255, 187, 42, 1) 150%);
}
}
}
}
.block-box {
background-color: #f1f1f1;
height: 20rpx;
width: 100%;
}
// 反馈类型 end
// 反馈内容 start
.feedback-content {
margin-top: 20rpx;
padding: 0 0upx;
.feedback-content-top {
margin-top: 20rpx;
margin-bottom: 16upx;
height: 30upx;
line-height: 30upx;
color: #1A1A1A;
font-size: 32rpx;
font-weight: 500;
}
.content {
padding: 24rpx;
.textarea {
width: 100%;
height: 200rpx;
font-size: 32rpx;
color: #333333;
word-wrap: break-word;
word-break: break-all;
word-break: break-word;
}
}
image {
width: 164upx;
height: 164upx;
margin-bottom: 18upx;
}
}
// 反馈内容 end
.upload_desc {
width: 100%;
height: 33rpx;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 400;
line-height: 33rpx;
color: #BFBFBF;
opacity: 1;
padding: 0 25upx;
}
}
.image {
width: 164upx;
height: 164upx;
margin-bottom: 18upx;
image {
width: 164upx;
height: 164upx;
}
}
// 反馈联系方式 start
.feedback-contact {
border-top: 20rpx solid #f1f1f1;
padding: 0 25upx;
background: #fff;
.feedback-contact-top {
height: 80upx;
color: #1A1A1A;
font-size: 32rpx;
font-weight: 500;
}
.feedback-contact-content {
input {
padding-top: 30rpx;
padding-bottom: 10rpx;
height: 100upx;
width: 100%;
font-size: 30rpx;
display: flex;
flex-wrap: wrap;
flex-direction: row;
align-items: center;
border-bottom: 1upx solid #eee;
}
}
}
// 反馈练习方式 end
}
}
// 反馈提交 start
.footer-yy {
padding-top: 60upx;
padding-bottom: 100upx;
button {
// width: 95%;
// background: #fff !important;
background: #FF9300;
// background-color:$fu-main-color !important;
&:after {
border: none;
}
}
}
.btn-primary {
width: 686rpx;
height: 88rpx;
background: #FF9300;
// box-shadow: 0px 6px 20px rgba(19, 163, 141, 0.3);
opacity: 1;
border-radius: 50rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #ffffff;
}
// 反馈提交 end
// 是否必填 start
.no-require {
margin-left: 10rpx;
font-size: 24rpx;
color: #999999;
}
// 是否必填 end
.add-img {
width: 160rpx;
height: 160rpx;
}
</style>

View File

@ -0,0 +1,429 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center feedbackRecord_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub feedbackRecord_fd0_0'>
<view class='flex flex-wrap align-center feedbackRecord_fd0_0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">
<text class='fu-iconfont2 feedbackRecord_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-center'>
<text class='feedbackRecord_fd0_0_c1_c0'>我要反馈</text>
</view>
<view class='flex flex-wrap align-center justify-end feedbackRecord_fd0_0_c2' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/pages/xtsz/historicalFeedback/historicalFeedback`">
<text class='feedbackRecord_fd0_0_c2_c0'>历史反馈</text>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---意见反馈表单flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout feedbackRecord_flex_1">
<view class='flex flex-wrap align-center feedbackRecord_fd1_0'>
<text class='feedbackRecord_fd1_0_c0'>反馈类型</text>
</view>
<view class='flex flex-direction flex-wrap align-stretch feedbackRecord_fd1_1'>
<benben-select-diy ref="showSelectPopup1681201808828" class-name='flex flex-wrap align-center flex'
:items.sync="select_type" v-model="select_id" default-type="value" default-label="name" :allow-cancel='false'
type="radio" :disabled='false'>
<template v-for='(item,key0) in select_type'>
<view v-if="item.isSelected" class='flex align-center justify-center flex feedbackRecord_fd1_1_c0_c0'
:key="key0" @tap="$refs.showSelectPopup1681201808828.tapHandle(key0)">
<text class='flex-sub feedbackRecord_fd1_1_c0_c0_c0'>{{item.name}}</text>
</view>
<view v-else class='flex align-center justify-center flex feedbackRecord_fd1_1_c0_c1' :key="key0"
@tap="$refs.showSelectPopup1681201808828.tapHandle(key0)">
<text class='flex-sub feedbackRecord_fd1_1_c0_c1_c0'>{{item.name}}</text>
</view>
</template>
</benben-select-diy>
</view>
<text class='feedbackRecord_fd1_2'>问题描述</text>
<view class='flex flex-direction flex-wrap align-stretch feedbackRecord_fd1_3'>
<view class='flex flex-wrap feedbackRecord_fd1_3_c0'>
<textarea class='flex feedbackRecord_input_fd1_3_c0' confirm-type="done"
:placeholder="'问题描述的越详细,有助于我们更快的解决问题'" :maxlength="240" placeholder-style="color:#999;font-size:28rpx"
v-model="problemDescription" />
</view>
<view class='flex flex-direction flex-wrap align-stretch'>
<benben-images-upload ref="benbenImagesUploadfd1_3_c1_c0" :img-list.sync="singleImageUpload"
:is-show-tips='true' :maxlength="9">
<template #content="{ num, maxlength, isShow, imgList }">
<view class="flex flex-wrap align-start flex feedbackRecord_fd1_3_c1_c0">
<view v-for="(image, index) in imgList" :key="index"
class='flex position-relative feedbackRecord_fd1_3_c1_c00'>
<text class='fu-iconfont2 position-absolute feedbackRecord_fd1_3_c1_c000'
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.delImage(index)">&#xE8E7;</text>
<image class='feedbackRecord_fd1_3_c1_c001'
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.previewImage(index)" mode="aspectFit" :src='image'>
</image>
</view>
<image class='feedbackRecord_fd1_3_c1_c01'
@tap.stop="$refs.benbenImagesUploadfd1_3_c1_c0.manyChooseImage()" v-if="isShow" mode="aspectFit"
:src='STATIC_URL+"140.jpg"'></image>
<text class='image_upload_tips feedbackRecord_fd1_3_c1_c02'>请上传应用截图最多上传6张</text>
</view>
</template>
</benben-images-upload>
</view>
</view>
</view>
<!---意见反馈表单flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center">
<view class='flex flex-wrap align-center flex-sub feedbackRecord_fd2_0'>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center feedbackRecord_flex_3">
<view class='flex flex-direction flex-wrap align-start flex-sub feedbackRecord_fd3_0'>
<view class='flex flex-wrap align-center'>
<text class='feedbackRecord_fd3_0_c0_c0'>请留下您的联系方式</text>
</view>
<view class='flex flex-wrap align-center feedbackRecord_fd3_0_c1'>
<input class='feedbackRecord_fd3_0_c1_c0' type="text" placeholder="手机号/邮箱/QQ号" confirm-type="done"
:maxlength="-1" placeholder-style="color:rgba(191, 191, 191, 1);font-size:28rpx"
v-model="contactInformation" />
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<view class="flex flex-wrap align-start justify-center benben-position-layout flex feedbackRecord_flex_4">
<button class='flex-sub feedbackRecord_fd4_0' @tap.stop="sumbitFunc()">提交</button>
</view>
<view :style="{height: '136rpx'}"></view>
</view>
</template>
<script>
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"select_id": "1",
"select_type": [{
"name": "下载/加载问题",
"value": "1",
"image": ""
}, {
"name": "会员付费问题",
"value": "2",
"image": ""
}, {
"name": "章节/图片问题",
"value": "3",
"image": ""
}, {
"name": "APP体验问题",
"value": "4",
"image": ""
}, {
"name": "卡顿/不流畅",
"value": "5",
"image": ""
}, {
"name": "其他",
"value": "6",
"image": ""
}],
"problemDescription": "",
"singleImageUpload": [],
"contactInformation": ""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
//提交
sumbitFunc() {
if (!validate(this.select_id, 'require')) {
this.$message.info('反馈类型不能为空');
return false;
}
if (!validate(this.problemDescription, 'require')) {
this.$message.info('问题描述不能为空');
return false;
}
if (!(this.singleImageUpload.length > 1)) {
this.$message.info('图片不能为空');
return false;
}
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: rgba(255, 255, 255, 1);
background-size: 100% auto !important;
}
.feedbackRecord_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.feedbackRecord_fd0_0_c2_c0 {
line-height: 35rpx;
font-size: 32rpx;
font-weight: 400;
color: #000000;
}
.feedbackRecord_fd0_0_c2 {
width: 150rpx;
}
.feedbackRecord_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.feedbackRecord_fd0_0_c0_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 36rpx;
}
.feedbackRecord_fd0_0_c0 {
width: 150rpx;
}
.feedbackRecord_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.feedbackRecord_flex_1 {
background: #fff;
background-size: 100% auto !important;
}
.feedbackRecord_fd1_3_c1_c02 {
font-size: 24rpx;
color: rgba(191, 191, 191, 1);
font-weight: 400;
width: 100%;
}
.feedbackRecord_fd1_3_c1_c01 {
width: 160rpx;
height: 160rpx;
margin: 0rpx 24rpx 24rpx 0rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
}
.feedbackRecord_fd1_3_c1_c001 {
width: 160rpx;
height: 160rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
}
.feedbackRecord_fd1_3_c1_c000 {
top: 0rpx;
right: 0rpx;
z-index: 10;
color: #ff5536;
}
.feedbackRecord_fd1_3_c1_c00 {
margin: 0rpx 24rpx 24rpx 0rpx;
}
.feedbackRecord_fd1_3_c1_c0 {
padding: 24rpx 0rpx 0rpx 24rpx;
}
.feedbackRecord_input_fd1_3_c0 {
width: 100%;
height: 166rpx;
font-size: 28rpx;
font-weight: 400;
color: #333;
}
.feedbackRecord_fd1_3_c0 {
width: 686rpx;
border-radius: 10rpx 10rpx 10rpx 10rpx;
margin: 0rpx 0rpx 0rpx 32rpx;
padding: 0rpx 0rpx 24rpx 0rpx;
}
.feedbackRecord_fd1_3 {
margin: 0rpx 0rpx 32rpx 0rpx;
}
.feedbackRecord_fd1_2 {
font-size: 32rpx;
font-weight: 500;
color: #1A1A1A;
line-height: 109rpx;
margin: 0rpx 32rpx 0rpx 32rpx;
}
.feedbackRecord_fd1_1_c0_c1_c0 {
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
}
.feedbackRecord_fd1_1_c0_c1 {
border: 1px solid rgba(191, 191, 191, 1);
background: #fff;
margin: 24rpx 16rpx 0rpx 16rpx;
height: 64rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
width: 206rpx;
color: rgba(153, 153, 153, 1);
font-size: 28rpx;
line-height: 64rpx;
font-weight: 400;
text-align: center;
}
.feedbackRecord_fd1_1_c0_c0_c0 {
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
}
.feedbackRecord_fd1_1_c0_c0 {
background: rgba(255, 147, 0, 1);
margin: 24rpx 16rpx 0rpx 16rpx;
height: 64rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
width: 206rpx;
color: rgba(255, 255, 255, 1);
font-size: 28rpx;
line-height: 64rpx;
font-weight: 400;
text-align: center;
}
.feedbackRecord_fd1_1 {
border-bottom: 10px solid rgba(246, 247, 248, 1);
padding: 0rpx 16rpx 16rpx 16rpx;
}
.feedbackRecord_fd1_0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #1A1A1A;
margin: 0rpx 32rpx 0rpx 32rpx;
}
.feedbackRecord_fd1_0 {
padding: 32rpx 0rpx 0rpx 0rpx;
}
.feedbackRecord_fd2_0 {
background: rgba(246, 247, 249, 1);
height: 20rpx;
background-size: 100% auto !important;
}
.feedbackRecord_flex_3 {
padding: 0rpx 0rpx 0rpx 32rpx;
}
.feedbackRecord_fd3_0_c1_c0 {
width: 600rpx;
}
.feedbackRecord_fd3_0_c1 {
margin: 32rpx 0rpx 0rpx 0rpx;
}
.feedbackRecord_fd3_0_c0_c0 {
color: #1A1A1A;
font-size: 32rpx;
font-weight: 500;
line-height: 32rpx;
}
.feedbackRecord_fd3_0 {
border-bottom: 1px solid #eee;
padding: 40rpx 0rpx 24rpx 0rpx;
}
.feedbackRecord_flex_4 {
width: 750rpx;
height: 136rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
}
.feedbackRecord_fd4_0 {
background: rgba(255, 147, 0, 1);
border-radius: 100rpx 100rpx 100rpx 100rpx;
font-size: 32rpx;
color: #fff;
margin: 0rpx 32rpx 0rpx 32rpx;
height: 88rpx;
line-height: 88rpx;
width: 686rpx;
font-weight: 400;
}
</style>

View File

@ -0,0 +1,337 @@
<template>
<view class="page">
<fu-custom :isBack="true" :isBottom="true" bgColor="bg-white">
<view slot="content">历史反馈</view>
</fu-custom>
<!-- 数据加载动画 start -->
<fu-loading v-if="isShowLoading"></fu-loading>
<!-- 数据加载动画 end -->
<block v-else>
<!-- 反馈列表 start -->
<view class="feedback-list">
<view class="feedback-list-item" v-for="(item, index) in list" :key="index">
<view class="flex item-list">
<view class="avatar overHidden">
<fu-image :src="item.user_avatar" mode="aspectFill"></fu-image>
</view>
<view class="item-desc">
<view class="margin-bottom content-body flex">
<view class="write-content text-269" :class="[ (item.isMoreLine && item.isOpent) ? '' : 'text-cut-2']"
:id="'content-desc-' + item.id ">{{item.body}}</view>
<view style="padding-left: 24rpx;">
<view class="direction-position open_close flex flex-direction " v-if="item.isMoreLine" @click="hanldeOpenOrClose(item)">
<text v-if="item.isOpent" class=" orange_desc cuIcon-fold lg text-gray"></text>
<text v-else class=" orange_desc cuIcon-unfold lg text-gray"></text>
</view>
</view>
</view>
<view class="img-list " v-if="item.thumb.length">
<block v-for="(imgItem, imgIndex) in item.thumb" :key="imgIndex">
<view class="img-list-item " @tap="ViewImage(item.thumb, imgIndex)">
<fu-image radius='12rpx' :src="imgItem" mode="aspectFill"></fu-image>
</view>
</block>
</view>
<view class="concart text-269" v-if="item.contact"> 联系方式:<text class="margin-left-sm">{{item.contact}}</text></view>
<view class="text-gray feedback-type"> 反馈类型:<text class="margin-left-sm">{{item.type || '无'}}</text></view>
<view class="text-gray feedback-type">反馈时间:<text class="margin-left-sm">{{item.create_time | formatDate('YYYY-MM-DD')}}
</text></view>
<view class="flex replay-content" v-if="item.replay">
<view class="replay-desc"> 平台回复: </view>
<view class="replay-text text-269">{{item.replay}}</view>
</view>
</view>
</view>
</view>
</view>
<!-- 反馈列表 end -->
<!-- 无数据 start -->
<view v-if="isInitEnd" class="text-xl text-center text-gray flex flex-direction align-center justify-center">
<image src="/static/empty/message.png" mode="widthFix" style="width:400rpx;"></image>
<text class="margin-top text-df">暂无反馈内容</text>
</view>
<!-- 无数据 end -->
</block>
<!-- 断网监测 start -->
<fu-notwork></fu-notwork>
<!-- 断网监测 end -->
</view>
</template>
<script>
export default {
data() {
return {
isShowLoading: false, //数据加载动画
isInitEnd: false, // 数据为空true
list: [], //列表数据
thumb: '',
isOpent: true,
}
},
onLoad() {
this.thumb = global.userInfo.head_img
// 获取反馈数据
this.get_list();
},
methods: {
hanldeOpenOrClose(item) {
item.isOpent = !item.isOpent
this.$forceUpdate()
},
// 计算位置
computedPos() {
const query = uni.createSelectorQuery().in(this);
this.list.forEach((item, index) => {
query.select('#content-desc-' + item.id).boundingClientRect(data => {
console.log(data, '.content-desc-' + item.id)
item.height = data.height
if (data.height > 60) {
item.isMoreLine = true //是否为多行
item.isOpent = false //是否显示更多
} else {
item.isMoreLine = false
item.isOpent = true
}
console.log(item)
this.$forceUpdate();
// this.$set(this.tabs[index], 'top', data.top);
}).exec();
})
// this.$forceUpdate()
console.log(this.list, 8888)
},
/**
* @description 获取反馈数据
*/
get_list() {
let that = this
// 开启数据加载动画
this.isShowLoading = true;
this.$api.get(global.apiUrls.myFeedback).then(res => {
if (res.data.code == 1) {
this.list = JSON.parse(JSON.stringify(res.data.data.data));
// 数据为空时显示空状态
if (res.data.data.data.length == 0) {
this.isInitEnd = true;
} else {
this.list.forEach(item => {
item.isMoreLine = true
item.isOpent = true
})
setTimeout(function() {
that.$nextTick(() => {
that.computedPos();
});
}, 0)
}
} else {
// 数据为空
this.isInitEnd = true;
// 数据加载失败提示
uni.showToast({
title: res.data.msg,
icon: 'none'
});
}
// 关闭数据加载动画
this.isShowLoading = false;
}).catch(err => {
// 数据加载失败
this.isInitEnd = true;
// 关闭数据加载动画
this.isShowLoading = false;
});
},
/**
* @description 预览图片
* @param {Object} list 图片数组
* @param {String} index 当前图片链接
*/
ViewImage(list, index) {
uni.previewImage({
urls: list,
current: index
});
},
}
}
</script>
<style lang="scss">
.page {
// height: 100%;
min-height: 100vh;
background: white !important;
}
view, text {
word-break: break-word;
}
.feedback-list {
padding: 0 32rpx;
}
.feedback-list .feedback-list-item:last-child {
padding-bottom: 40rpx !important;
}
.feedback-list-item:first-child .item-list {
border-top: 0;
}
.item-list {
padding-bottom: 30rpx;
border-top: 1rpx solid #F1F1F1;
padding-top: 20rpx;
.avatar {
height: 80rpx;
width: 80rpx;
min-width: 80rpx;
min-height: 80rpx;
border-radius: 50%;
image {
height: 80rpx;
width: 80rpx;
border-radius: 50%;
}
}
.item-desc {
padding-left: 16rpx;
flex: 1;
width: 0;
.content-body {
position: relative;
}
.write-content {
width: calc(100% - 32);
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
line-height: 46rpx;
opacity: 1;
}
.open_close {
height: 32rpx;
width: 32rpx;
border: 1rpx solid #19BE6B;
text-align: text;
line-height: 32rpx;
background: white;
font-size: 26rpx;
background-color: #E7F8F5;
border-radius: 4rpx;
}
.orange_desc {
color: #19BE6B !important;
}
.direction-position {
position: absolute;
right: 4rpx;
bottom: 6rpx;
}
// 反馈图片 start
.img-list {
position: relative;
display: flex;
flex-wrap: wrap;
.img-list-item {
width: 180rpx;
height: 180rpx;
min-width: 180rpx;
min-height: 180rpx;
border-radius: 20rpx;
margin-right: 16rpx;
margin-bottom: 16rpx;
}
}
// 反馈图片 end
.concart {
padding-bottom: 20rpx;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 400;
line-height: 46rpx;
opacity: 1;
}
.feedback-type {
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 400;
line-height: 46rpx;
color: #999999;
}
// 客服回复 start
.replay-content {
margin-top: 32rpx;
padding: 24rpx 16rpx;
border-radius: 10rpx;
background: #F8F8F8;
opacity: 1;
font-size: 28rpx;
.replay-desc {
width: 190rpx;
white-space: nowrap;
color: #496A9D !important;
}
.replay-text {
width: 100%;
line-height: 40rpx;
}
}
// 客服回复 end
}
}
.feedback-list .feedback-list-item:first-child {
padding-top: 0rpx !important;
}
.text-cut-2 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
}
// 反馈列表 end
</style>

View File

@ -0,0 +1,179 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center aboutUs_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub aboutUs_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 aboutUs_fd0_0_c0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='aboutUs_fd0_0_c1_c0'>付款码</text>
</view>
<view class='flex flex-wrap align-center aboutUs_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<view class="flex flex-direction flex-wrap align-center aboutUs_flex_1">
<image class='aboutUs_fd1_0' mode="aspectFit" :src='payCode'></image>
<view class='flex flex-wrap align-center aboutUs_fd1_1'>
<text>付款码有效期3分钟</text>
<text @click="getPayCode" style="color: rgb(255, 147, 0);">刷新</text>
</view>
</view>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
payCode: ''
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
appVersion() {
// 获取版本号
return this.$store.state.appVersion
}
},
watch: {},
onLoad(options) {
},
onUnload() {
},
onReady() {
},
onShow() {
this.getPayCode()
this.$store.dispatch('getAppVersion') // 更新版本号
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
getPayCode() {
this.$api
.post(global.apiUrls.getPayCode)
.then(res => {
console.log(res);
res = res.data;
if (res.code == 1) {
this.payCode = res.data.image;
}
uni.stopPullDownRefresh();
});
},
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #fff;
background-size: 100% auto !important;
}
.aboutUs_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.aboutUs_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.aboutUs_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.aboutUs_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.aboutUs_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.aboutUs_flex_1 {
padding: 0rpx 0rpx 0rpx 0rpx;
}
.aboutUs_fd1_1 {
padding: 60rpx 0rpx 0rpx 0rpx;
font-size: 28rpx;
color: #333;
font-weight: 400;
}
.aboutUs_fd1_0 {
width: 400rpx;
height: 400rpx;
border-radius: 12rpx;
margin: 160rpx 0rpx 0rpx 0rpx;
}
.aboutUs_flex_2 {
background: #fff;
width: 750rpx;
height: 168rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
background-size: 100% auto !important;
}
.aboutUs_fd2_1 {
color: #BFBFBF;
font-size: 28rpx;
font-weight: 400;
line-height: 45rpx;
}
.aboutUs_fd2_0 {
color: #BFBFBF;
font-size: 28rpx;
font-weight: 400;
line-height: 45rpx;
}
</style>

View File

@ -0,0 +1,233 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center setnewPwd_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub setnewPwd_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 setnewPwd_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='setnewPwd_fd0_0_c1_c0'>修改密码</text>
</view>
<view class='flex flex-wrap align-center setnewPwd_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<view class="flex flex-direction flex-wrap align-stretch setnewPwd_flex_1">
<view class='flex flex-wrap align-center setnewPwd_fd1_0'>
<text class='setnewPwd_fd1_1_c0'>新密码</text>
<input class='flex-sub setnewPwd_fd1_0_c1' type="text" :focus='true' placeholder="请输入新密码"
confirm-type="done" :maxlength="12" :password='true'
placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx" v-model="newPwd" />
</view>
<view class='flex flex-wrap align-center setnewPwd_fd1_1'>
<text class='setnewPwd_fd1_1_c0'>确认新密码</text>
<input class='flex-sub setnewPwd_fd1_1_c1' type="text" placeholder="请再次输入新密码"
confirm-type="done" :maxlength="12" :password='true'
placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx" v-model="qrPwd" />
</view>
</view>
<view
class="flex flex-direction flex-wrap align-center justify-center flex setnewPwd_flex_2">
<button class='setnewPwd_fd2_0' @tap.stop="changePwdPhoneFunc()"> </button>
</view>
<view :style="{height: '88rpx'}"></view>
</view>
</template>
<script>
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"newPwd": "",
"qrPwd": "",
"phone": "",
"code": ""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
let {phone,code} = options
if (phone !== undefined) this.phone = phone
if (code !== undefined) this.code = code
},
methods: {
//设置密码
changePwdPhoneFunc() {
if (!validate(this.newPwd, 'require')) {
this.$message.info('新密码不能为空');
return false;
}
if (!validate(this.newPwd, 'password')) {
this.$message.info('请输入新密码6~12位字母+数字)');
return false;
}
if (!validate(this.qrPwd, 'require')) {
this.$message.info('确认新密码不能为空');
return false;
}
if (!validate(this.qrPwd, 'password')) {
this.$message.info('请输入确认密码6~12位字母+数字)');
return false;
}
if (!(this.newPwd == this.qrPwd)) {
this.$message.info('两次输入密码不一致');
return false;
}
this.$api.post(global.apiUrls.postForgetPassword,{
account:this.phone,
password:this.newPwd,
code:this.code,
type:4
}).then(res=>{
this.$message.info(res.data.msg);
if(res.data.code==1){
setTimeout(() => {
this.$store.commit('logout');
uni.switchTab({
url: '/pages/tabBar/myPage/myPage'
});
}, 300)
}
})
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #fff;
background-size: 100% auto !important;
}
.setnewPwd_flex_0 {
border: 1px solid #eee;
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.setnewPwd_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.setnewPwd_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.setnewPwd_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.setnewPwd_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.setnewPwd_flex_1 {
background: #fff;
font-size: 32rpx;
background-size: 100% auto !important;
padding: 0rpx 32rpx 0rpx 32rpx;
}
.setnewPwd_fd1_1_c1 {
line-height: 32rpx;
font-size: 32rpx;
font-weight: 400;
color: #333;
}
.setnewPwd_fd1_1_c0 {
width: 200rpx;
display: block;
font-size: 32rpx;
font-weight: 400;
font-style: normal;
color: #333333;
line-height: 32rpx;
}
.setnewPwd_fd1_1 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.setnewPwd_fd1_0_c1 {
line-height: 32rpx;
font-size: 32rpx;
font-weight: 400;
color: #333;
}
.setnewPwd_fd1_0_c0 {
font-size: 32rpx;
font-weight: 400;
font-style: normal;
color: #333333;
line-height: 32rpx;
}
.setnewPwd_fd1_0 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.setnewPwd_flex_2 {
margin-top: 88rpx;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
bottom: calc(40rpx + var(--window-bottom));
}
.setnewPwd_fd2_0 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 88rpx;
line-height: 88rpx;
font-weight: 400;
}
</style>

View File

@ -0,0 +1,164 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center setNewpswd_flex_0" :style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub setNewpswd_fd0_0' >
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >
<text class='fu-iconfont2 setNewpswd_fd0_0_c0_c0' >&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub' >
<text class='setNewpswd_fd0_0_c1_c0' >修改密码</text>
</view>
<view class='flex flex-wrap align-center setNewpswd_fd0_0_c2' >
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}" ></view>
<view class="flex flex-direction flex-wrap align-stretch setNewpswd_flex_1" >
<view class='flex flex-wrap align-center setNewpswd_fd1_0' >
<text class='setNewpswd_fd1_0_c0' >新密码</text>
<input class='flex-sub setNewpswd_fd1_0_c1' type="text" :focus='true' placeholder="请输入新密码" confirm-type="done" :maxlength="12" :password='true' placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx" v-model="newPwd" />
</view>
<view class='flex flex-wrap align-center setNewpswd_fd1_1' >
<text class='setNewpswd_fd1_1_c0' >确认新密码</text>
<input class='flex-sub setNewpswd_fd1_1_c1' type="text" :focus='true' placeholder="请再次输入新密码" confirm-type="done" :maxlength="12" :password='true' placeholder-style="color:rgba(191, 191, 191, 1);font-size:32rpx" v-model="qrPwd" />
</view>
</view>
<view class="flex flex-direction flex-wrap align-center justify-center benben-position-layout flex setNewpswd_flex_2" >
<button class='setNewpswd_fd2_0' @tap.stop="changePwdPhoneFunc()" > </button>
</view>
<view :style="{height: '88rpx'}" ></view>
</view>
</template>
<script>
import {validate} from '@/common/utils/validate.js'
export default {
components:{},
data(){
return {"newPwd":"","qrPwd":"","phone":"","code":""};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
},
watch:{},
onLoad(options){
let {phone,code}=options
if (phone !== undefined) this.phone = phone
if (code !== undefined) this.code = code
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
//设置密码
changePwdPhoneFunc(){
if(!validate(this.newPwd,'require')){
this.$message.info('新密码不能为空');
return false;
}
if(!validate(this.newPwd,'password')){
this.$message.info('请输入新密码6~12位字母+数字)');
return false;
}
if(!validate(this.qrPwd,'require')){
this.$message.info('确认新密码不能为空');
return false;
}
if(!validate(this.qrPwd,'password')){
this.$message.info('请输入确认密码6~12位字母+数字)');
return false;
}
if(!(this.newPwd == this.qrPwd)){
this.$message.info('两次输入密码不一致');
return false;
}
setTimeout(()=>{
this.$message.info('设置成功');
this.$urouter.navigateBack(2);
},1000)
}
}
};
</script>
<style lang="scss" scoped>
.page{
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background:rgba(248, 248, 248, 1);background-size: 100% auto !important;
}
.setNewpswd_flex_0{
border:1px solid #eee;background:#fff;width:750rpx;height:88rpx;overflow:hidden;z-index:10;top:0rpx;background-size:100% auto !important;
}
.setNewpswd_fd0_0_c2{
width:32rpx;height:32rpx;
}
.setNewpswd_fd0_0_c1_c0{
font-size:36rpx;font-weight:500;color:#333;line-height:88rpx;
}
.setNewpswd_fd0_0_c0_c0{
font-size:32rpx;font-weight:500;color:#333;line-height:88rpx;
}
.setNewpswd_fd0_0{
margin:0rpx 32rpx 0rpx 32rpx;
}
.setNewpswd_flex_1{
background:#fff;font-size:32rpx;background-size:100% auto !important;padding:0rpx 32rpx 0rpx 32rpx;
}
.setNewpswd_fd1_1_c1{
line-height:32rpx;font-size:32rpx;font-weight:400;color:#333;
}
.setNewpswd_fd1_1_c0{
font-size:32rpx;font-weight:400;font-style:normal;color:#333333;line-height:32rpx;
}
.setNewpswd_fd1_1{
border-bottom:1px solid #eee;padding:32rpx 0rpx 32rpx 0rpx;
}
.setNewpswd_fd1_0_c1{
line-height:32rpx;font-size:32rpx;font-weight:400;color:#333;
}
.setNewpswd_fd1_0_c0{
font-size:32rpx;font-weight:400;font-style:normal;color:#333333;line-height:32rpx;
}
.setNewpswd_fd1_0{
border-bottom:1px solid #eee;padding:32rpx 0rpx 32rpx 0rpx;
}
.setNewpswd_flex_2{
width:750rpx;height:88rpx;overflow:hidden;z-index:10;bottom:calc(40rpx + var(--window-bottom));
}
.setNewpswd_fd2_0{
background:rgba(255, 147, 0, 1);border-radius:16rpx 16rpx 16rpx 16rpx;font-size:32rpx;color:#fff;width:686rpx;height:88rpx;line-height:88rpx;font-weight:400;
}
</style>

View File

@ -0,0 +1,567 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center systemSettings_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub systemSettings_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 systemSettings_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='systemSettings_fd0_0_c1_c0'>设置</text>
</view>
<view class='flex flex-wrap align-center systemSettings_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---基本设置flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch systemSettings_flex_1">
<view class='flex flex-direction flex-wrap align-stretch systemSettings_fd1_0'>
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center justify-between systemSettings_fd1_0_c0' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/pages/xtsz/declassifyPage/declassifyPage`">
<text class='systemSettings_fd1_0_c0_c0'>修改密码</text>
<text class='fu-iconfont2 systemSettings_fd1_0_c0_c1'>&#xE7F2;</text>
</view>
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center justify-between systemSettings_fd1_0_c1' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/pages/xtsz/changeBindphone/changeBindphone`">
<text class='systemSettings_fd1_0_c1_c0'>修改绑定手机号</text>
<text class='fu-iconfont2 systemSettings_fd1_0_c1_c1'>&#xE7F2;</text>
</view>
<!-- <view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center justify-between systemSettings_fd1_2_c0' @tap.stop="handleApply">
<text class='systemSettings_fd1_2_c0_c0'>申请成为推广人员</text>
<text class='systemSettings_fd1_2_c0_c1 flex-sub text-right' style="color: red;" v-if="applyStatus > -1">{{applyStatus == 0 ? '审核中' : applyStatus == 1 ? '已通过审核' : '已拒绝'}} <text v-if="applyStatus == 2">,原因: {{reason}}</text></text>
<text class='fu-iconfont2 systemSettings_fd1_2_c0_c2'>&#xE7F2;</text>
</view> -->
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center justify-between systemSettings_fd1_0_c2' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/pages/xtsz/feedbackRecord/feedbackRecord`">
<text class='systemSettings_fd1_0_c2_c0'>意见反馈</text>
<text class='fu-iconfont2 systemSettings_fd1_0_c2_c1'>&#xE7F2;</text>
</view>
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center justify-between systemSettings_fd1_0_c3' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/pages/xtsz/aboutUs/aboutUs`">
<text class='systemSettings_fd1_0_c3_c0'>关于我们</text>
<text class='fu-iconfont2 systemSettings_fd1_0_c3_c1'>&#xE7F2;</text>
</view>
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center justify-between systemSettings_fd1_0_c4' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/pages/dl/agreementPolicy/agreementPolicy?type=16`">
<text class='systemSettings_fd1_0_c4_c0'>隐私协议</text>
<text class='fu-iconfont2 systemSettings_fd1_0_c4_c1'>&#xE7F2;</text>
</view>
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center justify-between systemSettings_fd1_0_c5' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/pages/dl/agreementPolicy/agreementPolicy?type=8`">
<text class='systemSettings_fd1_0_c5_c0'>用户注册协议</text>
<text class='fu-iconfont2 systemSettings_fd1_0_c5_c1'>&#xE7F2;</text>
</view>
</view>
<view class='flex flex-wrap align-center systemSettings_fd1_1'>
</view>
<view class='flex flex-direction flex-wrap align-stretch systemSettings_fd1_2'>
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center systemSettings_fd1_2_c0' @tap.stop="cleanUpFunc">
<text class='systemSettings_fd1_2_c0_c0'>清除缓存</text>
<text class='systemSettings_fd1_2_c0_c1'>{{appRubbishCacheSize}}</text>
<text class='fu-iconfont2 systemSettings_fd1_2_c0_c2'>&#xE7F2;</text>
</view>
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap align-center systemSettings_fd1_2_c1' @tap.stop="updataFunc()">
<text class='systemSettings_fd1_2_c1_c0'>检查更新</text>
<text class='systemSettings_fd1_2_c1_c1'>{{appVersion}}</text>
<text class='fu-iconfont2 systemSettings_fd1_2_c1_c2'>&#xE7F2;</text>
</view>
<view style="padding-right: 32rpx; box-sizing: border-box;" class='flex flex-wrap justify-between align-center systemSettings_fd1_2_c1' @tap.stop="accountCancel()">
<text class='systemSettings_fd1_2_c1_c0'>注销账号</text>
<text class='fu-iconfont2 systemSettings_fd1_2_c1_c2'>&#xE7F2;</text>
</view>
</view>
</view>
<!---基本设置flex布局结束-->
<view class="flex flex-wrap align-center justify-center benben-position-layout flex systemSettings_flex_2"
@tap.stop="handlelogout">
<button class='flex-sub systemSettings_fd2_0'>退出登录</button>
</view>
<view :style="{height: '96rpx'}"></view>
<benben-popup v-model="popupShow1681268717363" :mask="true" mode='center'>
<!---退出登录flex布局开始-->
<view class="flex flex-direction flex-wrap align-center systemSettings_flex_3">
<text class='systemSettings_fd3_0'>提示</text>
<text class='systemSettings_fd3_1'>确定退出当前账号</text>
<view class='flex flex-wrap align-center systemSettings_fd3_2'>
<button class='systemSettings_fd3_2_c0' @tap.stop="popupShow1681268717363=false">取消</button>
<button class='systemSettings_fd3_2_c1' @tap.stop="logOutFunc()">确定</button>
</view>
</view>
<!---退出登录flex布局结束-->
</benben-popup>
<benben-popup v-model="popupShow1681269217031" :mask="true" mode='center'>
<!---清除本地缓存flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center">
<view class='flex flex-direction flex-wrap align-center systemSettings_fd4_0'>
<text class='systemSettings_fd4_0_c0'>提示</text>
<text class='systemSettings_fd4_0_c1'>确定要清除本地缓存</text>
<view class='flex flex-wrap align-center systemSettings_fd4_0_c2'>
<button class='systemSettings_fd4_0_c2_c0' @tap.stop="popupShow1681269217031=false">取消</button>
<button class='systemSettings_fd4_0_c2_c1' @tap.stop="cleanUpFunc()">确认</button>
</view>
</view>
</view>
<!---清除本地缓存flex布局结束-->
</benben-popup>
<app-update ref="update"></app-update>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
"popupShow1681269217031": false,
"popupShow1681268717363": false,
applyStatus: -1,
reason: ''
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
appVersion() {
// 获取版本号
return this.$store.state.appVersion
},
appRubbishCacheSize() { // 获取缓存大小
return this.$store.state.appRubbishCacheSize
}
},
watch: {},
onLoad(options) {
},
onUnload() {
},
onReady() {
},
onShow() {
this.getApplyStatus()
this.$store.dispatch('getAppVersion') // 更新版本号
this.$store.dispatch('getAppCache') // 更新缓存大小
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
},
onReachBottom(e) {
},
onPageScroll(e) {
},
methods: {
accountCancel() {
uni.navigateTo({
url: '/pages/xtsz/accountCancel01/index'
})
},
getApplyStatus() {
this.$api.post(global.apiUrls.post67306ffb6ec75)
.then(res => {
console.log(res);
res = res.data;
if (res.code == 1) {
this.applyStatus = res.data.status;
this.reason = res.data.reason;
}
uni.stopPullDownRefresh();
});
},
handleApply() {
if (this.applyStatus == 0 || this.applyStatus == 1) return false
this.$util.showModal({
title: '提示',
content: '确定要申请开通?',
confirmColor: this.$store.state.themeColor,
success: res => {
if (res.confirm) {
this.$api.post(global.apiUrls.post67306fc87dbd7).then(res => {
let data = res.data;
this.$message.info(data.msg);
if (data.code == 1) {
this.getApplyStatus()
}
})
.catch(err => {
console.log('err: ' + JSON.stringify(err));
});
}
}
});
},
handlelogout(){
this.$util.showModal({
title: '提示',
content: '确定退出当前账号?',
confirmColor: this.$store.state.themeColor,
success: res => {
if (res.confirm) {
this.$store.commit('logout');
uni.navigateBack();
// this.$store.dispatch('getCartList');
}
}
});
},
//退出登录
logOutFunc() {
this.$store.commit('logout')
this.toLoginDiy();
},
//清除缓存
cleanUpFunc() {
this.$store.dispatch('appClearCache')
// this.$util.showModal({
// title: '提示',
// content: '确定要清除缓存?',
// confirmColor: this.$store.state.themeColor,
// success: res => {
// if (res.confirm) {
// this.popupShow1681269217031 = false;
// this.$store.dispatch('appClearCache')
// }
// }
// });
},
//APP更新
updataFunc() {
this.$util.debounce(
() => {
this.$refs.update.checkAppUpdate()
},
1000,
true
)
setTimeout(() => {
this.$message.info('已是最新版本');
}, 1000)
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: rgba(248, 248, 248, 1);
background-size: 100% auto !important;
}
.systemSettings_flex_0 {
border-bottom: 1px solid #eee;
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.systemSettings_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.systemSettings_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.systemSettings_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.systemSettings_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.systemSettings_flex_1 {
background: #fff;
font-size: 32rpx;
background-size: 100% auto !important;
}
.systemSettings_fd1_2_c1_c2 {
font-size: 23rpx;
color: rgba(191, 191, 191, 1);
}
.systemSettings_fd1_2_c1_c1 {
font-size: 28rpx;
color: rgba(191, 191, 191, 1);
margin: 0rpx 24rpx 0rpx auto;
}
.systemSettings_fd1_2_c1_c0 {
font-size: 32rpx;
}
.systemSettings_fd1_2_c1 {
padding: 32rpx 0rpx 32rpx 0rpx;
}
.systemSettings_fd1_2_c0_c2 {
font-size: 23rpx;
color: rgba(191, 191, 191, 1);
}
.systemSettings_fd1_2_c0_c1 {
font-size: 28rpx;
color: rgba(191, 191, 191, 1);
margin: 0rpx 24rpx 0rpx auto;
}
.systemSettings_fd1_2_c0_c0 {
font-size: 32rpx;
}
.systemSettings_fd1_2_c0 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.systemSettings_fd1_2 {
padding: 0rpx 0 0rpx 32rpx;
}
.systemSettings_fd1_1 {
background: rgba(248, 248, 248, 1);
height: 20rpx;
background-size: 100% auto !important;
}
.systemSettings_fd1_0_c5_c1 {
font-size: 23rpx;
color: rgba(191, 191, 191, 1);
}
.systemSettings_fd1_0_c5_c0 {
font-size: 32rpx;
}
.systemSettings_fd1_0_c5 {
padding: 32rpx 0rpx 32rpx 0rpx;
}
.systemSettings_fd1_0_c4_c1 {
font-size: 23rpx;
color: rgba(191, 191, 191, 1);
}
.systemSettings_fd1_0_c4_c0 {
font-size: 32rpx;
}
.systemSettings_fd1_0_c4 {
padding: 32rpx 0rpx 32rpx 0rpx;
border-bottom: 1px solid #eee;
}
.systemSettings_fd1_0_c3_c1 {
font-size: 23rpx;
color: rgba(191, 191, 191, 1);
}
.systemSettings_fd1_0_c3_c0 {
font-size: 32rpx;
}
.systemSettings_fd1_0_c3 {
padding: 32rpx 0rpx 32rpx 0rpx;
border-bottom: 1px solid #eee;
}
.systemSettings_fd1_0_c2_c1 {
font-size: 23rpx;
color: rgba(191, 191, 191, 1);
}
.systemSettings_fd1_0_c2_c0 {
font-size: 32rpx;
}
.systemSettings_fd1_0_c2 {
padding: 32rpx 0rpx 32rpx 0rpx;
border-bottom: 1px solid #eee;
}
.systemSettings_fd1_0_c1_c1 {
font-size: 23rpx;
color: rgba(191, 191, 191, 1);
}
.systemSettings_fd1_0_c1_c0 {
font-size: 32rpx;
}
.systemSettings_fd1_0_c1 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.systemSettings_fd1_0_c0_c1 {
font-size: 23rpx;
color: rgba(191, 191, 191, 1);
}
.systemSettings_fd1_0_c0_c0 {
font-size: 32rpx;
color: #333333;
font-weight: 400;
line-height: 32rpx;
}
.systemSettings_fd1_0_c0 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.systemSettings_fd1_0 {
padding: 0rpx 0 0rpx 32rpx;
}
.systemSettings_flex_2 {
width: 750rpx;
height: 96rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
}
.systemSettings_fd2_0 {
background: rgba(255, 255, 255, 1);
border-radius: 0rpx 0rpx 0rpx 0rpx;
font-size: 28rpx;
color: rgba(237, 64, 64, 1);
height: 96rpx;
line-height: 96rpx;
font-weight: 500;
}
.systemSettings_flex_3 {
background: #fff;
width: 540rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
}
.systemSettings_fd3_2_c1 {
border-top: 1px solid #eee;
border-left: 1px solid #eee;
background: #fff;
line-height: 110rpx;
border-radius: 0rpx 0rpx 16rpx 0rpx;
font-size: 32rpx;
color: rgba(237, 64, 64, 1);
width: 270rpx;
}
.systemSettings_fd3_2_c0 {
border-top: 1px solid #eee;
background: #fff;
line-height: 110rpx;
border-radius: 0rpx 0rpx 0rpx 16rpx;
font-size: 32rpx;
color: rgba(153, 153, 153, 1);
padding: 0rpx 103rpx 0rpx 103rpx;
}
.systemSettings_fd3_2 {
margin: 37rpx 0rpx 0rpx 0rpx;
}
.systemSettings_fd3_1 {
line-height: 44rpx;
font-size: 32rpx;
font-weight: 500;
color: #333333;
}
.systemSettings_fd3_0 {
font-size: 36rpx;
font-weight: 800;
line-height: 44rpx;
color: #333333;
margin: 40rpx 0rpx 40rpx 0rpx;
}
.systemSettings_fd4_0_c2_c1 {
background: #fff;
font-size: 32rpx;
color: rgba(244, 11, 11, 1);
width: 270rpx;
height: 101rpx;
line-height: 101rpx;
font-weight: 500;
}
.systemSettings_fd4_0_c2_c0 {
border-right: 1px solid #eee;
background: #fff;
font-size: 32rpx;
color: rgba(153, 153, 153, 1);
width: 270rpx;
height: 101rpx;
line-height: 101rpx;
font-weight: 400;
}
.systemSettings_fd4_0_c2 {
border-top: 1px solid #eee;
margin: 51rpx 0rpx 0rpx 0rpx;
}
.systemSettings_fd4_0_c1 {
line-height: 44rpx;
font-size: 28rpx;
font-weight: 500;
color: #333333;
text-align: center;
margin: 32rpx 40rpx 0rpx 40rpx;
}
.systemSettings_fd4_0_c0 {
line-height: 44rpx;
font-size: 36rpx;
font-weight: 700;
color: #333333;
margin: 40rpx 0rpx 0rpx 0rpx;
}
.systemSettings_fd4_0 {
background: #fff;
width: 540rpx;
background-size: 100% auto !important;
border-radius: 16rpx 16rpx 16rpx 16rpx;
}
</style>