From 4a800a8fc83c6bd1f86a8e847b079a51a7532c09 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 20 七月 2022 15:05:58 +0800
Subject: [PATCH] 修复国标配置的bug

---
 src/pages/library/index/App.vue |  339 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 231 insertions(+), 108 deletions(-)

diff --git a/src/pages/library/index/App.vue b/src/pages/library/index/App.vue
index 3bb206e..e6a0954 100644
--- a/src/pages/library/index/App.vue
+++ b/src/pages/library/index/App.vue
@@ -1,171 +1,294 @@
 <template>
   <div class="s-base-manage">
-    <div class="flex-box base-overflow" >
-      <div class="pl20 data-left-box">
-        <base-list
-          ref="baseSync"
-          :listWidth="`100%`"
-          :title="`鍚屾搴揱"
-          type="sync"
-          :isSelected="isSelected"
-          @getList="getPersonList"
-          @changeShow="changeToAdd"
-        ></base-list>
+    <div class="flex-box base-overflow">
+      <div class="data-left-box">
+        <div class="resize-bar"></div>
+        <!-- <div class="resize-line"></div> -->
+        <div class="resize-save">
+          <baseList
+            ref="baseSync"
+            :title="`鍚屾搴揱"
+            type="sync"
+            :isSelected="isSelected"
+            @getList="getPersonList"
+            @changeShow="changeToAdd"
+          ></baseList>
+        </div>
       </div>
       <div class="bg-white ml20 data-right-box">
-        <div v-show="showList">
-          <person-list ref="personList" :baseObject="baseObject" v-show="showType == 'person'"></person-list>
-          <car-list ref="carList" :baseObject="baseObject" v-show="showType == 'car'"></car-list>
+        <div v-show="showList" style="height: 100%">
+          <person-list
+            ref="personList"
+            :baseObject="baseObject"
+            @changeShow="changeToAdd"
+            @onDelete="initBaseList"
+            :syncType="syncType"
+            v-show="showType == 'person'"
+          ></person-list>
+          <car-list
+            ref="carList"
+            :baseObject="baseObject"
+            @changeShow="changeToAdd"
+            @onDelete="initBaseList"
+            :syncType="syncType"
+            v-show="showType == 'car'"
+          ></car-list>
         </div>
-        <add-base
+        <addBase
           ref="addBase"
           :baseObject="baseForEdit"
           :type="syncType"
-          v-show="!showList"
+          v-if="!showList"
           @refresh="findBaseSync"
           @closeAdd="closeAdd"
-        ></add-base>
+        ></addBase>
       </div>
     </div>
   </div>
 </template>
 <script>
