cloud-web-corejs 1.0.54-dev.194 → 1.0.54-dev.195
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/wf/content.vue +2 -0
- package/src/components/wf/setCandidateDialog.vue +1 -0
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +7 -39
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +176 -0
- package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
- package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +5 -2
- package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
- package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +2 -173
- package/src/components/xform/form-designer/indexMixin.js +5 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +0 -8
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +0 -8
- package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
- package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +13 -11
- package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +5 -3
- package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +11 -11
- package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +18 -17
- package/src/components/xform/form-designer/toolbar-panel/index.vue +8 -4
- package/src/components/xform/form-designer/widget-panel/index.vue +19 -15
- package/src/components/xform/form-designer/widget-panel/indexMixin.js +3 -0
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +150 -181
- package/src/components/xform/form-render/container-item/data-table-mixin.js +6 -10
- package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
- package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
- package/src/components/xform/form-render/indexMixin.js +9 -5
- package/src/components/xform/lang/zh-CN.js +4 -3
- package/src/components/xform/mixins/defaultHandle.js +120 -1
package/package.json
CHANGED
@@ -437,6 +437,7 @@
|
|
437
437
|
custom-class="dialog-style wf-dialog"
|
438
438
|
v-el-drag-dialog
|
439
439
|
v-el-dialog-center
|
440
|
+
:append-to-body="true"
|
440
441
|
>
|
441
442
|
<template #title>
|
442
443
|
<span class="el-dialog__title">{{ $t2('流程转办', 'components.wf.wfTransfer') }}<span
|
@@ -592,6 +593,7 @@
|
|
592
593
|
custom-class="dialog-style wf-dialog"
|
593
594
|
v-el-drag-dialog
|
594
595
|
v-el-dialog-center
|
596
|
+
:append-to-body="true"
|
595
597
|
>
|
596
598
|
<template #title>
|
597
599
|
<span class="el-dialog__title">{{ $t2('流程加签', 'components.wf.wfAddIncreaseSign') }}<span
|
@@ -79,7 +79,7 @@ modules = {
|
|
79
79
|
this.initValueWatchEvent();
|
80
80
|
if (this.field.options.searchDialogConfig) {
|
81
81
|
if (this.field.options.searchDialogConfig.multipleChoices === void 0) {
|
82
|
-
if (this.
|
82
|
+
if (this.hasVabsearchFlag()) {
|
83
83
|
this.$set(
|
84
84
|
this.field.options.searchDialogConfig,
|
85
85
|
"multipleChoices",
|
@@ -243,8 +243,7 @@ modules = {
|
|
243
243
|
} else {
|
244
244
|
if (!dataId) {
|
245
245
|
//新增
|
246
|
-
|
247
|
-
if (this.field.type == "vabsearch" && !this.field.options.multipleChoices) {
|
246
|
+
if (!this.designState && this.hasVabsearchFlag() && !this.field.options.multipleChoices) {
|
248
247
|
let searchDialogConfig = this.field.options.searchDialogConfig || {};
|
249
248
|
if (this.field.options.userDefaultVabSearch) {
|
250
249
|
let userInfo = this.getFormRef().getUserInfo();
|
@@ -920,7 +919,7 @@ modules = {
|
|
920
919
|
let formModel = this.formModel;
|
921
920
|
|
922
921
|
let rows = [];
|
923
|
-
if (this.
|
922
|
+
if (this.hasVabsearchFlag()) {
|
924
923
|
if (this.field.options.multipleChoices) {
|
925
924
|
let fieldKeyName = this.fieldKeyName;
|
926
925
|
let valueField = this.field.options.valueField || fieldKeyName;
|
@@ -947,40 +946,6 @@ modules = {
|
|
947
946
|
multiple: searchDialogConfig.multipleChoices || false,
|
948
947
|
confirm: (rows) => {
|
949
948
|
this.handleConfirmSearchDialog(rows, false, flag);
|
950
|
-
/*if(rows.length){
|
951
|
-
let row = rows[0];
|
952
|
-
if(this.field.type == "vabsearch"){
|
953
|
-
let fieldKeyName = this.fieldKeyName;
|
954
|
-
let vabSearchName = this.field.options.vabSearchName || fieldKeyName;
|
955
|
-
if(tableParam){
|
956
|
-
let rowData = tableParam.row;
|
957
|
-
rowData[fieldKeyName] = row[searchDialogConfig.valueSourceField]
|
958
|
-
if(searchDialogConfig.labelSourceField)rowData[vabSearchName] = row[searchDialogConfig.labelSourceField]
|
959
|
-
tableData.forEach(item=>{
|
960
|
-
rowData[item.targetField] = row[item.sourceField]
|
961
|
-
})
|
962
|
-
}else{
|
963
|
-
this.fieldModel = row[searchDialogConfig.valueSourceField];
|
964
|
-
if(searchDialogConfig.labelSourceField)this.showValue = row[searchDialogConfig.labelSourceField];
|
965
|
-
tableData.forEach(item=>{
|
966
|
-
// formModel[item.targetField] = row[item.sourceField]
|
967
|
-
this.getWidgetRef(item.targetField).setValue(row[item.sourceField]??null)
|
968
|
-
})
|
969
|
-
}
|
970
|
-
}else{
|
971
|
-
if(searchDialogConfig.tableEnabled){
|
972
|
-
if(!searchDialogConfig.tableRef || !tableData.length)return
|
973
|
-
let addRows = rows.map(rowData=>{
|
974
|
-
let itemData = {};
|
975
|
-
tableData.forEach(item=>{
|
976
|
-
itemData[item.targetField] = rowData[item.sourceField]
|
977
|
-
})
|
978
|
-
return itemData;
|
979
|
-
});
|
980
|
-
this.getWidgetRef(searchDialogConfig.tableRef).addTableData(addRows,searchDialogConfig.tableUniqueKey);
|
981
|
-
}
|
982
|
-
}
|
983
|
-
}*/
|
984
949
|
},
|
985
950
|
});
|
986
951
|
},
|
@@ -994,6 +959,9 @@ modules = {
|
|
994
959
|
let multipleChoices = this.field.options.multipleChoices;
|
995
960
|
return multipleChoices;
|
996
961
|
},
|
962
|
+
hasVabsearchFlag() {
|
963
|
+
return this.field.type == "vabsearch" || this.field.type == "singerSearch" || this.field.type == "multiSearch"
|
964
|
+
},
|
997
965
|
handleConfirmSearchDialog(rows, isClear, flag) {
|
998
966
|
if (!isClear && !rows.length) return;
|
999
967
|
let optionModel = !flag ? this.field.options : (this.field.options.widgetTextLinkConfig?.options || {});
|
@@ -1006,7 +974,7 @@ modules = {
|
|
1006
974
|
let row = rows && rows.length ? rows[0] : null;
|
1007
975
|
let multipleChoices =
|
1008
976
|
optionModel.searchDialogConfig.multipleChoices || false;
|
1009
|
-
if (this.
|
977
|
+
if (this.hasVabsearchFlag()) {
|
1010
978
|
let fieldKeyName = this.fieldKeyName;
|
1011
979
|
let valueField = this.field.options.valueField || fieldKeyName;
|
1012
980
|
let vabSearchName = this.field.options.vabSearchName || fieldKeyName;
|
@@ -0,0 +1,176 @@
|
|
1
|
+
import FormItemWrapper from '@base/components/xform/form-designer/form-widget/field-widget/form-item-wrapper'
|
2
|
+
import emitter from '@base/components/xform/utils/emitter'
|
3
|
+
import i18n from "@base/components/xform/utils/i18n";
|
4
|
+
import {deepClone} from "@base/components/xform/utils/util";
|
5
|
+
import fieldMixin from "@base/components/xform/form-designer/form-widget/field-widget/fieldMixin";
|
6
|
+
|
7
|
+
export default {
|
8
|
+
mixins: [emitter, fieldMixin, i18n],
|
9
|
+
props: {
|
10
|
+
field: Object,
|
11
|
+
parentWidget: Object,
|
12
|
+
parentList: Array,
|
13
|
+
indexOfParentList: Number,
|
14
|
+
designer: Object,
|
15
|
+
|
16
|
+
designState: {
|
17
|
+
type: Boolean,
|
18
|
+
default: false
|
19
|
+
},
|
20
|
+
columnConfig: {
|
21
|
+
type: Object,
|
22
|
+
default: null
|
23
|
+
},
|
24
|
+
subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
|
25
|
+
type: Number,
|
26
|
+
default: -1
|
27
|
+
},
|
28
|
+
subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
|
29
|
+
type: Number,
|
30
|
+
default: -1
|
31
|
+
},
|
32
|
+
subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
|
33
|
+
type: String,
|
34
|
+
default: ''
|
35
|
+
}
|
36
|
+
},
|
37
|
+
components: {
|
38
|
+
FormItemWrapper
|
39
|
+
},
|
40
|
+
data() {
|
41
|
+
let multipleChoices = this.field.options.multipleChoices || false;
|
42
|
+
let defaultValue = !multipleChoices ? null : [];
|
43
|
+
return {
|
44
|
+
oldFieldValue: defaultValue, //field组件change之前的值
|
45
|
+
fieldModel: defaultValue,
|
46
|
+
showValue2: null,
|
47
|
+
rules: [],
|
48
|
+
showSearchialog: false,
|
49
|
+
dialogContent: null,
|
50
|
+
showSysSearchialog: false,
|
51
|
+
systemDialogParam: {},
|
52
|
+
showVformDialog: false,
|
53
|
+
code: null,
|
54
|
+
formDialogOption: {}
|
55
|
+
}
|
56
|
+
},
|
57
|
+
watch: {
|
58
|
+
fieldModel(val) {
|
59
|
+
this.handleChangeEvent(val);
|
60
|
+
},
|
61
|
+
showValue(val) {
|
62
|
+
this.setShowValue(val);
|
63
|
+
}
|
64
|
+
},
|
65
|
+
computed: {
|
66
|
+
showValue() {
|
67
|
+
let currentData = this.currentData;
|
68
|
+
let fieldKeyName = this.fieldKeyName;
|
69
|
+
let vabSearchName = this.field.options.vabSearchName;
|
70
|
+
let multipleChoices = this.field.options.multipleChoices || false;
|
71
|
+
let labelField = this.field.options.vabSearchName || fieldKeyName;
|
72
|
+
let value = null;
|
73
|
+
if (!multipleChoices) {
|
74
|
+
value = currentData[labelField] ?? null;
|
75
|
+
} else {
|
76
|
+
if (this.fieldModel) {
|
77
|
+
value = this.fieldModel.map(item => item[labelField]).join(",");
|
78
|
+
}
|
79
|
+
}
|
80
|
+
this.showValue2 = value;
|
81
|
+
return value
|
82
|
+
},
|
83
|
+
tableRow() {
|
84
|
+
let tableParam = this.tableParam;
|
85
|
+
return tableParam && tableParam.row ? tableParam.row : null;
|
86
|
+
},
|
87
|
+
currentData() {
|
88
|
+
let tableParam = this.tableParam;
|
89
|
+
return tableParam && tableParam.row ? tableParam.row : this.formModel;
|
90
|
+
}
|
91
|
+
},
|
92
|
+
beforeCreate() {
|
93
|
+
/* 这里不能访问方法和属性!! */
|
94
|
+
},
|
95
|
+
|
96
|
+
created() {
|
97
|
+
/* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
|
98
|
+
需要在父组件created中初始化!! */
|
99
|
+
if (this.field.options.readonly == undefined) {
|
100
|
+
this.$set(this.field.options, "readonly", true);
|
101
|
+
}
|
102
|
+
this.initFieldModel()
|
103
|
+
this.registerToRefList()
|
104
|
+
this.initEventHandler()
|
105
|
+
this.buildFieldRules()
|
106
|
+
|
107
|
+
this.handleOnCreated()
|
108
|
+
// this.initValue();
|
109
|
+
},
|
110
|
+
|
111
|
+
mounted() {
|
112
|
+
this.handleOnMounted()
|
113
|
+
|
114
|
+
},
|
115
|
+
|
116
|
+
beforeDestroy() {
|
117
|
+
this.unregisterFromRefList()
|
118
|
+
},
|
119
|
+
methods: {
|
120
|
+
setShowValue(val = null) {
|
121
|
+
let multipleChoices = this.field.options.multipleChoices || false;
|
122
|
+
if (!multipleChoices) {
|
123
|
+
let fieldKeyName = this.fieldKeyName;
|
124
|
+
let labelField = this.field.options.vabSearchName || fieldKeyName;
|
125
|
+
// this.$set(this.currentData, labelField, val)
|
126
|
+
|
127
|
+
this.currentData[labelField] = val
|
128
|
+
this.showValue2 = val;
|
129
|
+
}
|
130
|
+
},
|
131
|
+
setValue: function (e) {
|
132
|
+
if (this.field.formItemFlag) {
|
133
|
+
let data = this.tableRow || this.formModel;
|
134
|
+
var t = deepClone(this.fieldModel);
|
135
|
+
this.fieldModel = e,
|
136
|
+
this.initFileList(),
|
137
|
+
this.syncUpdateFormModel(e),
|
138
|
+
this.emitFieldDataChange(e, t);
|
139
|
+
}
|
140
|
+
},
|
141
|
+
clearHandle() {
|
142
|
+
let multipleChoices = this.field.options.multipleChoices || false;
|
143
|
+
let defaultValue = !multipleChoices ? null : [];
|
144
|
+
this.setShowValue(null)
|
145
|
+
this.setValue(defaultValue)
|
146
|
+
if (this.field.options.onSearchClear) {
|
147
|
+
let tableParam = this.tableParam;
|
148
|
+
let eventParamNames = [];
|
149
|
+
let eventParamValues = [];
|
150
|
+
if (tableParam) {
|
151
|
+
eventParamNames = ['rowData', 'rowIndex'];
|
152
|
+
eventParamValues = [tableParam.row, tableParam.rowIndex];
|
153
|
+
}
|
154
|
+
this.handleCustomEvent(this.field.options.onSearchClear, eventParamNames, eventParamValues)
|
155
|
+
|
156
|
+
/* var e = new Function(this.field.options.onSearchClear);
|
157
|
+
e.call(this);*/
|
158
|
+
}
|
159
|
+
this.handleClearSearchDialog();
|
160
|
+
},
|
161
|
+
changeShowValue2(val) {
|
162
|
+
if (this.field.options.readonly === false) {
|
163
|
+
let multipleChoices = this.field.options.multipleChoices || false;
|
164
|
+
if (!multipleChoices) {
|
165
|
+
let fieldKeyName = this.fieldKeyName;
|
166
|
+
let vabSearchName = this.field.options.vabSearchName;
|
167
|
+
let labelField = this.field.options.vabSearchName || fieldKeyName;
|
168
|
+
this.currentData[labelField] = val;
|
169
|
+
}
|
170
|
+
}
|
171
|
+
},
|
172
|
+
fieldModelLabel() {
|
173
|
+
return this.showValue;
|
174
|
+
},
|
175
|
+
}
|
176
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<template>
|
2
|
+
<form-item-wrapper :designer="designer" :field="field" :rules="rules" :design-state="designState"
|
3
|
+
:parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList"
|
4
|
+
:sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
|
5
|
+
:sub-form-row-id="subFormRowId">
|
6
|
+
<el-input
|
7
|
+
class="search-input"
|
8
|
+
max="200"
|
9
|
+
v-model="showValue2"
|
10
|
+
@clear="clearHandle"
|
11
|
+
v-el-readonly="field.options.readonly"
|
12
|
+
clearable
|
13
|
+
:disabled="field.options.disabled"
|
14
|
+
@change="changeShowValue2"
|
15
|
+
>
|
16
|
+
<i slot="suffix" class="el-input__icon el-icon-search" @click="emitAppendButtonClick"></i>
|
17
|
+
<span v-show="false">{{ showValue }}</span>
|
18
|
+
</el-input>
|
19
|
+
</form-item-wrapper>
|
20
|
+
</template>
|
21
|
+
|
22
|
+
<script>
|
23
|
+
import mixins from "@base/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin";
|
24
|
+
|
25
|
+
export default {
|
26
|
+
name: "multiSearch-widget",
|
27
|
+
componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
|
28
|
+
mixins: [mixins],
|
29
|
+
}
|
30
|
+
</script>
|
31
|
+
|
32
|
+
<style lang="scss" scoped>
|
33
|
+
@import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
|
34
|
+
|
35
|
+
.full-width-input {
|
36
|
+
width: 100% !important;
|
37
|
+
}
|
38
|
+
|
39
|
+
.hideUploadDiv {
|
40
|
+
::v-deep div.el-upload--picture-card { /* 隐藏最后的图片上传按钮 */
|
41
|
+
display: none;
|
42
|
+
}
|
43
|
+
|
44
|
+
::v-deep div.el-upload--text { /* 隐藏最后的文件上传按钮 */
|
45
|
+
display: none;
|
46
|
+
}
|
47
|
+
|
48
|
+
::v-deep div.el-upload__tip { /* 隐藏最后的文件上传按钮提示 */
|
49
|
+
display: none;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
</style>
|
@@ -152,10 +152,13 @@ export default {
|
|
152
152
|
[tagFormLabelField]: item[tagLabelField] ?? null,
|
153
153
|
}
|
154
154
|
})*/
|
155
|
-
let
|
155
|
+
let queryParam = null;
|
156
|
+
if (this.field.options.tagFormParam) {
|
157
|
+
queryParam = this.handleCustomEvent(this.field.options.tagFormParam)
|
158
|
+
}
|
156
159
|
this.getFormRef().openSearchDialog({
|
157
160
|
formCode,
|
158
|
-
|
161
|
+
queryParam,
|
159
162
|
// rows: checkRows,
|
160
163
|
multiple: true,
|
161
164
|
confirm: (rows) => {
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<template>
|
2
|
+
<form-item-wrapper :designer="designer" :field="field" :rules="rules" :design-state="designState"
|
3
|
+
:parent-widget="parentWidget" :parent-list="parentList" :index-of-parent-list="indexOfParentList"
|
4
|
+
:sub-form-row-index="subFormRowIndex" :sub-form-col-index="subFormColIndex"
|
5
|
+
:sub-form-row-id="subFormRowId">
|
6
|
+
<el-input
|
7
|
+
class="search-input"
|
8
|
+
max="200"
|
9
|
+
v-model="showValue2"
|
10
|
+
@clear="clearHandle"
|
11
|
+
v-el-readonly="field.options.readonly"
|
12
|
+
clearable
|
13
|
+
:disabled="field.options.disabled"
|
14
|
+
@change="changeShowValue2"
|
15
|
+
>
|
16
|
+
<i slot="suffix" class="el-input__icon el-icon-search" @click="emitAppendButtonClick"></i>
|
17
|
+
<span v-show="false">{{ showValue }}</span>
|
18
|
+
</el-input>
|
19
|
+
</form-item-wrapper>
|
20
|
+
</template>
|
21
|
+
|
22
|
+
<script>
|
23
|
+
import mixins from "@base/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin";
|
24
|
+
|
25
|
+
export default {
|
26
|
+
name: "singerSearch-widget",
|
27
|
+
componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
|
28
|
+
mixins: [mixins],
|
29
|
+
}
|
30
|
+
</script>
|
31
|
+
|
32
|
+
<style lang="scss" scoped>
|
33
|
+
@import "~@/styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
|
34
|
+
|
35
|
+
.full-width-input {
|
36
|
+
width: 100% !important;
|
37
|
+
}
|
38
|
+
|
39
|
+
.hideUploadDiv {
|
40
|
+
::v-deep div.el-upload--picture-card { /* 隐藏最后的图片上传按钮 */
|
41
|
+
display: none;
|
42
|
+
}
|
43
|
+
|
44
|
+
::v-deep div.el-upload--text { /* 隐藏最后的文件上传按钮 */
|
45
|
+
display: none;
|
46
|
+
}
|
47
|
+
|
48
|
+
::v-deep div.el-upload__tip { /* 隐藏最后的文件上传按钮提示 */
|
49
|
+
display: none;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
</style>
|
@@ -20,183 +20,12 @@
|
|
20
20
|
</template>
|
21
21
|
|
22
22
|
<script>
|
23
|
-
import
|
24
|
-
import emitter from '../../../../../components/xform/utils/emitter'
|
25
|
-
import i18n from "../../../../../components/xform/utils/i18n";
|
26
|
-
import {deepClone} from "../../../../../components/xform/utils/util";
|
27
|
-
import fieldMixin from "../../../../../components/xform/form-designer/form-widget/field-widget/fieldMixin";
|
23
|
+
import mixins from "@base/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin";
|
28
24
|
|
29
25
|
export default {
|
30
26
|
name: "vabsearch-widget",
|
31
27
|
componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
|
32
|
-
mixins: [
|
33
|
-
props: {
|
34
|
-
field: Object,
|
35
|
-
parentWidget: Object,
|
36
|
-
parentList: Array,
|
37
|
-
indexOfParentList: Number,
|
38
|
-
designer: Object,
|
39
|
-
|
40
|
-
designState: {
|
41
|
-
type: Boolean,
|
42
|
-
default: false
|
43
|
-
},
|
44
|
-
columnConfig: {
|
45
|
-
type: Object,
|
46
|
-
default: null
|
47
|
-
},
|
48
|
-
subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
|
49
|
-
type: Number,
|
50
|
-
default: -1
|
51
|
-
},
|
52
|
-
subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
|
53
|
-
type: Number,
|
54
|
-
default: -1
|
55
|
-
},
|
56
|
-
subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
|
57
|
-
type: String,
|
58
|
-
default: ''
|
59
|
-
}
|
60
|
-
},
|
61
|
-
components: {
|
62
|
-
FormItemWrapper
|
63
|
-
},
|
64
|
-
data() {
|
65
|
-
let multipleChoices = this.field.options.multipleChoices || false;
|
66
|
-
let defaultValue = !multipleChoices ? null : [];
|
67
|
-
return {
|
68
|
-
oldFieldValue: defaultValue, //field组件change之前的值
|
69
|
-
fieldModel: defaultValue,
|
70
|
-
showValue2: null,
|
71
|
-
rules: [],
|
72
|
-
showSearchialog: false,
|
73
|
-
dialogContent: null,
|
74
|
-
showSysSearchialog: false,
|
75
|
-
systemDialogParam: {},
|
76
|
-
showVformDialog: false,
|
77
|
-
code: null,
|
78
|
-
formDialogOption: {}
|
79
|
-
}
|
80
|
-
},
|
81
|
-
watch: {
|
82
|
-
fieldModel(val) {
|
83
|
-
this.handleChangeEvent(val);
|
84
|
-
},
|
85
|
-
showValue(val) {
|
86
|
-
this.setShowValue(val);
|
87
|
-
}
|
88
|
-
},
|
89
|
-
computed: {
|
90
|
-
showValue() {
|
91
|
-
let currentData = this.currentData;
|
92
|
-
let fieldKeyName = this.fieldKeyName;
|
93
|
-
let vabSearchName = this.field.options.vabSearchName;
|
94
|
-
let multipleChoices = this.field.options.multipleChoices || false;
|
95
|
-
let labelField = this.field.options.vabSearchName || fieldKeyName;
|
96
|
-
let value = null;
|
97
|
-
if (!multipleChoices) {
|
98
|
-
value = currentData[labelField] ?? null;
|
99
|
-
} else {
|
100
|
-
if (this.fieldModel) {
|
101
|
-
value = this.fieldModel.map(item => item[labelField]).join(",");
|
102
|
-
}
|
103
|
-
}
|
104
|
-
this.showValue2 = value;
|
105
|
-
return value
|
106
|
-
},
|
107
|
-
tableRow() {
|
108
|
-
let tableParam = this.tableParam;
|
109
|
-
return tableParam && tableParam.row ? tableParam.row : null;
|
110
|
-
},
|
111
|
-
currentData() {
|
112
|
-
let tableParam = this.tableParam;
|
113
|
-
return tableParam && tableParam.row ? tableParam.row : this.formModel;
|
114
|
-
}
|
115
|
-
},
|
116
|
-
beforeCreate() {
|
117
|
-
/* 这里不能访问方法和属性!! */
|
118
|
-
},
|
119
|
-
|
120
|
-
created() {
|
121
|
-
/* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
|
122
|
-
需要在父组件created中初始化!! */
|
123
|
-
if (this.field.options.readonly == undefined) {
|
124
|
-
this.$set(this.field.options, "readonly", true);
|
125
|
-
}
|
126
|
-
this.initFieldModel()
|
127
|
-
this.registerToRefList()
|
128
|
-
this.initEventHandler()
|
129
|
-
this.buildFieldRules()
|
130
|
-
|
131
|
-
this.handleOnCreated()
|
132
|
-
// this.initValue();
|
133
|
-
},
|
134
|
-
|
135
|
-
mounted() {
|
136
|
-
this.handleOnMounted()
|
137
|
-
|
138
|
-
},
|
139
|
-
|
140
|
-
beforeDestroy() {
|
141
|
-
this.unregisterFromRefList()
|
142
|
-
},
|
143
|
-
methods: {
|
144
|
-
setShowValue(val = null) {
|
145
|
-
let multipleChoices = this.field.options.multipleChoices || false;
|
146
|
-
if (!multipleChoices) {
|
147
|
-
let fieldKeyName = this.fieldKeyName;
|
148
|
-
let labelField = this.field.options.vabSearchName || fieldKeyName;
|
149
|
-
// this.$set(this.currentData, labelField, val)
|
150
|
-
|
151
|
-
this.currentData[labelField] = val
|
152
|
-
this.showValue2 = val;
|
153
|
-
}
|
154
|
-
},
|
155
|
-
setValue: function (e) {
|
156
|
-
if (this.field.formItemFlag) {
|
157
|
-
let data = this.tableRow || this.formModel;
|
158
|
-
var t = deepClone(this.fieldModel);
|
159
|
-
this.fieldModel = e,
|
160
|
-
this.initFileList(),
|
161
|
-
this.syncUpdateFormModel(e),
|
162
|
-
this.emitFieldDataChange(e, t);
|
163
|
-
}
|
164
|
-
},
|
165
|
-
clearHandle() {
|
166
|
-
let multipleChoices = this.field.options.multipleChoices || false;
|
167
|
-
let defaultValue = !multipleChoices ? null : [];
|
168
|
-
this.setShowValue(null)
|
169
|
-
this.setValue(defaultValue)
|
170
|
-
if (this.field.options.onSearchClear) {
|
171
|
-
let tableParam = this.tableParam;
|
172
|
-
let eventParamNames = [];
|
173
|
-
let eventParamValues = [];
|
174
|
-
if (tableParam) {
|
175
|
-
eventParamNames = ['rowData', 'rowIndex'];
|
176
|
-
eventParamValues = [tableParam.row, tableParam.rowIndex];
|
177
|
-
}
|
178
|
-
this.handleCustomEvent(this.field.options.onSearchClear, eventParamNames, eventParamValues)
|
179
|
-
|
180
|
-
/* var e = new Function(this.field.options.onSearchClear);
|
181
|
-
e.call(this);*/
|
182
|
-
}
|
183
|
-
this.handleClearSearchDialog();
|
184
|
-
},
|
185
|
-
changeShowValue2(val) {
|
186
|
-
if (this.field.options.readonly === false) {
|
187
|
-
let multipleChoices = this.field.options.multipleChoices || false;
|
188
|
-
if (!multipleChoices) {
|
189
|
-
let fieldKeyName = this.fieldKeyName;
|
190
|
-
let vabSearchName = this.field.options.vabSearchName;
|
191
|
-
let labelField = this.field.options.vabSearchName || fieldKeyName;
|
192
|
-
this.currentData[labelField] = val;
|
193
|
-
}
|
194
|
-
}
|
195
|
-
},
|
196
|
-
fieldModelLabel() {
|
197
|
-
return this.showValue;
|
198
|
-
},
|
199
|
-
}
|
28
|
+
mixins: [mixins],
|
200
29
|
}
|
201
30
|
</script>
|
202
31
|
|
@@ -610,7 +610,7 @@ modules = {
|
|
610
610
|
tableType: 2
|
611
611
|
};
|
612
612
|
formTemplateTableDTOs.push(formTemplateTable);
|
613
|
-
} else if (widget.tableField && widget
|
613
|
+
} else if (widget.tableField && this.isVabsearchFlagWidget(widget)) {
|
614
614
|
fields.push({
|
615
615
|
fieldDesc: widget.options.label + "ID",
|
616
616
|
fieldName: widgetName
|
@@ -661,6 +661,10 @@ modules = {
|
|
661
661
|
|
662
662
|
return formTemplateTableDTOs;
|
663
663
|
},
|
664
|
+
isVabsearchFlagWidget(widget) {
|
665
|
+
let type = widget?.type;
|
666
|
+
return type == "vabsearch" || type == "singerSearch" || type == "multiSearch";
|
667
|
+
},
|
664
668
|
getTableFileds() {
|
665
669
|
let fields = [];
|
666
670
|
let fJson = this.getFormJson();
|
@@ -879,14 +879,6 @@ export default {
|
|
879
879
|
let columnEditFields = null;
|
880
880
|
|
881
881
|
let type = this.columnFormatMap[row.formatS];
|
882
|
-
/*if (type == 'date') {
|
883
|
-
columnEditFields = ['type', 'format', 'valueFormat']
|
884
|
-
} else if (type == 'select') {
|
885
|
-
|
886
|
-
}
|
887
|
-
if (type == 'vabsearch') {
|
888
|
-
columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
|
889
|
-
}*/
|
890
882
|
|
891
883
|
if (type) {
|
892
884
|
columnSelectedWidget = this.$baseLodash.cloneDeep(this.designer.getFieldWidgetByType(type));
|
@@ -1205,14 +1205,6 @@ export default {
|
|
1205
1205
|
let columnEditFields = null;
|
1206
1206
|
|
1207
1207
|
let type = this.columnFormatMap[formatS];
|
1208
|
-
/*if (type == 'date') {
|
1209
|
-
columnEditFields = ['type', 'format', 'valueFormat']
|
1210
|
-
} else if (type == 'select') {
|
1211
|
-
|
1212
|
-
}
|
1213
|
-
if (type == 'vabsearch') {
|
1214
|
-
columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
|
1215
|
-
}*/
|
1216
1208
|
|
1217
1209
|
if (type) {
|
1218
1210
|
// columnSelectedWidget = this.$baseLodash.cloneDeep(this.designer.getFieldWidgetByType(type));
|
@@ -694,14 +694,6 @@ export default {
|
|
694
694
|
let columnEditFields = null;
|
695
695
|
|
696
696
|
let type = this.columnFormatMap[row.formatS];
|
697
|
-
/*if (type == 'date') {
|
698
|
-
columnEditFields = ['type', 'format', 'valueFormat']
|
699
|
-
} else if (type == 'select') {
|
700
|
-
|
701
|
-
}
|
702
|
-
if (type == 'vabsearch') {
|
703
|
-
columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
|
704
|
-
}*/
|
705
697
|
|
706
698
|
if (type) {
|
707
699
|
columnSelectedWidget = this.$baseLodash.cloneDeep(this.designer.getFieldWidgetByType(type));
|