From 21e23dcd37864468f07e784826b44a5ff0452d0f Mon Sep 17 00:00:00 2001 From: sk1551 <15175617877@163.com> Date: Mon, 18 May 2020 14:42:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E6=97=A5=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E4=B9=8B=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/api/benyi/dayflowmanger.js | 53 -- ruoyi-ui/src/api/system/dict/data.js | 120 +-- ruoyi-ui/src/assets/styles/index.scss | 383 +++++----- ruoyi-ui/src/router/index.js | 262 +++---- .../src/views/benyi/dayflowmanger/index.vue | 348 --------- ruoyi-ui/src/views/system/dict/data.vue | 708 +++++++++--------- .../controller/ByDayFlowDetailController.java | 3 +- 7 files changed, 743 insertions(+), 1134 deletions(-) delete mode 100644 ruoyi-ui/src/api/benyi/dayflowmanger.js delete mode 100644 ruoyi-ui/src/views/benyi/dayflowmanger/index.vue diff --git a/ruoyi-ui/src/api/benyi/dayflowmanger.js b/ruoyi-ui/src/api/benyi/dayflowmanger.js deleted file mode 100644 index 4a5356c9e..000000000 --- a/ruoyi-ui/src/api/benyi/dayflowmanger.js +++ /dev/null @@ -1,53 +0,0 @@ -import request from '@/utils/request' - -// 查询一日流程列表 -export function listDetail(query) { - return request({ - url: '/benyi/dayflowmanger/list', - method: 'get', - params: query - }) -} - -// 查询一日流程详细 -export function getDetail(id) { - return request({ - url: '/benyi/dayflowmanger/' + id, - method: 'get' - }) -} - -// 新增一日流程 -export function addDetail(data) { - return request({ - url: '/benyi/dayflowmanger', - method: 'post', - data: data - }) -} - -// 修改一日流程 -export function updateDetail(data) { - return request({ - url: '/benyi/dayflowmanger', - method: 'put', - data: data - }) -} - -// 删除一日流程 -export function delDetail(id) { - return request({ - url: '/benyi/dayflowmanger/' + id, - method: 'delete' - }) -} - -// 导出一日流程 -export function exportDetail(query) { - return request({ - url: '/benyi/dayflowmanger/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/api/system/dict/data.js b/ruoyi-ui/src/api/system/dict/data.js index 6a3f4186b..935d1b76f 100644 --- a/ruoyi-ui/src/api/system/dict/data.js +++ b/ruoyi-ui/src/api/system/dict/data.js @@ -1,61 +1,61 @@ -import request from '@/utils/request' - -// 查询字典数据列表 -export function listData(query) { - return request({ - url: '/system/dict/data/list', - method: 'get', - params: query - }) -} - -// 查询字典数据详细 -export function getData(dictCode) { - return request({ - url: '/system/dict/data/' + dictCode, - method: 'get' - }) -} - -// 根据字典类型查询字典数据信息 -export function getDicts(dictType) { - return request({ - url: '/system/dict/data/dictType/' + dictType, - method: 'get' - }) -} - -// 新增字典数据 -export function addData(data) { - return request({ - url: '/system/dict/data', - method: 'post', - data: data - }) -} - -// 修改字典数据 -export function updateData(data) { - return request({ - url: '/system/dict/data', - method: 'put', - data: data - }) -} - -// 删除字典数据 -export function delData(dictCode) { - return request({ - url: '/system/dict/data/' + dictCode, - method: 'delete' - }) -} - -// 导出字典数据 -export function exportData(query) { - return request({ - url: '/system/dict/data/export', - method: 'get', - params: query - }) +import request from '@/utils/request' + +// 查询字典数据列表 +export function listData(query) { + return request({ + url: '/system/dict/data/list', + method: 'get', + params: query + }) +} + +// 查询字典数据详细 +export function getData(dictCode) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'get' + }) +} + +// 根据字典类型查询字典数据信息 +export function getDicts(dictType) { + return request({ + url: '/system/dict/data/dictType/' + dictType, + method: 'get' + }) +} + +// 新增字典数据 +export function addData(data) { + return request({ + url: '/system/dict/data', + method: 'post', + data: data + }) +} + +// 修改字典数据 +export function updateData(data) { + return request({ + url: '/system/dict/data', + method: 'put', + data: data + }) +} + +// 删除字典数据 +export function delData(dictCode) { + return request({ + url: '/system/dict/data/' + dictCode, + method: 'delete' + }) +} + +// 导出字典数据 +export function exportData(query) { + return request({ + url: '/system/dict/data/export', + method: 'get', + params: query + }) } \ No newline at end of file diff --git a/ruoyi-ui/src/assets/styles/index.scss b/ruoyi-ui/src/assets/styles/index.scss index 9f536ae80..73015cbc8 100644 --- a/ruoyi-ui/src/assets/styles/index.scss +++ b/ruoyi-ui/src/assets/styles/index.scss @@ -1,191 +1,192 @@ -@import './variables.scss'; -@import './mixin.scss'; -@import './transition.scss'; -@import './element-ui.scss'; -@import './sidebar.scss'; -@import './btn.scss'; - -body { - height: 100%; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; -} - -label { - font-weight: 700; -} - -html { - height: 100%; - box-sizing: border-box; -} - -#app { - height: 100%; -} - -*, -*:before, -*:after { - box-sizing: inherit; -} - -.no-padding { - padding: 0px !important; -} - -.padding-content { - padding: 4px 0; -} - -a:focus, -a:active { - outline: none; -} - -a, -a:focus, -a:hover { - cursor: pointer; - color: inherit; - text-decoration: none; -} - -div:focus { - outline: none; -} - -.fr { - float: right; -} - -.fl { - float: left; -} - -.pr-5 { - padding-right: 5px; -} - -.pl-5 { - padding-left: 5px; -} - -.block { - display: block; -} - -.pointer { - cursor: pointer; -} - -.inlineBlock { - display: block; -} - -.clearfix { - &:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; - } -} - -aside { - background: #eef1f6; - padding: 8px 24px; - margin-bottom: 20px; - border-radius: 2px; - display: block; - line-height: 32px; - font-size: 16px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - color: #2c3e50; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - a { - color: #337ab7; - cursor: pointer; - - &:hover { - color: rgb(32, 160, 255); - } - } -} - -//main-container全局样式 -.app-container { - padding: 20px; -} - -.components-container { - margin: 30px 50px; - position: relative; -} - -.pagination-container { - margin-top: 30px; -} - -.text-center { - text-align: center -} - -.sub-navbar { - height: 50px; - line-height: 50px; - position: relative; - width: 100%; - text-align: right; - padding-right: 20px; - transition: 600ms ease position; - background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); - - .subtitle { - font-size: 20px; - color: #fff; - } - - &.draft { - background: #d0d0d0; - } - - &.deleted { - background: #d0d0d0; - } -} - -.link-type, -.link-type:focus { - color: #337ab7; - cursor: pointer; - - &:hover { - color: rgb(32, 160, 255); - } -} - -.filter-container { - padding-bottom: 10px; - - .filter-item { - display: inline-block; - vertical-align: middle; - margin-bottom: 10px; - } -} - -//refine vue-multiselect plugin -.multiselect { - line-height: 16px; -} - -.multiselect--active { - z-index: 1000 !important; -} +@import './variables.scss'; +@import './mixin.scss'; +@import './transition.scss'; +@import './element-ui.scss'; +@import './sidebar.scss'; +@import './btn.scss'; +body { + height: 100%; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; +} + +label { + font-weight: 700; +} + +html { + height: 100%; + box-sizing: border-box; +} + +#app { + height: 100%; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +.no-padding { + padding: 0px !important; +} + +.padding-content { + padding: 4px 0; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +div:focus { + outline: none; +} + +.fr { + float: right; +} + +.fl { + float: left; +} + +.pr-5 { + padding-right: 5px; +} + +.pl-5 { + padding-left: 5px; +} + +.block { + display: block; +} + +.pointer { + cursor: pointer; +} + +.inlineBlock { + display: block; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +} + +aside { + background: #eef1f6; + padding: 8px 24px; + margin-bottom: 20px; + border-radius: 2px; + display: block; + line-height: 32px; + font-size: 16px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + color: #2c3e50; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + a { + color: #337ab7; + cursor: pointer; + &:hover { + color: rgb(32, 160, 255); + } + } +} + +//main-container全局样式 +.app-container { + padding: 20px; +} + +.components-container { + margin: 30px 50px; + position: relative; +} + +.pagination-container { + margin-top: 30px; +} + +.text-center { + text-align: center +} + +.sub-navbar { + height: 50px; + line-height: 50px; + position: relative; + width: 100%; + text-align: right; + padding-right: 20px; + transition: 600ms ease position; + background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); + .subtitle { + font-size: 20px; + color: #fff; + } + &.draft { + background: #d0d0d0; + } + &.deleted { + background: #d0d0d0; + } +} + +.link-type, +.link-type:focus { + color: #337ab7; + cursor: pointer; + &:hover { + color: rgb(32, 160, 255); + } +} + +.link-dayflow, +.link-dayflow:focus { + color: #337ab7; + cursor: pointer; + &:hover { + color: rgb(32, 160, 255); + } +} + +.filter-container { + padding-bottom: 10px; + .filter-item { + display: inline-block; + vertical-align: middle; + margin-bottom: 10px; + } +} + +//refine vue-multiselect plugin +.multiselect { + line-height: 16px; +} + +.multiselect--active { + z-index: 1000 !important; +} \ No newline at end of file diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js index ec7bc7c0f..d879f5c9e 100644 --- a/ruoyi-ui/src/router/index.js +++ b/ruoyi-ui/src/router/index.js @@ -1,127 +1,135 @@ -import Vue from 'vue' -import Router from 'vue-router' - -Vue.use(Router) - -/* Layout */ -import Layout from '@/layout' - -/** - * Note: 路由配置项 - * - * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1 - * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 - * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面 - * // 若你想不管路由下面的 children 声明的个数都显示你的根路由 - * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由 - * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 - * name:'router-name' // 设定路由的名字,一定要填写不然使用<keep-alive>时会出现各种问题 - * meta : { - roles: ['admin','editor'] // 设置该路由进入的权限,支持多个权限叠加 - title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字 - icon: 'svg-name' // 设置该路由的图标,对应路径src/icons/svg - breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示 - } - */ - -// 公共路由 -export const constantRoutes = [ - { - path: '/redirect', - component: Layout, - hidden: true, - children: [ - { - path: '/redirect/:path(.*)', - component: () => import('@/views/redirect') - } - ] - }, - { - path: '/login', - component: () => import('@/views/login'), - hidden: true - }, - { - path: '/404', - component: () => import('@/views/error/404'), - hidden: true - }, - { - path: '/401', - component: () => import('@/views/error/401'), - hidden: true - }, - { - path: '', - component: Layout, - redirect: 'index', - children: [ - { - path: 'index', - component: () => import('@/views/index'), - name: '首页', - meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true } - } - ] - }, - { - path: '/user', - component: Layout, - hidden: true, - redirect: 'noredirect', - children: [ - { - path: 'profile', - component: () => import('@/views/system/user/profile/index'), - name: 'Profile', - meta: { title: '个人中心', icon: 'user' } - } - ] - }, - { - path: '/dict', - component: Layout, - hidden: true, - children: [ - { - path: 'type/data/:dictId(\\d+)', - component: () => import('@/views/system/dict/data'), - name: 'Data', - meta: { title: '字典数据', icon: '' } - } - ] - }, - { - path: '/job', - component: Layout, - hidden: true, - children: [ - { - path: 'log', - component: () => import('@/views/monitor/job/log'), - name: 'JobLog', - meta: { title: '调度日志' } - } - ] - }, - { - path: '/gen', - component: Layout, - hidden: true, - children: [ - { - path: 'edit', - component: () => import('@/views/tool/gen/editTable'), - name: 'GenEdit', - meta: { title: '修改生成配置' } - } - ] - } -] - -export default new Router({ - mode: 'history', // 去掉url中的# - scrollBehavior: () => ({ y: 0 }), - routes: constantRoutes -}) +import Vue from 'vue' +import Router from 'vue-router' + +Vue.use(Router) + +/* Layout */ +import Layout from '@/layout' + +/** + * Note: 路由配置项 + * + * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1 + * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 + * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面 + * // 若你想不管路由下面的 children 声明的个数都显示你的根路由 + * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由 + * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 + * name:'router-name' // 设定路由的名字,一定要填写不然使用<keep-alive>时会出现各种问题 + * meta : { + roles: ['admin','editor'] // 设置该路由进入的权限,支持多个权限叠加 + title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字 + icon: 'svg-name' // 设置该路由的图标,对应路径src/icons/svg + breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示 + } + */ + +// 公共路由 +export const constantRoutes = [{ + path: '/redirect', + component: Layout, + hidden: true, + children: [{ + path: '/redirect/:path(.*)', + component: () => + import ('@/views/redirect') + }] + }, + { + path: '/login', + component: () => + import ('@/views/login'), + hidden: true + }, + { + path: '/404', + component: () => + import ('@/views/error/404'), + hidden: true + }, + { + path: '/401', + component: () => + import ('@/views/error/401'), + hidden: true + }, + { + path: '', + component: Layout, + redirect: 'index', + children: [{ + path: 'index', + component: () => + import ('@/views/index'), + name: '首页', + meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true } + }] + }, + { + path: '/user', + component: Layout, + hidden: true, + redirect: 'noredirect', + children: [{ + path: 'profile', + component: () => + import ('@/views/system/user/profile/index'), + name: 'Profile', + meta: { title: '个人中心', icon: 'user' } + }] + }, + { + path: '/dict', + component: Layout, + hidden: true, + children: [{ + path: 'type/data/:dictId(\\d+)', + component: () => + import ('@/views/system/dict/data'), + name: 'Data', + meta: { title: '字典数据', icon: '' } + }] + }, + { + path: '/dayflow', + component: Layout, + hidden: true, + children: [{ + path: 'dayflowmanger/dayflowtask/:id(\\d+)', + component: () => + import ('@/views/benyi/dayflow/task'), + name: 'Task', + meta: { title: '一日流程任务', icon: '' } + }] + }, + { + path: '/job', + component: Layout, + hidden: true, + children: [{ + path: 'log', + component: () => + import ('@/views/monitor/job/log'), + name: 'JobLog', + meta: { title: '调度日志' } + }] + }, + { + path: '/gen', + component: Layout, + hidden: true, + children: [{ + path: 'edit', + component: () => + import ('@/views/tool/gen/editTable'), + name: 'GenEdit', + meta: { title: '修改生成配置' } + }] + } +] + +export default new Router({ + mode: 'history', // 去掉url中的# + scrollBehavior: () => ({ y: 0 }), + routes: constantRoutes +}) \ No newline at end of file diff --git a/ruoyi-ui/src/views/benyi/dayflowmanger/index.vue b/ruoyi-ui/src/views/benyi/dayflowmanger/index.vue deleted file mode 100644 index c7f59a0bc..000000000 --- a/ruoyi-ui/src/views/benyi/dayflowmanger/index.vue +++ /dev/null @@ -1,348 +0,0 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px"> - <el-form-item label="流程类型" prop="flowType"> - <el-select v-model="queryParams.flowType" placeholder="请选择类型" clearable size="small"> - <el-option - v-for="dict in dayflowtypeOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="流程名称" prop="name"> - <el-input - v-model="queryParams.name" - placeholder="请输入名称" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['benyi:dayflowmanger:add']" - >新增</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['benyi:dayflowmanger:edit']" - >修改</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['benyi:dayflowmanger:remove']" - >删除</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['benyi:dayflowmanger:export']" - >导出</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="detailList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="流程ID" align="center" prop="id" /> - <el-table-column label="流程名称" align="center" prop="name" /> - <el-table-column label="流程序号" align="center" prop="sortNumber" /> - <el-table-column label="流程任务数量" align="center" prop="targetCount" /> - <el-table-column label="类型" align="center" prop="flowType" :formatter="dayflowtypeFormat" /> - <el-table-column label="创建时间" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['benyi:dayflowmanger:edit']" - >修改</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['benyi:dayflowmanger:remove']" - >删除</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 添加或修改一日流程对话框 --> - <el-dialog :title="title" :visible.sync="open" width="1024px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="名称" prop="name"> - <el-input v-model="form.name" placeholder="请输入内容" /> - </el-form-item> - <el-form-item label="流程序号" prop="sortNumber"> - <el-input-number v-model="form.sortNumber" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="类型" prop="flowType"> - <el-select v-model="form.flowType" placeholder="请选择类型"> - <el-option - v-for="dict in dayflowtypeOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item label="导言" prop="content"> - <el-input v-model="form.content" type="textarea" placeholder="请输入导言" /> - </el-form-item> - - <el-form-item label="目的" prop="note"> - <Editor v-model="form.note" /> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">确 定</el-button> - <el-button @click="cancel">取 消</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { - listDetail, - getDetail, - delDetail, - addDetail, - updateDetail, - exportDetail -} from "@/api/benyi/dayflowmanger"; -import Editor from "@/components/Editor"; - -export default { - name: "Detail", - components: { - Editor - }, - data() { - return { - // 遮罩层 - loading: true, - // 选中数组 - ids: [], - // 非单个禁用 - single: true, - // 非多个禁用 - multiple: true, - // 总条数 - total: 0, - // 一日流程表格数据 - detailList: [], - // 弹出层标题 - title: "", - // 是否显示弹出层 - open: false, - //一日流程类型 - dayflowtypeOptions: [], - // 查询参数 - queryParams: { - pageNum: 1, - pageSize: 10, - name: undefined, - flowType: undefined, - createUser: undefined, - updateUser: undefined - }, - // 表单参数 - form: {}, - // 表单校验 - rules: { - name: [{ required: true, message: "名称不能为空", trigger: "blur" }], - content: [{ required: true, message: "导言不能为空", trigger: "blur" }], - note: [{ required: true, message: "目的不能为空", trigger: "blur" }], - sortNumber: [ - { required: true, message: "流程序号不能为空", trigger: "blur" } - ], - flowType: [ - { required: true, message: "流程类型不能为空", trigger: "blur" } - ] - } - }; - }, - created() { - this.getList(); - this.getDicts("sys_dayflow_type").then(response => { - this.dayflowtypeOptions = response.data; - }); - }, - methods: { - /** 查询一日流程列表 */ - getList() { - this.loading = true; - listDetail(this.queryParams).then(response => { - this.detailList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 流程类型--字典状态字典翻译 - dayflowtypeFormat(row, column) { - return this.selectDictLabel(this.dayflowtypeOptions, row.flowType); - }, - // 取消按钮 - cancel() { - this.open = false; - this.reset(); - }, - // 表单重置 - reset() { - this.form = { - id: undefined, - sortNumber: 0, - targetCount: undefined, - name: undefined, - content: undefined, - note: undefined, - flowType: undefined, - createUser: undefined, - updateUser: undefined, - createTime: undefined, - updateTime: undefined - }; - this.resetForm("form"); - }, - /** 搜索按钮操作 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 重置按钮操作 */ - resetQuery() { - this.resetForm("queryForm"); - this.handleQuery(); - }, - // 多选框选中数据 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.id); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - /** 新增按钮操作 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "添加一日流程"; - }, - /** 修改按钮操作 */ - handleUpdate(row) { - this.reset(); - const id = row.id || this.ids; - getDetail(id).then(response => { - this.form = response.data; - console.log(response.data); - this.open = true; - this.title = "修改一日流程"; - }); - }, - /** 提交按钮 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.id != undefined) { - updateDetail(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("修改成功"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addDetail(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("新增成功"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 删除按钮操作 */ - handleDelete(row) { - const ids = row.id || this.ids; - this.$confirm( - '是否确认删除一日流程编号为"' + ids + '"的数据项?', - "警告", - { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning" - } - ) - .then(function() { - return delDetail(ids); - }) - .then(() => { - this.getList(); - this.msgSuccess("删除成功"); - }) - .catch(function() {}); - }, - /** 导出按钮操作 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm("是否确认导出所有一日流程数据项?", "警告", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning" - }) - .then(function() { - return exportDetail(queryParams); - }) - .then(response => { - this.download(response.msg); - }) - .catch(function() {}); - } - } -}; -</script> \ No newline at end of file diff --git a/ruoyi-ui/src/views/system/dict/data.vue b/ruoyi-ui/src/views/system/dict/data.vue index dcb8cb70f..5b367223e 100644 --- a/ruoyi-ui/src/views/system/dict/data.vue +++ b/ruoyi-ui/src/views/system/dict/data.vue @@ -1,355 +1,355 @@ -<template> - <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true"> - <el-form-item label="字典名称" prop="dictType"> - <el-select v-model="queryParams.dictType" size="small"> - <el-option - v-for="item in typeOptions" - :key="item.dictId" - :label="item.dictName" - :value="item.dictType" - /> - </el-select> - </el-form-item> - <el-form-item label="字典标签" prop="dictLabel"> - <el-input - v-model="queryParams.dictLabel" - placeholder="请输入字典标签" - clearable - size="small" - @keyup.enter.native="handleQuery" - /> - </el-form-item> - <el-form-item label="状态" prop="status"> - <el-select v-model="queryParams.status" placeholder="数据状态" clearable size="small"> - <el-option - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictLabel" - :value="dict.dictValue" - /> - </el-select> - </el-form-item> - <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> - </el-form-item> - </el-form> - - <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:dict:add']" - >新增</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="success" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUpdate" - v-hasPermi="['system:dict:edit']" - >修改</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="danger" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:dict:remove']" - >删除</el-button> - </el-col> - <el-col :span="1.5"> - <el-button - type="warning" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:dict:export']" - >导出</el-button> - </el-col> - </el-row> - - <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="字典编码" align="center" prop="dictCode" /> - <el-table-column label="字典标签" align="center" prop="dictLabel" /> - <el-table-column label="字典键值" align="center" prop="dictValue" /> - <el-table-column label="字典排序" align="center" prop="dictSort" /> - <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> - <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" /> - <el-table-column label="创建时间" align="center" prop="createTime" width="180"> - <template slot-scope="scope"> - <span>{{ parseTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:dict:edit']" - >修改</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:dict:remove']" - >删除</el-button> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 添加或修改参数配置对话框 --> - <el-dialog :title="title" :visible.sync="open" width="500px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> - <el-form-item label="字典类型"> - <el-input v-model="form.dictType" :disabled="true" /> - </el-form-item> - <el-form-item label="数据标签" prop="dictLabel"> - <el-input v-model="form.dictLabel" placeholder="请输入数据标签" /> - </el-form-item> - <el-form-item label="数据键值" prop="dictValue"> - <el-input v-model="form.dictValue" placeholder="请输入数据键值" /> - </el-form-item> - <el-form-item label="显示排序" prop="dictSort"> - <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> - </el-form-item> - <el-form-item label="状态" prop="status"> - <el-radio-group v-model="form.status"> - <el-radio - v-for="dict in statusOptions" - :key="dict.dictValue" - :label="dict.dictValue" - >{{dict.dictLabel}}</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="备注" prop="remark"> - <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input> - </el-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">确 定</el-button> - <el-button @click="cancel">取 消</el-button> - </div> - </el-dialog> - </div> -</template> - -<script> -import { listData, getData, delData, addData, updateData, exportData } from "@/api/system/dict/data"; -import { listType, getType } from "@/api/system/dict/type"; - -export default { - name: "Data", - data() { - return { - // 遮罩层 - loading: true, - // 选中数组 - ids: [], - // 非单个禁用 - single: true, - // 非多个禁用 - multiple: true, - // 总条数 - total: 0, - // 字典表格数据 - dataList: [], - // 默认字典类型 - defaultDictType: "", - // 弹出层标题 - title: "", - // 是否显示弹出层 - open: false, - // 状态数据字典 - statusOptions: [], - // 类型数据字典 - typeOptions: [], - // 查询参数 - queryParams: { - pageNum: 1, - pageSize: 10, - dictName: undefined, - dictType: undefined, - status: undefined - }, - // 表单参数 - form: {}, - // 表单校验 - rules: { - dictLabel: [ - { required: true, message: "数据标签不能为空", trigger: "blur" } - ], - dictValue: [ - { required: true, message: "数据键值不能为空", trigger: "blur" } - ], - dictSort: [ - { required: true, message: "数据顺序不能为空", trigger: "blur" } - ] - } - }; - }, - created() { - const dictId = this.$route.params && this.$route.params.dictId; - this.getType(dictId); - this.getTypeList(); - this.getDicts("sys_normal_disable").then(response => { - this.statusOptions = response.data; - }); - }, - methods: { - /** 查询字典类型详细 */ - getType(dictId) { - getType(dictId).then(response => { - this.queryParams.dictType = response.data.dictType; - this.defaultDictType = response.data.dictType; - this.getList(); - }); - }, - /** 查询字典类型列表 */ - getTypeList() { - listType().then(response => { - this.typeOptions = response.rows; - }); - }, - /** 查询字典数据列表 */ - getList() { - this.loading = true; - listData(this.queryParams).then(response => { - this.dataList = response.rows; - this.total = response.total; - this.loading = false; - }); - }, - // 数据状态字典翻译 - statusFormat(row, column) { - return this.selectDictLabel(this.statusOptions, row.status); - }, - // 取消按钮 - cancel() { - this.open = false; - this.reset(); - }, - // 表单重置 - reset() { - this.form = { - dictCode: undefined, - dictLabel: undefined, - dictValue: undefined, - dictSort: 0, - status: "0", - remark: undefined - }; - this.resetForm("form"); - }, - /** 搜索按钮操作 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 重置按钮操作 */ - resetQuery() { - this.resetForm("queryForm"); - this.queryParams.dictType = this.defaultDictType; - this.handleQuery(); - }, - /** 新增按钮操作 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "添加字典数据"; - this.form.dictType = this.queryParams.dictType; - }, - // 多选框选中数据 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.dictCode) - this.single = selection.length!=1 - this.multiple = !selection.length - }, - /** 修改按钮操作 */ - handleUpdate(row) { - this.reset(); - const dictCode = row.dictCode || this.ids - getData(dictCode).then(response => { - this.form = response.data; - this.open = true; - this.title = "修改字典数据"; - }); - }, - /** 提交按钮 */ - submitForm: function() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.dictCode != undefined) { - updateData(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("修改成功"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } else { - addData(this.form).then(response => { - if (response.code === 200) { - this.msgSuccess("新增成功"); - this.open = false; - this.getList(); - } else { - this.msgError(response.msg); - } - }); - } - } - }); - }, - /** 删除按钮操作 */ - handleDelete(row) { - const dictCodes = row.dictCode || this.ids; - this.$confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?', "警告", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning" - }).then(function() { - return delData(dictCodes); - }).then(() => { - this.getList(); - this.msgSuccess("删除成功"); - }).catch(function() {}); - }, - /** 导出按钮操作 */ - handleExport() { - const queryParams = this.queryParams; - this.$confirm('是否确认导出所有数据项?', "警告", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning" - }).then(function() { - return exportData(queryParams); - }).then(response => { - this.download(response.msg); - }).catch(function() {}); - } - } -}; +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" :inline="true"> + <el-form-item label="字典名称" prop="dictType"> + <el-select v-model="queryParams.dictType" size="small"> + <el-option + v-for="item in typeOptions" + :key="item.dictId" + :label="item.dictName" + :value="item.dictType" + /> + </el-select> + </el-form-item> + <el-form-item label="字典标签" prop="dictLabel"> + <el-input + v-model="queryParams.dictLabel" + placeholder="请输入字典标签" + clearable + size="small" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="状态" prop="status"> + <el-select v-model="queryParams.status" placeholder="数据状态" clearable size="small"> + <el-option + v-for="dict in statusOptions" + :key="dict.dictValue" + :label="dict.dictLabel" + :value="dict.dictValue" + /> + </el-select> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['system:dict:add']" + >新增</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="success" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['system:dict:edit']" + >修改</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:dict:remove']" + >删除</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['system:dict:export']" + >导出</el-button> + </el-col> + </el-row> + + <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="字典编码" align="center" prop="dictCode" /> + <el-table-column label="字典标签" align="center" prop="dictLabel" /> + <el-table-column label="字典键值" align="center" prop="dictValue" /> + <el-table-column label="字典排序" align="center" prop="dictSort" /> + <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> + <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" /> + <el-table-column label="创建时间" align="center" prop="createTime" width="130"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.createTime) }}</span> + </template> + </el-table-column> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['system:dict:edit']" + >修改</el-button> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['system:dict:remove']" + >删除</el-button> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 添加或修改参数配置对话框 --> + <el-dialog :title="title" :visible.sync="open" width="500px"> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="字典类型"> + <el-input v-model="form.dictType" :disabled="true" /> + </el-form-item> + <el-form-item label="数据标签" prop="dictLabel"> + <el-input v-model="form.dictLabel" placeholder="请输入数据标签" /> + </el-form-item> + <el-form-item label="数据键值" prop="dictValue"> + <el-input v-model="form.dictValue" placeholder="请输入数据键值" /> + </el-form-item> + <el-form-item label="显示排序" prop="dictSort"> + <el-input-number v-model="form.dictSort" controls-position="right" :min="0" /> + </el-form-item> + <el-form-item label="状态" prop="status"> + <el-radio-group v-model="form.status"> + <el-radio + v-for="dict in statusOptions" + :key="dict.dictValue" + :label="dict.dictValue" + >{{dict.dictLabel}}</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="备注" prop="remark"> + <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">确 定</el-button> + <el-button @click="cancel">取 消</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { listData, getData, delData, addData, updateData, exportData } from "@/api/system/dict/data"; +import { listType, getType } from "@/api/system/dict/type"; + +export default { + name: "Data", + data() { + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 总条数 + total: 0, + // 字典表格数据 + dataList: [], + // 默认字典类型 + defaultDictType: "", + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 状态数据字典 + statusOptions: [], + // 类型数据字典 + typeOptions: [], + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + dictName: undefined, + dictType: undefined, + status: undefined + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + dictLabel: [ + { required: true, message: "数据标签不能为空", trigger: "blur" } + ], + dictValue: [ + { required: true, message: "数据键值不能为空", trigger: "blur" } + ], + dictSort: [ + { required: true, message: "数据顺序不能为空", trigger: "blur" } + ] + } + }; + }, + created() { + const dictId = this.$route.params && this.$route.params.dictId; + this.getType(dictId); + this.getTypeList(); + this.getDicts("sys_normal_disable").then(response => { + this.statusOptions = response.data; + }); + }, + methods: { + /** 查询字典类型详细 */ + getType(dictId) { + getType(dictId).then(response => { + this.queryParams.dictType = response.data.dictType; + this.defaultDictType = response.data.dictType; + this.getList(); + }); + }, + /** 查询字典类型列表 */ + getTypeList() { + listType().then(response => { + this.typeOptions = response.rows; + }); + }, + /** 查询字典数据列表 */ + getList() { + this.loading = true; + listData(this.queryParams).then(response => { + this.dataList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 数据状态字典翻译 + statusFormat(row, column) { + return this.selectDictLabel(this.statusOptions, row.status); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + dictCode: undefined, + dictLabel: undefined, + dictValue: undefined, + dictSort: 0, + status: "0", + remark: undefined + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.queryParams.dictType = this.defaultDictType; + this.handleQuery(); + }, + /** 新增按钮操作 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = "添加字典数据"; + this.form.dictType = this.queryParams.dictType; + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.dictCode) + this.single = selection.length!=1 + this.multiple = !selection.length + }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const dictCode = row.dictCode || this.ids + getData(dictCode).then(response => { + this.form = response.data; + this.open = true; + this.title = "修改字典数据"; + }); + }, + /** 提交按钮 */ + submitForm: function() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.dictCode != undefined) { + updateData(this.form).then(response => { + if (response.code === 200) { + this.msgSuccess("修改成功"); + this.open = false; + this.getList(); + } else { + this.msgError(response.msg); + } + }); + } else { + addData(this.form).then(response => { + if (response.code === 200) { + this.msgSuccess("新增成功"); + this.open = false; + this.getList(); + } else { + this.msgError(response.msg); + } + }); + } + } + }); + }, + /** 删除按钮操作 */ + handleDelete(row) { + const dictCodes = row.dictCode || this.ids; + this.$confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?', "警告", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }).then(function() { + return delData(dictCodes); + }).then(() => { + this.getList(); + this.msgSuccess("删除成功"); + }).catch(function() {}); + }, + /** 导出按钮操作 */ + handleExport() { + const queryParams = this.queryParams; + this.$confirm('是否确认导出所有数据项?', "警告", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }).then(function() { + return exportData(queryParams); + }).then(response => { + this.download(response.msg); + }).catch(function() {}); + } + } +}; </script> \ No newline at end of file diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByDayFlowDetailController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByDayFlowDetailController.java index a7763c013..4e3bb8ae8 100644 --- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByDayFlowDetailController.java +++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByDayFlowDetailController.java @@ -30,7 +30,7 @@ import com.ruoyi.framework.web.page.TableDataInfo; * @date 2020-05-07 */ @RestController -@RequestMapping("/benyi/dayflowmanger") +@RequestMapping("/benyi/dayflow/dayflowmanger") public class ByDayFlowDetailController extends BaseController { @Autowired @@ -45,6 +45,7 @@ public class ByDayFlowDetailController extends BaseController { startPage(); List<ByDayFlowDetail> list = byDayFlowDetailService.selectByDayFlowDetailList(byDayFlowDetail); + System.out.println("-------------------------------"+list); return getDataTable(list); }