wanglt hai 2 meses
pai
achega
27508d52a8

+ 40 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/domain/GxtOrderData.java

@@ -80,6 +80,8 @@ public class GxtOrderData extends BaseEntity
     @Excel(name = "维修工单数")
     private Integer repairOrderNum;
 
+    private Integer repairRestartOrderNum;
+
     /** 工时统计 */
     private String gstj;
 
@@ -203,14 +205,20 @@ public class GxtOrderData extends BaseEntity
 
     private Integer pcsRepairOrderNum;
 
+    private Integer pcsRepairRestartOrderNum;
+
     private Integer centerWorkOrderNum;
 
     private Integer centerRepairOrderNum;
 
+    private Integer centerRepairRestartOrderNum;
+
     private Integer companyWorkOrderNum;
 
     private Integer companyRepairOrderNum;
 
+    private Integer companyRepairRestartOrderNum;
+
     public Integer getCompanyWorkOrderNum() {
         return companyWorkOrderNum;
     }
@@ -709,6 +717,38 @@ public class GxtOrderData extends BaseEntity
         this.scoreCenter = scoreCenter;
     }
 
+    public Integer getRepairRestartOrderNum() {
+        return repairRestartOrderNum;
+    }
+
+    public void setRepairRestartOrderNum(Integer repairRestartOrderNum) {
+        this.repairRestartOrderNum = repairRestartOrderNum;
+    }
+
+    public Integer getPcsRepairRestartOrderNum() {
+        return pcsRepairRestartOrderNum;
+    }
+
+    public void setPcsRepairRestartOrderNum(Integer pcsRepairRestartOrderNum) {
+        this.pcsRepairRestartOrderNum = pcsRepairRestartOrderNum;
+    }
+
+    public Integer getCenterRepairRestartOrderNum() {
+        return centerRepairRestartOrderNum;
+    }
+
+    public void setCenterRepairRestartOrderNum(Integer centerRepairRestartOrderNum) {
+        this.centerRepairRestartOrderNum = centerRepairRestartOrderNum;
+    }
+
+    public Integer getCompanyRepairRestartOrderNum() {
+        return companyRepairRestartOrderNum;
+    }
+
+    public void setCompanyRepairRestartOrderNum(Integer companyRepairRestartOrderNum) {
+        this.companyRepairRestartOrderNum = companyRepairRestartOrderNum;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 3 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtRepairOrderServiceImpl.java

@@ -2139,12 +2139,15 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
             if (("3").equals(level)) {
                 result.setWorkOrderNum(result.getPcsWorkOrderNum());
                 result.setRepairOrderNum(result.getPcsRepairOrderNum());
+                result.setRepairRestartOrderNum(result.getPcsRepairRestartOrderNum());
             } else if (("2").equals(level)) {
                 result.setWorkOrderNum(result.getCenterWorkOrderNum());
                 result.setRepairOrderNum(result.getCenterRepairOrderNum());
+                result.setRepairRestartOrderNum(result.getCenterRepairRestartOrderNum());
             } else if (("1").equals(level)){
                 result.setWorkOrderNum(result.getCompanyWorkOrderNum());
                 result.setRepairOrderNum(result.getCompanyRepairOrderNum());
+                result.setRepairRestartOrderNum(result.getCompanyRepairRestartOrderNum());
             }
         }
         return result;

+ 67 - 12
ygtx-gxt/src/main/resources/mapper/gxt/GxtRepairOrderMapper.xml

@@ -111,6 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="workOrderNum"    column="workOrderNum" />
         <result property="workOrderNumLast"    column="workOrderNumLast" />
         <result property="repairOrderNum"    column="repairOrderNum" />
+        <result property="repairRestartOrderNum"    column="repairRestartOrderNum" />
         <result property="repairOrderNumLast"    column="repairOrderNumLast" />
         <result property="wxgs"    column="wxgs" />
         <result property="wxgsLast"    column="wxgs_last" />
@@ -122,8 +123,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="centerWorkOrderNum"    column="centerWorkOrderNum" />
         <result property="companyWorkOrderNum"    column="companyWorkOrderNum" />
         <result property="pcsRepairOrderNum"    column="pcsRepairOrderNum" />
