소스 검색

2022.8.5 审核通过评价

ggooalice 2 년 전
부모
커밋
343f1c4243

+ 6 - 0
fhKeeper/formulahousekeeper/octopus/src/views/customer/list.vue

@@ -189,12 +189,14 @@
         <el-dialog v-if="editDialogG" :visible.sync="editDialogG" title="其他设置">
             <el-form label-width="100px">
                 <el-form-item><el-checkbox v-model="dialogData.reportWorkflow">是否开启审批流设置</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.needEvaluate">审核通过需输入评价</el-checkbox></el-form-item>
                 <el-form-item><el-checkbox v-model="dialogData.mainProjectState">是否启用主项目模式</el-checkbox></el-form-item>
                 <el-form-item><el-checkbox v-model="dialogData.isSecretSalary">是否秘薪模式</el-checkbox></el-form-item>
                 <el-form-item><el-checkbox v-model="dialogData.showFillauditTime">是否显示日报审批流程</el-checkbox></el-form-item>
                 <el-form-item><el-checkbox v-model="dialogData.isCro">是否CRO企业</el-checkbox></el-form-item>
                 <el-form-item><el-checkbox v-model="dialogData.onlyImportreport">是否仅使用导入日报审核(不要项目审核)</el-checkbox></el-form-item>
                 <el-form-item><el-checkbox v-model="dialogData.projectLevelState">是否开启项目级别自定义</el-checkbox></el-form-item>
+                <el-form-item><el-checkbox v-model="dialogData.outputValueStatus">是否开启项目产值字段</el-checkbox></el-form-item>
                 <el-form-item>
                     日报审核模式:
                     <el-select v-model="dialogData.reportAuditType" size="small">
