From fe631515b71782a10a750874f6d4582fe027cd22 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 03 十一月 2025 09:32:49 +0800
Subject: [PATCH] 公司-所有的表格添加斑马纹
---
src/views/monitor/job/index.vue | 222 ++++++++++++++++++++++++++++++-------------------------
1 files changed, 120 insertions(+), 102 deletions(-)
diff --git a/src/views/monitor/job/index.vue b/src/views/monitor/job/index.vue
index 519760d..918be40 100644
--- a/src/views/monitor/job/index.vue
+++ b/src/views/monitor/job/index.vue
@@ -87,7 +87,7 @@
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange">
+ <el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange" stripe>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="浠诲姟缂栧彿" width="100" align="center" prop="jobId" />
<el-table-column label="浠诲姟鍚嶇О" align="center" prop="jobName" :show-overflow-tooltip="true" />
@@ -138,7 +138,7 @@
/>
<!-- 娣诲姞鎴栦慨鏀瑰畾鏃朵换鍔″璇濇 -->
- <el-dialog :title="title" v-model="open" width="800px" append-to-body>
+ <el-dialog :title="title" v-model="open" width="820px" append-to-body>
<el-form ref="jobRef" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
@@ -190,31 +190,31 @@
</el-input>
</el-form-item>
</el-col>
- <el-col :span="24">
+ <el-col :span="24" v-if="form.jobId !== undefined">
+ <el-form-item label="鐘舵��">
+ <el-radio-group v-model="form.status">
+ <el-radio
+ v-for="dict in sys_job_status"
+ :key="dict.value"
+ :value="dict.value"
+ >{{ dict.label }}</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
<el-form-item label="鎵ц绛栫暐" prop="misfirePolicy">
<el-radio-group v-model="form.misfirePolicy">
- <el-radio-button label="1">绔嬪嵆鎵ц</el-radio-button>
- <el-radio-button label="2">鎵ц涓�娆�</el-radio-button>
- <el-radio-button label="3">鏀惧純鎵ц</el-radio-button>
+ <el-radio-button value="1">绔嬪嵆鎵ц</el-radio-button>
+ <el-radio-button value="2">鎵ц涓�娆�</el-radio-button>
+ <el-radio-button value="3">鏀惧純鎵ц</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鏄惁骞跺彂" prop="concurrent">
<el-radio-group v-model="form.concurrent">
- <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 sys_job_status"
- :key="dict.value"
- :label="dict.value"
- >{{ dict.label }}</el-radio>
+ <el-radio-button value="0">鍏佽</el-radio-button>
+ <el-radio-button value="1">绂佹</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
@@ -256,7 +256,7 @@
<el-col :span="12">
<el-form-item label="浠诲姟鐘舵�侊細">
<div v-if="form.status == 0">姝e父</div>
- <div v-else-if="form.status == 1">澶辫触</div>
+ <div v-else-if="form.status == 1">鏆傚仠</div>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -285,24 +285,24 @@
</template>
<script setup name="Job">
-import { listJob, getJob, delJob, addJob, updateJob, runJob, changeJobStatus } from "@/api/monitor/job";
+import { listJob, getJob, delJob, addJob, updateJob, runJob, changeJobStatus } from "@/api/monitor/job"
import Crontab from '@/components/Crontab'
-const router = useRouter();
-const { proxy } = getCurrentInstance();
-const { sys_job_group, sys_job_status } = proxy.useDict("sys_job_group", "sys_job_status");
+const router = useRouter()
+const { proxy } = getCurrentInstance()
+const { sys_job_group, sys_job_status } = proxy.useDict("sys_job_group", "sys_job_status")
-const jobList = ref([]);
-const open = ref(false);
-const loading = ref(true);
-const showSearch = ref(true);
-const ids = ref([]);
-const single = ref(true);
-const multiple = ref(true);
-const total = ref(0);
-const title = ref("");
-const openView = ref(false);
-const openCron = ref(false);
-const expression = ref("");
+const jobList = ref([])
+const open = ref(false)
+const loading = ref(true)
+const showSearch = ref(true)
+const ids = ref([])
+const single = ref(true)
+const multiple = ref(true)
+const total = ref(0)
+const title = ref("")
+const openView = ref(false)
+const openCron = ref(false)
+const expression = ref("")
const data = reactive({
form: {},
@@ -318,28 +318,31 @@
invokeTarget: [{ required: true, message: "璋冪敤鐩爣瀛楃涓蹭笉鑳戒负绌�", trigger: "blur" }],
cronExpression: [{ required: true, message: "cron鎵ц琛ㄨ揪寮忎笉鑳戒负绌�", trigger: "change" }]
}
-});
+})
-const { queryParams, form, rules } = toRefs(data);
+const { queryParams, form, rules } = toRefs(data)
/** 鏌ヨ瀹氭椂浠诲姟鍒楄〃 */
function getList() {
- loading.value = true;
+ loading.value = true
listJob(queryParams.value).then(response => {
- jobList.value = response.rows;
- total.value = response.total;
- loading.value = false;
- });
+ jobList.value = response.rows
+ total.value = response.total
+ loading.value = false
+ })
}
+
/** 浠诲姟缁勫悕瀛楀吀缈昏瘧 */
function jobGroupFormat(row, column) {
- return proxy.selectDictLabel(sys_job_group.value, row.jobGroup);
+ return proxy.selectDictLabel(sys_job_group.value, row.jobGroup)
}
+
/** 鍙栨秷鎸夐挳 */
function cancel() {
- open.value = false;
- reset();
+ open.value = false
+ reset()
}
+
/** 琛ㄥ崟閲嶇疆 */
function reset() {
form.value = {
@@ -351,133 +354,148 @@
misfirePolicy: 1,
concurrent: 1,
status: "0"
- };
- proxy.resetForm("jobRef");
+ }
+ proxy.resetForm("jobRef")
}
+
/** 鎼滅储鎸夐挳鎿嶄綔 */
function handleQuery() {
- queryParams.value.pageNum = 1;
- getList();
+ queryParams.value.pageNum = 1
+ getList()
}
+
/** 閲嶇疆鎸夐挳鎿嶄綔 */
function resetQuery() {
- proxy.resetForm("queryRef");
- handleQuery();
+ proxy.resetForm("queryRef")
+ handleQuery()
}
+
// 澶氶�夋閫変腑鏁版嵁
function handleSelectionChange(selection) {
- ids.value = selection.map(item => item.jobId);
- single.value = selection.length != 1;
- multiple.value = !selection.length;
+ ids.value = selection.map(item => item.jobId)
+ single.value = selection.length != 1
+ multiple.value = !selection.length
}
+
// 鏇村鎿嶄綔瑙﹀彂
function handleCommand(command, row) {
switch (command) {
case "handleRun":
- handleRun(row);
- break;
+ handleRun(row)
+ break
case "handleView":
- handleView(row);
- break;
+ handleView(row)
+ break
case "handleJobLog":
- handleJobLog(row);
- break;
+ handleJobLog(row)
+ break
default:
- break;
+ break
}
}
+
// 浠诲姟鐘舵�佷慨鏀�
function handleStatusChange(row) {
- let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+ let text = row.status === "0" ? "鍚敤" : "鍋滅敤"
proxy.$modal.confirm('纭瑕�"' + text + '""' + row.jobName + '"浠诲姟鍚�?').then(function () {
- return changeJobStatus(row.jobId, row.status);
+ return changeJobStatus(row.jobId, row.status)
}).then(() => {
- proxy.$modal.msgSuccess(text + "鎴愬姛");
+ proxy.$modal.msgSuccess(text + "鎴愬姛")
}).catch(function () {
- row.status = row.status === "0" ? "1" : "0";
- });
+ row.status = row.status === "0" ? "1" : "0"
+ })
}
+
/* 绔嬪嵆鎵ц涓�娆� */
function handleRun(row) {
proxy.$modal.confirm('纭瑕佺珛鍗虫墽琛屼竴娆�"' + row.jobName + '"浠诲姟鍚�?').then(function () {
- return runJob(row.jobId, row.jobGroup);
+ return runJob(row.jobId, row.jobGroup)
}).then(() => {
- proxy.$modal.msgSuccess("鎵ц鎴愬姛");})
- .catch(() => {});
+ proxy.$modal.msgSuccess("鎵ц鎴愬姛")})
+ .catch(() => {})
}
+
/** 浠诲姟璇︾粏淇℃伅 */
function handleView(row) {
getJob(row.jobId).then(response => {
- form.value = response.data;
- openView.value = true;
- });
+ form.value = response.data
+ openView.value = true
+ })
}
+
/** cron琛ㄨ揪寮忔寜閽搷浣� */
function handleShowCron() {
- expression.value = form.value.cronExpression;
- openCron.value = true;
+ expression.value = form.value.cronExpression
+ openCron.value = true
}
+
/** 纭畾鍚庡洖浼犲�� */
function crontabFill(value) {
- form.value.cronExpression = value;
+ form.value.cronExpression = value
}
+
/** 浠诲姟鏃ュ織鍒楄〃鏌ヨ */
function handleJobLog(row) {
- const jobId = row.jobId || 0;
+ const jobId = row.jobId || 0
router.push('/monitor/job-log/index/' + jobId)
}
+
/** 鏂板鎸夐挳鎿嶄綔 */
function handleAdd() {
- reset();
- open.value = true;
- title.value = "娣诲姞浠诲姟";
+ reset()
+ open.value = true
+ title.value = "娣诲姞浠诲姟"
}
+
/** 淇敼鎸夐挳鎿嶄綔 */
function handleUpdate(row) {
- reset();
- const jobId = row.jobId || ids.value;
+ reset()
+ const jobId = row.jobId || ids.value
getJob(jobId).then(response => {
- form.value = response.data;
- open.value = true;
- title.value = "淇敼浠诲姟";
- });
+ form.value = response.data
+ open.value = true
+ title.value = "淇敼浠诲姟"
+ })
}
+
/** 鎻愪氦鎸夐挳 */
function submitForm() {
proxy.$refs["jobRef"].validate(valid => {
if (valid) {
if (form.value.jobId != undefined) {
updateJob(form.value).then(response => {
- proxy.$modal.msgSuccess("淇敼鎴愬姛");
- open.value = false;
- getList();
- });
+ proxy.$modal.msgSuccess("淇敼鎴愬姛")
+ open.value = false
+ getList()
+ })
} else {
addJob(form.value).then(response => {
- proxy.$modal.msgSuccess("鏂板鎴愬姛");
- open.value = false;
- getList();
- });
+ proxy.$modal.msgSuccess("鏂板鎴愬姛")
+ open.value = false
+ getList()
+ })
}
}
- });
+ })
}
+
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
function handleDelete(row) {
- const jobIds = row.jobId || ids.value;
+ const jobIds = row.jobId || ids.value
proxy.$modal.confirm('鏄惁纭鍒犻櫎瀹氭椂浠诲姟缂栧彿涓�"' + jobIds + '"鐨勬暟鎹」?').then(function () {
- return delJob(jobIds);
+ return delJob(jobIds)
}).then(() => {
- getList();
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ getList()
+ proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
+ }).catch(() => {})
}
+
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
function handleExport() {
proxy.download("monitor/job/export", {
...queryParams.value,
- }, `job_${new Date().getTime()}.xlsx`);
+ }, `job_${new Date().getTime()}.xlsx`)
}
-getList();
+getList()
</script>
--
Gitblit v1.9.3