cloud-web-corejs 1.0.54-dev.193 → 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 +33 -38
- 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/select-widget.vue +1 -0
- 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 +13 -1
- 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 +200 -80
- 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 +127 -8
- package/src/components/xform/lang/zh-CN.js +5 -2
- package/src/components/xform/mixins/defaultHandle.js +120 -1
@@ -811,14 +811,6 @@ export default {
|
|
811
811
|
let columnEditFields = null;
|
812
812
|
|
813
813
|
let type = this.columnFormatMap[row.formatS];
|
814
|
-
/*if (type == 'date') {
|
815
|
-
columnEditFields = ['type', 'format', 'valueFormat']
|
816
|
-
} else if (type == 'select') {
|
817
|
-
|
818
|
-
}
|
819
|
-
if (type == 'vabsearch') {
|
820
|
-
columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
|
821
|
-
}*/
|
822
814
|
|
823
815
|
if (type) {
|
824
816
|
columnSelectedWidget = this.$baseLodash.cloneDeep(formRef.getFieldWidgetByType(type));
|
@@ -845,7 +837,7 @@ export default {
|
|
845
837
|
return "false";
|
846
838
|
} else {
|
847
839
|
let propName = this.getFieldKeyName(widget) + '.' + obj.rowIndex + '.' + obj.column.field
|
848
|
-
if (
|
840
|
+
if (this.isVabsearchFlagWidget(widget)) {
|
849
841
|
let vabSearchName = obj.column.params.widget.options.vabSearchName;
|
850
842
|
propName = this.getFieldKeyName(widget) + '.' + obj.rowIndex + '.' + vabSearchName;
|
851
843
|
}
|
@@ -1247,14 +1247,7 @@ export default {
|
|
1247
1247
|
let columnEditFields = null;
|
1248
1248
|
|
1249
1249
|
let type = this.columnFormatMap[row.formatS];
|
1250
|
-
/*if (type == 'date') {
|
1251
|
-
columnEditFields = ['type', 'format', 'valueFormat']
|
1252
|
-
} else if (type == 'select') {
|
1253
1250
|
|
1254
|
-
}
|
1255
|
-
if (type == 'vabsearch') {
|
1256
|
-
columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
|
1257
|
-
}*/
|
1258
1251
|
|
1259
1252
|
if (type) {
|
1260
1253
|
columnSelectedWidget = this.$baseLodash.cloneDeep(formRef.getFieldWidgetByType(type));
|
@@ -1281,7 +1274,7 @@ export default {
|
|
1281
1274
|
return "false";
|
1282
1275
|
} else {
|
1283
1276
|
let propName = this.getFieldKeyName(widget) + '.' + obj.rowIndex + '.' + obj.column.field
|
1284
|
-
if (
|
1277
|
+
if (this.isVabsearchFlagWidget(widget)) {
|
1285
1278
|
let vabSearchName = obj.column.params.widget.options.vabSearchName;
|
1286
1279
|
propName = this.getFieldKeyName(widget) + '.' + obj.rowIndex + '.' + vabSearchName;
|
1287
1280
|
}
|
@@ -175,8 +175,13 @@ modules = {
|
|
175
175
|
importDialogOption: {},
|
176
176
|
formDrawerOption: {},
|
177
177
|
showFormDrawer: false,
|
178
|
+
userInfo: null,
|
178
179
|
userSaleOrgDTOs: [],
|
179
180
|
userRoleDTOs: [],
|
181
|
+
|
182
|
+
userSaleOrgDTO2s: [],
|
183
|
+
userRoleDTO2s: [],
|
184
|
+
defaultUserSaleOrgDTO: null,
|
180
185
|
bdService: null,
|
181
186
|
globalParam: {}
|
182
187
|
};
|
@@ -225,9 +230,10 @@ modules = {
|
|
225
230
|
this.registerFormToRefList()
|
226
231
|
this.currentFormData = this.formData;
|
227
232
|
let formConfig = this.formConfig;
|
228
|
-
await this.
|
229
|
-
await this.
|
230
|
-
await this.
|
233
|
+
await this.initUserInfo();
|
234
|
+
await this.initSaleOrgData();
|
235
|
+
await this.initUserRoleData();
|
236
|
+
await this.initBdService();
|
231
237
|
this.buildFormModel(!this.formJsonObj ? null : this.formJsonObj.widgetList);
|
232
238
|
this.hanldeCommonWidget();//处理组件显隐规则
|
233
239
|
if (formConfig.isLoadEntity) {
|
@@ -246,7 +252,64 @@ modules = {
|
|
246
252
|
this.handleOnMounted();
|
247
253
|
},
|
248
254
|
methods: {
|
249
|
-
|
255
|
+
/**
|
256
|
+
* 数据对象key 驼峰下划线相互转化
|
257
|
+
* @param {Object} data - 原始对象 支持-数组、key-value对象、字符串
|
258
|
+
* @param {String} type hump-转驼峰 toLine-转下划线
|
259
|
+
*/
|
260
|
+
formatHumpLineTransfer(data, type = 'hump') {
|
261
|
+
let hump = ''
|
262
|
+
// 转换对象中的每一个键值为驼峰的递归
|
263
|
+
let formatTransferKey = (data) => {
|
264
|
+
if (data instanceof Array) {
|
265
|
+
data.forEach(item => formatTransferKey(item))
|
266
|
+
} else if (data instanceof Object) {
|
267
|
+
for (let key in data) {
|
268
|
+
hump = type === 'hump' ? this.formatToHump(key) : this.formatToLine(key)
|
269
|
+
data[hump] = data[key]
|
270
|
+
if (key !== hump) {
|
271
|
+
delete data[key]
|
272
|
+
}
|
273
|
+
if (data[hump] instanceof Object) {
|
274
|
+
formatTransferKey(data[hump])
|
275
|
+
}
|
276
|
+
}
|
277
|
+
} else if (typeof data === 'string') {
|
278
|
+
data = type === 'hump' ? this.formatToHump(data) : this.formatToLine(data)
|
279
|
+
}
|
280
|
+
}
|
281
|
+
formatTransferKey(data)
|
282
|
+
return data
|
283
|
+
},
|
284
|
+
|
285
|
+
/**
|
286
|
+
* 字符串下划线转驼峰
|
287
|
+
* @param {String} value 需要转换的值
|
288
|
+
*/
|
289
|
+
formatToHump(value) {
|
290
|
+
return value.replace(/\_(\w)/g, (_, letter) => letter.toUpperCase())
|
291
|
+
},
|
292
|
+
|
293
|
+
/**
|
294
|
+
* 字符串驼峰转下划线
|
295
|
+
* @param {String} value
|
296
|
+
*/
|
297
|
+
formatToLine(value) {
|
298
|
+
return value.replace(/([A-Z])/g, "_$1").toLowerCase()
|
299
|
+
},
|
300
|
+
|
301
|
+
initUserInfo() {
|
302
|
+
return this.$http({
|
303
|
+
url: USER_PREFIX + '/user/currentUser',
|
304
|
+
method: 'post',
|
305
|
+
success: res => {
|
306
|
+
let userInfo = res.objx;
|
307
|
+
let row = this.formatHumpLineTransfer(userInfo, "toLine")
|
308
|
+
this.userInfo = row;
|
309
|
+
}
|
310
|
+
});
|
311
|
+
},
|
312
|
+
initSaleOrgData() {
|
250
313
|
if (this.$store.getters.userId) {
|
251
314
|
return this.$http({
|
252
315
|
url: USER_PREFIX + '/user/getUserSaleOrg',
|
@@ -258,11 +321,16 @@ modules = {
|
|
258
321
|
success: res => {
|
259
322
|
let rows = res.objx || [];
|
260
323
|
this.userSaleOrgDTOs = rows;
|
324
|
+
|
325
|
+
let companyCode = this.$store.getters.companyCode;
|
326
|
+
let row2s = rows.filter(row => row.companyCode === companyCode)
|
327
|
+
this.userSaleOrgDTO2s = row2s;
|
328
|
+
this.defaultUserSaleOrgDTO = row2s.find(item => item.defaults)
|
261
329
|
}
|
262
330
|
});
|
263
331
|
}
|
264
332
|
},
|
265
|
-
|
333
|
+
initUserRoleData() {
|
266
334
|
if (this.$store.getters.userId) {
|
267
335
|
return this.$http({
|
268
336
|
url: USER_PREFIX + '/user/getUserRole',
|
@@ -274,11 +342,14 @@ modules = {
|
|
274
342
|
success: res => {
|
275
343
|
let rows = res.objx || [];
|
276
344
|
this.userRoleDTOs = rows;
|
345
|
+
|
346
|
+
let companyCode = this.$store.getters.companyCode;
|
347
|
+
this.userRoleDTO2s = rows.filter(row => row.companyCode === companyCode)
|
277
348
|
}
|
278
349
|
});
|
279
350
|
}
|
280
351
|
},
|
281
|
-
|
352
|
+
initBdService() {
|
282
353
|
return this.$http({
|
283
354
|
url: USER_PREFIX + '/form_develop/getBdService',
|
284
355
|
method: `post`,
|
@@ -291,6 +362,50 @@ modules = {
|
|
291
362
|
}
|
292
363
|
});
|
293
364
|
},
|
365
|
+
getUserInfo() {
|
366
|
+
return this.userInfo;
|
367
|
+
},
|
368
|
+
getUserSaleOrgDTOs() {
|
369
|
+
return this.userSaleOrgDTO2s;
|
370
|
+
},
|
371
|
+
getUserRoleDTOs() {
|
372
|
+
return this.userRoleDTO2s;
|
373
|
+
},
|
374
|
+
getDefaultUserSaleOrgDTO() {
|
375
|
+
return this.defaultUserSaleOrgDTO;
|
376
|
+
},
|
377
|
+
getSaleOrgDTOs() {
|
378
|
+
return this.userSaleOrgDTO2s.map(item => {
|
379
|
+
return {
|
380
|
+
id: item.saleOrgId,
|
381
|
+
sn: item.sn,
|
382
|
+
name: item.saleOrgName,
|
383
|
+
companyCode: item.companyCode,
|
384
|
+
companyName: item.companyName
|
385
|
+
}
|
386
|
+
});
|
387
|
+
},
|
388
|
+
getRoleDTOs() {
|
389
|
+
return this.userRoleDTO2s.map(item => {
|
390
|
+
return {
|
391
|
+
id: item.roleId,
|
392
|
+
code: item.roleCode,
|
393
|
+
name: item.roleName,
|
394
|
+
companyCode: item.companyCode,
|
395
|
+
companyName: item.companyName
|
396
|
+
}
|
397
|
+
});
|
398
|
+
},
|
399
|
+
getDefaultSaleOrgDTO() {
|
400
|
+
let item = this.defaultUserSaleOrgDTO;
|
401
|
+
return item ? {
|
402
|
+
id: item.saleOrgId,
|
403
|
+
sn: item.sn,
|
404
|
+
name: item.saleOrgName,
|
405
|
+
companyCode: item.companyCode,
|
406
|
+
companyName: item.companyName
|
407
|
+
} : null;
|
408
|
+
},
|
294
409
|
handleShowContent(callback) {
|
295
410
|
// this.buildFormModel(!this.formJsonObj ? null : this.formJsonObj.widgetList);
|
296
411
|
this.showFormContent = true;
|
@@ -1365,7 +1480,7 @@ modules = {
|
|
1365
1480
|
fieldMap[fieldKeyName] = widget;
|
1366
1481
|
} else {
|
1367
1482
|
fieldMap[fieldKeyName] = fieldKeyName;
|
1368
|
-
if (widget
|
1483
|
+
if (this.isVabsearchFlagWidget(widget)) {
|
1369
1484
|
let vabSearchName = widget.options.vabSearchName;
|
1370
1485
|
if (vabSearchName) fieldMap[vabSearchName] = vabSearchName;
|
1371
1486
|
}
|
@@ -1401,6 +1516,10 @@ modules = {
|
|
1401
1516
|
|| o
|
1402
1517
|
);
|
1403
1518
|
},
|
1519
|
+
isVabsearchFlagWidget(widget) {
|
1520
|
+
let type = widget?.type;
|
1521
|
+
return type == "vabsearch" || type == "singerSearch" || type == "multiSearch";
|
1522
|
+
},
|
1404
1523
|
getFormTemplateTableDTOs() {
|
1405
1524
|
let formTemplateTableDTOs = [];
|
1406
1525
|
let formCode = this.reportTemplate.formCode;
|
@@ -1511,7 +1630,7 @@ modules = {
|
|
1511
1630
|
};
|
1512
1631
|
formTemplateTableDTOs.push(formTemplateTable);
|
1513
1632
|
}
|
1514
|
-
} else if (widget.tableField && widget
|
1633
|
+
} else if (widget.tableField && this.isVabsearchFlagWidget(widget)) {
|
1515
1634
|
if (submitFlag) {
|
1516
1635
|
fields.push({
|
1517
1636
|
fieldDesc: widget.options.label + "ID",
|
@@ -100,11 +100,14 @@ export default {
|
|
100
100
|
'project-tag': '标签',
|
101
101
|
'dropdown-menu': '下拉菜单',
|
102
102
|
|
103
|
-
|
104
103
|
"create_by-text": "创建人",
|
105
104
|
"modify_by-text": "更新人",
|
106
105
|
"create_date-text": "创建时间",
|
107
106
|
"modfiy_date-text": "更新时间",
|
107
|
+
"user-vabsearch": "用户(单选)",
|
108
|
+
"saleOrg-vabsearch": "机构(单选)",
|
109
|
+
"user-project-tag": "用户(多选)",
|
110
|
+
"saleOrg-project-tag": "机构(多选)",
|
108
111
|
},
|
109
112
|
hint: {
|
110
113
|
formulaSetting: "公式设置",
|
@@ -595,7 +598,7 @@ export default {
|
|
595
598
|
enterForQuery: "输入关键字进行过滤",
|
596
599
|
add: "添加",
|
597
600
|
delete: "删除",
|
598
|
-
censusClass:'统计样式'
|
601
|
+
censusClass: '统计样式'
|
599
602
|
}
|
600
603
|
}
|
601
604
|
}
|