@bytenew/bn-bus-ui 1.1.463 → 1.1.464

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 (167) hide show
  1. package/dist/assocTableSearch-Bfe96864.js +349 -0
  2. package/dist/assocTableSearch.css +1 -0
  3. package/dist/bn-bus-ui.es.js +65 -0
  4. package/dist/bn-bus-ui.umd.js +49 -0
  5. package/dist/chooseIPaasData-COrrvQKZ.js +391 -0
  6. package/dist/chooseIPaasData.css +1 -0
  7. package/dist/defaultSet-CzN1ec_d.js +297 -0
  8. package/dist/defaultSet.css +1 -0
  9. package/dist/fileFormData-D_Q1vylE.js +53 -0
  10. package/dist/formItemFooter-BvptZj_u.js +108 -0
  11. package/dist/formItemFooter.css +1 -0
  12. package/dist/funcExprDialog-BguNs9fl.js +139 -0
  13. package/dist/funcExprDialog.css +1 -0
  14. package/dist/index-0oB7QocU.js +44 -0
  15. package/dist/index-69fRP0M8.js +89 -0
  16. package/dist/index-BdklTJtF.js +66 -0
  17. package/dist/index-Bu3jHlby.js +45 -0
  18. package/dist/index-BxWx5kpG.js +89 -0
  19. package/dist/index-C5LQ0OSs.js +183 -0
  20. package/dist/index-C8YhrrUN.js +51 -0
  21. package/dist/index-COuPCIzB.js +45 -0
  22. package/dist/index-CSvVyjxx.js +178 -0
  23. package/dist/index-DCv51EXX.js +109 -0
  24. package/dist/index-DUSI6MuC.js +135 -0
  25. package/dist/index-DVzxs2vR.js +58 -0
  26. package/dist/index-Dd4b8zNb.js +746 -0
  27. package/dist/index-Md-ZlkCW.js +66 -0
  28. package/dist/index-hsSIY2FP.js +221 -0
  29. package/dist/index-n13-H3_Y.js +118 -0
  30. package/dist/index-wUl5aPUD.js +64 -0
  31. package/dist/index.css +1 -0
  32. package/dist/index2.css +1 -0
  33. package/dist/index3.css +1 -0
  34. package/dist/index4.css +1 -0
  35. package/dist/index5.css +1 -0
  36. package/dist/index6.css +1 -0
  37. package/dist/index7.css +1 -0
  38. package/dist/install-CNjs0u5x.js +23299 -0
  39. package/dist/install.css +1 -0
  40. package/dist/setOption-CXOifQcx.js +329 -0
  41. package/dist/setOption.css +1 -0
  42. package/dist/setRelationOption-C7VDhej7.js +5217 -0
  43. package/dist/setRelationOption.css +1 -0
  44. package/package.json +4 -20
  45. package/install.js +0 -134
  46. package/packages/BnAddress/index.vue +0 -141
  47. package/packages/BnAddressParse/index.vue +0 -75
  48. package/packages/BnAdvancedFilter/BnFilterView.vue +0 -145
  49. package/packages/BnAdvancedFilter/index.vue +0 -345
  50. package/packages/BnAdvancedFilter/util.js +0 -171
  51. package/packages/BnCascader/BnCascader.vue +0 -543
  52. package/packages/BnCascader/BnCascaderPanel.vue +0 -1331
  53. package/packages/BnCascader/cascaderDisplay.js +0 -102
  54. package/packages/BnCheck/BnCheck.vue +0 -253
  55. package/packages/BnColumnConfig/columnConfigDialog.vue +0 -134
  56. package/packages/BnColumnConfig/component/childrenFormSetting/assocTable.vue +0 -143
  57. package/packages/BnColumnConfig/component/childrenFormSetting/assocTableSearch.vue +0 -314
  58. package/packages/BnColumnConfig/component/childrenFormSetting/index.vue +0 -243
  59. package/packages/BnColumnConfig/component/defaultSet/defaultSet.vue +0 -114
  60. package/packages/BnColumnConfig/component/defaultSet/stringDefault.vue +0 -210
  61. package/packages/BnColumnConfig/component/funcExprDialog/funcExprDialog.vue +0 -126
  62. package/packages/BnColumnConfig/component/packageFilter/index.vue +0 -141
  63. package/packages/BnColumnConfig/component/paraExplainSet/index.vue +0 -156
  64. package/packages/BnColumnConfig/component/setOption/setOption.vue +0 -321
  65. package/packages/BnColumnConfig/component/setRelationOption/ConditionList.vue +0 -277
  66. package/packages/BnColumnConfig/component/setRelationOption/LevelHeader.vue +0 -144
  67. package/packages/BnColumnConfig/component/setRelationOption/setRelationOption.vue +0 -642
  68. package/packages/BnColumnConfig/data.js +0 -129
  69. package/packages/BnColumnConfig/index.scss +0 -23
  70. package/packages/BnColumnConfig/index.vue +0 -309
  71. package/packages/BnCondVal/BnCondVal.vue +0 -112
  72. package/packages/BnCondVal/itemVal/dateRegVal.vue +0 -39
  73. package/packages/BnCondVal/itemVal/dateVal.vue +0 -39
  74. package/packages/BnCondVal/itemVal/numRegVal.vue +0 -67
  75. package/packages/BnCondVal/itemVal/numVal.vue +0 -44
  76. package/packages/BnCondVal/itemVal/relationVal.vue +0 -73
  77. package/packages/BnCondVal/itemVal/selectColumnVal.vue +0 -58
  78. package/packages/BnCondVal/itemVal/selectVal.vue +0 -59
  79. package/packages/BnCondVal/itemVal/stringVal.vue +0 -156
  80. package/packages/BnCondition/index.vue +0 -551
  81. package/packages/BnCondition/util.js +0 -232
  82. package/packages/BnDatePicker/BnDatePicker.vue +0 -194
  83. package/packages/BnDrop/BnDrop.vue +0 -917
  84. package/packages/BnEmptyTip/BnEmptyTip.vue +0 -107
  85. package/packages/BnExportOrder/BnExportOrder.vue +0 -241
  86. package/packages/BnExportOrder/validatorCode.vue +0 -94
  87. package/packages/BnFileView/BnFileView.vue +0 -271
  88. package/packages/BnFileView/FileDetail.vue +0 -125
  89. package/packages/BnFileView/videoPreview.vue +0 -70
  90. package/packages/BnFilterOption/BnFilterOption.vue +0 -160
  91. package/packages/BnFunExpr/BnFunExpr.vue +0 -608
  92. package/packages/BnImportOrder/BnImportOrder.vue +0 -323
  93. package/packages/BnImportTemplate/BnImportTemplate.vue +0 -866
  94. package/packages/BnImportTemplate/assets/merge_tip_img.png +0 -0
  95. package/packages/BnImportTemplate/assets/sheet_tip.png +0 -0
  96. package/packages/BnImportTemplate/assets/xls.png +0 -0
  97. package/packages/BnImportTemplate/components/ImportTemplateTrigger.vue +0 -198
  98. package/packages/BnImportTemplate/components/TemplateEditDialog.vue +0 -340
  99. package/packages/BnImportTemplate/components/TemplateFieldsConfig.vue +0 -401
  100. package/packages/BnImportTemplate/components/TemplateListDialog.vue +0 -297
  101. package/packages/BnInpNum/BnInpNum.vue +0 -165
  102. package/packages/BnMenus/BnMenus.vue +0 -502
  103. package/packages/BnMenus/MenuItem.vue +0 -321
  104. package/packages/BnOrderCard/BnOrderCard.vue +0 -389
  105. package/packages/BnOrderCard/orderRemark.vue +0 -178
  106. package/packages/BnOrderCard/util.js +0 -94
  107. package/packages/BnOrderDetail/BnOrderDetail.vue +0 -338
  108. package/packages/BnOrderDetail/filterLogByUser.vue +0 -108
  109. package/packages/BnOrderDetail/orderLogs.vue +0 -53
  110. package/packages/BnOrderDetail/showSubForm/index.vue +0 -41
  111. package/packages/BnOrderDetail/showSubForm/showChildTable.vue +0 -61
  112. package/packages/BnOrderDetail/showSubForm/showTimeLine.vue +0 -131
  113. package/packages/BnOrderDetail/showSubForm/tableCellCopy.vue +0 -84
  114. package/packages/BnOrderShare/index.vue +0 -378
  115. package/packages/BnOrderShare/shareUrlInp.vue +0 -54
  116. package/packages/BnRadio/BnRadio.vue +0 -181
  117. package/packages/BnRelation/BnRelation.vue +0 -120
  118. package/packages/BnSelect/BnSelect.vue +0 -485
  119. package/packages/BnSmartForm/BnBatchForm.vue +0 -334
  120. package/packages/BnSmartForm/BnBatchFormDialog.vue +0 -423
  121. package/packages/BnSmartForm/BnSmartElf/elfLog/index.vue +0 -57
  122. package/packages/BnSmartForm/BnSmartElf/index.vue +0 -95
  123. package/packages/BnSmartForm/BnSmartFormPsychic.js +0 -629
  124. package/packages/BnSmartForm/BnSmartFormUtil.js +0 -524
  125. package/packages/BnSmartForm/addressForm/index.vue +0 -73
  126. package/packages/BnSmartForm/checkboxForm/index.vue +0 -99
  127. package/packages/BnSmartForm/childrenForm/childFormFile.vue +0 -237
  128. package/packages/BnSmartForm/childrenForm/childrenFormBody.vue +0 -260
  129. package/packages/BnSmartForm/childrenForm/index.vue +0 -110
  130. package/packages/BnSmartForm/childrenForm/searchInventory.vue +0 -115
  131. package/packages/BnSmartForm/chooseAssocTable/chooseAssocTable.vue +0 -451
  132. package/packages/BnSmartForm/chooseAssocTable/chooseChildGood.vue +0 -229
  133. package/packages/BnSmartForm/chooseAssocTable/tableCellCopy.vue +0 -84
  134. package/packages/BnSmartForm/chooseChildOrder/chooseChildOrder.vue +0 -158
  135. package/packages/BnSmartForm/chooseIPaasData/chooseIPaasData.vue +0 -307
  136. package/packages/BnSmartForm/chooseIPaasData/tableCellCopy.vue +0 -84
  137. package/packages/BnSmartForm/choosePackage/choosePackage.vue +0 -361
  138. package/packages/BnSmartForm/dateDualForm/index.vue +0 -37
  139. package/packages/BnSmartForm/dateForm/index.vue +0 -38
  140. package/packages/BnSmartForm/fileForm/fileFormData.js +0 -50
  141. package/packages/BnSmartForm/fileForm/index.vue +0 -240
  142. package/packages/BnSmartForm/formItemFooter/formItemFooter.vue +0 -38
  143. package/packages/BnSmartForm/formItemTop/formItemTop.vue +0 -42
  144. package/packages/BnSmartForm/index.vue +0 -1201
  145. package/packages/BnSmartForm/numberForm/index.vue +0 -63
  146. package/packages/BnSmartForm/radioForm/index.vue +0 -72
  147. package/packages/BnSmartForm/receiveForm/index.vue +0 -112
  148. package/packages/BnSmartForm/relationForm/index.vue +0 -82
  149. package/packages/BnSmartForm/scoreForm/index.vue +0 -39
  150. package/packages/BnSmartForm/selectForm/index.vue +0 -55
  151. package/packages/BnSmartForm/showValForm/index.vue +0 -42
  152. package/packages/BnSmartForm/showValForm/showValFormTable.vue +0 -104
  153. package/packages/BnSmartForm/smartFormsCommon.scss +0 -43
  154. package/packages/BnSmartForm/stringForm/index.vue +0 -170
  155. package/packages/BnVirtPopover/index.vue +0 -319
  156. package/packages/BnWebLog/BnWebLog.vue +0 -140
  157. package/packages/BnWorkSettingDrop/advancedOptions.js +0 -112
  158. package/packages/BnWorkSettingDrop/benBenAIUtil.js +0 -89
  159. package/packages/BnWorkSettingDrop/index.vue +0 -292
  160. package/packages/font/iconfont.css +0 -243
  161. package/packages/font/iconfont.ttf +0 -0
  162. package/packages/font/iconfont.woff +0 -0
  163. package/packages/font/iconfont.woff2 +0 -0
  164. package/utils/addressParse-old.js +0 -645
  165. package/utils/addressParse.js +0 -735
  166. package/utils/config.js +0 -68
  167. package/utils/index.js +0 -1171