@@ -331,12 +333,14 @@
                     },res => {
                         if(res.code == 'ok'){
                             this.$set(this.dialogData,'reportWorkflow',res.data.reportWorkflow ? true : false)
+                            this.$set(this.dialogData,'needEvaluate',res.data.needEvaluate ? true : false)
                             this.$set(this.dialogData,'mainProjectState',res.data.mainProjectState ? true : false)
                             this.$set(this.dialogData,'isSecretSalary',res.data.isSecretSalary ? true : false)
                             this.$set(this.dialogData,'showFillauditTime',res.data.showFillauditTime ? true : false)
                             this.$set(this.dialogData,'isCro',res.data.isCro ? true : false)
                             this.$set(this.dialogData,'onlyImportreport',res.data.onlyImportreport ? true : false)
                             this.$set(this.dialogData,'projectLevelState',res.data.projectLevelState ? true : false)
+                            this.$set(this.dialogData,'outputValueStatus',res.data.outputValueStatus ? true : false)
                             this.$set(this.dialogData,'reportAuditType',res.data.reportAuditType)
                         }else{
                             this.$message({
@@ -577,12 +581,14 @@
                 this.http.post('/company/setTimeTypeSetting',{
                     companyId: this.dialogData.id,
                     reportWorkflow: this.dialogData.reportWorkflow ? 1 : 0,
+                    needEvaluate: this.dialogData.needEvaluate ? 1 : 0,
                     mainProjectState: this.dialogData.mainProjectState ? 1 : 0,
                     isSecretSalary: this.dialogData.isSecretSalary ? 1 : 0,
                     showFillauditTime: this.dialogData.showFillauditTime ? 1 : 0,
                     isCro: this.dialogData.isCro ? 1 : 0,
                     onlyImportreport: this.dialogData.onlyImportreport ? 1 : 0,
                     projectLevelState: this.dialogData.projectLevelState ? 1 : 0,
+                    outputValueStatus: this.dialogData.outputValueStatus ? 1 : 0,
                     reportAuditType: this.dialogData.reportAuditType
                 },res => {
                     if(res.code == 'ok'){

+ 4 - 0
fhKeeper/formulahousekeeper/timesheet/src/permissions.js

@@ -67,6 +67,8 @@ const StringUtil = {
         reportResponsible: false, // 负责部门工时统计 //
         reportAllGroup: false, // 全部任务分组工时 //
         reportGroup: false, // 负责项目任务分组工时 //
+        reportAllOutputValue: false, // 全部项目成本基线表 //
+        reportOutputValue: false, // 负责项目成本基线表 //
 
         // 请假模块
         leaveFil : false, // 请假填报 // 
@@ -178,6 +180,8 @@ const StringUtil = {
         arr[i] == '查看人员数据' ? obj.countPersonnel = true : ''
         arr[i] == '全部任务分组工时' ? obj.reportAllGroup = true : ''
         arr[i] == '负责项目任务分组工时' ? obj.reportGroup = true : ''
+        arr[i] == '全部项目成本基线表' ? obj.reportAllOutputValue = true : ''
+        arr[i] == '负责项目成本基线表' ? obj.reportOutputValue = true : ''
     }
 
     return obj

+ 57 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -22,6 +22,7 @@
                   <el-menu-item index="1-1" v-if="permissions.reportProject || permissions.reportAllProject"><p @click="ssl(0)">项目报表</p></el-menu-item>
                   <el-menu-item index="1-2" v-if="permissions.reportTask || permissions.reportAllTask"><p @click="ssl(1)">项目任务报表</p></el-menu-item>
                   <el-menu-item index="1-3" v-if="permissions.reportCostOf || permissions.reportAllCostOf"><p @click="ssl(2)">项目成本报表</p></el-menu-item>
+                  <el-menu-item index="1-14" v-if="permissions.reportAllOutputValue || permissions.reportOutputValue"><p @click="ssl(13)">项目成本基线表</p></el-menu-item>
                   <el-menu-item index="1-9" v-if="permissions.reportAllTimeDivide || permissions.reportTimeDivide"><p @click="ssl(8)">人员工时分配表</p></el-menu-item>
                   <el-menu-item index="1-4" v-if="permissions.reportCostWarning"><p @click="ssl(7)">工时成本预警表</p></el-menu-item>
                   <el-menu-item index="1-5" v-if="permissions.reportBalance || permissions.reportAllBalance"><p @click="ssl(3)">项目收支平衡表</p></el-menu-item>
@@ -518,6 +519,22 @@
                 </el-table-column>
                 <el-table-column prop="proportion" label="实际用时占比" min-width="200" align="center"></el-table-column>
             </el-table>
+
+            <!-- 项目成本基线表 -->
+            <el-table v-if="ins == 13" key="13" border :data="outputValueList" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;">
+                <el-table-column prop="projectCode" label="项目编号" min-width="150"></el-table-column>
+                <el-table-column prop="projectName" label="项目名称" min-width="250"></el-table-column>
+                <el-table-column v-for="item in outputValueTitle" :key="item" :label="item" min-width="150" align="right">
+                  <template slot-scope="scope">
+                    <span>{{scope.row.projectBasecostList.filter(li => li.baseName == item).length > 0 ? scope.row.projectBasecostList.filter(li => li.baseName == item)[0].baseAmount.toFixed(2) : '-'}}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="项目产值" min-width="150" align="right" v-if="user.timeType.outputValueStatus == 1">
+                  <template slot-scope="scope">
+                    <span>{{scope.row.outputValue ? scope.row.outputValue.toFixed(2) : '-'}}</span>
+                  </template>
+                </el-table-column>
+            </el-table>
             
 
         <!--工具条-->
@@ -717,7 +734,7 @@ export default {
       shuz: ["项目报表","项目任务报表","项目成本报表",
       "项目收支平衡表(利润表)","客户项目利润报表","项目阶段工时表",
       "加班情况统计表","工时成本预警表","人员工时分配表",
-      "员工填报及时率统计","日报待审核统计"],
+      "员工填报及时率统计","日报待审核统计","项目成本基线表"],
       ins: 10000,
       user: JSON.parse(sessionStorage.user),
       overTimeList: [], // 项目加班情况统计列表
@@ -757,7 +774,10 @@ export default {
       groupListLoading: false,
       groupPage: 1,
       groupSize: 20,
-      groupTotal: 0
+      groupTotal: 0,
+
+      outputValueList: [],
+      outputValueTitle: []
     };
   },
   computed: {},
@@ -802,6 +822,7 @@ export default {
       if(this.permissions.reportTask || this.permissions.reportAllTask) {this.ssl(1);this.defaultActive = '1-2';return} else
       if(this.permissions.reportCostOf || this.permissions.reportAllCostOf) {this.ssl(2);this.defaultActive = '1-3';return} else
       if(this.permissions.reportTimeDivide || this.permissions.reportAllTimeDivide) {this.ssl(8);this.defaultActive = '1-9';return} else
+      if(this.permissions.reportOutputValue || this.permissions.reportAllOutputValue) {this.ssl(13);this.defaultActive = '1-14';return} else
       if(this.permissions.reportCostWarning) {this.ssl(7);this.defaultActive = '1-4';return} else
       if(this.permissions.reportBalance || this.permissions.reportAllBalance) {this.ssl(3);this.defaultActive = '1-5';return} else
       if(this.permissions.reportProfits) {this.ssl(4);this.defaultActive = '1-6';return} else
@@ -1042,6 +1063,8 @@ export default {
                   this.groupWorktimeList.right = []
                     this.getGroupWorktimeList()
                     this.getGroupWorktimeAll()
+                }else if(this.ins == 13){
+                  this.getOutputValueList()
                 }
             },
       exportExcel() {
@@ -1121,6 +1144,9 @@ export default {
           url += "/exportGroupWithProjectTimeCost"
           sl.startDate = this.rangeDatas[0]
           sl.endDate = this.rangeDatas[1]
+        }else if(this.ins == 13){
+          fName = "项目成本基线表.xls"
+          url += "/exportProjectBaseCost"
         }
           this.http.post(url, sl,
             res => {
@@ -1166,6 +1192,8 @@ export default {
       this.reportTimelyList = []
       this.auditRateList = []
       this.departmentIdArray = []
+      this.outputValueList = []
+      this.outputValueTitle = []
       this.userId = null
       this.selUserList = this.userList
       this.getList();
@@ -1258,6 +1286,33 @@ export default {
             });
         });
     },
+    getOutputValueList(){
+      let parameter = {
+        pageIndex: this.page,
+        pageSize: this.size
+      }
+      if(this.proJuctId){
+        parameter.projectId = this.proJuctId
+      }
+      this.http.post('/project/getProjectBaseCost',parameter,
+      res => {
+        if(res.code == 'ok'){
+          this.outputValueList = res.data.result
+          this.total = res.data.total
+          this.outputValueTitle = res.data.title
+        }else {
+          this.$message({
+            message: res.msg,
+            type: 'error'
+          })
+        }
+      },err => {
+        this.$message({
+          message: err,
+          type: 'error'
+        })
+      })
+    },
     overTime() {
       this.listLoading = true;
       var obj = {

+ 21 - 6
fhKeeper/formulahousekeeper/timesheet/src/views/project/info.vue

@@ -33,14 +33,18 @@
                         <el-col :span="5" ><span class="gray_label">创建日期:</span></el-col><el-col :span="7" ><span>{{project.createDate}}</span></el-col>
                     </el-row>
                     <el-row :gutter="10">
-                        <el-col :span="5" ><span class="gray_label">计划开始日期:</span></el-col><el-col :span="7" >
-                            <span >{{project.planStartDate==null?'-':project.planStartDate}}</span></el-col>
-                        <el-col :span="5" ><span class="gray_label">计划结束日期:</span></el-col><el-col :span="7" ><span>
-                            {{project.planEndDate == null?'-':project.planEndDate}}</span></el-col>
+                        <el-col :span="5" ><span class="gray_label">计划开始日期:</span></el-col>
+                        <el-col :span="7" ><span >{{project.planStartDate==null?'-':project.planStartDate}}</span></el-col>
+                        <el-col :span="5" ><span class="gray_label">计划结束日期:</span></el-col>
+                        <el-col :span="7" ><span>{{project.planEndDate == null?'-':project.planEndDate}}</span></el-col>
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="5" ><span class="gray_label">实际完成日期:</span></el-col>
                         <el-col :span="7" ><span>{{project.finishDate==null?'-':project.finishDate}}</span></el-col>
+                        <template v-if="user.timeType.outputValueStatus == 1">
+                        <el-col :span="5" ><span class="gray_label">项目产值:</span></el-col>
+                        <el-col :span="7" ><span>{{project.outputValue == null?'-':project.outputValue | numberToCurrency}} 元</span></el-col>
+                        </template>
                     </el-row>
                     <el-row :gutter="10" v-if="yonghuUser.customDegreeActive == 1">
                         <el-col :span="5" ><span class="gray_label">{{yonghuUser.customDegreeName}}:</span></el-col>
@@ -293,7 +297,13 @@
                      format="yyyy-MM-dd" 
                      value-format="yyyy-MM-dd"
                      :clearable="false" type="date" 
+                     style="width:32%"
                      placeholder="选择日期"></el-date-picker>
+                    <template v-if="user.timeType.outputValueStatus == 1">
+                    <span style="margin-left:50px;margin-right:10px;">项目产值</span>
+                    <el-input v-model="addForm.outputValue" id="outputValue" style="width:32%;"
+                    placeholder="" clearable @keyup.native="restrictNumber('outputValue')"></el-input><span style="margin-left:10px;">元</span>
+                    </template>
                 </el-form-item>
                 <el-form-item label="截止日期" prop="planEndDate">
                     <el-date-picker v-model="addForm.planEndDate" 
@@ -301,6 +311,7 @@
                      format="yyyy-MM-dd" 
                      value-format="yyyy-MM-dd"
                      :clearable="false" type="date" 
+                     style="width:32%"
                      placeholder="选择日期"></el-date-picker>
                 </el-form-item>
 
@@ -1402,6 +1413,9 @@
                         if(this.addForm.projectDesc != null) {
                             formData.append("projectDesc", this.addForm.projectDesc);
                         }
+                        if(this.user.timeType.outputValueStatus == 1){
+                            formData.append("outputValue", this.addForm.outputValue)
+                        }
                         var listId = []
                         var listName = []
                         if(this.auseList.length > 0) {
@@ -1460,8 +1474,8 @@
             
             showEdit() {
                 this.addForm = JSON.parse(JSON.stringify(this.project));
-                console.log('---'+this.project);
-                console.log(this.addForm.projectCode);
+                // console.log('---'+this.project);
+                // console.log(this.addForm.projectCode);
                 
                 var list = this.project.participationList , arr = [];
                 for(var j in list) {
@@ -1469,6 +1483,7 @@
                 }
                 this.$set(this.addForm,'code',this.addForm.projectCode)
                 this.$set(this.addForm,'name',this.addForm.projectName)
+                this.$set(this.addForm,'outputValue',this.addForm.outputValue ? this.addForm.outputValue : null)
                 this.addForm.userId = arr
                 this.addFormVisible = true;
                 console.log(this.addForm, 123)

+ 9 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -417,6 +417,12 @@
                      :clearable="false" type="date" 
                      placeholder="选择日期"></el-date-picker>
                 </el-form-item>
+                <el-form-item label="项目产值" prop="outputValue" v-if="user.timeType.outputValueStatus == 1">
+                    <el-input id="outputValue" v-model="addForm.outputValue" style="width:32%;"
+                    placeholder="" clearable  @keyup.native="restrictNumber('outputValue')">
+                    </el-input><span style="margin-left:10px;">元</span>
+
+                </el-form-item>
 
                 <!-- 单个公司的固定字段 -->
                 <div v-if="user.companyId == '936'">
@@ -3189,6 +3195,9 @@ a {
                         if (this.chosenLeaders != null && this.chosenLeaders.length > 0) {
                             formData.append("chosenLeaders", JSON.stringify(this.chosenLeaders));
                         }
+                        if (this.user.timeType.outputValueStatus == 1){
+                            formData.append("outputValue",this.addForm.outputValue)
+                        }
                         var listId = []
                         var listName = []
                         for(var i in this.auseList) {

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/team/index.vue

@@ -2707,6 +2707,7 @@ export default {
           pageIndex: this.page,
           pageSize: this.size,
           keyword: this.keyword,
+          status: this.status
         },
         (res) => {
           this.listLoading = false;

+ 32 - 9
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -216,6 +216,8 @@
                                                             <p>事项:<span v-html="timeItem.content"></span></p>
                                                         </div>
                                                     </div>
+                                                    <p v-if="item2.state == 1 && user.timeType.needEvaluate == 1">评价:<span v-html="item2.evaluate"></span></p>
+                                                    
                                                     <!--照片的显示 -->
                                                     <p v-if="item2.pics != null && item2.pics.length > 0"> 
                                                         <el-image v-for="(pic, index) in item2.pics" :key="index"
@@ -1144,6 +1146,16 @@
                 <el-button type="primary" @click="deny()" >确定</el-button>
             </div>
         </el-dialog>
+        <!--  通过弹出框 -->
+        <el-dialog title="审核评价" v-if="approveinDialog" :visible.sync="approveinDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
+            <div>
+                <el-input type="textarea" v-model="approveinData.evaluate" rows="2" placeholder="请输入您决定通过的评价" />
+            </div>
+            <div slot="footer" class="dialog-footer">
+                <el-button  @click="approveinDialog = false" >取消</el-button>
+                <el-button type="primary" @click="approveinfun()" >确定</el-button>
+            </div>
+        </el-dialog>
 
         <!--批量导入日报 -->
         <el-dialog title="工时批量导入" v-if="importDialog" :visible.sync="importDialog" customClass="customWidth" width="500px">
@@ -1553,7 +1565,9 @@
                 leaveTypeName: ['事假','病假','年假','产假','婚假','丧假','调休假','陪产假','其他',],
                 isWeekend: false,
 
-                canCancelInDialog: false
+                canCancelInDialog: false,
+                approveinData: {},
+                approveinDialog: false
             };
         },
         watch: {
@@ -5265,18 +5279,27 @@
 
             // 通过日报
             approve(id, item) {
-                this.logining = true;
                 let day = (this.choseDay + 1) > 9 ? "-" + (this.choseDay + 1) : "-0" + (this.choseDay + 1);
-
-                var ids = item.id;
-                // var data = item.data;
-                // data.forEach(element => {
-                //     ids +=(element.id+',');
-                // });
-                this.http.post( this.port.report.approve, {id: id , date: this.date +day, reportIds: ids},
+                this.approveinData = {
+                    id: id,
+                    date: this.date +day,
+                    reportIds: item.id
+                }
+                if(this.user.timeType.needEvaluate == 1){
+                    this.$set(this.approveinData,'evaluate','')
+                    this.approveinDialog = true
+                }else{
+                    this.logining = true;
+                    this.approveinfun()
+                }
+                
+            },
+            approveinfun(){
+                this.http.post( this.port.report.approve, this.approveinData,
                 res => {
                     this.logining = false;
                     if (res.code == "ok") {
+                        this.approveinDialog = false
                         this.$message({
                             message: "审核成功",
                             type: "success"

+ 60 - 15
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/list.vue

@@ -289,6 +289,18 @@
                 <el-button  @click="detailsDialog = false" size="mini">取消</el-button>
             </div>
         </el-dialog>
+
+        <!-- 审核通过评价 -->
+        <el-dialog title="请输入通过评价" v-if="approveinDialog" :visible.sync="approveinDialog" :close-on-click-modal="false" customClass="customWidth" width="500px">
+            <div>
+                <el-input type="textarea" v-model="approveinData.evaluate" rows="2" placeholder="请输入您决定通过的评价" />
+            </div>
+            <div slot="footer" class="dialog-footer">
+                <el-button  @click="approveinDialog = false" >取消</el-button>
+                <el-button type="primary" @click="batchApproveinfun()" v-if="isbatch">确定</el-button>
+                <el-button type="primary" @click="approveinfun()" v-else>确定</el-button>
+            </div>
+        </el-dialog>
     </section>
 </template>
 
@@ -346,7 +358,11 @@
                 detailsDialog: false,
                 idx: 0, // 详情索引
                 detailsList: [],
-                undoFormLoading: false
+                undoFormLoading: false,
+
+                approveinData: null,
+                approveinDialog: false,
+                isbatch: false
             };
         },
         filters: {
@@ -483,13 +499,31 @@
                 }
                 //等待
                 if(isPass){
-                    this.batchApproveLoading = true
-                    this.listLoading = true;
-                    this.http.post('/report/batchApproveReport', {ids: ids},
+                    this.isbatch = true
+                    this.approveinData = {
+                        ids: ids
+                    }
+                    if(this.user.timeType.needEvaluate == 1){
+                        this.$set(this.approveinData,'evaluate','')
+                        this.approveinDialog = true
+                    }else{
+                        this.batchApproveLoading = true
+                        this.listLoading = true;
+                        this.batchApproveinfun()
+                    }
+                }else{
+                    this.batchDenyDialog = true
+                    this.batchDenyData.ids = ids
+                    this.batchDenyData.reason = ''
+                }
+            },
+            batchApproveinfun(){
+                this.http.post('/report/batchApproveReport', this.approveinData,
                     res => {
                         this.batchApproveLoading = false
                         this.listLoading = false;
                         if (res.code == "ok") {
+                            this.approveinDialog = false
                             this.getList();
                         } else {
                             this.$message({
@@ -505,11 +539,6 @@
                             type: "error"
                         });
                     });
-                }else{
-                    this.batchDenyDialog = true
-                    this.batchDenyData.ids = ids
-                    this.batchDenyData.reason = ''
-                }
             },
             batchDenyClick(){
                 this.batchDenyLoading = true
@@ -623,19 +652,35 @@
 
             // 通过日报
             approve(id,date, item) {
-                // console.log(item);
-                this.logining = true;
-                
-                var ids = '';
-                var data = item.data;
+                let ids = '';
+                let data = item.data;
                 data.forEach(element => {
                     ids +=(element.id+',');
                 });
+                this.isbatch = false
+                this.approveinData = {
+                    id: id,
+                    reportIds: ids
+                }
+                if(this.user.timeType.needEvaluate == 1){
+                    this.$set(this.approveinData,'evaluate','')
+                    this.approveinDialog = true
+                }else{
+                    this.logining = true;
+                    this.approveinfun()
+                }
+                
+                
+                
 
-                this.http.post(this.port.report.approve, {id: id ,reportIds: ids},
+                
+            },
+            approveinfun(){
+                this.http.post(this.port.report.approve, this.approveinData,
                 res => {
                     this.logining = false;
                     if (res.code == "ok") {
+                        this.approveinDialog = false
                         this.$message({
                             message: "审核成功",
                             type: "success"

+ 76 - 14
fhKeeper/formulahousekeeper/timesheet_h5/src/views/review/index.vue

@@ -109,6 +109,14 @@
                     rows="3" autosize  />
                 <van-button style="width:100%;" type="info" @click="deny()">提交</van-button>
             </van-popup>
+            <van-popup v-model="approveinDialog" v-if="approveinDialog" position="bottom" closeable >
+                <van-cell>请输入通过评价</van-cell>
+                <van-field class="form_input"
+                    v-model="approveinData.evaluate" name="reason" type="textarea" placeholder="请输入您决定通过的评价"
+                    rows="3" autosize  />
+                <van-button style="width:100%;" type="info" @click="batchApproveinfun()" v-if="isbatch">提交</van-button>
+                <van-button style="width:100%;" type="info" @click="approveinfun()" v-else>提交</van-button>
+            </van-popup>
         </div>
     </div>
 </template>
@@ -131,7 +139,10 @@
                 showPicker: false,
                 report: [],
                 flg: false,
-                isCanAgree: false
+                isCanAgree: false,
+                approveinData: null,
+                approveinDialog: false,
+                isbatch: false
             };
         },
         created() {
@@ -165,10 +176,7 @@
                 this.isCanAgree = iscan
             },
             batchAgree(bol){
-                const toast = this.$toast.loading({
-                    forbidClick: true,
-                    duration: 0
-                });
+                
                 let ids = ''
                 for(let i in this.report){
                     if(this.report[i].checked){
@@ -180,15 +188,54 @@
                 if(ids.length > 0){
                     ids = ids.substring(0, ids.length-1);
                 }
+                if(bol){
+                    this.isbatch = true
+                    this.approveinData = {
+                        ids: ids
+                    }
+                    if(this.user.timeType.needEvaluate == 1){
+                        this.$set(this.approveinData,'evaluate','')
+                        this.approveinDialog = true
+                    }else{
+                        const toast = this.$toast.loading({
+                            forbidClick: true,
+                            duration: 0
+                        });
+                        this.batchApproveinfun()
+                    }
+                }else{
+                    const toast = this.$toast.loading({
+                        forbidClick: true,
+                        duration: 0
+                    });
+                    let that = this
+                    this.$axios.post('/report/batchDenyReport', {
+                        ids: ids
+                    }).then(res => {
+                        if(res.code == "ok") {
+                            this.$toast.clear();
+                            setTimeout(function() {
+                                that.$toast.success('审核成功');
+                            }, 300);
+                            this.getReport();
+                        } else {
+                            this.$toast.clear();
+                            this.$toast.fail('批量操作失败:'+res.msg);
+                        }
+                    }).catch(err=> {this.$toast.clear();});
+                }
+                
+            },
+            batchApproveinfun(){
                 let that = this
-                this.$axios.post(bol?'/report/batchApproveReport':'/report/batchDenyReport', {
-                    ids: ids
-                }).then(res => {
+                this.$axios.post('/report/batchApproveReport', this.approveinData)
+                .then(res => {
                     if(res.code == "ok") {
                         this.$toast.clear();
                         setTimeout(function() {
                             that.$toast.success('审核成功');
                         }, 300);
+                        this.approveinDialog = false
                         this.getReport();
                     } else {
                         this.$toast.clear();
@@ -262,10 +309,7 @@
             },
 
             approve(id, item) {
-                const toast = this.$toast.loading({
-                    forbidClick: true,
-                    duration: 0
-                });
+                
                 var ids = '';
                 var data = item.data;
                 data.forEach(element => {
@@ -273,15 +317,33 @@
                         ids +=(element.id+',');
                     }
                 });
+                this.isbatch = false
+                this.approveinData = {
+                    id: id,
+                    date: this.nowTime,
+                    reportIds: ids
+                }
+                if(this.user.timeType.needEvaluate == 1){
+                    this.$set(this.approveinData,'evaluate','')
+                    this.approveinDialog = true
+                }else{
+                    const toast = this.$toast.loading({
+                        forbidClick: true,
+                        duration: 0
+                    });
+                    this.approveinfun()
+                }
+            },
+            approveinfun(){
                 let that = this;
-                this.$axios.post("/report/approve", {id: id , date: this.nowTime, reportIds: ids})
+                this.$axios.post("/report/approve", this.approveinData)
                 .then(res => {
                     if(res.code == "ok") {
                         this.$toast.clear();
                         setTimeout(function() {
                             that.$toast.success('审核成功');
                         }, 300);
-                        
+                        this.approveinDialog = false
                         this.getReport();
                     } else {
                         this.$toast.clear();