fl-web-component 2.1.1-beta.0 → 2.1.1-beta.2

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-160a92af]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-160a92af] .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-160a92af] .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-160a92af] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-160a92af] .measure-label-font{word-break:break-all}[data-v-160a92af] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-160a92af]{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-160a92af]{opacity:1;visibility:visible}.loading-content[data-v-160a92af]{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-160a92af]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-160a92af 1s linear infinite;animation:spin-160a92af 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-160a92af{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-160a92af{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-160a92af]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-160a92af]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-160a92af]{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-160a92af]{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-e2de7752]{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-d40d4870]{width:100%;height:100%;position:relative;cursor:pointer}[data-v-d40d4870] .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-d40d4870] .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-d40d4870] .circle-tag{width:10px;height:10px;margin-top:5px;border-radius:50%;background-color:#ff5000}[data-v-d40d4870] .measure-label-font{word-break:break-all}[data-v-d40d4870] .mark-label-img{padding-top:5px;width:20px;height:20px}.loading-overlay[data-v-d40d4870]{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-d40d4870]{opacity:1;visibility:visible}.loading-content[data-v-d40d4870]{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-d40d4870]{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #409eff;border-radius:50%;-webkit-animation:spin-d40d4870 1s linear infinite;animation:spin-d40d4870 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin-d40d4870{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin-d40d4870{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.loading-text[data-v-d40d4870]{font-size:16px;font-weight:500;color:#333;margin-bottom:20px}.loading-this.progress-bar[data-v-d40d4870]{width:100%;height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:15px}.loading-this.progress-fill[data-v-d40d4870]{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-d40d4870]{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}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fl-web-component",
3
- "version": "2.1.1-beta.0",
3
+ "version": "2.1.1-beta.2",
4
4
  "scripts": {
5
5
  "postinstall": "patch-package",
6
6
  "tip1": "仅调试本组件不涉及业务组件,请执行dev",
@@ -229,10 +229,11 @@ function drawArc(recordDxf, entity, group, key, configParams) {
229
229
  name: key.replace(/\s*/g, ''),
230
230
  entityId: key,
231
231
  stroke: hex,
232
- customColor: configParams ? configParams.color : '',
232
+ customColor: configParams ? configParams.color : hex,
233
233
  strokeWidth: width,
234
234
  visible: configParams ? configParams.visible : true,
235
235
  oldstrokeLength: width,
236
+ isGroup: false,
236
237
  });
237
238
  // if(group.attrs.isBlock){
238
239
  // let scale=group.scale();
@@ -290,10 +291,11 @@ function drawEllpse(recordDxf, entity, group, key, configParams) {
290
291
  name: key.replace(/\s*/g, ''),
291
292
  entityId: key,
292
293
  stroke: configParams ? configParams.color : '#000',
293
- customColor: configParams ? configParams.color : '',
294
+ customColor: configParams ? configParams.color : '#000',
294
295
  strokeWidth: width,
295
296
  visible: configParams ? configParams.visible : true,
296
297
  oldstrokeLength: width,
298
+ isGroup: false,
297
299
  });
298
300
  // let line = new Konva.Line({
299
301
  // name: key.replace(/\s*/g, ""),
@@ -331,7 +333,7 @@ function drawLine(recordDxf, entity, group, key, configParams) {
331
333
  entityId: key,
332
334
  isGroup: false,
333
335
  stroke: hex,
334
- customColor: configParams ? configParams.color : '',
336
+ customColor: configParams ? configParams.color : hex,
335
337
  strokeWidth: width,
336
338
  visible: configParams ? configParams.visible : true,
337
339
  oldstrokeLength: width,
@@ -385,13 +387,14 @@ function drawText(recordDxf, entity, group, key, configParams) {
385
387
  align: 'left',
386
388
  verticalAlign: 'top',
387
389
  fill: hex,
388
- customColor: configParams ? configParams.color : '',
390
+ customColor: configParams ? configParams.color : hex,
389
391
  name: key.replace(/\s*/g, ''),
390
392
  entityId: key,
391
393
  fontFamily: 'SimSun',
392
394
  visible: configParams ? configParams.visible : true,
393
395
  stroke: hex,
394
396
  strokeWidth: 0.1,
397
+ shapeType: 'text',
395
398
  });
396
399
 
397
400
  if (entity.xScale) {
@@ -451,6 +454,7 @@ function drawText(recordDxf, entity, group, key, configParams) {
451
454
  entityId: key,
452
455
  visible: configParams ? configParams.visible : true,
453
456
  customColor: configParams ? configParams.color : '',
457
+ isGroup: true,
454
458
  });
