cloud-web-corejs 1.0.54-dev.194 → 1.0.54-dev.196

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 (32) 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 +7 -39
  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/singerSearch-widget.vue +53 -0
  9. package/src/components/xform/form-designer/form-widget/field-widget/vabSearch-widget.vue +2 -173
  10. package/src/components/xform/form-designer/indexMixin.js +5 -1
  11. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +0 -8
  12. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +0 -8
  13. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +0 -8
  14. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +13 -11
  15. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabSearch/vabSearchName-editor.vue +5 -3
  16. package/src/components/xform/form-designer/setting-panel/property-editor/multiple-editor.vue +11 -11
  17. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +18 -17
  18. package/src/components/xform/form-designer/toolbar-panel/index.vue +8 -4
  19. package/src/components/xform/form-designer/widget-panel/index.vue +19 -15
  20. package/src/components/xform/form-designer/widget-panel/indexMixin.js +3 -0
  21. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +150 -181
  22. package/src/components/xform/form-render/container-item/data-table-mixin.js +6 -10
  23. package/src/components/xform/form-render/container-item/list-h5-item.vue +1 -9
  24. package/src/components/xform/form-render/container-item/list-h5-item2.vue +1 -8
  25. package/src/components/xform/form-render/indexMixin.js +9 -5
  26. package/src/components/xform/lang/zh-CN.js +4 -3
  27. package/src/components/xform/mixins/defaultHandle.js +120 -1
  28. package/src/views/bd/setting/bd_attach_setting/edit.vue +5 -5
  29. package/src/views/bd/setting/bd_attach_setting/list.vue +28 -55
  30. package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +4 -5
  31. package/src/views/bd/setting/bd_attach_setting/mixins/list.js +1 -1
  32. package/src/views/bd/setting/form_script/form_list.vue +1 -1
@@ -801,6 +801,94 @@ export const defaultWidgetShowRuleConfig = {
801
801
  widgetShowRuleConfig: [],
802
802
  }
803
803
 