+        <result property="pcsRepairRestartOrderNum"    column="pcsRepairRestartOrderNum" />
         <result property="centerRepairOrderNum"    column="centerRepairOrderNum" />
+        <result property="centerRepairRestartOrderNum"    column="centerRepairRestartOrderNum" />
         <result property="companyRepairOrderNum"    column="companyRepairOrderNum" />
+        <result property="companyRepairRestartOrderNum"    column="companyRepairRestartOrderNum" />
     </resultMap>
 
     <resultMap type="GxtUserScore" id="GxtUserScoreResult">
@@ -694,6 +698,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         IFNULL( a.order_num, 0 ) AS workOrderNum,
         IFNULL( b.order_num_last, 0 ) AS workOrderNumLast,
         IFNULL( c.repair_num, 0 ) AS repairOrderNum,
+        IFNULL( cc.repair_num, 0 ) AS repairRestartOrderNum,
         IFNULL( d.repair_num_last, 0 ) AS repairOrderNumLast,
         IFNULL( j.wxgs, 0 ) AS wxgs,
         IFNULL( k.wxgs_last, 0 ) AS wxgs_last,
@@ -703,10 +708,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         IFNULL( o.score, 0 ) AS score_last,
         IFNULL( p.pcsWorkOrderNum, 0 ) AS pcsWorkOrderNum,
         IFNULL( q.pcsRepairOrderNum, 0 ) AS pcsRepairOrderNum,
+        IFNULL( qq.pcsRepairOrderNum, 0 ) AS pcsRepairRestartOrderNum,
         IFNULL( r.centerWorkOrderNum, 0 ) AS centerWorkOrderNum,
         IFNULL( s.centerRepairOrderNum, 0 ) AS centerRepairOrderNum,
+        IFNULL( ss.centerRepairOrderNum, 0 ) AS centerRepairRestartOrderNum,
         IFNULL( t.companyWorkOrderNum, 0 ) AS companyWorkOrderNum,
-        IFNULL( tt.companyRepairOrderNum, 0 ) AS companyRepairOrderNum
+        IFNULL( tt.companyRepairOrderNum, 0 ) AS companyRepairOrderNum,
+        IFNULL( ttt.companyRepairOrderNum, 0 ) AS companyRepairRestartOrderNum
         FROM
         sys_user u
         LEFT JOIN (
@@ -742,12 +750,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         FROM
         gxt_repair_order ro
         LEFT JOIN gxt_repair_order_person rop ON ro.id = rop.order_id
-        WHERE ro.work_order_status IN ('completed','archived') AND
-        ro.occur_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
+        WHERE ro.work_order_status IN ('completed','archived') AND ro.repair_method != '2'
+        AND ro.occur_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
         AND ro.occur_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
         GROUP BY
         rop.user_id
         ) c ON u.user_id = c.user_id
+        LEFT JOIN (
+            SELECT
+                COUNT(*) AS repair_num,
+                rop.user_id
+            FROM
+                gxt_repair_order ro
+                    LEFT JOIN gxt_repair_order_person rop ON ro.id = rop.order_id
+            WHERE ro.work_order_status IN ('completed','archived') AND ro.repair_method = '2'
+        AND ro.occur_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
+              AND ro.occur_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
+            GROUP BY
+                rop.user_id
+        ) cc ON u.user_id = cc.user_id
         LEFT JOIN (
         SELECT
         COUNT(*) AS repair_num_last,
@@ -868,11 +889,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             FROM
                 gxt_repair_order wo
                     LEFT JOIN sys_user su ON wo.pcs_station_pid = su.dept_id
-            WHERE wo.work_order_status IN ('completed','archived') AND
-                su.user_id = #{userId}
+            WHERE wo.work_order_status IN ('completed','archived') AND wo.repair_method != '2'
+              AND su.user_id = #{userId}
               AND wo.create_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
               AND wo.create_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
         ) q ON u.user_id = q.user_id
