@lambo-design/variant-form 2.2.9-beta.0 → 2.2.9-beta.1

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 (66) hide show
  1. package/README.md +201 -0
  2. package/babel.config.js +5 -0
  3. package/dist/lib/VFormDesigner.common-report.html +53 -0
  4. package/dist/lib/VFormDesigner.common.js +123773 -0
  5. package/dist/lib/VFormDesigner.common.js.map +1 -0
  6. package/dist/lib/VFormDesigner.css +1 -0
  7. package/dist/lib/VFormDesigner.umd-report.html +53 -0
  8. package/dist/lib/VFormDesigner.umd.js +123783 -0
  9. package/dist/lib/VFormDesigner.umd.js.map +1 -0
  10. package/dist/lib/VFormDesigner.umd.min-report.html +53 -0
  11. package/dist/lib/VFormDesigner.umd.min.js +222 -0
  12. package/dist/lib/demo.html +10 -0
  13. package/dist/lib/img/indicator-card-header.7291bcc9.png +0 -0
  14. package/dist/lib/img/lan_navigator.53090c9d.png +0 -0
  15. package/dist/lib/img/layout-header-bg-canglan.b1d97e4e.png +0 -0
  16. package/dist/lib/img/layout-header-bg-cuiwei.67019b6d.png +0 -0
  17. package/dist/lib/img/lv_navigator.f07fb393.png +0 -0
  18. package/index_template/index_dev.html +19 -0
  19. package/index_template/index_prod.html +28 -0
  20. package/install-render.js +29 -0
  21. package/install.js +41 -0
  22. package/jsconfig.json +10 -0
  23. package/license.txt +8 -0
  24. package/package.json +10 -4
  25. package/public/favicon.ico +0 -0
  26. package/public/index.html +19 -0
  27. package/src/App.vue +45 -0
  28. package/src/components/form-designer/designer.js +1 -0
  29. package/src/components/form-designer/form-widget/field-widget/organ-select-widget.vue +254 -0
  30. package/src/components/form-designer/form-widget/field-widget/relation-form-widget.vue +397 -0
  31. package/src/components/form-designer/form-widget/field-widget/sub-form-widget.vue +660 -0
  32. package/src/components/form-designer/form-widget/field-widget/user-select-widget.vue +333 -0
  33. package/src/components/form-designer/form-widget/index.vue +1 -1
  34. package/src/components/form-designer/index.vue +14 -12
  35. package/src/components/form-designer/setting-panel/form-setting.vue +59 -60
  36. package/src/components/form-designer/setting-panel/index.vue +2 -0
  37. package/src/components/form-designer/setting-panel/property-editor/allowMultiple-editor.vue +24 -0
  38. package/src/components/form-designer/setting-panel/property-editor/border-editor.vue +1 -1
  39. package/src/components/form-designer/setting-panel/property-editor/buttonStyle-editor.vue +1 -1
  40. package/src/components/form-designer/setting-panel/property-editor/clearable-editor.vue +1 -1
  41. package/src/components/form-designer/setting-panel/property-editor/displayFields-editor.vue +91 -0
  42. package/src/components/form-designer/setting-panel/property-editor/displayStyle-editor.vue +1 -1
  43. package/src/components/form-designer/setting-panel/property-editor/field-relation-form/relation-form-defaultValue-editor.vue +18 -0
  44. package/src/components/form-designer/setting-panel/property-editor/filterable-editor.vue +1 -1
  45. package/src/components/form-designer/setting-panel/property-editor/multipleLimit-editor.vue +1 -1
  46. package/src/components/form-designer/setting-panel/property-editor/name-editor.vue +2 -2
  47. package/src/components/form-designer/setting-panel/property-editor/operList-editor.vue +64 -0
  48. package/src/components/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  49. package/src/components/form-designer/setting-panel/property-editor/relationForm-editor.vue +74 -0
  50. package/src/components/form-designer/setting-panel/property-editor/relationItems-editor.vue +91 -0
  51. package/src/components/form-designer/setting-panel/property-editor/relationType-editor.vue +67 -0
  52. package/src/components/form-designer/setting-panel/property-editor/rootOrgan-editor.vue +248 -0
  53. package/src/components/form-designer/setting-panel/property-editor/size-editor.vue +5 -5
  54. package/src/components/form-designer/setting-panel/property-editor/subFormId-editor.vue +74 -0
  55. package/src/components/form-designer/setting-panel/propertyRegister.js +144 -133
  56. package/src/components/form-designer/toolbar-panel/index.vue +11 -10
  57. package/src/components/form-designer/widget-panel/index.vue +11 -11
  58. package/src/components/form-designer/widget-panel/widgetsConfig.js +425 -297
  59. package/src/extension/extension-loader.js +1 -1
  60. package/src/icons/svg/relation-form-field.svg +1 -0
  61. package/src/lang/en-US.js +39 -0
  62. package/src/lang/zh-CN.js +42 -3
  63. package/src/main.js +29 -0
  64. package/src/utils/config.js +1 -1
  65. package/src/utils/util.js +35 -1
  66. package/vue.config.js +93 -0
