wanglt 5 miesięcy temu
rodzic
commit
6ed541aa1e

+ 8 - 1
ygtx-gxt/src/main/java/com/ygtx/gxt/controller/GxtRepairOrderController.java

@@ -10,6 +10,8 @@ import javax.servlet.http.HttpServletResponse;
 
 import com.ygtx.common.utils.DictUtils;
 import com.ygtx.gxt.domain.GxtEquipment;
+import com.ygtx.gxt.domain.GxtOrderData;
+import com.ygtx.gxt.service.IGxtWorkOrderService;
 import com.ygtx.system.strategy.AutoCodeUtil;
 import org.springframework.core.io.Resource;
 import org.springframework.core.io.ResourceLoader;
@@ -49,6 +51,8 @@ public class GxtRepairOrderController extends BaseController
     private ResourceLoader resourceLoader;
     @Autowired
     private AutoCodeUtil autoCodeUtil;
+    @Autowired
+    private IGxtWorkOrderService gxtWorkOrderService;
 
     /**
      * 查询维修工单列表
@@ -330,6 +334,9 @@ public class GxtRepairOrderController extends BaseController
     @GetMapping(value = "/selectHomePageData")
     public AjaxResult selectHomePageData()
     {
-        return success(gxtRepairOrderService.selectHomePageData());
+        GxtOrderData result = gxtRepairOrderService.selectHomePageData();
+        result.setRepairPending(gxtRepairOrderService.getUnfinishedOrder());
+        result.setWorkPending(gxtWorkOrderService.getUnfinishedOrder());
+        return success(result);
     }
 }

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

@@ -157,6 +157,10 @@ public class GxtOrderData extends BaseEntity
 
     private double repairOrderJsy;
 
+    private Integer repairPending;
+
+    private Integer workPending;
+
     public Date getStartTime() {
         return startTime;
     }
@@ -461,6 +465,22 @@ public class GxtOrderData extends BaseEntity
         this.repairOrderJsy = repairOrderJsy;
     }
 
+    public Integer getRepairPending() {
+        return repairPending;
+    }
+
+    public void setRepairPending(Integer repairPending) {
+        this.repairPending = repairPending;
+    }
+
+    public Integer getWorkPending() {
+        return workPending;
+    }
+
+    public void setWorkPending(Integer workPending) {
+        this.workPending = workPending;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 2 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/IGxtWorkOrderService.java

@@ -206,4 +206,6 @@ public interface IGxtWorkOrderService {
     public int updateGxtWorkOrderForScore(GxtWorkOrder order);
 
     public List<GxtOrderData> selectHomePageWorkOrderList(GxtOrderData gxtOrderData);
+
+    public int getUnfinishedOrder();
 }

+ 20 - 5
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtRepairOrderServiceImpl.java

@@ -1719,15 +1719,30 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
     @Override
     public int getUnfinishedOrder() {
         int num = 0;
-        List<GxtRepairOrder> list = new ArrayList<>();
         GxtRepairOrder repairOrder = new GxtRepairOrder();
         SysDept sysDept = sysDeptService.selectDeptById(SecurityUtils.getDeptId());
         if (sysDept!=null && StringUtils.isNotEmpty(sysDept.getLevel()) && sysDept.getLevel().equals("3")) {
             repairOrder.setPcsStationPid(SecurityUtils.getDeptId());
-            list = gxtRepairOrderMapper.selectGxtRepairOrderList(repairOrder);
-        } else {
-            repairOrder.setPcsStationPid(SecurityUtils.getDeptId());
-            list = gxtRepairOrderMapper.selectGxtRepairOrderList(repairOrder);
+        }
+        if (SecurityUtils.hasPermi("gxt:repairOrder:assign")) {
+            repairOrder.setWorkOrderStatus("to_issue");
+            List<GxtRepairOrder> list = gxtRepairOrderMapper.selectGxtRepairOrderList(repairOrder);
+            num += list.size();
+        }
+        if (SecurityUtils.hasPermi("gxt:repairOrder:accept")) {
+            repairOrder.setWorkOrderStatus("assigned");
+            List<GxtRepairOrder> list = gxtRepairOrderMapper.selectGxtRepairOrderList(repairOrder);
+            num += list.size();
+        }
+        if (SecurityUtils.hasPermi("gxt:repairOrder:complete")) {
+            repairOrder.setWorkOrderStatus("to_finish");
+            List<GxtRepairOrder> list = gxtRepairOrderMapper.selectGxtRepairOrderList(repairOrder);
+            num += list.size();
+        }
+        if (SecurityUtils.hasPermi("gxt:repairOrder:approve")) {
+            repairOrder.setWorkOrderStatus("to_approve");
+            List<GxtRepairOrder> list = gxtRepairOrderMapper.selectGxtRepairOrderList(repairOrder);
+            num += list.size();
         }
         return num;
     }

+ 31 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtWorkOrderServiceImpl.java

@@ -1448,4 +1448,35 @@ public class GxtWorkOrderServiceImpl implements IGxtWorkOrderService
         }
         return gxtWorkOrderMapper.selectHomePageWorkOrderList(gxtOrderData);
     }
+
+    @Override
+    public int getUnfinishedOrder() {
+        int num = 0;
+        GxtWorkOrder workOrder = new GxtWorkOrder();
+        SysDept sysDept = deptMapper.selectDeptById(SecurityUtils.getDeptId());
+        if (sysDept!=null && StringUtils.isNotEmpty(sysDept.getLevel()) && sysDept.getLevel().equals("3")) {
+            workOrder.setPcsStationPid(SecurityUtils.getDeptId());
+        }
+        if (SecurityUtils.hasPermi("gxt:maintenance:order:assign")) {
+            workOrder.setWorkOrderStatus("to_issue");
+            List<GxtWorkOrder> list = gxtWorkOrderMapper.selectGxtWorkOrderList(workOrder);
+            num += list.size();
+        }
+        if (SecurityUtils.hasPermi("gxt:maintenance:order:accept")) {
+            workOrder.setWorkOrderStatus("assigned");
+            List<GxtWorkOrder> list = gxtWorkOrderMapper.selectGxtWorkOrderList(workOrder);
+            num += list.size();
+        }
+        if (SecurityUtils.hasPermi("gxt:maintenance:order:complete")) {
+            workOrder.setWorkOrderStatus("to_finish");
+            List<GxtWorkOrder> list = gxtWorkOrderMapper.selectGxtWorkOrderList(workOrder);
+            num += list.size();
+        }
+        if (SecurityUtils.hasPermi("gxt:maintenance:order:approve")) {
+            workOrder.setWorkOrderStatus("to_approve");
+            List<GxtWorkOrder> list = gxtWorkOrderMapper.selectGxtWorkOrderList(workOrder);
+            num += list.size();
+        }
+        return num;
+    }
 }

+ 40 - 8
ygtx-ui/src/views/index4.vue

@@ -64,7 +64,7 @@
                 <i class="fa fa-chevron-left text-neutral-400 transition-transform duration-300" :class="{'rotate-90': treeExpanded.location}"></i>
               </div>
               <div id="location-content" class="tree-content" :class="{'show': treeExpanded.location}">
-                <label class="checkbox-item ml-2">
+                <label v-if="checkCenter()" class="checkbox-item ml-2">
                   <el-checkbox v-model="dimensionFilters.location.center" label="中心" />
                 </label>
                 <label class="checkbox-item ml-2">
@@ -209,17 +209,17 @@
     <div class="right-content">
       <!-- 第一行:4个图标,每个占据25%宽度 -->
       <div class="icons-row">
-        <el-card class="floating-card icon-item">
+        <el-card class="floating-card icon-item" @click="toRoute(1)">
           <div class="icon-wrapper">
             <div class="icon-circle bg-color-blue">
               <el-icon class="fa fa-ticket text-primary blue-color"></el-icon>
               <!-- 角标 -->
-              <div class="badge">3</div>
+              <div v-if="homePageData.pendingNum>0" class="badge">{{ homePageData.pendingNum }}</div>
             </div>
           </div>
           <div class="icon-label">我的待办</div>
         </el-card>
-        <el-card class="floating-card icon-item">
+        <el-card class="floating-card icon-item" @click="toRoute(2)">
           <div class="icon-wrapper">
             <div class="icon-circle bg-color-yellow">
               <el-icon class="fa fa-star text-warning"></el-icon>
@@ -227,7 +227,7 @@
           </div>
           <div class="icon-label">我发起的</div>
         </el-card>
-        <el-card class="floating-card icon-item">
+        <el-card class="floating-card icon-item" @click="toRoute(3)">
           <div class="icon-wrapper">
             <div class="icon-circle bg-color-red">
               <el-icon class="fa fa-minus-circle text-danger"></el-icon>
@@ -235,7 +235,7 @@
           </div>
           <div class="icon-label">我处理的</div>
         </el-card>
-        <el-card class="floating-card icon-item">
+        <el-card class="floating-card icon-item" @click="toRoute(4)">
           <div class="icon-wrapper">
             <div class="icon-circle bg-color-green">
               <el-icon class="fa fa-history green-color"></el-icon>
@@ -481,7 +481,10 @@ export default {
         wbgs: 168,         // 本月工时
         wbjsy: 12,         // 本月工时较上月增长百分比
         score: 92,         // 本月工分
-        wxjsy: 5           // 本月工分较上月增长百分比
+        wxjsy: 5,           // 本月工分较上月增长百分比
+        repairPending: 0,
+        workPending: 0,
+        pendingNum: 0
       }
     }
   },
@@ -742,7 +745,6 @@ export default {
     loadHomePageData() {
       selectHomePageData().then(response => {
         if (response.code === 200) {
-          console.log(response);
           this.homePageData.workOrderNum = response.data.workOrderNum || 0;
           this.homePageData.workOrderJsy = response.data.workOrderJsy || 0;
           this.homePageData.repairOrderNum = response.data.repairOrderNum || 0;
@@ -751,6 +753,9 @@ export default {
           this.homePageData.wbjsy = response.data.wbjsy || 0;
           this.homePageData.score = response.data.score || 0;
           this.homePageData.wxjsy = response.data.wxjsy || 0;
+          this.homePageData.repairPending = response.data.repairPending || 0;
+          this.homePageData.workPending = response.data.workPending || 0;
+          this.homePageData.pendingNum = this.homePageData.repairPending + this.homePageData.workPending;
         }
       });
     },
@@ -762,6 +767,33 @@ export default {
       }else{
         return 'gray';
       }
+    },
+    toRoute(num) {
+      if(num==1) {
+        if(this.homePageData.repairPending>0 && this.homePageData.workPending==0) {
+          this.$router.push("/workOrder/repairOrder");
+        }else{
+          this.$router.push("/workOrder/gxtOrder");
+        }
+      }else if (num==2) {
+        this.$router.push("/workOrder/gxtOrder");
+      }else if (num==3) {
+        this.$router.push("/workOrder/gxtOrder");
+      }else{
+        this.$router.push("/workOrder/gxtOrder");
+      }
+    },
+    checkCenter() {
+      console.log(this.orderList);
+      if (this.queryParams.center && this.orderList.length>0) {
+        for(let i=0;i<this.orderList.length;i++) {
+          if(this.orderList[i].center!=null) {
+            return true;
+          }
+        }
+        return false;
+      }
+      return true;
     }
   }
 }