cloud-web-corejs 1.0.54-dev.800 → 1.0.54-dev.802

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/package.json +1 -1
  2. package/src/components/baseArea/index.vue +82 -27
  3. package/src/components/bizTab/BizBillActions.vue +2 -2
  4. package/src/components/bizTab/bizBillDetailMixin.js +27 -9
  5. package/src/components/excelExport/exportFieldDialog.vue +11 -9
  6. package/src/components/table/config.js +6 -4
  7. package/src/components/table/index.js +78 -22
  8. package/src/components/table/state.js +42 -0
  9. package/src/components/table/tableForm.vue +16 -5
  10. package/src/components/table/tableFormMixin.js +35 -7
  11. package/src/components/table/vxeFilter/index.js +4 -2
  12. package/src/components/table/vxeFilter/mixin.js +10 -4
  13. package/src/components/wf/content.vue +12 -0
  14. package/src/components/wf/wf.js +72 -23
  15. package/src/components/wf/wfActionDropdown.vue +85 -0
  16. package/src/components/wf/wfActionItems.js +136 -0
  17. package/src/components/wf/wfAutoConfirm.js +55 -0
  18. package/src/components/wf/wfUserRange.js +53 -0
  19. package/src/components/wf/wfUtil.js +46 -2
  20. package/src/components/xform/form-designer/designer.js +6 -1
  21. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +9 -3
  22. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +2 -1
  23. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +3 -2
  24. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +3 -12
  25. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +2 -46
  26. package/src/components/xform/form-designer/form-widget/field-widget/mixins/relative-default-mixin.js +107 -0
  27. package/src/components/xform/form-designer/form-widget/field-widget/mixins/relativeDateUtil.js +321 -0
  28. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +2 -17
  29. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +3 -2
  30. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +3 -12
  31. package/src/components/xform/form-designer/setting-panel/form-dynamicField-setting.vue +5 -5
  32. package/src/components/xform/form-designer/setting-panel/form-setting.vue +48 -26
  33. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +16 -19
  34. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +13 -12
  35. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +16 -18
  36. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/afterColumnsCreated-editor.vue +30 -0
  37. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  38. package/src/components/xform/form-designer/setting-panel/property-editor/field-common/keyName-editor.vue +4 -4
  39. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +35 -36
  40. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +35 -18
  41. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +1 -1
  42. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +34 -36
  43. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +35 -18
  44. package/src/components/xform/form-designer/setting-panel/property-editor/fixedQuery-editor.vue +39 -0
  45. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +20 -3
  46. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -178
  47. package/src/components/xform/form-designer/setting-panel/property-editor/relative-default-block.vue +369 -0
  48. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +1 -1
  49. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -0
  50. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +35 -2
  51. package/src/components/xform/form-render/container-item/data-table-mixin.js +150 -75
  52. package/src/components/xform/form-render/container-item/detail-item.vue +8 -12
  53. package/src/components/xform/lang/en-US.js +3 -0
  54. package/src/components/xform/lang/zh-CN.js +3 -0
  55. package/src/components/xform/mixins/defaultHandle.js +18 -3
  56. package/src/components/xform/utils/fixedQueryUtil.js +93 -0
  57. package/src/views/user/outLink/cc_form_view.vue +33 -30
  58. package/src/views/user/wf/wf_manage/list.vue +17 -1
  59. package/src/components/xform/form-render/container-item/data-table-mixin copy.js +0 -5910
@@ -6,18 +6,19 @@
6
6
  <el-form-item :label="i18nt('designer.setting.gutter')" class="form-item-label-top">
7
7
  <el-input-number v-model="optionModel.gutter" style="width: 100%"></el-input-number>
8
8
  </el-form-item>
