Commit 5505e4dc4a80c2e7b59393fd3aa851957524783e
1 parent
ff15fa29
文件资料,廉政风险点,廉洁教育
Showing
23 changed files
with
2035 additions
and
252 deletions
trash-common/pom.xml
| @@ -139,6 +139,13 @@ | @@ -139,6 +139,13 @@ | ||
| 139 | <artifactId>mybatis-plus-boot-starter</artifactId> | 139 | <artifactId>mybatis-plus-boot-starter</artifactId> |
| 140 | <version>3.4.1</version> | 140 | <version>3.4.1</version> |
| 141 | </dependency> | 141 | </dependency> |
| 142 | + | ||
| 143 | + <dependency> | ||
| 144 | + <groupId>com.google.code.gson</groupId> | ||
| 145 | + <artifactId>gson</artifactId> | ||
| 146 | + <version>2.3.1</version> | ||
| 147 | + </dependency> | ||
| 148 | + | ||
| 142 | </dependencies> | 149 | </dependencies> |
| 143 | 150 | ||
| 144 | </project> | 151 | </project> |
| 145 | \ No newline at end of file | 152 | \ No newline at end of file |
trash-ui/src/api/other/incorruptEducation.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +// 查询廉洁教育列表 | ||
| 4 | +export function listIncorruptEducation(query) { | ||
| 5 | + return request({ | ||
| 6 | + url: '/other/IncorruptEducation/list', | ||
| 7 | + method: 'get', | ||
| 8 | + params: query | ||
| 9 | + }) | ||
| 10 | +} | ||
| 11 | + | ||
| 12 | +// 查询廉洁教育详细 | ||
| 13 | +export function getIncorruptEducation(id) { | ||
| 14 | + return request({ | ||
| 15 | + url: '/other/IncorruptEducation/' + id, | ||
| 16 | + method: 'get' | ||
| 17 | + }) | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +// 新增廉洁教育 | ||
| 21 | +export function addIncorruptEducation(data) { | ||
| 22 | + return request({ | ||
| 23 | + url: '/other/IncorruptEducation', | ||
| 24 | + method: 'post', | ||
| 25 | + data: data | ||
| 26 | + }) | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +// 修改廉洁教育 | ||
| 30 | +export function updateIncorruptEducation(data) { | ||
| 31 | + return request({ | ||
| 32 | + url: '/other/IncorruptEducation', | ||
| 33 | + method: 'put', | ||
| 34 | + data: data | ||
| 35 | + }) | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +// 删除廉洁教育 | ||
| 39 | +export function delIncorruptEducation(id) { | ||
| 40 | + return request({ | ||
| 41 | + url: '/other/IncorruptEducation/' + id, | ||
| 42 | + method: 'delete' | ||
| 43 | + }) | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +// 导出廉洁教育 | ||
| 47 | +export function exportIncorruptEducation(query) { | ||
| 48 | + return request({ | ||
| 49 | + url: '/other/IncorruptEducation/export', | ||
| 50 | + method: 'get', | ||
| 51 | + params: query | ||
| 52 | + }) | ||
| 53 | +} |
trash-ui/src/api/other/incorruptGovernment.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +// 查询廉政风险点列表 | ||
| 4 | +export function listIncorruptGovernment(query) { | ||
| 5 | + return request({ | ||
| 6 | + url: '/other/IncorruptGovernment/list', | ||
| 7 | + method: 'get', | ||
| 8 | + params: query | ||
| 9 | + }) | ||
| 10 | +} | ||
| 11 | + | ||
| 12 | +// 查询廉政风险点详细 | ||
| 13 | +export function getIncorruptGovernment(id) { | ||
| 14 | + return request({ | ||
| 15 | + url: '/other/IncorruptGovernment/' + id, | ||
| 16 | + method: 'get' | ||
| 17 | + }) | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +// 新增廉政风险点 | ||
| 21 | +export function addIncorruptGovernment(data) { | ||
| 22 | + return request({ | ||
| 23 | + url: '/other/IncorruptGovernment', | ||
| 24 | + method: 'post', | ||
| 25 | + data: data | ||
| 26 | + }) | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +// 修改廉政风险点 | ||
| 30 | +export function updateIncorruptGovernment(data) { | ||
| 31 | + return request({ | ||
| 32 | + url: '/other/IncorruptGovernment', | ||
| 33 | + method: 'put', | ||
| 34 | + data: data | ||
| 35 | + }) | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +// 删除廉政风险点 | ||
| 39 | +export function delIncorruptGovernment(id) { | ||
| 40 | + return request({ | ||
| 41 | + url: '/other/IncorruptGovernment/' + id, | ||
| 42 | + method: 'delete' | ||
| 43 | + }) | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +// 导出廉政风险点 | ||
| 47 | +export function exportIncorruptGovernment(query) { | ||
| 48 | + return request({ | ||
| 49 | + url: '/other/IncorruptGovernment/export', | ||
| 50 | + method: 'get', | ||
| 51 | + params: query | ||
| 52 | + }) | ||
| 53 | +} |
trash-ui/src/layout/index.vue
| 1 | <template> | 1 | <template> |
| 2 | + <div :class="classObj" class="app-wrapper"> | ||
| 3 | + <sidebar class="sidebar-container" /> | ||
| 4 | + <div :class="{ hasTagsView: false }" class="main-container"> | ||
| 5 | + <tags-view v-if="needTagsView" /> | ||
| 2 | <app-main /> | 6 | <app-main /> |
| 7 | + | ||
| 8 | + </div> | ||
| 9 | + </div> | ||
| 3 | </template> | 10 | </template> |
| 4 | 11 | ||
| 5 | <script> | 12 | <script> |
| 6 | import RightPanel from '@/components/RightPanel' | 13 | import RightPanel from '@/components/RightPanel' |
| 14 | +import { mapState } from 'vuex' | ||
| 7 | import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components' | 15 | import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components' |
| 8 | import ResizeMixin from './mixin/ResizeHandler' | 16 | import ResizeMixin from './mixin/ResizeHandler' |
| 9 | -import { mapState } from 'vuex' | ||
| 10 | 17 | ||
| 11 | export default { | 18 | export default { |
| 12 | name: 'Layout', | 19 | name: 'Layout', |
| @@ -38,15 +45,23 @@ export default { | @@ -38,15 +45,23 @@ export default { | ||
| 38 | }, | 45 | }, |
| 39 | methods: { | 46 | methods: { |
| 40 | handleClickOutside() { | 47 | handleClickOutside() { |
| 41 | - this.$store.dispatch('app/closeSideBar', { withoutAnimation: false }) | 48 | + this.$store.dispatch('app/closeSideBar', {withoutAnimation: false}) |
| 42 | } | 49 | } |
| 43 | } | 50 | } |
| 44 | } | 51 | } |
| 45 | </script> | 52 | </script> |
| 46 | 53 | ||
| 47 | <style lang="scss" scoped> | 54 | <style lang="scss" scoped> |
| 48 | - @import "~@/assets/styles/mixin.scss"; | ||
| 49 | - @import "~@/assets/styles/variables.scss"; | 55 | +@import "~@/assets/styles/mixin.scss"; |
| 56 | +@import "~@/assets/styles/variables.scss"; | ||
| 57 | +@import "~@/assets/styles/mixin.scss"; | ||
| 58 | +@import "~@/assets/styles/variables.scss"; | ||
| 59 | + | ||
| 60 | +.app-wrapper { | ||
| 61 | + @include clearfix; | ||
| 62 | + position: relative; | ||
| 63 | + height: 100%; | ||
| 64 | + width: 100%; | ||
| 50 | 65 | ||
| 51 | .app-wrapper { | 66 | .app-wrapper { |
| 52 | @include clearfix; | 67 | @include clearfix; |
| @@ -60,30 +75,75 @@ export default { | @@ -60,30 +75,75 @@ export default { | ||
| 60 | } | 75 | } |
| 61 | } | 76 | } |
| 62 | 77 | ||
| 63 | - .drawer-bg { | ||
| 64 | - background: #000; | ||
| 65 | - opacity: 0.3; | ||
| 66 | - width: 100%; | ||
| 67 | - top: 0; | ||
| 68 | - height: 100%; | ||
| 69 | - position: absolute; | ||
| 70 | - z-index: 999; | ||
| 71 | - } | ||
| 72 | - | ||
| 73 | - .fixed-header { | 78 | + &.mobile.openSidebar { |
| 74 | position: fixed; | 79 | position: fixed; |
| 75 | top: 0; | 80 | top: 0; |
| 76 | - right: 0; | ||
| 77 | - z-index: 9; | ||
| 78 | - width: calc(100% - #{$sideBarWidth}); | ||
| 79 | - transition: width 0.28s; | ||
| 80 | } | 81 | } |
| 82 | +} | ||
| 81 | 83 | ||
| 82 | - .hideSidebar .fixed-header { | ||
| 83 | - width: calc(100% - 54px) | ||
| 84 | - } | 84 | +.drawer-bg { |
| 85 | + background: #000; | ||
| 86 | + opacity: 0.3; | ||
| 87 | + width: 100%; | ||
| 88 | + top: 0; | ||
| 89 | + height: 100%; | ||
| 90 | + position: absolute; | ||
| 91 | + z-index: 999; | ||
| 92 | +} | ||
| 85 | 93 | ||
| 86 | - .mobile .fixed-header { | ||
| 87 | - width: 100%; | ||
| 88 | - } | 94 | +.drawer-bg { |
| 95 | + background: #000; | ||
| 96 | + opacity: 0.3; | ||
| 97 | + width: 100%; | ||
| 98 | + top: 0; | ||
| 99 | + height: 100%; | ||
| 100 | + position: absolute; | ||
| 101 | + z-index: 999; | ||
| 102 | +} | ||
| 103 | + | ||
| 104 | +.fixed-header { | ||
| 105 | + position: fixed; | ||
| 106 | + top: 0; | ||
| 107 | + right: 0; | ||
| 108 | + z-index: 9; | ||
| 109 | + width: calc(100% - #{$sideBarWidth}); | ||
| 110 | + transition: width 0.28s; | ||
| 111 | +} | ||
| 112 | + | ||
| 113 | +.fixed-header { | ||
| 114 | + position: fixed; | ||
| 115 | + top: 0; | ||
| 116 | + right: 0; | ||
| 117 | + z-index: 9; | ||
| 118 | + width: calc(100% - #{$sideBarWidth}); | ||
| 119 | + transition: width 0.28s; | ||
| 120 | +} | ||
| 121 | + | ||
| 122 | +.hideSidebar .fixed-header { | ||
| 123 | + width: calc(100% - 54px) | ||
| 124 | +} | ||
| 125 | + | ||
| 126 | +.hideSidebar .fixed-header { | ||
| 127 | + width: calc(100% - 54px) | ||
| 128 | +} | ||
| 129 | + | ||
| 130 | +.mobile .fixed-header { | ||
| 131 | + width: 100%; | ||
| 132 | +} | ||
| 133 | + | ||
| 134 | +.preview figure { | ||
| 135 | + float: left; | ||
| 136 | + width: 30%; | ||
| 137 | + height: calc(30vw - 0px); | ||
| 138 | + margin: 1.5%; | ||
| 139 | +} | ||
| 140 | + | ||
| 141 | +.preview figure img { | ||
| 142 | + width: 400px; | ||
| 143 | +} | ||
| 144 | + | ||
| 145 | +.mobile .fixed-header { | ||
| 146 | + width: 100%; | ||
| 147 | +} | ||
| 89 | </style> | 148 | </style> |
| 149 | + |
trash-ui/src/router/index.js
| @@ -194,6 +194,20 @@ export const constantRoutes = [ | @@ -194,6 +194,20 @@ export const constantRoutes = [ | ||
| 194 | hidden: true, | 194 | hidden: true, |
| 195 | meta: { title: '查看详情' } | 195 | meta: { title: '查看详情' } |
| 196 | }, | 196 | }, |
| 197 | + { | ||
| 198 | + path: '/IncorruptGovernment/info', | ||
| 199 | + component: (resolve) => require(['@/views/other/incorruptGovernment/info'], resolve), | ||
| 200 | + name: '查看详情', | ||
| 201 | + hidden: true, | ||
| 202 | + meta: { title: '查看详情' } | ||
| 203 | + }, | ||
| 204 | + { | ||
| 205 | + path: '/IncorruptEducation/info', | ||
| 206 | + component: (resolve) => require(['@/views/other/incorruptEducation/info'], resolve), | ||
| 207 | + name: '查看详情', | ||
| 208 | + hidden: true, | ||
| 209 | + meta: { title: '查看详情' } | ||
| 210 | + }, | ||
| 197 | ] | 211 | ] |
| 198 | }, | 212 | }, |
| 199 | { | 213 | { |
trash-ui/src/views/other/documentData/info.vue
| @@ -14,8 +14,8 @@ | @@ -14,8 +14,8 @@ | ||
| 14 | </el-col> | 14 | </el-col> |
| 15 | </el-row> | 15 | </el-row> |
| 16 | <el-row> | 16 | <el-row> |
| 17 | - <el-col> | ||
| 18 | - <div class="info_content" v-html="info.content"></div> | 17 | + <el-col :offset="3" :span="18"> |
| 18 | + <div class="info_content ql-editor" v-html="info.content"></div> | ||
| 19 | </el-col> | 19 | </el-col> |
| 20 | </el-row> | 20 | </el-row> |
| 21 | </div> | 21 | </div> |
| @@ -30,7 +30,8 @@ import { | @@ -30,7 +30,8 @@ import { | ||
| 30 | listDocumentData, | 30 | listDocumentData, |
| 31 | updateDocumentData | 31 | updateDocumentData |
| 32 | } from "@/api/other/documentData"; | 32 | } from "@/api/other/documentData"; |
| 33 | -import Editor from '@/components/ZcEditor'; | 33 | +import Editor from '@/components/2cEditor'; |
| 34 | +import "quill/dist/quill.core.css"; | ||
| 34 | import {parseTime} from "../../../utils/trash"; | 35 | import {parseTime} from "../../../utils/trash"; |
| 35 | 36 | ||
| 36 | export default { | 37 | export default { |
| @@ -84,10 +85,4 @@ export default { | @@ -84,10 +85,4 @@ export default { | ||
| 84 | .info_author span:nth-child(2){ | 85 | .info_author span:nth-child(2){ |
| 85 | margin-right: 20px; | 86 | margin-right: 20px; |
| 86 | } | 87 | } |
| 87 | -.info_content{ | ||
| 88 | - display: flex; | ||
| 89 | - justify-content: center; | ||
| 90 | - align-items: center; | ||
| 91 | - height: 100%; | ||
| 92 | -} | ||
| 93 | </style> | 88 | </style> |
trash-ui/src/views/other/incorruptEducation/index.vue
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> | ||
| 4 | + <el-form-item label="标题" prop="title"> | ||
| 5 | + <el-input | ||
| 6 | + v-model="queryParams.title" | ||
| 7 | + placeholder="请输入标题" | ||
| 8 | + clearable | ||
| 9 | + size="small" | ||
| 10 | + @keyup.enter.native="handleQuery" | ||
| 11 | + /> | ||
| 12 | + </el-form-item> | ||
| 13 | + <el-form-item> | ||
| 14 | + <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | ||
| 15 | + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | ||
| 16 | + </el-form-item> | ||
| 17 | + </el-form> | ||
| 18 | + | ||
| 3 | <el-row :gutter="10" class="mb8"> | 19 | <el-row :gutter="10" class="mb8"> |
| 4 | <el-col :span="1.5"> | 20 | <el-col :span="1.5"> |
| 5 | - <el-upload | ||
| 6 | - ref="upload" | ||
| 7 | - action="" | ||
| 8 | - accept=".jpg,.jpeg,.png,.gif,.jfif,.pjpeg,.pjp" | ||
| 9 | - :on-change="fileChange" | ||
| 10 | - :auto-upload="false" | ||
| 11 | - :show-file-list="false" | ||
| 12 | - multiple | ||
| 13 | - :file-list="file"> | ||
| 14 | - <el-button size="small" type="primary" icon="el-icon-upload">上传附件</el-button> | ||
| 15 | - </el-upload> | 21 | + <el-button |
| 22 | + type="primary" | ||
| 23 | + icon="el-icon-plus" | ||
| 24 | + size="mini" | ||
| 25 | + @click="handleAdd" | ||
| 26 | + v-hasPermi="['other:IncorruptEducation:add']" | ||
| 27 | + >新增 | ||
| 28 | + </el-button> | ||
| 29 | + </el-col> | ||
| 30 | + <el-col :span="1.5"> | ||
| 31 | + <el-button | ||
| 32 | + type="success" | ||
| 33 | + icon="el-icon-edit" | ||
| 34 | + size="mini" | ||
| 35 | + :disabled="single" | ||
| 36 | + @click="handleUpdate" | ||
| 37 | + v-hasPermi="['other:IncorruptEducation:edit']" | ||
| 38 | + >修改 | ||
| 39 | + </el-button> | ||
| 16 | </el-col> | 40 | </el-col> |
| 17 | <el-col :span="1.5"> | 41 | <el-col :span="1.5"> |
| 18 | - <el-button size="small" type="primary" @click="file=[]">删除附件</el-button> | 42 | + <el-button |
| 43 | + type="danger" | ||
| 44 | + icon="el-icon-delete" | ||
| 45 | + size="mini" | ||
| 46 | + :disabled="multiple" | ||
| 47 | + @click="handleDelete" | ||
| 48 | + v-hasPermi="['other:IncorruptEducation:remove']" | ||
| 49 | + >删除 | ||
| 50 | + </el-button> | ||
| 19 | </el-col> | 51 | </el-col> |
| 20 | <el-col :span="1.5"> | 52 | <el-col :span="1.5"> |
| 21 | - <el-button size="small" type="primary" @click="submitForm">提交</el-button> | 53 | + <el-button |
| 54 | + type="warning" | ||
| 55 | + icon="el-icon-download" | ||
| 56 | + size="mini" | ||
| 57 | + @click="handleExport" | ||
| 58 | + v-hasPermi="['other:IncorruptEducation:export']" | ||
| 59 | + >导出 | ||
| 60 | + </el-button> | ||
| 22 | </el-col> | 61 | </el-col> |
| 62 | + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | ||
| 23 | </el-row> | 63 | </el-row> |
| 24 | - <el-image v-if="file.length!=0" style="" | ||
| 25 | - :src="createUrl(file[0])" | ||
| 26 | - :preview-src-list="[createUrl(file[0])]" | ||
| 27 | - :z-index="999"> | ||
| 28 | - </el-image> | 64 | + |
| 65 | + <el-table v-loading="loading" :data="IncorruptEducationList" @selection-change="handleSelectionChange"> | ||
| 66 | + <el-table-column type="selection" width="55" align="center"/> | ||
| 67 | + <el-table-column label="标题" align="center" prop="title"> | ||
| 68 | + <template slot-scope="scope"> | ||
| 69 | + <a href="javascript:;" style="color:#0000EE;" @click="toInfo(scope.row)">{{scope.row.title}}</a> | ||
| 70 | + </template> | ||
| 71 | + </el-table-column> | ||
| 72 | + <el-table-column label="时间" align="center" prop="createTime"> | ||
| 73 | + <template slot-scope="scope"> | ||
| 74 | + <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</span> | ||
| 75 | + </template> | ||
| 76 | + </el-table-column> | ||
| 77 | + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||
| 78 | + <template slot-scope="scope"> | ||
| 79 | + <el-button | ||
| 80 | + size="mini" | ||
| 81 | + type="text" | ||
| 82 | + icon="el-icon-edit" | ||
| 83 | + @click="handleUpdate(scope.row)" | ||
| 84 | + v-hasPermi="['other:IncorruptEducation:edit']" | ||
| 85 | + >修改 | ||
| 86 | + </el-button> | ||
| 87 | + <el-button | ||
| 88 | + size="mini" | ||
| 89 | + type="text" | ||
| 90 | + icon="el-icon-delete" | ||
| 91 | + @click="handleDelete(scope.row)" | ||
| 92 | + v-hasPermi="['other:IncorruptEducation:remove']" | ||
| 93 | + >删除 | ||
| 94 | + </el-button> | ||
| 95 | + </template> | ||
| 96 | + </el-table-column> | ||
| 97 | + </el-table> | ||
| 98 | + | ||
| 99 | + <pagination | ||
| 100 | + v-show="total>0" | ||
| 101 | + :total="total" | ||
| 102 | + :page.sync="queryParams.pageNum" | ||
| 103 | + :limit.sync="queryParams.pageSize" | ||
| 104 | + @pagination="getList" | ||
| 105 | + /> | ||
| 106 | + | ||
| 107 | + <!-- 添加或修改文件资料对话框 --> | ||
| 108 | + <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body> | ||
| 109 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||
| 110 | + <el-form-item label="标题" prop="title"> | ||
| 111 | + <el-input v-model="form.title" placeholder="请输入标题"/> | ||
| 112 | + </el-form-item> | ||
| 113 | + <el-form-item label="内容" prop="content"> | ||
| 114 | + <editor v-model="form.content" :min-height="368"/> | ||
| 115 | + </el-form-item> | ||
| 116 | + <el-row> | ||
| 117 | + <el-col :span="12"> | ||
| 118 | + <el-form-item label="录入时间"> | ||
| 119 | + <el-input v-model="form.createTime" disabled="disabled"/> | ||
| 120 | + </el-form-item> | ||
| 121 | + </el-col> | ||
| 122 | + <el-col :span="12"> | ||
| 123 | + <el-form-item label="录入人"> | ||
| 124 | + <el-input v-model="form.createBy" disabled="disabled"/> | ||
| 125 | + </el-form-item> | ||
| 126 | + </el-col> | ||
| 127 | + </el-row> | ||
| 128 | + | ||
| 129 | + </el-form> | ||
| 130 | + <div slot="footer" class="dialog-footer"> | ||
| 131 | + <el-button type="primary" @click="submitForm">确 定</el-button> | ||
| 132 | + <el-button @click="cancel">取 消</el-button> | ||
| 133 | + </div> | ||
| 134 | + </el-dialog> | ||
| 29 | </div> | 135 | </div> |
| 30 | </template> | 136 | </template> |
| 31 | 137 | ||
| 32 | <script> | 138 | <script> |
| 33 | -import {addIncorruptData, listIncorruptData} from "@/api/other/incorruptData"; | 139 | +import { |
| 140 | + addIncorruptEducation, | ||
| 141 | + delIncorruptEducation, | ||
| 142 | + exportIncorruptEducation, | ||
| 143 | + getIncorruptEducation, | ||
| 144 | + listIncorruptEducation, | ||
| 145 | + updateIncorruptEducation | ||
| 146 | +} from "@/api/other/incorruptEducation"; | ||
| 147 | +import Editor from '@/components/2cEditor'; | ||
| 148 | +import {parseTime} from "../../../utils/trash"; | ||
| 34 | 149 | ||
| 35 | export default { | 150 | export default { |
| 36 | - name: "incorruptEducation", | 151 | + name: "IncorruptEducation", |
| 152 | + components: {Editor}, | ||
| 37 | data() { | 153 | data() { |
| 38 | return { | 154 | return { |
| 39 | - file: [], | 155 | + // 遮罩层 |
| 156 | + loading: true, | ||
| 157 | + // 选中数组 | ||
| 158 | + ids: [], | ||
| 159 | + // 非单个禁用 | ||
| 160 | + single: true, | ||
| 161 | + // 非多个禁用 | ||
| 162 | + multiple: true, | ||
| 163 | + // 显示搜索条件 | ||
| 164 | + showSearch: true, | ||
| 165 | + // 总条数 | ||
| 166 | + total: 0, | ||
| 167 | + // 文件资料表格数据 | ||
| 168 | + IncorruptEducationList: [], | ||
| 169 | + // 弹出层标题 | ||
| 170 | + title: "", | ||
| 171 | + // 是否显示弹出层 | ||
| 172 | + open: false, | ||
| 173 | + // 查询参数 | ||
| 174 | + queryParams: { | ||
| 175 | + pageNum: 1, | ||
| 176 | + pageSize: 10, | ||
| 177 | + title: null, | ||
| 178 | + content: null, | ||
| 179 | + files: null, | ||
| 180 | + }, | ||
| 181 | + // 表单参数 | ||
| 182 | + form: {}, | ||
| 183 | + // 表单校验 | ||
| 184 | + rules: { | ||
| 185 | + title: [ | ||
| 186 | + {required: true, message: "请输入标题", trigger: "blur"}, | ||
| 187 | + {min: 1, max: 100, message: "长度在 1 到 100 个字符", trigger: "blur"} | ||
| 188 | + ], | ||
| 189 | + content: [ | ||
| 190 | + {required: true, message: "请输入内容", trigger: "blur"}, | ||
| 191 | + {min: 1, max: 10000, message: "长度在 1 到 10000 个字符", trigger: "blur"} | ||
| 192 | + ], | ||
| 193 | + files: [ | ||
| 194 | + {required: true, message: "请上传附件", trigger: "blur"} | ||
| 195 | + ] | ||
| 196 | + }, | ||
| 197 | + fileEntityList: [], | ||
| 40 | }; | 198 | }; |
| 41 | }, | 199 | }, |
| 42 | created() { | 200 | created() { |
| 43 | this.getList(); | 201 | this.getList(); |
| 44 | }, | 202 | }, |
| 45 | methods: { | 203 | methods: { |
| 204 | + toInfo(row){ | ||
| 205 | + //打开当日报修页签 | ||
| 206 | + this.$tab.openPage("查看详情","/IncorruptEducation/info",{"IncorruptEducation":row}) | ||
| 207 | + }, | ||
| 46 | /** 查询文件资料列表 */ | 208 | /** 查询文件资料列表 */ |
| 47 | getList() { | 209 | getList() { |
| 48 | this.loading = true; | 210 | this.loading = true; |
| 49 | - listIncorruptData("education").then(response => { | ||
| 50 | - this.file = [{ | ||
| 51 | - url:response[0].filePath, | ||
| 52 | - name:response[0].fileName, | ||
| 53 | - }]; | 211 | + listIncorruptEducation(this.queryParams).then(response => { |
| 212 | + this.IncorruptEducationList = response.rows; | ||
| 213 | + this.total = response.total; | ||
| 214 | + this.loading = false; | ||
| 54 | }); | 215 | }); |
| 55 | }, | 216 | }, |
| 56 | - delFile(){ | ||
| 57 | - this.file=[]; | 217 | + // 取消按钮 |
| 218 | + cancel() { | ||
| 219 | + this.open = false; | ||
| 220 | + this.reset(); | ||
| 58 | }, | 221 | }, |
| 59 | - /** 提交按钮 */ | ||
| 60 | - submitForm() { | ||
| 61 | - | ||
| 62 | - let formData = new FormData(); | ||
| 63 | - let form = { | 222 | + // 表单重置 |
| 223 | + reset() { | ||
| 224 | + this.form = { | ||
| 225 | + id: null, | ||
| 226 | + title: null, | ||
| 227 | + content: null, | ||
| 64 | files: null, | 228 | files: null, |
| 65 | - tableName: "education", | 229 | + createTime: null, |
| 230 | + createBy: null, | ||
| 231 | + updateTime: null, | ||
| 232 | + updateBy: null | ||
| 66 | }; | 233 | }; |
| 67 | - | ||
| 68 | - this.file.forEach(item => { | ||
| 69 | - if (item.raw != null) { | ||
| 70 | - formData.append('files', item.raw) | ||
| 71 | - } else { | ||
| 72 | - //将原有的附件拼接到form中 | ||
| 73 | - form.files = form.files !== null ? form.files + ";" + item.url : item.url; | 234 | + this.fileEntityList = []; |
| 235 | + this.resetForm("form"); | ||
| 236 | + }, | ||
| 237 | + /** 搜索按钮操作 */ | ||
| 238 | + handleQuery() { | ||
| 239 | + this.queryParams.pageNum = 1; | ||
| 240 | + this.getList(); | ||
| 241 | + }, | ||
| 242 | + /** 重置按钮操作 */ | ||
| 243 | + resetQuery() { | ||
| 244 | + this.resetForm("queryForm"); | ||
| 245 | + this.handleQuery(); | ||
| 246 | + }, | ||
| 247 | + // 多选框选中数据 | ||
| 248 | + handleSelectionChange(selection) { | ||
| 249 | + this.ids = selection.map(item => item.id) | ||
| 250 | + this.single = selection.length !== 1 | ||
| 251 | + this.multiple = !selection.length | ||
| 252 | + }, | ||
| 253 | + /** 新增按钮操作 */ | ||
| 254 | + handleAdd() { | ||
| 255 | + this.reset(); | ||
| 256 | + //yyyy-MM-dd HH:mm:ss | ||
| 257 | + this.form.createTime = parseTime(new Date(), "{y}-{m}-{d} {h}:{i}:{s}"); | ||
| 258 | + this.form.createBy = this.$store.getters.name; | ||
| 259 | + this.open = true; | ||
| 260 | + this.title = "添加文件资料"; | ||
| 261 | + }, | ||
| 262 | + /** 修改按钮操作 */ | ||
| 263 | + handleUpdate(row) { | ||
| 264 | + this.reset(); | ||
| 265 | + const id = row.id || this.ids | ||
| 266 | + getIncorruptEducation(id).then(response => { | ||
| 267 | + this.form = response.data; | ||
| 268 | + //将附件转换为前端可视化数组 | ||
| 269 | + if (this.form.files != null && this.form.files !== "") { | ||
| 270 | + let fileList = this.form.files.split(";"); | ||
| 271 | + fileList.map(item => { | ||
| 272 | + let name = item.substring(item.lastIndexOf("/") + 1); | ||
| 273 | + this.fileEntityList.push({name: name, url: item}) | ||
| 274 | + }) | ||
| 74 | } | 275 | } |
| 75 | - }) | ||
| 76 | - | ||
| 77 | - for (let key in form) { | ||
| 78 | - formData.append(key, form[key] == null ? "" : form[key]) | ||
| 79 | - } | ||
| 80 | - | ||
| 81 | - addIncorruptData(formData).then(response => { | ||
| 82 | - this.msgSuccess("新增成功"); | ||
| 83 | - this.open = false; | ||
| 84 | - this.getList(); | 276 | + this.open = true; |
| 277 | + this.title = "修改文件资料"; | ||
| 85 | }); | 278 | }); |
| 86 | }, | 279 | }, |
| 87 | - /** | ||
| 88 | - * 文件改变时,限制文件上传格式和大小 | ||
| 89 | - * 文件格式只能为docx/doc/pdf/png/jpeg/png/jpg | ||
| 90 | - * 大小不超过20M | ||
| 91 | - * */ | ||
| 92 | - fileChange(file, fileList) { | ||
| 93 | - let count = 0; | ||
| 94 | - if(fileList.length>1){ | ||
| 95 | - this.$message({ | ||
| 96 | - message: '只能上传一张图片!', | ||
| 97 | - type: 'warning' | ||
| 98 | - }); | ||
| 99 | - return false; | ||
| 100 | - } | ||
| 101 | - for (let i = 0; i < fileList.length; i++) { | ||
| 102 | - // console.log(fileList.length) | ||
| 103 | - // console.log(this.fileEntityList[i].name+"111"+file.name) | ||
| 104 | - if (fileList[i].name == file.name) { | ||
| 105 | - count++; | ||
| 106 | - if (count == 2) { | ||
| 107 | - this.$message({ | ||
| 108 | - message: '已存在此文件!', | ||
| 109 | - type: 'warning' | 280 | + /** 提交按钮 */ |
| 281 | + submitForm() { | ||
| 282 | + this.$refs["form"].validate(valid => { | ||
| 283 | + if (valid) { | ||
| 284 | + let formData = new FormData(); | ||
| 285 | + let form = this.form; | ||
| 286 | + //去掉params属性 | ||
| 287 | + delete form.params; | ||
| 288 | + | ||
| 289 | + for (let key in form) { | ||
| 290 | + formData.append(key, form[key] == null ? "" : form[key]) | ||
| 291 | + } | ||
| 292 | + | ||
| 293 | + if (this.form.id != null) { | ||
| 294 | + updateIncorruptEducation(formData).then(response => { | ||
| 295 | + this.msgSuccess("修改成功"); | ||
| 296 | + this.open = false; | ||
| 297 | + this.getList(); | ||
| 298 | + }); | ||
| 299 | + } else { | ||
| 300 | + addIncorruptEducation(formData).then(response => { | ||
| 301 | + this.msgSuccess("新增成功"); | ||
| 302 | + this.open = false; | ||
| 303 | + this.getList(); | ||
| 110 | }); | 304 | }); |
| 111 | - for (let j = fileList.length; j > 0; j--) { | ||
| 112 | - //如果存在此文件,去除新选择的重复文件 | ||
| 113 | - if (fileList[j - 1].name == file.name) { | ||
| 114 | - fileList.splice(j - 1, 1); | ||
| 115 | - i--; | ||
| 116 | - return false; | ||
| 117 | - } | ||
| 118 | - } | ||
| 119 | } | 305 | } |
| 120 | } | 306 | } |
| 121 | - } | ||
| 122 | - let fileType = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase(); | ||
| 123 | - //格式符合后判断大小 | ||
| 124 | - if ("jpg,jpeg,png,gif,jfif,pjpeg,pjp".indexOf(fileType) != -1) { | ||
| 125 | - let max5M = file.size / 1024 / 1024 < 100; | ||
| 126 | - if (!max5M) { | ||
| 127 | - this.$message({ | ||
| 128 | - message: '上传文件大小不得超过100M!', | ||
| 129 | - type: 'warning' | ||
| 130 | - }); | ||
| 131 | - fileList = fileList.splice(fileList.length - 1, 1); | ||
| 132 | - } else { | ||
| 133 | - //符合条件后进行添加 | ||
| 134 | - this.file = fileList | ||
| 135 | - } | ||
| 136 | - } else { | ||
| 137 | - this.$message({ | ||
| 138 | - message: '上传文件只能是 jpg,jpeg,png,gif,jfif,pjpeg,pjp格式!', | ||
| 139 | - type: 'warning' | ||
| 140 | - }); | ||
| 141 | - fileList = fileList.splice(fileList.length - 1, 1); | ||
| 142 | - } | 307 | + }); |
| 308 | + }, | ||
| 309 | + /** 删除按钮操作 */ | ||
| 310 | + handleDelete(row) { | ||
| 311 | + const ids = row.id || this.ids; | ||
| 312 | + this.$confirm('是否确认删除文件资料编号为"' + ids + '"的数据项?', "警告", { | ||
| 313 | + confirmButtonText: "确定", | ||
| 314 | + cancelButtonText: "取消", | ||
| 315 | + type: "warning" | ||
| 316 | + }).then(function () { | ||
| 317 | + return delIncorruptEducation(ids); | ||
| 318 | + }).then(() => { | ||
| 319 | + this.getList(); | ||
| 320 | + this.msgSuccess("删除成功"); | ||
| 321 | + }) | ||
| 322 | + }, | ||
| 323 | + /** 导出按钮操作 */ | ||
| 324 | + handleExport() { | ||
| 325 | + const queryParams = this.queryParams; | ||
| 326 | + this.$confirm('是否确认导出所有文件资料数据项?', "警告", { | ||
| 327 | + confirmButtonText: "确定", | ||
| 328 | + cancelButtonText: "取消", | ||
| 329 | + type: "warning" | ||
| 330 | + }).then(function () { | ||
| 331 | + return exportIncorruptEducation(queryParams); | ||
| 332 | + }).then(response => { | ||
| 333 | + this.download(response.msg); | ||
| 334 | + }) | ||
| 143 | }, | 335 | }, |
| 144 | createUrl(file) { | 336 | createUrl(file) { |
| 145 | if (file.raw != null) { | 337 | if (file.raw != null) { |
trash-ui/src/views/other/incorruptEducation/info.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-row> | ||
| 4 | + <el-col :offset="3" :span="18"> | ||
| 5 | + <h1 class="info_title">{{ info.title }}</h1> | ||
| 6 | + </el-col> | ||
| 7 | + </el-row> | ||
| 8 | + <el-row> | ||
| 9 | + <el-col :offset="3" :span="18"> | ||
| 10 | + <div class="info_author"> | ||
| 11 | + <span>作者:</span><span>{{ info.createBy }}</span> | ||
| 12 | + <span>发表时间:</span><span>{{ info.createTime }}</span> | ||
| 13 | + </div> | ||
| 14 | + </el-col> | ||
| 15 | + </el-row> | ||
| 16 | + <el-row> | ||
| 17 | + <el-col :offset="3" :span="18"> | ||
| 18 | + <div class="info_content ql-editor" v-html="info.content"></div> | ||
| 19 | + </el-col> | ||
| 20 | + </el-row> | ||
| 21 | + </div> | ||
| 22 | +</template> | ||
| 23 | + | ||
| 24 | +<script> | ||
| 25 | +import { | ||
| 26 | + addDocumentData, | ||
| 27 | + delDocumentData, | ||
| 28 | + exportDocumentData, | ||
| 29 | + getDocumentData, | ||
| 30 | + listDocumentData, | ||
| 31 | + updateDocumentData | ||
| 32 | +} from "@/api/other/documentData"; | ||
| 33 | +import Editor from '@/components/2cEditor'; | ||
| 34 | +import "quill/dist/quill.core.css"; | ||
| 35 | +import {parseTime} from "../../../utils/trash"; | ||
| 36 | + | ||
| 37 | +export default { | ||
| 38 | + name: "DocumentData", | ||
| 39 | + components: {Editor}, | ||
| 40 | + data() { | ||
| 41 | + return { | ||
| 42 | + // 遮罩层 | ||
| 43 | + loading: true, | ||
| 44 | + info: { | ||
| 45 | + title:null, | ||
| 46 | + createBy:null, | ||
| 47 | + createTime:null, | ||
| 48 | + content:null | ||
| 49 | + }, | ||
| 50 | + }; | ||
| 51 | + }, | ||
| 52 | + created() { | ||
| 53 | + this.initData(); | ||
| 54 | + }, | ||
| 55 | + watch:{ | ||
| 56 | + '$route.query.IncorruptEducation':'initData' | ||
| 57 | + }, | ||
| 58 | + methods: { | ||
| 59 | + initData(){ | ||
| 60 | + if(this.$route.query.IncorruptEducation){ | ||
| 61 | + this.info = this.$route.query.IncorruptEducation; | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | +}; | ||
| 67 | +</script> | ||
| 68 | +<style lang="scss" scoped> | ||
| 69 | +.info_title{ | ||
| 70 | + display: flex; | ||
| 71 | + justify-content: center; | ||
| 72 | + align-items: center; | ||
| 73 | + height: 100%; | ||
| 74 | +} | ||
| 75 | +.info_author{ | ||
| 76 | + display: flex; | ||
| 77 | + justify-content: center; | ||
| 78 | + align-items: center; | ||
| 79 | + height: 26px; | ||
| 80 | + font-size:14px; | ||
| 81 | + color: #616977; | ||
| 82 | + border-bottom: 1px solid #ddd; | ||
| 83 | + box-shadow: 0px 20px 20px -20px #5E5E5E; | ||
| 84 | +} | ||
| 85 | +.info_author span:nth-child(2){ | ||
| 86 | + margin-right: 20px; | ||
| 87 | +} | ||
| 88 | +</style> |
trash-ui/src/views/other/incorruptGovernment/index.vue
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | - | 3 | + <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
| 4 | + <el-form-item label="标题" prop="title"> | ||
| 5 | + <el-input | ||
| 6 | + v-model="queryParams.title" | ||
| 7 | + placeholder="请输入标题" | ||
| 8 | + clearable | ||
| 9 | + size="small" | ||
| 10 | + @keyup.enter.native="handleQuery" | ||
| 11 | + /> | ||
| 12 | + </el-form-item> | ||
| 13 | + <el-form-item> | ||
| 14 | + <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | ||
| 15 | + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | ||
| 16 | + </el-form-item> | ||
| 17 | + </el-form> | ||
| 4 | 18 | ||
| 5 | <el-row :gutter="10" class="mb8"> | 19 | <el-row :gutter="10" class="mb8"> |
| 6 | <el-col :span="1.5"> | 20 | <el-col :span="1.5"> |
| 7 | - <el-upload | ||
| 8 | - ref="upload" | ||
| 9 | - action="" | ||
| 10 | - accept=".jpg,.jpeg,.png,.gif,.jfif,.pjpeg,.pjp" | ||
| 11 | - :on-change="fileChange" | ||
| 12 | - :auto-upload="false" | ||
| 13 | - :show-file-list="false" | ||
| 14 | - multiple | ||
| 15 | - :file-list="file"> | ||
| 16 | - <el-button size="small" type="primary" icon="el-icon-upload">上传附件</el-button> | ||
| 17 | - </el-upload> | 21 | + <el-button |
| 22 | + type="primary" | ||
| 23 | + icon="el-icon-plus" | ||
| 24 | + size="mini" | ||
| 25 | + @click="handleAdd" | ||
| 26 | + v-hasPermi="['other:IncorruptGovernment:add']" | ||
| 27 | + >新增 | ||
| 28 | + </el-button> | ||
| 29 | + </el-col> | ||
| 30 | + <el-col :span="1.5"> | ||
| 31 | + <el-button | ||
| 32 | + type="success" | ||
| 33 | + icon="el-icon-edit" | ||
| 34 | + size="mini" | ||
| 35 | + :disabled="single" | ||
| 36 | + @click="handleUpdate" | ||
| 37 | + v-hasPermi="['other:IncorruptGovernment:edit']" | ||
| 38 | + >修改 | ||
| 39 | + </el-button> | ||
| 18 | </el-col> | 40 | </el-col> |
| 19 | <el-col :span="1.5"> | 41 | <el-col :span="1.5"> |
| 20 | - <el-button size="small" type="primary" @click="file=[]">删除附件</el-button> | 42 | + <el-button |
| 43 | + type="danger" | ||
| 44 | + icon="el-icon-delete" | ||
| 45 | + size="mini" | ||
| 46 | + :disabled="multiple" | ||
| 47 | + @click="handleDelete" | ||
| 48 | + v-hasPermi="['other:IncorruptGovernment:remove']" | ||
| 49 | + >删除 | ||
| 50 | + </el-button> | ||
| 21 | </el-col> | 51 | </el-col> |
| 22 | <el-col :span="1.5"> | 52 | <el-col :span="1.5"> |
| 23 | - <el-button size="small" type="primary" @click="submitForm">提交</el-button> | 53 | + <el-button |
| 54 | + type="warning" | ||
| 55 | + icon="el-icon-download" | ||
| 56 | + size="mini" | ||
| 57 | + @click="handleExport" | ||
| 58 | + v-hasPermi="['other:IncorruptGovernment:export']" | ||
| 59 | + >导出 | ||
| 60 | + </el-button> | ||
| 24 | </el-col> | 61 | </el-col> |
| 62 | + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | ||
| 25 | </el-row> | 63 | </el-row> |
| 26 | - <el-image v-if="file.length!=0" style="" | ||
| 27 | - :src="createUrl(file[0])" | ||
| 28 | - :preview-src-list="[createUrl(file[0])]" | ||
| 29 | - :z-index="999"> | ||
| 30 | - </el-image> | 64 | + |
| 65 | + <el-table v-loading="loading" :data="IncorruptGovernmentList" @selection-change="handleSelectionChange"> | ||
| 66 | + <el-table-column type="selection" width="55" align="center"/> | ||
| 67 | + <el-table-column label="标题" align="center" prop="title"> | ||
| 68 | + <template slot-scope="scope"> | ||
| 69 | + <a href="javascript:;" style="color:#0000EE;" @click="toInfo(scope.row)">{{scope.row.title}}</a> | ||
| 70 | + </template> | ||
| 71 | + </el-table-column> | ||
| 72 | + <el-table-column label="时间" align="center" prop="createTime"> | ||
| 73 | + <template slot-scope="scope"> | ||
| 74 | + <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}:{s}") }}</span> | ||
| 75 | + </template> | ||
| 76 | + </el-table-column> | ||
| 77 | + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||
| 78 | + <template slot-scope="scope"> | ||
| 79 | + <el-button | ||
| 80 | + size="mini" | ||
| 81 | + type="text" | ||
| 82 | + icon="el-icon-edit" | ||
| 83 | + @click="handleUpdate(scope.row)" | ||
| 84 | + v-hasPermi="['other:IncorruptGovernment:edit']" | ||
| 85 | + >修改 | ||
| 86 | + </el-button> | ||
| 87 | + <el-button | ||
| 88 | + size="mini" | ||
| 89 | + type="text" | ||
| 90 | + icon="el-icon-delete" | ||
| 91 | + @click="handleDelete(scope.row)" | ||
| 92 | + v-hasPermi="['other:IncorruptGovernment:remove']" | ||
| 93 | + >删除 | ||
| 94 | + </el-button> | ||
| 95 | + </template> | ||
| 96 | + </el-table-column> | ||
| 97 | + </el-table> | ||
| 98 | + | ||
| 99 | + <pagination | ||
| 100 | + v-show="total>0" | ||
| 101 | + :total="total" | ||
| 102 | + :page.sync="queryParams.pageNum" | ||
| 103 | + :limit.sync="queryParams.pageSize" | ||
| 104 | + @pagination="getList" | ||
| 105 | + /> | ||
| 106 | + | ||
| 107 | + <!-- 添加或修改文件资料对话框 --> | ||
| 108 | + <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body> | ||
| 109 | + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||
| 110 | + <el-form-item label="标题" prop="title"> | ||
| 111 | + <el-input v-model="form.title" placeholder="请输入标题"/> | ||
| 112 | + </el-form-item> | ||
| 113 | + <el-form-item label="内容" prop="content"> | ||
| 114 | + <editor v-model="form.content" :min-height="368"/> | ||
| 115 | + </el-form-item> | ||
| 116 | + <el-row> | ||
| 117 | + <el-col :span="12"> | ||
| 118 | + <el-form-item label="录入时间"> | ||
| 119 | + <el-input v-model="form.createTime" disabled="disabled"/> | ||
| 120 | + </el-form-item> | ||
| 121 | + </el-col> | ||
| 122 | + <el-col :span="12"> | ||
| 123 | + <el-form-item label="录入人"> | ||
| 124 | + <el-input v-model="form.createBy" disabled="disabled"/> | ||
| 125 | + </el-form-item> | ||
| 126 | + </el-col> | ||
| 127 | + </el-row> | ||
| 128 | + | ||
| 129 | + </el-form> | ||
| 130 | + <div slot="footer" class="dialog-footer"> | ||
| 131 | + <el-button type="primary" @click="submitForm">确 定</el-button> | ||
| 132 | + <el-button @click="cancel">取 消</el-button> | ||
| 133 | + </div> | ||
| 134 | + </el-dialog> | ||
| 31 | </div> | 135 | </div> |
| 32 | </template> | 136 | </template> |
| 33 | 137 | ||
| 34 | <script> | 138 | <script> |
| 35 | -import {addIncorruptData, listIncorruptData} from "@/api/other/incorruptData"; | 139 | +import { |
| 140 | + addIncorruptGovernment, | ||
| 141 | + delIncorruptGovernment, | ||
| 142 | + exportIncorruptGovernment, | ||
| 143 | + getIncorruptGovernment, | ||
| 144 | + listIncorruptGovernment, | ||
| 145 | + updateIncorruptGovernment | ||
| 146 | +} from "@/api/other/incorruptGovernment"; | ||
| 147 | +import Editor from '@/components/2cEditor'; | ||
| 148 | +import {parseTime} from "../../../utils/trash"; | ||
| 36 | 149 | ||
| 37 | export default { | 150 | export default { |
| 38 | - name: "incorruptGovernment", | 151 | + name: "IncorruptGovernment", |
| 152 | + components: {Editor}, | ||
| 39 | data() { | 153 | data() { |
| 40 | return { | 154 | return { |
| 41 | - file: [], | 155 | + // 遮罩层 |
| 156 | + loading: true, | ||
| 157 | + // 选中数组 | ||
| 158 | + ids: [], | ||
| 159 | + // 非单个禁用 | ||
| 160 | + single: true, | ||
| 161 | + // 非多个禁用 | ||
| 162 | + multiple: true, | ||
| 163 | + // 显示搜索条件 | ||
| 164 | + showSearch: true, | ||
| 165 | + // 总条数 | ||
| 166 | + total: 0, | ||
| 167 | + // 文件资料表格数据 | ||
| 168 | + IncorruptGovernmentList: [], | ||
| 169 | + // 弹出层标题 | ||
| 170 | + title: "", | ||
| 171 | + // 是否显示弹出层 | ||
| 172 | + open: false, | ||
| 173 | + // 查询参数 | ||
| 174 | + queryParams: { | ||
| 175 | + pageNum: 1, | ||
| 176 | + pageSize: 10, | ||
| 177 | + title: null, | ||
| 178 | + content: null, | ||
| 179 | + files: null, | ||
| 180 | + }, | ||
| 181 | + // 表单参数 | ||
| 182 | + form: {}, | ||
| 183 | + // 表单校验 | ||
| 184 | + rules: { | ||
| 185 | + title: [ | ||
| 186 | + {required: true, message: "请输入标题", trigger: "blur"}, | ||
| 187 | + {min: 1, max: 100, message: "长度在 1 到 100 个字符", trigger: "blur"} | ||
| 188 | + ], | ||
| 189 | + content: [ | ||
| 190 | + {required: true, message: "请输入内容", trigger: "blur"}, | ||
| 191 | + {min: 1, max: 10000, message: "长度在 1 到 10000 个字符", trigger: "blur"} | ||
| 192 | + ], | ||
| 193 | + files: [ | ||
| 194 | + {required: true, message: "请上传附件", trigger: "blur"} | ||
| 195 | + ] | ||
| 196 | + }, | ||
| 197 | + fileEntityList: [], | ||
| 42 | }; | 198 | }; |
| 43 | }, | 199 | }, |
| 44 | created() { | 200 | created() { |
| 45 | this.getList(); | 201 | this.getList(); |
| 46 | }, | 202 | }, |
| 47 | methods: { | 203 | methods: { |
| 204 | + toInfo(row){ | ||
| 205 | + //打开当日报修页签 | ||
| 206 | + this.$tab.openPage("查看详情","/IncorruptGovernment/info",{"IncorruptGovernment":row}) | ||
| 207 | + }, | ||
| 48 | /** 查询文件资料列表 */ | 208 | /** 查询文件资料列表 */ |
| 49 | getList() { | 209 | getList() { |
| 50 | this.loading = true; | 210 | this.loading = true; |
| 51 | - listIncorruptData("government").then(response => { | ||
| 52 | - this.file = [{ | ||
| 53 | - url:response[0].filePath, | ||
| 54 | - name:response[0].fileName, | ||
| 55 | - }]; | 211 | + listIncorruptGovernment(this.queryParams).then(response => { |
| 212 | + this.IncorruptGovernmentList = response.rows; | ||
| 213 | + this.total = response.total; | ||
| 214 | + this.loading = false; | ||
| 56 | }); | 215 | }); |
| 57 | }, | 216 | }, |
| 58 | - delFile(){ | ||
| 59 | - this.file=[]; | 217 | + // 取消按钮 |
| 218 | + cancel() { | ||
| 219 | + this.open = false; | ||
| 220 | + this.reset(); | ||
| 60 | }, | 221 | }, |
| 61 | - /** 提交按钮 */ | ||
| 62 | - submitForm() { | ||
| 63 | - | ||
| 64 | - let formData = new FormData(); | ||
| 65 | - let form = { | 222 | + // 表单重置 |
| 223 | + reset() { | ||
| 224 | + this.form = { | ||
| 225 | + id: null, | ||
| 226 | + title: null, | ||
| 227 | + content: null, | ||
| 66 | files: null, | 228 | files: null, |
| 67 | - tableName: "government", | 229 | + createTime: null, |
| 230 | + createBy: null, | ||
| 231 | + updateTime: null, | ||
| 232 | + updateBy: null | ||
| 68 | }; | 233 | }; |
| 69 | - | ||
| 70 | - this.file.forEach(item => { | ||
| 71 | - if (item.raw != null) { | ||
| 72 | - formData.append('files', item.raw) | ||
| 73 | - } else { | ||
| 74 | - //将原有的附件拼接到form中 | ||
| 75 | - form.files = form.files !== null ? form.files + ";" + item.url : item.url; | 234 | + this.fileEntityList = []; |
| 235 | + this.resetForm("form"); | ||
| 236 | + }, | ||
| 237 | + /** 搜索按钮操作 */ | ||
| 238 | + handleQuery() { | ||
| 239 | + this.queryParams.pageNum = 1; | ||
| 240 | + this.getList(); | ||
| 241 | + }, | ||
| 242 | + /** 重置按钮操作 */ | ||
| 243 | + resetQuery() { | ||
| 244 | + this.resetForm("queryForm"); | ||
| 245 | + this.handleQuery(); | ||
| 246 | + }, | ||
| 247 | + // 多选框选中数据 | ||
| 248 | + handleSelectionChange(selection) { | ||
| 249 | + this.ids = selection.map(item => item.id) | ||
| 250 | + this.single = selection.length !== 1 | ||
| 251 | + this.multiple = !selection.length | ||
| 252 | + }, | ||
| 253 | + /** 新增按钮操作 */ | ||
| 254 | + handleAdd() { | ||
| 255 | + this.reset(); | ||
| 256 | + //yyyy-MM-dd HH:mm:ss | ||
| 257 | + this.form.createTime = parseTime(new Date(), "{y}-{m}-{d} {h}:{i}:{s}"); | ||
| 258 | + this.form.createBy = this.$store.getters.name; | ||
| 259 | + this.open = true; | ||
| 260 | + this.title = "添加文件资料"; | ||
| 261 | + }, | ||
| 262 | + /** 修改按钮操作 */ | ||
| 263 | + handleUpdate(row) { | ||
| 264 | + this.reset(); | ||
| 265 | + const id = row.id || this.ids | ||
| 266 | + getIncorruptGovernment(id).then(response => { | ||
| 267 | + this.form = response.data; | ||
| 268 | + //将附件转换为前端可视化数组 | ||
| 269 | + if (this.form.files != null && this.form.files !== "") { | ||
| 270 | + let fileList = this.form.files.split(";"); | ||
| 271 | + fileList.map(item => { | ||
| 272 | + let name = item.substring(item.lastIndexOf("/") + 1); | ||
| 273 | + this.fileEntityList.push({name: name, url: item}) | ||
| 274 | + }) | ||
| 76 | } | 275 | } |
| 77 | - }) | ||
| 78 | - | ||
| 79 | - for (let key in form) { | ||
| 80 | - formData.append(key, form[key] == null ? "" : form[key]) | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - addIncorruptData(formData).then(response => { | ||
| 84 | - this.msgSuccess("新增成功"); | ||
| 85 | - this.open = false; | ||
| 86 | - this.getList(); | 276 | + this.open = true; |
| 277 | + this.title = "修改文件资料"; | ||
| 87 | }); | 278 | }); |
| 88 | }, | 279 | }, |
| 89 | - /** | ||
| 90 | - * 文件改变时,限制文件上传格式和大小 | ||
| 91 | - * 文件格式只能为docx/doc/pdf/png/jpeg/png/jpg | ||
| 92 | - * 大小不超过20M | ||
| 93 | - * */ | ||
| 94 | - fileChange(file, fileList) { | ||
| 95 | - let count = 0; | ||
| 96 | - if(fileList.length>1){ | ||
| 97 | - this.$message({ | ||
| 98 | - message: '只能上传一张图片!', | ||
| 99 | - type: 'warning' | ||
| 100 | - }); | ||
| 101 | - return false; | ||
| 102 | - } | ||
| 103 | - for (let i = 0; i < fileList.length; i++) { | ||
| 104 | - // console.log(fileList.length) | ||
| 105 | - // console.log(this.fileEntityList[i].name+"111"+file.name) | ||
| 106 | - if (fileList[i].name == file.name) { | ||
| 107 | - count++; | ||
| 108 | - if (count == 2) { | ||
| 109 | - this.$message({ | ||
| 110 | - message: '已存在此文件!', | ||
| 111 | - type: 'warning' | 280 | + /** 提交按钮 */ |
| 281 | + submitForm() { | ||
| 282 | + this.$refs["form"].validate(valid => { | ||
| 283 | + if (valid) { | ||
| 284 | + let formData = new FormData(); | ||
| 285 | + let form = this.form; | ||
| 286 | + //去掉params属性 | ||
| 287 | + delete form.params; | ||
| 288 | + | ||
| 289 | + for (let key in form) { | ||
| 290 | + formData.append(key, form[key] == null ? "" : form[key]) | ||
| 291 | + } | ||
| 292 | + | ||
| 293 | + if (this.form.id != null) { | ||
| 294 | + updateIncorruptGovernment(formData).then(response => { | ||
| 295 | + this.msgSuccess("修改成功"); | ||
| 296 | + this.open = false; | ||
| 297 | + this.getList(); | ||
| 298 | + }); | ||
| 299 | + } else { | ||
| 300 | + addIncorruptGovernment(formData).then(response => { | ||
| 301 | + this.msgSuccess("新增成功"); | ||
| 302 | + this.open = false; | ||
| 303 | + this.getList(); | ||
| 112 | }); | 304 | }); |
| 113 | - for (let j = fileList.length; j > 0; j--) { | ||
| 114 | - //如果存在此文件,去除新选择的重复文件 | ||
| 115 | - if (fileList[j - 1].name == file.name) { | ||
| 116 | - fileList.splice(j - 1, 1); | ||
| 117 | - i--; | ||
| 118 | - return false; | ||
| 119 | - } | ||
| 120 | - } | ||
| 121 | } | 305 | } |
| 122 | } | 306 | } |
| 123 | - } | ||
| 124 | - let fileType = file.name.substring(file.name.lastIndexOf('.') + 1).toLowerCase(); | ||
| 125 | - //格式符合后判断大小 | ||
| 126 | - if ("jpg,jpeg,png,gif,jfif,pjpeg,pjp".indexOf(fileType) != -1) { | ||
| 127 | - let max5M = file.size / 1024 / 1024 < 100; | ||
| 128 | - if (!max5M) { | ||
| 129 | - this.$message({ | ||
| 130 | - message: '上传文件大小不得超过100M!', | ||
| 131 | - type: 'warning' | ||
| 132 | - }); | ||
| 133 | - fileList = fileList.splice(fileList.length - 1, 1); | ||
| 134 | - } else { | ||
| 135 | - //符合条件后进行添加 | ||
| 136 | - this.file = fileList | ||
| 137 | - } | ||
| 138 | - } else { | ||
| 139 | - this.$message({ | ||
| 140 | - message: '上传文件只能是 jpg,jpeg,png,gif,jfif,pjpeg,pjp格式!', | ||
| 141 | - type: 'warning' | ||
| 142 | - }); | ||
| 143 | - fileList = fileList.splice(fileList.length - 1, 1); | ||
| 144 | - } | 307 | + }); |
| 308 | + }, | ||
| 309 | + /** 删除按钮操作 */ | ||
| 310 | + handleDelete(row) { | ||
| 311 | + const ids = row.id || this.ids; | ||
| 312 | + this.$confirm('是否确认删除文件资料编号为"' + ids + '"的数据项?', "警告", { | ||
| 313 | + confirmButtonText: "确定", | ||
| 314 | + cancelButtonText: "取消", | ||
| 315 | + type: "warning" | ||
| 316 | + }).then(function () { | ||
| 317 | + return delIncorruptGovernment(ids); | ||
| 318 | + }).then(() => { | ||
| 319 | + this.getList(); | ||
| 320 | + this.msgSuccess("删除成功"); | ||
| 321 | + }) | ||
| 322 | + }, | ||
| 323 | + /** 导出按钮操作 */ | ||
| 324 | + handleExport() { | ||
| 325 | + const queryParams = this.queryParams; | ||
| 326 | + this.$confirm('是否确认导出所有文件资料数据项?', "警告", { | ||
| 327 | + confirmButtonText: "确定", | ||
| 328 | + cancelButtonText: "取消", | ||
| 329 | + type: "warning" | ||
| 330 | + }).then(function () { | ||
| 331 | + return exportIncorruptGovernment(queryParams); | ||
| 332 | + }).then(response => { | ||
| 333 | + this.download(response.msg); | ||
| 334 | + }) | ||
| 145 | }, | 335 | }, |
| 146 | createUrl(file) { | 336 | createUrl(file) { |
| 147 | if (file.raw != null) { | 337 | if (file.raw != null) { |
trash-ui/src/views/other/incorruptGovernment/info.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-row> | ||
| 4 | + <el-col :offset="3" :span="18"> | ||
| 5 | + <h1 class="info_title">{{ info.title }}</h1> | ||
| 6 | + </el-col> | ||
| 7 | + </el-row> | ||
| 8 | + <el-row> | ||
| 9 | + <el-col :offset="3" :span="18"> | ||
| 10 | + <div class="info_author"> | ||
| 11 | + <span>作者:</span><span>{{ info.createBy }}</span> | ||
| 12 | + <span>发表时间:</span><span>{{ info.createTime }}</span> | ||
| 13 | + </div> | ||
| 14 | + </el-col> | ||
| 15 | + </el-row> | ||
| 16 | + <el-row> | ||
| 17 | + <el-col :offset="3" :span="18"> | ||
| 18 | + <div class="info_content ql-editor" v-html="info.content"></div> | ||
| 19 | + </el-col> | ||
| 20 | + </el-row> | ||
| 21 | + </div> | ||
| 22 | +</template> | ||
| 23 | + | ||
| 24 | +<script> | ||
| 25 | +import { | ||
| 26 | + addDocumentData, | ||
| 27 | + delDocumentData, | ||
| 28 | + exportDocumentData, | ||
| 29 | + getDocumentData, | ||
| 30 | + listDocumentData, | ||
| 31 | + updateDocumentData | ||
| 32 | +} from "@/api/other/documentData"; | ||
| 33 | +import Editor from '@/components/2cEditor'; | ||
| 34 | +import "quill/dist/quill.core.css"; | ||
| 35 | +import {parseTime} from "../../../utils/trash"; | ||
| 36 | + | ||
| 37 | +export default { | ||
| 38 | + name: "DocumentData", | ||
| 39 | + components: {Editor}, | ||
| 40 | + data() { | ||
| 41 | + return { | ||
| 42 | + // 遮罩层 | ||
| 43 | + loading: true, | ||
| 44 | + info: { | ||
| 45 | + title:null, | ||
| 46 | + createBy:null, | ||
| 47 | + createTime:null, | ||
| 48 | + content:null | ||
| 49 | + }, | ||
| 50 | + }; | ||
| 51 | + }, | ||
| 52 | + created() { | ||
| 53 | + this.initData(); | ||
| 54 | + }, | ||
| 55 | + watch:{ | ||
| 56 | + '$route.query.IncorruptGovernment':'initData' | ||
| 57 | + }, | ||
| 58 | + methods: { | ||
| 59 | + initData(){ | ||
| 60 | + if(this.$route.query.IncorruptGovernment){ | ||
| 61 | + this.info = this.$route.query.IncorruptGovernment; | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | +}; | ||
| 67 | +</script> | ||
| 68 | +<style lang="scss" scoped> | ||
| 69 | +.info_title{ | ||
| 70 | + display: flex; | ||
| 71 | + justify-content: center; | ||
| 72 | + align-items: center; | ||
| 73 | + height: 100%; | ||
| 74 | +} | ||
| 75 | +.info_author{ | ||
| 76 | + display: flex; | ||
| 77 | + justify-content: center; | ||
| 78 | + align-items: center; | ||
| 79 | + height: 26px; | ||
| 80 | + font-size:14px; | ||
| 81 | + color: #616977; | ||
| 82 | + border-bottom: 1px solid #ddd; | ||
| 83 | + box-shadow: 0px 20px 20px -20px #5E5E5E; | ||
| 84 | +} | ||
| 85 | +.info_author span:nth-child(2){ | ||
| 86 | + margin-right: 20px; | ||
| 87 | +} | ||
| 88 | +</style> |
trash-workFlow/pom.xml
| @@ -16,24 +16,19 @@ | @@ -16,24 +16,19 @@ | ||
| 16 | <groupId>com.trash</groupId> | 16 | <groupId>com.trash</groupId> |
| 17 | <artifactId>trash-activiti</artifactId> | 17 | <artifactId>trash-activiti</artifactId> |
| 18 | </dependency> | 18 | </dependency> |
| 19 | - | 19 | + |
| 20 | <dependency> | 20 | <dependency> |
| 21 | <groupId>com.trash</groupId> | 21 | <groupId>com.trash</groupId> |
| 22 | <artifactId>trash-common</artifactId> | 22 | <artifactId>trash-common</artifactId> |
| 23 | </dependency> | 23 | </dependency> |
| 24 | - <dependency> | ||
| 25 | - <groupId>com.google.code.gson</groupId> | ||
| 26 | - <artifactId>gson</artifactId> | ||
| 27 | - <version>2.3.1</version> | ||
| 28 | - </dependency> | ||
| 29 | - | 24 | + |
| 30 | <!-- kafka --> | 25 | <!-- kafka --> |
| 31 | <dependency> | 26 | <dependency> |
| 32 | <groupId>org.springframework.kafka</groupId> | 27 | <groupId>org.springframework.kafka</groupId> |
| 33 | <artifactId>spring-kafka</artifactId> | 28 | <artifactId>spring-kafka</artifactId> |
| 34 | <version>1.1.1.RELEASE</version> | 29 | <version>1.1.1.RELEASE</version> |
| 35 | </dependency> | 30 | </dependency> |
| 36 | - | ||
| 37 | - | 31 | + |
| 32 | + | ||
| 38 | </dependencies> | 33 | </dependencies> |
| 39 | </project> | 34 | </project> |
| 40 | \ No newline at end of file | 35 | \ No newline at end of file |
trash-workFlow/src/main/java/com/trash/other/controller/IncorruptEducationController.java
0 → 100644
| 1 | +package com.trash.other.controller; | ||
| 2 | + | ||
| 3 | +import com.trash.common.annotation.Log; | ||
| 4 | +import com.trash.common.core.controller.BaseController; | ||
| 5 | +import com.trash.common.core.domain.AjaxResult; | ||
| 6 | +import com.trash.common.core.page.TableDataInfo; | ||
| 7 | +import com.trash.common.enums.BusinessType; | ||
| 8 | +import com.trash.common.utils.poi.ExcelUtil; | ||
| 9 | +import com.trash.other.domain.IncorruptEducation; | ||
| 10 | +import com.trash.other.service.IIncorruptEducationService; | ||
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 12 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 13 | +import org.springframework.web.bind.annotation.*; | ||
| 14 | +import org.springframework.web.multipart.MultipartFile; | ||
| 15 | + | ||
| 16 | +import java.io.IOException; | ||
| 17 | +import java.util.List; | ||
| 18 | + | ||
| 19 | +/** | ||
| 20 | + * 廉洁教育Controller | ||
| 21 | + * | ||
| 22 | + * @author trash | ||
| 23 | + * @date 2023-11-28 | ||
| 24 | + */ | ||
| 25 | +@RestController | ||
| 26 | +@RequestMapping("/other/IncorruptEducation") | ||
| 27 | +public class IncorruptEducationController extends BaseController | ||
| 28 | +{ | ||
| 29 | + @Autowired | ||
| 30 | + private IIncorruptEducationService IncorruptEducationService; | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 查询廉洁教育列表 | ||
| 34 | + */ | ||
| 35 | + @PreAuthorize("@ss.hasPermi('other:IncorruptEducation:list')") | ||
| 36 | + @GetMapping("/list") | ||
| 37 | + public TableDataInfo list(IncorruptEducation IncorruptEducation) | ||
| 38 | + { | ||
| 39 | + startPage(); | ||
| 40 | + List<IncorruptEducation> list = IncorruptEducationService.selectIncorruptEducationList(IncorruptEducation); | ||
| 41 | + return getDataTable(list); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + /** | ||
| 45 | + * 导出廉洁教育列表 | ||
| 46 | + */ | ||
| 47 | + @PreAuthorize("@ss.hasPermi('other:IncorruptEducation:export')") | ||
| 48 | + @Log(title = "廉洁教育", businessType = BusinessType.EXPORT) | ||
| 49 | + @GetMapping("/export") | ||
| 50 | + public AjaxResult export(IncorruptEducation IncorruptEducation) | ||
| 51 | + { | ||
| 52 | + List<IncorruptEducation> list = IncorruptEducationService.selectIncorruptEducationList(IncorruptEducation); | ||
| 53 | + ExcelUtil<IncorruptEducation> util = new ExcelUtil<IncorruptEducation>(IncorruptEducation.class); | ||
| 54 | + return util.exportExcel(list, "IncorruptEducation"); | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + /** | ||
| 58 | + * 获取廉洁教育详细信息 | ||
| 59 | + */ | ||
| 60 | + @PreAuthorize("@ss.hasPermi('other:IncorruptEducation:query')") | ||
| 61 | + @GetMapping(value = "/{id}") | ||
| 62 | + public AjaxResult getInfo(@PathVariable("id") Long id) | ||
| 63 | + { | ||
| 64 | + return AjaxResult.success(IncorruptEducationService.selectIncorruptEducationById(id)); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + /** | ||
| 68 | + * 新增廉洁教育 | ||
| 69 | + */ | ||
| 70 | + @PreAuthorize("@ss.hasPermi('other:IncorruptEducation:add')") | ||
| 71 | + @Log(title = "廉洁教育", businessType = BusinessType.INSERT) | ||
| 72 | + @PostMapping | ||
| 73 | + public AjaxResult add(@RequestParam(value = "fileList") MultipartFile[] files, IncorruptEducation IncorruptEducation) throws IOException { | ||
| 74 | + return toAjax(IncorruptEducationService.insertIncorruptEducation(files, IncorruptEducation)); | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + /** | ||
| 78 | + * 修改廉洁教育 | ||
| 79 | + */ | ||
| 80 | + @PreAuthorize("@ss.hasPermi('other:IncorruptEducation:edit')") | ||
| 81 | + @Log(title = "廉洁教育", businessType = BusinessType.UPDATE) | ||
| 82 | + @PutMapping | ||
| 83 | + public AjaxResult edit(@RequestParam(value = "fileList") MultipartFile[] files,IncorruptEducation IncorruptEducation) throws IOException { | ||
| 84 | + return toAjax(IncorruptEducationService.updateIncorruptEducation(files, IncorruptEducation)); | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + /** | ||
| 88 | + * 删除廉洁教育 | ||
| 89 | + */ | ||
| 90 | + @PreAuthorize("@ss.hasPermi('other:IncorruptEducation:remove')") | ||
| 91 | + @Log(title = "廉洁教育", businessType = BusinessType.DELETE) | ||
| 92 | + @DeleteMapping("/{ids}") | ||
| 93 | + public AjaxResult remove(@PathVariable Long[] ids) | ||
| 94 | + { | ||
| 95 | + return toAjax(IncorruptEducationService.deleteIncorruptEducationByIds(ids)); | ||
| 96 | + } | ||
| 97 | +} |
trash-workFlow/src/main/java/com/trash/other/controller/IncorruptGovernmentController.java
0 → 100644
| 1 | +package com.trash.other.controller; | ||
| 2 | + | ||
| 3 | +import com.trash.common.annotation.Log; | ||
| 4 | +import com.trash.common.core.controller.BaseController; | ||
| 5 | +import com.trash.common.core.domain.AjaxResult; | ||
| 6 | +import com.trash.common.core.page.TableDataInfo; | ||
| 7 | +import com.trash.common.enums.BusinessType; | ||
| 8 | +import com.trash.common.utils.poi.ExcelUtil; | ||
| 9 | +import com.trash.other.domain.IncorruptGovernment; | ||
| 10 | +import com.trash.other.service.IIncorruptGovernmentService; | ||
| 11 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 12 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 13 | +import org.springframework.web.bind.annotation.*; | ||
| 14 | +import org.springframework.web.multipart.MultipartFile; | ||
| 15 | + | ||
| 16 | +import java.io.IOException; | ||
| 17 | +import java.util.List; | ||
| 18 | + | ||
| 19 | +/** | ||
| 20 | + * 廉政风险点Controller | ||
| 21 | + * | ||
| 22 | + * @author trash | ||
| 23 | + * @date 2023-11-28 | ||
| 24 | + */ | ||
| 25 | +@RestController | ||
| 26 | +@RequestMapping("/other/IncorruptGovernment") | ||
| 27 | +public class IncorruptGovernmentController extends BaseController | ||
| 28 | +{ | ||
| 29 | + @Autowired | ||
| 30 | + private IIncorruptGovernmentService IncorruptGovernmentService; | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 查询廉政风险点列表 | ||
| 34 | + */ | ||
| 35 | + @PreAuthorize("@ss.hasPermi('other:IncorruptGovernment:list')") | ||
| 36 | + @GetMapping("/list") | ||
| 37 | + public TableDataInfo list(IncorruptGovernment IncorruptGovernment) | ||
| 38 | + { | ||
| 39 | + startPage(); | ||
| 40 | + List<IncorruptGovernment> list = IncorruptGovernmentService.selectIncorruptGovernmentList(IncorruptGovernment); | ||
| 41 | + return getDataTable(list); | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + /** | ||
| 45 | + * 导出廉政风险点列表 | ||
| 46 | + */ | ||
| 47 | + @PreAuthorize("@ss.hasPermi('other:IncorruptGovernment:export')") | ||
| 48 | + @Log(title = "廉政风险点", businessType = BusinessType.EXPORT) | ||
| 49 | + @GetMapping("/export") | ||
| 50 | + public AjaxResult export(IncorruptGovernment IncorruptGovernment) | ||
| 51 | + { | ||
| 52 | + List<IncorruptGovernment> list = IncorruptGovernmentService.selectIncorruptGovernmentList(IncorruptGovernment); | ||
| 53 | + ExcelUtil<IncorruptGovernment> util = new ExcelUtil<IncorruptGovernment>(IncorruptGovernment.class); | ||
| 54 | + return util.exportExcel(list, "IncorruptGovernment"); | ||
| 55 | + } | ||
| 56 | + | ||
| 57 | + /** | ||
| 58 | + * 获取廉政风险点详细信息 | ||
| 59 | + */ | ||
| 60 | + @PreAuthorize("@ss.hasPermi('other:IncorruptGovernment:query')") | ||
| 61 | + @GetMapping(value = "/{id}") | ||
| 62 | + public AjaxResult getInfo(@PathVariable("id") Long id) | ||
| 63 | + { | ||
| 64 | + return AjaxResult.success(IncorruptGovernmentService.selectIncorruptGovernmentById(id)); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + /** | ||
| 68 | + * 新增廉政风险点 | ||
| 69 | + */ | ||
| 70 | + @PreAuthorize("@ss.hasPermi('other:IncorruptGovernment:add')") | ||
| 71 | + @Log(title = "廉政风险点", businessType = BusinessType.INSERT) | ||
| 72 | + @PostMapping | ||
| 73 | + public AjaxResult add(@RequestParam(value = "fileList") MultipartFile[] files, IncorruptGovernment IncorruptGovernment) throws IOException { | ||
| 74 | + return toAjax(IncorruptGovernmentService.insertIncorruptGovernment(files, IncorruptGovernment)); | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + /** | ||
| 78 | + * 修改廉政风险点 | ||
| 79 | + */ | ||
| 80 | + @PreAuthorize("@ss.hasPermi('other:IncorruptGovernment:edit')") | ||
| 81 | + @Log(title = "廉政风险点", businessType = BusinessType.UPDATE) | ||
| 82 | + @PutMapping | ||
| 83 | + public AjaxResult edit(@RequestParam(value = "fileList") MultipartFile[] files,IncorruptGovernment IncorruptGovernment) throws IOException { | ||
| 84 | + return toAjax(IncorruptGovernmentService.updateIncorruptGovernment(files, IncorruptGovernment)); | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + /** | ||
| 88 | + * 删除廉政风险点 | ||
| 89 | + */ | ||
| 90 | + @PreAuthorize("@ss.hasPermi('other:IncorruptGovernment:remove')") | ||
| 91 | + @Log(title = "廉政风险点", businessType = BusinessType.DELETE) | ||
| 92 | + @DeleteMapping("/{ids}") | ||
| 93 | + public AjaxResult remove(@PathVariable Long[] ids) | ||
| 94 | + { | ||
| 95 | + return toAjax(IncorruptGovernmentService.deleteIncorruptGovernmentByIds(ids)); | ||
| 96 | + } | ||
| 97 | +} |
trash-workFlow/src/main/java/com/trash/other/domain/IncorruptEducation.java
0 → 100644
| 1 | +package com.trash.other.domain; | ||
| 2 | + | ||
| 3 | +import com.trash.common.annotation.Excel; | ||
| 4 | +import com.trash.common.core.domain.BaseEntity; | ||
| 5 | +import org.apache.commons.lang3.builder.ToStringBuilder; | ||
| 6 | +import org.apache.commons.lang3.builder.ToStringStyle; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * 廉洁教育对象 document_data | ||
| 10 | + * | ||
| 11 | + * @author trash | ||
| 12 | + * @date 2023-11-28 | ||
| 13 | + */ | ||
| 14 | +public class IncorruptEducation extends BaseEntity | ||
| 15 | +{ | ||
| 16 | + private static final long serialVersionUID = 1L; | ||
| 17 | + | ||
| 18 | + /** $column.columnComment */ | ||
| 19 | + private Long id; | ||
| 20 | + | ||
| 21 | + /** 标题 */ | ||
| 22 | + @Excel(name = "标题") | ||
| 23 | + private String title; | ||
| 24 | + | ||
| 25 | + /** 内容 */ | ||
| 26 | + @Excel(name = "内容") | ||
| 27 | + private String content; | ||
| 28 | + | ||
| 29 | + /** 附件 */ | ||
| 30 | + @Excel(name = "附件") | ||
| 31 | + private String files; | ||
| 32 | + | ||
| 33 | + public void setId(Long id) | ||
| 34 | + { | ||
| 35 | + this.id = id; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public Long getId() | ||
| 39 | + { | ||
| 40 | + return id; | ||
| 41 | + } | ||
| 42 | + public void setTitle(String title) | ||
| 43 | + { | ||
| 44 | + this.title = title; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + public String getTitle() | ||
| 48 | + { | ||
| 49 | + return title; | ||
| 50 | + } | ||
| 51 | + public void setContent(String content) | ||
| 52 | + { | ||
| 53 | + this.content = content; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public String getContent() | ||
| 57 | + { | ||
| 58 | + return content; | ||
| 59 | + } | ||
| 60 | + public void setFiles(String files) | ||
| 61 | + { | ||
| 62 | + this.files = files; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + public String getFiles() | ||
| 66 | + { | ||
| 67 | + return files; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + @Override | ||
| 71 | + public String toString() { | ||
| 72 | + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | ||
| 73 | + .append("id", getId()) | ||
| 74 | + .append("title", getTitle()) | ||
| 75 | + .append("content", getContent()) | ||
| 76 | + .append("files", getFiles()) | ||
| 77 | + .append("createTime", getCreateTime()) | ||
| 78 | + .append("createBy", getCreateBy()) | ||
| 79 | + .append("updateTime", getUpdateTime()) | ||
| 80 | + .append("updateBy", getUpdateBy()) | ||
| 81 | + .toString(); | ||
| 82 | + } | ||
| 83 | +} |
trash-workFlow/src/main/java/com/trash/other/domain/IncorruptGovernment.java
0 → 100644
| 1 | +package com.trash.other.domain; | ||
| 2 | + | ||
| 3 | +import com.trash.common.annotation.Excel; | ||
| 4 | +import com.trash.common.core.domain.BaseEntity; | ||
| 5 | +import org.apache.commons.lang3.builder.ToStringBuilder; | ||
| 6 | +import org.apache.commons.lang3.builder.ToStringStyle; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * 廉政风险点对象 document_data | ||
| 10 | + * | ||
| 11 | + * @author trash | ||
| 12 | + * @date 2023-11-28 | ||
| 13 | + */ | ||
| 14 | +public class IncorruptGovernment extends BaseEntity | ||
| 15 | +{ | ||
| 16 | + private static final long serialVersionUID = 1L; | ||
| 17 | + | ||
| 18 | + /** $column.columnComment */ | ||
| 19 | + private Long id; | ||
| 20 | + | ||
| 21 | + /** 标题 */ | ||
| 22 | + @Excel(name = "标题") | ||
| 23 | + private String title; | ||
| 24 | + | ||
| 25 | + /** 内容 */ | ||
| 26 | + @Excel(name = "内容") | ||
| 27 | + private String content; | ||
| 28 | + | ||
| 29 | + /** 附件 */ | ||
| 30 | + @Excel(name = "附件") | ||
| 31 | + private String files; | ||
| 32 | + | ||
| 33 | + public void setId(Long id) | ||
| 34 | + { | ||
| 35 | + this.id = id; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public Long getId() | ||
| 39 | + { | ||
| 40 | + return id; | ||
| 41 | + } | ||
| 42 | + public void setTitle(String title) | ||
| 43 | + { | ||
| 44 | + this.title = title; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + public String getTitle() | ||
| 48 | + { | ||
| 49 | + return title; | ||
| 50 | + } | ||
| 51 | + public void setContent(String content) | ||
| 52 | + { | ||
| 53 | + this.content = content; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public String getContent() | ||
| 57 | + { | ||
| 58 | + return content; | ||
| 59 | + } | ||
| 60 | + public void setFiles(String files) | ||
| 61 | + { | ||
| 62 | + this.files = files; | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + public String getFiles() | ||
| 66 | + { | ||
| 67 | + return files; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + @Override | ||
| 71 | + public String toString() { | ||
| 72 | + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) | ||
| 73 | + .append("id", getId()) | ||
| 74 | + .append("title", getTitle()) | ||
| 75 | + .append("content", getContent()) | ||
| 76 | + .append("files", getFiles()) | ||
| 77 | + .append("createTime", getCreateTime()) | ||
| 78 | + .append("createBy", getCreateBy()) | ||
| 79 | + .append("updateTime", getUpdateTime()) | ||
| 80 | + .append("updateBy", getUpdateBy()) | ||
| 81 | + .toString(); | ||
| 82 | + } | ||
| 83 | +} |
trash-workFlow/src/main/java/com/trash/other/mapper/IncorruptEducationMapper.java
0 → 100644
| 1 | +package com.trash.other.mapper; | ||
| 2 | + | ||
| 3 | +import com.trash.other.domain.IncorruptEducation; | ||
| 4 | + | ||
| 5 | +import java.util.List; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * 廉洁教育Mapper接口 | ||
| 9 | + * | ||
| 10 | + * @author trash | ||
| 11 | + * @date 2023-11-28 | ||
| 12 | + */ | ||
| 13 | +public interface IncorruptEducationMapper | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * 查询廉洁教育 | ||
| 17 | + * | ||
| 18 | + * @param id 廉洁教育ID | ||
| 19 | + * @return 廉洁教育 | ||
| 20 | + */ | ||
| 21 | + IncorruptEducation selectIncorruptEducationById(Long id); | ||
| 22 | + | ||
| 23 | + /** | ||
| 24 | + * 查询廉洁教育列表 | ||
| 25 | + * | ||
| 26 | + * @param IncorruptEducation 廉洁教育 | ||
| 27 | + * @return 廉洁教育集合 | ||
| 28 | + */ | ||
| 29 | + List<IncorruptEducation> selectIncorruptEducationList(IncorruptEducation IncorruptEducation); | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * 新增廉洁教育 | ||
| 33 | + * | ||
| 34 | + * @param IncorruptEducation 廉洁教育 | ||
| 35 | + * @return 结果 | ||
| 36 | + */ | ||
| 37 | + int insertIncorruptEducation(IncorruptEducation IncorruptEducation); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 修改廉洁教育 | ||
| 41 | + * | ||
| 42 | + * @param IncorruptEducation 廉洁教育 | ||
| 43 | + * @return 结果 | ||
| 44 | + */ | ||
| 45 | + int updateIncorruptEducation(IncorruptEducation IncorruptEducation); | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * 删除廉洁教育 | ||
| 49 | + * | ||
| 50 | + * @param id 廉洁教育ID | ||
| 51 | + * @return 结果 | ||
| 52 | + */ | ||
| 53 | + int deleteIncorruptEducationById(Long id); | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * 批量删除廉洁教育 | ||
| 57 | + * | ||
| 58 | + * @param ids 需要删除的数据ID | ||
| 59 | + * @return 结果 | ||
| 60 | + */ | ||
| 61 | + int deleteIncorruptEducationByIds(Long[] ids); | ||
| 62 | +} |
trash-workFlow/src/main/java/com/trash/other/mapper/IncorruptGovernmentMapper.java
0 → 100644
| 1 | +package com.trash.other.mapper; | ||
| 2 | + | ||
| 3 | +import com.trash.other.domain.IncorruptGovernment; | ||
| 4 | + | ||
| 5 | +import java.util.List; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * 廉政风险点Mapper接口 | ||
| 9 | + * | ||
| 10 | + * @author trash | ||
| 11 | + * @date 2023-11-28 | ||
| 12 | + */ | ||
| 13 | +public interface IncorruptGovernmentMapper | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * 查询廉政风险点 | ||
| 17 | + * | ||
| 18 | + * @param id 廉政风险点ID | ||
| 19 | + * @return 廉政风险点 | ||
| 20 | + */ | ||
| 21 | + IncorruptGovernment selectIncorruptGovernmentById(Long id); | ||
| 22 | + | ||
| 23 | + /** | ||
| 24 | + * 查询廉政风险点列表 | ||
| 25 | + * | ||
| 26 | + * @param IncorruptGovernment 廉政风险点 | ||
| 27 | + * @return 廉政风险点集合 | ||
| 28 | + */ | ||
| 29 | + List<IncorruptGovernment> selectIncorruptGovernmentList(IncorruptGovernment IncorruptGovernment); | ||
| 30 | + | ||
| 31 | + /** | ||
| 32 | + * 新增廉政风险点 | ||
| 33 | + * | ||
| 34 | + * @param IncorruptGovernment 廉政风险点 | ||
| 35 | + * @return 结果 | ||
| 36 | + */ | ||
| 37 | + int insertIncorruptGovernment(IncorruptGovernment IncorruptGovernment); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 修改廉政风险点 | ||
| 41 | + * | ||
| 42 | + * @param IncorruptGovernment 廉政风险点 | ||
| 43 | + * @return 结果 | ||
| 44 | + */ | ||
| 45 | + int updateIncorruptGovernment(IncorruptGovernment IncorruptGovernment); | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * 删除廉政风险点 | ||
| 49 | + * | ||
| 50 | + * @param id 廉政风险点ID | ||
| 51 | + * @return 结果 | ||
| 52 | + */ | ||
| 53 | + int deleteIncorruptGovernmentById(Long id); | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * 批量删除廉政风险点 | ||
| 57 | + * | ||
| 58 | + * @param ids 需要删除的数据ID | ||
| 59 | + * @return 结果 | ||
| 60 | + */ | ||
| 61 | + int deleteIncorruptGovernmentByIds(Long[] ids); | ||
| 62 | +} |
trash-workFlow/src/main/java/com/trash/other/service/IIncorruptEducationService.java
0 → 100644
| 1 | +package com.trash.other.service; | ||
| 2 | + | ||
| 3 | +import com.trash.other.domain.IncorruptEducation; | ||
| 4 | +import org.springframework.web.multipart.MultipartFile; | ||
| 5 | + | ||
| 6 | +import java.io.IOException; | ||
| 7 | +import java.util.List; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 廉洁教育Service接口 | ||
| 11 | + * | ||
| 12 | + * @author trash | ||
| 13 | + * @date 2023-11-28 | ||
| 14 | + */ | ||
| 15 | +public interface IIncorruptEducationService | ||
| 16 | +{ | ||
| 17 | + /** | ||
| 18 | + * 查询廉洁教育 | ||
| 19 | + * | ||
| 20 | + * @param id 廉洁教育ID | ||
| 21 | + * @return 廉洁教育 | ||
| 22 | + */ | ||
| 23 | + IncorruptEducation selectIncorruptEducationById(Long id); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 查询廉洁教育列表 | ||
| 27 | + * | ||
| 28 | + * @param IncorruptEducation 廉洁教育 | ||
| 29 | + * @return 廉洁教育集合 | ||
| 30 | + */ | ||
| 31 | + List<IncorruptEducation> selectIncorruptEducationList(IncorruptEducation IncorruptEducation); | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * 新增廉洁教育 | ||
| 35 | + * | ||
| 36 | + * @param files | ||
| 37 | + * @param IncorruptEducation 廉洁教育 | ||
| 38 | + * @return 结果 | ||
| 39 | + */ | ||
| 40 | + int insertIncorruptEducation(MultipartFile[] files, IncorruptEducation IncorruptEducation) throws IOException; | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * 修改廉洁教育 | ||
| 44 | + * | ||
| 45 | + * @param files | ||
| 46 | + * @param IncorruptEducation 廉洁教育 | ||
| 47 | + * @return 结果 | ||
| 48 | + */ | ||
| 49 | + int updateIncorruptEducation(MultipartFile[] files,IncorruptEducation IncorruptEducation) throws IOException; | ||
| 50 | + | ||
| 51 | + /** | ||
| 52 | + * 批量删除廉洁教育 | ||
| 53 | + * | ||
| 54 | + * @param ids 需要删除的廉洁教育ID | ||
| 55 | + * @return 结果 | ||
| 56 | + */ | ||
| 57 | + int deleteIncorruptEducationByIds(Long[] ids); | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * 删除廉洁教育信息 | ||
| 61 | + * | ||
| 62 | + * @param id 廉洁教育ID | ||
| 63 | + * @return 结果 | ||
| 64 | + */ | ||
| 65 | + int deleteIncorruptEducationById(Long id); | ||
| 66 | +} |
trash-workFlow/src/main/java/com/trash/other/service/IIncorruptGovernmentService.java
0 → 100644
| 1 | +package com.trash.other.service; | ||
| 2 | + | ||
| 3 | +import com.trash.other.domain.IncorruptGovernment; | ||
| 4 | +import org.springframework.web.multipart.MultipartFile; | ||
| 5 | + | ||
| 6 | +import java.io.IOException; | ||
| 7 | +import java.util.List; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * 廉政风险点Service接口 | ||
| 11 | + * | ||
| 12 | + * @author trash | ||
| 13 | + * @date 2023-11-28 | ||
| 14 | + */ | ||
| 15 | +public interface IIncorruptGovernmentService | ||
| 16 | +{ | ||
| 17 | + /** | ||
| 18 | + * 查询廉政风险点 | ||
| 19 | + * | ||
| 20 | + * @param id 廉政风险点ID | ||
| 21 | + * @return 廉政风险点 | ||
| 22 | + */ | ||
| 23 | + IncorruptGovernment selectIncorruptGovernmentById(Long id); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 查询廉政风险点列表 | ||
| 27 | + * | ||
| 28 | + * @param IncorruptGovernment 廉政风险点 | ||
| 29 | + * @return 廉政风险点集合 | ||
| 30 | + */ | ||
| 31 | + List<IncorruptGovernment> selectIncorruptGovernmentList(IncorruptGovernment IncorruptGovernment); | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * 新增廉政风险点 | ||
| 35 | + * | ||
| 36 | + * @param files | ||
| 37 | + * @param IncorruptGovernment 廉政风险点 | ||
| 38 | + * @return 结果 | ||
| 39 | + */ | ||
| 40 | + int insertIncorruptGovernment(MultipartFile[] files, IncorruptGovernment IncorruptGovernment) throws IOException; | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * 修改廉政风险点 | ||
| 44 | + * | ||
| 45 | + * @param files | ||
| 46 | + * @param IncorruptGovernment 廉政风险点 | ||
| 47 | + * @return 结果 | ||
| 48 | + */ | ||
| 49 | + int updateIncorruptGovernment(MultipartFile[] files,IncorruptGovernment IncorruptGovernment) throws IOException; | ||
| 50 | + | ||
| 51 | + /** | ||
| 52 | + * 批量删除廉政风险点 | ||
| 53 | + * | ||
| 54 | + * @param ids 需要删除的廉政风险点ID | ||
| 55 | + * @return 结果 | ||
| 56 | + */ | ||
| 57 | + int deleteIncorruptGovernmentByIds(Long[] ids); | ||
| 58 | + | ||
| 59 | + /** | ||
| 60 | + * 删除廉政风险点信息 | ||
| 61 | + * | ||
| 62 | + * @param id 廉政风险点ID | ||
| 63 | + * @return 结果 | ||
| 64 | + */ | ||
| 65 | + int deleteIncorruptGovernmentById(Long id); | ||
| 66 | +} |
trash-workFlow/src/main/java/com/trash/other/service/impl/IncorruptEducationServiceImpl.java
0 → 100644
| 1 | +package com.trash.other.service.impl; | ||
| 2 | + | ||
| 3 | +import com.trash.common.config.trashConfig; | ||
| 4 | +import com.trash.common.utils.DateUtils; | ||
| 5 | +import com.trash.common.utils.SecurityUtils; | ||
| 6 | +import com.trash.other.domain.IncorruptEducation; | ||
| 7 | +import com.trash.other.mapper.IncorruptEducationMapper; | ||
| 8 | +import com.trash.other.service.IIncorruptEducationService; | ||
| 9 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 10 | +import org.springframework.stereotype.Service; | ||
| 11 | +import org.springframework.web.multipart.MultipartFile; | ||
| 12 | + | ||
| 13 | +import java.io.IOException; | ||
| 14 | +import java.util.List; | ||
| 15 | + | ||
| 16 | +import static com.trash.common.utils.file.FileUploadUtils.upload; | ||
| 17 | + | ||
| 18 | +/** | ||
| 19 | + * 廉洁教育Service业务层处理 | ||
| 20 | + * | ||
| 21 | + * @author trash | ||
| 22 | + * @date 2023-11-28 | ||
| 23 | + */ | ||
| 24 | +@Service | ||
| 25 | +public class IncorruptEducationServiceImpl implements IIncorruptEducationService | ||
| 26 | +{ | ||
| 27 | + @Autowired | ||
| 28 | + private IncorruptEducationMapper IncorruptEducationMapper; | ||
| 29 | + | ||
| 30 | + /** | ||
| 31 | + * 查询廉洁教育 | ||
| 32 | + * | ||
| 33 | + * @param id 廉洁教育ID | ||
| 34 | + * @return 廉洁教育 | ||
| 35 | + */ | ||
| 36 | + @Override | ||
| 37 | + public IncorruptEducation selectIncorruptEducationById(Long id) | ||
| 38 | + { | ||
| 39 | + return IncorruptEducationMapper.selectIncorruptEducationById(id); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * 查询廉洁教育列表 | ||
| 44 | + * | ||
| 45 | + * @param IncorruptEducation 廉洁教育 | ||
| 46 | + * @return 廉洁教育 | ||
| 47 | + */ | ||
| 48 | + @Override | ||
| 49 | + public List<IncorruptEducation> selectIncorruptEducationList(IncorruptEducation IncorruptEducation) | ||
| 50 | + { | ||
| 51 | + return IncorruptEducationMapper.selectIncorruptEducationList(IncorruptEducation); | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 新增廉洁教育 | ||
| 56 | + * | ||
| 57 | + * @param files | ||
| 58 | + * @param IncorruptEducation 廉洁教育 | ||
| 59 | + * @return 结果 | ||
| 60 | + */ | ||
| 61 | + @Override | ||
| 62 | + public int insertIncorruptEducation(MultipartFile[] files, IncorruptEducation IncorruptEducation) throws IOException { | ||
| 63 | + for (MultipartFile file:files){ | ||
| 64 | + IncorruptEducation.setFiles(IncorruptEducation.getFiles()!=null?IncorruptEducation.getFiles()+";"+uploadFile(file):uploadFile(file)); | ||
| 65 | + } | ||
| 66 | + IncorruptEducation.setFiles(removeSemicolon(IncorruptEducation.getFiles())); | ||
| 67 | + return IncorruptEducationMapper.insertIncorruptEducation(IncorruptEducation); | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + /** | ||
| 71 | + * 修改廉洁教育 | ||
| 72 | + * | ||
| 73 | + * @param files | ||
| 74 | + * @param IncorruptEducation 廉洁教育 | ||
| 75 | + * @return 结果 | ||
| 76 | + */ | ||
| 77 | + @Override | ||
| 78 | + public int updateIncorruptEducation(MultipartFile[] files, IncorruptEducation IncorruptEducation) throws IOException { | ||
| 79 | + IncorruptEducation.setUpdateTime(DateUtils.getNowDate()); | ||
| 80 | + IncorruptEducation.setUpdateBy(SecurityUtils.getUsername()); | ||
| 81 | + for (MultipartFile file:files){ | ||
| 82 | + IncorruptEducation.setFiles(IncorruptEducation.getFiles()!=null?IncorruptEducation.getFiles()+";"+uploadFile(file):uploadFile(file)); | ||
| 83 | + } | ||
| 84 | + IncorruptEducation.setFiles(removeSemicolon(IncorruptEducation.getFiles())); | ||
| 85 | + return IncorruptEducationMapper.updateIncorruptEducation(IncorruptEducation); | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + /** | ||
| 89 | + * 批量删除廉洁教育 | ||
| 90 | + * | ||
| 91 | + * @param ids 需要删除的廉洁教育ID | ||
| 92 | + * @return 结果 | ||
| 93 | + */ | ||
| 94 | + @Override | ||
| 95 | + public int deleteIncorruptEducationByIds(Long[] ids) | ||
| 96 | + { | ||
| 97 | + return IncorruptEducationMapper.deleteIncorruptEducationByIds(ids); | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + /** | ||
| 101 | + * 删除廉洁教育信息 | ||
| 102 | + * | ||
| 103 | + * @param id 廉洁教育ID | ||
| 104 | + * @return 结果 | ||
| 105 | + */ | ||
| 106 | + @Override | ||
| 107 | + public int deleteIncorruptEducationById(Long id) | ||
| 108 | + { | ||
| 109 | + return IncorruptEducationMapper.deleteIncorruptEducationById(id); | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + /** | ||
| 113 | + * 文件上传 | ||
| 114 | + * | ||
| 115 | + * @param file | ||
| 116 | + * @author 2c | ||
| 117 | + */ | ||
| 118 | + public static String uploadFile(MultipartFile file) throws IOException { | ||
| 119 | + // 上传文件路径 | ||
| 120 | + String filePath = trashConfig.getUploadPath(); | ||
| 121 | + // 上传并返回新文件名称 | ||
| 122 | + String newFileName = upload(filePath, file); | ||
| 123 | + return newFileName; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + //去掉第一个分号,如果有的话 | ||
| 127 | + public String removeSemicolon(String str){ | ||
| 128 | + if (str.startsWith(";")) | ||
| 129 | + str = str.substring(1); | ||
| 130 | + return str; | ||
| 131 | + } | ||
| 132 | +} |
trash-workFlow/src/main/java/com/trash/other/service/impl/IncorruptGovernmentServiceImpl.java
0 → 100644
| 1 | +package com.trash.other.service.impl; | ||
| 2 | + | ||
| 3 | +import com.trash.common.config.trashConfig; | ||
| 4 | +import com.trash.common.utils.DateUtils; | ||
| 5 | +import com.trash.common.utils.SecurityUtils; | ||
| 6 | +import com.trash.other.domain.IncorruptGovernment; | ||
| 7 | +import com.trash.other.mapper.IncorruptGovernmentMapper; | ||
| 8 | +import com.trash.other.service.IIncorruptGovernmentService; | ||
| 9 | +import org.springframework.beans.factory.annotation.Autowired; | ||
| 10 | +import org.springframework.stereotype.Service; | ||
| 11 | +import org.springframework.web.multipart.MultipartFile; | ||
| 12 | + | ||
| 13 | +import java.io.IOException; | ||
| 14 | +import java.util.List; | ||
| 15 | + | ||
| 16 | +import static com.trash.common.utils.file.FileUploadUtils.upload; | ||
| 17 | + | ||
| 18 | +/** | ||
| 19 | + * 廉政风险点Service业务层处理 | ||
| 20 | + * | ||
| 21 | + * @author trash | ||
| 22 | + * @date 2023-11-28 | ||
| 23 | + */ | ||
| 24 | +@Service | ||
| 25 | +public class IncorruptGovernmentServiceImpl implements IIncorruptGovernmentService | ||
| 26 | +{ | ||
| 27 | + @Autowired | ||
| 28 | + private IncorruptGovernmentMapper IncorruptGovernmentMapper; | ||
| 29 | + | ||
| 30 | + /** | ||
| 31 | + * 查询廉政风险点 | ||
| 32 | + * | ||
| 33 | + * @param id 廉政风险点ID | ||
| 34 | + * @return 廉政风险点 | ||
| 35 | + */ | ||
| 36 | + @Override | ||
| 37 | + public IncorruptGovernment selectIncorruptGovernmentById(Long id) | ||
| 38 | + { | ||
| 39 | + return IncorruptGovernmentMapper.selectIncorruptGovernmentById(id); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * 查询廉政风险点列表 | ||
| 44 | + * | ||
| 45 | + * @param IncorruptGovernment 廉政风险点 | ||
| 46 | + * @return 廉政风险点 | ||
| 47 | + */ | ||
| 48 | + @Override | ||
| 49 | + public List<IncorruptGovernment> selectIncorruptGovernmentList(IncorruptGovernment IncorruptGovernment) | ||
| 50 | + { | ||
| 51 | + return IncorruptGovernmentMapper.selectIncorruptGovernmentList(IncorruptGovernment); | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 新增廉政风险点 | ||
| 56 | + * | ||
| 57 | + * @param files | ||
| 58 | + * @param IncorruptGovernment 廉政风险点 | ||
| 59 | + * @return 结果 | ||
| 60 | + */ | ||
| 61 | + @Override | ||
| 62 | + public int insertIncorruptGovernment(MultipartFile[] files, IncorruptGovernment IncorruptGovernment) throws IOException { | ||
| 63 | + for (MultipartFile file:files){ | ||
| 64 | + IncorruptGovernment.setFiles(IncorruptGovernment.getFiles()!=null?IncorruptGovernment.getFiles()+";"+uploadFile(file):uploadFile(file)); | ||
| 65 | + } | ||
| 66 | + IncorruptGovernment.setFiles(removeSemicolon(IncorruptGovernment.getFiles())); | ||
| 67 | + return IncorruptGovernmentMapper.insertIncorruptGovernment(IncorruptGovernment); | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + /** | ||
| 71 | + * 修改廉政风险点 | ||
| 72 | + * | ||
| 73 | + * @param files | ||
| 74 | + * @param IncorruptGovernment 廉政风险点 | ||
| 75 | + * @return 结果 | ||
| 76 | + */ | ||
| 77 | + @Override | ||
| 78 | + public int updateIncorruptGovernment(MultipartFile[] files, IncorruptGovernment IncorruptGovernment) throws IOException { | ||
| 79 | + IncorruptGovernment.setUpdateTime(DateUtils.getNowDate()); | ||
| 80 | + IncorruptGovernment.setUpdateBy(SecurityUtils.getUsername()); | ||
| 81 | + for (MultipartFile file:files){ | ||
| 82 | + IncorruptGovernment.setFiles(IncorruptGovernment.getFiles()!=null?IncorruptGovernment.getFiles()+";"+uploadFile(file):uploadFile(file)); | ||
| 83 | + } | ||
| 84 | + IncorruptGovernment.setFiles(removeSemicolon(IncorruptGovernment.getFiles())); | ||
| 85 | + return IncorruptGovernmentMapper.updateIncorruptGovernment(IncorruptGovernment); | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + /** | ||
| 89 | + * 批量删除廉政风险点 | ||
| 90 | + * | ||
| 91 | + * @param ids 需要删除的廉政风险点ID | ||
| 92 | + * @return 结果 | ||
| 93 | + */ | ||
| 94 | + @Override | ||
| 95 | + public int deleteIncorruptGovernmentByIds(Long[] ids) | ||
| 96 | + { | ||
| 97 | + return IncorruptGovernmentMapper.deleteIncorruptGovernmentByIds(ids); | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + /** | ||
| 101 | + * 删除廉政风险点信息 | ||
| 102 | + * | ||
| 103 | + * @param id 廉政风险点ID | ||
| 104 | + * @return 结果 | ||
| 105 | + */ | ||
| 106 | + @Override | ||
| 107 | + public int deleteIncorruptGovernmentById(Long id) | ||
| 108 | + { | ||
| 109 | + return IncorruptGovernmentMapper.deleteIncorruptGovernmentById(id); | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + /** | ||
| 113 | + * 文件上传 | ||
| 114 | + * | ||
| 115 | + * @param file | ||
| 116 | + * @author 2c | ||
| 117 | + */ | ||
| 118 | + public static String uploadFile(MultipartFile file) throws IOException { | ||
| 119 | + // 上传文件路径 | ||
| 120 | + String filePath = trashConfig.getUploadPath(); | ||
| 121 | + // 上传并返回新文件名称 | ||
| 122 | + String newFileName = upload(filePath, file); | ||
| 123 | + return newFileName; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + //去掉第一个分号,如果有的话 | ||
| 127 | + public String removeSemicolon(String str){ | ||
| 128 | + if (str.startsWith(";")) | ||
| 129 | + str = str.substring(1); | ||
| 130 | + return str; | ||
| 131 | + } | ||
| 132 | +} |
trash-workFlow/src/main/resources/mapper/other/IncorruptEducationMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8" ?> | ||
| 2 | +<!DOCTYPE mapper | ||
| 3 | +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||
| 4 | +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 5 | +<mapper namespace="com.trash.other.mapper.IncorruptEducationMapper"> | ||
| 6 | + | ||
| 7 | + <resultMap type="IncorruptEducation" id="IncorruptEducationResult"> | ||
| 8 | + <result property="id" column="id" /> | ||
| 9 | + <result property="title" column="title" /> | ||
| 10 | + <result property="content" column="content" /> | ||
| 11 | + <result property="files" column="files" /> | ||
| 12 | + <result property="createTime" column="create_time" /> | ||
| 13 | + <result property="createBy" column="create_by" /> | ||
| 14 | + <result property="updateTime" column="update_time" /> | ||
| 15 | + <result property="updateBy" column="update_by" /> | ||
| 16 | + </resultMap> | ||
| 17 | + | ||
| 18 | + <sql id="selectIncorruptEducationVo"> | ||
| 19 | + select id, title, content, files, create_time, create_by, update_time, update_by from IncorruptEducation | ||
| 20 | + </sql> | ||
| 21 | + | ||
| 22 | + <select id="selectIncorruptEducationList" parameterType="IncorruptEducation" resultMap="IncorruptEducationResult"> | ||
| 23 | + <include refid="selectIncorruptEducationVo"/> | ||
| 24 | + <where> | ||
| 25 | + <if test="title != null and title != ''"> and title like concat('%',#{title},'%')</if> | ||
| 26 | + <if test="content != null and content != ''"> and content = #{content}</if> | ||
| 27 | + <if test="files != null and files != ''"> and files = #{files}</if> | ||
| 28 | + </where> | ||
| 29 | + order by create_time desc | ||
| 30 | + </select> | ||
| 31 | + | ||
| 32 | + <select id="selectIncorruptEducationById" parameterType="Long" resultMap="IncorruptEducationResult"> | ||
| 33 | + <include refid="selectIncorruptEducationVo"/> | ||
| 34 | + where id = #{id} | ||
| 35 | + </select> | ||
| 36 | + | ||
| 37 | + <insert id="insertIncorruptEducation" parameterType="IncorruptEducation" useGeneratedKeys="true" keyProperty="id"> | ||
| 38 | + insert into IncorruptEducation | ||
| 39 | + <trim prefix="(" suffix=")" suffixOverrides=","> | ||
| 40 | + <if test="title != null">title,</if> | ||
| 41 | + <if test="content != null">content,</if> | ||
| 42 | + <if test="files != null">files,</if> | ||
| 43 | + <if test="createTime != null">create_time,</if> | ||
| 44 | + <if test="createBy != null">create_by,</if> | ||
| 45 | + <if test="updateTime != null">update_time,</if> | ||
| 46 | + <if test="updateBy != null">update_by,</if> | ||
| 47 | + </trim> | ||
| 48 | + <trim prefix="values (" suffix=")" suffixOverrides=","> | ||
| 49 | + <if test="title != null">#{title},</if> | ||
| 50 | + <if test="content != null">#{content},</if> | ||
| 51 | + <if test="files != null">#{files},</if> | ||
| 52 | + <if test="createTime != null">#{createTime},</if> | ||
| 53 | + <if test="createBy != null">#{createBy},</if> | ||
| 54 | + <if test="updateTime != null">#{updateTime},</if> | ||
| 55 | + <if test="updateBy != null">#{updateBy},</if> | ||
| 56 | + </trim> | ||
| 57 | + </insert> | ||
| 58 | + | ||
| 59 | + <update id="updateIncorruptEducation" parameterType="IncorruptEducation"> | ||
| 60 | + update IncorruptEducation | ||
| 61 | + <trim prefix="SET" suffixOverrides=","> | ||
| 62 | + <if test="title != null">title = #{title},</if> | ||
| 63 | + <if test="content != null">content = #{content},</if> | ||
| 64 | + <if test="files != null">files = #{files},</if> | ||
| 65 | + <if test="createTime != null">create_time = #{createTime},</if> | ||
| 66 | + <if test="createBy != null">create_by = #{createBy},</if> | ||
| 67 | + <if test="updateTime != null">update_time = #{updateTime},</if> | ||
| 68 | + <if test="updateBy != null">update_by = #{updateBy},</if> | ||
| 69 | + </trim> | ||
| 70 | + where id = #{id} | ||
| 71 | + </update> | ||
| 72 | + | ||
| 73 | + <delete id="deleteIncorruptEducationById" parameterType="Long"> | ||
| 74 | + delete from IncorruptEducation where id = #{id} | ||
| 75 | + </delete> | ||
| 76 | + | ||
| 77 | + <delete id="deleteIncorruptEducationByIds" parameterType="String"> | ||
| 78 | + delete from IncorruptEducation where id in | ||
| 79 | + <foreach item="id" collection="array" open="(" separator="," close=")"> | ||
| 80 | + #{id} | ||
| 81 | + </foreach> | ||
| 82 | + </delete> | ||
| 83 | + | ||
| 84 | +</mapper> | ||
| 0 | \ No newline at end of file | 85 | \ No newline at end of file |
trash-workFlow/src/main/resources/mapper/other/IncorruptGovernmentMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8" ?> | ||
| 2 | +<!DOCTYPE mapper | ||
| 3 | +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||
| 4 | +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 5 | +<mapper namespace="com.trash.other.mapper.IncorruptGovernmentMapper"> | ||
| 6 | + | ||
| 7 | + <resultMap type="IncorruptGovernment" id="IncorruptGovernmentResult"> | ||
| 8 | + <result property="id" column="id" /> | ||
| 9 | + <result property="title" column="title" /> | ||
| 10 | + <result property="content" column="content" /> | ||
| 11 | + <result property="files" column="files" /> | ||
| 12 | + <result property="createTime" column="create_time" /> | ||
| 13 | + <result property="createBy" column="create_by" /> | ||
| 14 | + <result property="updateTime" column="update_time" /> | ||
| 15 | + <result property="updateBy" column="update_by" /> | ||
| 16 | + </resultMap> | ||
| 17 | + | ||
| 18 | + <sql id="selectIncorruptGovernmentVo"> | ||
| 19 | + select id, title, content, files, create_time, create_by, update_time, update_by from IncorruptGovernment | ||
| 20 | + </sql> | ||
| 21 | + | ||
| 22 | + <select id="selectIncorruptGovernmentList" parameterType="IncorruptGovernment" resultMap="IncorruptGovernmentResult"> | ||
| 23 | + <include refid="selectIncorruptGovernmentVo"/> | ||
| 24 | + <where> | ||
| 25 | + <if test="title != null and title != ''"> and title like concat('%',#{title},'%')</if> | ||
| 26 | + <if test="content != null and content != ''"> and content = #{content}</if> | ||
| 27 | + <if test="files != null and files != ''"> and files = #{files}</if> | ||
| 28 | + </where> | ||
| 29 | + order by create_time desc | ||
| 30 | + </select> | ||
| 31 | + | ||
| 32 | + <select id="selectIncorruptGovernmentById" parameterType="Long" resultMap="IncorruptGovernmentResult"> | ||
| 33 | + <include refid="selectIncorruptGovernmentVo"/> | ||
| 34 | + where id = #{id} | ||
| 35 | + </select> | ||
| 36 | + | ||
| 37 | + <insert id="insertIncorruptGovernment" parameterType="IncorruptGovernment" useGeneratedKeys="true" keyProperty="id"> | ||
| 38 | + insert into IncorruptGovernment | ||
| 39 | + <trim prefix="(" suffix=")" suffixOverrides=","> | ||
| 40 | + <if test="title != null">title,</if> | ||
| 41 | + <if test="content != null">content,</if> | ||
| 42 | + <if test="files != null">files,</if> | ||
| 43 | + <if test="createTime != null">create_time,</if> | ||
| 44 | + <if test="createBy != null">create_by,</if> | ||
| 45 | + <if test="updateTime != null">update_time,</if> | ||
| 46 | + <if test="updateBy != null">update_by,</if> | ||
| 47 | + </trim> | ||
| 48 | + <trim prefix="values (" suffix=")" suffixOverrides=","> | ||
| 49 | + <if test="title != null">#{title},</if> | ||
| 50 | + <if test="content != null">#{content},</if> | ||
| 51 | + <if test="files != null">#{files},</if> | ||
| 52 | + <if test="createTime != null">#{createTime},</if> | ||
| 53 | + <if test="createBy != null">#{createBy},</if> | ||
| 54 | + <if test="updateTime != null">#{updateTime},</if> | ||
| 55 | + <if test="updateBy != null">#{updateBy},</if> | ||
| 56 | + </trim> | ||
| 57 | + </insert> | ||
| 58 | + | ||
| 59 | + <update id="updateIncorruptGovernment" parameterType="IncorruptGovernment"> | ||
| 60 | + update IncorruptGovernment | ||
| 61 | + <trim prefix="SET" suffixOverrides=","> | ||
| 62 | + <if test="title != null">title = #{title},</if> | ||
| 63 | + <if test="content != null">content = #{content},</if> | ||
| 64 | + <if test="files != null">files = #{files},</if> | ||
| 65 | + <if test="createTime != null">create_time = #{createTime},</if> | ||
| 66 | + <if test="createBy != null">create_by = #{createBy},</if> | ||
| 67 | + <if test="updateTime != null">update_time = #{updateTime},</if> | ||
| 68 | + <if test="updateBy != null">update_by = #{updateBy},</if> | ||
| 69 | + </trim> | ||
| 70 | + where id = #{id} | ||
| 71 | + </update> | ||
| 72 | + | ||
| 73 | + <delete id="deleteIncorruptGovernmentById" parameterType="Long"> | ||
| 74 | + delete from IncorruptGovernment where id = #{id} | ||
| 75 | + </delete> | ||
| 76 | + | ||
| 77 | + <delete id="deleteIncorruptGovernmentByIds" parameterType="String"> | ||
| 78 | + delete from IncorruptGovernment where id in | ||
| 79 | + <foreach item="id" collection="array" open="(" separator="," close=")"> | ||
| 80 | + #{id} | ||
| 81 | + </foreach> | ||
| 82 | + </delete> | ||
| 83 | + | ||
| 84 | +</mapper> | ||
| 0 | \ No newline at end of file | 85 | \ No newline at end of file |