Selaa lähdekoodia

PC端支持自定义填报列表的多选功能

seyason 1 vuosi sitten
vanhempi
commit
6c4e835029

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

@@ -354,7 +354,8 @@ public class ReportController {
                                   Integer[] extraField2,
                                   Integer[] extraField3,
                                   Integer[] sapServiceId,//依斯贝的服务Id
-                                  String summary         //针对工作总结的字段
+                                  String summary,         //针对工作总结的字段
+                                  String[] multiDegrId
                                     ) {
         List<Report> reportList = new ArrayList<>();
         String token = request.getHeader("Token");
@@ -493,6 +494,12 @@ public class ReportController {
                 sapServiceId[i] = null;
             }
         }
+        if (multiDegrId == null) {
+            multiDegrId = new String[projectId.length];
+            for (int i=0;i<multiDegrId.length; i++) {
+                multiDegrId[i] = null;
+            }
+        }
         if (company.getPackageProject() == 1) {
             //检查是否设置了预算的工时预警
             ProjectBasecostSetting alarmSetting = projectBasecostSettingMapper.selectOne(new QueryWrapper<ProjectBasecostSetting>()
@@ -879,6 +886,7 @@ public class ReportController {
                             report.setExtraField2(extraField2[i]);
                             report.setExtraField3(extraField3[i]);
                             report.setSapServiceId(sapServiceId[i]);
+                            report.setMultiDegrId(multiDegrId[i]);
                             //如果是员工自由选择审批流程的方式,需要处理一下
                             if (comTimeType.getReportAuditType() == 3) {
                                 report.setAuditorSetting(auditorSettingList.get(i));
@@ -945,6 +953,7 @@ public class ReportController {
                                 report.setExtraField2(extraField2[i]);
                                 report.setExtraField3(extraField3[i]);
                                 report.setSapServiceId(sapServiceId[i]);
+                                report.setMultiDegrId(multiDegrId[i]);
                                 //如果是员工自由选择审批流程的方式,需要处理一下
                                 if (comTimeType.getReportAuditType() == 3) {
                                     report.setAuditorSetting(auditorSettingList.get(i));
@@ -1013,6 +1022,7 @@ public class ReportController {
                         report.setExtraField2(extraField2[i]);
                         report.setExtraField3(extraField3[i]);
                         report.setSapServiceId(sapServiceId[i]);
+                        report.setMultiDegrId(multiDegrId[i]);
                         //如果是员工自由选择审批流程的方式,需要处理一下
                         if (comTimeType.getReportAuditType() == 3) {
                             report.setAuditorSetting(auditorSettingList.get(i));
@@ -1086,6 +1096,7 @@ public class ReportController {
                             report.setExtraField2(extraField2[i]);
                             report.setExtraField3(extraField3[i]);
                             report.setSapServiceId(sapServiceId[i]);
+                            report.setMultiDegrId(multiDegrId[i]);
                             //如果是员工自由选择审批流程的方式,需要处理一下
                             if (comTimeType.getReportAuditType() == 3) {
                                 report.setAuditorSetting(auditorSettingList.get(i));

+ 38 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportExtraDegreeController.java

@@ -1,15 +1,10 @@
 package com.management.platform.controller;
 
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.management.platform.entity.Project;
-import com.management.platform.entity.ReportExtraDegree;
-import com.management.platform.entity.TimeType;
-import com.management.platform.entity.User;
-import com.management.platform.mapper.ProjectMapper;
-import com.management.platform.mapper.ReportExtraDegreeMapper;
-import com.management.platform.mapper.TimeTypeMapper;
-import com.management.platform.mapper.UserMapper;
+import com.management.platform.entity.*;
+import com.management.platform.mapper.*;
 import com.management.platform.service.ProjectService;
 import com.management.platform.service.ReportExtraDegreeService;
 import com.management.platform.util.HttpRespMsg;
@@ -47,6 +42,8 @@ public class ReportExtraDegreeController {
     @Resource
     ReportExtraDegreeMapper reportExtraDegreeMapper;
     @Resource
+    ReportMapper reportMapper;
+    @Resource
     ProjectMapper projectMapper;
     @Resource
     ProjectService projectService;
@@ -126,6 +123,7 @@ public class ReportExtraDegreeController {
         HttpRespMsg msg = new HttpRespMsg();
         String token = request.getHeader("TOKEN");
         User user = userMapper.selectById(token);
+        Integer companyId = user.getCompanyId();
         //检查是否已经被使用
         List<Project> existsProjects = projectMapper.selectList(new QueryWrapper<Project>()
                         .eq("associate_degrees", id)
@@ -138,6 +136,38 @@ public class ReportExtraDegreeController {
             msg.setError(MessageUtils.message("project.DateRelation",names));
             return msg;
         }
+        //检查日报中是否已经使用过
+        int count = reportMapper.selectCount(new QueryWrapper<Report>().eq("degree_id", id).eq("company_id", companyId));
+        if (count > 0) {
+            msg.setError("该数据已经被日报关联,无法删除");
+            return msg;
+        }
+        TimeType timeType = timeTypeMapper.selectById(companyId);
+        if (timeType.getCustomDegreeMultiple()) {
+            //检查日报的多选字段
+            List<Report> rList = reportMapper.selectList(new QueryWrapper<Report>().select("multi_degr_id").like("multi_degr_id", id).eq("company_id", companyId));
+            if (rList.size() > 0) {
+                boolean find = false;
+                for (Report r : rList) {
+                    String multiDegrId = r.getMultiDegrId();
+                    multiDegrId = multiDegrId.replace("@", ",");
+                    JSONArray array = JSONArray.parseArray(multiDegrId);
+                    for (int i=0; i<array.size(); i++) {
+                        if (array.getInteger(i).equals(id)) {
+                            find = true;
+                            break;
+                        }
+                    }
+                    if (find) {
+                        break;
+                    }
+                }
+                if (find) {
+                    msg.setError("该数据已经被日报关联,无法删除");
+                    return msg;
+                }
+            }
+        }
         int r = reportExtraDegreeMapper.delete(new QueryWrapper<ReportExtraDegree>().eq("id", id).eq("company_id", user.getCompanyId()));
         if (r <= 0) {
             //msg.setError("无权删除");

+ 12 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Report.java

@@ -24,7 +24,8 @@ import org.springframework.format.annotation.DateTimeFormat;
  * </p>
  *
  * @author Seyason
- * @since 2023-08-10 */
+ * @since 2024-01-26
+ */
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
@@ -414,6 +415,16 @@ public class Report extends Model<Report> {
     @TableField(exist = false)
     private String taskName;
 
+    /**
+     * 多选自定义维度id
+     */
+    @TableField("multi_degr_id")
+    private String multiDegrId;
+
+    //用于后端传递给前端的数组
+    @TableField(exist = false)
+    private List<Integer> multiDegrIdList;
+
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 7 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/TimeType.java

@@ -13,11 +13,11 @@ import lombok.experimental.Accessors;
 
 /**
  * <p>
- *
+ * 
  * </p>
  *
  * @author Seyason
- * @since 2023-12-16
+ * @since 2024-01-26
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -538,6 +538,11 @@ public class TimeType extends Model<TimeType> {
      */
     @TableField("time_can_overlap")
     private Integer timeCanOverlap;
+    /**
+     * 自定义维度是否填报是可多选
+     */
+    @TableField("custom_degree_multiple")
+    private Boolean customDegreeMultiple;
 
 
     @Override

+ 64 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -599,6 +599,33 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     }
                 }
             }
+            //解析自定义多选的
+            if (timeType.getCustomDegreeActive() == 1 && timeType.getCustomDegreeMultiple()) {
+                List<ReportExtraDegree> extraList = reportExtraDegreeMapper.selectList(new QueryWrapper<ReportExtraDegree>().eq("company_id", user.getCompanyId()));
+                for (Map map : nameList) {
+                    List<Map<String, Object>> reportList = (List<Map<String, Object>>)map.get("data");
+                    for (Map<String, Object> report : reportList) {
+                        String multiDegrId = (String)report.get("multiDegrId");
+                        if (multiDegrId != null) {
+                            multiDegrId = multiDegrId.replace("@", ",");
+                            JSONArray array = JSONArray.parseArray(multiDegrId);
+                            String s = "";
+                            for (int i=0;i<array.size(); i++) {
+                                int item = array.getInteger(i);
+                                Optional<ReportExtraDegree> find = extraList.stream().filter(ex->ex.getId().equals(item)).findFirst();
+                                if (find.isPresent()) {
+                                    s += find.get().getName() + ",";
+                                }
+                            }
+                            if (s.length() > 0) {
+                                s = s.substring(0, s.length()-1);
+                            }
+                            report.put("degreeName", s);
+                        }
+                    }
+                }
+            }
+
             httpRespMsg.data = nameList;
         } catch (NullPointerException e) {
             e.printStackTrace();
@@ -639,9 +666,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     .eq("company_id", userMapper.selectById(userId).getCompanyId()));
             List<SubProject> subProjectList = integerList.size() > 0?subProjectMapper.selectList(new QueryWrapper<SubProject>().in("project_id",integerList)):new ArrayList<>();
             List<ProjectAuditor> auditorList = integerList.size() > 0?projectAuditorMapper.selectList(new QueryWrapper<ProjectAuditor>().in("project_id", integerList)): new ArrayList<>();
-
-            ;
-
 //            List<UserRecentTask> taskList = integerList.size() > 0?userRecentTaskMapper.selectList(new QueryWrapper<UserRecentTask>().in("project_id", integerList).orderByDesc("id")):new ArrayList<>();
             List<Profession> professions = professionMapper.selectList(new QueryWrapper<Profession>().eq("company_id", companyId));
 
@@ -713,7 +737,6 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     r.setDegreeList(degreeMapList);
                 }
                 //检查是否是按照任务分组负责人审核
-//                Project curProject = allProjectList.stream().filter(ap->ap.getId().equals(r.getProjectId())).findFirst().get();
                 int reportAuditType = timeTypeMapper.selectById(companyId).getReportAuditType();
                 //分组
                 if (company.getPackageProject() == 1) {
@@ -823,6 +846,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                         }
                     }
                 }
+                //解析自定义多选数组
+                if (!StringUtils.isEmpty(r.getMultiDegrId())) {
+                    String multi = r.getMultiDegrId().replace("@", ",");
+                    JSONArray array = JSONArray.parseArray(multi);
+                    List<Integer> list = new ArrayList<>();
+                    for (int i=0;i<array.size(); i++) {
+                        Integer id = array.getInteger(i);
+                        list.add(id);
+                    }
+                    r.setMultiDegrIdList(list);
+                }
             });
             resultMap.put("report", reports);
             TimeType timeType = timeTypeMapper.selectById(companyId);
@@ -1812,6 +1846,32 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                     }
                 }
             }
+            //解析自定义多选的
+            if (timeType.getCustomDegreeActive() == 1 && timeType.getCustomDegreeMultiple()) {
+                List<ReportExtraDegree> extraList = reportExtraDegreeMapper.selectList(new QueryWrapper<ReportExtraDegree>().eq("company_id", companyId));
+                for (Map map : nameList) {
+                    List<Map<String, Object>> reportList = (List<Map<String, Object>>)map.get("data");
+                    for (Map<String, Object> report : reportList) {
+                        String multiDegrId = (String)report.get("multiDegrId");
+                        if (multiDegrId != null) {
+                            multiDegrId = multiDegrId.replace("@", ",");
+                            JSONArray array = JSONArray.parseArray(multiDegrId);
+                            String s = "";
+                            for (int i=0;i<array.size(); i++) {
+                                int item = array.getInteger(i);
+                                Optional<ReportExtraDegree> find = extraList.stream().filter(ex->ex.getId().equals(item)).findFirst();
+                                if (find.isPresent()) {
+                                    s += find.get().getName() + ",";
+                                }
+                            }
+                            if (s.length() > 0) {
+                                s = s.substring(0, s.length()-1);
+                            }
+                            report.put("degreeName", s);
+                        }
+                    }
+                }
+            }
             httpRespMsg.data = nameList;
         } catch (NullPointerException e) {
             //httpRespMsg.setError("验证失败");

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 37 - 36
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ReportMapper.xml


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/TimeTypeMapper.xml


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

@@ -34,7 +34,7 @@
                 <el-radio-button :label="$t('projectclassification')" v-if="user.companyId != '1071'"></el-radio-button>
                 <el-radio-button :label="$t('lable.department')" v-if="permissions.viewAllSummary || permissions.viewMagDeptSummary"></el-radio-button>
                 <el-radio-button :label="$t('ren-yuan')" v-if="permissions.countPersonnel"></el-radio-button>
-                <el-radio-button :label="namess" v-if="jichu.customDegreeActive == 1"></el-radio-button>
+                <el-radio-button :label="namess" v-if="jichu.customDegreeActive == 1 && !jichu.customDegreeMultiple"></el-radio-button>
                 <el-radio-button v-for="item in theCustomList" :key="item.id" :label="item.name"></el-radio-button>
             </el-radio-group>
 

+ 3 - 0
fhKeeper/formulahousekeeper/timesheet/src/views/settings/timetype.vue

@@ -366,6 +366,9 @@
                         <el-form-item>
                             <el-button type="primary" size="small" @click="bianji()">{{ $t('datamaintenance') }}</el-button>
                         </el-form-item>
+                        <el-form-item>
+                            <el-checkbox type="primary" size="small" v-model="timeType.customDegreeMultiple" style="margin-left:20px;">填报时可多选</el-checkbox>
+                        </el-form-item>
                     </el-form>
                 </div>
             </el-col>

+ 79 - 17
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -276,7 +276,7 @@
                                                         {{$t('other.taskGroup')}}:{{item2.groupName}} 
                                                         <span v-if="item2.stage != null && item2.stage != '-' && user.companyId != yuzhongCompId && user.timeType.enableNewWeeklyfill != 1" style="margin-left:10px;">{{$t('other.inputStage')}}:{{item2.stage}}</span>
                                                     </p>
-                                                    <p v-if="user.timeType.customDegreeActive==1 && item2.degree_id != null && item2.degree_id != -1">{{user.timeType.customDegreeName}}:{{item2.degreeName}}</p>
+                                                    <p v-if="user.timeType.customDegreeActive==1 && ((item2.degree_id != null && item2.degree_id != -1) || item2.multiDegrId)">{{user.timeType.customDegreeName}}:{{item2.degreeName}}</p>
                                                     <p v-if="user.timeType.customDataActive==1">{{user.timeType.customDataName}}:{{item2.customData}}</p>
                                                     <!-- 自定义日报文本 -->
                                                     <p v-if="user.timeType.customTextActive==1">{{user.timeType.customTextName}}:{{item2.customText}}</p>
@@ -633,7 +633,11 @@
 
                         <!-- 相关维度/自定义维度 -->
                         <el-form-item :label="yonghuUser.customDegreeName" v-if="domain.projectId && yonghuUser.customDegreeActive == 1" :rules="user.timeType.customDegreeStatus == 1 && domain.wuduList != undefined && domain.wuduList.length != 0 ? { required: true, message: $t('defaultText.pleaseChoose') + yonghuUser.customDegreeName, trigger: ['change','blur'] } : null" :prop="'domains.' + index + '.degreeId'">
-                            <el-select v-model="domain.degreeId" clearable :placeholder="$t('defaultText.pleaseChoose')" :disabled="!domain.canEdit" style="width:200px;" filterable>
+                            <el-select v-if="!yonghuUser.customDegreeMultiple" v-model="domain.degreeId" clearable :placeholder="$t('defaultText.pleaseChoose')" :disabled="!domain.canEdit" style="width:200px;" filterable>
+                                <el-option v-for="item in domain.wuduList" :key="item.value" :label="item.name" :value="item.id">
+                                </el-option>
+                            </el-select>
+                            <el-select v-else v-model="domain.multiDegrIdArray" multiple clearable :placeholder="$t('defaultText.pleaseChoose')" :disabled="!domain.canEdit" style="width:75%;margin-right:7%" filterable>
                                 <el-option v-for="item in domain.wuduList" :key="item.value" :label="item.name" :value="item.id">
                                 </el-option>
                             </el-select>
@@ -802,7 +806,11 @@
                             </el-form-item>
                             <!-- 相关维度 -->
                             <el-form-item :label="yonghuUser.customDegreeName" v-if="domain.projectId && yonghuUser.customDegreeActive == 1" :rules="user.timeType.customDegreeStatus == 1 && domain.wuduList.length != 0 ? { required: true, message: $t('defaultText.pleaseChoose') + yonghuUser.customDegreeName, trigger: ['change','blur'] } : null" :prop="'domains.' + index + '.degreeId'">
-                                <el-select v-model="domain.degreeId" :disabled="!domain.canEdit" clearable :placeholder="$t('defaultText.pleaseChoose')" filterable>
+                                <el-select v-if="!yonghuUser.customDegreeMultiple" v-model="domain.degreeId" :disabled="!domain.canEdit" clearable :placeholder="$t('defaultText.pleaseChoose')" filterable>
+                                    <el-option v-for="item in domain.wuduList" :key="item.value" :label="item.name" :value="item.id">
+                                    </el-option>
+                                </el-select>
+                                <el-select v-else v-model="domain.multiDegrIdArray" multiple :disabled="!domain.canEdit" clearable :placeholder="$t('defaultText.pleaseChoose')" filterable>
                                     <el-option v-for="item in domain.wuduList" :key="item.value" :label="item.name" :value="item.id">
                                     </el-option>
                                 </el-select>
@@ -1087,7 +1095,10 @@
                 <!-- 自定义维度  -->
                 <div class="zhoFel" v-if="user.timeType.customDegreeActive">
                     <p>{{user.timeType.customDegreeName}}</p>
-                    <el-select v-model="zhoBao.degreeId" :placeholder="$t('defaultText.pleaseChoose')" clearable="true" style="width: 355px" filterable>
+                    <el-select v-if="!user.timeType.customDegreeMultiple" v-model="zhoBao.degreeId" :placeholder="$t('defaultText.pleaseChoose')" clearable="true" style="width: 355px" filterable>
+                        <el-option v-for="item in zhoBao.wuduList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+                    </el-select>
+                    <el-select v-else v-model="zhoBao.multiDegrIdArray" multiple :placeholder="$t('defaultText.pleaseChoose')" clearable="true" style="width: 355px" filterable>
                         <el-option v-for="item in zhoBao.wuduList" :key="item.id" :label="item.name" :value="item.id"></el-option>
                     </el-select>
                 </div>
@@ -4293,6 +4304,7 @@
                 // 获取项目相关的维度
                 // domain.degreeId = null
                 this.$set(domain,'degreeId',null)
+                this.$set(domain,'multiDegrIdArray',null)
                 this.dimension(domain, index);
                 
                 //获取项目审核人
@@ -5496,6 +5508,7 @@
                                     multiWorktime: aiReportData[i].multiWorktime,
                                     worktimeList: [{}],
                                     degreeId: aiReportData[i].degreeId==-1?null:aiReportData[i].degreeId,
+                                    multiDegrIdArray: aiReportData[i].multiDegrId?JSON.parse(aiReportData[i].multiDegrId):null,
                                     wuduList: aiReportData[i].degreeList,
                                     taskGroups:aiReportData[i].taskGroups,
                                     customData: aiReportData[i].customData,//自定义的数值
@@ -5596,6 +5609,7 @@
                                     multiWorktime: list.report[i].multiWorktime,
                                     worktimeList: list.report[i].worktimeList,
                                     degreeId: list.report[i].degreeId==-1?null:list.report[i].degreeId,
+                                    multiDegrIdArray: list.report[i].multiDegrIdList,
                                     wuduList: list.report[i].degreeList,
                                     taskGroups:list.report[i].taskGroups,
                                     customData: list.report[i].customData,//自定义的数值
@@ -6648,8 +6662,21 @@
                                     } else {
                                         formData.append("basecostId", 0);
                                     }
-                                    if(this.user.timeType.customDegreeActive && zhoD[j].degreeId){
-                                        formData.append('degreeId',zhoD[j].degreeId)
+                                    if(this.user.timeType.customDegreeActive){
+                                        if (this.user.timeType.customDegreeMultiple) {
+                                            if (zhoD[j].multiDegrIdArray) {
+                                                formData.append('multiDegrId',JSON.stringify(zhoD[j].multiDegrIdArray));
+                                            } else {
+                                                formData.append('multiDegrId','[]')
+                                            }
+                                        } else {
+                                            if (zhoD[j].degreeId) {
+                                                formData.append('degreeId',zhoD[j].degreeId)
+                                            } else {
+                                                formData.append('degreeId','-1')
+                                            }
+                                        }
+                                        
                                     }else{
                                         formData.append("degreeId", "-1");
                                     }
@@ -6726,8 +6753,20 @@
                                         } else {
                                             formData.append("basecostId", 0);
                                         }
-                                        if(this.user.timeType.customDegreeActive && zhoD[j].degreeId){
-                                            formData.append('degreeId',zhoD[j].degreeId)
+                                        if(this.user.timeType.customDegreeActive){
+                                            if (this.user.timeType.customDegreeMultiple) {
+                                                if (zhoD[j].multiDegrIdArray) {
+                                                    formData.append('multiDegrId',JSON.stringify(zhoD[j].multiDegrIdArray))
+                                                } else {
+                                                    formData.append("multiDegrId", "[]");
+                                                }
+                                            } else {
+                                                if (zhoD[j].degreeId) {
+                                                    formData.append('degreeId',zhoD[j].degreeId)
+                                                } else {
+                                                    formData.append("degreeId", "-1");
+                                                }
+                                            }
                                         }else{
                                             formData.append("degreeId", "-1");
                                         }
@@ -6807,8 +6846,20 @@
                                         } else {
                                             formData.append("basecostId", 0);
                                         }
-                                        if(this.user.timeType.customDegreeActive && zhoD[j].degreeId){
-                                            formData.append('degreeId',zhoD[j].degreeId)
+                                        if(this.user.timeType.customDegreeActive){
+                                            if (this.user.timeType.customDegreeMultiple) {
+                                                if (zhoD[j].multiDegrIdArray) {
+                                                    formData.append('multiDegrId',JSON.stringify(zhoD[j].multiDegrIdArray))
+                                                } else {
+                                                    formData.append("multiDegrId", "[]");
+                                                }
+                                            } else {
+                                                if (zhoD[j].degreeId) {
+                                                    formData.append('degreeId',zhoD[j].degreeId)
+                                                } else {
+                                                    formData.append("degreeId", "-1");
+                                                }
+                                            }
                                         }else{
                                             formData.append("degreeId", "-1");
                                         }
@@ -7367,13 +7418,24 @@
                                 }
                                 formData.append("auditorSettingArray", JSON.stringify(audItem).replace(/,/g,"@"));
                             }
-                            
-
-
-
-                            if(this.workForm.domains[i].degreeId) {
-                                // var sss = this.workForm.domains[i].degreeId.toString()
-                                formData.append("degreeId", this.workForm.domains[i].degreeId);
+                            if (this.user.timeType.customDegreeActive) {
+                                if (this.user.timeType.customDegreeMultiple) {
+                                    //多选
+                                    if (this.workForm.domains[i].multiDegrIdArray) {
+                                        var degreeArray = JSON.stringify(this.workForm.domains[i].multiDegrIdArray);
+                                        degreeArray = degreeArray.replace(/,/g,"@");
+                                        formData.append("multiDegrId", degreeArray);
+                                    } else {
+                                        formData.append("multiDegrId", '[]');
+                                    }
+                                } else {
+                                    //单选
+                                    if (this.workForm.domains[i].degreeId) {
+                                        formData.append("degreeId", this.workForm.domains[i].degreeId);
+                                    } else {
+                                        formData.append("degreeId", -1);
+                                    }
+                                }
                             } else {
                                 formData.append("degreeId", -1);
                             }

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

@@ -120,7 +120,7 @@
                                 <span v-if="item.auditorList && item.auditorList.length == 2">两层审核(<span style="color:#20A0ff;">{{ item.auditorList[0].name }}->{{ item.auditorList[1].name }}</span>)</span>
                                 <el-button size="small" @click="viewOneReport(item)" v-if="!item.auditorList">查看</el-button>
                                 </p>
-                                <p v-if="user.timeType.customDegreeActive==1 && item.degree_id != null">{{user.timeType.customDegreeName}}:{{item.degreeName}}</p>
+                                <p v-if="user.timeType.customDegreeActive==1 && (item.degree_id != null || item.multiDegrId != '[]')">{{user.timeType.customDegreeName}}:{{item.degreeName}}</p>
                                 <p v-if="user.timeType.customDataActive==1">{{user.timeType.customDataName}}:{{item.customData}}</p>
                                 <p v-if="user.timeType.customTextActive==1">{{user.timeType.customTextName}}:{{item.customText}}</p>
                                 <p v-if="user.company.packageEngineering == 1">

+ 0 - 17
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/index.vue

@@ -2495,23 +2495,6 @@ export default {
                 }
             });
         },
-        // startRecording: function () {
-        //     Recorder.get(function (rec) {
-        //     recorder = rec
-        //     recorder.start()
-        // })
-        // },
-        // stopRecording: function () {
-        //     recorder.stop()
-        // },
-        // getRecording: function () {
-        //     var file =  new File([recorder.getBlob()], new Date().getTime() + '.pcm',{type:recorder.getBlob().type});  //得到需要的pcm文件
-        //     // var file =  recorder.getBlob();  //得到需要的pcm文件
-        //     let param = new FormData();
-        //     param.append("file", file);
-        //     this.$axios.post('/report/record', param).then(res => {})
-        //     console.log(file)
-        // },
     },
 
     mounted() {