From 2ef9fc6d545b03dcd493a1b94ecfc852c51a6f79 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 20 三月 2024 17:18:06 +0800
Subject: [PATCH] 优化
---
src/views/system/default-rule/index.vue | 132 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 115 insertions(+), 17 deletions(-)
diff --git a/src/views/system/default-rule/index.vue b/src/views/system/default-rule/index.vue
index a6c6c00..309f8dd 100644
--- a/src/views/system/default-rule/index.vue
+++ b/src/views/system/default-rule/index.vue
@@ -6,6 +6,7 @@
v-model="queryParams.ruleName"
placeholder="璇疯緭鍏ヨ鍒欏悕绉�"
clearable
+ @clear="handleQuery"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@@ -13,7 +14,7 @@
<el-date-picker
v-model="daterangeCreateTime"
style="width: 240px"
- value-format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="寮�濮嬫棩鏈�"
@@ -34,7 +35,6 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
- v-hasPermi="['system:rule:add']"
>鏂板</el-button>
</el-col>
<el-col :span="1.5">
@@ -45,7 +45,6 @@
size="mini"
:disabled="single"
@click="handleUpdate"
- v-hasPermi="['system:rule:edit']"
>淇敼</el-button>
</el-col>
<el-col :span="1.5">
@@ -56,7 +55,6 @@
size="mini"
:disabled="multiple"
@click="handleDelete"
- v-hasPermi="['system:rule:remove']"
>鍒犻櫎</el-button>
</el-col>
<el-col :span="1.5">
@@ -74,11 +72,9 @@
<el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
- <el-table-column label="涓婚敭" align="center" prop="id" />
<el-table-column label="瑙勫垯鍚嶇О" align="center" prop="ruleName" />
- <el-table-column label="瑙勫垯璇︽儏JSON" align="center" prop="ruleDetail" />
<el-table-column label="瑙勫垯鎻忚堪" align="center" prop="ruleDesc" />
- <el-table-column label="瑙勫垯鐘舵�侊細鍚敤銆佹湭鍚敤" align="center" prop="ruleStatus" />
+ <el-table-column label="瑙勫垯鐘舵��" align="center" prop="ruleStatus" />
<el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
@@ -87,18 +83,36 @@
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
+ v-if="scope.row.ruleStatus === '鏈惎鐢�'"
+ size="mini"
+ type="text"
+ icon="el-icon-zoom-in"
+ @click="handleUse(scope.row.id, true)"
+ >鍚敤</el-button>
+ <el-button
+ v-else
+ size="mini"
+ type="text"
+ icon="el-icon-zoom-in"
+ @click="handleUse(scope.row.id, false)"
+ >鍋滅敤</el-button>
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-zoom-in"
+ @click="handleDetail(scope.row)"
+ >璇︽儏</el-button>
+ <el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
- v-hasPermi="['system:rule:edit']"
>淇敼</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
- v-hasPermi="['system:rule:remove']"
>鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -112,17 +126,53 @@
@pagination="getList"
/>
+ <!-- 瑙勫垯璇︽儏 -->
+ <el-dialog title="瑙勫垯璇︽儏" :visible.sync="detailOpen" width="500px" append-to-body>
+ <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+ <el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
+ <el-input disabled v-model="form.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
+ </el-form-item>
+ <el-form-item label="瑙勫垯鎻忚堪" prop="ruleDesc">
+ <el-input disabled v-model="form.ruleDesc" placeholder="璇疯緭鍏ヨ鍒欐弿杩�" />
+ </el-form-item>
+ <el-form-item label="瑙勫垯璁剧疆">
+ <div style="margin-top: 30px">
+ <div class="line">
+ <div class="line-left">宸ュ崟鏈強鏃跺鐞嗘暟锛�</div>
+ <div class="line-right"><el-input disabled v-model="jsonRule.overTime" type="number"/></div>
+ </div>
+ <div class="line">
+ <div class="line-left">杩愮淮澶辫触鏁伴噺瓒呰繃锛�</div>
+ <div class="line-right"><el-input disabled v-model="jsonRule.failNum" type="number"/></div>
+ </div>
+ </div>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="closeDetail">鍏抽棴</el-button>
+ </div>
+ </el-dialog>
+
<!-- 娣诲姞鎴栦慨鏀硅繚绾﹁鍒欏璇濇 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="瑙勫垯鍚嶇О" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="璇疯緭鍏ヨ鍒欏悕绉�" />
</el-form-item>
- <el-form-item label="瑙勫垯璇︽儏JSON" prop="ruleDetail">
- <el-input v-model="form.ruleDetail" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
- </el-form-item>
<el-form-item label="瑙勫垯鎻忚堪" prop="ruleDesc">
<el-input v-model="form.ruleDesc" placeholder="璇疯緭鍏ヨ鍒欐弿杩�" />
+ </el-form-item>
+ <el-form-item label="瑙勫垯璁剧疆">
+ <div style="margin-top: 30px">
+ <div class="line">
+ <div class="line-left">宸ュ崟鏈強鏃跺鐞嗘暟锛�</div>
+ <div class="line-right"><el-input v-model="jsonRule.overTime" type="number"/></div>
+ </div>
+ <div class="line">
+ <div class="line-left">杩愮淮澶辫触鏁伴噺瓒呰繃锛�</div>
+ <div class="line-right"><el-input v-model="jsonRule.failNum" type="number"/></div>
+ </div>
+ </div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -134,12 +184,13 @@
</template>
<script>
-import { listRule, getRule, delRule, addRule, updateRule } from "@/api/platform/default-rule";
+import { listRule, getRule, delRule, addRule, updateRule, setRule } from "@/api/platform/default-rule";
export default {
name: "Rule",
data() {
return {
+ detailOpen: false,
// 閬僵灞�
loading: true,
// 閫変腑鏁扮粍
@@ -170,6 +221,7 @@
},
// 琛ㄥ崟鍙傛暟
form: {},
+ jsonRule: {},
// 琛ㄥ崟鏍¢獙
rules: {
ruleName: [
@@ -185,13 +237,12 @@
/** 鏌ヨ杩濈害瑙勫垯鍒楄〃 */
getList() {
this.loading = true;
- this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
- this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
- this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
+ this.queryParams["start"] = this.daterangeCreateTime[0];
+ this.queryParams["end"] = this.daterangeCreateTime[1];
}
listRule(this.queryParams).then(response => {
- this.ruleList = response.rows;
+ this.ruleList = response.data;
this.total = response.total;
this.loading = false;
});
@@ -244,6 +295,7 @@
const id = row.id || this.ids
getRule(id).then(response => {
this.form = response.data;
+ this.jsonRule = JSON.parse(this.form.ruleDetail)
this.open = true;
this.title = "淇敼杩濈害瑙勫垯";
});
@@ -252,6 +304,9 @@
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
+ this.jsonRule.overtime = this.jsonRule.overtime ? this.jsonRule.overtime : 0;
+ this.jsonRule.failNum = this.jsonRule.failNum ? this.jsonRule.failNum : 0;
+ this.form.ruleDetail = JSON.stringify(this.jsonRule);
if (this.form.id != null) {
updateRule(this.form).then(response => {
this.$modal.msgSuccess("淇敼鎴愬姛");
@@ -267,6 +322,33 @@
}
}
});
+ },
+ // 鍚敤銆佸仠鐢�
+ handleUse(id, flag) {
+ let data = {
+ id: id,
+ flag: flag
+ }
+ setRule(data).then(res => {
+ if (res.code === 200) {
+ this.$modal.msgSuccess("璁剧疆鎴愬姛");
+ } else {
+ this.$modal.msgError(res.msg);
+ }
+ this.getList();
+ })
+ },
+ // 璇︽儏鎸夐挳
+ handleDetail(row) {
+ this.detailOpen = true;
+ this.form = row;
+ this.jsonRule = JSON.parse(this.form.ruleDetail);
+ },
+ // 鍏抽棴璇︽儏
+ closeDetail() {
+ this.jsonRule = {};
+ this.form = {};
+ this.detailOpen = false;
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
@@ -287,3 +369,19 @@
}
};
</script>
+
+<style scoped>
+.line {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: center;
+}
+.line-left {
+ width: 200px;
+ text-align: center;
+}
+.line-right {
+ width: 100px;
+}
+</style>
--
Gitblit v1.8.0