Parcourir la source

质量管理、工序管理切出

dengrui il y a 1 mois
Parent
commit
fa15b7639e

+ 144 - 167
index.html

@@ -1,177 +1,154 @@
 <!doctype html>
 <html lang="en">
-<head>
-  <meta charset="UTF-8"/>
-  <link href="/logo.png" rel="icon"/>
-  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
-  <meta
-    content="Vue3 + Vite5 + TypeScript5 + Element-Plus 的后台管理模板,配套接口文档和后端源码,vue-element-admin 的 Vue3 版本"
-    name="description"
-  />
-  <meta
-    content="vue,element-plus,typescript,vue-element-admin,vue3-element-admin"
-    name="keywords"
-  />
-  <script src="/sortable.js"></script>
-  <title>生产线综合管控采集平台</title>
-  <link rel="stylesheet" href="/LuckExcel/pluginsCss.css" />
-  <link rel="stylesheet" href="/LuckExcel/plugins.css" />
-  <link rel="stylesheet" href="/LuckExcel/luckysheet.css" />
-  <link rel="stylesheet" href="/LuckExcel/iconfont.css" />
-  <script src="/LuckExcel/plugin.js"></script>
-  <script src="/LuckExcel/luckysheet.umd.js"></script>
-</head>
-
-<body>
-<div id="app">
-  <div class="loader"></div>
-</div>
-</body>
-<script src="/src/main.ts" type="module"></script>
-
-<style>
-  html,
-  body,
-  #app {
-    position: relative;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    width: 100%;
-    height: 100%;
-  }
-
-  .loader {
-    position: relative;
-    width: 40px;
-    aspect-ratio: 0.577;
-    overflow: hidden;
-    clip-path: polygon(0 0, 100% 100%, 0 100%, 100% 0);
-    animation: l19 2s infinite linear;
-  }
-
-  .loader::before {
-    position: absolute;
-    inset: -150%;
-    content: "";
-    background: repeating-conic-gradient(
-      from 30deg,
-      #ffabab 0 60deg,
-      #abe4ff 0 120deg,
-      #ff7373 0 180deg
-    );
-    animation: inherit;
-    animation-direction: reverse;
-  }
-
-  /* 甘特图样式控制 */
-  .gantt_task_line {
-    border-radius: 20px !important;
-    border: 0px solid black;
-  }
-
-  .gantt_tooltip {
-    font-size: 15px;
-    font-weight: 300;
-  }
-
-  .gantt_tree_content {
-    font-size: 15px !important;
-  }
-
-  .gantt_grid_data {
-    background-color: rgba(0, 0, 0, 0.1);
-
-    .gantt_row_task {
-      background-color: rgba(0, 0, 0, 0.1) !important;
-    }
-
-    .odd {
-      background-color: rgba(0, 0, 0, 0.2) !important;
-    }
-
-    .gantt_row:hover {
-      background-color: rgba(0, 0, 0, 0.4) !important;
-    }
-
-    .gantt_selected {
-      background-color: rgb(123, 123, 123) !important;
-    }
-  }
-
-  .gantt_task {
-    .gantt_selected {
-      background-color: rgb(123, 123, 123);
+  <head>
+    <meta charset="UTF-8" />
+    <link href="/logo.png" rel="icon" />
+    <meta content="width=device-width, initial-scale=1.0" name="viewport" />
+    <meta
+      content="Vue3 + Vite5 + TypeScript5 + Element-Plus 的后台管理模板,配套接口文档和后端源码,vue-element-admin 的 Vue3 版本"
+      name="description"
+    />
+    <meta
+      content="vue,element-plus,typescript,vue-element-admin,vue3-element-admin"
+      name="keywords"
+    />
+    <script src="/sortable.js"></script>
+    <title>生产线综合管控采集平台</title>
+    <link rel="stylesheet" href="/LuckExcel/pluginsCss.css" />
+    <link rel="stylesheet" href="/LuckExcel/plugins.css" />
+    <link rel="stylesheet" href="/LuckExcel/luckysheet.css" />
+    <link rel="stylesheet" href="/LuckExcel/iconfont.css" />
+    <script src="/LuckExcel/plugin.js"></script>
+    <script src="/LuckExcel/luckysheet.umd.js"></script>
+  </head>
+
+  <body>
+    <div id="app">
+      <div class="loader"></div>
+    </div>
+  </body>
+  <script src="/src/main.ts" type="module"></script>
+
+  <style>
+    html,
+    body,
+    #app {
+      position: relative;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      width: 100%;
+      height: 100%;
+    }
+
+    /* 甘特图样式控制 */
+    .gantt_task_line {
+      border-radius: 20px !important;
+      border: 0px solid black;
+    }
+
+    .gantt_tooltip {
+      font-size: 15px;
+      font-weight: 300;
+    }
+
+    .gantt_tree_content {
+      font-size: 15px !important;
+    }
+
+    .gantt_grid_data {
+      background-color: rgba(0, 0, 0, 0.1);
+
+      .gantt_row_task {
+        background-color: rgba(0, 0, 0, 0.1) !important;
+      }
+
+      .odd {
+        background-color: rgba(0, 0, 0, 0.2) !important;
+      }
+
+      .gantt_row:hover {
+        background-color: rgba(0, 0, 0, 0.4) !important;
+      }
+
+      .gantt_selected {
+        background-color: rgb(123, 123, 123) !important;
+      }
+    }
+
+    .gantt_task {
+      .gantt_selected {
+        background-color: rgb(123, 123, 123);
+
+        .gantt_task_cell {
+          border-color: white;
+        }
+      }
+    }
+
+    .gantt_data_area {
+      background-color: rgba(0, 0, 0, 0.1);
 
       .gantt_task_cell {
+        background-color: rgba(0, 0, 0, 0.1);
         border-color: white;
       }
     }
-  }
 
