@ibiz-template/vue3-components 0.6.9 → 0.6.11

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 (144) hide show
  1. package/dist/index-oPRPtU0q.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/wang-editor-Zc_Y0dGt.js +1 -0
  5. package/dist/{xlsx-util-vDgpWrEL.js → xlsx-util-5X-82uzW.js} +1 -1
  6. package/es/control/calendar/calendar.css +1 -1
  7. package/es/control/drbar/drbar.controller.d.ts +15 -1
  8. package/es/control/drbar/drbar.controller.mjs +53 -4
  9. package/es/control/drbar/drbar.css +1 -1
  10. package/es/control/drbar/drbar.d.ts +0 -1
  11. package/es/control/drbar/drbar.mjs +8 -13
  12. package/es/control/drbar/index.d.ts +0 -1
  13. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.d.ts +1 -1
  14. package/es/control/exp-bar/calendar-exp-bar/calendar-exp-bar.mjs +3 -3
  15. package/es/control/exp-bar/calendar-exp-bar/index.d.ts +1 -1
  16. package/es/control/exp-bar/chart-exp-bar/chart-exp-bar.d.ts +1 -1
  17. package/es/control/exp-bar/chart-exp-bar/chart-exp-bar.mjs +3 -3
  18. package/es/control/exp-bar/chart-exp-bar/index.d.ts +1 -1
  19. package/es/control/exp-bar/data-view-exp-bar/data-view-view-exp-bar.d.ts +1 -1
  20. package/es/control/exp-bar/data-view-exp-bar/data-view-view-exp-bar.mjs +3 -3
  21. package/es/control/exp-bar/data-view-exp-bar/index.d.ts +1 -1
  22. package/es/control/exp-bar/grid-exp-bar/grid-exp-bar.d.ts +1 -1
  23. package/es/control/exp-bar/grid-exp-bar/grid-exp-bar.mjs +3 -3
  24. package/es/control/exp-bar/grid-exp-bar/index.d.ts +1 -1
  25. package/es/control/exp-bar/list-exp-bar/index.d.ts +1 -1
  26. package/es/control/exp-bar/list-exp-bar/list-exp-bar.d.ts +1 -1
  27. package/es/control/exp-bar/list-exp-bar/list-exp-bar.mjs +3 -3
  28. package/es/control/exp-bar/render-util.d.ts +2 -2
  29. package/es/control/exp-bar/render-util.mjs +16 -3
  30. package/es/control/exp-bar/tree-exp-bar/index.d.ts +1 -1
  31. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.d.ts +1 -1
  32. package/es/control/exp-bar/tree-exp-bar/tree-exp-bar.mjs +3 -3
  33. package/es/control/form/form/form.mjs +16 -2
  34. package/es/control/form/form-detail/form-item/form-item.mjs +2 -1
  35. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +3 -0
  36. package/es/control/grid/grid/grid.mjs +18 -2
  37. package/es/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  38. package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.mjs +2 -1
  39. package/es/control/toolbar/toolbar.mjs +12 -2
  40. package/es/control/tree-grid/tree-grid.mjs +14 -2
  41. package/es/editor/array/ibiz-array/ibiz-array.mjs +5 -5
  42. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.mjs +3 -3
  43. package/es/editor/carousel/ibiz-carousel/ibiz-carousel.mjs +3 -3
  44. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.mjs +3 -3
  45. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.mjs +3 -3
  46. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +3 -3
  47. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.mjs +3 -3
  48. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  49. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +3 -3
  50. package/es/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  51. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +5 -5
  52. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.css +1 -1
  53. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +3 -3
  54. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.css +1 -1
  55. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.mjs +4 -4
  56. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  57. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +5 -5
  58. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +4 -4
  59. package/es/editor/html/wang-editor/wang-editor.mjs +4 -0
  60. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.mjs +5 -5
  61. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.mjs +5 -5
  62. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +3 -3
  63. package/es/editor/rate/ibiz-rate/ibiz-rate.mjs +3 -3
  64. package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +3 -3
  65. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.mjs +3 -3
  66. package/es/editor/switch/ibiz-switch/ibiz-switch.mjs +3 -3
  67. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +3 -3
  68. package/es/editor/text-box/input/input.css +1 -1
  69. package/es/editor/text-box/input/input.mjs +3 -3
  70. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.mjs +3 -3
  71. package/es/editor/upload/ibiz-image-preview/ibiz-image-preview.mjs +3 -3
  72. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.mjs +5 -5
  73. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +3 -3
  74. package/es/util/message-util/message-util.d.ts +13 -1
  75. package/es/util/message-util/message-util.mjs +50 -0
  76. package/es/view-engine/edit-view.engine.mjs +7 -7
  77. package/es/view-engine/exp-view.engine.d.ts +2 -1
  78. package/es/view-engine/exp-view.engine.mjs +10 -0
  79. package/es/view-engine/index.mjs +5 -0
  80. package/es/view-engine/tab-search-view.engine.d.ts +61 -0
  81. package/es/view-engine/tab-search-view.engine.mjs +105 -0
  82. package/es/web-app/App.css +1 -1
  83. package/es/web-app/guard/auth-guard/auth-guard.mjs +8 -4
  84. package/lib/control/calendar/calendar.css +1 -1
  85. package/lib/control/drbar/drbar.cjs +7 -12
  86. package/lib/control/drbar/drbar.controller.cjs +53 -4
  87. package/lib/control/drbar/drbar.css +1 -1
  88. package/lib/control/exp-bar/calendar-exp-bar/calendar-exp-bar.cjs +3 -3
  89. package/lib/control/exp-bar/chart-exp-bar/chart-exp-bar.cjs +3 -3
  90. package/lib/control/exp-bar/data-view-exp-bar/data-view-view-exp-bar.cjs +3 -3
  91. package/lib/control/exp-bar/grid-exp-bar/grid-exp-bar.cjs +3 -3
  92. package/lib/control/exp-bar/list-exp-bar/list-exp-bar.cjs +3 -3
  93. package/lib/control/exp-bar/render-util.cjs +15 -2
  94. package/lib/control/exp-bar/tree-exp-bar/tree-exp-bar.cjs +3 -3
  95. package/lib/control/form/form/form.cjs +15 -1
  96. package/lib/control/form/form-detail/form-item/form-item.cjs +2 -1
  97. package/lib/control/grid/grid/grid.cjs +17 -1
  98. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  99. package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.cjs +2 -1
  100. package/lib/control/toolbar/toolbar.cjs +12 -2
  101. package/lib/control/tree-grid/tree-grid.cjs +14 -2
  102. package/lib/editor/array/ibiz-array/ibiz-array.cjs +4 -4
  103. package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.cjs +2 -2
  104. package/lib/editor/carousel/ibiz-carousel/ibiz-carousel.cjs +2 -2
  105. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.cjs +2 -2
  106. package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.cjs +2 -2
  107. package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +2 -2
  108. package/lib/editor/color-picker/ibiz-color-picker/ibiz-color-picker.cjs +2 -2
  109. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +2 -2
  110. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  111. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +4 -4
  112. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
  113. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +2 -2
  114. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.css +1 -1
  115. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.cjs +3 -3
  116. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.css +1 -1
  117. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +4 -4
  118. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  119. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +3 -3
  120. package/lib/editor/html/wang-editor/wang-editor.cjs +4 -0
  121. package/lib/editor/list-box/ibiz-list-box/ibiz-list-box.cjs +4 -4
  122. package/lib/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.cjs +4 -4
  123. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +2 -2
  124. package/lib/editor/rate/ibiz-rate/ibiz-rate.cjs +2 -2
  125. package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +2 -2
  126. package/lib/editor/stepper/ibiz-stepper/ibiz-stepper.cjs +2 -2
  127. package/lib/editor/switch/ibiz-switch/ibiz-switch.cjs +2 -2
  128. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +2 -2
  129. package/lib/editor/text-box/input/input.cjs +2 -2
  130. package/lib/editor/text-box/input/input.css +1 -1
  131. package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.cjs +2 -2
  132. package/lib/editor/upload/ibiz-image-preview/ibiz-image-preview.cjs +2 -2
  133. package/lib/editor/upload/ibiz-image-upload/ibiz-image-upload.cjs +4 -4
  134. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +2 -2
  135. package/lib/util/message-util/message-util.cjs +50 -0
  136. package/lib/view-engine/edit-view.engine.cjs +6 -6
  137. package/lib/view-engine/exp-view.engine.cjs +10 -0
  138. package/lib/view-engine/index.cjs +5 -0
  139. package/lib/view-engine/tab-search-view.engine.cjs +107 -0
  140. package/lib/web-app/App.css +1 -1
  141. package/lib/web-app/guard/auth-guard/auth-guard.cjs +8 -4
  142. package/package.json +9 -9
  143. package/dist/index-kZU4Zro0.js +0 -4
  144. package/dist/wang-editor-SyWEeij2.js +0 -1
@@ -1 +1 @@
1
- .ibiz-control-calendar{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);width:100%;height:100%}.ibiz-control-calendar__calendar-item{display:flex;align-items:center;padding:var(--ibiz-control-calendar-item-padding)}.ibiz-control-calendar__icon{width:10px;height:10px;margin-right:var(--ibiz-spacing-base-tight);border-radius:50%}.ibiz-control-calendar-content{display:flex;flex-direction:column;width:100%;height:100%}.ibiz-control-calendar-content .el-calendar{display:flex;flex-direction:column;height:100%}.ibiz-control-calendar-content .el-calendar__header{flex-wrap:wrap}.ibiz-control-calendar-content .el-calendar-table,.ibiz-control-calendar-content .el-calendar-table .el-calendar-day{width:100%;height:100%;cursor:pointer}.ibiz-control-calendar-content .el-calendar-table{flex:1;width:-moz-fit-content;width:fit-content}.ibiz-control-calendar-content .el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.ibiz-control-calendar-content .el-calendar__body{display:flex;flex:1;padding:0;overflow:auto}.ibiz-control-calendar-more{width:100%;font-size:var(--ibiz-font-size-small);border-radius:var(--ibiz-spacing-extra-tight)}.ibiz-control-calendar-more:hover{background-color:var(--ibiz-control-calendar-hover-bg-color)}.ibiz-control-calendar-item{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);height:100%;padding:var(--ibiz-control-calendar-item-padding);margin-bottom:var(--ibiz-control-calendar-margin);overflow:hidden;font-size:var(--ibiz-control-calendar-font-size);color:var(--ibiz-control-calendar-text-color);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:solid .5px transparent;border-radius:var(--ibiz-control-calendar-border-radius)}.ibiz-control-calendar-item:hover{background-color:var(--ibiz-control-calendar-hover-bg-color)}.ibiz-control-calendar-item.is-active{background-color:var(--ibiz-control-calendar-active-bg-color);border:solid .5px var(--ibiz-control-calendar-border-color)}.ibiz-control-calendar-date-text{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);padding:var(--ibiz-control-calendar-item-padding);margin:0;text-align:center}.ibiz-control-calendar-day{height:-moz-fit-content;height:fit-content}.ibiz-control-calendar-content-title{line-height:var(--ibiz-editor-default-line-height)}.ibiz-control-calendar-content-header{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);display:flex;align-items:center}.ibiz-control-calendar-content-header>*+*{margin-left:var(--ibiz-control-calendar-item-padding)}.ibiz-control-calendar-legend{display:flex;justify-content:flex-end;width:100%}.ibiz-control-calendar-legend>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-control-calendar-timeline-content .el-timeline{padding-left:0}
1
+ .ibiz-control-calendar{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);width:100%;height:100%}.ibiz-control-calendar__calendar-item{display:flex;align-items:center;padding:var(--ibiz-control-calendar-item-padding)}.ibiz-control-calendar__icon{width:10px;height:10px;margin-right:var(--ibiz-spacing-base-tight);border-radius:50%}.ibiz-control-calendar .ibiz-control-calendar-item{margin:0}.ibiz-control-calendar-content{display:flex;flex-direction:column;width:100%;height:100%}.ibiz-control-calendar-content .el-calendar{display:flex;flex-direction:column;height:100%}.ibiz-control-calendar-content .el-calendar__header{flex-wrap:wrap}.ibiz-control-calendar-content .el-calendar-table,.ibiz-control-calendar-content .el-calendar-table .el-calendar-day{width:100%;height:100%;min-height:90px;cursor:pointer}.ibiz-control-calendar-content .el-calendar-table{flex:1;width:-moz-fit-content;width:fit-content}.ibiz-control-calendar-content .el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.ibiz-control-calendar-content .el-calendar__body{display:flex;flex:1;padding:0;overflow:auto}.ibiz-control-calendar-more{width:100%;font-size:var(--ibiz-font-size-small);border-radius:var(--ibiz-spacing-extra-tight)}.ibiz-control-calendar-more:hover{background-color:var(--ibiz-control-calendar-hover-bg-color)}.ibiz-control-calendar-item{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);height:100%;padding:var(--ibiz-control-calendar-item-padding);margin-bottom:var(--ibiz-control-calendar-margin);overflow:hidden;font-size:var(--ibiz-control-calendar-font-size);color:var(--ibiz-control-calendar-text-color);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:solid .5px transparent;border-radius:var(--ibiz-control-calendar-border-radius)}.ibiz-control-calendar-item:hover{background-color:var(--ibiz-control-calendar-hover-bg-color)}.ibiz-control-calendar-item.is-active{background-color:var(--ibiz-control-calendar-active-bg-color);border:solid .5px var(--ibiz-control-calendar-border-color)}.ibiz-control-calendar-date-text{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);padding-bottom:var(--ibiz-control-calendar-item-padding);margin:0;text-align:center}.ibiz-control-calendar-day{height:-moz-fit-content;height:fit-content}.ibiz-control-calendar-content-title{line-height:var(--ibiz-editor-default-line-height)}.ibiz-control-calendar-content-header{--ibiz-control-calendar-text-color:var(--ibiz-color-text-0);--ibiz-control-calendar-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-active-bg-color:var(--ibiz-color-fill-0);--ibiz-control-calendar-border-color:var(--ibiz-color-primary-active);--ibiz-control-calendar-font-size:var(--ibiz-font-size-small);--ibiz-control-calendar-item-padding:var(--ibiz-spacing-tight);--ibiz-control-calendar-border-radius:var(--ibiz-border-radius-small);--ibiz-control-calendar-margin:var(--ibiz-spacing-extra-tight);display:flex;align-items:center}.ibiz-control-calendar-content-header>*+*{margin-left:var(--ibiz-control-calendar-item-padding)}.ibiz-control-calendar-legend{display:flex;justify-content:flex-end;width:100%}.ibiz-control-calendar-legend>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-control-calendar-timeline-content .el-timeline{padding-left:0}
@@ -89,6 +89,20 @@ export declare class DRBarController extends ControlController<IDEDRBar, IDRBarS
89
89
  * @memberof DRBarController
90
90
  */
91
91
  onCreated(): Promise<void>;
92
+ /**
93
+ * 计算关系界面组权限
94
+ *
95
+ * @param {IData} item 关系组成员
96
+ * @memberof DRBarController
97
+ */
98
+ calcPermitted(item: IData): Promise<void>;
99
+ /**
100
+ * 计算是否展示
101
+ *
102
+ * @param {IData} item 关系组成员
103
+ * @memberof DRBarController
104
+ */
105
+ calcDrBarItemsState(): Promise<void>;
92
106
  /**
93
107
  * 加载完成
94
108
  *
@@ -122,7 +136,7 @@ export declare class DRBarController extends ControlController<IDEDRBar, IDRBarS
122
136
  * @param {string} key
123
137
  * @memberof DRBarController
124
138
  */
125
- handleSelectChange(key: string, isRoutePushed?: boolean): void;
139
+ handleSelectChange(key?: string, isRoutePushed?: boolean): void;
126
140
  /**
127
141
  * 设置显示状态
128
142
  *
@@ -116,6 +116,50 @@ class DRBarController extends ControlController {
116
116
  this.initDRBarItems();
117
117
  await this.initCounter();
118
118
  }
119
+ /**
120
+ * 计算关系界面组权限
121
+ *
122
+ * @param {IData} item 关系组成员
123
+ * @memberof DRBarController
124
+ */
125
+ async calcPermitted(item) {
126
+ let permitted = true;
127
+ if (item.dataAccessAction) {
128
+ const app = await ibiz.hub.getApp(this.context.srfappid);
129
+ const data = this.getData().length > 0 ? this.getData()[0] : void 0;
130
+ permitted = await app.authority.calcByDataAccessAction(
131
+ item.dataAccessAction,
132
+ this.context,
133
+ data,
134
+ this.model.appDataEntityId
135
+ );
136
+ }
137
+ item.visible = permitted;
138
+ }
139
+ /**
140
+ * 计算是否展示
141
+ *
142
+ * @param {IData} item 关系组成员
143
+ * @memberof DRBarController
144
+ */
145
+ async calcDrBarItemsState() {
146
+ const arr = [];
147
+ this.state.drBarItems.forEach((group) => {
148
+ var _a, _b;
149
+ if ((_a = group.children) == null ? void 0 : _a.length) {
150
+ (_b = group.children) == null ? void 0 : _b.forEach((item) => {
151
+ arr.push(this.calcPermitted(item));
152
+ });
153
+ }
154
+ });
155
+ await Promise.all(arr);
156
+ this.state.drBarItems.forEach((group) => {
157
+ var _a;
158
+ if ((_a = group.children) == null ? void 0 : _a.length) {
159
+ group.visible = !group.children.every((item) => item.visible === false);
160
+ }
161
+ });
162
+ }
119
163
  /**
120
164
  * 加载完成
121
165
  *
@@ -125,7 +169,8 @@ class DRBarController extends ControlController {
125
169
  async onMounted() {
126
170
  await super.onMounted();
127
171
  if (this.form) {
128
- this.form.evt.on("onLoadSuccess", () => {
172
+ this.form.evt.on("onLoadSuccess", async () => {
173
+ await this.calcDrBarItemsState();
129
174
  this.handleFormChange();
130
175
  this.doDefaultSelect();
131
176
  });
@@ -207,7 +252,9 @@ class DRBarController extends ControlController {
207
252
  caption: itemCaption,
208
253
  sysImage: item.sysImage,
209
254
  disabled: false,
210
- counterId: item.counterId
255
+ counterId: item.counterId,
256
+ visible: true,
257
+ dataAccessAction: item.dataAccessAction || void 0
211
258
  };
212
259
  };
213
260
  if (dedrbarGroups && dedrctrlItems) {
@@ -217,10 +264,11 @@ class DRBarController extends ControlController {
217
264
  });
218
265
  } else {
219
266
  dedrbarGroups.forEach((group) => {
267
+ var _a;
220
268
  const groupItems = dedrctrlItems.filter(
221
269
  (item) => item.dedrbarGroupId === group.id
222
270
  );
223
- if (groupItems.length > 1) {
271
+ if (groupItems.length > 1 || ((_a = this.controlParams) == null ? void 0 : _a.singleitemgroup) === "true" && groupItems.length === 1) {
224
272
  let itemCaption = group.caption;
225
273
  if (group.capLanguageRes) {
226
274
  itemCaption = ibiz.i18n.t(
@@ -232,6 +280,7 @@ class DRBarController extends ControlController {
232
280
  tag: group.id,
233
281
  caption: itemCaption,
234
282
  sysImage: group.sysImage,
283
+ visible: true,
235
284
  children: groupItems.map((item) => getItemState(item))
236
285
  });
237
286
  } else if (groupItems.length === 1) {
@@ -248,7 +297,7 @@ class DRBarController extends ControlController {
248
297
  * @param {string} key
249
298
  * @memberof DRBarController
250
299
  */
