From 43d76e599091dc6b79b51f89c79514b50e33ea35 Mon Sep 17 00:00:00 2001 From: fuzui <73400@163.com> Date: 星期四, 16 十二月 2021 02:18:48 +0800 Subject: [PATCH] fix: cron组件中周回显bug --- ruoyi-ui/src/views/system/dict/data.vue | 234 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 179 insertions(+), 55 deletions(-) diff --git a/ruoyi-ui/src/views/system/dict/data.vue b/ruoyi-ui/src/views/system/dict/data.vue index 8c4db3f..c08c28a 100644 --- a/ruoyi-ui/src/views/system/dict/data.vue +++ b/ruoyi-ui/src/views/system/dict/data.vue @@ -1,7 +1,7 @@ <template> <div class="app-container"> - <el-form :inline="true"> - <el-form-item label="字典名称"> + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="字典名称" prop="dictType"> <el-select v-model="queryParams.dictType" size="small"> <el-option v-for="item in typeOptions" @@ -11,7 +11,7 @@ /> </el-select> </el-form-item> - <el-form-item label="字典标签"> + <el-form-item label="字典标签" prop="dictLabel"> <el-input v-model="queryParams.dictLabel" placeholder="请输入字典标签" @@ -20,28 +20,93 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="状态"> + <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_normal_disable" + :key="dict.value" + :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> - <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:dict:add']">新增</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> </el-form-item> </el-form> - <el-table v-loading="loading" :data="dataList" style="width: 100%;"> + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['system:dict:add']" + >新增</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="success" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['system:dict:edit']" + >修改</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:dict:remove']" + >删除</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['system:dict:export']" + >导出</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-close" + size="mini" + @click="handleClose" + >关闭</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> + + <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> <el-table-column label="字典编码" align="center" prop="dictCode" /> - <el-table-column label="字典标签" align="center" prop="dictLabel" /> + <el-table-column label="字典标签" align="center" prop="dictLabel"> + <template slot-scope="scope"> + <span v-if="scope.row.listClass == '' || scope.row.listClass == 'default'">{{scope.row.dictLabel}}</span> + <el-tag v-else :type="scope.row.listClass == 'primary' ? '' : scope.row.listClass">{{scope.row.dictLabel}}</el-tag> + </template> + </el-table-column> <el-table-column label="字典键值" align="center" prop="dictValue" /> <el-table-column label="字典排序" align="center" prop="dictSort" /> - <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> + <el-table-column label="状态" align="center" prop="status"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> + </template> + </el-table-column> <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" /> <el-table-column label="创建时间" align="center" prop="createTime" width="180"> <template slot-scope="scope"> @@ -50,10 +115,10 @@ </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" + <el-button + size="mini" + type="text" + icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:dict:edit']" >修改</el-button> @@ -77,7 +142,7 @@ /> <!-- 添加或修改参数配置对话框 --> - <el-dialog :title="title" :visible.sync="open" width="500px"> + <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="字典类型"> <el-input v-model="form.dictType" :disabled="true" /> @@ -88,16 +153,29 @@ <el-form-item label="数据键值" prop="dictValue"> <el-input v-model="form.dictValue" placeholder="请输入数据键值" /> </el-form-item> + <el-form-item label="样式属性" prop="cssClass"> + <el-input v-model="form.cssClass" placeholder="请输入样式属性" /> + </el-form-item> <el-form-item label="显示排序" prop="dictSort"> <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> + </el-form-item> + <el-form-item label="回显样式" prop="listClass"> + <el-select v-model="form.listClass"> + <el-option + v-for="item in listClassOptions" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> </el-form-item> <el-form-item label="状态" prop="status"> <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_normal_disable" + :key="dict.value" + :label="dict.value" + >{{dict.label}}</el-radio> </el-radio-group> </el-form-item> <el-form-item label="备注" prop="remark"> @@ -117,20 +195,57 @@ import { listType, getType } from "@/api/system/dict/type"; export default { + name: "Data", + dicts: ['sys_normal_disable'], data() { return { // 遮罩层 loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 显示搜索条件 + showSearch: true, // 总条数 total: 0, // 字典表格数据 dataList: [], + // 默认字典类型 + defaultDictType: "", // 弹出层标题 title: "", // 是否显示弹出层 open: false, - // 状态数据字典 - statusOptions: [], + // 数据标签回显样式 + listClassOptions: [ + { + value: "default", + label: "默认" + }, + { + value: "primary", + label: "主要" + }, + { + value: "success", + label: "成功" + }, + { + value: "info", + label: "信息" + }, + { + value: "warning", + label: "警告" + }, + { + value: "danger", + label: "危险" + } + ], // 类型数据字典 typeOptions: [], // 查询参数 @@ -161,15 +276,13 @@ const dictId = this.$route.params && this.$route.params.dictId; this.getType(dictId); this.getTypeList(); - this.getDicts("sys_normal_disable").then(response => { - this.statusOptions = response.data; - }); }, methods: { /** 查询字典类型详细 */ getType(dictId) { getType(dictId).then(response => { this.queryParams.dictType = response.data.dictType; + this.defaultDictType = response.data.dictType; this.getList(); }); }, @@ -188,10 +301,6 @@ this.loading = false; }); }, - // 数据状态字典翻译 - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, // 取消按钮 cancel() { this.open = false; @@ -203,6 +312,8 @@ dictCode: undefined, dictLabel: undefined, dictValue: undefined, + cssClass: undefined, + listClass: 'default', dictSort: 0, status: "0", remark: undefined @@ -214,6 +325,17 @@ this.queryParams.pageNum = 1; this.getList(); }, + /** 返回按钮操作 */ + handleClose() { + const obj = { path: "/system/dict" }; + this.$tab.closeOpenPage(obj); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.queryParams.dictType = this.defaultDictType; + this.handleQuery(); + }, /** 新增按钮操作 */ handleAdd() { this.reset(); @@ -221,10 +343,17 @@ this.title = "添加字典数据"; this.form.dictType = this.queryParams.dictType; }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.dictCode) + this.single = selection.length!=1 + this.multiple = !selection.length + }, /** 修改按钮操作 */ handleUpdate(row) { this.reset(); - getData(row.dictCode).then(response => { + const dictCode = row.dictCode || this.ids + getData(dictCode).then(response => { this.form = response.data; this.open = true; this.title = "修改字典数据"; @@ -236,23 +365,15 @@ if (valid) { if (this.form.dictCode != undefined) { updateData(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("修改成功"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } + this.$modal.msgSuccess("修改成功"); + this.open = false; + this.getList(); }); } else { addData(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("新增成功"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } + this.$modal.msgSuccess("新增成功"); + this.open = false; + this.getList(); }); } } @@ -260,16 +381,19 @@ }, /** 删除按钮操作 */ handleDelete(row) { - this.$confirm('是否确认删除名称为"' + row.dictLabel + '"的数据项?', "警告", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning" - }).then(function() { - return delData(row.dictCode); - }).then(() => { - this.getList(); - this.msgSuccess("删除成功"); - }).catch(function() {}); + const dictCodes = row.dictCode || this.ids; + this.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?').then(function() { + return delData(dictCodes); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("删除成功"); + }).catch(() => {}); + }, + /** 导出按钮操作 */ + handleExport() { + this.download('system/dict/data/export', { + ...this.queryParams + }, `data_${new Date().getTime()}.xlsx`) } } }; -- Gitblit v1.9.2