From 850fbeddcd514476756acde45c3136eabe087240 Mon Sep 17 00:00:00 2001
From: gjj <Ganjj@probim.com.cn>
Date: Tue, 18 Mar 2025 15:17:47 +0800
Subject: [PATCH] 标段筛选去重

---
 src/views/ProjectView.vue               |   10 +
 src/assets/css/element-ui-override.scss |  213 +++++++++++++++++++-----------------------
 src/views/Home.vue                      |    4 
 vite.config.js                          |   14 +-
 4 files changed, 115 insertions(+), 126 deletions(-)

diff --git a/src/assets/css/element-ui-override.scss b/src/assets/css/element-ui-override.scss
index e3faabe..d022747 100644
--- a/src/assets/css/element-ui-override.scss
+++ b/src/assets/css/element-ui-override.scss
@@ -1,140 +1,123 @@
 /*覆盖element-ui自带的样式放在该文件中*/
 
 .el-input {
-  height: 34px;
+    height: 34px;
 }
 
 .el-input__inner {
-  padding-left: 15px;
-  height: 34px;
-  border-radius: 0;
-  border: 0;
-  background: #313847;
-  font-size: 14px;
-  font-family: PingFangSC-Regular, PingFang SC;
-  font-weight: 600;
-  color: #ffffff;
+    padding-left: 15px;
+    height: 34px;
+    border-radius: 0;
+    border: 0;
+    background: #313847;
+    font-size: 14px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 600;
+    color: #ffffff;
 }
 
 .el-loading-mask {
-  position: absolute;
-  z-index: 2000;
-  background-color: rgba(0, 0, 0, 0.7);
-  margin: 0;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  transition: opacity 0.3s;
+    position: absolute;
+    z-index: 2000;
+    background-color: rgba(0, 0, 0, 0.7);
+    margin: 0;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    transition: opacity 0.3s;
 }
 
 .el-loading-spinner .circular {
-  margin: auto;
+    margin: auto;
 }
 
 .el-table {
-  background-color: #000a1f;
-
-  &::before {
-    background-color: unset;
-  }
-
-  .el-table__header {
-    thead {
-      color: #fff;
-
-      tr {
-        border-bottom: unset;
-
-        th.el-table__cell.is-leaf {
-          border-bottom: unset;
-        }
-
-        th {
-          font-weight: 600;
-        }
-
-        .el-table__cell {
-          padding: 6px 0;
-          background-color: #5e616e;
-        }
-      }
+    background-color: #000a1f;
+    &::before {
+        background-color: unset;
     }
-  }
-  
-  .el-table__body {
-    tbody {
-      tr.el-table__row {
-        background-color: #000a1f;
-        color: #fff;
-        font-weight: 600;
-        td.el-table__cell {
-          padding: 0;
-          border-bottom: unset;
+    .el-table__header {
+        thead {
+            color: #fff;
+            tr {
+                border-bottom: unset;
+                th.el-table__cell.is-leaf {
+                    border-bottom: unset;
+                }
+                th {
+                    font-weight: 600;
+                }
+                .el-table__cell {
+                    padding: 6px 0;
+                    background-color: #5e616e;
+                }
+            }
         }
-        &:hover {
-          td.el-table__cell {
-            background-color: rgba(255, 255, 255, 0.1);
-          }
-        }
-      }
     }
-  }
-
-  // &--striped {
-  //   .el-table__body {
-  //     tr.el-table__row--striped {
-  //       td.el-table__cell {
-  //         background-color: rgba(255, 255, 255, 0.1);
-  //       }
-  //     }
-  //   }
-  // }
+    .el-table__body {
+        tbody {
+            tr.el-table__row {
+                background-color: #000a1f;
+                color: #fff;
+                font-weight: 600;
+                td.el-table__cell {
+                    padding: 0;
+                    border-bottom: unset;
+                }
+                &:hover {
+                    td.el-table__cell {
+                        background-color: rgba(255, 255, 255, 0.1);
+                    }
+                }
+            }
+        }
+    }
+    // &--striped {
+    //   .el-table__body {
+    //     tr.el-table__row--striped {
+    //       td.el-table__cell {
+    //         background-color: rgba(255, 255, 255, 0.1);
+    //       }
+    //     }
+    //   }
+    // }
 }
 
 .el-pagination {
-  &.is-background {
-    .el-pager li {
-      background-color: rgba(233, 234, 240, 0.1);
-      color: #fefefe;
-      &:not(.disabled).active {
-        background-color: #3661eb;
-      }
+    &.is-background {
+        .el-pager li {
+            background-color: rgba(233, 234, 240, 0.1);
+            color: #fefefe;
+            &:not(.disabled).active {
+                background-color: #3661eb;
+            }
+        }
+        .btn-prev {
+            background-color: #3661eb;
+            color: #fff;
+            &:disabled {
+                background-color: rgba(54, 97, 235, 0.5);
+                color: rgba(246, 247, 250, 0.5);
+            }
+        }
+        .btn-next {
+            background-color: #3661eb;
+            color: #f6f7fa;
+            &:disabled {
+                background-color: rgba(54, 97, 235, 0.5);
+                color: rgba(246, 247, 250, 0.5);
+            }
+        }
     }
-
-    .btn-prev {
-      background-color: #3661eb;
-      color: #fff;
-      &:disabled {
-        background-color: rgba(54, 97, 235, 0.5);
-        color: rgba(246, 247, 250, 0.5);
-      }
-    }
-
-    .btn-next {
-      background-color: #3661eb;
-      color: #f6f7fa;
-      &:disabled {
-        background-color: rgba(54, 97, 235, 0.5);
-        color: rgba(246, 247, 250, 0.5);
-      }
-    }
-  }
 }
+
 .el-select,
-.el-input__inner{
-  height: 32px;
-  line-height: 32px;
-  background: rgba(255,255,255,0.15);
-  color: #fff;
-  border: none;
-  outline: none;
-}
- //未选中框时右侧文字
-  .el-checkbox__label{
+.el-input__inner {
+    height: 32px;
+    line-height: 32px;
+    background: rgba(255, 255, 255, 0.15);
     color: #fff;
- }
- //选中框时右侧文字
-  .el-checkbox__input.is-checked+.el-checkbox__label{
-   color: #fff;
- }
\ No newline at end of file
+    border: none;
+    outline: none;
+}
\ No newline at end of file
diff --git a/src/views/Home.vue b/src/views/Home.vue
index b44eb36..809c83a 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -193,9 +193,9 @@
    if (this.isFullScreen) {
       const clientX = document.documentElement.clientWidth || document.body.clientWidth
       const clientY = document.documentElement.clientHeight || document.body.clientHeight
-      this.fullScreenPanoStyle = `width: 100%; height: 100%; z-index: 100; `
+      this.fullScreenStyle = `width: ${clientX - 40}px; height: ${clientY - 120}px; margin:20px; position: fixed; top: 80px; left: 0;z-index: 100;background-color: #fff;overflow: hidden;`
       if (this.currentView === '720') {
-        this.fullScreenStyle = `width: ${clientX - 40}px; height: ${clientY - 120}px; margin:20px; position: fixed; top: 80px; left: 0;z-index: 100;background-color: #fff;overflow: hidden;`
+        this.fullScreenPanoStyle = `width: 100%; height: 100%; z-index: 100; `
       } else if(this.currentView === 'model'){
         this.fullScreenModelStyle = `width: ${clientX - 40}px; height: ${clientY - 120}px; margin:20px; position: fixed; top: 80px; left: 0;z-index: 100;background-color: #fff;overflow: hidden;`
       }
diff --git a/src/views/ProjectView.vue b/src/views/ProjectView.vue
index 152b5f3..52f0b8c 100644
--- a/src/views/ProjectView.vue
+++ b/src/views/ProjectView.vue
@@ -269,7 +269,9 @@
                 newArray.push({ text: item.Bind, value: item.Bind })
               }
             })
-            this.bindFilters = newArray
+            this.bindFilters = this.arrayFilter(newArray, 'value')
+            console.log(newArray, this.bindFilters);
+
           } else {
             this.tableData = []
           }
@@ -277,6 +279,12 @@
         }
       });
     },
