fixbug: 🐛 缺少更新定时任务接口
This commit is contained in:
parent
3bab8ae601
commit
0c5411b3aa
|
@ -23,6 +23,11 @@ export const fetchGetExpendOrIncome = (data: any) => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** 账单信息---发送账单提醒 */
|
||||||
|
export const fetchSendBillReport = (data: any) => {
|
||||||
|
return http.request<BaseResult<object>>('get', 'bill/noManage/sendBillReport', { params: data });
|
||||||
|
};
|
||||||
|
|
||||||
/** 账单信息---导出用户账单信息 */
|
/** 账单信息---导出用户账单信息 */
|
||||||
export const fetchImportBill = (data: any) => {
|
export const fetchImportBill = (data: any) => {
|
||||||
return http.request<BaseResult<object>>('post', 'bill/noManage/importBill', {
|
return http.request<BaseResult<object>>('post', 'bill/noManage/importBill', {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import {
|
||||||
fetchExportBill,
|
fetchExportBill,
|
||||||
fetchGetUserBillList,
|
fetchGetUserBillList,
|
||||||
fetchImportBill,
|
fetchImportBill,
|
||||||
|
fetchSendBillReport,
|
||||||
fetchUpdateUserBill,
|
fetchUpdateUserBill,
|
||||||
} from '@/api/v1/financial/user/billUser';
|
} from '@/api/v1/financial/user/billUser';
|
||||||
import { pageSizes } from '@/enums/baseConstant';
|
import { pageSizes } from '@/enums/baseConstant';
|
||||||
|
@ -73,6 +74,13 @@ export const useBillUserStore = defineStore('billUserStore', {
|
||||||
return pagination(result);
|
return pagination(result);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/** 发送账单提醒*/
|
||||||
|
async sendBillReport(data: any) {
|
||||||
|
data = { type: data };
|
||||||
|
const result = await fetchSendBillReport(data);
|
||||||
|
return storeMessage(result);
|
||||||
|
},
|
||||||
|
|
||||||
/** 导入账单*/
|
/** 导入账单*/
|
||||||
async importBill(data: any) {
|
async importBill(data: any) {
|
||||||
const result = await fetchImportBill(data);
|
const result = await fetchImportBill(data);
|
||||||
|
|
|
@ -9,9 +9,11 @@ import { removeToken } from '@/utils/auth';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { usePublicHooks } from '@/views/hooks';
|
import { usePublicHooks } from '@/views/hooks';
|
||||||
import { switchLoadMap, updateUserReportStatusByMouth, updateUserReportStatusByWeek, userInfos } from '@/views/account-settings/utils/hooks';
|
import { switchLoadMap, updateUserReportStatusByMouth, updateUserReportStatusByWeek, userInfos } from '@/views/account-settings/utils/hooks';
|
||||||
|
import { useBillUserStore } from '@/store/financialUser/billUser';
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const adminUserStore = useAdminUserStore();
|
const adminUserStore = useAdminUserStore();
|
||||||
|
const billUserStore = useBillUserStore();
|
||||||
const { switchStyle } = usePublicHooks();
|
const { switchStyle } = usePublicHooks();
|
||||||
const ruleFormByRestPasswordRef = ref();
|
const ruleFormByRestPasswordRef = ref();
|
||||||
const restPasswordForm = reactive({
|
const restPasswordForm = reactive({
|
||||||
|
@ -79,7 +81,7 @@ const onResetPassword = () => {
|
||||||
@click="updateUserReportStatusByWeek(0)"
|
@click="updateUserReportStatusByWeek(0)"
|
||||||
/>
|
/>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-link :underline="false" type="primary" @click="onResetPassword">接受测试</el-link>
|
<el-link :underline="false" type="primary" @click="billUserStore.sendBillReport('week')">接受测试</el-link>
|
||||||
</li>
|
</li>
|
||||||
<el-divider />
|
<el-divider />
|
||||||
|
|
||||||
|
@ -101,7 +103,7 @@ const onResetPassword = () => {
|
||||||
@click="updateUserReportStatusByMouth(1)"
|
@click="updateUserReportStatusByMouth(1)"
|
||||||
/>
|
/>
|
||||||
<el-divider direction="vertical" />
|
<el-divider direction="vertical" />
|
||||||
<el-link :underline="false" type="primary" @click="onResetPassword">接受测试</el-link>
|
<el-link :underline="false" type="primary" @click="billUserStore.sendBillReport('mouth')">接受测试</el-link>
|
||||||
</li>
|
</li>
|
||||||
<el-divider />
|
<el-divider />
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -55,19 +55,41 @@ onMounted(() => {
|
||||||
<el-input v-model="schedulersStore.form.jobGroup" :placeholder="`${$t('input')}${$t('schedulers_jobGroup')}`" class="!w-[180px]" clearable />
|
<el-input v-model="schedulersStore.form.jobGroup" :placeholder="`${$t('input')}${$t('schedulers_jobGroup')}`" class="!w-[180px]" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('schedulers_description')" prop="description">
|
<el-form-item :label="$t('schedulers_description')" prop="description">
|
||||||
<el-input v-model="schedulersStore.form.description" :placeholder="`${$t('input')}${$t('schedulers_description')}`" class="!w-[180px]" clearable />
|
<el-input
|
||||||
|
v-model="schedulersStore.form.description"
|
||||||
|
:placeholder="`${$t('input')}${$t('schedulers_description')}`"
|
||||||
|
class="!w-[180px]"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('schedulers_jobClassName')" prop="jobClassName">
|
<el-form-item :label="$t('schedulers_jobClassName')" prop="jobClassName">
|
||||||
<el-input v-model="schedulersStore.form.jobClassName" :placeholder="`${$t('input')}${$t('schedulers_jobClassName')}`" class="!w-[180px]" clearable />
|
<el-input
|
||||||
|
v-model="schedulersStore.form.jobClassName"
|
||||||
|
:placeholder="`${$t('input')}${$t('schedulers_jobClassName')}`"
|
||||||
|
class="!w-[180px]"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('schedulers_triggerName')" prop="triggerName">
|
<el-form-item :label="$t('schedulers_triggerName')" prop="triggerName">
|
||||||
<el-input v-model="schedulersStore.form.triggerName" :placeholder="`${$t('input')}${$t('schedulers_triggerName')}`" class="!w-[180px]" clearable />
|
<el-input
|
||||||
|
v-model="schedulersStore.form.triggerName"
|
||||||
|
:placeholder="`${$t('input')}${$t('schedulers_triggerName')}`"
|
||||||
|
class="!w-[180px]"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('schedulers_triggerState')" prop="triggerState">
|
<el-form-item :label="$t('schedulers_triggerState')" prop="triggerState">
|
||||||
<el-input v-model="schedulersStore.form.triggerState" :placeholder="`${$t('input')}${$t('schedulers_triggerState')}`" class="!w-[180px]" clearable />
|
<el-input
|
||||||
|
v-model="schedulersStore.form.triggerState"
|
||||||
|
:placeholder="`${$t('input')}${$t('schedulers_triggerState')}`"
|
||||||
|
class="!w-[180px]"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button :icon="useRenderIcon('ri:search-line')" :loading="schedulersStore.loading" type="primary" @click="onSearch"> {{ $t('search') }} </el-button>
|
<el-button :icon="useRenderIcon('ri:search-line')" :loading="schedulersStore.loading" type="primary" @click="onSearch">
|
||||||
|
{{ $t('search') }}
|
||||||
|
</el-button>
|
||||||
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)"> {{ $t('buttons.reset') }}</el-button>
|
<el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)"> {{ $t('buttons.reset') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -113,18 +135,36 @@ onMounted(() => {
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #operation="{ row }">
|
<template #operation="{ row }">
|
||||||
<el-button :icon="useRenderIcon(EditPen)" :size="size" class="reset-margin" link type="primary" @click="onUpdate(row)"> {{ $t('modify') }} </el-button>
|
<el-button :icon="useRenderIcon(EditPen)" :size="size" class="reset-margin" link type="primary" @click="onUpdate(row)">
|
||||||
|
{{ $t('modify') }}
|
||||||
|
</el-button>
|
||||||
|
|
||||||
<!-- 暂停-->
|
<!-- 暂停-->
|
||||||
<Auth :value="auth.pause">
|
<Auth :value="auth.pause">
|
||||||
<el-button v-if="row.triggerState === 'ACQUIRED'" :icon="useRenderIcon('line-md:pause')" :size="size" class="reset-margin" link type="primary" @click="onPause(row)">
|
<el-button
|
||||||
|
v-if="row.triggerState !== 'PAUSED'"
|
||||||
|
:icon="useRenderIcon('line-md:pause')"
|
||||||
|
:size="size"
|
||||||
|
class="reset-margin"
|
||||||
|
link
|
||||||
|
type="primary"
|
||||||
|
@click="onPause(row)"
|
||||||
|
>
|
||||||
{{ $t('pause') }}
|
{{ $t('pause') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</Auth>
|
</Auth>
|
||||||
|
|
||||||
<!-- 恢复 -->
|
<!-- 恢复 -->
|
||||||
<Auth :value="auth.resume">
|
<Auth :value="auth.resume">
|
||||||
<el-button v-if="row.triggerState === 'PAUSED'" :icon="useRenderIcon('material-symbols:resume')" :size="size" class="reset-margin" link type="primary" @click="onResume(row)">
|
<el-button
|
||||||
|
v-if="row.triggerState === 'PAUSED'"
|
||||||
|
:icon="useRenderIcon('material-symbols:resume')"
|
||||||
|
:size="size"
|
||||||
|
class="reset-margin"
|
||||||
|
link
|
||||||
|
type="primary"
|
||||||
|
@click="onResume(row)"
|
||||||
|
>
|
||||||
{{ $t('resume') }}
|
{{ $t('resume') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</Auth>
|
</Auth>
|
||||||
|
|
|
@ -21,6 +21,8 @@ const props = withDefaults(defineProps<FormProps>(), {
|
||||||
cronExpression: undefined,
|
cronExpression: undefined,
|
||||||
// 执行方法
|
// 执行方法
|
||||||
jobMethodName: undefined,
|
jobMethodName: undefined,
|
||||||
|
// 是否是更新
|
||||||
|
isUpdate: false,
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -44,20 +46,32 @@ defineExpose({ formRef });
|
||||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="auto">
|
<el-form ref="formRef" :model="form" :rules="rules" label-width="auto">
|
||||||
<!-- 任务名称 -->
|
<!-- 任务名称 -->
|
||||||
<el-form-item :label="$t('schedulers_jobName')" prop="jobName">
|
<el-form-item :label="$t('schedulers_jobName')" prop="jobName">
|
||||||
<el-input v-model="form.jobName" :placeholder="$t('input') + $t('schedulers_jobName')" autocomplete="off" type="text" />
|
<el-input v-model="form.jobName" :disabled="form.isUpdate" :placeholder="$t('input') + $t('schedulers_jobName')" autocomplete="off" type="text" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 任务分组 -->
|
<!-- 任务分组 -->
|
||||||
<el-form-item :label="$t('schedulers_jobGroup')" prop="jobGroup">
|
<el-form-item :label="$t('schedulers_jobGroup')" prop="jobGroup">
|
||||||
<el-select v-model="form.jobGroup" :placeholder="$t('select') + $t('schedulers_jobGroup')" clearable filterable>
|
<el-select v-model="form.jobGroup" :disabled="form.isUpdate" :placeholder="$t('select') + $t('schedulers_jobGroup')" clearable filterable>
|
||||||
<el-option v-for="(item, index) in schedulersGroupStore.allSchedulersGroup" :key="index" :label="item.groupName" :navigationBar="false" :value="item.groupName" />
|
<el-option
|
||||||
|
v-for="(item, index) in schedulersGroupStore.allSchedulersGroup"
|
||||||
|
:key="index"
|
||||||
|
:label="item.groupName"
|
||||||
|
:navigationBar="false"
|
||||||
|
:value="item.groupName"
|
||||||
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 需要执行的任务类名 -->
|
<!-- 需要执行的任务类名 -->
|
||||||
<el-form-item :label="$t('schedulers_jobClassName')" prop="jobClassName">
|
<el-form-item :label="$t('schedulers_jobClassName')" prop="jobClassName">
|
||||||
<el-select v-model="form.jobClassName" :placeholder="$t('select') + $t('schedulers_jobClassName')" clearable filterable>
|
<el-select v-model="form.jobClassName" :disabled="form.isUpdate" :placeholder="$t('select') + $t('schedulers_jobClassName')" clearable filterable>
|
||||||
<el-option v-for="(item, index) in schedulersStore.allScheduleJobList" :key="index" :label="item.label" :navigationBar="false" :value="item.value" />
|
<el-option
|
||||||
|
v-for="(item, index) in schedulersStore.allScheduleJobList"
|
||||||
|
:key="index"
|
||||||
|
:label="item.label"
|
||||||
|
:navigationBar="false"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
@ -68,7 +82,13 @@ defineExpose({ formRef });
|
||||||
|
|
||||||
<!-- 任务详情 -->
|
<!-- 任务详情 -->
|
||||||
<el-form-item :label="$t('schedulers_description')" prop="description">
|
<el-form-item :label="$t('schedulers_description')" prop="description">
|
||||||
<el-input v-model="form.description" :placeholder="$t('input') + $t('schedulers_description')" autocomplete="off" type="text" />
|
<el-input
|
||||||
|
v-model="form.description"
|
||||||
|
:disabled="form.isUpdate"
|
||||||
|
:placeholder="$t('input') + $t('schedulers_description')"
|
||||||
|
autocomplete="off"
|
||||||
|
type="text"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -63,6 +63,7 @@ export function onUpdate(row: any) {
|
||||||
description: row.description,
|
description: row.description,
|
||||||
jobClassName: row.jobClassName,
|
jobClassName: row.jobClassName,
|
||||||
cronExpression: row.cronExpression,
|
cronExpression: row.cronExpression,
|
||||||
|
isUpdate: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
draggable: true,
|
draggable: true,
|
||||||
|
|
|
@ -10,6 +10,8 @@ export interface FormItemProps {
|
||||||
jobClassName: string;
|
jobClassName: string;
|
||||||
// corn表达式
|
// corn表达式
|
||||||
cronExpression: string;
|
cronExpression: string;
|
||||||
|
// 是否是更新
|
||||||
|
isUpdate: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加或修改表单Props
|
// 添加或修改表单Props
|
||||||
|
|
Loading…
Reference in New Issue