Commit d24ab22a authored by 何远江's avatar 何远江

标题区域设置bug修改

parent 53d88947
......@@ -451,15 +451,19 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
*/
const result = []
const rangeData = luckysheet.getRangeValue()
// console.log(rangeData, '-----')
console.log(rangeData, '-----')
// return
const { beginColum, beginRow, endColum, endRow } = formState as Recordable
const { beginColum: bc, beginRow: br, endColum: ec, endRow: er } = currentAreaMark
// 是否是纵向
const isVertical = rangeData.length > 1
// const isDirection = rangeData.length == 1
if (isVertical) {
for (let r = 0; r <= endRow; r++) {
if ((endRow - beginRow + 1) != rangeData.length) {
return ElMessage.error('请选择区域边缘作为标题区!')
}
for (let r = 0; r < rangeData.length; r++) {
const item = rangeData[r][0]
result.push({
title: item.v || item.ct.s[0].v,
......@@ -473,8 +477,12 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
}
}
} else {
for (let c = 0; c <= endRow; c++) {
if ((endColum - beginColum + 1) != rangeData[0].length) {
return ElMessage.error('请选择区域边缘作为标题区!')
}
for (let c = 0; c < rangeData[0].length; c++) {
const item = rangeData[0][c]
console.log(item, '======')
result.push({
title: item.v || item.ct.s[0].v,
sheet: formState.sheetNum,
......@@ -488,13 +496,23 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
}
}
// 清除之前的title颜色
resetCurrentHeadArea(() => {
luckysheet.setRangeShow({
row: [beginRow, endRow],
column: [beginColum, endColum]
})
currentAreaMark.excelAreaTitle = result
})
// 合并组装的表头区域数据
currentAreaMark.excelAreaTitle
? currentAreaMark.excelAreaTitle.push(...result)
: (currentAreaMark.excelAreaTitle = result)
// currentAreaMark.excelAreaTitle
// ? currentAreaMark.excelAreaTitle.push(...result)
// : (currentAreaMark.excelAreaTitle = result)
}
setTimeout(() => {
// 设置区域颜色
luckysheet.setRangeFormat('bg', areaMarksColor[type])
}, 100)
......@@ -533,7 +551,7 @@ const resetCurrentArea = (fn?: Function) => {
}
)
}
const resetCurrentHeadArea = () => {
const resetCurrentHeadArea = (cb: any) => {
// 清除标题区域颜色 -> 设置成数据区域颜色
luckysheet.setRangeShow(
{
......@@ -546,6 +564,7 @@ const resetCurrentHeadArea = () => {
luckysheet.setRangeFormat('bg', areaMarksColor['data'])
// 删除 excelAreaTitle 属性
delete currentAreaMark.excelAreaTitle
cb && cb()
}
}
)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment