lambo-design-bi 0.0.252 → 0.0.253

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.
@@ -240,8 +240,8 @@ export default {
240
240
  this.lastDocId = doc.docId
241
241
  this.lastFileName = doc.docName || (this.cardTitle + '.docx')
242
242
  // 发布人/发布时间统一展示在左侧目录下方(数据源 plat_bulletin_publish_doc)
243
- this.publisher = doc.publishUserName ? String(doc.publishUserName).trim() : ''
244
- this.publishTime = doc.publishTime ? `简报发布时间:${normalizePublishTime(doc.publishTime)}` : ''
243
+ this.publisher = doc.publishUserName ? `发布人:${String(doc.publishUserName).trim()}` : ''
244
+ this.publishTime = doc.publishTime ? `发布时间:${normalizePublishTime(doc.publishTime)}` : ''
245
245
  this.previewUrl = fileGetUrl + doc.docId
246
246
  this.emptyReason = ''
247
247
  this.$Message.success({ content: '查询到已发布的简报', duration: 1.8 })
@@ -108,14 +108,15 @@ export default {
108
108
  this.subTitle = row['sub_title']
109
109
  this.num = row['num']
110
110
  this.subNum1 = row['sub_num1']
111
- this.trend1 = row['trend1']
111
+ // 过滤掉前端缺省值'-'的情况,组件传值有要求
112
+ this.trend1 = row['trend1']==='-'?null:row['trend1']
112
113
  this.subNum2 = row['sub_num2']
113
- this.trend2 = row['trend2']
114
+ this.trend2 = row['trend2']==='-'?null:row['trend2']
114
115
  if (Object.prototype.hasOwnProperty.call(row, 'polar1')) {
115
- this.polar1 = row['polar1']
116
+ this.polar1 = row['polar1']==='-'?null:row['polar1']
116
117
  }
117
118
  if (Object.prototype.hasOwnProperty.call(row, 'polar2')) {
118
- this.polar2 = row['polar2']
119
+ this.polar2 = row['polar2']==='-'?null:row['polar2']
119
120
  }
120
121
  if (Object.prototype.hasOwnProperty.call(row, 'drill_k1') && Object.prototype.hasOwnProperty.call(row, 'drill_v1')) {
121
122
  this.drillK1 = row['drill_k1'] || ''
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lambo-design-bi",
3
- "version": "0.0.252",
3
+ "version": "0.0.253",
4
4
  "description": "Vue2 BI 数据可视化组件库",
5
5
  "main": "index.js",
6
6
  "author": "finch",
@@ -1159,9 +1159,12 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
1159
1159
  let datas = [];
1160
1160
  let colorList = [];
1161
1161
 
1162
+ let sortedIndices = []
1162
1163
  // 将 dataY 转换为带索引的排序数组
1163
- let sortedIndices = dataY[0].map((_, index) => index)
1164
- .sort((a, b) => dataY[0][b] - dataY[0][a]); // 根据 dataX 的值降序排列
1164
+ if (dataY && dataY[0]) {
1165
+ sortedIndices = dataY[0].map((_, index) => index)
1166
+ .sort((a, b) => dataY[0][b] - dataY[0][a]); // 根据 dataX 的值降序排列
1167
+ }
1165
1168
 
1166
1169
  for (let i = 0; i < sortedIndices.length; i++) {
1167
1170
  const index = sortedIndices[i];
@@ -1243,8 +1246,12 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
1243
1246
  let colorList = [];
1244
1247
  let radius = ['40%', '60%']; // 控制饼块粗细的半径范围
1245
1248
  let prevAngle = 0; // 初始角度
1246
- let sortedIndices = dataY[0].map((_, index) => index)
1247
- .sort((a, b) => dataY[0][b] - dataY[0][a]); // 根据dataY的值进行降序排序并获取索引
1249
+ let sortedIndices = []
1250
+ // 将 dataY 转换为带索引的排序数组
1251
+ if (dataY && dataY[0]) {
1252
+ sortedIndices = dataY[0].map((_, index) => index)
1253
+ .sort((a, b) => dataY[0][b] - dataY[0][a]); // 根据dataY的值进行降序排序并获取索引
1254
+ }
1248
1255
 
1249
1256
  for (let i = 0; i < sortedIndices.length; i++) {
1250
1257
  const index = sortedIndices[i];
@@ -1459,7 +1466,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
1459
1466
  itemStyle: {
1460
1467
  normal: {
1461
1468
  color: function (params) {
1462
- return lightColors[params.dataIndex]
1469
+ return lightColors[params.dataIndex]
1463
1470
  }
1464
1471
  }
1465
1472
  },
@@ -2097,7 +2104,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
2097
2104
  fontSize: 20
2098
2105
  }
2099
2106
  },
2100
- data: dataY[0].map((value, index) => {
2107
+ data: dataY[0] ? dataY[0].map((value, index) => {
2101
2108
  const rank = sortedDataX.indexOf(value) + 1;
2102
2109
  let p;
2103
2110
  if (dataY[0].reduce((a, b) => a + b) === 0) {
@@ -2117,7 +2124,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
2117
2124
  showname: dataX[index],
2118
2125
  reaVal: d + '%'
2119
2126
  }
2120
- })
2127
+ }) : []
2121
2128
  },
2122
2129
  ]
2123
2130
  };
@@ -2334,7 +2341,11 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
2334
2341
  });
2335
2342
  }
2336
2343
  }
