update
This commit is contained in:
@@ -6,12 +6,12 @@ import {onLoad} from "@dcloudio/uni-app";
|
||||
import XLink from "../../components/XLink.vue";
|
||||
import XNoticeBar from "../../components/XNoticeBar.vue";
|
||||
import XImage from "../../components/XImage.vue";
|
||||
import fmt from "../../static/images/fmt.png";
|
||||
import Api from "../../api/index.js";
|
||||
import dayjs from "dayjs";
|
||||
import XPrompt from "../../components/XPrompt.vue";
|
||||
import {numberToCharacter} from "../../utils/uils.js";
|
||||
|
||||
// #ifdef APP-PLUS
|
||||
import TaskDetails from "./components/TaskDetails.vue";
|
||||
import CollectMaterials from "./components/CollectMaterials.vue";
|
||||
import MyBackfill from "./components/MyBackfill.vue";
|
||||
import ReviewCommunication from "./components/ReviewCommunication.vue";
|
||||
// #endif
|
||||
|
||||
// #ifndef APP-PLUS
|
||||
@@ -43,8 +43,14 @@ const tabs = reactive([
|
||||
},
|
||||
]);
|
||||
|
||||
const getData = async (id) => {
|
||||
const {data} = await Api.system.getTaskinfo(id || details.value.id);
|
||||
details.value = data;
|
||||
}
|
||||
|
||||
onLoad((options) => {
|
||||
const {id} = options;
|
||||
getData(id);
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
@@ -66,24 +72,29 @@ onMounted(() => {
|
||||
<XNav></XNav>
|
||||
<x-notice-bar></x-notice-bar>
|
||||
|
||||
<view class="!p-[20rpx] !flex flex-col gap-[20rpx] box-border">
|
||||
<view class="!p-[20rpx] !flex flex-col gap-[20rpx] box-border" v-if="details">
|
||||
<view class="rounded-[16rpx] !p-[24rpx] bg-[#fff] !flex flex-col gap-[20rpx]">
|
||||
<view class="!flex gap-[30rpx]">
|
||||
<image class="!size-[84rpx]" :src="goodsIcon"></image>
|
||||
<view class="flex-grow">
|
||||
<view class="goods-title !w-full !flex items-center justify-between">
|
||||
洗面奶洗面奶
|
||||
<view :class="['goods-state']">进行中</view>
|
||||
{{ details.goods_name }}
|
||||
<view :class="['goods-state']" v-if="details.is_use !== 0">{{ details.status_text }}</view>
|
||||
</view>
|
||||
<view class="goods-bh">
|
||||
<view v-if="details.is_use === 0" class="goods-bh">
|
||||
{{ dayjs(details.end_time).format('YYYY-MM-DD HH:mm') }} 前可领取
|
||||
</view>
|
||||
<view v-else class="goods-bh">
|
||||
任务编号:DF1515
|
||||
<x-link>复制</x-link>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="bg-[#F7F8FA] px-[28rpx] py-[16rpx] rounded-[8rpx] !flex justify-around"
|
||||
style="font-size: 24rpx">
|
||||
<view
|
||||
v-if="details.is_use !== 0"
|
||||
class="bg-[#F7F8FA] px-[28rpx] py-[16rpx] rounded-[8rpx] !flex justify-around"
|
||||
style="font-size: 24rpx">
|
||||
<view>发布账号</view>
|
||||
<view class="bg-[#E5E6EB] w-[5rpx] h-auto"></view>
|
||||
<view>昵称: 我是大冤种</view>
|
||||
@@ -91,25 +102,58 @@ onMounted(() => {
|
||||
<view>账号: 56378899</view>
|
||||
</view>
|
||||
|
||||
<view class="!grid grid-cols-3 gap-[20rpx]">
|
||||
<view class="!grid grid-cols-4 gap-[20rpx]">
|
||||
<view class="bg-[#E8F3FF] px-[26rpx] py-[20rpx] rounded-[8rpx]">
|
||||
<view class="goods-st">今日头条</view>
|
||||
<view class="goods-st">{{ details.platform }}</view>
|
||||
<view class="goods-st-info">发布平台</view>
|
||||
</view>
|
||||
<view class="bg-[#E8F3FF] px-[26rpx] py-[20rpx] rounded-[8rpx]">
|
||||
<view class="goods-st">今日头条</view>
|
||||
<view class="goods-st-info">发布平台</view>
|
||||
<view class="goods-st">¥ {{ details.real_price.toFixed(2) }}</view>
|
||||
<view class="goods-st-info">任务报酬</view>
|
||||
</view>
|
||||
<view class="bg-[#E8F3FF] px-[26rpx] py-[20rpx] rounded-[8rpx]">
|
||||
<view class="goods-st">今日头条</view>
|
||||
<view class="goods-st-info">发布平台</view>
|
||||
<view class="goods-st">{{ details.material_name }}</view>
|
||||
<view class="goods-st-info">素材类型</view>
|
||||
</view>
|
||||
<view class="bg-[#E8F3FF] px-[26rpx] py-[20rpx] rounded-[8rpx]">
|
||||
<view class="goods-st">{{ details.children_num }}</view>
|
||||
<view class="goods-st-info">剩余名额</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="!flex flex-col gap-[10px]">
|
||||
<view class="!flex px-[10px] py-[12px] bg-[#F2F3F5] gap-[8px] items-center">
|
||||
<view class="text-[#4E5969] test-24r !flex items-center gap-[5px]">
|
||||
安全评分:
|
||||
<x-prompt
|
||||
info="由该任务或类似任务的历史禁言率、素材是否绿色决定。分值越高,说明完成任务对账号影响最小"
|
||||
title="分值说明">
|
||||
</x-prompt>
|
||||
</view>
|
||||
<view class="!flex items-center gap-[5px]">
|
||||
<view class="text-[#165DFF]">{{ details.security_level }}分</view>
|
||||
<view class="test-24r">{{ details.security_text }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="!flex px-[10px] py-[12px] bg-[#F2F3F5] gap-[8px] items-center">
|
||||
<view class="text-[#4E5969] test-24r !flex items-center gap-[5px]">
|
||||
耗时评分:
|
||||
<x-prompt
|
||||
info="由该任务完整完成所需要的时间和操作步骤决定。分值越高,说明完成任务越简单"
|
||||
title="分值说明">
|
||||
</x-prompt>
|
||||
</view>
|
||||
<view class="!flex items-center gap-[5px]">
|
||||
<view class="text-[#165DFF]">{{ details.time_level }}分</view>
|
||||
<view class="test-24r">{{ details.time_text }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view id="mainDetailBox" class="rounded-[16rpx] bg-[#fff] main-details overflow-hidden">
|
||||
<tui-tabs
|
||||
v-if="mainDetailWidth"
|
||||
v-if="mainDetailWidth && details.is_use !== 0"
|
||||
:tabs="tabs"
|
||||
:currentTab="currentTabs"
|
||||
:width="mainDetailWidth"
|
||||
@@ -120,7 +164,7 @@ onMounted(() => {
|
||||
<Suspense>
|
||||
<template #default>
|
||||
<div class="h-full flex flex-col items-start">
|
||||
<component :is="tabs[currentTabs].component"></component>
|
||||
<component :is="tabs[currentTabs].component" :data="details"></component>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -140,28 +184,48 @@ onMounted(() => {
|
||||
<view class="block items-center">
|
||||
<view class="block-title">发布平台:</view>
|
||||
<view class="block-info">
|
||||
抖音
|
||||
{{ details.platform }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="block items-center">
|
||||
<view class="block-title">发布方式:</view>
|
||||
<view class="block-info">
|
||||
三连发/每次相同
|
||||
{{
|
||||
numberToCharacter(details.fb_num - 1)
|
||||
}}连发/{{ details.is_identical === 0 ? '每次不同' : '每次相同' }}
|
||||
<x-prompt title="发布方式说明">
|
||||
<template #info>
|
||||
<view>
|
||||
领取素材后,按照要求,连续发布
|
||||
<text class="text-[#FF7D00]">{{ details.fb_num }}遍</text>
|
||||
,每遍素材
|
||||
<text class="text-[#FF7D00]">
|
||||
{{ details.is_identical === 0 ? '不同' : '相同' }}
|
||||
</text>
|
||||
</view>
|
||||
</template>
|
||||
</x-prompt>
|
||||
</view>
|
||||
</view>
|
||||
<view class="block items-center">
|
||||
<view class="block-title">每次间隔时长:</view>
|
||||
<view class="block-info">
|
||||
10分钟
|
||||
{{ details.duration }}分钟
|
||||
</view>
|
||||
</view>
|
||||
<view class="block">
|
||||
<view class="block-title">特殊要求:</view>
|
||||
<view class="block-info gap-[20rpx]">
|
||||
<view>请使用抖音扫码下图,收藏音乐,发布时使用</view>
|
||||
<view>{{ details.special_text }}</view>
|
||||
<view class="!grid grid-cols-3 !mt-[12rpx]">
|
||||
<x-image class="!size-[96rpx]" :src="fmt" mode="aspectFill"
|
||||
:draggable="false"></x-image>
|
||||
<x-image
|
||||
v-for="(v, index) in details.special_images_arr"
|
||||
:key="index"
|
||||
class="!size-[96rpx]"
|
||||
:src="v"
|
||||
mode="aspectFill"
|
||||
:draggable="false">
|
||||
</x-image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -173,42 +237,20 @@ onMounted(() => {
|
||||
<view class="title">
|
||||
回填要求
|
||||
</view>
|
||||
<view class="block flex-col">
|
||||
<view class="block-title">第1次回填:</view>
|
||||
<view
|
||||
v-for="(v,index) in details.task_content"
|
||||
:key="v.id"
|
||||
class="block flex-col">
|
||||
<view class="block-title">第{{ index + 1 }}次回填:</view>
|
||||
<view class="block-info !flex w-full">
|
||||
<view
|
||||
class="bg-[#F7F8FA] py-[12rpx] px-[20rpx] border-1 border-[rgb(229,230,235)] w-[60%] whitespace-nowrap">
|
||||
0813-09:54 至 0813-17:14之间
|
||||
{{ dayjs(v.start_time).format('MMDD-HH:mm') }} 至
|
||||
{{ dayjs(v.end_time).format('MMDD-HH:mm') }}之间
|
||||
</view>
|
||||
<view
|
||||
class="bg-[#F7F8FA] py-[12rpx] px-[20rpx] border-1 border-[rgb(229,230,235)] flex-grow">
|
||||
3个作品评论区截图
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="block flex-col">
|
||||
<view class="block-title">第2次回填:</view>
|
||||
<view class="block-info !flex w-full">
|
||||
<view
|
||||
class="bg-[#F7F8FA] py-[12rpx] px-[20rpx] border-1 border-[rgb(229,230,235)] w-[60%] whitespace-nowrap">
|
||||
0813-09:54 至 0813-17:14之间
|
||||
</view>
|
||||
<view
|
||||
class="bg-[#F7F8FA] py-[12rpx] px-[20rpx] border-1 border-[rgb(229,230,235)] flex-grow">
|
||||
3个作品链接
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="block flex-col">
|
||||
<view class="block-title">第3次回填:</view>
|
||||
<view class="block-info !flex w-full">
|
||||
<view
|
||||
class="bg-[#F7F8FA] py-[12rpx] px-[20rpx] border-1 border-[rgb(229,230,235)] w-[60%] whitespace-nowrap">
|
||||
0814-10:00 至 0814-11:30之间
|
||||
</view>
|
||||
<view
|
||||
class="bg-[#F7F8FA] py-[12rpx] px-[20rpx] border-1 border-[rgb(229,230,235)] flex-grow">
|
||||
每一个作品的播放量截图
|
||||
{{ v.content }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -223,7 +265,19 @@ onMounted(() => {
|
||||
<view class="block items-center">
|
||||
<view class="block-title">作品保留时间:</view>
|
||||
<view class="block-info">
|
||||
3天
|
||||
{{ details.retention_time }} {{ details.retention_type === 1 ? '分钟' : '小时' }}
|
||||
<x-prompt title="保留时间说明">
|
||||
<template #info>
|
||||
<view>
|
||||
该任务结算后,要保留
|
||||
<text class="text-[#FF7D00]">{{ details.retention_time }}
|
||||
{{ details.retention_type === 1 ? '分钟' : '小时' }}
|
||||
</text>
|
||||
。
|
||||
<view>到期请自行删除,避免违规。若提前删除,将影响后续收益</view>
|
||||
</view>
|
||||
</template>
|
||||
</x-prompt>
|
||||
</view>
|
||||
</view>
|
||||
<view class="block-extend">
|
||||
@@ -232,7 +286,11 @@ onMounted(() => {
|
||||
<view class="block items-center">
|
||||
<view class="block-title !w-[300rpx]">每次回填将在该时间内审核:</view>
|
||||
<view class="block-info">
|
||||
4小时内
|
||||
{{ details.check_time }} {{ details.check_type === 1 ? '分钟' : '小时' }}内
|
||||
<x-prompt
|
||||
title="审核时间说明"
|
||||
:info="`回填后,我们将于${details.check_time}${details.check_type === 1 ? '分钟' : '小时'}内完成审核,超时自动通过`">
|
||||
</x-prompt>
|
||||
</view>
|
||||
</view>
|
||||
<view class="block-extend">
|
||||
@@ -246,28 +304,20 @@ onMounted(() => {
|
||||
<view class="title">
|
||||
扣款说明
|
||||
</view>
|
||||
<view class="block !flex !gap-0">
|
||||
<view class="test-24r px-[20rpx] py-[12rpx] bg-[#F7F8FA] border-1 border-[rgb(229,230,235)]">1.
|
||||
<view
|
||||
v-for="(v, index) in details.settlement"
|
||||
:key="v.id"
|
||||
class="block !flex !gap-0">
|
||||
<view class="test-24r px-[20rpx] py-[12rpx] bg-[#F7F8FA] border-1 border-[rgb(229,230,235)]">
|
||||
{{ index + 1 }}.
|
||||
</view>
|
||||
<view
|
||||
class="test-24r px-[20rpx] py-[12rpx] bg-[#F7F8FA] border-1 border-[rgb(229,230,235)] flex-grow">
|
||||
未按约定评论
|
||||
{{ v.intro }}
|
||||
</view>
|
||||
<view
|
||||
class="test-24r px-[20rpx] py-[12rpx] bg-[#F7F8FA] border-1 border-[rgb(229,230,235)] !w-[210rpx]">
|
||||
扣除20%收益
|
||||
</view>
|
||||
</view>
|
||||
<view class="block !flex !gap-0">
|
||||
<view class="test-24r px-[20rpx] py-[12rpx] bg-[#F7F8FA] border-1 border-[rgb(229,230,235)]">2.
|
||||
</view>
|
||||
<view
|
||||
class="test-24r px-[20rpx] py-[12rpx] bg-[#F7F8FA] border-1 border-[rgb(229,230,235)] flex-grow">
|
||||
当天发布其他广告
|
||||
</view>
|
||||
<view
|
||||
class="test-24r px-[20rpx] py-[12rpx] bg-[#F7F8FA] border-1 border-[rgb(229,230,235)] !w-[210rpx]">
|
||||
扣除100%收益
|
||||
class="test-24r px-[20rpx] py-[12rpx] bg-[#F7F8FA] border-1 border-[rgb(229,230,235)] whitespace-nowrap">
|
||||
扣除{{ v.ratio }}%收益
|
||||
</view>
|
||||
</view>
|
||||
<view class="block-extend">
|
||||
@@ -281,18 +331,32 @@ onMounted(() => {
|
||||
<view class="title">
|
||||
其他说明
|
||||
</view>
|
||||
<view class="block">
|
||||
<view class="test-24r">
|
||||
未到约定期限,达人提前删除视频处罚扣除1点达人信用分
|
||||
<view class="block !flex-col">
|
||||
<view class="test-24r" v-for="(v, index) in details.settlement_arr" :key="index">
|
||||
{{ v.intro }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="py-[7rpx] px-[32rpx] rounded-full text-[var(--primary-color)] bg-[#E8F3FF] w-fit">
|
||||
查看信用分管理方法
|
||||
</view>
|
||||
<x-prompt title="信用分说明"
|
||||
info="扣除信用分,将影响您后续接任务以及提现。请按约定完成任务。请在接受任务前认真阅读各要求,有能力完成再接受。">
|
||||
<template #button>
|
||||
<view
|
||||
class="py-[7rpx] px-[32rpx] rounded-full text-[var(--primary-color)] bg-[#E8F3FF] w-fit">
|
||||
查看信用分管理方法
|
||||
</view>
|
||||
</template>
|
||||
</x-prompt>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="bg-[#94BFFF] rounded-[8rpx] py-[26rpx] text-[#fff] !flex justify-center items-center">
|
||||
<view
|
||||
v-if="details.is_use === 0"
|
||||
class="bg-[var(--primary-color)] rounded-[8rpx] py-[26rpx] text-[#fff] !flex justify-center items-center">
|
||||
接受任务
|
||||
</view>
|
||||
|
||||
<view
|
||||
v-else
|
||||
class="bg-[#94BFFF] rounded-[8rpx] py-[26rpx] text-[#fff] !flex justify-center items-center">
|
||||
已接受
|
||||
</view>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user