fl-web-component 2.1.1-beta.4 → 2.1.1-beta.6
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/dist/fl-web-component.common.js +314 -161
- 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/components/entityFormatting.js +6 -8
- package/packages/components/com-flcanvas/index.vue +61 -63
- package/packages/components/com-graphics/index.vue +239 -56
- package/src/utils/instance-parser.js +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.fl-model-containor[data-v-3517cf88]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-3517cf88] .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-3517cf88] .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-3517cf88] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-3517cf88] .measure-label-font{word-break:break-all}[data-v-3517cf88] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-3517cf88]{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-3517cf88]{opacity:1;visibility:visible}.loading-content[data-v-3517cf88]{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-3517cf88]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-3517cf88 1s linear infinite;animation:spin-3517cf88 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-3517cf88{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-3517cf88{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-3517cf88]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-3517cf88]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-3517cf88]{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-3517cf88]{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-0f76e7f4]{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-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}
|
package/package.json
CHANGED
|
@@ -33,7 +33,6 @@ function decimalToRGBHex(decimalValue) {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
export function handleFn(functionName, recordDxf, entity, group, key, configParams, konvaLayer) {
|
|
36
|
-
console.log(functionName);
|
|
37
36
|
|
|
38
37
|
switch (functionName) {
|
|
39
38
|
case 'LINE':
|
|
@@ -198,7 +197,7 @@ function mtextContentAndFormattingToTextAndStyle(textAndControlChars, entity, co
|
|
|
198
197
|
function drawArc(recordDxf, entity, group, key, configParams) {
|
|
199
198
|
let color = entity.color;
|
|
200
199
|
let rgb = decimalToRGBHex(color);
|
|
201
|
-
|
|
200
|
+
|
|
202
201
|
let hex = rgb.hex;
|
|
203
202
|
let startAngle, endAngle;
|
|
204
203
|
if (entity.type === 'CIRCLE') {
|
|
@@ -265,8 +264,7 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
|
|
|
265
264
|
parseFloat(entity.majorAxisEndPoint.y),
|
|
266
265
|
parseFloat(entity.majorAxisEndPoint.x)
|
|
267
266
|
);
|
|
268
|
-
|
|
269
|
-
console.log(entity.endAngle);
|
|
267
|
+
|
|
270
268
|
let curve = new THREE.EllipseCurve(
|
|
271
269
|
parseFloat(entity.center.x),
|
|
272
270
|
parseFloat(entity.center.y),
|
|
@@ -316,7 +314,7 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
|
|
|
316
314
|
function drawLine(recordDxf, entity, group, key, configParams) {
|
|
317
315
|
let color = entity.color;
|
|
318
316
|
let rgb = decimalToRGBHex(color);
|
|
319
|
-
|
|
317
|
+
|
|
320
318
|
let hex = rgb.hex;
|
|
321
319
|
let x1 = entity.vertices[0].x;
|
|
322
320
|
let y1 = entity.vertices[0].y;
|
|
@@ -364,7 +362,7 @@ function drawLine(recordDxf, entity, group, key, configParams) {
|
|
|
364
362
|
function drawText(recordDxf, entity, group, key, configParams) {
|
|
365
363
|
let color = entity.color;
|
|
366
364
|
let rgb = decimalToRGBHex(color);
|
|
367
|
-
|
|
365
|
+
|
|
368
366
|
let hex = rgb.hex;
|
|
369
367
|
|
|
370
368
|
if (hex == '#FFFFFF') {
|
|
@@ -466,13 +464,13 @@ function drawText(recordDxf, entity, group, key, configParams) {
|
|
|
466
464
|
}
|
|
467
465
|
|
|
468
466
|
function drawHatch(recordDxf, entity, group, key, configParams) {
|
|
469
|
-
|
|
467
|
+
|
|
470
468
|
}
|
|
471
469
|
|
|
472
470
|
function drawLwLine(recordDxf, entity, group, key, configParams) {
|
|
473
471
|
let color = entity.color;
|
|
474
472
|
let rgb = decimalToRGBHex(color);
|
|
475
|
-
|
|
473
|
+
|
|
476
474
|
let hex = rgb.hex;
|
|
477
475
|
|
|
478
476
|
if (hex == '#FFFFFF') {
|
|
@@ -35,11 +35,17 @@ function downloadPDF(base64, fileName) {
|
|
|
35
35
|
URL.revokeObjectURL(url); // 释放URL对象
|
|
36
36
|
}
|
|
37
37
|
import Konva from 'konva';
|
|
38
|
-
import { Vector2 } from
|
|
38
|
+
import { Vector2 } from 'three';
|
|
39
39
|
import DxfParser from 'dxf-parser';
|
|
40
40
|
import DxfParser2 from '@/utils/dxf-parser/DxfParser';
|
|
41
41
|
import jsPDF from 'jspdf';
|
|
42
|
-
import {
|
|
42
|
+
import {
|
|
43
|
+
formatEntity,
|
|
44
|
+
handleFn,
|
|
45
|
+
centering,
|
|
46
|
+
_GenerateArcVertices,
|
|
47
|
+
_GenerateBulgeVertices,
|
|
48
|
+
} from './components/entityFormatting';
|
|
43
49
|
export default {
|
|
44
50
|
name: 'Fl2dcanvas',
|
|
45
51
|
components: {},
|
|
@@ -72,8 +78,8 @@ export default {
|
|
|
72
78
|
this.konvaStage._resizeDOM();
|
|
73
79
|
}
|
|
74
80
|
});
|
|
75
|
-
|
|
76
81
|
this.$nextTick(() => {
|
|
82
|
+
console.log(this.$refs.svgDraw.clientHeight)
|
|
77
83
|
this.konvaStage = new Konva.Stage({
|
|
78
84
|
className: 'stage',
|
|
79
85
|
container: 'konva-container',
|
|
@@ -94,7 +100,6 @@ export default {
|
|
|
94
100
|
var scaleBy = 1.1;
|
|
95
101
|
//初始化缩放方法
|
|
96
102
|
this.konvaStage.on('wheel', e => {
|
|
97
|
-
console.log(e);
|
|
98
103
|
e.evt.preventDefault();
|
|
99
104
|
var oldScale = this.konvaStage.scaleX();
|
|
100
105
|
var pointer = this.konvaStage.getPointerPosition();
|
|
@@ -156,27 +161,42 @@ export default {
|
|
|
156
161
|
|
|
157
162
|
*/
|
|
158
163
|
|
|
159
|
-
const { scale, x, y } = this.calculateScaleAndPosition(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
);
|
|
164
|
+
// const { scale, x, y } = this.calculateScaleAndPosition(
|
|
165
|
+
// this.bounds,
|
|
166
|
+
// this.konvaStage.width(),
|
|
167
|
+
// this.konvaStage.height(),
|
|
168
|
+
// 0.05 // 5% 边距
|
|
169
|
+
// );
|
|
165
170
|
|
|
166
|
-
this.konvaStage.position({ x: x, y: y });
|
|
167
|
-
this.konvaStage.scale({ x: scale, y: scale });
|
|
171
|
+
// this.konvaStage.position({ x: x, y: y });
|
|
172
|
+
// this.konvaStage.scale({ x: scale, y: scale });
|
|
168
173
|
|
|
169
|
-
this.konvaStage.batchDraw();
|
|
174
|
+
// this.konvaStage.batchDraw();
|
|
175
|
+
this.centerDraw();
|
|
170
176
|
});
|
|
171
177
|
this.konvaStage.on('click', e => {
|
|
172
178
|
let target = this.konvaStage.mouseClickEndShape;
|
|
173
|
-
this.$emit('leftClick', target ? target.attrs : null)
|
|
179
|
+
this.$emit('leftClick', target ? target.attrs : null);
|
|
174
180
|
});
|
|
175
181
|
});
|
|
176
182
|
},
|
|
177
183
|
//销毁方法
|
|
178
184
|
|
|
179
185
|
methods: {
|
|
186
|
+
// 图纸居中展示
|
|
187
|
+
centerDraw() {
|
|
188
|
+
const { scale, x, y } = this.calculateScaleAndPosition(
|
|
189
|
+
this.bounds,
|
|
190
|
+
this.konvaStage.width(),
|
|
191
|
+
this.konvaStage.height(),
|
|
192
|
+
0.05 // 5% 边距
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
this.konvaStage.position({ x: x, y: y });
|
|
196
|
+
this.konvaStage.scale({ x: scale, y: scale });
|
|
197
|
+
|
|
198
|
+
this.konvaStage.batchDraw();
|
|
199
|
+
},
|
|
180
200
|
calculateScaleAndPosition(contentBounds, stageWidth, stageHeight, padding = 0.1) {
|
|
181
201
|
// 1. 计算内容的实际宽高
|
|
182
202
|
const contentWidth = contentBounds.maxX - contentBounds.minX;
|
|
@@ -219,7 +239,6 @@ export default {
|
|
|
219
239
|
|
|
220
240
|
return { scale, x, y };
|
|
221
241
|
},
|
|
222
|
-
|
|
223
242
|
updateBounds(v) {
|
|
224
243
|
if (this.bounds === null) {
|
|
225
244
|
this.bounds = { minX: v.x, maxX: v.x, minY: v.y, maxY: v.y };
|
|
@@ -274,14 +293,11 @@ export default {
|
|
|
274
293
|
for (let i = 0; i < hatchEntitys.length; i++) {
|
|
275
294
|
let entity = hatchEntitys[i];
|
|
276
295
|
let layerConfig = this.recordLayerConfig[entity.layer];
|
|
277
|
-
let configParams =
|
|
278
|
-
|
|
279
|
-
? layerConfig
|
|
280
|
-
: null;
|
|
281
|
-
let color = configParams ? configParams.color : "#000";
|
|
296
|
+
let configParams = layerConfig && Object.keys(layerConfig).length > 0 ? layerConfig : null;
|
|
297
|
+
let color = configParams ? configParams.color : '#000';
|
|
282
298
|
let visible = configParams ? configParams.visible : true;
|
|
283
|
-
let name = entity.layer.replace(/\s*/g,
|
|
284
|
-
if (entity.type ==
|
|
299
|
+
let name = entity.layer.replace(/\s*/g, '');
|
|
300
|
+
if (entity.type == 'HATCH') {
|
|
285
301
|
let boundaryLoops = entity.boundaryLoops;
|
|
286
302
|
for (let j = 0; j < boundaryLoops.length; j++) {
|
|
287
303
|
let list = [];
|
|
@@ -298,10 +314,7 @@ export default {
|
|
|
298
314
|
);
|
|
299
315
|
const axisRatio = entity.radius;
|
|
300
316
|
const yR = xR * axisRatio;
|
|
301
|
-
const rotation = Math.atan2(
|
|
302
|
-
majorAxisEndPoint.y,
|
|
303
|
-
majorAxisEndPoint.x
|
|
304
|
-
);
|
|
317
|
+
const rotation = Math.atan2(majorAxisEndPoint.y, majorAxisEndPoint.x);
|
|
305
318
|
|
|
306
319
|
const arcVertices = _GenerateArcVertices({
|
|
307
320
|
vertices: [],
|
|
@@ -330,10 +343,8 @@ export default {
|
|
|
330
343
|
list.push(arcVertices[i].x);
|
|
331
344
|
list.push(-parseFloat(arcVertices[i].y));
|
|
332
345
|
}
|
|
333
|
-
|
|
334
346
|
}
|
|
335
347
|
if (entity.type == 1) {
|
|
336
|
-
|
|
337
348
|
list.push(entity.start.x);
|
|
338
349
|
list.push(-parseFloat(entity.start.y));
|
|
339
350
|
list.push(entity.end.x);
|
|
@@ -350,7 +361,7 @@ export default {
|
|
|
350
361
|
stroke: color,
|
|
351
362
|
customColor: color,
|
|
352
363
|
visible: visible,
|
|
353
|
-
shapeType: 'hatch'
|
|
364
|
+
shapeType: 'hatch',
|
|
354
365
|
});
|
|
355
366
|
this.konvaLayer.add(line);
|
|
356
367
|
}
|
|
@@ -359,20 +370,14 @@ export default {
|
|
|
359
370
|
let loop = boundaryLoops[0];
|
|
360
371
|
if (loop.type == 7) {
|
|
361
372
|
let vertices = [];
|
|
362
|
-
for (
|
|
363
|
-
let vtxIdx = 0;
|
|
364
|
-
vtxIdx < loop.polyline.vertices.length;
|
|
365
|
-
vtxIdx++
|
|
366
|
-
) {
|
|
373
|
+
for (let vtxIdx = 0; vtxIdx < loop.polyline.vertices.length; vtxIdx++) {
|
|
367
374
|
const vtx = loop.polyline.vertices[vtxIdx];
|
|
368
375
|
if ((vtx.bulge ?? 0) == 0) {
|
|
369
376
|
vertices.push(new Vector2(vtx.x, vtx.y));
|
|
370
377
|
} else {
|
|
371
378
|
const prevVtx =
|
|
372
379
|
loop.polyline.vertices[
|
|
373
|
-
vtxIdx == 0
|
|
374
|
-
? loop.polyline.vertices.length - 1
|
|
375
|
-
: vtxIdx - 1
|
|
380
|
+
vtxIdx == 0 ? loop.polyline.vertices.length - 1 : vtxIdx - 1
|
|
376
381
|
];
|
|
377
382
|
if ((prevVtx.bulge ?? 0) == 0) {
|
|
378
383
|
/* Start vertex is not produced by _GenerateBulgeVertices(). */
|
|
@@ -380,16 +385,9 @@ export default {
|
|
|
380
385
|
}
|
|
381
386
|
const nextVtx =
|
|
382
387
|
loop.polyline.vertices[
|
|
383
|
-
vtxIdx == loop.polyline.vertices.length - 1
|
|
384
|
-
? 0
|
|
385
|
-
: vtxIdx + 1
|
|
388
|
+
vtxIdx == loop.polyline.vertices.length - 1 ? 0 : vtxIdx + 1
|
|
386
389
|
];
|
|
387
|
-
vertices = _GenerateBulgeVertices(
|
|
388
|
-
[],
|
|
389
|
-
vtx,
|
|
390
|
-
nextVtx,
|
|
391
|
-
vtx.bulge
|
|
392
|
-
);
|
|
390
|
+
vertices = _GenerateBulgeVertices([], vtx, nextVtx, vtx.bulge);
|
|
393
391
|
}
|
|
394
392
|
}
|
|
395
393
|
let list = [];
|
|
@@ -408,7 +406,7 @@ export default {
|
|
|
408
406
|
stroke: color,
|
|
409
407
|
customColor: color,
|
|
410
408
|
visible: visible,
|
|
411
|
-
shapeType: 'hatch'
|
|
409
|
+
shapeType: 'hatch',
|
|
412
410
|
});
|
|
413
411
|
this.konvaLayer.add(line);
|
|
414
412
|
}
|
|
@@ -447,7 +445,6 @@ export default {
|
|
|
447
445
|
}
|
|
448
446
|
|
|
449
447
|
if (group[0].stroke == undefined) {
|
|
450
|
-
console.log(group);
|
|
451
448
|
group[0].stroke = '#000';
|
|
452
449
|
}
|
|
453
450
|
let customShape = new Konva.Shape({
|
|
@@ -558,6 +555,7 @@ export default {
|
|
|
558
555
|
this.activedSvgPan.x = x;
|
|
559
556
|
this.activedSvgPan.y = x;
|
|
560
557
|
setTimeout(() => {
|
|
558
|
+
this.centerDraw();
|
|
561
559
|
this.$emit('loaded');
|
|
562
560
|
}, 100);
|
|
563
561
|
},
|
|
@@ -670,9 +668,6 @@ export default {
|
|
|
670
668
|
}
|
|
671
669
|
}
|
|
672
670
|
|
|
673
|
-
console.log('bounds1');
|
|
674
|
-
console.log(_this.bounds1);
|
|
675
|
-
|
|
676
671
|
for (let key in entities) {
|
|
677
672
|
if (entities[key]) {
|
|
678
673
|
let group = [];
|
|
@@ -702,7 +697,6 @@ export default {
|
|
|
702
697
|
}
|
|
703
698
|
|
|
704
699
|
if (group[0].stroke == undefined) {
|
|
705
|
-
console.log(group);
|
|
706
700
|
group[0].stroke = '#000';
|
|
707
701
|
}
|
|
708
702
|
|
|
@@ -774,8 +768,6 @@ export default {
|
|
|
774
768
|
this.konvaStage.height(),
|
|
775
769
|
0.05 // 5% 边距
|
|
776
770
|
);
|
|
777
|
-
console.log('test1:');
|
|
778
|
-
console.log(this.bounds1);
|
|
779
771
|
|
|
780
772
|
_this.bounds1 = null;
|
|
781
773
|
|
|
@@ -822,32 +814,38 @@ export default {
|
|
|
822
814
|
// 更改图纸的色系 区分明暗两种 darkness 暗色系 bright 明亮
|
|
823
815
|
setColorScheme(colorType) {
|
|
824
816
|
// const backgroundColor = colorType === "darkness" ? "#000" : "transparent";
|
|
825
|
-
const color = colorType ===
|
|
817
|
+
const color = colorType === 'darkness' ? '#fff' : '#000';
|
|
826
818
|
// konvaStage.container().style.background = backgroundColor;
|
|
827
|
-
this.konvaLayer.children.forEach(
|
|
819
|
+
this.konvaLayer.children.forEach(item => {
|
|
828
820
|
this.traverseLayer(item, color);
|
|
829
821
|
});
|
|
830
822
|
},
|
|
831
|
-
|
|
823
|
+
|
|
832
824
|
traverseLayer(obj, color) {
|
|
833
825
|
if (!obj.attrs.isGroup) {
|
|
834
826
|
if (color === '#fff') {
|
|
835
|
-
|
|
827
|
+
let setColor =
|
|
828
|
+
obj.attrs.customColor === '#000' ||
|
|
829
|
+
obj.attrs.customColor === '#000000' ||
|
|
830
|
+
obj.attrs.customColor === 'rgb(0, 0, 0)' ||
|
|
831
|
+
obj.attrs.customColor === 'rgba(0, 0, 0, 1)'
|
|
832
|
+
? color
|
|
833
|
+
: obj.attrs.customColor;
|
|
836
834
|
if (obj.attrs.shapeType === 'hatch' || obj.attrs.shapeType === 'text') {
|
|
837
835
|
obj.setFill(setColor);
|
|
838
836
|
}
|
|
839
837
|
obj.setStroke(setColor);
|
|
840
|
-
obj.attrs.oldCustomColor = obj.attrs.customColor
|
|
841
|
-
obj.attrs.customColor = setColor
|
|
838
|
+
obj.attrs.oldCustomColor = obj.attrs.customColor;
|
|
839
|
+
obj.attrs.customColor = setColor;
|
|
842
840
|
} else {
|
|
843
|
-
obj.attrs.customColor = obj.attrs.oldCustomColor
|
|
841
|
+
obj.attrs.customColor = obj.attrs.oldCustomColor;
|
|
844
842
|
if (obj.attrs.shapeType === 'hatch' || obj.attrs.shapeType === 'text') {
|
|
845
843
|
obj.setFill(obj.attrs.customColor);
|
|
846
844
|
}
|
|
847
845
|
obj.setStroke(obj.attrs.customColor);
|
|
848
846
|
}
|
|
849
847
|
} else {
|
|
850
|
-
obj.children.forEach(
|
|
848
|
+
obj.children.forEach(item => {
|
|
851
849
|
this.traverseLayer(item, color);
|
|
852
850
|
});
|
|
853
851
|
}
|
|
@@ -855,7 +853,7 @@ export default {
|
|
|
855
853
|
},
|
|
856
854
|
beforeDestroy() {
|
|
857
855
|
this.clearCache();
|
|
858
|
-
}
|
|
856
|
+
},
|
|
859
857
|
};
|
|
860
858
|
</script>
|
|
861
859
|
<style lang="scss" scoped>
|