From 12ab8b03d9acb77848c4db9bb0451e77af60acb6 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期五, 17 九月 2021 15:36:54 +0800 Subject: [PATCH] 使用vue-data-dict,简化数据字典使用 --- ruoyi-ui/src/views/monitor/job/index.vue | 99 +++++++++++++++++++++++++++++-------------------- 1 files changed, 58 insertions(+), 41 deletions(-) diff --git a/ruoyi-ui/src/views/monitor/job/index.vue b/ruoyi-ui/src/views/monitor/job/index.vue index 6146633..a8928b6 100644 --- a/ruoyi-ui/src/views/monitor/job/index.vue +++ b/ruoyi-ui/src/views/monitor/job/index.vue @@ -13,20 +13,20 @@ <el-form-item label="浠诲姟缁勫悕" prop="jobGroup"> <el-select v-model="queryParams.jobGroup" placeholder="璇烽�夋嫨浠诲姟缁勫悕" clearable size="small"> <el-option - v-for="dict in jobGroupOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" + v-for="dict in dict.type.sys_job_group" + :key="dict.value" + :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> <el-form-item label="浠诲姟鐘舵��" prop="status"> <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨浠诲姟鐘舵��" clearable size="small"> <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" + v-for="dict in dict.type.sys_job_status" + :key="dict.value" + :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> @@ -95,11 +95,11 @@ <el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="浠诲姟缂栧彿" align="center" prop="jobId" /> + <el-table-column label="浠诲姟缂栧彿" width="100" align="center" prop="jobId" /> <el-table-column label="浠诲姟鍚嶇О" align="center" prop="jobName" :show-overflow-tooltip="true" /> <el-table-column label="浠诲姟缁勫悕" align="center" prop="jobGroup"> <template slot-scope="scope"> - <dict-tag :options="jobGroupOptions" :value="scope.row.jobGroup"/> + <dict-tag :options="dict.type.sys_job_group" :value="scope.row.jobGroup"/> </template> </el-table-column> <el-table-column label="璋冪敤鐩爣瀛楃涓�" align="center" prop="invokeTarget" :show-overflow-tooltip="true" /> @@ -156,7 +156,7 @@ /> <!-- 娣诲姞鎴栦慨鏀瑰畾鏃朵换鍔″璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> + <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row> <el-col :span="12"> @@ -168,10 +168,10 @@ <el-form-item label="浠诲姟鍒嗙粍" prop="jobGroup"> <el-select v-model="form.jobGroup" placeholder="璇烽�夋嫨"> <el-option - v-for="dict in jobGroupOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" + v-for="dict in dict.type.sys_job_group" + :key="dict.value" + :label="dict.label" + :value="dict.value" ></el-option> </el-select> </el-form-item> @@ -192,17 +192,16 @@ <el-input v-model="form.invokeTarget" placeholder="璇疯緭鍏ヨ皟鐢ㄧ洰鏍囧瓧绗︿覆" /> </el-form-item> </el-col> - <el-col :span="12"> + <el-col :span="24"> <el-form-item label="cron琛ㄨ揪寮�" prop="cronExpression"> - <el-input v-model="form.cronExpression" placeholder="璇疯緭鍏ron鎵ц琛ㄨ揪寮�" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鏄惁骞跺彂" prop="concurrent"> - <el-radio-group v-model="form.concurrent" size="small"> - <el-radio-button label="0">鍏佽</el-radio-button> - <el-radio-button label="1">绂佹</el-radio-button> - </el-radio-group> + <el-input v-model="form.cronExpression" placeholder="璇疯緭鍏ron鎵ц琛ㄨ揪寮�"> + <template slot="append"> + <el-button type="primary" @click="handleShowCron"> + 鐢熸垚琛ㄨ揪寮� + <i class="el-icon-time el-icon--right"></i> + </el-button> + </template> + </el-input> </el-form-item> </el-col> <el-col :span="24"> @@ -214,14 +213,22 @@ </el-radio-group> </el-form-item> </el-col> - <el-col :span="24"> + <el-col :span="12"> + <el-form-item label="鏄惁骞跺彂" prop="concurrent"> + <el-radio-group v-model="form.concurrent" size="small"> + <el-radio-button label="0">鍏佽</el-radio-button> + <el-radio-button label="1">绂佹</el-radio-button> + </el-radio-group> + </el-form-item> + </el-col> + <el-col :span="12"> <el-form-item label="鐘舵��"> <el-radio-group v-model="form.status"> <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> + v-for="dict in dict.type.sys_job_status" + :key="dict.value" + :label="dict.value" + >{{dict.label}}</el-radio> </el-radio-group> </el-form-item> </el-col> @@ -231,6 +238,10 @@ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> <el-button @click="cancel">鍙� 娑�</el-button> </div> + </el-dialog> + + <el-dialog title="Cron琛ㄨ揪寮忕敓鎴愬櫒" :visible.sync="openCron" append-to-body class="scrollbar"> + <crontab @hide="openCron=false" @fill="crontabFill" :expression="expression"></crontab> </el-dialog> <!-- 浠诲姟鏃ュ織璇︾粏 --> @@ -285,9 +296,12 @@ <script> import { listJob, getJob, delJob, addJob, updateJob, exportJob, runJob, changeJobStatus } from "@/api/monitor/job"; +import Crontab from '@/components/Crontab' export default { + components: { Crontab }, name: "Job", + dicts: ['sys_job_group', 'sys_job_status'], data() { return { // 閬僵灞� @@ -312,10 +326,10 @@ open: false, // 鏄惁鏄剧ず璇︾粏寮瑰嚭灞� openView: false, - // 浠诲姟缁勫悕瀛楀吀 - jobGroupOptions: [], - // 鐘舵�佸瓧鍏� - statusOptions: [], + // 鏄惁鏄剧ずCron琛ㄨ揪寮忓脊鍑哄眰 + openCron: false, + // 浼犲叆鐨勮〃杈惧紡 + expression: "", // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -342,12 +356,6 @@ }, created() { this.getList(); - this.getDicts("sys_job_group").then(response => { - this.jobGroupOptions = response.data; - }); - this.getDicts("sys_job_status").then(response => { - this.statusOptions = response.data; - }); }, methods: { /** 鏌ヨ瀹氭椂浠诲姟鍒楄〃 */ @@ -361,7 +369,7 @@ }, // 浠诲姟缁勫悕瀛楀吀缈昏瘧 jobGroupFormat(row, column) { - return this.selectDictLabel(this.jobGroupOptions, row.jobGroup); + return this.selectDictLabel(this.dict.type.sys_job_group, row.jobGroup); }, // 鍙栨秷鎸夐挳 cancel() { @@ -448,6 +456,15 @@ this.openView = true; }); }, + /** cron琛ㄨ揪寮忔寜閽搷浣� */ + handleShowCron() { + this.expression = this.form.cronExpression; + this.openCron = true; + }, + /** 纭畾鍚庡洖浼犲�� */ + crontabFill(value) { + this.form.cronExpression = value; + }, /** 浠诲姟鏃ュ織鍒楄〃鏌ヨ */ handleJobLog(row) { const jobId = row.jobId || 0; -- Gitblit v1.9.3