251
- handleSelectChange(key, isRoutePushed = false) {
300
+ handleSelectChange(key = this.state.defaultItem, isRoutePushed = false) {
252
301
  var _a;
253
302
  if (this.state.selectedItem === key) {
254
303
  return;
@@ -1 +1 @@
1
- .ibiz-control-drbar .el-menu--horizontal.el-menu{border-bottom:none}.ibiz-control-drbar .el-menu-item{justify-content:space-between;line-height:unset}
1
+ .ibiz-control-drbar{height:100%}.ibiz-control-drbar .el-menu--horizontal.el-menu{border-bottom:none}.ibiz-control-drbar .el-menu-item{justify-content:space-between;line-height:unset}.ibiz-control-drbar__menu{height:100%}
@@ -36,7 +36,6 @@ export declare const DRBarControl: import("vue").DefineComponent<{
36
36
  ns: import("@ibiz-template/core").Namespace;
37
37
  handleSelect: (key: string) => void;
38
38
  renderMenuItems: (item: IDRBarItemsState) => VNode | undefined;
39
- defaultActive: import("vue").Ref<string>;
40
39
  opens: string[];
41
40
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
42
41
  modelData: {
@@ -1,4 +1,4 @@
1
- import { isVNode, reactive, ref, watch, resolveComponent, createVNode, defineComponent } from 'vue';
1
+ import { isVNode, reactive, watch, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
3
3
  import { useRouter, useRoute } from 'vue-router';
4
4
  import { DRBarController } from './drbar.controller.mjs';
@@ -56,7 +56,6 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
56
56
  c.handleSelectChange(key);
57
57
  };
58
58
  const route = useRoute();
59
- const defaultActive = ref("");
60
59
  let expViewRoutePath = "";
61
60
  const opens = [];
62
61
  watch(() => c.state.isCreated, (_newVal, _oldVal) => {
@@ -82,13 +81,7 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
82
81
  const {
83
82
  srfnav
84
83
  } = routePath.pathNodes[depth - 1];
85
- if (srfnav && c.state.selectedItem && c.state.selectedItem !== srfnav) {
86
- c.handleSelectChange(srfnav);
87
- defaultActive.value = srfnav;
88
- } else if (srfnav === void 0 && c.state.defaultItem && c.state.selectedItem !== c.state.defaultItem) {
89
- c.handleSelectChange(c.state.defaultItem);
90
- defaultActive.value = "";
91
- }
84
+ c.handleSelectChange(srfnav);
92
85
  }
93
86
  }
94
87
  }
@@ -96,6 +89,9 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
96
89
  immediate: true
97
90
  });
98
91
  const renderMenuItems = (item) => {
92
+ if (!item.visible) {
93
+ return;
94
+ }
99
95
  if (item.children) {
100
96
  let subtitle = "";
101
97
  if (props.showMode === "horizontal") {
@@ -139,7 +135,6 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
139
135
  ns,
140
136
  handleSelect,
141
137
  renderMenuItems,
142
- defaultActive,
143
138
  opens
144
139
  };
145
140
  },
@@ -148,16 +143,16 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
148
143
  const {
149
144
  isCreated,
150
145
  drBarItems,
151
- defaultItem
146
+ selectedItem
152
147
  } = this.c.state;
153
148
  return createVNode(resolveComponent("iBizControlBase"), {
154
149
  "controller": this.c,
155
150
  "class": this.ns.b()
156
151
  }, {
157
- default: () => [isCreated && !!defaultItem && createVNode(resolveComponent("el-menu"), {
152
+ default: () => [isCreated && createVNode(resolveComponent("el-menu"), {
158
153
  "class": this.ns.e("menu"),
159
154
  "mode": this.showMode,
160
- "default-active": this.defaultActive || defaultItem,
155
+ "default-active": selectedItem,
161
156
  "onSelect": this.handleSelect,
162
157
  "default-openeds": this.opens
163
158
  }, _isSlot(_slot = drBarItems.map((item) => {
@@ -34,7 +34,6 @@ export declare const IBizDRBarControl: import("@ibiz-template/vue3-util").TypeWi
34
34
  renderMenuItems: (item: import("@ibiz-template/runtime").IDRBarItemsState) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
35
  [key: string]: any;
36
36
  }> | undefined;
37
- defaultActive: import("vue").Ref<string>;
38
37
  opens: string[];
39
38
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
40
39
  modelData: {
@@ -31,7 +31,7 @@ export declare const CalendarExpBarControl: import("vue").DefineComponent<{
31
31
  renderTitle: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
- renderQuickSearch: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
+ renderSearchBar: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
35
  [key: string]: any;
36
36
  }> | null;
37
37
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -40,14 +40,14 @@ const CalendarExpBarControl = /* @__PURE__ */ defineComponent({
40
40
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
41
41
  const {
42
42
  renderTitle,
43
- renderQuickSearch
43
+ renderSearchBar
44
44
  } = useExpBarRender(c, ns);
45
45
  useWatchRouteChange(c);
46
46
  return {
47
47
  c,
48
48
  ns,
49
49
  renderTitle,
50
- renderQuickSearch
50
+ renderSearchBar
51
51
  };
52
52
  },
53
53
  render() {
@@ -60,7 +60,7 @@ const CalendarExpBarControl = /* @__PURE__ */ defineComponent({
60
60
  } = state;
61
61
  const slots = {
62
62
  captionbar: this.renderTitle,
63
- searchbar: this.renderQuickSearch
63
+ searchbar: this.renderSearchBar
64
64
  };
65
65
  if (isCreated) {
66
66
  if (XDataModel) {
@@ -28,7 +28,7 @@ export declare const IBizCalendarExpBarControl: import("@ibiz-template/vue3-util
28
28
  renderTitle: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
29
  [key: string]: any;
30
30
  }> | null;
31
- renderQuickSearch: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
31
+ renderSearchBar: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -31,7 +31,7 @@ export declare const ChartExpBarControl: import("vue").DefineComponent<{
31
31
  renderTitle: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
- renderQuickSearch: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
+ renderSearchBar: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
35
  [key: string]: any;
36
36
  }> | null;
37
37
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -40,14 +40,14 @@ const ChartExpBarControl = /* @__PURE__ */ defineComponent({
40
40
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
41
41
  const {
42
42
  renderTitle,
43
- renderQuickSearch
43
+ renderSearchBar
44
44
  } = useExpBarRender(c, ns);
45
45
  useWatchRouteChange(c);
46
46
  return {
47
47
  c,
48
48
  ns,
49
49
  renderTitle,
50
- renderQuickSearch
50
+ renderSearchBar
51
51
  };
52
52
  },
53
53
  render() {
@@ -59,7 +59,7 @@ const ChartExpBarControl = /* @__PURE__ */ defineComponent({
59
59
  } = this.c;
60
60
  const slots = {
61
61
  captionbar: this.renderTitle,
62
- searchbar: this.renderQuickSearch
62
+ searchbar: this.renderSearchBar
63
63
  };
64
64
  if (isCreated) {
65
65
  if (XDataModel) {
@@ -28,7 +28,7 @@ export declare const IBizChartExpBarControl: import("@ibiz-template/vue3-util").
28
28
  renderTitle: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
29
  [key: string]: any;
30
30
  }> | null;
31
- renderQuickSearch: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
31
+ renderSearchBar: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -31,7 +31,7 @@ export declare const DataViewExpBarControl: import("vue").DefineComponent<{
31
31
  renderTitle: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
- renderQuickSearch: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
+ renderSearchBar: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
35
  [key: string]: any;
36
36
  }> | null;
37
37
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -40,14 +40,14 @@ const DataViewExpBarControl = /* @__PURE__ */ defineComponent({
40
40
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
41
41
  const {
42
42
  renderTitle,
43
- renderQuickSearch
43
+ renderSearchBar
44
44
  } = useExpBarRender(c, ns);
45
45
  useWatchRouteChange(c);
46
46
  return {
47
47
  c,
48
48
  ns,
49
49
  renderTitle,
50
- renderQuickSearch
50
+ renderSearchBar
51
51
  };
52
52
  },
53
53
  render() {
@@ -59,7 +59,7 @@ const DataViewExpBarControl = /* @__PURE__ */ defineComponent({
59
59
  } = this.c;
60
60
  const slots = {
61
61
  captionbar: this.renderTitle,
62
- searchbar: this.renderQuickSearch
62
+ searchbar: this.renderSearchBar
63
63
  };
64
64
  if (isCreated) {
65
65
  if (XDataModel) {
@@ -28,7 +28,7 @@ export declare const IBizDataViewExpBarControl: import("@ibiz-template/vue3-util
28
28
  renderTitle: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
29
  [key: string]: any;
30
30
  }> | null;
31
- renderQuickSearch: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
31
+ renderSearchBar: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -31,7 +31,7 @@ export declare const GridExpBarControl: import("vue").DefineComponent<{
31
31
  renderTitle: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
- renderQuickSearch: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
+ renderSearchBar: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
35
  [key: string]: any;
36
36
  }> | null;
37
37
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -40,14 +40,14 @@ const GridExpBarControl = /* @__PURE__ */ defineComponent({
40
40
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
41
41
  const {
42
42
  renderTitle,
43
- renderQuickSearch
43
+ renderSearchBar
44
44
  } = useExpBarRender(c, ns);
45
45
  useWatchRouteChange(c);
46
46
  return {
47
47
  c,
48
48
  ns,
49
49
  renderTitle,
50
- renderQuickSearch
50
+ renderSearchBar
51
51
  };
52
52
  },
53
53
  render() {
@@ -59,7 +59,7 @@ const GridExpBarControl = /* @__PURE__ */ defineComponent({
59
59
  } = this.c;
60
60
  const slots = {
61
61
  captionbar: this.renderTitle,
62
- searchbar: this.renderQuickSearch
62
+ searchbar: this.renderSearchBar
63
63
  };
64
64
  if (isCreated) {
65
65
  if (XDataModel) {
@@ -28,7 +28,7 @@ export declare const IBizGridExpBarControl: import("@ibiz-template/vue3-util").T
28
28
  renderTitle: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
29
  [key: string]: any;
30
30
  }> | null;
31
- renderQuickSearch: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
31
+ renderSearchBar: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -28,7 +28,7 @@ export declare const IBizListExpBarControl: import("@ibiz-template/vue3-util").T
28
28
  renderTitle: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
29
  [key: string]: any;
30
30
  }> | null;
31
- renderQuickSearch: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
31
+ renderSearchBar: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -31,7 +31,7 @@ export declare const ListExpBarControl: import("vue").DefineComponent<{
31
31
  renderTitle: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
32
  [key: string]: any;
33
33
  }> | null;
34
- renderQuickSearch: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
+ renderSearchBar: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
35
  [key: string]: any;
36
36
  }> | null;
37
37
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -40,14 +40,14 @@ const ListExpBarControl = /* @__PURE__ */ defineComponent({
40
40
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
41
41
  const {
42
42
  renderTitle,
43
- renderQuickSearch
43
+ renderSearchBar
44
44
  } = useExpBarRender(c, ns);
45
45
  useWatchRouteChange(c);
46
46
  return {
47
47
  c,
48
48
  ns,
49
49
  renderTitle,
50
- renderQuickSearch
50
+ renderSearchBar
51
51
  };
52
52
  },
53
53
  render() {
@@ -59,7 +59,7 @@ const ListExpBarControl = /* @__PURE__ */ defineComponent({
59
59
  } = this.c;
60
60
  const slots = {
61
61
  captionbar: this.renderTitle,
62
- searchbar: this.renderQuickSearch
62
+ searchbar: this.renderSearchBar
63
63
  };
64
64
  if (isCreated) {
65
65
  if (XDataModel) {
@@ -9,11 +9,11 @@ import './render-util.scss';
9
9
  * @export
10
10
  * @param {ExpBarControlController} c
11
11
  * @param {Namespace} ns
12
- * @return {*} {({ renderTitle: () => VNode | null; renderQuickSearch: () => VNode | null })}
12
+ * @return {*} {({ renderTitle: () => VNode | null; renderSearchBar: () => VNode | null })}
13
13
  */
14
14
  export declare function useExpBarRender(c: IExpBarControlController, ns: Namespace): {
15
15
  renderTitle: () => VNode | null;
16
- renderQuickSearch: () => VNode | null;
16
+ renderSearchBar: () => VNode | null;
17
17
  };
18
18
  /**
19
19
  * 监听路由变更,当自身所处的路由变更时触发导航栏控制器onRouterChange
@@ -1,4 +1,4 @@
1
- import { resolveComponent, createVNode } from 'vue';
1
+ import { resolveComponent, createVNode, h } from 'vue';
2
2
  import { debounce } from 'lodash-es';
3
3
  import { useRoute } from 'vue-router';
4
4
  import { useNamespace, route2routePath, onRouteChange } from '@ibiz-template/vue3-util';
@@ -34,13 +34,26 @@ function useExpBarRender(c, ns) {
34
34
  "class": [ns.be("caption", "text")]
35
35
  }, [title])]);
36
36
  };
37
- const renderQuickSearch = () => {
37
+ const renderSearchBar = () => {
38
+ var _a, _b;
38
39
  const {
39
40
  model
40
41
  } = c;
41
42
  if (!model.enableSearch) {
42
43
  return null;
43
44
  }
45
+ const modelData = (_b = (_a = c.view.model.viewLayoutPanel) == null ? void 0 : _a.controls) == null ? void 0 : _b.find((item) => item.id === "searchbar");
46
+ if (modelData) {
47
+ const ctrlProps = {
48
+ context: c.context,
49
+ params: c.params
50
+ };
51
+ const comp = resolveComponent("IBizControlShell");
52
+ return h(comp, {
53
+ modelData,
54
+ ...ctrlProps
55
+ });
56
+ }
44
57
  return createVNode(resolveComponent("el-input"), {
45
58
  "model-value": c.state.query,
46
59
  "class": [ns.b("quick-search"), expBarNs.b("quick-search")],
@@ -57,7 +70,7 @@ function useExpBarRender(c, ns) {
57
70
  };
58
71
  return {
59
72
  renderTitle,
60
- renderQuickSearch
73
+ renderSearchBar
61
74
  };
62
75
  }
63
76
  function useWatchRouteChange(c) {
@@ -33,7 +33,7 @@ export declare const IBizTreeExpBarControl: import("@ibiz-template/vue3-util").T
33
33
  renderTitle: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
34
  [key: string]: any;
35
35
  }> | null;
36
- renderQuickSearch: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
36
+ renderSearchBar: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
37
  [key: string]: any;
38
38
  }> | null;
39
39
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -36,7 +36,7 @@ export declare const TreeExpBarControl: import("vue").DefineComponent<{
36
36
  renderTitle: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
37
  [key: string]: any;
38
38
  }> | null;
39
- renderQuickSearch: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
39
+ renderSearchBar: () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
40
40
  [key: string]: any;
41
41
  }> | null;
42
42
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -44,7 +44,7 @@ const TreeExpBarControl = /* @__PURE__ */ defineComponent({
44
44
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
45
45
  const {
46
46
  renderTitle,
47
- renderQuickSearch
47
+ renderSearchBar
48
48
  } = useExpBarRender(c, ns);
49
49
  useWatchRouteChange(c);
50
50
  const navigational = computed(() => {
@@ -55,7 +55,7 @@ const TreeExpBarControl = /* @__PURE__ */ defineComponent({
55
55
  ns,
56
56
  navigational,
57
57
  renderTitle,
58
- renderQuickSearch
58
+ renderSearchBar
59
59
  };
60
60
  },
61
61
  render() {
@@ -68,7 +68,7 @@ const TreeExpBarControl = /* @__PURE__ */ defineComponent({
68
68
  } = state;
69
69
  const slots = {
70
70
  captionbar: this.renderTitle,
71
- searchbar: this.renderQuickSearch
71
+ searchbar: this.renderSearchBar
72
72
  };
73
73
  if (isCreated) {
74
74
  if (XDataModel) {
@@ -1,5 +1,5 @@
1
1
  import { isVNode, renderSlot, createVNode, resolveComponent, h, defineComponent } from 'vue';
2
- import { findChildFormDetails } from '@ibiz-template/runtime';
2
+ import { ScriptFactory, findChildFormDetails } from '@ibiz-template/runtime';
3
3
  import { useNamespace } from '@ibiz-template/vue3-util';
4
4
  import './form.css';
5
5
 
@@ -23,6 +23,19 @@ const FormControl = /* @__PURE__ */ defineComponent({
23
23
  const slotProps = {
24
24
  form: c
25
25
  };
26
+ const renderAttrs = (model) => {
27
+ var _a;
28
+ const attrs = {};
29
+ (_a = model.controlAttributes) == null ? void 0 : _a.forEach((item) => {
30
+ if (item.attrName && item.attrValue) {
31
+ attrs[item.attrName] = ScriptFactory.execSingleLine(item.attrValue, {
32
+ ...props.controller.getEventArgs(),
33
+ data: props.controller.data
34
+ });
35
+ }
36
+ });
37
+ return attrs;
38
+ };
26
39
  const renderByDetailType = (detail) => {
27
40
  if (detail.hidden) {
28
41
  return;
@@ -31,7 +44,8 @@ const FormControl = /* @__PURE__ */ defineComponent({
31
44
  const detailProps = {
32
45
  modelData: detail,
33
46
  controller: c.details[detailId],
34
- key: detail.id
47
+ key: detail.id,
48
+ ...renderAttrs(detail)
35
49
  };
36
50
  if (slots[detailId]) {
37
51
  return renderSlot(slots, detailId, {
@@ -47,7 +47,8 @@ const FormItem = /* @__PURE__ */ defineComponent({
47
47
  controlParams: this.controller.form.controlParams,
48
48
  onFocus: (event) => this.c.onFocus(event),
49
49
  onBlur: (event) => this.c.onBlur(event),
50
- onEnter: (event) => this.controller.onEnter(event)
50
+ onEnter: (event) => this.controller.onEnter(event),
51
+ ...this.$attrs
51
52
  };
52
53
  if (this.c.form.state.isLoaded) {
53
54
  if (this.$slots.default) {