diff --git a/src/components/common/system-user.vue b/src/components/common/system-user.vue
new file mode 100644
index 0000000..1f54a8b
--- /dev/null
+++ b/src/components/common/system-user.vue
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
diff --git a/src/locales/langs/en-us.ts b/src/locales/langs/en-us.ts
index 45b4ded..9f8a46e 100644
--- a/src/locales/langs/en-us.ts
+++ b/src/locales/langs/en-us.ts
@@ -779,6 +779,7 @@ const local: App.I18n.Schema = {
jobTask: {
title: 'JobTask List',
groupName: 'Group name',
+ owerName: 'Ower name',
jobName: 'Mission name',
argsStr: 'Method parameters',
shardNum: 'Reduce shard num',
@@ -801,6 +802,7 @@ const local: App.I18n.Schema = {
updateDt: 'Update time',
form: {
jobStatus: 'Please enter status',
+ owerName: 'Please enter owerName',
maxRetryTimes: 'Please enter maximum number of retry',
description: 'Please enter description',
triggerType: 'Please enter trigger type',
@@ -871,6 +873,7 @@ const local: App.I18n.Schema = {
oldPassword: 'Old Password',
newPassword: 'New Password',
form: {
+ owerName: 'Please select owername',
role: 'Please enter role',
password: 'Please enter password',
username: 'Please enter username',
diff --git a/src/locales/langs/zh-cn.ts b/src/locales/langs/zh-cn.ts
index 72abf5c..5afcd73 100644
--- a/src/locales/langs/zh-cn.ts
+++ b/src/locales/langs/zh-cn.ts
@@ -786,6 +786,7 @@ const local: App.I18n.Schema = {
jobTask: {
title: '定时任务列表',
groupName: '组名称',
+ owerName: '负责人',
jobName: '任务名称',
argsStr: '方法参数',
shardNum: 'reduce 分片数',
@@ -808,6 +809,7 @@ const local: App.I18n.Schema = {
updateDt: '更新时间',
form: {
jobStatus: '请输入状态',
+ owerName: '请输入负责人名称',
maxRetryTimes: '请输入最大重试次数',
description: '请输入描述',
triggerType: '请输入触发类型',
@@ -878,6 +880,7 @@ const local: App.I18n.Schema = {
oldPassword: '旧密码',
newPassword: '新密码',
form: {
+ owerName: '请选择负责人',
role: '请输入角色',
password: '请输入密码',
username: '请输入用户名',
diff --git a/src/typings/api.d.ts b/src/typings/api.d.ts
index af34254..658f27c 100644
--- a/src/typings/api.d.ts
+++ b/src/typings/api.d.ts
@@ -958,6 +958,10 @@ declare namespace Api {
type Job = Common.CommonRecord<{
/** 组名称 */
groupName: string;
+ /** 负责人id */
+ owerId: string;
+ /** 负责人名 */
+ owerName: string;
/** 通知场景ids */
notifyIds: number[];
/** 任务名称 */
@@ -1008,6 +1012,7 @@ declare namespace Api {
Api.Job.Job,
| 'groupName'
| 'jobName'
+ | 'owerName'
| 'argsStr'
| 'argsType'
| 'jobStatus'
@@ -1269,7 +1274,7 @@ declare namespace Api {
/** userManager search params */
type UserManagerSearchParams = CommonType.RecordNullable<
- Pick &
+ Pick &
CommonSearchParams
>;
diff --git a/src/typings/app.d.ts b/src/typings/app.d.ts
index 1f2f954..1b5d7dc 100644
--- a/src/typings/app.d.ts
+++ b/src/typings/app.d.ts
@@ -986,6 +986,7 @@ declare namespace App {
jobTask: {
title: string;
groupName: string;
+ owerName: string;
jobName: string;
argsStr: string;
shardNum: string;
@@ -1009,6 +1010,7 @@ declare namespace App {
form: {
jobName: string;
jobStatus: string;
+ owerName: string;
maxRetryTimes: string;
description: string;
triggerType: string;
@@ -1078,6 +1080,7 @@ declare namespace App {
oldPassword: string;
newPassword: string;
form: {
+ owerName: string;
role: string;
password: string;
username: string;
diff --git a/src/views/job/task/index.vue b/src/views/job/task/index.vue
index 0aa96cc..4583f1d 100644
--- a/src/views/job/task/index.vue
+++ b/src/views/job/task/index.vue
@@ -32,7 +32,8 @@ const { columnChecks, columns, data, getData, loading, mobilePagination, searchP
size: 10,
groupName: null,
jobName: null,
- jobStatus: null
+ jobStatus: null,
+ owerName: null
},
columns: () => [
{
@@ -71,6 +72,12 @@ const { columnChecks, columns, data, getData, loading, mobilePagination, searchP
align: 'left',
width: 180
},
+ {
+ key: 'owerName',
+ title: $t('page.jobTask.owerName'),
+ align: 'left',
+ width: 120
+ },
{
key: 'nextTriggerAt',
title: $t('page.jobTask.nextTriggerAt'),
@@ -313,7 +320,8 @@ function body(): Api.Job.ExportJob {
jobIds: checkedRowKeys.value,
groupName: searchParams.groupName,
jobName: searchParams.jobName,
- jobStatus: searchParams.jobStatus
+ jobStatus: searchParams.jobStatus,
+ owerName: searchParams.owerName
};
}
diff --git a/src/views/job/task/modules/job-task-operate-drawer.vue b/src/views/job/task/modules/job-task-operate-drawer.vue
index d7fb01e..5e416ea 100644
--- a/src/views/job/task/modules/job-task-operate-drawer.vue
+++ b/src/views/job/task/modules/job-task-operate-drawer.vue
@@ -61,6 +61,8 @@ type Model = Pick<
Api.Job.Job,
| 'id'
| 'groupName'
+ | 'owerId'
+ | 'owerName'
| 'notifyIds'
| 'jobName'
| 'argsStr'
@@ -98,6 +100,7 @@ function createDefaultModel(): Model {
return {
// @ts-expect-error groupName is required
groupName: undefined,
+ owerId: '',
notifyIds: [],
jobName: '',
argsStr: '',
@@ -122,6 +125,7 @@ function createDefaultModel(): Model {
type RuleKey = Extract<
keyof Model,
| 'groupName'
+ | 'owerId'
| 'jobName'
| 'argsType'
| 'jobStatus'
@@ -140,6 +144,7 @@ type RuleKey = Extract<
const rules: Record = {
groupName: defaultRequiredRule,
+ owerId: defaultRequiredRule,
jobName: defaultRequiredRule,
argsType: defaultRequiredRule,
jobStatus: defaultRequiredRule,
@@ -268,6 +273,8 @@ async function handleSubmit() {
const {
id,
groupName,
+ owerId,
+ owerName,
notifyIds,
jobName,
argsType,
@@ -303,6 +310,8 @@ async function handleSubmit() {
if (props.operateType === 'add') {
const { error } = await fetchAddJob({
groupName,
+ owerId,
+ owerName,
notifyIds,
jobName,
argsStr,
@@ -329,6 +338,8 @@ async function handleSubmit() {
const { error } = await fetchEditJob({
id,
groupName,
+ owerId,
+ owerName,
notifyIds,
jobName,
argsStr,
@@ -461,6 +472,9 @@ const scriptMethodOptions = [
+
+
+
diff --git a/src/views/job/task/modules/job-task-search.vue b/src/views/job/task/modules/job-task-search.vue
index 2411c56..058666e 100644
--- a/src/views/job/task/modules/job-task-search.vue
+++ b/src/views/job/task/modules/job-task-search.vue
@@ -42,6 +42,9 @@ function search() {
clearable
/>
+
+
+