@@ -1,102 +0,0 @@
1
- import { isEmpty } from 'lodash';
2
-
3
- const DEFAULT_OPTION_PROPS = {
4
- value: 'id',
5
- label: 'title',
6
- children: 'children'
7
- };
8
-
9
- function mergeOptionProps(optionProps = {}) {
10
- return { ...DEFAULT_OPTION_PROPS, ...optionProps };
11
- }
12
-
13
- /** 根据 value 路径在 options 树中解析各级 label(labelInValue=false 时用于回显) */
14
- export function resolvePathLabelsFromTree(pathValues, rootOptions, optionProps = {}) {
15
- if (!Array.isArray(pathValues) || !pathValues.length) {
16
- return [];
17
- }
18
-
19
- const merged = mergeOptionProps(optionProps);
20
- const labels = [];
21
- let currentOptions = rootOptions || [];
22
-
23
- for (const value of pathValues) {
24
- const node = currentOptions.find(item => item?.[merged.value] === value);
25
- if (!node) {
26
- labels.push(String(value ?? ''));
27
- break;
28
- }
29
- const label = node[merged.label] ?? node.title ?? node.label;
30
- labels.push(label != null && label !== '' ? label : String(value ?? ''));
31
- currentOptions = node[merged.children] || [];
32
- }
33
-
34
- return labels;
35
- }
36
-
37
- /** 将各级 label 拼接为展示文本 */
38
- export function joinPathLabels(labels, {
39
- separator = ' / ',
40
- showAllLevels = true
41
- } = {}) {
42
- const filtered = (labels || []).filter(label => label != null && label !== '');
43
- if (!filtered.length) {
44
- return '';
45
- }
46
- const sep = ` ${String(separator).trim()} `;
47
- return showAllLevels ? filtered.join(sep) : filtered[filtered.length - 1];
48
- }
49
-
50
- /** 格式化单条路径为展示文本 */
51
- export function formatPathDisplay(path, {
52
- labelInValue = true,
53
- optionProps = {},
54
- options,
55
- separator = ' / ',
56
- showAllLevels = true
57
- } = {}) {
58
- if (isEmpty(path) || !Array.isArray(path) || !path.length) {
59
- return '';
60
- }
61
-
62
- const merged = mergeOptionProps(optionProps);
63
- let labels;
64
-
65
- if (labelInValue) {
66
- labels = path.map(item => {
67
- if (item && typeof item === 'object') {
68
- return item[merged.label] ?? item.title ?? item.label ?? '';
69
- }
70
- return String(item ?? '');
71
- });
72
- } else if (options?.length) {
73
- labels = resolvePathLabelsFromTree(path, options, optionProps);
74
- } else {
75
- labels = path.map(item => String(item ?? ''));
76
- }
77
-
78
- return joinPathLabels(labels, { separator, showAllLevels });
79
- }
80
-
81
- /** 多选:解析为带 label 的 tag 列表 */
82
- export function getMultipleDisplayTags(modelValue, options = {}) {
83
- if (!Array.isArray(modelValue) || !modelValue.length) {
84
- return [];
85
- }
86
-
87
- return modelValue.map((path, index) => ({
88
- index,
89
- label: formatPathDisplay(path, options)
90
- })).filter(item => item.label);
91
- }
92
-
93
- /** 是否为空值 */
94
- export function isEmptyValue(modelValue, { multiple, labelInValue } = {}) {
95
- if (multiple) {
96
- return !Array.isArray(modelValue) || modelValue.length === 0;
97
- }
98
- if (labelInValue) {
99
- return isEmpty(modelValue);
100
- }
101
- return !Array.isArray(modelValue) || modelValue.length === 0;
102
- }
@@ -1,253 +0,0 @@
1
- <!--
2
- @Auther:辛巴
3
- @Date:2023/02/22
4
- @Description:复选框组件
5
- @VERSION:1.0-->
6
- <template>
7
- <div class="bnChecked" :class="{'disabled': disabled}" @click="handleClick">
8
- <span class="bnChecked-status" :class="{'checked': isCheck}">
9
- <span class="bnChecked-status-inner"></span>
10
- </span>
11
- <slot>
12
- <span class="bnChecked-label" v-if="title" :style="labelStyle" :title="title">{{ title }}</span>
13
- </slot>
14
- </div>
15
- </template>
16
-
17
- <script>
18
- export default {
19
- name: "BnCheck",
20
- props: {
21
- modelValue: [Boolean, String, Number, Array],
22
- trueData: { type: [Boolean, String, Number, Object], default: true },
23
- falseData: { type: [Boolean, String, Number], default: false },
24
- // option基础结构
25
- optionProps: {
26
- default() {
27
- return {
28
- value: 'id',
29
- label: 'title'
30
- };
31
- }
32
- },
33
- isChecked: Function,
34
- onClick: Function,
35
- disabled: {
36
- type: Boolean,
37
- default: false
38
- },
39
- stop: {
40
- type: Boolean,
41
- default: false
42
- },
43
- label: String,
44
- labelStyle: {
45
- type: Object,
46
- default: () => ({})
47
- }
48
- },
49
- computed: {
50
- title() {
51
- let label = this.label||'';
52
- if (typeof this.trueData == 'object' && !this.label) {
53
- label = this.trueData[this.optionProps.label]
54
- }
55
- return label;
56
- },
57
- isCheck() {
58
- if (this.isChecked) {
59
- const result = this.isChecked({
60
- value: this.modelValue,
61
- trueData: this.trueData,
62
- falseData: this.falseData
63
- });
64
- return typeof result === "boolean" ? result : result > -1;
65
- } else {
66
- return this.check();
67
- }
68
- },
69
- value: {
70
- get() {
71
- return this.modelValue;
72
- },
73
- set(val) {
74
- this.$emit("update:modelValue", val);
75
- }
76
- }
77
- },
78
- methods: {
79
- /**
80
- * 组件默认判断
81
- * */
82
- check() {
83
- if (typeof this.trueData == 'object') {
84
- if (Array.isArray(this.modelValue)) {
85
- let getItem = this.modelValue.filter(i => i[this.optionProps.value] == this.trueData[this.optionProps.value])
86
- return getItem.length > 0
87
- } else if (this.trueData) {
88
- return this.modelValue[this.optionProps.value] == this.trueData[this.optionProps.value]
89
- } else {
90
- return Boolean(this.modelValue);
91
- }
92
- } else {
93
- if (Array.isArray(this.modelValue)) {
94
- return this.modelValue.includes(this.trueData);
95
- } else if (this.trueData !== undefined) {
96
- return this.modelValue === this.trueData;
97
- } else {
98
- return Boolean(this.modelValue);
99
- }
100
- }
101
- },
102
- /**
103
- * 点击事件
104
- * */
105
- handleClick() {
106
- if (this.stop || this.disabled) {
107
- this.emitClick();
108
- return;
109
- }
110
- if (this.isCheck) {
111
- if (Array.isArray(this.modelValue)) {
112
- let index;
113
- if (this.isChecked) {
114
- index = this.isChecked({
115
- value: this.modelValue,
116
- trueData: this.trueData,
117
- falseData: this.falseData
118
- })
119
- } else {
120
- if (typeof this.trueData == 'object') {
121
- let ids = this.value.map(i => i[this.optionProps.value])
122
- index = ids.indexOf(this.trueData[this.optionProps.value])
123
- } else {
124
- index = this.value.indexOf(this.trueData)
125
- }
126
- }
127
- this.value.splice(index, 1);
128
- } else {
129
- this.value = this.falseData;
130
- }
131
- } else {
132
- if (Array.isArray(this.modelValue)) {
133
- this.value.push(this.trueData);
134
- } else {
135
- this.value = this.trueData;
136
- }
137
- }
138
- this.$emit("change", {
139
- value: this.modelValue,
140
- trueData: this.trueData,
141
- falseData: this.falseData
142
- });
143
- this.emitClick();
144
- },
145
- /**
146
- * 点击事件透出
147
- * */
148
- emitClick() {
149
- if (this.onClick) {
150
- this.onClick({
151
- value: this.modelValue,
152
- trueData: this.trueData,
153
- falseData: this.falseData
154
- });
155
- }
156
- }
157
- }
158
- };
159
- </script>
160
-
161
- <style scoped lang="scss">
162
- .bnChecked {
163
- display: inline-flex;
164
- align-items: center;
165
- height: 22px;
166
- cursor: pointer;
167
- }
168
-
169
- .bnChecked.disabled {
170
- cursor: not-allowed;
171
- }
172
-
173
- .bnChecked.disabled > :nth-child(2) {
174
- opacity: 0.2;
175
- }
176
-
177
- .bnChecked-status {
178
- box-sizing: content-box !important;
179
- position: relative;
180
- display: block;
181
- width: 14px;
182
- height: 14px;
183
- background-color: #fff;
184
- border: 1px solid #d9d9d9;
185
- border-radius: 2px;
186
- transition: all 0.3s;
187
- }
188
-
189
- .bnChecked-status.checked {
190
- border-color: #1890ff;
191
- background-color: #1890ff;
192
- }
193
-
194
- .disabled .bnChecked-status {
195
- background-color: #f0f0f0 !important;
196
- border-color: #ccc !important;
197
- }
198
-
199
- .disabled .bnChecked-status-inner {
200
- background-color: #f0f0f0 !important;
201
- }
202
-
203
- .disabled .checked .bnChecked-status-inner::after {
204
- border-color: #ccc !important;
205
- }
206
-
207
- .bnChecked-status-inner {
208
- position: relative;
209
- display: block;
210
- width: 14px;
211
- height: 14px;
212
- background-color: #fff;
213
- border-radius: 2px;
214
- transition: all 0.3s;
215
- }
216
-
217
- .bnChecked-status-inner::after {
218
- position: absolute;
219
- top: 50%;
220
- left: calc(50% - 3px);
221
- width: 5px;
222
- height: 8px;
223
- border: 2px solid #fff;
224
- border-top: 0;
225
- border-left: 0;
226
- transform: rotate(45deg) scale(0) translate(-50%, -50%);
227
- opacity: 0;
228
- transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6), opacity 0.1s;
229
- content: "";
230
- }
231
-
232
- .checked .bnChecked-status-inner {
233
- background-color: #1890ff;
234
- }
235
-
236
- .checked .bnChecked-status-inner::after {
237
- transform: rotate(45deg) scale(1) translate(-50%, -50%);
238
- opacity: 1;
239
- transition: all 0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0.1s;
240
- }
241
-
242
- .bnChecked-label {
243
- box-sizing: content-box !important;
244
- max-width: calc(100% - 22px);
245
- padding: 0 8px;
246
- font-size: 14px;
247
- color: #444;
248
- user-select: none;
249
- white-space: nowrap;
250
- overflow: hidden;
251
- text-overflow: ellipsis;
252
- }
253
- </style>
@@ -1,134 +0,0 @@
1
- <template>
2
- <el-dialog v-model="visible" :title="dialogTitle" top="20px" :close-on-click-modal="false" width="900"
3
- class="columnConfigDialog" :destroy-on-close="true" append-to-body>
4
- <el-scrollbar max-height="calc(100vh - 150px)">
5
- <BnColumnConfig ref="BnColumnConfig" v-model="componentData" v-bind="$props"></BnColumnConfig>
6
- </el-scrollbar>
7
- <template #footer>
8
- <div class="w-flex-right">
9
- <el-button @click="visible = false">取消</el-button>
10
- <el-button type="primary" :loading="loading" @click="saveColumn">确认</el-button>
11
- </div>
12
- </template>
13
- </el-dialog>
14
- </template>
15
-
16
- <script>
17
- import {cloneDeep} from "lodash";
18
- import {columnData} from "./data.js";
19
-
20
- export default {
21
- name: "FuncExprDialog",
22
- props: {
23
- componentList: Array,
24
- // 列数
25
- row: {
26
- type: Number,
27
- default: 1
28
- },
29
- // 需要隐藏的配置根据字段来
30
- hideFiled: {
31
- type: Array,
32
- default() {
33
- return []
34
- }
35
- },
36
- // 组件列表
37
- columnList: {
38
- type: Array,
39
- default() {
40
- return []
41
- }
42
- },
43
- // 是否禁用
44
- disabled: Boolean,
45
- openDataField: Boolean,
46
- postFunc: Function,
47
- extendPost: Object,
48
- // 多包裹数据回填
49
- dataBack: {
50
- type: Object,
51
- default() {
52
- return {}
53
- }
54
- },
55
- // 是否是子表单配置子组件
56
- isChildren: Boolean
57
- },
58
- computed: {
59
- dialogTitle() {
60
- const {name, columnCode} = this.componentData;
61
- if (columnCode && name.length > 12) {
62
- return `组件设置-【${name.substring(0, 12)}...】`;
63
- } else if (!columnCode) {
64
- return `新增组件`;
65
- }
66
- return `组件设置-【${name}】`;
67
- },
68
- },
69
- data() {
70
- return {
71
- visible: false,
72
- loading: false,
73
- componentData: cloneDeep(columnData),
74
- }
75
- },
76
- methods: {
77
- open(data) {
78
- const cloneData = data ? cloneDeep(data) : cloneDeep(columnData)
79
- // 兼容历史脏数据:valueEmptyCheck 字段需统一为字符串 '1'/'0'
80
- const valueEmptyCheck = cloneData.extraInfo?.valueEmptyCheck;
81
- if (valueEmptyCheck === 1 || valueEmptyCheck === 0) {
82
- cloneData.extraInfo.valueEmptyCheck = String(valueEmptyCheck);
83
- }
84
- this.componentData = cloneData;
85
- this.visible = true;
86
- },
87
- saveColumn() {
88
- if (!this.componentData.behaviorType) {
89
- this.$message.warning('请选择组件类型再保存')
90
- return;
91
- } else if (!this.componentData.name) {
92
- this.$message.warning('请设置组件名称再保存')
93
- return;
94
- }
95
- // 子表单不需要保存,直接将对象返回给父级
96
- if (this.isChildren) {
97
- this.$emit('saveOver', this.componentData);
98
- this.visible = false;
99
- return;
100
- }
101
- this.loading = true;
102
- const params = {
103
- tableCode: this.extendPost.tableCode,
104
- defaultInfo: this.componentData.defaultInfo || '',
105
- behaviorType: this.componentData.behaviorType,
106
- name: this.componentData.name,
107
- extraInfo: JSON.stringify(this.componentData.extraInfo),
108
- moduleDefinition: this.componentData.moduleDefinition ? JSON.stringify(this.componentData.moduleDefinition) : '[]',
109
- insideDataSourceInfo: this.componentData.insideDataSourceInfo ? JSON.stringify(this.componentData.insideDataSourceInfo) : '{}'
110
- }
111
- if (this.componentData.defaultInfo && typeof this.componentData.defaultInfo == 'object') {
112
- params.defaultInfo = JSON.stringify(this.componentData.defaultInfo)
113
- }
114
- if (this.componentData.columnCode) {
115
- params.columnCode = this.componentData.columnCode
116
- }
117
- let url = params.columnCode ? '/biztable/definition/updateColumn' : '/biztable/definition/addColumn'
118
- this.postFunc(url, params).then(res => {
119
- this.loading = false;
120
- if (!res.code) {
121
- this.$message.success('操作成功');
122
- this.visible = false;
123
- this.$emit('saveOver', this.componentData);
124
- }
125
- })
126
- }
127
- }
128
- }
129
- </script>
130
- <style lang="scss">
131
- .columnConfigDialog.el-dialog {
132
- margin-bottom: 0 !important;
133
- }
134
- </style>
@@ -1,143 +0,0 @@
1
- <template>
2
- <el-dialog v-model="visible" title="关联其他工作表组件" top="20px" :close-on-click-modal="false" width="600"
3
- :destroy-on-close="true" append-to-body>
4
- <div class="assocTable">
5
- <el-form :model="assocTableData" label-width="auto" v-loading="loading">
6
- <el-form-item label="选择关联表">
7
- <BnSelect v-model="assocTableData.tableCode" :option-props="{value:'tableCode',label:'tableName'}"
8
- :labelInValue="false" :options="tableList"></BnSelect>
9
- </el-form-item>
10
- <el-form-item label="关联表内组件">
11
- <el-select v-model="assocTableData.tableColumns" placeholder="please select your zone">
12
- <el-option label="Zone one" value="shanghai"/>
13
- <el-option label="Zone two" value="beijing"/>
14
- </el-select>
15
- </el-form-item>
16
- </el-form>
17
- </div>
18
- <template #footer>
19
- <div class="w-flex-right">
20
- <el-button @click="visible = false">取消</el-button>
21
- <el-button type="primary" :loading="loading" @click="saveColumn">确认</el-button>
22
- </div>
23
- </template>
24
- </el-dialog>
25
- </template>
26
-
27
- <script>
28
- import {cloneDeep} from "lodash";
29
-
30
- export default {
31
- name: "assocTable",
32
- props: {
33
- columnData: {
34
- type: Object,
35
- default: () => ({}),
36
- },
37
- postFunc: Function,
38
- extendPost: Object,
39
- },
40
- data() {
41
- return {
42
- visible: false,
43
- loading: false,
44
- assocTableData: {
45
- table: "",
46
- tableColumns: []
47
- },
48
- tableList: [],
49
- componentData: {},
50
- }
51
- },
52
- methods: {
53
- async open(data) {
54
- this.assocTableData = {
55
- table: "",
56
- tableCode: "",
57
- tableColumns: []
58
- }
59
- this.visible = true;
60
- this.loading = true;
61
- if (this.tableList.length == 0) {
62
- await this.getTableList()
63
- }
64
- if (this.columnData.insideDataSourceInfo.type == 'group') {
65
- this.assocTableData.table = this.columnData.insideDataSourceInfo.table;
66
- this.assocTableData.tableCode = this.columnData.insideDataSourceInfo.tableCode;
67
- await this.getComList()
68
- this.columnData.moduleDefinition.forEach(c => {
69
- if (c.insideDataSourceInfo?.fieldCode) {
70
- this.assocTableData.tableColumns.push(c.insideDataSourceInfo.fieldCode)
71
- }
72
- })
73
- console.log(this.assocTableData.tableColumns)
74
- }
75
- this.componentData = data ? cloneDeep(data) : cloneDeep({})
76
- this.loading = false;
77
- },
78
- /**
79
- * 获取应用下的表
80
- * */
81
- async getTableList() {
82
- let res = await this.postFunc(`/biztable/instance/app?appCode=${this.extendPost.appCode || ''}&tables=1`, null, 'get')
83
- if (!res.code && res.data) {
84
- this.tableList = res.data.tables;
85
- }
86
- },
87
- /**
88
- * 获取表下的组件
89
- * */
90
- async getComList() {
91
- let res = await this.postFunc(`/biztable/definition/table?tableCode=${this.assocTableData.tableCode}&columns=1`, null, 'get')
92
- if (!res.code && res.data) {
93
- console.log(res)
94
- }
95
- },
96
- saveColumn() {
97
- if (!this.componentData.behaviorType) {
98
- this.$message.warning('请选择组件类型再保存')
99
- return;
100
- } else if (!this.componentData.name) {
101
- this.$message.warning('请设置组件名称再保存')
102
- return;
103
- }
104
- // 子表单不需要保存,直接将对象返回给父级
105
- if (this.isChildren) {
106
- this.$emit('saveOver', this.componentData);
107
- this.visible = false;
108
- return;
109
- }
110
- this.loading = true;
111
- const params = {
112
- tableCode: this.extendPost.tableCode,
113
- defaultInfo: this.componentData.defaultInfo || '',
114
- behaviorType: this.componentData.behaviorType,
115
- name: this.componentData.name,
116
- extraInfo: JSON.stringify(this.componentData.extraInfo),
117
- moduleDefinition: this.componentData.moduleDefinition ? JSON.stringify(this.componentData.moduleDefinition) : '[]',
118
- insideDataSourceInfo: this.componentData.insideDataSourceInfo ? JSON.stringify(this.componentData.insideDataSourceInfo) : '{}'
119
- }
120
- if (this.componentData.defaultInfo && typeof this.componentData.defaultInfo == 'object') {
121
- params.defaultInfo = JSON.stringify(this.componentData.defaultInfo)
122
- }
123
- if (this.componentData.columnCode) {
124
- params.columnCode = this.componentData.columnCode
125
- }
126
- let url = params.columnCode ? '/biztable/definition/updateColumn' : '/biztable/definition/addColumn'
127
- this.postFunc(url, params).then(res => {
128
- this.loading = false;
129
- if (!res.code) {
130
- this.$message.success('操作成功');
131
- this.visible = false;
132
- this.$emit('saveOver', this.componentData);
133
- }
134
- })
135
- }
136
- }
137
- }
138
- </script>
139
- <style lang="scss" scoped>
140
- .assocTable {
141
- max-height: calc(100vh - 200px);
142
- }
143
- </style>