소스 검색

定时任务加备注字段提交及显示

yanglzh 3 년 전
부모
커밋
fd430cfda7
2개의 변경된 파일81개의 추가작업 그리고 67개의 파일을 삭제
  1. 77 50
      src/views/system/task/component/editConfig.vue
  2. 4 17
      src/views/system/task/index.vue

+ 77 - 50
src/views/system/task/component/editConfig.vue

@@ -1,32 +1,33 @@
 <template>
-  <div class="system-edit-dic-container">
-    <el-dialog :title="(ruleForm.jobId ? '修改' : '添加' ) + '任务'" v-model="isShowDialog" width="650px">
-      <el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="100px">
-        <el-form-item label="任务名称" prop="jobName">
-          <el-input v-model="ruleForm.jobName" placeholder="请输入任务名称" />
-        </el-form-item>
-        <el-form-item label="任务分组" prop="jobGroup">
+	<div class="system-edit-dic-container">
+		<el-dialog :title="(ruleForm.jobId ? '修改' : '添加' ) + '任务'" v-model="isShowDialog" width="650px">
+			<el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="100px">
+				<el-form-item label="任务名称" prop="jobName">
+					<el-input v-model="ruleForm.jobName" placeholder="请输入任务名称" />
+				</el-form-item>
+				<el-form-item label="任务描述" prop="remark">
+					<el-input v-model="ruleForm.remark" placeholder="请输入任务描述" type="textarea" />
+				</el-form-item>
+				<el-form-item label="任务分组" prop="jobGroup">
 					<el-select v-model="ruleForm.jobGroup" placeholder="请选择">
-						<el-option
-							v-for="dict in sys_job_group"
-							:key="dict.value"
-							:label="dict.label"
-							:value="dict.value">
+						<el-option v-for="dict in sys_job_group" :key="dict.value" :label="dict.label" :value="dict.value">
 						</el-option>
 					</el-select>
-        </el-form-item>
-        <el-form-item prop="invokeTarget">
+				</el-form-item>
+				<el-form-item prop="invokeTarget">
 					<template #label>
 						<div class="flex align-center">
 							调用方法
 							<el-tooltip class="item" effect="dark" content="示例:demo1" placement="top">
-								<el-icon><ele-QuestionFilled /></el-icon>
+								<el-icon>
+									<ele-QuestionFilled />
+								</el-icon>
 							</el-tooltip>
 						</div>
 					</template>
-          <el-input v-model="ruleForm.invokeTarget" placeholder="请输入调用方法" />
-        </el-form-item>
-        <el-form-item prop="jobParams">
+					<el-input v-model="ruleForm.invokeTarget" placeholder="请输入调用方法" />
+				</el-form-item>
+				<el-form-item prop="jobParams">
 					<template #label>
 						<div class="flex align-center">
 							执行参数
@@ -35,39 +36,61 @@
 									以|分隔多个参数 示例:param1|param1
 									<br />参数说明:支持字符串,布尔类型,长整型,浮点型,整型
 								</template>
-								<el-icon><ele-QuestionFilled /></el-icon>
+								<el-icon>
+									<ele-QuestionFilled />
+								</el-icon>
 							</el-tooltip>
 						</div>
 					</template>
-          <el-input v-model="ruleForm.jobParams" placeholder="请输入执行参数" />
-        </el-form-item>
-        <el-form-item label="cron表达式" prop="cronExpression">
-          <el-input v-model="ruleForm.cronExpression" placeholder="请输入cron表达式" />
+					<el-input v-model="ruleForm.jobParams" placeholder="请输入执行参数" />
+				</el-form-item>
+				<el-form-item label="cron表达式" prop="cronExpression">
+					<el-input v-model="ruleForm.cronExpression" placeholder="请输入cron表达式" />
 					<ul style="list-style: none;">
-						<li><el-icon><ele-WarningFilled /></el-icon> */5 * * * * ? : 每隔5秒执行一次</li>
-						<li><el-icon><ele-WarningFilled /></el-icon> 20 */1 * * * ? : 每隔1分钟执行一次</li>
-						<li><el-icon><ele-WarningFilled /></el-icon> 30 0 23 * * ? : 每天23点执行一次</li>
-						<li><el-icon><ele-WarningFilled /></el-icon> 0 0 1 * * ? : 每天凌晨1点执行一次</li>
-						<li><el-icon><ele-WarningFilled /></el-icon> 0 0 1 1 * ? : 每月1号凌晨1点执行一次</li>
+						<li>
+							<el-icon>
+								<ele-WarningFilled />
+							</el-icon> */5 * * * * ? : 每隔5秒执行一次
+						</li>
+						<li>
+							<el-icon>
+								<ele-WarningFilled />
+							</el-icon> 20 */1 * * * ? : 每隔1分钟执行一次
+						</li>
+						<li>
+							<el-icon>
+								<ele-WarningFilled />
+							</el-icon> 30 0 23 * * ? : 每天23点执行一次
+						</li>
+						<li>
+							<el-icon>
+								<ele-WarningFilled />
+							</el-icon> 0 0 1 * * ? : 每天凌晨1点执行一次
+						</li>
+						<li>
+							<el-icon>
+								<ele-WarningFilled />
+							</el-icon> 0 0 1 1 * ? : 每月1号凌晨1点执行一次
+						</li>
 					</ul>
