Commit eba3f263 by sunchao

申请加盟联调

parent f8e22c23
......@@ -275,7 +275,7 @@ export default {
},
//查询申请加盟信息
queryById(params){
return request(`${cffpURL}/partner/queryById/${params}`, "GET")
return request(`${cffpURL}/partner/queryById`, "POST",params)
},
//支付宝去提现
aliWithdrawal(params){
......@@ -284,5 +284,9 @@ export default {
//微信去提现
wxWithdrawal(params){
return request(`${apiURL}/pay/wxWithdrawal`, "POST", params)
},
//保存base64电子签名
saveDigitalSignatures(params){
return request(`${cffpURL}/partner/saveDigitalSignatures`, "POST", params)
}
}
......@@ -361,7 +361,7 @@
"navigationBarTitleText": "学习统计",
"enablePullDownRefresh": false
}
}
},
{
"path" : "pages/personalCenter/system/accontsetting",
"style" :
......@@ -429,8 +429,14 @@
{
"navigationBarTitleText": "邀请登录",
"enablePullDownRefresh": false
}
}
},{
"path" : "pages/application-process/application-result",
"style" :
{
"navigationBarTitleText": "申请加盟-结果",
"enablePullDownRefresh": false
}
}
],
......
<template>
<view class="container">
<view class="page">
<text class="num actived pass">1</text>
<text class="line line_pass"></text>
<text class="num actived pass">2</text>
<text class="line line_pass"></text>
<text class="num actived pass">3</text>
<text class="line line_pass"></text>
<text class="num actived pass">4</text>
<text class="line line_pass"></text>
<text class="num actived pass">5</text>
<text class="line line_pass"></text>
<text class="num actived pass">6</text>
<text class="line line_pass"></text>
<text class="num actived pass">7</text>
<text class="line line_pass"></text>
<text class="num actived pass">8</text>
</view>
<view class="wrapper">
<view class="iconfont icon-gou"></view>
<h4>您已提交成功</h4>
<view class="result" v-if="this.partnerLevel=='A1'">
恭喜您成为 {{areaName}} 事业伙伴!
</view>
<view class="result" v-if="this.partnerLevel=='B1'">
您的申请已进入人工审核,请耐心等待!
</view>
<navigator url="../index/index">
返回首页 >
</navigator>
</view>
</view>
</template>
<script>
export default{
data(){
return {
partnerLevel:null,
areaName:null
}
},
components:{},
onLoad(options){
this.areaName = options.areaName;
this.partnerLevel = options.partnerLevel;
},
methods:{
}
}
</script>
<style lang="scss">
@import 'applyCommon.scss';
.wrapper{
padding-top: 40rpx;
.icon-gou{
color: #78c06e;
font-size: 200rpx;
text-align: center;
margin: 20rpx;
}
.result,h4{
text-align: center;
margin-bottom: 20rpx;
}
.navigator-wrap{
text-align: center;
padding: 40rpx 0;
color: #20269B;
font-size: 36rpx;
}
}
</style>
\ No newline at end of file
.container {
font-size: 36rpx;
background: #fff;
// background: #fff;
min-height: 100%;
overflow: auto;
padding-bottom: 80rpx;
.wrapper{
background: #fff;
}
.title{
padding: 20rpx 30rpx 0 30rpx;
display: flex;
......@@ -131,4 +134,41 @@
text-align: center;
border-radius: 60rpx;
}
.page{
padding: 20rpx;
background: #fff;
margin-bottom: 20rpx;
.num{
display: inline-block;
width: 46rpx;
height: 46rpx;
text-align: center;
line-height: 46rpx;
background: #CFCFCF;
color: #fff;
border-radius: 50%;
border: 4rpx #CFCFCF solid;
}
.actived{
color: #F15A1F;
border: 4rpx #F15A1F solid;
background: #fff;
}
.pass{
color: #fff;
border: 4rpx #F15A1F solid;
background: #F15A1F;
}
.line{
display: inline-block;
background: #CFCFCF;
width: 39rpx;
height: 4rpx;
position: relative;
top: -10rpx;
}
.line_pass{
background: #F15A1F;
}
}
}
\ No newline at end of file
<template>
<view class="container">
<view class="title">
<view>
<text class="line"></text>银行卡号
<view class="page">
<text class="num actived pass">1</text>
<text class="line line_pass"></text>
<text class="num actived pass">2</text>
<text class="line line_pass"></text>
<text class="num actived pass">3</text>
<text class="line line_pass"></text>
<text class="num actived pass">4</text>
<text class="line line_pass"></text>
<text class="num actived">5</text>
<text class="line"></text>
<text class="num">6</text>
<text class="line"></text>
<text class="num">7</text>
<text class="line"></text>
<text class="num">8</text>
</view>
<view class="wrapper">
<view class="title">
<view>
<text class="line"></text>银行卡号
</view>
<text class="page_mark">5/8</text>
</view>
<text class="page_mark">5/8</text>
</view>
<div class="content">
<div class="contentDetail employ">
<div class="contentItem">
<text>开户行</text>
<input class="form-control" name="" placeholder="请输入" v-model="applyParam.bankAccountOpening"/>
</div>
<div class="contentItem">
<text>银行卡号</text>
<input class="form-control" placeholder="请输入" type="number" maxlength="19" v-model="applyParam.bankAccountId"
auto-blur=true @blur="checkInput(applyParam.bankAccountId)"/>
</div>
<div class="contentItem">
<text>再次输入银行卡号以确认</text>
<input class="form-control" placeholder="请输入" type="number" v-model="sureBankAccountId" maxlength="19"
auto-blur=true @blur="checkInput(sureBankAccountId)" />
</div>
</div>
</div>
<view class="fixed" @click="saveInfo()">
保存并下一步
</view>
<view class="content">
<view class="contentDetail employ">
<view class="contentItem">
<text>开户行</text>
<input class="form-control" name="" placeholder="请输入" v-model="applyParam.bankAccountOpening" :disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"/>
</view>
<view class="contentItem">
<text>银行卡号</text>
<input class="form-control" placeholder="请输入" type="number" maxlength="19" v-model="applyParam.bankAccountId"
auto-blur=true @blur="checkInput(applyParam.bankAccountId)" :disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"/>
</view>
<view class="contentItem">
<text>再次输入银行卡号以确认</text>
<input class="form-control" placeholder="请输入" type="number" v-model="sureBankAccountId" maxlength="19"
auto-blur=true @blur="checkInput(sureBankAccountId)" :disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"/>
</view>
</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
{{(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2)?'保存并下一步':'下一步'}}
</view>
</view>
</template>
......@@ -43,17 +62,26 @@
}
},
components:{},
onLoad(){
onLoad(options){
if(uni.getStorageSync('applyId')){
this.queryById(uni.getStorageSync('applyId'))
this.queryById(uni.getStorageSync('applyId'),null)
}else if(options.shareId){
this.queryById(options.shareId,null)
}else{
this.queryById(null,uni.getStorageSync('cffp_userId'))
}
},
methods:{
queryById(id){
api.queryById(id).then((res)=>{
queryById(id,userId){
api.queryById({id:id,userId:userId}).then((res)=>{
console.log(res)
if(res['success']){
this.applyParam = res['data']['data'];
if(this.applyParam.bankAccountId){
this.sureBankAccountId = this.applyParam.bankAccountId;
}else{
this.sureBankAccountId = '';
}
}
})
},
......@@ -62,39 +90,46 @@
str = str.replace(/\s*/g,"");
},
saveInfo(){
if(this.applyParam.bankAccountId || this.sureBankAccountId){
if(this.applyParam.bankAccountId != this.sureBankAccountId){
uni.showToast({
title: '两次银行卡号不一致,请重新输入',
duration: 2000,
icon: 'none'
})
return;
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
if(this.applyParam.bankAccountId || this.sureBankAccountId){
if(this.applyParam.bankAccountId != this.sureBankAccountId){
uni.showToast({
title: '两次银行卡号不一致,请重新输入',
duration: 2000,
icon: 'none'
})
return;
}
}
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:5,
// userId:uni.getStorageSync('cffp_userId'),
userId:42,
id:17
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`personal-statement?id=${res['data']['id']}`
url:`personal-statement`
});
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:5,
// userId:uni.getStorageSync('cffp_userId'),
userId:42,
id:17
}
})
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`personal-statement?id=${res['data']['id']}`
url:`personal-statement`
});
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
}
})
}else{
uni.navigateTo({
// url:`personal-statement?id=${res['data']['id']}`
url:`personal-statement`
});
}
}
}
}
......
<template>
<view class="container">
<view class="title">
<view>
<text class="line"></text>合同文档确认
<view class="page">
<text class="num actived pass">1</text>
<text class="line line_pass"></text>
<text class="num actived pass">2</text>
<text class="line line_pass"></text>
<text class="num actived pass">3</text>
<text class="line line_pass"></text>
<text class="num actived pass">4</text>
<text class="line line_pass"></text>
<text class="num actived pass">5</text>
<text class="line line_pass"></text>
<text class="num actived pass">6</text>
<text class="line line_pass"></text>
<text class="num actived">7</text>
<text class="line"></text>
<text class="num">8</text>
</view>
<view class="wrapper">
<view class="title">
<view>
<text class="line"></text>合同文档确认
</view>
<text class="page_mark">7/8</text>
</view>
<text class="page_mark">7/8</text>
</view>
<view class="content">
<view class="ulBox">
<view class="liBox" v-for="contractItem in contractTermsList" @click="readContract(contractItem)"
>
<text class="iconfont icon-yuanxingweixuanzhong" v-if="!contractItem.confirmStatus"></text>
<text class="iconfont icon-selected-copy" v-if="contractItem.confirmStatus"></text>
<text class="itemName"> {{contractItem.termName}}</text>
<text class="iconfont icon-gougou" v-if="contractItem.confirmStatus"></text>
</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
全部阅读且同意,下一步
</view>
<view class="content">
<view class="ulBox">
<view class="liBox" v-for="contractItem in contractTermsList" @click="readContract(contractItem)"
>
<text class="iconfont icon-yuanxingweixuanzhong" v-if="!contractItem.confirmStatus"></text>
<text class="iconfont icon-selected-copy" v-if="contractItem.confirmStatus"></text>
<text class="itemName"> {{contractItem.termName}}</text>
<text class="iconfont icon-gougou" v-if="contractItem.confirmStatus"></text>
</view>
</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
{{(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2)?'全部阅读且同意,下一步':'下一步'}}
</view>
</view>
<view class="toastWrapper toast" v-if="isShow"></view>
<view id="toastContent" v-if="isShow" ref="contractRef">
......@@ -50,13 +69,17 @@
}
},
components:{},
onLoad(){
onLoad(options){
this.getContractList();
if(uni.getStorageSync('applyId')){
setTimeout(()=>{
this.queryById(uni.getStorageSync('applyId'))
},500)
}
setTimeout(()=>{
if(uni.getStorageSync('applyId')){
this.queryById(uni.getStorageSync('applyId'),null)
}else if(options.shareId){
this.queryById(options.shareId,null)
}else{
this.queryById(null,uni.getStorageSync('cffp_userId'))
}
},500)
},
methods:{
getContractList(){
......@@ -66,48 +89,58 @@
})
},
saveInfo(){
if (!this.isAllAgree) {
uni.showToast({
title: '请详细阅读全部条款!',
duration: 2000,
icon: 'none'
});
return;
}
this.contractTermsConfirmsListParm = [];
for (let i = 0; i < this.contractTermsList.length; i++) {
this.contractTermsConfirmsListParm.push(this.contractTermsList[i]["termName"]);
}
this.applyParam.operatStep = 7;
this.applyParam.contractTerms = this.contractTermsConfirmsListParm .join(',');
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`signature?id=${res['data']['id']}`
url:`signature`
});
}else{
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
if (!this.isAllAgree) {
uni.showToast({
title: res['message'],
title: '请详细阅读全部条款!',
duration: 2000,
icon: 'none'
})
return;
});
return;
}
})
this.contractTermsConfirmsListParm = [];
for (let i = 0; i < this.contractTermsList.length; i++) {
this.contractTermsConfirmsListParm.push(this.contractTermsList[i]["termName"]);
}
this.applyParam.operatStep = 7;
this.applyParam.contractTerms = this.contractTermsConfirmsListParm .join(',');
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`signature?id=${res['data']['id']}`
url:`signature`
});
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
}
})
}else{
uni.navigateTo({
// url:`signature?id=${res['data']['id']}`
url:`signature`
});
}
},
readContract(contractItem) {
if (contractItem.confirmStatus == 1) {
contractItem.confirmStatus = 0;
} else {
this.isShow = true;
this.curContract = contractItem.termNote;
this.curTitle = contractItem.termName;
this.curContractId = contractItem.id;
}
this.isAllAgree = this.contractTermsList.every((item) => {
return item.confirmStatus == 1;
});
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
if (contractItem.confirmStatus == 1) {
contractItem.confirmStatus = 0;
} else {
this.isShow = true;
this.curContract = contractItem.termNote;
this.curTitle = contractItem.termName;
this.curContractId = contractItem.id;
}
this.isAllAgree = this.contractTermsList.every((item) => {
return item.confirmStatus == 1;
});
}
},
//同意合同条款
agree() {
......@@ -121,8 +154,8 @@
return item.confirmStatus == 1;
});
},
queryById(id){
api.queryById(id).then((res)=>{
queryById(id,userId){
api.queryById({id:id,userId:userId}).then((res)=>{
if(res['success']){
this.applyParam = res['data']['data'];
if(this.applyParam.contractTerms){
......
<template>
<view class="container">
<view class="title">
<view>
<text class="line"></text>学历信息
<view class="page">
<text class="num actived pass">1</text>
<text class="line line_pass"></text>
<text class="num actived pass">2</text>
<text class="line line_pass"></text>
<text class="num actived pass">3</text>
<text class="line line_pass"></text>
<text class="num actived">4</text>
<text class="line"></text>
<text class="num">5</text>
<text class="line"></text>
<text class="num">6</text>
<text class="line"></text>
<text class="num">7</text>
<text class="line"></text>
<text class="num">8</text>
</view>
<view class="wrapper">
<view class="title">
<view>
<text class="line"></text>学历信息
</view>
<text class="page_mark">4/8</text>
</view>
<text class="page_mark">4/8</text>
</view>
<view class="content">
<view class="contentDetail employ">
<view class="contentItem">
<text>最高学历:如本科、专科、硕士</text>
<picker @change="changeEducation" :value="educationIdx" :range="educationLevelList"
range-key="name">
<view class="uni-input">{{educationLevelList[educationIdx]['name']}}
<text class="iconfont icon-youjiantou"></text>
</view>
</picker>
</view>
<view class="contentItem">
<text>毕业学校</text>
<input class="form-control" v-model="applyParam.lastGraduateSchool"/>
</view>
<view class="contentItem" style="border:none;">
<text>毕业证</text>
<view></view>
</view>
</view>
<view class="photo_wrapper" v-if="!applyParam.lastGraduateCertificationOssPath" @click="upLoadPhoto()">
<text class="iconfont icon-weibiaoti553"></text>
<view style="margin-top: 10px;" >点击添加毕业证照片</view>
</view>
<image :src="applyParam.lastGraduateCertificationOssPath" v-if="applyParam.lastGraduateCertificationOssPath"
@click="upLoadPhoto()" mode="widthFix"></image>
<view class="tips">
<view>(jpg,png 文件大小不大于1mb)</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
保存并下一步
</view>
<view class="content">
<view class="contentDetail employ">
<view class="contentItem">
<text>最高学历:如本科、专科、硕士</text>
<picker @change="changeEducation" :value="educationIdx" :range="educationLevelList"
range-key="name" :disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2">
<view class="uni-input">{{educationLevelList[educationIdx]['name']}}
<text class="iconfont icon-youjiantou"></text>
</view>
</picker>
</view>
<view class="contentItem">
<text>毕业学校</text>
<input class="form-control" v-model="applyParam.lastGraduateSchool"
:disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"/>
</view>
<view class="contentItem" style="border:none;">
<text>毕业证</text>
<view></view>
</view>
</view>
<view class="photo_wrapper" v-if="!applyParam.lastGraduateCertificationOssPath" @click="upLoadPhoto()">
<text class="iconfont icon-weibiaoti553"></text>
<view style="margin-top: 10px;" >点击添加毕业证照片</view>
</view>
<image :src="applyParam.lastGraduateCertificationOssPath" v-if="applyParam.lastGraduateCertificationOssPath"
@click="upLoadPhoto()" mode="widthFix"></image>
<view class="tips">
<view>(jpg,png 文件大小不大于1mb)</view>
</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
{{(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2)?'保存并下一步':'下一步'}}
</view>
</view>
</template>
......@@ -66,11 +86,17 @@
}
},
components:{},
onLoad(){
onLoad(options){
this.educationLevelQuery();
if(uni.getStorageSync('applyId')){
this.queryById(uni.getStorageSync('applyId'))
}
setTimeout(()=>{
if(uni.getStorageSync('applyId')){
this.queryById(uni.getStorageSync('applyId'),null)
}else if(options.shareId){
this.queryById(options.shareId,null)
}else{
this.queryById(null,uni.getStorageSync('cffp_userId'))
}
},500)
},
methods:{
educationLevelQuery(){
......@@ -81,8 +107,8 @@
}
})
},
queryById(id){
api.queryById(id).then((res)=>{
queryById(id,userId){
api.queryById({id:id,userId:userId}).then((res)=>{
console.log(res)
if(res['success']){
this.applyParam = res['data']['data'];
......@@ -95,62 +121,71 @@
})
},
upLoadPhoto(event){
CommonUpload(this.dataForm).then(res => {
this.applyParam.lastGraduateCertificationOssPath = res.data.filePath;
});
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
CommonUpload(this.dataForm).then(res => {
this.applyParam.lastGraduateCertificationOssPath = res.data.filePath;
});
}
},
changeEducation:function(e){
this.educationIdx = e.detail.value;
this.applyParam.lastGraduateGrade = this.educationLevelList[this.educationIdx]['name'];
},
saveInfo(){
if(!this.applyParam.lastGraduateGrade){
uni.showToast({
title: '请选择最高学历',
duration: 2000,
icon: 'none'
})
return;
}
if(!this.applyParam.lastGraduateSchool){
uni.showToast({
title: '请输入毕业学校',
duration: 2000,
icon: 'none'
})
return;
}
if(!this.applyParam.lastGraduateCertificationOssPath){
uni.showToast({
title: '请上传毕业证书',
duration: 2000,
icon: 'none'
})
return;
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:4,
// userId:uni.getStorageSync('cffp_userId'),
userId:42,
id:17,
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`bank-card?id=${res['data']['id']}`
url:`bank-card`
});
}else{
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
if(!this.applyParam.lastGraduateGrade){
uni.showToast({
title: res['message'],
title: '请选择最高学历',
duration: 2000,
icon: 'none'
})
return;
}
})
if(!this.applyParam.lastGraduateSchool){
uni.showToast({
title: '请输入毕业学校',
duration: 2000,
icon: 'none'
})
return;
}
if(!this.applyParam.lastGraduateCertificationOssPath){
uni.showToast({
title: '请上传毕业证书',
duration: 2000,
icon: 'none'
})
return;
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:4,
// userId:uni.getStorageSync('cffp_userId'),
userId:42,
id:17,
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`bank-card?id=${res['data']['id']}`
url:`bank-card`
});
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
}
})
}else{
uni.navigateTo({
// url:`bank-card?id=${res['data']['id']}`
url:`bank-card`
});
}
}
}
}
......
<template>
<view class="container">
<view class="title">
<view>
<text class="line"></text>个人证件资料
<view class="page">
<text class="num actived pass">1</text>
<text class="line line_pass"></text>
<text class="num actived pass">2</text>
<text class="line line_pass"></text>
<text class="num actived">3</text>
<text class="line"></text>
<text class="num">4</text>
<text class="line"></text>
<text class="num">5</text>
<text class="line"></text>
<text class="num">6</text>
<text class="line"></text>
<text class="num">7</text>
<text class="line"></text>
<text class="num">8</text>
</view>
<view class="wrapper">
<view class="title">
<view>
<text class="line"></text>个人证件资料
</view>
<text class="page_mark">3/8</text>
</view>
<text class="page_mark">3/8</text>
</view>
<view class="content">
<view class="content_wrapper">
<view class="photo" v-if="!applyParam.idFrontPageOssPath" @click="upLoadPhoto('front')">
<image src="../../static/front.png" alt="身份证正面" mode="widthFix"></image>
<text class="iconfont icon-weibiaoti553" ></text>
<view class="choseBtn" >点击添加身份证正面</view>
</view>
<image :src="applyParam.idFrontPageOssPath" mode="widthFix" v-if="applyParam.idFrontPageOssPath"
@click="upLoadPhoto('front')"></image>
<view class="tips">
<view>(正确示例:身份证正面,字体清晰)</view>
<view>(jpg,png 文件大小不大于1mb)</view>
</view>
</view>
<view class="content_wrapper" style="margin-top: 25px;">
<view class="photo" v-if="!applyParam.idBackPageOssPath" @click="upLoadPhoto('back')">
<image src="../../static/back.png" alt="身份证反面面" mode="widthFix"></image>
<text class="iconfont icon-weibiaoti553" ></text>
<view class="choseBtn" >点击添加身份证反面</view>
</view>
<image :src="applyParam.idBackPageOssPath" mode="widthFix" v-if="applyParam.idBackPageOssPath"
@click="upLoadPhoto('front')"></image>
<view class="tips">
<view>(正确示例:身份证反面,字体清晰)</view>
<view>(jpg,png 文件大小不大于1mb)</view>
</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
保存并下一步
</view>
<view class="content">
<view class="content_wrapper">
<view class="photo" v-if="!applyParam.idFrontPageOssPath" @click="upLoadPhoto('front')">
<image src="../../static/front.png" alt="身份证正面" mode="widthFix"></image>
<text class="iconfont icon-weibiaoti553" ></text>
<view class="choseBtn" >点击添加身份证正面</view>
</view>
<image :src="applyParam.idFrontPageOssPath" mode="widthFix" v-if="applyParam.idFrontPageOssPath"
@click="upLoadPhoto('front')"></image>
<view class="tips">
<view>(正确示例:身份证正面,字体清晰)</view>
<view>(jpg,png 文件大小不大于1mb)</view>
</view>
</view>
<view class="content_wrapper" style="margin-top: 25px;">
<view class="photo" v-if="!applyParam.idBackPageOssPath" @click="upLoadPhoto('back')">
<image src="../../static/back.png" alt="身份证反面面" mode="widthFix"></image>
<text class="iconfont icon-weibiaoti553" ></text>
<view class="choseBtn" >点击添加身份证反面</view>
</view>
<image :src="applyParam.idBackPageOssPath" mode="widthFix" v-if="applyParam.idBackPageOssPath"
@click="upLoadPhoto('front')"></image>
<view class="tips">
<view>(正确示例:身份证反面,字体清晰)</view>
<view>(jpg,png 文件大小不大于1mb)</view>
</view>
</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
{{(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2)?'保存并下一步':'下一步'}}
</view>
</view>
</template>
......@@ -61,14 +80,18 @@
}
},
components:{},
onLoad(){
onLoad(options){
if(uni.getStorageSync('applyId')){
this.queryById(uni.getStorageSync('applyId'))
this.queryById(uni.getStorageSync('applyId'),null)
}else if(options.shareId){
this.queryById(options.shareId,null)
}else{
this.queryById(null,uni.getStorageSync('cffp_userId'))
}
},
methods:{
queryById(id){
api.queryById(id).then((res)=>{
queryById(id,userId){
api.queryById({id:id,userId:userId}).then((res)=>{
console.log(res)
if(res['success']){
this.applyParam = res['data']['data'];
......@@ -76,61 +99,70 @@
})
},
upLoadPhoto(type){
if(type == 'front'){
this.dataForm.targetNo = 2;
}
if(type == 'back'){
this.dataForm.targetNo = 3;
}
CommonUpload(this.dataForm).then(res => {
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
if(type == 'front'){
this.applyParam.idFrontPageOssPath = res.data.filePath;
this.dataForm.targetNo = 2;
}
if(type == 'back'){
this.applyParam.idBackPageOssPath = res.data.filePath;
this.dataForm.targetNo = 3;
}
})
},
saveInfo(){
if(!this.applyParam.idFrontPageOssPath){
uni.showToast({
title: '请上传身份证正面照片',
duration: 2000,
icon: 'none'
CommonUpload(this.dataForm).then(res => {
if(type == 'front'){
this.applyParam.idFrontPageOssPath = res.data.filePath;
}
if(type == 'back'){
this.applyParam.idBackPageOssPath = res.data.filePath;
}
})
return;
}
if(!this.applyParam.idBackPageOssPath){
uni.showToast({
title: '请上传身份证反面照片',
duration: 2000,
icon: 'none'
})
return;
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:3,
// userId:uni.getStorageSync('cffp_userId'),
userId:42,
id:17,
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`id-card?id=${res['data']['id']}`
url:`education`
});
}else{
},
saveInfo(){
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
if(!this.applyParam.idFrontPageOssPath){
uni.showToast({
title: res['message'],
title: '请上传身份证正面照片',
duration: 2000,
icon: 'none'
})
return;
}
})
if(!this.applyParam.idBackPageOssPath){
uni.showToast({
title: '请上传身份证反面照片',
duration: 2000,
icon: 'none'
})
return;
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:3,
// userId:uni.getStorageSync('cffp_userId'),
userId:42,
id:17,
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`id-card?id=${res['data']['id']}`
url:`education`
});
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
}
})
}else{
uni.navigateTo({
// url:`id-card?id=${res['data']['id']}`
url:`education`
});
}
}
}
}
......
<template>
<view class="container">
<view class="title">
<view>
<text class="line"></text>个人声明
<view class="page">
<text class="num actived pass">1</text>
<text class="line line_pass"></text>
<text class="num actived pass">2</text>
<text class="line line_pass"></text>
<text class="num actived pass">3</text>
<text class="line line_pass"></text>
<text class="num actived pass">4</text>
<text class="line line_pass"></text>
<text class="num actived pass">5</text>
<text class="line line_pass"></text>
<text class="num actived">6</text>
<text class="line"></text>
<text class="num">7</text>
<text class="line"></text>
<text class="num">8</text>
</view>
<view class="wrapper">
<view class="title">
<view>
<text class="line"></text>个人声明
</view>
<text class="page_mark">6/8</text>
</view>
<text class="page_mark">6/8</text>
</view>
<view class="content">
<view class="ulBox">
<view class="liBox" v-for="personalStatements in dropOptionsInfoList" @click="selectStatements(personalStatements)"
>
<text class="iconfont icon-yuanxingweixuanzhong" v-if="!personalStatements.status"></text>
<text class="iconfont icon-selected-copy" v-if="personalStatements.status"></text>
<text class="itemName"> {{personalStatements.dropOptionName}}</text>
<text class="iconfont icon-gougou" v-if="personalStatements.status"></text>
</view>
<view class="content">
<view class="ulBox">
<view class="liBox" v-for="personalStatements in dropOptionsInfoList" @click="selectStatements(personalStatements)"
>
<text class="iconfont icon-yuanxingweixuanzhong" v-if="!personalStatements.status"></text>
<text class="iconfont icon-selected-copy" v-if="personalStatements.status"></text>
<text class="itemName"> {{personalStatements.dropOptionName}}</text>
<text class="iconfont icon-gougou" v-if="personalStatements.status"></text>
</view>
</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
保存并下一步
</view>
</view>
<view class="fixed" @click="saveInfo()">
{{(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2)?'保存并下一步':'下一步'}}
</view>
</view>
</template>
......@@ -36,13 +55,18 @@
}
},
components:{},
onLoad(){
onLoad(options){
this.dropOptionsQuery();
if(uni.getStorageSync('applyId')){
setTimeout(()=>{
this.queryById(uni.getStorageSync('applyId'))
},500)
}
setTimeout(()=>{
if(uni.getStorageSync('applyId')){
this.queryById(uni.getStorageSync('applyId'),null)
}else if(options.shareId){
this.queryById(options.shareId,null)
}else{
this.queryById(null,uni.getStorageSync('cffp_userId'))
}
},500)
},
methods:{
dropOptionsQuery(){
......@@ -51,15 +75,16 @@
})
},
selectStatements(personalStatements) {
if (personalStatements.status == 1) {
personalStatements.status = 0;
} else {
personalStatements.status = 1;
}
console.log(this.dropOptionsInfoList)
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
if (personalStatements.status == 1) {
personalStatements.status = 0;
} else {
personalStatements.status = 1;
}
}
},
queryById(id){
api.queryById(id).then((res)=>{
queryById(id,userId){
api.queryById({id:id,userId:userId}).then((res)=>{
if(res['success']){
this.applyParam = res['data']['data'];
if(this.applyParam.personalStatement){
......@@ -76,38 +101,45 @@
})
},
saveInfo(){
const selectedPersonalStatement = this.dropOptionsInfoList.filter((item) => {
return item.status == 1;
});
if (!selectedPersonalStatement.length) {
uni.showToast({
title: '请选择至少一项个人声明!',
duration: 2000,
icon: 'none'
})
return;
}
this.personalStatementList = [];
for(let i=0;i<selectedPersonalStatement.length;i++){
this.personalStatementList.push(selectedPersonalStatement[i]['dropOptionName']);
}
this.applyParam.personalStatement = this.personalStatementList .join(',');
this.applyParam.operatStep = 6;
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`contract?id=${res['data']['id']}`
url:`contract`
});
}else{
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
const selectedPersonalStatement = this.dropOptionsInfoList.filter((item) => {
return item.status == 1;
});
if (!selectedPersonalStatement.length) {
uni.showToast({
title: res['message'],
title: '请选择至少一项个人声明!',
duration: 2000,
icon: 'none'
})
return;
return;
}
})
this.personalStatementList = [];
for(let i=0;i<selectedPersonalStatement.length;i++){
this.personalStatementList.push(selectedPersonalStatement[i]['dropOptionName']);
}
this.applyParam.personalStatement = this.personalStatementList .join(',');
this.applyParam.operatStep = 6;
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`contract?id=${res['data']['id']}`
url:`contract`
});
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
}
})
}else{
uni.navigateTo({
// url:`contract?id=${res['data']['id']}`
url:`contract`
});
}
}
}
}
......
<template>
<view class="container">
<view class="page">
<text class="num actived pass">1</text>
<text class="line line_pass"></text>
<text class="num actived pass">2</text>
<text class="line line_pass"></text>
<text class="num actived pass">3</text>
<text class="line line_pass"></text>
<text class="num actived pass">4</text>
<text class="line line_pass"></text>
<text class="num actived pass">5</text>
<text class="line line_pass"></text>
<text class="num actived pass">6</text>
<text class="line line_pass"></text>
<text class="num actived pass">7</text>
<text class="line line_pass"></text>
<text class="num actived">8</text>
</view>
<view class="title">
<view>
<text class="line"></text>电子签名<text style="font-size: 20rpx;font-weight: normal;">(请书写工整,字迹清晰)</text>
</view>
<text class="page_mark">8/8</text>
</view>
<view class="signatureContent">
<view class="signatureContent" v-if="!applyParam.personalSignOssPath">
<e-signature :showCanvas="showCanvas" ref="signatureComponent" @sendImage="getImage"></e-signature>
</view>
<image :src="applyParam.personalSignOssPath" mode="widthFix" v-if="applyParam.personalSignOssPath"></image>
<view class="fixed" url="bank-card" @click="save()">
我自愿签订推广人合同书
{{(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2)?'我自愿签订推广人合同书':'下一步'}}
</view>
</view>
</template>
......@@ -18,7 +36,7 @@
<script>
import eSignature from '@/components/eSignature/eSignature.vue';
import api from '../../api/api';
import { nextTick } from "vue";
import { nextTick } from "vue";
export default {
data() {
return {
......@@ -32,41 +50,74 @@ import { nextTick } from "vue";
}
},
components:{eSignature},
onLoad() {
onLoad(options) {
if(uni.getStorageSync('applyId')){
setTimeout(()=>{
this.queryById(uni.getStorageSync('applyId'))
},500)
this.queryById(uni.getStorageSync('applyId'),null)
}else if(options.shareId){
this.queryById(options.shareId,null)
}else{
this.queryById(null,uni.getStorageSync('cffp_userId'))
}
},
methods: {
save(){
this.$refs.signatureComponent.finish()
if(this.applyParam.personalSignOssPath){
this.saveApplyInfo();
}else{
this.$refs.signatureComponent.finish()
}
},
queryById(id){
api.queryById(id).then((res)=>{
queryById(id,userId){
api.queryById({id:id,userId:userId}).then((res)=>{
if(res['success']){
this.applyParam = res['data']['data'];
}
})
},
getImage(e){
this.applyParam.personalSignOssPath = e;
api.saveApplyInfo(this.applyParam).then((res)=>{
api.saveDigitalSignatures({imgStr:e}).then((res)=>{
console.log(res)
if(res['success']){
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
// this.applyParam.personalSignOssPath = e;
this.applyParam.personalSignOssPath = res['data']['filePath'];
this.saveApplyInfo();
}
})
},
saveApplyInfo(){
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
this.applyParam = {
...this.applyParam,
operatStep:99
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
url: `application-result?partnerLevel=${this.applyParam.partnerLevel}&areaName=${this.applyParam.areaName}`,
success: res => {},
fail: () => {},
complete: () => {}
});
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
}
})
}else{
uni.navigateTo({
url: `application-result?partnerLevel=${this.applyParam.partnerLevel}&areaName=${this.applyParam.areaName}`,
success: res => {},
fail: () => {},
complete: () => {}
});
}
}
}
}
</script>
......
<template>
<view class="container">
<view class="title">
<view>
<text class="line"></text>从业经历
</view>
<text class="page_mark">2/8</text>
</view>
<view class="content">
<view class="contentDetail employ">
<view class="contentItem">
<text>职业类型</text>
<picker @change="changeIndustry" :value="industryIdx" :range="industry"
range-key="industryName">
<view class="uni-input">{{industry[industryIdx]['industryName']}}
<text class="iconfont icon-youjiantou"></text>
<view class="page">
<text class="num actived pass">1</text>
<text class="line line_pass"></text>
<text class="num actived">2</text>
<text class="line"></text>
<text class="num">3</text>
<text class="line"></text>
<text class="num">4</text>
<text class="line"></text>
<text class="num">5</text>
<text class="line"></text>
<text class="num">6</text>
<text class="line"></text>
<text class="num">7</text>
<text class="line"></text>
<text class="num">8</text>
</view>
<view class="wrapper">
<view class="title">
<view>
<text class="line"></text>从业经历
</view>
<text class="page_mark">2/8</text>
</view>
<view class="content">
<view class="contentDetail employ">
<view class="contentItem">
<text>职业类型</text>
<picker @change="changeIndustry" :value="industryIdx" :range="industry"
range-key="industryName" :disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2">
<view class="uni-input">{{industry[industryIdx]['industryName']}}
<text class="iconfont icon-youjiantou"></text>
</view>
</picker>
</view>
<view class="contentItem">
<text>最近一次工作单位</text>
<input type="text" class="form-control" placeholder="非必填" v-model="applyParam.workingCompany"
:disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"/>
</view>
<view class="contentItem">
<text>职位</text>
<input type="text" class="form-control" placeholder="非必填" v-model="applyParam.position"
:disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"/>
</view>
<view class="contentItem">
<text>任职开始时间</text>
<picker mode="date" :value="applyParam.workingStart" @change="bindWorkingStart" :disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2">
<view v-if="!applyParam.workingStart">请选择<text class="iconfont icon-youjiantou"></text></view>
<view class="uni-input" v-if="applyParam.workingStart">{{applyParam.workingStart}}<text class="iconfont icon-youjiantou"></text></view>
</picker>
</view>
<view class="contentItem">
<text>结束时间</text>
<picker mode="date" :value="applyParam.workingEnd" @change="bindWorkingEnd" :disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2">
<view v-if="!applyParam.workingEnd">请选择<text class="iconfont icon-youjiantou"></text></view>
<view class="uni-input" v-if="applyParam.workingEnd">{{applyParam.workingEnd}}<text class="iconfont icon-youjiantou"></text></view>
</picker>
</view>
<view class="contentItem" style="border: 0;">
<text>荣誉证书</text>
</view>
</view>
<view class="photo_wrapper" @click="upLoadPhoto()" v-if="!applyParam.certificate">
<text class="iconfont icon-weibiaoti553"></text>
<view style="margin-top: 10px;">点击添加荣誉证书照片</view>
</view>
<view v-if="applyParam.certificate">
<view class="pic_list" v-for="picItem in picList">
<image :src="picItem" mode="widthFix"></image>
</view>
</picker>
</view>
<view class="contentItem">
<text>最近一次工作单位</text>
<input type="text" class="form-control" placeholder="非必填" v-model="applyParam.workingCompany" />
</view>
<view class="contentItem">
<text>职位</text>
<input type="text" class="form-control" placeholder="非必填" v-model="applyParam.position"/>
</view>
<view class="contentItem">
<text>任职开始时间</text>
<picker mode="date" :value="applyParam.workingStart" @change="bindWorkingStart">
<view v-if="!applyParam.workingStart">请选择<text class="iconfont icon-youjiantou"></text></view>
<view class="uni-input" v-if="applyParam.workingStart">{{applyParam.workingStart}}<text class="iconfont icon-youjiantou"></text></view>
</picker>
</view>
<view class="contentItem">
<text>结束时间</text>
<picker mode="date" :value="applyParam.workingEnd" @change="bindWorkingEnd">
<view v-if="!applyParam.workingEnd">请选择<text class="iconfont icon-youjiantou"></text></view>
<view class="uni-input" v-if="applyParam.workingEnd">{{applyParam.workingEnd}}<text class="iconfont icon-youjiantou"></text></view>
</picker>
</view>
<view class="contentItem" style="border: 0;">
<text>荣誉证书</text>
</view>
</view>
<view class="photo_wrapper" @click="upLoadPhoto()" v-if="!applyParam.certificate">
<text class="iconfont icon-weibiaoti553"></text>
<view style="margin-top: 10px;">点击添加荣誉证书照片</view>
</view>
<view v-if="applyParam.certificate">
<view class="pic_list" v-for="picItem in picList">
<image :src="picItem" mode="widthFix"></image>
</view>
<view class="tips">
<view>(jpg,png 文件大小不大于1mb)</view>
</view>
<view class="upLoadMore" v-if="applyParam.certificate" @click="upLoadPhoto()">
<view class="iconfont icon-jiahao"></view>
<view>上传更多</view>
</view>
</view>
<view class="tips">
<view>(jpg,png 文件大小不大于1mb)</view>
</view>
<view class="upLoadMore" v-if="applyParam.certificate" @click="upLoadPhoto()">
<view class="iconfont icon-jiahao"></view>
<view>上传更多</view>
</view>
</view>
<view class="fixed" @click="saveInfo()">
保存并下一步
</view>
<view class="fixed" @click="saveInfo()">
{{(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2)?'保存并下一步':'下一步'}}
</view>
</view>
</template>
......@@ -97,15 +117,15 @@
components:{},
onLoad(options){
this.occupationQry();
// console.log(options)
// if(options.id){
// this.queryById(options.id)
// }
if(uni.getStorageSync('applyId')){
setTimeout(()=>{
this.queryById(uni.getStorageSync('applyId'))
},500)
}
setTimeout(()=>{
if(uni.getStorageSync('applyId')){
this.queryById(uni.getStorageSync('applyId'),null)
}else if(options.shareId){
this.queryById(options.shareId,null)
}else{
this.queryById(null,uni.getStorageSync('cffp_userId'))
}
},500)
},
methods:{
changeIndustry: function(e){
......@@ -129,48 +149,57 @@
})
},
upLoadPhoto(event){
CommonUpload(this.dataForm).then(res => {
this.applyParam.certificate = res.data.filePath;
this.picList.push(this.applyParam.certificate);
});
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
CommonUpload(this.dataForm).then(res => {
this.applyParam.certificate = res.data.filePath;
this.picList.push(this.applyParam.certificate);
});
}
},
saveInfo(){
if(!this.applyParam.workingCategoryId){
uni.showToast({
title: '请选择职业类型',
duration: 2000,
icon: 'none'
})
return;
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:2,
// userId:uni.getStorageSync('cffp_userId'),
userId:42,
id:17,
certificate:this.picList.join(',')
}
console.log(this.applyParam)
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`id-card?id=${res['data']['id']}`
url:`id-card`
});
}else{
if(this.applyParam.approvalStatus== 0 || this.applyParam.approvalStatus == 2){
if(!this.applyParam.workingCategoryId){
uni.showToast({
title: res['message'],
title: '请选择职业类型',
duration: 2000,
icon: 'none'
})
return;
}
})
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:2,
// userId:uni.getStorageSync('cffp_userId'),
userId:42,
id:17,
certificate:this.picList.join(',')
}
console.log(this.applyParam)
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
uni.navigateTo({
// url:`id-card?id=${res['data']['id']}`
url:`id-card`
});
}else{
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
})
return;
}
})
}else{
uni.navigateTo({
// url:`id-card?id=${res['data']['id']}`
url:`id-card`
});
}
},
queryById(id){
api.queryById(id).then((res)=>{
queryById(id,userId){
api.queryById({id:id,userId:userId}).then((res)=>{
console.log(res)
if(res['success']){
this.applyParam = res['data']['data'];
......
......@@ -47,7 +47,7 @@
},
methods:{
querySystemMessage() {
api.querySystemMessage({systemType:1,userId:2}).then(res => {
api.querySystemMessage({systemType:1,userId:uni.getStorageSync('cffp_userId')}).then(res => {
if (res['success']) {
this.system_msgs_list = res['data']['dataList'];
}else{
......
......@@ -77,7 +77,8 @@
taxAmount:null,
noTaxAmount:null,
paymentMethod:2,//初始化支付宝提现
withdrawalParam:null,
aliWithdrawalResVO:null,
wxWithdrawalResVO:null
}
},
components:{},
......@@ -97,13 +98,13 @@
api.goFortuneWithdrawal(param).then((res)=>{
console.log(res)
if(res['success']){
const data = res['data']['cffpFortuneExchangeVO']
const data = res['data']
this.exchangeAmount = data.exchangeAmount;
this.partnerTradeNo = data.partnerTradeNo;
this.taxAmount = data.taxAmount;
this.noTaxAmount = data.noTaxAmount;
this.withdrawalParam = res['data'];
this.withdrawalParam.cffpFortuneExchangeVO = undefined;
this.aliWithdrawalResVO = data['aliWithdrawalResVO'];
this.wxWithdrawalResVO = data['wxWithdrawalResVO'];
}else{
this.exchangeAmount = 0;
this.partnerTradeNo = null;
......@@ -117,11 +118,11 @@
},
//支付宝去提现
aliWithdrawal(){
this.withdrawalParam = {
...this.withdrawalParam,
orderNo:'CFFPTX221129164200020081'
this.aliWithdrawalResVO = {
...this.aliWithdrawalResVO,
orderNo:this.partnerTradeNo
}
api.aliWithdrawal(this.withdrawalParam).then((res)=>{
api.aliWithdrawal(this.aliWithdrawalResVO).then((res)=>{
console.log(res)
})
},
......@@ -139,7 +140,7 @@
// 判断平台
if (plus.os.name == 'Android') {
plus.runtime.openURL(
'alipays://platformapi/startapp?appId=2021003161624312&url=' + urls,
'alipays://platformapi/startapp?appId=20000067&url=' + urls,
res => {
//这里写打开URL地址失败后的处理
console.log(res);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment