cloud-web-corejs 1.0.54-dev.781 → 1.0.54-dev.783

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 (33) hide show
  1. package/package.json +1 -1
  2. package/src/components/VabUpload/index.vue +242 -242
  3. package/src/components/VabUpload/mixins.js +1971 -1971
  4. package/src/components/VabUpload/privateProfileDialog.vue +2 -2
  5. package/src/components/hiprint/view/design/index.vue +7 -2
  6. package/src/components/obsUpload/index.vue +234 -234
  7. package/src/components/obsUpload/mixins.js +1542 -1542
  8. package/src/components/vb-tabs/x-tabs.vue +7 -3
  9. package/src/components/xform/docs//346/240/221/350/241/250rowField/346/224/266/346/225/233-/350/220/275/345/234/260/346/226/207/346/241/243.md +1427 -0
  10. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +2 -2
  11. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +2 -2
  12. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +2 -2
  13. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +11 -2
  14. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +369 -369
  15. package/src/components/xform/form-designer/setting-panel/property-editor/fileTypesSelect.vue +69 -23
  16. package/src/components/xform/form-render/container-item/data-table-item.vue +1 -1
  17. package/src/components/xform/form-render/container-item/data-table-mixin.js +1469 -428
  18. package/src/components/xform/form-render/indexMixin.js +379 -263
  19. package/src/components/xform/mixins/defaultHandle.js +234 -28
  20. package/src/components/xform/mixins/scriptHttp.js +4 -4
  21. package/src/components/xform/utils/treeTableUtil.js +1265 -0
  22. package/src/components/xform/utils/util.js +29 -14
  23. package/src/microRouter/index.js +3 -0
  24. package/src/mixins/tableTree/index.js +77 -14
  25. package/src/store/config/index.js +28 -28
  26. package/src/utils/menuAdapter.js +277 -277
  27. package/src/utils/resolveViewComponent.js +203 -203
  28. package/src/utils/vab.js +6 -3
  29. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +9 -2
  30. package/src/views/user/common_attribute/list.vue +1 -1
  31. package/src/views/user/form/vform/render.vue +17 -2
  32. package/src/views/user/form/view/list.vue +11 -10
  33. package/src/views/user/wf/wfReport/index.vue +625 -625
@@ -14,6 +14,7 @@
14
14
  </div>
15
15
  <div class="file-types-select">
16
16
  <el-select ref="fileTypesSelect" multiple allow-create filterable default-first-option clearable
17
+ popper-class="file-types-select-dropdown"
17
18
  :placeholder="i18nt('designer.setting.fileTypesPlaceholder')"
18
19
  v-model="selectedFileTypes" style="width: 100%">
19
20
  <el-option-group v-for="category in fileTypeCategories"
@@ -41,17 +42,47 @@
41
42
  optionModel: Object,
42
43
  },
43
44
  mounted() {
45
+ this.syncSelectLayout()
46
+ },
47
+ watch: {
48
+ selectedFileTypes() {
49
+ this.syncSelectLayout()
50
+ },
51
+ },
52
+ methods: {
44
53
  /*
45
- * el-select 标签区的 max-width 是挂载那一刻按控件宽度算出来的内联样式,
46
- * 这个编辑器常常挂载在还没完成布局的属性弹窗里,算出来的值偏小,
47
- * 标签就会溢出到输入框外面。等布局稳定后让它重算一次。
54
+ * 两处都是 element JS 量出来再写成内联样式的尺寸,在这里都不成立:
55
+ * 1. 标签区的 max-width 按挂载那一刻的控件宽度算,而本编辑器挂载在还没完成
56
+ * 布局的属性弹窗里,量到的值偏小;
57
+ * 2. 输入框高度由 resetInputHeight() 写成内联样式,但全局样式表里
58
+ * body .el-input .el-input__inner 把 height 写死成 28px !important,
59
+ * 内联样式压不过它,标签一换行就溢出到框外,展开的下拉面板还会盖住溢出部分。
60
+ * 所以这里等布局稳定后让宽度重算,并用同等优先级把高度补回去。
48
61
  */
49
- this.$nextTick(() => {
50
- let select = this.$refs.fileTypesSelect
51
- if (!!select && !!select.resetInputWidth) {
52
- select.resetInputWidth()
53
- }
54
- })
62
+ syncSelectLayout() {
63
+ this.$nextTick(() => {
64
+ let select = this.$refs.fileTypesSelect
65
+ if (!select || !select.$refs.reference) {
66
+ return
67
+ }
68
+ if (!!select.resetInputWidth) {
69
+ select.resetInputWidth()
70
+ }
71
+ let input = select.$refs.reference.$el.querySelector("input.el-input__inner")
72
+ let tags = select.$refs.tags
73
+ if (!input || !tags) {
74
+ return
75
+ }
76
+ let minHeight = select.initialInputHeight || input.offsetHeight
77
+ let tagsHeight = Math.round(tags.getBoundingClientRect().height)
78
+ let height = Math.max(tagsHeight > minHeight ? tagsHeight + 6 : tagsHeight, minHeight)
79
+ input.style.setProperty("height", height + "px", "important")
80
+ /* 高度变了要让下拉面板重新定位,否则还是按旧高度贴在原处 */
81
+ if (!!select.broadcast) {
82
+ select.broadcast("ElSelectDropdown", "updatePopper")
83
+ }
84
+ })
85
+ },
55
86
  },
