This commit is contained in:
2025-07-03 11:39:49 +08:00
parent d5f920072f
commit bea510e4fa
5 changed files with 44 additions and 32 deletions

View File

@@ -798,6 +798,20 @@ const admin = {
data: data,
});
},
getInterventionTaskList: async (data) => {
return request({
url: '/admin/Intervention/getTaskList',
method: Method.POST,
data: data,
});
},
interventionJsTask: async (data) => {
return request({
url: '/admin/Intervention/jsTask',
method: Method.POST,
data: data,
});
},
}
export default admin;

View File

@@ -48,11 +48,11 @@ const columns = [
},
{
title: '关联任务ID',
dataIndex: 'task_id',
dataIndex: 'm_code',
},
{
title: '子任务ID',
dataIndex: 'task_children_id',
dataIndex: 't_code',
},
{
title: '达人ID',

View File

@@ -48,11 +48,11 @@ const columns = [
},
{
title: '关联任务ID',
dataIndex: 'task_id',
dataIndex: 'mt_code',
},
{
title: '子任务ID',
dataIndex: 'task_children_id',
dataIndex: 'tc_uid',
},
{
title: '达人ID',

View File

@@ -11,10 +11,6 @@ import XTagSelect from "../../../../components/XSelect/XTagSelect.vue";
import {Message} from "@arco-design/web-vue";
const columns = [
{
title: '沟通事件ID',
dataIndex: 'code',
},
{
title: '商家ID',
dataIndex: 'b_uid',
@@ -47,15 +43,15 @@ const columns = [
},
{
title: '领取时间',
dataIndex: 'receive_time',
dataIndex: 'accept_time',
},
{
title: '扣除',
dataIndex: 'ratio',
dataIndex: 'coin_ratio',
},
{
title: '金额',
dataIndex: 'money',
dataIndex: 'coin',
},
{
title: '原因',
@@ -65,7 +61,7 @@ const columns = [
},
{
title: '达人到手',
dataIndex: 'key',
dataIndex: 'real_coin',
},
{
title: '操作',
@@ -153,7 +149,7 @@ const vo = reactive({
});
const {loading, pagination, initFetchData, fetchData} = useTableQuery({
parameter: po,
api: Api.admin.getInterventionList,
api: Api.admin.getInterventionTaskList,
callback: (data) => {
Object.assign(vo, data);
}
@@ -177,7 +173,7 @@ const getStatus = () => Promise.resolve({
const changeStatus = async (record) => {
const {msg} = await Api.admin.editStatus({
id: record.id,
status: record.status,
status: record.is_handle,
});
Message.success(msg);
await fetchData();
@@ -207,7 +203,7 @@ const changeStatus = async (record) => {
<a-tabs type="rounded" v-model:active-key="po.status" @change="initFetchData">
<a-tab-pane title="待处理" :key="0">
</a-tab-pane>
<a-tab-pane title="已处理" :key="2">
<a-tab-pane title="已处理" :key="1">
</a-tab-pane>
</a-tabs>
@@ -221,16 +217,16 @@ const changeStatus = async (record) => {
<template v-slot:action="{record}">
<div class="flex gap-[16px]">
<a-link :hoverable="false" @click="async () => {
const {data} = await Api.admin.getTaskChildrenInfo(record.tc_id);
const {data} = await Api.admin.getTaskChildrenInfo(record.id);
state.showChat = true;
state.task = data;
}">沟通记录
</a-link>
<look-backfill-modal :item="record"></look-backfill-modal>
<settlement :task="record" :disabled="!(record.is_settlement === 0 && record.children_status === 4)"
<look-backfill-modal :item="{...record, tc_id: record.id}"></look-backfill-modal>
<settlement :task="record" :disabled="!(record.is_settlement === 0)"
@success="fetchData">
<a-link :hoverable="false"
:disabled="!(record.is_settlement === 0 && record.children_status === 4)"
:disabled="!(record.is_settlement === 0)"
status="success">
{{ record.settlement_text }}
</a-link>
@@ -238,23 +234,23 @@ const changeStatus = async (record) => {
</div>
</template>
<template v-slot:why="{record}">
<settlement :yy="true" :task="record" :disabled="record.is_settlement > 0" @success="fetchData">
<a-link :hoverable="false">原因</a-link>
<settlement :yy="true" :task="record" :disabled="record.is_settlement === 0" @success="fetchData">
<a-link :hoverable="false" :disabled="record.is_settlement === 0">原因</a-link>
</settlement>
</template>
<template v-slot:status="{record}">
<XTagSelect
@change="changeStatus(record)"
v-model:model-value="record.status"
v-model:model-value="record.is_handle"
:api="getStatus"
init>
</XTagSelect>
</template>
<template v-slot:settlement="{record}">
<div v-if="record.status===2" class="status success">{{ record.settlement_text }}</div>
<div v-if="record.status===1" class="status warning">{{ record.settlement_text }}</div>
<div v-if="record.status===-1" class="status danger">{{ record.settlement_text }}</div>
<div v-if="record.status===0" class="status primary">{{ record.settlement_text }}</div>
<div v-if="record.is_settlement===2" class="status success">{{ record.settlement_text }}</div>
<div v-if="record.is_settlement===1" class="status warning">{{ record.settlement_text }}</div>
<div v-if="record.is_settlement===-1" class="status danger">{{ record.settlement_text }}</div>
<div v-if="record.is_settlement===0" class="status primary">{{ record.settlement_text }}</div>
</template>
</a-table>
</a-card>

View File

@@ -56,9 +56,7 @@ watch(
() => visible.value,
(val) => {
if (val) {
const api = SystemStore.isRoot ? Api.admin.checkSettlement : Api.merchant.getTaskSettltment;
api({id: task.task_id || task.id}).then(({data}) => {
TaskSettltment.length = 0;
TaskSettltment.push(...data.map((v, index) => ({
@@ -71,17 +69,21 @@ watch(
selectedKeys.value = data.filter(v => v.is_check === 1).map(v => v.id);
console.log(selectedKeys.value);
}
sumData();
});
}
}
)
const sum = ref(0);
const coin = ref(0);
const sumData = async () => {
const api = SystemStore.isRoot ? Api.admin.settlement : Api.merchant.jsTask
const {data: {real_coin}} = await api({
const api = SystemStore.isRoot ? Api.admin.interventionJsTask : Api.merchant.jsTask
const {data: {real_coin, coin: _coin}} = await api({
id: task.id,
ids: TaskSettltment.filter(v => selectedKeys.value.includes(v.id)).map(v => v.id)
});
coin.value = _coin;
sum.value = real_coin;
}
@@ -166,11 +168,11 @@ const confirmTask = async () => {
该子任务需结算
<div class="text-[#165DFF] text-[16px]">¥
{{
selectedKeys.length > 0 ? sum : task.coin / 100
selectedKeys.length > 0 ? sum : coin
}}
</div>
<div class="text-[14px] text-[#4E5969]" v-if="selectedKeys.length > 0">
{{ task.coin / 100 }}
{{ coin }}
<span v-for="v in selectedKeys">- {{ TaskSettltment.find(k => k.id === v)?.discount }}</span>
= {{
sum