cnhis-design-vue 2.1.93 → 2.1.95

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 (51) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/es/age/index.js +2 -2
  3. package/es/big-table/index.js +23 -23
  4. package/es/button/index.js +25 -25
  5. package/es/button/style.css +1 -1
  6. package/es/captcha/index.js +3 -3
  7. package/es/checkbox/index.js +1 -1
  8. package/es/color-picker/index.js +1 -1
  9. package/es/drag-layout/index.js +3 -3
  10. package/es/editor/index.js +1 -1
  11. package/es/ellipsis/index.js +1 -1
  12. package/es/fabric-chart/index.js +236 -130
  13. package/es/fabric-chart/style.css +1 -1
  14. package/es/form-table/index.js +20 -20
  15. package/es/index/index.js +450 -349
  16. package/es/index/style.css +1 -1
  17. package/es/input/index.js +1 -1
  18. package/es/map/index.js +1 -1
  19. package/es/multi-chat/index.js +25 -25
  20. package/es/multi-chat-client/index.js +19 -19
  21. package/es/multi-chat-history/index.js +4 -4
  22. package/es/multi-chat-record/index.js +4 -4
  23. package/es/multi-chat-setting/index.js +20 -20
  24. package/es/multi-chat-sip/index.js +1 -1
  25. package/es/radio/index.js +1 -1
  26. package/es/scale-container/index.js +1 -1
  27. package/es/scale-view/index.js +27 -27
  28. package/es/select/index.js +4 -4
  29. package/es/select-label/index.js +3 -3
  30. package/es/select-person/index.js +32 -30
  31. package/es/select-person/style.css +1 -1
  32. package/es/select-tag/index.js +4 -4
  33. package/es/shortcut-setter/index.js +2 -2
  34. package/es/table-filter/index.js +52 -52
  35. package/es/table-filter/style.css +1 -1
  36. package/es/tag/index.js +1 -1
  37. package/es/verification-code/index.js +2 -2
  38. package/lib/cui.common.js +527 -429
  39. package/lib/cui.umd.js +527 -429
  40. package/lib/cui.umd.min.js +17 -17
  41. package/package.json +1 -1
  42. package/packages/button/src/ButtonPrint/index.vue +1 -1
  43. package/packages/fabric-chart/src/FabricChart.vue +1 -1
  44. package/packages/fabric-chart/src/const/defaultVaule.js +2 -1
  45. package/packages/fabric-chart/src/fabric-chart/FabricCanvas.vue +69 -13
  46. package/packages/fabric-chart/src/fabric-chart/FabricLines.vue +1 -0
  47. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +5 -5
  48. package/packages/fabric-chart/src/fabric-chart/FabricScaleValue.vue +7 -4
  49. package/packages/fabric-chart/src/fabric-chart/FabricTextGroup.vue +21 -16
  50. package/packages/fabric-chart/src/mixins/draw.js +18 -1
  51. package/packages/select-person/select-person.vue +8 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
- "version": "2.1.93",
3
+ "version": "2.1.95",
4
4
  "description": "前端业务UI库",
5
5
  "keyword": "cnhis-design-vue vue cnhis",
6
6
  "homepage": "http://dv.cnhis.com/",
