Jelajahi Sumber

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

ggooalice 2 tahun lalu
induk
melakukan
2aa6972f46

+ 56 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -257,6 +257,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             List<ProjectLevel> projectLevelList = projectLevelMapper.selectList(new QueryWrapper<ProjectLevel>().eq("company_id", companyId));
             TimeType timeType = timeTypeMapper.selectById(companyId);
             List<Integer> projectIds = projectList.stream().distinct().map(pl -> pl.getId()).collect(Collectors.toList());
+            List<ProjectSeparate> projectSeparateList=new ArrayList<>();
+            if(companyId==936){
+                projectSeparateList = projectSeparateMapper.selectList(new QueryWrapper<ProjectSeparate>().in("id", projectIds));
+            }
+
             List<ProjectVO> list = new ArrayList<>();
             for (Project project : projectList) {
                 ProjectVO projectVO = new ProjectVO();
@@ -313,13 +318,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     projectVO.setProviderInfoList(mapList);
                 }
                 if(companyId==936){
-                    if(projectIds!=null){
-                        List<ProjectSeparate> projectSeparateList = projectSeparateMapper.selectList(new QueryWrapper<ProjectSeparate>().in("id", projectIds));
                         Optional<ProjectSeparate> first1 = projectSeparateList.stream().filter(ps -> ps.getId().equals(project.getId())).findFirst();
                         if(first1.isPresent()){
                             projectVO.setProjectSeparate(first1.get());
                         }
-                    }
                 }
                 list.add(projectVO);
             }
@@ -3252,11 +3254,26 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             headList.add("项目级别");
             headList.add("合同金额");
         }
+        if(company.getId()==936){
+            headList.add("合同编号");
+            headList.add("质保开始时间");
+            headList.add("质保截止时间");
+            headList.add("项目类别");
+            headList.add("所属大区");
+            headList.add("所属BU");
+            headList.add("项目状态");
+            headList.add("项目阶段");
+        }
         List<List<String>> allList = new ArrayList<List<String>>();
         allList.add(headList);
         String[] levelArray = new String[]{"正常","紧急","重要","重要且紧急","低风险","中风险","高风险"};
         DateTimeFormatter sdf =DateTimeFormatter.ofPattern("yyyy-MM-dd");
         DecimalFormat df = new DecimalFormat("##0.0#");
+        //获取项目子表 数据
+        List<Integer> collect = projectVOList.stream().distinct().map(pv -> pv.getId()).collect(Collectors.toList());
+        //防止空数据
+        collect.add(-1);
+        List<ProjectSeparate> projectSeparateList= projectSeparateMapper.selectList(new QueryWrapper<ProjectSeparate>().in("id", collect));
         for (ProjectVO projectVO : projectVOList) {
             List<String> rowData = new ArrayList<>();
             rowData.add(projectVO.getProjectCode());
@@ -3311,6 +3328,42 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                 rowData.add(levelArray[level-1]);
                 rowData.add(df.format((Double)projectVO.getContractAmount()));
             }
+            if(company.getId()==936){
+                Optional<ProjectSeparate> first = projectSeparateList.stream().filter(ps -> ps.getId().equals(projectVO.getId())).findFirst();
+                if(first.isPresent()){
+                    DateTimeFormatter dfs=DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                    ProjectSeparate projectSeparate = first.get();
+                    rowData.add(projectSeparate.getContractCode()==null?"":projectSeparate.getContractCode());
+                    rowData.add(projectSeparate.getWarrantyStartDate()==null?"":dfs.format(projectSeparate.getWarrantyStartDate()));
+                    rowData.add(projectSeparate.getWarrantyEndDate()==null?"":dfs.format(projectSeparate.getWarrantyEndDate()));
+                    rowData.add(projectSeparate.getProjectCategorySub()==null?"":projectSeparate.getProjectCategorySub());
+                    rowData.add(projectSeparate.getRegion()==null?"":projectSeparate.getRegion());
+                    rowData.add(projectSeparate.getBu()==null?"":projectSeparate.getBu());
+                }else {
+                    rowData.add("");
+                    rowData.add("");
+                    rowData.add("");
+                    rowData.add("");
+                    rowData.add("");
+                    rowData.add("");
+                }
+                Integer status = projectVO.getStatus();
+                switch (status){
+                    case 0:rowData.add("全部");
+                        break;
+                    case 1:rowData.add("进行中");
+                        break;
+                    case 2:rowData.add("已完成");
+                        break;
+                    case 3:rowData.add("已撤销");
+                        break;
+                    case 4:rowData.add("暂停");
+                        break;
+                    default:rowData.add("");
+                    break;
+                }
+                rowData.add(projectVO.getCurrentStageName()==null?"":projectVO.getCurrentStageName());
+            }
             allList.add(rowData);
         }
 