-import baseList from '../components/baseList'
-import addBase from '../components/addBase'
-import personList from '../components/personList'
-import carList from '../components/carList'
+import baseList from "../components/baseList";
+import addBase from "../components/addBase";
+import personList from "../components/personList";
+import carList from "../components/carList";
+const colorRgb = function (s) {
+  var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
+  var color = s.toLowerCase();
+  if (reg.test(color)) {
+    if (color.length === 4) {
+      var colorNew = "#";
+      for (var i = 1; i < 4; i += 1) {
+        colorNew += color.slice(i, i + 1).concat(color.slice(i, i + 1));
+      }
+      color = colorNew;
+    }
+    var colorChange = [];
+    for (var i = 1; i < 7; i += 2) {
+      colorChange.push(parseInt("0x" + color.slice(i, i + 2)));
+    }
+    return "" + colorChange.join(",") + "";
+  } else {
+    return color;
+  }
+};
 export default {
   data() {
     return {
       isSelected: false,
       showList: true,
-      showType: 'person',
-      syncType: 'sync',
+      showType: "person",
+      syncType: "sync",
       syncTables: [],
       localTables: [],
       baseObject: {},
       baseForEdit: {}, // 缁欑紪杈戦〉闈紶鐨�
       breeadCrumb: [
         {
-          name: '搴曞簱绠$悊',
-          path: '/baseManage',
-          params: {}
+          name: "搴曞簱绠$悊",
+          path: "/baseManage",
+          params: {},
         },
         {
-          name: '搴曞簱璇︽儏',
-          path: '/baseManage',
-          params: {}
-        }
-      ]
-    }
+          name: "搴曞簱璇︽儏",
+          path: "/baseManage",
+          params: {},
+        },
+      ],
+    };
   },
   methods: {
-    clearSelect1() {
-      this.$refs.baseLocal.categoryIndex = -1
-    },
-    clearSelect2() {
-      this.$refs.baseSync.categoryIndex = -1
-    },
-    getPersonList(item) {
-      console.log('浼犵粰鐖剁粍浠剁殑鍊�', item)
-      this.baseObject = item
+    getPersonList(item, type) {
+      console.log(123);
+      console.log(item);
+      console.log(type);
+
+      if (item) {
+        this.baseObject = item;
+        this.baseForEdit = item;
+        this.syncType = type;
+      }
+
       // 鐩存帴璋冪敤瀛愮粍浠跺埛鏂板垪琛ㄧ殑鏂规硶
       // 鍒ゆ柇杩欐槸浜哄憳搴撹繕鏄溅杈嗗簱锛屽喅瀹歴howList鐨勫��
-      if (item.tableType == "person") {
-        console.log("person搴�")
-        this.showType = 'person'
-        this.$refs.personList.getPersonList()
-      } else if (item.tableType == "car") {
-        console.log("car搴�")
-        this.showType = "car"
-        this.$refs.carList.getCarList()
-      }
-      //this.showList = '1'
-      this.breeadCrumb[1].name = '搴曞簱璇︽儏'
+      this.$nextTick(() => {
+        if (this.baseObject.tableType == "person") {
+          this.showType = "person";
+          this.$refs.personList.getPersonList();
+        } else if (this.baseObject.tableType == "car") {
+          this.showType = "car";
+          this.$refs.carList.getCarList();
+        }
+      });
+      this.breeadCrumb[1].name = "搴曞簱璇︽儏";
     },
     changeToAdd(item, type) {
       if (item !== null) {
-        this.baseForEdit = item
-        this.breeadCrumb[1].name = '搴曞簱淇℃伅'
+        this.baseForEdit = item;
+        this.breeadCrumb[1].name = "搴曞簱淇℃伅";
       } else {
-        this.baseForEdit = {}
-        this.breeadCrumb[1].name = '娣诲姞搴曞簱'
+        this.baseForEdit = {};
+        this.breeadCrumb[1].name = "娣诲姞搴曞簱";
       }
-      this.syncType = type
-      this.showList = false
+      this.syncType = type;
+      this.showList = false;
+    },
+    initBaseList() {
+      this.$refs.baseSync.init();
+      this.BaseManageData.queryTagList();
     },
     // 鏌ヨ鍚屾搴撳垪琛ㄦ暟鎹甛鏌ヨ鏈湴搴撳垪琛ㄦ暟鎹�
     findBaseSync() {
-      this.BaseManageData.querySyncTables()
-      this.BaseManageData.queryLocalTables()
+      this.BaseManageData.querySyncTables();
+      this.BaseManageData.queryLocalTables();
+      this.BaseManageData.queryTagList();
     },
     closeAdd() {
-      console.log('closeAdd')
-      this.showList = true
-    }
+      this.showList = true;
+      this.$refs.baseSync.init(this.syncType);
+    },
   },
   props: {
     cameraId: {
-      default: '',
-      type: String
-    }
+      default: "",
+      type: String,
+    },
   },
   components: {
     baseList,
     addBase,
     personList,
-    carList
+    carList,
   },
   mounted() {
-    //this.TreeDataPool.showTreeBox = false
-  }
-}
+    window.addEventListener("message", (e) => {
+      if (e.data.msg === "changeColor") {
+        const res = colorRgb(e.data.color);
+        document.documentElement.style.setProperty(
+          "--colorCard",
+          `${e.data.color}`
+        );
+      }
+    });
+  },
+  created() {
+    let color = localStorage.getItem("--colorCard");
+    if (color) {
+      document.documentElement.style.setProperty("--colorCard", `${color}`);
+    } else {
+      color = getComputedStyle(document.documentElement).getPropertyValue(
+        "--colorCard"
+      );
+      const res = colorRgb(color);
+      document.documentElement.style.setProperty("--colorCard-rgb", `${res}`);
+    }
+  },
+};
 </script>