@@ -0,0 +1,333 @@
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" :sub-form-row-id="subFormRowId">
5
+ <el-input
6
+ v-model="fieldModel"
7
+ :placeholder="field.options.placeholder"
8
+ :size="field.options.size"
9
+ style="width: 100%">
10
+ <i slot="suffix" class="el-input__icon el-icon-s-grid" @click="handleClickCustomEvent"></i>
11
+ </el-input>
12
+
13
+ <el-dialog :title="field.options.label || '用户'" :visible.sync="dialogVisible">
14
+ <div class="user-info">
15
+ <div class="org-tree">
16
+ <div class="tree-content">
17
+ <div v-if="!treeData || treeData.length === 0">
18
+ 暂无数据,请选择根组织!
19
+ </div>
20
+ <el-tree
21
+ v-if="dialogVisible && treeData.length > 0"
22
+ ref="orgTree"
23
+ lazy
24
+ :load="loadNode"
25
+ :data="treeData"
26
+ :props="defaultProps"
27
+ check-strictly
28
+ @node-click="handleNodeClick">
29
+ </el-tree>
30
+ </div>
31
+ </div>
32
+ <div class="user-table">
33
+ <el-form :inline="true" :model="form">
34
+ <el-form-item label="账号:">
35
+ <el-input v-model="form.userId" placeholder="按账号搜索" />
36
+ </el-form-item>
37
+ <el-form-item label="姓名:">
38
+ <el-input v-model="form.userName" placeholder="按姓名搜索" />
39
+ </el-form-item>
40
+ <el-form-item>
41
+ <el-button type="primary" icon="ios-search" @click="doSearch">查询</el-button>
42
+ </el-form-item>
43
+ </el-form>
44
+ <el-table
45
+ :data="tableData.rows"
46
+ border
47
+ :highlight-current-row="!field.options.allowMultiple"
48
+ @current-change="handleCurrentChange"
49
+ @selection-change="handleSelectionChange"
50
+ class="user-table-content">
51
+ <el-table-column
52
+ v-if="field.options.allowMultiple"
53
+ type="selection"
54
+ width="55">
55
+ </el-table-column>
56
+ <el-table-column
57
+ prop="userId"
58
+ label="用户账号"
59
+ width="180">
60
+ </el-table-column>
61
+ <el-table-column
62
+ prop="userName"
63
+ label="用户名称"
64
+ width="180">
65
+ </el-table-column>
66
+ <el-table-column
67
+ prop="organName"
68
+ label="组织名称"
69
+ width="180">
70
+ </el-table-column>
71
+ <el-table-column
72
+ prop="status"
73
+ label="账号状态">
74
+ <template slot-scope="scope">
75
+ <span style="margin-left: 10px">{{ formatStatus(scope.row.status) }}</span>
76
+ </template>v
77
+ </el-table-column>
78
+ </el-table>
79
+ <el-pagination
80
+ layout="prev, pager, next"
81
+ :total="tableData.total"
82
+ @current-change="pageChange"
83
+ class="pagination">
84
+ </el-pagination>
85
+ </div>
86
+ </div>
87
+ <template slot="footer">
88
+ <div class="dialog-footer">
89
+ <el-button type="primary" @click="onOk">确定</el-button>
90
+ </div>
91
+ </template>
92
+ </el-dialog>
93
+ </form-item-wrapper>
94
+ </template>
95
+
96
+ <script>
97
+ import FormItemWrapper from './form-item-wrapper'
98
+ import emitter from '@/utils/emitter'
99
+ import i18n, {translate} from "@/utils/i18n";
100
+ import fieldMixin from "@/components/form-designer/form-widget/field-widget/fieldMixin";
101
+ import ajax from "@lambo-design/shared/utils/ajax";
102
+
103
+ export default {
104
+ name: "user-select-widget",
105
+ componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
106
+ mixins: [emitter, fieldMixin, i18n],
107
+ props: {
108
+ field: Object,
109
+ parentWidget: Object,
110
+ parentList: Array,
111
+ indexOfParentList: Number,
112
+ designer: Object,
113
+
114
+ designState: {
115
+ type: Boolean,
116
+ default: false
117
+ },
118
+
119
+ subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
120
+ type: Number,
121
+ default: -1
122
+ },
123
+ subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
124
+ type: Number,
125
+ default: -1
126
+ },
127
+ subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
128
+ type: String,
129
+ default: ''
130
+ },
131
+ },
132
+ components: {
133
+ FormItemWrapper,
134
+ },
135
+ inject: ['refList', 'formConfig', 'getDesignerConfig', 'globalOptionData', 'globalModel'],
136
+ data() {
137
+ return {
138
+ serverContext: '/dida-manage-server',
139
+ oldFieldValue: null, //field组件change之前的值
140
+ fieldModel: null,
141
+ selectedUser: '',
142
+ rules: [],
143
+ form: {
144
+ offset: 0,
145
+ organId: '',
146
+ userId: '',
147
+ userName: ''
148
+ },
149
+ tableData: {},
150
+ treeData: [],
151
+ dialogVisible: false,
152
+ defaultProps: {
153
+ children: 'children',
154
+ label: 'bizOrganName',
155
+ isLeaf: (data, node) => {
156
+ return data.isLeaf === 'true';
157
+ }
158
+ }
159
+ }
160
+ },
161
+ computed: {
162
+
163
+ },
164
+ beforeCreate() {
165
+ /* 这里不能访问方法和属性!! */
166
+ },
167
+
168
+ created() {
169
+ /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop
170
+ 需要在父组件created中初始化!! */
171
+ this.initFieldModel()
172
+ this.registerToRefList()
173
+ this.initEventHandler()
174
+ this.buildFieldRules()
175
+
176
+ this.handleOnCreated()
177
+ },
178
+
179
+ mounted() {
180
+ this.handleOnMounted()
181
+ },
182
+
183
+ beforeDestroy() {
184
+ this.unregisterFromRefList()
185
+ },
186
+
187
+ methods: {
188
+
189
+ initData(){
190
+ if (this.field.options.rootOrgan) {
191
+ this.form.organId = this.field.options.rootOrgan
192
+ this.getOrgan()
193
+ this.getUsers()
194
+ }
195
+ },
196
+ getOrgan(){
197
+ const params = {
198
+ organId: this.field.options.rootOrgan,
199
+ organTreeType: this.field.options.organTreeType || '00',
200
+ }
201
+ ajax.get(this.serverContext + '/manage/organ/getOrganDetail', {params: params}).then((resp) => {
202
+ if (resp.data && (resp.data.code == 1 || resp.data.code == 200)){
203
+ this.treeData = [resp.data.data]
204
+ }
205
+ }).catch((err) => {
206
+ console.error(err)
207
+ });
208
+ },
209
+ getUsers(){
210
+ ajax.get(this.serverContext + '/manage/user/getUserByOrgan', {params: this.form}).then((resp) => {
211
+ if (resp.data && (resp.data.code == 1 || resp.data.code == 200)){
212
+ this.tableData = resp.data.data
213
+ this.form.offset = 0
214
+ }
215
+ }).catch((err) => {
216
+ console.error(err)
217
+ });
218
+ },
219
+ async loadNode(node, resolve) {
220
+ if (node.level === 0) {
221
+ const roots = this.treeData.filter(item => item.bizOrganId === this.field.options.rootOrgan)
222
+ return resolve(roots)
223
+ }
224
+ const params = {
225
+ parentId: node.data.bizOrganId,
226
+ organTreeType: this.field.options.organTreeType || '00',
227
+ manageUnitId: this.field.options.manageUnitId
228
+ }
229
+ ajax.get(this.serverContext + '/manage/organ/getOrgChildren', {params: params}).then((resp) => {
230
+ if (resp.data && (resp.data.code == 1 || resp.data.code == 200)){
231
+ resolve(resp.data.data)
232
+ }
233
+ }).catch((err) => {
234
+ console.error(err)
235
+ });
236
+ },
237
+ handleNodeClick(data) {
238
+ this.form.organId = data.bizOrganId
239
+ this.getUsers()
240
+ },
241
+ handleClickCustomEvent(event) {
242
+ this.dialogVisible = true
243
+ },
244
+ handleCurrentChange(row) {
245
+ if (this.field.options.allowMultiple) return
246
+ this.selectedUser = row.userId
247
+ },
248
+ handleSelectionChange(selection) {
249
+ if (!this.field.options.allowMultiple) return
250
+ this.selectedUser = selection.map(item => item.userName).join(',')
251
+ },
252
+ doSearch() {
253
+ this.getUsers()
254
+ },
255
+ pageChange(page) {
256
+ this.form.offset = (page - 1) * 10
257
+ this.getUsers()
258
+ },
259
+ formatStatus(status){
260
+ switch (status) {
261
+ case '01':
262
+ return '初始';
263
+ case '0':
264
+ return '初始化';
265
+ case '00':
266
+ case '1':
267
+ return '正常';
268
+ case '11':
269
+ return '锁定';
270
+ case '10':
271
+ return '删除';
272
+ case '2':
273
+ return '暂停';
274
+ case '3':
275
+ return '注销';
276
+ case '9':
277
+ return '未启用';
278
+ default:
279
+ return '';
280
+ }
281
+ },
282
+ onOk(){
283
+ this.fieldModel = this.selectedUser
284
+ this.dialogVisible = false
285
+ }
286
+ },
287
+ watch: {
288
+ 'field.options': {
289
+ handler(newVal, oldVal) {
290
+ this.initData();
291
+ },
292
+ deep: true
293
+ }
294
+ },
295
+ }
296
+ </script>
297
+
298
+ <style lang="scss" scoped>
299
+ @import "../../../../styles/global.scss"; //* form-item-wrapper已引入,还需要重复引入吗? *//
300
+ .user-info{
301
+ display: flex;
302
+ height: 70vh;
303
+ .org-tree {
304
+ width: 25%;
305
+ min-height: 450px;
306
+ border-right: 1px solid #dcdee2;
307
+ overflow-x: auto;
308
+ .tree-content {
309
+ overflow-y: auto;
310
+ min-height: 400px;
311
+ margin-top: 10px;
312
+ }
313
+ }
314
+
315
+ .user-table {
316
+ flex:1;
317
+ min-height: 400px;
318
+ //min-width: 800px;
319
+ width: 75%;
320
+ padding: 0 10px 10px;
321
+ margin: 10px;
322
+ &-content {
323
+ margin-top: 20px;
324
+ height: 80%;
325
+ overflow-y: auto;
326
+ }
327
+ .pagination{
328
+ float: right;
329
+ margin-top: 20px;
330
+ }
331
+ }
332
+ }
333
+ </style>
@@ -227,7 +227,7 @@
227
227
 
