Browse Source

引入lodash

yx 4 years ago
parent
commit
82b220f436

+ 1 - 0
package.json

@@ -16,6 +16,7 @@
     "ant-design-vue": "^1.6.0",
     "core-js": "^3.6.4",
     "element-ui": "^2.13.2",
+    "lodash": "^4.17.19",
     "meri-design": "^1.2.9",
     "vue": "^2.6.11",
     "vue-class-component": "^7.2.3",

+ 2 - 2
src/components/edit/equipmentAttr.vue

@@ -38,7 +38,7 @@
 import bus from '@/bus'
 import { log } from 'util'
 import Swatches from 'vue-swatches'
-
+import { cloneDeep } from 'lodash'
 export default {
     name: 'equipmentAttr',
     props: {
@@ -81,7 +81,7 @@ export default {
             this.equipmentData = this.focusItemList.itemList[0].toData()
             this.equipmentName = this.equipmentData.Name
             this.equipmentName = this.equipmentData.Name
-            this.InfoList = JSON.parse(JSON.stringify(this.equipmentData.InfoList))
+            this.InfoList = cloneDeep(this.equipmentData.InfoList)
             this.info = []
             this.InfoList.map((item) => {
                 let { Name, FontSize, Color } = item

+ 5 - 5
src/components/edit/top_toolbar.vue

@@ -116,7 +116,7 @@ import { SGraphLayoutType } from "@saga-web/graph/lib";
 import systym from "./codeMapSystem.js";
 import { MessageBox } from "element-ui";
 import { uploadImg } from "@/api/editer.js";
-
+import { debounce } from 'lodash'
 function getBase64(img, callback) {
     const reader = new FileReader();
     reader.addEventListener("load", () => callback(reader.result));
@@ -317,10 +317,10 @@ export default {
                 this.$message.error("请选择指定对象!", 1);
             }
         },
-        saveMsg() {
-            // this.$message.success("保存成功!", 1);
-            bus.$emit("saveMsgItem");
-        },
+        // 保存json 添加防抖
+        saveMsg: debounce(() => {
+            bus.$emit("saveMsgItem")
+        }, 500),
         // 删除item
         deleteItem() {
             console.log(this.focusItem);

+ 5 - 2
src/lib/items/SEquipmentItem.ts

@@ -4,6 +4,8 @@ import { SColor, SPainter, SRect } from "@saga-web/draw/lib";
 import { SMouseEvent } from "@saga-web/base/lib";
 import { EquipmentData } from "../types/EquipmentData";
 import { uuid } from '@/components/mapClass/until';
+// @ts-ignore
+import { cloneDeep } from 'lodash'
 enum StatusType {
     /** 普通态    */
     Normal,
@@ -111,8 +113,9 @@ export class SEquipmentItem extends SObjectItem {
      */
     constructor(parent: SGraphItem | null, epData: EquipmentData) {
         super(parent);
-        if (epData) epData = JSON.parse(JSON.stringify(epData))
-        epData && (this.epData = epData);
+        // if (epData) epData = cloneDeep(epData)
+        // epData && (this.epData = epData);
+        this.epData = cloneDeep(epData)
         this.moveable = true;
         this.id = epData.ID;
         this.zOrder = ItemOrder.textOrder;