2337
- const dynamicColors = dataDim.map((_, index) => colors[index % colors.length]);
2344
+
2345
+ let dynamicColors = []
2346
+ if (dataDim) {
2347
+ dynamicColors = dataDim.map((_, index) => colors[index % colors.length])
2348
+ }
2338
2349
  opt = {
2339
2350
  tooltip: {
2340
2351
  trigger: 'axis',
@@ -2446,7 +2457,10 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
2446
2457
 
2447
2458
  }
2448
2459
  }
2449
- const dynamicColors = dataDim.map((_, index) => colors[index % colors.length]);
2460
+ let dynamicColors = []
2461
+ if (dataDim) {
2462
+ dynamicColors = dataDim.map((_, index) => colors[index % colors.length])
2463
+ }
2450
2464
 
2451
2465
  opt = {
2452
2466
  tooltip: {
@@ -2524,20 +2538,25 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
2524
2538
  series: series
2525
2539
  };
2526
2540
  } else if (type === '44') {
2527
- const transData = transpose(dataY);
2528
- const indicators = dataX.map((name, index) => {
2529
- let maxValue = 0;
2530
- for (let i = 0; i < dataY[index].length; i++) {
2531
- if (dataY[index] && dataY[index][i] > maxValue) {
2532
- maxValue = dataY[index][i];
2541
+ const transData = transpose(dataY)
2542
+
2543
+ let indicators = []
2544
+ if (dataX) {
2545
+ indicators = dataX.map((name, index) => {
2546
+ let maxValue = 0
2547
+ for (let i = 0; i < dataY[index].length; i++) {
2548
+ if (dataY[index] && dataY[index][i] > maxValue) {
2549
+ maxValue = dataY[index][i];
2550
+ }
2533
2551
  }
2534
- }
2535
- return {
2536
- name: name,
2537
- max: Math.ceil(maxValue)
2538
- };
2539
- });
2540
- const seriesData = [];
2552
+ return {
2553
+ name: name,
2554
+ max: Math.ceil(maxValue)
2555
+ }
2556
+ })
2557
+ }
2558
+
2559
+ const seriesData = []
2541
2560
  transData.forEach((data, index) => {
2542
2561
  seriesData.push({
2543
2562
  name: dataDim[index],
@@ -2552,7 +2571,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
2552
2571
  areaStyle: {
2553
2572
  color: areaColors[index % areaColors.length]
2554
2573
  }
2555
- });
2574
+ })
2556
2575
  });
2557
2576
  opt = {
2558
2577
  legend: {
@@ -3690,7 +3709,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
3690
3709
  fontFamily: 'Microsoft YaHei',
3691
3710
  color: '#999',
3692
3711
  fontSize: 10,
3693
- formatter: function(value) {
3712
+ formatter: function (value) {
3694
3713
  return Math.round(value)
3695
3714
  }
3696
3715
  }
@@ -4059,7 +4078,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
4059
4078
  show: true,
4060
4079
  position: 'top',
4061
4080
  distance: 5,
4062
- formatter: function(params) {
4081
+ formatter: function (params) {
4063
4082
  return params.value
4064
4083
  },
4065
4084
  fontSize: 11,
@@ -4085,7 +4104,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
4085
4104
  label: {
4086
4105
  show: true,
4087
4106
  position: 'right',
4088
- formatter: function() {
4107
+ formatter: function () {
4089
4108
  return sortedValues[i] + ' ' + badge
4090
4109
  },
4091
4110
  fontSize: 11,
@@ -4111,7 +4130,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
4111
4130
  },
4112
4131
  tooltip: {
4113
4132
  trigger: 'item',
4114
- formatter: function(params) {
4133
+ formatter: function (params) {
4115
4134
  if (!params) return ''
4116
4135
  let idx = params.dataIndex
4117
4136
  let name = params.name
@@ -4150,7 +4169,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
4150
4169
  fontFamily: 'Microsoft YaHei',
4151
4170
  color: '#666',
4152
4171
  fontSize: 12,
4153
- formatter: function(value) {
4172
+ formatter: function (value) {
4154
4173
  return value === selfLabel ? '{highlight|' + value + '}' : value
4155
4174
  },
4156
4175
  rich: {
@@ -4162,7 +4181,6 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
4162
4181
  }
4163
4182
  },
4164
4183
  series: [
4165
- // 我公司高亮背景
4166
4184
  ...(selfIndex >= 0 ? [{
4167
4185
  name: '高亮背景',
4168
4186
  type: 'bar',
@@ -4215,7 +4233,7 @@ export function getECharts(type, dataX, dataY, dataDim, dataZ) {
4215
4233
  label: {
4216
4234
  show: true,
4217
4235
  position: 'end',
4218
- formatter: function() {
4236
+ formatter: function () {
4219
4237
  // 第一名始终在最上面一行 (i=0), 排序方向已保证
4220
4238
  return (i === 0 ? '🥇 ' : '') + sortedValues[i]
4221
4239
  },
@@ -18,7 +18,7 @@
18
18
  @click="scrollTo(item)"
19
19
  >{{ item.text }}</a>
20
20
  <div class="word-nav-publish" v-if="publisher || publishTime">
21
- <div v-if="publisher" class="meta-line">发布人:{{ publisher }}</div>
21
+ <div v-if="publisher" class="meta-line">{{ publisher }}</div>
22
22
  <div v-if="publishTime" class="meta-line">{{ publishTime }}</div>
23
23
  </div>
24
24
  </aside>
@@ -29,7 +29,7 @@
29
29
  <span class="ivu-number-info-total">
30
30
  <slot name="num">{{ num }}</slot>
31
31
  </span>
32
- <span class="ivu-number-info-subTotal" v-if="subNum1 || subNum2">
32
+ <span class="ivu-number-info-subTotal">
33
33
  <slot name="subNum">
34
34
  <template v-if="subNum1">
35
35
  <template v-if="trend1">