+    // 数组去重
+    arrayFilter (arr, key) {
+      const res = new Map()
+      return arr.filter(arr => !res.has(arr[key]) && res.set(arr[key], 1))
+    },
+
     getParticipatingNumber() {
       const data = {
         "organizeId": this.projectId
diff --git a/vite.config.js b/vite.config.js
index 35a9e98..cee0dd3 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -2,7 +2,7 @@
  * @Author: gjj Ganjj@probim.com.cn
  * @Date: 2025-02-14 14:32:19
  * @LastEditors: gjj Ganjj@probim.com.cn
- * @LastEditTime: 2025-03-17 11:38:32
+ * @LastEditTime: 2025-03-17 14:42:01
  * @FilePath: \北京交通大学\vite.config.js
  * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
@@ -42,6 +42,11 @@
                     additionalData: "@import '@css/sass.scss';",
                 },
             },
+            loaderOptions: {
+                postcss: {
+                    plugins: [postcss]
+                }
+            }
         },
         server: {
             proxy: {
@@ -65,13 +70,6 @@
             config.module.rule("css").test(/\.css$/).oneOf("vue").use("px2rem-loader").loader("px2rem-loader").options({
                 remUnit: 192,
             }).end();
-        },
-        css: {
-            loaderOptions: {
-                postcss: {
-                    plugins: [postcss]
-                }
-            }
         },
         build: {
             minify: "esbuild",

--
Gitblit v1.9.3