cnhis-design-vue 2.1.45 → 2.1.47

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 (100) hide show
  1. package/CHANGELOG.md +33 -12
  2. package/es/affix/index.js +8 -8
  3. package/es/age/index.js +10 -10
  4. package/es/alert/index.js +8 -8
  5. package/es/anchor/index.js +8 -8
  6. package/es/auto-complete/index.js +8 -8
  7. package/es/avatar/index.js +8 -8
  8. package/es/back-top/index.js +8 -8
  9. package/es/badge/index.js +8 -8
  10. package/es/base/index.js +8 -8
  11. package/es/big-table/index.js +163 -112
  12. package/es/big-table/style.css +1 -1
  13. package/es/breadcrumb/index.js +8 -8
  14. package/es/button/index.js +22 -22
  15. package/es/calendar/index.js +8 -8
  16. package/es/captcha/index.js +3 -3
  17. package/es/card/index.js +8 -8
  18. package/es/carousel/index.js +8 -8
  19. package/es/cascader/index.js +8 -8
  20. package/es/checkbox/index.js +9 -9
  21. package/es/col/index.js +8 -8
  22. package/es/collapse/index.js +8 -8
  23. package/es/color-picker/index.js +1 -1
  24. package/es/comment/index.js +8 -8
  25. package/es/config-provider/index.js +8 -8
  26. package/es/date-picker/index.js +8 -8
  27. package/es/descriptions/index.js +8 -8
  28. package/es/divider/index.js +8 -8
  29. package/es/drag-layout/index.js +3 -3
  30. package/es/drawer/index.js +8 -8
  31. package/es/dropdown/index.js +8 -8
  32. package/es/editor/index.js +1 -1
  33. package/es/empty/index.js +8 -8
  34. package/es/fabric-chart/index.js +9 -9
  35. package/es/form/index.js +8 -8
  36. package/es/form-model/index.js +8 -8
  37. package/es/form-table/index.js +62 -62
  38. package/es/index/index.js +685 -512
  39. package/es/index/style.css +1 -1
  40. package/es/input/index.js +9 -9
  41. package/es/input-number/index.js +8 -8
  42. package/es/layout/index.js +8 -8
  43. package/es/list/index.js +8 -8
  44. package/es/locale-provider/index.js +8 -8
  45. package/es/map/index.js +9 -9
  46. package/es/mentions/index.js +8 -8
  47. package/es/menu/index.js +8 -8
  48. package/es/message/index.js +8 -8
  49. package/es/multi-chat/index.js +75 -75
  50. package/es/multi-chat-client/index.js +69 -69
  51. package/es/multi-chat-history/index.js +4 -4
  52. package/es/multi-chat-record/index.js +14 -14
  53. package/es/multi-chat-setting/index.js +22 -22
  54. package/es/multi-chat-sip/index.js +1 -1
  55. package/es/notification/index.js +8 -8
  56. package/es/page-header/index.js +8 -8
  57. package/es/pagination/index.js +8 -8
  58. package/es/popconfirm/index.js +8 -8
  59. package/es/popover/index.js +8 -8
  60. package/es/progress/index.js +8 -8
  61. package/es/radio/index.js +9 -9
  62. package/es/rate/index.js +8 -8
  63. package/es/result/index.js +8 -8
  64. package/es/row/index.js +8 -8
  65. package/es/scale-view/index.js +88 -67
  66. package/es/scale-view/style.css +1 -1
  67. package/es/select/index.js +12 -12
  68. package/es/select-label/index.js +11 -11
  69. package/es/select-person/index.js +2 -2
  70. package/es/shortcut-setter/index.js +10 -10
  71. package/es/skeleton/index.js +8 -8
  72. package/es/slider/index.js +8 -8
  73. package/es/space/index.js +8 -8
  74. package/es/spin/index.js +8 -8
  75. package/es/statistic/index.js +8 -8
  76. package/es/steps/index.js +8 -8
  77. package/es/switch/index.js +8 -8
  78. package/es/table-filter/index.js +188 -87
  79. package/es/table-filter/style.css +1 -1
  80. package/es/tabs/index.js +8 -8
  81. package/es/tag/index.js +9 -9
  82. package/es/time-picker/index.js +8 -8
  83. package/es/timeline/index.js +8 -8
  84. package/es/tooltip/index.js +8 -8
  85. package/es/transfer/index.js +8 -8
  86. package/es/tree/index.js +8 -8
  87. package/es/tree-select/index.js +8 -8
  88. package/es/upload/index.js +8 -8
  89. package/es/verification-code/index.js +2 -2
  90. package/lib/cui.common.js +680 -506
  91. package/lib/cui.umd.js +680 -506
  92. package/lib/cui.umd.min.js +23 -23
  93. package/package.json +1 -1
  94. package/packages/big-table/src/BigTable.vue +43 -15
  95. package/packages/big-table/src/utils/bigTableProps.js +4 -0
  96. package/packages/fabric-chart/src/const/defaultVaule.js +59 -59
  97. package/packages/scale-view/formitem/r-choice.vue +13 -1
  98. package/packages/scale-view/scaleView.vue +2010 -2010
  99. package/packages/table-filter/src/base-search-com/BaseSearch.vue +121 -50
  100. package/packages/table-filter/src/components/multi-select/multi-select.vue +8 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
