提交 a8be9288 编写于 作者: tony001's avatar tony001

zpc ------ 提交工作流审核意见控件

上级 e5f902f9
...@@ -75,8 +75,7 @@ import AppOrgSelect from './components/app-org-select/app-org-select.vue' ...@@ -75,8 +75,7 @@ import AppOrgSelect from './components/app-org-select/app-org-select.vue'
import AppDepartmentSelect from './components/app-department-select/app-department-select.vue' import AppDepartmentSelect from './components/app-department-select/app-department-select.vue'
import IBizGroupSelect from './components/ibiz-group-select/ibiz-group-select.vue' import IBizGroupSelect from './components/ibiz-group-select/ibiz-group-select.vue'
import IBizGroupPicker from './components/ibiz-group-picker/ibiz-group-picker.vue' import IBizGroupPicker from './components/ibiz-group-picker/ibiz-group-picker.vue'
import AppWFApproval from './components/app-wf-approval/app-wf-approval.vue'
// 全局挂载UI实体服务注册中心 // 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister; window['uiServiceRegister'] = uiServiceRegister;
...@@ -161,5 +160,6 @@ export const AppComponents = { ...@@ -161,5 +160,6 @@ export const AppComponents = {
v.component('app-department-select',AppDepartmentSelect); v.component('app-department-select',AppDepartmentSelect);
v.component('ibiz-group-select',IBizGroupSelect); v.component('ibiz-group-select',IBizGroupSelect);
v.component('ibiz-group-picker',IBizGroupPicker); v.component('ibiz-group-picker',IBizGroupPicker);
v.component('app-wf-approval',AppWFApproval);
}, },
}; };
\ No newline at end of file
.app-wf-approval{
width:400px;
.app-wf-approval-header{
width: 100%;
text-align: center;
background: #9acdf5;
height: 32px;
line-height: 32px;
font-size: 16px;
border: 1px solid #565656;
.approval-header-left{
margin-right: 24px;
}
}
.app-wf-approval-bottom{
width: 100%;
text-align: center;
background: #9acdf5;
height: 32px;
line-height: 32px;
font-size: 16px;
border-style: solid;
border-width: 0px 1px 1px 1px;
border-color: #565656;
}
.app-wf-approval-content{
border-left: 1px solid #565656;
border-right: 1px solid #565656;
.approval-content-item{
display: flex;
align-items: center;
font-size: 16px;
border-bottom: 1px solid #565656;
.approval-content-item-left{
width: 30%;
padding: 8px;
}
.approval-content-item-right{
width: 70%;
border-left:1px solid #565656;
.approval-content-item-wait{
padding: 0px 4px;
height: 32px;
line-height: 32px;
font-size: 16px;
border-bottom:1px solid #565656;
background: #d1ef5c;
>span{
font-size: 18px;
color: #000;
font-weight: 600;
}
}
.approval-content-item-info{
.approval-content-item-info-item {
padding: 0px 4px;
height: 32px;
line-height: 32px;
border-bottom:1px solid #565656;
}
.approval-content-item-info-top{
font-size: 16px;
}
.approval-content-item-info-bottom{
font-size: 14px;
text-align: right;
>span{
margin-right:6px;
}
.info-bottom-name{
font-size: 18px;
font-weight: 600;
}
}
> div:nth-last-child(1){
> .approval-content-item-info-item:nth-last-child(1){
border-bottom: 0;
}
}
}
.approval-content-item-memo{
border-top:1px solid #565656;
padding: 0px 4px;
.el-textarea__inner{
border: 0px !important;
padding: 0px !important;
}
}
}
}
}
}
\ No newline at end of file
<template>
<div class='app-wf-approval'>
<div class="app-wf-approval-header">
<span class="approval-header-left">{{data.startTime}}</span>
<span>{{data.startUserName}}提交</span>
</div>
<div class="app-wf-approval-content" v-if="data.usertasks.length >0">
<div class="approval-content-item" v-for="(usertask,index) in data.usertasks" :key="index">
<div class="approval-content-item-left">
{{usertask.userTaskName}}
</div>
<div class="approval-content-item-right">
<div class="approval-content-item-wait" v-if="usertask.identitylinks.length >0">
等待<span v-for="(identitylink,inx) in usertask.identitylinks" :key="inx">{{identitylink.displayname}}<span v-if="inx >0"></span></span>处理
</div>
<div class="approval-content-item-info" v-if="usertask.comments.length >0">
<div v-for="(comment,commentInx) in usertask.comments" :key="commentInx">
<div class="approval-content-item-info-item approval-content-item-info-top">
{{`【${comment.type}】${comment.fullMessage}`}}
</div>
<div class="approval-content-item-info-item approval-content-item-info-bottom">
<span class="info-bottom-name">{{comment.authorName}}</span>
<span>{{comment.time}}</span>
</div>
</div>
</div>
<div class="approval-content-item-memo" v-if="usertask.userTaskId === 'tid-2-c60d498abacb47b510e0aa9d64a55e57'">
<el-input type="textarea" :rows="2" v-model="input" placeholder="请输入内容"></el-input>
</div>
</div>
</div>
</div>
<div class="app-wf-approval-bottom">
<span v-if="data.endTime">{{data.endTime}}结束</span>
</div>
</div>
</template>
<script lang = 'ts'>
import { Vue, Component } from 'vue-property-decorator';
@Component({
})
export default class AppWFApproval extends Vue {
public input:any ="";
/**
* 传入数据
*
* @memberof AppWFApproval
*/
public data:any = {
"id": "40833204-9be4-11ea-9c94-0242130d84ce",
"name": null,
"processDefinitionKey": null,
"processDefinitionName": null,
"businessKey": "DC20200522022",
"startTime": "2020-05-22 12:25:22",
"endTime": null,
"startUserId": "001-004_0001",
"startUserName": "隆俊杰",
"usertasks": [{
"userTaskId": "tid-1-1f3eda90105907e25e6f2e8c0f82b903",
"userTaskName": "管理员审批",
"processDefinitionKey": null,
"processDefinitionName": null,
"identitylinks": [],
"comments": [{
"id": "44eddf40-9be4-11ea-9c94-0242130d84ce",
"author": "001-004_0001",
"authorName": "隆俊杰",
"fullMessage": "",
"time": "2020-05-22 12:25:29",
"type": "审批不通过",
"taskId": "40844383-9be4-11ea-9c94-0242130d84ce",
"processInstanceId": "40833204-9be4-11ea-9c94-0242130d84ce",
"processInstanceBusinessKey": "DC20200522022"
}, {
"id": "b39cfc68-9be4-11ea-9c94-0242130d84ce",
"author": "450000-000",
"authorName": "ibzadmin",
"fullMessage": "",
"time": "2020-05-22 12:28:35",
"type": "审批不通过",
"taskId": "a6c57ad1-9be4-11ea-9c94-0242130d84ce",
"processInstanceId": "40833204-9be4-11ea-9c94-0242130d84ce",
"processInstanceBusinessKey": "DC20200522022"
}]
}, {
"userTaskId": "tid-2-c60d498abacb47b510e0aa9d64a55e57",
"userTaskName": "被驳回",
"processDefinitionKey": null,
"processDefinitionName": null,
"identitylinks": [{
"id": "001-004_0001",
"firstname": null,
"displayname": "隆俊杰"
}],
"comments": [{
"id": "a6c21f6e-9be4-11ea-9c94-0242130d84ce",
"author": "001-004_0001",
"authorName": "隆俊杰",
"fullMessage": "",
"time": "2020-05-22 12:28:14",
"type": "提交",
"taskId": "44f09e63-9be4-11ea-9c94-0242130d84ce",
"processInstanceId": "40833204-9be4-11ea-9c94-0242130d84ce",
"processInstanceBusinessKey": "DC20200522022"
}]
}]
};
}
</script>
<style lang="less">
@import './app-wf-approval.less';
</style>
\ No newline at end of file
...@@ -765,6 +765,19 @@ export default class EntityService { ...@@ -765,6 +765,19 @@ export default class EntityService {
return Http.getInstance().get(`/wfcore/${this.SYSTEMNAME}-app-${this.APPNAME}/${this.APPDENAME}/${context[this.APPLYDEKEY]}/usertasks/${data['taskDefinitionKey']}/ways`); return Http.getInstance().get(`/wfcore/${this.SYSTEMNAME}-app-${this.APPNAME}/${this.APPDENAME}/${context[this.APPLYDEKEY]}/usertasks/${data['taskDefinitionKey']}/ways`);
} }
/**
* GetWFHistory接口方法(根据业务主键获取工作流程记录)
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EntityService
*/
public async GetWFHistory(context: any = {},data: any = {}, isloading?: boolean):Promise<any> {
return Http.getInstance().get(`/${this.SYSTEMNAME}-app-${this.APPNAME}/${this.APPDENAME}/${context[this.APPLYDEKEY]}/process-instances/alls/history`);
}
/** /**
* WFSubmit接口方法 * WFSubmit接口方法
* *
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册