9
- <el-form-item :label="i18nt('designer.setting.colsOfGrid')"></el-form-item>
10
- <el-form-item label-width="0">
11
- <li v-for="(colItem, colIdx) in selectedWidget.cols" :key="colIdx" class="col-item">
12
- <span class="col-span-title">{{i18nt('designer.setting.colSpanTitle')}}{{colIdx + 1}}</span>
13
- <el-input-number v-model.number="colItem.options.span" :min="1" :max="24"
14
- @change="(newValue, oldValue) => spanChanged(selectedWidget, colItem, colIdx, newValue, oldValue)"
15
- class="cell-span-input"></el-input-number>
16
- <el-button circle plain size="mini" type="danger" @click="deleteCol(selectedWidget, colIdx)"
17
- icon="el-icon-minus" class="col-delete-button"></el-button>
18
- </li>
19
- <div>
20
- <el-button type="text" @click="addNewCol(selectedWidget)" icon="el-icon-circle-plus-outline" class="add-option">{{i18nt('designer.setting.addColumn')}}</el-button>
9
+ <el-form-item :label="i18nt('designer.setting.colsOfGrid')" class="form-item-label-top">
10
+ <div class="draggable-list">
11
+ <li v-for="(colItem, colIdx) in selectedWidget.cols" :key="colIdx" class="col-item">
12
+ <span class="col-span-title">{{i18nt('designer.setting.colSpanTitle')}}{{colIdx + 1}}</span>
13
+ <el-input-number v-model.number="colItem.options.span" :min="1" :max="24"
14
+ @change="(newValue, oldValue) => spanChanged(selectedWidget, colItem, colIdx, newValue, oldValue)"
15
+ class="cell-span-input"></el-input-number>
16
+ <el-button circle plain size="mini" type="danger" @click="deleteCol(selectedWidget, colIdx)"
17
+ icon="el-icon-minus" class="col-delete-button"></el-button>
18
+ </li>
19
+ <div>
20
+ <el-button type="text" @click="addNewCol(selectedWidget)" icon="el-icon-circle-plus-outline" class="add-option">{{i18nt('designer.setting.addColumn')}}</el-button>
21
+ </div>
21
22
  </div>
22
23
  </el-form-item>
23
24
  </div>
@@ -33,7 +33,7 @@
33
33
  </el-tooltip>
34
34
  </div>
35
35
  <div class="data-table-editor-subsection">
36
- <el-form-item label="字段脚本">
36
+ <el-form-item label="字段脚本" class="el-form-item-second">
37
37
  <a
38
38
  href="javascript:void(0);"
39
39
  class="a-link link-oneLind"
@@ -60,14 +60,14 @@
60
60
  </el-tooltip>
61
61
  </div>
62
62
  <div class="data-table-editor-subsection">
63
- <el-form-item class="form-item-label-top" label="脚本编码">
63
+ <el-form-item class="form-item-label-top el-form-item-second" label="脚本编码" >
64
64
  <el-input
65
65
  v-model="optionModel.dynamicSchemaScriptCode"
66
66
  clearable
67
67
  placeholder="scriptCode 或 formCode/scriptCode"
68
68
  ></el-input>
69
69
  </el-form-item>
70
- <el-form-item>
70
+ <el-form-item class="el-form-item-second">
71
71
  <span slot="label">
72
72
  额外参数
73
73
  <el-tooltip effect="light" placement="top">
@@ -88,7 +88,7 @@
88
88
  <i class="el-icon-edit"></i>
89
89
  </a>
90
90
  </el-form-item>
91
- <el-form-item>
91
+ <el-form-item class="el-form-item-second">
92
92
  <span slot="label">
93
93
  转换脚本
94
94
  <el-tooltip effect="light" placement="top">
@@ -115,7 +115,7 @@
115
115
  class="dynamic-column-block"
116
116
  >
117
117
  <div class="data-table-editor-subsection">
118
- <el-form-item>
118
+ <el-form-item class="el-form-item-second">
119
119
  <span slot="label">
120
120
  加载条件
121
121
  <el-tooltip effect="light" placement="top">
@@ -139,7 +139,7 @@
139
139
  </el-form-item>
140
140
  </div>
141
141
  </div>
142
- <el-form-item class="form-item-label-top" v-if="optionModel.dynamicSchemaSourceType !== 'none'">
142
+ <el-form-item class="form-item-label-top el-form-item-second" v-if="optionModel.dynamicSchemaSourceType !== 'none'">
143
143
  <span slot="label">
144
144
  生成模式
145
145
  <el-tooltip effect="light" placement="top">
@@ -212,7 +212,8 @@
212
212
  optionModel.dynamicSchemaMode !== 'anchor' ||
213
213
  !optionModel.dynamicSchemaInheritLayout
214
214
  "
215
- label="每行列数"
215
+ label="每行列数"
216
+ class="el-form-item-second"
216
217
  >
217
218
  <el-input-number
218
219
  v-model="optionModel.dynamicSchemaColumns"
