eoss 0.1.0-alpha.30 → 0.1.0-alpha.32
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/lib/eoss.common.js +503 -324
- package/lib/index.js +1 -1
- package/lib/lowcode-view.js +194 -113
- package/lib/lowcode.js +155 -104
- package/lib/main.js +104 -47
- package/lib/process-config.js +14 -18
- package/lib/process-module.js +9 -12
- package/lib/process-rule.js +2 -5
- package/lib/tabs.js +4 -0
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/lowcode-view.css +1 -1
- package/lib/theme-chalk/tabs.css +1 -1
- package/lib/wujie.js +2 -3
- package/package.json +1 -1
- package/packages/lowcode/src/attribute/javascript.vue +2 -0
- package/packages/lowcode/src/attribute/property.vue +38 -56
- package/packages/lowcode/src/attribute.vue +3 -1
- package/packages/lowcode/src/lowcode.vue +8 -2
- package/packages/lowcode/src/pages.vue +0 -1
- package/packages/lowcode/src/render.vue +15 -1
- package/packages/lowcode/src/util/source-generator.js +29 -15
- package/packages/lowcode/src/util/source-parser.js +35 -3
- package/packages/lowcode-view/src/{Modulels.vue → Modules.vue} +63 -74
- package/packages/lowcode-view/src/view.vue +54 -14
- package/packages/main/src/components/pages.vue +4 -1
- package/packages/main/src/components/router-page.vue +29 -1
- package/packages/main/src/components/sub-menu.vue +2 -0
- package/packages/main/src/early.vue +1 -0
- package/packages/main/src/gzw.vue +1 -0
- package/packages/main/src/minxs.js +13 -1
- package/packages/process-config/src/NodeConfig.vue +0 -1
- package/packages/process-config/src/NodeForm.vue +0 -1
- package/packages/process-module/src/FormList.vue +0 -1
- package/packages/process-module/src/main.vue +0 -2
- package/packages/process-rule/src/main.vue +0 -3
- package/packages/tabs/src/tabs.vue +5 -1
- package/packages/theme-chalk/src/lowcode-view.scss +1 -0
- package/packages/theme-chalk/src/tabs.scss +2 -1
- package/packages/wujie/src/wujie.vue +0 -1
- package/src/index.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.es-lowcode-view{height:100%}.es-lowcode-view .es-scrollbar__view{padding:16px}.es-lowcode-view__edit-switch{position:fixed;top:120px;right:2px;z-index:999}.es-lowcode-view__edit-switch--trigger{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:40px;-webkit-transform:translateX(calc(100% - 4px));transform:translateX(calc(100% - 4px));-webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.es-lowcode-view__edit-switch--trigger:hover{-webkit-transform:translateX(0);transform:translateX(0)}.es-lowcode-view__edit-switch--trigger:hover .es-lowcode-view__edit-switch--strip{opacity:0}.es-lowcode-view__edit-switch--trigger:hover .es-lowcode-view__edit-switch--content{display:-webkit-box;display:-ms-flexbox;display:flex}.es-lowcode-view__edit-switch--strip{width:8px;height:100%;background:#40a9ff;border-radius:2px 0 0 2px;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:opacity .2s;transition:opacity .2s}.es-lowcode-view__edit-switch--content{display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 16px 6px 10px;background:#fff;border-radius:24px 0 0 24px;-webkit-box-shadow:-2px 2px 12px rgba(0,0,0,.12);box-shadow:-2px 2px 12px rgba(0,0,0,.12);white-space:nowrap}.es-lowcode-view__edit-switch--label{font-size:14px;color:#333}.es-lowcode-view__edit-switch.is-edit{right:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.es-lowcode-view__edit-switch.is-edit .es-lowcode-view__edit-switch--btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 16px 6px 6px;background:#fff;border-radius:24px 0 0 24px;-webkit-box-shadow:-2px 2px 12px rgba(0,0,0,.12);box-shadow:-2px 2px 12px rgba(0,0,0,.12);cursor:pointer;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.es-lowcode-view__edit-switch.is-edit .es-lowcode-view__edit-switch--btn:hover{-webkit-box-shadow:-2px 4px 16px rgba(0,0,0,.18);box-shadow:-2px 4px 16px rgba(0,0,0,.18)}.es-lowcode-view__edit-switch.is-edit .es-lowcode-view__edit-switch--btn.is-confirm{padding-right:20px}.es-lowcode-view__edit-switch.is-edit .es-lowcode-view__edit-switch--btn .es-lowcode-view__edit-switch--label{font-size:14px;color:#333;white-space:nowrap}.es-lowcode-view__edit-switch .es-button{font-size:18px}.es-lowcode-view__waterfall{position:relative;-webkit-transition:height .2s ease;transition:height .2s ease}.es-lowcode-view__waterfall>*{min-width:0}.es-lowcode-view .es-lowcode-view-sortable-ghost{opacity:.4}.es-lowcode-view .es-lowcode-view-sortable-ghost .item-content{background-color:#ccc}.es-lowcode-view .es-lowcode-view-sortable-drag{cursor:-webkit-grabbing;cursor:grabbing;opacity:.8}.es-lowcode-view__waterfall-item{position:relative}.es-lowcode-view__waterfall-item::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.3);border:1px dashed #ccc;border-radius:6px}.es-lowcode-view__waterfall-add{background-color:rgba(0,0,0,.3);border-radius:6px;height:100px;border:1px dashed #ccc;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;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;font-size:14px;color:#666;cursor:pointer}.es-lowcode-view__resize-handle{position:absolute;z-index:100}.es-lowcode-view__resize-handle .es-lowcode__resize-size{position:absolute;font-size:12px}.es-lowcode-view__resize-handle.is-top{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);height:8px;line-height:8px;cursor:ns-resize}.es-lowcode-view__resize-handle.is-top .es-lowcode__resize-size{top:0;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.es-lowcode-view__resize-handle.is-bottom{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);height:8px;line-height:8px;cursor:ns-resize}.es-lowcode-view__resize-handle.is-bottom .es-lowcode__resize-size{bottom:0;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.es-lowcode-view__resize-handle.is-left{left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:12px;text-align:center;cursor:ew-resize}.es-lowcode-view__resize-handle.is-left .es-lowcode__resize-size{left:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.es-lowcode-view__resize-handle.is-right{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:12px;text-align:center;cursor:ew-resize}.es-lowcode-view__resize-handle.is-right .es-lowcode__resize-size{right:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.es-lowcode-view__modules{height:100%;overflow:hidden}.es-lowcode-view__modules--scrollbar{height:calc(100% - 48px)}.es-lowcode-view__modules--scrollbar.is-full{height:100%}.es-lowcode-view__modules--scrollbar .es-scrollbar__view{padding:16px}.es-lowcode-view__modules--scrollbar .es-checkbox-group{display:block}.es-lowcode-view__modules--scrollbar .es-checkbox{display:block;margin:0;position:absolute}.es-lowcode-view__modules--scrollbar .es-checkbox__input{position:absolute;top:12px;right:12px}.es-lowcode-view__modules--scrollbar .es-checkbox__label{display:block;height:100%;padding:0}.es-lowcode-view__modules--waterfall{position:relative;width:100%}.es-lowcode-view__modules--pagination{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.es-lowcode-view__iframe{border:0;height:100%}.es-lowcode-view__iframe .es-card__header{border:0;padding-bottom:0}.es-lowcode-view__iframe .es-card__header+.es-card__body{height:calc(100% - 43px)}.es-lowcode-view__iframe .es-card__body{height:100%}.es-lowcode-view__iframe--header{line-height:24px}.es-lowcode-view__iframe--header-title-icon{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;font-size:12px;background-color:#bae7ff;border-radius:3px;color:#096dd9;position:relative;top:-2px}.es-lowcode-view__iframe--header-title{font-family:Alibaba PuHuiTi 2,Alibaba PuHuiTi 20;font-size:16px;color:#121212;margin-left:10px}.es-lowcode-view__iframe--header-right{float:right;cursor:pointer;color:#999}.es-lowcode-view__iframe--header-right .es-icon-shezhi{font-size:16px;position:relative;top:1px}
|
|
1
|
+
@charset "UTF-8";.es-lowcode-view{height:100%}.es-lowcode-view .es-scrollbar__view{padding:16px}.es-lowcode-view__edit-switch{position:fixed;top:120px;right:2px;z-index:999}.es-lowcode-view__edit-switch--trigger{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:40px;-webkit-transform:translateX(calc(100% - 4px));transform:translateX(calc(100% - 4px));-webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.es-lowcode-view__edit-switch--trigger:hover{-webkit-transform:translateX(0);transform:translateX(0)}.es-lowcode-view__edit-switch--trigger:hover .es-lowcode-view__edit-switch--strip{opacity:0}.es-lowcode-view__edit-switch--trigger:hover .es-lowcode-view__edit-switch--content{display:-webkit-box;display:-ms-flexbox;display:flex}.es-lowcode-view__edit-switch--strip{width:8px;height:100%;background:#40a9ff;border-radius:2px 0 0 2px;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:opacity .2s;transition:opacity .2s}.es-lowcode-view__edit-switch--content{display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 16px 6px 10px;background:#fff;border-radius:24px 0 0 24px;-webkit-box-shadow:-2px 2px 12px rgba(0,0,0,.12);box-shadow:-2px 2px 12px rgba(0,0,0,.12);white-space:nowrap}.es-lowcode-view__edit-switch--label{font-size:14px;color:#333}.es-lowcode-view__edit-switch.is-edit{right:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.es-lowcode-view__edit-switch.is-edit .es-lowcode-view__edit-switch--btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 16px 6px 6px;background:#fff;border-radius:24px 0 0 24px;-webkit-box-shadow:-2px 2px 12px rgba(0,0,0,.12);box-shadow:-2px 2px 12px rgba(0,0,0,.12);cursor:pointer;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.es-lowcode-view__edit-switch.is-edit .es-lowcode-view__edit-switch--btn:hover{-webkit-box-shadow:-2px 4px 16px rgba(0,0,0,.18);box-shadow:-2px 4px 16px rgba(0,0,0,.18)}.es-lowcode-view__edit-switch.is-edit .es-lowcode-view__edit-switch--btn.is-confirm{padding-right:20px}.es-lowcode-view__edit-switch.is-edit .es-lowcode-view__edit-switch--btn .es-lowcode-view__edit-switch--label{font-size:14px;color:#333;white-space:nowrap}.es-lowcode-view__edit-switch .es-button{font-size:18px}.es-lowcode-view__waterfall{position:relative;-webkit-transition:height .2s ease;transition:height .2s ease}.es-lowcode-view__waterfall>*{min-width:0}.es-lowcode-view .es-lowcode-view-sortable-ghost{opacity:.4}.es-lowcode-view .es-lowcode-view-sortable-ghost .item-content{background-color:#ccc}.es-lowcode-view .es-lowcode-view-sortable-drag{cursor:-webkit-grabbing;cursor:grabbing;opacity:.8}.es-lowcode-view__waterfall-item{position:relative}.es-lowcode-view__waterfall-item::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.3);border:1px dashed #ccc;border-radius:6px;z-index:99}.es-lowcode-view__waterfall-add{background-color:rgba(0,0,0,.3);border-radius:6px;height:100px;border:1px dashed #ccc;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;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;font-size:14px;color:#666;cursor:pointer}.es-lowcode-view__resize-handle{position:absolute;z-index:100}.es-lowcode-view__resize-handle .es-lowcode__resize-size{position:absolute;font-size:12px}.es-lowcode-view__resize-handle.is-top{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);height:8px;line-height:8px;cursor:ns-resize}.es-lowcode-view__resize-handle.is-top .es-lowcode__resize-size{top:0;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.es-lowcode-view__resize-handle.is-bottom{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);height:8px;line-height:8px;cursor:ns-resize}.es-lowcode-view__resize-handle.is-bottom .es-lowcode__resize-size{bottom:0;right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.es-lowcode-view__resize-handle.is-left{left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:12px;text-align:center;cursor:ew-resize}.es-lowcode-view__resize-handle.is-left .es-lowcode__resize-size{left:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.es-lowcode-view__resize-handle.is-right{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:12px;text-align:center;cursor:ew-resize}.es-lowcode-view__resize-handle.is-right .es-lowcode__resize-size{right:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.es-lowcode-view__modules{height:100%;overflow:hidden}.es-lowcode-view__modules--scrollbar{height:calc(100% - 48px)}.es-lowcode-view__modules--scrollbar.is-full{height:100%}.es-lowcode-view__modules--scrollbar .es-scrollbar__view{padding:16px}.es-lowcode-view__modules--scrollbar .es-checkbox-group{display:block}.es-lowcode-view__modules--scrollbar .es-checkbox{display:block;margin:0;position:absolute}.es-lowcode-view__modules--scrollbar .es-checkbox__input{position:absolute;top:12px;right:12px}.es-lowcode-view__modules--scrollbar .es-checkbox__label{display:block;height:100%;padding:0}.es-lowcode-view__modules--waterfall{position:relative;width:100%}.es-lowcode-view__modules--pagination{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.es-lowcode-view__iframe{border:0;height:100%}.es-lowcode-view__iframe .es-card__header{border:0;padding-bottom:0}.es-lowcode-view__iframe .es-card__header+.es-card__body{height:calc(100% - 43px)}.es-lowcode-view__iframe .es-card__body{height:100%}.es-lowcode-view__iframe--header{line-height:24px}.es-lowcode-view__iframe--header-title-icon{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;font-size:12px;background-color:#bae7ff;border-radius:3px;color:#096dd9;position:relative;top:-2px}.es-lowcode-view__iframe--header-title{font-family:Alibaba PuHuiTi 2,Alibaba PuHuiTi 20;font-size:16px;color:#121212;margin-left:10px}.es-lowcode-view__iframe--header-right{float:right;cursor:pointer;color:#999}.es-lowcode-view__iframe--header-right .es-icon-shezhi{font-size:16px;position:relative;top:1px}
|
package/lib/theme-chalk/tabs.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.es-tabs{height:100%}.es-tabs__header{height:50px;padding:0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.es-tabs__prepend{line-height:40px;position:relative}.es-tabs__prepend:not(.is-hide)::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#d9e2ec;z-index:1}.es-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#1890ff;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.es-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.es-tabs__new-tab .es-icon-jia{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.es-tabs__new-tab:hover{color:#1890ff}.es-tabs__nav-main{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.es-tabs__nav-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.es-tabs__nav-wrap:not(.is-hide)::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#d9e2ec;z-index:1}.es-tabs__nav-scroll{overflow:hidden}.es-tabs__nav-scroll::after{content:"";display:table;clear:both}.es-tabs__nav-next,.es-tabs__nav-prev{position:absolute;cursor:pointer;line-height:42px;font-size:12px;padding:0 4px;color:#999}.es-tabs__nav-next{right:0}.es-tabs__nav-prev{left:0}.es-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.es-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.es-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.es-tabs__item{padding:0 20px;height:49px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:49px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#333;position:relative}.es-tabs__item:focus,.es-tabs__item:focus:active{outline:0}.es-tabs__item .es-badge__content.is-fixed{right:4px;-webkit-transform:translateY(0) translateX(100%);transform:translateY(0) translateX(100%)}.es-tabs__item .es-icon-guanbi{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px;position:relative;top:1px}.es-tabs__item .es-icon-guanbi:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.es-tabs__item .es-icon-guanbi:hover{background-color:rgba(0,0,0,.25);color:#fff}.es-tabs__item.is-active{color:#1890ff}.es-tabs__item:hover{color:#1890ff;cursor:pointer}.es-tabs__item.is-disabled{color:rgba(0,0,0,.25);cursor:default}.es-tabs__content{overflow:hidden;position:relative;height:calc(100% - 48px)}.es-tabs--card>.es-tabs__header{border-bottom:1px solid #d9e2ec}.es-tabs--card>.es-tabs__header .es-tabs__nav-wrap::after{content:none}.es-tabs--card>.es-tabs__header .es-tabs__nav{border:1px solid #d9e2ec;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.es-tabs--card>.es-tabs__header .es-tabs__active-bar{display:none}.es-tabs--card>.es-tabs__header .es-tabs__item .es-icon-guanbi{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:14px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.es-tabs--card>.es-tabs__header .es-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #d9e2ec;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.es-tabs--card>.es-tabs__header .es-tabs__item:first-child{border-left:none}.es-tabs--card>.es-tabs__header .es-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.es-tabs--card>.es-tabs__header .es-tabs__item.is-closable:hover .es-icon-guanbi{width:14px}.es-tabs--card>.es-tabs__header .es-tabs__item.is-active{border-bottom-color:#fff}.es-tabs--card>.es-tabs__header .es-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.es-tabs--card>.es-tabs__header .es-tabs__item.is-active.is-closable .es-icon-guanbi{width:14px}.es-tabs--border-card{background:#fff;border:1px solid #dfebf6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.es-tabs--border-card>.es-tabs__content{padding:12px}.es-tabs--border-card>.es-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #fff;margin:0}.es-tabs--border-card>.es-tabs__header .es-tabs__nav-wrap::after{content:none}.es-tabs--border-card>.es-tabs__header .es-tabs__item{border:1px solid transparent;color:#999;height:40px;line-height:40px}.es-tabs--border-card>.es-tabs__header .es-tabs__item+.es-tabs__item,.es-tabs--border-card>.es-tabs__header .es-tabs__item:first-child{margin-left:-1px}.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active{color:#1890ff;background-color:#fff;border-right-color:#fff;border-left-color:#fff}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active::after,.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active:before,.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active::after,.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active:before{content:"";width:8px;height:8px;background-color:#f5f5f5;position:absolute}.es-tabs--border-card>.es-tabs__header .es-tabs__item:not(.is-disabled):hover{color:#1890ff}.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-disabled{color:rgba(0,0,0,.25)}.es-tabs--border-card>.es-tabs__header .is-scrollable .es-tabs__item:first-child{margin-left:0}.es-tabs--bottom.es-tabs--border-card>.es-tabs__header .es-tabs__item:nth-child(2),.es-tabs--bottom.es-tabs--card>.es-tabs__header .es-tabs__item:nth-child(2),.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item:nth-child(2),.es-tabs--top.es-tabs--card>.es-tabs__header .es-tabs__item:nth-child(2){padding-left:20px}.es-tabs--bottom.es-tabs--border-card>.es-tabs__header .es-tabs__item:last-child,.es-tabs--bottom.es-tabs--card>.es-tabs__header .es-tabs__item:last-child,.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item:last-child,.es-tabs--top.es-tabs--card>.es-tabs__header .es-tabs__item:last-child{padding-right:20px}.es-tabs--bottom .es-tabs__nav-wrap,.es-tabs--top .es-tabs__nav-wrap{min-width:0}.es-tabs--bottom .es-tabs__nav-wrap.is-scrollable,.es-tabs--top .es-tabs__nav-wrap.is-scrollable{padding:0 20px}.es-tabs--top.es-tabs--border-card>.es-tabs__header{padding-top:9px}.es-tabs--bottom.es-tabs--border-card .es-tabs__nav,.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__nav{padding:0 8px}.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active{border-top-left-radius:8px;border-top-right-radius:8px}.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active:before{border-radius:0 0 8px;bottom:-1px;left:-9px;-webkit-box-shadow:4px 0 0 0 #fff;box-shadow:4px 0 0 0 #fff}.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active::after{border-radius:0 0 0 8px;bottom:-1px;right:-9px;-webkit-box-shadow:-4px 0 0 0 #fff;box-shadow:-4px 0 0 0 #fff}.es-tabs--bottom .es-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.es-tabs--bottom.es-tabs--border-card .es-tabs__header.is-bottom{padding-bottom:9px;border-bottom:0;border-top:1px solid #dfebf6}.es-tabs--bottom.es-tabs--border-card .es-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-bottom{margin:0 -1px -1px}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active:before{border-radius:0 8px 0 0;top:-1px;left:-9px;-webkit-box-shadow:4px 0 0 0 #fff;box-shadow:4px 0 0 0 #fff}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active::after{border-radius:8px 0 0;top:-1px;right:-9px;-webkit-box-shadow:-4px 0 0 0 #fff;box-shadow:-4px 0 0 0 #fff}.es-tabs--left,.es-tabs--right{overflow:hidden}.es-tabs--left .es-tabs__header.is-left,.es-tabs--left .es-tabs__header.is-right,.es-tabs--left .es-tabs__nav-scroll,.es-tabs--left .es-tabs__nav-wrap.is-left,.es-tabs--left .es-tabs__nav-wrap.is-right,.es-tabs--right .es-tabs__header.is-left,.es-tabs--right .es-tabs__header.is-right,.es-tabs--right .es-tabs__nav-scroll,.es-tabs--right .es-tabs__nav-wrap.is-left,.es-tabs--right .es-tabs__nav-wrap.is-right{height:100%}.es-tabs--left .es-tabs__active-bar.is-left,.es-tabs--left .es-tabs__active-bar.is-right,.es-tabs--right .es-tabs__active-bar.is-left,.es-tabs--right .es-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.es-tabs--left .es-tabs__nav-wrap.is-left,.es-tabs--left .es-tabs__nav-wrap.is-right,.es-tabs--right .es-tabs__nav-wrap.is-left,.es-tabs--right .es-tabs__nav-wrap.is-right{margin-bottom:0}.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-next,.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-next,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-next,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-next,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-next i,.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev i,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-next i,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev i,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-next i,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev i,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-next i,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev{left:auto;top:0}.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-next,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-next,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-next,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-next{right:auto;bottom:0}.es-tabs--left .es-tabs__active-bar.is-left,.es-tabs--left .es-tabs__nav-wrap.is-left::after{right:0;left:auto}.es-tabs--left .es-tabs__nav-wrap.is-left.is-scrollable,.es-tabs--left .es-tabs__nav-wrap.is-right.is-scrollable,.es-tabs--right .es-tabs__nav-wrap.is-left.is-scrollable,.es-tabs--right .es-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.es-tabs--left .es-tabs__nav-wrap.is-left::after,.es-tabs--left .es-tabs__nav-wrap.is-right::after,.es-tabs--right .es-tabs__nav-wrap.is-left::after,.es-tabs--right .es-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.es-tabs--left .es-tabs__nav.is-left,.es-tabs--left .es-tabs__nav.is-right,.es-tabs--right .es-tabs__nav.is-left,.es-tabs--right .es-tabs__nav.is-right{float:none}.es-tabs--left .es-tabs__item.is-left,.es-tabs--left .es-tabs__item.is-right,.es-tabs--right .es-tabs__item.is-left,.es-tabs--right .es-tabs__item.is-right{display:block}.es-tabs--left.es-tabs--card .es-tabs__active-bar.is-left,.es-tabs--right.es-tabs--card .es-tabs__active-bar.is-right{display:none}.es-tabs--left .es-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.es-tabs--left .es-tabs__item.is-left{text-align:right}.es-tabs--left.es-tabs--card .es-tabs__item.is-left{border-left:none;border-right:1px solid #d9e2ec;border-bottom:none;border-top:1px solid #d9e2ec;text-align:left}.es-tabs--left.es-tabs--card .es-tabs__item.is-left:first-child{border-right:1px solid #d9e2ec;border-top:none}.es-tabs--left.es-tabs--card .es-tabs__item.is-left.is-active{border:1px solid #d9e2ec;border-right-color:#fff;border-left:none;border-bottom:none}.es-tabs--left.es-tabs--card .es-tabs__item.is-left.is-active:first-child{border-top:none}.es-tabs--left.es-tabs--card .es-tabs__item.is-left.is-active:last-child{border-bottom:none}.es-tabs--left.es-tabs--card .es-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #d9e2ec;border-right:none}.es-tabs--left.es-tabs--card .es-tabs__new-tab{float:none}.es-tabs--left.es-tabs--border-card .es-tabs__header.is-left{border-right:1px solid #dfe4ed}.es-tabs--left.es-tabs--border-card .es-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.es-tabs--left.es-tabs--border-card .es-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.es-tabs--left .es-tabs__content{height:100%}.es-tabs--right .es-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.es-tabs--right .es-tabs__nav-wrap.is-right::after{left:0;right:auto}.es-tabs--right .es-tabs__active-bar.is-right{left:0}.es-tabs--right.es-tabs--card .es-tabs__item.is-right{border-bottom:none;border-top:1px solid #d9e2ec}.es-tabs--right.es-tabs--card .es-tabs__item.is-right:first-child{border-left:1px solid #d9e2ec;border-top:none}.es-tabs--right.es-tabs--card .es-tabs__item.is-right.is-active{border:1px solid #d9e2ec;border-left-color:#fff;border-right:none;border-bottom:none}.es-tabs--right.es-tabs--card .es-tabs__item.is-right.is-active:first-child{border-top:none}.es-tabs--right.es-tabs--card .es-tabs__item.is-right.is-active:last-child{border-bottom:none}.es-tabs--right.es-tabs--card .es-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #d9e2ec;border-left:none}.es-tabs--right.es-tabs--border-card .es-tabs__header.is-right{border-left:1px solid #dfe4ed}.es-tabs--right.es-tabs--border-card .es-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.es-tabs--right.es-tabs--border-card .es-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}
|
|
1
|
+
@charset "UTF-8";.es-tabs__nav-wrap:not(.is-hide)::after,.es-tabs__prepend:not(.is-hide)::after{bottom:0;width:100%;background-color:#d9e2ec;z-index:1;content:"";left:0}.es-tabs{height:100%}.es-tabs__header{height:50px;padding:0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex}.es-tabs__prepend{line-height:40px;position:relative}.es-tabs__prepend:not(.is-hide)::after{position:absolute;height:2px}.es-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#1890ff;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.es-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.es-tabs__new-tab .es-icon-jia{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.es-tabs__new-tab:hover{color:#1890ff}.es-tabs__nav-main{-webkit-box-flex:1;-ms-flex:1;flex:1;position:relative}.es-tabs__nav-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.es-tabs__nav-wrap:not(.is-hide)::after{position:absolute;height:1px}.es-tabs__nav-scroll{overflow:hidden}.es-tabs__nav-scroll::after{content:"";display:table;clear:both}.es-tabs--border-card>.es-tabs__header .es-tabs__nav-wrap::after,.es-tabs--card>.es-tabs__header .es-tabs__nav-wrap::after{content:none}.es-tabs__nav-next,.es-tabs__nav-prev{position:absolute;cursor:pointer;line-height:42px;font-size:12px;padding:0 4px;color:#999}.es-tabs__nav-next{right:0}.es-tabs__nav-prev{left:0}.es-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.es-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.es-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.es-tabs__item{padding:0 20px;height:49px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:49px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#333;position:relative}.es-tabs__item:focus,.es-tabs__item:focus:active{outline:0}.es-tabs__item .es-badge__content.is-fixed{right:4px;-webkit-transform:translateY(0) translateX(100%);transform:translateY(0) translateX(100%)}.es-tabs__item .es-icon-guanbi{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px;position:relative;top:1px}.es-tabs__item .es-icon-guanbi:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.es-tabs__item .es-icon-guanbi:hover{background-color:rgba(0,0,0,.25);color:#fff}.es-tabs__item.is-active{color:#1890ff}.es-tabs__item:hover{color:#1890ff;cursor:pointer}.es-tabs__item.is-disabled{color:rgba(0,0,0,.25);cursor:default}.es-tabs__content{overflow:hidden;position:relative;height:calc(100% - 48px)}.es-tabs--card>.es-tabs__header{border-bottom:1px solid #d9e2ec}.es-tabs--card>.es-tabs__header .es-tabs__nav{border:1px solid #d9e2ec;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.es-tabs--card>.es-tabs__header .es-tabs__active-bar{display:none}.es-tabs--card>.es-tabs__header .es-tabs__item .es-icon-guanbi{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:14px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.es-tabs--card>.es-tabs__header .es-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #d9e2ec;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.es-tabs--card>.es-tabs__header .es-tabs__item:first-child{border-left:none}.es-tabs--card>.es-tabs__header .es-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.es-tabs--card>.es-tabs__header .es-tabs__item.is-closable:hover .es-icon-guanbi{width:14px}.es-tabs--card>.es-tabs__header .es-tabs__item.is-active{border-bottom-color:#fff}.es-tabs--card>.es-tabs__header .es-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.es-tabs--card>.es-tabs__header .es-tabs__item.is-active.is-closable .es-icon-guanbi{width:14px}.es-tabs--border-card{background:#fff;border:1px solid #dfebf6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.es-tabs--border-card>.es-tabs__content{padding:12px}.es-tabs--border-card>.es-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #fff;margin:0}.es-tabs--border-card>.es-tabs__header .es-tabs__item{border:1px solid transparent;color:#999;height:40px;line-height:40px}.es-tabs--border-card>.es-tabs__header .es-tabs__item+.es-tabs__item,.es-tabs--border-card>.es-tabs__header .es-tabs__item:first-child{margin-left:-1px}.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active{color:#1890ff;background-color:#fff;border-right-color:#fff;border-left-color:#fff}.es-tabs--border-card>.es-tabs__header .es-tabs__item:not(.is-disabled):hover{color:#1890ff}.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-disabled{color:rgba(0,0,0,.25)}.es-tabs--border-card>.es-tabs__header .is-scrollable .es-tabs__item:first-child{margin-left:0}.es-tabs--bottom.es-tabs--border-card>.es-tabs__header .es-tabs__item:nth-child(2),.es-tabs--bottom.es-tabs--card>.es-tabs__header .es-tabs__item:nth-child(2),.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item:nth-child(2),.es-tabs--top.es-tabs--card>.es-tabs__header .es-tabs__item:nth-child(2){padding-left:20px}.es-tabs--bottom.es-tabs--border-card>.es-tabs__header .es-tabs__item:last-child,.es-tabs--bottom.es-tabs--card>.es-tabs__header .es-tabs__item:last-child,.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item:last-child,.es-tabs--top.es-tabs--card>.es-tabs__header .es-tabs__item:last-child{padding-right:20px}.es-tabs--bottom .es-tabs__nav-wrap,.es-tabs--top .es-tabs__nav-wrap{min-width:0}.es-tabs--bottom .es-tabs__nav-wrap.is-scrollable,.es-tabs--top .es-tabs__nav-wrap.is-scrollable{padding:0 20px;position:relative}.es-tabs--top.es-tabs--border-card>.es-tabs__header{padding-top:9px}.es-tabs--bottom.es-tabs--border-card .es-tabs__nav,.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__nav{padding:0 8px}.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active{border-top-left-radius:8px;border-top-right-radius:8px}.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active::after,.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active:before{content:"";position:absolute;width:8px;height:8px;background-color:#f5f5f5}.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active:before{border-radius:0 0 8px;bottom:-1px;left:-9px;-webkit-box-shadow:4px 0 0 0 #fff;box-shadow:4px 0 0 0 #fff}.es-tabs--top.es-tabs--border-card>.es-tabs__header .es-tabs__item.is-active::after{border-radius:0 0 0 8px;bottom:-1px;right:-9px;-webkit-box-shadow:-4px 0 0 0 #fff;box-shadow:-4px 0 0 0 #fff}.es-tabs--bottom .es-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.es-tabs--bottom.es-tabs--border-card .es-tabs__header.is-bottom{padding-bottom:9px;border-bottom:0;border-top:1px solid #dfebf6}.es-tabs--bottom.es-tabs--border-card .es-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-bottom{margin:0 -1px -1px}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active::after,.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active:before{content:"";position:absolute;width:8px;height:8px;background-color:#f5f5f5}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active:before{border-radius:0 8px 0 0;top:-1px;left:-9px;-webkit-box-shadow:4px 0 0 0 #fff;box-shadow:4px 0 0 0 #fff}.es-tabs--bottom.es-tabs--border-card .es-tabs__item.is-active::after{border-radius:8px 0 0;top:-1px;right:-9px;-webkit-box-shadow:-4px 0 0 0 #fff;box-shadow:-4px 0 0 0 #fff}.es-tabs--left,.es-tabs--right{overflow:hidden}.es-tabs--left .es-tabs__header.is-left,.es-tabs--left .es-tabs__header.is-right,.es-tabs--left .es-tabs__nav-scroll,.es-tabs--left .es-tabs__nav-wrap.is-left,.es-tabs--left .es-tabs__nav-wrap.is-right,.es-tabs--right .es-tabs__header.is-left,.es-tabs--right .es-tabs__header.is-right,.es-tabs--right .es-tabs__nav-scroll,.es-tabs--right .es-tabs__nav-wrap.is-left,.es-tabs--right .es-tabs__nav-wrap.is-right{height:100%}.es-tabs--left .es-tabs__active-bar.is-left,.es-tabs--left .es-tabs__active-bar.is-right,.es-tabs--right .es-tabs__active-bar.is-left,.es-tabs--right .es-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.es-tabs--left .es-tabs__nav-wrap.is-left,.es-tabs--left .es-tabs__nav-wrap.is-right,.es-tabs--right .es-tabs__nav-wrap.is-left,.es-tabs--right .es-tabs__nav-wrap.is-right{margin-bottom:0}.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-next,.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-next,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-next,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-next,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-next i,.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev i,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-next i,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev i,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-next i,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev i,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-next i,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-prev,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-prev{left:auto;top:0}.es-tabs--left .es-tabs__nav-wrap.is-left>.es-tabs__nav-next,.es-tabs--left .es-tabs__nav-wrap.is-right>.es-tabs__nav-next,.es-tabs--right .es-tabs__nav-wrap.is-left>.es-tabs__nav-next,.es-tabs--right .es-tabs__nav-wrap.is-right>.es-tabs__nav-next{right:auto;bottom:0}.es-tabs--left .es-tabs__active-bar.is-left,.es-tabs--left .es-tabs__nav-wrap.is-left::after{right:0;left:auto}.es-tabs--left .es-tabs__nav-wrap.is-left.is-scrollable,.es-tabs--left .es-tabs__nav-wrap.is-right.is-scrollable,.es-tabs--right .es-tabs__nav-wrap.is-left.is-scrollable,.es-tabs--right .es-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.es-tabs--left .es-tabs__nav-wrap.is-left::after,.es-tabs--left .es-tabs__nav-wrap.is-right::after,.es-tabs--right .es-tabs__nav-wrap.is-left::after,.es-tabs--right .es-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.es-tabs--left .es-tabs__nav.is-left,.es-tabs--left .es-tabs__nav.is-right,.es-tabs--right .es-tabs__nav.is-left,.es-tabs--right .es-tabs__nav.is-right{float:none}.es-tabs--left .es-tabs__item.is-left,.es-tabs--left .es-tabs__item.is-right,.es-tabs--right .es-tabs__item.is-left,.es-tabs--right .es-tabs__item.is-right{display:block}.es-tabs--left.es-tabs--card .es-tabs__active-bar.is-left,.es-tabs--right.es-tabs--card .es-tabs__active-bar.is-right{display:none}.es-tabs--left .es-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.es-tabs--left .es-tabs__item.is-left{text-align:right}.es-tabs--left.es-tabs--card .es-tabs__item.is-left{border-left:none;border-right:1px solid #d9e2ec;border-bottom:none;border-top:1px solid #d9e2ec;text-align:left}.es-tabs--left.es-tabs--card .es-tabs__item.is-left:first-child{border-right:1px solid #d9e2ec;border-top:none}.es-tabs--left.es-tabs--card .es-tabs__item.is-left.is-active{border:1px solid #d9e2ec;border-right-color:#fff;border-left:none;border-bottom:none}.es-tabs--left.es-tabs--card .es-tabs__item.is-left.is-active:first-child{border-top:none}.es-tabs--left.es-tabs--card .es-tabs__item.is-left.is-active:last-child{border-bottom:none}.es-tabs--left.es-tabs--card .es-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #d9e2ec;border-right:none}.es-tabs--left.es-tabs--card .es-tabs__new-tab{float:none}.es-tabs--left.es-tabs--border-card .es-tabs__header.is-left{border-right:1px solid #dfe4ed}.es-tabs--left.es-tabs--border-card .es-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.es-tabs--left.es-tabs--border-card .es-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.es-tabs--left .es-tabs__content{height:100%}.es-tabs--right .es-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.es-tabs--right .es-tabs__nav-wrap.is-right::after{left:0;right:auto}.es-tabs--right .es-tabs__active-bar.is-right{left:0}.es-tabs--right.es-tabs--card .es-tabs__item.is-right{border-bottom:none;border-top:1px solid #d9e2ec}.es-tabs--right.es-tabs--card .es-tabs__item.is-right:first-child{border-left:1px solid #d9e2ec;border-top:none}.es-tabs--right.es-tabs--card .es-tabs__item.is-right.is-active{border:1px solid #d9e2ec;border-left-color:#fff;border-right:none;border-bottom:none}.es-tabs--right.es-tabs--card .es-tabs__item.is-right.is-active:first-child{border-top:none}.es-tabs--right.es-tabs--card .es-tabs__item.is-right.is-active:last-child{border-bottom:none}.es-tabs--right.es-tabs--card .es-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #d9e2ec;border-left:none}.es-tabs--right.es-tabs--border-card .es-tabs__header.is-right{border-left:1px solid #dfe4ed}.es-tabs--right.es-tabs--border-card .es-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.es-tabs--right.es-tabs--border-card .es-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}
|
package/lib/wujie.js
CHANGED
|
@@ -3549,7 +3549,7 @@ __webpack_require__.d(__webpack_exports__, "preloadApp", function() { return /*
|
|
|
3549
3549
|
__webpack_require__.d(__webpack_exports__, "destroyApp", function() { return /* reexport */ destroyApp; });
|
|
3550
3550
|
__webpack_require__.d(__webpack_exports__, "refreshApp", function() { return /* reexport */ refreshApp; });
|
|
3551
3551
|
|
|
3552
|
-
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/wujie/src/wujie.vue?vue&type=template&id=
|
|
3552
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/wujie/src/wujie.vue?vue&type=template&id=3fa66ad9&
|
|
3553
3553
|
var render = function () {
|
|
3554
3554
|
var _vm = this
|
|
3555
3555
|
var _h = _vm.$createElement
|
|
@@ -3601,7 +3601,7 @@ var staticRenderFns = []
|
|
|
3601
3601
|
render._withStripped = true
|
|
3602
3602
|
|
|
3603
3603
|
|
|
3604
|
-
// CONCATENATED MODULE: ./packages/wujie/src/wujie.vue?vue&type=template&id=
|
|
3604
|
+
// CONCATENATED MODULE: ./packages/wujie/src/wujie.vue?vue&type=template&id=3fa66ad9&
|
|
3605
3605
|
|
|
3606
3606
|
// EXTERNAL MODULE: external "vue"
|
|
3607
3607
|
var external_vue_ = __webpack_require__(2);
|
|
@@ -3757,7 +3757,6 @@ var bus = external_wujie_vue2_default.a.bus,
|
|
|
3757
3757
|
jsAfterLoaders: [{
|
|
3758
3758
|
callback: function callback() {
|
|
3759
3759
|
if (_this.loading) {
|
|
3760
|
-
console.log('[wujie] 脚本执行完成,关闭 loading', _this.name);
|
|
3761
3760
|
_this.loading = false;
|
|
3762
3761
|
_this._clearTimer();
|
|
3763
3762
|
}
|
package/package.json
CHANGED
|
@@ -361,6 +361,8 @@ export default {
|
|
|
361
361
|
if (errors.length) {
|
|
362
362
|
// 修不了的错误展示在底部状态栏,拦截保存
|
|
363
363
|
this.$refs.editorRef.setErrors(errors);
|
|
364
|
+
// 拦截时给出明确提示,避免「按了保存却没有任何反应」的错觉
|
|
365
|
+
this.$message.warning('校验未通过,保存已拦截:' + errors[0].message);
|
|
364
366
|
return;
|
|
365
367
|
}
|
|
366
368
|
this.$emit('save', value);
|
|
@@ -232,6 +232,26 @@ export default {
|
|
|
232
232
|
scriptContent
|
|
233
233
|
);
|
|
234
234
|
},
|
|
235
|
+
/**
|
|
236
|
+
* 字段值统一格式化为源码输出:对象或可解析的 JSON 字符串换行展开
|
|
237
|
+
* (与整体源码编辑器的 serialize 缩进对齐);不可解析的字符串原样输出
|
|
238
|
+
*/
|
|
239
|
+
prettyJson(val) {
|
|
240
|
+
if (val === null || val === undefined || val === '') {
|
|
241
|
+
return '';
|
|
242
|
+
}
|
|
243
|
+
if (typeof val === 'object') {
|
|
244
|
+
return JSON.stringify(val, null, 2);
|
|
245
|
+
}
|
|
246
|
+
if (typeof val === 'string') {
|
|
247
|
+
try {
|
|
248
|
+
return JSON.stringify(JSON.parse(val), null, 2);
|
|
249
|
+
} catch (e) {
|
|
250
|
+
return val;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return String(val);
|
|
254
|
+
},
|
|
235
255
|
/**
|
|
236
256
|
* 构造完整的 Vue 组件源码(template + script + style)
|
|
237
257
|
* @returns {String} 完整的 Vue 组件源码
|
|
@@ -240,36 +260,19 @@ export default {
|
|
|
240
260
|
const scriptParts = [];
|
|
241
261
|
|
|
242
262
|
// inject(始终输出,确保源码编辑器中可见)
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
} else if (injectValue && injectValue !== '{}') {
|
|
247
|
-
scriptParts.push(` inject: ${injectValue}`);
|
|
248
|
-
} else {
|
|
249
|
-
scriptParts.push(` inject: {}`);
|
|
250
|
-
}
|
|
263
|
+
scriptParts.push(
|
|
264
|
+
` inject: ${this.prettyJson(this.models.inject) || '{}'}`
|
|
265
|
+
);
|
|
251
266
|
|
|
252
267
|
// provide(始终输出)
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
} else if (provideValue && provideValue !== '{}') {
|
|
257
|
-
scriptParts.push(` provide: ${provideValue}`);
|
|
258
|
-
} else {
|
|
259
|
-
scriptParts.push(` provide: {}`);
|
|
260
|
-
}
|
|
268
|
+
scriptParts.push(
|
|
269
|
+
` provide: ${this.prettyJson(this.models.provide) || '{}'}`
|
|
270
|
+
);
|
|
261
271
|
|
|
262
272
|
// props
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
typeof propsValue === 'object'
|
|
267
|
-
? JSON.stringify(propsValue, null, 2)
|
|
268
|
-
: propsValue;
|
|
269
|
-
scriptParts.push(` props: ${propsStr}`);
|
|
270
|
-
} else {
|
|
271
|
-
scriptParts.push(` props: {}`);
|
|
272
|
-
}
|
|
273
|
+
scriptParts.push(
|
|
274
|
+
` props: ${this.prettyJson(this.models.props) || '{}'}`
|
|
275
|
+
);
|
|
273
276
|
|
|
274
277
|
// data
|
|
275
278
|
const dataValue = this.models.data;
|
|
@@ -300,40 +303,19 @@ export default {
|
|
|
300
303
|
}
|
|
301
304
|
|
|
302
305
|
// computed
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
typeof computedValue === 'object'
|
|
307
|
-
? JSON.stringify(computedValue, null, 2)
|
|
308
|
-
: computedValue;
|
|
309
|
-
scriptParts.push(` computed: ${computedStr}`);
|
|
310
|
-
} else {
|
|
311
|
-
scriptParts.push(` computed: {}`);
|
|
312
|
-
}
|
|
306
|
+
scriptParts.push(
|
|
307
|
+
` computed: ${this.prettyJson(this.models.computed) || '{}'}`
|
|
308
|
+
);
|
|
313
309
|
|
|
314
310
|
// watch
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
typeof watchValue === 'object'
|
|
319
|
-
? JSON.stringify(watchValue, null, 2)
|
|
320
|
-
: watchValue;
|
|
321
|
-
scriptParts.push(` watch: ${watchStr}`);
|
|
322
|
-
} else {
|
|
323
|
-
scriptParts.push(` watch: {}`);
|
|
324
|
-
}
|
|
311
|
+
scriptParts.push(
|
|
312
|
+
` watch: ${this.prettyJson(this.models.watch) || '{}'}`
|
|
313
|
+
);
|
|
325
314
|
|
|
326
315
|
// methods
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
typeof methodsValue === 'object'
|
|
331
|
-
? JSON.stringify(methodsValue, null, 2)
|
|
332
|
-
: methodsValue;
|
|
333
|
-
scriptParts.push(` methods: ${methodsStr}`);
|
|
334
|
-
} else {
|
|
335
|
-
scriptParts.push(` methods: {}`);
|
|
336
|
-
}
|
|
316
|
+
scriptParts.push(
|
|
317
|
+
` methods: ${this.prettyJson(this.models.methods) || '{}'}`
|
|
318
|
+
);
|
|
337
319
|
|
|
338
320
|
// 生命周期钩子
|
|
339
321
|
const hooks = [
|
|
@@ -438,7 +438,9 @@ export default {
|
|
|
438
438
|
// 在 children 中查找(HTML 元素)
|
|
439
439
|
if (this.page.children && this.page.children.length) {
|
|
440
440
|
const found = this.findInTree(this.page.children, this.selected);
|
|
441
|
-
|
|
441
|
+
// 只有原生 HTML 标签才算 HTML 元素(脚本级字段归页面);
|
|
442
|
+
// 业务组件(如 backlog)必须回写自身,否则编辑会误落到 page 上
|
|
443
|
+
if (found && found.id) return this.isNativeHtmlTag(found.name);
|
|
442
444
|
}
|
|
443
445
|
return false;
|
|
444
446
|
},
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<es-dialog
|
|
41
41
|
title="信息完善"
|
|
42
42
|
width="600px"
|
|
43
|
-
height="
|
|
43
|
+
height="442px"
|
|
44
44
|
:visible.sync="visible"
|
|
45
45
|
:close-on-click-modal="false"
|
|
46
46
|
>
|
|
@@ -48,6 +48,9 @@
|
|
|
48
48
|
<es-form-item label="名称" prop="name">
|
|
49
49
|
<es-input v-model="form.name" placeholder="请输入名称" />
|
|
50
50
|
</es-form-item>
|
|
51
|
+
<es-form-item label="编码" prop="code">
|
|
52
|
+
<es-input v-model="form.code" placeholder="请输入编码" />
|
|
53
|
+
</es-form-item>
|
|
51
54
|
<es-form-item label="描述" prop="description">
|
|
52
55
|
<es-input
|
|
53
56
|
type="textarea"
|
|
@@ -293,7 +296,10 @@ export default {
|
|
|
293
296
|
},
|
|
294
297
|
rules: {
|
|
295
298
|
name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
|
|
296
|
-
code: [
|
|
299
|
+
code: [
|
|
300
|
+
{ required: true, message: '请输入编码', trigger: 'blur' },
|
|
301
|
+
{ pattern: /^[a-zA-Z_][a-zA-Z0-9_]*$/, trigger: 'blur' }
|
|
302
|
+
]
|
|
297
303
|
//title: [{ required: true, message: '请输入页面标题', trigger: 'blur' }],
|
|
298
304
|
//description: [
|
|
299
305
|
// { required: true, message: '请输入描述', trigger: 'blur' }
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
:is="newNode.name"
|
|
23
23
|
v-bind="cleanProps"
|
|
24
24
|
v-on="newNode.events"
|
|
25
|
-
:key="
|
|
25
|
+
:key="instanceKey"
|
|
26
26
|
v-show="
|
|
27
27
|
newNode.directives['show'] !== undefined
|
|
28
28
|
? newNode.directives['show']
|
|
@@ -238,6 +238,20 @@ export default {
|
|
|
238
238
|
}
|
|
239
239
|
return result;
|
|
240
240
|
},
|
|
241
|
+
/**
|
|
242
|
+
* 组件实例 key:节点 id + props 签名。
|
|
243
|
+
* 业务组件(如 backlog)在 created 里按 props 拉数据、不 watch prop 变化,
|
|
244
|
+
* 源码视图改完 props 后必须换 key 强制重挂载,画布才会刷新
|
|
245
|
+
*/
|
|
246
|
+
instanceKey() {
|
|
247
|
+
let sig = '';
|
|
248
|
+
try {
|
|
249
|
+
sig = JSON.stringify(this.cleanProps);
|
|
250
|
+
} catch (e) {
|
|
251
|
+
sig = '';
|
|
252
|
+
}
|
|
253
|
+
return (this.newNode ? this.newNode.id : '') + ':' + sig;
|
|
254
|
+
},
|
|
241
255
|
/**
|
|
242
256
|
* 根据父容器布局类型调整子元素样式
|
|
243
257
|
* grid 模式下通过 grid-column: span N 控制跨列
|
|
@@ -73,6 +73,13 @@ function genStyle(node) {
|
|
|
73
73
|
return " :style='{ " + parts.join(', ') + " }'";
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
/** 属性值转义:& 与 " 转实体,解析端统一解码 */
|
|
77
|
+
function escapeAttr(val) {
|
|
78
|
+
return String(val)
|
|
79
|
+
.replace(/&/g, '&')
|
|
80
|
+
.replace(/"/g, '"');
|
|
81
|
+
}
|
|
82
|
+
|
|
76
83
|
/** 生成节点的 props 属性串 */
|
|
77
84
|
function genProps(node) {
|
|
78
85
|
const props = node.props;
|
|
@@ -106,8 +113,16 @@ function genProps(node) {
|
|
|
106
113
|
if (typeof val === 'number') {
|
|
107
114
|
return attrs + ' :' + key + '="' + val + '"';
|
|
108
115
|
}
|
|
109
|
-
//
|
|
110
|
-
|
|
116
|
+
// 复杂值用绑定语法输出:单引号属性 + 紧凑 JSON(不转实体、不换行),
|
|
117
|
+
// 解析端据此还原为真实数组/对象;值内单引号转 ' 避免截断属性
|
|
118
|
+
return (
|
|
119
|
+
attrs +
|
|
120
|
+
' :' +
|
|
121
|
+
key +
|
|
122
|
+
"='" +
|
|
123
|
+
JSON.stringify(val).replace(/'/g, ''') +
|
|
124
|
+
"'"
|
|
125
|
+
);
|
|
111
126
|
}, '');
|
|
112
127
|
}
|
|
113
128
|
|
|
@@ -216,15 +231,20 @@ export function genNode(node, indent) {
|
|
|
216
231
|
|
|
217
232
|
// 节点 id 以 data-id 输出,源码编辑后能原样解析回来
|
|
218
233
|
const idAttr = node.id ? ' data-id="' + node.id + '"' : '';
|
|
234
|
+
// description 是编辑器标签(元信息),以属性承载,不作为插槽文本渲染;
|
|
235
|
+
// 解析端对 description 属性单独识别,旧源码的文本写法仍兼容
|
|
236
|
+
const descAttr = node.description
|
|
237
|
+
? ' description="' + escapeAttr(node.description) + '"'
|
|
238
|
+
: '';
|
|
219
239
|
// 输出顺序:HTML 属性 + 组件 props + 指令 + 事件 + 样式
|
|
220
|
-
const attrStr = idAttr + genAttrs(node) + genProps(node) + genDirectives(node) + genEvents(node) + genStyle(node);
|
|
240
|
+
const attrStr = idAttr + descAttr + genAttrs(node) + genProps(node) + genDirectives(node) + genEvents(node) + genStyle(node);
|
|
221
241
|
const children = getChildren(node);
|
|
222
242
|
const lines = [];
|
|
223
243
|
|
|
224
244
|
// 检查是否有 text 指令
|
|
225
245
|
const vText = node.directives && node.directives['text'];
|
|
226
246
|
|
|
227
|
-
if (!children.length && !
|
|
247
|
+
if (!children.length && !vText) {
|
|
228
248
|
lines.push(pad + '<' + name + attrStr + '></' + name + '>');
|
|
229
249
|
return lines.join('\n');
|
|
230
250
|
}
|
|
@@ -232,17 +252,11 @@ export function genNode(node, indent) {
|
|
|
232
252
|
if (vText) {
|
|
233
253
|
// v-text 属性转换为 {{xxx}} 形式
|
|
234
254
|
lines.push(pad + INDENT + '{{' + vText + '}}');
|
|
235
|
-
} else {
|
|
236
|
-
//
|
|
237
|
-
|
|
238
|
-
lines.push(
|
|
239
|
-
}
|
|
240
|
-
if (children.length) {
|
|
241
|
-
// 子节点继续递归下钻
|
|
242
|
-
children.forEach((child) => {
|
|
243
|
-
lines.push(genNode(child, indent + 1));
|
|
244
|
-
});
|
|
245
|
-
}
|
|
255
|
+
} else if (children.length) {
|
|
256
|
+
// 子节点继续递归下钻
|
|
257
|
+
children.forEach((child) => {
|
|
258
|
+
lines.push(genNode(child, indent + 1));
|
|
259
|
+
});
|
|
246
260
|
}
|
|
247
261
|
lines.push(pad + '</' + name + '>');
|
|
248
262
|
return lines.join('\n');
|
|
@@ -43,7 +43,20 @@ function findBalanced(text, openIndex) {
|
|
|
43
43
|
return -1;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
/**
|
|
46
|
+
/** 属性值实体解码:与生成端的 escapeAttr / ' 转义对应 */
|
|
47
|
+
function decodeEntities(val) {
|
|
48
|
+
if (typeof val !== 'string') {
|
|
49
|
+
return val;
|
|
50
|
+
}
|
|
51
|
+
return val
|
|
52
|
+
.replace(/"/g, '"')
|
|
53
|
+
.replace(/'/g, "'")
|
|
54
|
+
.replace(/</g, '<')
|
|
55
|
+
.replace(/>/g, '>')
|
|
56
|
+
.replace(/&/g, '&');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** 解析标签属性:支持单/双引号,返回 { name, value, quote } 列表 */
|
|
47
60
|
function parseAttrs(str) {
|
|
48
61
|
const attrs = [];
|
|
49
62
|
const re = /([^\s=/>]+)(?:\s*=\s*("([^"]*)"|'([^']*)'))?/g;
|
|
@@ -52,9 +65,13 @@ function parseAttrs(str) {
|
|
|
52
65
|
if (!match[1]) {
|
|
53
66
|
continue;
|
|
54
67
|
}
|
|
55
|
-
const
|
|
68
|
+
const raw =
|
|
56
69
|
match[3] !== undefined ? match[3] : match[4] !== undefined ? match[4] : null;
|
|
57
|
-
attrs.push({
|
|
70
|
+
attrs.push({
|
|
71
|
+
name: match[1],
|
|
72
|
+
value: raw === null ? null : decodeEntities(raw),
|
|
73
|
+
quote: match[3] !== undefined ? '"' : "'"
|
|
74
|
+
});
|
|
58
75
|
}
|
|
59
76
|
return attrs;
|
|
60
77
|
}
|
|
@@ -69,6 +86,11 @@ function applyAttrs(node, attrs) {
|
|
|
69
86
|
node.id = String(value);
|
|
70
87
|
return;
|
|
71
88
|
}
|
|
89
|
+
if (name === 'description') {
|
|
90
|
+
// 生成器以属性承载编辑器标签(元信息),不作为插槽文本
|
|
91
|
+
node.description = String(value);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
72
94
|
if (name === ':style') {
|
|
73
95
|
// 支持生成器输出的对象字面量形式
|
|
74
96
|
if (typeof value === 'string' && value.trim().charAt(0) === '{') {
|
|
@@ -89,6 +111,16 @@ function applyAttrs(node, attrs) {
|
|
|
89
111
|
node.props = node.props || {};
|
|
90
112
|
const key = name.slice(1);
|
|
91
113
|
const trimmed = String(value).trim();
|
|
114
|
+
// 单引号且以 [ / { 开头:生成器的复杂值载体(紧凑 JSON),还原为真实数组/对象;
|
|
115
|
+
// 双引号仍按表达式字符串处理,保持历史语义
|
|
116
|
+
if (attr.quote === "'" && /^[[{]/.test(trimmed)) {
|
|
117
|
+
try {
|
|
118
|
+
node.props[key] = new Function('return (' + trimmed + ');')();
|
|
119
|
+
} catch (e) {
|
|
120
|
+
node.props[key] = String(value);
|
|
121
|
+
}
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
92
124
|
// 数字/布尔直接还原类型,其它保留表达式字符串
|
|
93
125
|
if (/^-?\d+(\.\d+)?$/.test(trimmed)) {
|
|
94
126
|
node.props[key] = Number(trimmed);
|