+        LEFT JOIN (
+            SELECT
+                COUNT(*) AS pcsRepairOrderNum,
+                su.dept_id,su.user_id
+            FROM
+                gxt_repair_order wo
+                    LEFT JOIN sys_user su ON wo.pcs_station_pid = su.dept_id
+            WHERE wo.work_order_status IN ('completed','archived') AND wo.repair_method = '2'
+              AND su.user_id = #{userId}
+              AND wo.create_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
+              AND wo.create_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
+        ) qq ON u.user_id = qq.user_id
         LEFT JOIN (
             SELECT
                 COUNT(*) AS centerWorkOrderNum,
@@ -885,7 +918,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 su.user_id = #{userId}
               AND wo.create_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
               AND wo.create_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
-        ) r ON u.user_id = p.user_id
+        ) r ON u.user_id = r.user_id
         LEFT JOIN (
             SELECT
                 COUNT(*) AS centerRepairOrderNum,
@@ -894,11 +927,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 gxt_repair_order wo
                     LEFT JOIN sys_dept sd ON wo.gxt_center_id = sd.parent_id
                     LEFT JOIN sys_user su ON sd.dept_id = su.dept_id
-            WHERE wo.work_order_status IN ('completed','archived') AND
-                su.user_id = #{userId}
+            WHERE wo.work_order_status IN ('completed','archived') AND wo.repair_method != '2'
+              AND su.user_id = #{userId}
+              AND wo.create_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
+              AND wo.create_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
+        ) s ON u.user_id = s.user_id
+        LEFT JOIN (
+            SELECT
+                COUNT(*) AS centerRepairOrderNum,
+                su.dept_id,su.user_id
+            FROM
+                gxt_repair_order wo
+                    LEFT JOIN sys_dept sd ON wo.gxt_center_id = sd.parent_id
+                    LEFT JOIN sys_user su ON sd.dept_id = su.dept_id
+            WHERE wo.work_order_status IN ('completed','archived') AND wo.repair_method = '2'
+              AND su.user_id = #{userId}
               AND wo.create_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
               AND wo.create_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
-        ) s ON u.user_id = q.user_id
+        ) ss ON u.user_id = ss.user_id
         LEFT JOIN (
             SELECT
                 COUNT(*) AS companyWorkOrderNum,#{userId} AS user_id
@@ -913,10 +959,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 COUNT(*) AS companyRepairOrderNum,#{userId} AS user_id
             FROM
                 gxt_repair_order wo
-            WHERE wo.work_order_status IN ('completed','archived') AND
-              wo.create_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
-              AND wo.create_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
+            WHERE wo.work_order_status IN ('completed','archived') AND wo.repair_method != '2'
+              AND wo.occur_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
+              AND wo.occur_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
         ) tt ON u.user_id = tt.user_id
+        LEFT JOIN (
+            SELECT
+                COUNT(*) AS companyRepairOrderNum,#{userId} AS user_id
+            FROM
+                gxt_repair_order wo
+            WHERE wo.work_order_status IN ('completed','archived') AND wo.repair_method = '2'
+              AND wo.occur_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
+              AND wo.occur_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
+        ) ttt ON u.user_id = ttt.user_id
         WHERE
         u.user_id = #{userId}
     </select>

+ 45 - 7
ygtx-ui/src/views/index4.vue

@@ -319,7 +319,24 @@
             <div class="icon-label">我处理的</div>
           </div>
         </el-card>
-        <el-card class="floating-card icon-item">
+        <el-card class="floating-card icon-item-big">
+          <div class="todo-content">
+            <div class="icon-wrapper">
+              <div class="icon-circle bg-color-yellow">
+                <el-icon class="fa fa-cogs deep-yellow-color"></el-icon>
+              </div>
+            </div>
+            <div>
+              <div class="card-header">
+                <span class="card-title">维修工单总数</span>
+              </div>
+              <div class="card-content">
+                <div class="data-value deep-yellow-color">{{ homePageData.repairOrderNum }}</div>
+              </div>
+            </div>
+          </div>
+        </el-card>
+        <el-card class="floating-card icon-item-big">
           <div class="todo-content">
             <div class="icon-wrapper">
               <div class="icon-circle bg-color-green">
@@ -336,19 +353,19 @@
             </div>
           </div>
         </el-card>
-        <el-card class="floating-card icon-item">
+        <el-card class="floating-card icon-item-big">
           <div class="todo-content">
             <div class="icon-wrapper">