-<style lang="scss" scoped>
+<style lang="scss">
 .s-base-manage {
   box-sizing: border-box;
-  background-color: #e9ebf2;
-  min-width: 1315px;
-}
-.base-overflow {
-  overflow: visible !important;
-  background-color: #ffffff;
-  box-sizing: border-box;
-  // padding: 20px 10px 0 10px;
-}
-.s-data-manage-breadcrumb {
-  margin: 0 3px;
-  height: 5%;
-  -webkit-box-sizing: border-box;
-  border: 1px solid #e4e7ed;
-  -webkit-box-shadow: #e4e7ed 0px 0px 9px inset;
-  box-shadow: #e4e7ed 0px 0px 9px inset;
-  border-radius: 5px;
-}
-.data-left-box {
-  @media screen and (max-width: 1440px) {
-    width: 23%;
+  background-color: #eff1f5;
+  border-top: 1px solid #f1f3f6;
+
+  height: 100%;
+  .el-table {
+    .cell:empty::before {
+      content: "--";
+      color: #ccc;
+    }
+    .is-leaf {
+      .cell:empty::before {
+        content: "--";
+        color: #ccc;
+      }
+    }
   }
-  @media screen and (min-width: 1440px) and (max-width: 1640px) {
-    width: 21%;
+  .el-collapse {
+    border: none;
   }
-  @media screen and (min-width: 1640px) {
-    width: 20%;
+  .flex-box {
+    display: flex;
   }
-  box-sizing: border-box;
-  border-right: 1px solid #e0e0e0;
-}
-.data-right-box {
-  @media screen and (max-width: 1440px) {
-    width: 77%;
+  .base-overflow {
+    height: 100%;
+    background-color: #eff1f5;
+    box-sizing: border-box;
   }
-  @media screen and (min-width: 1440px) and (max-width: 1640px) {
-    width: 79%;
+  .s-data-manage-breadcrumb {
+    margin: 0 3px;
+    height: 5%;
+    box-sizing: border-box;
+    border: 1px solid #e4e7ed;
+    box-shadow: #e4e7ed 0px 0px 9px inset;
+    border-radius: 5px;
   }
-  @media screen and (min-width: 1640px) {
-    width: 80%;
+  .data-left-box {
+    height: 100vh;
+    position: relative;
+    background: #fff;
+    box-sizing: border-box;
   }
-  padding: 5px 20px 5px 5px;
-  box-sizing: border-box;
+  .resize-save {
+    position: absolute;
+    top: 0;
+    right: 5px;
+    bottom: 0;
+    left: 0;
+    padding: 14px 10px;
+    overflow-x: hidden;
+  }
+  .resize-bar {
+    width: 244px;
+    height: inherit;
+    resize: horizontal;
+    cursor: ew-resize;
+    opacity: 0;
+    overflow: scroll;
+    max-width: 500px; //璁惧畾鏈�澶ф媺浼搁暱搴�
+    min-width: 33px; //璁惧畾鏈�灏忓搴�
+  }
+  /* 鎷栨嫿绾� */
+  .resize-line {
+    position: absolute;
+    right: 0;
+    top: 0;
+    bottom: 0;
+    border-right: 2px solid #efefef;
+    border-left: 1px solid #e0e0e0;
+    pointer-events: none;
+  }
+  .resize-bar:hover ~ .resize-line,
+  .resize-bar:active ~ .resize-line {
+    border-left: 1px dashed skyblue;
+  }
+  .resize-bar::-webkit-scrollbar {
+    width: 200px;
+    height: inherit;
+  }
+
+  /* Firefox鍙湁涓嬮潰涓�灏忓潡鍖哄煙鍙互鎷変几 */
+  @supports (-moz-user-select: none) {
+    .resize-bar:hover ~ .resize-line,
+    .resize-bar:active ~ .resize-line {
+      border-left: 1px solid #bbb;
+    }
+    .resize-bar:hover ~ .resize-line::after,
+    .resize-bar:active ~ .resize-line::after {
+      content: "";
+      position: absolute;
+      width: 16px;
+      height: 16px;
+      bottom: 0;
+      right: -8px;
+      background-size: 100% 100%;
+    }
+  }
+  .data-right-box {
+    height: calc(100%);
+    overflow-y: auto;
+    flex: 1;
+    padding: 20px;
+    box-sizing: border-box;
+  }
 }
 </style>

--
Gitblit v1.8.0