update
This commit is contained in:
@@ -104,11 +104,11 @@ const system = {
|
|||||||
data: data,
|
data: data,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
getTaskinfo: async (id) => {
|
getTaskinfo: async (id, task_children_id) => {
|
||||||
return request({
|
return request({
|
||||||
method: MethodsENUM.POST,
|
method: MethodsENUM.POST,
|
||||||
url: "/task/getTaskinfo",
|
url: "/task/getTaskinfo",
|
||||||
data: {id},
|
data: {id, task_children_id},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
getArticleCategory: async (data) => {
|
getArticleCategory: async (data) => {
|
||||||
|
|||||||
@@ -37,7 +37,8 @@ const tabs = [
|
|||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const {data} = await Api.system.myAccount({
|
const {data} = await Api.system.myAccount({
|
||||||
status: po.status + 1
|
status: po.status + 1,
|
||||||
|
pid: details.platform_id,
|
||||||
});
|
});
|
||||||
vo.length = 0;
|
vo.length = 0;
|
||||||
vo.push(...data);
|
vo.push(...data);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ const {data} = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view @click="toPage(`/pages/taskDetails/index?id=${data.id}`)"
|
<view @click="toPage(`/pages/taskDetails/index?id=${data.id}&task_children_id=${data.task_children_id}`)"
|
||||||
class="rounded-[8rpx] bg-[#fff] !p-[24rpx] overflow-hidden task-card">
|
class="rounded-[8rpx] bg-[#fff] !p-[24rpx] overflow-hidden task-card">
|
||||||
<view class="!pb-[20rpx] !flex justify-between" style="border-bottom: 1px solid #E5E6EB">
|
<view class="!pb-[20rpx] !flex justify-between" style="border-bottom: 1px solid #E5E6EB">
|
||||||
<view style="font-size: 28rpx">
|
<view style="font-size: 28rpx">
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ const upload = async () => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="!flex gap-[12rpx] flex-wrap">
|
<view class="!flex gap-[12rpx] flex-wrap">
|
||||||
<view class="x-upload" @click="upload" v-if="single && files.length < 1">
|
<view class="x-upload" @click="upload" v-if="!single || single && files.length < 1">
|
||||||
<image class="!size-[28rpx]" :src="ADDICON"></image>
|
<image class="!size-[28rpx]" :src="ADDICON"></image>
|
||||||
<view>上传图片</view>
|
<view>上传图片</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -16,30 +16,31 @@ const taskType = reactive([]);
|
|||||||
const platformType = reactive([]);
|
const platformType = reactive([]);
|
||||||
const tabs = [
|
const tabs = [
|
||||||
{
|
{
|
||||||
name: '发布问题',
|
name: '进行中',
|
||||||
value: 0,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '抖音问题',
|
|
||||||
value: 1,
|
value: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '结算问题',
|
name: '审核中',
|
||||||
value: 2,
|
value: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '提现问题',
|
name: '已失效',
|
||||||
|
value: -1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '已完成',
|
||||||
value: 3,
|
value: 3,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const current = ref(0);
|
|
||||||
const showFilter = ref(false);
|
const showFilter = ref(false);
|
||||||
const sumPo = reactive({
|
const po = reactive({
|
||||||
type: 0,
|
status: 1,
|
||||||
startTime: null,
|
cid: 0,
|
||||||
endTime: null,
|
pid: 0,
|
||||||
|
is_settlement: 0,
|
||||||
|
end_time: null,
|
||||||
|
start_time: null,
|
||||||
});
|
});
|
||||||
const po = reactive({});
|
|
||||||
const vo = reactive({
|
const vo = reactive({
|
||||||
page: '',
|
page: '',
|
||||||
rows: [],
|
rows: [],
|
||||||
@@ -50,9 +51,7 @@ const {loading, pagination, initFetchData} = useTableQuery({
|
|||||||
api: Api.system.myTaskList,
|
api: Api.system.myTaskList,
|
||||||
parameter: po,
|
parameter: po,
|
||||||
callback: (data) => {
|
callback: (data) => {
|
||||||
vo.page = data.page;
|
Object.assign(vo, data);
|
||||||
vo.total = data.total;
|
|
||||||
vo.rows = [...vo.rows, ...data.rows];
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -64,6 +63,11 @@ Api.system.getPlatform().then(({data}) => {
|
|||||||
platformType.length = 0;
|
platformType.length = 0;
|
||||||
platformType.push(...data);
|
platformType.push(...data);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const changeCurrent = async (item) => {
|
||||||
|
po.status = item.value;
|
||||||
|
await initFetchData();
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -71,24 +75,25 @@ Api.system.getPlatform().then(({data}) => {
|
|||||||
<XNav :show-back="false"></XNav>
|
<XNav :show-back="false"></XNav>
|
||||||
|
|
||||||
<x-filter
|
<x-filter
|
||||||
v-model:model="sumPo"
|
v-model:model="po"
|
||||||
|
@success="initFetchData"
|
||||||
v-model:visible="showFilter">
|
v-model:visible="showFilter">
|
||||||
<x-filter-item label="任务类型">
|
<x-filter-item label="任务类型">
|
||||||
<x-radio-group v-model:model-value="sumPo.type">
|
<x-radio-group v-model:model-value="po.cid">
|
||||||
<view class="!grid grid-cols-4 gap-[24rpx]">
|
<view class="!grid grid-cols-4 gap-[24rpx]">
|
||||||
<x-radio v-for="v in taskType" :key="v.id" :value="v.id">{{ v.name }}</x-radio>
|
<x-radio v-for="v in taskType" :key="v.id" :value="v.id">{{ v.name }}</x-radio>
|
||||||
</view>
|
</view>
|
||||||
</x-radio-group>
|
</x-radio-group>
|
||||||
</x-filter-item>
|
</x-filter-item>
|
||||||
<x-filter-item label="发布平台">
|
<x-filter-item label="发布平台">
|
||||||
<x-radio-group v-model:model-value="sumPo.type">
|
<x-radio-group v-model:model-value="po.pid">
|
||||||
<view class="!grid grid-cols-4 gap-[24rpx]">
|
<view class="!grid grid-cols-4 gap-[24rpx]">
|
||||||
<x-radio v-for="v in platformType" :key="v.id" :value="v.id">{{ v.name }}</x-radio>
|
<x-radio v-for="v in platformType" :key="v.id" :value="v.id">{{ v.name }}</x-radio>
|
||||||
</view>
|
</view>
|
||||||
</x-radio-group>
|
</x-radio-group>
|
||||||
</x-filter-item>
|
</x-filter-item>
|
||||||
<x-filter-item label="结算状态">
|
<x-filter-item label="结算状态">
|
||||||
<x-radio-group v-model:model-value="sumPo.type">
|
<x-radio-group v-model:model-value="po.is_settlement">
|
||||||
<view class="!grid grid-cols-4 gap-[24rpx]">
|
<view class="!grid grid-cols-4 gap-[24rpx]">
|
||||||
<x-radio :value="0">全部状态</x-radio>
|
<x-radio :value="0">全部状态</x-radio>
|
||||||
<x-radio :value="1">未结算</x-radio>
|
<x-radio :value="1">未结算</x-radio>
|
||||||
@@ -98,8 +103,8 @@ Api.system.getPlatform().then(({data}) => {
|
|||||||
</x-filter-item>
|
</x-filter-item>
|
||||||
<x-filter-item label="选择时间段">
|
<x-filter-item label="选择时间段">
|
||||||
<x-date-range
|
<x-date-range
|
||||||
v-model:end-time="sumPo.endTime"
|
v-model:end-time="po.end_time"
|
||||||
v-model:start-time="sumPo.startTime">
|
v-model:start-time="po.start_time">
|
||||||
</x-date-range>
|
</x-date-range>
|
||||||
</x-filter-item>
|
</x-filter-item>
|
||||||
</x-filter>
|
</x-filter>
|
||||||
@@ -138,17 +143,17 @@ Api.system.getPlatform().then(({data}) => {
|
|||||||
<view
|
<view
|
||||||
class="!w-full !h-[146rpx] bg-[#E8F3FF] !py-[24rpx] !px-[32rpx] box-border !flex flex-col justify-between rounded-[12rpx]">
|
class="!w-full !h-[146rpx] bg-[#E8F3FF] !py-[24rpx] !px-[32rpx] box-border !flex flex-col justify-between rounded-[12rpx]">
|
||||||
<view class="block-title">接受任务数</view>
|
<view class="block-title">接受任务数</view>
|
||||||
<view class="block-value">10</view>
|
<view class="block-value">{{ vo.total }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="!w-full !h-[146rpx] bg-[#E8F3FF] !py-[24rpx] !px-[32rpx] box-border !flex flex-col justify-between rounded-[12rpx]">
|
class="!w-full !h-[146rpx] bg-[#E8F3FF] !py-[24rpx] !px-[32rpx] box-border !flex flex-col justify-between rounded-[12rpx]">
|
||||||
<view class="block-title">预估收益(元)</view>
|
<view class="block-title">预估收益(元)</view>
|
||||||
<view class="block-value">45.00</view>
|
<view class="block-value">{{ vo.count.toFixed(2) }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="!w-full !h-[146rpx] !bg-[#E8FFEA] !py-[24rpx] !px-[32rpx] box-border !flex flex-col justify-between rounded-[12rpx]">
|
class="!w-full !h-[146rpx] !bg-[#E8FFEA] !py-[24rpx] !px-[32rpx] box-border !flex flex-col justify-between rounded-[12rpx]">
|
||||||
<view class="block-title">完成任务数</view>
|
<view class="block-title">完成任务数</view>
|
||||||
<view class="block-value">4</view>
|
<view class="block-value">{{ vo.complete }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="!w-full !h-[146rpx] !bg-[#E8FFEA] !py-[24rpx] !px-[32rpx] box-border !flex flex-col justify-between rounded-[12rpx]">
|
class="!w-full !h-[146rpx] !bg-[#E8FFEA] !py-[24rpx] !px-[32rpx] box-border !flex flex-col justify-between rounded-[12rpx]">
|
||||||
@@ -170,7 +175,7 @@ Api.system.getPlatform().then(({data}) => {
|
|||||||
</template>
|
</template>
|
||||||
</x-alert>
|
</x-alert>
|
||||||
</view>
|
</view>
|
||||||
<view class="block-value">5.60</view>
|
<view class="block-value">{{ vo.real_coin.toFixed(2) }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -179,8 +184,8 @@ Api.system.getPlatform().then(({data}) => {
|
|||||||
<view class="!grid grid-cols-4 gap-[20rpx] !px-[20rpx] bg-[#F2F3F5] py-[20rpx]">
|
<view class="!grid grid-cols-4 gap-[20rpx] !px-[20rpx] bg-[#F2F3F5] py-[20rpx]">
|
||||||
<view
|
<view
|
||||||
v-for="item in tabs"
|
v-for="item in tabs"
|
||||||
@click="current=item.value"
|
@click="changeCurrent(item)"
|
||||||
:class="['rounded-full bg-[#fff] text-center !py-[8rpx] !text-[13px] duration-500', current===item.value ? 'current' : '']">
|
:class="['rounded-full bg-[#fff] text-center !py-[8rpx] !text-[13px] duration-500', po.status===item.value ? 'current' : '']">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -105,18 +105,18 @@ watch(
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<template v-if="data.children.back[current]">
|
<template v-if="data.children.back[current]">
|
||||||
<view class="text-[#165DFF] test-24r py-[32rpx]" v-if="data.children.back[current].status === 1">
|
<view class="text-[#165DFF] test-24r py-[32rpx]" v-if="data.children.back[current]?.status === 1">
|
||||||
{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核通过
|
{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核通过
|
||||||
</view>
|
</view>
|
||||||
<template v-if="data.children.back[current].status === 2">
|
<template v-if="data.children.back[current]?.status === 2">
|
||||||
<view class="text-[#165DFF] test-24r py-[32rpx]" v-if="data.children.back[current].operate === 1">
|
<view class="text-[#165DFF] test-24r py-[32rpx]" v-if="data.children.back[current]?.operate === 1">
|
||||||
<view>{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核拒绝</view>
|
<view>{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核拒绝</view>
|
||||||
<view>请请点击审核沟通,查看修改建议</view>
|
<view>请请点击审核沟通,查看修改建议</view>
|
||||||
<view>
|
<view>
|
||||||
并于{{ dayjs(data.children.back[current].end_time * 1000).format('YYYY-MM-DD HH:mm') }}前点击下方重新提交本次回填
|
并于{{ dayjs(data.children.back[current].end_time * 1000).format('YYYY-MM-DD HH:mm') }}前点击下方重新提交本次回填
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[#165DFF] test-24r py-[32rpx]" v-if="data.children.back[current].operate === 2">
|
<view class="text-[#165DFF] test-24r py-[32rpx]" v-if="data.children.back[current]?.operate === 2">
|
||||||
<view>{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核拒绝</view>
|
<view>{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核拒绝</view>
|
||||||
<view>请请点击审核沟通,查看修改建议</view>
|
<view>请请点击审核沟通,查看修改建议</view>
|
||||||
<view>
|
<view>
|
||||||
@@ -127,20 +127,20 @@ watch(
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<view class="text-[#165DFF] test-24r py-[32rpx]"
|
<view class="text-[#165DFF] test-24r py-[32rpx]"
|
||||||
v-if="data.children.back[current].status === 0">
|
v-if="data.children.back[current]?.status === 0">
|
||||||
{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核中
|
{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核中
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[#165DFF] test-24r py-[32rpx]"
|
<view class="text-[#165DFF] test-24r py-[32rpx]"
|
||||||
v-if="data.children.back[current].status === -1">
|
v-if="data.children.back[current]?.status === -1">
|
||||||
{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核失败
|
{{ dayjs(data.children.createtime * 1000).format('YYYY-MM-DD HH:mm') }}已提交,审核失败
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template
|
<template
|
||||||
v-if="data.children.back[current].status === 0 || data.children.back[current].status === -1">
|
v-if="data.children.back.length===0 || data.children.back[current]?.operate === 0 || data.children.back[current]?.status === 0 || data.children.back[current]?.status === -1">
|
||||||
<tui-button @click="success" :disabled="data.children.back[current]">
|
<tui-button @click="success" :disabled="data.children.back[current]">
|
||||||
{{
|
{{
|
||||||
data.children.back[current].status === 0 || data.children.back[current].status === -1 ? '已提交' : '提交'
|
data.children.back[current]?.status === 0 || data.children.back[current]?.status === -1 ? '已提交' : '提交'
|
||||||
}}
|
}}
|
||||||
</tui-button>
|
</tui-button>
|
||||||
</template>
|
</template>
|
||||||
@@ -149,12 +149,12 @@ watch(
|
|||||||
<view class="!w-[50%]">
|
<view class="!w-[50%]">
|
||||||
<tui-button disabled>已提交</tui-button>
|
<tui-button disabled>已提交</tui-button>
|
||||||
</view>
|
</view>
|
||||||
<view class="!w-[50%]" v-if="data.children.back[current].operate === 1">
|
<view class="!w-[50%]" v-if="data.children.back[current]?.operate === 1">
|
||||||
<resubmit :data="data" :current="current" @success="emits('success')">
|
<resubmit :data="data" :current="current" @success="emits('success')">
|
||||||
<tui-button>重新提交</tui-button>
|
<tui-button>重新提交</tui-button>
|
||||||
</resubmit>
|
</resubmit>
|
||||||
</view>
|
</view>
|
||||||
<view class="!w-[50%]" v-if="data.children.back[current].operate === 2">
|
<view class="!w-[50%]" v-if="data.children.back[current]?.operate === 2">
|
||||||
<reply-message-modal :data="data" @success="emits('success')" :backId="data.children.back[current].id">
|
<reply-message-modal :data="data" @success="emits('success')" :backId="data.children.back[current].id">
|
||||||
<tui-button>回复</tui-button>
|
<tui-button>回复</tui-button>
|
||||||
</reply-message-modal>
|
</reply-message-modal>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ const {data} = defineProps({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const po = reactive({
|
const po = reactive({
|
||||||
id: data.children.id,
|
id: data.children?.id,
|
||||||
});
|
});
|
||||||
const vo = reactive({
|
const vo = reactive({
|
||||||
intervention: null,
|
intervention: null,
|
||||||
@@ -68,7 +68,7 @@ const {loading, pagination, initFetchData, fetchData} = useTableQuery({
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="w-full bg-white p-[24rpx] !mt-[24rpx] rounded-[8rpx]" v-if="vo.intervention.id">
|
<view class="w-full bg-white p-[24rpx] !mt-[24rpx] rounded-[8rpx]" v-if="vo.intervention?.id">
|
||||||
<view class="test-28r text-[#1D2129] text-center">达人发起了平台介入</view>
|
<view class="test-28r text-[#1D2129] text-center">达人发起了平台介入</view>
|
||||||
<view class="bg-[#F7F8FA] px-[24rpx] py-[15rpx] !mt-[20rpx]">
|
<view class="bg-[#F7F8FA] px-[24rpx] py-[15rpx] !mt-[20rpx]">
|
||||||
<view class="test-28r text-[#1D2129]">申诉原因</view>
|
<view class="test-28r text-[#1D2129]">申诉原因</view>
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import dayjs from "dayjs";
|
|||||||
import XPrompt from "../../components/XPrompt.vue";
|
import XPrompt from "../../components/XPrompt.vue";
|
||||||
import {numberToCharacter} from "../../utils/uils.js";
|
import {numberToCharacter} from "../../utils/uils.js";
|
||||||
import AcceptAssignmentModal from "../../components/AcceptAssignmentModal.vue";
|
import AcceptAssignmentModal from "../../components/AcceptAssignmentModal.vue";
|
||||||
|
import ICON from "../../static/icons/prompt.png";
|
||||||
|
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
// #endif
|
// #endif
|
||||||
@@ -45,16 +46,16 @@ const tabs = reactive([
|
|||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const getData = async (id) => {
|
const getData = async (id, task_children_id) => {
|
||||||
const {data} = await Api.system.getTaskinfo(id || details.value.id);
|
const {data} = await Api.system.getTaskinfo(id || details.value.id, task_children_id);
|
||||||
details.value = data;
|
details.value = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
const {id, home: _home, tab} = options;
|
const {id, home: _home, tab, task_children_id} = options;
|
||||||
home.value = _home === '1';
|
home.value = _home === '1';
|
||||||
if (tab) currentTabs.value = Number(tab);
|
if (tab) currentTabs.value = Number(tab);
|
||||||
getData(id);
|
getData(id, task_children_id);
|
||||||
});
|
});
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
@@ -258,6 +259,13 @@ onMounted(() => {
|
|||||||
<view
|
<view
|
||||||
class="bg-[#F7F8FA] py-[12rpx] px-[20rpx] border-1 border-[rgb(229,230,235)] flex-grow">
|
class="bg-[#F7F8FA] py-[12rpx] px-[20rpx] border-1 border-[rgb(229,230,235)] flex-grow">
|
||||||
{{ v.content }}
|
{{ v.content }}
|
||||||
|
<view class="!inline-block">
|
||||||
|
<x-image
|
||||||
|
:src="v.ts_images_arr[0]"
|
||||||
|
:list="v.ts_images_arr">
|
||||||
|
<image class="!size-[24rpx]" :src="ICON" mode="aspectFill"></image>
|
||||||
|
</x-image>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
Reference in New Issue
Block a user