Эх сурвалжийг харах

审批列表,审批详情权限按钮设置

cxmo 1 жил өмнө
parent
commit
c40b78fac0

+ 12 - 27
src/views/approve_manage/approveDetail.vue

@@ -3,9 +3,9 @@
     <div class="approve-detail-wrap">
         <div class="approve-detail">
             <div class="approve-info">
-                <span>研报名称:{{reportInfo.title}}</span>
-                <span>研报分类:{{reportInfo.classify}}</span>
-                <span style="min-width: 100px;">发起人:{{reportInfo.approver}}</span>
+                <span>研报名称:{{reportInfo.title||''}}</span>
+                <span>研报分类:{{reportInfo.classify||''}}</span>
+                <span style="min-width: 100px;">发起人:{{reportInfo.approver||''}}</span>
             </div>
             <div class="approve-content" 
                 v-loading="isLoading"
@@ -19,33 +19,18 @@
                     @reportEndLoading="isLoading=false"
                     @reportError="isError=true"
                 ></component>
-                <!-- <ReportDetail 
-                    v-if="!isError"
-                    :reportId="107"
-                    :isPreview="true"
-                    @reportStartLoading="isLoading=true"
-                    @reportEndLoading="isLoading=false"
-                    @reportError="isError=true"
-                /> -->
-                <!-- <Reportdtl 
-                    :reportId="3528"
-                    :isEn="false"
-                    @reportError="isError=true"
-                /> -->
-                <!-- <Reportdtl 
-                    :reportId="3750"
-                    :isEn="true"
-                    @reportError="isError=true"
-                /> -->
                 <tableNoData v-if="isError" text="无法获取到报告内容,该报告可能已被删除!"></tableNoData>
             </div>
         </div>
         <div class="approve-tool">
             <div class="tool-btn">
                 <!-- 根据审批的状态决定显示 -->
-                <el-button type="danger" v-if="formType==='approve'&&approveInfo.isCurrentApprover" @click="changeApprove('reject')">驳回</el-button>
-                <el-button type="primary" v-if="formType==='approve'&&approveInfo.isCurrentApprover" @click="changeApprove('pass')">通过</el-button>
-                <el-button type="primary" v-if="formType==='myself'&&approveInfo.state!==4" @click="changeApprove('return')">撤销</el-button>
+                <el-button type="danger" @click="changeApprove('reject')"
+                    v-if="formType==='approve'&&approveInfo.isCurrentApprover&&permissionBtn.isShowBtn('approvePermission','reportApprove_reject')">驳回</el-button>
+                <el-button type="primary" @click="changeApprove('pass')"
+                    v-if="formType==='approve'&&approveInfo.isCurrentApprover&&permissionBtn.isShowBtn('approvePermission','reportApprove_agree')">通过</el-button>
+                <el-button type="primary" @click="changeApprove('return')"
+                    v-if="formType==='myself'&&approveInfo.state!==4&&permissionBtn.isShowBtn('approvePermission','reportApprove_repeal')">撤销</el-button>
                 <el-button type="primary" plain @click="$router.replace('/approveList')">返回</el-button>
             </div>
             <div class="approve-timeline-wrap">
@@ -95,7 +80,7 @@ export default {
             approveInfo:{//审批相关的信息
                 state:1,//当前审批的状态:1-待审批;2-已审批;3-已驳回;4-已撤回
                 stateText:'pending',//审批状态对应图片文字:待审批(pending),已通过(passed),已驳回(reject),已撤回(return)
-                isCurrentApprover:false,//审批进行中的节点审批人是否是当前用户
+                isCurrentApprover:false,//审批进行中的节点审批人是否是当前用户,控制通过&驳回按钮显示
             },
         };
     },
@@ -164,8 +149,8 @@ export default {
                         approveReason:ApproveRemark
                     }
                 })
-                //检测当前节点的User与当前用户是否匹配
-                if(i.ReportApproveNodeId===Approve.CurrNodeId){
+                //检测当前节点的User与当前用户是否匹配 且审批需要是待审批状态
+                if(i.ReportApproveNodeId===Approve.CurrNodeId&&Approve.State===1){
                     //当前节点的User中,有没有当前用户
                     const hasUser = i.Users.findIndex(u=>u.UserId===this.UserId)
                     if(hasUser!==-1){

+ 8 - 4
src/views/approve_manage/approveList.vue

@@ -77,16 +77,20 @@
                     <el-table-column label="操作" align="center">
                         <template slot-scope="{row}">
                             <template v-if="activeTab==='pending'">
-                                <el-button type="text" style="padding:0;" @click="toApproveDetail(row,'approve')">审批</el-button>
+                                <el-button type="text" style="padding:0;" @click="toApproveDetail(row,'approve')"
+                                    v-if="permissionBtn.isShowBtn('approvePermission','reportApprove_approve')">审批</el-button>
                             </template>
                             <template v-if="activeTab==='processed'">
                                 <el-button type="text" style="padding:0;" @click="toApproveDetail(row,'detail')">详情</el-button>
-                                <el-button type="text" style="padding:0" @click="handleShowDetail(row)" v-if="row.State===3">驳回理由</el-button>
+                                <el-button type="text" style="padding:0" @click="handleShowDetail(row)" 
+                                    v-if="row.State===3&&permissionBtn.isShowBtn('approvePermission','reportApprove_rejectreason')">驳回理由</el-button>
                             </template>
                             <template v-if="activeTab==='originate'">
                                 <el-button type="text" style="padding:0;" @click="toApproveDetail(row,'myself')">详情</el-button>
-                                <el-button type="text" style="padding:0;" v-if="row.State!==4" @click="cancelApprove(row)">撤销</el-button>
-                                <el-button type="text" style="padding:0" @click="handleShowDetail(row)" v-if="row.State===3">驳回理由</el-button>
+                                <el-button type="text" style="padding:0;" @click="cancelApprove(row)" 
+                                    v-if="row.State!==4&&permissionBtn.isShowBtn('approvePermission','reportApprove_repeal')">撤销</el-button>
+                                <el-button type="text" style="padding:0" @click="handleShowDetail(row)" 
+                                    v-if="row.State===3&&permissionBtn.isShowBtn('approvePermission','reportApprove_rejectreason')">驳回理由</el-button>
                             </template>
                         </template>