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

标题区域设置bug修改

parent 53d88947
...@@ -451,15 +451,19 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => { ...@@ -451,15 +451,19 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
*/ */
const result = [] const result = []
const rangeData = luckysheet.getRangeValue() const rangeData = luckysheet.getRangeValue()
// console.log(rangeData, '-----') console.log(rangeData, '-----')
// return // return
const { beginColum, beginRow, endColum, endRow } = formState as Recordable const { beginColum, beginRow, endColum, endRow } = formState as Recordable
const { beginColum: bc, beginRow: br, endColum: ec, endRow: er } = currentAreaMark const { beginColum: bc, beginRow: br, endColum: ec, endRow: er } = currentAreaMark
// 是否是纵向 // 是否是纵向
const isVertical = rangeData.length > 1 const isVertical = rangeData.length > 1
// const isDirection = rangeData.length == 1
if (isVertical) { 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] const item = rangeData[r][0]
result.push({ result.push({
title: item.v || item.ct.s[0].v, title: item.v || item.ct.s[0].v,
...@@ -473,8 +477,12 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => { ...@@ -473,8 +477,12 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
} }
} }
} else { } 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] const item = rangeData[0][c]
console.log(item, '======')
result.push({ result.push({
title: item.v || item.ct.s[0].v, title: item.v || item.ct.s[0].v,
sheet: formState.sheetNum, sheet: formState.sheetNum,
...@@ -488,13 +496,23 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => { ...@@ -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
? currentAreaMark.excelAreaTitle.push(...result) // ? currentAreaMark.excelAreaTitle.push(...result)
: (currentAreaMark.excelAreaTitle = result) // : (currentAreaMark.excelAreaTitle = result)
} }
setTimeout(() => { setTimeout(() => {
// 设置区域颜色 // 设置区域颜色
luckysheet.setRangeFormat('bg', areaMarksColor[type]) luckysheet.setRangeFormat('bg', areaMarksColor[type])
}, 100) }, 100)
...@@ -533,7 +551,7 @@ const resetCurrentArea = (fn?: Function) => { ...@@ -533,7 +551,7 @@ const resetCurrentArea = (fn?: Function) => {
} }
) )
} }
const resetCurrentHeadArea = () => { const resetCurrentHeadArea = (cb: any) => {
// 清除标题区域颜色 -> 设置成数据区域颜色 // 清除标题区域颜色 -> 设置成数据区域颜色
luckysheet.setRangeShow( luckysheet.setRangeShow(
{ {
...@@ -546,6 +564,7 @@ const resetCurrentHeadArea = () => { ...@@ -546,6 +564,7 @@ const resetCurrentHeadArea = () => {
luckysheet.setRangeFormat('bg', areaMarksColor['data']) luckysheet.setRangeFormat('bg', areaMarksColor['data'])
// 删除 excelAreaTitle 属性 // 删除 excelAreaTitle 属性
delete currentAreaMark.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