cloud-web-corejs 1.0.54-dev.801 → 1.0.54-dev.803
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/package.json +1 -1
- package/src/components/baseArea/index.vue +82 -27
- package/src/components/table/tableForm.vue +16 -5
- package/src/components/table/tableFormMixin.js +35 -7
- package/src/components/wf/content.vue +9 -1
- package/src/components/wf/wfActionDropdown.vue +32 -5
- package/src/components/wf/wfActionItems.js +22 -2
- package/src/components/wf/wfUtil.js +34 -10
- package/src/components/xform/form-designer/designer.js +6 -1
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +9 -3
- package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +3 -2
- package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +3 -12
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +2 -46
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/relative-default-mixin.js +107 -0
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/relativeDateUtil.js +321 -0
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +2 -17
- package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +3 -2
- package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +3 -12
- package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +35 -36
- package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +35 -18
- package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +34 -36
- package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +35 -18
- package/src/components/xform/form-designer/setting-panel/property-editor/fixedQuery-editor.vue +39 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/relative-default-block.vue +369 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +1 -0
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +34 -2
- package/src/components/xform/form-render/container-item/data-table-mixin.js +116 -74
- package/src/components/xform/lang/en-US.js +3 -0
- package/src/components/xform/lang/zh-CN.js +3 -0
- package/src/components/xform/utils/fixedQueryUtil.js +93 -0
- package/src/views/user/home/wjl/content.vue +1206 -0
- package/src/views/user/menu/voc_list.vue +686 -0
- package/src/views/user/role/edit.vue +32 -9
- package/src/views/user/role/list.vue +142 -67
- package/src/views/user/role/voc_edit.vue +282 -0
- package/src/views/user/wf/wf_manage/list.vue +17 -1
|
@@ -1,26 +1,43 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<el-form-item
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
<el-form-item
|
|
3
|
+
:label="i18nt('designer.setting.defaultValue')"
|
|
4
|
+
class="form-item-label-top"
|
|
5
|
+
>
|
|
6
|
+
<relative-default-block
|
|
7
|
+
:option-model="optionModel"
|
|
8
|
+
widget-type="time-range"
|
|
9
|
+
@change="emitDefaultValueChange"
|
|
10
|
+
>
|
|
11
|
+
<el-time-picker
|
|
12
|
+
v-model="optionModel.defaultValue"
|
|
13
|
+
is-range
|
|
14
|
+
@change="emitDefaultValueChange"
|
|
15
|
+
:format="optionModel.format"
|
|
16
|
+
value-format="HH:mm:ss"
|
|
17
|
+
style="width: 100%"
|
|
18
|
+
>
|
|
19
|
+
</el-time-picker>
|
|
20
|
+
</relative-default-block>
|
|
6
21
|
</el-form-item>
|
|
7
22
|
</template>
|
|
8
23
|
|
|
9
24
|
<script>
|
|
10
|
-
|
|
11
|
-
|
|
25
|
+
import i18n from "../../../../../../components/xform/utils/i18n";
|
|
26
|
+
import propertyMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/propertyMixin";
|
|
27
|
+
import RelativeDefaultBlock from "../../../../../../components/xform/form-designer/setting-panel/property-editor/relative-default-block";
|
|
12
28
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
29
|
+
export default {
|
|
30
|
+
name: "time-range-defaultValue-editor",
|
|
31
|
+
mixins: [i18n, propertyMixin],
|
|
32
|
+
components: {
|
|
33
|
+
RelativeDefaultBlock,
|
|
34
|
+
},
|
|
35
|
+
props: {
|
|
36
|
+
designer: Object,
|
|
37
|
+
selectedWidget: Object,
|
|
38
|
+
optionModel: Object,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
22
41
|
</script>
|
|
23
42
|
|
|
24
|
-
<style scoped>
|
|
25
|
-
|
|
26
|
-
</style>
|
|
43
|
+
<style scoped></style>
|
package/src/components/xform/form-designer/setting-panel/property-editor/fixedQuery-editor.vue
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<!-- 只在数据表格查询区显示:这个开关在别处(主表单字段、表格列)没有任何作用 -->
|
|
3
|
+
<el-form-item v-if="showEditor" :label="i18nt('designer.setting.fixedQuery')">
|
|
4
|
+
<el-tooltip
|
|
5
|
+
:enterable="false"
|
|
6
|
+
effect="dark"
|
|
7
|
+
:content="i18nt('designer.setting.fixedQueryHelp')"
|
|
8
|
+
placement="top"
|
|
9
|
+
popper-class="tooltip-skin"
|
|
10
|
+
>
|
|
11
|
+
<el-switch v-model="optionModel.fixedQuery"></el-switch>
|
|
12
|
+
</el-tooltip>
|
|
13
|
+
</el-form-item>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script>
|
|
17
|
+
import i18n from "../../../../../components/xform/utils/i18n";
|
|
18
|
+
import { isQueryAreaWidget } from "../../../../../components/xform/utils/fixedQueryUtil";
|
|
19
|
+
|
|
20
|
+
export default {
|
|
21
|
+
name: "fixedQuery-editor",
|
|
22
|
+
mixins: [i18n],
|
|
23
|
+
props: {
|
|
24
|
+
designer: Object,
|
|
25
|
+
selectedWidget: Object,
|
|
26
|
+
optionModel: Object,
|
|
27
|
+
},
|
|
28
|
+
computed: {
|
|
29
|
+
showEditor() {
|
|
30
|
+
return isQueryAreaWidget(
|
|
31
|
+
this.designer && this.designer.widgetList,
|
|
32
|
+
this.selectedWidget
|
|
33
|
+
);
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<style scoped></style>
|
package/src/components/xform/form-designer/setting-panel/property-editor/relative-default-block.vue
ADDED
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="relative-default-block">
|
|
3
|
+
<div class="relative-default-block__head">
|
|
4
|
+
<el-checkbox v-model="relativeMode">相对当前</el-checkbox>
|
|
5
|
+
<el-button
|
|
6
|
+
v-if="relativeMode"
|
|
7
|
+
type="text"
|
|
8
|
+
size="mini"
|
|
9
|
+
style="margin-left: 10px; padding: 0"
|
|
10
|
+
@click="openDialog"
|
|
11
|
+
>配置</el-button
|
|
12
|
+
>
|
|
13
|
+
</div>
|
|
14
|
+
<!-- 未勾选时由各组件自己的固定值控件占位 -->
|
|
15
|
+
<slot v-if="!relativeMode"></slot>
|
|
16
|
+
<template v-else>
|
|
17
|
+
<div class="relative-default-block__summary">{{ ruleText }}</div>
|
|
18
|
+
<div class="relative-default-block__summary">取值:{{ valueText }}</div>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<el-dialog
|
|
22
|
+
v-if="dialogVisible"
|
|
23
|
+
title="相对默认值"
|
|
24
|
+
:visible.sync="dialogVisible"
|
|
25
|
+
width="520px"
|
|
26
|
+
append-to-body
|
|
27
|
+
:close-on-click-modal="false"
|
|
28
|
+
:destroy-on-close="true"
|
|
29
|
+
>
|
|
30
|
+
<!-- 宽度打在自己的 span 上:全局 body .el-input{width:148px !important}
|
|
31
|
+
会撑破 el-select,箭头被裁掉、两个下拉也会贴在一起 -->
|
|
32
|
+
<div v-for="part in parts" :key="part.key" class="relative-default-part">
|
|
33
|
+
<div v-if="part.label" class="relative-default-part__title">
|
|
34
|
+
{{ part.label }}
|
|
35
|
+
</div>
|
|
36
|
+
<div class="relative-default-part__row">
|
|
37
|
+
<span class="relative-default-part__prefix">当前</span>
|
|
38
|
+
<span class="relative-default-part__control relative-default-part__offset">
|
|
39
|
+
<el-input
|
|
40
|
+
:value="part.item.offsetText"
|
|
41
|
+
size="mini"
|
|
42
|
+
placeholder="0"
|
|
43
|
+
@input="handleOffsetInput(part.item, $event)"
|
|
44
|
+
></el-input>
|
|
45
|
+
</span>
|
|
46
|
+
<span class="relative-default-part__control relative-default-part__unit">
|
|
47
|
+
<el-select v-model="part.item.unit" size="mini">
|
|
48
|
+
<el-option
|
|
49
|
+
v-for="item in unitOptions"
|
|
50
|
+
:key="item.value"
|
|
51
|
+
:label="item.label"
|
|
52
|
+
:value="item.value"
|
|
53
|
+
></el-option>
|
|
54
|
+
</el-select>
|
|
55
|
+
</span>
|
|
56
|
+
<span class="relative-default-part__control relative-default-part__align">
|
|
57
|
+
<el-select v-model="part.item.align" size="mini">
|
|
58
|
+
<el-option
|
|
59
|
+
v-for="item in alignOptionsOf(part.item)"
|
|
60
|
+
:key="item.value"
|
|
61
|
+
:label="item.label"
|
|
62
|
+
:value="item.value"
|
|
63
|
+
></el-option>
|
|
64
|
+
</el-select>
|
|
65
|
+
</span>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="relative-default-part__preview">
|
|
68
|
+
取值:{{ previewOf(part) }}
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="relative-default-tip">
|
|
72
|
+
对齐指先按偏移量平移,再落到该单位的起点或终点,如「1月前·月初」为上月1号。
|
|
73
|
+
</div>
|
|
74
|
+
<span slot="footer">
|
|
75
|
+
<el-button size="mini" @click="dialogVisible = false">取消</el-button>
|
|
76
|
+
<el-button size="mini" type="primary" @click="confirmDialog"
|
|
77
|
+
>确定</el-button
|
|
78
|
+
>
|
|
79
|
+
</span>
|
|
80
|
+
</el-dialog>
|
|
81
|
+
</div>
|
|
82
|
+
</template>
|
|
83
|
+
|
|
84
|
+
<script>
|
|
85
|
+
import {
|
|
86
|
+
DATE_UNITS,
|
|
87
|
+
DEFAULT_VALUE_TYPE_RELATIVE,
|
|
88
|
+
KIND_TIME,
|
|
89
|
+
TIME_UNITS,
|
|
90
|
+
describeRelativeDescriptor,
|
|
91
|
+
getRelativeKind,
|
|
92
|
+
getUnitLabel,
|
|
93
|
+
hasTimePart,
|
|
94
|
+
isRangeWidgetType,
|
|
95
|
+
isRelativeDefaultType,
|
|
96
|
+
normalizeRelativeDescriptor,
|
|
97
|
+
normalizeRelativeRangeDescriptor,
|
|
98
|
+
resolveDefaultValueFromOptions,
|
|
99
|
+
resolveRelativeValue,
|
|
100
|
+
toPreviewText,
|
|
101
|
+
} from "../../../../../components/xform/form-designer/form-widget/field-widget/mixins/relativeDateUtil";
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 日期/时间组件「相对默认值」的配置入口:属性面板上只占一行(勾选 + 配置按钮 + 摘要),
|
|
105
|
+
* 具体的偏移量/单位/对齐放进弹框里横排——属性面板只有 200px 宽,塞不下三个控件。
|
|
106
|
+
*
|
|
107
|
+
* 弹框里编辑的是本地草稿,点确定才写回 options:一来老表单不会被打开即改脏,
|
|
108
|
+
* 二来避免边输入边回写触发的重渲染回环。
|
|
109
|
+
*/
|
|
110
|
+
export default {
|
|
111
|
+
name: "relative-default-block",
|
|
112
|
+
props: {
|
|
113
|
+
optionModel: {
|
|
114
|
+
type: Object,
|
|
115
|
+
required: true,
|
|
116
|
+
},
|
|
117
|
+
widgetType: {
|
|
118
|
+
type: String,
|
|
119
|
+
required: true,
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
data() {
|
|
123
|
+
return {
|
|
124
|
+
dialogVisible: false,
|
|
125
|
+
draft: null,
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
computed: {
|
|
129
|
+
kind() {
|
|
130
|
+
return getRelativeKind(this.widgetType);
|
|
131
|
+
},
|
|
132
|
+
isRange() {
|
|
133
|
+
return isRangeWidgetType(this.widgetType);
|
|
134
|
+
},
|
|
135
|
+
relativeMode: {
|
|
136
|
+
get() {
|
|
137
|
+
return isRelativeDefaultType(this.optionModel.defaultValueType);
|
|
138
|
+
},
|
|
139
|
+
set(checked) {
|
|
140
|
+
/* 老表单的 options 没有这些属性,一律 $set 保证响应式 */
|
|
141
|
+
this.$set(
|
|
142
|
+
this.optionModel,
|
|
143
|
+
"defaultValueType",
|
|
144
|
+
checked ? DEFAULT_VALUE_TYPE_RELATIVE : ""
|
|
145
|
+
);
|
|
146
|
+
if (checked) {
|
|
147
|
+
//相对模式下静态默认值不再参与取值,清掉避免两处配置打架
|
|
148
|
+
this.$set(this.optionModel, "defaultValue", null);
|
|
149
|
+
}
|
|
150
|
+
this.$emit("change");
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
descriptor() {
|
|
154
|
+
return this.isRange
|
|
155
|
+
? normalizeRelativeRangeDescriptor(
|
|
156
|
+
this.optionModel.defaultValueRelative,
|
|
157
|
+
this.kind
|
|
158
|
+
)
|
|
159
|
+
: normalizeRelativeDescriptor(
|
|
160
|
+
this.optionModel.defaultValueRelative,
|
|
161
|
+
this.kind
|
|
162
|
+
);
|
|
163
|
+
},
|
|
164
|
+
ruleText() {
|
|
165
|
+
if (!this.isRange) {
|
|
166
|
+
return describeRelativeDescriptor(this.descriptor, this.kind);
|
|
167
|
+
}
|
|
168
|
+
return `${describeRelativeDescriptor(
|
|
169
|
+
this.descriptor.start,
|
|
170
|
+
this.kind
|
|
171
|
+
)} ~ ${describeRelativeDescriptor(this.descriptor.end, this.kind)}`;
|
|
172
|
+
},
|
|
173
|
+
valueText() {
|
|
174
|
+
return toPreviewText(
|
|
175
|
+
resolveDefaultValueFromOptions(this.optionModel, this.widgetType)
|
|
176
|
+
);
|
|
177
|
+
},
|
|
178
|
+
/* 时分秒单位只在时间类组件、或带时分秒的日期组件上给出 */
|
|
179
|
+
unitOptions() {
|
|
180
|
+
let units = [];
|
|
181
|
+
if (this.kind === KIND_TIME) {
|
|
182
|
+
units = [...TIME_UNITS];
|
|
183
|
+
} else if (
|
|
184
|
+
hasTimePart(this.optionModel.type, this.optionModel.valueFormat)
|
|
185
|
+
) {
|
|
186
|
+
units = [...DATE_UNITS, ...TIME_UNITS];
|
|
187
|
+
} else {
|
|
188
|
+
units = [...DATE_UNITS];
|
|
189
|
+
}
|
|
190
|
+
return units.map((item) => ({ value: item, label: getUnitLabel(item) }));
|
|
191
|
+
},
|
|
192
|
+
parts() {
|
|
193
|
+
if (!this.draft) {
|
|
194
|
+
return [];
|
|
195
|
+
}
|
|
196
|
+
if (!this.isRange) {
|
|
197
|
+
return [
|
|
198
|
+
{
|
|
199
|
+
key: "single",
|
|
200
|
+
label: "",
|
|
201
|
+
item: this.draft,
|
|
202
|
+
defaultTime: this.getDefaultTimeAt(0),
|
|
203
|
+
},
|
|
204
|
+
];
|
|
205
|
+
}
|
|
206
|
+
return [
|
|
207
|
+
{
|
|
208
|
+
key: "start",
|
|
209
|
+
label: "起始",
|
|
210
|
+
item: this.draft.start,
|
|
211
|
+
defaultTime: this.getDefaultTimeAt(0),
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
key: "end",
|
|
215
|
+
label: "截止",
|
|
216
|
+
item: this.draft.end,
|
|
217
|
+
defaultTime: this.getDefaultTimeAt(1),
|
|
218
|
+
},
|
|
219
|
+
];
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
methods: {
|
|
223
|
+
getDefaultTimeAt(index) {
|
|
224
|
+
let defaultTime = this.optionModel.defaultTime;
|
|
225
|
+
return Array.isArray(defaultTime) ? defaultTime[index] || "" : "";
|
|
226
|
+
},
|
|
227
|
+
/* 草稿里额外挂一个 offsetText,输入过程中允许出现 "-" 这类中间态 */
|
|
228
|
+
toDraftItem(source) {
|
|
229
|
+
let item = normalizeRelativeDescriptor(source, this.kind);
|
|
230
|
+
return { ...item, offsetText: String(item.offset) };
|
|
231
|
+
},
|
|
232
|
+
openDialog() {
|
|
233
|
+
this.draft = this.isRange
|
|
234
|
+
? {
|
|
235
|
+
start: this.toDraftItem(this.descriptor.start),
|
|
236
|
+
end: this.toDraftItem(this.descriptor.end),
|
|
237
|
+
}
|
|
238
|
+
: this.toDraftItem(this.descriptor);
|
|
239
|
+
this.dialogVisible = true;
|
|
240
|
+
},
|
|
241
|
+
/* 只留数字和一个前导负号 */
|
|
242
|
+
handleOffsetInput(item, text) {
|
|
243
|
+
let offsetText = String(text)
|
|
244
|
+
.replace(/[^\d-]/g, "")
|
|
245
|
+
.replace(/(?!^)-/g, "");
|
|
246
|
+
item.offsetText = offsetText;
|
|
247
|
+
let parsed = parseInt(offsetText, 10);
|
|
248
|
+
item.offset = Number.isFinite(parsed) ? parsed : 0;
|
|
249
|
+
},
|
|
250
|
+
alignOptionsOf(item) {
|
|
251
|
+
let unitLabel = getUnitLabel(item.unit);
|
|
252
|
+
return [
|
|
253
|
+
{ value: "none", label: "不对齐" },
|
|
254
|
+
{ value: "start", label: `对齐到${unitLabel}初` },
|
|
255
|
+
{ value: "end", label: `对齐到${unitLabel}末` },
|
|
256
|
+
];
|
|
257
|
+
},
|
|
258
|
+
previewOf(part) {
|
|
259
|
+
try {
|
|
260
|
+
return toPreviewText(
|
|
261
|
+
resolveRelativeValue(part.item, {
|
|
262
|
+
kind: this.kind,
|
|
263
|
+
type: this.optionModel.type,
|
|
264
|
+
valueFormat: this.optionModel.valueFormat,
|
|
265
|
+
defaultTime: part.defaultTime,
|
|
266
|
+
})
|
|
267
|
+
);
|
|
268
|
+
} catch (error) {
|
|
269
|
+
return "";
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
stripDraftItem(item) {
|
|
273
|
+
return { offset: item.offset, unit: item.unit, align: item.align };
|
|
274
|
+
},
|
|
275
|
+
confirmDialog() {
|
|
276
|
+
let value = this.isRange
|
|
277
|
+
? {
|
|
278
|
+
start: this.stripDraftItem(this.draft.start),
|
|
279
|
+
end: this.stripDraftItem(this.draft.end),
|
|
280
|
+
}
|
|
281
|
+
: this.stripDraftItem(this.draft);
|
|
282
|
+
this.$set(this.optionModel, "defaultValueRelative", value);
|
|
283
|
+
this.$set(
|
|
284
|
+
this.optionModel,
|
|
285
|
+
"defaultValueType",
|
|
286
|
+
DEFAULT_VALUE_TYPE_RELATIVE
|
|
287
|
+
);
|
|
288
|
+
this.dialogVisible = false;
|
|
289
|
+
this.$emit("change");
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
};
|
|
293
|
+
</script>
|
|
294
|
+
|
|
295
|
+
<style lang="scss" scoped>
|
|
296
|
+
.relative-default-block__head {
|
|
297
|
+
display: flex;
|
|
298
|
+
align-items: center;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.relative-default-block__config {
|
|
302
|
+
margin-left: 8px;
|
|
303
|
+
padding: 0;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
.relative-default-block__summary {
|
|
307
|
+
color: #909399;
|
|
308
|
+
line-height: 18px;
|
|
309
|
+
word-break: break-all;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
.relative-default-part + .relative-default-part {
|
|
313
|
+
margin-top: 16px;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.relative-default-part__title {
|
|
317
|
+
margin-bottom: 6px;
|
|
318
|
+
color: #606266;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
.relative-default-part__row {
|
|
322
|
+
display: flex;
|
|
323
|
+
flex-wrap: nowrap;
|
|
324
|
+
align-items: center;
|
|
325
|
+
gap: 10px;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
.relative-default-part__prefix {
|
|
329
|
+
flex: none;
|
|
330
|
+
color: #606266;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
.relative-default-part__control {
|
|
334
|
+
flex: none;
|
|
335
|
+
display: inline-block;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.relative-default-part__offset {
|
|
339
|
+
width: 80px;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.relative-default-part__unit {
|
|
343
|
+
width: 100px;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.relative-default-part__align {
|
|
347
|
+
width: 158px;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/* 压过 body .el-input{width:148px !important},让框体和内层同宽,箭头才能露出来 */
|
|
351
|
+
.relative-default-part__control ::v-deep .el-select,
|
|
352
|
+
.relative-default-part__control ::v-deep .el-input,
|
|
353
|
+
.relative-default-part__control ::v-deep .el-input__inner {
|
|
354
|
+
width: 100% !important;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.relative-default-part__preview {
|
|
358
|
+
margin-top: 2px;
|
|
359
|
+
color: #909399;
|
|
360
|
+
line-height: 18px;
|
|
361
|
+
word-break: break-all;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.relative-default-tip {
|
|
365
|
+
margin-top: 12px;
|
|
366
|
+
color: #909399;
|
|
367
|
+
line-height: 18px;
|
|
368
|
+
}
|
|
369
|
+
</style>
|
|
@@ -903,6 +903,16 @@ export const defaultLabelIconConfig = {
|
|
|
903
903
|
labelTooltip: null,
|
|
904
904
|
};
|
|
905
905
|
|
|
906
|
+
/**
|
|
907
|
+
* 「固定查询条件」开关。只在数据表格查询区生效(属性编辑器也只在查询区显示):
|
|
908
|
+
* 打开后该字段的值不再被刷新按钮、「查询条件设置」的还原/确定清空,
|
|
909
|
+
* 且在设置弹框里只读(不能拖顺序、不能切常用、不能改默认值)。
|
|
910
|
+
* 值本身仍由脚本/树点选等业务通道注入,本开关只管「不被清掉」。
|
|
911
|
+
*/
|
|
912
|
+
export const defaultFixedQueryConfig = {
|
|
913
|
+
fixedQuery: !1,
|
|
914
|
+
};
|
|
915
|
+
|
|
906
916
|
const vabsearchConfig = {
|
|
907
917
|
name: "",
|
|
908
918
|
keyNameEnabled: !1,
|
|
@@ -919,6 +929,7 @@ const vabsearchConfig = {
|
|
|
919
929
|
labelWidth: null,
|
|
920
930
|
labelHidden: !1,
|
|
921
931
|
...defaultLabelIconConfig,
|
|
932
|
+
...defaultFixedQueryConfig,
|
|
922
933
|
readonly: true,
|
|
923
934
|
/*formCode: null,
|
|
924
935
|
formName: null,
|
|
@@ -969,6 +980,7 @@ const autocompleteConfig = {
|
|
|
969
980
|
labelWidth: null,
|
|
970
981
|
labelHidden: !1,
|
|
971
982
|
...defaultLabelIconConfig,
|
|
983
|
+
...defaultFixedQueryConfig,
|
|
972
984
|
readonly: false,
|
|
973
985
|
size: "",
|
|
974
986
|
widgetWidth: null,
|
|
@@ -1023,6 +1035,7 @@ const projectTagConfig = {
|
|
|
1023
1035
|
labelWidth: null,
|
|
1024
1036
|
labelHidden: !1,
|
|
1025
1037
|
...defaultLabelIconConfig,
|
|
1038
|
+
...defaultFixedQueryConfig,
|
|
1026
1039
|
onCreated: "if(dataId)this.loadDataDefaultHandle();",
|
|
1027
1040
|
onMounted: "",
|
|
1028
1041
|
onClick: "",
|
|
@@ -1096,6 +1109,7 @@ export const basicFields = [
|
|
|
1096
1109
|
readonly: !1,
|
|
1097
1110
|
disabled: !1,
|
|
1098
1111
|
hidden: !1,
|
|
1112
|
+
...defaultFixedQueryConfig,
|
|
1099
1113
|
clearable: !0,
|
|
1100
1114
|
showPassword: !1,
|
|
1101
1115
|
required: !1,
|
|
@@ -1159,6 +1173,7 @@ export const basicFields = [
|
|
|
1159
1173
|
readonly: !1,
|
|
1160
1174
|
disabled: !1,
|
|
1161
1175
|
hidden: !1,
|
|
1176
|
+
...defaultFixedQueryConfig,
|
|
1162
1177
|
clearable: !0,
|
|
1163
1178
|
showPassword: !1,
|
|
1164
1179
|
required: !1,
|
|
@@ -1210,6 +1225,7 @@ export const basicFields = [
|
|
|
1210
1225
|
readonly: !1,
|
|
1211
1226
|
disabled: !1,
|
|
1212
1227
|
hidden: !1,
|
|
1228
|
+
...defaultFixedQueryConfig,
|
|
1213
1229
|
required: !1,
|
|
1214
1230
|
requiredHint: "",
|
|
1215
1231
|
validation: "",
|
|
@@ -1316,6 +1332,7 @@ export const basicFields = [
|
|
|
1316
1332
|
labelHidden: !1,
|
|
1317
1333
|
disabled: !1,
|
|
1318
1334
|
hidden: !1,
|
|
1335
|
+
...defaultFixedQueryConfig,
|
|
1319
1336
|
required: !1,
|
|
1320
1337
|
requiredHint: "",
|
|
1321
1338
|
validation: "",
|
|
@@ -1374,6 +1391,7 @@ export const basicFields = [
|
|
|
1374
1391
|
labelHidden: !1,
|
|
1375
1392
|
disabled: !1,
|
|
1376
1393
|
hidden: !1,
|
|
1394
|
+
...defaultFixedQueryConfig,
|
|
1377
1395
|
dsEnabled: !1,
|
|
1378
1396
|
dsName: "",
|
|
1379
1397
|
labelKey: "label",
|
|
@@ -1446,6 +1464,7 @@ export const basicFields = [
|
|
|
1446
1464
|
labelHidden: !1,
|
|
1447
1465
|
disabled: !1,
|
|
1448
1466
|
hidden: !1,
|
|
1467
|
+
...defaultFixedQueryConfig,
|
|
1449
1468
|
dsEnabled: !1,
|
|
1450
1469
|
dsName: "",
|
|
1451
1470
|
labelKey: "label",
|
|
@@ -1518,6 +1537,7 @@ export const basicFields = [
|
|
|
1518
1537
|
labelHidden: !1,
|
|
1519
1538
|
disabled: !1,
|
|
1520
1539
|
hidden: !1,
|
|
1540
|
+
...defaultFixedQueryConfig,
|
|
1521
1541
|
clearable: !0,
|
|
1522
1542
|
filterable: !1,
|
|
1523
1543
|
allowCreate: !1,
|
|
@@ -1607,6 +1627,7 @@ export const basicFields = [
|
|
|
1607
1627
|
readonly: !1,
|
|
1608
1628
|
disabled: !1,
|
|
1609
1629
|
hidden: !1,
|
|
1630
|
+
...defaultFixedQueryConfig,
|
|
1610
1631
|
clearable: !0,
|
|
1611
1632
|
required: !1,
|
|
1612
1633
|
requiredHint: "",
|
|
@@ -1652,7 +1673,8 @@ export const basicFields = [
|
|
|
1652
1673
|
formField: "",
|
|
1653
1674
|
labelAlign: "",
|
|
1654
1675
|
defaultValue: null,
|
|
1655
|
-
defaultValueType: "", //默认值类型:空为固定时间,now
|
|
1676
|
+
defaultValueType: "", //默认值类型:空为固定时间,now为当前时间,relative为相对当前
|
|
1677
|
+
defaultValueRelative: null, //相对默认值:{offset,unit,align},defaultValueType=relative时生效
|
|
1656
1678
|
placeholder: "",
|
|
1657
1679
|
columnWidth: "200px",
|
|
1658
1680
|
size: "",
|
|
@@ -1661,6 +1683,7 @@ export const basicFields = [
|
|
|
1661
1683
|
readonly: !1,
|
|
1662
1684
|
disabled: !1,
|
|
1663
1685
|
hidden: !1,
|
|
1686
|
+
...defaultFixedQueryConfig,
|
|
1664
1687
|
clearable: !0,
|
|
1665
1688
|
editable: !0,
|
|
1666
1689
|
format: "HH:mm:ss",
|
|
@@ -1709,6 +1732,8 @@ export const basicFields = [
|
|
|
1709
1732
|
formField: "",
|
|
1710
1733
|
labelAlign: "",
|
|
1711
1734
|
defaultValue: null,
|
|
1735
|
+
defaultValueType: "", //默认值类型:空为固定区间,relative为相对当前
|
|
1736
|
+
defaultValueRelative: null, //相对默认值:{start:{offset,unit,align},end:{...}}
|
|
1712
1737
|
startPlaceholder: "",
|
|
1713
1738
|
endPlaceholder: "",
|
|
1714
1739
|
columnWidth: "200px",
|
|
@@ -1718,6 +1743,7 @@ export const basicFields = [
|
|
|
1718
1743
|
readonly: !1,
|
|
1719
1744
|
disabled: !1,
|
|
1720
1745
|
hidden: !1,
|
|
1746
|
+
...defaultFixedQueryConfig,
|
|
1721
1747
|
clearable: !0,
|
|
1722
1748
|
editable: !0,
|
|
1723
1749
|
format: "HH:mm:ss",
|
|
@@ -1763,7 +1789,8 @@ export const basicFields = [
|
|
|
1763
1789
|
labelAlign: "",
|
|
1764
1790
|
type: "date",
|
|
1765
1791
|
defaultValue: null,
|
|
1766
|
-
defaultValueType: "", //默认值类型:空为固定日期,now
|
|
1792
|
+
defaultValueType: "", //默认值类型:空为固定日期,now为当前时间,relative为相对当前
|
|
1793
|
+
defaultValueRelative: null, //相对默认值:{offset,unit,align},defaultValueType=relative时生效
|
|
1767
1794
|
placeholder: "",
|
|
1768
1795
|
columnWidth: "200px",
|
|
1769
1796
|
size: "",
|
|
@@ -1772,6 +1799,7 @@ export const basicFields = [
|
|
|
1772
1799
|
readonly: !1,
|
|
1773
1800
|
disabled: !1,
|
|
1774
1801
|
hidden: !1,
|
|
1802
|
+
...defaultFixedQueryConfig,
|
|
1775
1803
|
clearable: !0,
|
|
1776
1804
|
editable: !0,
|
|
1777
1805
|
format: "yyyy-MM-dd",
|
|
@@ -1825,6 +1853,8 @@ export const basicFields = [
|
|
|
1825
1853
|
labelAlign: "",
|
|
1826
1854
|
type: "daterange",
|
|
1827
1855
|
defaultValue: null,
|
|
1856
|
+
defaultValueType: "", //默认值类型:空为固定区间,relative为相对当前
|
|
1857
|
+
defaultValueRelative: null, //相对默认值:{start:{offset,unit,align},end:{...}}
|
|
1828
1858
|
startPlaceholder: "",
|
|
1829
1859
|
endPlaceholder: "",
|
|
1830
1860
|
columnWidth: "200px",
|
|
@@ -1834,6 +1864,7 @@ export const basicFields = [
|
|
|
1834
1864
|
readonly: !1,
|
|
1835
1865
|
disabled: !1,
|
|
1836
1866
|
hidden: !1,
|
|
1867
|
+
...defaultFixedQueryConfig,
|
|
1837
1868
|
clearable: !0,
|
|
1838
1869
|
editable: !0,
|
|
1839
1870
|
format: "yyyy-MM-dd",
|
|
@@ -3835,6 +3866,7 @@ export const advancedFields = [
|
|
|
3835
3866
|
columnWidth: "200px",
|
|
3836
3867
|
disabled: false,
|
|
3837
3868
|
hidden: false,
|
|
3869
|
+
...defaultFixedQueryConfig,
|
|
3838
3870
|
clearable: true,
|
|
3839
3871
|
filterable: false,
|
|
3840
3872
|
multiple: false,
|