From 45ac0f23e12ac2a45c6affe9e39d0897e4fad618 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期四, 16 二月 2023 17:06:10 +0800 Subject: [PATCH] !286 合并 多租户功能 * add 新增 ruoyi-common-tenant 多租户模块 全框架适配多租户改动 * update 优化 隐藏页面主键 * remove 移除 缓存列表功能(多租户缓存功能繁杂多样 没有办法在页面管理) * update 重构 全局缓存KEY 与 常用缓存KEY做区分 * update 重构 OssFactory 加载方式 改为每次比对配置做实例更新 * update 优化 SaTokenDao 改为 Bean 注入 便于扩展 * update 重构 项目初始化数据改为懒加载 不提供热加载 * update 重构 验证码开关使用配置文件(经调查少有动态开启需求) * update 优化 启用 sqlserver 高版本语法 简化sql脚本语法 * update 优化 DataPermissionHelper 增加 开启/关闭 忽略数据权限功能 * update 优化 连接池增加 keepaliveTime 探活参数 * update 优化 调整连接池最长生命周期 防止出现警告 * update 优化 代码生成页面模板 校验不必要的表单数据 * add 新增 StringUtils splitTo 与 splitList 方法 优化业务代码 --- ruoyi-ui/src/views/system/notice/index.vue | 142 ++++++++++++++++++----------------------------- 1 files changed, 55 insertions(+), 87 deletions(-) diff --git a/ruoyi-ui/src/views/system/notice/index.vue b/ruoyi-ui/src/views/system/notice/index.vue index a67d978..9022a91 100644 --- a/ruoyi-ui/src/views/system/notice/index.vue +++ b/ruoyi-ui/src/views/system/notice/index.vue @@ -1,31 +1,29 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="鍏憡鏍囬" prop="noticeTitle"> <el-input v-model="queryParams.noticeTitle" placeholder="璇疯緭鍏ュ叕鍛婃爣棰�" clearable - size="small" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鎿嶄綔浜哄憳" prop="createBy"> + <el-form-item label="鎿嶄綔浜哄憳" prop="createByName"> <el-input - v-model="queryParams.createBy" + v-model="queryParams.createByName" placeholder="璇疯緭鍏ユ搷浣滀汉鍛�" clearable - size="small" @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="绫诲瀷" prop="noticeType"> - <el-select v-model="queryParams.noticeType" placeholder="鍏憡绫诲瀷" clearable size="small"> + <el-select v-model="queryParams.noticeType" placeholder="鍏憡绫诲瀷" clearable> <el-option - v-for="dict in typeOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" + v-for="dict in dict.type.sys_notice_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> @@ -39,6 +37,7 @@ <el-col :span="1.5"> <el-button type="primary" + plain icon="el-icon-plus" size="mini" @click="handleAdd" @@ -48,6 +47,7 @@ <el-col :span="1.5"> <el-button type="success" + plain icon="el-icon-edit" size="mini" :disabled="single" @@ -58,6 +58,7 @@ <el-col :span="1.5"> <el-button type="danger" + plain icon="el-icon-delete" size="mini" :disabled="multiple" @@ -65,32 +66,29 @@ v-hasPermi="['system:notice:remove']" >鍒犻櫎</el-button> </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <el-table v-loading="loading" :data="noticeList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="搴忓彿" align="center" prop="noticeId" width="100" /> + <el-table-column label="搴忓彿" align="center" prop="noticeId" width="100" v-if="false" /> <el-table-column label="鍏憡鏍囬" align="center" prop="noticeTitle" :show-overflow-tooltip="true" /> - <el-table-column - label="鍏憡绫诲瀷" - align="center" - prop="noticeType" - :formatter="typeFormat" - width="100" - /> - <el-table-column - label="鐘舵��" - align="center" - prop="status" - :formatter="statusFormat" - width="100" - /> - <el-table-column label="鍒涘缓鑰�" align="center" prop="createBy" width="100" /> + <el-table-column label="鍏憡绫诲瀷" align="center" prop="noticeType" width="100"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.sys_notice_type" :value="scope.row.noticeType"/> + </template> + </el-table-column> + <el-table-column label="鐘舵��" align="center" prop="status" width="100"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.sys_notice_status" :value="scope.row.status"/> + </template> + </el-table-column> + <el-table-column label="鍒涘缓鑰�" align="center" prop="createByName" width="100" /> <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="100"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> @@ -135,12 +133,12 @@ </el-col> <el-col :span="12"> <el-form-item label="鍏憡绫诲瀷" prop="noticeType"> - <el-select v-model="form.noticeType" placeholder="璇烽�夋嫨"> + <el-select v-model="form.noticeType" placeholder="璇烽�夋嫨鍏憡绫诲瀷"> <el-option - v-for="dict in typeOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" + v-for="dict in dict.type.sys_notice_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" ></el-option> </el-select> </el-form-item> @@ -149,21 +147,21 @@ <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_notice_status" + :key="dict.value" + :label="dict.value" + >{{dict.label}}</el-radio> </el-radio-group> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="鍐呭"> - <Editor v-model="form.noticeContent" /> + <editor v-model="form.noticeContent" :min-height="192"/> </el-form-item> </el-col> </el-row> </el-form> - <div slot="footer" class="dialog-footer" style="padding-top:20px"> + <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> <el-button @click="cancel">鍙� 娑�</el-button> </div> @@ -172,14 +170,11 @@ </template> <script> -import { listNotice, getNotice, delNotice, addNotice, updateNotice, exportNotice } from "@/api/system/notice"; -import Editor from '@/components/Editor'; +import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice"; export default { name: "Notice", - components: { - Editor - }, + dicts: ['sys_notice_status', 'sys_notice_type'], data() { return { // 閬僵灞� @@ -190,6 +185,8 @@ single: true, // 闈炲涓鐢� multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, // 鎬绘潯鏁� total: 0, // 鍏憡琛ㄦ牸鏁版嵁 @@ -198,16 +195,12 @@ title: "", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, - // 绫诲瀷鏁版嵁瀛楀吀 - statusOptions: [], - // 鐘舵�佹暟鎹瓧鍏� - typeOptions: [], // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, noticeTitle: undefined, - createBy: undefined, + createByName: undefined, status: undefined }, // 琛ㄥ崟鍙傛暟 @@ -218,19 +211,13 @@ { required: true, message: "鍏憡鏍囬涓嶈兘涓虹┖", trigger: "blur" } ], noticeType: [ - { required: true, message: "鍏憡绫诲瀷涓嶈兘涓虹┖", trigger: "blur" } + { required: true, message: "鍏憡绫诲瀷涓嶈兘涓虹┖", trigger: "change" } ] } }; }, created() { this.getList(); - this.getDicts("sys_notice_status").then(response => { - this.statusOptions = response.data; - }); - this.getDicts("sys_notice_type").then(response => { - this.typeOptions = response.data; - }); }, methods: { /** 鏌ヨ鍏憡鍒楄〃 */ @@ -241,14 +228,6 @@ this.total = response.total; this.loading = false; }); - }, - // 鍏憡鐘舵�佸瓧鍏哥炕璇� - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - // 鍏憡鐘舵�佸瓧鍏哥炕璇� - typeFormat(row, column) { - return this.selectDictLabel(this.typeOptions, row.noticeType); }, // 鍙栨秷鎸夐挳 cancel() { @@ -303,24 +282,17 @@ this.$refs["form"].validate(valid => { if (valid) { if (this.form.noticeId != undefined) { + console.log(this.$refs['form']) updateNotice(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 { addNotice(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(); }); } } @@ -329,17 +301,13 @@ /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { const noticeIds = row.noticeId || this.ids - this.$confirm('鏄惁纭鍒犻櫎鍏憡缂栧彿涓�"' + noticeIds + '"鐨勬暟鎹」?', "璀﹀憡", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(function() { - return delNotice(noticeIds); - }).then(() => { - this.getList(); - this.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(function() {}); + this.$modal.confirm('鏄惁纭鍒犻櫎鍏憡缂栧彿涓�"' + noticeIds + '"鐨勬暟鎹」锛�').then(function() { + return delNotice(noticeIds); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); } } }; -</script> \ No newline at end of file +</script> -- Gitblit v1.9.3