fl-web-component 2.1.1-beta.6 → 2.1.1-beta.7

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.
@@ -1 +1 @@
1
- @charset "UTF-8";.fl-model-containor[data-v-7f8842df]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-7f8842df] .tips-label{width:60px;color:#000;font:12px Helvetica;margin-top:-3em;padding:5px;text-align:center;vertical-align:middle;background-color:khaki}[data-v-7f8842df] .measure-label{max-width:100px;margin-top:-1em;border:10px;border-radius:5px;padding:3px 10px;cursor:pointer;color:#009bea;background-color:#f4f4f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.25);box-shadow:0 1px 3px 1px rgba(0,0,0,.25)}[data-v-7f8842df] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-7f8842df] .measure-label-font{word-break:break-all}[data-v-7f8842df] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-7f8842df]{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.loading-overlay--visible[data-v-7f8842df]{opacity:1;visibility:visible}.loading-content[data-v-7f8842df]{background:#fff;border-radius:12px;padding:30px;text-align:center;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);min-width:300px;max-width:400px}.loading-spinner[data-v-7f8842df]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-7f8842df 1s linear infinite;animation:spin-7f8842df 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-7f8842df{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-7f8842df{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-7f8842df]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-7f8842df]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-7f8842df]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#409eff),to(#67c23a));background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.loading-details[data-v-7f8842df]{font-size:12px;color:#666;line-height:1.5}.lil-this.gui{background:hsla(0,0%,100%,.95)!important;border:1px solid #e0e0e0!important;border-radius:8px!important;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;backdrop-filter:blur(10px)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.lil-this.gui .title{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important;font-weight:600!important;padding:0 12px!important;border-radius:8px 8px 0 0!important}.lil-this.gui .controller{border-bottom:1px solid #f1f3f4!important;background:transparent!important}.lil-this.gui .controller:last-child{border-bottom:none!important}.lil-this.gui .controller .name{color:#495057!important;font-weight:500!important;font-size:12px!important}.lil-this.gui .controller .widget{background:#f8f9fa!important;border:1px solid #ced4da!important;border-radius:4px!important;color:#495057!important}.lil-this.gui .controller .widget:focus,.lil-this.gui .controller .widget:hover{border-color:#80bdff!important;-webkit-box-shadow:0 0 0 2px rgba(0,123,255,.25)!important;box-shadow:0 0 0 2px rgba(0,123,255,.25)!important}.lil-this.gui .controller .widget:focus{outline:none!important}.lil-this.gui .controller input[type=range]{background:#e9ecef!important;height:4px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:2px!important}.lil-this.gui .controller.number .fill{border-right:solid #008de9}.lil-this.gui .controller input[type=range]::-webkit-slider-thumb{background:#007bff!important;border:2px solid #fff!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2)!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important}.lil-this.gui .controller input[type=range]::-moz-range-thumb{background:#007bff!important;border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;cursor:pointer!important}.lil-this.gui .controller .option{background:#fff!important;color:#495057!important;border-bottom:1px solid #f1f3f4!important}.lil-this.gui .controller .option:hover{background:#f8f9fa!important}.lil-this.gui .controller .option:last-child{border-bottom:none!important}.lil-this.gui input:active{background:#e6eff4}.lil-this.gui .controller button{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-weight:500!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.lil-this.gui .controller button:hover{background:linear-gradient(135deg,#0056b3,#004085)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important;-webkit-box-shadow:0 4px 8px rgba(0,123,255,.3)!important;box-shadow:0 4px 8px rgba(0,123,255,.3)!important}.lil-this.gui .controller .color{border:2px solid #fff!important;border-radius:4px!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.lil-this.gui .controller.number .slider,.lil-this.gui .controller.number .slider:hover{background-color:#e6eff4}.lil-this.gui input,.lil-this.gui input:hover,.lil-this.gui input[type=number]:focus,.lil-this.gui input[type=text]:focus{background:#e6eff4}.lil-this.gui .controller>.name{min-width:25px}.lil-this.gui .controller.number input{color:#2e3136}.lil-this.gui .controller.number .slider:active{background-color:#e6eff4}.lil-this.gui .folder>.title{background:linear-gradient(135deg,#f1f3f4,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important}.lil-this.gui .folder>.title:before{color:#6c757d!important}.lil-this.gui .folder.closed>.children{display:none!important}#konva-container[data-v-cb260cfc]{z-index:3;width:100%;height:100%;cursor:pointer;overflow:hidden}span[data-v-f547d5c6]{font-weight:bolder}.text[data-v-f547d5c6]{margin-top:20px}.line[data-v-f547d5c6]{border-bottom:1px solid #dcdfe6;margin:20px 0}.center[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center .cen span[data-v-f547d5c6],.center .top span[data-v-f547d5c6]{color:"#53a8ff";display:inline-block;width:30px;height:30px;text-align:center;line-height:30px;border:1px solid;padding:5px;margin-bottom:10px;background-color:#e9f3ff}.center .cen span[data-v-f547d5c6]{margin:10px}.button[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end;margin-top:20px}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216) format("woff2"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216) format("woff"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216) format("truetype")}.iconfont[data-v-f547d5c6]{font-family:iconfont!important;font-size:50px;font-style:normal;color:"#53a8ff";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shubiao[data-v-f547d5c6]:before{content:""}.main_body[data-v-4b17bce0]{position:relative;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.classification_title[data-v-4b17bce0]{margin:0 0 10px 0;color:#fff;font-size:14px;cursor:default}.toolbar[data-v-4b17bce0]{z-index:10;position:absolute;width:520px;padding:8px 16px;border-radius:6px;-webkit-box-shadow:0 2px 10px 0 rgba(6,29,44,.25);box-shadow:0 2px 10px 0 rgba(6,29,44,.25);background-color:#fff;top:10px;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.icon_toolbar[data-v-4b17bce0],.text_toolbar[data-v-4b17bce0]{float:left;width:32px;height:32px;padding:0!important;background-repeat:no-repeat;background-size:24px;background-position:50%}.icon_active[data-v-4b17bce0],.icon_toolbar[data-v-4b17bce0]:hover,.text_toolbar[data-v-4b17bce0]:hover{background-color:#eee}[data-v-4b17bce0].icon_color .el-color-picker__trigger{height:24px;margin-top:4px;width:24px!important}[data-v-4b17bce0].el-color-picker--medium,[data-v-4b17bce0].el-color-picker--medium .el-color-picker__trigger{width:24px!important;height:24px!important}.canvas_container[data-v-4b17bce0]{position:relative;width:100%;height:100%;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.canvas_container canvas[data-v-4b17bce0]{position:absolute;left:0}.canvas_container #ctx_front[data-v-4b17bce0]{z-index:5;background-color:transparent}.canvas_container #ctx_back[data-v-4b17bce0]{z-index:3}.canvas_container #ctx_base[data-v-4b17bce0]{z-index:1}#text[data-v-4b17bce0]{position:absolute;z-index:-1;resize:none;outline:none;border:1px dashed #9c9c9c;overflow:hidden;background:transparent;line-height:30px;display:none}#text[data-v-4b17bce0]:hover{border:1px dashed #53a8ff}#svg-component[data-v-2572c0e2],#svg-tigger[data-v-2572c0e2]{cursor:pointer;height:100%;width:100%;position:relative}#toolbar-show[data-v-2572c0e2]{z-index:20;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;background:#fff}
1
+ @charset "UTF-8";.fl-model-containor[data-v-7f8842df]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-7f8842df] .tips-label{width:60px;color:#000;font:12px Helvetica;margin-top:-3em;padding:5px;text-align:center;vertical-align:middle;background-color:khaki}[data-v-7f8842df] .measure-label{max-width:100px;margin-top:-1em;border:10px;border-radius:5px;padding:3px 10px;cursor:pointer;color:#009bea;background-color:#f4f4f4;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.25);box-shadow:0 1px 3px 1px rgba(0,0,0,.25)}[data-v-7f8842df] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-7f8842df] .measure-label-font{word-break:break-all}[data-v-7f8842df] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-7f8842df]{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;-webkit-transition:opacity .3s ease,visibility .3s ease;transition:opacity .3s ease,visibility .3s ease}.loading-overlay--visible[data-v-7f8842df]{opacity:1;visibility:visible}.loading-content[data-v-7f8842df]{background:#fff;border-radius:12px;padding:30px;text-align:center;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.3);box-shadow:0 8px 32px rgba(0,0,0,.3);min-width:300px;max-width:400px}.loading-spinner[data-v-7f8842df]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-7f8842df 1s linear infinite;animation:spin-7f8842df 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-7f8842df{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-7f8842df{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-7f8842df]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-7f8842df]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-7f8842df]{height:100%;background:-webkit-gradient(linear,left top,right top,from(#409eff),to(#67c23a));background:linear-gradient(90deg,#409eff,#67c23a);border-radius:4px;-webkit-transition:width .3s ease;transition:width .3s ease}.loading-details[data-v-7f8842df]{font-size:12px;color:#666;line-height:1.5}.lil-this.gui{background:hsla(0,0%,100%,.95)!important;border:1px solid #e0e0e0!important;border-radius:8px!important;-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15)!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important;backdrop-filter:blur(10px)!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.lil-this.gui .title{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important;font-weight:600!important;padding:0 12px!important;border-radius:8px 8px 0 0!important}.lil-this.gui .controller{border-bottom:1px solid #f1f3f4!important;background:transparent!important}.lil-this.gui .controller:last-child{border-bottom:none!important}.lil-this.gui .controller .name{color:#495057!important;font-weight:500!important;font-size:12px!important}.lil-this.gui .controller .widget{background:#f8f9fa!important;border:1px solid #ced4da!important;border-radius:4px!important;color:#495057!important}.lil-this.gui .controller .widget:focus,.lil-this.gui .controller .widget:hover{border-color:#80bdff!important;-webkit-box-shadow:0 0 0 2px rgba(0,123,255,.25)!important;box-shadow:0 0 0 2px rgba(0,123,255,.25)!important}.lil-this.gui .controller .widget:focus{outline:none!important}.lil-this.gui .controller input[type=range]{background:#e9ecef!important;height:4px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;border-radius:2px!important}.lil-this.gui .controller.number .fill{border-right:solid #008de9}.lil-this.gui .controller input[type=range]::-webkit-slider-thumb{background:#007bff!important;border:2px solid #fff!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2)!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important}.lil-this.gui .controller input[type=range]::-moz-range-thumb{background:#007bff!important;border:2px solid #fff!important;box-shadow:0 2px 4px rgba(0,0,0,.2)!important;width:16px!important;height:16px!important;border-radius:50%!important;cursor:pointer!important}.lil-this.gui .controller .option{background:#fff!important;color:#495057!important;border-bottom:1px solid #f1f3f4!important}.lil-this.gui .controller .option:hover{background:#f8f9fa!important}.lil-this.gui .controller .option:last-child{border-bottom:none!important}.lil-this.gui input:active{background:#e6eff4}.lil-this.gui .controller button{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:#fff!important;border:none!important;border-radius:4px!important;font-weight:500!important;-webkit-transition:all .2s ease!important;transition:all .2s ease!important}.lil-this.gui .controller button:hover{background:linear-gradient(135deg,#0056b3,#004085)!important;-webkit-transform:translateY(-1px)!important;transform:translateY(-1px)!important;-webkit-box-shadow:0 4px 8px rgba(0,123,255,.3)!important;box-shadow:0 4px 8px rgba(0,123,255,.3)!important}.lil-this.gui .controller .color{border:2px solid #fff!important;border-radius:4px!important;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1)!important;box-shadow:0 2px 4px rgba(0,0,0,.1)!important}.lil-this.gui .controller.number .slider,.lil-this.gui .controller.number .slider:hover{background-color:#e6eff4}.lil-this.gui input,.lil-this.gui input:hover,.lil-this.gui input[type=number]:focus,.lil-this.gui input[type=text]:focus{background:#e6eff4}.lil-this.gui .controller>.name{min-width:25px}.lil-this.gui .controller.number input{color:#2e3136}.lil-this.gui .controller.number .slider:active{background-color:#e6eff4}.lil-this.gui .folder>.title{background:linear-gradient(135deg,#f1f3f4,#e9ecef)!important;color:#495057!important;border-bottom:1px solid #dee2e6!important}.lil-this.gui .folder>.title:before{color:#6c757d!important}.lil-this.gui .folder.closed>.children{display:none!important}#konva-container[data-v-3b9c081b]{z-index:3;width:100%;height:100%;cursor:pointer;overflow:hidden}span[data-v-f547d5c6]{font-weight:bolder}.text[data-v-f547d5c6]{margin-top:20px}.line[data-v-f547d5c6]{border-bottom:1px solid #dcdfe6;margin:20px 0}.center[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.center .cen span[data-v-f547d5c6],.center .top span[data-v-f547d5c6]{color:"#53a8ff";display:inline-block;width:30px;height:30px;text-align:center;line-height:30px;border:1px solid;padding:5px;margin-bottom:10px;background-color:#e9f3ff}.center .cen span[data-v-f547d5c6]{margin:10px}.button[data-v-f547d5c6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:end;margin-top:20px}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff2?t=1646635700216) format("woff2"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.woff?t=1646635700216) format("woff"),url(//at.alicdn.com/t/font_3226805_qqvo3ag3r8.ttf?t=1646635700216) format("truetype")}.iconfont[data-v-f547d5c6]{font-family:iconfont!important;font-size:50px;font-style:normal;color:"#53a8ff";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-shubiao[data-v-f547d5c6]:before{content:""}.main_body[data-v-4b17bce0]{position:relative;width:100%;height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.classification_title[data-v-4b17bce0]{margin:0 0 10px 0;color:#fff;font-size:14px;cursor:default}.toolbar[data-v-4b17bce0]{z-index:10;position:absolute;width:520px;padding:8px 16px;border-radius:6px;-webkit-box-shadow:0 2px 10px 0 rgba(6,29,44,.25);box-shadow:0 2px 10px 0 rgba(6,29,44,.25);background-color:#fff;top:10px;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transform:translateX(-50%);transform:translateX(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.icon_toolbar[data-v-4b17bce0],.text_toolbar[data-v-4b17bce0]{float:left;width:32px;height:32px;padding:0!important;background-repeat:no-repeat;background-size:24px;background-position:50%}.icon_active[data-v-4b17bce0],.icon_toolbar[data-v-4b17bce0]:hover,.text_toolbar[data-v-4b17bce0]:hover{background-color:#eee}[data-v-4b17bce0].icon_color .el-color-picker__trigger{height:24px;margin-top:4px;width:24px!important}[data-v-4b17bce0].el-color-picker--medium,[data-v-4b17bce0].el-color-picker--medium .el-color-picker__trigger{width:24px!important;height:24px!important}.canvas_container[data-v-4b17bce0]{position:relative;width:100%;height:100%;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.canvas_container canvas[data-v-4b17bce0]{position:absolute;left:0}.canvas_container #ctx_front[data-v-4b17bce0]{z-index:5;background-color:transparent}.canvas_container #ctx_back[data-v-4b17bce0]{z-index:3}.canvas_container #ctx_base[data-v-4b17bce0]{z-index:1}#text[data-v-4b17bce0]{position:absolute;z-index:-1;resize:none;outline:none;border:1px dashed #9c9c9c;overflow:hidden;background:transparent;line-height:30px;display:none}#text[data-v-4b17bce0]:hover{border:1px dashed #53a8ff}#svg-component[data-v-2572c0e2],#svg-tigger[data-v-2572c0e2]{cursor:pointer;height:100%;width:100%;position:relative}#toolbar-show[data-v-2572c0e2]{z-index:20;position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;background:#fff}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fl-web-component",
3
- "version": "2.1.1-beta.6",
3
+ "version": "2.1.1-beta.7",
4
4
  "scripts": {
5
5
  "postinstall": "patch-package",
6
6
  "tip1": "仅调试本组件不涉及业务组件,请执行dev",
@@ -197,9 +197,11 @@ function mtextContentAndFormattingToTextAndStyle(textAndControlChars, entity, co
197
197
  function drawArc(recordDxf, entity, group, key, configParams) {
198
198
  let color = entity.color;
199
199
  let rgb = decimalToRGBHex(color);
200
-
201
200
  let hex = rgb.hex;
202
201
  let startAngle, endAngle;
202
+ if (hex == '#FFFFFF') {
203
+ hex = '#000';
204
+ }
203
205
  if (entity.type === 'CIRCLE') {
204
206
  startAngle = entity.startAngle || 0;
205
207
  endAngle = startAngle + 2 * Math.PI;
@@ -289,6 +289,7 @@ export default {
289
289
  let dxf2 = parser2.parseSync(data);
290
290
 
291
291
  let hatchEntitys = dxf2.entities;
292
+ console.log(dxf2.entities)
292
293
  // 处理HATCH部分
293
294
  for (let i = 0; i < hatchEntitys.length; i++) {
294
295
  let entity = hatchEntitys[i];
@@ -597,139 +598,60 @@ export default {
597
598
  },
598
599
  toPdfs(list) {
599
600
  let _this = this;
600
- const pdf = new jsPDF('l', 'px', [this.konvaStage.width(), this.konvaStage.height()]);
601
- const exportPixelRatio = 2; // 可以 2/3/4 自己调
602
-
603
- for (let pageIdx = 0; pageIdx < list.length; pageIdx++) {
604
- let data = list[pageIdx];
605
- //先绘制图面
606
- this.konvaLayer.destroyChildren();
607
- const parser = new DxfParser();
608
- let dxf = parser.parse(data);
609
- let entities = formatEntity(dxf.entities);
610
- let layers = dxf.tables.layer.layers;
611
-
612
- //先计算包围
613
- for (let key in entities) {
614
- if (entities[key]) {
615
- let group = [];
616
- let l = entities[key].length;
617
- let layerConfig = this.recordLayerConfig[key];
618
- let configParams =
619
- layerConfig && Object.keys(layerConfig).length > 0 ? layerConfig : null;
620
- for (let i = 0; i < l; i++) {
621
- let type = entities[key][i].type;
622
- handleFn(
623
- type,
624
- dxf,
625
- entities[key][i],
626
- group,
627
- key,
628
- configParams,
629
- this.konvaLayer,
630
- this.recordLayerConfig
631
- );
632
- }
633
-
634
- for (let i = 0; i < group.length; i++) {
635
- let entity = group[i];
636
- if (entity.type === 'line') {
637
- let x1 = entity.x1;
638
- let y1 = entity.y1;
639
- let x2 = entity.x2;
640
- let y2 = entity.y2;
641
- let v1 = {};
642
- v1.x = x1;
643
- v1.y = y1;
644
- let v2 = {};
645
- v2.x = x2;
646
- v2.y = y2;
647
- _this.updateBounds1(v1);
648
- _this.updateBounds1(v2);
649
- }
650
- if (entity.type === 'polyline') {
651
- let flag = false;
652
- let points = entity.points;
653
- let closed = entity.closed;
654
-
655
- for (let j = 0; j < points.length; j++) {
656
- let index = j % 2;
657
- if (index === 0) {
658
- let x = points[j];
659
- let y = points[j + 1];
660
- let point = {};
661
- point.x = x;
662
- point.y = y;
663
- _this.updateBounds1(point);
664
- }
601
+ return new Promise((resolve, reject) => {
602
+ const pdf = new jsPDF('l', 'px', [this.konvaStage.width(), this.konvaStage.height()]);
603
+ const exportPixelRatio = 2; // 可以 2/3/4 自己调
604
+ let index = 0;
605
+ for (let pageIdx = 0; pageIdx < list.length; pageIdx++) {
606
+ let data = list[pageIdx];
607
+ //先绘制图面
608
+ this.konvaLayer.destroyChildren();
609
+ const parser = new DxfParser();
610
+ let dxf = parser.parse(data);
611
+
612
+ if (dxf.entities.length > 0) {
613
+ let entities = formatEntity(dxf.entities);
614
+ let layers = dxf.tables.layer.layers;
615
+ //先计算包围
616
+ for (let key in entities) {
617
+ if (entities[key]) {
618
+ let group = [];
619
+ let l = entities[key].length;
620
+ let layerConfig = this.recordLayerConfig[key];
621
+ let configParams =
622
+ layerConfig && Object.keys(layerConfig).length > 0 ? layerConfig : null;
623
+ for (let i = 0; i < l; i++) {
624
+ let type = entities[key][i].type;
625
+ handleFn(
626
+ type,
627
+ dxf,
628
+ entities[key][i],
629
+ group,
630
+ key,
631
+ configParams,
632
+ this.konvaLayer,
633
+ this.recordLayerConfig
634
+ );
665
635
  }
666
- }
667
- }
668
- }
669
- }
670
636
 
671
- for (let key in entities) {
672
- if (entities[key]) {
673
- let group = [];
674
- let l = entities[key].length;
675
- let layerConfig = this.recordLayerConfig[key];
676
- let configParams =
677
- layerConfig && Object.keys(layerConfig).length > 0 ? layerConfig : null;
678
- for (let i = 0; i < l; i++) {
679
- let type = entities[key][i].type;
680
- handleFn(
681
- type,
682
- dxf,
683
- entities[key][i],
684
- group,
685
- key,
686
- configParams,
687
- this.konvaLayer,
688
- this.recordLayerConfig
689
- );
690
- }
691
- if (!this.konvaLayer) return;
692
- for (let i = 0; i < group.length; i++) {
693
- let entity = group[i];
694
- if (entity.type === 'text') {
695
- if (this.konvaLayer) this.konvaLayer.add(entity.obj);
696
- }
697
- }
698
-
699
- if (group[0].stroke == undefined) {
700
- group[0].stroke = '#000';
701
- }
702
-
703
- let customShape = new Konva.Shape({
704
- x: 0,
705
- y: 0,
706
- strokeWidth: 0.2,
707
- name: key.replace(/\s*/g, ''),
708
- entityId: key,
709
- stroke: group[0].stroke,
710
- customColor: configParams ? configParams.color : '',
711
- //visible: configParams ? configParams.visible :true,
712
- sceneFunc(context, shape) {
713
- context.beginPath();
714
637
  for (let i = 0; i < group.length; i++) {
715
638
  let entity = group[i];
716
-
717
639
  if (entity.type === 'line') {
718
- context.strokeStyle = entity.stroke;
719
640
  let x1 = entity.x1;
720
641
  let y1 = entity.y1;
721
642
  let x2 = entity.x2;
722
643
  let y2 = entity.y2;
723
- if (x1 != undefined && y1 != undefined && x2 != undefined && y2 != undefined) {
724
- context.moveTo(x1, -parseFloat(y1));
725
- context.lineTo(x2, -parseFloat(y2));
726
- }
644
+ let v1 = {};
645
+ v1.x = x1;
646
+ v1.y = y1;
647
+ let v2 = {};
648
+ v2.x = x2;
649
+ v2.y = y2;
650
+ _this.updateBounds1(v1);
651
+ _this.updateBounds1(v2);
727
652
  }
728
653
  if (entity.type === 'polyline') {
729
- context.strokeStyle = entity.stroke;
730
-
731
654
  let flag = false;
732
-
733
655
  let points = entity.points;
734
656
  let closed = entity.closed;
735
657
 
@@ -738,65 +660,157 @@ export default {
738
660
  if (index === 0) {
739
661
  let x = points[j];
740
662
  let y = points[j + 1];
663
+ let point = {};
664
+ point.x = x;
665
+ point.y = y;
666
+ _this.updateBounds1(point);
667
+ }
668
+ }
669
+ }
670
+ }
671
+ }
672
+ }
673
+
674
+ for (let key in entities) {
675
+ if (entities[key]) {
676
+ let group = [];
677
+ let l = entities[key].length;
678
+ let layerConfig = this.recordLayerConfig[key];
679
+ let configParams =
680
+ layerConfig && Object.keys(layerConfig).length > 0 ? layerConfig : null;
681
+ for (let i = 0; i < l; i++) {
682
+ let type = entities[key][i].type;
683
+ handleFn(
684
+ type,
685
+ dxf,
686
+ entities[key][i],
687
+ group,
688
+ key,
689
+ configParams,
690
+ this.konvaLayer,
691
+ this.recordLayerConfig
692
+ );
693
+ }
694
+ if (!this.konvaLayer) return;
695
+ for (let i = 0; i < group.length; i++) {
696
+ let entity = group[i];
697
+ if (entity.type === 'text') {
698
+ if (this.konvaLayer) this.konvaLayer.add(entity.obj);
699
+ }
700
+ }
701
+
702
+ if (group[0].stroke == undefined) {
703
+ group[0].stroke = '#000';
704
+ }
741
705
 
742
- if (j === 0) {
743
- context.moveTo(x, y);
744
- } else {
745
- context.lineTo(x, y);
706
+ let customShape = new Konva.Shape({
707
+ x: 0,
708
+ y: 0,
709
+ strokeWidth: 0.2,
710
+ name: key.replace(/\s*/g, ''),
711
+ entityId: key,
712
+ stroke: group[0].stroke,
713
+ customColor: configParams ? configParams.color : '',
714
+ //visible: configParams ? configParams.visible :true,
715
+ sceneFunc(context, shape) {
716
+ context.beginPath();
717
+ for (let i = 0; i < group.length; i++) {
718
+ let entity = group[i];
719
+
720
+ if (entity.type === 'line') {
721
+ context.strokeStyle = entity.stroke;
722
+ let x1 = entity.x1;
723
+ let y1 = entity.y1;
724
+ let x2 = entity.x2;
725
+ let y2 = entity.y2;
726
+ if (x1 != undefined && y1 != undefined && x2 != undefined && y2 != undefined) {
727
+ context.moveTo(x1, -parseFloat(y1));
728
+ context.lineTo(x2, -parseFloat(y2));
746
729
  }
747
730
  }
748
-
749
- if (closed) {
750
- if (j === points.length - 1) {
751
- context.lineTo(points[0], points[1]);
731
+ if (entity.type === 'polyline') {
732
+ context.strokeStyle = entity.stroke;
733
+
734
+ let flag = false;
735
+
736
+ let points = entity.points;
737
+ let closed = entity.closed;
738
+
739
+ for (let j = 0; j < points.length; j++) {
740
+ let index = j % 2;
741
+ if (index === 0) {
742
+ let x = points[j];
743
+ let y = points[j + 1];
744
+
745
+ if (j === 0) {
746
+ context.moveTo(x, y);
747
+ } else {
748
+ context.lineTo(x, y);
749
+ }
750
+ }
751
+
752
+ if (closed) {
753
+ if (j === points.length - 1) {
754
+ context.lineTo(points[0], points[1]);
755
+ }
756
+ }
752
757
  }
753
758
  }
754
759
  }
755
- }
756
- }
757
- // context.closePath();
758
- context.fillStrokeShape(shape);
759
- },
760
- });
761
- if (this.konvaLayer) this.konvaLayer.add(customShape);
760
+ // context.closePath();
761
+ context.fillStrokeShape(shape);
762
+ },
763
+ });
764
+ if (this.konvaLayer) this.konvaLayer.add(customShape);
765
+ }
766
+ }
767
+
768
+ const { scale, x, y } = this.calculateScaleAndPosition(
769
+ _this.bounds1,
770
+ this.konvaStage.width(),
771
+ this.konvaStage.height(),
772
+ 0.05 // 5% 边距
773
+ );
774
+
775
+ _this.bounds1 = null;
776
+
777
+ this.konvaStage.position({ x: x, y: y });
778
+ this.konvaStage.scale({ x: scale, y: scale });
779
+
780
+ this.konvaStage.batchDraw();
781
+ //添加成功移动视口位置 pageIdx === 0
782
+
783
+ if (index === 0) {
784
+ pdf.addImage(
785
+ this.konvaStage.toDataURL({ pixelRatio: 2 }),
786
+ 0,
787
+ 0,
788
+ this.konvaStage.width(),
789
+ this.konvaStage.height()
790
+ );
791
+ } else {
792
+ pdf.addPage();
793
+ pdf.addImage(
794
+ this.konvaStage.toDataURL({ pixelRatio: 2 }),
795
+ 0,
796
+ 0,
797
+ this.konvaStage.width(),
798
+ this.konvaStage.height()
799
+ );
800
+ }
801
+ index++
762
802
  }
763
- }
764
803
 
765
- const { scale, x, y } = this.calculateScaleAndPosition(
766
- _this.bounds1,
767
- this.konvaStage.width(),
768
- this.konvaStage.height(),
769
- 0.05 // 5% 边距
770
- );
771
-
772
- _this.bounds1 = null;
773
-
774
- this.konvaStage.position({ x: x, y: y });
775
- this.konvaStage.scale({ x: scale, y: scale });
776
-
777
- this.konvaStage.batchDraw();
778
- //添加成功移动视口位置
779
-
780
- if (pageIdx == 0) {
781
- pdf.addImage(
782
- this.konvaStage.toDataURL({ pixelRatio: 2 }),
783
- 0,
784
- 0,
785
- this.konvaStage.width(),
786
- this.konvaStage.height()
787
- );
804
+ }
805
+ if (index > 0) {
806
+ pdf.save('批量导出.pdf');
807
+ resolve()
788
808
  } else {
789
- pdf.addPage();
790
- pdf.addImage(
791
- this.konvaStage.toDataURL({ pixelRatio: 2 }),
792
- 0,
793
- 0,
794
- this.konvaStage.width(),
795
- this.konvaStage.height()
796
- );
809
+ reject('解析数据为空, 请检查数据再进行下载')
797
810
  }
798
- }
799
- pdf.save('批量导出.pdf');
811
+ })
812
+
813
+
800
814
 
801
815
  // var imgData = canvas.toDataURL('image/png');
802
816
  //doc.text("Hello world!", 10, 10);