Forráskód Böngészése

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

Min 2 éve
szülő
commit
5818f134bc
18 módosított fájl, 548 hozzáadás és 354 törlés
  1. 16 5
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ExpenseMainTypeController.java
  2. 5 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java
  3. 10 2
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCorpwxTimeController.java
  4. 3 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserCustomController.java
  5. 16 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ExpenseMainType.java
  6. 5 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/UserFvTime.java
  7. 2 1
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/UserCorpwxTimeMapper.java
  8. 2 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java
  9. 1 0
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ExpenseSheetServiceImpl.java
  10. 81 4
      fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  11. 3 1
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ExpenseMainTypeMapper.xml
  12. 11 4
      fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserCorpwxTimeMapper.xml
  13. 18 8
      fhKeeper/formulahousekeeper/timesheet/src/views/contract/index.vue
  14. 31 3
      fhKeeper/formulahousekeeper/timesheet/src/views/expense/expense.vue
  15. 7 0
      fhKeeper/formulahousekeeper/timesheet/src/views/project/cost.vue
  16. 333 318
      fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue
  17. 4 3
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue
  18. 0 3
      fhKeeper/formulahousekeeper/timesheet_h5/src/views/my/children/center.vue

+ 16 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ExpenseMainTypeController.java

@@ -3,10 +3,7 @@ package com.management.platform.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.management.platform.entity.*;
-import com.management.platform.mapper.CompanyMapper;
-import com.management.platform.mapper.ExpenseSheetMapper;
-import com.management.platform.mapper.ExpenseTypeMapper;
-import com.management.platform.mapper.UserMapper;
+import com.management.platform.mapper.*;
 import com.management.platform.service.ExpenseMainTypeService;
 import com.management.platform.service.ExpenseSheetService;
 import com.management.platform.service.ExpenseTypeService;
@@ -23,6 +20,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -52,12 +50,25 @@ public class ExpenseMainTypeController {
     private ExpenseSheetService expenseSheetService;
     @Resource
     private ExpenseTypeService expenseTypeService;
+    @Resource
+    private ProjectBasecostSettingMapper projectBasecostSettingMapper;
 
     @RequestMapping("/list")
     public HttpRespMsg list(){
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("token"));
         List<ExpenseMainType> expenseMainTypes = expenseMainTypeService.list(new QueryWrapper<ExpenseMainType>().eq("company_id", user.getCompanyId()));
+        //获取basecostSetting名称
+        List<ProjectBasecostSetting> settings = projectBasecostSettingMapper.selectList(new QueryWrapper<ProjectBasecostSetting>().eq("company_id", user.getCompanyId()).eq("alarm_type", 0));
+        for (ExpenseMainType expenseMainType : expenseMainTypes) {
+            if (expenseMainType.getBasecostSettingId() != null) {
+                Stream<ProjectBasecostSetting> projectBasecostSettingStream = settings.stream().filter(setting -> setting.getId().equals(expenseMainType.getBasecostSettingId()));
+                Optional<ProjectBasecostSetting> first = projectBasecostSettingStream.findFirst();
+                if (first.isPresent()) {
+                    expenseMainType.setBasecostSettingName(first.get().getName());
+                }
+            }
+        }
         httpRespMsg.data=expenseMainTypes;
         return httpRespMsg;
     }
