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>
<view style="height: 100rpx;"></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>
</u-upload>
<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>
</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() {},
mounted() {
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);
},
},
});
},
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,
});
},
});
},
uploadSuccessHandler(data, index, lists) {
let r = JSON.parse(data);
this.$emit('onSuccess', r.data);
console.log(r.data,'------');
//提取营业执照信息
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="bigRedEnvLCLeft col">
<view class="bigRedEnvLCLTitle">2025 <text>年度大红包</text></view>
<view v-if="index!=4" class="bigRedEnvLCLTime">提交时间:2025年1月2日</view>
</view>
<view class="bigRedEnvLCRight">
<view class="bigRedEnvLCRBox column" v-if="index<4">
<view class="bigRedEnvLCRTitle">- <text>待开启</text> -</view>
<view class="bigRedEnvLCRText">
¥
<text>21886</text>
<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"><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 class="bigRedEnvLCRTYg">预估</view>
</view>
<view v-if="index==4" class="bigRedEnvLCRBut">
查看进度
</view>
<view class="bigRedEnvLCRight">
<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>{{ item.TotalClosePrice }}</text>
</view>
<view class="bigRedEnvLCRTYg">预估</view>
</view>
<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: {
goDetails(item,type){
let path = '';
if(type==1){
path = 'signAcontract?'
}else if(type==2){
path =`PaymentProgress?type=${type}&`
}
uni.navigateTo({
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'
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>
......
This diff is collapsed.
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