diff --git a/.env.development b/.env.development index a145863..3b7e03a 100644 --- a/.env.development +++ b/.env.development @@ -7,14 +7,14 @@ ENV = 'development' VUE_APP_CONTEXT_PATH = '/tool-tech' # 工具与技术交流管理系统/开发环境 -VUE_APP_BASE_API = 'http://192.168.2.85:8080/tool-tech-admin' -VUE_APP_WS_URL = 'ws://192.168.2.85:8080/tool-tech-admin/websocket' +VUE_APP_BASE_API = 'http://localhost:8080/tool-tech-admin' +VUE_APP_WS_URL = 'ws://localhost:8080/tool-tech-admin/websocket' # 文档在线预览服务 -VUE_APP_TOOL_TECH_FILE_VIEW_API = 'http://192.168.1.2:8012/tool-tech-file-view' +VUE_APP_TOOL_TECH_FILE_VIEW_API = 'http://localhost:8012/tool-tech-file-view' # 流程管理服务地址 -VUE_APP_WORKFLOW_MANAGE_URL = 'http://192.168.1.2:8080/ebpm-process-manage' +VUE_APP_WORKFLOW_MANAGE_URL = 'http://192.168.2.18:8085/ebpm-process-manage' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/src/api/my_business/workflow.js b/src/api/my_business/workflow.js new file mode 100644 index 0000000..23f4a1f --- /dev/null +++ b/src/api/my_business/workflow.js @@ -0,0 +1,188 @@ +import request from '@/utils/request' + + +// 审批记录 +export function workflowGetLog(data) { + return request({ + url: '/workflow/getLog', + method: 'post', + data: data + }) +} +//流程实例撤回到拟稿人环节 +export function workflowbacktostart(data) { + return request({ + url: '/workflow/backtostart', + method: 'post', + data: data, + timeout: 30*60*1000 + }) +} +// 获取流程环节定义信息 +export function activitydefinition(procDefId, actDefId) { + return request({ + url: '/workflow/activitydefinition/' + procDefId + '/' + actDefId, + method: 'get', + + }) +} +// 查询列表 +export function workflowToDoList(data) { + return request({ + url: '/workflow/toDoList', + method: 'post', + data: data + }) +} + +// 新建流程,获取下一环节流程定义信息 +export function workflowNextactsNew(data) { + return request({ + url: '/workflow/nextacts/new', + method: 'post', + data: data + }) +} + +// 新建流程,获取下一环节流程定义信息 +// 获取下一环节集合,并可以标识已办和自动将未办理环节优先排序 +export function workflowNextactsNew2(data) { + return request({ + url: '/workflow/nextacts/new2', + method: 'post', + data: data + }) +} + +// 查询流程审批记录列表 +export function processWorkflowGetList(businessId) { + return request({ + url: '/process/workflowLog/list' + '?pageNum=1&pageSize=100&businessId=' + businessId, + method: 'get', + + }) +} + +export function getNextactuserByPending(query) { + return request({ + url: '/workflow/nextactuser/pending', + method: 'get', + params: query + }) +} + +export function getNextActUsersByNew(query) { + return request({ + url: '/workflow/nextactuser/new', + method: 'get', + params: query + }) +} + +export function workflowSubmit(data) { + return request({ + url: '/workflow/submit', + method: 'post', + data: data + }) +} +export function workflowCancel(data) { + return request({ + url: '/workflow/cancel', + method: 'post', + data: data + }) +} +export function workflowReject(data) { + return request({ + url: '/workflow/reject', + method: 'post', + data: data + }) +} + +export function workflowBacktoprev(data) { + return request({ + url: '/workflow/backtoprev', + method: 'post', + data: data + }) +} + +export function getHistAskLogUrl(procInstId) { + return request({ + url: '/workflow/histasklogurl/' + procInstId, + method: 'get', + }) +} + +export function getExtAttributeModel(procDefId, actDefId) { + return request({ + url: '/workflow/getExtAttributeModel/?procDefId=' + procDefId + "&actDefId=" + actDefId, + method: 'get', + }) +} +export function selectLogByBusinessId(query) { + return request({ + url: '/process/workflowLog/selectLogByBusinessId?businessId' + query, + method: 'get', + + }) +} +export function workflowprocesskey(query) { + return request({ + url: '/workflow/process/key/' + query, + method: 'get', + + }) +} + +export function getStartActdef(procDefId) { + return request({ + url: '/workflow/startactdef/' + procDefId, + method: 'get', + }) +} + +// 根据流程实例id获取流程实例信息和流程状态 +export function procInstInfoAndStatus(procInstId) { + return request({ + url: '/workflow/procInstInfoAndStatus/' + procInstId, + method: 'get', + }) +} + +// 根据流程实例id获取流程实例信息 +export function getProcInstInfo(procInstId) { + return request({ + url: '/workflow/procInstInfo/' + procInstId, + method: 'get', + }) +} + +export function selectLogByProcInstId(query) { + return request({ + url: '/web/log/list', + method: 'get', + params: query + }) +} + +// 获取流程待选人员展示方式 +export function selectUserStyle() { + return request({ + url: '/workflow/selectUserStyle', + method: 'get', + }) +} + +// 根据流程实例id获取流程实例信息 +export function getRecordbyPorcInstId(procInstId) { + return request({ + url: '/workflow/getRecord/' + procInstId, + method: 'get', + }) +} + + + diff --git a/src/api/tool/tool.js b/src/api/tool/tool.js index c6c0e47..1c5304e 100644 --- a/src/api/tool/tool.js +++ b/src/api/tool/tool.js @@ -17,20 +17,29 @@ export function getTool(toolId) { }) } + +export function getInfoByBpmcId(bpmcId) { + return request({ + url: '/tool/bpmc/' + bpmcId, + method: 'get' + }) +} + // 新增工具信息 export function addTool(data) { return request({ url: '/tool', method: 'post', - data: data + data: data, + timeout: 30*60*1000 }) } // 修改工具信息 export function updateTool(data) { return request({ - url: '/tool', - method: 'put', + url: '/tool/edit', + method: 'post', data: data }) } @@ -42,3 +51,11 @@ export function delTool(toolId) { method: 'delete' }) } + +export function checkToolExist(params) { + return request({ + url: '/tool/checkToolExist', + method: 'get', + params: params + }) +} diff --git a/src/api/tool/userApply.js b/src/api/tool/userApply.js new file mode 100644 index 0000000..339e730 --- /dev/null +++ b/src/api/tool/userApply.js @@ -0,0 +1,51 @@ +import request from '@/utils/request' + +// 查询使用申请列表 +export function listApply(query) { + return request({ + url: '/use/apply/list', + method: 'get', + params: query + }) +} + +// 查询使用申请详细 +export function getApply(id) { + return request({ + url: '/use/apply/' + id, + method: 'get' + }) +} + +export function getInfoByBpmcId(bpmcId) { + return request({ + url: '/use/apply/bpmc/' + bpmcId, + method: 'get' + }) +} + +// 新增使用申请 +export function addApply(data) { + return request({ + url: '/use/apply', + method: 'post', + data: data + }) +} + +// 修改使用申请 +export function updateApply(data) { + return request({ + url: '/use/apply/edit', + method: 'post', + data: data + }) +} + +// 删除使用申请 +export function delApply(id) { + return request({ + url: '/use/apply/' + id, + method: 'delete' + }) +} diff --git a/src/api/tool/userApplyItem.js b/src/api/tool/userApplyItem.js new file mode 100644 index 0000000..950a8ba --- /dev/null +++ b/src/api/tool/userApplyItem.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询使用申请详情列表 +export function listItem(query) { + return request({ + url: '/use/apply/item/list', + method: 'get', + params: query + }) +} + +// 查询使用申请详情详细 +export function getItem(id) { + return request({ + url: '/use/apply/item/' + id, + method: 'get' + }) +} + +// 新增使用申请详情 +export function addItem(data) { + return request({ + url: '/use/apply/item', + method: 'post', + data: data + }) +} + +// 修改使用申请详情 +export function updateItem(data) { + return request({ + url: '/use/apply/item', + method: 'put', + data: data + }) +} + +// 删除使用申请详情 +export function delItem(id) { + return request({ + url: '/use/apply/item/' + id, + method: 'delete' + }) +} diff --git a/src/components/DealDrawer/index.vue b/src/components/DealDrawer/index.vue new file mode 100644 index 0000000..cb6d027 --- /dev/null +++ b/src/components/DealDrawer/index.vue @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + diff --git a/src/components/MonitorDrawer/index.vue b/src/components/MonitorDrawer/index.vue new file mode 100644 index 0000000..fb17495 --- /dev/null +++ b/src/components/MonitorDrawer/index.vue @@ -0,0 +1,34 @@ + + + + + + + + + diff --git a/src/components/mainComponent/index.vue b/src/components/mainComponent/index.vue new file mode 100644 index 0000000..53cd8ba --- /dev/null +++ b/src/components/mainComponent/index.vue @@ -0,0 +1,36 @@ + + + + + + diff --git a/src/components/tool-selector/index.vue b/src/components/tool-selector/index.vue new file mode 100644 index 0000000..65b9c9a --- /dev/null +++ b/src/components/tool-selector/index.vue @@ -0,0 +1,180 @@ + + + + + + + + + + + + 搜索 + 重置 + + + + + + + + + + + + + + + + + 选择 + + + + + + + + 取 消 + 确 定 + + + + + diff --git a/src/components/user-selector/src/user-selector.vue b/src/components/user-selector/src/user-selector.vue index fb33469..4e45aa7 100644 --- a/src/components/user-selector/src/user-selector.vue +++ b/src/components/user-selector/src/user-selector.vue @@ -276,15 +276,16 @@ return result; }, submitForm() { - let checkedUserArr = [] - let checkedUser = {} - this.checkedUsers.forEach(userName => { - checkedUser['userName'] = userName - checkedUser['userId'] = this.getUserIdByUserName(userName) - checkedUser['nickName'] = this.getNickNameByUserName(userName) - checkedUserArr.push(checkedUser) - }) - this.$emit("submit", checkedUserArr); //返回username和nickname + // let checkedUserArr = [] + // let checkedUser = {} + // this.checkedUsers.forEach(userName => { + // checkedUser['userName'] = userName + // checkedUser['userId'] = this.getUserIdByUserName(userName) + // checkedUser['nickName'] = this.getNickNameByUserName(userName) + // checkedUserArr.push(checkedUser) + // }) + // this.$emit("submit", checkedUserArr); //返回username和nickname + this.$emit("submit", JSON.parse(JSON.stringify(this.selectedUserList))); }, cancel() { this.$emit('cancel'); diff --git a/src/main.js b/src/main.js index 50df872..4a5b32b 100644 --- a/src/main.js +++ b/src/main.js @@ -8,6 +8,7 @@ import '../public/css/poctstyle.css' import '../public/css/tool.css' import '@/assets/styles/index.scss' // global css import '@/assets/styles/ruoyi.scss' // ruoyi css +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import App from './App' import store from './store' import router from './router' @@ -38,6 +39,8 @@ import DictTag from '@/components/DictTag' import VueMeta from 'vue-meta' // 字典数据组件 import DictData from '@/components/DictData' +// 图形监控组件 +import MonitorDrawer from "@/components/MonitorDrawer" // 全局方法挂载 Vue.prototype.getDicts = getDicts @@ -58,6 +61,7 @@ Vue.component('Editor', Editor) Vue.component('FileUpload', FileUpload) Vue.component('ImageUpload', ImageUpload) Vue.component('ImagePreview', ImagePreview) +Vue.component('MonitorDrawer', MonitorDrawer) Vue.use(directive) Vue.use(plugins) diff --git a/src/router/index.js b/src/router/index.js index 91c00b1..ff03511 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -41,6 +41,12 @@ export const constantRoutes = [ } ] }, + { + // 统一流程处理前端页面(涉及待办、已办、办结) + path: '/workflowRouter', + component: (resolve) => require(['@/views/workflowList/workflowRouter.vue'], resolve), + hidden: true + }, { path: '/login', component: () => import('@/views/login'), diff --git a/src/store/getters.js b/src/store/getters.js index 25475ce..667e425 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -7,6 +7,8 @@ const getters = { cachedViews: state => state.tagsView.cachedViews, token: state => state.user.token, avatar: state => state.user.avatar, + userId: state => state.user.id, + userInfo: state => state.user.info, name: state => state.user.name, nickName: state => state.user.nickName, introduction: state => state.user.introduction, diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 0d1af8f..cced906 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -7,6 +7,7 @@ const user = { id: '', name: '', nickName: '', + info: {}, avatar: '', roles: [], permissions: [] @@ -33,6 +34,9 @@ const user = { }, SET_PERMISSIONS: (state, permissions) => { state.permissions = permissions + }, + SET_INFO:(state, info) => { + state.info = info } }, @@ -70,6 +74,8 @@ const user = { commit('SET_NAME', user.userName) commit('SET_NICK_NAME', user.nickName) commit('SET_AVATAR', avatar) + commit('SET_INFO', user) + resolve(res) }).catch(error => { reject(error) diff --git a/src/views/interchange/index.vue b/src/views/interchange/index.vue index 121c88a..ba76e9d 100644 --- a/src/views/interchange/index.vue +++ b/src/views/interchange/index.vue @@ -155,7 +155,6 @@ import { getToken } from "@/utils/auth"; import { Base64 } from 'js-base64' import Treeselect from "@riophae/vue-treeselect"; import blUserSelector from "@/components/user-selector/src/user-selector"; -import "@riophae/vue-treeselect/dist/vue-treeselect.css"; import toolDetail from "./toolDetail"; export default { diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue index 3896dcb..13aa906 100644 --- a/src/views/system/dept/index.vue +++ b/src/views/system/dept/index.vue @@ -159,7 +159,6 @@ diff --git a/src/views/workflowList/addWorkflow/use_apply.vue b/src/views/workflowList/addWorkflow/use_apply.vue new file mode 100644 index 0000000..97af939 --- /dev/null +++ b/src/views/workflowList/addWorkflow/use_apply.vue @@ -0,0 +1,600 @@ + + + + + + 申请使用 + + + + 流程监控 + 撤销 + 提交 + 保存 + 关闭 + + + + + + + + + + + 基本信息 + + + + + + {{form.nickName}} + + + + + + + {{form.deptName}} + + + + + + + + + + + + + + 申请工具 + + + + + + + + + + + + + + + + {{submitLabel}} + + + + + + {{ dict.label }} + + + + + + + + + + + + + + + + + + + + + + 取 消 + 提 交 + + + + + + + + diff --git a/src/views/workflowList/processcode/index.vue b/src/views/workflowList/processcode/index.vue new file mode 100644 index 0000000..548714c --- /dev/null +++ b/src/views/workflowList/processcode/index.vue @@ -0,0 +1,508 @@ + + + + + {{ title }} + + + + + + + 办理步骤 + + + + + 待选用户 + + + + + + + + + + 已选用户 + + + + + + {{ item.name }} + + + + + + + + + + 是 + 否 + + + + + + + 是 + 否 + + + + + + + + + + + + + + + + diff --git a/src/views/workflowList/workflowLogs/index.vue b/src/views/workflowList/workflowLogs/index.vue new file mode 100644 index 0000000..a61ee69 --- /dev/null +++ b/src/views/workflowList/workflowLogs/index.vue @@ -0,0 +1,60 @@ + + + + + + + + {{ passList[scope.row.pass].label }} + {{ scope.row.opinion }} + + + + + {{ scope.row.deptName }} + {{ scope.row.nickName }} + {{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }} + + + + + + + + diff --git a/src/views/workflowList/workflowRouter.vue b/src/views/workflowList/workflowRouter.vue new file mode 100644 index 0000000..3a94cca --- /dev/null +++ b/src/views/workflowList/workflowRouter.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/views/workstuff/dispose/index.vue b/src/views/workstuff/dispose/index.vue index e246a98..9443586 100644 --- a/src/views/workstuff/dispose/index.vue +++ b/src/views/workstuff/dispose/index.vue @@ -1,542 +1,277 @@ - - + - 搜索 - 重置 + 搜索 + 重置 - - - - - - 【使用申请】工具名称11 - - - - - - - 详情 - - - - - - - - 【使用申请】工具名称1 - + + + + + + + + + + - {{ scope.row.prop8 }} + {{ parseTime(scope.row.sendTime,'{y}-{m}-{d}')}} - - - - - - 详情 - - - - - - - - 【使用申请】工具名称1 - - {{ scope.row.prop3 }} + 详情 + + + + + + + + + + + + + + + + {{ parseTime(scope.row.sendTime,'{y}-{m}-{d}')}} - - - - 详情 + + 详情 + - + + + + + + + + + + {{ parseTime(scope.row.startTime,'{y}-{m}-{d}')}} + + + + + {{ parseTime(scope.row.sendTime,'{y}-{m}-{d}')}} + + + + + 详情 + + + + - - - - - 申请使用 - - 流程监控 - 提交 - 取消 - - - - - - - - - 张莹 - - - 信息部 - - - - - - - - - - - - 申请工具 - - - - - - - - - - - 审批信息 - - - - - - - - 通过 - 不通过 - - - - - - - - - - - - - - - - - - - - - - - - - - - - 流程监控 - - 流程标题:【申请使用】工具名称1 ,流程定义名称:申请使用流程 - - - + + + + - -
申请使用