Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bigwood
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
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
罗超
bigwood
Commits
63575108
Commit
63575108
authored
Apr 13, 2025
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
82c244d8
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
82 additions
and
47 deletions
+82
-47
passbookHead.vue
src/components/passbook/passbookHead.vue
+4
-4
rebate.vue
src/components/passbook/rebate.vue
+14
-14
redEnvelope.vue
src/components/passbook/redEnvelope.vue
+22
-22
index.ts
src/i18n/en-US/index.ts
+4
-4
passbook.vue
src/pages/passbook/passbook.vue
+23
-3
menus.ts
src/utils/menus.ts
+15
-0
No files found.
src/components/passbook/passbookHead.vue
View file @
63575108
...
...
@@ -4,7 +4,7 @@
:class="{'mobile':$q.platform.is.mobile}">
<q-img
v-if=
"$q.platform.is.desktop"
src=
"../../assets/images/personal/bg1.png"
width=
"156px"
height=
"162px"
style=
"position: absolute; bottom: 0px;"
/>
height=
"162px"
style=
"position: absolute; bottom: 0px;"
/>
<div
class=
"text-center passbookHead-title"
:class=
"[$q.platform.is.desktop?'desktop':'mobile']"
>
<q-img
src=
"../../assets/images/personal/title.png"
...
...
@@ -33,7 +33,7 @@
<q-img
v-if=
"$q.platform.is.mobile"
src=
"../../assets/images/personal/bg1.png"
style=
"position: absolute;right: 20px;top: 40px;"
width=
"117px"
height=
"auto"
/>
height=
"auto"
/>
</div>
<q-separator
v-if=
"$q.platform.is.mobile"
dark
class=
"q-mt-md"
/>
<div
class=
"row justify-between col-8"
...
...
@@ -50,7 +50,7 @@
:style="{'width':$q.platform.is.mobile?'100%':''}">
<q-img
v-if=
"$q.platform.is.desktop"
src=
"../../assets/images/personal/ck.png"
width=
"12px"
height=
"12px"
style=
"position: relative; top: 0px;"
/>
height=
"12px"
style=
"position: relative; top: 0px;"
/>
<span
class=
"fz14 q-pl-xs"
>
{{
$t
(
'v104.passbook.details'
)
}}
</span>
</div>
</div>
...
...
@@ -96,7 +96,7 @@
background
:
-webkit-linear-gradient
(
left
,
#F0886B
,
#ED6A6B
);
background
:
-moz-linear-gradient
(
right
,
#F0886B
,
#ED6A6B
);
background
:
-o-linear-gradient
(
right
,
#F0886B
,
#ED6A6B
);
background
:
linear-gradient
(
to
right
,
#F0886B
,
#ED6A6B
);
background
:
linear-gradient
(
to
right
,
#F0886B
,
#ED6A6B
);
border-radius
:
24px
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
...
src/components/passbook/rebate.vue
View file @
63575108
...
...
@@ -2,11 +2,11 @@
<div
class=
"bg-white q-mt-lg"
:style=
"
{'margin':$q.platform.is.mobile?'20px 10px 0 10px':'',
'border-radius':$q.platform.is.desktop?'':'10px'}">
<rebatehead
:title=
"titleHead"
/>
<rebatehead
:title=
"titleHead"
/>
<q-separator
color=
"grey-3"
class=
"q-my-sm"
/>
<div
style=
"padding: 15px 0 0 0;"
:class=
"[$q.platform.is.desktop?'row justify-between':'column reverse']"
>
:class=
"[$q.platform.is.desktop?'row justify-between':'column reverse']"
>
<!-- style="border: 1px dashed #E0E0E0;" -->
<div
class=
"col"
>
<div
v-if=
"$q.platform.is.mobile"
class=
"text-center fz16 q-pb-md"
@
click=
"isShow=!isShow"
>
...
...
@@ -20,8 +20,8 @@
appear
enter-active-class=
"animated fadeInUp"
leave-active-class=
"animated fadeInDown"
>
>
<div
class=
"column col rebate-left fz14"
:style=
"
{'padding':$q.platform.is.desktop?'0 30px 0 30px':''}">
<div
class=
"row items-center left-text text-grey-9"
...
...
@@ -32,7 +32,7 @@
</div>
<q-separator
color=
"grey-3"
/>
<div
class=
"column"
v-if=
"dataList.length>0"
>
<div
<div
v-for=
"(item,index) in dataList"
class=
"row items-center left-text text-dark"
>
<div>
{{
item
.
id
}}
</div>
...
...
@@ -47,7 +47,7 @@
<svg-icon
:size=
"50"
color=
"nav"
icon=
"General/Clipboard.svg"
></svg-icon>
<div
class=
"q-mt-md f12 text-grey-6"
>
{{ $t('noneData') }}
</div>
</div>
</div>
</transition>
</div>
...
...
@@ -57,7 +57,7 @@
<div
class=
"fz14 text-grey-7"
:class=
"[$q.platform.is.desktop?'':'q-pl-md']"
>
{{$t('v104.passbook.titles.text2')}}
</div>
<div
:class=
"[$q.platform.is.desktop?'q-pl-lg':'']"
>
<div
ref=
"main"
style=
"width: 100%;height: 300px;"
></div>
<div
ref=
"main"
style=
"width: 100%;height: 300px;"
></div>
</div>
</div>
</div>
...
...
@@ -96,7 +96,7 @@
dataList
:
[]
as
Array
<
any
>
,
zbList
:[]
as
Array
<
any
>
,
})
const
methods
=
{
getZb
(){
let
CustomerId
...
...
@@ -107,7 +107,7 @@
.
then
(
r
=>
{
data
.
zbList
=
[]
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
)
{
let
datainfo
=
r
.
data
.
data
;
let
datainfo
=
r
.
data
.
data
;
let
arr
=
[];
datainfo
.
forEach
(
item
=>
{
let
obj
=
{};
...
...
@@ -132,7 +132,7 @@
passbookService
.
getDepositBankbookDetail_V2
(
CustomerId
)
.
then
(
r
=>
{
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
)
{
data
.
dataList
=
r
.
data
.
data
.
pageData
;
data
.
dataList
=
r
.
data
.
data
.
pageData
;
}
else
{
message
.
errorMsg
(
r
.
data
.
message
)
}
...
...
@@ -144,7 +144,7 @@
getinit
()
{
// 基于准备好的dom,初始化echarts实例
const
myChart
=
echarts
.
init
(
main
.
value
);
// 指定图表的配置项和数据
const
option
=
{
tooltip
:
{
...
...
@@ -208,7 +208,7 @@
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart
.
setOption
(
option
);
}
...
...
@@ -226,7 +226,7 @@
padding
:
15px
30px
0
30px
;
}
.rebate-left
{
}
.left-text
div
{
display
:
inline-block
;
...
...
@@ -243,7 +243,7 @@
background
:
#E0E0E0
;
}
.rebate-right
{
}
</
style
>
\ No newline at end of file
src/components/passbook/redEnvelope.vue
View file @
63575108
...
...
@@ -2,7 +2,7 @@
<div
class=
"bg-white q-mt-lg"
:style=
"
{'margin':$q.platform.is.mobile?'20px 10px 0 10px':'',
'border-radius':$q.platform.is.desktop?'':'10px'}">
<rebatehead
:title=
"titleHead"
/>
<rebatehead
:title=
"titleHead"
/>
<q-separator
color=
"grey-3"
class=
"q-my-sm"
/>
<div
style=
"padding: 15px 0 0 0;"
:class=
"[$q.platform.is.desktop?'row justify-between':'column mobile']"
>
...
...
@@ -12,7 +12,7 @@
<p
class=
"fz14 text-grey-7"
:class=
"[$q.platform.is.desktop?'':'q-pl-md']"
>
{{
$t
(
'v104.passbook.titles.text6'
)
}}
</p>
<div
ref=
"main"
:class=
"[$q.platform.is.desktop?'q-pt-lg':'']"
style=
"height: 280px;position: relative;top: -30px;"
:style=
"
{'width': $q.platform.is.desktop?'100%':'95%', 'left': $q.platform.is.desktop?'-20px':'10px','top': $q.platform.is.desktop?'-30px':'0'}">
</div>
:style=
"
{'width': $q.platform.is.desktop?'100%':'95%', 'left': $q.platform.is.desktop?'-20px':'10px','top': $q.platform.is.desktop?'-30px':'0'}">
</div>
</div>
<div
v-if=
"$q.platform.is.desktop"
class=
"row justify-center"
>
<q-separator
vertical
inset
style=
"height: 50%;position: relative;top: 11%;"
/>
...
...
@@ -26,7 +26,7 @@
<div
class=
"row items-end"
:class=
"[$q.platform.is.desktop?'q-pt-sm q-pb-lg':'justify-center']"
>
<span
class=
"fz12"
>
¥
</span>
<div
class=
"fz32 q-pl-sm"
><span
style=
"position: relative;top: 9px;"
>
{{
datainfo
.
Amount
}}
</span></div>
</div>
</div>
</div>
<q-separator
v-if=
"$q.platform.is.desktop"
color=
"grey-3"
/>
<div
:class=
"[$q.platform.is.desktop?'q-pb-sm':'col-6 text-center']"
>
...
...
@@ -42,7 +42,7 @@
</div>
<div
:class=
"[$q.platform.is.desktop?'q-pb-lg q-px-lg':'q-py-md q-px-md']"
><span>
{{
$t
(
'v104.passbook.titles.text11'
)
}}
:
</span><span
class=
"q-pl-lg"
>
¥
</span><span
class=
"fz32 q-pl-sm"
>
{{
datainfo
.
Amount
.
toFixed
(
2
)
}}
</span>
</div>
<div
class=
"q-pt-sm"
:class=
"[$q.platform.is.desktop?'q-px-lg':'q-px-md']"
>
<div
class=
"q-pb-lg"
v-for=
"(item,index) in datainfo.RatioList"
:key=
"index"
<div
class=
"q-pb-lg"
v-for=
"(item,index) in datainfo.RatioList"
:key=
"index"
:class=
"[$q.platform.is.desktop?'row items-center no-wrap':'column']"
>
<div
class=
"col"
>
<template
v-if=
"$q.platform.is.desktop"
>
...
...
@@ -55,7 +55,7 @@
<q-linear-progress
style=
"border-radius: 15px;"
v-else-if=
"item.percent
<1
"
stripe
rounded
size=
"10px"
:value=
"item.width/1000"
color=
"red-5"
/>
<q-linear-progress
style=
"border-radius: 15px;"
v-else
stripe
rounded
size=
"10px"
:value=
"item.width/1000"
color=
"cyan-4"
/>
</
template
>
</div>
<div
class=
"row items-center no-wrap"
:class=
"[$q.platform.is.desktop?'col-4 q-ml-lg':'col']"
>
...
...
@@ -63,7 +63,7 @@
<
template
v-if=
"$q.platform.is.desktop"
>
<q-img
v-if=
"item.percent>1"
src=
"../../assets/images/personal/gou.png"
width=
"20px"
height=
"20px"
style=
"position: relative;"
/>
height=
"20px"
style=
"position: relative;"
/>
<q-img
v-else
src=
"../../assets/images/personal/x1.png"
width=
"26px"
height=
"26px"
style=
"position: relative;"
/>
...
...
@@ -71,13 +71,13 @@
<
template
v-else
>
<q-img
v-if=
"item.percent>1"
src=
"../../assets/images/personal/gou.png"
width=
"15px"
height=
"15px"
style=
"position: relative;"
/>
height=
"15px"
style=
"position: relative;"
/>
<q-img
v-else
src=
"../../assets/images/personal/x1.png"
width=
"16px"
height=
"16px"
style=
"position: relative;"
/>
</
template
>
</div>
<div
:class=
"[$q.platform.is.desktop?'column q-ml-md':'row no-wrap items-center justify-between q-pt-xs']"
>
<span
class=
"row"
...
...
@@ -85,8 +85,8 @@
<
template
v-if=
"item.percent>1"
>
{{
$t
(
'v104.passbook.titles.text12'
)
}}
¥
{{
(
item
.
Money
*
item
.
Ratio
)
/
1000
}}
</
template
>
<
template
v-if=
"item.percent<1"
>
{{
$t
(
'v104.passbook.titles.text13'
)
}}
¥
{{
item
.
Money
-
datainfo
.
Amount
}}
,
{{
$t
(
'v104.passbook.titles.text14'
)
}}
¥
{{
(
item
.
Money
*
item
.
Ratio
)
/
1000
}}
</
template
>
</span>
<span
class=
"fz12 text-grey-6 q-pt-xs"
<span
class=
"fz12 text-grey-6 q-pt-xs"
:class=
"[$q.platform.is.desktop?'':'col-6']"
>
{{$t('v104.passbook.titles.text15')}} ¥ {{item.Money}} {{$t('v104.passbook.titles.text16')}}{{item.Ratio}}‰
</span>
</div>
</div>
...
...
@@ -148,12 +148,12 @@
width
:
30
,
}
},
axisTick
:
false
,
axisTick
:
false
,
data
:
data
.
xMonth
,
},
yAxis
:
{
type
:
"value"
,
type
:
"value"
,
min
:
'10'
,
axisTick
:
true
,
splitLine
:
{
...
...
@@ -174,7 +174,7 @@
type
:
"line"
,
smooth
:
2
,
symbol
:
'none'
,
data
:
data
.
yMoney1
,
data
:
data
.
yMoney1
,
lineStyle
:
{
width
:
3
,
color
:
"#36C7D9"
,
...
...
@@ -189,30 +189,30 @@
},
{
type
:
"line"
,
smooth
:
2
,
data
:
data
.
yMoney2
,
smooth
:
2
,
data
:
data
.
yMoney2
,
lineStyle
:
{
width
:
3
,
color
:
"#ED6A6B"
,
type
:
'dashed'
},
itemStyle
:
{
borderWidth
:
5
,
borderWidth
:
5
,
},
areaStyle
:
{
color
:
"#FAD2D2"
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart
.
setOption
(
option
);
}
}
onBeforeUnmount
(()
=>
{
})
onMounted
(()
=>
{
methods
.
getinit
();
...
...
@@ -229,10 +229,10 @@
padding
:
15px
10px
0
20px
;
}
.redEnvelope-left
{
}
.redEnvelope-right
{
}
</
style
>
\ No newline at end of file
src/i18n/en-US/index.ts
View file @
63575108
...
...
@@ -1509,7 +1509,7 @@ export default {
//#region ending v1.0.4
v104
:
{
passbook
:
{
pageTitle
:
'
Happiness passboo
k'
,
pageTitle
:
'
Cashbac
k'
,
available
:
'Available balance'
,
rules
:
'Usage rules'
,
details
:
'Usage details'
,
...
...
@@ -1520,13 +1520,13 @@ export default {
text2
:
'Line data proportion'
,
text3
:
'Line proportion'
,
text4
:
'Order source'
,
text5
:
'
Big Red Envelope
'
,
text5
:
'
Cashback
'
,
text6
:
'Revenue in the past six months'
,
text7
:
'Time selection'
,
text8
:
'Select month'
,
text9
:
'Accumulated
transaction total for
this year'
,
text9
:
'Accumulated
number of transactions
this year'
,
text10
:
'Accumulated revenue'
,
text11
:
'
Current transaction amount
'
,
text11
:
'
Month Number
'
,
text12
:
'Activated, expected revenue'
,
text13
:
'Still lacking'
,
text14
:
'Estimated Revenue'
,
...
...
src/pages/passbook/passbook.vue
View file @
63575108
...
...
@@ -11,7 +11,7 @@
>
<template
v-if=
"MonthObj&&datainfo"
>
<passbookHead
:dataNum=
"datainfo?datainfo.Client_Balance:0"
/>
<
rebate/
>
<
!--
<rebate/>
--
>
<redEnvelope
:Obj=
"MonthObj"
:info=
"datainfo"
/>
</
template
>
</transition-group>
...
...
@@ -46,7 +46,7 @@
components
:
{
passbookHead
,
rebate
,
redEnvelope
,
useDetails
},
props
:
{},
setup
()
{
const
$router
=
useRouter
();
const
$q
=
useQuasar
()
const
data
=
reactive
({
...
...
@@ -62,7 +62,24 @@
const
pageTitle
=
inject
(
DirtionmaryHelper
.
PAGE_TITLE_KEY
)
as
any
pageTitle
.
value
=
t
(
'v104.passbook.pageTitle'
)
setTitle
(
pageTitle
.
value
)
const
ratioListBase
=
ref
([
{
Money
:
5
,
Ratio
:
100000
,
},
{
Money
:
11
,
Ratio
:
150000
,
},
{
Money
:
16
,
Ratio
:
200000
,
},
{
Money
:
21
,
Ratio
:
250000
,
},
])
const
isUseDetails
=
ref
(
false
)
provide
(
DirtionmaryHelper
.
PASSBOOK_DETAILS
,
isUseDetails
)
const
methods
=
{
...
...
@@ -88,10 +105,13 @@
data
.
yMoney2
=
arr1
.
concat
(
newarr
);
}
})
data
.
datainfo
.
RatioList
=
ratioListBase
.
value
data
.
datainfo
.
RatioList
.
forEach
(
item
=>
{
item
.
percent
=
data
.
datainfo
.
Amount
/
item
.
Money
;
item
.
width
=
(
item
.
percent
)
*
100
;
})
console
.
log
(
data
.
datainfo
.
RatioList
)
data
.
yMoney1
=
data
.
yMoney1
.
concat
([
"-"
]);
data
.
MonthObj
=
{
xMonth
:
data
.
xMonth
,
...
...
src/utils/menus.ts
View file @
63575108
...
...
@@ -159,6 +159,21 @@ const useMenus = {
}
]
})
menus
.
push
({
name
:
t
(
'v104.passbook.pageTitle'
),
url
:
'/passbook'
,
id
:
25
,
parentId
:
0
,
icon
:
'Shopping/Box1.svg'
,
childs
:
[
{
name
:
t
(
'v104.passbook.pageTitle'
),
url
:
'/passbook'
,
id
:
26
,
parentId
:
25
,
}
]
})
// menus.push({
// name: t('menu.finance.first'),
// url: '',
...
...
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