@fecp/designer 5.4.26 → 5.4.30

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.
Files changed (31) hide show
  1. package/es/designer/package.json.mjs +1 -1
  2. package/es/designer.css +91 -12
  3. package/es/packages/vue/index.mjs +2 -0
  4. package/es/packages/vue/src/components/all.mjs +6 -0
  5. package/es/packages/vue/src/components/dialog/DialogRenderer.vue2.mjs +3 -2
  6. package/es/packages/vue/src/components/dialog/customDialog/CustomDialog.vue.mjs +172 -0
  7. package/es/packages/vue/src/components/dialog/customDialog/index.mjs +7 -0
  8. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +5 -5
  9. package/es/packages/vue/src/components/layout/Layout.vue.mjs +81 -0
  10. package/es/packages/vue/src/components/layout/index.mjs +9 -0
  11. package/es/packages/vue/src/components/layout/layoutCard/LayoutCard.vue.mjs +162 -0
  12. package/es/packages/vue/src/components/layout/layoutCard/index.mjs +7 -0
  13. package/es/packages/vue/src/directive/layout.mjs +28 -0
  14. package/es/packages/vue/src/utils/datasource.mjs +2 -2
  15. package/es/packages/vue/src/utils/formulajs/calculate.mjs +23 -8
  16. package/lib/designer/package.json.js +1 -1
  17. package/lib/designer.css +91 -12
  18. package/lib/packages/vue/index.js +7 -5
  19. package/lib/packages/vue/src/components/all.js +6 -0
  20. package/lib/packages/vue/src/components/dialog/DialogRenderer.vue2.js +3 -2
  21. package/lib/packages/vue/src/components/dialog/customDialog/CustomDialog.vue.js +172 -0
  22. package/lib/packages/vue/src/components/dialog/customDialog/index.js +7 -0
  23. package/lib/packages/vue/src/components/forms/form/Form.vue.js +5 -5
  24. package/lib/packages/vue/src/components/layout/Layout.vue.js +81 -0
  25. package/lib/packages/vue/src/components/layout/index.js +9 -0
  26. package/lib/packages/vue/src/components/layout/layoutCard/LayoutCard.vue.js +162 -0
  27. package/lib/packages/vue/src/components/layout/layoutCard/index.js +7 -0
  28. package/lib/packages/vue/src/directive/layout.js +28 -0
  29. package/lib/packages/vue/src/utils/datasource.js +2 -2
  30. package/lib/packages/vue/src/utils/formulajs/calculate.js +23 -8
  31. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- const version = "5.4.26";
1
+ const version = "5.4.30";
2
2
  const packageJson = {
3
3
  version
4
4
  };
package/es/designer.css CHANGED
@@ -5708,18 +5708,18 @@ body,
5708
5708
  :root,:host{--van-overlay-z-index: 1;--van-overlay-background: rgba(0, 0, 0, .7)}.van-overlay{position:fixed;top:0;left:0;z-index:var(--van-overlay-z-index);width:100%;height:100%;background:var(--van-overlay-background)}
