ソースを参照

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

zhouyy 4 ヶ月 前
コミット
08344dfd1f

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectApprovalController.java

@@ -90,6 +90,7 @@ public class ProjectApprovalController {
         List<ProjectCategory> categoryList = projectCategoryService.list(new LambdaQueryWrapper<ProjectCategory>().eq(ProjectCategory::getCompanyId, companyId));
         //编辑重新提交修改状态为待审核
         projectApproval.setStatus(0);
+        projectApproval.setRejectInfo("");
         if(projectApproval.getId()==null){
             projectApproval.setCompanyId(companyId);
             projectApproval.setCreateDate(LocalDate.now());

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProjectApproval.java

@@ -277,6 +277,9 @@ public class ProjectApproval extends Model<ProjectApproval> {
     @TableField(exist = false)
     private Boolean isCheckedUser;
 
+    @TableField(exist = false)
+    private String auditStr;
+
 
     @Override
     protected Serializable pkVal() {

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectApprovalServiceImpl.java

@@ -171,6 +171,8 @@ public class ProjectApprovalServiceImpl extends ServiceImpl<ProjectApprovalMappe
                 }else {
                     r.setIsFirstCheckUser(false);
                 }
+                Optional<User> userOptional = userList.stream().filter(u -> u.getId().equals(first1.get().getUserId())).findFirst();
+                userOptional.ifPresent(value -> r.setAuditStr(value.getName()));
             }else r.setIsFirstCheckUser(false);
 
             if (first2.isPresent()){

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet/src/i18n/zh.json

@@ -693,6 +693,7 @@
   "find": "查找",
   "ticketnumber": "票据编号",
   "dismissreason": "驳回原因",
+  "auditStr": "待审核人",
   "cha-kan": "查看",
   "detailsofReimbursementvoucher": "报销凭证详情",
   "nodocuments": "暂无单据",

+ 6 - 1
fhKeeper/formulahousekeeper/timesheet/src/permissions.js

@@ -152,7 +152,10 @@ const StringUtil = {
 
         // 设备管理
         equipmentInformationManagement: false,
-        equipmentCostManagement: false
+        equipmentCostManagement: false,
+
+        // 任务
+        tasksReviewTaskFile: false
         
     }
     // console.log(arr);
@@ -291,6 +294,8 @@ const StringUtil = {
         arr[i] == '设备信息管理' ? obj.equipmentInformationManagement = true : ''
         arr[i] == '设备成本管理' ? obj.equipmentCostManagement = true : ''
         arr[i] == '奖金明细' ? obj.financialBonusDetails = true : ''
+
+        arr[i] == '审核任务文件' ? obj.tasksReviewTaskFile = true : ''
     }
     return obj
   }

+ 26 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/projectApproval/projectApproval.vue

@@ -88,9 +88,10 @@
                             </template>
                         </el-table-column>
                         <el-table-column prop="rejectInfo" :label="$t('dismissreason')" min-width="250" ></el-table-column>
+                        <el-table-column prop="auditStr" :label="$t('auditStr')" min-width="100" ></el-table-column>
                         <el-table-column :label="$t('operation')" :width="300" align="left" fixed="right">
                             <template slot-scope="scope">
-                                <el-button size="mini" type="primary" v-if="(permissions.projectApprovalEdit||permissions.projectApprovalCheck)&&scope.row.status!=1" :disabled="scope.row.status!==-1&& scope.row.status!==2 "  @click="handleAdd(scope.$index, scope.row)">{{'编辑'}}</el-button>
+                                <el-button size="mini" type="primary" v-if="(permissions.projectApprovalEdit||permissions.projectApprovalCheck)&&scope.row.status!=1" :disabled="(scope.row.status!==-1&& scope.row.status!==2) || user.id!== scope.row.creatorId"    @click="handleAdd(scope.$index, scope.row)">{{'编辑'}}</el-button>
                                 <el-button size="mini" type="success" v-if="(permissions.projectApprovalEdit||permissions.projectApprovalCheck) && scope.row.status==0" :disabled="!scope.row.isFirstCheckUser"  @click="check(scope.row,1)" >{{'通过'}}</el-button>
                                 <el-button size="mini" v-if="(permissions.projectApprovalEdit||permissions.projectApprovalCheck) && scope.row.status==0" :disabled="!scope.row.isFirstCheckUser"  @click="showDenyDialog(scope.row,2)">{{'驳回'}}</el-button>
                                 <!-- <el-button size="mini" v-if="(permissions.projectApprovalEdit ||permissions.projectApprovalCheck) && scope.row.status==-1" @click="check(scope.row,3)">{{'撤销'}}</el-button> -->
@@ -274,7 +275,7 @@
                         <div slot="footer" class="dialog-footer;">
                             <el-button @click.native="deletePro(1, addForm)" v-if="(permissions.projectApprovalEdit) && addForm.id" style="float:left">{{ $t('btn.delete') }}</el-button>
                             <el-button @click.native="addFormVisible = false">{{ $t('btn.cancel') }}</el-button>
-                            <el-button type="primary" :disabled="addForm.status != -1" @click="tempSave" :loading="addLoading">{{ $t('btn.temporaryStorage') }}</el-button>
+                            <el-button type="primary" :disabled="addForm.status != -1 && addForm.status != 2 " @click="tempSave" :loading="addLoading">{{ $t('btn.temporaryStorage') }}</el-button>
                             <el-button type="primary" @click="submitInsert" :loading="addLoading">{{ $t('btn.submit') }}</el-button>
                         </div>
                     </el-dialog>
@@ -599,6 +600,17 @@ methods: {
     submitInsert() {
         this.$refs.form1.validate(valid => {
             if (valid) {
+                // 在提交前检查审核人
+                for (let i = 0; i < this.pointList.length; i++) {
+                    // 在提交前检查审核人
+                    if (this.pointList[i].userId === "") {
+                        this.$message({
+                            message: "审核人不能为空", // 提示信息
+                            type: "warning" // 提示类型
+                        });
+                        return; // 终止后续操作
+                    }
+                }
                 this.addLoading = true;
                 let targetData = {};
                 targetData.projectName= this.addForm.name
@@ -710,6 +722,18 @@ methods: {
     tempSave() {
         this.$refs.form1.validate(valid => {
             if (valid) {
+                // 在提交前检查审核人
+                for (let i = 0; i < this.pointList.length; i++) {
+                    // 在提交前检查审核人
+                    if (this.pointList[i].userId === "") {
+                        this.$message({
+                            message: "审核人不能为空", // 提示信息
+                            type: "warning" // 提示类型
+                        });
+                        return; // 终止后续操作
+                    }
+                }
+
                 this.addLoading = true;
                 let targetData = {};
                 targetData.projectName= this.addForm.name

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

@@ -107,7 +107,7 @@
                     <p :class="idx == 0 ? 'on' : ''" @click="switchs(0)" v-if="permissions.projectView || permissions.projectManagement || permissions.projectViewAllTasks">{{ $t('alltaskss') }}</p>
                     <p :class="idx == 1 ? 'on' : ''" @click="switchs(1)">{{ $t('perform') }}</p>
                     <p :class="idx == 2 ? 'on' : ''" @click="switchs(2)">{{ $t('created') }}</p>
-                    <p :class="idx == 3 ? 'on' : ''" @click="switchs(3)" v-if="user.timeType.taskFileCharge == 1">待审核文件</p>
+                    <p :class="idx == 3 ? 'on' : ''" @click="switchs(3)" v-if="user.timeType.taskFileCharge == 1 && permissions.tasksReviewTaskFile">待审核文件</p>
                 </div>
             </div>
             <div style="max-width: 94%;min-width: 90%">
@@ -156,7 +156,7 @@
                             </div>
                         </template>
                     </el-table-column>
-                    <el-table-column prop="finalChargeStatusText" label="文件审核状态" width="210" sortable v-if="user.timeType.taskFileCharge == 1 && [0, 2].includes(idx)">
+                    <el-table-column prop="finalChargeStatusText" label="文件审核状态" width="210" sortable v-if="user.timeType.taskFileCharge == 1 && [0, 1, 2].includes(idx)">
                         <template slot-scope="scope">
                             <template v-if="scope.row.finalChargeStatus != 2">
                                 <el-link :type="{'0': 'warning', '1': 'info', '2': 'danger'}[scope.row.fileChargeStatus]" :underline="false">