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.
Files changed (28) hide show
  1. package/package.json +1 -1
  2. package/src/components/wf/content.vue +2 -0
  3. package/src/components/wf/setCandidateDialog.vue +1 -0
  4. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +33 -38
  5. package/src/components/xform/form-designer/form-widget/field-widget/mixins/vabsearch-mixin.js +176 -0
  6. package/src/components/xform/form-designer/form-widget/field-widget/multiSearch-widget.vue +53 -0
  7. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +5 -2
  8. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +1 -0
  9. package/src/components/xform/form-designer/form-widget/field-widget/singerSearch-widget.vue +53 -0
  10. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +2 -173
  11. package/src/components/xform/form-designer/indexMixin.js +5 -1
  12. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +0 -8
  13. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +0 -8
  14. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
  15. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +13 -11
  16. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +13 -1
  17. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +11 -11
  18. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +18 -17
  19. package/src/components/xform/form-designer/toolbar-panel/index.vue +8 -4
  20. package/src/components/xform/form-designer/widget-panel/index.vue +19 -15
  21. package/src/components/xform/form-designer/widget-panel/indexMixin.js +3 -0
  22. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +200 -80
  23. package/src/components/xform/form-render/container-item/data-table-mixin.js +6 -10
  24. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
  25. package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
  26. package/src/components/xform/form-render/indexMixin.js +127 -8
  27. package/src/components/xform/lang/zh-CN.js +5 -2
  28. 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 (obj.column.params.widget == 'vabsearch') {
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 (obj.column.params.widget == 'vabsearch') {
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.getSaleOrgData();
229
- await this.getUserRoleData();
230
- await this.getBdService();
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
- getSaleOrgData() {
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
- getUserRoleData() {
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
- getBdService() {
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.type == 'vabsearch') {
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.type == 'vabsearch') {
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
  }