fl-web-component 2.0.14 → 2.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -224,6 +224,13 @@ module.exports = function (object, names) {
224
224
 
225
225
  /***/ }),
226
226
 
227
+ /***/ "051a":
228
+ /***/ (function(module, exports, __webpack_require__) {
229
+
230
+ // extracted by mini-css-extract-plugin
231
+
232
+ /***/ }),
233
+
227
234
  /***/ "051b":
228
235
  /***/ (function(module, exports, __webpack_require__) {
229
236
 
@@ -3078,6 +3085,17 @@ module.exports = function (Constructor, NAME, next) {
3078
3085
 
3079
3086
  // extracted by mini-css-extract-plugin
3080
3087
 
3088
+ /***/ }),
3089
+
3090
+ /***/ "273d":
3091
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
3092
+
3093
+ "use strict";
3094
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_b313ab6c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("051a");
3095
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_b313ab6c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_b313ab6c_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
3096
+ /* unused harmony reexport * */
3097
+
3098
+
3081
3099
  /***/ }),
3082
3100
 
3083
3101
  /***/ "278c":
@@ -35659,17 +35677,6 @@ Rect.prototype.className = 'Rect';
35659
35677
  (0, Global_1._registerNode)(Rect);
35660
35678
  Factory_1.Factory.addGetterSetter(Rect, 'cornerRadius', 0, (0, Validators_1.getNumberOrArrayOfNumbersValidator)(4));
35661
35679
 
35662
- /***/ }),
35663
-
35664
- /***/ "5df3":
35665
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
35666
-
35667
- "use strict";
35668
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_21bcf2d9_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7a35");
35669
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_21bcf2d9_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_21bcf2d9_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
35670
- /* unused harmony reexport * */
35671
-
35672
-
35673
35680
  /***/ }),
35674
35681
 
35675
35682
  /***/ "6093":
@@ -41781,13 +41788,6 @@ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACq
41781
41788
 
41782
41789
  /***/ }),
41783
41790
 
41784
- /***/ "7a35":
41785
- /***/ (function(module, exports, __webpack_require__) {
41786
-
41787
- // extracted by mini-css-extract-plugin
41788
-
41789
- /***/ }),
41790
-
41791
41791
  /***/ "7a41":
