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.
- package/README.md +4 -0
- package/dist/fl-web-component.common.2.js +126 -48
- package/dist/fl-web-component.common.2.js.map +1 -1
- package/dist/fl-web-component.common.js +255 -122
- package/dist/fl-web-component.common.js.map +1 -1
- package/dist/fl-web-component.css +1 -1
- package/package.json +1 -1
- package/packages/components/com-flcanvas/index.vue +279 -88
|
@@ -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.
|
|
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":"
|
|
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":"
|
|
126601
|
-
var
|
|
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
|
|
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=
|
|
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
|
-
|
|
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:
|
|
130121
|
-
y:
|
|
130156
|
+
x: scale,
|
|
130157
|
+
y: scale
|
|
130122
130158
|
});
|
|
130123
|
-
|
|
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
|
|
130353
|
-
var data = list[
|
|
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[
|
|
130362
|
-
var
|
|
130363
|
-
var
|
|
130364
|
-
var
|
|
130365
|
-
var
|
|
130366
|
-
for (var
|
|
130367
|
-
var
|
|
130368
|
-
handleFn(
|
|
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
|
|
130374
|
-
var
|
|
130375
|
-
if (
|
|
130376
|
-
if (konvaLayer) konvaLayer.add(
|
|
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 (
|
|
130380
|
-
console.log(
|
|
130381
|
-
|
|
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:
|
|
130388
|
-
entityId:
|
|
130389
|
-
stroke:
|
|
130390
|
-
customColor:
|
|
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
|
|
130395
|
-
var
|
|
130396
|
-
if (
|
|
130397
|
-
context.strokeStyle =
|
|
130398
|
-
var
|
|
130399
|
-
var
|
|
130400
|
-
var
|
|
130401
|
-
var
|
|
130402
|
-
if (
|
|
130403
|
-
context.moveTo(
|
|
130404
|
-
context.lineTo(
|
|
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 (
|
|
130416
|
-
context.strokeStyle =
|
|
130417
|
-
var
|
|
130418
|
-
var
|
|
130419
|
-
var
|
|
130420
|
-
for (var
|
|
130421
|
-
var
|
|
130422
|
-
if (
|
|
130423
|
-
var
|
|
130424
|
-
var
|
|
130425
|
-
|
|
130426
|
-
|
|
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(
|
|
130554
|
+
context.lineTo(_x5, _y5);
|
|
130433
130555
|
}
|
|
130434
130556
|
}
|
|
130435
|
-
if (
|
|
130436
|
-
if (
|
|
130437
|
-
context.lineTo(
|
|
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
|
|
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:
|
|
130457
|
-
y:
|
|
130590
|
+
x: scale,
|
|
130591
|
+
y: scale
|
|
130458
130592
|
});
|
|
130459
|
-
konvaStage.
|
|
130460
|
-
konvaStage.setY(750); // 750
|
|
130593
|
+
konvaStage.batchDraw();
|
|
130461
130594
|
//添加成功移动视口位置
|
|
130462
130595
|
|
|
130463
|
-
if (
|
|
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(
|
|
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=
|
|
130497
|
-
var
|
|
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
|
-
|
|
130511
|
-
|
|
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
|
-
"
|
|
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":"
|
|
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":"
|
|
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":"
|
|
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;
|