Pārlūkot izejas kodu

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper into master

seyason 3 gadi atpakaļ
vecāks
revīzija
e1e3800b15
18 mainītis faili ar 101 papildinājumiem un 127 dzēšanām
  1. 2 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java
  2. 2 10
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectRequirementController.java
  3. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WxCorpInfoController.java
  4. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java
  5. 1 13
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  6. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java
  7. 1 1
      fhKeeper/formulahousekeeper/timesheet/config/index.js
  8. 0 2
      fhKeeper/formulahousekeeper/timesheet/src/permissions.js
  9. 25 14
      fhKeeper/formulahousekeeper/timesheet/src/views/Login.vue
  10. 32 11
      fhKeeper/formulahousekeeper/timesheet/src/views/awayOffice/awayOffice.vue
  11. 2 3
      fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue
  12. 6 9
      fhKeeper/formulahousekeeper/timesheet/src/views/project/cost.vue
  13. 1 1
      fhKeeper/formulahousekeeper/timesheet/src/views/project/projectInside.vue
  14. 6 21
      fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue
  15. 3 2
      fhKeeper/formulahousekeeper/timesheet/src/views/workReport/list.vue
  16. 7 16
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue
  17. 7 17
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue
  18. 3 2
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/review/index.vue

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

@@ -333,8 +333,8 @@ public class ProjectController {
     }
 
     @RequestMapping("/getGanttData")
