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
177258bf
Commit
177258bf
authored
Oct 13, 2025
by
王炽
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
....
parent
fc5c8033
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
964 additions
and
16 deletions
+964
-16
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
+43
-11
No files found.
components/renwu/TaskPerson.less
0 → 100644
View file @
177258bf
.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 @
177258bf
This diff is collapsed.
Click to expand it.
components/renwu/TaskPop.vue
View file @
177258bf
...
@@ -127,11 +127,6 @@ const handleTaskClick = (task, index) => {
...
@@ -127,11 +127,6 @@ const handleTaskClick = (task, index) => {
return
;
return
;
}
}
// 显示任务完成提示弹窗
currentTaskTitle
.
value
=
task
.
title
;
currentTaskPoints
.
value
=
task
.
points
;
// showTaskCompleteTips.value = true;
emit
(
'taskClick'
,
{
task
,
index
});
emit
(
'taskClick'
,
{
task
,
index
});
};
};
...
...
views/Integral.vue
View file @
177258bf
...
@@ -343,17 +343,18 @@
...
@@ -343,17 +343,18 @@
<view class="
goods
-
container
" v-if="
goodsDataArr
?.
length
>
0
">
<view class="
goods
-
container
" v-if="
goodsDataArr
?.
length
>
0
">
<!-- 页签栏 -->
<!-- 页签栏 -->
<view class="
custom
-
tabs
">
<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
,
active
:
activeIndex
===
index
&&
itemIndex
!==
4
,
active1
:
activeIndex
===
index
&&
itemIndex
===
4
active1
:
activeIndex
===
index
&&
itemIndex
===
4
}
" @click="
tabItemClick
(
index
)
">
}
" @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> -->
<!-- <text class="
tab
-
line2
">{{ tab?.line2
}}
</text> -->
<view class="
select
-
line
" v-if="
activeIndex
===
index
"></view>
<view class="
select
-
line
" v-if="
activeIndex
===
index
"></view>
</view>
</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
-
list
" v-if="
activeIndex
===
index
">
<view class="
goods
-
item
" v-for="
(
goodItem
,
i
)
in
goodItemList
?.
resourcePositionGoods
" :key="
i
"
<view class="
goods
-
item
" v-for="
(
goodItem
,
i
)
in
goodItemList
?.
resourcePositionGoods
" :key="
i
"
:style="
{
:style="
{
...
@@ -381,7 +382,7 @@
...
@@ -381,7 +382,7 @@
</view>
</view>
<!-- 商品内容 -->
<!-- 商品内容 -->
<
!-- <
view class="
goods
-
content
">
<view class="
goods
-
content
">
<view
<view
class="
goods
-
list
"
class="
goods
-
list
"
v-if="
activeIndex
===
0
"
v-if="
activeIndex
===
0
"
...
@@ -464,7 +465,7 @@
...
@@ -464,7 +465,7 @@
</view>
</view>
</view>
</view>
</view>
-->
</view>
</view>
</view>
<!-- 查看更多容器 -->
<!-- 查看更多容器 -->
...
@@ -503,6 +504,7 @@
...
@@ -503,6 +504,7 @@
<!-- 任务弹窗 -->
<!-- 任务弹窗 -->
<TaskPop :visible="
showTaskPop
" @close="
handleCloseTaskPop
" @taskClick="
handleTaskClick
" />
<TaskPop :visible="
showTaskPop
" @close="
handleCloseTaskPop
" @taskClick="
handleTaskClick
" />
<TaskPerson :visible="
showTaskPerson
" @close="
handleCloseTaskPerson
" @submit="
handleTaskPersonSubmit
" />
</view>
</view>
</template>
</template>
...
@@ -538,6 +540,7 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
...
@@ -538,6 +540,7 @@ import ShengriliTipPanel from '../components/quanyi/shengriliTipPanel.vue';
import SignedTips from '../components/qiandao/SignedTips.vue';
import SignedTips from '../components/qiandao/SignedTips.vue';
import SignRuleDes from '../components/qiandao/SignRuleDes.vue';
import SignRuleDes from '../components/qiandao/SignRuleDes.vue';
import TaskPop from '../components/renwu/TaskPop.vue';
import TaskPop from '../components/renwu/TaskPop.vue';
import TaskPerson from '../components/renwu/TaskPerson.vue';
import bannerDataIntegral from '../mock/bannerDataIntegral.json';
import bannerDataIntegral from '../mock/bannerDataIntegral.json';
import jifenGoodsData from '../mock/jifenGoodsData.json';
import jifenGoodsData from '../mock/jifenGoodsData.json';
...
@@ -1473,6 +1476,7 @@ const showSignRuleDes = ref(false);
...
@@ -1473,6 +1476,7 @@ const showSignRuleDes = ref(false);
// 任务弹窗相关
// 任务弹窗相关
const
showTaskPop
=
ref
(
false
);
const
showTaskPop
=
ref
(
false
);
const
showTaskPerson
=
ref
(
false
);
//今天已经签到过
//今天已经签到过
const
todaySigned
=
ref
(
true
);
const
todaySigned
=
ref
(
true
);
...
@@ -1749,7 +1753,7 @@ onMounted(async () => {
...
@@ -1749,7 +1753,7 @@ onMounted(async () => {
}
);
}
);
}
);
}
);
goodsDataArr
.
value
=
integralData
?.
value
?.
goodsList
Data
;
goodsDataArr
.
value
=
integralData
?.
value
?.
goodsList
;
swiperData
.
value
=
integralData
.
value
?.
swiper
;
swiperData
.
value
=
integralData
.
value
?.
swiper
;
...
@@ -2600,11 +2604,11 @@ const handleCloseSignRuleDes = () => {
...
@@ -2600,11 +2604,11 @@ const handleCloseSignRuleDes = () => {
// 任务按钮点击事件
// 任务按钮点击事件
const handleTaskButtonClick = () => {
const handleTaskButtonClick = () => {
jump({
//
jump({
type: JumpType.INNER,
//
type: JumpType.INNER,
url: '
/
activities
/
1015
/
home
'
//
url: '
/
activities
/
1015
/
home
'
}
)
//
}
)
return
//
return
console.log('
任务按钮点击
');
console.log('
任务按钮点击
');
showTaskPop.value = true;
showTaskPop.value = true;
...
@@ -2615,9 +2619,37 @@ const handleCloseTaskPop = () => {
...
@@ -2615,9 +2619,37 @@ const handleCloseTaskPop = () => {
showTaskPop.value = false;
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) => {
const handleTaskClick = (data) => {
console.log('
任务点击
:
', data);
console.log('
任务点击
:
', data);
// 如果是完善信息任务,显示TaskPerson弹窗
if (data.task && data.task.title === '
完善信息
') {
showTaskPop.value = false; // 先关闭TaskPop
setTimeout(() => {
showTaskPerson.value = true; // 延迟显示TaskPerson
}
, 100);
return;
}
// 其他任务的处理逻辑
// 这里可以添加具体的任务跳转逻辑
// 这里可以添加具体的任务跳转逻辑
// uni.showToast({
// uni.showToast({
// title: `开始${data.task.title
}
`,
// 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