echarts.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /**
  2. * 显示alert弹出层
  3. * @param _this
  4. * @param title
  5. * @param e
  6. * @param callback
  7. */
  8. function showAlertWin(_this, title, e, callback) {
  9. if (e && e.name == 'TypeError') {
  10. console.error(e)
  11. return
  12. }
  13. _this.$alert(e, title ? title : cqcyCode[100], {
  14. confirmButtonText: '确定',
  15. showClose: false,
  16. callback: action => {
  17. resetConfirmWinPosition()
  18. if (callback) callback(action)
  19. }
  20. })
  21. }
  22. function insertLuckysheetEChart({
  23. selector: l,
  24. info: e,
  25. sheet: t,
  26. optionData: o,
  27. echarts: r,
  28. luckysheet: c,
  29. $: n,
  30. _self: _self,
  31. flag: flag
  32. }) {
  33. if (!e.option || !t) return;
  34. const [s, i] = e.pos, u = e.className, f = e.option, {
  35. data: _,
  36. visibledatacolumn: d,
  37. visibledatarow: m
  38. } = t, a = _[s][i];
  39. let b = 0,
  40. y = 0,
  41. g = [],
  42. h = [];
  43. if (a.mc) {
  44. if (!String(a.mc.cs) || !String(a.mc.rs)) {
  45. if (_self) {
  46. _self.$message({
  47. message: '无效单元!',
  48. type: 'error'
  49. })
  50. }
  51. return void console.error("无效单元");
  52. }
  53. for (; b < a.mc.rs;) g.push(s + b++);
  54. for (; y < a.mc.cs;) h.push(i + y++)
  55. } else g.push(s), h.push(i);
  56. const p = 0 == i ? 0 : d[i - 1],
  57. v = 0 == s ? 0 : m[s - 1],
  58. j = Object.values(c.getColumnWidth(h))
  59. .reduce((l, e) => l + e, 0),
  60. w = Object.values(c.getRowHeight(g))
  61. .reduce((l, e) => l + e, 0);
  62. if (j < 80 || w < 80) {
  63. if (_self) {
  64. luckysheet.cancelRangeMerge()
  65. showAlertWin(_self, null, '所选单元格不满足宽度大于80(默认情况下至少3格)或者高度大于80(默认情况下至少5格),请调整大小后重试!')
  66. }
  67. return void console.error(`单元[${s},${i}]不满足: width >= 80 && height >= 80,调整大小后重试!`);
  68. }
  69. let x =
  70. `<div class="${u} luckysheet-modal-dialog luckysheet-modal-dialog-chart luckysheet-data-visualization-chart" style="width: ${j}px;height: ${w}px;position: absolute;z-index: 1000;left: ${p}px;top: ${v}px;"></div>`;
  71. n(l + " #luckysheet-cell-main").append(x);
  72. let S = r.init(document.getElementsByClassName(u)[0]);
  73. S.setOption(f);
  74. let k = S.getConnectedDataURL({
  75. type: "png",
  76. pixelRatio: 1,
  77. backgroundColor: "#ffffff"
  78. });
  79. if (flag) {
  80. n('.' + u).css('display', 'none')
  81. c.insertImage(k, {
  82. rowIndex: s,
  83. colIndex: i,
  84. cellSize: setCellSize(o, s, i, c),
  85. success: function() {
  86. console.log("插入成功")
  87. }
  88. })
  89. }
  90. }