455
459
  g.add(dim);
456
460
 
@@ -491,9 +495,10 @@ function drawLwLine(recordDxf, entity, group, key, configParams) {
491
495
  points: list,
492
496
  closed: closed,
493
497
  name: key.replace(/\s*/g, ''),
498
+ isGroup: false,
494
499
  entityId: key,
495
500
  stroke: hex,
496
- customColor: configParams ? configParams.color : '',
501
+ customColor: configParams ? configParams.color : hex,
497
502
  strokeWidth: width,
498
503
  visible: configParams ? configParams.visible : true,
499
504
  oldstrokeLength: width,
@@ -534,7 +539,7 @@ function drawSpline(recordDxf, entity, group, key, configParams) {
534
539
  entityId: key,
535
540
  isGroup: false,
536
541
  stroke: configParams ? configParams : '#000',
537
- customColor: configParams ? configParams.color : '',
542
+ customColor: configParams ? configParams.color : '#000',
538
543
  strokeWidth: width,
539
544
  visible: configParams ? configParams.visible : true,
540
545
  oldstrokeLength: width,
@@ -457,7 +457,7 @@ export default {
457
457
  name: key.replace(/\s*/g, ''),
458
458
  entityId: key,
459
459
  stroke: group[0].stroke,
460
- customColor: configParams ? configParams.color : '',
460
+ customColor: configParams ? configParams.color : group[0].stroke,
461
461
  //visible: configParams ? configParams.visible :true,
462
462
  sceneFunc(context, shape) {
463
463
  context.beginPath();
@@ -520,6 +520,7 @@ export default {
520
520
  // context.closePath();
521
521
  context.fillStrokeShape(shape);
522
522
  },
523
+ shapeType: 'shape',
523
524
  });
524
525
  if (this.konvaLayer) this.konvaLayer.add(customShape);
525
526
  }
@@ -818,10 +819,43 @@ export default {
818
819
  this.konvaLayer = null;
819
820
  this.konvaStage = null;
820
821
  },
821
- beforeDestroy() {
822
- this.clearCache();
822
+ // 更改图纸的色系 区分明暗两种 darkness 暗色系 bright 明亮
823
+ setColorScheme(colorType) {
824
+ // const backgroundColor = colorType === "darkness" ? "#000" : "transparent";
825
+ const color = colorType === "darkness" ? "#fff" : "#000";
826
+ // konvaStage.container().style.background = backgroundColor;
827
+ this.konvaLayer.children.forEach((item) => {
828
+ this.traverseLayer(item, color);
829
+ });
830
+ },
831
+
832
+ traverseLayer(obj, color) {
833
+ if (!obj.attrs.isGroup) {
834
+ if (color === '#fff') {
835
+ let setColor = (obj.attrs.customColor === '#000' || obj.attrs.customColor === '#000000'|| obj.attrs.customColor === 'rgb(0, 0, 0)' || obj.attrs.customColor === 'rgba(0, 0, 0, 1)') ? color : obj.attrs.customColor
836
+ if (obj.attrs.shapeType === 'hatch' || obj.attrs.shapeType === 'text') {
837
+ obj.setFill(setColor);
838
+ }
839
+ obj.setStroke(setColor);
840
+ obj.attrs.oldCustomColor = obj.attrs.customColor
841
+ obj.attrs.customColor = setColor
842
+ } else {
843
+ obj.attrs.customColor = obj.attrs.oldCustomColor
844
+ if (obj.attrs.shapeType === 'hatch' || obj.attrs.shapeType === 'text') {
845
+ obj.setFill(obj.attrs.customColor);
846
+ }
847
+ obj.setStroke(obj.attrs.customColor);
848
+ }
849
+ } else {
850
+ obj.children.forEach((item) => {
851
+ this.traverseLayer(item, color);
852
+ });
853
+ }
823
854
  },
824
855
  },
856
+ beforeDestroy() {
857
+ this.clearCache();
858
+ }
825
859
  };
826
860
  </script>
827
861
  <style lang="scss" scoped>
@@ -215,7 +215,7 @@ export default {
215
215
  isPaused: false,
216
216
  },
217
217
  isolateMode: false,
218
- collisionObbDebugEnabled: true,
218
+ collisionObbDebugEnabled: isDebug,
219
219
  };
220
220
  },