+ 10 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -1301,6 +1301,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                                     }
                                     upR.setIsFinalAudit(nextNode.getIsFinal());
                                     break;
+                                } else {
+                                    System.out.println("无匹配的中间审批流节点");
                                 }
                             }
                             reportMapper.update(upR,
@@ -1693,15 +1695,15 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             //指定查看某个部门下的,一个人可能负责多个部门
             List<Department> allMDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", token));
             List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("other_manager_id", curUser.getId()));
-            if (hasDeptWorktimePriv && curUser.getDepartmentId() != null) {
-                Department ownerDept = departmentMapper.selectById(curUser.getDepartmentId());
-                List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
-                for (Integer integer : otherCollect) {
-                    Optional<Department> first = allDepartmentList.stream().filter(ad -> ad.getDepartmentId().equals(integer)).findFirst();
-                    if(first.isPresent()){
-                        allMDeptList.add(first.get());
-                    }
+            List<Integer> otherCollect = departmentOtherManagerList.stream().distinct().map(dom -> dom.getDepartmentId()).collect(Collectors.toList());
+            for (Integer integer : otherCollect) {
+                Optional<Department> first = allDepartmentList.stream().filter(ad -> ad.getDepartmentId().equals(integer)).findFirst();
+                if(first.isPresent()){
+                    allMDeptList.add(first.get());
                 }
+            }
+            if (hasDeptWorktimePriv && curUser.getDepartmentId() != null&& curUser.getDepartmentId()!=0) {
+                Department ownerDept = departmentMapper.selectById(curUser.getDepartmentId());
                 //要加上自己的部门,如果没有的话
                 if (!allMDeptList.stream().anyMatch(d->d.getDepartmentId().equals(ownerDept.getDepartmentId()))) {
                     allMDeptList.add(ownerDept);

+ 9 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -346,9 +346,10 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             long endTime = endDateTime.toEpochSecond(ZoneOffset.of("+8"));
             System.out.println("startTime="+startTime+",endTime="+endTime);
 
-            int batchCount = 1;
+            int totalLength = corpwxUserIds.size();
             int batchSize = 100;
-            int totalLength = 1;
+            int batchCount = totalLength/batchSize+(totalLength%batchSize==0?0:1);
+
             //按批调用
             for (int i=0;i<batchCount; i++) {
                 int fromIndex = i*batchSize;
@@ -377,6 +378,11 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             List<String> collect = userList.stream().map(User::getId).collect(Collectors.toList());
 
             userMapper.delete(new QueryWrapper<User>().in("id", collect));
+            //抽取没有匹配上的人员
+            List<String> notUsefullCpIds = corpwxUserIds.stream().filter(c -> !updateUserList.stream().anyMatch(up -> up.getCorpwxUserid().equals(c))).collect(Collectors.toList());
+            if (notUsefullCpIds.size() > 0) {
+                userCorpwxTimeMapper.delete(new QueryWrapper<UserCorpwxTime>().eq("company_id", wxCorpInfo.getCompanyId()).in("corpwx_userid", notUsefullCpIds));
+            }
             if (updateUserList.size() == 0) {
                 msg.data = "处理完毕。当前无新人员需要关联企业微信身份";
             } else {
@@ -395,7 +401,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
         String url = GET_CHECKIN_DAYDATA.replace("ACCESS_TOKEN", getCorpAccessToken(corpInfo));
         HttpHeaders headers = new HttpHeaders();
         headers.setContentType(MediaType.APPLICATION_JSON);
-
+        System.out.println(""+objects.toString());
         JSONObject reqParam = new JSONObject();
         reqParam.put("starttime", startTime);
         reqParam.put("endtime",  endTime);

+ 9 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/awayOffice/awayOffice.vue

@@ -1565,16 +1565,18 @@ export default {
 
 
         getUsers() {
-            this.http.post(this.port.manage.list, {
-                departmentId: -1,
-                pageIndex: 1,
-                // pageSize: 99999
-                pageSize: -1
-            },
+            // this.http.post(this.port.manage.list, {
+            //     departmentId: -1,
+            //     pageIndex: 1,
+            //     // pageSize: 99999
+            //     pageSize: -1
+            // },
+            this.http.post('/user/getSimpleActiveUserList', {},
             res => {
                 if (res.code == "ok") {
                     // console.log("users",res.data);
-                    this.users = res.data.records;
+                    // this.users = res.data.records;
+                    this.users = res.data;
                     for (let i = 0; i < this.users.length; i++) {
                         this.susers.push({value:this.users[i].id,label:this.users[i].name})
                     }

+ 9 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/expense/expense.vue

@@ -919,15 +919,17 @@ export default {
 
     //  获取人员信息
     getUsers() {
-        this.http.post(this.port.manage.list, {
-            departmentId: -1,
-            pageIndex: 1,
-            // pageSize: 99999
-            pageSize: -1
-        },
+        // this.http.post(this.port.manage.list, {
+        //     departmentId: -1,
+        //     pageIndex: 1,
+        //     // pageSize: 99999
+        //     pageSize: -1
+        // },
+        this.http.post('/user/getSimpleActiveUserList', {},
         res => {
             if (res.code == "ok") {
-                this.users = res.data.records;
+                // this.users = res.data.records;
+                this.users = res.data;
                 if (!this.permissions.costAudit) {
                     this.addForm.ownerId = this.user.id;
                     this.addForm.status = 1;

+ 9 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/leave/list.vue

@@ -1297,15 +1297,17 @@ export default {
         });
     },
     getUsers() {
-      this.http.post(this.port.manage.list, {
-            departmentId: -1,
-            pageIndex: 1,
-            // pageSize: 99999
-            pageSize: -1
-        },
+      // this.http.post(this.port.manage.list, {
+      //       departmentId: -1,
+      //       pageIndex: 1,
+      //       // pageSize: 99999
+      //       pageSize: -1
+      //   },
+      this.http.post('/user/getSimpleActiveUserList', {},
         res => {
             if (res.code == "ok") {
-                this.users = res.data.records;
+                // this.users = res.data.records;
+                this.users = res.data;
                 for (let i = 0; i < this.users.length; i++) {
                   this.susers.push({value:this.users[i].id,label:this.users[i].name})
                 }

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

@@ -194,16 +194,17 @@
                 });
             },
             getUsers() {
-                console.log(this.port.manage.list)
-                this.http.post(this.port.manage.list, {
-                        departmentId: -1,
-                        pageIndex: 1,
-                        // pageSize: 99999
-                        pageSize: -1
-                    },
+                // console.log(this.port.manage.list)
+                // this.http.post(this.port.manage.list, {
+                //         departmentId: -1,
+                //         pageIndex: 1,
+                //         // pageSize: 99999
+                //         pageSize: -1
+                //     },
+                this.http.post('/user/getSimpleActiveUserList', {},
                     res => {
                         if (res.code == "ok") {
-                            this.users = res.data.records;
+                            this.users = res.data;
                         } else {
                             this.$message({
                             message: res.msg,

+ 8 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/project/custom_data.vue

@@ -137,15 +137,16 @@
             },
             getUsers() {
                 // console.log(this.port.manage.list,'getusers')
-                this.http.post(this.port.manage.list, {
-                        departmentId: -1,
-                        pageIndex: 1,
-                        // pageSize: 99999
-                        pageSize: -1
-                    },
+                // this.http.post(this.port.manage.list, {
+                //         departmentId: -1,
+                //         pageIndex: 1,
+                //         // pageSize: 99999
+                //         pageSize: -1
+                //     },
+                    this.http.post('/user/getSimpleActiveUserList', {},
                     res => {
                         if (res.code == "ok") {
-                            this.users = res.data.records;
+                            this.users = res.data;
                         } else {
                             this.$message({
                             message: res.msg,

+ 8 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/project/fileCenter.vue

@@ -357,15 +357,16 @@
                 });
             },
             getUsers() {
-                this.http.post(this.port.manage.list, {
-                    departmentId: -1,
-                    pageIndex: 1,
-                    // pageSize: 99999
-                    pageSize: -1
-                },
+                // this.http.post(this.port.manage.list, {
+                //     departmentId: -1,
+                //     pageIndex: 1,
+                //     // pageSize: 99999
+                //     pageSize: -1
+                // },
+                this.http.post('/user/getSimpleActiveUserList', {},
                 res => {
                     if (res.code == "ok") {
-                        this.users = res.data.records;
+                        this.users = res.data;
                     } else {
                         this.$message({
                         message: res.msg,

+ 16 - 14
fhKeeper/formulahousekeeper/timesheet/src/views/project/info.vue

@@ -1301,15 +1301,16 @@
                 
             },
             getUsers() {
-                this.http.post(this.port.manage.list, {
-                    departmentId: -1,
-                    pageIndex: 1,
-                    pageSize: -1
-                    // pageSize: 99999
-                },
+                // this.http.post(this.port.manage.list, {
+                //     departmentId: -1,
+                //     pageIndex: 1,
+                //     pageSize: -1
+                //     // pageSize: 99999
+                // },
+                this.http.post('/user/getSimpleActiveUserList', {},
                 res => {
                     if (res.code == "ok") {
-                        this.users = res.data.records;
+                        this.users = res.data;
                     } else {
                         this.$message({
                         message: res.msg,
@@ -1610,15 +1611,16 @@
                 });
             },
             getUsers() {
-                this.http.post(this.port.manage.list, {
-                    departmentId: -1,
-                    pageIndex: 1,
-                    // pageSize: 99999
-                    pageSize: -1
-                },
+                // this.http.post(this.port.manage.list, {
+                //     departmentId: -1,
+                //     pageIndex: 1,
+                //     // pageSize: 99999
+                //     pageSize: -1
+                // },
+                this.http.post('/user/getSimpleActiveUserList', {},
                 res => {
                     if (res.code == "ok") {
-                        this.users = res.data.records;
+                        this.users = res.data;
                     } else {
                         this.$message({
                         message: res.msg,

+ 32 - 13
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -123,14 +123,32 @@
                         {{scope.$index+1+(page-1)*size}}
                     </template>
             </el-table-column> -->
-            <el-table-column prop="projectCode" label="项目编号" sortable="custom" width="120"></el-table-column>
+            <el-table-column prop="projectCode" label="项目编号" sortable="custom" width="150"></el-table-column>
+            <el-table-column prop="contractCode" label="合同编号" width="200" v-if="user.companyId == '936'">
+                <template slot-scope="scope">
+                    <!-- <div v-if="scope.row.projectSeparate">
+                        {{scope.row.projectSeparate.contractCode}}
+                    </div> -->
+                    <div v-if="scope.row.projectSeparate">
+                        <div v-if="scope.row.projectSeparate.contractCode">
+                            <el-popover placement="top" width="400" trigger="hover" v-if="scope.row.projectSeparate.contractCode.length > 15">
+                                <div>
+                                    <span>{{scope.row.projectSeparate.contractCode}}</span>
+                                </div>
+                                <div slot="reference" class="kans">
+                                    <span>{{scope.row.projectSeparate.contractCode}}...</span>
+                                </div>
+                            </el-popover>
+                            <div v-else>
+                                <span>{{scope.row.projectSeparate.contractCode}}</span>
+                            </div>
+                        </div>
+                     </div>
+                </template>
+            </el-table-column>
             <el-table-column prop="categoryName" label="项目分类" sortable="custom" width="120"></el-table-column>
             <el-table-column prop="projectName" label="项目名称" width="250" sortable="custom">
                  <template slot-scope="scope">
-                     <!-- <div class="kans">
-                         <el-link type="primary" v-if="user.company.packageProject==1" :href="'#/projectInside/'+scope.row.id">{{scope.row.projectName}}</el-link>
-                         <span v-if="user.company.packageProject==0" >{{scope.row.projectName}}</span>
-                     </div> -->
                      <el-popover placement="top" width="400" trigger="hover" v-if="scope.row.projectName.length > 15">
                          <div>
                              <el-link type="primary" v-if="user.company.packageProject==1" :underline="false" :href="'#/projectInside/'+scope.row.id">{{scope.row.projectName}}</el-link>
@@ -403,7 +421,7 @@
                 <!-- 单个公司的固定字段 -->
                 <div v-if="user.companyId == '936'">
                 <el-form-item label="合同编号" >
-                    <el-input v-model="addForm.contractCode" placeholder="请输入合同编号" clearable></el-input>
+                    <el-input v-model="addForm.contractCode" maxlength="50" show-word-limit placeholder="请输入合同编号" clearable></el-input>
                 </el-form-item>
                 <el-form-item label="质保开始时间">
                     <el-date-picker v-model="addForm.warrantyStartDate" 
@@ -2723,15 +2741,16 @@ a {
                 })
             },
             getUsers() {
-                this.http.post(this.port.manage.list, {
-                    departmentId: -1,
-                    pageIndex: 1,
-                    // pageSize: 99999
-                    pageSize: -1
-                },
+                // this.http.post(this.port.manage.list, {
+                //     departmentId: -1,
+                //     pageIndex: 1,
+                //     // pageSize: 99999
+                //     pageSize: -1
+                // },
+                this.http.post('/user/getSimpleActiveUserList', {},
                 res => {
                     if (res.code == "ok") {
-                        this.users = res.data.records;
+                        this.users = res.data;
                     } else {
                         this.$message({
                         message: res.msg,

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

@@ -34,7 +34,13 @@
                         <el-menu :default-active="defaultGroupId" ref="defaultMenu"  class="el-menu-vertical-demo" @select="groupChange" style="border-right:none;">
                             <el-menu-item :index="item.id" v-for="item in groupList" :key="item.id"  class="group_style">
                                 <div slot="title">
-                                <span >{{item.name}}</span>
+                                <!-- <span class="taskGroupClass">{{item.name}}</span> -->
+                                <div style="display: inline-block;">
+                                    <el-tooltip effect="dark" :content="item.name" placement="top" v-if="item.name.length > 12">
+                                        <span class="taskGroupClass">{{item.name}}</span>
+                                    </el-tooltip>
+                                    <span class="taskGroupClass" v-else>{{item.name}}</span>
+                                </div>
                                 <!-- <el-button size="mini" @click="test(item)">test</el-button> -->
                                 <el-dropdown trigger="click" style="float:right;margin-right:-10px;" :disabled="!(user.id == item.inchargerId || user.id == projectCreatorId || user.id == projectInchargerId || permissions.projectManagement)">
                                     <i class="iconfont firerock-iconcaidan" ></i>
@@ -143,13 +149,13 @@
                                         </div>
 
                                         <draggable class="taskListin" :style="'max-height:' + taskListinH + 'px;'" @start="drag=true" @end="drag=false" draggable=".taskCard" ghostClass="ghost" @update="onChange" @add="onChange" group="task1" :id="stage.id">
-                                            <div v-for="element in stage.taskList" :id="element.id" :key="element.id" class="taskCard" ref="tasks" @click="editTask(element)" :style="element.taskStatus==0?'':'background:#eFeFeF;'">
+                                            <div v-for="element in stage.taskList" :id="element.id" :key="element.id" class="taskCard" ref="tasks" @click="canAddTask ? editTask(element) : ''" :style="element.taskStatus==0?'':'background:#eFeFeF;'">
                                                 <!--任务卡片内容显示 -->
                                                 <div>
                                                     <div v-if="element.taskLevel == 2" class="taskImg hong"><img src="../../assets/image/hong.png" alt=""></div>
                                                     <div v-if="element.taskLevel == 1" class="taskImg huang"><img src="../../assets/image/huang.png" alt=""></div>
                                                     <div v-if="element.taskLevel == 0" class="taskImg hui"><img src="../../assets/image/hui.png" alt=""></div>
-                                                    <el-checkbox :disabled="element.taskStatus==2 || element.subTaskList.length > element.subTaskFinishNum" :checked="element.taskStatus==1?true:false" size="large" class="cb"  
+                                                    <el-checkbox v-if="canAddTask" :disabled="element.taskStatus==2 || element.subTaskList.length > element.subTaskFinishNum" :checked="element.taskStatus==1?true:false" size="large" class="cb"  
                                                     @change="finishTask(element)"
                                                     @click.stop.native=""
                                                     ></el-checkbox>
@@ -164,7 +170,7 @@
                                                     <span v-if="element.executorName">
                                                     <span v-for="(exeItem, exeIndex) in element.executorName.split(',')" :key="exeIndex" :style="element.executorColor ? 'background:' + element.executorColor.split(',')[exeIndex] : ''" class="user_name_icon">{{exeItem.length>2?exeItem.substring(exeItem.length-2, exeItem.length):exeItem}}</span>
                                                     </span>
-                                                    <el-button v-if="!element.executorName" type="primary" @click.stop.native="addAsMyTask(element)" size="mini" style="float:right;width:38px;padding:5px;position: absolute;z-index: 5;right: 5px;">认领</el-button>
+                                                    <el-button v-if="!element.executorName && canAddTask" type="primary" @click.stop.native="addAsMyTask(element)" size="mini" style="float:right;width:38px;padding:5px;position: absolute;z-index: 5;right: 5px;">认领</el-button>
                                                 </div>
                                                 <!--子任务 -->
                                                 <div v-if="element.subTaskList.length > 0" class="taskCardCircleBox">
@@ -181,7 +187,7 @@
                                                 </div>
                                             </div>
                                         </draggable>
-                                        <el-button slot="footer" role="people" @click="addTask(stage)" style="width:300px;" size="small" icon="el-icon-plus"></el-button>
+                                        <el-button v-if="canAddTask" slot="footer" role="people" @click="addTask(stage)" style="width:300px;" size="small" icon="el-icon-plus"></el-button>
                                     </div>
                                 </v-flex>
                             <!-- </transition-group > -->
@@ -606,7 +612,7 @@
 
 
             <div slot="footer" class="dialog-footer">
-                <el-button v-if="user.id == addForm.createrId || currentProject.inchargerId == user.id || currentProject.creatorId == user.id || permissions.projectManagement" @click.native="deleteTask()" style="float:left;">删除</el-button>
+                <el-button v-if="(user.id == addForm.createrId || currentProject.inchargerId == user.id || currentProject.creatorId == user.id || permissions.projectManagement) && canAddTask" @click.native="deleteTask()" style="float:left;">删除</el-button>
                 <el-button @click.native="addFormVisible = false">取消</el-button>
                 <el-button type="primary" @click="submitInsert" :loading="addLoading">提交</el-button>
             </div>
@@ -764,7 +770,7 @@
         <el-dialog title="修改任务分组" v-if="modGroupDialog" :visible.sync="modGroupDialog" :close-on-click-modal="false" customClass="customWidth" width="400px">
             <el-form ref="form2" :model="groupForm" :rules="rules" style="margin-top:10px;">
                     <el-form-item prop="name">
-                        <el-input v-model="groupForm.name" placeholder="请输入分组名称" maxlength="12"
+                        <el-input type="textarea" :rows="3" v-model="groupForm.name" placeholder="请输入分组名称" maxlength="50"
                             show-word-limit clearable></el-input>
                     </el-form-item>
                     <!-- <el-form-item label="编号">
@@ -1059,7 +1065,9 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
                 alreadyPartArray: [],
 
                 projectCreatorId: null,
-                projectInchargerId: null
+                projectInchargerId: null,
+
+                canAddTask: false, // 分组创建任务的判断
             };
             
         },
@@ -2091,6 +2099,8 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
                 }
             },
             finishTask(task) {
+                console.log(123)
+
                 this.http.post('/task/finish',{id: task.id, taskStatus: task.taskStatus},
                         res => {
                             if (res.code == "ok") {
@@ -2335,7 +2345,8 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
                 this.http.post('/stages/list',{groupId: this.selectedGroup.id, projectId: this.selectedGroup.projectId, order: this.order, isDesc: this.isDesc},
                 res => {
                     if (res.code == "ok") {
-                        this.stageList = res.data;
+                        this.stageList = res.data.list;
+                        this.canAddTask = res.data.canAddTask
                         this.timess() // 处理时间的方法
                     } else {
                         this.$message({
@@ -2711,14 +2722,15 @@ import delete$ from 'dingtalk-jsapi/api/biz/cspace/delete';
             },
            
             getUsers() {
-                this.http.post(this.port.manage.list, {
-                    departmentId: -1,
-                    pageIndex: 1,
-                    pageSize: -1
-                },
+                // this.http.post(this.port.manage.list, {
+                //     departmentId: -1,
+                //     pageIndex: 1,
+                //     pageSize: -1
+                // },
+                this.http.post('/user/getSimpleActiveUserList', {},
                 res => {
                     if (res.code == "ok") {
-                        this.users = res.data.records;
+                        this.users = res.data;
                     } else {
                         this.$message({
                         message: res.msg,
@@ -3001,6 +3013,13 @@ float:left;
 width:260px;
 overflow: auto;
 }
+.taskGroupClass {
+    width: 180px;
+    display: inline-block;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    white-space: nowrap; 
+}
 
 
 .taskCard {

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

@@ -909,15 +909,16 @@ import { error } from 'dingtalk-jsapi';
                 
             },
             getUsers() {
-                this.http.post(this.port.manage.list, {
-                    departmentId: -1,
-                    pageIndex: 1,
-                    // pageSize: 99999
-                    pageSize: -1
-                },
+                // this.http.post(this.port.manage.list, {
+                //     departmentId: -1,
+                //     pageIndex: 1,
+                //     // pageSize: 99999
+                //     pageSize: -1
+                // },
+                this.http.post('/user/getSimpleActiveUserList', {},
                 res => {
                     if (res.code == "ok") {
-                        this.users = res.data.records;
+                        this.users = res.data;
                     } else {
                         this.$message({
                         message: res.msg,
@@ -1269,14 +1270,15 @@ import { error } from 'dingtalk-jsapi';
             },
             getUsers() {
                 // console.log(this.port.manage.list)
-                this.http.post(this.port.manage.list, {
-                    departmentId: -1,
-                    pageIndex: 1,
-                    pageSize: 99999
-                },
+                // this.http.post(this.port.manage.list, {
+                //     departmentId: -1,
+                //     pageIndex: 1,
+                //     pageSize: 99999
+                // },
+                this.http.post('/user/getSimpleActiveUserList', {},
                 res => {
                     if (res.code == "ok") {
-                        this.users = res.data.records;
+                        this.users = res.data;
                     } else {
                         this.$message({
                         message: res.msg,
@@ -1613,7 +1615,7 @@ import { error } from 'dingtalk-jsapi';
                 this.http.post('/stages/list',{groupId: this.selectedGroup.id, projectId: this.selectedGroup.projectId, order: this.order, isDesc: this.isDesc},
                 res => {
                     if (res.code == "ok") {
-                        this.stageList = res.data;
+                        this.stageList = res.data.list;
                         // console.log('触发获取任务列表函数')
                         this.timess() // 处理时间的方法
                     } else {

+ 5 - 9
fhKeeper/formulahousekeeper/timesheet/src/views/team/index.vue

@@ -1753,17 +1753,13 @@ export default {
     },
     getUsers() {
       this.http.post(
-        this.port.manage.list,
-        {
-          departmentId: -1,
-          pageIndex: 1,
-          // pageSize: 99999,
-          pageSize: -1,
-          keyword: this.keyword,
-        },
+        // this.port.manage.list,
+        '/user/getSimpleActiveUserList',
+        {},
         (res) => {
           if (res.code == "ok") {
-            this.users = res.data.records;
+            // this.users = res.data.records;
+            this.users = res.data;
           } else {
             this.$message({
               message: res.msg,

+ 8 - 7
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/list.vue

@@ -735,15 +735,16 @@
             },
             // 获取所有人员
             getUsers() {
-                this.http.post(this.port.manage.list, {
-                    departmentId: -1,
-                    pageIndex: 1,
-                    // pageSize: 99999
-                    pageSize: -1
-                },
+                // this.http.post(this.port.manage.list, {
+                //     departmentId: -1,
+                //     pageIndex: 1,
+                //     // pageSize: 99999
+                //     pageSize: -1
+                // },
+                this.http.post('/user/getSimpleActiveUserList', {},
                 res => {
                     if (res.code == "ok") {
-                        this.usersList = res.data.records;
+                        this.usersList = res.data;
                         this.searchUsersList = this.usersList
                     } else {
                         this.$message({