update
This commit is contained in:
@@ -798,6 +798,20 @@ const admin = {
|
|||||||
data: data,
|
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;
|
export default admin;
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ const columns = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '关联任务ID',
|
title: '关联任务ID',
|
||||||
dataIndex: 'task_id',
|
dataIndex: 'm_code',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '子任务ID',
|
title: '子任务ID',
|
||||||
dataIndex: 'task_children_id',
|
dataIndex: 't_code',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '达人ID',
|
title: '达人ID',
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ const columns = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '关联任务ID',
|
title: '关联任务ID',
|
||||||
dataIndex: 'task_id',
|
dataIndex: 'mt_code',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '子任务ID',
|
title: '子任务ID',
|
||||||
dataIndex: 'task_children_id',
|
dataIndex: 'tc_uid',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '达人ID',
|
title: '达人ID',
|
||||||
|
|||||||
@@ -11,10 +11,6 @@ import XTagSelect from "../../../../components/XSelect/XTagSelect.vue";
|
|||||||
import {Message} from "@arco-design/web-vue";
|
import {Message} from "@arco-design/web-vue";
|
||||||
|
|
||||||
const columns = [
|
const columns = [
|
||||||
{
|
|
||||||
title: '沟通事件ID',
|
|
||||||
dataIndex: 'code',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: '商家ID',
|
title: '商家ID',
|
||||||
dataIndex: 'b_uid',
|
dataIndex: 'b_uid',
|
||||||
@@ -47,15 +43,15 @@ const columns = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '领取时间',
|
title: '领取时间',
|
||||||
dataIndex: 'receive_time',
|
dataIndex: 'accept_time',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '扣除',
|
title: '扣除',
|
||||||
dataIndex: 'ratio',
|
dataIndex: 'coin_ratio',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '金额',
|
title: '金额',
|
||||||
dataIndex: 'money',
|
dataIndex: 'coin',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '原因',
|
title: '原因',
|
||||||
@@ -65,7 +61,7 @@ const columns = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '达人到手',
|
title: '达人到手',
|
||||||
dataIndex: 'key',
|
dataIndex: 'real_coin',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
@@ -153,7 +149,7 @@ const vo = reactive({
|
|||||||
});
|
});
|
||||||
const {loading, pagination, initFetchData, fetchData} = useTableQuery({
|
const {loading, pagination, initFetchData, fetchData} = useTableQuery({
|
||||||
parameter: po,
|
parameter: po,
|
||||||
api: Api.admin.getInterventionList,
|
api: Api.admin.getInterventionTaskList,
|
||||||
callback: (data) => {
|
callback: (data) => {
|
||||||
Object.assign(vo, data);
|
Object.assign(vo, data);
|
||||||
}
|
}
|
||||||
@@ -177,7 +173,7 @@ const getStatus = () => Promise.resolve({
|
|||||||
const changeStatus = async (record) => {
|
const changeStatus = async (record) => {
|
||||||
const {msg} = await Api.admin.editStatus({
|
const {msg} = await Api.admin.editStatus({
|
||||||
id: record.id,
|
id: record.id,
|
||||||
status: record.status,
|
status: record.is_handle,
|
||||||
});
|
});
|
||||||
Message.success(msg);
|
Message.success(msg);
|
||||||
await fetchData();
|
await fetchData();
|
||||||
@@ -207,7 +203,7 @@ const changeStatus = async (record) => {
|
|||||||
<a-tabs type="rounded" v-model:active-key="po.status" @change="initFetchData">
|
<a-tabs type="rounded" v-model:active-key="po.status" @change="initFetchData">
|
||||||
<a-tab-pane title="待处理" :key="0">
|
<a-tab-pane title="待处理" :key="0">
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane title="已处理" :key="2">
|
<a-tab-pane title="已处理" :key="1">
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
|
|
||||||
@@ -221,16 +217,16 @@ const changeStatus = async (record) => {
|
|||||||
<template v-slot:action="{record}">
|
<template v-slot:action="{record}">
|
||||||
<div class="flex gap-[16px]">
|
<div class="flex gap-[16px]">
|
||||||
<a-link :hoverable="false" @click="async () => {
|
<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.showChat = true;
|
||||||
state.task = data;
|
state.task = data;
|
||||||
}">沟通记录
|
}">沟通记录
|
||||||
</a-link>
|
</a-link>
|
||||||
<look-backfill-modal :item="record"></look-backfill-modal>
|
<look-backfill-modal :item="{...record, tc_id: record.id}"></look-backfill-modal>
|
||||||
<settlement :task="record" :disabled="!(record.is_settlement === 0 && record.children_status === 4)"
|
<settlement :task="record" :disabled="!(record.is_settlement === 0)"
|
||||||
@success="fetchData">
|
@success="fetchData">
|
||||||
<a-link :hoverable="false"
|
<a-link :hoverable="false"
|
||||||
:disabled="!(record.is_settlement === 0 && record.children_status === 4)"
|
:disabled="!(record.is_settlement === 0)"
|
||||||
status="success">
|
status="success">
|
||||||
{{ record.settlement_text }}
|
{{ record.settlement_text }}
|
||||||
</a-link>
|
</a-link>
|
||||||
@@ -238,23 +234,23 @@ const changeStatus = async (record) => {
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:why="{record}">
|
<template v-slot:why="{record}">
|
||||||
<settlement :yy="true" :task="record" :disabled="record.is_settlement > 0" @success="fetchData">
|
<settlement :yy="true" :task="record" :disabled="record.is_settlement === 0" @success="fetchData">
|
||||||
<a-link :hoverable="false">原因</a-link>
|
<a-link :hoverable="false" :disabled="record.is_settlement === 0">原因</a-link>
|
||||||
</settlement>
|
</settlement>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:status="{record}">
|
<template v-slot:status="{record}">
|
||||||
<XTagSelect
|
<XTagSelect
|
||||||
@change="changeStatus(record)"
|
@change="changeStatus(record)"
|
||||||
v-model:model-value="record.status"
|
v-model:model-value="record.is_handle"
|
||||||
:api="getStatus"
|
:api="getStatus"
|
||||||
init>
|
init>
|
||||||
</XTagSelect>
|
</XTagSelect>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:settlement="{record}">
|
<template v-slot:settlement="{record}">
|
||||||
<div v-if="record.status===2" class="status success">{{ record.settlement_text }}</div>
|
<div v-if="record.is_settlement===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.is_settlement===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.is_settlement===-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===0" class="status primary">{{ record.settlement_text }}</div>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
</a-card>
|
</a-card>
|
||||||
|
|||||||
@@ -56,9 +56,7 @@ watch(
|
|||||||
() => visible.value,
|
() => visible.value,
|
||||||
(val) => {
|
(val) => {
|
||||||
if (val) {
|
if (val) {
|
||||||
|
|
||||||
const api = SystemStore.isRoot ? Api.admin.checkSettlement : Api.merchant.getTaskSettltment;
|
const api = SystemStore.isRoot ? Api.admin.checkSettlement : Api.merchant.getTaskSettltment;
|
||||||
|
|
||||||
api({id: task.task_id || task.id}).then(({data}) => {
|
api({id: task.task_id || task.id}).then(({data}) => {
|
||||||
TaskSettltment.length = 0;
|
TaskSettltment.length = 0;
|
||||||
TaskSettltment.push(...data.map((v, index) => ({
|
TaskSettltment.push(...data.map((v, index) => ({
|
||||||
@@ -71,17 +69,21 @@ watch(
|
|||||||
selectedKeys.value = data.filter(v => v.is_check === 1).map(v => v.id);
|
selectedKeys.value = data.filter(v => v.is_check === 1).map(v => v.id);
|
||||||
console.log(selectedKeys.value);
|
console.log(selectedKeys.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sumData();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
const sum = ref(0);
|
const sum = ref(0);
|
||||||
|
const coin = ref(0);
|
||||||
const sumData = async () => {
|
const sumData = async () => {
|
||||||
const api = SystemStore.isRoot ? Api.admin.settlement : Api.merchant.jsTask
|
const api = SystemStore.isRoot ? Api.admin.interventionJsTask : Api.merchant.jsTask
|
||||||
const {data: {real_coin}} = await api({
|
const {data: {real_coin, coin: _coin}} = await api({
|
||||||
id: task.id,
|
id: task.id,
|
||||||
ids: TaskSettltment.filter(v => selectedKeys.value.includes(v.id)).map(v => v.id)
|
ids: TaskSettltment.filter(v => selectedKeys.value.includes(v.id)).map(v => v.id)
|
||||||
});
|
});
|
||||||
|
coin.value = _coin;
|
||||||
sum.value = real_coin;
|
sum.value = real_coin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,11 +168,11 @@ const confirmTask = async () => {
|
|||||||
该子任务需结算:
|
该子任务需结算:
|
||||||
<div class="text-[#165DFF] text-[16px]">¥
|
<div class="text-[#165DFF] text-[16px]">¥
|
||||||
{{
|
{{
|
||||||
selectedKeys.length > 0 ? sum : task.coin / 100
|
selectedKeys.length > 0 ? sum : coin
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
<div class="text-[14px] text-[#4E5969]" v-if="selectedKeys.length > 0">
|
<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>
|
<span v-for="v in selectedKeys">- {{ TaskSettltment.find(k => k.id === v)?.discount }}</span>
|
||||||
= {{
|
= {{
|
||||||
sum
|
sum
|
||||||
|
|||||||
Reference in New Issue
Block a user