centaline-data-driven-v3 0.1.47 → 0.1.49
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/centaline-data-driven-v3.umd.js +84 -84
- package/package.json +1 -1
- package/src/assets/commonWeb.css +13 -0
- package/src/components/web/CheckBox.vue +1 -0
- package/src/components/web/CheckBoxList.vue +6 -3
- package/src/components/web/ComboBox.vue +1 -1
- package/src/components/web/ContainerControl.vue +1 -0
- package/src/components/web/Cron.vue +1 -0
- package/src/components/web/DatePicker.vue +1 -0
- package/src/components/web/File.vue +1 -0
- package/src/components/web/Form.vue +13 -10
- package/src/components/web/GroupList.vue +1 -0
- package/src/components/web/GroupSplitLine.vue +1 -0
- package/src/components/web/HyperLink.vue +1 -0
- package/src/components/web/HyperLinkList.vue +1 -0
- package/src/components/web/Image.vue +1 -0
- package/src/components/web/JsonViewer.vue +1 -0
- package/src/components/web/Label.vue +1 -0
- package/src/components/web/MultiComboBoxWithTextBox.vue +1 -0
- package/src/components/web/NumberWithPlusAndMinus.vue +1 -0
- package/src/components/web/NumericRange.vue +1 -0
- package/src/components/web/RadioButton.vue +1 -0
- package/src/components/web/SearchList/SearchTable.vue +8 -2
- package/src/components/web/SearchList.vue +3 -0
- package/src/components/web/Tags.vue +1 -0
- package/src/components/web/TextBox.vue +1 -0
- package/src/components/web/Tree/Tree.vue +172 -88
- package/src/loader/src/CheckBoxList.js +113 -0
- package/src/loader/src/DatePicker.js +9 -8
- package/src/loader/src/Field.js +17 -5
- package/src/loader/src/Form.js +11 -3
- package/src/loader/src/SearchTable.js +11 -1
- package/src/main.js +2 -2
- package/src/utils/mixins.js +13 -0
- package/src/utils/request.js +2 -5
- package/src/views/Form.vue +4 -3
- package/src/views/SearchList.vue +5 -7
package/package.json
CHANGED
package/src/assets/commonWeb.css
CHANGED
|
@@ -1099,4 +1099,17 @@ body {
|
|
|
1099
1099
|
align-items: center !important;
|
|
1100
1100
|
}
|
|
1101
1101
|
|
|
1102
|
+
.el-message {
|
|
1103
|
+
/* 核心属性:设置最大宽度(可根据需求调整,如 500px、80% 等) */
|
|
1104
|
+
max-width: 50%;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
.el-message .el-message__content{
|
|
1108
|
+
/* 可选优化:保证超长文本自动换行,不溢出 */
|
|
1109
|
+
max-width: 95%;
|
|
1110
|
+
word-wrap: break-word;
|
|
1111
|
+
white-space: pre-wrap;
|
|
1112
|
+
/* 可选优化:让消息提示居中显示(搭配 max-width 更美观) */
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1102
1115
|
/*elementPlus样式重置结束*/
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
style="white-space: normal;">
|
|
11
11
|
<span v-html="item.name" style="line-height: 16px;"></span>
|
|
12
12
|
<el-icon :size="18" v-if="item.toolTip" style="margin-left: 5px;">
|
|
13
|
-
<el-tooltip
|
|
13
|
+
<el-tooltip raw-content :content="item.toolTip" placement="top" effect="light">
|
|
14
14
|
<InfoFilled />
|
|
15
15
|
</el-tooltip>
|
|
16
16
|
</el-icon>
|
|
17
17
|
</el-checkbox>
|
|
18
|
-
<el-icon @click="clearClickHandle" class="el-range__close-icon" style="margin-left: 10px;"
|
|
18
|
+
<el-icon @click="clearClickHandle" class="el-range__close-icon" style="margin-left: 10px;"
|
|
19
|
+
v-if="!common.flagHK()">
|
|
19
20
|
<CircleClose />
|
|
20
21
|
</el-icon>
|
|
21
22
|
</el-checkbox-group>
|
|
@@ -30,11 +31,13 @@ import common from '../../utils/common'
|
|
|
30
31
|
const emit = defineEmits(['click', 'change', 'search'])
|
|
31
32
|
const props = defineProps({
|
|
32
33
|
parameterAction: String,
|
|
34
|
+
fileData: Object,
|
|
33
35
|
vmodel: Object,
|
|
34
36
|
source: Object,
|
|
35
37
|
})
|
|
36
38
|
const model = initData(props, CheckBoxList)
|
|
37
|
-
|
|
39
|
+
|
|
40
|
+
function change() {
|
|
38
41
|
model.value.setcode()
|
|
39
42
|
changeHandler(model.value, emit);
|
|
40
43
|
if (model.value.autoSearch) emit('search');
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
<template #tag>
|
|
22
22
|
<template v-for="(v, i) in model.labelValue" :key="i">
|
|
23
23
|
<el-tag class="ml-2" type="info" disable-transitions :closable="!v.locked && !model.locked"
|
|
24
|
-
:style="{ marginRight: i + 1 == model.labelValue.length ? '20px' : '' }"
|
|
25
24
|
@close="closeTag(v.code)">
|
|
26
25
|
{{ v.name }}</el-tag>
|
|
27
26
|
</template>
|
|
@@ -54,6 +53,7 @@ import ComboBox from '../../loader/src/ComboBox';
|
|
|
54
53
|
const emit = defineEmits(['click', 'input', 'change', 'popupSearchList', 'search'])
|
|
55
54
|
const props = defineProps({
|
|
56
55
|
parameterAction: String,
|
|
56
|
+
fileData: Object,
|
|
57
57
|
vmodel: Object,
|
|
58
58
|
source: Object,
|
|
59
59
|
})
|
|
@@ -48,6 +48,7 @@ import ContainerControl from '../../loader/src/ContainerControl';
|
|
|
48
48
|
const emit = defineEmits(['click', 'change', 'fieldClick', 'popupSearchList'])
|
|
49
49
|
const props = defineProps({
|
|
50
50
|
parameterAction: String,
|
|
51
|
+
fileData: Object,
|
|
51
52
|
vmodel: Object,
|
|
52
53
|
source: Object,
|
|
53
54
|
})
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
:style="{ width: pageWidth ? pageWidth + 'px' : '100%', margin: 'auto', 'min-height': minHeight }">
|
|
4
4
|
<div style="display: flex; width: 100%;">
|
|
5
5
|
<div style="flex: 1; min-width: 0;">
|
|
6
|
-
<div v-if="model !== null && !loading" class="ct-form"
|
|
6
|
+
<div v-if="model !== null && !loading" class="ct-form" :class="{ 'domDisabled': model.pageDisabled }"
|
|
7
7
|
:style="{ margin: openType != 'tree' ? '10px' : '0px' }">
|
|
8
8
|
<el-affix target=".ct-form" v-if="model.tip" :offset="tipTopHight">
|
|
9
9
|
<div class="ct-form-tip" ref="refTip">
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
<div style="height: 34px;"> </div>
|
|
95
95
|
</template>
|
|
96
96
|
<!--分组-->
|
|
97
|
-
<el-collapse v-else v-model="model.collapseActiveNames"
|
|
97
|
+
<el-collapse v-else-if="model.collapse.length>0" v-model="model.collapseActiveNames"
|
|
98
98
|
:class="model.flagHideSaveLine ? 'el-collapse-saveLine' : ''">
|
|
99
99
|
<template v-for="(item, index) in model.collapse" :key="index">
|
|
100
100
|
<el-collapse-item v-if="item.show !== false" :title="item.controlLabel" :name="index"
|
|
@@ -443,6 +443,9 @@ function changeHandler(field) {
|
|
|
443
443
|
//组件点击操作
|
|
444
444
|
function fieldClickHandler(field) {
|
|
445
445
|
let data = Form.getRouterAndSubmitData(field, model.value);
|
|
446
|
+
if (field.isOpenFileDialog) {
|
|
447
|
+
data.router.fileList = field.fileList || [];
|
|
448
|
+
}
|
|
446
449
|
clickHandler(data.router, data.submitData);
|
|
447
450
|
}
|
|
448
451
|
function clickHandler(field, submitData, formList) {
|
|
@@ -719,21 +722,21 @@ function updateFields(data) {
|
|
|
719
722
|
Form.updateFields(data, model.value)
|
|
720
723
|
}
|
|
721
724
|
function setCss() {
|
|
722
|
-
if (props.
|
|
723
|
-
minHeight.value = (document.documentElement.clientHeight - props.topHeight - 20) + 'px';
|
|
724
|
-
}
|
|
725
|
-
else if (props.dialogHeight) {
|
|
726
|
-
minHeight.value = (props.dialogHeight) + 'px';
|
|
727
|
-
}
|
|
728
|
-
else if (props.openType == 'tree') {
|
|
725
|
+
if (props.openType == 'tree') {
|
|
729
726
|
if (refForm.value) {
|
|
730
727
|
let parentDom = refForm.value.parentElement;
|
|
731
728
|
minHeight.value = parentDom.clientHeight + 'px';
|
|
732
729
|
refForm.value.style.height = minHeight.value
|
|
733
730
|
refForm.value.style.overflowY = 'auto'
|
|
734
|
-
refForm.value.style.paddingBottom = '
|
|
731
|
+
refForm.value.style.paddingBottom = '35px'
|
|
735
732
|
}
|
|
736
733
|
}
|
|
734
|
+
else if (props.topHeight > -1) {
|
|
735
|
+
minHeight.value = (document.documentElement.clientHeight - props.topHeight - 20) + 'px';
|
|
736
|
+
}
|
|
737
|
+
else if (props.dialogHeight) {
|
|
738
|
+
minHeight.value = (props.dialogHeight) + 'px';
|
|
739
|
+
}
|
|
737
740
|
else if (props.openType == 'detail') {
|
|
738
741
|
if (refForm.value) {
|
|
739
742
|
let parentDom = refForm.value.parentElement;
|
|
@@ -32,6 +32,7 @@ import MultiComboBoxWithTextBox from '../../loader/src/MultiComboBoxWithTextBox'
|
|
|
32
32
|
const emit = defineEmits(['click', 'input', 'change', 'popupSearchList'])
|
|
33
33
|
const props = defineProps({
|
|
34
34
|
parameterAction: String,
|
|
35
|
+
fileData: Object,
|
|
35
36
|
vmodel: Object,
|
|
36
37
|
source: Object,
|
|
37
38
|
})
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<div v-loading="operationLoading"></div>
|
|
16
16
|
|
|
17
17
|
<div class="ct-tableParent" ref="refTableParent" v-bind="model.attrs" v-if="!isLoading && model"
|
|
18
|
-
:style="{ height:model.tableHeight + 'px', 'border-bottom': model.isLayout ? 'none' : '', 'border-top': model.isLayout ? 'none' : '', }"
|
|
18
|
+
:style="{ height: model.tableHeight + 'px', 'border-bottom': model.isLayout ? 'none' : '', 'border-top': model.isLayout ? 'none' : '', }"
|
|
19
19
|
@scroll="scrollHandle($event)" @keydown.up="rowKeyDownHandle($event, 0)"
|
|
20
20
|
@keydown.down="rowKeyDownHandle($event, 1)" tabindex="-1">
|
|
21
21
|
<div class="ct-table-content" v-if="!model.isLayout">
|
|
@@ -404,7 +404,7 @@ function searchComplate(m, defaultSearch) {
|
|
|
404
404
|
//初始化数据
|
|
405
405
|
function load(data) {
|
|
406
406
|
model.value = data;
|
|
407
|
-
model.value.$vue = { searchStrat, searchEnd, downloadUrl, loadStats, setTableHeight, updateCurrentRow, doAction, itemKey, refreshTableColumns, calculatingRowHeight, emit, operationLoading, getPage, toolbarClickHandler };
|
|
407
|
+
model.value.$vue = { searchStrat, searchEnd, downloadUrl, loadStats, setTableHeight, updateCurrentRow, doAction, itemKey, refreshTableColumns, calculatingRowHeight, emit, operationLoading, getPage, toolbarClickHandler,closeTabThen };
|
|
408
408
|
model.value.isIframe = props.isIframe
|
|
409
409
|
model.value.isPageInSideBar = false
|
|
410
410
|
model.value.columnName = null
|
|
@@ -1642,6 +1642,12 @@ function getValueCaseInsensitive(obj, key) {
|
|
|
1642
1642
|
const foundKey = Object.keys(obj).find(k => k.toLowerCase() === searchKey);
|
|
1643
1643
|
return foundKey ? obj[foundKey] : undefined;
|
|
1644
1644
|
}
|
|
1645
|
+
function closeTabThen(ev) {
|
|
1646
|
+
if (SearchTable.checkCloseTabThen(ev.notification)) {
|
|
1647
|
+
doAction(ev);
|
|
1648
|
+
}
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1645
1651
|
|
|
1646
1652
|
defineExpose({
|
|
1647
1653
|
model,
|
|
@@ -399,6 +399,9 @@ function rowClickHandle() {
|
|
|
399
399
|
}
|
|
400
400
|
if (refTable.value.model.columnGroupId) {
|
|
401
401
|
sideBarApiParam.value.columnGroupId = refTable.value.model.columnGroupId;
|
|
402
|
+
}
|
|
403
|
+
if (refTable.value.model.rowSelectRouter.flagAttachSearchCondition) {
|
|
404
|
+
sideBarApiParam.value["searchFields"] = refTable.value.model.getSearchData();
|
|
402
405
|
}
|
|
403
406
|
sideBarApiParam.value.actionType = refTable.value.model.rowSelectRouter.actionType;
|
|
404
407
|
detailKey.value = detailKey.value + 1;
|