221
221
  watch: {
@@ -402,26 +402,26 @@ function parsePrimitive(dataView, uint8Array, offset, isFullProps = true) {
402
402
  primitive.documentId = '';
403
403
  }
404
404
 
405
- if (dataView.byteLength < offset + 4) {
406
- throw new Error('Insufficient data for Material length');
407
- }
408
- const materialTextLen = dataView.getUint32(offset, false);
409
- offset += 4;
410
- if (materialTextLen === 0xffffffff) {
411
- primitive.material = null;
412
- } else if (materialTextLen > 0) {
413
- if (dataView.byteLength < offset + materialTextLen) {
414
- throw new Error('Insufficient data for Material content');
415
- }
416
- const textBytes = uint8Array.subarray(offset, offset + materialTextLen);
417
- primitive.material = utf8Decoder.decode(textBytes);
418
- offset += materialTextLen;
419
- } else {
420
- primitive.material = '';
421
- }
422
-
423
- if (dataView.byteLength < offset + 4) {
424
- throw new Error('Insufficient data for GeomText length');
405
+ if (dataView.byteLength < offset + 4) {
406
+ throw new Error('Insufficient data for Material length');
407
+ }
408
+ const materialTextLen = dataView.getUint32(offset, false);
409
+ offset += 4;
410
+ if (materialTextLen === 0xffffffff) {
411
+ primitive.material = null;
412
+ } else if (materialTextLen > 0) {
413
+ if (dataView.byteLength < offset + materialTextLen) {
414
+ throw new Error('Insufficient data for Material content');
415
+ }
416
+ const textBytes = uint8Array.subarray(offset, offset + materialTextLen);
417
+ primitive.material = utf8Decoder.decode(textBytes);
418
+ offset += materialTextLen;
419
+ } else {
420
+ primitive.material = '';
421
+ }
422
+
423
+ if (dataView.byteLength < offset + 4) {
424
+ throw new Error('Insufficient data for GeomText length');
425
425
  }
426
426
  const geomTextLen = dataView.getUint32(offset, false);
427
427
  offset += 4;
@@ -91,46 +91,46 @@ function requestInstancedMapping(instances, drawObjs) {
91
91
  });
92
92
  }
93
93
 