- "version": "2.1.45",
3
+ "version": "2.1.47",
4
4
  "description": "前端业务UI库",
5
5
  "keyword": "cnhis-design-vue vue cnhis",
6
6
  "homepage": "http://dv.cnhis.com/",
@@ -98,6 +98,7 @@
98
98
  iconOpen: 'iconfont icon-a-xitongtubiaozhediejian',
99
99
  iconClose: 'iconfont icon-a-xitongtubiaotianjia'
100
100
  }"
101
+ v-bind="tableAttrs"
101
102
  >
102
103
  <template v-slot:empty>
103
104
  <div v-if="isShowEmpty">
@@ -363,6 +364,9 @@ export default create({
363
364
  tableFieldMap[v.tableField] = v;
364
365
  });
365
366
  return tableFieldMap;
367
+ },
368
+ tableAttrs(){
369
+ return this?.tableProps || {}
366
370
  }
367
371
  },
368
372
  watch: {
@@ -780,19 +784,30 @@ export default create({
780
784
  * 一人展示名字,多人展示数量 => 方晶晶(产品)
781
785
  */
782
786
  // [{"dept_id":996,"dept_name":"高手","user_name":"我是李高手"}]
783
- let str = row[item.columnName];
784
- if (vexutils.isJSON(str)) {
785
- let obj = JSON.parse(str);
786
- if (Array.isArray(obj)) {
787
- let len = obj.length;
788
- let showName = obj[0]?.user_name || obj[0]?.name;
789
- if (len > 1) {
790
- return `已选${len}人`;
791
- } else if (len === 1) {
792
- return (showName) || `已选${len}人`;
793
- }
794
- }
787
+ // 2022/12/14 列表选人组件字段,产品(方晶晶)期望鼠标悬停在 已选x人 上面时,展示所有名称 xxx,xxx,xxx
788
+ let obj = row[item.columnName];
789
+ if(!obj) return '';
790
+ let content = ''
791
+ if (obj && vexutils.isJSON(obj)) {
792
+ obj = JSON.parse(obj);
793
+ }
794
+ if(!Array.isArray(obj) || !obj.length) return ''
795
+ let len = obj.length;
796
+ let showName = obj[0]?.user_name || obj[0]?.name;
797
+ if (len > 1) {
798
+ content = `已选${len}人`;
799
+ } else if (len === 1) {
800
+ content = (showName) || `已选${len}人`;
801
+ }
802
+ let tooltipTitle = obj.map(v => v.user_name || v.name).filter(Boolean).join(',')
803
+ let refName = `item-${item.columnName}-${item[this.handleRowId]}`
804
+ let isAlias = false;
805
+ if (tooltipTitle && tooltipTitle !== content) {
806
+ isAlias = !!tooltipTitle
795
807
  }
808
+ return [
809
+ <TextOverTooltip refName={refName} tooltipTitle={tooltipTitle} content={content} isAlias={isAlias}></TextOverTooltip>
810
+ ]
796
811
  },
797
812
 
798
813
  /** 年龄 json 解析 */
@@ -1381,6 +1396,8 @@ export default create({
1381
1396
  // 2022/12/1 沈培均/方晶晶要求新增 如果有自定义提示就不显示表格自带的提示
1382
1397
  handleShowOverflow(item) {
1383
1398
  if (item.columnName == "operatorColumn") return false;
1399
+ // 选人组件 自己的tooltip
1400
+ if (item.attrType === "CANDIDATE_COMPONENTS") return false;
1384
1401
  let {showSetting} = item.settingObj || {}
1385
1402
  if (!showSetting || !showSetting.length) return 'title';
1386
1403
  let hasTips = 'title';
@@ -2956,6 +2973,10 @@ export default create({
2956
2973
  }
2957
2974
  },
2958
2975
  setRowStatus(vxeTable, rowIndex, value) {
2976
+ /**
2977
+ * 行编辑状态切换,样式修改
2978
+ * 目前行编辑的状态行高度为66px,普通状态的高度应取配置值(如果有)
2979
+ */
2959
2980
  if (!vxeTable) return false;
2960
2981
 
2961
2982
  let tableWrap = [
@@ -2975,14 +2996,21 @@ export default create({
2975
2996
 
2976
2997
  let height = value ? `${value}px` : value;
2977
2998
  let lineHeight = value ? `${value - 14}px` : value;
2978
-
2999
+ // 如value 没有值,则是恢复默认的行高
3000
+ if(!value){
3001
+ let rowheight = this?.tableAttrs?.rowConfig?.height;
3002
+ if(rowheight){
3003
+ height = `${rowheight}px`;
3004
+ lineHeight = '30px';
3005
+ }
3006
+ }
2979
3007
  rowWrap.forEach(wrap => {
2980
3008
  let rowItemWrap = [...wrap.querySelectorAll('.vxe-cell')];
2981
3009
  rowItemWrap.push(...[...wrap.querySelectorAll('.vxe-body--column')]);
2982
3010
  rowItemWrap.forEach(dom => {
2983
- dom.style.setProperty('height', height, 'important');
3011
+ dom.style.setProperty('height', height, value? 'important': undefined);
2984
3012
  dom.style.lineHeight = lineHeight;
2985
- if (height) {
3013
+ if (value) {
2986
3014
  dom.style.backgroundColor = '#EFF5FF';
2987
3015
  setTimeout(() => {
2988
3016
  dom.title = '';
@@ -90,6 +90,10 @@ const bigTableProps = {
90
90
  default: true
91
91
  },
92
92
  listCountParams:{ type: Object, default: () => ({}) },
93
+ tableProps:{
94
+ type: Object,
95
+ default:()=>({})
96
+ }
93
97
  };
94
98
 
95
99
  export default bigTableProps;
@@ -1,59 +1,59 @@
1
- const data = {
2
- style: {
3
- evented: false,
4
- selectable: false
5
- },
6
- rectStyle: {
7
- fill: 'transparent',
8
- stroke: '#999',
9
- strokeWidth: 1
10
- },
11
- textStyle: {
12
- fontFamily: '微软雅黑',
13
- fontSize: 12,
14
- fill: '#000',
15
- lineHeight: 1
16
- },
17
- borderStyle: {
18
- stroke: '#999',
19
- strokeWidth: 1,
20
- selectable: false,
21
- evented: false
22
- },
23
- // 折线图中的点
24
- pointStyle: {
25
- fill: '#ffffff', // 填充色
26
- stroke: '#000000', // 描边色
27
- originX: 'center',
28
- originY: 'center'
29
- },
30
- // 折线图中的线
31
- lineStyle: {
32
- stroke: '#000', // 描边色
33
- strokeWidth: 1, // 描边宽度
34
- originX: 'center',
35
- originY: 'center'
36
- },
37
- topSpaceHeight: 10, // templateData.top.spaceHeight
38
- topSpaceGridNumber: 3, // templateData.top.xScalevalue.spaceGridNumber
39
- leftSpaceGridNumber: 2, // templateData.left.leftYScalevalue.spaceGridNumber
40
- rightSpaceGridNumber: 2, // templateData.right.rightYScalevalue.spaceGridNumber
41
- topTotal: {
42
- title: '总量',
43
- width: 0,
44
- style: {
45
- fontFamily: '微软雅黑',
46
- fontSize: 12,
47
- fill: '#000',
48
- lineHeight: 1
49
- }
50
- },
51
- criticalStyle: { // 危急值样式
52
- stroke: 'purple', // 颜色 默认 #999
53
- strokeWidth: 1, // 线宽 默认 1
54
- strokeDashArray: [0, 0] // 实线设置 默认[0, 0]
55
- },
56
- bottomNumberLeftSpace: 10 // 底部标记的序号与标记之间的距离
57
- };
58
-
59
- export default data;
1
+ const data = {
2
+ style: {
3
+ evented: false,
4
+ selectable: false
5
+ },
6
+ rectStyle: {
7
+ fill: 'transparent',
8
+ stroke: '#999',
9
+ strokeWidth: 1
10
+ },
11
+ textStyle: {
12
+ fontFamily: '微软雅黑',
13
+ fontSize: 12,
14
+ fill: '#000',
15
+ lineHeight: 1
16
+ },
17
+ borderStyle: {
18
+ stroke: '#999',
19
+ strokeWidth: 1,
20
+ selectable: false,
21
+ evented: false
22
+ },
23
+ // 折线图中的点
24
+ pointStyle: {
25
+ fill: '#ffffff', // 填充色
26
+ stroke: '#000000', // 描边色
27
+ originX: 'center',
28
+ originY: 'center'
29
+ },
30
+ // 折线图中的线
31
+ lineStyle: {
32
+ stroke: '#000', // 描边色
33
+ strokeWidth: 1, // 描边宽度
34
+ originX: 'center',
35
+ originY: 'center'
36
+ },
37
+ topSpaceHeight: 10, // templateData.top.spaceHeight
38
+ topSpaceGridNumber: 3, // templateData.top.xScalevalue.spaceGridNumber
39
+ leftSpaceGridNumber: 2, // templateData.left.leftYScalevalue.spaceGridNumber
40
+ rightSpaceGridNumber: 2, // templateData.right.rightYScalevalue.spaceGridNumber
41
+ topTotal: {
42
+ title: '总量',
43
+ width: 0,
44
+ style: {
45
+ fontFamily: '微软雅黑',
46
+ fontSize: 12,
47
+ fill: '#000',
48
+ lineHeight: 1
49
+ }
50
+ },
51
+ criticalStyle: { // 危急值样式
52
+ stroke: 'purple', // 颜色 默认 #999
53
+ strokeWidth: 1, // 线宽 默认 1
54
+ strokeDashArray: [0, 0] // 实线设置 默认[0, 0]
55
+ },
56
+ bottomNumberLeftSpace: 10 // 底部标记的序号与标记之间的距离
57
+ };
58
+
59
+ export default data;
@@ -503,7 +503,7 @@ export default {
503
503
  },
504
504
  handleDynamic2StaticOptions(options) {
505
505
  if (!options || !options.length) return [];
506
- return options.map(item => {
506
+ let arr = options.map(item => {
507
507
  if ('cascadeData' in item) {
508
508
  Object.assign(item, {
509
509
  ...item.cascadeData
@@ -518,10 +518,22 @@ export default {
518
518
  }
519
519
  return item;
520
520
  });
521
+
522
+ return this.uniqArrObj(arr, this.columnKey);
523
+ },
524
+ // 数组对象去重
525
+ uniqArrObj(arr, name = "value") {
526
+ let obj = {};
527
+ return arr.reduce((cur, next) => {
528
+ obj[next[name]] ? "" : (obj[next[name]] = true && cur.push(next));
529
+ return cur;
530
+ }, []);
521
531
  },
522
532
  // 下拉组件搜索
523
533
  async handleSearch(value) {
524
534
  try {
535
+ // 动态数据源转静态数据
536
+ if (this.cloneItem?.type == 'SELECT' && this.isDynamic2Static) return
525
537
  this.curOptions = await this.getSearchOptions(
526
538
  {
527
539
  values: this.columnKey,