804
+ const vabsearchConfig = {
805
+ name: "",
806
+ keyNameEnabled: !1,
807
+ keyName: "",
808
+ vabSearchName: "",
809
+ userDefaultVabSearch: false,
810
+ saleOrgDefaultVabSearch: false,
811
+ label: "",
812
+ submitFlag: true,
813
+ disabled: !1,
814
+ hidden: !1,
815
+ required: !1,
816
+ labelWidth: null,
817
+ labelHidden: !1,
818
+ readonly: true,
819
+ /*formCode: null,
820
+ formName: null,
821
+ formVersion: null,
822
+ showFormField: null,*/
823
+ /* gridConfig: {
824
+ tableColumns: [],
825
+ searchFields: [],
826
+ searchParams: ""
827
+ },*/
828
+ // vabSearchField: null,
829
+ vabsearchFlag: 1,
830
+ onSearchClear: "",
831
+ dialogModel: '1',
832
+ systemDialogUrl: null,
833
+ accessType: "1",
834
+ onCreated: "",
835
+ onMounted: "",
836
+ onChange: "",
837
+ onAppendButtonClick: "",
838
+ clickBindEvent: '1',
839
+ searchDialogConfig: {
840
+ ...defaultSearchDialogConfig,
841
+ multipleChoices: false
842
+ },
843
+ ...defaultWfConfig,
844
+ valueField: null,
845
+ multipleChoices: false,
846
+
847
+ showRuleFlag: 1,
848
+ showRuleEnabled: 1,
849
+ showRules: []
850
+ }
851
+
852
+ const projectTagConfig = {
853
+ name: "",
854
+ keyNameEnabled: !1,
855
+ keyName: "",
856
+ // keyNameSuffix: "",
857
+ label: "",
858
+ submitFlag: true,
859
+ disabled: !1,
860
+ readonly: false,
861
+ hidden: !1,
862
+ required: !1,
863
+ labelWidth: null,
864
+ labelHidden: !1,
865
+ onCreated: "if(this.dataId)this.loadDataDefaultHandle();",
866
+ onMounted: "",
867
+ onClick: "",
868
+ // vabUpload: 1,
869
+ formScriptEnabled: true,
870
+ formScriptCode: "getList",
871
+ formScriptParam: null,
872
+ formScriptSuccess: null,
873
+ ...defaultWfConfig,
874
+
875
+ showRuleFlag: 1,
876
+ showRuleEnabled: 1,
877
+ showRules: [],
878
+
879
+ tagFormCode: null,
880
+ tagFormParam: null,
881
+ tagLabelField: null,
882
+ tagUniqueField: null,
883
+ tagFormLabelField: null,
884
+ tagFormUniqueField: null,
885
+ tagFillConfig: [],
886
+ tagConfirmCallback: null,
887
+ tagDeleteCallback: null,
888
+ tabDeleteEnabled: true,
889
+
890
+ }
891
+
804
892
  export const basicFields = [
805
893
  {
806
894
  type: "input",
@@ -2575,51 +2663,29 @@ export const advancedFields = [
2575
2663
  formItemFlag: !0,
2576
2664
  tableField: null,
2577
2665
  options: {
2578
- name: "",
2579
- keyNameEnabled: !1,
2580
- keyName: "",
2581
- vabSearchName: "",
2582
- userDefaultVabSearch:false,
2583
- saleOrgDefaultVabSearch:false,
2584
- label: "",
2585
- submitFlag: true,
2586
- disabled: !1,
2587
- hidden: !1,
2588
- required: !1,
2589
- labelWidth: null,
2590
- labelHidden: !1,
2591
- readonly: true,
2592
- /*formCode: null,
2593
- formName: null,
2594
- formVersion: null,
2595
- showFormField: null,*/
2596
- /* gridConfig: {
2597
- tableColumns: [],
2598
- searchFields: [],
2599
- searchParams: ""
2600
- },*/
2601
- // vabSearchField: null,
2602
- onSearchClear: "",
2603
- dialogModel: '1',
2604
- systemDialogUrl: null,
2605
- accessType: "1",
2606
- onCreated: "",
2607
- onMounted: "",
2608
- onChange: "",
2609
- onAppendButtonClick: "",
2610
- clickBindEvent: '1',
2611
- searchDialogConfig: {
2612
- ...defaultSearchDialogConfig,
2613
- multipleChoices: false
2614
- },
2615
- ...defaultWfConfig,
2616
- valueField: null,
2617
- multipleChoices: false,
2618
-
2619
- showRuleFlag: 1,
2620
- showRuleEnabled: 1,
2621
- showRules: []
2622
-
2666
+ ...vabsearchConfig
2667
+ }
2668
+ },
2669
+ {
2670
+ type: "singerSearch",
2671
+ icon: "searchbox",
2672
+ // commonFlag: !0,
2673
+ // columnFlag: true,
2674
+ formItemFlag: !0,
2675
+ tableField: null,
2676
+ options: {
2677
+ ...vabsearchConfig
2678
+ }
2679
+ },
2680
+ {
2681
+ type: "multiSearch",
2682
+ icon: "searchbox",
2683
+ // commonFlag: !0,
2684
+ // columnFlag: true,
2685
+ formItemFlag: !0,
2686
+ tableField: null,
2687
+ options: {
2688
+ ...vabsearchConfig
2623
2689
  }
2624
2690
  },
2625
2691
  {
@@ -3039,6 +3105,7 @@ export const advancedFields = [
3039
3105
  showRules: []
3040
3106
  }
3041
3107
  },
3108
+
3042
3109
  {
3043
3110
  type: "project-tag",
3044
3111
  icon: "uploadbox",
@@ -3047,43 +3114,7 @@ export const advancedFields = [
3047
3114
  formItemFlag: !0,
3048
3115
  tableField: null,
3049
3116
  options: {
3050
- name: "",
3051
- keyNameEnabled: !1,
3052
- keyName: "",
3053
- // keyNameSuffix: "",
3054
- label: "",
3055
- submitFlag: true,
3056
- disabled: !1,
3057
- readonly: false,
3058
- hidden: !1,
3059
- required: !1,
3060
- labelWidth: null,
3061
- labelHidden: !1,
3062
- onCreated: "if(this.dataId)this.loadDataDefaultHandle();",
3063
- onMounted: "",
3064
- onClick: "",
3065
- // vabUpload: 1,
3066
- formScriptEnabled: true,
3067
- formScriptCode: "getList",
3068
- formScriptParam: null,
3069
- formScriptSuccess: null,
3070
- ...defaultWfConfig,
3071
-
3072
- showRuleFlag: 1,
3073
- showRuleEnabled: 1,
3074
- showRules: [],
3075
-
3076
- tagFormCode: null,
3077
- tagFormParam: null,
3078
- tagLabelField: null,
3079
- tagUniqueField: null,
3080
- tagFormLabelField: null,
3081
- tagFormUniqueField: null,
3082
- tagFillConfig: [],
3083
- tagConfirmCallback: null,
3084
- tagDeleteCallback: null,
3085
- tabDeleteEnabled: false,
3086
-
3117
+ ...projectTagConfig
3087
3118
  }
3088
3119
  },
3089
3120
  {
@@ -3318,36 +3349,17 @@ export const businessFields = [
3318
3349
 
3319
3350
  {
3320
3351
  type: "user-vabsearch",
3321
- targetType: "vabsearch",
3352
+ targetType: "singerSearch",
3322
3353
  icon: "searchbox",
3323
3354
  commonFlag: !0,
3324
3355
  columnFlag: true,
3325
3356
  formItemFlag: !0,
3326
3357
  tableField: null,
3327
3358
  options: {
3328
- name: "",
3329
- keyNameEnabled: !1,
3330
- keyName: "",
3359
+ ...vabsearchConfig,
3331
3360
  vabSearchName: "nick_name",
3332
- userDefaultVabSearch:false,
3333
- saleOrgDefaultVabSearch:false,
3361
+ userDefaultVabSearch: true,
3334
3362
  label: "用户",
3335
- submitFlag: true,
3336
- disabled: !1,
3337
- hidden: !1,
3338
- required: !1,
3339
- labelWidth: null,
3340
- labelHidden: !1,
3341
- readonly: true,
3342
- onSearchClear: "",
3343
- dialogModel: '1',
3344
- systemDialogUrl: null,
3345
- accessType: "1",
3346
- onCreated: "",
3347
- onMounted: "",
3348
- onChange: "",
3349
- onAppendButtonClick: "",
3350
- clickBindEvent: '1',
3351
3363
  searchDialogConfig: {
3352
3364
  ...defaultSearchDialogConfig,
3353
3365
  multipleChoices: false,
@@ -3355,48 +3367,21 @@ export const businessFields = [
3355
3367
  valueSourceField: "id",
3356
3368
  labelSourceField: "nick_name",
3357
3369
  },
3358
- ...defaultWfConfig,
3359
- valueField: null,
3360
- multipleChoices: false,
3361
-
3362
- showRuleFlag: 1,
3363
- showRuleEnabled: 1,
3364
- showRules: []
3365
-
3366
3370
  }
3367
3371
  },
3368
3372
  {
3369
3373
  type: "saleOrg-vabsearch",
3370
- targetType: "vabsearch",
3374
+ targetType: "singerSearch",
3371
3375
  icon: "searchbox",
3372
3376
  commonFlag: !0,
3373
3377
  columnFlag: true,
3374
3378
  formItemFlag: !0,
3375
3379
  tableField: null,
3376
3380
  options: {
3377
- name: "",
3378
- keyNameEnabled: !1,
3379
- keyName: "",
3381
+ ...vabsearchConfig,
3380
3382
  vabSearchName: "sale_org_name",
3381
- userDefaultVabSearch:false,
3382
- saleOrgDefaultVabSearch:false,
3383
+ saleOrgDefaultVabSearch: true,
3383
3384
  label: "机构",
3384
- submitFlag: true,
3385
- disabled: !1,
3386
- hidden: !1,
3387
- required: !1,
3388
- labelWidth: null,
3389
- labelHidden: !1,
3390
- readonly: true,
3391
- onSearchClear: "",
3392
- dialogModel: '1',
3393
- systemDialogUrl: null,
3394
- accessType: "1",
3395
- onCreated: "",
3396
- onMounted: "",
3397
- onChange: "",
3398
- onAppendButtonClick: "",
3399
- clickBindEvent: '1',
3400
3385
  searchDialogConfig: {
3401
3386
  ...defaultSearchDialogConfig,
3402
3387
  multipleChoices: false,
@@ -3404,66 +3389,50 @@ export const businessFields = [
3404
3389
  valueSourceField: "id",
3405
3390
  labelSourceField: "name"
3406
3391
  },
3407
- ...defaultWfConfig,
3408
- valueField: null,
3409
- multipleChoices: false,
3410
-
3411
- showRuleFlag: 1,
3412
- showRuleEnabled: 1,
3413
- showRules: []
3392
+ }
3393
+ },
3414
3394
 
3395
+ {
3396
+ type: "user-project-tag",
3397
+ targetType: "project-tag",
3398
+ icon: "uploadbox",
3399
+ commonFlag: !0,
3400
+ columnFlag: true,
3401
+ formItemFlag: !0,
3402
+ tableField: null,
3403
+ options: {
3404
+ ...projectTagConfig,
3405
+ label: "用户",
3406
+ tagFormCode: "user_dialog",
3407
+ tagLabelField: "nick_name",
3408
+ tagUniqueField: "id",
3409
+ tagFormLabelField: "nick_name",
3410
+ tagFormUniqueField: "id",
3411
+ tabDeleteEnabled: true,
3415
3412
  }
3416
3413
  },
3417
3414
  {
3418
- type: "role-vabsearch",
3419
- targetType: "vabsearch",
3420
- icon: "searchbox",
3415
+ type: "saleOrg-project-tag",
3416
+ targetType: "project-tag",
3417
+ icon: "uploadbox",
3421
3418
  commonFlag: !0,
3422
3419
  columnFlag: true,
3423
3420
  formItemFlag: !0,
3424
3421
  tableField: null,
3425
3422
  options: {
3426
- name: "",
3427
- keyNameEnabled: !1,
3428
- keyName: "",
3429
- vabSearchName: "role_name",
3430
- userDefaultVabSearch:false,
3431
- saleOrgDefaultVabSearch:false,
3432
- label: "角色",
3433
- submitFlag: true,
3434
- disabled: !1,
3435
- hidden: !1,
3436
- required: !1,
3437
- labelWidth: null,
3438
- labelHidden: !1,
3439
- readonly: true,
3440
- onSearchClear: "",
3441
- dialogModel: '1',
3442
- systemDialogUrl: null,
3443
- accessType: "1",
3444
- onCreated: "",
3445
- onMounted: "",
3446
- onChange: "",
3447
- onAppendButtonClick: "",
3448
- clickBindEvent: '1',
3449
- searchDialogConfig: {
3450
- ...defaultSearchDialogConfig,
3451
- multipleChoices: false,
3452
- formCode: "role_dialog",
3453
- valueSourceField: "id",
3454
- labelSourceField: "name"
3455
- },
3456
- ...defaultWfConfig,
3457
- valueField: null,
3458
- multipleChoices: false,
3459
-
3460
- showRuleFlag: 1,
3461
- showRuleEnabled: 1,
3462
- showRules: []
3423
+ ...projectTagConfig,
3424
+ label: "机构",
3425
+ tagFormCode: "sale_org_dialog",
3426
+ tagLabelField: "name",
3427
+ tagUniqueField: "id",
3428
+ tagFormLabelField: "name",
3429
+ tagFormUniqueField: "id",
3430
+ tabDeleteEnabled: true,
3463
3431
 
3464
3432
  }
3465
3433
  },
3466
3434
 
3435
+
3467
3436
  ]
3468
3437
 
3469
3438
  export const keyNamePrefixMap = {
@@ -881,7 +881,7 @@ modules = {
881
881
 
882
882
  // let formRef = that.getFormRef();
883
883
  // let dataTableConfig = formRef.$attrs.dataTableOption || {};
884
- if(that.dataTableConfig.queryParam){
884
+ if (that.dataTableConfig.queryParam) {
885
885
  Object.assign(queryParams, that.dataTableConfig.queryParam);
886
886
  }
887
887
 
@@ -1394,14 +1394,6 @@ modules = {
1394
1394
  let columnEditFields = null;
1395
1395
 
1396
1396
  let type = this.columnFormatMap[formatS];
1397
- /*if (type == 'date') {
1398
- columnEditFields = ['type', 'format', 'valueFormat']
1399
- } else if (type == 'select') {
1400
-
1401
- }
1402
- if (type == 'vabsearch') {
1403
- columnEditFields = ['vabSearchField', 'formCode', 'formVersion', 'required', 'showFormField', 'onSearchConfirm', 'onSearchClear']
1404
- }*/
1405
1397
 
1406
1398
  if (type) {
1407
1399
  columnSelectedWidget = this.$baseLodash.cloneDeep(
@@ -1512,7 +1504,7 @@ modules = {
1512
1504
  if (!lineWidget) {
1513
1505
  return "false";
1514
1506
  }
1515
- if (lineWidget?.type == "vabsearch") {
1507
+ if (this.isVabsearchFlagWidget(lineWidget)) {
1516
1508
  let fieldName =
1517
1509
  lineWidget.options.vabSearchName ||
1518
1510
  this.getFieldKeyName(lineWidget);
@@ -1524,6 +1516,10 @@ modules = {
1524
1516
  return "false";
1525
1517
  }
1526
1518
  },
1519
+ isVabsearchFlagWidget(widget) {
1520
+ let type = widget?.type;
1521
+ return type == "vabsearch" || type == "singerSearch" || type == "multiSearch";
1522
+ },
1527
1523
  getColumnWidgetName(e) {
1528
1524
  if (e && e.type) {
1529
1525
  if (e.category == "container") {
@@ -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
  }
@@ -257,7 +257,7 @@ modules = {
257
257
  * @param {Object} data - 原始对象 支持-数组、key-value对象、字符串
258
258
  * @param {String} type hump-转驼峰 toLine-转下划线
259
259
  */
260
- formatHumpLineTransfer (data, type = 'hump') {
260
+ formatHumpLineTransfer(data, type = 'hump') {
261
261
  let hump = ''
262
262
  // 转换对象中的每一个键值为驼峰的递归
263
263
  let formatTransferKey = (data) => {
@@ -295,7 +295,7 @@ modules = {
295
295
  * @param {String} value
296
296
  */
297
297
  formatToLine(value) {
298
- return value.replace(/([A-Z])/g,"_$1").toLowerCase()
298
+ return value.replace(/([A-Z])/g, "_$1").toLowerCase()
299
299
  },
300
300
 
301
301
  initUserInfo() {
@@ -304,7 +304,7 @@ modules = {
304
304
  method: 'post',
305
305
  success: res => {
306
306
  let userInfo = res.objx;
307
- let row = this.formatHumpLineTransfer(userInfo,"toLine")
307
+ let row = this.formatHumpLineTransfer(userInfo, "toLine")
308
308
  this.userInfo = row;
309
309
  }
310
310
  });
@@ -1480,7 +1480,7 @@ modules = {
1480
1480
  fieldMap[fieldKeyName] = widget;
1481
1481
  } else {
1482
1482
  fieldMap[fieldKeyName] = fieldKeyName;
1483
- if (widget.type == 'vabsearch') {
1483
+ if (this.isVabsearchFlagWidget(widget)) {
1484
1484
  let vabSearchName = widget.options.vabSearchName;
1485
1485
  if (vabSearchName) fieldMap[vabSearchName] = vabSearchName;
1486
1486
  }
@@ -1516,6 +1516,10 @@ modules = {
1516
1516
  || o
1517
1517
  );
1518
1518
  },
1519
+ isVabsearchFlagWidget(widget) {
1520
+ let type = widget?.type;
1521
+ return type == "vabsearch" || type == "singerSearch" || type == "multiSearch";
1522
+ },
1519
1523
  getFormTemplateTableDTOs() {
1520
1524
  let formTemplateTableDTOs = [];
1521
1525
  let formCode = this.reportTemplate.formCode;
@@ -1626,7 +1630,7 @@ modules = {
1626
1630
  };
1627
1631
  formTemplateTableDTOs.push(formTemplateTable);
1628
1632
  }
1629
- } else if (widget.tableField && widget.type == 'vabsearch') {
1633
+ } else if (widget.tableField && this.isVabsearchFlagWidget(widget)) {
1630
1634
  if (submitFlag) {
1631
1635
  fields.push({
1632
1636
  fieldDesc: widget.options.label + "ID",
@@ -104,9 +104,10 @@ export default {
104
104
  "modify_by-text": "更新人",
105
105
  "create_date-text": "创建时间",
106
106
  "modfiy_date-text": "更新时间",
107
- "user-vabsearch": "用户搜索框",
108
- "saleOrg-vabsearch": "机构搜索框",
109
- "role-vabsearch": "角色搜索框",
107
+ "user-vabsearch": "用户(单选)",
108
+ "saleOrg-vabsearch": "机构(单选)",
109
+ "user-project-tag": "用户(多选)",
110
+ "saleOrg-project-tag": "机构(多选)",
110
111
  },
111
112
  hint: {
112
113
  formulaSetting: "公式设置",