-  .gantt_data_area {
-    background-color: rgba(0, 0, 0, 0.1);
+    .year {
+      background: #ffcc00;
+      color: #fff !important;
+      font-size: 16px;
+    }
+
+    .month {
+      background: #66ccff;
+      color: #fff !important;
+      font-size: 16px;
+    }
 
-    .gantt_task_cell {
-      background-color: rgba(0, 0, 0, 0.1);
-      border-color: white;
-    }
-  }
-
-  .year {
-    background: #ffcc00;
-    color: #fff !important;
-    font-size: 16px;
-  }
-
-  .month {
-    background: #66ccff;
-    color: #fff !important;
-    font-size: 16px;
-  }
-
-  .day {
-    background: #abe4ff;
-    color: #fff !important;
-    font-size: 16px;
-  }
-
-  .hour {
-    background: #0bb051;
-    color: #fff !important;
-    font-size: 16px;
-  }
-
-  .gantt_grid_head_cell {
-    font-size: 16px;
-    color: white !important;
-    font-weight: 600;
-    border: 1px solid rgb(206, 206, 206);
-    background-color: rgb(48, 65, 86, 0.6);
-  }
-
-  /* 滚动条样式 */
-  ::-webkit-scrollbar {
-    width: 6px !important; /* 设置滚动条的宽度 */
-  }
-
-  ::-webkit-scrollbar-track {
-    background-color: #f0f2f5; /* 滚动条轨道的背景色 */
-  }
-
-  ::-webkit-scrollbar-thumb {
-    background-color: #90939960; /* 滚动条的颜色 */
-    border-radius: 8px !important; /* 滚动条的圆角 */
-  }
-
-  ::-webkit-scrollbar-thumb:hover {
-    background-color: #5a5e66; /* 滚动条hover时的颜色 */
-  }
-
-  @keyframes l19 {
-    100% {
-      transform: rotate(360deg);
-    }
-  }
-</style>
+    .day {
+      background: #abe4ff;
+      color: #fff !important;
+      font-size: 16px;
+    }
+
+    .hour {
+      background: #0bb051;
+      color: #fff !important;
+      font-size: 16px;
+    }
+
+    .gantt_grid_head_cell {
+      font-size: 16px;
+      color: white !important;
+      font-weight: 600;
+      border: 1px solid rgb(206, 206, 206);
+      background-color: rgb(48, 65, 86, 0.6);
+    }
+
+    /* 滚动条样式 */
+    ::-webkit-scrollbar {
+      width: 6px !important; /* 设置滚动条的宽度 */
+    }
+
+    ::-webkit-scrollbar-track {
+      background-color: #f0f2f5; /* 滚动条轨道的背景色 */
+    }
+
+    ::-webkit-scrollbar-thumb {
+      background-color: #90939960; /* 滚动条的颜色 */
+      border-radius: 8px !important; /* 滚动条的圆角 */
+    }
+
+    ::-webkit-scrollbar-thumb:hover {
+      background-color: #5a5e66; /* 滚动条hover时的颜色 */
+    }
+
+    @keyframes l19 {
+      100% {
+        transform: rotate(360deg);
+      }
+    }
+  </style>
 </html>

