Selaa lähdekoodia

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

ggooalice 2 vuotta sitten
vanhempi
commit
2f35be51a9
14 muutettua tiedostoa jossa 157 lisäystä ja 98 poistoa
  1. 16 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java
  2. 2 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/BusinessTripServiceImpl.java
  3. 1 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/LeaveSheetServiceImpl.java
  4. 1 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java
  5. 14 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  6. 2 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java
  7. BIN
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/upload/员工工时导入模板.xlsx
  8. BIN
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/upload/费用报销导入模板.xlsx
  9. 3 1
      fhKeeper/formulahousekeeper/timesheet/src/components/cascader.vue
  10. 63 46
      fhKeeper/formulahousekeeper/timesheet/src/views/awayOffice/awayOffice.vue
  11. 24 2
      fhKeeper/formulahousekeeper/timesheet/src/views/centerManage/centerManage.vue
  12. 14 12
      fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue
  13. 10 23
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/project/index.vue
  14. 7 7
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/project/projectInside.vue

+ 16 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -1836,6 +1836,22 @@ public class WeiXinCorpController {
         return wxCorpInfoService.getUserCheckInDayData(companyId, userId, start, end, true);
     }
 
+    //手动获取打卡记录
+    @RequestMapping("/getPunchRecord")
+    public HttpRespMsg getPunchRecord(Integer companyId, String userId, String startDate, String endDate) {
+        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+        LocalDateTime start = LocalDateTime.parse(startDate + " 00:00:00", dtf);
+        LocalDateTime end = null;
+        if (!StringUtils.isEmpty(endDate)) {
+            end = LocalDateTime.parse(endDate + " 23:59:59", dtf);
+        } else {
+            end = LocalDateTime.parse(startDate + " 23:59:59", dtf);
+        }
+
+        return wxCorpInfoService.getUserPunchRecord(companyId, userId, start, end, true);
+    }
+
     @RequestMapping("/getCurMonthDayData")
     public HttpRespMsg getCurMonthDayData(int companyId) {
         LocalDate now = LocalDate.now();

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

@@ -165,7 +165,7 @@ public class BusinessTripServiceImpl extends ServiceImpl<BusinessTripMapper, Bus
         User user = userMapper.selectById(userId);
         sheet.setOwnerName(user.getName());
         sheet.setCompanyId(user.getCompanyId());
-
+        sheet.setStatus(1);//填报时是待审核状态
         if (isNew) {
             //检查该时间段是否已经有按天请假
             QueryWrapper<BusinessTrip> queryWrapper = new QueryWrapper<>();
@@ -319,7 +319,7 @@ public class BusinessTripServiceImpl extends ServiceImpl<BusinessTripMapper, Bus
     public HttpRespMsg summaryData(String keyword, String startDate, String endDate, String userId) {
         Integer companyId = userMapper.selectById(userId).getCompanyId();
         HttpRespMsg msg = new HttpRespMsg();
-//        msg.data = businessTripMapper.summaryData(keyword, startDate, endDate, companyId);
+        msg.data = businessTripMapper.summaryData(keyword, startDate, endDate, companyId);
         return msg;
     }
 }

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/LeaveSheetServiceImpl.java

@@ -77,6 +77,7 @@ public class LeaveSheetServiceImpl extends ServiceImpl<LeaveSheetMapper, LeaveSh
         User user = userMapper.selectById(userId);
         sheet.setOwnerName(userMapper.selectById(sheet.getOwnerId()).getName());
         sheet.setCompanyId(user.getCompanyId());
+        sheet.setStatus(1);//待审核状态
         TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
         if (sheet.getTimeType() == 0) {
             //按天请假时,计算小时数

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

@@ -495,7 +495,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
         boolean isNew = true;
         //检查负责人要在参与人中
-        if (inchargerId != null) {
+        if (!StringUtils.isEmpty(inchargerId)) {
             if (userIds == null || userIds.length == 0) {
                 userIds = new String[1];
                 userIds[0] = inchargerId;//自动加进去

+ 14 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -3390,8 +3390,20 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
                 Optional<Map<String, Object>> op = worktimeList.stream().filter(m -> ((String) m.get("createDate")).equals(fDateStr)).findFirst();
                 if (op.isPresent()) {
                     Map<String, Object> createDateHour = op.get();
-                    double workingTime = (double)createDateHour.get("workingTime");
-                    dataItem.add(""+decimalFormat.format(workingTime));
+                    //格式可能是:1.5(请假)  当天请假  7.48
+                    Object obj = createDateHour.get("workingTime");
+                    String processVal = "";
+                    if (obj instanceof Double) {
+                        double workingTime = (double)obj;
+                        processVal = decimalFormat.format(workingTime);
+                    } else if (obj instanceof String) {
+                        processVal = (String)obj;
+                        if (processVal.contains("(")) {
+                            String[] split = processVal.split("\\(");
+                            processVal = decimalFormat.format(Double.valueOf(split[0])) + "(" + split[1];
+                        }
+                    }
+                    dataItem.add(processVal);
                 } else {
                     dataItem.add("0");
                 }

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

@@ -2419,8 +2419,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         User user = userMapper.selectById(request.getHeader("token"));
         ReportForm reportForm = reportFormMapper.selectOne(new QueryWrapper<ReportForm>().eq("report_form_name", tableName));
         List<SysFunction> sysFunctionList = sysFunctionMapper.selectList(new QueryWrapper<SysFunction>().eq("report_form_id", reportForm.getId()));
-        String allName = sysFunctionList.stream().filter(sl -> sl.getName().contains("全公司")||sl.getName().contains("全部")||sl.getName().contains("工时成本预警表")||sl.getName().contains("日报待审核")).findFirst().get().getName();
-        String deptName = sysFunctionList.stream().filter(sl -> sl.getName().contains("负责部门")||sl.getName().contains("负责")||sl.getName().contains("工时成本预警表")||sl.getName().contains("日报待审核")).findFirst().get().getName();
+        String allName = sysFunctionList.stream().filter(sl -> sl.getName().contains("全公司")||sl.getName().contains("全部")||sl.getName().contains("工时成本预警表")||sl.getName().contains("日报待审核")||sl.getName().contains("客户项目利润表")).findFirst().get().getName();
+        String deptName = sysFunctionList.stream().filter(sl -> sl.getName().contains("负责部门")||sl.getName().contains("负责")||sl.getName().contains("工时成本预警表")||sl.getName().contains("日报待审核")||sl.getName().contains("客户项目利润表")).findFirst().get().getName();
         List<SysRichFunction> functionAllList = sysFunctionMapper.getRoleFunctions(user.getRoleId(),allName);
         List<SysRichFunction> functionDeptList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), deptName);
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("manager_id", user.getId()));

BIN
fhKeeper/formulahousekeeper/management-platform/src/main/resources/upload/员工工时导入模板.xlsx


BIN
fhKeeper/formulahousekeeper/management-platform/src/main/resources/upload/费用报销导入模板.xlsx


+ 3 - 1
fhKeeper/formulahousekeeper/timesheet/src/components/cascader.vue

@@ -154,8 +154,10 @@ export default {
             handler(newValue, oldValue) {
                 console.log(newValue, oldValue)
                 this.optionsOId = newValue
-                if(this.optionsOId) {
+                if(this.optionsOId && this.optionsOId.length != 0) {
                     this.traverseArr(this.options, this.optionsOId)
+                } else {
+                    this.selectName = this.$t('defaultText.pleaseChoose')
                 }
             },
         },

+ 63 - 46
fhKeeper/formulahousekeeper/timesheet/src/views/awayOffice/awayOffice.vue

@@ -28,12 +28,12 @@
                         <span slot="title">{{ $t('businessstatistics') }}</span>
                     </template>
                 </el-menu-item>
-                <el-menu-item index="5" v-if="permissions.awayOfficeProcess">
+                <!-- <el-menu-item index="5" v-if="permissions.awayOfficeProcess">
                     <template slot="title">
                         <i class="iconfont firerock-iconliucheng"></i>
                         <span slot="title">{{ $t('businesstriApprovalProcess') }}</span>
                     </template>
-                </el-menu-item>
+                </el-menu-item> -->
             </el-menu>
         </el-col>
     </div>
@@ -51,7 +51,7 @@
                         <el-input v-model="addform.reason" style="width: 555px" maxlength="25" type="text" show-word-limit></el-input>
                     </el-form-item>
                     <!-- 维度选择添加 -->
-                        <el-form-item :label="$t('screening.inputProject')" style="width:300px;margin-right:30px" prop="projectId">
+                        <!-- <el-form-item :label="$t('screening.inputProject')" style="width:300px;margin-right:30px" prop="projectId">
                             <el-select style="width:100%" @change="getwuduList(1)" v-model="addform.projectId" filterable clearable :placeholder="$t('defaultText.pleaseChoose')" >
                                 <el-option
                                 v-for="item in projectList"
@@ -60,7 +60,7 @@
                                 :value="item.id">
                                 </el-option>
                             </el-select>
-                        </el-form-item>
+                        </el-form-item> -->
                         <el-form-item :label="wuduData.customDegreeName"
                         v-if="addform.projectId != null && wuduData.customDegreeActive == 1"
                         style="width:300px;margin-right:30px"
@@ -182,7 +182,7 @@
                             <el-option :label="$t('state.approved')" :value="0"></el-option>
                             <el-option :label="$t('state.WaitingAudit')" :value="1"></el-option>
                             <el-option :label="$t('btn.rejected')" :value="2"></el-option>
-                            <el-option :label="$t('state.undone')" :value="3"></el-option>
+                            <!-- <el-option :label="$t('state.undone')" :value="3"></el-option> -->
                         </el-select>
                         
                     </div>
@@ -244,14 +244,7 @@
                     
                     <el-table-column prop="startDate" :label="$t('starttimeofbusinessrip')" width="150"></el-table-column>
                     <el-table-column prop="endDate" :label="$t('endtimeofbusinesstrip')" width="150"></el-table-column>
-                    <el-table-column prop="status" :label="$t('state.states')" width="100">
-                        <template slot-scope="scope">
-                            <span v-if="scope.row.status == 0">{{ $t('state.approved') }}</span>
-                            <span v-if="scope.row.status == 1" style="color: orange">{{ $t('state.WaitingAudit') }}</span>
-                            <span v-if="scope.row.status == 2" style="color: red">{{ $t('btn.rejected') }}</span>
-                            <span v-if="scope.row.status == 3" style="color: #666666">{{ $t('btn.undo') }}</span>
-                        </template>
-                    </el-table-column>
+                    
                     <el-table-column prop="remark" :label="$t('bei-zhu')" width="200">
                         <template slot-scope="scope">
                             <el-popover placement="top-start" :title="$t('biao-ti')" width="200" trigger="hover" :content="scope.row.remark">
@@ -259,6 +252,14 @@
                             </el-popover>
                         </template>
                     </el-table-column>
+                    <el-table-column prop="status" :label="$t('state.states')" width="100" fixed="right">
+                        <template slot-scope="scope">
+                            <span v-if="scope.row.status == 0">{{ $t('state.approved') }}</span>
+                            <span v-if="scope.row.status == 1" style="color: orange">{{ $t('state.WaitingAudit') }}</span>
+                            <span v-if="scope.row.status == 2" style="color: red">{{ $t('btn.rejected') }}</span>
+                            <span v-if="scope.row.status == 3" style="color: #666666">{{ $t('btn.undo') }}</span>
+                        </template>
+                    </el-table-column>
                     <el-table-column v-if="!isDingding" :label="isAuditList ? $t('other.audit') : $t('operation')" width="180" fixed="right" >
                         <template slot-scope="scope">
                             <div v-if="isAuditList">
@@ -319,7 +320,7 @@
             </div>
             <!-- <div style="margin-top: 30px"> -->
             <div>
-                <el-table key="apk2is4" v-loading="loading" :data="statisticalList" height="780px" style="width: 99%">
+                <el-table key="apk2is4" v-loading="summaryLoading" :data="statisticalList" height="780px" style="width: 99%">
                     <el-table-column prop="ownerName" :label="$t('lable.name')" width="300">
                         <template slot-scope="scope">
                             <div v-if="scope.row.ownerName">
@@ -431,7 +432,7 @@
                     <el-radio :label="4">{{ $t('leave.other') }}</el-radio>
                 </el-radio-group>
             </el-form-item>
-            <el-form-item :label="$t('screening.inputProject')" style="width:300px;margin-right:30px;display:inline-block;" prop="projectId">
+            <!-- <el-form-item :label="$t('screening.inputProject')" style="width:300px;margin-right:30px;display:inline-block;" prop="projectId">
                 <el-select style="width:100%" @change="getwuduList(0)" v-model="editItemForm.projectId" filterable clearable :placeholder="$t('defaultText.pleaseChoose')" >
                     <el-option
                     v-for="item in projectList"
@@ -440,7 +441,7 @@
                     :value="item.id">
                     </el-option>
                 </el-select>
-            </el-form-item>
+            </el-form-item> -->
             <el-form-item :label="wuduData.customDegreeName"
             v-if="editItemForm.projectId != null && wuduData.customDegreeActive == 1"
             style="width:300px;margin-right:30px;display:inline-block;"
@@ -686,6 +687,7 @@ export default {
         //         }
         //     };
         return {
+            summaryLoading: false,
             displayTable: false,
             formloading: false,
             apk: 0,
@@ -1292,32 +1294,6 @@ export default {
         // 获取出差列表
         getTableList(){
             this.billss()
-            // this.http.post('/business-trip/list', {
-            //     pageIndex: 1,
-            //     pageSize: 20,
-            //     status: '',  // 全部/已审核
-            //     startDate: '',  // start  end
-            //     endDate: '',
-            //     ownerId: '',
-            //     leaveType: '', // way
-            // },
-            // res => {
-            //     if (res.code == "ok") {
-            //         this.tableList = res.data.records
-            //         // console.log("getlist",res.data);
-            //     } else {
-            //         this.$message({
-            //             message: res.msg,
-            //             type: "error"
-            //         });
-            //     }
-            // },
-            // error => {
-            //     this.$message({
-            //         message: error,
-            //         type: "error"
-            //     });
-            // });
         },
         // 筛选刷新
         billss(e) {
@@ -1361,7 +1337,48 @@ export default {
                 });
             });
         },
-
+        approve(item) {
+            //审核通过
+            this.http.post('/business-trip/approve', {id:item.id
+            },
+            res => {
+                if (res.code == "ok") {
+                    this.billss(true);
+                } else {
+                    this.$message({
+                    message: res.msg,
+                    type: "error"
+                    });
+                }
+            },
+            error => {
+                this.$message({
+                    message: error,
+                    type: "error"
+                });
+            });
+        },
+        deny(item) {
+            //审核驳回
+            this.http.post('/business-trip/deny', {id:item.id
+            },
+            res => {
+                if (res.code == "ok") {
+                    this.billss(true);
+                } else {
+                    this.$message({
+                    message: res.msg,
+                    type: "error"
+                    });
+                }
+            },
+            error => {
+                this.$message({
+                    message: error,
+                    type: "error"
+                });
+            });
+        },
         // 操作 - 删除
         deletes(e) {
             this.$confirm(this.$t('deleteit'), this.$t('other.prompts'), {}).then(() => {
@@ -1449,7 +1466,7 @@ export default {
     // 出差统计
         statistical() {
             // console.log("date",this.searchDates);
-            this.loading = true
+            this.summaryLoading = true
             this.http.post('/business-trip/summaryData', {
                 keyword: this.searchWord,
                 startDate: this.searchDates[0],
@@ -1459,9 +1476,9 @@ export default {
                 if (res.code == "ok") {
                     // console.log("出差统计",res.data);
                     this.statisticalList = res.data
-                    this.loading = false
+                    this.summaryLoading = false
                 } else {
-                    this.loading = false
+                    this.summaryLoading = false
                     this.$message({
                         message: res.msg,
                         type: "error"

+ 24 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/centerManage/centerManage.vue

@@ -3,7 +3,11 @@
         <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
             <el-form :inline="true">
                 <el-form-item :label="user.timeType.customDegreeName + $t('guan-li')">
+                    <el-input placeholder="请输入关键名称" v-model.trim="searchNameVal" clearable class="input-with-select" style="margin-left: 50px">
+                        <el-button slot="append" @click="searchName()">搜索</el-button>
+                    </el-input>
                 </el-form-item>
+                
                 <!-- <el-link type="primary" :underline="false" @click="intoCenterRatio" class="tanjia">批量导入{{user.timeType.customDegreeName}}</el-link>
                 <el-link icon="el-icon-circle-plus-outline" type="primary" :underline="false" class="tanjia" @click="addNewSubProject()">添加{{user.timeType.customDegreeName}}</el-link>
                 <el-link type="primary" :underline="false" @click="batchDelete" class="tanjia">批量删除{{user.timeType.customDegreeName}}</el-link> -->
@@ -77,7 +81,6 @@
         data() {
             return {
                 user: JSON.parse(sessionStorage.getItem("user")),
-                subProjectList: [],//子项目列表
                 listLoading: false,
                 addfm: {
                     name: '',
@@ -92,10 +95,28 @@
                 importingData: false,
                 importResultMsg:null,
                 showImportResult:false,
-                selectionArr: []
+                selectionArr: [],
+                subProjectList: [],//子项目列表
+                subProjectListArr: [], // 备用列表
+                searchNameVal: ''
             };
         },
         methods: {
+            searchName() {
+                var val = this.searchNameVal
+                let arr = []
+                if(val) {
+                    arr =  this.subProjectListArr.filter((num)=>{
+                        if(num.name.indexOf(val) != '-1') {
+                            return num
+                        }
+                    })
+                    this.subProjectList = arr
+                } else {
+                    this.subProjectList = this.subProjectListArr
+                }
+                
+            },
             // 批量删除
             selectionChange(selection){
                 this.selectionArr = selection
@@ -218,6 +239,7 @@
                     if (res.code == "ok") {
                         console.log(res, '看看')
                         this.subProjectList = res.data
+                        this.subProjectListArr = res.data
                     } else {
                         this.$message({
                             message: res.msg,

+ 14 - 12
fhKeeper/formulahousekeeper/timesheet/src/views/corpreport/list.vue

@@ -458,12 +458,12 @@
                 <el-table-column prop="jobNumber" :label="$t('Worknumber')" width="120"></el-table-column>
                 <el-table-column prop="departmentName" :label="$t('lable.department')" width="140">
                   <template slot-scope="scope" >
-                    <span v-if="user.userNameNeedTranslate == '1'">
-                      <ww-open-data type='departmentName' :openid='scope.row.departmentName'></ww-open-data>
-                    </span>
-                    <span v-if="user.userNameNeedTranslate != '1'">
-                      {{scope.row.departmentName}}
-                    </span>
+                      <span v-if="user.userNameNeedTranslate == '1'">
+                        <ww-open-data type='departmentName' :openid='scope.row.departmentName'></ww-open-data>
+                      </span>
+                      <span v-if="user.userNameNeedTranslate != '1'">
+                        {{scope.row.departmentName}}
+                      </span>
                   </template>
                 </el-table-column>
                 <el-table-column prop="createDate" :label="$t('screening.workingDate')" width="120"></el-table-column>
@@ -499,11 +499,11 @@
               <el-table-column prop="deptName" :label="$t('subordinatedepartments')" width="150">
                 <template slot-scope="scope" >
                     <span v-if="user.userNameNeedTranslate == '1'">
-                      <!-- <span v-for="item, index in scope.row.deptName" :key="index">
+                      <span v-for="item, index in scope.row.deptName" :key="index">
                         <ww-open-data type='departmentName' :openid='item'></ww-open-data>
                         <span v-if="index < scope.row.deptName.length - 1">/</span>
-                      </span> -->
-                        <ww-open-data type='departmentName' :openid='scope.row.deptName'></ww-open-data>
+                      </span>
+                        <!-- <ww-open-data type='departmentName' :openid='scope.row.deptName'></ww-open-data> -->
                     </span>
                     <span v-if="user.userNameNeedTranslate != '1'">
                       {{scope.row.deptName}}
@@ -2033,9 +2033,11 @@ export default {
       res => {
         this.listLoading = false
         if(res.code == 'ok'){
-          // if(this.user.userNameNeedTranslate == '1') {
-          //   res.data.result = res.data.result.deptName.split('/')
-          // }
+          if(this.user.userNameNeedTranslate == '1') {
+            for(var i in res.data.result) {
+              res.data.result[i].deptName = res.data.result[i].deptName.split('/')
+            }
+          }
           this.userWorkHoursList = res.data.result
           this.total = res.data.total
         }else {

+ 10 - 23
fhKeeper/formulahousekeeper/timesheet_h5/src/views/project/index.vue

@@ -388,8 +388,6 @@
                         associateDegreeNames: null,
                         associateDegrees: null
                     }
-                    // this.userList.forEach(u=>u.isChecked=false);
-                    // this.refreshParticipate();
                 } else {
                     this.title = "修改项目";
                     var arrs
@@ -407,7 +405,6 @@
                     } else {
                         name = ''
                     }
-                    console.log(name, '看看')
                     this.form = {
                         id: this.list[i].id,
                         projectName: this.list[i].projectName,
@@ -418,7 +415,6 @@
                         associateDegrees: arrs
                     }
                     var part = this.list[i].participator;
-                    
                     if (part.length>0) {
                         for (var j in part) {
                             this.userList.filter(u=>u.id == part[j].id)[0].isChecked = true;
@@ -439,36 +435,25 @@
                     let formData = new URLSearchParams();
                     formData.append("name", this.form.projectName);
                     formData.append("code", this.form.projectCode);
-                    formData.append("inchargerId", this.form.inchargerId);
+                    if (this.form.inchargerId) {
+                        formData.append("inchargerId", this.form.inchargerId);
+                    }
+                    
                     for (var j in this.form.userId) {
                         formData.append("userId", this.form.userId[j]);
                     }
                     if(this.form.id != null) {
-                        // form.id = this.form.id;
                         formData.append("id", this.form.id);
                     }
-                    if(this.form.associateDegreeNames != '' &&  this.form.associateDegreeNames != null) {
+                    if(this.form.associateDegreeNames) {
                         formData.append("associateDegreeNames", this.form.associateDegreeNames);
-                    } else {
-                        formData.append("associateDegreeNames", null);
-                    }
+                    } 
 
-                    if(this.form.associateDegrees != null && this.form.associateDegrees.length != 0) {
+                    if(this.form.associateDegrees) {
                         var sss = this.form.associateDegrees.toString()
                         formData.append("associateDegrees", sss);
-                    } else {
-                        formData.append("associateDegrees", null);
                     }
-                    // const config = {
-                    //     // headers: {
-                    //     // 'Content-Type': 'multipart/form-data',
-                        
-                    //     // // 'Content-Type': 'application/x-www-form-urlencoded'
-                    //     // },
-                    //     // transformRequest: [function (data, headers) {
-                    //     //     return data;
-                    //     // }],
-                    // }    
+
                     this.$axios.post("/project/editProject", formData)
                     .then(res => {
                         if(res.code == "ok") {    
@@ -483,6 +468,8 @@
                             this.$toast.fail(res.msg);
                         }
                     }).catch(err=> {this.$toast.clear();});
+                    
+
                 } else {
                     this.show = false;
                     this.yanjiuzx()

+ 7 - 7
fhKeeper/formulahousekeeper/timesheet_h5/src/views/project/projectInside.vue

@@ -146,37 +146,37 @@
                     <van-cell>
                         <van-row>
                             <van-col span="7">合同编号:</van-col>
-                            <van-col span="17">{{projectDetail.projectSeparate.contractCode ? projectDetail.projectSeparate.contractCode : '-'}}</van-col>
+                            <van-col span="17" v-if="projectDetail.projectSeparate">{{projectDetail.projectSeparate.contractCode ? projectDetail.projectSeparate.contractCode : '-'}}</van-col>
                         </van-row>
                     </van-cell>
                     <van-cell>
                         <van-row>
                             <van-col span="7">质保开始时间:</van-col>
-                            <van-col span="17">{{projectDetail.projectSeparate.warrantyStartDate == null ? '-' : projectDetail.projectSeparate.warrantyStartDate}}</van-col>
+                            <van-col span="17" v-if="projectDetail.projectSeparate">{{projectDetail.projectSeparate.warrantyStartDate == null ? '-' : projectDetail.projectSeparate.warrantyStartDate}}</van-col>
                         </van-row>
                     </van-cell>
                     <van-cell>
                         <van-row>
                             <van-col span="7">质保截至时间:</van-col>
-                            <van-col span="17">{{projectDetail.projectSeparate.warrantyEndDate == null ? '-' : projectDetail.projectSeparate.warrantyEndDate}}</van-col>
+                            <van-col span="17" v-if="projectDetail.projectSeparate">{{projectDetail.projectSeparate.warrantyEndDate == null ? '-' : projectDetail.projectSeparate.warrantyEndDate}}</van-col>
                         </van-row>
                     </van-cell>
                     <van-cell>
                         <van-row>
                             <van-col span="7">自主项目类别:</van-col>
-                            <van-col span="17">{{projectDetail.projectSeparate.projectCategorySub}}</van-col>
+                            <van-col span="17" v-if="projectDetail.projectSeparate">{{projectDetail.projectSeparate.projectCategorySub}}</van-col>
                         </van-row>
                     </van-cell>
                     <van-cell>
                         <van-row>
                             <van-col span="7">所属大区:</van-col>
-                            <van-col span="17">{{projectDetail.projectSeparate.region}}</van-col>
+                            <van-col span="17" v-if="projectDetail.projectSeparate">{{projectDetail.projectSeparate.region}}</van-col>
                         </van-row>
                     </van-cell>
                     <van-cell>
                         <van-row>
                             <van-col span="7">所属BU:</van-col>
-                            <van-col span="17">{{projectDetail.projectSeparate.bu}}</van-col>
+                            <van-col span="17" v-if="projectDetail.projectSeparate">{{projectDetail.projectSeparate.bu}}</van-col>
                         </van-row>
                     </van-cell>
                 </template>
@@ -186,7 +186,7 @@
                     <van-cell>
                         <van-row>
                             <van-col span="7">项目分组:</van-col>
-                            <van-col span="17">{{projectDetail.projectSeparate.projectCategorySub ? projectDetail.projectSeparate.projectCategorySub : '-'}}</van-col>
+                            <van-col span="17" v-if="projectDetail.projectSeparate">{{projectDetail.projectSeparate.projectCategorySub ? projectDetail.projectSeparate.projectCategorySub : '-'}}</van-col>
                         </van-row>
                     </van-cell>
                 </template>