Parcourir la source

文件上传方法修改,before-upload 改为 http-request
不上传到https://jsonplaceholder.typicode.com

yunxing il y a 4 ans
Parent
commit
87d29bc569

+ 4 - 1
src/components/editview/basePlanEditer.vue

@@ -404,7 +404,7 @@ export default {
             bus.$off("deleteOutline");
             bus.$on("deleteOutline", () => {
                 this.scene.removeItem(this.outline);
-                this.scene.selectContainer.clear()
+                this.scene.selectContainer.clear();
                 this.view.update();
                 this.SETOUTLINE(null);
             });
@@ -596,11 +596,14 @@ export default {
                     equipItem.visible = Boolean(equipItem.legendData.bimLocation);
                     // equipItem.connect("finishCreated", this.scene, this.scene.finishCreated);
                     equipItem.connect("onContextMenu", this, this.scene.getItem);
+                    // 优先设备自身的样式
                     if (this.styleMap[equip.id]) {
                         SPlanDecorator.equipDecorator(equipItem, this.styleMap[equip.id]);
                     } else if (this.styleMap[equip.classCode]) {
+                        // 设备类的样式
                         SPlanDecorator.equipDecorator(equipItem, this.styleMap[equip.classCode]);
                     } else {
+                        // 默认设备类的样式
                         SPlanDecorator.equipDecorator(equipItem, this.styleMap["defaultEquipStyle"]);
                     }
                     this.scene.addItem(equipItem);

+ 5 - 8
src/components/editview/leftToolBar/editInfoPoint.vue

@@ -100,10 +100,9 @@
                     <p>显示图标</p>
                     <el-upload
                         class="avatar-uploader"
-                        action="/#"
+                        action="#"
                         :show-file-list="false"
-                        :before-upload="beforeAvatarUpload"
-                        :on-success="handleAvatarSuccess"
+                        :http-request="uploadImage"
                     >
                         <img v-if="equipmentData.url" :src="equipmentData.imgUrl" class="avatar" />
 
@@ -605,7 +604,8 @@ export default {
         changeColor(val) {
             // // console.log("changeColor: ", val);
         },
-        beforeAvatarUpload(file) {
+        uploadImage(resData) {
+            const { file } = resData;
             // eslint-disable-next-line @typescript-eslint/no-this-alias
             const that = this;
             const fileReader = new FileReader();
@@ -644,6 +644,7 @@ export default {
                             if (xhr.readyState == 4) {
                                 if (xhr.status == 200) {
                                     that.equipmentData.url = uploadKey + "." + imgType;
+                                    that.equipmentData.imgUrl = URL.createObjectURL(file);
                                     // console.log(uploadKey + "." + imgType);
                                     // bus.$emit("updateStyle", "url", baseUrl + uploadKey + "." + imgType);
                                 }
@@ -654,10 +655,6 @@ export default {
                 reader.readAsArrayBuffer(file);
             });
         },
-        handleAvatarSuccess(res, file) {
-            // console.log(res, file);
-            this.equipmentData.imgUrl = URL.createObjectURL(file.raw);
-        },
         dataURLtoBlob(dataURI, type) {
             const binary = atob(dataURI.split(",")[1]);
             const array = [];

+ 5 - 4
src/components/editview/rightPropertyBar/BaseEquipment.vue

@@ -73,10 +73,9 @@
                     <p class="box-title">显示图标</p>
                     <el-upload
                         class="avatar-uploader"
-                        action="/#"
+                        action="#"
                         :show-file-list="false"
-                        :before-upload="beforeAvatarUpload"
-                        :on-success="setStyle"
+                        :http-request="uploadImage"
                     >
                         <el-button type="small">替换图标</el-button>
                     </el-upload>
@@ -156,7 +155,8 @@ export default {
             };
             this.ADDSTYLE(style);
         },
-        beforeAvatarUpload(file) {
+        uploadImage(resData) {
+            const { file } = resData;
             // eslint-disable-next-line @typescript-eslint/no-this-alias
             const fileReader = new FileReader();
             fileReader.readAsDataURL(file); //读取图片
@@ -199,6 +199,7 @@ export default {
                                     bus.$emit("undoAttr", this.EquipItem, "url", oldUrl, newUrl);
                                     this.EquipItem.defaultUrl = newDefaultUrl;
                                     this.EquipItem.url = newUrl;
+                                    this.setStyle()
                                     console.log(uploadKey + "." + imgType);
                                 }
                             }

+ 4 - 3
src/components/editview/rightPropertyBar/BaseImagePro.vue

@@ -37,9 +37,9 @@
                 <el-upload
                     class="avatar-uploader"
                     drag
-                    action="/#"
+                    action="#"
                     :show-file-list="false"
-                    :before-upload="beforeAvatarUpload"
+                    :http-request="uploadImage"
                     accept="image/jpeg,image/jpg,image/png,"
                 >
                     <i class="el-icon-upload"></i>
@@ -268,7 +268,8 @@ export default {
         /**
          * 图片上传
          */
-        beforeAvatarUpload(file) {
+        uploadImage(resData) {
+            const { file } = resData;
             const fileReader = new FileReader();
             fileReader.readAsDataURL(file); //读取图片
             const ftype = file.type;

+ 4 - 3
src/components/editview/rightPropertyBar/BgImagePro.vue

@@ -37,9 +37,9 @@
                 <el-upload
                     class="avatar-uploader"
                     drag
-                    action="/#"
+                    action="#"
                     :show-file-list="false"
-                    :before-upload="beforeAvatarUpload"
+                    :http-request="uploadImage"
                     accept="image/jpeg,image/jpg,image/png,"
                 >
                     <i class="el-icon-upload"></i>
@@ -268,7 +268,8 @@ export default {
         /**
          * 图片上传
          */
-        beforeAvatarUpload(file) {
+        uploadImage(resData) {
+            const { file } = resData;
             const fileReader = new FileReader();
             fileReader.readAsDataURL(file); //读取图片
             const ftype = file.type;