@@ -307,18 +308,15 @@ export default {
307
308
  </script>
308
309
 
309
310
  <style lang="scss" scoped>
310
- .data-table-editor-subsection {
311
- margin: 0 0 4px 8px;
312
- padding-left: 12px;
313
- border-left: 2px solid #ebeef5;
314
- }
315
-
316
311
  .form-section-label {
317
- font-size: 13px;
318
- font-weight: 500;
319
- color: #303133;
320
- line-height: 22px;
321
- margin-bottom: 8px;
312
+ margin: 16px 0 8px;
313
+ padding-left: 8px;
314
+ color: rgba(0, 0, 0, 0.65);
315
+ font-size: 13px;
316
+ font-weight: 600;
317
+ line-height: 1.3;
318
+ background: rgba(0, 0, 0, 0.04);
319
+ padding: 4px 0 4px 8px;
322
320
  }
323
321
 
324
322
  .label-tip-icon {
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <el-form-item label="afterColumnsCreated" label-width="150px">
3
+ <a href="javascript:void(0);" class="a-link link-oneLind" @click="editEventHandler('afterColumnsCreated', eventParams)">
4
+ <span>{{ optionModel.afterColumnsCreated }}</span>
5
+ <i class="el-icon-edit"></i>
6
+ </a>
7
+ </el-form-item>
8
+ </template>
9
+
10
+ <script>
11
+ import i18n from "../../../../../../components/xform/utils/i18n";
12
+ import eventMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
13
+
14
+ export default {
15
+ name: "afterColumnsCreated-editor",
16
+ mixins: [i18n, eventMixin],
17
+ props: {
18
+ designer: Object,
19
+ selectedWidget: Object,
20
+ optionModel: Object,
21
+ },
22
+ data() {
23
+ return {
24
+ eventParams: ["columns", "$grid"],
25
+ };
26
+ },
27
+ };
28
+ </script>
29
+
30
+ <style scoped></style>
@@ -1,237 +1,237 @@
1
- <template>
2
- <div>
3
- <el-form-item label-width="0">
4
- <el-divider class="custom-divider">选择弹框配置</el-divider>
5
- </el-form-item>
6
- <!-- 搜索类控件的多选是结构性的(决定字段值是数组还是标量),由控件自身的「是否多选」决定,
7
- 这里只做展示,避免两个开关各说各话 -->
8
- <el-form-item label="是否多选">
9
- <el-switch v-model="eventConfig.multipleChoices" v-if="!vabsearchFlag"></el-switch>
10
- <template v-else>
11
- <span>{{ optionModel.multipleChoices ? '是' : '否' }}</span>
12
- <span class="tips">由控件自身的「是否多选」决定</span>
13
- </template>
14
- </el-form-item>
15
- <el-form-item class="form-item-label-top" label="弹框表单编码">
16
- <el-input type="text" v-model="eventConfig.formCode"></el-input>
17
- </el-form-item>
18
- <el-form-item label="弹框查询参数">
19
- <a href="javascript:void(0);" class="a-link link-oneLind"
20
- @click="editEventHandler('confirmCallback', ['dataId', 'formCode','rows'], option2)">
21
- <span>{{ eventConfig.dialogQueryParam }}</span>
22
- <i class="el-icon-edit"></i>
23
- </a>
24
- <span class="tips">按业务字段过滤写
25
- <code>return {'{'} condition: {'{'} status: 1 {'}'} {'}'}</code>(追加进查询区条件,同字段以脚本为准)</span>
26
- </el-form-item>
27
- <el-form-item label="弹框自定义参数">
28
- <a href="javascript:void(0);" class="a-link link-oneLind"
29
- @click="editEventHandler('dialogCustomParam', ['dataId', 'formCode','rows'], option3)">
30
- <span>{{ eventConfig.dialogCustomParam }}</span>
31
- <i class="el-icon-edit"></i>
32
- </a>
33
- </el-form-item>
34
- <template v-if="hasConfig('vabsearchFlag')">
35
- <el-form-item class="form-item-label-top" label="关联来源字段">
36
- <el-input type="text" v-model="eventConfig.valueSourceField"></el-input>
37
- </el-form-item>
38
-
39
- <el-form-item class="form-item-label-top" label="展示来源字段">
40
- <el-input type="text" v-model="eventConfig.labelSourceField"></el-input>
41
- </el-form-item>
42
- </template>
43
- <!-- <el-form-item label="多选">
44
- <el-switch v-model="optionModel.multiple"></el-switch>
45
- </el-form-item>-->
46
- <template v-if="!hasConfig('vabsearchFlag')">
47
- <el-form-item label="关联表格">
48
- <el-switch v-model="eventConfig.tableEnabled"></el-switch>
49
- </el-form-item>
50
- <template v-if="eventConfig.tableEnabled">
51
- <el-form-item class="form-item-label-top" label="关联表格ID">
52
- <el-input type="text" v-model="eventConfig.tableRef"></el-input>
53
- </el-form-item>
54
- <el-form-item class="form-item-label-top" label="关联表格唯一字段">
55
- <el-input type="text" v-model="eventConfig.tableUniqueKey"></el-input>
56
- </el-form-item>
57
- </template>
58
- </template>
59
- <el-form-item label="数据回填">
60
- <el-button type="primary" plain="" round="" @click="openDialog">{{
61
- i18nt('designer.setting.editAction')
62
- }}
63
- </el-button>
64
- </el-form-item>
65
- <el-form-item label="确认回调">
66
- <a href="javascript:void(0);" class="a-link link-oneLind"
67
- @click="editEventHandler('confirmCallback', ['dataId', 'formCode','rows'], option1)">
68
- <span>{{ eventConfig.confirmCallback }}</span>
69
- <i class="el-icon-edit"></i>
70
- </a>
71
- </el-form-item>
72
-
73
- <el-dialog
74
- custom-class="dialog-style list-dialog"
75
- title="数据回填"
76
- :visible.sync="showDialog"
77
- :modal="false"
78
- :show-close="!0"
79
- :close-on-click-modal="!1"
80
- :close-on-press-escape="!1"
81
- :destroy-on-close="!0"
82
- top="5vh"
83
- width="600px"
84
- v-dialog-drag
85
- >
86
- <div class="cont">
87
- <el-table
88
- ref="singleTable"
89
- width="100%"
90
- height="500"
91
- :data="tableData"
92
- border=""
93
- stripe=""
94
- default-expand-all
95
- >
96
- <el-table-column label="目标字段" width="150" prop="targetField">
97
- <template slot-scope="scope">
98
- <el-input v-model="scope.row.targetField"></el-input>
99
- </template>
100
- </el-table-column>
101
- <el-table-column label="目标数据属性名称" width="150" prop="targetField">
102
- <template slot-scope="scope">
103
- <el-input v-model="scope.row.targetFormField"></el-input>
104
- </template>
105
- </el-table-column>
106
- <el-table-column label="来源字段" width="150" prop="sourceField">
107
- <template slot-scope="scope">
108
- <el-input v-model="scope.row.sourceField"></el-input>
109
- </template>
110
- </el-table-column>
111
- <el-table-column label="操作" min-width="50" fixed="right">
112
- <template #header="{ row, $index }">
113
- <el-tooltip
114
- :hide-after="500"
115
- class="item"
116
- effect="dark"
117
- content="添加"
118
- placement="top"
119
- >
120
- <el-button
121
- size="mini" type="" circle=""
122
- icon="el-icon-plus"
123
- @click="tableData.push({})"
124
- />
125
- </el-tooltip>
126
- </template>
127
- <template #default="{ row, $index }">
128
- <el-tooltip
129
- effect="dark"
130
- content="删除"
131
- placement="top"
132
- >
133
- <el-button
134
- size="mini" type="" circle=""
135
- icon="el-icon-delete"
136
- @click="tableData.splice($index,1)"
137
- />
138
- </el-tooltip>
139
- </template>
140
- </el-table-column>
141
- </el-table>
142
- </div>
143
- <div class="dialog-footer" slot="footer">
144
- <span class="fl tips">注:'目标字段'与'目标数据属性名称'只需要维护一个即可。</span>
145
- <el-button @click="showDialog=false" class="button-sty" icon="el-icon-close">
146
- {{ i18nt('designer.hint.cancel') }}
147
- </el-button>
148
- <el-button type="primary" @click="confirmDialog" class="button-sty" icon="el-icon-check">
149
- {{ i18nt('designer.hint.confirm') }}
150
- </el-button>
151
- </div>
152
- </el-dialog>
153
- </div>
154
- </template>
155
-
156
- <script>
157
- import i18n from "../../../../../../components/xform/utils/i18n"
158
- import eventMixin
159
- from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin"
160
- import propertyMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/propertyMixin"
161
-
162
- export default {
163
- mixins: [i18n, eventMixin, propertyMixin],
164
- props: {
165
- designer: Object,
166
- selectedWidget: Object,
167
- optionModel: Object,
168
- },
169
- data() {
170
- return {
171
- showDialog: false,
172
- tableData: [],
173
- option1: {
174
- customCode: () => {
175
- return this.eventConfig.confirmCallback;
176
- },
177
- callback: (code) => {
178
- this.eventConfig.confirmCallback = code;
179
- this.$forceUpdate()
180
- }
181
- },
182
- option2: {
183
- customCode: () => {
184
- return this.eventConfig.dialogQueryParam;
185
- },
186
- callback: (code) => {
187
- this.eventConfig.dialogQueryParam = code;
188
- this.$forceUpdate()
189
- }
190
- },
191
- option3: {
192
- customCode: () => {
193
- return this.eventConfig.dialogCustomParam;
194
- },
195
- callback: (code) => {
196
- this.eventConfig.dialogCustomParam = code;
197
- this.$forceUpdate()
198
- }
199
- },
200
- }
201
- },
202
- computed: {
203
- eventConfig() {
204
- return this.optionModel.searchDialogConfig || {};
205
- },
206
- vabsearchFlag() {
207
- let type = this.selectedWidget.type;
208
- return (
209
- type === "vabsearch"
210
- || type === "singerSearch"
211
- || type === "multiSearch"
212
- );
213
- }
214
- },
215
- created() {
216
-
217
- },
218
- methods: {
219
- openDialog() {
220
- this.tableData = this.$baseLodash.cloneDeep(this.eventConfig.tableData);
221
- this.showDialog = true;
222
- },
223
- confirmDialog() {
224
- this.eventConfig.tableData = this.$baseLodash.cloneDeep(this.tableData);
225
- this.showDialog = false;
226
- }
227
- }
228
- }
229
- </script>
230
-
231
- <style scoped>
232
- .tips {
233
- margin-left: 8px;
234
- color: #909399;
235
- font-size: 12px;
236
- }
237
- </style>
1
+ <template>
2
+ <div>
3
+ <el-form-item label-width="0">
4
+ <el-divider class="custom-divider">选择弹框配置</el-divider>
5
+ </el-form-item>
6
+ <!-- 搜索类控件的多选是结构性的(决定字段值是数组还是标量),由控件自身的「是否多选」决定,
7
+ 这里只做展示,避免两个开关各说各话 -->
8
+ <el-form-item label="是否多选">
9
+ <el-switch v-model="eventConfig.multipleChoices" v-if="!vabsearchFlag"></el-switch>
10
+ <template v-else>
11
+ <span>{{ optionModel.multipleChoices ? '是' : '否' }}</span>
12
+ <span class="tips">由控件自身的「是否多选」决定</span>
13
+ </template>
14
+ </el-form-item>
15
+ <el-form-item class="form-item-label-top" label="弹框表单编码">
16
+ <el-input type="text" v-model="eventConfig.formCode"></el-input>
17
+ </el-form-item>
18
+ <el-form-item label="弹框查询参数">
19
+ <a href="javascript:void(0);" class="a-link link-oneLind"
20
+ @click="editEventHandler('confirmCallback', ['dataId', 'formCode','rows'], option2)">
21
+ <span>{{ eventConfig.dialogQueryParam }}</span>
22
+ <i class="el-icon-edit"></i>
23
+ </a>
24
+ <span class="tips">按业务字段过滤写
25
+ <code>return {'{'} condition: {'{'} status: 1 {'}'} {'}'}</code>(追加进查询区条件,同字段以脚本为准)</span>
26
+ </el-form-item>
27
+ <el-form-item label="弹框自定义参数">
28
+ <a href="javascript:void(0);" class="a-link link-oneLind"
29
+ @click="editEventHandler('dialogCustomParam', ['dataId', 'formCode','rows'], option3)">
30
+ <span>{{ eventConfig.dialogCustomParam }}</span>
31
+ <i class="el-icon-edit"></i>
32
+ </a>
33
+ </el-form-item>
34
+ <template v-if="hasConfig('vabsearchFlag')">
35
+ <el-form-item class="form-item-label-top" label="关联来源字段">
36
+ <el-input type="text" v-model="eventConfig.valueSourceField"></el-input>
37
+ </el-form-item>
38
+
39
+ <el-form-item class="form-item-label-top" label="展示来源字段">
40
+ <el-input type="text" v-model="eventConfig.labelSourceField"></el-input>
41
+ </el-form-item>
42
+ </template>
43
+ <!-- <el-form-item label="多选">
44
+ <el-switch v-model="optionModel.multiple"></el-switch>
45
+ </el-form-item>-->
46
+ <template v-if="!hasConfig('vabsearchFlag')">
47
+ <el-form-item label="关联表格">
48
+ <el-switch v-model="eventConfig.tableEnabled"></el-switch>
49
+ </el-form-item>
50
+ <template v-if="eventConfig.tableEnabled">
51
+ <el-form-item class="form-item-label-top el-form-item-second" label="关联表格ID">
52
+ <el-input type="text" v-model="eventConfig.tableRef"></el-input>
53
+ </el-form-item>
54
+ <el-form-item class="form-item-label-top el-form-item-second" label="关联表格唯一字段">
55
+ <el-input type="text" v-model="eventConfig.tableUniqueKey"></el-input>
56
+ </el-form-item>
57
+ </template>
58
+ </template>
59
+ <el-form-item label="数据回填">
60
+ <el-button type="primary" plain="" round="" @click="openDialog">{{
61
+ i18nt('designer.setting.editAction')
62
+ }}
63
+ </el-button>
64
+ </el-form-item>
65
+ <el-form-item label="确认回调">
66
+ <a href="javascript:void(0);" class="a-link link-oneLind"
67
+ @click="editEventHandler('confirmCallback', ['dataId', 'formCode','rows'], option1)">
68
+ <span>{{ eventConfig.confirmCallback }}</span>
69
+ <i class="el-icon-edit"></i>
70
+ </a>
71
+ </el-form-item>
72
+
73
+ <el-dialog
74
+ custom-class="dialog-style list-dialog"
75
+ title="数据回填"
76
+ :visible.sync="showDialog"
77
+ :modal="false"
78
+ :show-close="!0"
79
+ :close-on-click-modal="!1"
80
+ :close-on-press-escape="!1"
81
+ :destroy-on-close="!0"
82
+ top="5vh"
83
+ width="600px"
84
+ v-dialog-drag
85
+ >
86
+ <div class="cont">
87
+ <el-table
88
+ ref="singleTable"
89
+ width="100%"
90
+ height="500"
91
+ :data="tableData"
92
+ border=""
93
+ stripe=""
94
+ default-expand-all
95
+ >
96
+ <el-table-column label="目标字段" width="150" prop="targetField">
97
+ <template slot-scope="scope">
98
+ <el-input v-model="scope.row.targetField"></el-input>
99
+ </template>
100
+ </el-table-column>
101
+ <el-table-column label="目标数据属性名称" width="150" prop="targetField">
102
+ <template slot-scope="scope">
103
+ <el-input v-model="scope.row.targetFormField"></el-input>
104
+ </template>
105
+ </el-table-column>
106
+ <el-table-column label="来源字段" width="150" prop="sourceField">
107
+ <template slot-scope="scope">
108
+ <el-input v-model="scope.row.sourceField"></el-input>
109
+ </template>
110
+ </el-table-column>
111
+ <el-table-column label="操作" min-width="50" fixed="right">
112
+ <template #header="{ row, $index }">
113
+ <el-tooltip
114
+ :hide-after="500"
115
+ class="item"
116
+ effect="dark"
117
+ content="添加"
118
+ placement="top"
119
+ >
120
+ <el-button
121
+ size="mini" type="" circle=""
122
+ icon="el-icon-plus"
123
+ @click="tableData.push({})"
124
+ />
125
+ </el-tooltip>
126
+ </template>
127
+ <template #default="{ row, $index }">
128
+ <el-tooltip
129
+ effect="dark"
130
+ content="删除"
131
+ placement="top"
132
+ >
133
+ <el-button
134
+ size="mini" type="" circle=""
135
+ icon="el-icon-delete"
136
+ @click="tableData.splice($index,1)"
137
+ />
138
+ </el-tooltip>
139
+ </template>
140
+ </el-table-column>
141
+ </el-table>
142
+ </div>
143
+ <div class="dialog-footer" slot="footer">
144
+ <span class="fl tips">注:'目标字段'与'目标数据属性名称'只需要维护一个即可。</span>
145
+ <el-button @click="showDialog=false" class="button-sty" icon="el-icon-close">
146
+ {{ i18nt('designer.hint.cancel') }}
147
+ </el-button>
148
+ <el-button type="primary" @click="confirmDialog" class="button-sty" icon="el-icon-check">
149
+ {{ i18nt('designer.hint.confirm') }}
150
+ </el-button>
151
+ </div>
152
+ </el-dialog>
153
+ </div>
154
+ </template>
155
+
156
+ <script>
157
+ import i18n from "../../../../../../components/xform/utils/i18n"
158
+ import eventMixin
159
+ from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin"
160
+ import propertyMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/propertyMixin"
161
+
162
+ export default {
163
+ mixins: [i18n, eventMixin, propertyMixin],
164
+ props: {
165
+ designer: Object,
166
+ selectedWidget: Object,
167
+ optionModel: Object,
168
+ },
169
+ data() {
170
+ return {
171
+ showDialog: false,
172
+ tableData: [],
173
+ option1: {
174
+ customCode: () => {
175
+ return this.eventConfig.confirmCallback;
176
+ },
177
+ callback: (code) => {
178
+ this.eventConfig.confirmCallback = code;
179
+ this.$forceUpdate()
180
+ }
181
+ },
182
+ option2: {
183
+ customCode: () => {
184
+ return this.eventConfig.dialogQueryParam;
185
+ },
186
+ callback: (code) => {
187
+ this.eventConfig.dialogQueryParam = code;
188
+ this.$forceUpdate()
189
+ }
190
+ },
191
+ option3: {
192
+ customCode: () => {
193
+ return this.eventConfig.dialogCustomParam;
194
+ },
195
+ callback: (code) => {
196
+ this.eventConfig.dialogCustomParam = code;
197
+ this.$forceUpdate()
198
+ }
199
+ },
200
+ }
201
+ },
202
+ computed: {
203
+ eventConfig() {
204
+ return this.optionModel.searchDialogConfig || {};
205
+ },
206
+ vabsearchFlag() {
207
+ let type = this.selectedWidget.type;
208
+ return (
209
+ type === "vabsearch"
210
+ || type === "singerSearch"
211
+ || type === "multiSearch"
212
+ );
213
+ }
214
+ },
215
+ created() {
216
+
217
+ },
218
+ methods: {
219
+ openDialog() {
220
+ this.tableData = this.$baseLodash.cloneDeep(this.eventConfig.tableData);
221
+ this.showDialog = true;
222
+ },
223
+ confirmDialog() {
224
+ this.eventConfig.tableData = this.$baseLodash.cloneDeep(this.tableData);
225
+ this.showDialog = false;
226
+ }
227
+ }
228
+ }
229
+ </script>
230
+
231
+ <style scoped>
232
+ .tips {
233
+ margin-left: 8px;
234
+ color: #909399;
235
+ font-size: 12px;
236
+ }
237
+ </style>
@@ -1,16 +1,16 @@
1
1
  <template>
2
2
  <div>
3
- <el-form-item class="form-item-label-top" prop="keyName" v-if="optionModel.keyNameEnabled">
3
+ <el-form-item class="form-item-label-top el-form-item-second" prop="keyName" v-if="optionModel.keyNameEnabled">
4
4
  <span slot="label">数据属性名称
5
5
  <el-tooltip effect="light" content="数据属性名称是指form-data对象中字段组件所对应的属性名称">
6
6
  <i class="el-icon-info"></i></el-tooltip>
7
7
  </span>
8
8
  <el-input type="text" v-model="optionModel.keyName" :disabled="prefixMode"></el-input>
9
9
  </el-form-item>
10
- <el-form-item prop="keyName" label="属性名称前缀" v-if="optionModel.keyNameEnabled && prefixMode">
11
- <span>{{ keyNamePrefixMap[selectedWidget.type] }}</span>
10
+ <el-form-item prop="keyName" label="属性名称前缀" v-if="optionModel.keyNameEnabled && prefixMode" class="el-form-item-second">
11
+ <span class="form-item-txt">{{ keyNamePrefixMap[selectedWidget.type] }}</span>
12
12
  </el-form-item>
13
- <el-form-item prop="keyName" label="属性名称后缀" v-if="optionModel.keyNameEnabled && prefixMode" class="form-item-label-top">
13
+ <el-form-item prop="keyName" label="属性名称后缀" v-if="optionModel.keyNameEnabled && prefixMode" class="form-item-label-top el-form-item-second">
14
14
  <el-input
15
15
  class="search-input"
16
16
  max="200"