Min 1 سال پیش
والد
کامیت
a5a47e2b04

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

@@ -88,6 +88,8 @@ public class ProjectApprovalController {
         WxCorpInfo wxCorpInfo = wxCorpInfoService.getOne(new LambdaQueryWrapper<WxCorpInfo>().eq(WxCorpInfo::getCompanyId, companyId));
         List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getCompanyId, companyId));
         List<ProjectCategory> categoryList = projectCategoryService.list(new LambdaQueryWrapper<ProjectCategory>().eq(ProjectCategory::getCompanyId, companyId));
+        //编辑重新提交修改状态为待审核
+        projectApproval.setStatus(0);
         if(projectApproval.getId()==null){
             projectApproval.setCompanyId(companyId);
             projectApproval.setCreateDate(LocalDate.now());

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ProjectApprovalLog.java

@@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * <p>
@@ -35,6 +38,8 @@ public class ProjectApprovalLog extends Model<ProjectApprovalLog> {
     private String userName;
 
     @TableField("create_time")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDateTime createTime;
 
     /**

+ 43 - 14
fhKeeper/formulahousekeeper/timesheet/src/views/projectApproval/projectApproval.vue

@@ -319,30 +319,52 @@
                         <div class="line"><span>{{'项目类型:'}}</span><span>{{projectApprocalDetail.isPublic==0?"正式项目":"非项目"}}</span></div>
                         <div class="line"><span>{{'项目描述:'}}</span><span>{{projectApprocalDetail.projectDesc}}</span></div>
                         <div class="line"><span>{{'全部参与人:'}}</span>
-                            <span v-if="user.userNameNeedTranslate != 1">{{projectApprocalDetail.participationApprovalList.map(v=>v.userName).join(",")}}</span>
-                            <span v-if="user.userNameNeedTranslate == 1"><ww-open-data type='userName' :openid='projectApprocalDetail.participationApprovalList?projectApprocalDetail.participationApprovalList.map(v=>v.userName).join(","):""'></ww-open-data></span>
+                            <span v-for="(par, index) in projectApprocalDetail.participationApprovalList" :key="par.userId">
+                                <span v-if="user.userNameNeedTranslate != 1">
+                                    {{par.userName}}
+                                </span>
+                                <span v-if="user.userNameNeedTranslate == 1">
+                                    <ww-open-data type='userName' :openid='par.userName'></ww-open-data>
+                                </span>
+                                <span v-if="index < projectApprocalDetail.participationApprovalList.length-1">,</span>
+                            </span>
                         </div>
                         <div class="line"><span>{{'项目经理:'}}</span>
                             <span v-if="user.userNameNeedTranslate != 1">{{projectApprocalDetail.inchargerName}}</span>
                             <span v-if="user.userNameNeedTranslate == 1"><ww-open-data type='userName' :openid='projectApprocalDetail.inchargerName'></ww-open-data></span>
                         </div>
                         <div class="line"><span>{{'日报审核人:'}}</span>
-                            <span v-if="user.userNameNeedTranslate != 1">{{projectApprocalDetail.projectApprovalAuditorList.map(v=>v.auditorName).join(",")}}</span>
-                            <span v-if="user.userNameNeedTranslate == 1"><ww-open-data type='userName' :openid='projectApprocalDetail.projectApprovalAuditorList?projectApprocalDetail.projectApprovalAuditorList.map(v=>v.auditorName).join(","):""'></ww-open-data></span>
+                            <span v-for="(par,index) in projectApprocalDetail.projectApprovalAuditorList" :key="par.auditorId">
+                                <span v-if="user.userNameNeedTranslate != 1">
+                                    {{par.auditorName}}
+                                </span>
+                                <span v-if="user.userNameNeedTranslate == 1">
+                                    <ww-open-data type='userName' :openid='par.auditorName'></ww-open-data>
+                                </span>
+                                <span v-if="index < projectApprocalDetail.projectApprovalAuditorList.length-1">,</span>
+                            </span>
                         </div>
                         <div class="line"><span>{{'级别:'}}</span><span>{{importanceListLable[projectApprocalDetail.level-1]}}</span></div>
                         <div class="line"><span>{{'合同金额:'}}</span><span>{{projectApprocalDetail.contractAmount}}</span></div>
-                        <el-divider></el-divider>
-                        <div class="line">
-                            <span>成本基线</span>
-                        </div>
                         <div class="line">
                             <span>{{'计划开始日期:'}}</span><span>{{projectApprocalDetail.planStartDate}}</span>
                             <span>{{'计划结束日期:'}}</span><span>{{projectApprocalDetail.planEndDate}}</span>
                         </div>
+                        <el-divider></el-divider>
+                        <div class="line">
+                            <span>成本基线</span>
+                        </div>
                         <div class="line" v-for="(item,index) in projectApprocalDetail.projectApprovalBasecostList">
                             <span>{{item.baseName+":"}}</span><span>{{item.baseAmount}}</span>
                         </div>
+                        <el-divider></el-divider>
+                        <div class="line">
+                            <span>操作记录</span>
+                        </div>
+                        <div class="line" v-for="(item,index) in approvalLogData">
+                            <span v-if="user.userNameNeedTranslate != 1">{{item.userName}} {{item.createTime}} {{approvalTypeStr[item.type]}}了日报</span>
+                            <span v-if="user.userNameNeedTranslate == 1"><ww-open-data type='userName' :openid='item.userName'></ww-open-data> {{item.createTime}}{{approvalTypeStr[item.type]}}了日报</span>
+                        </div>
                         <div slot="footer" class="dialog-footer">
                             <el-button type="primary" @click="projectApprovalDetailVisible = false" >{{'关闭'}}</el-button>
                         </div>
@@ -431,6 +453,8 @@ return {
     projectApprovalDetailVisible:false,
     projectApprocalDetail:{},
     importDialog:false,
+    approvalLogData:[],
+    approvalTypeStr:["提交","编辑","通过","驳回","撤销"],
 }
 },
 computed: {},
@@ -673,22 +697,18 @@ methods: {
             var arr=[]
             var names=""
             let namesLiss = [] // 企业微信用到的参与者
-            for(var j in list) {
-                arr.push(list[j].userId)
-                names += list[j].userName+',';
-                namesLiss.push(list[j].userName)
-            }
             if (names.length > 0) {
                 names = names.substring(0, names.length -1);
             }
-            this.addFormUserNames = namesLiss
             var auditorArr=[]
             if(theData.participationApprovalList){
                 for(let i in theData.participationApprovalList){
                     arr.push(theData.participationApprovalList[i].userId);
                     names+=theData.participationApprovalList[i].userName+",";
+                    namesLiss.push(theData.participationApprovalList[i].userName)
                 }
             }
+            this.addFormUserNames = namesLiss
             if(theData.projectApprovalAuditorList){
                 for(let i in theData.projectApprovalAuditorList){
                     auditorArr.push(theData.projectApprovalAuditorList[i].auditorId)
@@ -1266,6 +1286,15 @@ methods: {
             this.projectApprocalDetail=res.data
         }
         });
+        this.getApprovalEditLog(item)
+    },
+    getApprovalEditLog(item){
+        this.http.post('/project-approval-log/listById', {id: item.id},
+        res => {
+        if (res.code == "ok") {
+            this.approvalLogData=res.data
+        }
+        });
     },
     batchImportData(item) {
     //首先判断文件类型