41792
41792
  /***/ (function(module, exports) {
41793
41793
 
@@ -56514,7 +56514,7 @@ module.exports = document && document.documentElement;
56514
56514
  /***/ "9224":
56515
56515
  /***/ (function(module) {
56516
56516
 
56517
- module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.0.14\",\"scripts\":{\"postinstall\":\"patch-package\",\"tip1\":\"仅调试本组件不涉及业务组件,请执行dev\",\"dev\":\"vue-cli-service serve\",\"lint\":\"eslint \\\"{src,packages}/**/*.{vue,js}\\\" --fix\",\"prettier\":\"prettier --write \\\"packages/**/*.{js,css,less,scss,vue,html}\\\"\",\"=\":\"=============================================================\",\"tip2\":\"同时调试本组件与业务组件,请执行watch\",\"watch\":\"vue-cli-service build --watch --mode production --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build\":\"npm run lint && vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build:test\":\"vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"publish:base\":\"npm run build && npm publish --registry https://registry.npmjs.org/\",\"publish:beta:base\":\"npm run build && npm publish --tag beta --registry https://registry.npmjs.org/\",\"==\":\"=============================================================\",\"tip3\":\"发版注意: 【测试版执行publish:beta】【修改bug执行publish:fix】【新增功能执行publish:feat】【新特性执行publish:perf】\",\"publish:beta\":\"npm version prerelease --preid=beta && npm run publish:beta:base\",\"publish:fix\":\"npm version patch && npm run publish:base\",\"publish:feat\":\"npm version minor && npm run publish:base\",\"publish:perf\":\"npm version major && npm run publish:base\"},\"files\":[\"dist\",\"packages\",\"src\"],\"main\":\"dist/fl-web-component.common.js\",\"dependencies\":{\"camera-controls\":\"2.9.0\",\"core-js\":\"^3.42.0\",\"dxf-parser\":\"^1.1.2\",\"element-ui\":\"2.15.14\",\"fflate\":\"^0.8.2\",\"html2canvas\":\"^1.4.1\",\"jspdf\":\"^3.0.1\",\"konva\":\"^9.3.12\",\"lodash\":\"^4.17.21\",\"meshline\":\"^3.3.1\",\"regenerator-runtime\":\"^0.14.1\",\"svg-pan-zoom\":\"^3.6.2\",\"three\":\"^0.176.0\",\"three.path\":\"^1.0.1\",\"vue\":\"^2.6.11\"},\"devDependencies\":{\"@babel/core\":\"^7.12.16\",\"@babel/plugin-proposal-nullish-coalescing-operator\":\"^7.18.6\",\"@babel/plugin-proposal-optional-chaining\":\"^7.21.0\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/runtime-corejs3\":\"^7.27.1\",\"@vue/cli-plugin-babel\":\"~4.4.0\",\"@vue/cli-plugin-eslint\":\"~4.4.0\",\"@vue/cli-service\":\"~4.4.0\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.0\",\"copy-webpack-plugin\":\"^4.0.1\",\"eslint\":\"^6.7.2\",\"eslint-config-prettier\":\"^6.15.0\",\"eslint-plugin-prettier\":\"^3.4.1\",\"eslint-plugin-vue\":\"^6.2.2\",\"patch-package\":\"^6.4.7\",\"prettier\":\"^2.8.8\",\"sass\":\"1.32.13\",\"sass-loader\":\"10.1.1\",\"vue-template-compiler\":\"^2.6.11\",\"worker-loader\":\"^3.0.8\"},\"browserslist\":[\"> 1%\",\"last 2 versions\"]}");
56517
+ module.exports = JSON.parse("{\"name\":\"fl-web-component\",\"version\":\"2.0.16\",\"scripts\":{\"postinstall\":\"patch-package\",\"tip1\":\"仅调试本组件不涉及业务组件,请执行dev\",\"dev\":\"vue-cli-service serve\",\"lint\":\"eslint \\\"{src,packages}/**/*.{vue,js}\\\" --fix\",\"prettier\":\"prettier --write \\\"packages/**/*.{js,css,less,scss,vue,html}\\\"\",\"=\":\"=============================================================\",\"tip2\":\"同时调试本组件与业务组件,请执行watch\",\"watch\":\"vue-cli-service build --watch --mode production --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build\":\"npm run lint && vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"build:test\":\"vue-cli-service build --target lib --name fl-web-component --formats commonjs ./src/main.js\",\"publish:base\":\"npm run build && npm publish --registry https://registry.npmjs.org/\",\"publish:beta:base\":\"npm run build && npm publish --tag beta --registry https://registry.npmjs.org/\",\"==\":\"=============================================================\",\"tip3\":\"发版注意: 【测试版执行publish:beta】【修改bug执行publish:fix】【新增功能执行publish:feat】【新特性执行publish:perf】\",\"publish:beta\":\"npm version prerelease --preid=beta && npm run publish:beta:base\",\"publish:fix\":\"npm version patch && npm run publish:base\",\"publish:feat\":\"npm version minor && npm run publish:base\",\"publish:perf\":\"npm version major && npm run publish:base\"},\"files\":[\"dist\",\"packages\",\"src\"],\"main\":\"dist/fl-web-component.common.js\",\"dependencies\":{\"camera-controls\":\"2.9.0\",\"core-js\":\"^3.42.0\",\"dxf-parser\":\"^1.1.2\",\"element-ui\":\"2.15.14\",\"fflate\":\"^0.8.2\",\"html2canvas\":\"^1.4.1\",\"jspdf\":\"^3.0.1\",\"konva\":\"^9.3.12\",\"lodash\":\"^4.17.21\",\"meshline\":\"^3.3.1\",\"regenerator-runtime\":\"^0.14.1\",\"svg-pan-zoom\":\"^3.6.2\",\"three\":\"^0.176.0\",\"three.path\":\"^1.0.1\",\"vue\":\"^2.6.11\"},\"devDependencies\":{\"@babel/core\":\"^7.12.16\",\"@babel/plugin-proposal-nullish-coalescing-operator\":\"^7.18.6\",\"@babel/plugin-proposal-optional-chaining\":\"^7.21.0\",\"@babel/preset-env\":\"^7.0.0\",\"@babel/runtime-corejs3\":\"^7.27.1\",\"@vue/cli-plugin-babel\":\"~4.4.0\",\"@vue/cli-plugin-eslint\":\"~4.4.0\",\"@vue/cli-service\":\"~4.4.0\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.0\",\"copy-webpack-plugin\":\"^4.0.1\",\"eslint\":\"^6.7.2\",\"eslint-config-prettier\":\"^6.15.0\",\"eslint-plugin-prettier\":\"^3.4.1\",\"eslint-plugin-vue\":\"^6.2.2\",\"patch-package\":\"^6.4.7\",\"prettier\":\"^2.8.8\",\"sass\":\"1.32.13\",\"sass-loader\":\"10.1.1\",\"vue-template-compiler\":\"^2.6.11\",\"worker-loader\":\"^3.0.8\"},\"browserslist\":[\"> 1%\",\"last 2 versions\"]}");
56518
56518
 
56519
56519
  /***/ }),
56520
56520
 
@@ -78641,7 +78641,7 @@ if (typeof window !== 'undefined') {
78641
78641
  // Indicate to webpack that this file can be concatenated
78642
78642
  /* harmony default export */ var setPublicPath = (null);
78643
78643
 
78644
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0f764383-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=3e15de76&scoped=true
78644
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"370de1b5-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/index.vue?vue&type=template&id=3e15de76&scoped=true
78645
78645
  var com_graphicsvue_type_template_id_3e15de76_scoped_true_render = function render() {
78646
78646
  var _vm = this,
78647
78647
  _c = _vm._self._c;
@@ -126597,8 +126597,8 @@ var component = normalizeComponent(
126597
126597
  )
126598
126598
 
126599
126599
  /* harmony default export */ var com_graphics = (component.exports);
126600
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0f764383-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=21bcf2d9&scoped=true
126601
- var com_flcanvasvue_type_template_id_21bcf2d9_scoped_true_render = function render() {
126600
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"370de1b5-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-flcanvas/index.vue?vue&type=template&id=b313ab6c&scoped=true
126601
+ var com_flcanvasvue_type_template_id_b313ab6c_scoped_true_render = function render() {
126602
126602
  var _vm = this,
126603
126603
  _c = _vm._self._c;
126604
126604
  return _c('div', {
@@ -126611,9 +126611,9 @@ var com_flcanvasvue_type_template_id_21bcf2d9_scoped_true_render = function rend
126611
126611
  }
126612
126612
  });
126613
126613
  };
126614
- var com_flcanvasvue_type_template_id_21bcf2d9_scoped_true_staticRenderFns = [];
126614
+ var com_flcanvasvue_type_template_id_b313ab6c_scoped_true_staticRenderFns = [];
126615
126615
 
126616
- // CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=template&id=21bcf2d9&scoped=true
126616
+ // CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=template&id=b313ab6c&scoped=true
126617
126617
 
126618
126618
  // EXTERNAL MODULE: ./node_modules/konva/lib/index.js
126619
126619
  var lib = __webpack_require__("362d");
@@ -130048,7 +130048,8 @@ var activedSvgPan = {
130048
130048
  components: {},
130049
130049
  data: function data() {
130050
130050
  return {
130051
- bounds: null
130051
+ bounds: null,
130052
+ bounds1: null
130052
130053
  };
130053
130054
  },
130054
130055
  created: function created() {
@@ -130115,30 +130116,47 @@ var activedSvgPan = {
130115
130116
  };
130116
130117
  konvaStage.position(newPos);
130117
130118
  });
130118
- konvaStage.on('pointerdblclick', function (e) {
130119
+ //双击鼠标滚轮
130120
+ konvaStage.on("pointerdblclick", function (e) {
130121
+ /*
130122
+ konvaStage.scale({
130123
+ x: 1,
130124
+ y: 1,
130125
+ });
130126
+ let x=-parseFloat(this.bounds.minX);
130127
+ let y =-parseFloat(this.bounds.minY);
130128
+ konvaStage.setX(x);
130129
+ konvaStage.setY(y); // 750
130130
+ //算一下舞台中点
130131
+ let width=konvaStage.width();
130132
+ let height=konvaStage.height()
130133
+ let x1=width/2;
130134
+ let y1=height/2;
130135
+ //算包围盒宽高
130136
+ let boundsWidth=this.bounds.maxX-this.bounds.minX;
130137
+ let boundsHeight=Math.abs(Math.abs(this.bounds.maxY)-Math.abs(this.bounds.minY));
130138
+ let x2=x+x1-(boundsWidth/2);
130139
+ let y2=y+y1-(boundsHeight/2)
130140
+ konvaStage.setX(x2);
130141
+ konvaStage.setY(y2); // 750
130142
+ */
130143
+
130144
+ var _this2$calculateScale = _this2.calculateScaleAndPosition(_this2.bounds, konvaStage.width(), konvaStage.height(), 0.05 // 5% 边距
130145
+ ),
130146
+ scale = _this2$calculateScale.scale,
130147
+ x = _this2$calculateScale.x,
130148
+ y = _this2$calculateScale.y;
130149
+ console.log("test2:");
130150
+ console.log(_this2.bounds);
130151
+ konvaStage.position({
130152
+ x: x,
130153
+ y: y
130154
+ });
130119
130155
  konvaStage.scale({
130120
- x: 1,
130121
- y: 1
130156
+ x: scale,
130157
+ y: scale
130122
130158
  });
130123
- var x = -parseFloat(_this2.bounds.minX);
130124
- var y = -parseFloat(_this2.bounds.minY);
130125
- konvaStage.setX(x);
130126
- konvaStage.setY(y); // 750
130127
-
130128
- //算一下舞台中点
130129
- var width = konvaStage.width();
130130
- var height = konvaStage.height();
130131
- var x1 = width / 2;
130132
- var y1 = height / 2;
130133
-
130134
- //算包围盒宽高
130135
-
130136
- var boundsWidth = _this2.bounds.maxX - _this2.bounds.minX;
130137
- var boundsHeight = Math.abs(Math.abs(_this2.bounds.maxY) - Math.abs(_this2.bounds.minY));
130138
- var x2 = x + x1 - boundsWidth / 2;
130139
- var y2 = y + y1 - boundsHeight / 2;
130140
- konvaStage.setX(x2);
130141
- konvaStage.setY(y2); // 750
130159
+ konvaStage.batchDraw();
130142
130160
  });
130143
130161
  });
130144
130162
 
@@ -130147,6 +130165,52 @@ var activedSvgPan = {
130147
130165
  //销毁方法
130148
130166
 
130149
130167
  methods: {
130168
+ calculateScaleAndPosition: function calculateScaleAndPosition(contentBounds, stageWidth, stageHeight) {
130169
+ var padding = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.1;
130170
+ // 1. 计算内容的实际宽高
130171
+ var contentWidth = contentBounds.maxX - contentBounds.minX;
130172
+ var contentHeight = contentBounds.maxY - contentBounds.minY;
130173
+
130174
+ // 2. 处理空内容或零宽高的边界情况
130175
+ if (contentWidth <= 0 || contentHeight <= 0) {
130176
+ return {
130177
+ scale: 1,
130178
+ x: stageWidth / 2,
130179
+ y: stageHeight / 2
130180
+ };
130181
+ }
130182
+
130183
+ // 3. 计算可用区域(留出边距)
130184
+ var availableWidth = stageWidth * (1 - padding * 2);
130185
+ var availableHeight = stageHeight * (1 - padding * 2);
130186
+
130187
+ // 4. 计算缩放比例(取较小的那个,确保完全显示)
130188
+ var scaleX = availableWidth / contentWidth;
130189
+ var scaleY = availableHeight / contentHeight;
130190
+ var scale = Math.min(scaleX, scaleY);
130191
+
130192
+ // 5. 计算缩放后的内容尺寸
130193
+ var scaledWidth = contentWidth * scale;
130194
+ var scaledHeight = contentHeight * scale;
130195
+
130196
+ // 6. 计算居中偏移量
130197
+ // 内容中心点在缩放后的位置
130198
+ var contentCenterX = (contentBounds.minX + contentBounds.maxX) / 2;
130199
+ var contentCenterY = (contentBounds.minY + contentBounds.maxY) / 2;
130200
+
130201
+ // 画布中心点
130202
+ var stageCenterX = stageWidth / 2;
130203
+ var stageCenterY = stageHeight / 2;
130204
+
130205
+ // 偏移量 = 画布中心 - 内容中心 * 缩放
130206
+ var x = stageCenterX - contentCenterX * scale;
130207
+ var y = stageCenterY - contentCenterY * scale;
130208
+ return {
130209
+ scale: scale,
130210
+ x: x,
130211
+ y: y
130212
+ };
130213
+ },
130150
130214
  updateBounds: function updateBounds(v) {
130151
130215
  if (this.bounds === null) {
130152
130216
  this.bounds = {
@@ -130168,6 +130232,27 @@ var activedSvgPan = {
130168
130232
  }
130169
130233
  }
130170
130234
  },
130235
+ updateBounds1: function updateBounds1(v) {
130236
+ if (this.bounds1 === null) {
130237
+ this.bounds1 = {
130238
+ minX: v.x,
130239
+ maxX: v.x,
130240
+ minY: v.y,
130241
+ maxY: v.y
130242
+ };
130243
+ } else {
130244
+ if (v.x < this.bounds1.minX) {
130245
+ this.bounds1.minX = v.x;
130246
+ } else if (v.x > this.bounds1.maxX) {
130247
+ this.bounds1.maxX = v.x;
130248
+ }
130249
+ if (v.y < this.bounds1.minY) {
130250
+ this.bounds1.minY = v.y;
130251
+ } else if (v.y > this.bounds1.maxY) {
130252
+ this.bounds1.maxY = v.y;
130253
+ }
130254
+ }
130255
+ },
130171
130256
  //思路是计算居中包围盒,然后排除脏数据。
130172
130257
  loadDxf: function loadDxf(data) {
130173
130258
  var _this$$refs$svgDraw,
@@ -130349,92 +130434,129 @@ var activedSvgPan = {
130349
130434
  var pdf = new jspdf_es_min["a" /* default */]('l', 'px', [konvaStage.width(), konvaStage.height()]);
130350
130435
  var exportPixelRatio = 2; // 可以 2/3/4 自己调
130351
130436
 
130352
- for (var i = 0; i < list.length; i++) {
130353
- var data = list[i];
130437
+ for (var pageIdx = 0; pageIdx < list.length; pageIdx++) {
130438
+ var data = list[pageIdx];
130354
130439
  //先绘制图面
130355
130440
  konvaLayer.destroyChildren();
130356
130441
  var parser = new dxf_parser_dist();
130357
130442
  var dxf = parser.parse(data);
130358
130443
  var entities = formatEntity(dxf.entities);
130359
130444
  var layers = dxf.tables.layer.layers;
130445
+
130446
+ //先计算包围
130447
+ for (var key in entities) {
130448
+ if (entities[key]) {
130449
+ var group = [];
130450
+ var l = entities[key].length;
130451
+ var layerConfig = recordLayerConfig[key];
130452
+ var configParams = layerConfig && Object.keys(layerConfig).length > 0 ? layerConfig : null;
130453
+ for (var i = 0; i < l; i++) {
130454
+ var type = entities[key][i].type;
130455
+ handleFn(type, dxf, entities[key][i], group, key, configParams, konvaLayer, recordLayerConfig);
130456
+ }
130457
+ for (var _i3 = 0; _i3 < group.length; _i3++) {
130458
+ var entity = group[_i3];
130459
+ if (entity.type === 'line') {
130460
+ var x1 = entity.x1;
130461
+ var y1 = entity.y1;
130462
+ var x2 = entity.x2;
130463
+ var y2 = entity.y2;
130464
+ var v1 = {};
130465
+ v1.x = x1;
130466
+ v1.y = y1;
130467
+ var v2 = {};
130468
+ v2.x = x2;
130469
+ v2.y = y2;
130470
+ _this.updateBounds1(v1);
130471
+ _this.updateBounds1(v2);
130472
+ }
130473
+ if (entity.type === "polyline") {
130474
+ var flag = false;
130475
+ var points = entity.points;
130476
+ var closed = entity.closed;
130477
+ for (var j = 0; j < points.length; j++) {
130478
+ var index = j % 2;
130479
+ if (index === 0) {
130480
+ var _x2 = points[j];
130481
+ var _y2 = points[j + 1];
130482
+ var point = {};
130483
+ point.x = _x2;
130484
+ point.y = _y2;
130485
+ _this.updateBounds1(point);
130486
+ }
130487
+ }
130488
+ }
130489
+ }
130490
+ }
130491
+ }
130492
+ console.log("bounds1");
130493
+ console.log(_this.bounds1);
130360
130494
  var _loop2 = function _loop2() {
130361
- if (entities[key]) {
130362
- var group = [];
130363
- var l = entities[key].length;
130364
- var layerConfig = recordLayerConfig[key];
130365
- var configParams = layerConfig && Object.keys(layerConfig).length > 0 ? layerConfig : null;
130366
- for (var _i3 = 0; _i3 < l; _i3++) {
130367
- var type = entities[key][_i3].type;
130368
- handleFn(type, dxf, entities[key][_i3], group, key, configParams, konvaLayer, recordLayerConfig);
130495
+ if (entities[_key]) {
130496
+ var _group = [];
130497
+ var _l = entities[_key].length;
130498
+ var _layerConfig = recordLayerConfig[_key];
130499
+ var _configParams = _layerConfig && Object.keys(_layerConfig).length > 0 ? _layerConfig : null;
130500
+ for (var _i4 = 0; _i4 < _l; _i4++) {
130501
+ var _type = entities[_key][_i4].type;
130502
+ handleFn(_type, dxf, entities[_key][_i4], _group, _key, _configParams, konvaLayer, recordLayerConfig);
130369
130503
  }
130370
130504
  if (!konvaLayer) return {
130371
130505
  v: void 0
130372
130506
  };
130373
- for (var _i4 = 0; _i4 < group.length; _i4++) {
130374
- var entity = group[_i4];
130375
- if (entity.type === 'text') {
130376
- if (konvaLayer) konvaLayer.add(entity.obj);
130507
+ for (var _i5 = 0; _i5 < _group.length; _i5++) {
130508
+ var _entity2 = _group[_i5];
130509
+ if (_entity2.type === 'text') {
130510
+ if (konvaLayer) konvaLayer.add(_entity2.obj);
130377
130511
  }
130378
130512
  }
130379
- if (group[0].stroke == undefined) {
130380
- console.log(group);
130381
- group[0].stroke = '#000';
130513
+ if (_group[0].stroke == undefined) {
130514
+ console.log(_group);
130515
+ _group[0].stroke = '#000';
130382
130516
  }
130383
130517
  var customShape = new lib_default.a.Shape({
130384
130518
  x: 0,
130385
130519
  y: 0,
130386
130520
  strokeWidth: 0.2,
130387
- name: key.replace(/\s*/g, ''),
130388
- entityId: key,
130389
- stroke: group[0].stroke,
130390
- customColor: configParams ? configParams.color : '',
130521
+ name: _key.replace(/\s*/g, ""),
130522
+ entityId: _key,
130523
+ stroke: _group[0].stroke,
130524
+ customColor: _configParams ? _configParams.color : "",
130391
130525
  //visible: configParams ? configParams.visible :true,
130392
130526
  sceneFunc: function sceneFunc(context, shape) {
130393
130527
  context.beginPath();
130394
- for (var _i5 = 0; _i5 < group.length; _i5++) {
130395
- var _entity2 = group[_i5];
130396
- if (_entity2.type === 'line') {
130397
- context.strokeStyle = _entity2.stroke;
130398
- var x1 = _entity2.x1;
130399
- var y1 = _entity2.y1;
130400
- var x2 = _entity2.x2;
130401
- var y2 = _entity2.y2;
130402
- if (x1 != undefined && y1 != undefined && x2 != undefined && y2 != undefined) {
130403
- context.moveTo(x1, -parseFloat(y1));
130404
- context.lineTo(x2, -parseFloat(y2));
130528
+ for (var _i6 = 0; _i6 < _group.length; _i6++) {
130529
+ var _entity3 = _group[_i6];
130530
+ if (_entity3.type === 'line') {
130531
+ context.strokeStyle = _entity3.stroke;
130532
+ var _x3 = _entity3.x1;
130533
+ var _y3 = _entity3.y1;
130534
+ var _x4 = _entity3.x2;
130535
+ var _y4 = _entity3.y2;
130536
+ if (_x3 != undefined && _y3 != undefined && _x4 != undefined && _y4 != undefined) {
130537
+ context.moveTo(_x3, -parseFloat(_y3));
130538
+ context.lineTo(_x4, -parseFloat(_y4));
130405
130539
  }
130406
- var v1 = {};
130407
- v1.x = x1;
130408
- v1.y = y1;
130409
- var v2 = {};
130410
- v2.x = x2;
130411
- v2.y = y2;
130412
- _this.updateBounds(v1);
130413
- _this.updateBounds(v2);
130414
130540
  }
130415
- if (_entity2.type === 'polyline') {
130416
- context.strokeStyle = _entity2.stroke;
130417
- var flag = false;
130418
- var points = _entity2.points;
130419
- var closed = _entity2.closed;
130420
- for (var j = 0; j < points.length; j++) {
130421
- var index = j % 2;
130422
- if (index === 0) {
130423
- var x = points[j];
130424
- var y = points[j + 1];
130425
- var point = {};
130426
- point.x = x;
130427
- point.y = y;
130428
- _this.updateBounds(point);
130429
- if (j === 0) {
130430
- context.moveTo(x, y);
130541
+ if (_entity3.type === "polyline") {
130542
+ context.strokeStyle = _entity3.stroke;
130543
+ var _flag = false;
130544
+ var _points = _entity3.points;
130545
+ var _closed = _entity3.closed;
130546
+ for (var _j = 0; _j < _points.length; _j++) {
130547
+ var _index = _j % 2;
130548
+ if (_index === 0) {
130549
+ var _x5 = _points[_j];
130550
+ var _y5 = _points[_j + 1];
130551
+ if (_j === 0) {
130552
+ context.moveTo(_x5, _y5);
130431
130553
  } else {
130432
- context.lineTo(x, y);
130554
+ context.lineTo(_x5, _y5);
130433
130555
  }
130434
130556
  }
130435
- if (closed) {
130436
- if (j === points.length - 1) {
130437
- context.lineTo(points[0], points[1]);
130557
+ if (_closed) {
130558
+ if (_j === _points.length - 1) {
130559
+ context.lineTo(_points[0], _points[1]);
130438
130560
  }
130439
130561
  }
130440
130562
  }
@@ -130448,19 +130570,30 @@ var activedSvgPan = {
130448
130570
  }
130449
130571
  },
130450
130572
  _ret2;
130451
- for (var key in entities) {
130573
+ for (var _key in entities) {
130452
130574
  _ret2 = _loop2();
130453
130575
  if (_ret2) return _ret2.v;
130454
130576
  }
130577
+ var _this$calculateScaleA = this.calculateScaleAndPosition(_this.bounds1, konvaStage.width(), konvaStage.height(), 0.05 // 5% 边距
130578
+ ),
130579
+ scale = _this$calculateScaleA.scale,
130580
+ x = _this$calculateScaleA.x,
130581
+ y = _this$calculateScaleA.y;
130582
+ console.log("test1:");
130583
+ console.log(this.bounds1);
130584
+ _this.bounds1 = null;
130585
+ konvaStage.position({
130586
+ x: x,
130587
+ y: y
130588
+ });
130455
130589
  konvaStage.scale({
130456
- x: 2,
130457
- y: 2
130590
+ x: scale,
130591
+ y: scale
130458
130592
  });
130459
- konvaStage.setX(0);
130460
- konvaStage.setY(750); // 750
130593
+ konvaStage.batchDraw();
130461
130594
  //添加成功移动视口位置
130462
130595
 
130463
- if (i == 0) {
130596
+ if (pageIdx == 0) {
130464
130597
  pdf.addImage(konvaStage.toDataURL({
130465
130598
  pixelRatio: 2
130466
130599
  }), 0, 0, konvaStage.width(), konvaStage.height());
@@ -130471,7 +130604,7 @@ var activedSvgPan = {
130471
130604
  }), 0, 0, konvaStage.width(), konvaStage.height());
130472
130605
  }
130473
130606
  }
130474
- pdf.save('批量导出.pdf');
130607
+ pdf.save("批量导出.pdf");
130475
130608
 
130476
130609
  // var imgData = canvas.toDataURL('image/png');
130477
130610
  //doc.text("Hello world!", 10, 10);
@@ -130493,8 +130626,8 @@ var activedSvgPan = {
130493
130626
  });
130494
130627
  // CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=script&lang=js
130495
130628
  /* harmony default export */ var components_com_flcanvasvue_type_script_lang_js = (com_flcanvasvue_type_script_lang_js);
130496
- // EXTERNAL MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=style&index=0&id=21bcf2d9&prod&lang=scss&scoped=true
130497
- var com_flcanvasvue_type_style_index_0_id_21bcf2d9_prod_lang_scss_scoped_true = __webpack_require__("5df3");
130629
+ // EXTERNAL MODULE: ./packages/components/com-flcanvas/index.vue?vue&type=style&index=0&id=b313ab6c&prod&lang=scss&scoped=true
130630
+ var com_flcanvasvue_type_style_index_0_id_b313ab6c_prod_lang_scss_scoped_true = __webpack_require__("273d");
130498
130631
 
130499
130632
  // CONCATENATED MODULE: ./packages/components/com-flcanvas/index.vue
130500
130633
 
@@ -130507,17 +130640,17 @@ var com_flcanvasvue_type_style_index_0_id_21bcf2d9_prod_lang_scss_scoped_true =
130507
130640
 
130508
130641
  var com_flcanvas_component = normalizeComponent(
130509
130642
  components_com_flcanvasvue_type_script_lang_js,
130510
- com_flcanvasvue_type_template_id_21bcf2d9_scoped_true_render,
130511
- com_flcanvasvue_type_template_id_21bcf2d9_scoped_true_staticRenderFns,
130643
+ com_flcanvasvue_type_template_id_b313ab6c_scoped_true_render,
130644
+ com_flcanvasvue_type_template_id_b313ab6c_scoped_true_staticRenderFns,
130512
130645
  false,
130513
130646
  null,
130514
- "21bcf2d9",
130647
+ "b313ab6c",
130515
130648
  null
130516
130649
 
130517
130650
  )
130518
130651
 
130519
130652
  /* harmony default export */ var com_flcanvas = (com_flcanvas_component.exports);
130520
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0f764383-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
130653
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"370de1b5-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/per-control.vue?vue&type=template&id=f547d5c6&scoped=true
130521
130654
  var per_controlvue_type_template_id_f547d5c6_scoped_true_render = function render() {
130522
130655
  var _vm = this,
130523
130656
  _c = _vm._self._c;
@@ -130625,7 +130758,7 @@ var per_control_component = normalizeComponent(
130625
130758
  )
130626
130759
 
130627
130760
  /* harmony default export */ var per_control = (per_control_component.exports);
130628
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0f764383-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=2572c0e2&scoped=true
130761
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"370de1b5-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/pid.vue?vue&type=template&id=2572c0e2&scoped=true
130629
130762
  var pidvue_type_template_id_2572c0e2_scoped_true_render = function render() {
130630
130763
  var _vm = this,
130631
130764
  _c = _vm._self._c;
@@ -130672,7 +130805,7 @@ var browserify_default = /*#__PURE__*/__webpack_require__.n(browserify);
130672
130805
  var html2canvas = __webpack_require__("c0e9");
130673
130806
  var html2canvas_default = /*#__PURE__*/__webpack_require__.n(html2canvas);
130674
130807
 
130675
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0f764383-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/component/ann-tool.vue?vue&type=template&id=4b17bce0&scoped=true
130808
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"370de1b5-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/com-graphics/component/ann-tool.vue?vue&type=template&id=4b17bce0&scoped=true
130676
130809
  var ann_toolvue_type_template_id_4b17bce0_scoped_true_render = function render() {
130677
130810
  var _vm = this,
130678
130811
  _c = _vm._self._c;