Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jz_Travel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhengke
jz_Travel
Commits
95bf45ae
Commit
95bf45ae
authored
Apr 15, 2025
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
大红包
parent
5e840888
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
723 additions
and
107 deletions
+723
-107
manifest.json
manifest.json
+2
-1
ActivityInProgress.vue
pages/bigredrnvelope/ActivityInProgress.vue
+400
-49
PaymentProgress.vue
pages/bigredrnvelope/PaymentProgress.vue
+39
-11
SettableList.vue
pages/bigredrnvelope/SettableList.vue
+248
-29
list.vue
pages/bigredrnvelope/list.vue
+24
-15
api.js
plugin/api.js
+4
-1
mrsong-charts.vue
.../mrsong-charts/components/mrsong-charts/mrsong-charts.vue
+6
-1
No files found.
manifest.json
View file @
95bf45ae
...
@@ -77,9 +77,10 @@
...
@@ -77,9 +77,10 @@
"usingComponents"
:
true
,
"usingComponents"
:
true
,
"permission"
:
{
"permission"
:
{
"scope.userLocation"
:
{
"scope.userLocation"
:
{
"desc"
:
"
你的位置信息将用于小程序位置接口的效果展示
"
"desc"
:
"
需要获取您的位置以提供精准服务
"
}
}
},
},
"requiredPrivateInfos"
:
[
"getLocation"
,
"chooseLocation"
],
"optimization"
:
{
"optimization"
:
{
"subPackages"
:
true
"subPackages"
:
true
}
}
...
...
pages/bigredrnvelope/ActivityInProgress.vue
View file @
95bf45ae
<
template
>
<
template
>
<view
class=
"ActInProBox column"
>
<view
class=
"ActInProBox column"
:class=
"[Details.Level>0?`activeLv$
{Details.Level}`:'activeLv1']">
<scroll-view
:scroll-y=
"true"
<scroll-view
:scroll-y=
"true"
style=
"height: 1px;flex: 1;box-sizing: border-box;"
style=
"height: 1px;flex: 1;box-sizing: border-box;"
@
scroll=
"scroll"
@
scroll=
"scroll"
:scroll-top=
"scrollTop"
>
:scroll-top=
"scrollTop"
>
<view
class=
"ActInProHeaderBox activeLv5"
:style=
"
{ opacity: 100 - boxOption + '%' }">
<view
class=
"ActInProHeaderBox"
:style=
"
{ opacity: 100 - boxOption + '%' }"
:class="[Details.Level>0?`activeLv${Details.Level}`:'activeLv1']">
<headers
:title=
"page"
color=
"#fff"
></headers>
<headers
:title=
"page"
color=
"#fff"
></headers>
<view
class=
"ActInProHeader"
>
<view
class=
"ActInProHeader"
v-if=
"Details&&Details.TradeMoney>=0"
>
<view
class=
"ActInProHeaderTitle"
>
<view
class=
"ActInProHeaderTitle"
>
Lv
1
Lv
{{
Details
.
Level
>
0
?
Details
.
Level
:
1
}}
<text>
<text>
出发序章
<template
v-if=
"Details.Level
<
=
1
"
>
出发序章
</
template
>
<
!-- 秘境探索
<
template
v-else-if=
"Details.Level==2"
>
秘境探索
</
template
>
云端行者
<
template
v-else-if=
"Details.Level==3"
>
云端行者
</
template
>
丝路征程
<
template
v-else-if=
"Details.Level==4"
>
丝路征程
</
template
>
寰宇旅人 --
>
<
template
v-else-if=
"Details.Level==5"
>
寰宇旅人
</
template
>
</text>
</text>
</view>
</view>
<view
class=
"ActInProHeaderTime row-sbas-n"
>
<view
class=
"ActInProHeaderTime row-sbas-n"
>
<view>
有效期至
2025年12月31日 23:59
</view>
<view>
有效期至
{{ Details.EndTime }}
</view>
<view
class=
"col"
@
click=
"goTisp"
>
规则说明
</view>
<view
class=
"col"
@
click=
"goTisp"
>
规则说明
</view>
</view>
</view>
<view
class=
"ActInProHeaderNum row"
>
<view
class=
"ActInProHeaderNum row"
>
<view
class=
"ActInProHeaderNT ActInProHeaderNTL col column"
>
<view
class=
"ActInProHeaderNT ActInProHeaderNTL col column"
>
<view>
当前交易额
</view>
<view>
当前交易额
</view>
<view>
¥
<text>
10550
</text></view>
<view>
¥
<text>
{{ Details.TradeMoney.toFixed(2) }}
</text></view>
</view>
</view>
<view
class=
"ActInProHeaderNT ActInProHeaderNTR col column"
>
<view
class=
"ActInProHeaderNT ActInProHeaderNTR col column"
>
<view>
预计收益
</view>
<view>
预计收益
</view>
<view>
¥
<text>
1288
</text></view>
<view>
¥
<text>
{{ Details.TotalClosePrice.toFixed(2) }}
</text></view>
</view>
</view>
</view>
</view>
<view
class=
"lineBox"
>
<view
class=
"lineBox"
v-if=
"Details.TradeMoney<Details.MaxMoney"
>
<view
class=
"greyLine"
></view>
<view
class=
"greyLine"
></view>
<view
class=
"lineHigBox"
<view
class=
"lineHigBox"
:style=
"
{'width':
'50%'
}">
:style=
"{'width':
`${progress}%`
}"
>
<view
class=
"lineHighlight"
>
<view
class=
"lineHighlight"
v-if=
"Details.TradeMoney>0"
>
<view></view>
<view></view>
</view>
</view>
</view>
</view>
</view>
</view>
<view
class=
"ActInProHeaMoney"
>
交易额达¥100,000 返5%
</view>
<view
class=
"ActInProHeaMoney row-sb-n"
>
<view>
<
template
v-if=
"Details.TradeMoney>Details.MaxMoney"
>
已达最高交易额
{{
Details
.
MaxMoney
}}
,返
{{
Details
.
Ratio
}}
‰
</
template
>
<
template
v-else-if=
"Details.TradeMoney>Details.Money"
>
当前返
{{
Details
.
Ratio
}}
‰
</
template
>
<
template
v-else
>
交易额达
{{
Details
.
Money
}}
,返
{{
Details
.
Ratio
}}
‰
</
template
>
</view>
<view
v-if=
"Details.RatioNext"
>
下一级返{{Details.RatioNext}}‰
</view>
</view>
</view>
</view>
</view>
</view>
<view
v-if=
"scrollTop > 50"
class=
"ActInProHeaders"
>
<view
v-if=
"scrollTop > 50"
class=
"ActInProHeaders"
>
...
@@ -48,14 +63,24 @@
...
@@ -48,14 +63,24 @@
<view
style=
"padding: 0 40rpx;"
>
<view
style=
"padding: 0 40rpx;"
>
<view
v-if=
"scrollTop > 650"
class=
"ActInProCenTimeBox row-sbas-n"
<view
v-if=
"scrollTop > 650"
class=
"ActInProCenTimeBox row-sbas-n"
style=
"padding: 10rpx 0 30rpx;"
>
style=
"padding: 10rpx 0 30rpx;"
>
<view
class=
"ActInProCenTime row"
@
click=
"SelectDate"
>
<view
class=
"row items-center"
>
<view
class=
"ActInProCenTimeAll"
:class=
"[isType==1?'active':'']"
@
click=
"SelectDate(1)"
>
全部
</view>
<view
class=
"ActInProCenTime row"
>
<view
@
click=
"SelectDate(2)"
:class=
"[isType==2||isType==0?'active':'']"
>
<text>
{{year}}年
</text>
<text>
{{year}}年
</text>
<text>
{{month}}月
</text>
<text>
{{month}}月
</text>
<u-icon
name=
"arrow-down"
size=
"28"
color=
"#000"
></u-icon>
</view>
<u-icon
@
click=
"SelectDate(0)"
name=
"arrow-down"
size=
"28"
color=
"#000"
></u-icon>
</view>
</view>
</view>
<view
class=
"ActInProCenSSE"
>
<view
class=
"ActInProCenSSE"
>
总销售额:
总销售额:
<text
>
¥518960
</text>
<text
v-if=
"total"
>
¥{{total}}
</text>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -65,46 +90,94 @@
...
@@ -65,46 +90,94 @@
<view
class=
"ActInProCenTjBox"
>
<view
class=
"ActInProCenTjBox"
>
<view
class=
"ActInProCenTjTitle"
>
月销售额统计
</view>
<view
class=
"ActInProCenTjTitle"
>
月销售额统计
</view>
<view
class=
"ActInProCenBar"
>
<view
class=
"ActInProCenBar"
>
<mrsongCharts
v-if=
"chartsData.series[0].data.length>0"
height=
"414rpx"
type=
'column'
align=
'center'
:options=
"options"
:config=
"config"
:charts-data=
"chartsData"
/>
<u-empty
v-else
text=
"暂无月销售额统计!"
mode=
"data"
padding-top=
"10"
color=
"#000"
></u-empty>
</view>
</view>
</view>
</view>
<view
class=
"ActInProCenTimeBox row-sbas-n"
>
<view
class=
"ActInProCenTimeBox row-sbas-n"
>
<view
class=
"ActInProCenTime row"
@
click=
"SelectDate"
>
<view
class=
"row items-center"
>
<view
class=
"ActInProCenTimeAll"
:class=
"[isType==1?'active':'']"
@
click=
"SelectDate(1)"
>
全部
</view>
<view
class=
"ActInProCenTime row"
>
<view
@
click=
"SelectDate(2)"
:class=
"[isType==2||isType==0?'active':'']"
>
<text>
{{year}}年
</text>
<text>
{{year}}年
</text>
<text>
{{month}}月
</text>
<text>
{{month}}月
</text>
<u-icon
name=
"arrow-down"
size=
"28"
color=
"#000"
></u-icon>
</view>
<u-icon
@
click=
"SelectDate(0)"
name=
"arrow-down"
size=
"28"
color=
"#000"
></u-icon>
</view>
</view>
</view>
<view
class=
"ActInProCenSSE"
>
<view
class=
"ActInProCenSSE"
>
总销售额:
总销售额:
<text>
¥
518960
</text>
<text>
¥
{{ total }}
</text>
</view>
</view>
</view>
</view>
<u-picker
mode=
"time"
v-model=
"showTime"
:defaultTime=
"times"
:params=
"params"
@
confirm =
'confirm'
></u-picker>
<u-picker
mode=
"time"
v-model=
"showTime"
:defaultTime=
"times"
:params=
"params"
@
confirm =
'confirm'
></u-picker>
<view
class=
"ActInProListBox"
>
<view
class=
"ActInProListBox"
>
<view
class=
"ActInProList active
JD
"
<view
class=
"ActInProList active
LY
"
v-for=
"(item,index) in
10
"
:key=
"index"
>
v-for=
"(item,index) in
CustomerOrderList
"
:key=
"index"
>
<view
class=
"ActInProListTitle"
>
<view
class=
"ActInProListTitle"
>
<text>
<text>
酒店
旅游
</text>
</text>
<view></view>
<view></view>
</view>
</view>
<view
class=
"ActInProListDec"
>
<view
class=
"ActInProListDec"
>
星空九寨~九寨沟.黄龙.熊猫乐园.纯玩3天(4人定制小包团·赠送...
{{ item.Title }}
</view>
</view>
<view
class=
"ActInProListDecNum"
>
¥
1440,2
人
</view>
<view
class=
"ActInProListDecNum"
>
¥
{{item.Unit_Price}},{{item.GuestNum}}
人
</view>
<view
class=
"ActInProListTime row-sbas-n items-center"
>
<view
class=
"ActInProListTime row-sbas-n items-center"
>
<view>
完结时间:2025-04-01
</view>
<view>
完结时间:{{ item.CreateDate }}
</view>
<view
class=
"ActInProListTimeR"
>
¥2880
</view>
<view
class=
"ActInProListTimeR"
>
¥{{item.Money}}
</view>
</view>
</view>
<u-empty
v-if=
"CustomerOrderList.length == 0"
text=
"暂无数据"
mode=
"data"
></u-empty>
</view>
</view>
<view
v-if=
"Details"
class=
"RuleDetails"
>
<view
class=
"RuleDetailsTitle"
>
规则说明
</view>
<view
class=
"RuleDetailsText"
>
系统将自动汇算客户在{{Details.StartTime.slice(0,4) }}年度内的团队旅游交易
总金额(不包含单项产品),根据达成总金额锁定对应的返佣比例(具体的比例
等级参照下图中的“{{Details.StartTime.slice(0,4) }}大红包返佣规则”部分)
计算应返金额。结算时间为次年的一月份,届时客户在旅小友平台上查看返佣总
金额与明细记录并且申请提现,金额只能提取到双方签订合同的银行账户,
如有变更请及时联系印象之旅销售代表协助处理。本次返佣比例如下:
</view>
</view>
<table
class=
"RuleDetailsTable"
v-if=
"Details&&Details.CommissionRatioList"
>
<tr
class=
"row"
style=
"text-align: center;"
>
<th
class=
"col"
>
{{Details.CommissionRatioList[0].Year}}
</th>
</tr>
<tr
class=
"row"
>
<th
class=
"RuleDetailsTd1"
>
等级
</th>
<th>
达标额
</th>
<th
class=
"RuleDetailsTd2"
>
返佣比列
</th>
</tr>
<tr
class=
"row"
v-for=
"(item,index) in Details.CommissionRatioList"
:key=
"index"
>
<td
class=
"RuleDetailsTd1"
>
Lv{{ index+1 }}
</td>
<td>
¥{{ item.Money }}~{{ item.MaxMoney }}
</td>
<td
class=
"RuleDetailsTd2"
>
{{ item.Ratio }}‰
</td>
</tr>
</table>
</view>
</view>
<!--
<u-alert-tips :close-able="false"
<u-alert-tips :close-able="false"
style="border-radius: 18rpx;"
style="border-radius: 18rpx;"
type="warning"
type="warning"
title="2025年2月1日(包含)起生效"
title="2025年2月1日(包含)起生效"
description="积分:平台所有跟团游产品均可参加积分活动,积分获得比例:100:1(例:客人实付金额100元,获得1个积分)。团队出发后7个工作日内将会存入积分余额。"
description="积分:平台所有跟团游产品均可参加积分活动,积分获得比例:100:1(例:客人实付金额100元,获得1个积分)。团队出发后7个工作日内将会存入积分余额。"
></u-alert-tips>
></u-alert-tips>
-->
<view
style=
"height: 40rpx;"
></view>
<view
style=
"height: 40rpx;"
></view>
</view>
</view>
...
@@ -113,14 +186,18 @@
...
@@ -113,14 +186,18 @@
</scroll-view>
</scroll-view>
<auth
v-if=
"showAuth&&is_show_auth==1"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
auth
from
"@/components/auth/index.vue"
;
import
headers
from
"@/components/header/header"
;
import
headers
from
"@/components/header/header"
;
import
mrsongCharts
from
'@/uni_modules/mrsong-charts/components/mrsong-charts/mrsong-charts.vue'
;
export
default
{
export
default
{
components
:
{
components
:
{
headers
auth
,
headers
,
mrsongCharts
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -141,28 +218,212 @@ export default {
...
@@ -141,28 +218,212 @@ export default {
showTime
:
false
,
showTime
:
false
,
msg
:
{
msg
:
{
QStartDate
:
''
,
QStartDate
:
''
,
QEndDate
:
''
QEndDate
:
''
,
YearMonth
:
''
,
},
},
scrollHeight
:
0
,
scrollHeight
:
0
,
scrollTop
:
0
,
scrollTop
:
0
,
U
:
{},
showAuth
:
false
,
is_show_auth
:
0
,
b2bUser
:{},
ContractId
:
0
,
Details
:
null
,
CustomerOrderListAll
:[],
CustomerOrderList
:
[],
progress
:
0
,
total
:
0
,
chartsData
:{
categories
:
[],
series
:
[
{
name
:
"销售额"
,
data
:
[]
}
]
},
config
:{
itemCount
:
3
,
// x轴单屏显示数据的数量,默认为5个
scrollShow
:
false
,
// 新增是否显示滚动条,默认false
scrollAlign
:
'left'
,
// 滚动条初始位置
rotateLabel
:
false
,
// X轴label旋转
min
:
0
,
// Y轴最小值
max
:
150
,
//Y轴大值
unit
:
''
,
// Y轴单位
enableScroll
:
false
,
// 开启滚动模式
color
:
[
// 颜色设置
'#9AD3FF'
,
],
},
options
:{
color
:
[
"#1890FF"
,
"#91CB74"
,
"#FAC858"
,
"#EE6666"
,
"#73C0DE"
,
"#3CA272"
,
"#FC8452"
,
"#9A60B4"
,
"#ea7ccc"
],
padding
:
[
25
,
5
,
10
,
5
],
enableScroll
:
false
,
legend
:
{
show
:
false
,
},
xAxis
:
{
disableGrid
:
true
,
axisLine
:
true
,
axisLineColor
:
'#F2F8FF'
,
},
yAxis
:
{
disableGrid
:
true
,
disabled
:
true
,
axisLineColor
:
'#F2F8FF'
,
// data: [
// {
// min: -40,
// max: 40
// }
// ],
splitNumber
:
4
},
extra
:
{
column
:
{
type
:
"group"
,
width
:
10
,
linearType
:
"custom"
,
// linearOpacity: 0.8,
barBorderRadius
:
[
10
,
10
,
10
,
10
],
customColor
:[
'#085FF3'
,
],
}
},
},
isType
:
2
,
}
}
},
},
watch
:{
CustomerOrderList
:
{
handler
(
val
,
oldval
)
{
this
.
count
()
},
deep
:
false
,
immediate
:
false
,
},
},
onLoad
(
options
)
{
onLoad
(
options
)
{
this
.
ContractId
=
options
.
ContractId
},
},
onShow
()
{
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
;
}
const
now
=
new
Date
();
const
now
=
new
Date
();
this
.
year
=
now
.
getFullYear
();
this
.
year
=
now
.
getFullYear
();
this
.
month
=
String
(
now
.
getMonth
()
+
1
).
padStart
(
2
,
'0'
);
this
.
month
=
String
(
now
.
getMonth
()
+
1
).
padStart
(
2
,
'0'
);
this
.
msg
.
QStartDate
=
this
.
year
+
'-'
+
this
.
month
+
'-01'
this
.
msg
.
QStartDate
=
this
.
year
+
'-'
+
this
.
month
+
'-01'
now
.
setMonth
(
now
.
getMonth
()
+
1
,
0
);
now
.
setMonth
(
now
.
getMonth
()
+
1
,
0
);
this
.
msg
.
QEndDate
=
this
.
year
+
'-'
+
this
.
month
+
'-'
+
now
.
getDate
()
this
.
msg
.
QEndDate
=
this
.
year
+
'-'
+
this
.
month
+
'-'
+
now
.
getDate
()
this
.
times
=
this
.
year
+
'-'
+
this
.
month
this
.
msg
.
YearMonth
=
this
.
year
+
'-'
+
this
.
month
},
},
mounted
()
{
mounted
()
{
this
.
getSignDetails
()
},
},
methods
:
{
methods
:
{
formatNumberWithUnit
(
num
)
{
if
(
num
===
0
)
return
'0.00'
;
const
units
=
[
''
,
'K'
,
'M'
,
'B'
,
'T'
];
// 单位数组:千(k)、百万(M)、十亿(B)、万亿(T)
const
exponent
=
Math
.
floor
(
Math
.
log10
(
num
));
const
unitIndex
=
Math
.
max
(
0
,
Math
.
floor
(
exponent
/
3
))
-
1
;
// 计算单位索引
// 缩放数值并保留三位有效数字
const
scaledNum
=
num
/
(
10
**
(
unitIndex
*
3
));
const
formatted
=
scaledNum
.
toLocaleString
(
'en-US'
,
{
precision
:
3
,
// 保留三位有效数字
rounding
:
'round-trip'
// 四舍五入
});
// 处理科学计数法(如 1.23e3 → 1230)
if
(
formatted
.
includes
(
'e'
))
{
const
[
significand
,
exp
]
=
formatted
.
split
(
'e'
);
return
significand
+
'0'
.
repeat
(
parseInt
(
exp
))
+
units
[
unitIndex
+
1
];
}
const
cleanedInteger
=
formatted
.
replace
(
/0+$/
,
''
)
let
money
=
cleanedInteger
.
split
(
','
)
if
(
money
.
length
>
1
){
return
money
[
0
]
+
units
[
unitIndex
+
1
]
}
return
money
+
units
[
unitIndex
+
1
];
},
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
this
.
CustomerOrderListAll
=
data
.
CustomerOrderList
this
.
CustomerOrderList
=
data
.
CustomerOrderList
.
filter
(
item
=>
{
return
this
.
msg
.
YearMonth
==
item
.
CreateDate
.
slice
(
0
,
7
)
})
let
TotalAmount
=
0
for
(
let
i
=
0
;
i
<
this
.
Details
.
OrderMonthList
.
length
;
i
++
){
// this.chartsData.series[0].data.push({
// labelShow: true,
// labelText: this.Details.OrderMonthList[i].FormattedAmount,
// value: this.Details.OrderMonthList[i].TotalAmount
// })
if
(
this
.
Details
.
OrderMonthList
[
i
].
TotalAmount
>
0
){
let
name
=
this
.
Details
.
OrderMonthList
[
i
].
MonthStr
if
(
this
.
Details
.
OrderMonthList
[
i
].
MonthStr
<
10
)
name
=
this
.
Details
.
OrderMonthList
[
i
].
MonthStr
.
slice
(
1
,
2
)
+
'月'
this
.
chartsData
.
categories
.
push
(
name
)
this
.
chartsData
.
series
[
0
].
data
.
push
(
this
.
Details
.
OrderMonthList
[
i
].
TotalAmount
)
}
if
(
this
.
Details
.
OrderMonthList
[
i
].
TotalAmount
>
TotalAmount
){
TotalAmount
=
this
.
Details
.
OrderMonthList
[
i
].
TotalAmount
}
}
this
.
count
()
if
(
this
.
Details
.
TradeMoney
>
0
)
this
.
progress
=
(
this
.
Details
.
TradeMoney
/
this
.
Details
.
MaxMoney
)
*
100
uni
.
hideLoading
()
this
.
$forceUpdate
()
}
})
},
getCustomerOrderList
(){
this
.
CustomerOrderList
=
this
.
CustomerOrderListAll
.
filter
(
item
=>
{
return
this
.
msg
.
YearMonth
==
item
.
CreateDate
.
slice
(
0
,
7
)
})
},
count
(){
let
total
=
0
;
if
(
this
.
CustomerOrderList
.
length
>
0
)
{
this
.
CustomerOrderList
.
forEach
(
order
=>
{
total
+=
Number
(
order
.
Money
);
});
}
this
.
total
=
total
.
toFixed
(
2
);
this
.
$forceUpdate
()
},
goTisp
(){
goTisp
(){
console
.
log
(
1111
)
console
.
log
(
1111
)
this
.
scrollTop
=
this
.
scrollHeight
?
this
.
scrollHeight
:
1000000
this
.
scrollTop
=
this
.
scrollHeight
?
this
.
scrollHeight
:
1000000
...
@@ -176,11 +437,25 @@ export default {
...
@@ -176,11 +437,25 @@ export default {
now
.
setDate
(
now
.
getDate
()
-
1
);
// 减1天即为上个月最后一天
now
.
setDate
(
now
.
getDate
()
-
1
);
// 减1天即为上个月最后一天
this
.
msg
.
QStartDate
=
this
.
year
+
'-'
+
this
.
month
+
'-01'
this
.
msg
.
QStartDate
=
this
.
year
+
'-'
+
this
.
month
+
'-01'
this
.
msg
.
QEndDate
=
this
.
year
+
'-'
+
this
.
month
+
'-'
+
now
.
getDate
()
this
.
msg
.
QEndDate
=
this
.
year
+
'-'
+
this
.
month
+
'-'
+
now
.
getDate
()
// this.research()
this
.
msg
.
YearMonth
=
this
.
year
+
'-'
+
this
.
month
this
.
getCustomerOrderList
()
this
.
showTime
=
false
if
(
this
.
scrollTop
>
650
){
this
.
scrollTop
=
630
this
.
scrollTop
=
630
}
},
},
SelectDate
(){
SelectDate
(
type
){
this
.
isType
=
type
;
if
(
type
==
1
){
this
.
CustomerOrderList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
CustomerOrderListAll
))
}
else
if
(
type
==
2
){
this
.
getCustomerOrderList
()
}
else
{
this
.
showTime
=
true
this
.
showTime
=
true
}
if
(
this
.
scrollTop
>
650
){
this
.
scrollTop
=
630
}
},
},
goUrl
(){
goUrl
(){
uni
.
navigateTo
({
uni
.
navigateTo
({
...
@@ -192,6 +467,17 @@ export default {
...
@@ -192,6 +467,17 @@ export default {
this
.
scrollTop
=
e
.
detail
.
scrollTop
;
this
.
scrollTop
=
e
.
detail
.
scrollTop
;
this
.
boxOption
=
Math
.
floor
((
e
.
detail
.
scrollTop
-
200
)
/
1.5
);
this
.
boxOption
=
Math
.
floor
((
e
.
detail
.
scrollTop
-
200
)
/
1.5
);
},
},
reloadUserinfo
()
{
const
pages
=
getCurrentPages
()
const
curPage
=
pages
[
pages
.
length
-
1
]
curPage
.
onLoad
(
curPage
.
options
)
curPage
.
onShow
()
curPage
.
onReady
()
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
}
}
}
}
</
script
>
</
script
>
...
@@ -257,11 +543,11 @@ export default {
...
@@ -257,11 +543,11 @@ export default {
color
:
#FFFFFF
;
color
:
#FFFFFF
;
}
}
.lineBox
{
.lineBox
{
width
:
613rpx
;
//
width: 613rpx;
position
:
relative
;
position
:
relative
;
}
}
.greyLine
{
.greyLine
{
width
:
613rpx
;
//
width: 613rpx;
height
:
8rpx
;
height
:
8rpx
;
border-radius
:
4rpx
;
border-radius
:
4rpx
;
}
}
...
@@ -338,6 +624,32 @@ export default {
...
@@ -338,6 +624,32 @@ export default {
position
:
relative
;
position
:
relative
;
top
:
-2rpx
;
top
:
-2rpx
;
}
}
.ActInProCenTimeAll
{
border-radius
:
10rpx
;
padding
:
0
15rpx
0
0
;
font-size
:
24rpx
;
margin-right
:
20rpx
;
}
.ActInProBox.activeLv1
.ActInProCenTimeAll.active
,
.ActInProBox.activeLv1
.ActInProCenTime
.active
{
color
:
#3175FF
;
}
.ActInProBox.activeLv2
.ActInProCenTimeAll.active
,
.ActInProBox.activeLv2
.ActInProCenTime
.active
{
color
:
#FF3166
;
}
.ActInProBox.activeLv3
.ActInProCenTimeAll.active
,
.ActInProBox.activeLv3
.ActInProCenTime
.active
{
color
:
#1BCB8B
;
}
.ActInProBox.activeLv4
.ActInProCenTimeAll.active
,
.ActInProBox.activeLv4
.ActInProCenTime
.active
{
color
:
#FF9731
;
}
.ActInProBox.activeLv5
.ActInProCenTimeAll.active
,
.ActInProBox.activeLv5
.ActInProCenTime
.active
{
color
:
#9B2020
;
}
.ActInProCenSSE
{
.ActInProCenSSE
{
font-weight
:
bold
;
font-weight
:
bold
;
font-size
:
24rpx
;
font-size
:
24rpx
;
...
@@ -373,6 +685,30 @@ export default {
...
@@ -373,6 +685,30 @@ export default {
position
:
relative
;
position
:
relative
;
z-index
:
2
;
z-index
:
2
;
}
}
.RuleDetailsTable
{
margin-top
:
20rpx
;
}
.RuleDetailsTable
tr
th
,
.RuleDetailsTable
tr
td
{
border
:
2rpx
solid
#eee
;
padding
:
5rpx
10rpx
;
}
.RuleDetailsTable
tr
th
:nth-child
(
2
),
.RuleDetailsTable
tr
td
:nth-child
(
2
)
{
width
:
1px
;
flex
:
1
;
}
.RuleDetailsTd1
{
width
:
100rpx
;
}
.RuleDetailsTd2
{
width
:
150rpx
;
}
.RuleDetailsTable
tr
th
{
font-weight
:
bold
;
}
.RuleDetailsTable
tr
td
{
font-size
:
24rpx
;
color
:
#757776
;
}
.ActInProList.activeJD
.ActInProListTitle
view
{
.ActInProList.activeJD
.ActInProListTitle
view
{
background
:
#3175FF
;
background
:
#3175FF
;
}
}
...
@@ -398,7 +734,7 @@ export default {
...
@@ -398,7 +734,7 @@ export default {
-webkit-box-orient
:
vertical
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
overflow
:
hidden
;
padding
:
20rpx
0
10
rpx
0
;
padding
:
20rpx
0
9
rpx
0
;
}
}
.ActInProListDecNum
{
.ActInProListDecNum
{
font-weight
:
500
;
font-weight
:
500
;
...
@@ -416,13 +752,28 @@ export default {
...
@@ -416,13 +752,28 @@ export default {
font-size
:
32rpx
;
font-size
:
32rpx
;
color
:
#080A0A
;
color
:
#080A0A
;
}
}
.ActInProHeaderNTR
{
.ActInProHeaderNTR
{
color
:
#FFE6A2
;
color
:
#FFE6A2
;
}
}
.ActInProHeaderNTR
view
:first-child
{
.ActInProHeaderNTR
view
:first-child
{
color
:
#FFE6A3
;
color
:
#FFE6A3
;
}
}
.RuleDetails
{
background
:
#FFFFFF
;
border-radius
:
18rpx
;
padding
:
38rpx
;
}
.RuleDetailsTitle
{
font-size
:
28rpx
;
margin-bottom
:
10rpx
;
font-weight
:
600
;
}
.RuleDetailsText
{
font-size
:
24rpx
;
line-height
:
40rpx
;
text-indent
:
50rpx
;
color
:
#757776
;
}
.ActInProHeaderBox.activeLv5
.greyLine
{
.ActInProHeaderBox.activeLv5
.greyLine
{
background
:
#010102
;
background
:
#010102
;
}
}
...
...
pages/bigredrnvelope/PaymentProgress.vue
View file @
95bf45ae
<
template
>
<
template
>
<view
class=
"PaymentProBox column"
>
<view
class=
"PaymentProBox column"
>
<view
class=
"PaymentProTitle row items-center justify-center"
>
<view
class=
"PaymentProTitle row items-center justify-center"
>
<!--
{{
authInfor
.
ContractStatus
}}
--
{{
authInfor
.
Status
}}
-->
<image
v-if=
"authInfor.Status==1||authInfor.Status==3"
:src=
"stateImg[0]"
/>
<image
v-if=
"authInfor.Status==1||authInfor.Status==3"
:src=
"stateImg[0]"
/>
<image
v-if=
"authInfor.ContractStatus==5&&authInfor.Status==2"
:src=
"stateImg[1]"
/>
<image
v-if=
"authInfor.ContractStatus==5&&authInfor.Status==2"
:src=
"stateImg[1]"
/>
<text>
<text>
...
@@ -11,7 +12,7 @@
...
@@ -11,7 +12,7 @@
打款中
打款中
</
template
>
</
template
>
<
template
v-if=
"(authInfor.ContractStatus==1||authInfor.ContractStatus==5)&&authInfor.Status==2"
>
<
template
v-if=
"(authInfor.ContractStatus==1||authInfor.ContractStatus==5)&&authInfor.Status==2"
>
已完成
{{
authInfor
.
ContractStatus
==
1
?
'未生效'
:
'已完成'
}}
</
template
>
</
template
>
</text>
</text>
</view>
</view>
...
@@ -64,14 +65,15 @@
...
@@ -64,14 +65,15 @@
<view
class=
"PaymentProCJDText"
>
{{ item.Name }}
</view>
<view
class=
"PaymentProCJDText"
>
{{ item.Name }}
</view>
</view>
</view>
<view
class=
"PaymentProCJDBoxR"
>
<view
class=
"PaymentProCJDBoxR"
>
<
template
v-if=
"type==2&&((authInfor.Status==1&&!index)||authInfor.Status==3)"
>
{{
item
.
Time
}}
</
template
>
<
template
v-if=
"(type==2&&((authInfor.Status==1&&!index)||authInfor.Status==3))
||(type==3&&item.Status==2)"
>
{{
item
.
Time
}}
</
template
>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</scroll-view>
</scroll-view>
<view
class=
"PaymentProButBox row"
>
<view
class=
"PaymentProButBox row"
>
<view
class=
"PaymentProBut PaymentProButL col"
>
返回
</view>
<view
class=
"PaymentProBut PaymentProButL col"
@
click=
"goBack"
>
返回
</view>
<view
v-if=
"(type==2&&authInfor.Status==3)||type==3"
<view
v-if=
"(type==2&&authInfor.Status==3)||type==3"
class=
"PaymentProBut PaymentProButR col"
class=
"PaymentProBut PaymentProButR col"
@
click=
"goUrl"
>
@
click=
"goUrl"
>
...
@@ -156,16 +158,23 @@ export default {
...
@@ -156,16 +158,23 @@ export default {
this
.
getSignDetails
()
this
.
getSignDetails
()
},
},
methods
:
{
methods
:
{
goBack
(){
if
(
this
.
type
==
2
){
uni
.
redirectTo
({
url
:
'/pages/bigredrnvelope/list'
})
}
else
if
(
this
.
type
==
3
){
uni
.
redirectTo
({
url
:
'/pages/bigredrnvelope/list'
})
}
},
goUrl
(){
goUrl
(){
if
(
this
.
type
==
2
){
if
(
this
.
type
==
2
){
uni
.
navigateTo
({
//
结算中
uni
.
navigateTo
({
//
合同修改
url
:
`/pages/bigredrnvelope/signAcontract?ContractId=
${
this
.
ContractId
}
`
url
:
`/pages/bigredrnvelope/signAcontract?ContractId=
${
this
.
ContractId
}
`
})
})
}
else
if
(
this
.
type
==
3
){
//进行中
}
else
if
(
this
.
type
==
3
){
//可结算
uni
.
navigateTo
({
url
:
`/pages/bigredrnvelope/ActivityInProgress?ContractId=
${
this
.
ContractId
}
`
})
}
else
if
(
this
.
type
==
4
){
//可结算
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
`/pages/bigredrnvelope/SettableList?ContractId=
${
this
.
ContractId
}
`
url
:
`/pages/bigredrnvelope/SettableList?ContractId=
${
this
.
ContractId
}
`
})
})
...
@@ -187,11 +196,30 @@ export default {
...
@@ -187,11 +196,30 @@ export default {
this
.
toExamineSteps
[
0
].
Time
=
data
.
CreateTime
this
.
toExamineSteps
[
0
].
Time
=
data
.
CreateTime
this
.
toExamineSteps
[
1
].
Time
=
data
.
UpdateTime
this
.
toExamineSteps
[
1
].
Time
=
data
.
UpdateTime
this
.
stepList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
toExamineSteps
))
this
.
stepList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
toExamineSteps
))
}
else
{
for
(
let
i
=
0
;
i
<
data
.
AuditSteps
.
length
;
i
++
){
let
record
=
data
.
AuditSteps
[
i
]
let
Time
=
''
if
(
record
.
AuditRecordList
.
length
>
0
){
Time
=
data
.
AuditSteps
[
i
].
AuditRecordList
[
0
].
AduitDate
}
let
obj
=
{
Name
:
i
?
record
.
AuditDescription
:
record
.
AuditRecordList
[
0
].
AuditName
,
Id
:
i
+
1
,
Time
:
Time
,
Status
:
record
.
Status
,
}
this
.
stepList
.
push
(
obj
)
if
(
obj
.
Status
==
2
){
this
.
StepNum
=
i
}
}
}
}
setTimeout
(()
=>
{
uni
.
hideLoading
()
uni
.
hideLoading
()
},
500
)
}
}
})
})
},
},
getInfor
(){
getInfor
(){
this
.
apipost
(
'app_customer_GetAuthenticationDetails'
,{
this
.
apipost
(
'app_customer_GetAuthenticationDetails'
,{
...
...
pages/bigredrnvelope/SettableList.vue
View file @
95bf45ae
<
template
>
<
template
>
<view
class=
"SetListBox activeLv1 column"
>
<view
class=
"SetListBox column"
:class=
"[Details.Level>0?`activeLv$
{Details.Level}`:'activeLv1']">
<view
class=
"SetListHeaderBox"
>
<view
class=
"SetListHeaderBox"
>
<headers
:title=
"page"
></headers>
<headers
:title=
"page"
></headers>
<view
class=
"SetListHeader row items-center"
>
<view
class=
"SetListHeader row items-center"
>
<view
class=
"SetListHeaderL"
>
<view
class=
"SetListHeaderL"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748795455095258.png"
/>
<u-avatar
v-if=
"b2bUser.photo||UserInformation.image"
:src=
"b2bUser.photo?b2bUser.photo:UserInformation.image"
size=
"88"
shape=
"circle"
></u-avatar>
<u-avatar
v-else
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748795455095258.png"
size=
"88"
shape=
"circle"
></u-avatar>
<!--
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638748795455095258.png"
/>
-->
</view>
</view>
<view
class=
"SetListHeaderR"
>
<view
class=
"SetListHeaderR"
>
<view
class=
"SetListHeaderRTitle"
>
Ranjunjun
</view>
<view
class=
"SetListHeaderRTitle"
>
{{
UserInformation
.
name
}}
</view>
<view
class=
"SetListHeaderRLV"
>
等级:LV1.出发序章
</view>
<view
class=
"SetListHeaderRLV"
>
等级:
Lv
{{
Details
.
Level
>
0
?
Details
.
Level
:
1
}}
.
<template
v-if=
"Details.Level
<
=
1
"
>
出发序章
</
template
>
<
template
v-else-if=
"Details.Level==2"
>
秘境探索
</
template
>
<
template
v-else-if=
"Details.Level==3"
>
云端行者
</
template
>
<
template
v-else-if=
"Details.Level==4"
>
丝路征程
</
template
>
<
template
v-else-if=
"Details.Level==5"
>
寰宇旅人
</
template
>
</view>
</view>
</view>
</view>
</view>
</view>
<view
class=
"SetListCenterBox column"
>
</view>
<view
class=
"SetListCenterBox column"
v-if=
"Details.TotalClosePrice>=0"
>
<view
class=
"SetListCenTjBox"
>
<view
class=
"SetListCenTjBox"
>
<view
class=
"SetListCenTjTitle"
>
大红包额度
</view>
<view
class=
"SetListCenTjTitle"
>
大红包额度
</view>
<view
class=
"row-sbas-n items-center"
>
<view
class=
"row-sbas-n items-center"
>
<view
class=
"SetListCenTNumL"
>
<view
class=
"SetListCenTNumL"
>
¥
<text>
2318
</text>
¥
<text>
{{ Details.TotalClosePrice.toFixed(2) }}
</text>
</view>
</view>
<view
class=
"SetListCenTImgR"
>
<view
class=
"SetListCenTImgR"
v-if=
"Details.ContractStatus==3&&
Details.Status==2&&
Details.TotalClosePrice>0"
@
click=
"Applyfor"
>
<view>
<view>
立即提现
立即提现
</view>
</view>
...
@@ -27,35 +40,46 @@
...
@@ -27,35 +40,46 @@
</view>
</view>
</view>
</view>
<view
class=
"SetListCenTimeBox row-sbas-n"
>
<view
class=
"SetListCenTimeBox row-sbas-n"
>
<view
class=
"SetListCenTime row"
@
click=
"SelectDate"
>
<view
class=
"row items-center"
>
<view
class=
"SetListCenTimeAll"
:class=
"[isType==1?'active':'']"
@
click=
"SelectDate(1)"
>
全部
</view>
<view
class=
"SetListCenTime row"
>
<view
@
click=
"SelectDate(2)"
:class=
"[isType==2||isType==0?'active':'']"
>
<text>
{{year}}年
</text>
<text>
{{year}}年
</text>
<text>
{{month}}月
</text>
<text>
{{month}}月
</text>
<u-icon
name=
"arrow-down"
size=
"28"
></u-icon>
</view>
<u-icon
@
click=
"SelectDate(0)"
name=
"arrow-down"
size=
"28"
color=
"#000"
></u-icon>
</view>
</view>
</view>
<view
class=
"SetListCenSSE"
>
<view
class=
"SetListCenSSE"
>
总销售额:
总销售额:
<text>
¥
518960
</text>
<text>
¥
{{ total }}
</text>
</view>
</view>
</view>
</view>
<scroll-view
:scroll-y=
"true"
<scroll-view
:scroll-y=
"true"
style=
"height: 1px;flex: 1;box-sizing: border-box;border-radius: 18rpx;overflow: hidden;"
style=
"height: 1px;flex: 1;box-sizing: border-box;border-radius: 18rpx;overflow: hidden;"
@
scroll=
"scroll"
>
@
scroll=
"scroll"
>
<view
class=
"SetListListBox"
>
<view
class=
"SetListListBox"
>
<view
class=
"SetListList activeJD"
<view
class=
"SetListList activeLY"
v-for=
"(item,index) in 10"
:key=
"index"
>
v-for=
"(item,index) in CustomerOrderList"
:key=
"index"
@
click=
"goDetails(item)"
>
<view
class=
"SetListListTitle"
>
<view
class=
"SetListListTitle"
>
<text>
<text>
酒店
旅游
</text>
</text>
<view></view>
<view></view>
</view>
</view>
<view
class=
"SetListListDec"
>
<view
class=
"SetListListDec"
>
星空九寨~九寨沟.黄龙.熊猫乐园.纯玩3天(4人定制小包团·赠送...
{{ item.Title }}
</view>
</view>
<view
class=
"SetListListDecNum"
>
¥
1440,2
人
</view>
<view
class=
"SetListListDecNum"
>
¥
{{item.Unit_Price}},{{item.GuestNum}}
人
</view>
<view
class=
"SetListListTime row-sbas-n items-center"
>
<view
class=
"SetListListTime row-sbas-n items-center"
>
<view>
完结时间:
2025-04-01
</view>
<view>
完结时间:
{{ item.CreateDate }}
</view>
<view
class=
"SetListListTimeR"
>
¥
2880
</view>
<view
class=
"SetListListTimeR"
>
¥
{{item.Money}}
</view>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -72,12 +96,15 @@
...
@@ -72,12 +96,15 @@
</view>
</view>
<u-picker
mode=
"time"
v-model=
"showTime"
:defaultTime=
"times"
:params=
"params"
@
confirm =
'confirm'
></u-picker>
<u-picker
mode=
"time"
v-model=
"showTime"
:defaultTime=
"times"
:params=
"params"
@
confirm =
'confirm'
></u-picker>
<auth
v-if=
"showAuth&&is_show_auth==1"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</view>
</view>
</template>
</template>
<
script
>
<
script
>
import
auth
from
"@/components/auth/index.vue"
;
import
headers
from
"@/components/header/header"
;
import
headers
from
"@/components/header/header"
;
export
default
{
export
default
{
components
:
{
components
:
{
auth
,
headers
headers
},
},
data
()
{
data
()
{
...
@@ -92,28 +119,183 @@ export default {
...
@@ -92,28 +119,183 @@ export default {
minute
:
false
,
minute
:
false
,
second
:
false
second
:
false
},
},
year
:
2025
,
year
:
''
,
month
:
12
,
month
:
''
,
date
:
31
,
date
:
''
,
times
:
null
,
times
:
null
,
showTime
:
false
,
showTime
:
false
,
msg
:
{
msg
:
{
QStartDate
:
''
,
QStartDate
:
''
,
QEndDate
:
''
QEndDate
:
''
,
YearMonth
:
''
,
},
},
scrollHeight
:
0
,
scrollHeight
:
0
,
scrollTop
:
0
,
scrollTop
:
0
,
U
:
{},
showAuth
:
false
,
is_show_auth
:
0
,
b2bUser
:{},
isType
:
2
,
ContractId
:
0
,
Details
:
{},
CustomerOrderListAll
:
[],
CustomerOrderList
:
[],
UserInformation
:
null
,
total
:
0
,
}
}
},
},
watch
:{
CustomerOrderList
:
{
handler
(
val
,
oldval
)
{
this
.
count
()
},
deep
:
false
,
immediate
:
false
,
},
},
onLoad
(
options
)
{
onLoad
(
options
)
{
this
.
ContractId
=
options
.
ContractId
},
},
onShow
()
{
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
;
}
const
now
=
new
Date
();
this
.
year
=
now
.
getFullYear
();
this
.
month
=
String
(
now
.
getMonth
()
+
1
).
padStart
(
2
,
'0'
);
this
.
msg
.
QStartDate
=
this
.
year
+
'-'
+
this
.
month
+
'-01'
now
.
setMonth
(
now
.
getMonth
()
+
1
,
0
);
this
.
msg
.
QEndDate
=
this
.
year
+
'-'
+
this
.
month
+
'-'
+
now
.
getDate
()
this
.
msg
.
YearMonth
=
this
.
year
+
'-'
+
this
.
month
},
},
mounted
()
{
mounted
()
{
this
.
GetCustomerCenter
()
this
.
getSignDetails
()
},
},
methods
:
{
methods
:
{
goDetails
(
item
){
return
let
url
=
null
let
msg
=
null
msg
=
`orderId=
${
item
.
erpOrderId
}
`
if
(
item
.
goodsType
==
2
)
url
=
`jiuzhai/jz_SureOrder?`
//线路
else
if
(
item
.
goodsType
==
4
){
//景点门票
}
else
if
(
item
.
goodsType
==
3
){
//酒店住宿
}
else
if
(
item
.
goodsType
==
5
){
//目的地用车
}
else
if
(
item
.
goodsType
==
6
)
url
=
`visa/visa_SureOrder?`
//签证
else
if
(
item
.
goodsType
==
1
){
//机票
url
=
`airTicket/airTicketOrderDetail?`
msg
=
`id=
${
item
.
erpOrderId
}
`
}
if
(
url
)
{
let
path
=
`/pages/
${
url
}${
msg
}
`
uni
.
navigateTo
({
url
:
path
,
});
}
},
Applyfor
(){
if
(
!
this
.
ContractId
)
return
uni
.
showToast
({
title
:
'请先选择合同'
,
icon
:
'none'
,
duration
:
2000
,
})
uni
.
showLoading
({
title
:
'提交中...'
,
mask
:
true
})
this
.
apipost
(
'app_customer_Update2025ClearingAlliance'
,
{
ContractId
:
this
.
ContractId
},
(
res
)
=>
{
if
(
res
.
resultCode
==
1
){
uni
.
showToast
({
title
:
'提交成功'
,
icon
:
'success'
,
duration
:
2000
,
})
uni
.
navigateTo
({
url
:
`/pages/bigredrnvelope/PaymentProgress?type=3&ContractId=
${
this
.
ContractId
}
`
})
}
uni
.
hideLoading
()
},
err
=>
{
uni
.
showToast
({
title
:
err
.
message
,
icon
:
'none'
,
duration
:
2000
,
})
uni
.
hideLoading
()
}
);
},
GetCustomerCenter
(){
this
.
apipost
(
'b2b_get_GetCustomerCenter_New'
,
{},
(
res
)
=>
{
this
.
UserInformation
=
res
.
data
},
err
=>
{
}
);
},
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
this
.
CustomerOrderListAll
=
data
.
CustomerOrderList
this
.
getCustomerOrderList
()
uni
.
hideLoading
()
this
.
$forceUpdate
()
}
})
},
getCustomerOrderList
(){
this
.
CustomerOrderList
=
this
.
CustomerOrderListAll
.
filter
(
item
=>
{
return
this
.
msg
.
YearMonth
==
item
.
CreateDate
.
slice
(
0
,
7
)
})
},
count
(){
let
total
=
0
;
if
(
this
.
CustomerOrderList
.
length
>
0
)
{
this
.
CustomerOrderList
.
forEach
(
order
=>
{
total
+=
Number
(
order
.
Money
);
});
}
this
.
total
=
total
.
toFixed
(
2
);
this
.
$forceUpdate
()
},
goTisp
(){
goTisp
(){
this
.
scrollTop
=
this
.
scrollHeight
this
.
scrollTop
=
this
.
scrollHeight
},
},
...
@@ -126,10 +308,21 @@ export default {
...
@@ -126,10 +308,21 @@ export default {
now
.
setDate
(
now
.
getDate
()
-
1
);
// 减1天即为上个月最后一天
now
.
setDate
(
now
.
getDate
()
-
1
);
// 减1天即为上个月最后一天
this
.
msg
.
QStartDate
=
this
.
year
+
'-'
+
this
.
month
+
'-01'
this
.
msg
.
QStartDate
=
this
.
year
+
'-'
+
this
.
month
+
'-01'
this
.
msg
.
QEndDate
=
this
.
year
+
'-'
+
this
.
month
+
'-'
+
now
.
getDate
()
this
.
msg
.
QEndDate
=
this
.
year
+
'-'
+
this
.
month
+
'-'
+
now
.
getDate
()
// this.research()
this
.
msg
.
YearMonth
=
this
.
year
+
'-'
+
this
.
month
this
.
getCustomerOrderList
()
this
.
showTime
=
false
// this.scrollTop = 630
},
},
SelectDate
(){
SelectDate
(
type
){
this
.
isType
=
type
;
if
(
type
==
1
){
this
.
CustomerOrderList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
CustomerOrderListAll
))
}
else
if
(
type
==
2
){
this
.
getCustomerOrderList
()
}
else
{
this
.
showTime
=
true
this
.
showTime
=
true
}
// this.scrollTop = 630
},
},
goUrl
(){
goUrl
(){
uni
.
navigateTo
({
uni
.
navigateTo
({
...
@@ -239,6 +432,32 @@ export default {
...
@@ -239,6 +432,32 @@ export default {
top
:
-2rpx
;
top
:
-2rpx
;
color
:
#000
;
color
:
#000
;
}
}
.SetListCenTimeAll
{
border-radius
:
10rpx
;
padding
:
0
15rpx
0
0
;
font-size
:
24rpx
;
margin-right
:
20rpx
;
}
.SetListBox.activeLv1
.SetListCenTimeAll.active
,
.SetListBox.activeLv1
.SetListCenTime
.active
{
color
:
#3175FF
;
}
.SetListBox.activeLv2
.SetListCenTimeAll.active
,
.SetListBox.activeLv2
.SetListCenTime
.active
{
color
:
#FF3166
;
}
.SetListBox.activeLv3
.SetListCenTimeAll.active
,
.SetListBox.activeLv3
.SetListCenTime
.active
{
color
:
#1BCB8B
;
}
.SetListBox.activeLv4
.SetListCenTimeAll.active
,
.SetListBox.activeLv4
.SetListCenTime
.active
{
color
:
#FF9731
;
}
.SetListBox.activeLv5
.SetListCenTimeAll.active
,
.SetListBox.activeLv5
.SetListCenTime
.active
{
color
:
#9B2020
;
}
.SetListCenSSE
{
.SetListCenSSE
{
font-weight
:
bold
;
font-weight
:
bold
;
font-size
:
24rpx
;
font-size
:
24rpx
;
...
...
pages/bigredrnvelope/list.vue
View file @
95bf45ae
...
@@ -9,34 +9,38 @@
...
@@ -9,34 +9,38 @@
style=
"width: 100%;height: 1px;flex: 1;"
>
style=
"width: 100%;height: 1px;flex: 1;"
>
<view
class=
"bigRedEnvLCBox"
>
<view
class=
"bigRedEnvLCBox"
>
<!-- activeDaiKQ activeJinXZ activeChaK activeChaKJD-->
<!-- activeDaiKQ activeJinXZ activeChaK activeChaKJD-->
<view
class=
"bigRedEnvLC
"
v-for=
"(item,index) in dataList"
:key=
"index"
<view
class=
"bigRedEnvLC"
v-for=
"(item,index) in dataList"
:key=
"index"
:class=
"[
{'activeDaiKQ':item.ContractStatus==3
&&
item.Status==2,
:class=
"[
{'activeDaiKQ':item.ContractStatus==3
&&
item.Status==2,
'activeJinXZ':
item.ContractStatus==2
&&
item.Status==2
,
'activeJinXZ':
(item.ContractStatus==2
&&
item.Status==2)||item.ContractStatus==1
,
'activeChaK':(item.ContractStatus==4||
ContractStatus==5)
&&
Status==2,
'activeChaK':(item.ContractStatus==4||
item.ContractStatus==5)
&&
item.
Status==2,
'activeChaKJD':item.Status==1||item.Status==3}]">
'activeChaKJD':item.Status==1||item.Status==3}]">
<view
class=
"bigRedEnvLCBj"
>
<view
class=
"bigRedEnvLCBj"
>
<view
class=
"row items-center"
>
<view
class=
"row items-center"
>
<view
class=
"bigRedEnvLCLeft col"
>
<view
class=
"bigRedEnvLCLeft col"
>
<view
class=
"bigRedEnvLCLTitle"
><text>
{{
item
.
C_ProductName
}}
</text></view>
<view
class=
"bigRedEnvLCLTitle"
><text>
{{
item
.
C_ProductName
}}
</text></view>
<view
v-if=
"item.Status!=1"
class=
"bigRedEnvLCLTime"
>
<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==2&&item.Status==2"
>
提交时间:
{{
item
.
C_PayDate
}}
</
template
>
<
template
v-if=
"(item.ContractStatus==4||ContractStatus==5)&&Status==2"
>
结算时间
{{
item
.
JieSuan
}}
</
template
>
<
template
v-if=
"item.ContractStatus==3&&item.Status==2"
>
结算时间:
{{
item
.
JieSuan
}}
</
template
>
<
template
v-if=
"(item.ContractStatus==4||item.ContractStatus==5)&&item.Status==2"
>
结算时间:
{{
item
.
C_PayDate
}}
</
template
>
</view>
</view>
</view>
</view>
<view
class=
"bigRedEnvLCRight"
>
<view
class=
"bigRedEnvLCRight"
>
<view
class=
"bigRedEnvLC
bigRedEnvLCLTime
RBox column"
<view
class=
"bigRedEnvLCRBox column"
v-if=
"item.Status!=1&&item.Status!=3"
v-if=
"item.Status!=1&&item.Status!=3"
@
click=
"(item.ContractStatus==4||item.ContractStatus==5)&&Status==2?goDetails(item,3):''"
>
@
click=
"item.ContractStatus==2&&item.Status==2?goDetails(item,3):
item.ContractStatus==3&&item.Status==2?goDetails(item,4):
(item.ContractStatus==4||item.ContractStatus==5)&&item.Status==2?goDetails(item,5):''"
>
<view
class=
"bigRedEnvLCRTitle"
>
-
<view
class=
"bigRedEnvLCRTitle"
>
-
<text>
<text>
<
template
v-if=
"item.ContractStatus==3&&item.Status==2"
>
待开启
</
template
>
<
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==2&&item.Status==2"
>
进行中
</
template
>
<
template
v-if=
"item.ContractStatus==4&&Status==2"
>
结算中
</
template
>
<
template
v-if=
"item.ContractStatus==1"
>
待生效
</
template
>
<
template
v-if=
"item.ContractStatus==4&&item.Status==2"
>
结算中
</
template
>
<
template
v-if=
"item.ContractStatus==5&&item.Status==2"
>
已完成
</
template
>
<
template
v-if=
"item.ContractStatus==5&&item.Status==2"
>
已完成
</
template
>
</text>
-
</view>
</text>
-
</view>
<view
class=
"bigRedEnvLCRText"
>
<view
class=
"bigRedEnvLCRText"
>
¥
¥
<text>
{{ item.TotalClosePrice }}
</text>
<text>
{{ item.TotalClosePrice
.toFixed(2)
}}
</text>
</view>
</view>
<view
class=
"bigRedEnvLCRTYg"
>
预估
</view>
<view
class=
"bigRedEnvLCRTYg"
>
预估
</view>
</view>
</view>
...
@@ -120,13 +124,18 @@ export default {
...
@@ -120,13 +124,18 @@ export default {
let
path
=
''
;
let
path
=
''
;
if
(
type
==
1
){
if
(
type
==
1
){
path
=
'signAcontract?'
path
=
'signAcontract?'
}
else
if
(
type
==
2
){
}
else
if
(
type
==
2
){
//合同进度
path
=
`PaymentProgress?type=
${
type
}
&`
path
=
`PaymentProgress?type=
${
type
}
&`
}
else
if
(
type
==
3
){
//进行中
path
=
`ActivityInProgress?`
}
else
if
(
type
==
4
){
//待开启
path
=
`SettableList?`
}
else
if
(
type
==
5
){
//提现完成
path
=
`PaymentProgress?type=3&`
}
}
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
`/pages/bigredrnvelope/
${
path
}
ContractId=
${
item
.
ContractId
}
`
url
:
`/pages/bigredrnvelope/
${
path
}
ContractId=
${
item
.
ContractId
}
`
})
})
},
},
getList
(){
getList
(){
uni
.
showLoading
({
uni
.
showLoading
({
...
@@ -209,7 +218,7 @@ export default {
...
@@ -209,7 +218,7 @@ export default {
}
}
.bigRedEnvLCLeft
{
.bigRedEnvLCLeft
{
color
:
#E95E2F
;
color
:
#E95E2F
;
position
:
relative
;
//
position: relative;
white-space
:
nowrap
;
white-space
:
nowrap
;
overflow
:
hidden
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
...
@@ -223,7 +232,7 @@ export default {
...
@@ -223,7 +232,7 @@ export default {
font-size
:
20rpx
;
font-size
:
20rpx
;
margin-top
:
10rpx
;
margin-top
:
10rpx
;
position
:
absolute
;
position
:
absolute
;
bottom
:
-3
0rpx
;
bottom
:
2
0rpx
;
}
}
.bigRedEnvLCRight
{
.bigRedEnvLCRight
{
width
:
171rpx
;
width
:
171rpx
;
...
@@ -234,7 +243,7 @@ export default {
...
@@ -234,7 +243,7 @@ export default {
width
:
165rpx
;
width
:
165rpx
;
height
:
207rpx
;
height
:
207rpx
;
position
:
absolute
;
position
:
absolute
;
top
:
-1
12
rpx
;
top
:
-1
09
rpx
;
padding
:
15rpx
19rpx
0
19rpx
;
padding
:
15rpx
19rpx
0
19rpx
;
}
}
.bigRedEnvLiYou
{
.bigRedEnvLiYou
{
...
@@ -276,7 +285,7 @@ export default {
...
@@ -276,7 +285,7 @@ export default {
font-size
:
18rpx
;
font-size
:
18rpx
;
color
:
#A4571F
;
color
:
#A4571F
;
text-align
:
center
;
text-align
:
center
;
margin-top
:
5rpx
;
//
margin-top: 5rpx;
}
}
.bigRedEnvLCRText
text
{
.bigRedEnvLCRText
text
{
font-size
:
27rpx
;
font-size
:
27rpx
;
...
...
plugin/api.js
View file @
95bf45ae
...
@@ -129,7 +129,10 @@ export default {
...
@@ -129,7 +129,10 @@ export default {
// curPage.onReady()
// curPage.onReady()
}
else
{
}
else
{
console
.
log
(
uni
.
getStorageSync
(
"LoginState"
),
'---log'
)
console
.
log
(
uni
.
getStorageSync
(
"LoginState"
),
'---log'
)
if
(
uni
.
getStorageSync
(
"LoginState"
))
return
if
(
uni
.
getStorageSync
(
"LoginState"
))
{
uni
.
removeStorageSync
(
"LoginState"
)
return
}
uni
.
setStorageSync
(
"LoginState"
,
true
)
uni
.
setStorageSync
(
"LoginState"
,
true
)
setTimeout
(()
=>
{
setTimeout
(()
=>
{
uni
.
redirectTo
({
uni
.
redirectTo
({
...
...
uni_modules/mrsong-charts/components/mrsong-charts/mrsong-charts.vue
View file @
95bf45ae
...
@@ -5,7 +5,8 @@
...
@@ -5,7 +5,8 @@
<text
class=
"chart-title"
>
{{
title
}}
</text>
<text
class=
"chart-title"
>
{{
title
}}
</text>
</slot>
</slot>
</view>
</view>
<view
class=
"charts-box"
>
<view
class=
"charts-box"
:style=
"
{'height':height}">
<slot
name=
"unit"
>
<slot
name=
"unit"
>
<view
v-if=
"unit"
class=
"chart-unit"
>
单位:
{{
unit
?
`(${unit
}
)`
:
''
}}
<
/view
>
<view
v-if=
"unit"
class=
"chart-unit"
>
单位:
{{
unit
?
`(${unit
}
)`
:
''
}}
<
/view
>
<
/slot
>
<
/slot
>
...
@@ -87,6 +88,10 @@ export default {
...
@@ -87,6 +88,10 @@ export default {
align
:
{
align
:
{
type
:
String
,
type
:
String
,
default
:
'center'
default
:
'center'
}
,
height
:{
type
:
String
,
default
:
'600px'
}
}
}
,
}
,
data
()
{
data
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment