Min 1 年之前
父節點
當前提交
1fad90fdc5

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

@@ -126,5 +126,10 @@ public class PlanController {
     public HttpRespMsg cancellationReceiveBatch(String ids){
     public HttpRespMsg cancellationReceiveBatch(String ids){
         return planService.cancellationReceiveBatch(ids);
         return planService.cancellationReceiveBatch(ids);
     }
     }
+
+    @RequestMapping("/getNowMouthProdProgress")
+    public HttpRespMsg getNowMouthProdProgress(){
+        return planService.getNowMouthProdProgress();
+    }
 }
 }
 
 

+ 1 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/mapper/ReportMapper.java

@@ -194,7 +194,7 @@ public interface ReportMapper extends BaseMapper<Report> {
 
 
     Integer selectCountForWorkQuery(Integer companyId, Integer productId, String vehicleNum, String steelNum, Integer deptId, String foremanId, String userId, String startDate, String endDate);
     Integer selectCountForWorkQuery(Integer companyId, Integer productId, String vehicleNum, String steelNum, Integer deptId, String foremanId, String userId, String startDate, String endDate);
 
 
-    List<Map<String, Object>> getPlanRealTimeProgressList(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate, Integer pageStart, Integer pageSize);
+    List<Map<String, Object>> getPlanRealTimeProgressList(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate, Integer pageStart, Integer pageSize,@Param("list") List<Integer> planIds);
 
 
     Integer getPlanRealTimeProgressCount(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate);
     Integer getPlanRealTimeProgressCount(Integer companyId, String deptId, String foremanId, String userId, String startDate, String endDate);
 
 

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

@@ -46,4 +46,6 @@ public interface PlanService extends IService<Plan> {
     HttpRespMsg cancellationReceive(Integer id);
     HttpRespMsg cancellationReceive(Integer id);
 
 
     HttpRespMsg cancellationReceiveBatch(String ids);
     HttpRespMsg cancellationReceiveBatch(String ids);
+
+    HttpRespMsg getNowMouthProdProgress();
 }
 }

+ 42 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -12,6 +12,7 @@ import com.management.platform.entity.vo.SysRichFunction;
 import com.management.platform.mapper.*;
 import com.management.platform.mapper.*;
 import com.management.platform.service.*;
 import com.management.platform.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.management.platform.util.DateTimeUtil;
 import com.management.platform.util.ExcelUtil;
 import com.management.platform.util.ExcelUtil;
 import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.HttpRespMsg;
 import com.management.platform.util.MessageUtils;
 import com.management.platform.util.MessageUtils;
@@ -37,6 +38,7 @@ import java.io.*;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.math.RoundingMode;
 import java.sql.Wrapper;
 import java.sql.Wrapper;
+import java.text.NumberFormat;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.time.Instant;
 import java.time.Instant;
 import java.time.LocalDate;
 import java.time.LocalDate;
@@ -106,6 +108,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         Integer companyId = user.getCompanyId();
         Integer companyId = user.getCompanyId();
         LambdaQueryWrapper<Plan> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<Plan> queryWrapper = new LambdaQueryWrapper<>();
         DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
         DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        NumberFormat format = NumberFormat.getPercentInstance();
+        format.setMinimumFractionDigits(2);
         queryWrapper.eq(Plan::getCompanyId,companyId);
         queryWrapper.eq(Plan::getCompanyId,companyId);
         if(planType!=2){
         if(planType!=2){
             queryWrapper.eq(Plan::getPlanType,0);
             queryWrapper.eq(Plan::getPlanType,0);
@@ -185,6 +189,12 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         ptIds.add(-1);
         ptIds.add(-1);
         List<ProdProcedureTeam> procedureTeams = prodProcedureTeamService.list(new QueryWrapper<ProdProcedureTeam>().in("plan_procedure_id", ptIds));
         List<ProdProcedureTeam> procedureTeams = prodProcedureTeamService.list(new QueryWrapper<ProdProcedureTeam>().in("plan_procedure_id", ptIds));
         List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
         List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
+        //获取计划进度
+        List<Map<String, Object>> planRealTimeProgressList=new ArrayList<>();
+        if(isMob==1){
+            planRealTimeProgressList= reportMapper.getPlanRealTimeProgressList(companyId, null, null, null, null, null, null, null, planIds);
+        }
+        List<Map<String, Object>> finalPlanRealTimeProgressList = planRealTimeProgressList;
         records.forEach(rs->{
         records.forEach(rs->{
             Optional<Product> first = productList.stream().filter(pl -> pl.getId().equals(rs.getProductId())).findFirst();
             Optional<Product> first = productList.stream().filter(pl -> pl.getId().equals(rs.getProductId())).findFirst();
             if(first.isPresent()){
             if(first.isPresent()){
@@ -228,6 +238,17 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                 bigDecimal=bigDecimal.multiply(new BigDecimal(String.valueOf(rs.getPlanWorkHour())));
                 bigDecimal=bigDecimal.multiply(new BigDecimal(String.valueOf(rs.getPlanWorkHour())));
                 rs.setTotalMoney(bigDecimal.doubleValue());
                 rs.setTotalMoney(bigDecimal.doubleValue());
             }
             }
+            if(isMob==1){
+                Optional<Map<String, Object>> first1 = finalPlanRealTimeProgressList.stream().filter(pt -> pt.get("planId").equals(rs.getId())).findFirst();
+                if(first1.isPresent()){
+                    BigDecimal planWorkTime = new BigDecimal(first1.get().get("planWorkTime") == null ? 0 : Double.valueOf(String.valueOf(first1.get().get("planWorkTime"))));
+                    BigDecimal nowWorkTime = new BigDecimal(first1.get().get("nowWorkTime") == null ? 0 : Double.valueOf(String.valueOf(first1.get().get("nowWorkTime"))));
+                    if(nowWorkTime.compareTo(BigDecimal.ZERO)!=0){
+                        BigDecimal divide = nowWorkTime.divide(planWorkTime, 4, RoundingMode.HALF_UP);
+                        rs.setProgress(format.format(divide.doubleValue()));
+                    }
+                }
+            }
         });
         });
         Map map=new HashMap();
         Map map=new HashMap();
         map.put("total",planIPage.getTotal());
         map.put("total",planIPage.getTotal());
@@ -1213,4 +1234,25 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         }
         }
         return msg;
         return msg;
     }
     }
+
+    @Override
+    public HttpRespMsg getNowMouthProdProgress() {
+        HttpRespMsg msg=new HttpRespMsg();
+        NumberFormat format = NumberFormat.getPercentInstance();
+        format.setMinimumFractionDigits(2);
+        LocalDate now=LocalDate.now();
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        List<String> monthStartAndEnd = DateTimeUtil.getMonthStartAndEnd(now.getMonth().getValue());
+        List<Map<String, Object>> planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, null, null, null, monthStartAndEnd.get(0), monthStartAndEnd.get(1), null, null, null);
+        double planWorkTimeAll = planRealTimeProgressList.stream().mapToDouble(pt -> Double.valueOf(String.valueOf(pt.get("planWorkTime")))).sum();
+        double nowWorkTimeAll = planRealTimeProgressList.stream().mapToDouble(pt -> Double.valueOf(String.valueOf(pt.get("nowWorkTime")))).sum();
+        BigDecimal nowWorkTime=new BigDecimal(nowWorkTimeAll);
+        if(nowWorkTime.compareTo(BigDecimal.ZERO)!=0){
+            BigDecimal divide = nowWorkTime.divide(new BigDecimal(planWorkTimeAll), 4, RoundingMode.HALF_UP);
+            msg.setData(format.format(divide.doubleValue()));
+        }
+
+        return msg;
+    }
 }
 }

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

@@ -4567,10 +4567,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         Integer total;
         Integer total;
         HashMap map=new HashMap();
         HashMap map=new HashMap();
         if(!canViewAll){
         if(!canViewAll){
-            planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId,user.getId(), userId, startDate, endDate, pageStart, pageSize);
+            planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId,user.getId(), userId, startDate, endDate, pageStart, pageSize,null);
             total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId,user.getId(), userId, startDate, endDate);
             total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId,user.getId(), userId, startDate, endDate);
         }else {
         }else {
-            planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId,null, userId, startDate, endDate, pageStart, pageSize);
+            planRealTimeProgressList = reportMapper.getPlanRealTimeProgressList(companyId, deptId,null, userId, startDate, endDate, pageStart, pageSize,null);
             total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId,null, userId, startDate, endDate);
             total=reportMapper.getPlanRealTimeProgressCount(companyId, deptId,null, userId, startDate, endDate);
         }
         }
         planRealTimeProgressList.forEach(pt->{
         planRealTimeProgressList.forEach(pt->{

+ 27 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/util/DateTimeUtil.java

@@ -3,11 +3,11 @@ package com.management.platform.util;
 import org.apache.tomcat.jni.Local;
 import org.apache.tomcat.jni.Local;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.time.*;
 import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAccessor;
 import java.time.temporal.TemporalAccessor;
-import java.util.Arrays;
-import java.util.Date;
+import java.util.*;
 
 
 public class DateTimeUtil {
 public class DateTimeUtil {
     public static final String[] WEEK_DAYS = {"周一","周二","周三","周四","周五","周六", "周日"};
     public static final String[] WEEK_DAYS = {"周一","周二","周三","周四","周五","周六", "周日"};
@@ -81,4 +81,29 @@ public class DateTimeUtil {
         d = getHalfHoursFromDouble(1.26);
         d = getHalfHoursFromDouble(1.26);
         System.out.println(d);
         System.out.println(d);
     }
     }
+
+    public static List<String> getMonthStartAndEnd(Integer month){
+        List<String> list=new ArrayList<>();
+        // 获取当前日期
+        Date currentDate = new Date();
+        // 创建Calendar实例
+        Calendar calendar = Calendar.getInstance();
+        // 设置日期为当前日期
+        calendar.setTime(currentDate);
+        // 将日期设置为该月的第一天
+        calendar.set(Calendar.DAY_OF_MONTH, 1);
+        // 获取本月的开始时间
+        Date startTime = calendar.getTime();
+        // 将日期设置为该月的最后一天
+        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+        // 获取本月的结束时间
+        Date endTime = calendar.getTime();
+        // 输出结果
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        System.out.println("本月开始时间:" + dateFormat.format(startTime));
+        System.out.println("本月结束时间:" + dateFormat.format(endTime));
+        list.add(dateFormat.format(startTime));
+        list.add(dateFormat.format(endTime));
+        return list;
+    }
 }
 }

+ 7 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/ReportMapper.xml

@@ -312,7 +312,7 @@
 
 
 
 
     <select id="getPlanRealTimeProgressList" resultType="java.util.Map">
     <select id="getPlanRealTimeProgressList" resultType="java.util.Map">
-        select (Case when b.plan_type=0 then b.product_scheduling_num else b.task_change_notice_num end) as taskName,
+        select b.id as planId,(Case when b.plan_type=0 then b.product_scheduling_num else b.task_change_notice_num end) as taskName,
         b.foreman_name as userName,SUM(d.work_time) as planWorkTime,SUM(d.job_of_money) as planCost,
         b.foreman_name as userName,SUM(d.work_time) as planWorkTime,SUM(d.job_of_money) as planCost,
         SUM((select SUM(working_time) from report where user_procedure_team_id = d.id))  as nowWorkTime,
         SUM((select SUM(working_time) from report where user_procedure_team_id = d.id))  as nowWorkTime,
         SUM((select SUM(cost) from report where user_procedure_team_id = d.id)) as nowCost
         SUM((select SUM(cost) from report where user_procedure_team_id = d.id)) as nowCost
@@ -334,6 +334,12 @@
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and (b.start_date &gt;= #{startDate} and b.end_date &lt;= #{endDate})
             and (b.start_date &gt;= #{startDate} and b.end_date &lt;= #{endDate})
         </if>
         </if>
+        <if test="list!=null and list.size()>0">
+            and b.id in
+            <foreach collection="list" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         group by b.id
         group by b.id
         order by b.create_time desc ,a.id
         order by b.create_time desc ,a.id
         <if test="pageStart!=null and pageSize!=null">
         <if test="pageStart!=null and pageSize!=null">

+ 3 - 0
fhKeeper/formulahousekeeper/timesheet-workshop-h5/src/views/planView/component/planComponent.vue

@@ -31,6 +31,9 @@
                 <div class="PlanItem">
                 <div class="PlanItem">
                   <div>编组:</div><span class="textBeyondHiding">{{item.product.groupNumber}}</span>
                   <div>编组:</div><span class="textBeyondHiding">{{item.product.groupNumber}}</span>
                 </div>
                 </div>
+                <div class="PlanItem">
+                  <div>进度:</div><span class="textBeyondHiding">{{item.progress}}</span>
+                </div>
                 <div class="PlanItem">
                 <div class="PlanItem">
                   <div>每列数量:</div><span class="textBeyondHiding">{{ item.product.columnNumber }}</span>
                   <div>每列数量:</div><span class="textBeyondHiding">{{ item.product.columnNumber }}</span>
                 </div>
                 </div>

+ 19 - 0
fhKeeper/formulahousekeeper/timesheet-workshop-h5/src/views/statisticsView/statisticsView.vue

@@ -5,6 +5,9 @@
     </div>
     </div>
     <div class="bottom" style="position: relative;">
     <div class="bottom" style="position: relative;">
       <van-tabs v-model="checkStatus" sticky @change="clickLabel">
       <van-tabs v-model="checkStatus" sticky @change="clickLabel">
+        <van-cell-group v-if="checkStatus==1">
+          <van-cell>本月生产进度: {{this.nowMonthProgress}} </van-cell>
+        </van-cell-group>
         <van-cell-group>
         <van-cell-group>
           <van-field v-model="startDate" label="开始时间" placeholder="请输入开始时间" @click="chooseDate('start')"/>
           <van-field v-model="startDate" label="开始时间" placeholder="请输入开始时间" @click="chooseDate('start')"/>
         </van-cell-group>
         </van-cell-group>
@@ -67,6 +70,7 @@ export default {
       totalCost:0,
       totalCost:0,
       activeNames: ['1'],
       activeNames: ['1'],
       beDeptList: JSON.parse(localStorage.getItem('beDeptList')), // 是否为工长
       beDeptList: JSON.parse(localStorage.getItem('beDeptList')), // 是否为工长
+      nowMonthProgress:""
     };
     };
   },
   },
   computed: {},
   computed: {},
@@ -101,6 +105,18 @@ export default {
             }
             }
         }).catch(err=> {this.$toast.clear();});
         }).catch(err=> {this.$toast.clear();});
     },
     },
+    //获取当月生产进度
+    getNowMonthProgress(){
+      this.$axios.post("/plan/getNowMouthProdProgress", {})
+        .then(res => {
+          this.saving = false;
+            if(res.code == "ok") {
+              this.nowMonthProgress=res.data
+            } else {
+                this.$toast.fail(res.msg);
+            }
+        }).catch(err=> {this.$toast.clear();});
+    },
     // 改变时间
     // 改变时间
     changeTime(time) {
     changeTime(time) {
       if(this.chooseType=='start'){
       if(this.chooseType=='start'){
@@ -156,6 +172,9 @@ export default {
     // 点击标签触发
     // 点击标签触发
     clickLabel() {
     clickLabel() {
         this.getData()
         this.getData()
+        if(this.checkStatus==1){
+          this.getNowMonthProgress()
+        }
     },
     },
   },
   },
 };
 };

+ 15 - 15
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/statistic/index.vue

@@ -38,25 +38,19 @@
           <!-- 部门筛选 -->
           <!-- 部门筛选 -->
           <el-cascader v-model="departmentIdArray" :options="departmentList" :placeholder="$t('qing-xuan-ze-bu-men')"
           <el-cascader v-model="departmentIdArray" :options="departmentList" :placeholder="$t('qing-xuan-ze-bu-men')"
             :props="{ checkStrictly: true,expandTrigger: 'hover',multiple: ins == 6 ? true : false }" collapse-tags :show-all-levels="false" clearable
             :props="{ checkStrictly: true,expandTrigger: 'hover',multiple: ins == 6 ? true : false }" collapse-tags :show-all-levels="false" clearable
-            @change="selcts()" size="small" style="margin-left:10px"
+            @change="selcts()" size="small" style="margin-bottom: 10px"
           ></el-cascader>
           ></el-cascader>
 
 
           <!-- 人员筛选 -->
           <!-- 人员筛选 -->
-          <el-select v-if="ins!=4" v-model="userId" :placeholder="$t('pleaseselectpersonnel')" @change="selcts()" clearable filterable size="small" style="width:100px">
+          <el-select v-if="ins!=4" v-model="userId" :placeholder="$t('pleaseselectpersonnel')" @change="selcts()" clearable filterable size="small" style="width:200px">
             <el-option v-for="(item, index) in selUserList" :key="index" :label="item.name" :value="item.id"></el-option>
             <el-option v-for="(item, index) in selUserList" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
           </el-select>
 
 
           <!-- 产品筛选 -->
           <!-- 产品筛选 -->
-          <el-select v-if="ins == 2"  v-model="productId" :placeholder="'请选择'" @change="selcts()" clearable filterable size="small" style="width:100px">
+          <el-select v-if="ins == 2"  v-model="productId" :placeholder="'请选择'" @change="selcts()" clearable filterable size="small" style="width:200px">
             <el-option v-for="(item, index) in productList" :key="index" :label="item.name" :value="item.id"></el-option>
             <el-option v-for="(item, index) in productList" :key="index" :label="item.name" :value="item.id"></el-option>
           </el-select>
           </el-select>
 
 
-          <!-- 车辆序号 -->
-          <el-input v-if="ins == 2" v-model="vehicleNum" placeholder="请输入车辆序号" @change="selcts()"  size="small" style="width:100px"></el-input>
-
-          <!-- 钢印号-->
-          <el-input v-if="ins == 2" v-model="steelNum" placeholder="请输入钢印号" @change="selcts()" size="small" style="width:100px"></el-input>
-
           <!-- 时间段筛选 -->
           <!-- 时间段筛选 -->
           <template>
           <template>
             <span>
             <span>
@@ -66,12 +60,18 @@
               <el-date-picker v-model="rangeDatas" type="daterange" value-format="yyyy-MM-dd" :placeholder="$t('selectstartdate')" @change="picks()" :range-separator="$t('other.to')" :start-placeholder="$t('time.startDate')" :end-placeholder="$t('time.endDate')" style="width:300px" :clearable="ins == 15" size="small"> </el-date-picker>
               <el-date-picker v-model="rangeDatas" type="daterange" value-format="yyyy-MM-dd" :placeholder="$t('selectstartdate')" @change="picks()" :range-separator="$t('other.to')" :start-placeholder="$t('time.startDate')" :end-placeholder="$t('time.endDate')" style="width:300px" :clearable="ins == 15" size="small"> </el-date-picker>
             </span>
             </span>
           </template>
           </template>
+
+          <br />
+          <!-- 车辆序号 -->
+          <el-input v-if="ins == 2" v-model="vehicleNum" placeholder="请输入车辆序号" @change="selcts()"  size="small" style="width:200px"></el-input>
+
+          <!-- 钢印号-->
+          <el-input v-if="ins == 2" v-model="steelNum" placeholder="请输入钢印号" @change="selcts()" size="small" style="width:200px"></el-input>
           
           
       </div>
       </div>
       <p :style="`${ins == 9 ? 'width:20%' : ins == 14 ? 'width: 20%' : 'width: 10%'}`" class="tableRightBtn">
       <p :style="`${ins == 9 ? 'width:20%' : ins == 14 ? 'width: 20%' : 'width: 10%'}`" class="tableRightBtn">
         <el-button type="primary" @click="exportExcel" size="mini">{{ $t('reporderived') }}</el-button>
         <el-button type="primary" @click="exportExcel" size="mini">{{ $t('reporderived') }}</el-button>
       </p>
       </p>
-      
     </div>
     </div>
     <div ref="staff" style="margin: 5px 0px 0px 10px; width: 98%">
     <div ref="staff" style="margin: 5px 0px 0px 10px; width: 98%">
         <div class="staff" ref="tabless" :style="'width:'+(windowWidth - 430)+'px'">
         <div class="staff" ref="tabless" :style="'width:'+(windowWidth - 430)+'px'">
@@ -1235,6 +1235,7 @@ export default {
   display: flex;
   display: flex;
   justify-content: space-between;
   justify-content: space-between;
   align-items: center;
   align-items: center;
+  padding: 10px 0;
   z-index: 2;
   z-index: 2;
 }
 }
 .headine h3 {
 .headine h3 {
@@ -1249,11 +1250,10 @@ export default {
 }
 }
 /* 头部筛选 */
 /* 头部筛选 */
 .headScreen{
 .headScreen{
-  float: left;
-  display: flex;
-  height: 46.4px;
-  justify-content: space-between;
-  align-items: center;
+  // display: flex;
+  // justify-content: space-between;
+  // align-items: center;
+  // flex-wrap: wrap;
   /* padding-left: 60px; */
   /* padding-left: 60px; */
 }
 }
 /* /费用报销标题 */
 /* /费用报销标题 */