Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
飞
飞鹤小程序
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
FH
飞鹤小程序
Commits
18232b63
Commit
18232b63
authored
Oct 14, 2025
by
spc
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.dui88.com/fh/20250528_FHQ1
into dev
parents
33882f8f
2dd5ee3b
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
976 additions
and
22 deletions
+976
-22
api.ts
activities/1015/api.ts
+2
-2
InviteTask.vue
activities/1015/components/InviteTask.vue
+3
-4
TaskPerson.less
components/renwu/TaskPerson.less
+216
-0
TaskPerson.vue
components/renwu/TaskPerson.vue
+705
-0
TaskPop.vue
components/renwu/TaskPop.vue
+0
-5
Integral.vue
views/Integral.vue
+50
-11
No files found.
activities/1015/api.ts
View file @
18232b63
...
...
@@ -26,8 +26,8 @@ export function fetchLotteryConfig (){
* 获取邀请助力组件信息
* @returns
*/
export
function
fetchInvitationInfo
(
unionId
:
string
){
return
api
.
post
(
'/c/activity/use_invite_101/invitation/home'
,
{
wxUnionId
:
unionId
}
)
as
Promise
<
CodeResponse
<
InvitationInfo
>>
export
function
fetchInvitationInfo
(){
return
api
.
post
(
'/c/activity/use_invite_101/invitation/home'
)
as
Promise
<
CodeResponse
<
InvitationInfo
>>
}
/**
...
...
activities/1015/components/InviteTask.vue
View file @
18232b63
...
...
@@ -40,8 +40,7 @@ const inviteBtnProperties = computed(() => {
})
async
function
updateInvitationInfo
()
{
const
unionId
=
uni
.
getStorageSync
(
'unionId'
);
const
resp
=
await
fetchInvitationInfo
(
unionId
)
const
resp
=
await
fetchInvitationInfo
()
return
invitationInfo
.
value
=
resp
.
data
}
...
...
@@ -91,6 +90,8 @@ async function tryAssist() {
}
async
function
initComponent
()
{
await
tryAssist
()
await
updateInvitationInfo
()
updateShareData
({
...
...
@@ -106,8 +107,6 @@ async function initComponent() {
prizeImageUrl
:
firstPrize
.
prizeImageUrl
,
})
}
await
tryAssist
()
}
watch
(()
=>
props
.
isLogin
,
async
(
newVal
)
=>
{
...
...
components/renwu/TaskPerson.less
0 → 100644
View file @
18232b63
.task_person_overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: flex-end;
justify-content: center;
z-index: 9999;
.mask_overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
}
.task_person_container {
position: relative;
width: 100%;
max-width: 750rpx;
background: #ffffff;
border-radius: 30rpx 30rpx 0 0;
box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.1);
z-index: 2;
overflow-y: auto;
padding: 40rpx 30rpx;
animation: slideUp 0.3s ease-out;
.task_person_header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
.task_person_title {
font-size: 50rpx;
font-weight: bold;
color: #D3A458;
text-align: center;
flex: 1;
}
.close_button {
width: 40rpx;
height: 40rpx;
display: flex;
align-items: center;
justify-content: center;
.close_icon {
font-size: 40rpx;
color: #333333;
font-weight: bold;
}
}
}
.task_person_description {
margin-bottom: 40rpx;
.description_text {
font-size: 24rpx;
color: #666666;
line-height: 1.5;
}
}
.task_person_info {
background: #f6f8fa;
border-radius: 20rpx;
margin-bottom: 40rpx;
padding: 20rpx;
box-sizing: border-box;
.form_row {
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1rpx solid #f2f2f2;
height: 110rpx;
}
.form_line_hidden {
border-bottom: none;
}
.form_label {
width: 250rpx;
color: #222;
font-size: 28rpx;
.required {
color: #b88a3a;
margin-left: -4rpx;
}
}
.form_input {
flex: 1;
color: #6f6d67;
font-size: 28rpx;
background: none;
border: none;
outline: none;
text-align: right;
}
.form_input_icon {
width: 11rpx;
height: 19rpx;
margin-left: 16rpx;
display: block;
}
.form_input_box {
display: flex;
align-items: center;
justify-content: center;
}
.form_radio {
margin-right: 32rpx;
font-size: 28rpx;
}
}
.form_bottom_btn {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 80rpx;
.form_bottom_text {
font-size: 28rpx;
color: #6f6d67;
}
.form_bottom_icon {
width: 19rpx;
height: 12rpx;
margin-left: 13rpx;
display: block;
}
}
.agreement_section {
margin-bottom: 40rpx;
.agreement_checkbox {
display: flex;
align-items: center;
.checkbox {
width: 32rpx;
height: 32rpx;
border: 2rpx solid #ddd;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 16rpx;
&.checked {
background-color: #D3A458;
border-color: #D3A458;
.checkmark {
color: #ffffff;
font-size: 20rpx;
font-weight: bold;
}
}
}
.agreement_text {
font-size: 24rpx;
color: #666666;
line-height: 1.4;
}
}
}
.form_btn {
width: 100%;
height: 94rpx;
border-radius: 46rpx;
background-color: #d3a358;
color: #ffffff;
font-size: 32rpx;
display: flex;
align-items: center;
justify-content: center;
border: none;
outline: none;
&.disabled {
background-color: #ccc;
color: #999;
}
}
}
}
@keyframes slideUp {
from {
transform: translateY(100%);
}
to {
transform: translateY(0);
}
}
components/renwu/TaskPerson.vue
0 → 100644
View file @
18232b63
This diff is collapsed.
Click to expand it.
components/renwu/TaskPop.vue
View file @
18232b63
...
...
@@ -127,11 +127,6 @@ const handleTaskClick = (task, index) => {
return
;
}
// 显示任务完成提示弹窗
currentTaskTitle
.
value
=
task
.
title
;
currentTaskPoints
.
value
=
task
.
points
;
// showTaskCompleteTips.value = true;
emit
(
'taskClick'
,
{
task
,
index
});
};
...
...
views/Integral.vue
View file @
18232b63
...
...
@@ -179,7 +179,7 @@
<
view
class
=
"privilege-container"
>
<!--
第一行
-->
<
view
class
=
"privilege-header"
>
<
text
class
=
"quanyi-title"
:
style
=
"{ color: getColor('quanyiTitle')[itemIndex].titleColor
}
"
>
LV
{{
<
text
class
=
"quanyi-title"
:
style
=
"{ color: getColor('quanyiTitle')[itemIndex].titleColor
}
"
@
click
=
"testGoto195"
>
LV
{{
(
Number
(
itemIndex
)
+
1
)
}}
专享权益
<
/text
>
<
text
class
=
"title-text"
:
style
=
"{ color: getColor('quanyiTitle')[itemIndex].quanyiNumColor
}
"
>
当前可享
<
text
class
=
"highlight"
...
...
@@ -343,17 +343,18 @@
<view class="
goods
-
container
" v-if="
goodsDataArr
?.
length
>
0
">
<!-- 页签栏 -->
<view class="
custom
-
tabs
">
<view v-for="
(
tab
,
index
)
in
goodsDataArr
" :key="
index
" class="
tab
-
item
" :class="
{
<view v-for="
(
tab
,
index
)
in
tabInfo
.
tabTexts
" :key="
index
" class="
tab
-
item
" :class="
{
active
:
activeIndex
===
index
&&
itemIndex
!==
4
,
active1
:
activeIndex
===
index
&&
itemIndex
===
4
}
" @click="
tabItemClick
(
index
)
">
<text class="
tab
-
line1
">{{ tab?.resourcePositionName
}}
</text>
<!-- <text class="
tab
-
line1
">{{ tab?.resourcePositionName
}}
</text> -->
<text class="
tab
-
line1
">{{ tab?.line1
}}
</text>
<!-- <text class="
tab
-
line2
">{{ tab?.line2
}}
</text> -->
<view class="
select
-
line
" v-if="
activeIndex
===
index
"></view>
</view>
</view>
<view class="
goods
-
content
" v-for="
(
goodItemList
,
index
)
in
goodsDataArr
" :key="
index
">
<view class="
goods
-
content
" v-for="
(
goodItemList
,
index
)
in
goodsDataArr
" :key="
index
"
v-if="
false
"
>
<view class="
goods
-
list
" v-if="
activeIndex
===
index
">
<view class="
goods
-
item
" v-for="
(
goodItem
,
i
)
in
goodItemList
?.
resourcePositionGoods
" :key="
i
"
:style="
{
...
...
@@ -381,7 +382,7 @@
</view>
<!-- 商品内容 -->
<
!-- <
view class="
goods
-
content
">
<view class="
goods
-
content
">
<view
class="
goods
-
list
"
v-if="
activeIndex
===
0
"
...
...
@@ -464,7 +465,7 @@
</view>
</view>
</view>
-->
</view>
</view>
<!-- 查看更多容器 -->
...
...
@@ -503,6 +504,7 @@
<!-- 任务弹窗 -->
<TaskPop :visible="
showTaskPop
" @close="
handleCloseTaskPop
" @taskClick="
handleTaskClick
" />
<TaskPerson :visible="
showTaskPerson
" @close="
handleCloseTaskPerson
" @submit="
handleTaskPersonSubmit
" />
</view>
</template>
...
...
@@ -538,6 +540,7 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
import SignedTips from '../components/qiandao/SignedTips.vue';
import SignRuleDes from '../components/qiandao/SignRuleDes.vue';
import TaskPop from '../components/renwu/TaskPop.vue';
import TaskPerson from '../components/renwu/TaskPerson.vue';
import bannerDataIntegral from '../mock/bannerDataIntegral.json';
import jifenGoodsData from '../mock/jifenGoodsData.json';
...
...
@@ -547,6 +550,13 @@ const onProgressBarError = (e) => {
// 可以设置默认样式或显示错误提示
}
function testGoto195() {
jump({
type: JumpType.INNER,
url: '/activities/1015/home'
}
)
}
const orderUpgrade = ref(false);
// const maxVal = ref([]);
const integralData = ref({
...
...
@@ -1473,6 +1483,7 @@ const showSignRuleDes = ref(false);
// 任务弹窗相关
const
showTaskPop
=
ref
(
false
);
const
showTaskPerson
=
ref
(
false
);
//今天已经签到过
const
todaySigned
=
ref
(
true
);
...
...
@@ -2600,11 +2611,11 @@ const handleCloseSignRuleDes = () => {
// 任务按钮点击事件
const handleTaskButtonClick = () => {
jump({
type: JumpType.INNER,
url: '
/
activities
/
1015
/
home
'
}
)
return
//
jump({
//
type: JumpType.INNER,
//
url: '
/
activities
/
1015
/
home
'
//
}
)
//
return
console.log('
任务按钮点击
');
showTaskPop.value = true;
...
...
@@ -2615,9 +2626,37 @@ const handleCloseTaskPop = () => {
showTaskPop.value = false;
}
// 关闭任务信息弹窗
const handleCloseTaskPerson = () => {
showTaskPerson.value = false;
}
// 处理任务信息提交
const handleTaskPersonSubmit = (formData) => {
console.log('
任务信息提交
:
', formData);
// 这里可以处理任务信息提交逻辑
showTaskPerson.value = false;
// 可以显示成功提示
uni.showToast({
title: '
信息提交成功
',
icon: '
success
'
}
);
}
// 任务点击事件
const handleTaskClick = (data) => {
console.log('
任务点击
:
', data);
// 如果是完善信息任务,显示TaskPerson弹窗
if (data.task && data.task.title === '
完善信息
') {
showTaskPop.value = false; // 先关闭TaskPop
setTimeout(() => {
showTaskPerson.value = true; // 延迟显示TaskPerson
}
, 100);
return;
}
// 其他任务的处理逻辑
// 这里可以添加具体的任务跳转逻辑
// uni.showToast({
// title: `开始${data.task.title
}
`,
...
...
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