-        </el-form-item>
-        <el-form-item label="执行策略" prop="misfirePolicy">
+				</el-form-item>
+				<el-form-item label="执行策略" prop="misfirePolicy">
 					<el-radio v-model="ruleForm.misfirePolicy" :label="1">重复执行</el-radio>
 					<el-radio v-model="ruleForm.misfirePolicy" :label="0">执行一次</el-radio>
-        </el-form-item>
-        <el-form-item label="状态" prop="status">
+				</el-form-item>
+				<el-form-item label="状态" prop="status">
 					<el-radio v-model="ruleForm.status" :label="1">正常</el-radio>
 					<el-radio v-model="ruleForm.status" :label="0">暂停</el-radio>
-        </el-form-item>
-      </el-form>
-      <template #footer>
-        <span class="dialog-footer">
-          <el-button @click="onCancel" size="default">取 消</el-button>
-          <el-button type="primary" @click="onSubmit" size="default">{{ ruleForm.jobId ? '修 改' : '添 加' }}</el-button>
-        </span>
-      </template>
-    </el-dialog>
-  </div>
+				</el-form-item>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="onCancel" size="default">取 消</el-button>
+					<el-button type="primary" @click="onSubmit" size="default">{{ ruleForm.jobId ? '修 改' : '添 加' }}</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
 </template>
 
 <script lang="ts">
@@ -80,6 +103,7 @@ interface RuleFormState {
 	jobGroup: string;
 	invokeTarget: string;
 	cronExpression: string;
+	remark: string;
 	misfirePolicy: number;
 	status: number;
 	jobId?: number;
@@ -113,6 +137,7 @@ export default defineComponent({
 				jobGroup: '',
 				invokeTarget: '',
 				cronExpression: '',
+				remark: '',
 				misfirePolicy: 1,
 				status: 0
 			},
@@ -123,7 +148,7 @@ export default defineComponent({
 			},
 		});
 		let { sys_job_group } = proxy.useDict('sys_job_group')
- 		// 打开弹窗
+		// 打开弹窗
 		const openDialog = (row: RuleFormState | null) => {
 			resetForm();
 			if (row) {
@@ -142,6 +167,7 @@ export default defineComponent({
 				jobGroup: '',
 				invokeTarget: '',
 				cronExpression: '',
+				remark: '',
 				misfirePolicy: 1,
 				status: 0
 			};
@@ -160,7 +186,7 @@ export default defineComponent({
 			if (!formWrap) return;
 			formWrap.validate((valid: boolean) => {
 				if (valid) {
-					console.log(state.ruleForm)
+					// console.log(state.ruleForm)
 					if (state.ruleForm.jobId) {
 						//修改
 						api.task.edit(state.ruleForm).then(() => {
@@ -194,10 +220,11 @@ export default defineComponent({
 
 
 <style scoped lang="scss">
-	.flex {
-		display: flex;
-	}
-	.align-center {
-		align-items: center;
-	}
+.flex {
+	display: flex;
+}
+
+.align-center {
+	align-items: center;
+}
 </style>

+ 4 - 17
src/views/system/task/index.vue

@@ -50,21 +50,14 @@
 				<el-table-column type="selection" width="55" align="center" />
 				<el-table-column label="ID" align="center" prop="jobId" width="60" />
 				<el-table-column label="任务名称" prop="jobName" :show-overflow-tooltip="true" />
+				<el-table-column label="任务描述" prop="remark" show-overflow-tooltip />
 				<el-table-column label="任务分组" prop="jobGroup" width="120" :formatter="jobGroupFormat" />
 				<el-table-column label="任务方法名" prop="invokeTarget" />
 				<el-table-column label="cron执行表达式" prop="cronExpression" />
 				<el-table-column label="状态" align="center" prop="status" width="100">
 					<template #default="scope">
 						<!-- {{ row.status ? '正常' : '暂停' }} -->
-						<el-switch
-							v-model="scope.row.status"
-							inline-prompt
-							:active-value="0"
-							:inactive-value="1"
-							active-text="启"
-							inactive-text="禁"
-							@change="handleStatusChange(scope.row)"
-						>
+						<el-switch v-model="scope.row.status" inline-prompt :active-value="0" :inactive-value="1" active-text="启" inactive-text="禁" @change="handleStatusChange(scope.row)">
 						</el-switch>
 					</template>
 				</el-table-column>
@@ -76,13 +69,7 @@
 					</template>
 				</el-table-column>
 			</el-table>
-			<pagination
-				v-show="tableData.total > 0"
-				:total="tableData.total"
-				v-model:page="tableData.param.pageNum"
-				v-model:limit="tableData.param.pageSize"
-				@pagination="dataList"
-			/>
+			<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="dataList" />
 		</el-card>
 		<EditConfig ref="editDicRef" @dataList="dataList" />
 	</div>
@@ -192,7 +179,7 @@ export default defineComponent({
 						dataList();
 					});
 				})
-				.catch(() => {});
+				.catch(() => { });
 		};
 		const onRowRun = (row: TableDataRow) => {
 			ElMessageBox.confirm(`是否确认立即执行一次该任务?`, '警告', {