Browse Source

update

jiang
master
tonytonychopper123 5 years ago
parent
commit
010cd31e7b
  1. 15
      src/demoData/sheetCell.js
  2. 97
      src/expendPlugins/chart/plugin.js

15
src/demoData/sheetCell.js

@ -1165,16 +1165,11 @@ const sheetCell = {
},
"index": "0",
"chart": [{
"sheetIndex": "0",
"dataSheetIndex": "0",
"chartType": "column",
"row": "[1,3]",
"column": "[3,3]",
"chartStyle": "default",
"width": "480",
"height": "288",
"left": "67",
"top": "11"
"chart_id": "chart_5erpeWc1eWal_1596092336315",
"width": 400,
"height": 250,
"top": 30,
"left": 50
}],
"status": "1",
"order": "0",

97
src/expendPlugins/chart/plugin.js

@ -65,12 +65,12 @@ function chart(data) {
chartInfo.changeChartCellData = chartmix.default.changeChartCellData
chartInfo.chart_selection = chart_selection()
chartInfo.chartparam.jfrefreshchartall = jfrefreshchartall
chartInfo.chartparam.changeChartCellData = chartmix.default.changeChartCellData
chartInfo.chartparam.changeChartCellData = chartmix.default.changeChartCellData
chartInfo.chartparam.renderChart = chartmix.default.renderChart
// 初始化渲染图表
for(let i = 0; i < data.length; i++){
if(data[i].status == '1'){
for (let i = 0; i < data.length; i++) {
if (data[i].status == '1') {
renderCharts(data[i].chart)
}
}
@ -78,13 +78,48 @@ function chart(data) {
}
// rendercharts
function renderCharts(chartLists){
function renderCharts(chartLists) {
for (let i = 0; i < chartLists.length; i++) {
let chart = chartLists[i]
let chart_id_c = chart.chart_id + '_c'
let modelChartShowHTML =
'<div id="${id}"class="luckysheet-modal-dialog luckysheet-modal-dialog-chart ${addclass}"tabindex="0"role="dialog"aria-labelledby=":41e"dir="ltr"><div class="luckysheet-modal-dialog-resize"><div class="luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-lt"data-type="lt"></div><div class="luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-mt"data-type="mt"></div><div class="luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-lm"data-type="lm"></div><div class="luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-rm"data-type="rm"></div><div class="luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-rt"data-type="rt"></div><div class="luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-lb"data-type="lb"></div><div class="luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-mb"data-type="mb"></div><div class="luckysheet-modal-dialog-resize-item luckysheet-modal-dialog-resize-item-rb"data-type="rb"></div></div><div class="luckysheet-modal-dialog-controll"><span class="luckysheet-modal-controll-btn luckysheet-modal-controll-update"role="button"tabindex="0"aria-label="修改图表"title="修改图表"><i class="fa fa-pencil"aria-hidden="true"></i></span><span class="luckysheet-modal-controll-btn luckysheet-modal-controll-max"role="butluckysheet_chartIns_indexton"tabindex="0"aria-label="最大化"title="最大化"><i class="fa fa-window-maximize"aria-hidden="true"></i></span><span class="luckysheet-modal-controll-btn luckysheet-modal-controll-del"role="button"tabindex="0"aria-label="删除"title="删除"><i class="fa fa-trash"aria-hidden="true"></i></span></div><div class="luckysheet-modal-dialog-content">${content}</div></div>'
let $t = $(
replaceHtml(modelChartShowHTML, {
id: chart_id_c,
addclass: 'luckysheet-data-visualization-chart',
title: '图表生成',
content: ''
})
).appendTo($('.luckysheet-cell-main'))
let container = document.getElementById(chart_id_c)
let { render, chart_json } = chartInfo.createChart($(`#${chart_id_c}`).children('.luckysheet-modal-dialog-content')[0], chartData, chart_id, rangeArray, rangeTxt)
chartInfo.currentChart = chart_json.chartOptions
console.dir(JSON.stringify(chart_json))
width = chart.width
height = chart.height
left = chart.left
top = chart.top
container.style.width = width + 'px'
container.style.height = height + 'px'
container.style.position = 'absolute'
container.style.background = '#fff'
container.style.left = left + 'px'
container.style.top = top + 'px'
render.style.width = '100%'
render.style.height = '100%'
container.style.zIndex = chartInfo.zIndex ? chartInfo.zIndex : 15
chartInfo.zIndex++
}
}
function jfrefreshchartall(flowdata1, r_st, r_ed, c_st, c_ed) {
let chart = chartInfo.currentChart
if(!chart){
if (!chart) {
return
}
if (chart.rangeArray.length == 1) {
@ -92,12 +127,12 @@ function jfrefreshchartall(flowdata1, r_st, r_ed, c_st, c_ed) {
var column = chart.rangeArray[0].column;
//不在范围内的不更新
if (
r_st > row[1] ||
r_ed < row[0] ||
c_st > column[1] ||
c_ed < column[0]
r_st > row[1] ||
r_ed < row[0] ||
c_st > column[1] ||
c_ed < column[0]
) {
return
return
}
//根据原有的范围取得数据
var luckysheetgetcellrange = formula.getcellrange(
@ -998,8 +1033,8 @@ function createLuckyChart(width, height, left, top) {
// insert chartinfo
let sheetFile = chartInfo.luckysheetfile[getSheetIndex(chartInfo.currentSheetIndex)];
if(!sheetFile.chart){
if (!sheetFile.chart) {
sheetFile.chart = [];
}
sheetFile.chart.push({
@ -1163,11 +1198,11 @@ function showNeedRangeShow(chart_id) {
let chartLists = chartInfo.luckysheetfile[getSheetIndex(chartInfo.currentSheetIndex)].chart;
for (let chartId in chartLists) {
// if (chartLists[chartId].sheetIndex == chartInfo.currentSheetIndex) {
//当前sheet的图表先设置为false
chartLists[chartId].needRangeShow = false
if (chartLists[chartId].chart_id == chart_id) {
chartLists[chartId].needRangeShow = true
}
//当前sheet的图表先设置为false
chartLists[chartId].needRangeShow = false
if (chartLists[chartId].chart_id == chart_id) {
chartLists[chartId].needRangeShow = true
}
// }
}
@ -1180,8 +1215,8 @@ function hideAllNeedRangeShow() {
let chartLists = chartInfo.luckysheetfile[getSheetIndex(chartInfo.currentSheetIndex)].chart;
for (let chartId in chartLists) {
// if (chartLists[chartId].sheetIndex == chartInfo.currentSheetIndex) {
//当前sheet的图表设置为false
chartLists[chartId].needRangeShow = false
//当前sheet的图表设置为false
chartLists[chartId].needRangeShow = false
// }
}
@ -1301,11 +1336,11 @@ function renderChartShow(index) {
const luckysheetfile = chartInfo.luckysheetfile;
luckysheetfile.forEach((file) => {
//切换当前页的所有图表都显示出来
if(file.index == index){
const chartLists = file.chart || [];
if (file.index == index) {
chartLists.forEach((chart)=>{
const chartLists = file.chart || [];
chartLists.forEach((chart) => {
chart.isShow = true;
$('#' + chart.chart_id + '_c').show();
@ -1315,21 +1350,21 @@ function renderChartShow(index) {
selectRangeBorderShow(chart.chart_id)
}
})
})
}
// 隐藏其他页的图表
else{
else {
const chartLists = file.chart || [];
chartLists.forEach((chart)=>{
chartLists.forEach((chart) => {
chart.isShow = false;
$('#' + chart.chart_id + '_c').hide();
})
})
}
});
}
export { chart, createLuckyChart, hideAllNeedRangeShow,renderChartShow }
export { chart, createLuckyChart, hideAllNeedRangeShow, renderChartShow }
Loading…
Cancel
Save