-    public HttpRespMsg getGanttData(@RequestParam(required = false, defaultValue = "0") Integer type, String startDate, String endDate, String userId, Integer projectId, String groupName, HttpServletRequest request) {
-        return projectService.getGanttData(type, startDate, endDate, userId, projectId, groupName, request);
+    public HttpRespMsg getGanttData(@RequestParam(required = false, defaultValue = "0") Integer type, String startDate, String endDate, String userId, Integer projectId, HttpServletRequest request) {
+        return projectService.getGanttData(type, startDate, endDate, userId, projectId, request);
     }
 
     /**

+ 2 - 10
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectRequirementController.java

@@ -65,7 +65,7 @@ public class ProjectRequirementController {
         HttpRespMsg msg = new HttpRespMsg();
         Integer companyId = userMapper.selectById(request.getHeader("TOKEN")).getCompanyId();
         int startIndex = (pageIndex-1)*pageSize;
-
+        long total = projectMapper.selectCount(new QueryWrapper<Project>().eq("company_id", companyId));
         LocalDate now = LocalDate.now();
         now = now.minusDays(7);
         String startDate = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(now);
@@ -74,16 +74,8 @@ public class ProjectRequirementController {
             List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", companyId));
             List<Integer> collect = projectList.stream().map(Project::getId).collect(Collectors.toList());
             List<TaskGroup> taskGroups = taskGroupMapper.selectList(new QueryWrapper<TaskGroup>().eq("name", groupName).in("project_id", collect));
-            projectIds = taskGroups.stream().map(TaskGroup::getProjectId).distinct().collect(Collectors.toList());
-        }
-        long total = 0;
-        if (projectIds.size() > 0) {
-            total = projectIds.size();
-        } else {
-            QueryWrapper<Project> queryWrapper = new QueryWrapper<Project>().eq("company_id", companyId);
-            total = projectMapper.selectCount(queryWrapper);
+            projectIds = taskGroups.stream().map(TaskGroup::getProjectId).collect(Collectors.toList());
         }
-
         List<ProjectRequirement> projectRequirements = projectRequirementMapper.customSelect(companyId, startDate, projectId, projectIds.size()==0?null:projectIds, startIndex, pageSize);
         HashMap map = new HashMap();
         map.put("total", total);

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

@@ -50,7 +50,7 @@ public class WxCorpInfoController {
         JSONObject json=new JSONObject();
         JSONArray dataJson=new JSONArray();
         JSONObject jsonObj=new JSONObject();
-        jsonObj.put("key", "提");
+        jsonObj.put("key", "提");
         jsonObj.put("value", "测试提醒消息");
         dataJson.add(jsonObj);
         json.put("template_id","tty9TkCAAAYoevY-40ciWD5lDncDfR5w");

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -88,7 +88,7 @@ public interface ProjectService extends IService<Project> {
 
     HttpRespMsg exportCustomerProjectInAndOut(HttpServletRequest request);
 
-    HttpRespMsg getGanttData(Integer type, String startDate, String endDate, String userId, Integer projectId, String groupName, HttpServletRequest request);
+    HttpRespMsg getGanttData(Integer type, String startDate, String endDate, String userId, Integer projectId,HttpServletRequest request);
 
     HttpRespMsg getProjectStagesCost(Integer pageIndex, Integer pageSize, HttpServletRequest request);
 

+ 1 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -1447,7 +1447,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     }
 
     @Override
-    public HttpRespMsg getGanttData(Integer type, String startDate, String endDate, String targetUserId, Integer targetProjectId, String groupName, HttpServletRequest request) {
+    public HttpRespMsg getGanttData(Integer type, String startDate, String endDate, String targetUserId, Integer targetProjectId, HttpServletRequest request) {
         //根据人员权限来获取,
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
@@ -1599,18 +1599,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 }
             } else {
                 //按照项目获取
-                if (!StringUtils.isEmpty(groupName)) {
-                    List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", user.getCompanyId()));
-                    List<Integer> collect = projectList.stream().map(Project::getId).collect(Collectors.toList());
-                    List<TaskGroup> taskGroups = taskGroupMapper.selectList(new QueryWrapper<TaskGroup>().eq("name", groupName).in("project_id", collect));
-                    List<Integer> groupRefProjectIds = taskGroups.stream().map(TaskGroup::getProjectId).collect(Collectors.toList());
-                    if (projectIds == null) {
-                        projectIds = groupRefProjectIds;
-                    } else {
-                        //做个过滤,匹配按分组筛选的项目
-                        projectIds = projectIds.stream().filter(p->groupRefProjectIds.stream().anyMatch(grp->grp.equals(p))).collect(Collectors.toList());
-                    }
-                }
                 String btLastItemId = null;
                 GanttDataItem btLastParentItem=null;
                 ganttData = projectMapper.getTaskPlanByProject(projectIds, startDate ,endDate, user.getCompanyId());

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -322,7 +322,7 @@ public class TimingTask {
                         JSONObject json=new JSONObject();
                         JSONArray dataJson=new JSONArray();
                         JSONObject jsonObj=new JSONObject();
-                        jsonObj.put("key", "提");
+                        jsonObj.put("key", "提");
                         jsonObj.put("value", StringUtils.isEmpty(t.getAlertMsg())?"":t.getAlertMsg());
                         dataJson.add(jsonObj);
                         json.put("template_id","tty9TkCAAAYoevY-40ciWD5lDncDfR5w");

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet/config/index.js

@@ -1,7 +1,7 @@
 var path = require('path')
 
 //  var ip = '127.0.0.1'
-var ip = '192.168.2.4'
+var ip = '192.168.2.15'
 // var ip = '192.168.2.12'// var ip = '47.100.37.243' 
 
 // var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip

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

@@ -46,7 +46,6 @@ const StringUtil = {
         reportOvertime : false, // 加班情况统计表 //
         reportCost: false, // 查看加班成本 //
         reportCostWarning: false, // 工时成本预警表 //
-        reportPhaseCost: false, // 查看阶段成本 //
 
         // 请假模块
         leaveFil : false, // 请假填报 // 
@@ -128,7 +127,6 @@ const StringUtil = {
         arr[i] == '查看加班成本' ? obj.reportCost = true : ''
         arr[i] == '下拨成本预算' ? obj.projectAllocate = true : ''
         arr[i] == '工时成本预警表' ? obj.reportCostWarning = true : ''
-        arr[i] == '查看阶段成本' ? obj.reportPhaseCost = true : ''
     }
 
     return obj

+ 25 - 14
fhKeeper/formulahousekeeper/timesheet/src/views/Login.vue

@@ -90,13 +90,17 @@
             } 
             if (localStorage.userInfo != null) {
                 var user = JSON.parse(localStorage.userInfo);
-                if (user.company.packageSimple == 1) {
-                    //简易模式,直接进入工时统计表
-                    this.$router.push({ path: '/simple' });
-                } else {
-                    if(user.moduleList.length > 0) {
-                        this.$router.push({ path: user.moduleList[0].path })
-                    }
+                // if (user.role == 3) {
+                //     //公司高层
+                //     this.$router.push({ path: '/cost' });
+                // } else if (user.role == 4) {
+                //     //财务管理员
+                //     this.$router.push({ path: '/team' });
+                // } else {
+                //     this.$router.push({ path: '/daily' });
+                // }
+                if(user.moduleList.length > 0) {
+                    this.$router.push({ path: user.moduleList[0].path })
                 }
             } else {
                 if (this.isCorpWX) {
@@ -278,13 +282,20 @@
                                 var user = res.data;
                                 sessionStorage.setItem('user', JSON.stringify(res.data));
                                 this.permissionsList(res.data)
-                                if (user.company.packageSimple == 1) {
-                                    //简易模式,直接进入工时统计表
-                                    this.$router.push({ path: '/simple' });
-                                } else {
-                                    if(user.moduleList.length > 0) {
-                                        this.$router.push({ path: user.moduleList[0].path })
-                                    }
+                                // if (user.company.packageSimple == 1) {
+                                //     //简易模式,直接进入工时统计表
+                                //     this.$router.push({ path: '/simple' });
+                                // } else if (user.role == 3) {
+                                //     //公司高层
+                                //     this.$router.push({ path: '/cost' });
+                                // } else if (user.role == 4) {
+                                //     //财务管理员
+                                //     this.$router.push({ path: '/team' });
+                                // } else {
+                                //     this.$router.push({ path: '/daily' });
+                                // }
+                                if(user.moduleList.length > 0) {
+                                    this.$router.push({ path: user.moduleList[0].path })
                                 }
                             } else {
                                 this.$message({

+ 32 - 11
fhKeeper/formulahousekeeper/timesheet/src/views/awayOffice/awayOffice.vue

@@ -191,16 +191,18 @@
                 <el-table :data="tableList" style="width: 100%" height="90%">
                     <el-table-column prop="ownerName" label="出差人员" width="100" fixed="left" align="center"></el-table-column>
                     <el-table-column prop="reason" label="出差事由" width="150" header-align="center"></el-table-column>
-                    <el-table-column prop="projectName" label="投入项目" width="150" align="center" show-overflow-tooltip>
+                    <el-table-column label="出差详情" width="600" align="center">
                         <template slot-scope="scope">
-                            <span v-for="item in scope.row.projectList" :key="item.projectId">{{item.projectName + '\u3000'}}</span>
+                            <div v-for="item in scope.row.projectList" :key="item.projectId" class="detailsScope">
+                                <span>{{item.startDate + '至' + item.endDate}}</span><span>{{item.projectName}}</span><span>{{item.degreeName}}</span>
+                            </div>
                         </template>
                     </el-table-column>
-                    <el-table-column prop="degreeName" :label="wuduData.customDegreeName" width="150" align="center" show-overflow-tooltip>
+                    <!-- <el-table-column prop="degreeName" :label="wuduData.customDegreeName" width="150" align="center">
                         <template slot-scope="scope">
                             <span v-for="item in scope.row.projectList" :key="item.projectId">{{item.degreeName == null ? '' : item.degreeName + '\u3000'}}</span>
                         </template>
-                    </el-table-column>
+                    </el-table-column> -->
                     <el-table-column label="交通工具" width="120" align="center">
                         <template slot-scope="scope">
                             <span v-if="scope.row.way == 0">飞机</span>
@@ -791,12 +793,7 @@ export default {
         },
         DingdingAddorMod(row){
             this.appendAddorModDialog = true
-            if(row == null){
-                this.relationItem.startDate = this.relationItemTemporaryDate.startDate
-                this.relationItem.endDate = this.relationItemTemporaryDate.endDate
-                this.relationItem.projectId = null
-                this.relationItem.degreeId = null
-            }else {
+            if(row){
                 this.relationItem.id = row.id
                 this.relationItem.projectId = row.projectId
                 this.getwuduList(2,1)
@@ -804,7 +801,12 @@ export default {
                 this.relationItem.endDate = row.endDate
                 this.relationItem.degreeId = row.degreeId == null ? row.degreeId : row.degreeId.toString()
                 // console.log('degreeId',this.relationItem.degreeId);
-                
+            }else {
+                this.relationItem.startDate = this.relationItemTemporaryDate.startDate
+                this.relationItem.endDate = this.relationItemTemporaryDate.endDate
+                this.relationItem.projectId = null
+                this.relationItem.degreeId = null
+                delete this.relationItem.id
             }
         },
         appendAddorModSure(formname){
@@ -1668,4 +1670,23 @@ export default {
 .addNode:hover {
   color:#20a0ff;
 }
+.detailsScope{
+    font-size: 12px;
+    padding: 3px 0;
+    line-height: 15px;
+}
+.detailsScope span:nth-child(1){
+    display: inline-block;
+    width: 25%;
+}
+.detailsScope span:nth-child(2){
+    display: inline-block;
+    width: 40%;
+    text-align: left;
+}
+.detailsScope span:nth-child(3){
+    display: inline-block;
+    width: 35%;
+    text-align: left;
+}
 </style>

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

@@ -273,8 +273,7 @@
                 <el-table-column v-for="item in stages" :label="item" min-width="150" :key="item" align="right" show-overflow-tooltip="true" >
                   <template slot-scope="scope" >
                     {{scope.row.stageCostList.filter(s=>s.stageName == item).length == 0?'0':scope.row.stageCostList.filter(s=>s.stageName == item)[0].workingTime.toFixed(1)}}h
-                    <span v-if="permissions.reportPhaseCost">/¥{{scope.row.stageCostList.filter(s=>s.stageName == item).length == 0?'0':scope.row.stageCostList.filter(s=>s.stageName == item)[0].cost.toFixed(1)}}</span>
-                    <!-- /¥{{scope.row.stageCostList.filter(s=>s.stageName == item).length == 0?'0':scope.row.stageCostList.filter(s=>s.stageName == item)[0].cost.toFixed(1)}} -->
+                    /¥{{scope.row.stageCostList.filter(s=>s.stageName == item).length == 0?'0':scope.row.stageCostList.filter(s=>s.stageName == item)[0].cost.toFixed(1)}}
                   </template>
                  
                 </el-table-column>
@@ -474,11 +473,11 @@
         <el-dialog title="加班详情" :visible.sync="dialogVisibleDetails" width="800px" v-loading="listLoading" :before-close="handleClose">
           <div>
              <el-table :data="detailsList" style="width: 100%" height="400px">
-                <el-table-column prop="username" label="姓名" width="120"></el-table-column>
                 <el-table-column prop="projectName" label="项目名称" width="200"></el-table-column>
                 <el-table-column prop="projectCode" label="项目编号" width="200"></el-table-column>
                 <el-table-column prop="createDate" label="加班日期" width="120"></el-table-column>
                 <el-table-column prop="workingTime" label="当天工作时长(h)" width="160"></el-table-column>
+                <el-table-column prop="username" label="姓名" width="120"></el-table-column>
                 <el-table-column prop="overtimeHours" label="加班时长(h)" width="130"></el-table-column>
                 <el-table-column prop="cost" label="加班成本" width="120" v-if="permissions.reportCost"></el-table-column>
              </el-table>

+ 6 - 9
fhKeeper/formulahousekeeper/timesheet/src/views/project/cost.vue

@@ -9,6 +9,7 @@
             </el-radio-group></div>
         </el-col>
         <el-col :span="14" style="display: flex;flex-wrap: wrap;">
+            <div style="width:100%;display:flex">
             <el-date-picker v-show="user.timeType.fixMonthcost==0"
             v-model="dateRange" :editable="false" 
             format="yyyy-MM-dd" value-format="yyyy-MM-dd" 
@@ -34,10 +35,12 @@
                 <el-radio-button label="人员"></el-radio-button>
                 <el-radio-button :label="namess" v-if="jichu.customDegreeActive == 1"></el-radio-button>
             </el-radio-group>
-
+            </div>
+            <div style="width:100%;display:flex">
             <el-select v-model="personnelValue" filterable clearable placeholder="请选择人员" style="margin-top: 10px;width: 350px" v-if="radio == '人员'" @change="personnel()">
                 <el-option v-for="item in hasReportUserList" :key="item.id" :label="item.name" :value="item.name"></el-option>
             </el-select>
+            </div>
         </el-col>
         <el-col :span="4">
             <el-button @click="showExportDialog">报表导出</el-button>
@@ -69,6 +72,7 @@
                         <el-option v-for="item in hasReportUserList"  :key="item.id" :label="item.name" :value="item.id"></el-option>
                     </el-select>
                 </el-form-item>
+
                 <el-form-item prop="projectId" :label="user.timeType.fixMonthcost==0?'日期范围':'选择月份'">
                     <el-date-picker v-show="user.timeType.fixMonthcost==0"
                         v-model="exportParam.dateRange" :editable="false" 
@@ -97,12 +101,6 @@
                         </span> 
                     </el-select>
                 </el-form-item>
-                <el-form-item prop="type" label="选择样式" v-if="radio == '项目' || radio == '部门'">
-                    <el-select v-model="exportParam.type" placeholder="选择样式" style="width:350px;" >
-                        <el-option label="项目在行上" value="0"></el-option>
-                        <el-option label="项目在列上" value="1"></el-option>
-                    </el-select>
-                </el-form-item>
                 <el-form-item v-if="radio == '项目' || radio == '部门'">
                     <el-checkbox v-model="exportParam.projectSum" >含单个项目数据汇总</el-checkbox>
                 </el-form-item>
@@ -126,7 +124,7 @@
                 parentDeptId:null,
                 hasReportUserList:[],
                 projectList:[],
-                exportParam:{projectId:null,dateRange:[],userId: null,type: '0'},
+                exportParam:{projectId:null,dateRange:[],userId: null},
                 exportDialog:false,
                 dateRange:[],
                 user: JSON.parse(sessionStorage.getItem("user")),
@@ -260,7 +258,6 @@
                         param.projectSum = this.exportParam.projectSum;
                     }
                 }
-                param.type = this.exportParam.type
                 this.http.post(url, param,
                     res => {
                         this.listLoading = false;

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/project/projectInside.vue

@@ -270,7 +270,7 @@
                     </el-input>
                 <el-tree :data="deptMembData" show-checkbox :props="defaultProps" node-key="id"
                     ref="chooseMembTree2" @check-change="onTreeItemChange" :default-checked-keys="alreadyPartArray"
-                    highlight-current  :filter-node-method="filterNode"></el-tree>
+                    highlight-current  :filter-node-method="filterNode" default-expand-all></el-tree>
                 </el-scrollbar>
             </div>
             <div>已选中&nbsp;{{chosenMembCount}}&nbsp;人</div>

+ 6 - 21
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -273,7 +273,7 @@
                         <el-select v-model="domain.workingTime" style="width:200px;"
                         v-if="reportTimeType.type == 1"
                         :disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)"
-                        :placeholder="'请选择工作时长' + domain.workingTime"
+                        placeholder="请选择工作时长"
                         @change="seleChn(0,domain)">
                         <el-option v-for="item in timeRange" :key="item" :value="item.toFixed(1)">{{item.toFixed(1)}}</el-option>
                         </el-select>
@@ -321,8 +321,8 @@
                         :disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)">
                             <!-- <el-option v-for="item in projectList" :disabled="item.status>=2" :key="item.id" :label="item.projectName" :value="item.id"></el-option> -->
                             <el-option v-for="item in projectList" :disabled="item.status>=2" :key="item.id" :label="item.projectName + item.projectCode" :value="item.id">
-                                <span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
-                                <span style="float: right;margin-left: 20px">{{ item.projectName }}</span>
+                                <span style="float: left">{{ item.projectName }}</span>
+                                <span style="float: right; color: #8492a6; font-size: 13px;margin-left: 20px">{{ item.projectCode }}</span>
                             </el-option>
                         </el-select>
                         <span v-if="domain.subProjectList != null && domain.subProjectList.length> 0 && domain.projectId != ''"
@@ -427,8 +427,8 @@
                             @change="selectProject(domain, index)"
                             :disabled="workForm.domains.length==0?true:(workForm.domains[index].state>=2?false:true)">
                                 <el-option v-for="item in projectList" :disabled="item.status>=2" :key="item.id" :label="item.projectName + item.projectCode" :value="item.id">
-                                    <span style="float: left; color: #8492a6; font-size: 13px;">{{ item.projectCode }}</span>
-                                    <span style="float: right;margin-left: 20px">{{ item.projectName }}</span>
+                                    <span style="float: left">{{ item.projectName }}</span>
+                                    <span style="float: right; color: #8492a6; font-size: 13px;margin-left: 20px">{{ item.projectCode }}</span>
                                 </el-option>
                             </el-select>
                             <span  v-if="domain.subProjectList != null && domain.subProjectList.length> 0 && domain.projectId != ''"
@@ -1248,7 +1248,6 @@
     export default {
         data() {
             return {
-                alalal: '8.0',
                 timeBasecostList:null,
                 tbload: false,
                 exportTimeDialog: false,
@@ -3423,13 +3422,8 @@
                 res => {
                     this.listLoading = false;
                     if (res.code == "ok") {
-                        for(var i in res.data) {
-                            if(res.data[i].projectCode == null || res.data[i].projectCode == 'null') {
-                                res.data[i].projectCode = ''
-                            }
-                        }
                         this.projectList = res.data;
-                        console.log("项目列表",this.projectList);
+                        // console.log("项目列表",this.projectList);
                     } else {
                         this.$message({
                             message: res.msg,
@@ -3547,9 +3541,6 @@
                                 userNames:null,
                                 time: this.report.time
                             }
-                            if(this.user.timeType.type == 1) {
-                                    this.workForm.domains[0].workingTime = this.user.timeType.allday+'.0'
-                                }
                             if (this.timeBasecostList && this.timeBasecostList.length > 0) {
                                 //默认给第一个,必填字段
                                 this.workForm.domains[0].basecostId = this.timeBasecostList[0].id;
@@ -3594,7 +3585,6 @@
 
             // 打开日报填写
             fillInReport(i, isBatch) {
-                console.log(this.user.timeType.type, '选择时长')
                 if(i != 1) {
                     this.falsss = false 
                 } else {
@@ -3614,7 +3604,6 @@
                     this.workForm.createDate = this.date + day; // 获取个人某天的日报
                     this.getReport(i);
                 } else {
-                    console.log('执行到了这里')
                     this.jsTime = 0
                     this.jsDay = 0
                     this.workForm = {
@@ -3631,10 +3620,6 @@
                                     worktimeList:[{}],
                                 }],
                             }
-                            if(this.user.timeType.type == 1) {
-                                this.workForm.domains[0].workingTime = this.user.timeType.allday+'.0'
-                            }
-                            console.log(this.workForm)
                     if (this.timeBasecostList&&this.timeBasecostList.length>0) {
                         this.workForm.domains[0].basecostId = this.timeBasecostList[0].id;
                     }        

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

@@ -150,8 +150,9 @@
             </el-table-column>
             <el-table-column label="操作" width="220">
                 <template slot-scope="scope">
-                    <el-button type="primary" :loading="logining" size="small" @click="approve(scope.row.id,scope.row.date, scope.row)">通过</el-button>
-                    <el-button type="danger" :loading="logining" size="small" @click="showDenyDialog(scope.row.id,0,scope.row.dateStr, scope.row)">驳回</el-button>
+                    <el-button v-if="scope.row.state == 0" type="primary" :loading="logining" size="small" @click="approve(scope.row.id,scope.row.date, scope.row)">通过</el-button>
+                    <el-button v-if="scope.row.state == 0" type="danger" :loading="logining" size="small" @click="showDenyDialog(scope.row.id,0,scope.row.dateStr, scope.row)">驳回</el-button>
+                    <el-button v-if="scope.row.state == 1" type="danger" :loading="logining" size="small" @click="showDenyDialog(scope.row.id,1,scope.row.dateStr, scope.row)">撤销</el-button>
                 </template>
             </el-table-column>
         </el-table>

+ 7 - 16
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue

@@ -426,11 +426,6 @@
                 this.$axios.post("/project/getProjectList", {})
                 .then(res => {
                     if(res.code == "ok") {
-                        for(var i in res.data) {
-                            if(res.data[i].projectCode == 'null' || res.data[i].projectCode == null) {
-                                res.data[i].projectCode = ' '
-                            }
-                        }
                         this.projectss = res.data;
                         this.projectss = this.projectss.filter(p=>p.status == 1);
                         this.proads = res.data
@@ -442,18 +437,14 @@
             sea() {
                 console.log(this.userName.length)
                 if(this.userName.length > 0) {
-                    // let text = this.userName
-                    // let reg = new RegExp(text)
-                    // let data = this.proads.filter(item => reg.test(item.projectName)) //返回
-                    // let datas = this.proads.filter(item => reg.test(item.projectCode))
-                    // let dataTree = data.concat(datas)
-                    // let arrList = Array.from(new Set(dataTree))
-                    // this.projectss = arrList
-                    // console.log(this.userName.toUpperCase())
-                    let data = this.proads.filter(item => {return  item.projectName.indexOf(this.userName.toUpperCase()) != '-1'});
-                    let dataList = this.proads.filter(item => {return  item.projectCode.indexOf(this.userName.toUpperCase()) != '-1'});
-                    let dataTree = data.concat(dataList)
+                    console.log(123)
+                    let text = this.userName
+                    let reg = new RegExp(text)
+                    let data = this.proads.filter(item => reg.test(item.projectName)) //返回
+                    let datas = this.proads.filter(item => reg.test(item.projectCode))
+                    let dataTree = data.concat(datas)
                     let arrList = Array.from(new Set(dataTree))
+                    // this.projectss = data
                     this.projectss = arrList
                 } else {
                     console.log(456)

+ 7 - 17
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue

@@ -512,11 +512,6 @@
                 this.$axios.post("/project/getProjectList", {})
                 .then(res => {
                     if(res.code == "ok") {
-                        for(var i in res.data) {
-                            if(res.data[i].projectCode == 'null' || res.data[i].projectCode == null) {
-                                res.data[i].projectCode = ' '
-                            }
-                        }
                         this.projectss = res.data;
                         this.projectss = this.projectss.filter(p=>p.status == 1);
                         this.proads = res.data
@@ -528,20 +523,15 @@
             sea() {
                 console.log(this.userName.length)
                 if(this.userName.length > 0) {
-                    // console.log(123)
-                    // let text = this.userName
-                    // let reg = new RegExp(text)
-                    // // let data = this.proads.filter(item => reg.test(item.projectName)) //返回
+                    console.log(123)
+                    let text = this.userName
+                    let reg = new RegExp(text)
                     // let data = this.proads.filter(item => reg.test(item.projectName)) //返回
-                    // let datas = this.proads.filter(item => reg.test(item.projectCode))
-                    // let dataTree = data.concat(datas)
-                    // let arrList = Array.from(new Set(dataTree))
-                    // // this.projectss = data
-                    // this.projectss = arrList
-                    let data = this.proads.filter(item => {return  item.projectName.indexOf(this.userName.toUpperCase()) != '-1'});
-                    let dataList = this.proads.filter(item => {return  item.projectCode.indexOf(this.userName.toUpperCase()) != '-1'});
-                    let dataTree = data.concat(dataList)
+                    let data = this.proads.filter(item => reg.test(item.projectName)) //返回
+                    let datas = this.proads.filter(item => reg.test(item.projectCode))
+                    let dataTree = data.concat(datas)
                     let arrList = Array.from(new Set(dataTree))
+                    // this.projectss = data
                     this.projectss = arrList
                 } else {
                     console.log(456)

+ 3 - 2
fhKeeper/formulahousekeeper/timesheet_h5/src/views/review/index.vue

@@ -79,8 +79,9 @@
                         </div>
                     </div>
                     <div class="form_btn" slot="footer">
-                        <van-button size="small" type="info" @click="approve(item.id, item)">通过</van-button>
-                        <van-button size="small" type="danger" @click="showDenyDialog(item.id,0,item.dateStr, item)">驳回</van-button>
+                        <van-button v-if="(flg || user.id == item.data[0].projectAuditorId)&&item.state == 0" size="small" type="info" @click="approve(item.id, item)">通过</van-button>
+                        <van-button v-if="(flg || user.id == item.data[0].projectAuditorId)&&item.state == 0" size="small" type="danger" @click="showDenyDialog(item.id,0,item.dateStr, item)">驳回</van-button>
+                        <van-button v-if="(flg || user.id == item.data[0].inchargerId) && item.state == 1" size="small" type="danger" @click="showDenyDialog(item.id,1,item.dateStr, item)">撤销</van-button>
                     </div>
                     <van-popup v-model="imgShow" position="bottom" closeable >
                         <van-swipe class="my-swipe"  indicator-color="white">