Browse Source

Merge pull request #600 from colinin/copy-job

copy a job parameter to quickly create a new job
pull/645/head 5.2.1
yx lin 4 years ago
committed by GitHub
parent
commit
46ad2671e3
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      apps/vue/src/views/task-management/background-jobs/components/BackgroundJobInfoModal.vue
  2. 9
      apps/vue/src/views/task-management/background-jobs/components/BackgroundJobInfoTable.vue
  3. 1
      aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/en.json
  4. 1
      aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/zh-Hans.json

11
apps/vue/src/views/task-management/background-jobs/components/BackgroundJobInfoModal.vue

@ -121,7 +121,7 @@
import { BasicModal, useModal, useModalInner } from '/@/components/Modal'; import { BasicModal, useModal, useModalInner } from '/@/components/Modal';
import { BasicTable, BasicColumn, TableAction, useTable } from '/@/components/Table'; import { BasicTable, BasicColumn, TableAction, useTable } from '/@/components/Table';
import { getById, create, update } from '/@/api/task-management/backgroundJobInfo'; import { getById, create, update } from '/@/api/task-management/backgroundJobInfo';
import { JobType, JobPriority, BackgroundJobInfo } from '/@/api/task-management/model/backgroundJobInfoModel'; import { JobType, JobPriority, JobSource, BackgroundJobInfo } from '/@/api/task-management/model/backgroundJobInfoModel';
import { JobTypeMap, JobPriorityMap } from '../datas/typing'; import { JobTypeMap, JobPriorityMap } from '../datas/typing';
const FormItem = Form.Item; const FormItem = Form.Item;
@ -132,6 +132,7 @@
const { L } = useLocalization('TaskManagement'); const { L } = useLocalization('TaskManagement');
const { ruleCreator } = useValidation(); const { ruleCreator } = useValidation();
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const copyJob = ref(false);
const formElRef = ref<any>(); const formElRef = ref<any>();
const activeKey = ref('basic'); const activeKey = ref('basic');
const modelRef = ref<BackgroundJobInfo>({ const modelRef = ref<BackgroundJobInfo>({
@ -139,12 +140,14 @@
isEnabled: true, isEnabled: true,
priority: JobPriority.Normal, priority: JobPriority.Normal,
jobType: JobType.Once, jobType: JobType.Once,
source: JobSource.User,
maxCount: 0, maxCount: 0,
maxTryCount: 0, maxTryCount: 0,
args: {}, args: {},
} as BackgroundJobInfo); } as BackgroundJobInfo);
const [registerModal, { closeModal, changeOkLoading }] = useModalInner((model) => { const [registerModal, { closeModal, changeOkLoading }] = useModalInner((model) => {
activeKey.value = 'basic'; activeKey.value = 'basic';
copyJob.value = model.copy ?? false;
fetchModel(model.id); fetchModel(model.id);
}); });
const [registerParamModal, { openModal: openParamModal, closeModal: closeParamModal }] = useModal(); const [registerParamModal, { openModal: openParamModal, closeModal: closeParamModal }] = useModal();
@ -280,6 +283,11 @@
return; return;
} }
getById(id).then((res) => { getById(id).then((res) => {
if (copyJob.value) {
res.id = '';
res.name = '';
res.source = JobSource.User;
}
modelRef.value = res; modelRef.value = res;
}); });
} }
@ -291,6 +299,7 @@
isEnabled: true, isEnabled: true,
priority: JobPriority.Normal, priority: JobPriority.Normal,
jobType: JobType.Once, jobType: JobType.Once,
source: JobSource.User,
maxCount: 0, maxCount: 0,
maxTryCount: 0, maxTryCount: 0,
args: {}, args: {},

9
apps/vue/src/views/task-management/background-jobs/components/BackgroundJobInfoTable.vue

@ -78,6 +78,11 @@
ifShow: [JobStatus.Running, JobStatus.Completed, JobStatus.FailedRetry].includes(record.status), ifShow: [JobStatus.Running, JobStatus.Completed, JobStatus.FailedRetry].includes(record.status),
onClick: handleTrigger.bind(null, record), onClick: handleTrigger.bind(null, record),
}, },
{
auth: 'TaskManagement.BackgroundJobs.Create',
label: L('BackgroundJobs:Copy'),
onClick: handleCopy.bind(null, record),
},
]" ]"
/> />
</template> </template>
@ -207,4 +212,8 @@
}, },
}); });
} }
function handleCopy(record) {
openModal(true, { id: record.id, copy: true });
}
</script> </script>

1
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/en.json

@ -83,6 +83,7 @@
"BackgroundJobs:Start": "Start Jobs", "BackgroundJobs:Start": "Start Jobs",
"BackgroundJobs:Stop": "Stop Jobs", "BackgroundJobs:Stop": "Stop Jobs",
"BackgroundJobs:Delete": "Delete", "BackgroundJobs:Delete": "Delete",
"BackgroundJobs:Copy": "Copy Jobs",
"BasicInfo": "Basic", "BasicInfo": "Basic",
"Paramters": "Paramters", "Paramters": "Paramters",
"MultipleSelectJobsWillBeDeletedMessage": "Multiple jobs selected will be deleted!" "MultipleSelectJobsWillBeDeletedMessage": "Multiple jobs selected will be deleted!"

1
aspnet-core/modules/task-management/LINGYUN.Abp.TaskManagement.Domain.Shared/LINGYUN/Abp/TaskManagement/Localization/Resources/zh-Hans.json

@ -83,6 +83,7 @@
"BackgroundJobs:Start": "启动作业", "BackgroundJobs:Start": "启动作业",
"BackgroundJobs:Stop": "停止作业", "BackgroundJobs:Stop": "停止作业",
"BackgroundJobs:Delete": "删除", "BackgroundJobs:Delete": "删除",
"BackgroundJobs:Copy": "复制作业",
"BasicInfo": "基本信息", "BasicInfo": "基本信息",
"Paramters": "参数列表", "Paramters": "参数列表",
"MultipleSelectJobsWillBeDeletedMessage": "选择的多个作业将被删除!" "MultipleSelectJobsWillBeDeletedMessage": "选择的多个作业将被删除!"

Loading…
Cancel
Save