hy-dispatch-ui-v3 0.2.65 → 0.2.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tailwind.css +51 -13
- package/es/api/organization.mjs +43 -0
- package/es/bussiness/hyAcquisitionStationTree/acquisitionStationTree.vue.mjs +245 -0
- package/es/bussiness/hyAcquisitionStationTree/index.mjs +7 -0
- package/es/bussiness/hyAcquisitionStationTree/js/index.mjs +124 -0
- package/es/bussiness/hyAcquisitionStationTree/style/acquisitionStationTree.scss +0 -0
- package/es/bussiness/hyDeviceTree/deviceTree.vue.mjs +249 -0
- package/es/bussiness/hyDeviceTree/index.mjs +7 -0
- package/es/bussiness/hyDeviceTree/js/index.mjs +126 -0
- package/es/bussiness/hyDeviceTree/style/deviceTree.scss +0 -0
- package/es/bussiness/hyOrgGroupTree/index.mjs +7 -0
- package/es/bussiness/hyOrgGroupTree/js/index.mjs +124 -0
- package/es/bussiness/hyOrgGroupTree/orgGroupTree.vue.mjs +245 -0
- package/es/bussiness/hyOrgGroupTree/style/orgGroupTree.scss +0 -0
- package/es/bussiness/hyPlanGroupDeviceTree/index.mjs +7 -0
- package/es/bussiness/hyPlanGroupDeviceTree/js/index.mjs +124 -0
- package/es/bussiness/hyPlanGroupDeviceTree/planGroupDeviceTree.vue.mjs +245 -0
- package/es/bussiness/hyPlanGroupDeviceTree/style/planGroupDeviceTree.scss +0 -0
- package/es/bussiness/hyUserTree/index.mjs +7 -0
- package/es/bussiness/hyUserTree/js/index.mjs +126 -0
- package/es/bussiness/hyUserTree/style/userTree.scss +0 -0
- package/es/bussiness/hyUserTree/userTree.vue.mjs +239 -0
- package/es/bussiness/index.mjs +5 -0
- package/es/components/hyBatchUploadDialog/batchUploadDialog.vue.mjs +183 -149
- package/es/components/hyButton/button.vue.mjs +19 -5
- package/es/components/hyButton/style/button.scss +72 -0
- package/es/components/hyConfirmDialog/confirmDialog.vue.mjs +1 -2
- package/es/components/hyForm/cpns/formItem.vue.mjs +254 -32
- package/es/components/hyForm/cpns/locationSelect.vue.mjs +8 -1
- package/es/components/hyForm/form.vue.mjs +88 -19
- package/es/components/hyForm/js/index.mjs +2 -1
- package/es/components/hyForm/js/useAppForm.mjs +3 -3
- package/es/components/hyIcon/style/icon.scss +1 -0
- package/es/components/hyMap/js/index.mjs +6 -6
- package/es/components/hyMap/map.vue.mjs +14 -4
- package/es/components/hyNoPermissions/noPermissions.vue.mjs +1 -1
- package/es/components/hyNoPermissionsMap/noPermissionsMap.vue.mjs +1 -1
- package/es/components/hyOrgCascader/orgCascader.vue.mjs +75 -15
- package/es/components/hyRadioGroup/radioGroup.vue.mjs +5 -4
- package/es/components/hySearch/cpns/searchItem.vue.mjs +434 -206
- package/es/components/hySearch/js/index.mjs +2 -1
- package/es/components/hySearch/search.vue.mjs +71 -10
- package/es/components/hySearch/style/search.scss +7 -0
- package/es/components/hyTable/cpns/columnSelect.vue.mjs +21 -22
- package/es/components/hyTable/cpns/virtualTable.vue.mjs +35 -21
- package/es/components/hyTable/js/index.mjs +16 -17
- package/es/components/hyTable/js/search.mjs +28 -2
- package/es/components/hyTable/style/table.scss +13 -0
- package/es/components/hyTable/table.vue.mjs +55 -22
- package/es/components/hyTableActionButton/tableActionButton.vue.mjs +17 -12
- package/es/components/hyTableForm/batchTableForm.vue.mjs +36 -5
- package/es/components/hyTableForm/js/useAppTableForm.mjs +1 -1
- package/es/components/hyTableForm/tableForm.vue.mjs +84 -32
- package/es/components/hyTour/index.mjs +7 -0
- package/es/components/hyTour/style/tour.scss +0 -0
- package/es/components/hyTour/tour.vue.mjs +23 -0
- package/es/components/hyTree/config/tree-config.mjs +5 -2
- package/es/components/hyTree/js/index.mjs +128 -56
- package/es/components/hyTree/tree.vue.mjs +22 -37
- package/es/components/index.mjs +1 -0
- package/es/index.mjs +6 -0
- package/es/static/hy-svg-icons/hy-icon-ops-linear-arrow.js +10 -0
- package/es/style/element/hy-element.scss +24 -3
- package/es/style/index.scss +0 -1
- package/es/style/tailwind.scss +0 -1
- package/es/style/theme.scss +1 -0
- package/es/utils/is.mjs +3 -1
- package/es/utils/map/hook/bigMap.mjs +11 -1
- package/es/utils/map/hook/gaode.mjs +60 -17
- package/es/utils/map/hook/leafletjs.mjs +25 -4
- package/es/utils/map/index.mjs +1 -1
- package/es/version.mjs +1 -1
- package/lib/api/organization.js +47 -0
- package/lib/bussiness/hyAcquisitionStationTree/acquisitionStationTree.vue.js +249 -0
- package/lib/bussiness/hyAcquisitionStationTree/index.js +12 -0
- package/lib/bussiness/hyAcquisitionStationTree/js/index.js +126 -0
- package/lib/bussiness/hyAcquisitionStationTree/style/acquisitionStationTree.scss +0 -0
- package/lib/bussiness/hyDeviceTree/deviceTree.vue.js +253 -0
- package/lib/bussiness/hyDeviceTree/index.js +12 -0
- package/lib/bussiness/hyDeviceTree/js/index.js +128 -0
- package/lib/bussiness/hyDeviceTree/style/deviceTree.scss +0 -0
- package/lib/bussiness/hyOrgGroupTree/index.js +12 -0
- package/lib/bussiness/hyOrgGroupTree/js/index.js +126 -0
- package/lib/bussiness/hyOrgGroupTree/orgGroupTree.vue.js +249 -0
- package/lib/bussiness/hyOrgGroupTree/style/orgGroupTree.scss +0 -0
- package/lib/bussiness/hyPlanGroupDeviceTree/index.js +12 -0
- package/lib/bussiness/hyPlanGroupDeviceTree/js/index.js +126 -0
- package/lib/bussiness/hyPlanGroupDeviceTree/planGroupDeviceTree.vue.js +249 -0
- package/lib/bussiness/hyPlanGroupDeviceTree/style/planGroupDeviceTree.scss +0 -0
- package/lib/bussiness/hyUserTree/index.js +12 -0
- package/lib/bussiness/hyUserTree/js/index.js +128 -0
- package/lib/bussiness/hyUserTree/style/userTree.scss +0 -0
- package/lib/bussiness/hyUserTree/userTree.vue.js +243 -0
- package/lib/bussiness/index.js +14 -4
- package/lib/components/hyBatchUploadDialog/batchUploadDialog.vue.js +182 -148
- package/lib/components/hyButton/button.vue.js +18 -4
- package/lib/components/hyButton/style/button.scss +72 -0
- package/lib/components/hyConfirmDialog/confirmDialog.vue.js +0 -1
- package/lib/components/hyForm/cpns/formItem.vue.js +250 -28
- package/lib/components/hyForm/cpns/locationSelect.vue.js +8 -1
- package/lib/components/hyForm/form.vue.js +86 -17
- package/lib/components/hyForm/js/index.js +2 -0
- package/lib/components/hyForm/js/useAppForm.js +3 -3
- package/lib/components/hyIcon/style/icon.scss +1 -0
- package/lib/components/hyMap/js/index.js +5 -5
- package/lib/components/hyMap/map.vue.js +13 -3
- package/lib/components/hyNoPermissions/noPermissions.vue.js +1 -1
- package/lib/components/hyNoPermissionsMap/noPermissionsMap.vue.js +1 -1
- package/lib/components/hyOrgCascader/orgCascader.vue.js +73 -13
- package/lib/components/hyRadioGroup/radioGroup.vue.js +5 -4
- package/lib/components/hySearch/cpns/searchItem.vue.js +431 -203
- package/lib/components/hySearch/js/index.js +2 -0
- package/lib/components/hySearch/search.vue.js +69 -8
- package/lib/components/hySearch/style/search.scss +7 -0
- package/lib/components/hyTable/cpns/columnSelect.vue.js +20 -21
- package/lib/components/hyTable/cpns/virtualTable.vue.js +51 -37
- package/lib/components/hyTable/js/index.js +16 -16
- package/lib/components/hyTable/js/search.js +28 -2
- package/lib/components/hyTable/style/table.scss +13 -0
- package/lib/components/hyTable/table.vue.js +53 -20
- package/lib/components/hyTableActionButton/tableActionButton.vue.js +16 -11
- package/lib/components/hyTableForm/batchTableForm.vue.js +36 -5
- package/lib/components/hyTableForm/js/useAppTableForm.js +1 -1
- package/lib/components/hyTableForm/tableForm.vue.js +85 -33
- package/lib/components/hyTour/index.js +12 -0
- package/lib/components/hyTour/style/tour.scss +0 -0
- package/lib/components/hyTour/tour.vue.js +27 -0
- package/lib/components/hyTree/config/tree-config.js +5 -2
- package/lib/components/hyTree/js/index.js +128 -56
- package/lib/components/hyTree/tree.vue.js +22 -37
- package/lib/components/index.js +8 -6
- package/lib/index.js +67 -55
- package/lib/static/hy-svg-icons/hy-icon-ops-linear-arrow.js +10 -0
- package/lib/style/element/hy-element.scss +24 -3
- package/lib/style/index.scss +0 -1
- package/lib/style/tailwind.scss +0 -1
- package/lib/style/theme.scss +1 -0
- package/lib/utils/is.js +5 -3
- package/lib/utils/map/hook/bigMap.js +11 -1
- package/lib/utils/map/hook/gaode.js +60 -17
- package/lib/utils/map/hook/leafletjs.js +25 -4
- package/lib/utils/map/index.js +1 -1
- package/lib/version.js +1 -1
- package/package.json +2 -2
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
|
+
var iconsVue = require('@element-plus/icons-vue');
|
|
7
8
|
require('../../../utils/index.js');
|
|
8
9
|
require('../../index.js');
|
|
9
10
|
var index = require('../js/index.js');
|
|
@@ -64,7 +65,18 @@ const _sfc_main = {
|
|
|
64
65
|
setup(__props) {
|
|
65
66
|
const { t } = useLocale.useLocale();
|
|
66
67
|
const props = __props;
|
|
68
|
+
const formContext = vue.inject(index.formContextKey);
|
|
67
69
|
const formItemRef = vue.useTemplateRef("formItemRef");
|
|
70
|
+
const orgCascaderRef = vue.useTemplateRef("orgCascaderRef");
|
|
71
|
+
const showMessage = vue.computed(() => {
|
|
72
|
+
if (columnConfig.value.optionsError) {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
if (is.isBoolean(columnConfig.value.showMessage)) {
|
|
76
|
+
return columnConfig.value.showMessage;
|
|
77
|
+
}
|
|
78
|
+
return formContext.showMessage;
|
|
79
|
+
});
|
|
68
80
|
const columnProp = vue.computed(() => {
|
|
69
81
|
let field = is.isArray(props.column.field) ? props.column.field[0] : props.column.field;
|
|
70
82
|
if (props.parentProp) {
|
|
@@ -72,6 +84,10 @@ const _sfc_main = {
|
|
|
72
84
|
}
|
|
73
85
|
return field;
|
|
74
86
|
});
|
|
87
|
+
const propString = vue.computed(() => {
|
|
88
|
+
if (!columnProp.value) return "";
|
|
89
|
+
return is.isArray(columnProp.value) ? columnProp.value.join(".") : columnProp.value;
|
|
90
|
+
});
|
|
75
91
|
const bindValue = vue.computed({
|
|
76
92
|
get() {
|
|
77
93
|
const prop = is.isArray(props.column.field) ? props.column.field[0] : props.column.field;
|
|
@@ -92,6 +108,12 @@ const _sfc_main = {
|
|
|
92
108
|
form.setValueByProp(props.model, prop, val);
|
|
93
109
|
}
|
|
94
110
|
});
|
|
111
|
+
const columnConfig = vue.computed(() => {
|
|
112
|
+
return {
|
|
113
|
+
...props.column,
|
|
114
|
+
attrs: columnAttrs.value
|
|
115
|
+
};
|
|
116
|
+
});
|
|
95
117
|
const columnAttrs = vue.computed(() => {
|
|
96
118
|
return {
|
|
97
119
|
...props.column.attrs,
|
|
@@ -99,6 +121,55 @@ const _sfc_main = {
|
|
|
99
121
|
placeholder: form.columnPlaceholderHandler(props.column, props.model)
|
|
100
122
|
};
|
|
101
123
|
});
|
|
124
|
+
async function obtainOptions(isMountedLoad = false) {
|
|
125
|
+
return new Promise(async (resolve, reject) => {
|
|
126
|
+
if (props.column.optionsFn) {
|
|
127
|
+
if (!props.column.optionsFn) return;
|
|
128
|
+
props.column.optionsLoading = true;
|
|
129
|
+
props.column.optionsError = "";
|
|
130
|
+
props.column.attrs.options = [];
|
|
131
|
+
if (!(isMountedLoad && props.column.isDefaultGetData === false)) {
|
|
132
|
+
try {
|
|
133
|
+
props.column.attrs.options = await props.column.optionsFn(
|
|
134
|
+
props.column,
|
|
135
|
+
props.model
|
|
136
|
+
);
|
|
137
|
+
props.column.optionsError = "";
|
|
138
|
+
resolve();
|
|
139
|
+
} catch (err) {
|
|
140
|
+
props.column.optionsError = "error";
|
|
141
|
+
console.error(err);
|
|
142
|
+
reject();
|
|
143
|
+
}
|
|
144
|
+
} else {
|
|
145
|
+
resolve();
|
|
146
|
+
}
|
|
147
|
+
} else if (props.column.type === "org-cascader") {
|
|
148
|
+
if (orgCascaderRef.value) {
|
|
149
|
+
props.column.optionsLoading = true;
|
|
150
|
+
props.column.optionsError = "";
|
|
151
|
+
try {
|
|
152
|
+
await orgCascaderRef.value.getData();
|
|
153
|
+
resolve();
|
|
154
|
+
} catch {
|
|
155
|
+
props.column.optionsError = "error";
|
|
156
|
+
reject();
|
|
157
|
+
}
|
|
158
|
+
} else {
|
|
159
|
+
resolve();
|
|
160
|
+
}
|
|
161
|
+
} else {
|
|
162
|
+
resolve();
|
|
163
|
+
}
|
|
164
|
+
props.column.optionsLoading = false;
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
function getOptionsHandler(props2, column) {
|
|
168
|
+
if (props2.column.optionsLoading) {
|
|
169
|
+
return [];
|
|
170
|
+
}
|
|
171
|
+
return index.optionsHandler(props2, props2.column);
|
|
172
|
+
}
|
|
102
173
|
function getColumnRuleHandler(column, model) {
|
|
103
174
|
if (!index.isRequired(props, column) && formItemRef.value) {
|
|
104
175
|
formItemRef.value.clearValidate();
|
|
@@ -108,8 +179,51 @@ const _sfc_main = {
|
|
|
108
179
|
function onChangeHandler() {
|
|
109
180
|
const { onChange } = props.column;
|
|
110
181
|
if (!onChange) return;
|
|
111
|
-
onChange(props.column, props.model);
|
|
182
|
+
onChange(props.column, props.model, props.index);
|
|
183
|
+
}
|
|
184
|
+
async function onReloadOptions() {
|
|
185
|
+
if (props.column.optionsError === "error") {
|
|
186
|
+
try {
|
|
187
|
+
await obtainOptions();
|
|
188
|
+
} catch {
|
|
189
|
+
}
|
|
190
|
+
formContext?.emitOptionsStatus();
|
|
191
|
+
}
|
|
112
192
|
}
|
|
193
|
+
const context = vue.reactive({
|
|
194
|
+
...vue.toRefs(props),
|
|
195
|
+
columnProp,
|
|
196
|
+
propString,
|
|
197
|
+
columnConfig,
|
|
198
|
+
columnAttrs,
|
|
199
|
+
obtainOptions,
|
|
200
|
+
optionsLoading: vue.computed(() => props.column.optionsLoading),
|
|
201
|
+
optionsError: vue.computed(() => props.column.optionsError),
|
|
202
|
+
options: vue.computed(() => {
|
|
203
|
+
return getOptionsHandler(props, props.column);
|
|
204
|
+
})
|
|
205
|
+
});
|
|
206
|
+
vue.onMounted(() => {
|
|
207
|
+
if (propString.value) {
|
|
208
|
+
formContext?.addField(context);
|
|
209
|
+
}
|
|
210
|
+
vue.watch(
|
|
211
|
+
() => formContext.model.errorMsg,
|
|
212
|
+
() => {
|
|
213
|
+
const optionsError = props.column.optionsError;
|
|
214
|
+
if (optionsError === "error") {
|
|
215
|
+
props.column.optionsError = "";
|
|
216
|
+
setTimeout(() => {
|
|
217
|
+
props.column.optionsError = "error";
|
|
218
|
+
}, 1);
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
{ immediate: true, deep: true }
|
|
222
|
+
);
|
|
223
|
+
});
|
|
224
|
+
vue.onBeforeUnmount(() => {
|
|
225
|
+
formContext?.removeField(context);
|
|
226
|
+
});
|
|
113
227
|
return (_ctx, _cache) => {
|
|
114
228
|
return !vue.unref(index.columnVisibleHandler)(props, __props.column) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
115
229
|
key: 0,
|
|
@@ -126,14 +240,15 @@ const _sfc_main = {
|
|
|
126
240
|
id: __props.column.id,
|
|
127
241
|
prop: columnProp.value,
|
|
128
242
|
rules: getColumnRuleHandler(__props.column, props.model),
|
|
129
|
-
style: vue.normalizeStyle(vue.unref(index.columnItemStyle)(props, __props.column))
|
|
130
|
-
|
|
243
|
+
style: vue.normalizeStyle(vue.unref(index.columnItemStyle)(props, __props.column)),
|
|
244
|
+
error: __props.column.optionsError,
|
|
245
|
+
"show-message": showMessage.value
|
|
246
|
+
}, vue.createSlots({
|
|
131
247
|
default: vue.withCtx(() => [
|
|
132
|
-
vue.createCommentVNode(" \u8868\u5355\u9879label "),
|
|
133
248
|
vue.createElementVNode("div", { class: "w-full flex justify-between text-main" }, [
|
|
134
249
|
vue.createElementVNode("div", { class: "flex items-center" }, [
|
|
135
250
|
vue.renderSlot(_ctx.$slots, __props.column.labelSlot, {
|
|
136
|
-
column:
|
|
251
|
+
column: columnConfig.value,
|
|
137
252
|
model: __props.model,
|
|
138
253
|
required: vue.unref(index.isRequired)(props, __props.column)
|
|
139
254
|
}, () => [
|
|
@@ -162,7 +277,11 @@ const _sfc_main = {
|
|
|
162
277
|
1
|
|
163
278
|
/* TEXT */
|
|
164
279
|
)) : vue.createCommentVNode("v-if", true),
|
|
165
|
-
vue.renderSlot(_ctx.$slots, __props.column.tooltipContentSlot
|
|
280
|
+
vue.renderSlot(_ctx.$slots, __props.column.tooltipContentSlot, {
|
|
281
|
+
column: columnConfig.value,
|
|
282
|
+
model: __props.model,
|
|
283
|
+
required: vue.unref(index.isRequired)(props, __props.column)
|
|
284
|
+
})
|
|
166
285
|
]),
|
|
167
286
|
default: vue.withCtx(() => [
|
|
168
287
|
vue.createElementVNode("span", { class: "text-xs text-theme ml-2" }, [
|
|
@@ -188,13 +307,12 @@ const _sfc_main = {
|
|
|
188
307
|
class: "ml-2 flex items-center"
|
|
189
308
|
}, [
|
|
190
309
|
vue.renderSlot(_ctx.$slots, __props.column.rightSlot, {
|
|
191
|
-
column:
|
|
310
|
+
column: columnConfig.value,
|
|
192
311
|
model: __props.model,
|
|
193
312
|
required: vue.unref(index.isRequired)(props, __props.column)
|
|
194
313
|
})
|
|
195
314
|
])) : vue.createCommentVNode("v-if", true)
|
|
196
315
|
]),
|
|
197
|
-
vue.createCommentVNode(" \u5185\u5BB9\u4EC5\u67E5\u770B "),
|
|
198
316
|
vue.unref(index.isReadonly)(props, __props.column) || !__props.column.type && !__props.column.slot ? (vue.openBlock(), vue.createElementBlock(
|
|
199
317
|
"div",
|
|
200
318
|
{
|
|
@@ -230,9 +348,10 @@ const _sfc_main = {
|
|
|
230
348
|
vue.Fragment,
|
|
231
349
|
{ key: 1 },
|
|
232
350
|
[
|
|
351
|
+
vue.createCommentVNode(" \u8868\u5355\u9879 "),
|
|
233
352
|
vue.createCommentVNode(" \u81EA\u5B9A\u4E49\u5177\u540D\u63D2\u69FD "),
|
|
234
353
|
__props.column.slot && _ctx.$slots[__props.column.slot] ? vue.renderSlot(_ctx.$slots, __props.column.slot, {
|
|
235
|
-
column:
|
|
354
|
+
column: columnConfig.value,
|
|
236
355
|
model: __props.model,
|
|
237
356
|
required: vue.unref(index.isRequired)(props, __props.column)
|
|
238
357
|
}, void 0, void 0, 0) : __props.column.type === "input" ? (vue.openBlock(), vue.createElementBlock(
|
|
@@ -260,15 +379,77 @@ const _sfc_main = {
|
|
|
260
379
|
"onUpdate:modelValue": ($event) => bindValue.value = $event
|
|
261
380
|
}, columnAttrs.value, {
|
|
262
381
|
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
263
|
-
options:
|
|
382
|
+
options: getOptionsHandler(props, __props.column),
|
|
264
383
|
onChange: onChangeHandler
|
|
265
|
-
}),
|
|
384
|
+
}), vue.createSlots({
|
|
385
|
+
_: 2
|
|
386
|
+
/* DYNAMIC */
|
|
387
|
+
}, [
|
|
388
|
+
__props.column.optionsLoading ? {
|
|
389
|
+
name: "empty",
|
|
390
|
+
fn: vue.withCtx(() => [
|
|
391
|
+
vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
|
|
392
|
+
vue.createVNode(vue.unref(elementPlus.ElIcon), {
|
|
393
|
+
size: "16",
|
|
394
|
+
class: "is-loading text-theme"
|
|
395
|
+
}, {
|
|
396
|
+
default: vue.withCtx(() => [
|
|
397
|
+
vue.createVNode(vue.unref(iconsVue.Loading))
|
|
398
|
+
]),
|
|
399
|
+
_: 1
|
|
400
|
+
/* STABLE */
|
|
401
|
+
}),
|
|
402
|
+
vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
|
|
403
|
+
])
|
|
404
|
+
]),
|
|
405
|
+
key: "0"
|
|
406
|
+
} : void 0
|
|
407
|
+
]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
|
|
266
408
|
],
|
|
267
409
|
2112
|
|
268
410
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
269
|
-
)) : __props.column.type === "
|
|
411
|
+
)) : __props.column.type === "select-v2" ? (vue.openBlock(), vue.createElementBlock(
|
|
270
412
|
vue.Fragment,
|
|
271
413
|
{ key: 3 },
|
|
414
|
+
[
|
|
415
|
+
vue.createCommentVNode(" \u865A\u62DF\u5316\u9009\u62E9\u6846 "),
|
|
416
|
+
vue.createVNode(vue.unref(elementPlus.ElSelectV2), vue.mergeProps({
|
|
417
|
+
modelValue: bindValue.value,
|
|
418
|
+
"onUpdate:modelValue": ($event) => bindValue.value = $event
|
|
419
|
+
}, columnAttrs.value, {
|
|
420
|
+
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
421
|
+
options: getOptionsHandler(props, __props.column),
|
|
422
|
+
onChange: onChangeHandler
|
|
423
|
+
}), vue.createSlots({
|
|
424
|
+
_: 2
|
|
425
|
+
/* DYNAMIC */
|
|
426
|
+
}, [
|
|
427
|
+
__props.column.optionsLoading ? {
|
|
428
|
+
name: "empty",
|
|
429
|
+
fn: vue.withCtx(() => [
|
|
430
|
+
vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
|
|
431
|
+
vue.createVNode(vue.unref(elementPlus.ElIcon), {
|
|
432
|
+
size: "16",
|
|
433
|
+
class: "is-loading text-theme"
|
|
434
|
+
}, {
|
|
435
|
+
default: vue.withCtx(() => [
|
|
436
|
+
vue.createVNode(vue.unref(iconsVue.Loading))
|
|
437
|
+
]),
|
|
438
|
+
_: 1
|
|
439
|
+
/* STABLE */
|
|
440
|
+
}),
|
|
441
|
+
vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
|
|
442
|
+
])
|
|
443
|
+
]),
|
|
444
|
+
key: "0"
|
|
445
|
+
} : void 0
|
|
446
|
+
]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
|
|
447
|
+
],
|
|
448
|
+
2112
|
|
449
|
+
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
450
|
+
)) : __props.column.type === "date-picker" ? (vue.openBlock(), vue.createElementBlock(
|
|
451
|
+
vue.Fragment,
|
|
452
|
+
{ key: 4 },
|
|
272
453
|
[
|
|
273
454
|
vue.createCommentVNode(" \u65E5\u671F\u9009\u62E9\u6846 "),
|
|
274
455
|
["datetimerange", "daterange", "monthrange", "yearrange"].includes(
|
|
@@ -301,7 +482,7 @@ const _sfc_main = {
|
|
|
301
482
|
/* STABLE_FRAGMENT */
|
|
302
483
|
)) : __props.column.type === "time-picker" ? (vue.openBlock(), vue.createElementBlock(
|
|
303
484
|
vue.Fragment,
|
|
304
|
-
{ key:
|
|
485
|
+
{ key: 5 },
|
|
305
486
|
[
|
|
306
487
|
vue.createCommentVNode(" \u65F6\u95F4\u9009\u62E9\u6846 "),
|
|
307
488
|
columnAttrs.value.isRange ? (vue.openBlock(), vue.createBlock(vue.unref(index$5.HyTimePicker), vue.mergeProps({
|
|
@@ -332,7 +513,7 @@ const _sfc_main = {
|
|
|
332
513
|
/* STABLE_FRAGMENT */
|
|
333
514
|
)) : __props.column.type === "radio" ? (vue.openBlock(), vue.createElementBlock(
|
|
334
515
|
vue.Fragment,
|
|
335
|
-
{ key:
|
|
516
|
+
{ key: 6 },
|
|
336
517
|
[
|
|
337
518
|
vue.createCommentVNode(" \u5355\u9009 "),
|
|
338
519
|
vue.createVNode(vue.unref(elementPlus.ElRadioGroup), vue.mergeProps({
|
|
@@ -340,7 +521,7 @@ const _sfc_main = {
|
|
|
340
521
|
"onUpdate:modelValue": ($event) => bindValue.value = $event
|
|
341
522
|
}, columnAttrs.value, {
|
|
342
523
|
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
343
|
-
options:
|
|
524
|
+
options: getOptionsHandler(props, __props.column),
|
|
344
525
|
onChange: onChangeHandler
|
|
345
526
|
}), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
|
|
346
527
|
],
|
|
@@ -348,7 +529,7 @@ const _sfc_main = {
|
|
|
348
529
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
349
530
|
)) : __props.column.type === "radio-group" ? (vue.openBlock(), vue.createElementBlock(
|
|
350
531
|
vue.Fragment,
|
|
351
|
-
{ key:
|
|
532
|
+
{ key: 7 },
|
|
352
533
|
[
|
|
353
534
|
vue.createCommentVNode(" \u5355\u9009\u6309\u94AE "),
|
|
354
535
|
vue.createVNode(vue.unref(index$6.HyRadioGroup), vue.mergeProps({
|
|
@@ -356,7 +537,7 @@ const _sfc_main = {
|
|
|
356
537
|
"onUpdate:modelValue": ($event) => bindValue.value = $event
|
|
357
538
|
}, columnAttrs.value, {
|
|
358
539
|
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
359
|
-
options:
|
|
540
|
+
options: getOptionsHandler(props, __props.column),
|
|
360
541
|
size: __props.size,
|
|
361
542
|
onChange: onChangeHandler
|
|
362
543
|
}), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "options", "size"])
|
|
@@ -365,7 +546,7 @@ const _sfc_main = {
|
|
|
365
546
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
366
547
|
)) : __props.column.type === "checkbox" ? (vue.openBlock(), vue.createElementBlock(
|
|
367
548
|
vue.Fragment,
|
|
368
|
-
{ key:
|
|
549
|
+
{ key: 8 },
|
|
369
550
|
[
|
|
370
551
|
vue.createCommentVNode(" \u591A\u9009 "),
|
|
371
552
|
vue.createVNode(vue.unref(elementPlus.ElCheckboxGroup), vue.mergeProps({
|
|
@@ -373,7 +554,7 @@ const _sfc_main = {
|
|
|
373
554
|
"onUpdate:modelValue": ($event) => bindValue.value = $event
|
|
374
555
|
}, columnAttrs.value, {
|
|
375
556
|
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
376
|
-
options:
|
|
557
|
+
options: getOptionsHandler(props, __props.column),
|
|
377
558
|
onChange: onChangeHandler
|
|
378
559
|
}), null, 16, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
|
|
379
560
|
],
|
|
@@ -381,7 +562,7 @@ const _sfc_main = {
|
|
|
381
562
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
382
563
|
)) : __props.column.type === "switch" ? (vue.openBlock(), vue.createElementBlock(
|
|
383
564
|
vue.Fragment,
|
|
384
|
-
{ key:
|
|
565
|
+
{ key: 9 },
|
|
385
566
|
[
|
|
386
567
|
vue.createCommentVNode(" \u5F00\u5173 "),
|
|
387
568
|
vue.createVNode(vue.unref(elementPlus.ElSwitch), vue.mergeProps({
|
|
@@ -399,7 +580,7 @@ const _sfc_main = {
|
|
|
399
580
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
400
581
|
)) : __props.column.type === "input-number" ? (vue.openBlock(), vue.createElementBlock(
|
|
401
582
|
vue.Fragment,
|
|
402
|
-
{ key:
|
|
583
|
+
{ key: 10 },
|
|
403
584
|
[
|
|
404
585
|
vue.createCommentVNode(" \u6570\u5B57\u8F93\u5165\u6846 "),
|
|
405
586
|
vue.createVNode(vue.unref(elementPlus.ElInputNumber), vue.mergeProps({
|
|
@@ -414,10 +595,12 @@ const _sfc_main = {
|
|
|
414
595
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
415
596
|
)) : __props.column.type === "org-cascader" ? (vue.openBlock(), vue.createElementBlock(
|
|
416
597
|
vue.Fragment,
|
|
417
|
-
{ key:
|
|
598
|
+
{ key: 11 },
|
|
418
599
|
[
|
|
419
600
|
vue.createCommentVNode(" \u90E8\u95E8\u7EA7\u8054\u9009\u62E9\u6846 "),
|
|
420
601
|
vue.createVNode(vue.unref(index$7.HyOrgCascader), vue.mergeProps({
|
|
602
|
+
ref_key: "orgCascaderRef",
|
|
603
|
+
ref: orgCascaderRef,
|
|
421
604
|
modelValue: bindValue.value,
|
|
422
605
|
"onUpdate:modelValue": ($event) => bindValue.value = $event,
|
|
423
606
|
class: "w-full"
|
|
@@ -430,17 +613,41 @@ const _sfc_main = {
|
|
|
430
613
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
431
614
|
)) : __props.column.type === "cascader" ? (vue.openBlock(), vue.createElementBlock(
|
|
432
615
|
vue.Fragment,
|
|
433
|
-
{ key:
|
|
616
|
+
{ key: 12 },
|
|
434
617
|
[
|
|
435
618
|
vue.createCommentVNode(" \u7EA7\u8054\u9009\u62E9\u6846 "),
|
|
436
619
|
vue.createVNode(vue.unref(elementPlus.ElCascader), vue.mergeProps({
|
|
437
620
|
modelValue: bindValue.value,
|
|
438
621
|
"onUpdate:modelValue": ($event) => bindValue.value = $event
|
|
439
622
|
}, columnAttrs.value, {
|
|
623
|
+
class: "w-full",
|
|
440
624
|
disabled: vue.unref(index.isDisabled)(props, __props.column),
|
|
441
|
-
options:
|
|
625
|
+
options: getOptionsHandler(props, __props.column),
|
|
442
626
|
onChange: onChangeHandler
|
|
443
|
-
}),
|
|
627
|
+
}), vue.createSlots({
|
|
628
|
+
_: 2
|
|
629
|
+
/* DYNAMIC */
|
|
630
|
+
}, [
|
|
631
|
+
__props.column.optionsLoading ? {
|
|
632
|
+
name: "empty",
|
|
633
|
+
fn: vue.withCtx(() => [
|
|
634
|
+
vue.createElementVNode("div", { class: "w-full flex items-center justify-center py-2 gap-1.5 text-main text-xs whitespace-nowrap" }, [
|
|
635
|
+
vue.createVNode(vue.unref(elementPlus.ElIcon), {
|
|
636
|
+
size: "16",
|
|
637
|
+
class: "is-loading text-theme"
|
|
638
|
+
}, {
|
|
639
|
+
default: vue.withCtx(() => [
|
|
640
|
+
vue.createVNode(vue.unref(iconsVue.Loading))
|
|
641
|
+
]),
|
|
642
|
+
_: 1
|
|
643
|
+
/* STABLE */
|
|
644
|
+
}),
|
|
645
|
+
vue.createElementVNode("span", null, "\u6570\u636E\u6B63\u5728\u52A0\u8F7D\u4E2D")
|
|
646
|
+
])
|
|
647
|
+
]),
|
|
648
|
+
key: "0"
|
|
649
|
+
} : void 0
|
|
650
|
+
]), 1040, ["modelValue", "onUpdate:modelValue", "disabled", "options"])
|
|
444
651
|
],
|
|
445
652
|
2112
|
|
446
653
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
@@ -450,9 +657,24 @@ const _sfc_main = {
|
|
|
450
657
|
/* STABLE_FRAGMENT */
|
|
451
658
|
))
|
|
452
659
|
]),
|
|
453
|
-
_:
|
|
454
|
-
/*
|
|
455
|
-
},
|
|
660
|
+
_: 2
|
|
661
|
+
/* DYNAMIC */
|
|
662
|
+
}, [
|
|
663
|
+
__props.column.optionsError ? {
|
|
664
|
+
name: "error",
|
|
665
|
+
fn: vue.withCtx(() => [
|
|
666
|
+
vue.createElementVNode("div", { class: "hy-el-form-item__error" }, [
|
|
667
|
+
vue.createElementVNode("span", null, "\u6570\u636E\u52A0\u8F7D\u5931\u8D25\uFF0C\u8BF7"),
|
|
668
|
+
vue.createElementVNode("span", {
|
|
669
|
+
class: "text-theme cursor-pointer",
|
|
670
|
+
onClick: onReloadOptions
|
|
671
|
+
}, "[\u91CD\u65B0\u52A0\u8F7D]"),
|
|
672
|
+
vue.createElementVNode("span", null, "\u6216\u8054\u7CFB\u7BA1\u7406\u5458")
|
|
673
|
+
])
|
|
674
|
+
]),
|
|
675
|
+
key: "0"
|
|
676
|
+
} : void 0
|
|
677
|
+
]), 1032, ["id", "prop", "rules", "style", "error", "show-message"])) : vue.createCommentVNode("v-if", true);
|
|
456
678
|
};
|
|
457
679
|
}
|
|
458
680
|
};
|
|
@@ -236,6 +236,12 @@ const _sfc_main = {
|
|
|
236
236
|
map.setView({ lat, lng }, mapConfig.maxZoom || 18);
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
|
+
function clearMarker() {
|
|
240
|
+
if (marker) {
|
|
241
|
+
marker.remove();
|
|
242
|
+
marker = null;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
239
245
|
function setMapSize() {
|
|
240
246
|
emits("setMapSize");
|
|
241
247
|
setTimeout(() => {
|
|
@@ -253,7 +259,8 @@ const _sfc_main = {
|
|
|
253
259
|
hyMap = null;
|
|
254
260
|
});
|
|
255
261
|
__expose({
|
|
256
|
-
setMarker
|
|
262
|
+
setMarker,
|
|
263
|
+
clearMarker
|
|
257
264
|
});
|
|
258
265
|
return (_ctx, _cache) => {
|
|
259
266
|
return vue.openBlock(), vue.createElementBlock("div", { class: "w-full h-full flex flex-col" }, [
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var elementPlus = require('element-plus');
|
|
7
|
-
require('@element-plus/icons-vue');
|
|
8
7
|
require('../../hooks/index.js');
|
|
9
8
|
require('../../utils/index.js');
|
|
10
9
|
var formItem = require('./cpns/formItem.vue.js');
|
|
@@ -55,12 +54,16 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
55
54
|
type: String,
|
|
56
55
|
default: "default"
|
|
57
56
|
// 'large' | 'default' | 'small'
|
|
57
|
+
},
|
|
58
|
+
showMessage: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
default: true
|
|
58
61
|
}
|
|
59
62
|
},
|
|
60
63
|
emits: ["on-allMapSelect", "complete"],
|
|
61
64
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
62
|
-
const emit = __emit;
|
|
63
65
|
const props = __props;
|
|
66
|
+
const emits = __emit;
|
|
64
67
|
const { t } = useLocale.useLocale();
|
|
65
68
|
const formTemplateRef = vue.useTemplateRef("formTemplateRef");
|
|
66
69
|
const formColumnMap = vue.computed(() => {
|
|
@@ -83,52 +86,118 @@ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
|
|
|
83
86
|
const allMapSelect = vue.ref(false);
|
|
84
87
|
function setMapSize() {
|
|
85
88
|
allMapSelect.value = !allMapSelect.value;
|
|
86
|
-
|
|
89
|
+
emits("on-allMapSelect", allMapSelect.value);
|
|
87
90
|
}
|
|
88
91
|
function complete() {
|
|
89
|
-
|
|
92
|
+
emits("complete");
|
|
93
|
+
}
|
|
94
|
+
const fields = vue.reactive([]);
|
|
95
|
+
function addField(field) {
|
|
96
|
+
fields.push(field);
|
|
97
|
+
}
|
|
98
|
+
const removeField = (field) => {
|
|
99
|
+
if (field.propString) {
|
|
100
|
+
fields.splice(fields.indexOf(field), 1);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
function filterFields(fields2 = [], keys = []) {
|
|
104
|
+
const filterKeys = keys.map((prop) => is.isArray(prop) ? prop.join(".") : prop);
|
|
105
|
+
return filterKeys.length ? fields2.filter(
|
|
106
|
+
(field) => field.propString && filterKeys.includes(field.propString)
|
|
107
|
+
) : fields2;
|
|
108
|
+
}
|
|
109
|
+
async function obtainOptionsFields(keys, isMountedLoad = false) {
|
|
110
|
+
const filteredFields = filterFields(fields, keys);
|
|
111
|
+
await Promise.allSettled(
|
|
112
|
+
filteredFields.map((field) => field.obtainOptions(isMountedLoad))
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
async function getOptions(isMountedLoad = false) {
|
|
116
|
+
await obtainOptionsFields([], isMountedLoad);
|
|
117
|
+
emitOptionsStatus();
|
|
118
|
+
}
|
|
119
|
+
async function getOptionsFields(keys) {
|
|
120
|
+
await obtainOptionsFields(keys);
|
|
121
|
+
emitOptionsStatus();
|
|
90
122
|
}
|
|
123
|
+
async function getOptionsError() {
|
|
124
|
+
const filteredFields = fields.filter(
|
|
125
|
+
(field) => field.propString && field.optionsError
|
|
126
|
+
);
|
|
127
|
+
await Promise.allSettled(filteredFields.map((field) => field.obtainOptions()));
|
|
128
|
+
emitOptionsStatus();
|
|
129
|
+
}
|
|
130
|
+
function emitOptionsStatus() {
|
|
131
|
+
const hasError = fields.some((item) => item.optionsError === "error");
|
|
132
|
+
emits("optionsStatus", { result: !hasError });
|
|
133
|
+
}
|
|
134
|
+
vue.provide(
|
|
135
|
+
index.formContextKey,
|
|
136
|
+
vue.reactive({
|
|
137
|
+
...vue.toRefs(props),
|
|
138
|
+
emits,
|
|
139
|
+
addField,
|
|
140
|
+
removeField,
|
|
141
|
+
emitOptionsStatus
|
|
142
|
+
})
|
|
143
|
+
);
|
|
144
|
+
vue.onMounted(() => {
|
|
145
|
+
getOptions(true);
|
|
146
|
+
});
|
|
91
147
|
__expose({
|
|
92
148
|
validate: async (callback) => {
|
|
93
149
|
await vue.nextTick();
|
|
94
150
|
return vue.unref(formTemplateRef).validate(callback);
|
|
95
151
|
},
|
|
96
|
-
validateField: async (
|
|
152
|
+
validateField: async (fields2) => {
|
|
97
153
|
await vue.nextTick();
|
|
98
|
-
return vue.unref(formTemplateRef).validateField(
|
|
154
|
+
return vue.unref(formTemplateRef).validateField(fields2);
|
|
99
155
|
},
|
|
100
|
-
resetFields: async (
|
|
156
|
+
resetFields: async (fields2) => {
|
|
101
157
|
let columns = props.columns || [];
|
|
102
|
-
if (
|
|
103
|
-
columns =
|
|
158
|
+
if (fields2 && fields2?.length) {
|
|
159
|
+
columns = fields2.map((key) => formColumnMap.value.get(key)).filter(Boolean);
|
|
104
160
|
}
|
|
105
161
|
useAppForm.resetAppFormValue(columns, props.model);
|
|
106
|
-
vue.unref(formTemplateRef).clearValidate(
|
|
162
|
+
vue.unref(formTemplateRef).clearValidate(fields2);
|
|
107
163
|
},
|
|
108
|
-
scrollToField: async (
|
|
164
|
+
scrollToField: async (fields2) => {
|
|
109
165
|
await vue.nextTick();
|
|
110
|
-
vue.unref(formTemplateRef).scrollToField(
|
|
166
|
+
vue.unref(formTemplateRef).scrollToField(fields2);
|
|
111
167
|
},
|
|
112
|
-
clearValidate: async (
|
|
168
|
+
clearValidate: async (fields2) => {
|
|
113
169
|
await vue.nextTick();
|
|
114
|
-
vue.unref(formTemplateRef).clearValidate(
|
|
170
|
+
vue.unref(formTemplateRef).clearValidate(fields2);
|
|
115
171
|
},
|
|
116
172
|
fields: vue.computed(() => {
|
|
117
173
|
return vue.unref(formTemplateRef)?.fields || [];
|
|
118
174
|
}),
|
|
119
|
-
getField: async (
|
|
175
|
+
getField: async (fields2) => {
|
|
120
176
|
await vue.nextTick();
|
|
121
|
-
return vue.unref(formTemplateRef).getField(
|
|
177
|
+
return vue.unref(formTemplateRef).getField(fields2);
|
|
122
178
|
},
|
|
123
179
|
setMarker: (latlng) => {
|
|
124
180
|
if (locationSelectRef.value) {
|
|
125
181
|
is.isArray(locationSelectRef.value) ? locationSelectRef.value.map((item) => item.setMarker(latlng)) : locationSelectRef.value.setMarker(latlng);
|
|
126
182
|
}
|
|
127
|
-
}
|
|
183
|
+
},
|
|
184
|
+
clearMarker: () => {
|
|
185
|
+
if (locationSelectRef.value) {
|
|
186
|
+
is.isArray(locationSelectRef.value) ? locationSelectRef.value.map((item) => item.clearMarker()) : locationSelectRef.value.clearMarker();
|
|
187
|
+
}
|
|
188
|
+
},
|
|
128
189
|
// setInitialValue: async (value) => {
|
|
129
190
|
// await nextTick()
|
|
130
191
|
// unref(formTemplateRef).setInitialValue(value)
|
|
131
192
|
// }
|
|
193
|
+
getOptions,
|
|
194
|
+
getOptionsFields,
|
|
195
|
+
getOptionsError,
|
|
196
|
+
getOptionsByField: (field) => {
|
|
197
|
+
const [target] = filterFields(fields, [field]);
|
|
198
|
+
if (!target) return null;
|
|
199
|
+
return target.options;
|
|
200
|
+
}
|
|
132
201
|
});
|
|
133
202
|
return (_ctx, _cache) => {
|
|
134
203
|
return vue.openBlock(), vue.createBlock(vue.unref(elementPlus.ElForm), vue.mergeProps({
|
|
@@ -8,6 +8,7 @@ var is = require('../../../utils/is.js');
|
|
|
8
8
|
var form = require('../../../utils/form.js');
|
|
9
9
|
var useLocale = require('../../../hooks/useLocale.js');
|
|
10
10
|
|
|
11
|
+
const formContextKey = /* @__PURE__ */ Symbol("formContextKey");
|
|
11
12
|
function columnItemStyle(props, column) {
|
|
12
13
|
const style = {};
|
|
13
14
|
let span = handler.funRunHandler(column.span, column, props.model);
|
|
@@ -125,6 +126,7 @@ exports.columnHelpHandler = columnHelpHandler;
|
|
|
125
126
|
exports.columnItemStyle = columnItemStyle;
|
|
126
127
|
exports.columnShowHandler = columnShowHandler;
|
|
127
128
|
exports.columnVisibleHandler = columnVisibleHandler;
|
|
129
|
+
exports.formContextKey = formContextKey;
|
|
128
130
|
exports.isDisabled = isDisabled;
|
|
129
131
|
exports.isReadonly = isReadonly;
|
|
130
132
|
exports.isRequired = isRequired;
|