-              <div class="icon-circle bg-color-yellow">
-                <el-icon class="fa fa-cogs deep-yellow-color"></el-icon>
+              <div class="icon-circle bg-color-purple">
+                <el-icon class="fa fa-repeat purple-color"></el-icon>
               </div>
             </div>
             <div>
               <div class="card-header">
-                <span class="card-title">维修工单总数</span>
+                <span class="card-title">复启工单总数</span>
               </div>
               <div class="card-content">
-                <div class="data-value deep-yellow-color">{{ homePageData.repairOrderNum }}</div>
+                <div class="data-value purple-color">{{ homePageData.repairRestartOrderNum }}</div>
               </div>
             </div>
           </div>
@@ -606,6 +623,7 @@ export default {
         workOrderJsy: 15,  // 维保工单较上月增长百分比
         repairOrderNum: 85, // 维修工单总数
         repairOrderJsy: 8,  // 维修工单较上月增长百分比
+        repairRestartOrderNum: 5, // 维修工单复启数量
         wbgs: 168,         // 本月工时
         wbjsy: 12,         // 本月工时较上月增长百分比
         score: 92,         // 本月工分
@@ -1469,6 +1487,7 @@ export default {
           this.homePageData.workOrderJsy = response.data.workOrderJsy || 0;
           this.homePageData.repairOrderNum = response.data.repairOrderNum || 0;
           this.homePageData.repairOrderJsy = response.data.repairOrderJsy || 0;
+          this.homePageData.repairRestartOrderNum = response.data.repairRestartOrderNum || 0;
           this.homePageData.wbgs = response.data.wbgs || 0;
           this.homePageData.wbjsy = response.data.wbjsy || 0;
           this.homePageData.score = response.data.score || 0;
@@ -1760,7 +1779,14 @@ export default {
 }
 
 .icon-item {
-  width: 19%;
+  width: 15%;
+  text-align: center;
+  cursor: pointer;
+  transition: all 0.3s ease;
+}
+
+.icon-item-big {
+  width: 17%;
   text-align: center;
   cursor: pointer;
   transition: all 0.3s ease;
@@ -1774,6 +1800,14 @@ export default {
   padding: 10px 0;
 }
 
+.icon-item-big.flex-center {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  min-height: 120px;
+  padding: 10px 0;
+}
+
 .todo-content {
   display: flex;
   align-items: center;
@@ -1798,6 +1832,10 @@ export default {
   transform: scale(1);
 }
 
+.icon-item-big:hover {
+  transform: scale(1);
+}
+
 .icon-wrapper {
   position: relative;
 }

+ 42 - 8
ygtx-ui/src/views/index5.vue

@@ -5,7 +5,7 @@
       <!-- 第一行:4个图标,每个占据25%宽度 -->
       <div class="icons-row">
         <!-- 修改我的待办卡片的布局和角标位置 -->
-        <el-card class="floating-card icon-item" @click="toRoute(1)">
+        <el-card class="floating-card icon-item-min" @click="toRoute(1)">
           <div class="todo-content">
             <div class="icon-wrapper">
               <div class="icon-circle bg-color-blue">
@@ -18,7 +18,7 @@
           </div>
         </el-card>
         <!-- 修改我处理的卡片的布局 -->
-        <el-card class="floating-card icon-item" @click="toRoute(3)">
+        <el-card class="floating-card icon-item-min" @click="toRoute(3)">
           <div class="todo-content">
             <div class="icon-wrapper">
               <div class="icon-circle bg-color-red">
@@ -28,7 +28,28 @@
             <div class="icon-label">我处理的</div>
           </div>
         </el-card>
-        <el-card class="floating-card icon-item">
+        <el-card class="floating-card icon-item-min">
+          <div class="todo-content">
+            <div class="icon-wrapper">
+              <div class="icon-circle bg-color-yellow">
+                <el-icon class="fa fa-cogs deep-yellow-color"></el-icon>
+              </div>
+            </div>
+            <div>
+              <div class="card-header">
+                <span class="card-title">维修工单总数</span>
+              </div>
+              <div class="card-content">
+                <div class="data-value deep-yellow-color">{{ homePageData.repairOrderNum }}</div>
+              </div>
+              <!-- <div class="data-description" :style="{ color: getTextColor(homePageData.repairOrderJsy) }">
+                <i v-if="homePageData.repairOrderJsy > 0">+</i>
+                {{ homePageData.repairOrderJsy }}% 较上月
+              </div> -->
+            </div>
+          </div>
+        </el-card>
+        <el-card class="floating-card icon-item-min">
           <div class="todo-content">
             <div class="icon-wrapper">
               <div class="icon-circle bg-color-green">
@@ -49,19 +70,19 @@
             </div>
           </div>
         </el-card>
-        <el-card class="floating-card icon-item">
+        <el-card class="floating-card icon-item-min">
           <div class="todo-content">
             <div class="icon-wrapper">
-              <div class="icon-circle bg-color-yellow">
-                <el-icon class="fa fa-cogs deep-yellow-color"></el-icon>
+              <div class="icon-circle bg-color-purple">
+                <el-icon class="fa fa-repeat purple-color"></el-icon>
               </div>
             </div>
             <div>
               <div class="card-header">
-                <span class="card-title">维修工单总数</span>
+                <span class="card-title">复启工单总数</span>
               </div>
               <div class="card-content">
-                <div class="data-value deep-yellow-color">{{ homePageData.repairOrderNum }}</div>
+                <div class="data-value purple-color">{{ homePageData.repairRestartOrderNum }}</div>
               </div>
               <!-- <div class="data-description" :style="{ color: getTextColor(homePageData.repairOrderJsy) }">
                 <i v-if="homePageData.repairOrderJsy > 0">+</i>
@@ -290,6 +311,7 @@ export default {
         workOrderJsy: 15,  // 维保工单较上月增长百分比
         repairOrderNum: 85, // 维修工单总数
         repairOrderJsy: 8,  // 维修工单较上月增长百分比
+        repairRestartOrderNum: 10, // 复启工单总数
         wbgs: 168,         // 本月工时
         wbjsy: 12,         // 本月工时较上月增长百分比
         score: 92,         // 本月工分
@@ -422,6 +444,7 @@ export default {
           this.homePageData.workOrderJsy = response.data.workOrderJsy || 0;
           this.homePageData.repairOrderNum = response.data.repairOrderNum || 0;
           this.homePageData.repairOrderJsy = response.data.repairOrderJsy || 0;
+          this.homePageData.repairRestartOrderNum = response.data.repairRestartOrderNum || 0;
           this.homePageData.wbgs = response.data.wbgs || 0;
           this.homePageData.wbjsy = response.data.wbjsy || 0;
           this.homePageData.score = response.data.score || 0;
@@ -602,10 +625,21 @@ export default {
   transition: all 0.3s ease;
 }
 
+.icon-item-min {
+  width: 19%;
+  text-align: center;
+  cursor: pointer;
+  transition: all 0.3s ease;
+}
+
 .icon-item:hover {
   transform: scale(1);
 }
 
+.icon-item-min:hover {
+  transform: scale(1);
+}
+
 .icon-wrapper {
   position: relative;
 }

+ 60 - 49
ygtx-ui/src/views/index6.vue

@@ -40,52 +40,6 @@
             <div class="icon-label">我处理的</div>
           </div>
         </el-card>
-        <el-card class="floating-card icon-item">
-          <div class="todo-content">
-            <div class="icon-wrapper">
-              <div class="icon-circle bg-color-green">
-                <el-icon class="fa fa-wrench green-color"></el-icon>
-              </div>
-            </div>
-            <div>
-              <div class="card-header">
-                <span class="card-title">维保工单总数</span>
-              </div>
-              <div class="card-content">
-                <div class="data-value green-color">{{ homePageData.workOrderNum }}</div>
-              </div>
-              <!-- <div class="data-description" :style="{ color: getTextColor(homePageData.workOrderJsy) }">
-                <i v-if="homePageData.workOrderJsy > 0">+</i>
-                {{ homePageData.workOrderJsy }}% 较上月
-              </div> -->
-            </div>
-          </div>
-        </el-card>
-        <el-card class="floating-card icon-item">
-          <div class="todo-content">
-            <div class="icon-wrapper">
-              <div class="icon-circle bg-color-yellow">
-                <el-icon class="fa fa-cogs deep-yellow-color"></el-icon>
-              </div>
-            </div>
-            <div>
-              <div class="card-header">
-                <span class="card-title">维修工单总数</span>
-              </div>
-              <div class="card-content">
-                <div class="data-value deep-yellow-color">{{ homePageData.repairOrderNum }}</div>
-              </div>
-              <!-- <div class="data-description" :style="{ color: getTextColor(homePageData.repairOrderJsy) }">
-                <i v-if="homePageData.repairOrderJsy > 0">+</i>
-                {{ homePageData.repairOrderJsy }}% 较上月
-              </div> -->
-            </div>
-          </div>
-        </el-card>
-      </div>
-
-      <!-- 第二行:3个表单,工时和工分卡片各占据20%宽度,个人排名卡片占据60%宽度 -->
-      <div class="forms-row">
           <el-card class="floating-card form-item work-hour-card">
             <div class="todo-content">
               <div class="icon-wrapper">
@@ -128,6 +82,61 @@
               </div>
             </div>
           </el-card>
+      </div>
+
+      <!-- 第二行:3个表单,工时和工分卡片各占据20%宽度,个人排名卡片占据60%宽度 -->
+      <div class="forms-row">
+        <el-card class="floating-card icon-item">
+          <div class="todo-content">
+            <div class="icon-wrapper">
+              <div class="icon-circle bg-color-yellow">
+                <el-icon class="fa fa-cogs deep-yellow-color"></el-icon>
+              </div>
+            </div>
+            <div>
+              <div class="card-header">
+                <span class="card-title">维修工单总数</span>
+              </div>
+              <div class="card-content">
+                <div class="data-value deep-yellow-color">{{ homePageData.repairOrderNum }}</div>
+              </div>
+            </div>
+          </div>
+        </el-card>
+        <el-card class="floating-card icon-item">
+          <div class="todo-content">
+            <div class="icon-wrapper">
+              <div class="icon-circle bg-color-green">
+                <el-icon class="fa fa-wrench green-color"></el-icon>
+              </div>
+            </div>
+            <div>
+              <div class="card-header">
+                <span class="card-title">维保工单总数</span>
+              </div>
+              <div class="card-content">
+                <div class="data-value green-color">{{ homePageData.workOrderNum }}</div>
+              </div>
+            </div>
+          </div>
+        </el-card>
+        <el-card class="floating-card icon-item">
+          <div class="todo-content">
+            <div class="icon-wrapper">
+              <div class="icon-circle bg-color-purple">
+                <el-icon class="fa fa-repeat purple-color"></el-icon>
+              </div>
+            </div>
+            <div>
+              <div class="card-header">
+                <span class="card-title">复启工单总数</span>
+              </div>
+              <div class="card-content">
+                <div class="data-value purple-color">{{ homePageData.repairOrderNum }}</div>
+              </div>
+            </div>
+          </div>
+        </el-card>
         <div class="form-item ranking-card">
           <el-card class="data-card floating-card">
             <div class="card-header">
@@ -302,6 +311,7 @@ export default {
         workOrderJsy: 15,  // 维保工单较上月增长百分比
         repairOrderNum: 85, // 维修工单总数
         repairOrderJsy: 8,  // 维修工单较上月增长百分比
+        repairRestartOrderNum: 10, // 复启工单总数
         wbgs: 168,         // 本月工时
         wbjsy: 12,         // 本月工时较上月增长百分比
         score: 92,         // 本月工分
@@ -433,6 +443,7 @@ export default {
           this.homePageData.workOrderJsy = response.data.workOrderJsy || 0;
           this.homePageData.repairOrderNum = response.data.repairOrderNum || 0;
           this.homePageData.repairOrderJsy = response.data.repairOrderJsy || 0;
+          this.homePageData.repairRestartOrderNum = response.data.repairRestartOrderNum || 0;
           this.homePageData.wbgs = response.data.wbgs || 0;
           this.homePageData.wbjsy = response.data.wbjsy || 0;
           this.homePageData.score = response.data.score || 0;
@@ -716,15 +727,15 @@ export default {
   width: 32.5%; /* 留一些间距 */
 }
 .work-hour-card {
-  width: 24%;
+  width: 20%;
 }
 
 .work-score-card {
-  width: 24%;
+  width: 20%;
 }
 
 .ranking-card {
-  width: 49.3%;
+  width: 40.7%;
 }
 .data-card {
   min-height: 120px;