diff --git a/flowable-engine-web/src/api/processInstance.js b/flowable-engine-web/src/api/processInstance.js index 70468e2..1c9b07e 100644 --- a/flowable-engine-web/src/api/processInstance.js +++ b/flowable-engine-web/src/api/processInstance.js @@ -13,6 +13,13 @@ export function startProcessInstance(param) { }) } +export function getAboutInstanceList() { + return request({ + url: "/flowable/process/instance/about", + method: "get", + }) +} + export function getInitiatedInstanceList() { return request({ url: "/flowable/process/instance/self", @@ -22,7 +29,7 @@ export function getInitiatedInstanceList() { export function getInitiatedInstanceInfo(processInstanceId) { return request({ - url: "/flowable/process/instance/self/info/"+processInstanceId, + url: "/flowable/process/instance/info/"+processInstanceId, method: "get", }) } diff --git a/flowable-engine-web/src/api/request.js b/flowable-engine-web/src/api/request.js index f8cab19..cda274b 100644 --- a/flowable-engine-web/src/api/request.js +++ b/flowable-engine-web/src/api/request.js @@ -11,8 +11,8 @@ Vue.prototype.$axios = axios; // 字体图标 export function getBaseUrl(){ - return "http://gateway.mytwins.top" - // return "http://localhost:8000" + // return "http://gateway.mytwins.top" + return "http://localhost:8000" } const service = axios.create({ diff --git a/flowable-engine-web/src/components/common/Test.vue b/flowable-engine-web/src/components/common/Test.vue index c02c9fd..26d2ccf 100644 --- a/flowable-engine-web/src/components/common/Test.vue +++ b/flowable-engine-web/src/components/common/Test.vue @@ -5,13 +5,17 @@
+ clearable placeholder="输入关键字进行过滤" prefix-icon="el-icon-search" /> +
+ 人员 + 部门 +
- + -
@@ -20,7 +24,6 @@
-
已选 {{ selectList.length }} 项 @@ -102,7 +105,7 @@ export default { // const jsonb = jsona.replace(/"value"/g, '"deptId"') // 修改成你要的字段 // const jsonc = jsonb.replace(/"label"/g, '"deptName"') this.deptList = res.data - console.log("获取部门信息===========", this.deptList); + // console.log("获取部门信息===========", this.deptList); }); }, //通过关键字过滤树节点 @@ -111,7 +114,7 @@ export default { return data.deptName.indexOf(value) !== -1; }, //用于弹开部门选择 - showDeptPicker() { + showUserPicker() { this.visible = true; }, /** @@ -123,7 +126,7 @@ export default { // 左侧有选择框 if (this.showCheckbox) { // 左侧有选择框 + 多选 - if (this.multiple) { + if (this.multiple ) { //不添加重复的数据到右边 for (let i = 0; i < this.selectList.length; i++) { if (this.selectList[i].value === data.value) { @@ -132,7 +135,9 @@ export default { } } if (checked) { - this.selectList.push(data); + if(data.children === undefined){ + this.selectList.push(data); + } } else if (data === '1') { this.$refs.tree.setCheckedKeys([]); this.selectList = []; @@ -147,10 +152,11 @@ export default { } if (checked) { this.$refs.tree.setCheckedNodes([data]); + // this.$refs.tree.setCheckedKeys([]); this.selectList = [data]; } else if (data === '1') { - this.$refs.tree.setCheckedKeys([]); this.selectList = []; + this.$refs.tree.setCheckedKeys([]); } } } @@ -164,19 +170,21 @@ export default { * @param check checked(checkbox选择框)是否选中 */ handle(node, check) { - if (this.multiple) { - //不添加重复的数据到右边 - for (let i = 0; i < this.selectList.length; i++) { - if (this.selectList[i].value === node.value) { - this.selectList.splice(i, 1); - break; + if (check.isLeaf !== false) { + if (this.multiple) { + //不添加重复的数据到右边 + for (let i = 0; i < this.selectList.length; i++) { + if (this.selectList[i].value === node.value) { + this.selectList.splice(i, 1); + break; + } } + check.checked = true + this.selectList.push(node); + } else { + check.checked = true + this.selectList = [node]; } - check.checked = true - this.selectList.push(node); - } else { - check.checked = true - this.selectList = [node]; } this._value = this.selectList }, @@ -203,9 +211,10 @@ export default { cancelButtonText: "取消", type: "warning" }).then(() => { - this.handleCheckChange("1"); if (!this.showCheckbox) { this.selectList = [] + }else { + this.handleCheckChange("1"); } }); }, @@ -221,15 +230,15 @@ export default { diff --git a/flowable-engine-web/src/views/workspace/AboutInstance.vue b/flowable-engine-web/src/views/workspace/AboutInstance.vue new file mode 100644 index 0000000..7572285 --- /dev/null +++ b/flowable-engine-web/src/views/workspace/AboutInstance.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/flowable-engine-web/src/views/workspace/DisposalTask.vue b/flowable-engine-web/src/views/workspace/DisposalTask.vue index ed49d4d..4e7c534 100644 --- a/flowable-engine-web/src/views/workspace/DisposalTask.vue +++ b/flowable-engine-web/src/views/workspace/DisposalTask.vue @@ -29,10 +29,10 @@ prop="state" label="状态"> @@ -44,13 +44,18 @@
- - {{ selectTask.initiatorName }} + + {{ taskData.userInfo.name }}
{{ selectTask.processName }} - 进行中 + + 进行中 + 审批通过 + 审批驳回 + 已撤销 +
编号: {{ selectTask.taskId }} @@ -58,15 +63,21 @@
- +
+ +
+
+
- +
@@ -76,7 +87,7 @@ 转交 退回 加签 - 撤销 + 撤销 import Comment from "../../components/common/Comment"; -import FormRender from "@/views/common/form/FormRender"; import ProcessDiagramViewer from "../admin/layout/ProcessDiagramViewer"; -import {addComment, completeTask, getTaskInfo, getTaskList, refuseTask,rollBackTask} from "@/api/task"; +import {addComment, completeTask, getTaskInfo, getTaskList, refuseTask, rollBackTask} from "@/api/task"; +import OperationRender from "@/views/common/operation/OperationRender"; +import FormRenderView from "../common/form/FormRenderView"; export default { name: "DisposalTask", - components: { Comment, FormRender, ProcessDiagramViewer}, + components: {FormRenderView, OperationRender, Comment, ProcessDiagramViewer}, data() { return { approveOpen: false, @@ -115,9 +127,11 @@ export default { }, loading: false, taskData: { + userInfo: {}, formData: {}, formItems: [], - processList: [] + processList: [], + operationList: [] }, avatar: require("@/assets/image/avatar.png") }; @@ -140,9 +154,11 @@ export default { }, init() { this.taskData = { + userInfo: {}, formData: {}, formItems: [], - processList: [] + processList: [], + operationList: [] }; this.loading = true; this.$store.state.design = this.taskData; @@ -153,10 +169,10 @@ export default { let that = this; this.init(); getTaskInfo(taskId).then(res => { - let data=res.data - data.formItems.map(item=>{ - if(item.props.required){ - item.props.required=!item.props.required + let data = res.data + data.formItems.map(item => { + if (item.props.required) { + item.props.required = !item.props.required } return item }) @@ -223,7 +239,28 @@ export default { this.$refs.comment.show() }, /** - * 拒绝提交 + * 评论回调 + * @param data + * @param type + */ + commentConfirm(data, type) { + switch (type) { + case 1: + this.submitComment(data); + break; + case 2: + this.submitRefuse(data); + break; + case 4: + this.submitRollBack(data); + break; + default : + break; + } + }, + + /** + * 拒绝任务 * @param data */ submitRefuse(data) { @@ -238,32 +275,17 @@ export default { }) }, /** - * 评论回调 - * @param data - * @param type + * 回退 */ - commentConfirm(data, type) { - switch (type) { - case 1: - this.submitComment(data); - break; - case 2: - this.submitRollBack(data); - break; - case 3: - this.submitRefuse(data); - break; - default : - break; - } - }, - submitRollBack(data){ + submitRollBack(data) { let params = { taskId: this.selectTask.taskId, rollBackId: data.rollBackId, comment: data, }; - rollBackTask(params).then(res=>{ + rollBackTask(params).then(res => { + this.approveOpen = false; + this.getList(); this.$message.success(res.msg); }) }, @@ -274,6 +296,7 @@ export default { submitComment(data) { this.$set(data, "taskId", this.selectTask.taskId); addComment(data).then(res => { + this.approveOpen = false; this.$message.success(res.msg); }); } @@ -282,6 +305,7 @@ export default { diff --git a/flowable-engine-web/src/views/workspace/WorkSpace.vue b/flowable-engine-web/src/views/workspace/WorkSpace.vue index e7c6ebf..a6872e0 100644 --- a/flowable-engine-web/src/views/workspace/WorkSpace.vue +++ b/flowable-engine-web/src/views/workspace/WorkSpace.vue @@ -41,13 +41,13 @@
- + - + -
暂无数据 😀
+
@@ -67,10 +67,11 @@ import InitiatedInstance from "./InitiatedInstance"; import DisposalTask from "./DisposalTask"; import {getProcessDefinitionList} from "@/api/processDefinition"; import {startProcessInstance} from "@/api/processInstance"; +import AboutInstance from "./AboutInstance"; export default { name: "workSpace", - components: {InitiateProcess,DisposalTask,InitiatedInstance}, + components: {AboutInstance, InitiateProcess,DisposalTask,InitiatedInstance}, data() { return { active: 'disposalTask',