228
228
  .form-widget-list {
229
229
  min-height: calc(100vh - 56px - 68px);
230
- padding: 3px;
230
+ padding: 20px;
231
231
  }
232
232
  }
233
233
 
@@ -12,8 +12,8 @@
12
12
  <el-container class="main-container full-height">
13
13
  <el-header class="main-header">
14
14
  <div class="float-left main-title">
15
- <img src="../../assets/vform-logo.png" @click="openHome">
16
- <span class="bold">VForm</span> {{i18nt('application.productTitle')}} <span class="version-span">Ver {{vFormVersion}}</span></div>
15
+ <!-- <img src="../../assets/vform-logo.png" @click="openHome">-->
16
+ <span>滴搭</span> {{i18nt('application.productTitle')}} <span class="version-span">Ver {{vFormVersion}}</span></div>
17
17
  <div class="float-right external-link">
18
18
  <el-dropdown v-if="showLink('languageMenu')" :hide-timeout="2000" @command="handleLanguageChanged">
19
19
  <span class="el-dropdown-link">{{curLangName}}<i class="el-icon-arrow-down el-icon--right"></i></span>
@@ -106,20 +106,21 @@
106
106
  type: Object,
107
107
  default: () => {
108
108
  return {
109
- languageMenu: true, //是否显示语言切换菜单
110
- externalLink: true, //是否显示GitHub、文档等外部链接
111
- formTemplates: true, //是否显示表单模板
109
+ languageMenu: false, //是否显示语言切换菜单
110
+ externalLink: false, //是否显示GitHub、文档等外部链接
111
+ formTemplates: false, //是否显示表单模板
112
112
  eventCollapse: true, //是否显示组件事件属性折叠面板
113
- widgetNameReadonly: false, //禁止修改组件名称
113
+ widgetNameReadonly: true, //禁止修改组件名称
114
114
 
115
115
  clearDesignerButton: true, //是否显示清空设计器按钮
116
- previewFormButton: true, //是否显示预览表单按钮
116
+ previewFormButton: false, //是否显示预览表单按钮
117
117
  importJsonButton: true, //是否显示导入JSON按钮
118
118
  exportJsonButton: true, //是否显示导出JSON器按钮
119
- exportCodeButton: true, //是否显示导出代码按钮
120
- generateSFCButton: true, //是否显示生成SFC按钮
119
+ exportCodeButton: false, //是否显示导出代码按钮
120
+ generateSFCButton: false, //是否显示生成SFC按钮
121
121
  toolbarMaxWidth: 420, //设计器工具按钮栏最大宽度(单位像素)
122
122
  toolbarMinWidth: 300, //设计器工具按钮栏最小宽度(单位像素)
123
+ designHeaderHeight: 0, //设计器header高度(单位像素)
123
124
 
124
125
  presetCssCode: '', //设计器预设CSS样式代码
125
126
 
@@ -169,10 +170,11 @@
169
170
  mounted() {
170
171
  this.initLocale()
171
172
 
172
- this.scrollerHeight = window.innerHeight - 56 - 36 + 'px'
173
+ const designHeaderHeight = this.designerConfig.designHeaderHeight || 0
174
+ this.scrollerHeight = window.innerHeight - 56 - 36 - designHeaderHeight + 'px'
173
175
  addWindowResizeHandler(() => {
174
176
  this.$nextTick(() => {
175
- this.scrollerHeight = window.innerHeight - 56 - 36 + 'px'
177
+ this.scrollerHeight = window.innerHeight - 56 - 36 - designHeaderHeight + 'px'
176
178
  })
177
179
  })
178
180
 
@@ -295,7 +297,7 @@
295
297
  getFormJson() {
296
298
  return {
297
299
  widgetList: deepClone(this.designer.widgetList),
298
- formConfig: deepClone(this.designer.formConfig)
300
+ formConfig: deepClone(this.designer.formConfig),
299
301
  }
300
302
  },
301
303
 
@@ -4,79 +4,78 @@
4
4
  class="setting-form" @submit.native.prevent>
5
5
  <el-collapse v-model="formActiveCollapseNames" class="setting-collapse">
6
6
  <el-collapse-item name="1" :title="i18nt('designer.setting.basicSetting')">
7
- <el-form-item :label="i18nt('designer.setting.formSize')">
8
- <el-select v-model="formConfig.size">
9
- <el-option v-for="item in formSizes" :key="item.value" :label="item.label"
10
- :value="item.value">
11
- </el-option>
12
- </el-select>
13
- </el-form-item>
7
+ <!-- <el-form-item :label="i18nt('designer.setting.formSize')">-->
8
+ <!-- <el-select v-model="formConfig.size">-->
9
+ <!-- <el-option v-for="item in formSizes" :key="item.value" :label="item.label"-->
10
+ <!-- :value="item.value">-->
11
+ <!-- </el-option>-->
12
+ <!-- </el-select>-->
13
+ <!-- </el-form-item>-->
14
14
  <el-form-item :label="i18nt('designer.setting.labelPosition')">
15
15
  <el-radio-group v-model="formConfig.labelPosition" class="radio-group-custom">
16
16
  <el-radio-button label="left">{{i18nt('designer.setting.leftPosition')}}</el-radio-button>
17
17
  <el-radio-button label="top">{{i18nt('designer.setting.topPosition')}}</el-radio-button>
18
+ <el-radio-button label="top">{{i18nt('designer.setting.rightPosition')}}</el-radio-button>
18
19
  </el-radio-group>
19
20
  </el-form-item>
20
- <el-form-item :label="i18nt('designer.setting.labelAlign')">
21
- <el-radio-group v-model="formConfig.labelAlign" class="radio-group-custom">
22
- <el-radio-button label="label-left-align">{{i18nt('designer.setting.leftAlign')}}</el-radio-button>
23
- <el-radio-button label="label-center-align">{{i18nt('designer.setting.centerAlign')}}</el-radio-button>
24
- <el-radio-button label="label-right-align">{{i18nt('designer.setting.rightAlign')}}</el-radio-button>
25
- </el-radio-group>
26
- </el-form-item>
21
+ <!-- <el-form-item :label="i18nt('designer.setting.labelAlign')">-->
22
+ <!-- <el-radio-group v-model="formConfig.labelAlign" class="radio-group-custom">-->
23
+ <!-- <el-radio-button label="label-left-align">{{i18nt('designer.setting.leftAlign')}}</el-radio-button>-->
24
+ <!-- <el-radio-button label="label-center-align">{{i18nt('designer.setting.centerAlign')}}</el-radio-button>-->
25
+ <!-- <el-radio-button label="label-right-align">{{i18nt('designer.setting.rightAlign')}}</el-radio-button>-->
26
+ <!-- </el-radio-group>-->
27
+ <!-- </el-form-item>-->
27
28
  <el-form-item :label="i18nt('designer.setting.labelWidth')">
28
29
  <el-input-number v-model="formConfig.labelWidth" :min="0" style="width: 100%"></el-input-number>
29
30
  </el-form-item>
30
- <el-form-item :label="i18nt('designer.setting.formCss')">
31
- <el-button type="info" icon="el-icon-edit" plain round @click="editFormCss">{{i18nt('designer.setting.addCss')}}</el-button>
32
- </el-form-item>
31
+ <!-- <el-form-item :label="i18nt('designer.setting.formCss')">-->
32
+ <!-- <el-button type="info" icon="el-icon-edit" plain round @click="editFormCss">{{i18nt('designer.setting.addCss')}}</el-button>-->
33
+ <!-- </el-form-item>-->
33
34
  <!-- -->
34
- <el-form-item :label="i18nt('designer.setting.customClass')">
35
- <el-select v-model="formConfig.customClass" multiple filterable allow-create
36
- default-first-option>
37
- <el-option v-for="(item, idx) in cssClassList" :key="idx" :label="item" :value="item"></el-option>
38
- </el-select>
39
- </el-form-item>
35
+ <!-- <el-form-item :label="i18nt('designer.setting.customClass')">-->
36
+ <!-- <el-select v-model="formConfig.customClass" multiple filterable allow-create-->
37
+ <!-- default-first-option>-->
38
+ <!-- <el-option v-for="(item, idx) in cssClassList" :key="idx" :label="item" :value="item"></el-option>-->
39
+ <!-- </el-select>-->
40
+ <!-- </el-form-item>-->
40
41
  <!-- -->
41
- <el-form-item :label="i18nt('designer.setting.globalFunctions')">
42
- <el-button type="info" icon="el-icon-edit" plain round @click="editGlobalFunctions">{{i18nt('designer.setting.addEventHandler')}}</el-button>
43
- </el-form-item>
44
- <el-form-item label-width="0">
45
- <el-divider class="custom-divider">{{i18nt('designer.setting.formSFCSetting')}}</el-divider>
46
- </el-form-item>
47
- <el-form-item :label="i18nt('designer.setting.formModelName')">
48
- <el-input type="text" v-model="formConfig.modelName"></el-input>
49
- </el-form-item>
50
- <el-form-item :label="i18nt('designer.setting.formRefName')">
51
- <el-input type="text" v-model="formConfig.refName"></el-input>
52
- </el-form-item>
53
- <el-form-item :label="i18nt('designer.setting.formRulesName')">
54
- <el-input type="text" v-model="formConfig.rulesName"></el-input>
55
- </el-form-item>
42
+ <!-- <el-form-item :label="i18nt('designer.setting.globalFunctions')">-->
43
+ <!-- <el-button type="info" icon="el-icon-edit" plain round @click="editGlobalFunctions">{{i18nt('designer.setting.addEventHandler')}}</el-button>-->
44
+ <!-- </el-form-item>-->
45
+ <!-- <el-form-item label-width="0">-->
46
+ <!-- <el-divider class="custom-divider">{{i18nt('designer.setting.formSFCSetting')}}</el-divider>-->
47
+ <!-- </el-form-item>-->
48
+ <!-- <el-form-item :label="i18nt('designer.setting.formModelName')">-->
49
+ <!-- <el-input type="text" v-model="formConfig.modelName"></el-input>-->
50
+ <!-- </el-form-item>-->
51
+ <!-- <el-form-item :label="i18nt('designer.setting.formRefName')">-->
52
+ <!-- <el-input type="text" v-model="formConfig.refName"></el-input>-->
53
+ <!-- </el-form-item>-->
54
+ <!-- <el-form-item :label="i18nt('designer.setting.formRulesName')">-->
55
+ <!-- <el-input type="text" v-model="formConfig.rulesName"></el-input>-->
56
+ <!-- </el-form-item> -->
56
57
  </el-collapse-item>
57
58
 
58
- <el-collapse-item v-if="showEventCollapse()" name="2" :title="i18nt('designer.setting.eventSetting')">
59
- <el-form-item label="onFormCreated" label-width="150px">
60
- <el-button type="info" icon="el-icon-edit" plain round @click="editFormEventHandler('onFormCreated')">
61
- {{i18nt('designer.setting.addEventHandler')}}</el-button>
62
- </el-form-item>
63
- <el-form-item label="onFormMounted" label-width="150px">
64
- <el-button type="info" icon="el-icon-edit" plain round @click="editFormEventHandler('onFormMounted')">
65
- {{i18nt('designer.setting.addEventHandler')}}</el-button>
66
- </el-form-item>
67
- <!-- -->
68
- <el-form-item label="onFormDataChange" label-width="150px">
69
- <el-button type="info" icon="el-icon-edit" plain round @click="editFormEventHandler('onFormDataChange')">
70
- {{i18nt('designer.setting.addEventHandler')}}</el-button>
71
- </el-form-item>
72
- <!-- -->
73
- <!--
74
- <el-form-item label="onFormValidate">
75
- <el-button type="info" icon="el-icon-edit" plain round @click="editFormEventHandler('onFormValidate')">
76
- {{i18nt('designer.setting.addEventHandler')}}</el-button>
77
- </el-form-item>
78
- -->
79
- </el-collapse-item>
59
+ <!-- <el-collapse-item v-if="showEventCollapse()" name="2" :title="i18nt('designer.setting.eventSetting')">-->
60
+ <!-- <el-form-item label="onFormCreated" label-width="150px">-->
61
+ <!-- <el-button type="info" icon="el-icon-edit" plain round @click="editFormEventHandler('onFormCreated')">-->
62
+ <!-- {{i18nt('designer.setting.addEventHandler')}}</el-button>-->
63
+ <!-- </el-form-item>-->
64
+ <!-- <el-form-item label="onFormMounted" label-width="150px">-->
65
+ <!-- <el-button type="info" icon="el-icon-edit" plain round @click="editFormEventHandler('onFormMounted')">-->
66
+ <!-- {{i18nt('designer.setting.addEventHandler')}}</el-button>-->
67
+ <!-- </el-form-item>-->
68
+ <!-- &lt;!&ndash; &ndash;&gt;-->
69
+ <!-- <el-form-item label="onFormDataChange" label-width="150px">-->
70
+ <!-- <el-button type="info" icon="el-icon-edit" plain round @click="editFormEventHandler('onFormDataChange')">-->
71
+ <!-- {{i18nt('designer.setting.addEventHandler')}}</el-button>-->
72
+ <!-- </el-form-item>-->
73
+ <!-- &lt;!&ndash; &ndash;&gt;-->
74
+ <!-- <el-form-item label="onFormValidate">-->
75
+ <!-- <el-button type="info" icon="el-icon-edit" plain round @click="editFormEventHandler('onFormValidate')">-->
76
+ <!-- {{i18nt('designer.setting.addEventHandler')}}</el-button>-->
77
+ <!-- </el-form-item>-->
78
+ <!-- </el-collapse-item>-->
80
79
  </el-collapse>
81
80
  </el-form>
82
81
 
@@ -69,6 +69,7 @@
69
69
  <form-setting :designer="designer" :form-config="formConfig"></form-setting>
70
70
  </el-scrollbar>
71
71
  </el-tab-pane>
72
+
72
73
  </el-tabs>
73
74
 
74
75
  <el-dialog :title="i18nt('designer.setting.editWidgetEventHandler')" :visible.sync="showWidgetEventDialogFlag"
@@ -93,6 +94,7 @@
93
94
  import PropertyEditors from './property-editor/index'
94
95
  import FormSetting from './form-setting'
95
96
  import WidgetProperties from './propertyRegister'
97
+
96
98
  import {
97
99
  addWindowResizeHandler,
98
100
  } from "@/utils/util";
@@ -0,0 +1,24 @@
1
+ <template>
2
+ <el-form-item :label="i18nt('designer.setting.allowMultiple')">
3
+ <el-switch v-model="optionModel.allowMultiple"></el-switch>
4
+ </el-form-item>
5
+ </template>
6
+
7
+ <script>
8
+ import i18n from "@/utils/i18n"
9
+ import propertyMixin from "@/components/form-designer/setting-panel/property-editor/propertyMixin"
10
+
11
+ export default {
12
+ name: "allowMultiple-editor",
13
+ mixins: [i18n, propertyMixin],
14
+ props: {
15
+ designer: Object,
16
+ selectedWidget: Object,
17
+ optionModel: Object,
18
+ },
19
+ }
20
+ </script>
21
+
22
+ <style scoped>
23
+
24
+ </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.border')">
2
+ <el-form-item :label="i18nt('designer.setting.border')" v-if="!optionModel.relationType || optionModel.relationType=='list'">
3
3
  <el-switch v-model="optionModel.border"></el-switch>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.buttonStyle')">
2
+ <el-form-item :label="i18nt('designer.setting.buttonStyle')" v-if="!optionModel.relationType || optionModel.relationType=='list'">
3
3
  <el-switch v-model="optionModel.buttonStyle"></el-switch>
4
4
  </el-form-item>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <el-form-item :label="i18nt('designer.setting.clearable')">
2
+ <el-form-item :label="i18nt('designer.setting.clearable')" v-if="!optionModel.relationType || optionModel.relationType=='select' || optionModel.relationType=='help'">
3
3
  <el-switch v-model="optionModel.clearable"></el-switch>
4
4
  </el-form-item>
5
5
  </template>