Commit 5e840888 authored by youjie's avatar youjie

大红包列表

parent a04a1ba7
<template>
<view class="PaymentProBox column">
<view class="PaymentProTitle row items-center justify-center">
<image :src="stateImg[0]" />
<text>打款中</text>
<image v-if="authInfor.Status==1||authInfor.Status==3" :src="stateImg[0]" />
<image v-if="authInfor.ContractStatus==5&&authInfor.Status==2" :src="stateImg[1]" />
<text>
<template v-if="authInfor.Status==1||authInfor.Status==3">
审核中
</template>
<template v-if="authInfor.ContractStatus==4&&authInfor.Status==2">
打款中
</template>
<template v-if="(authInfor.ContractStatus==1||authInfor.ContractStatus==5)&&authInfor.Status==2">
已完成
</template>
</text>
</view>
<view class="PaymentProCenterForm column">
<scroll-view :scroll-y="true"
......@@ -11,21 +22,32 @@
<view class="PaymentProCTitle">结算账户/业务代表</view>
<view class="PaymentProCText row-sbas-n">
<view>银行名称</view>
<view class="col">中国银行</view>
<view class="col">{{ authInfor.BankName }}</view>
</view>
<view class="PaymentProCText row-sbas-n">
<view>银行账户</view>
<view class="col">中国银行</view>
<view class="col">{{ authInfor.CardNum }}</view>
</view>
<view class="PaymentProCText row-sbas-n">
<view>开户行</view>
<view class="col">中国银行</view>
<view class="col">{{ authInfor.OpenBankName }}</view>
</view>
<view class="PaymentProCText row-sbas-n">
<view>开户姓名</view>
<view class="col">{{ authInfor.OpenBankName }}</view>
</view>
<view class="PaymentProCText row-sbas-n">
<view>电话</view>
<view class="col">中国银行</view>
<view class="col">{{ authInfor.ContactNumber }}</view>
</view>
<view class="PaymentProCText row-sbas-n">
<view>服务人员</view>
<view class="col">{{ authInfor.EnterName }}</view>
</view>
<view class="PaymentProCJD">
<template v-if="type==2">审核进度</template>
<template v-else-if="type==3">提现进度</template>
</view>
<view class="PaymentProCJD">提现进度</view>
<view>
<view class="PaymentProCJDBox row-sbas-n items-center"
v-for="(item,index) in stepList"
......@@ -41,17 +63,24 @@
</view>
<view class="PaymentProCJDText">{{ item.Name }}</view>
</view>
<view class="PaymentProCJDBoxR">2025.4.8</view>
<view class="PaymentProCJDBoxR">
<template v-if="type==2&&((authInfor.Status==1&&!index)||authInfor.Status==3)">{{ item.Time }}</template>
</view>
</view>
</view>
</view>
</scroll-view>
<view class="PaymentProButBox row">
<view class="PaymentProBut PaymentProButL col">返回</view>
<view class="PaymentProBut PaymentProButR col">查看数据</view>
<view v-if="(type==2&&authInfor.Status==3)||type==3"
class="PaymentProBut PaymentProButR col"
@click="goUrl">
<template v-if="type==2&&authInfor.Status==3">修改认证</template>
<template v-else-if="type==3">查看数据</template>
</view>
</view>
<view style="height: 100rpx;"></view>
</view>
<view style="height: 20rpx;"></view>
<auth v-if="showAuth&&is_show_auth==1" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
</view>
</template>
......@@ -70,26 +99,32 @@ export default {
name: '',
time: '',
},
customer: null,
showAuth: false,
stepList:[
{Name:'营业执照',Id:1},
{Name:'法人身份证',Id:2},
{Name:'银行账户',Id:3},
{Name:'线上签约',Id:4},
stepList:[],
toExamineSteps:[
{Name:'审核中',Id:1,Time:'',},
{Name:'审核通过',Id:2,Time:'',},
],
StepNum: 1,
StepNum: 0,
U:{},
b2bUser:{},
is_show_auth: 0,
stateImg:[
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638797293350216749.png',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638797058914190239.png'
]
],
authInfor: null,
type: 0,
}
},
onLoad(options) {
this.customer = uni.getStorageSync("b2b_user");
this.ContractId = options.ContractId
this.type = options.type?options.type:0
if(this.type==2){
uni.setNavigationBarTitle({
title: "合同",
});
}
},
onShow() {
this.U = uni.getStorageSync("mall_UserInfo");
......@@ -117,9 +152,62 @@ export default {
}
},
mounted() {
this.getInfor()
this.getSignDetails()
},
methods: {
goUrl(){
if(this.type==2){
uni.navigateTo({//结算中
url: `/pages/bigredrnvelope/signAcontract?ContractId=${this.ContractId}`
})
}else if(this.type==3){//进行中
uni.navigateTo({
url: `/pages/bigredrnvelope/ActivityInProgress?ContractId=${this.ContractId}`
})
}else if(this.type==4){//可结算
uni.navigateTo({
url: `/pages/bigredrnvelope/SettableList?ContractId=${this.ContractId}`
})
}
},
getSignDetails(){
uni.showLoading({
title: '加载中',
mask: true
})
this.apipost('app_customer_GetAuthenticationContractDetails',{
ContractId: this.ContractId
},
res=>{
if (res.resultCode == 1) {
let data = res.data
this.Details = data
if(this.type==2){
this.toExamineSteps[0].Time = data.CreateTime
this.toExamineSteps[1].Time = data.UpdateTime
this.stepList = JSON.parse(JSON.stringify(this.toExamineSteps))
}
uni.hideLoading()
}
})
},
getInfor(){
this.apipost('app_customer_GetAuthenticationDetails',{
CustomerInfoChildrenId: this.b2bUser.customerInfoChildrenId
},
res=>{
if (res.resultCode == 1) {
let data = res.data
this.authInfor = data
if(this.type==2){
if(this.authInfor.Status==1||this.authInfor.Status==3) this.StepNum = 0
else this.StepNum = 1
}
}
})
},
reloadUserinfo() {
const pages = getCurrentPages()
const curPage = pages[pages.length-1]
......@@ -143,7 +231,7 @@ export default {
.PaymentProTitle{
font-size: 40rpx;
font-weight: bold;
padding: 80rpx 0 50rpx 0;
padding: 40rpx 0 50rpx 0;
}
.PaymentProTitle image{
width: 43rpx;
......
<template>
<u-upload :action="action"
@on-remove="onRemove"
max-count="1"
:show-upload-list="true"
:deletable="true"
:show-progress="false"
:show-tips="false"
:custom-btn="true"
@on-success="uploadSuccessHandler">
<view slot="addBtn" class="slot-btn">
<u-icon name="photograph" size="40" color="#888"></u-icon>
<view class="mian-title">上传图片</view>
<view class="upImg row justify-center items-center" @click="chooseImg">
<template v-if="img">
<image @click.stop="previewImage" :src="img" mode="aspectFit"/>
<view class="row justify-center items-center">
<view>重新上传</view>
</view>
</template>
</view>
</u-upload>
</template>
<script>
export default {
components: {
},
props: ['img','type'],
components: { },
data() {
return {
action: this.host2 + "/api/File/UploadTencent",
fileList: [],
mode: 'widthFix'
access_token: '',
}
},
onLoad(options) {
},
onShow() {},
onShow() {
},
mounted() {
},
methods: {
onRemove(index) {
this.$emit('onRemove', 1);
// this.msg[1].CommentImgList.splice(index, 1);
//获取百度ai平台token
getAccess_token() {
let that = this;
uni.request({
url: "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=8gjFAsKQBmkRXwWIWkstlQew&client_secret=SBUAtyEBTQpVmA81W4u2vS5ScPwfRNBS", // 百度获取token接口地址
data: {
grant_type: "client_credentials", // 固定写死
client_id: "8gjFAsKQBmkRXwWIWkstlQew", // by:chaoxuekeji
client_secret: "SBUAtyEBTQpVmA81W4u2vS5ScPwfRNBS",
},
method: "POST",
success(res) {
console.log("获取token成功", res);
that.access_token = res.data.access_token;
},
fail(e) {
},
});
},
previewImage() {
uni.previewImage({
urls: [this.img],
current: this.img,
longPressActions: {
itemList: ["发送给朋友", "保存图片", "收藏"],
success: function(data) {},
fail: function(err) {
console.log(err.errMsg);
},
uploadSuccessHandler(data, index, lists) {
let r = JSON.parse(data);
this.$emit('onSuccess', r.data);
console.log(r.data,'------');
},
});
},
chooseImg() {
this.getAccess_token()
let that = this;
uni.chooseImage({
count: 1, //默认9
sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有
sourceType: ["album"], //从相册选择
success: function (res) {
wx.getFileSystemManager().readFile({
filePath: res.tempFilePaths[0],
encoding: "base64", //编码格式
success: (ans) => {
that.getImgInfo(ans.data, that.access_token, (_res) => {
if (_res.data.direction == 1) {
//未定义,图片类型错误
wx.showToast({
title: "图片类型错误!",
icon: "none",
duration: 1000,
});
} else {
let datas = _res.data.words_result;
that.upFile(res.tempFilePaths[0], (uploadRes) => {
let BusinessLicense = JSON.parse(
uploadRes.data
).data;
let infor = {}
infor.BusinessLicense = BusinessLicense
if(that.type == '1'){
infor.CompanyName = datas.单位名称.words
infor.LegalPerson = datas.法人.words
infor.UnifiedCode = datas.社会信用代码.words
infor.Addres = datas.地址.words
}else if(that.type == '2'){
infor.LegalIdCardNumber = datas.公民身份号码.words
}else if(that.type == '3'){
let y = datas.失效日期.words.substring(0, 4)
let m = datas.失效日期.words.substring(4, 6)
let d = datas.失效日期.words.substring(6, 8)
infor.LegalIdCardTime = `${y}-${m}-${d}`
}
console.log("infor", infor);
that.$emit('onSuccess', infor);
});
}
});
},
});
},
});
},
//图片上传
upFile(img, resCall) {
uni.showLoading({
title: "上传中",
});
uni.uploadFile({
url: this.action,
filePath: img,
name: "field",
formData: {
user: "test",
},
success: (uploadFileRes) => {
uni.hideLoading();
resCall(uploadFileRes);
},
fail: function (res) {
wx.showToast({
title: "上传失败!",
icon: "none",
duration: 1000,
});
},
});
},
//提取营业执照信息
getImgInfo(data, token, resCall) {
let that = this;
let url = "";
let id_card_side = ""
if(that.type==1) url = "https://aip.baidubce.com/rest/2.0/ocr/v1/business_license?"
else if(that.type==2||that.type==3) {
url = "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?"
id_card_side = that.type==2?"front":"back"
}
console.log(`${url}access_token=${token}`,"url---");
uni.request({
url:`${url}access_token=${token}`,
method: "POST",
header: {
"Content-Type": "application/x-www-form-urlencoded",
},
data: {
image: data,
id_card_side,
},
success(res) {
resCall(res);
},
fail(res) {
wx.showToast({
title: "图片类型错误!",
icon: "none",
duration: 1000,
});
},
});
},
}
}
</script>
<style lang="scss" scoped>
@import url("@/asset/css/flex.css");
.slot-btn{
opacity: 0;
position: absolute;
left: 0;
top: 0;
.upImg{
width: 100%;
height: 100%;
z-index: 2;
}
.mian-image{
.upImg image{
width: 100%;
height: 100%;
}
.upImg view{
position: absolute;
left: 0;
right: 0;
z-index: 2;
bottom: 10rpx;
}
.upImg view view{
width: 252rpx;
border-radius: 50rpx;
border: 1rpx solid #0399FF;
color: #0399FF;
background: #F3F5F9;
font-size: 32rpx;
font-weight: 800;
margin: auto;
line-height: 80rpx;
padding: 0 31rpx;
text-align: center;
}
</style>
......@@ -9,63 +9,163 @@
style="width: 100%;height: 1px;flex: 1;">
<view class="bigRedEnvLCBox">
<!-- activeDaiKQ activeJinXZ activeChaK activeChaKJD-->
<view class="bigRedEnvLC " v-for="(item,index) in 5" :key="index"
:class="[{'activeDaiKQ':index==0,'activeJinXZ':index==1,
'activeChaK':index==2,'activeChaK':index==3,'activeChaKJD':index==4}]">
<view class="bigRedEnvLCBj row items-center">
<view class="bigRedEnvLC " v-for="(item,index) in dataList" :key="index"
:class="[{'activeDaiKQ':item.ContractStatus==3&&item.Status==2,
'activeJinXZ':item.ContractStatus==2&&item.Status==2,
'activeChaK':(item.ContractStatus==4||ContractStatus==5)&&Status==2,
'activeChaKJD':item.Status==1||item.Status==3}]">
<view class="bigRedEnvLCBj">
<view class="row items-center">
<view class="bigRedEnvLCLeft col">
<view class="bigRedEnvLCLTitle">2025 <text>年度大红包</text></view>
<view v-if="index!=4" class="bigRedEnvLCLTime">提交时间:2025年1月2日</view>
<view class="bigRedEnvLCLTitle"><text>{{ item.C_ProductName }}</text></view>
<view v-if="item.Status!=1" class="bigRedEnvLCLTime">
<template v-if="item.ContractStatus==3&&item.Status==2">提交时间:{{ item.C_PayDate }}</template>
<template v-if="(item.ContractStatus==4||ContractStatus==5)&&Status==2">结算时间{{ item.JieSuan }}</template>
</view>
</view>
<view class="bigRedEnvLCRight">
<view class="bigRedEnvLCRBox column" v-if="index<4">
<view class="bigRedEnvLCRTitle">- <text>待开启</text> -</view>
<view class="bigRedEnvLCbigRedEnvLCLTimeRBox column"
v-if="item.Status!=1&&item.Status!=3"
@click="(item.ContractStatus==4||item.ContractStatus==5)&&Status==2?goDetails(item,3):''">
<view class="bigRedEnvLCRTitle">-
<text>
<template v-if="item.ContractStatus==3&&item.Status==2">待开启</template>
<template v-if="item.ContractStatus==2&&item.Status==2">进行中</template>
<template v-if="item.ContractStatus==4&&Status==2">结算中</template>
<template v-if="item.ContractStatus==5&&item.Status==2">已完成</template>
</text> -</view>
<view class="bigRedEnvLCRText">
¥
<text>21886</text>
<text>{{ item.TotalClosePrice }}</text>
</view>
<view class="bigRedEnvLCRTYg">预估</view>
</view>
<view v-if="index==4" class="bigRedEnvLCRBut">
<view v-if="item.Status==1" class="bigRedEnvLCRBut" @click="goDetails(item,2)">
查看进度
</view>
<view v-if="item.Status==3" class="bigRedEnvLCRBut" @click="goDetails(item,1)">
重新填写
</view>
</view>
</view>
<view class="bigRedEnvLiYou" v-if="item.Status==3">
驳回理由:{{ item.AuditContractReason }}
</view>
</view>
</view>
<!--
<u-empty v-if="dataList.length == 0" text="暂无数据" mode="data" padding-top="10"></u-empty>
-->
</view>
</scroll-view>
<view class="bigRedEnvLRule" @click="goUrl">
<text>大红包规则</text>
</view>
<view style="height: 112rpx;"></view>
<auth v-if="showAuth&&is_show_auth==1" @changeuserinfo="reloadUserinfo" @gbAuth="gbAuth"></auth>
</view>
</template>
<script>
import auth from "@/components/auth/index.vue";
import headers from "@/components/header/header";
export default {
components: {
auth,
headers
},
data() {
return {
page:'',
Details: null,
dataList: [],
U: {},
showAuth: false,
is_show_auth: 0,
b2bUser:{},
}
},
onLoad(options) {
},
onShow() {
this.U = uni.getStorageSync("mall_UserInfo");
this.b2bUser = uni.getStorageSync("b2b_user");
let basedata = uni.getStorageSync("basedata");
//判断后台是否开启自动授权
if (basedata && basedata.mall
&& basedata.mall.setting
&& basedata.mall.setting.is_show_auth ==1) {
this.is_show_auth = 1;
}
if (!this.U) {
this.U = {
nickName: "未登录",
avatarUrl: "",
};
this.showAuth = true;
} else if (!this.b2bUser && this.is_show_auth == 1) {
this.U = {
nickName: "未登录",
avatarUrl: "",
};
this.showAuth = true;
}
},
mounted() {
this.getList()
},
methods: {
goUrl(){
goDetails(item,type){
let path = '';
if(type==1){
path = 'signAcontract?'
}else if(type==2){
path =`PaymentProgress?type=${type}&`
}
uni.navigateTo({
url: '/pages/bigredrnvelope/rule'
url: `/pages/bigredrnvelope/${path}ContractId=${item.ContractId}`
})
},
getList(){
uni.showLoading({
title: '加载中',
mask: true
})
// app_customer_GetAuthenticationContractDetails
this.apipost('app_customer_GetAuthenticationDetails',{
CustomerInfoChildrenId: this.b2bUser.customerInfoChildrenId
},
res=>{
if(res.resultCode==1){
this.Details = res.data;
this.dataList = res.data.ContractList;
if(this.Details.IsRenewalContract==1) this.goUrl()
uni.hideLoading()
}
},err=>{
uni.hideLoading()
})
},
goUrl(){
uni.navigateTo({
url: `/pages/bigredrnvelope/rule?IsRenewalContract=${this.Details.IsRenewalContract}`
})
},
reloadUserinfo() {
const pages = getCurrentPages()
const curPage = pages[pages.length-1]
curPage.onLoad(curPage.options)
curPage.onShow()
curPage.onReady()
},
//关闭登录窗口
gbAuth() {
this.showAuth = false;
},
}
}
</script>
......@@ -110,13 +210,13 @@ export default {
.bigRedEnvLCLeft{
color: #E95E2F;
position: relative;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.bigRedEnvLCLTitle{
font-weight: 800;
font-size: 48rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.bigRedEnvLCLTime{
font-weight: 500;
......@@ -128,7 +228,7 @@ export default {
.bigRedEnvLCRight{
width: 171rpx;
position: relative;
margin-left: 10rpx;
margin-left: 20rpx;
}
.bigRedEnvLCRBox{
width: 165rpx;
......@@ -137,6 +237,11 @@ export default {
top: -112rpx;
padding: 15rpx 19rpx 0 19rpx;
}
.bigRedEnvLiYou{
font-size: 20rpx;
color: #E95E2F;
margin-top: 2rpx;
}
.bigRedEnvLC.activeDaiKQ .bigRedEnvLCRBox{
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796302778454702.png')no-repeat;
background-size: 100% 100%;
......
......@@ -3,7 +3,9 @@
<image mode="" style="height: 568rpx;" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333602414702.jpg"/>
<image mode="" style="height: 939rpx;" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333646350233.jpg"/>
<image mode="" style="height: 1031rpx;" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333741115931.jpg"/>
<image mode="" style="height: 204rpx;" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333810848018.jpg"/>
<image v-if="IsRenewalContract==1" @click="goUrl" mode="" style="height: 204rpx;" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796333810848018.jpg"/>
<image v-else @click="goBack" mode="" style="height: 204rpx;"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638798830960524078.jpg"/>
</view>
</template>
<script>
......@@ -13,16 +15,27 @@ export default {
},
data() {
return {
page: '',
IsRenewalContract: 0,
}
},
onLoad(options) {
this.IsRenewalContract = options.IsRenewalContract?options.IsRenewalContract:0;
},
onShow() {},
mounted() {
},
methods: {
goUrl(){
uni.navigateTo({
url: `/pages/bigredrnvelope/signAcontract?IsRenewalContract=${this.IsRenewalContract}`
})
},
goBack(){
uni.navigateBack({delta:-1})
}
}
}
</script>
<style lang="scss" scoped>
......
......@@ -2,12 +2,12 @@
<view class="signAcontractBox column">
<view class="signAconStepBox row-sbas-n">
<view class="signAconStep row items-center"
:class="[index?'col':'',index>StepNum?'active':'Highlight',]"
:class="[index?'col':'',index>msg.StepNum?'active':'Highlight',]"
v-for="(item,index) in stepList"
:key="index">
<view v-if="index" class="signAconStepLine"></view>
<view class="signAconStepTextBox row items-center justify-center">
<view class="signAconStepN" v-if="index>StepNum">{{ index+1 }}</view>
<view class="signAconStepN" v-if="index>msg.StepNum">{{ index+1 }}</view>
<view class="signAconStepTisp"></view>
<view class="signAconStepText">
<text>{{ item.Name }}</text>
......@@ -16,23 +16,61 @@
</view>
</view>
<scroll-view :scroll-y="true"
style="width: 100%;height: 1px;flex: 1;">
<view class="signAconForm column" v-if="StepNum==0">
<view class="signAconBox">
style="width: 100%;height: 1px;flex: 1;border-radius: 18rpx;overflow: hidden;">
<view class="signAconForm column" v-if="msg.StepNum==0">
<view class="signAconBox col">
<view class="signAconTitle">营业执照</view>
<view class="signAconText">拥有营业资质才能参加大红包</view>
<view class="signAconImg row items-center">
<view v-if="msg.img==''" class="signAconImgBut">上传营业执照</view>
<view class="signAconImg row items-center"
:class="[msg.BusinessLicenseUrl==''?'signAconImgYYZZ':'']">
<view v-if="msg.BusinessLicenseUrl==''" class="signAconImgBut">上传营业执照</view>
<uploadImg class="signAconUp"
type="1"
:img="msg.BusinessLicenseUrl"
@onSuccess="(data)=>{onSuccess(data,1)}"
@onRemove="onRemove(1)"></uploadImg>
></uploadImg>
</view>
<view class="line-flex">
<text class="SaleNameTetxL">营业执照号</text>
<view class="SaleNameTetx">
<input v-model="msg.BusinessLicenseNumber" placeholder="请输入营业执照号"
:placeholder-style="placeholderStyle"/>
</view>
</view>
<view class="line-flex">
<text class="SaleNameTetxL">公司名称</text>
<view class="SaleNameTetx">
<input v-model="msg.Tourists_Name" placeholder="请输入公司名称"
:placeholder-style="placeholderStyle"/>
</view>
</view>
<view class="line-flex">
<text class="SaleNameTetxL">法人名称</text>
<view class="SaleNameTetx">
<input v-model="msg.LegalPersonName" placeholder="请输入法人名称"
:placeholder-style="placeholderStyle"/>
</view>
</view>
<view class="line-flex">
<text class="SaleNameTetxL">经营地址</text>
<view class="SaleNameTetx">
<input v-model="msg.Tourists_Addres" placeholder="请输入经营地址"
:placeholder-style="placeholderStyle"/>
</view>
</view>
<view class="line-flex">
<text class="SaleNameTetxL">经营许可号</text>
<view class="SaleNameTetx">
<input v-model="msg.Tourists_Email" placeholder="请输入经营许可号"
:placeholder-style="placeholderStyle"/>
</view>
</view>
<view class="line-flex"
@click="showSalePreviwe=true">
<view class="line-flex" v-if="SaleList.length>1"
@click="SaleList.length>1?showSalePreviwe=true:''">
<text class="SaleNameTetxL">服务人员</text>
<view class="SaleNameTetx">
<view>
<text v-if=" msg.SaleName">{{ msg.SaleName }}</text>
<text v-if="msg.SaleName">{{ msg.SaleName }}</text>
<text v-else class="SNTRcolor">
请选择
</text>
......@@ -42,39 +80,45 @@
</view>
</view>
<view class="col"></view>
<view class="signAconNext"
<view class="row">
<view class="signAconNext col"
:class="[validate(1)?'':'active']" @click="Next(1)">
下一步
</view>
</view>
<view class="signAconForm column" v-if="StepNum==1">
</view>
<view class="signAconForm column" v-if="msg.StepNum==1">
<view class="signAconBox col">
<view class="signAconTitle">法人身份证</view>
<view class="signAconText">请上传法人身份信息</view>
<view class="signAconImg signAconImgZM row items-center">
<view v-if="msg.img==''" class="signAconImgBut">身份证正面照</view>
<view v-if="msg.LegalIdCardFrontUrl==''" class="signAconImgBut">身份证正面照</view>
<uploadImg class="signAconUp"
type="2"
:img="msg.LegalIdCardFrontUrl"
@onSuccess="(data)=>{onSuccess(data,2)}"
@onRemove="onRemove(2)"></uploadImg>
></uploadImg>
</view>
<view class="signAconImg signAconImgFM row items-center">
<view v-if="msg.img==''" class="signAconImgBut">身份证背面照</view>
<view v-if="msg.LegalIdCardBackUrl==''" class="signAconImgBut">身份证背面照</view>
<uploadImg class="signAconUp"
type="3"
:img="msg.LegalIdCardBackUrl"
@onSuccess="(data)=>{onSuccess(data,3)}"
@onRemove="onRemove(3)"></uploadImg>
></uploadImg>
</view>
<!--
<view class="line-flex">
<text class="SaleNameTetxL">姓名</text>
<view class="SaleNameTetx">
<input v-model="msg.name" placeholder="请输入姓名"
:placeholder-style="placeholderStyle"/>
</view>
</view>
</view>-->
<view class="line-flex">
<text class="SaleNameTetxL">身份证号</text>
<view class="SaleNameTetx">
<input v-model="msg.name" placeholder="请输入身份证号"
<input v-model="msg.LegalIdCardNumber" placeholder="请输入身份证号"
:placeholder-style="placeholderStyle"/>
</view>
</view>
......@@ -82,7 +126,7 @@
<text class="SaleNameTetxL">有效期限</text>
<view class="SaleNameTetx">
<view>
<text v-if=" msg.time">{{ msg.time }}</text>
<text v-if="msg.LegalIdCardTime">{{ msg.LegalIdCardTime }}</text>
<text v-else class="SNTRcolor">
请选择有效期限
</text>
......@@ -92,92 +136,207 @@
<u-picker mode="time" v-model="showOpenTime" :params="params" @confirm="confirmOpenTime"></u-picker>
</view>
<view class="col"></view>
<view class="signAconNext"
<view class="row-sbs-n">
<view class="signAconNext signAconNextL col" @click="Prev(0)">
上一步
</view>
<view class="signAconNext col"
:class="[validate(2)?'':'active']" @click="Next(2)">
下一步
</view>
<view class="opacity0" style="height: 100rpx;">1</view>
</view>
<view class="signAconForm column" v-if="StepNum==2">
</view>
<view class="signAconForm signAconFormYH column" v-if="msg.StepNum==2">
<view class="signAconBox col">
<view class="signAconTitle">银行账户</view>
<view class="signAconText" style="margin-bottom: 23rpx;">请填写能正常使用的银行账户</view>
<view class="line-flex">
<text class="SaleNameTetxL">银行名称</text>
<view class="SaleNameTetx">
<input v-model="msg.name" placeholder="请输入银行名称"
<input v-model="msg.BankName" placeholder="请输入银行名称"
:placeholder-style="placeholderStyle"/>
</view>
</view>
<view class="line-flex">
<text class="SaleNameTetxL">开户行</text>
<view class="SaleNameTetx">
<input v-model="msg.name" placeholder="请输入开户行"
<input v-model="msg.OpenBankName" placeholder="请输入开户行"
:placeholder-style="placeholderStyle"/>
</view>
</view>
<view class="line-flex">
<text class="SaleNameTetxL">开户人</text>
<view class="SaleNameTetx">
<input v-model="msg.AccountHolder" placeholder="请输入开户人"
:placeholder-style="placeholderStyle"/>
</view>
</view>
<view class="line-flex">
<text class="SaleNameTetxL">银行账号</text>
<view class="SaleNameTetx">
<input v-model="msg.name" placeholder="请输入银行账号"
<input v-model="msg.CardNum" placeholder="请输入银行账号"
:placeholder-style="placeholderStyle"/>
</view>
</view>
</view>
<view class="signAconNext"
<view class="row-sbs-n">
<view class="signAconNext signAconNextL col" @click="Prev(1)">
上一步
</view>
<view class="signAconNext col"
:class="[validate(3)?'':'active']" @click="Next(3)">
下一步
</view>
</view>
<view class="signAconForm column" v-if="StepNum==3">
</view>
<view class="signAconForm column" v-if="msg.StepNum==3">
<view class="signAconBox col">
<view class="contractTitle">这里是合同名称</view>
<view class="contractTitle">大红包专案活动合作协议</view>
<view class="contractBox">
<view class="contractBj"></view>
<view class="contractCenter">
第四条 双方权利义务
4.1 甲方责任:
提供完成服务所需的资料及配合;
按约定支付费用。
4.2 乙方责任:
按约定时间、质量完成服务;
对甲方提供的资料保密。
第五条 保密条款
5.1 双方对在合作过程中知悉的对方商业秘密、技术信息等承担保密义务,未经书面同意不得向第三方披露。
5.2 本条款在合同终止后______年内仍有效
5.1 双方对在合作过程中知悉的对方商业秘密、技术信息等承担保密义务,未经书面同意不得向第三方披露。
5.2 本条款在合同终止后______年内仍有效。
</view>
<view class="contractTisp">
<view>甲方:四川和平国际旅行社有限公司</view>
<view>地址:成都市锦江区青和里南段 55 号阳光新业 2310、2311 号</view>
<view>经营许证号:L-SC-CJ00015 法定负责人:谢麟</view>
<view>乙方:</view>
<view>经营地址:</view>
<view>经营许可证号:</view>
<view>法定负责人:</view>
<view>为加强甲乙双方紧密合作,并进一步巩固甲乙双方的合作关系,达到双方
互惠互利的双赢模式,甲方特推出“大红包专案活动”,具体活动时间及内
容如下:</view>
<view>1、活动时间:2024 年 07 月 1 日-2025 年 06 月 30 日(报名起算)</view>
<view>2、活动内容:为答谢各位同行对“印象”系列产品的支持和厚爱,在同行销
售反点外特推出“大红包专案活动”,在“合作协议”期间内同行只要达到
红包申请额度即按照红包系数申请该额度红包。</view>
<view>3、活动要求:</view>
<view>3.1 所有在 2024 年 08 月 31 日前签约此协议的同行均可参加此活动,签约“合
作协议”即视为有效参加,并在合作协议生效后报名第一单开始计算累计销
售额;</view>
<view>3.2 此活动“印象”产品均可参加参与;
此“大红包专案活动”累计销售及红包计算方式如下:</view>
<table>
<tr>
<th>
销售合计金额(预估)
</th>
<th>
累计销售额档次
</th>
<th>
红包系数
</th>
<th>红包(预收)</th>
</tr>
<tr>
<td>
799999 元以下
</td>
<td>
50 万~80 万
</td>
<td>
0.80%
</td>
<td>
6399.99
</td>
</tr>
<tr>
<td>
999999 元以下
</td>
<td>
80 万~100 万
</td>
<td>
1.00%
</td>
<td>
9999.99
</td>
</tr>
<tr>
<td>
1499999 元以下
</td>
<td>
100 万~150 万
</td>
<td>
1.20%
</td>
<td>
17999.99
</td>
</tr>
<tr>
<td>
1500000
</td>
<td>
150 万以上
</td>
<td>
1.50%
</td>
<td>
22500.00
</td>
</tr>
</table>
<view> 5、乙方累计销售金额达标即可申请大红包,由甲方审批通过后转至乙方公帐</view>
<view>(备注:乙方需提前向甲方出具相同金额的发票)</view>
<view>5.1 乙方账户信息</view>
<view>开户行:</view>
<view>帐号:</view>
<view>同行系统帐号:</view>
<view>6、此活动与“印象”其它活动互不影响,同行均可同时参加享受。</view>
<view>7、签订协议内容:</view>
<view>7.1 本协议一式两份,甲乙双方各执一份,具有同等法律效力;</view>
<view>7.2 本协议有效期为 2024 年 07 月 1 日-2025 年 06 月 30 日。</view>
<view>8、本协议需填写完整 5.1 事项内容并由甲乙双方负责人签字并加盖公章方能
生效;</view>
<view>协议中未尽事宜,双方可协商解决或签订补充协议,其效力与本协议相等。</view>
<view>甲方:四川和平国际旅行社有限公司 乙方:</view>
<view>法定代表人(或授权代表): 法定代表人(或授权代表):</view>
</view>
<view class="contractTisp" @click="getUrl(1)">
<view>请仔细阅读条款</view>
<view>
<image style="width: 24rpx;height: 27rpx;margin-top: 20rpx;" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638797066116118344.png"/>
</view>
</view>
</view>
<view class="contractSign row justify-center">
<view class="contractSign row justify-center" @click="getUrl(2)">
<view>签字确认</view>
</view>
</view>
<view class="signAconNext"
:class="[validate(4)?'':'active']" @click="Next(4)">
<view class="row-sbs-n">
<view v-if="msg.StepNum<4&&!loading" class="signAconNext signAconNextL col" @click="Prev(2)">
上一步
</view>
<view class="signAconNext col"
:class="[msg.StepNum==4||loading?'':'active']" @click="Next(4)">
提交
</view>
<view class="opacity0" style="height: 100rpx;">1</view>
</view>
<view class="signAconForm column" v-if="StepNum==4">
</view>
<view class="signAconForm column" v-if="msg.StepNum==4">
<view class="signAconBox column col">
<view class="column justify-center col">
<image class="contractImg" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638797058914190239.png"></image>
<view class="contractSText">已签字</view>
</view>
<view class="contractSign row justify-center">
<view>重新签字</view>
<view style="margin-left: 50rpx;">查看条款</view>
<view @click="getUrl(2)">重新签字</view>
<view style="margin-left: 50rpx;" @click="getUrl(1)">查看条款</view>
</view>
</view>
<view class="signAconNext"
:class="[validate(4)?'':'active']" @click="Next(4)">
:class="[msg.StepNum==4?'':'active']" @click="Next(4)">
提交
</view>
</view>
......@@ -205,13 +364,31 @@ export default {
SaleList: [],
msg: {
SaleName: '',
SaleId: '',
img: '',
name: '',
time: '',
SaleId: 0,
Id: 0,
EnterId: 0,// 销售
Tourists_Addres:'',// 经营地址
StepNum: 0,// 当前步骤信息 一共4步1-营业执照,2-法人信息3-账户信息4-合同
BusinessLicenseUrl:'',// 营业执照图片
BusinessLicenseNumber:'',// 营业执照号
Tourists_Email:'',// 经营许可证号
Tourists_Name:'',// 公司名称
LegalPersonName:'',// 法人姓名
LegalIdCardFrontUrl:'',// 身份证正面
LegalIdCardBackUrl:'',// 身份证反面
LegalIdCardNumber:'',// 身份证号
LegalIdCardTime:'',// 身份证有效期
OpenBankName:'',// 开户支行
BankName:'',// 所属银行
CardNum:'',// 卡号
AccountHolder:'',// 开户人
ContractId:'',// 合同id
Tourists_Sign:'',// 签名
C_StartDate:'',// 合同开始时间
C_EndDate:'',// 合同结束时间
},
oldMsg: null,
showSalePreviwe: false,
customer: null,
showAuth: false,
stepList:[
{Name:'营业执照',Id:1},
......@@ -219,7 +396,6 @@ export default {
{Name:'银行账户',Id:3},
{Name:'线上签约',Id:4},
],
StepNum: 3,
U:{},
b2bUser:{},
is_show_auth: 0,
......@@ -232,11 +408,19 @@ export default {
minute: false,
second: false
},
placeholderStyle: "color: #DBE0EC"
placeholderStyle: "color: #DBE0EC",
loading: false,
IsRenewalContract: 0,
ContractId: 0,
}
},
onLoad(options) {
this.customer = uni.getStorageSync("b2b_user");
if(options.IsRenewalContract) {
this.IsRenewalContract = options.IsRenewalContract
}
if(options.ContractId) {
this.ContractId = options.ContractId
}
},
onShow() {
this.U = uni.getStorageSync("mall_UserInfo");
......@@ -267,20 +451,120 @@ export default {
this.getSale()
},
methods: {
Prev(type){
this.msg.StepNum = type
},
getUrl(type) {
if(!this.msg.ContractId) this.setInfor(4)
else this.goWebUrl(type)
},
goWebUrl(type){
let url = ""
let msg = JSON.stringify(this.msg)
if(type==1) url = `https://activity.oytour.com/html/contract/index.html?msg=${encodeURIComponent(msg)}`
if(type==2) url = `https://activity.oytour.com/html/contract/sign.html?msg=${encodeURIComponent(msg)}`
if(process.env.NODE_ENV=="development") return console.log(url,"-----url")
if (url && url.length > 0) {
if(type==1){
uni.navigateTo({
url: "/pages/webbox/webbox?u=" + encodeURIComponent(url),
});
}else if(type==2){
uni.reLaunch({
url: "/pages/webbox/webbox?u=" + encodeURIComponent(url),
});
}
}
},
confirmOpenTime(r){
this.msg.time=r.year+"-"+r.month+"-"+r.day
this.msg.LegalIdCardTime=r.year+"-"+r.month+"-"+r.day
},
validate(type){
newMsg(type){
let msg = ''
// if(type==1){
// if(this.msg.img==''){
// msg = '请上传营业执照'
// } else if(!this.msg.SaleId){
// msg = '请选择服务人员'
if(type==1){
if(this.msg.BusinessLicenseUrl!=this.oldMsg.BusinessLicenseUrl){
msg = '营业执照变更'
} else if(this.msg.BusinessLicenseNumber!=this.oldMsg.BusinessLicenseNumber){
msg = '营业执照号变更'
} else if(this.msg.LegalPersonName!=this.oldMsg.LegalPersonName){
msg = '法人姓名变更'
} else if(this.msg.Tourists_Name!=this.oldMsg.Tourists_Name){
msg = '公司名称变更'
} else if(this.msg.Tourists_Addres!=this.oldMsg.Tourists_Addres){
msg = '经营地址变更'
} else if(this.msg.EnterId!=this.oldMsg.EnterId){
msg = '服务人员变更'
} else if(this.msg.Tourists_Email!=this.oldMsg.Tourists_Email){
msg = '经营许可证号变更'
}
}else if(type==2){
if(this.msg.LegalIdCardFrontUrl!=this.oldMsg.LegalIdCardFrontUrl){
msg = '身份证正面变更'
} else if(this.msg.LegalIdCardBackUrl!=this.oldMsg.LegalIdCardBackUrl){
msg = '身份证反面变更'
} else if(this.msg.LegalIdCardNumber!=this.oldMsg.LegalIdCardNumber){
msg = '身份证号变更'
} else if(this.msg.LegalIdCardTime!=this.oldMsg.LegalIdCardTime){
msg = '身份证有效期变更'
}
}else if(type==3){
if(this.msg.BankName!=this.oldMsg.BankName){
msg = '银行名称变更'
} else if(this.msg.OpenBankName!=this.oldMsg.OpenBankName){
msg = '开户行变更'
} else if(this.msg.AccountHolder!=this.oldMsg.AccountHolder){
msg = '开户人变更'
} else if(this.msg.CardNum!=this.oldMsg.CardNum){
msg = '银行账户变更'
}
}else if(type==4){
// if(this.msg.Tourists_Sign!=this.oldMsg.Tourists_Sign){
// msg = '签字确认变更'
// }
// }else if(type==2){
}
return msg
},
validate(type){
let msg = ''
if(type==1){
if(this.msg.BusinessLicenseUrl==''){
msg = '请上传营业执照'
} else if(this.msg.BusinessLicenseNumber==''){
msg = '请输入营业执照号'
} else if(this.msg.LegalPersonName==''){
msg = '请输入法人姓名'
} else if(this.msg.Tourists_Name==''){
msg = '请输入公司名称'
} else if(this.msg.Tourists_Addres==''){
msg = '请输入经营地址'
} else if(!this.msg.EnterId){
msg = '请选择服务人员'
}
}else if(type==2){
if(this.msg.LegalIdCardFrontUrl==''){
msg = '请上传身份证正面'
} else if(this.msg.LegalIdCardBackUrl==''){
msg = '请上传身份证反面'
} else if(this.msg.LegalIdCardNumber==''){
msg = '请输入身份证号'
} else if(this.msg.LegalIdCardTime==''){
msg = '请选择身份证有效期'
}
}else if(type==3){
if(this.msg.BankName==''){
msg = '请输入银行名称'
} else if(this.msg.OpenBankName==''){
msg = '请输入开户行'
} else if(this.msg.AccountHolder==''){
msg = '请输入开户人'
} else if(this.msg.CardNum==''){
msg = '请输入银行账户'
}
}else if(type==4){
// if(this.msg.Tourists_Sign==''){
// msg = '请仔细阅读条款,并签字确认'
// }
}
return msg
},
Next(type){
......@@ -292,25 +576,65 @@ export default {
})
return
}
this.StepNum = type;
console.log(this.StepNum,'-----');
},
onRemove(type) {
if(type==1) this.msg.img = '';
if(this.msg.StepNum==4) return
const oldData = this.newMsg(type)
// console.log(oldData,'--------',type,!oldData)
// return
if(oldData) this.setInfor(type)
else if(this.ContractId&&type==4) this.setInfor(type)
else if(type!=4) this.msg.StepNum = type
},
onSuccess(data,type) {
if(type==1) this.msg.img = data;
if(type==1) {
this.msg.BusinessLicenseUrl = data.BusinessLicense;
this.msg.BusinessLicenseNumber = data.UnifiedCode;
this.msg.LegalPersonName = data.LegalPerson
this.msg.Tourists_Name = data.CompanyName
this.msg.Tourists_Addres = data.Addres
}else if(type==2){
this.msg.LegalIdCardFrontUrl = data.BusinessLicense;
if(data.LegalIdCardNumber) this.msg.LegalIdCardNumber = data.LegalIdCardNumber
}else if(type==3){
this.msg.LegalIdCardBackUrl = data.BusinessLicense;
if(data.LegalIdCardTime) this.msg.LegalIdCardTime = data.LegalIdCardTime
}
},
setInfor(type){
if(this.loading) return
uni.showLoading({
title: '提交中...',
mask: true
})
this.loading = true;
let msg = JSON.parse(JSON.stringify(this.msg))
msg.StepNum = type
this.apipost('app_customer_SetAuthentication',msg,res=>{
if (res.resultCode == 1) {
console.log(res,'--------提交')
uni.hideLoading()
this.loading = false
this.msg.StepNum = type
if(this.msg.StepNum==4){
this.msg.ContractId = res.data.ContractId
this.goWebUrl(4)
}
}
},err=>{
uni.hideLoading()
this.loading = false
console.log(err,'--------')
})
},
goReserce(item){
this.msg.SaleName = item.SaleName
this.msg.SaleId = item.SaleId
this.msg.SaleName = this.msg.EnterName = item.SaleName
this.msg.SaleId = this.msg.EnterId = item.SaleId
this.showSalePreviwe = false;
},
getSale(){
this.apipost(
"b2b_get_GetCustomerCreateByList",
{
CustomerId: this.customer.customerId
CustomerId: this.b2bUser.customerId
},
(res) => {
if (res.resultCode == 1) {
......@@ -318,13 +642,13 @@ export default {
this.SaleList = res.data
if(res.data.length==1){
this.msg.SaleName = res.data[0].EmName
this.msg.SaleId = res.data[0].CreateBy
this.msg.SaleId = this.msg.EnterId = res.data[0].CreateBy
}
}else{
this.msg.SaleName = ''
this.msg.SaleId = 0
this.msg.SaleId = this.msg.EnterId = 0
}
} else {
this.getInfor()
}
},
......@@ -333,6 +657,66 @@ export default {
}
);
},
getInfor(){
uni.showLoading({
title: '加载中',
mask: true
})
this.apipost('app_customer_GetAuthenticationDetails',{
CustomerInfoChildrenId: this.b2bUser.customerInfoChildrenId
},
res=>{
if (res.resultCode == 1) {
let data = res.data
this.msg = {
SaleName: data.EnterName,
SaleId: data.EnterId,
Id: data.Id,// 主键ID
EnterName: data.EnterName,// 服务人员姓名
EnterId: data.EnterId,// 销售
Tourists_Addres:data.Tourists_Addres,// 经营地址
StepNum: data.StepNum,// 当前步骤信息 一共4步1-营业执照,2-法人信息3-账户信息4-合同
BusinessLicenseUrl:data.BusinessLicenseUrl,// 营业执照图片
BusinessLicenseNumber:data.BusinessLicenseNumber,// 营业执照号
LegalPersonName:data.LegalPersonName,// 法人姓名
LegalIdCardFrontUrl:data.LegalIdCardFrontUrl,// 身份证正面
LegalIdCardBackUrl:data.LegalIdCardBackUrl,// 身份证反面
LegalIdCardNumber:data.LegalIdCardNumber,// 身份证号
LegalIdCardTime:data.LegalIdCardTime,// 身份证有效期
Tourists_Email:data.Tourists_Email,// 经营许可证号
Tourists_Name:data.Tourists_Name,// 公司名称
OpenBankName:data.OpenBankName,// 开户支行
BankName:data.BankName,// 所属银行
CardNum:data.CardNum,// 卡号
AccountHolder:data.AccountHolder,// 开户人
ContractId:data.ContractId,// 合同id
Tourists_Sign:data.Tourists_Sign?data.Tourists_Sign:'',// 签名
C_StartDate:data.RenewalContractStime,// 合同开始时间
C_EndDate:data.RenewalContractEtime,// 合同结束时间
}
if(this.IsRenewalContract||this.ContractId){
this.msg.StepNum = 0
if(this.IsRenewalContract==1) this.msg.ContractId = 0
if(this.ContractId) {
let ContractList = data.ContractList.filter(x=>{
return x.ContractId==this.ContractId
})
if(ContractList.length>0) {
this.msg.C_StartDate = ContractList[0].StartTime
this.msg.C_EndDate = ContractList[0].EndTime
}
this.msg.ContractId = this.ContractId
}
}
this.oldMsg = JSON.parse(JSON.stringify(this.msg))
uni.hideLoading()
}
},err=>{
uni.hideLoading()
})
},
reloadUserinfo() {
const pages = getCurrentPages()
const curPage = pages[pages.length-1]
......@@ -344,6 +728,7 @@ export default {
gbAuth() {
this.showAuth = false;
},
}
}
</script>
......@@ -362,15 +747,19 @@ export default {
font-size: 32rpx;
}
.SaleNameTetxL{
width: 1px;
flex: 1;
width: 200rpx;
}
.signAconFormYH .SaleNameTetxL{
width: 150rpx;
}
.SaleNameTetx{
width: 1px;
flex: 1;
display: flex;
text-align: right;
}
.SaleNameTetx view{
margin-right: 15rpx;
.SaleNameTetx input,.SaleNameTetx view{
width: 100%;
}
.SNTRcolor{
color: #DBE0EC
......@@ -463,6 +852,10 @@ export default {
border-radius:20rpx;
position: relative;
overflow: hidden;
margin-bottom: 20rpx;
background: #F3F5F9;
}
.signAconImg.signAconImgYYZZ{
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638796480136781668.png')no-repeat;
background-size: 100% 100%;
}
......@@ -508,6 +901,13 @@ export default {
}
.signAconNext.active{
background: #0399FF;
border: 2rpx solid #0399FF;
}
.signAconNext.signAconNextL{
border: 2rpx solid #0399FF;
background: #fff;
color: #0198FF;
margin-right: 40rpx;
}
/deep/.signAconUp .u-upload{
height: 100%;
......@@ -539,12 +939,14 @@ export default {
.contractBox{
height: 712rpx;
background: #F3F5F9;
padding: 51rpx 38rpx;
padding: 51rpx 38rpx 80rpx 38rpx;
border-radius: 20rpx;
position: relative;
overflow: hidden;
}
.contractCenter{
height: 100%;
overflow: hidden;
font-weight: 500;
font-size: 28rpx;
color: #647AA0;
......
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