@@ -459,7 +459,7 @@ export default create({
459
459
  },
460
460
  getTemplateIdByFormatId(id) {
461
461
  let find = this.formatList.find(item => item.id === id);
462
- return find.templateId;
462
+ return find?.templateId || '';
463
463
  },
464
464
  getOnceParams() {
465
465
  // 聚合一条
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div class="c-fabric-chart" :style="{ width: canvasWidth }">
3
3
  <fabric-canvas ref="canvasEle" v-bind="$attrs" :templateData="templateData" v-if="rendercanvas">
4
- <fabric-text-group v-if="hasXScalevalue" :templateData="templateData" v-on="$listeners"></fabric-text-group>
5
4
  <fabric-grid></fabric-grid>
5
+ <fabric-text-group v-if="hasXScalevalue" :templateData="templateData" v-on="$listeners"></fabric-text-group>
6
6
  <fabric-scale-value v-if="hasTable" :templateData="templateData"></fabric-scale-value>
7
7
  <fabric-lines v-if="hasTopTable" ref="lines" :linesObj="templateData.top" v-on="$listeners"></fabric-lines>
8
8
  <fabric-polylines
@@ -1,7 +1,8 @@
1
1
  const data = {
2
2
  style: {
3
3
  evented: false,
4
- selectable: false
4
+ selectable: false,
5
+ objectCaching: false
5
6
  },
6
7
  rectStyle: {
7
8
  fill: 'transparent',
@@ -46,6 +46,7 @@ export default {
46
46
  type: this.templateData.type,
47
47
  endX: this.endX,
48
48
  endY: this.endY,
49
+ markHeight: this.markHeight,
49
50
  originX: this.originX,
50
51
  originY: this.originY,
51
52
  treeTableminCellWidth: this.treeTableminCellWidth,
@@ -105,6 +106,15 @@ export default {
105
106
  // 画布高度
106
107
  return this.templateData.canvasHeight;
107
108
  },
109
+ layout() {
110
+ return (
111
+ this.templateData.layout || {
112
+ top: 'drug',
113
+ center: 'xAxis',
114
+ bottom: 'intraoperatively'
115
+ }
116
+ );
117
+ },
108
118
  treeTableminCellWidth() {
109
119
  return this.templateData.top?.treeTableminCellWidth || this.templateData.left?.titleWidth || 20;
110
120
  },
@@ -132,18 +142,17 @@ export default {
132
142
  },
133
143
  originY() {
134
144
  // 主网格起始高度值
135
- return this.spaceHeight + (this.endYTop - this.originYTop);
145
+ const currentLayout = this.getLayout('intraoperatively') || 'bottom';
146
+ return this.getOriginTop(currentLayout);
136
147
  },
137
148
  endX() {
138
- // 网格区域水平方向最大坐标值, 也是整个画布右侧列表坐标起始值,网格右下角x轴坐标值
149
+ // 术中监测结束x坐标
139
150
  if (!this.templateData.right && !this.topTotal) return this.templateData.canvasWidth;
140
151
  return this.templateData.canvasWidth - (this.templateData.right?.width ?? 20) - this.topTotal.width;
141
152
  },
142
153
  endY() {
143
- // 画布高度 - 底部列表高度 ,网格右下角y轴坐标值
144
- const { show = true, height } = this.templateData.bottom || {};
145
- if (!show || !height) return this.templateData.canvasHeight;
146
- return this.canvasHeight - height;
154
+ // 术中监测结束y坐标
155
+ return this.originY + (this.canvasHeight - this.gridHeightTop - this.spaceHeight - this.markHeight);
147
156
  },
148
157
  xCellWidth() {
149
158
  // 水平方向网格宽度
@@ -153,24 +162,36 @@ export default {
153
162
  // 垂直方向网格宽度
154
163
  return (this.endY - this.originY) / this.gridYNumber;
155
164
  },
165
+ // 标记部分高度值
166
+ markHeight() {
167
+ const { show = true, height } = this.templateData.bottom || {};
168
+ if (!show || !height) return 0;
169
+ return height;
170
+ },
156
171
  spaceHeight() {
157
172
  // 头部表格底部空白位置的高,用于显示x轴时间点
158
173
  return this.templateData.top?.spaceHeight || defaultVaule.topSpaceHeight;
159
174
  },
160
175
  originYTime() {
161
- return this.originYTop > 0 ? 0 : this.endYTop;
176
+ const currentLayout = this.getLayout('xAxis') || 'center';
177
+ return this.getOriginTop(currentLayout);
162
178
  },
163
179
  yCellHeightTop() {
164
180
  // 头部表格垂直方向网格高度
165
181
  return this.templateData.top?.treeTableminCellHeight || 20;
166
182
  },
167
- endYTop() {
168
- const endYTop = this.gridYnumberTop * this.yCellHeightTop;
169
- return this.originYTop + endYTop;
183
+ // x轴高度值
184
+ gridHeightTop() {
185
+ return this.gridYnumberTop * this.yCellHeightTop;
170
186
  },
187
+ // 用药区域起始y坐标
171
188
  originYTop() {
172
- const { layout = 'center' } = this.templateData.top?.xScalevalue || {};
173
- return layout === 'center' ? 0 : this.spaceHeight;
189
+ const currentLayout = this.getLayout('drug') || 'center';
190
+ return this.getOriginTop(currentLayout);
191
+ },
192
+ // 用药区域结束y坐标
193
+ endYTop() {
194
+ return this.originYTop + this.gridHeightTop;
174
195
  },
175
196
  // 转换为时间戳的x轴时间列表
176
197
  xScaleList() {
@@ -249,12 +270,47 @@ export default {
249
270
  } else if (x > originX && x < endX && y > originY && y < endY && !target) {
250
271
  this.throttleEvent?.(event, this.fabricPolylinesInstances);
251
272
  this.fabricLinesInstances.isDropVisible = false;
252
- } else if (x <= originX || x >= endX || y <= originYTop || y >= endY) {
273
+ } else if (x <= originX || x >= endX || !((y > originY && y < endY) || (y > originYTop && y < endYTop))) {
253
274
  this.fabricPolylinesInstances.isDropVisible = false;
254
275
  this.fabricLinesInstances.isDropVisible = false;
255
276
  }
256
277
  });
257
278
  },
279
+ // 根据布局名称获取其位置
280
+ getLayout(moduleName) {
281
+ let layout = '';
282
+ Object.entries(this.layout).some(([key, value]) => {
283
+ if (value === moduleName) {
284
+ layout = key;
285
+ return true;
286
+ }
287
+ return;
288
+ });
289
+ return layout;
290
+ },
291
+ // 根据定位获取模块高度值
292
+ getLayoutHeight(layout) {
293
+ const moduleName = this.layout[layout];
294
+ switch (moduleName) {
295
+ case 'drug':
296
+ return this.gridHeightTop;
297
+ case 'xAxis':
298
+ return this.spaceHeight;
299
+ default:
300
+ return this.canvasHeight - this.gridHeightTop - this.spaceHeight;
301
+ }
302
+ },
303
+ // 根据定位获取模块起始y坐标
304
+ getOriginTop(layout) {
305
+ switch (layout) {
306
+ case 'top':
307
+ return 0;
308
+ case 'center':
309
+ return this.getLayoutHeight('top');
310
+ default:
311
+ return this.getLayoutHeight('top') + this.getLayoutHeight('center');
312
+ }
313
+ },
258
314
  getGridYnumberTop(list) {
259
315
  // 头部表格垂直方向网格总数
260
316
  for (let i = 0; i < list.length; i++) {
@@ -319,6 +319,7 @@ export default {
319
319
  id: '_lineGroup_' + new Date().getTime(),
320
320
  rowIndex: i,
321
321
  colIndex: j,
322
+ objectCaching: false,
322
323
  ...(this.linesObj.dataTextStyle || {})
323
324
  });
324
325
  this.setTextPosition(text, top, x1, x2, leftLimit, rightLimit, y2);
@@ -110,8 +110,6 @@ export default {
110
110
  }
111
111
  },
112
112
 
113
- watch: {},
114
-
115
113
  mounted() {
116
114
  Bus.$on('mouseoverTarget', isMovingToOtherTarget => {
117
115
  this.isMovingToOtherTarget = isMovingToOtherTarget;
@@ -301,7 +299,7 @@ export default {
301
299
  },
302
300
  // 绘制左侧折线标题
303
301
  drawPolylineTitle() {
304
- const { canvasHeight, treeTableminCellWidth, originX, xScaleList, xScaleCellList, endX } = this.propItems;
302
+ const { endY, markHeight, treeTableminCellWidth, originX, xScaleList, endX } = this.propItems;
305
303
  const leftYScalevalue = this.polyline.find(v => v.position === 'left');
306
304
  const lableMargin = leftYScalevalue.lableMargin || [5, 30];
307
305
  const lableLineHeight = leftYScalevalue.lableLineHeight || 20;
@@ -353,7 +351,7 @@ export default {
353
351
 
354
352
  const eventStyle = { selectable: false, evented: false };
355
353
  leftTitleList.forEach(async (v, i) => {
356
- const baseTop = canvasHeight - lableMargin[1];
354
+ const baseTop = endY + markHeight - lableMargin[1];
357
355
  const top = baseTop - i * lableLineHeight;
358
356
  const left = lableMargin[0] + treeTableminCellWidth;
359
357
  const pointId = `${v.polylineTypeId}_${v.polylineIndex}_-1_polylinePoint_'${new Date().getTime()}_isTitle`;
@@ -387,6 +385,7 @@ export default {
387
385
  ele = await this.createImage(v.pointAttr.iconClassName, v.pointAttr);
388
386
  }
389
387
  const icon = await this.createPoint(v.type, {
388
+ objectCaching: false,
390
389
  ele: ele || '',
391
390
  ...option
392
391
  });
@@ -690,6 +689,7 @@ export default {
690
689
  const pointId = `${others.polylineTypeId}_${others.polylineIndex}_${others.pointIndex}_polylinePoint_${new Date().getTime()}`;
691
690
  const ele = this._iconClassName && (await this.createImage(this._iconClassName, others));
692
691
  let point = await this.createPoint(type, {
692
+ objectCaching: false,
693
693
  id: pointId,
694
694
  left: left,
695
695
  top: top,
@@ -821,7 +821,7 @@ export default {
821
821
  const prevPoint = this.addPointList[i - 1] || { left: point.prePoint?.left ?? originLeft, top: point.prePoint?.top ?? originTop };
822
822
  const currentPointObj = this.addPointObjList.find(obj => obj.left === currentPoint.left);
823
823
  if (currentPointObj?.line1?.x1 !== prevPoint.left) {
824
- currentPointObj.line1.set({
824
+ currentPointObj?.line1?.set({
825
825
  x1: prevPoint.left,
826
826
  y1: prevPoint.top,
827
827
  x2: currentPoint.left,
@@ -27,6 +27,7 @@ export default {
27
27
  computed: {
28
28
  defaultTextStyle() {
29
29
  return {
30
+ objectCaching: false,
30
31
  ...defaultVaule.textStyle,
31
32
  centeredRotation: true,
32
33
  originX: 'center',
@@ -67,7 +68,8 @@ export default {
67
68
  }, '');
68
69
  const group = new this.fabric.Group([...textList], {
69
70
  evented: false,
70
- selectable: false
71
+ selectable: false,
72
+ objectCaching: false
71
73
  });
72
74
  this.canvas.add(group);
73
75
  this.canvas.sendBackwards(group);
@@ -90,7 +92,8 @@ export default {
90
92
  }
91
93
  const group = new this.fabric.Group([...textList], {
92
94
  evented: false,
93
- selectable: false
95
+ selectable: false,
96
+ objectCaching: false
94
97
  });
95
98
  this.canvas.add(group);
96
99
  this.canvas.sendBackwards(group);
@@ -122,8 +125,8 @@ export default {
122
125
  this.canvas.sendBackwards(group);
123
126
  },
124
127
  setOverFlowPoint(point) {
125
- const { endY, canvasHeight } = this.propItems;
126
- endY === canvasHeight && point.set('top', point.top - point.height / 2);
128
+ const { markHeight } = this.propItems;
129
+ !markHeight && point.set('top', point.top - point.height / 2);
127
130
  },
128
131
  createText(text, left, top, originX, style) {
129
132
  return new this.fabric.Text(String(text), {
@@ -165,7 +165,7 @@ export default {
165
165
  });
166
166
  },
167
167
  drawTopTotal(topTotalList) {
168
- const { endX, canvasWidth, yCellHeightTop, topTotal, endYTop, spaceHeight, originYTop } = this.propItems;
168
+ const { endX, canvasWidth, yCellHeightTop, topTotal, endYTop, spaceHeight, originYTop, originYTime } = this.propItems;
169
169
  const textList = [];
170
170
  const totalWidth = canvasWidth - endX;
171
171
  const left = endX + totalWidth / 2;
@@ -192,7 +192,7 @@ export default {
192
192
  const title = this.drawTextGroup(
193
193
  { width: totalWidth, height: spaceHeight, strokeWidth: 1 },
194
194
  { text: String(topTotal.title), ...(topTotal.style || defaultVaule.textStyle) },
195
- { left: endX, top: originYTop > 0 ? 0 : endYTop }
195
+ { left: endX, top: originYTime }
196
196
  );
197
197
  this.canvas.add(...textList, title);
198
198
  },
@@ -252,6 +252,7 @@ export default {
252
252
  type: 'colList',
253
253
  id: `${index}_${i}_other_${Date.now()}`,
254
254
  name: v.value,
255
+ objectCaching: false,
255
256
  ...this.eventStyle
256
257
  });
257
258
  text.hasControls = text.hasBorders = false;
@@ -301,7 +302,8 @@ export default {
301
302
  top,
302
303
  dataIndex: index,
303
304
  index: i,
304
- type: 'list'
305
+ type: 'list',
306
+ objectCaching: false
305
307
  };
306
308
  const left = this.cumputedX(v.time);
307
309
  title.dataList.push(left);
@@ -410,12 +412,13 @@ export default {
410
412
  },
411
413
  // 底部标记
412
414
  drawBottomTextDataGroup(obj) {
413
- const { endX, originX, endY, canvasHeight, topTotal } = this.propItems;
414
- if (!obj.list || endY === canvasHeight) {
415
+ const { endX, originX, endY, topTotal, markHeight } = this.propItems;
416
+ if (!markHeight || !obj.list) {
415
417
  return;
416
418
  }
417
419
 
418
- topTotal.width && this.canvas.add(this.drawLine([endX, endY - 1, endX, canvasHeight], { ...this.defaultRectStyle }));
420
+ topTotal.width && this.canvas.add(this.drawLine([endX, endY - 1, endX, endY + markHeight], { ...this.defaultRectStyle }));
421
+ topTotal.width && this.canvas.add(this.drawLine([originX, endY + markHeight, endX, endY + markHeight], { ...this.defaultRectStyle }));
419
422
  // const textList = [];
420
423
  const marginLeft = this.templateData.left.leftYScalevalue.spaceGridNumber || defaultVaule.spaceGridNumber;
421
424
  const left = originX - marginLeft * 4; // 默认减去4倍的左边距,防止最左边的数据与名称显示重合了
@@ -426,7 +429,7 @@ export default {
426
429
  originX: 'right',
427
430
  originY: 'center',
428
431
  left,
429
- top: endY + (canvasHeight - endY) / 2,
432
+ top: endY + markHeight / 2,
430
433
  type: 'mark'
431
434
  });
432
435
  this.canvas.add(title);
@@ -445,7 +448,7 @@ export default {
445
448
  const setTop = (lineHeight, i, condition) => {
446
449
  if (!~condition.limitIndex) {
447
450
  condition.y += i === 0 ? lineHeight / 2 : lineHeight;
448
- if (condition.y >= canvasHeight - lineHeight / 2) {
451
+ if (condition.y >= endY + markHeight - lineHeight / 2) {
449
452
  condition.limitIndex++;
450
453
  if (condition.limitIndex === 0) {
451
454
  condition.y = baseYLimit;
@@ -473,7 +476,8 @@ export default {
473
476
  other: v.other || {},
474
477
  time: item[0],
475
478
  name: v.name,
476
- type: 'mark'
479
+ type: 'mark',
480
+ objectCaching: false
477
481
  };
478
482
 
479
483
  const eventStyle = !this.eventStyle.evented
@@ -559,7 +563,7 @@ export default {
559
563
  },
560
564
  moveLimit(point) {
561
565
  point.setCoords();
562
- const { originX, endX, originY, canvasHeight } = this.propItems;
566
+ const { originX, endX, originY, endY, markHeight } = this.propItems;
563
567
  const bottom = this.templateData.bottom;
564
568
  // 如果是起始标记,如入手术室时间
565
569
  if (point.other?.isStart) {
@@ -597,8 +601,8 @@ export default {
597
601
  point.set('left', limitLeft);
598
602
  }
599
603
  }
600
- if (point.top > canvasHeight - 14) {
601
- point.set('top', canvasHeight - 14);
604
+ if (point.top > endY + markHeight - 14) {
605
+ point.set('top', endY + markHeight - 14);
602
606
  }
603
607
  if (point.top < originY) {
604
608
  point.set('top', originY);
@@ -620,12 +624,12 @@ export default {
620
624
 
621
625
  drawLeftScaleGroup(dataLeft) {
622
626
  this.drawLeftTitle(dataLeft);
623
- const { canvasHeight, originX, originY, treeTableminCellWidth } = this.propItems;
627
+ const { endY, markHeight, originX, originY, treeTableminCellWidth } = this.propItems;
624
628
  let rect = new this.fabric.Rect({
625
629
  left: treeTableminCellWidth,
626
630
  top: originY,
627
631
  width: originX - treeTableminCellWidth,
628
- height: canvasHeight - originY,
632
+ height: endY + markHeight - originY,
629
633
  ...defaultVaule.rectStyle,
630
634
  ...defaultVaule.style,
631
635
  originX: 'left',
@@ -636,11 +640,12 @@ export default {
636
640
  },
637
641
  drawLeftTitle(dataLeft) {
638
642
  if (dataLeft.title) {
643
+ const { endY, markHeight, treeTableminCellWidth, originY } = this.propItems;
639
644
  this.canvas.add(
640
645
  this.drawTextGroup(
641
- { width: this.propItems.treeTableminCellWidth, height: this.propItems.canvasHeight - this.propItems.originY },
646
+ { width: treeTableminCellWidth, height: endY + markHeight - originY },
642
647
  { text: String(dataLeft.title.split('').join('\n')), ...defaultVaule.textStyle, ...dataLeft.titleStyle },
643
- { left: 0, top: this.propItems.originY }
648
+ { left: 0, top: originY }
644
649
  )
645
650
  );
646
651
  }
@@ -25,9 +25,11 @@ export default {
25
25
  centeredRotation: true,
26
26
  originX: 'center',
27
27
  originY: 'center',
28
- lineHeight: 1
28
+ lineHeight: 1,
29
+ objectCaching: false
29
30
  },
30
31
  defaultGroupStyle: {
32
+ objectCaching: false,
31
33
  evented: false,
32
34
  selectable: false
33
35
  }
@@ -288,6 +290,21 @@ export default {
288
290
  scale: 1,
289
291
  ...data
290
292
  });
293
+ case 'circleAndText':
294
+ obj1 = new this.fabric.Text(String(data.text), {
295
+ fontFamily: '微软雅黑',
296
+ fontSize: 12,
297
+ originX: 'center',
298
+ originY: 'center',
299
+ fill: data.stroke,
300
+ left: data.left,
301
+ top: data.top - 1,
302
+ objectCaching: false
303
+ });
304
+ obj2 = this.createCircleBorder(data);
305
+ return new this.fabric.Group([obj2, obj1], {
306
+ ...data
307
+ });
291
308
  case 'qgcg': {
292
309
  const { width, height } = data;
293
310
  obj1 = new this.fabric.Line([0, height / 2, width, height / 2], {
@@ -288,7 +288,8 @@ export default create({
288
288
 
289
289
  searchIndeterminate: false,
290
290
  searchChecked: false,
291
- typeActiveIndex: 0
291
+ typeActiveIndex: 0,
292
+ useData: []
292
293
  };
293
294
  },
294
295
  computed: {
@@ -462,12 +463,12 @@ export default create({
462
463
  },
463
464
 
464
465
  staticDataInit() {
465
- if (!Array.isArray(this.data) || this.data.length == 0) return;
466
- this.treeData.main = this.data;
466
+ if (!Array.isArray(this.useData) || this.useData.length == 0) return;
467
+ this.treeData.main = this.useData;
467
468
  this.generateDataList(this.treeData.main, this.dataList.main);
468
469
  },
469
470
  staticDeptAndRoleDataInit() {
470
- this.treeData.dept = this.getDeptData(this.data);
471
+ this.treeData.dept = this.getDeptData(this.useData);
471
472
  this.generateDataList(this.treeData.dept, this.dataList.dept);
472
473
  this.treeData.role = this.handleRoleData(this.roleData);
473
474
  this.generateDataList(this.treeData.role, this.dataList.role);
@@ -1497,8 +1498,9 @@ export default create({
1497
1498
  }
1498
1499
  },
1499
1500
  handleData() {
1500
- vexutils.searchTree(this.data, item => {
1501
- if (this.titleAddCode) {
1501
+ this.useData = vexutils.clone(this.data, true)
1502
+ vexutils.searchTree(this.useData, item => {
1503
+ if (this.titleAddCode && item.code) {
1502
1504
  item.title = `${item.title}(${item.code})`;
1503
1505
  }
1504
1506
  });