+ 3 - 0
src/layout/components/Sidebar/components/SidebarMixTopMenu.vue

@@ -94,6 +94,9 @@ onMounted(() => {
   if (routePath == "/outsource") {
     routePath = "/quality";
   }
+  if (routePath == "/base") {
+    routePath = "/base";
+  }
   handleMenuSelect(routePath);
 });
 </script>

+ 4 - 1
src/layout/components/Sidebar/index.vue

@@ -84,7 +84,10 @@ const setTitle = () => {
     case "outsource":
       title.value = "质量管理";
       break;
-    case "production":
+    case "quality":
+      title.value = "质量管理";
+      break;
+    case "base":
       title.value = "工序管理";
       break;
   }

+ 6 - 0
src/store/modules/permission.ts

@@ -75,6 +75,12 @@ export const usePermissionStore = defineStore("permission", () => {
   // actions
   function setRoutes(newRoutes: RouteRecordRaw[]) {
     routes.value = constantRoutes.concat(newRoutes);
+    routes.value[9].children = routes.value[9].children.filter(
+      (item, index) => index == 0
+    );
+    routes.value[9].childs = routes.value[9].childs.filter(
+      (item, index) => index == 0
+    );
   }
   /**
    * 生成动态路由

+ 16 - 12
src/views/base/craftManagement/route/bindProcess.vue

@@ -292,9 +292,12 @@ const getNameByDictType = (dictValue) => {
 </script>
 
 <style lang="scss" scoped>
+* {
+  color: white !important;
+}
 .binContainer {
   height: calc(100vh - 165px);
-  background-color: #f5f7f9;
+  background-color: black;
   overflow-y: scroll;
   // background-color: white;
   padding: 0;
@@ -304,25 +307,25 @@ const getNameByDictType = (dictValue) => {
 .header {
   height: 50px;
   display: flex;
-  background-color: #f5f7f9;
+  background-color: black;
   justify-content: space-between;
   align-items: center;
-  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+  border-bottom: 1px solid white;
 }
 
 .processTree {
   width: 220px;
   height: 100%;
-  border-right: 1px solid rgba(0, 0, 0, 0.1);
+  border-right: 1px solid white;
   .treeChild {
-    background: #f2f2f2;
+    background-color: black;
     padding: 20px 8px 10px 8px;
     .childItem {
       width: 100%;
       height: 28px;
-      background: #ffffff;
+      background: var(--ohos-area-bg);
       border-radius: 4px 4px 4px 4px;
-      border: 1px solid rgba(35, 32, 50, 0.1);
+      border: 1px solid white;
       margin-bottom: 10px;
       text-align: center;
     }
@@ -370,10 +373,10 @@ const getNameByDictType = (dictValue) => {
     .nameLabelCommon {
       width: 299px;
       line-height: 50px;
-      background: #ffffff;
-      box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.5);
+      background: black;
+      box-shadow: 0px 0px 4px 0px;
       border-radius: 4px 4px 4px 4px;
-      border: 1px solid #232032;
+      border: 1px solid white;
       text-align: center;
     }
     .nameLabelSelect {
@@ -409,11 +412,12 @@ const getNameByDictType = (dictValue) => {
 .detailInfo {
   width: 320px;
   height: 100%;
-  border-left: 1px solid rgba(0, 0, 0, 0.1);
+  border-left: 1px solid white;
+  background-color: black;
   .editProcces {
     display: flex;
     justify-content: center;
-    margin-top: 15px;
+    background-color: black;
   }
 }
 

+ 12 - 10
src/views/base/craftManagement/route/components/configs.ts

@@ -160,7 +160,7 @@ export const getTableConfig = (id: string) => {
           hide: true,
           value: id,
         },
-        { label: "精度要求", prop: "accuracy",labelWidth: 150,},
+        { label: "精度要求", prop: "accuracy", labelWidth: 150 },
         { label: "所需数量", prop: "num", display: false, hide: true },
         {
           label: "设备类型",
@@ -204,7 +204,9 @@ export const getTableConfig = (id: string) => {
             },
           ],
         },
-        { label: "标准机时(分)", prop: "standTime",
+        {
+          label: "标准机时(分)",
+          prop: "standTime",
           type: "number",
           labelWidth: 150,
           min: 1,
@@ -315,14 +317,14 @@ export const comTypes: comType[] = [
     compentName: "设备记录",
     compentType: "shebeijilu",
   },
-  {
-    compentName: "紧固",
-    compentType: "jingu",
-  },
-  {
-    compentName: "调试配对",
-    compentType: "tiaoshipipei",
-  },
+  // {
+  //   compentName: "紧固",
+  //   compentType: "jingu",
+  // },
+  // {
+  //   compentName: "调试配对",
+  //   compentType: "tiaoshipipei",
+  // },
   /*{
 		compentName: "铭牌绑定",
 		compentType: "mingpai",

+ 14 - 7
src/views/base/craftManagement/route/components/processComponent.vue

@@ -48,7 +48,11 @@
           @click="clickToolCom(item, index)"
         >
           <div class="typeBox others" :class="getNameClass(index)">
-            <svg-icon :icon-class="item.compentType" size="30" />
+            <svg-icon
+              style="color: white !important"
+              :icon-class="item.compentType"
+              size="30"
+            />
             <div class="name">{{ item.compentName }}</div>
           </div>
           <Delete class="delete" @click.stop="clickDelete(index)" />
@@ -230,10 +234,13 @@ const getTipContent = (itemValue) => {
 </script>
 
 <style lang="scss" scoped>
+* {
+  color: white;
+}
 .header {
   height: 50px;
   display: flex;
-  background-color: #f5f7f9;
+  background-color: black;
   justify-content: space-between;
   align-items: center;
   border-bottom: 1px solid rgba(0, 0, 0, 0.1);
@@ -296,7 +303,7 @@ const getTipContent = (itemValue) => {
     }
   }
   .normal {
-    background: #ffffff;
+    background: black;
     border: 1px solid rgba(35, 32, 50, 0.1);
   }
   .selected {
@@ -307,7 +314,7 @@ const getTipContent = (itemValue) => {
 
 .title {
   line-height: 44px;
-  color: #6f7991;
+  color: white;
   font-size: 14px;
   font-weight: bold;
   text-align: left;
@@ -317,9 +324,9 @@ const getTipContent = (itemValue) => {
 .binContainer {
   height: calc(100vh - 280px);
   width: 100%;
-  background-color: #f5f7f9;
+
   overflow-y: auto;
-  background-color: white;
+  background-color: black;
   //margin-top: 16px;
   //margin-left: 20px;
   padding: 16px 20px;
@@ -329,7 +336,7 @@ const getTipContent = (itemValue) => {
   height: 16px;
   font-weight: 500;
   font-size: 14px;
-  color: rgba(0, 0, 0, 0.9);
+  color: white;
   line-height: 16px;
   text-align: left;
   font-style: normal;

+ 8 - 0
src/views/base/defectMana/index.vue

@@ -179,3 +179,11 @@ option.value = Object.assign(option.value, {
   ],
 });
 </script>
+<style lang="scss">
+.el-sub-menu__title {
+  display: none !important;
+}
+.el-menu-item {
+  padding-left: 10px !important;
+}
+</style>