app-wf-approval.vue 3.5 KB
Newer Older
1 2 3 4 5 6
<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>
7
        <div class="app-wf-approval-content" v-if="data.usertasks && data.usertasks.length >0">
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
            <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>
27 28
                    <div class="approval-content-item-memo" v-if="usertask.userTaskId === viewparams.userTaskId">
                        <el-input type="textarea"  v-model="initmemo" :rows="2" @blur="handleBlur" placeholder="请输入内容"></el-input>
29 30 31 32 33 34 35 36 37 38
                    </div>
                </div>
            </div>
        </div>
         <div class="app-wf-approval-bottom">
            <span v-if="data.endTime">{{data.endTime}}结束</span>
        </div>
    </div>
</template>
<script lang = 'ts'>
39
import { Vue, Component,Prop,Model } from 'vue-property-decorator';
40 41 42 43 44

@Component({
})
export default class AppWFApproval extends Vue {

45 46 47 48 49 50 51
    /**
     * 双向绑定值
     * 
     *  @memberof AppWFApproval
     */
    @Model ('change')  value!: string;

52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
    /**
     * 数据
     * 
     *  @memberof AppWFApproval
     */
    public data:any = {};

    /**
     *  初始化memo
     * 
     *  @memberof AppWFApproval
     */
    public initmemo:string = "";

    /**
     * 传入数据服务
     * 
     *  @memberof AppWFApproval
     */
    @Prop() public service:any;
72 73

    /**
74
     *  上下文
75 76 77
     * 
     *  @memberof AppWFApproval
     */
78
    @Prop() public context:any;
79

80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
    /**
     *  视图参数
     * 
     *  @memberof AppWFApproval
     */
    @Prop() public viewparams:any;

    /**
     * 初始化数据
     * 
     *  @memberof AppWFApproval
     */
    public created(){
        if(this.service){
            this.service.GetWFHistory(this.context).then((res:any) =>{
                if(res && (res.status === 200)){
                    this.data = res.data;
                }
            })
        }
    }

    /**
     * 抛出wfprocmemo
     * 
     *  @memberof AppWFApproval
     */
    public handleBlur($event:any){
108
         this.$emit('change',$event.target.value);
109
    }
110 111 112 113 114 115 116
   
}
</script>

<style lang="less">
@import './app-wf-approval.less';
</style>