This commit is contained in:
王一嘉
2025-07-24 20:40:47 +08:00
parent 678e26a3f0
commit ff61918d76
14 changed files with 46 additions and 35 deletions

View File

@@ -16,7 +16,8 @@ const menuItemClick = (e) => {
<template> <template>
<div class="w-full h-full box-border"> <div class="w-full h-full box-border">
<a-menu @menu-item-click="menuItemClick"> <a-menu @menu-item-click="menuItemClick" v-model:open-keys="SystemStore.openKeys"
v-model:selected-keys="SystemStore.selectKeys">
<template v-for="item in SystemStore.RoutesTemp.filter(v=>!v.meta.hidden)" :key="item.name"> <template v-for="item in SystemStore.RoutesTemp.filter(v=>!v.meta.hidden)" :key="item.name">
<template v-if="item.children?.length > 0"> <template v-if="item.children?.length > 0">
<a-sub-menu> <a-sub-menu>

View File

@@ -1,10 +1,11 @@
<script setup> <script setup>
import {ref} from "vue"; import {computed, ref} from "vue";
import GoPay from "./GoPay.vue"; import GoPay from "./GoPay.vue";
import Api from "../../api/index.js"; import Api from "../../api/index.js";
const id = ref(null); const id = ref(null);
const payInfo = ref(null); const payInfo = ref(null);
const refreshKey = ref(0);
const visible = ref(false); const visible = ref(false);
const emits = defineEmits(['close']); const emits = defineEmits(['close']);
let successFun = () => { let successFun = () => {
@@ -26,9 +27,12 @@ const success = () => {
const update = async () => { const update = async () => {
const {data} = await Api.merchant.startTask({id: id.value}); const {data} = await Api.merchant.startTask({id: id.value});
payInfo.value = data; Object.assign(payInfo.value, data);
refreshKey.value++;
} }
const isDis = computed(() => payInfo.value.user_money >= payInfo.value.total_money);
defineExpose({ defineExpose({
open, open,
close close
@@ -70,8 +74,9 @@ defineExpose({
<div>支付方式</div> <div>支付方式</div>
<div class="mt-[5px]"> <div class="mt-[5px]">
<a-radio <a-radio
:key="refreshKey"
:disabled="payInfo.user_money < payInfo?.total_money" :disabled="payInfo.user_money < payInfo?.total_money"
:default-checked="payInfo.user_money >= payInfo?.total_money"> :default-checked="isDis">
钱包余额 钱包余额
(可用{{ payInfo?.user_money?.toFixed(2) }}) (可用{{ payInfo?.user_money?.toFixed(2) }})
</a-radio> </a-radio>

View File

@@ -82,7 +82,7 @@ const FilterConfig = [
start: 'start_time', start: 'start_time',
end: 'end_time', end: 'end_time',
type: 'datetime', type: 'datetime',
label: '推广日期', label: '拉黑日期',
}, },
]; ];

View File

@@ -93,11 +93,6 @@ const FilterConfig = [
type: 'datetime', type: 'datetime',
label: '入驻时间', label: '入驻时间',
}, },
{
key: 'wd',
type: 'datetime',
label: '确认结算金额所属日期',
},
]; ];
const po = reactive({ const po = reactive({

View File

@@ -72,7 +72,7 @@ const FilterConfig = [
start: 'start_time', start: 'start_time',
end: 'end_time', end: 'end_time',
type: 'datetime', type: 'datetime',
label: '推广日期', label: '添加日期',
}, },
]; ];

View File

@@ -66,12 +66,6 @@ const FilterConfig = [
return await Api.admin.getStatusList(); return await Api.admin.getStatusList();
}, },
}, },
{
key: 'wd',
type: 'input',
label: '达人任务编号',
placeholder: '请输入达人任务编号'
},
]; ];
const selectedKeys = ref([]); const selectedKeys = ref([]);
const rowSelection = reactive({ const rowSelection = reactive({

View File

@@ -72,7 +72,7 @@ const FilterConfig = [
placeholder: '请输入子任务编号', placeholder: '请输入子任务编号',
}, },
{ {
key: 'status', key: 'is_sign',
type: 'select', type: 'select',
label: '标签', label: '标签',
placeholder: '请选择标签', placeholder: '请选择标签',
@@ -189,7 +189,7 @@ const refuseExchangeAll = async () => {
<template v-slot:image="{record}"> <template v-slot:image="{record}">
<div class="flex gap-[12px]"> <div class="flex gap-[12px]">
<a-image <a-image
v-for="v in images_arr" v-for="v in record.images_arr"
width="40px" width="40px"
height="40px" height="40px"
:src="v"> :src="v">

View File

@@ -197,7 +197,7 @@ const refuseExchangeAll = async () => {
<template v-slot:image="{record}"> <template v-slot:image="{record}">
<div class="flex gap-[12px]"> <div class="flex gap-[12px]">
<a-image <a-image
v-for="v in images_arr" v-for="v in record.images_arr"
width="40px" width="40px"
height="40px" height="40px"
:src="v"> :src="v">

View File

@@ -17,11 +17,11 @@ const columns = [
}, },
{ {
title: '任务编号', title: '任务编号',
dataIndex: 't_uid', dataIndex: 'm_code',
}, },
{ {
title: '子任务编号', title: '子任务编号',
dataIndex: 'm_code', dataIndex: 't_uid',
}, },
{ {
title: '申诉状态', title: '申诉状态',

View File

@@ -5,7 +5,7 @@ import OriginTag from "../../../../../components/OriginTag/index.vue";
import Api from "../../../../../api/index.js"; import Api from "../../../../../api/index.js";
import {Message} from "@arco-design/web-vue"; import {Message} from "@arco-design/web-vue";
import {useSystemStore} from "../../../../../pinia/SystemStore/index.js"; import {useSystemStore} from "../../../../../pinia/SystemStore/index.js";
import {openUrl} from "../../../../../utils/index.js"; import {copy} from "../../../../../utils/index.js";
const SystemStore = useSystemStore(); const SystemStore = useSystemStore();
const columns = computed(() => { const columns = computed(() => {
@@ -77,22 +77,24 @@ const passTask = async (id, task_backfill_id) => {
<template v-if="record?.back?.material_type === 1"> <template v-if="record?.back?.material_type === 1">
<div v-for="v in record?.back?.content_data" class="!flex items-center gap-[12px]"> <div v-for="v in record?.back?.content_data" class="!flex items-center gap-[12px]">
<div class="flex-shrink-0"> <div class="flex-shrink-0">
<a-image width="30" height="30" :src="v.content" fit="cover"></a-image> <a-image v-model:preview-visible="v.preview"
@preview-visible-change="val=>v.preview=val" width="30" height="30"
:src="v.content"></a-image>
</div> </div>
<a-link @click="openUrl(v)" :hoverable="false"> <a-link @click="v.preview=true" :hoverable="false">
{{ v.name }} {{ v.name }}
</a-link> </a-link>
</div> </div>
</template> </template>
<template v-if="record?.back?.material_type === 2"> <template v-if="record?.back?.material_type === 2">
<a-link v-for="v in record?.back?.content_arr" @click="openUrl(v)" :hoverable="false"> <a-link v-for="v in record?.back?.content_arr" @click="copy(v)" :hoverable="false">
{{ v }} {{ v }}
</a-link> </a-link>
</template> </template>
<template v-if="record?.back?.material_type === 3"> <template v-if="record?.back?.material_type === 3">
<div v-for="v in record?.back?.content_arr"> <a-link v-for="v in record?.back?.content_arr" @click="copy(v)" :hoverable="false">
{{ v }} {{ v }}
</div> </a-link>
</template> </template>
</div> </div>
</template> </template>

View File

@@ -1,5 +1,5 @@
<script setup> <script setup>
import {reactive, ref} from "vue"; import {reactive, ref, watch} from "vue";
import RefuseModalForm1 from "./refuse-modal-form1.vue"; import RefuseModalForm1 from "./refuse-modal-form1.vue";
import RefuseModalForm2 from "./refuse-modal-form2.vue"; import RefuseModalForm2 from "./refuse-modal-form2.vue";
import Api from "../../../../../api/index.js"; import Api from "../../../../../api/index.js";
@@ -42,6 +42,16 @@ const next = async () => {
step.value++; step.value++;
} }
} }
watch(
() => visible.value,
(val) => {
if (!val) {
step.value = 1;
Object.assign(form, {});
}
}
)
</script> </script>
<template> <template>

View File

@@ -7,7 +7,7 @@ import RefuseModal from "./components/RefuseModal.vue";
import openTerminateTask from "../../../../components/TerminateTask/TerminateTask.js"; import openTerminateTask from "../../../../components/TerminateTask/TerminateTask.js";
import BlackjackExpertModal from "../../components/BlackjackExpertModal.vue"; import BlackjackExpertModal from "../../components/BlackjackExpertModal.vue";
import {useRoute} from "vue-router"; import {useRoute} from "vue-router";
import {openPage, openUrl} from "../../../../utils/index.js"; import {copy, openPage} from "../../../../utils/index.js";
import PreviewTaskMaterialModal from "./components/PreviewTaskMaterialModal.vue"; import PreviewTaskMaterialModal from "./components/PreviewTaskMaterialModal.vue";
import {Message} from "@arco-design/web-vue"; import {Message} from "@arco-design/web-vue";
import EffectManagementModal from "./components/effectManagementModal.vue"; import EffectManagementModal from "./components/effectManagementModal.vue";
@@ -169,17 +169,16 @@ const passTask = async (id, task_backfill_id) => {
</div> </div>
</template> </template>
<template v-if="item?.back?.material_type === 2"> <template v-if="item?.back?.material_type === 2">
<a-link v-for="v in item?.back?.content_arr" @click="openUrl(v)" :hoverable="false"> <a-link v-for="v in item?.back?.content_arr" @click="copy(v)" :hoverable="false">
{{ v }} {{ v }}
</a-link> </a-link>
</template> </template>
<template v-if="item?.back?.material_type === 3"> <template v-if="item?.back?.material_type === 3">
<div v-for="v in item?.back?.content_arr"> <a-link v-for="v in item?.back?.content_arr" @click="copy(v)" :hoverable="false">
{{ v }} {{ v }}
</div> </a-link>
</template> </template>
<a-divider v-if="index+1 !== record?.task_content.length"></a-divider> <a-divider v-if="index+1 !== record?.task_content.length"></a-divider>
</div> </div>
</template> </template>

View File

@@ -10,6 +10,8 @@ export const useSystemStore = defineStore("SystemStore", () => {
const NOW_ROUTER = ref(null); const NOW_ROUTER = ref(null);
const NOW_ROUTER_QUERY = reactive({}); const NOW_ROUTER_QUERY = reactive({});
const BUILD_MODE = ref(import.meta.env.VITE_BUILD_MODE); const BUILD_MODE = ref(import.meta.env.VITE_BUILD_MODE);
const openKeys = ref([]);
const selectKeys = ref([]);
const installRoute = async () => { const installRoute = async () => {
const routes = generateRouter(RoutesTemp.value); const routes = generateRouter(RoutesTemp.value);
@@ -88,6 +90,8 @@ export const useSystemStore = defineStore("SystemStore", () => {
clearRouter, clearRouter,
updateRouterTag, updateRouterTag,
BUILD_MODE, BUILD_MODE,
openKeys,
selectKeys,
} }
}, { }, {
persist: { persist: {
@@ -96,6 +100,6 @@ export const useSystemStore = defineStore("SystemStore", () => {
afterHydrate: (val) => { afterHydrate: (val) => {
val.store.installRoute && val.store.installRoute(); val.store.installRoute && val.store.installRoute();
}, },
pick: ['RoutesTemp', 'NOW_ROUTER', 'NOW_ROUTER_QUERY', 'isRoot'], pick: ['RoutesTemp', 'NOW_ROUTER', 'NOW_ROUTER_QUERY', 'isRoot', 'openKeys', 'selectKeys'],
} }
}); });

View File

@@ -8,6 +8,7 @@ const excludeURL = [
'/admin/admin/menu', '/admin/admin/menu',
'/index/business/getMenu', '/index/business/getMenu',
'/admin/login/login', '/admin/login/login',
'/index/login/login',
]; ];
export const BASEURL = import.meta.env.MODE === 'development' ? '/baseApi' : import.meta.env.VITE_API_URL; export const BASEURL = import.meta.env.MODE === 'development' ? '/baseApi' : import.meta.env.VITE_API_URL;