@@ -88,7 +99,7 @@ public class ExpenseMainTypeController {
             }
         } else {
             int count = expenseMainTypeService.count(new QueryWrapper<ExpenseMainType>().eq("name", setting.getName())
-                    .eq("company_id", setting.getCompanyId()));
+                    .eq("company_id", setting.getCompanyId()).ne("id", setting.getId()));
             if (count > 0) {
                 //msg.setError("该名称已存在");
                 msg.setError(MessageUtils.message("Company.nameRepeat"));

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -247,6 +247,11 @@ public class ReportController {
         return reportService.getWeeklyWorkTime(dateStr, request);
     }
 
+    @RequestMapping("/getWeeklyReportData")
+    public HttpRespMsg getWeeklyReportData(@RequestParam String targetDate) {
+        return reportService.getWeeklyReportData(targetDate, request);
+    }
+
 
     private void fillReportProgress(Report report, String professionProgress) {
         if (!StringUtil.isEmpty(professionProgress)) {

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

@@ -326,15 +326,23 @@ public class UserCorpwxTimeController {
 
         List<Map> list = new ArrayList<Map>();
         List<SysRichFunction> functionList = sysFunctionMapper.getRoleFunctions(user.getRoleId(), "全部企微考勤");
+        //只取当月中工作日的数据
+        DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyyMMdd");
+        LocalDate sDate = LocalDate.parse(ymonth + "01", dtf2);
+        LocalDate eDate = sDate.plusMonths(1).minusDays(1);
+        String startDate = sDate.format(dtf1);
+        String endDate = eDate.format(dtf1);
+        List<LocalDate> workDateList = WorkDayCalculateUtils.getWorkDaysListInRange(startDate, endDate, 0);
         if (functionList.size() > 0) {
             //查看全部人员的
-            list = userCorpwxTimeMapper.getUserDataRatioList(user.getCompanyId(), ymonth, null);
+            list = userCorpwxTimeMapper.getUserDataRatioList(user.getCompanyId(), workDateList, ymonth, null);
         } else {
             if (manageDeptId != null && manageDeptId != 0) {
                 //一个人可能担任多个部门负责人
                 List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
                 List<Integer> allManagedDeptIdList = departmentService.getAllManagedDeptIdList(user, allDeptList);
-                list = userCorpwxTimeMapper.getUserDataRatioList(user.getCompanyId(), ymonth, allManagedDeptIdList);
+                list = userCorpwxTimeMapper.getUserDataRatioList(user.getCompanyId(), workDateList, ymonth, allManagedDeptIdList);
             }
         }
 

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

@@ -50,7 +50,9 @@ public class UserCustomController {
         for(UserCustom userCustom:userCustomList){
             userCustom.setCompanyId(user.getCompanyId());
         }
-        userCustomService.saveOrUpdateBatch(userCustomList);
+        if (userCustomList.size() > 0) {
+            userCustomService.saveOrUpdateBatch(userCustomList);
+        }
         return msg;
     }
     @RequestMapping("/list")

+ 16 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ExpenseMainType.java

@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2023-04-06
+ * @since 2023-05-22
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -33,6 +33,21 @@ public class ExpenseMainType extends Model<ExpenseMainType> {
     @TableField("company_id")
     private Integer companyId;
 
+    /**
+     * 系统自带
+     */
+    @TableField("is_system")
+    private Integer isSystem;
+
+    /**
+     * 成本预算项id
+     */
+    @TableField("basecost_setting_id")
+    private Integer basecostSettingId;
+
+
+    @TableField(exist = false)
+    private String basecostSettingName;
 
     @Override
     protected Serializable pkVal() {

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

@@ -6,9 +6,12 @@ import java.time.LocalDate;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * <p>
@@ -29,6 +32,8 @@ public class UserFvTime extends Model<UserFvTime> {
     private Integer id;
 
     @TableField("work_date")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private LocalDate workDate;
 
     @TableField("user_id")

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/UserCorpwxTimeMapper.java

@@ -3,6 +3,7 @@ package com.management.platform.mapper;
 import com.management.platform.entity.UserCorpwxTime;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
 
@@ -18,7 +19,7 @@ public interface UserCorpwxTimeMapper extends BaseMapper<UserCorpwxTime> {
 
     public List<Map> getUserDataList(Integer companyId, String startDate, String endDate, Integer deptId);
 
-    public List<Map> getUserDataRatioList(Integer companyId, String ymonth, List<Integer> deptIds);
+    public List<Map> getUserDataRatioList(Integer companyId, List<LocalDate> dateList, String ymonth, List<Integer> deptIds);
 
     List<Map> selectByAsk(Integer companyId,String startDate,String endDate);
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ReportService.java

@@ -114,4 +114,6 @@ public interface ReportService extends IService<Report> {
     HttpRespMsg fillAll(String month, String userId, Integer departmentId, Integer whether,HttpServletRequest request);
 
     HttpRespMsg getAIReport(HttpServletRequest request);
+
+    HttpRespMsg getWeeklyReportData(String targetDate, HttpServletRequest request);
 }

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

@@ -755,6 +755,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
                     item.add("");
             }
             allList.add(item);
+            if (record.getTotalAmount() == null) record.setTotalAmount(0.0);
             sumAmount = sumAmount.add(BigDecimal.valueOf(record.getTotalAmount()));
         }
         //合计

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

@@ -53,10 +53,7 @@ import java.text.DateFormat;
 import java.text.DecimalFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.time.Duration;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
+import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeParseException;
 import java.time.temporal.ChronoUnit;
@@ -6038,4 +6035,84 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
 
         return msg;
     }
+
+    @Override
+    public HttpRespMsg getWeeklyReportData(String targetDate, HttpServletRequest request) {
+        HttpRespMsg msg = new HttpRespMsg();
+        String userId = request.getHeader("TOKEN");
+        User user = userMapper.selectById(userId);
+        //根据targetDate获取本周的日期
+        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        LocalDate date = LocalDate.parse(targetDate, dtf);
+        LocalDate monday = date.with(DayOfWeek.MONDAY);
+        LocalDate sunday = date.with(DayOfWeek.SUNDAY);
+        String startDate = monday.format(dtf);
+        String endDate = sunday.format(dtf);
+        TimeType timeType = timeTypeMapper.selectById(user.getCompanyId());
+        //获取已经填报的工时
+        List<Report> list = reportMapper.selectList(new QueryWrapper<Report>().select("sum(working_time) as working_time, create_date, GROUP_CONCAT(start_time,'-',end_time) as start_time")
+                .eq("creator_id", userId).between("create_date", startDate, endDate).groupBy("create_date"));
+        //获取日报详情
+        List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().eq("creator_id", userId).between("create_date", startDate, endDate).orderByAsc("create_date"));
+        List<Integer> collect = reportList.stream().map(Report::getProjectId).collect(Collectors.toList());
+        //加载这段时间内已填报过的项目
+        List<Project> projectList = new ArrayList<>();
+        if (collect.size() > 0) {
+            projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", collect));
+        } else {
+            //没有项目,默认加载最近填报过的项目
+            List<Report> oldReport = reportMapper.selectList(new QueryWrapper<Report>().select("distinct project_id").eq("creator_id", userId).orderByDesc("id").last("limit 5"));
+            if (oldReport.size() > 0) {
+                projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", oldReport.stream().map(Report::getProjectId).collect(Collectors.toList())));
+            }
+        }
+
+        List cardTimeList = new ArrayList();
+        if (timeType.getShowDdCardtime() == 1) {
+            List<UserDingdingTime> dingdingTimes = userDingdingTimeMapper.selectList(new QueryWrapper<UserDingdingTime>()
+                    .eq("user_id", userId).between("work_date", startDate, endDate));
+            cardTimeList = dingdingTimes;
+        } else if(timeType.getSyncFanwei()==1){
+            List<UserFvTime> userFvTimes = userFvTimeMapper.selectList(new QueryWrapper<UserFvTime>()
+                    .eq("user_id", userId).between("work_date", startDate, endDate));
+            cardTimeList = userFvTimes;
+        }else if (timeType.getShowCorpwxCardtime() == 1) {
+            List<UserCorpwxTime> corpwxTimes = userCorpwxTimeMapper.selectList(new QueryWrapper<UserCorpwxTime>()
+                    .eq("corpwx_userid", user.getCorpwxUserid()).between("create_date", startDate, endDate));
+            cardTimeList = corpwxTimes;
+        }
+
+        Map<String, List> reportMap = new HashMap<>();
+        reportMap.put("sumTimeList", list);
+        reportMap.put("cardTimeList", cardTimeList);
+        reportMap.put("projectList", projectList);
+        //计算日期,进行返回
+        List<HashMap> dateList = new ArrayList<>();
+        LocalDate today = LocalDate.now();
+        for (int i = 0; i < 7; i++) {
+            HashMap item = new HashMap();
+            LocalDate itemDate = monday.plusDays(i);
+            item.put("date",itemDate.format(dtf));
+            //计算显示的周几
+            item.put("weekDayTxt", DateTimeUtil.getWeekDayTxt(monday.plusDays(i).getDayOfWeek().getValue()));
+            //不可提前填报
+            if (timeType.getFillAhead() == 0 && itemDate.isAfter(today)) {
+                item.put("canFill", 0);
+            } else {
+                item.put("canFill", 1);
+            }
+            //考勤时长
+
+            //放入当天对应的日报
+            List<Report> dateReportList = reportList.stream().filter(r -> r.getCreateDate().isEqual(itemDate)).collect(Collectors.toList());
+            item.put("reportList", dateReportList);
+            double sum = dateReportList.stream().mapToDouble(Report::getWorkingTime).sum();
+            item.put("filledTime", sum);
+            dateList.add(item);
+        }
+        reportMap.put("dateList", dateList);
+        msg.data = reportMap;
+        return msg;
+    }
+
 }

+ 3 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ExpenseMainTypeMapper.xml

@@ -7,11 +7,13 @@
         <id column="id" property="id" />
         <result column="name" property="name" />
         <result column="company_id" property="companyId" />
+        <result column="is_system" property="isSystem" />
+        <result column="basecost_setting_id" property="basecostSettingId" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, name, company_id
+        id, name, company_id, is_system, basecost_setting_id
     </sql>
 
 </mapper>

+ 11 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserCorpwxTimeMapper.xml

@@ -28,7 +28,7 @@
 
     <select id="getUserDataList" resultType="java.util.HashMap" >
         SELECT user.id as userId, DATE_FORMAT(a.create_date, '%Y/%m/%d') as createDate,a.start_time as startTime, a.end_time as endTime, a.work_hours as workHours, user.name as username,user.corpwx_userid as corpwxUserid,a.week_day as weekDay,
-        week_day_txt as weekDayTxt,card_time as cardTime, outdoor_time as outdoorTime, ask_leave_time as askLeaveTime FROM user_corpwx_time a LEFT JOIN user ON (user.`corpwx_userid` = a.corpwx_userid or (user.corpwx_userid is null and user.name = a.name))
+        week_day_txt as weekDayTxt,card_time as cardTime, outdoor_time as outdoorTime, ask_leave_time as askLeaveTime FROM user_corpwx_time a LEFT JOIN user ON  user.name = a.name
         WHERE a.create_date BETWEEN #{startDate} AND #{endDate}
         AND a.company_id = #{companyId}
         <if test="deptId != null">
@@ -40,9 +40,16 @@
     <select id="getUserDataRatioList" resultType="java.util.HashMap" >
         SELECT user.id AS userId, user.`name` as username, user.`corpwx_userid` as corpwxUserid, IFNULL(card_time.workHours, 0) as workHours, IFNULL(report_time.projectTime, 0)  AS projectTime FROM
         user LEFT JOIN
-        (SELECT a.corpwx_userid,a.name, SUM(a.work_hours) AS workHours FROM user_corpwx_time a WHERE a.company_id = #{companyId} AND  DATE_FORMAT(a.create_date, '%Y%m') = #{ymonth} GROUP BY a.`corpwx_userid`,a.name ) card_time
-        ON (user.`corpwx_userid` = card_time.corpwx_userid or (user.corpwx_userid is null and user.name = card_time.name))
-        LEFT JOIN (SELECT r.creator_id, SUM(r.working_time) AS projectTime FROM report r WHERE r.company_id = #{companyId} AND  DATE_FORMAT(r.create_date, '%Y%m') = #{ymonth} GROUP BY r.`creator_id` ) report_time
+        (SELECT a.corpwx_userid,a.name, SUM(a.work_hours) AS workHours FROM user_corpwx_time a WHERE a.company_id = #{companyId} AND  a.create_date in
+           <foreach collection="dateList" item="date" open="(" separator="," close=")">
+                #{date}
+            </foreach>
+           GROUP BY a.`corpwx_userid`,a.name ) card_time
+        ON user.name = card_time.name
+        LEFT JOIN (SELECT r.creator_id, SUM(r.working_time) AS projectTime FROM report r WHERE r.company_id = #{companyId} AND  r.create_date in
+            <foreach collection="dateList" item="date" open="(" separator="," close=")">
+                #{date}
+            </foreach> GROUP BY r.`creator_id` ) report_time
         ON report_time.creator_id = user.id
         WHERE user.company_id=#{companyId}
         and  (user.`is_active` = 1 OR (user.`is_active` = 0 AND DATE_FORMAT(user.`inactive_date`, '%Y%m') > #{ymonth}))

+ 18 - 8
fhKeeper/formulahousekeeper/timesheet/src/views/contract/index.vue

@@ -685,17 +685,27 @@ export default {
       })
     },
     lookover(row){
-      // console.log('lookover',row);
+      console.log('lookover',row);
       if(this.user.userNameNeedTranslate == 1) {
         let obj = {name: '',text: ''}
-        if(row.msg.indexOf('$userName=') != '-1') {
-          let str = row.msg.split('$userName=')[1]
-          let arr = str.split('$')
-          obj.name = arr[0]
-          obj.text = arr[1]
-        } else {
-          obj.text = row.msg
+
+        if (row.msg) {
+          let match = row.msg.match(/\$userName=(.*?)\$(.*)/);
+          if (match) {
+            obj.name = match[1];
+            obj.text = match[2];
+          } else {
+            obj.text = row.msg;
+          }
         }
+        // if(row.msg.indexOf('$userName=') != '-1') {
+        //   let str = row.msg.split('$userName=')[1]
+        //   let arr = str.split('$')
+        //   obj.name = arr[0]
+        //   obj.text = arr[1]
+        // } else {
+        //   obj.text = row.msg
+        // }
         row.msg = obj
         this.contractForm = row
       } else {

+ 31 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/expense/expense.vue

@@ -525,6 +525,11 @@
                 <span>{{scope.row.name}}</span>
               </template>
             </el-table-column>
+            <el-table-column :label="'对应成本项'" min-width="150">
+              <template slot-scope="scope">
+                <span>{{scope.row.basecostSettingName}}</span>
+              </template>
+            </el-table-column>
             <el-table-column :label="$t('operation')" width="150">
               <template slot-scope="scope">
                 <el-button @click="expenseTypeEditOp(scope.row)" size="small" type="primary">{{ $t('bian-ji') }}</el-button>
@@ -539,10 +544,15 @@
 
           <!-- 新增/编辑费用类型 -->
           <el-dialog :title="$t('addeditfeetypes')" v-if="expenseTypeEditDialog" :visible.sync="expenseTypeEditDialog" customClass="customWidth" width="400px" append-to-body>
-            <el-form label-width="80px" :rules="editExpenseTypeDataRules" ref="editExpenseTypeDataForm" :model="editExpenseTypeData">
+            <el-form label-width="100px" :rules="editExpenseTypeDataRules" ref="editExpenseTypeDataForm" :model="editExpenseTypeData">
               <el-form-item :label="$t('typename ')" style="margin:30px 0" prop="typeName">
                 <el-input id="editExpenseTypeDataInput" size="medium" v-model="editExpenseTypeData.name" :placeholder="$t('customizethfeetypename')" style="width:90%" @keyup.native="editExpenseTypeDataInput('editExpenseTypeDataInput')"></el-input>
               </el-form-item>
+              <el-form-item label="对应成本项" style="margin:30px 0" prop="basecostSettingId">
+                <el-select v-model="editExpenseTypeData.basecostSettingId" size="medium" style="width:90%">
+                  <el-option v-for="item in basecostSettingList" :key="item.id" :label="item.name" :value="item.id" :disabled="item.alarmType == 1"></el-option>
+                </el-select>
+              </el-form-item>
             </el-form>
             <span slot="footer" class="dialog-footer">
               <el-button @click="expenseTypeEditDialog = false" size="medium">{{ $t('btn.cancel') }}</el-button>
@@ -630,7 +640,7 @@ export default {
         reason: '',
         id: null
       },
-
+      basecostSettingList:[],
 
       fileList: [],
       muHeight: document.documentElement.clientHeight || document.body.clientHeight,
@@ -735,7 +745,7 @@ export default {
     this.getProjectList();
     this.getExpensMainTypes();
     this.getExpList();
-    
+    this.getBasecostItemList();
   },
   filters: {
       numberToCurrency(value) {
@@ -754,6 +764,24 @@ export default {
       }
   },
   methods: {
+    getBasecostItemList() {
+      this.http.post('/project-basecost-setting/list',{},
+          res => {
+            if(res.code == 'ok'){
+              this.basecostSettingList = res.data;
+            }else{
+              this.$message({
+                message: res.msg,
+                type: 'error'
+              })
+            }
+          },err => {
+            this.$message({
+              message: err,
+              type: 'error'
+            })
+          })
+    },    
     // 费用类型自定义
     customTypeOp(){
       this.customTypeDialog = true

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

@@ -1172,6 +1172,13 @@
                                     type: 'bar',
                                     barMaxWidth: 30,
                                     data: yList,
+                                    label: {
+                                        normal: {
+                                            show: true,
+                                            position: 'top',
+                                            formatter: '{c}',
+                                        }
+                                    }
                                 }],
                                 grid: {  
                                     left: '100px',  

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 333 - 318
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue


+ 4 - 3
fhKeeper/formulahousekeeper/timesheet_h5/src/views/edit/weekEdit.vue

@@ -638,10 +638,11 @@
                     dateStr: JSON.stringify(dateStr)
                 }).then(res => {
                     if(res.code == 'ok'){
-                        if(res.data.length != 0){
-                            this.workTimeText = res.data[0].workingTime
+                        var sumTimeList = res.data;
+                        if(sumTimeList.length != 0){
+                            this.workTimeText = sumTimeList[0].workingTime
 
-                            this.currentForm.reportTimes = res.data[0].startTime
+                            this.currentForm.reportTimes = sumTimeList[0].startTime
                         }else{
                             this.workTimeText = false
                         }

+ 0 - 3
fhKeeper/formulahousekeeper/timesheet_h5/src/views/my/children/center.vue

@@ -182,11 +182,8 @@
             if(localStorage.userInfo) {
                 // 日期
                 let userss = JSON.parse(localStorage.userInfo)
-                userss.createTime[1] >= 10 ? userss.createTime[1] : userss.createTime[1] = '0' + userss.createTime[1]
-                userss.createTime[2] >= 10 ? userss.createTime[2] : userss.createTime[1] = '0' + userss.createTime[2]
                 userss.company.expirationDate[2] >= 10 ? userss.company.expirationDate[2] : userss.company.expirationDate[1] = '0' + userss.company.expirationDate[2]
                 userss.company.expirationDate[1] >= 10 ? userss.company.expirationDate[1] : userss.company.expirationDate[1] = '0' + userss.company.expirationDate[1]
-                // this.expirationDate = userss.createTime[0] + '-' + userss.createTime[1] + '-' + userss.createTime[2] + ' 至 ' + userss.company.expirationDate[0] + '-' + userss.company.expirationDate[1] + '-' + userss.company.expirationDate[2]
                 this.expirationDate = userss.company.expirationDate[0] + '-' + userss.company.expirationDate[1] + '-' + userss.company.expirationDate[2]
 
                 // 版本