94
- function getInstanceNormalSign(matrix) {
95
- if (!matrix || typeof matrix.determinant !== 'function') return 1;
96
- return matrix.determinant() < 0 ? -1 : 1;
97
- }
98
-
99
- function getMatrixVal(matrix) {
100
- const val = matrix && matrix.val ? matrix.val : matrix;
101
- return val && val.length >= 16 ? val : null;
102
- }
103
-
104
- function composeInstanceMatrix(instance, mesh, geometry) {
105
- const resultMatrix = new THREE.Matrix4();
106
- const meshMatrix = new THREE.Matrix4();
107
- const primitiveMatrix = new THREE.Matrix4();
108
- const meshMatrixVal = getMatrixVal(instance && instance.matrix);
109
- const primitiveMatrixVal = getMatrixVal(mesh && mesh.matrix);
110
-
111
- if (meshMatrixVal) {
112
- meshMatrix.fromArray(meshMatrixVal);
113
- }
114
- if (primitiveMatrixVal) {
115
- primitiveMatrix.fromArray(primitiveMatrixVal);
116
- }
117
-
118
- const { points, alignType } = mesh || {};
119
- if (mesh && isTextType(mesh.type) && points && points.length >= 3) {
120
- const positionMatrix = new THREE.Matrix4();
121
- const alignMatrix = createAlignedText(alignType, geometry);
122
- positionMatrix.identity().makeTranslation(points[0], points[1], points[2]);
123
- primitiveMatrix.multiply(alignMatrix).multiply(positionMatrix);
124
- }
125
-
126
- resultMatrix.multiplyMatrices(meshMatrix, primitiveMatrix);
127
- return resultMatrix;
128
- }
129
-
130
- /**
131
- * 重置处理状态,用于新的批量加载会话
132
- */
133
- function resetProcessingState() {
94
+ function getInstanceNormalSign(matrix) {
95
+ if (!matrix || typeof matrix.determinant !== 'function') return 1;
96
+ return matrix.determinant() < 0 ? -1 : 1;
97
+ }
98
+
99
+ function getMatrixVal(matrix) {
100
+ const val = matrix && matrix.val ? matrix.val : matrix;
101
+ return val && val.length >= 16 ? val : null;
102
+ }
103
+
104
+ function composeInstanceMatrix(instance, mesh, geometry) {
105
+ const resultMatrix = new THREE.Matrix4();
106
+ const meshMatrix = new THREE.Matrix4();
107
+ const primitiveMatrix = new THREE.Matrix4();
108
+ const meshMatrixVal = getMatrixVal(instance && instance.matrix);
109
+ const primitiveMatrixVal = getMatrixVal(mesh && mesh.matrix);
110
+
111
+ if (meshMatrixVal) {
112
+ meshMatrix.fromArray(meshMatrixVal);
113
+ }
114
+ if (primitiveMatrixVal) {
115
+ primitiveMatrix.fromArray(primitiveMatrixVal);
116
+ }
117
+
118
+ const { points, alignType } = mesh || {};
119
+ if (mesh && isTextType(mesh.type) && points && points.length >= 3) {
120
+ const positionMatrix = new THREE.Matrix4();
121
+ const alignMatrix = createAlignedText(alignType, geometry);
122
+ positionMatrix.identity().makeTranslation(points[0], points[1], points[2]);
123
+ primitiveMatrix.multiply(alignMatrix).multiply(positionMatrix);
124
+ }
125
+
126
+ resultMatrix.multiplyMatrices(meshMatrix, primitiveMatrix);
127
+ return resultMatrix;
128
+ }
129
+
130
+ /**
131
+ * 重置处理状态,用于新的批量加载会话
132
+ */
133
+ function resetProcessingState() {
134
134
  drawObjMapInstance = {};
135
135
  // instanceToInstancedMeshMap.clear();
136
136
  // processedDrawObjects.clear();
@@ -465,27 +465,27 @@ function setInstanceMatricesAndColors(model, drawObj, mesh, meshName, customColo
465
465
 
466
466
  // const instancedMesh = instanceToInstancedMeshMap.get(item.instanceId);
467
467
 
468
- const m4 = composeInstanceMatrix(item, mesh, model.geometry);
469
- model.setMatrixAt(index, m4);
470
-
471
- const normalSignAttr = model.geometry && model.geometry.getAttribute('instanceNormalSign');
472
- if (normalSignAttr && normalSignAttr.array && index < normalSignAttr.array.length) {
473
- normalSignAttr.array[index] = getInstanceNormalSign(m4);
474
- }
475
-
476
- const copyMatrix = new THREE.Matrix4().copy(m4);
477
- model.userData.copyMatrix = copyMatrix;
478
-
479
- const temp = model.userData.instancesMap.get(item.instanceId);
480
- temp.copyMatrix = copyMatrix;
481
- if (sourceVisible === false) {
482
- const offsetMatrix = new THREE.Matrix4()
483
- .copy(copyMatrix)
484
- .makeTranslation(9999999, 9999999, 9999999);
485
- model.setMatrixAt(index, offsetMatrix);
486
- }
487
-
488
- // 设置颜色
468
+ const m4 = composeInstanceMatrix(item, mesh, model.geometry);
469
+ model.setMatrixAt(index, m4);
470
+
471
+ const normalSignAttr = model.geometry && model.geometry.getAttribute('instanceNormalSign');
472
+ if (normalSignAttr && normalSignAttr.array && index < normalSignAttr.array.length) {
473
+ normalSignAttr.array[index] = getInstanceNormalSign(m4);
474
+ }
475
+
476
+ const copyMatrix = new THREE.Matrix4().copy(m4);
477
+ model.userData.copyMatrix = copyMatrix;
478
+
479
+ const temp = model.userData.instancesMap.get(item.instanceId);
480
+ temp.copyMatrix = copyMatrix;
481
+ if (sourceVisible === false) {
482
+ const offsetMatrix = new THREE.Matrix4()
483
+ .copy(copyMatrix)
484
+ .makeTranslation(9999999, 9999999, 9999999);
485
+ model.setMatrixAt(index, offsetMatrix);
486
+ }
487
+
488
+ // 设置颜色
489
489
  model.setColorAt(index, meshColor);
490
490
  });
491
491
 
@@ -560,9 +560,9 @@ function appendInstanceToInstancedMesh(model, drawObj, mesh, instance, customCol
560
560
  ? new THREE.Color(customColor)
561
561
  : new THREE.Color(`rgb(${colorArr[0]}, ${colorArr[1]}, ${colorArr[2]})`);
562
562
 
563
- if (!mesh) return;
564
-
565
- const m4 = composeInstanceMatrix(instance, mesh, model.geometry);
563
+ if (!mesh) return;
564
+
565
+ const m4 = composeInstanceMatrix(instance, mesh, model.geometry);
566
566
  const renderMatrix =
567
567
  sourceVisible === false
568
568
  ? new THREE.Matrix4().copy(m4).makeTranslation(9999999, 9999999, 9999999)