5709
5709
  :root,:host{--van-popup-background: var(--van-background-2);--van-popup-transition: transform var(--van-duration-base);--van-popup-round-radius: 16px;--van-popup-close-icon-size: 22px;--van-popup-close-icon-color: var(--van-gray-5);--van-popup-close-icon-margin: 16px;--van-popup-close-icon-z-index: 1}.van-overflow-hidden{overflow:hidden!important}.van-popup{position:fixed;max-height:100%;overflow-y:auto;box-sizing:border-box;background:var(--van-popup-background);transition:var(--van-popup-transition);-webkit-overflow-scrolling:touch}.van-popup--center{top:50%;left:0;right:0;width:-webkit-fit-content;width:fit-content;max-width:calc(100vw - var(--van-padding-md) * 2);margin:0 auto;transform:translateY(-50%)}.van-popup--center.van-popup--round{border-radius:var(--van-popup-round-radius)}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--van-popup-round-radius) var(--van-popup-round-radius)}.van-popup--right{top:50%;right:0;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--van-popup-round-radius) 0 0 var(--van-popup-round-radius)}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--van-popup-round-radius) var(--van-popup-round-radius) 0 0}.van-popup--left{top:50%;left:0;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--van-popup-round-radius) var(--van-popup-round-radius) 0}.van-popup-slide-top-enter-active,.van-popup-slide-left-enter-active,.van-popup-slide-right-enter-active,.van-popup-slide-bottom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popup-slide-top-leave-active,.van-popup-slide-left-leave-active,.van-popup-slide-right-leave-active,.van-popup-slide-bottom-leave-active{transition-timing-function:var(--van-ease-in)}.van-popup-slide-top-enter-from,.van-popup-slide-top-leave-active{transform:translate3d(0,-100%,0)}.van-popup-slide-right-enter-from,.van-popup-slide-right-leave-active{transform:translate3d(100%,-50%,0)}.van-popup-slide-bottom-enter-from,.van-popup-slide-bottom-leave-active{transform:translate3d(0,100%,0)}.van-popup-slide-left-enter-from,.van-popup-slide-left-leave-active{transform:translate3d(-100%,-50%,0)}.van-popup__close-icon{position:absolute;z-index:var(--van-popup-close-icon-z-index);color:var(--van-popup-close-icon-color);font-size:var(--van-popup-close-icon-size)}.van-popup__close-icon--top-left{top:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--top-right{top:var(--van-popup-close-icon-margin);right:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-left{bottom:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-right{right:var(--van-popup-close-icon-margin);bottom:var(--van-popup-close-icon-margin)}
5710
5710
  :root,:host{--van-dialog-width: 320px;--van-dialog-small-screen-width: 90%;--van-dialog-font-size: var(--van-font-size-lg);--van-dialog-transition: var(--van-duration-base);--van-dialog-radius: 16px;--van-dialog-background: var(--van-background-2);--van-dialog-header-font-weight: var(--van-font-bold);--van-dialog-header-line-height: 24px;--van-dialog-header-padding-top: 26px;--van-dialog-header-isolated-padding: var(--van-padding-lg) 0;--van-dialog-message-padding: var(--van-padding-lg);--van-dialog-message-font-size: var(--van-font-size-md);--van-dialog-message-line-height: var(--van-line-height-md);--van-dialog-message-max-height: 60vh;--van-dialog-has-title-message-text-color: var(--van-gray-7);--van-dialog-has-title-message-padding-top: var(--van-padding-xs);--van-dialog-button-height: 48px;--van-dialog-round-button-height: 36px;--van-dialog-confirm-button-text-color: var(--van-primary-color)}.van-dialog{top:45%;width:var(--van-dialog-width);overflow:hidden;font-size:var(--van-dialog-font-size);background:var(--van-dialog-background);border-radius:var(--van-dialog-radius);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:var(--van-dialog-transition);transition-property:transform,opacity}@media (max-width: 321px){.van-dialog{width:var(--van-dialog-small-screen-width)}}.van-dialog__header{color:var(--van-text-color);padding-top:var(--van-dialog-header-padding-top);font-weight:var(--van-dialog-header-font-weight);line-height:var(--van-dialog-header-line-height);text-align:center}.van-dialog__header--isolated{padding:var(--van-dialog-header-isolated-padding)}.van-dialog__content--isolated{display:flex;align-items:center;min-height:104px}.van-dialog__message{color:var(--van-text-color);flex:1;max-height:var(--van-dialog-message-max-height);padding:26px var(--van-dialog-message-padding);overflow-y:auto;font-size:var(--van-dialog-message-font-size);line-height:var(--van-dialog-message-line-height);white-space:pre-wrap;text-align:center;word-wrap:break-word;-webkit-overflow-scrolling:touch}.van-dialog__message--has-title{padding-top:var(--van-dialog-has-title-message-padding-top);color:var(--van-dialog-has-title-message-text-color)}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__message--justify{text-align:justify}.van-dialog__footer{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-dialog__confirm,.van-dialog__cancel{flex:1;height:var(--van-dialog-button-height);margin:0;border:0;border-radius:0}.van-dialog__confirm,.van-dialog__confirm:active{color:var(--van-dialog-confirm-button-text-color)}.van-dialog--round-button .van-dialog__footer{position:relative;height:auto;padding:var(--van-padding-xs) var(--van-padding-lg) var(--van-padding-md)}.van-dialog--round-button .van-dialog__message{padding-bottom:var(--van-padding-md);color:var(--van-text-color)}.van-dialog--round-button .van-dialog__confirm,.van-dialog--round-button .van-dialog__cancel{height:var(--van-dialog-round-button-height)}.van-dialog--round-button .van-dialog__confirm{color:var(--van-white)}.van-dialog--round-button .van-action-bar-button--first{border-top-left-radius:var(--van-radius-max);border-bottom-left-radius:var(--van-radius-max)}.van-dialog--round-button .van-action-bar-button--last{border-top-right-radius:var(--van-radius-max);border-bottom-right-radius:var(--van-radius-max)}.van-dialog-bounce-enter-from{transform:translate3d(0,-50%,0) scale(.7);opacity:0}.van-dialog-bounce-leave-active{transform:translate3d(0,-50%,0) scale(.9);opacity:0}
5711
- .dialog-header-content[data-v-3d101d10] {
5711
+ .dialog-header-content[data-v-9cd09319] {
5712
5712
  font-size: 16px;
5713
5713
  font-weight: 600;
5714
5714
  color: #303133;
5715
5715
  }
5716
- .dialog-content-wrapper[data-v-3d101d10] {
5716
+ .dialog-content-wrapper[data-v-9cd09319] {
5717
5717
  min-height: 500px;
5718
5718
  flex-grow: 1;
5719
5719
  display: flex;
5720
5720
  flex-direction: column;
5721
5721
  }
5722
- .empty-content[data-v-3d101d10] {
5722
+ .empty-content[data-v-9cd09319] {
5723
5723
  display: flex;
5724
5724
  align-items: center;
5725
5725
  justify-content: center;
@@ -5727,13 +5727,13 @@ body,
5727
5727
  color: #909399;
5728
5728
  font-size: 14px;
5729
5729
  }
5730
- .component-error[data-v-3d101d10] {
5730
+ .component-error[data-v-9cd09319] {
5731
5731
  padding: 40px 20px;
5732
5732
  text-align: center;
5733
5733
  color: #f56c6c;
5734
5734
  font-size: 14px;
5735
5735
  }
5736
- .fec-dialog-table[data-v-3d101d10] .table-pagination {
5736
+ .fec-dialog-table[data-v-9cd09319] .table-pagination {
5737
5737
  padding: 8px 0 0 0;
5738
5738
  }.text-field-wrapper[data-v-185ddd14] {
5739
5739
  width: 100%;
@@ -5904,27 +5904,27 @@ body,
5904
5904
  width: 80px;
5905
5905
  font-size: var(--el-font-size-extra-small);
5906
5906
  }
5907
- .fec-form[data-v-eb63b66b] {
5907
+ .fec-form[data-v-4eb26904] {
5908
5908
  height: 100%;
5909
5909
  }
5910
- [data-v-eb63b66b] .vgl-item {
5910
+ [data-v-4eb26904] .vgl-item {
5911
5911
  transition: none;
5912
5912
  }
5913
- [data-v-eb63b66b] .vgl-item > .el-form-item {
5913
+ [data-v-4eb26904] .vgl-item > .el-form-item {
5914
5914
  width: 100%;
5915
5915
  padding: 12px 8px 0 8px;
5916
5916
  height: calc(100% - 15px);
5917
5917
  display: flex;
5918
5918
  }
5919
- [data-v-eb63b66b] .vgl-item > .el-form-item.el-form-item--label-top {
5919
+ [data-v-4eb26904] .vgl-item > .el-form-item.el-form-item--label-top {
5920
5920
  flex-direction: column;
5921
5921
  }
5922
- [data-v-eb63b66b] .vgl-item > .el-form-item .el-form-item__label {
5922
+ [data-v-4eb26904] .vgl-item > .el-form-item .el-form-item__label {
5923
5923
  line-height: 20px;
5924
5924
  display: flex;
5925
5925
  align-items: center;
5926
5926
  }
5927
- [data-v-eb63b66b] .vgl-item > .el-container {
5927
+ [data-v-4eb26904] .vgl-item > .el-container {
5928
5928
  height: auto !important;
5929
5929
  }.cell-content .cell-text[data-v-3e5372d4] {
5930
5930
  display: inline-block;
@@ -6253,7 +6253,86 @@ body,
6253
6253
  .fec-table-container[data-v-45cdf333] .vxe-table .vxe-body--column .c--title {
6254
6254
  height: 40px !important;
6255
6255
  min-height: 40px !important;
6256
- }:root,:host{--van-cell-font-size: var(--van-font-size-md);--van-cell-line-height: 24px;--van-cell-vertical-padding: 10px;--van-cell-horizontal-padding: var(--van-padding-md);--van-cell-text-color: var(--van-text-color);--van-cell-background: var(--van-background-2);--van-cell-border-color: var(--van-border-color);--van-cell-active-color: var(--van-active-color);--van-cell-required-color: var(--van-danger-color);--van-cell-label-color: var(--van-text-color-2);--van-cell-label-font-size: var(--van-font-size-sm);--van-cell-label-line-height: var(--van-line-height-sm);--van-cell-label-margin-top: var(--van-padding-base);--van-cell-value-color: var(--van-text-color-2);--van-cell-value-font-size: inherit;--van-cell-icon-size: 16px;--van-cell-right-icon-color: var(--van-gray-6);--van-cell-large-vertical-padding: var(--van-padding-sm);--van-cell-large-title-font-size: var(--van-font-size-lg);--van-cell-large-label-font-size: var(--van-font-size-md);--van-cell-large-value-font-size: inherit}.van-cell{position:relative;display:flex;box-sizing:border-box;width:100%;padding:var(--van-cell-vertical-padding) var(--van-cell-horizontal-padding);overflow:hidden;color:var(--van-cell-text-color);font-size:var(--van-cell-font-size);line-height:var(--van-cell-line-height);background:var(--van-cell-background)}.van-cell:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:1px solid var(--van-cell-border-color);transform:scaleY(.5)}.van-cell:last-child:after,.van-cell--borderless:after{display:none}.van-cell__label{margin-top:var(--van-cell-label-margin-top);color:var(--van-cell-label-color);font-size:var(--van-cell-label-font-size);line-height:var(--van-cell-label-line-height)}.van-cell__title,.van-cell__value{flex:1}.van-cell__value{position:relative;overflow:hidden;color:var(--van-cell-value-color);font-size:var(--van-cell-value-font-size);text-align:right;vertical-align:middle;word-wrap:break-word}.van-cell__left-icon,.van-cell__right-icon{height:var(--van-cell-line-height);font-size:var(--van-cell-icon-size);line-height:var(--van-cell-line-height)}.van-cell__left-icon{margin-right:var(--van-padding-base)}.van-cell__right-icon{margin-left:var(--van-padding-base);color:var(--van-cell-right-icon-color)}.van-cell--clickable{cursor:pointer}.van-cell--clickable:active{background-color:var(--van-cell-active-color)}.van-cell--required{overflow:visible}.van-cell--required:before{position:absolute;left:var(--van-padding-xs);color:var(--van-cell-required-color);font-size:var(--van-cell-font-size);content:"*"}.van-cell--center{align-items:center}.van-cell--large{padding-top:var(--van-cell-large-vertical-padding);padding-bottom:var(--van-cell-large-vertical-padding)}.van-cell--large .van-cell__title{font-size:var(--van-cell-large-title-font-size)}.van-cell--large .van-cell__label{font-size:var(--van-cell-large-label-font-size)}.van-cell--large .van-cell__value{font-size:var(--van-cell-large-value-font-size)}
6256
+ }
6257
+ .custom-dialog {
6258
+ min-height: 50% !important;
6259
+ height: auto;
6260
+ max-height: 90% !important;
6261
+ padding: 0 !important;
6262
+ }
6263
+ .fec-layout-row[data-v-bb40b3aa] {
6264
+ width: 100%;
6265
+ height: 100%;
6266
+ }
6267
+ .fec-layout-row[data-v-bb40b3aa] .el-col {
6268
+ height: 100%;
6269
+ }
6270
+ .fec-layout-row[data-v-bb40b3aa] .el-col .el-scrollbar__bar {
6271
+ display: none;
6272
+ }
6273
+ .grid-content[data-v-bb40b3aa] {
6274
+ border-radius: 9px 9px 4px 4px;
6275
+ background-color: #fff;
6276
+ position: relative;
6277
+ height: 100%;
6278
+ /* padding: 16px; */
6279
+ overflow: hidden;
6280
+ /* .layout-content {
6281
+ padding: 16px 16px 16px 16px;
6282
+ } */
6283
+ }
6284
+ .grid-content-statistics[data-v-bb40b3aa] {
6285
+ height: 100%;
6286
+ display: flex;
6287
+ flex-direction: column;
6288
+ /* .card-content {
6289
+ display: flex;
6290
+ flex-direction: column;
6291
+ height: 100%;
6292
+ } */
6293
+ }
6294
+ .grid-content-statistics[data-v-bb40b3aa] .fec-layout-card:last-child {
6295
+ margin-bottom: 0 !important;
6296
+ flex: 1;
6297
+ }
6298
+ .fec-layout-card[data-v-3ce25014] {
6299
+ margin-bottom: 8px;
6300
+ border-radius: 4px;
6301
+ background-color: #fff;
6302
+ padding: 16px;
6303
+ display: flex;
6304
+ flex-direction: column;
6305
+ }
6306
+ .fec-layout-card .header[data-v-3ce25014] {
6307
+ display: flex;
6308
+ align-items: center;
6309
+ justify-content: space-between;
6310
+ }
6311
+ .fec-layout-card .header .title[data-v-3ce25014] {
6312
+ display: flex;
6313
+ align-items: center;
6314
+ }
6315
+ .fec-layout-card .header .title .icon[data-v-3ce25014] {
6316
+ color: #fff;
6317
+ width: 30px;
6318
+ height: 30px;
6319
+ display: block;
6320
+ border-radius: 4px;
6321
+ text-align: center;
6322
+ line-height: 30px;
6323
+ font-size: 20px;
6324
+ margin-right: 12px;
6325
+ }
6326
+ .fec-layout-card .header .title > span[data-v-3ce25014] {
6327
+ font-size: 17px;
6328
+ font-weight: bold;
6329
+ color: #1a1a1a;
6330
+ }
6331
+ .fec-layout-card .content[data-v-3ce25014] {
6332
+ flex-grow: 1;
6333
+ padding-top: 12px;
6334
+ }
6335
+ :root,:host{--van-cell-font-size: var(--van-font-size-md);--van-cell-line-height: 24px;--van-cell-vertical-padding: 10px;--van-cell-horizontal-padding: var(--van-padding-md);--van-cell-text-color: var(--van-text-color);--van-cell-background: var(--van-background-2);--van-cell-border-color: var(--van-border-color);--van-cell-active-color: var(--van-active-color);--van-cell-required-color: var(--van-danger-color);--van-cell-label-color: var(--van-text-color-2);--van-cell-label-font-size: var(--van-font-size-sm);--van-cell-label-line-height: var(--van-line-height-sm);--van-cell-label-margin-top: var(--van-padding-base);--van-cell-value-color: var(--van-text-color-2);--van-cell-value-font-size: inherit;--van-cell-icon-size: 16px;--van-cell-right-icon-color: var(--van-gray-6);--van-cell-large-vertical-padding: var(--van-padding-sm);--van-cell-large-title-font-size: var(--van-font-size-lg);--van-cell-large-label-font-size: var(--van-font-size-md);--van-cell-large-value-font-size: inherit}.van-cell{position:relative;display:flex;box-sizing:border-box;width:100%;padding:var(--van-cell-vertical-padding) var(--van-cell-horizontal-padding);overflow:hidden;color:var(--van-cell-text-color);font-size:var(--van-cell-font-size);line-height:var(--van-cell-line-height);background:var(--van-cell-background)}.van-cell:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;right:var(--van-padding-md);bottom:0;left:var(--van-padding-md);border-bottom:1px solid var(--van-cell-border-color);transform:scaleY(.5)}.van-cell:last-child:after,.van-cell--borderless:after{display:none}.van-cell__label{margin-top:var(--van-cell-label-margin-top);color:var(--van-cell-label-color);font-size:var(--van-cell-label-font-size);line-height:var(--van-cell-label-line-height)}.van-cell__title,.van-cell__value{flex:1}.van-cell__value{position:relative;overflow:hidden;color:var(--van-cell-value-color);font-size:var(--van-cell-value-font-size);text-align:right;vertical-align:middle;word-wrap:break-word}.van-cell__left-icon,.van-cell__right-icon{height:var(--van-cell-line-height);font-size:var(--van-cell-icon-size);line-height:var(--van-cell-line-height)}.van-cell__left-icon{margin-right:var(--van-padding-base)}.van-cell__right-icon{margin-left:var(--van-padding-base);color:var(--van-cell-right-icon-color)}.van-cell--clickable{cursor:pointer}.van-cell--clickable:active{background-color:var(--van-cell-active-color)}.van-cell--required{overflow:visible}.van-cell--required:before{position:absolute;left:var(--van-padding-xs);color:var(--van-cell-required-color);font-size:var(--van-cell-font-size);content:"*"}.van-cell--center{align-items:center}.van-cell--large{padding-top:var(--van-cell-large-vertical-padding);padding-bottom:var(--van-cell-large-vertical-padding)}.van-cell--large .van-cell__title{font-size:var(--van-cell-large-title-font-size)}.van-cell--large .van-cell__label{font-size:var(--van-cell-large-label-font-size)}.van-cell--large .van-cell__value{font-size:var(--van-cell-large-value-font-size)}
6257
6336
  :root,:host{--van-cell-group-background: var(--van-background-2);--van-cell-group-title-color: var(--van-text-color-2);--van-cell-group-title-padding: var(--van-padding-md) var(--van-padding-md);--van-cell-group-title-font-size: var(--van-font-size-md);--van-cell-group-title-line-height: 16px;--van-cell-group-inset-padding: 0 var(--van-padding-md);--van-cell-group-inset-radius: var(--van-radius-lg);--van-cell-group-inset-title-padding: var(--van-padding-md) var(--van-padding-md)}.van-cell-group{background:var(--van-cell-group-background)}.van-cell-group--inset{margin:var(--van-cell-group-inset-padding);border-radius:var(--van-cell-group-inset-radius);overflow:hidden}.van-cell-group__title{padding:var(--van-cell-group-title-padding);color:var(--van-cell-group-title-color);font-size:var(--van-cell-group-title-font-size);line-height:var(--van-cell-group-title-line-height)}.van-cell-group__title--inset{padding:var(--van-cell-group-inset-title-padding)}
6258
6337
  .van-swipe-cell{position:relative;overflow:hidden;cursor:-webkit-grab;cursor:grab}.van-swipe-cell__wrapper{transition-timing-function:cubic-bezier(.18,.89,.32,1);transition-property:transform}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;transform:translate3d(100%,0,0)}
6259
6338
 
@@ -5,6 +5,7 @@ import element_plus_default from "../../node_modules/element-plus/es/index.mjs";
5
5
  import * as components from "../../node_modules/vxe-pc-ui/es/components.mjs";
6
6
  /* empty css */
7
7
  /* empty css */
8
+ import layout from "./src/directive/layout.mjs";
8
9
  const fecVue = {
9
10
  install: (app) => {
10
11
  for (let c in all) {
@@ -19,6 +20,7 @@ const fecVue = {
19
20
  locale: zh_cn_default
20
21
  });
21
22
  app.use(components);
23
+ app.use(layout);
22
24
  }
23
25
  };
24
26
  export {
@@ -25,6 +25,9 @@ import { Document } from "./bus/document/index.mjs";
25
25
  import { header } from "./details/header/index.mjs";
26
26
  import { footer } from "./details/footer/index.mjs";
27
27
  import { main } from "./details/main/index.mjs";
28
+ import { customDialog } from "./dialog/customDialog/index.mjs";
29
+ import { Layout } from "./layout/index.mjs";
30
+ import { LayoutCard } from "./layout/layoutCard/index.mjs";
28
31
  export {
29
32
  ApprovalHistory,
30
33
  Area,
@@ -36,6 +39,8 @@ export {
36
39
  FormItem,
37
40
  H2,
38
41
  Industry,
42
+ Layout,
43
+ LayoutCard,
39
44
  MultipleSelection,
40
45
  Number,
41
46
  Radio,
@@ -50,6 +55,7 @@ export {
50
55
  Textarea,
51
56
  Upload,
52
57
  UserSelect,
58
+ customDialog,
53
59
  footer,
54
60
  header,
55
61
  main
@@ -180,7 +180,8 @@ const _sfc_main = {
180
180
  const calcResult = calculate({
181
181
  text: displayFormat == null ? void 0 : displayFormat.text,
182
182
  marks: [],
183
- value: row
183
+ value: row,
184
+ fieldsList: props.fieldsList
184
185
  });
185
186
  return calcResult;
186
187
  });
@@ -445,7 +446,7 @@ const _sfc_main = {
445
446
  };
446
447
  }
447
448
  };
448
- const DialogRenderer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3d101d10"]]);
449
+ const DialogRenderer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9cd09319"]]);
449
450
  export {
450
451
  DialogRenderer as default
451
452
  };
@@ -0,0 +1,172 @@
1
+ import "../../../../../../node_modules/element-plus/es/index.mjs";
2
+ /* empty css */
3
+ /* empty css */
4
+ /* empty css */
5
+ /* empty css */
6
+ import { useSlots, computed, ref, watch, createBlock, openBlock, unref, normalizeStyle, normalizeClass, isRef, createSlots, withCtx, renderSlot, createElementVNode, toDisplayString, createVNode, createElementBlock, createTextVNode, Fragment, createCommentVNode } from "vue";
7
+ /* empty css */
8
+ import { ElDialog } from "../../../../../../node_modules/element-plus/es/components/dialog/index.mjs";
9
+ import { ElButton } from "../../../../../../node_modules/element-plus/es/components/button/index.mjs";
10
+ const _sfc_main = {
11
+ __name: "CustomDialog",
12
+ props: {
13
+ modelValue: {
14
+ type: Boolean,
15
+ default: false
16
+ },
17
+ initOption: {
18
+ type: Object,
19
+ default: {
20
+ width: ""
21
+ }
22
+ },
23
+ width: {
24
+ type: String,
25
+ default: ""
26
+ },
27
+ height: {
28
+ type: String,
29
+ default: "auto"
30
+ },
31
+ //max,default,min
32
+ size: {
33
+ type: String,
34
+ default: "default"
35
+ },
36
+ class: {
37
+ type: String,
38
+ default: ""
39
+ },
40
+ title: {
41
+ type: String,
42
+ default: "标题"
43
+ },
44
+ submitButtonText: {
45
+ type: String,
46
+ default: "确定"
47
+ },
48
+ cancelButtonText: {
49
+ type: String,
50
+ default: "取消"
51
+ },
52
+ query: {
53
+ type: Boolean,
54
+ default: false
55
+ },
56
+ appendToBody: {
57
+ type: Boolean,
58
+ default: false
59
+ },
60
+ hiddenFooter: {
61
+ type: Boolean,
62
+ default: false
63
+ }
64
+ },
65
+ emits: ["submit", "onClose", "update:modelValue"],
66
+ setup(__props, { emit: __emit }) {
67
+ const props = __props;
68
+ const slotFooter = !!useSlots().footer;
69
+ const dialogWidth = computed(() => {
70
+ let w = props.initOption.width || props.width;
71
+ if (w) {
72
+ return w;
73
+ } else {
74
+ if (props.size == "default") {
75
+ return "65%";
76
+ } else if (props.size == "max") {
77
+ return "80%";
78
+ } else if (props.size == "min") {
79
+ return "50%";
80
+ }
81
+ }
82
+ });
83
+ const dialogVisible = ref(false);
84
+ const emit = __emit;
85
+ const onClose = () => {
86
+ emit("onClose");
87
+ emit("update:modelValue", false);
88
+ };
89
+ ref();
90
+ function submit() {
91
+ emit("submit");
92
+ }
93
+ const isFullscreen = ref(false);
94
+ function changeFullscreen() {
95
+ isFullscreen.value = !isFullscreen.value;
96
+ }
97
+ watch(
98
+ () => props.modelValue,
99
+ (visible) => {
100
+ if (visible) {
101
+ isFullscreen.value = false;
102
+ }
103
+ dialogVisible.value = visible;
104
+ },
105
+ {
106
+ immediate: true
107
+ }
108
+ );
109
+ return (_ctx, _cache) => {
110
+ const _component_el_button = ElButton;
111
+ const _component_el_dialog = ElDialog;
112
+ return openBlock(), createBlock(_component_el_dialog, {
113
+ modelValue: unref(dialogVisible),
114
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(dialogVisible) ? dialogVisible.value = $event : null),
115
+ title: props.title,
116
+ onClose,
117
+ "destroy-on-close": "",
118
+ draggable: "",
119
+ "append-to-body": props.appendToBody,
120
+ "close-on-click-modal": false,
121
+ "close-on-press-escape": false,
122
+ width: unref(dialogWidth),
123
+ class: normalizeClass(props.class + " custom-dialog"),
124
+ style: normalizeStyle("height:" + __props.height),
125
+ fullscreen: unref(isFullscreen)
126
+ }, createSlots({
127
+ header: withCtx(() => [
128
+ createElementVNode("span", null, toDisplayString(props.title), 1),
129
+ createElementVNode("i", {
130
+ class: "iconfont icon-MaxScreen max-screen",
131
+ onClick: changeFullscreen
132
+ })
133
+ ]),
134
+ default: withCtx(() => [
135
+ renderSlot(_ctx.$slots, "default")
136
+ ]),
137
+ _: 2
138
+ }, [
139
+ !__props.hiddenFooter ? {
140
+ name: "footer",
141
+ fn: withCtx(() => [
142
+ createVNode(_component_el_button, {
143
+ onClick: _cache[0] || (_cache[0] = ($event) => dialogVisible.value = false)
144
+ }, {
145
+ default: withCtx(() => [
146
+ createTextVNode(toDisplayString(props.cancelButtonText), 1)
147
+ ]),
148
+ _: 1
149
+ }),
150
+ slotFooter ? renderSlot(_ctx.$slots, "footer", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
151
+ !props.query ? (openBlock(), createBlock(_component_el_button, {
152
+ key: 0,
153
+ type: "primary",
154
+ onClick: submit,
155
+ size: "default"
156
+ }, {
157
+ default: withCtx(() => [
158
+ createTextVNode(toDisplayString(props.submitButtonText), 1)
159
+ ]),
160
+ _: 1
161
+ })) : createCommentVNode("", true)
162
+ ], 64))
163
+ ]),
164
+ key: "0"
165
+ } : void 0
166
+ ]), 1032, ["modelValue", "title", "append-to-body", "width", "class", "style", "fullscreen"]);
167
+ };
168
+ }
169
+ };
170
+ export {
171
+ _sfc_main as default
172
+ };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./CustomDialog.vue.mjs";
2
+ import install from "../../../utils/install.mjs";
3
+ const customDialog = install.withInstall("CustomDialog", _sfc_main);
4
+ export {
5
+ customDialog,
6
+ customDialog as default
7
+ };
@@ -145,7 +145,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
145
145
  }
146
146
  );
147
147
  const loadConfig = async () => {
148
- if (!props.templateKey) {
148
+ if (!props.templateKey && props.initOption && Object.keys(props.initOption).length == 0) {
149
149
  return;
150
150
  }
151
151
  configLoading.value = true;
@@ -190,7 +190,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
190
190
  mergeOptionsToFields();
191
191
  initGridLayoutDataConfig();
192
192
  initLinkage();
193
- emit("loaded", option);
193
+ emit("loaded", option, getFormData());
194
194
  } catch (error) {
195
195
  console.error("加载配置失败:", error);
196
196
  ElMessage.error("加载配置失败");
@@ -811,7 +811,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
811
811
  );
812
812
  relevantConfigs.dataLink.forEach((item) => {
813
813
  if (checkFilterMatch(item.filterConfig, formData.value, fields)) {
814
- debugger;
815
814
  const fieldAssignments = item.fieldAssignments || [];
816
815
  fieldAssignments.forEach((assignment) => {
817
816
  var _a2, _b;
@@ -822,7 +821,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
822
821
  const calcResult = calculate({
823
822
  text: formulaText,
824
823
  marks: [],
825
- value: formData.value
824
+ value: formData.value,
825
+ fieldsList: fields
826
826
  });
827
827
  formData.value[field.fieldName] = calcResult;
828
828
  }
@@ -1064,7 +1064,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
1064
1064
  };
1065
1065
  }
1066
1066
  });
1067
- const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-eb63b66b"]]);
1067
+ const _Form = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4eb26904"]]);
1068
1068
  export {
1069
1069
  _Form as default
1070
1070
  };
@@ -0,0 +1,81 @@
1
+ import "../../../../../node_modules/element-plus/es/index.mjs";
2
+ /* empty css */
3
+ /* empty css */
4
+ /* empty css */
5
+ /* empty css */
6
+ import { ref, resolveDirective, withDirectives, createBlock, openBlock, withCtx, createVNode, createElementVNode, unref, isRef, renderSlot, createCommentVNode } from "vue";
7
+ import { Form } from "../forms/form/index.mjs";
8
+ import { cloneDeep } from "../../utils/common.mjs";
9
+ /* empty css */
10
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.mjs";
11
+ import { ElRow } from "../../../../../node_modules/element-plus/es/components/row/index.mjs";
12
+ import { ElCol } from "../../../../../node_modules/element-plus/es/components/col/index.mjs";
13
+ import { ElScrollbar } from "../../../../../node_modules/element-plus/es/components/scrollbar/index.mjs";
14
+ const _hoisted_1 = { class: "grid-content" };
15
+ const _hoisted_2 = { class: "grid-content-statistics" };
16
+ const _sfc_main = {
17
+ __name: "Layout",
18
+ props: {
19
+ templateKey: {
20
+ type: String,
21
+ default: ""
22
+ }
23
+ },
24
+ emits: ["loaded"],
25
+ setup(__props, { emit: __emit }) {
26
+ const formData = ref({});
27
+ const emit = __emit;
28
+ const showCard = ref(false);
29
+ function loaded(option, formData2) {
30
+ showCard.value = true;
31
+ emit("loaded", cloneDeep(formData2));
32
+ }
33
+ return (_ctx, _cache) => {
34
+ const _component_el_scrollbar = ElScrollbar;
35
+ const _component_el_col = ElCol;
36
+ const _component_el_row = ElRow;
37
+ const _directive_fec_layout = resolveDirective("fec-layout");
38
+ return withDirectives((openBlock(), createBlock(_component_el_row, {
39
+ gutter: 8,
40
+ class: "fec-layout-row"
41
+ }, {
42
+ default: withCtx(() => [
43
+ createVNode(_component_el_col, { span: 18 }, {
44
+ default: withCtx(() => [
45
+ createElementVNode("div", _hoisted_1, [
46
+ createVNode(_component_el_scrollbar, { ref: "scrollbarRef" }, {
47
+ default: withCtx(() => [
48
+ createVNode(unref(Form), {
49
+ ref: "formRef",
50
+ templateKey: __props.templateKey,
51
+ modelValue: unref(formData),
52
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(formData) ? formData.value = $event : null),
53
+ onLoaded: loaded
54
+ }, null, 8, ["templateKey", "modelValue"])
55
+ ]),
56
+ _: 1
57
+ }, 512)
58
+ ])
59
+ ]),
60
+ _: 1
61
+ }),
62
+ createVNode(_component_el_col, { span: 6 }, {
63
+ default: withCtx(() => [
64
+ createElementVNode("div", _hoisted_2, [
65
+ unref(showCard) ? renderSlot(_ctx.$slots, "card", { key: 0 }, void 0, true) : createCommentVNode("", true)
66
+ ])
67
+ ]),
68
+ _: 3
69
+ })
70
+ ]),
71
+ _: 3
72
+ })), [
73
+ [_directive_fec_layout]
74
+ ]);
75
+ };
76
+ }
77
+ };
78
+ const _Layout = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bb40b3aa"]]);
79
+ export {
80
+ _Layout as default
81
+ };
@@ -0,0 +1,9 @@
1
+ import _Layout from "./Layout.vue.mjs";
2
+ import install from "../../utils/install.mjs";
3
+ import { LayoutCard } from "./layoutCard/index.mjs";
4
+ const Layout = install.withInstall("Layout", _Layout);
5
+ export {
6
+ Layout,
7
+ LayoutCard,
8
+ Layout as default
9
+ };