56
87
  }
57
88
  </script>
@@ -73,10 +104,9 @@
73
104
  }
74
105
 
75
106
  /*
76
- * 全局样式表 src/resources/css/style.scss 里对 .el-form-item__content / .el-input
77
- * 有大量固定宽度和 display 的 !important 覆盖,属性面板这一处正好被波及:
78
- * 外面的 el-select 撑开了,里面画边框的 .el-input__inner 却还是窄的,
79
- * 于是标签溢出到框外。这里从内容区一路 !important 压到最内层的 input。
107
+ * 全局样式表 src/resources/css/style.scss body 作用域下写了
108
+ * .el-input{width:148px !important},画边框的 .el-input__inner 也跟着只有 148px,
109
+ * 所以这里必须从内容区一路 !important 压到最内层的 input 才能铺满。
80
110
  */
81
111
  .file-types-item ::v-deep .el-form-item__content {
82
112
  display: block !important;
@@ -101,19 +131,14 @@
101
131
  }
102
132
 
103
133
  /*
104
- * el-select 的标签区是绝对定位盖在输入框上的兄弟节点,max-width 为挂载时按控件
105
- * 宽度算出的内联值;弹窗里挂载时控件还没有宽度,这个值会偏小导致标签溢出到框外。
106
- * 这里用 !important 盖掉内联值,但必须和 element 一样留出右侧 32px
107
- * 清空按钮的显隐挂在 el-input 的 mouseenter/mouseleave 上,标签层一旦盖住图标区,
108
- * 鼠标移过去就会触发 el-input 的 mouseleave,图标随即消失。
134
+ * 标签区是绝对定位盖在输入框上的兄弟节点:
135
+ * max-width 是挂载时按控件宽度算出的内联值,弹窗里量到的偏小,用 !important 盖掉,
136
+ * 并和 element 一样留出右侧 32px 的图标位;
137
+ * pointer-events 置空则是因为清空按钮的显隐挂在 el-input 的 mouseenter/mouseleave 上,
138
+ * 标签层盖住的地方 hover 都算不到 el-input 头上,按钮就只在图标区才出现。
109
139
  */
110
140
  .file-types-select ::v-deep .el-select__tags {
111
141
  max-width: calc(100% - 32px) !important;
112
- /*
113
- * 标签层整体对鼠标透明:清空按钮的显隐挂在 el-input 的 mouseenter/mouseleave 上,
114
- * 而标签层是盖在输入框上的兄弟节点,凡是它盖住的地方 hover 都算不到 el-input 头上,
115
- * 清空按钮就只在没被盖住的图标区才出现。
116
- */
117
142
  pointer-events: none;
118
143
  }
119
144
 
@@ -127,4 +152,25 @@
127
152
  .file-types-select ::v-deep .el-select__input {
128
153
  max-width: calc(100% - 42px) !important;
129
154
  }
155
+
156
+ /*
157
+ * 全局样式表有 :focus-visible{outline:2px solid 主题色},展开下拉时焦点落在这个
158
+ * 内联输入框上,Chrome 对文本框恒判定 focus-visible,于是框里又套出一圈蓝边。
159
+ * 外层输入框自己已有聚焦态边框,这圈去掉。
160
+ */
161
+ .file-types-select ::v-deep .el-select__input:focus,
162
+ .file-types-select ::v-deep .el-select__input:focus-visible {
163
+ outline: none;
164
+ }
165
+ </style>
166
+
167
+ <style>
168
+ /*
169
+ * 下拉面板是挂到 body 上的,scoped 样式够不到,只能靠 popper-class 做全局约束。
170
+ * 全局样式表把 .el-select-dropdown__wrap 的 max-height 放大到了 474px,
171
+ * 而这里有 9 个分组共 27 个后缀,面板会高到底部放不下、翻上来盖住整块属性面板。
172
+ */
173
+ .file-types-select-dropdown .el-select-dropdown__wrap {
174
+ max-height: 320px;
175
+ }
130
176
  </style>
@@ -74,7 +74,7 @@
74
74
  type="text"
75
75
  status="primary"
76
76
  plain
77
- >{{ $t2("重置") }}
77
+ >{{ $t1("刷新") }}
78
78
  </vxe-button>
79
79
  <vxe-button
80
80
  status="warning"