Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
topsun-baoshen-excel
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
何远江
topsun-baoshen-excel
Commits
a462c48f
Commit
a462c48f
authored
Dec 20, 2023
by
何远江
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
标题区域设置区域限制添加
parent
2225740b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
65 additions
and
3 deletions
+65
-3
ExcelOperate.vue
...ws/comment-excel/components/ExcelOperate/ExcelOperate.vue
+65
-3
No files found.
src/views/comment-excel/components/ExcelOperate/ExcelOperate.vue
View file @
a462c48f
...
...
@@ -516,7 +516,7 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
'checkNumber'
])
}
else
{
if
(
!
currentAreaMark
.
excelArea
Titl
e
)
{
if
(
!
currentAreaMark
.
excelArea
Nicnam
e
)
{
return
ElMessage
.
error
(
'请先设置数据区!'
)
}
// 判断是否在同一sheet
...
...
@@ -536,9 +536,33 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
const
{
beginColum
,
beginRow
,
endColum
,
endRow
}
=
formState
as
Recordable
const
{
beginColum
:
bc
,
beginRow
:
br
,
endColum
:
ec
,
endRow
:
er
}
=
currentAreaMark
// const isOneColumn = bc == ec
// 是否是纵向
const
isVertical
=
rangeData
.
length
>
1
// const isDirection = rangeData.length == 1
let
isVertical
=
rangeData
.
length
>
1
if
(
!
isRangeSide
(
unref
(
currentAreaMark
),
unref
(
formState
)))
{
return
ElMessage
.
error
(
'请选择区域边缘作为标题!'
)
}
// let position = 'left'
// if (beginRow == endRow) { // 横向
// isVertical = false
// if (beginRow == br) { // 上边
// position = 'top'
// } else if (beginRow == er) { // 下边
// position = 'bottom'
// } else {
// return ElMessage.error('请选择区域边缘作为标题!')
// }
// } else if (beginColum == endColum) { // 纵向
// isVertical = true
// if (beginColum == bc) { // 左边
// position = 'left'
// } else if (beginColum == ec) { // 右边
// position = 'right'
// } else {
// return ElMessage.error('请选择区域边缘作为标题!')
// }
// }
if
(
isVertical
)
{
// if (er - br + 1 != rangeData.length) {
// return ElMessage.error('请选择区域边缘作为标题区!')
...
...
@@ -557,6 +581,21 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
}
}
}
else
{
// // 如果只有一列,只能是头部或者尾部
// if (isOneColumn) {
// console.log('isOneColumn')
// if (endColum != ec) {
// return ElMessage.error('请选择区域边缘作为标题区!')
// }
// if (rangeData[0].length == 1) {
// if (endRow == br || beginRow == er) {
// } else {
// return ElMessage.error('请选择区域边缘作为标题区!')
// }
// } else {
// return ElMessage.error('请选择区域边缘作为标题区!')
// }
// }
// if (ec - bc + 1 != rangeData[0].length) {
// return ElMessage.error('请选择区域边缘作为标题区!')
// }
...
...
@@ -596,6 +635,29 @@ const setAreaMark = async (type: 'data' | 'head' = 'data') => {
luckysheet
.
setRangeFormat
(
'bg'
,
areaMarksColor
[
type
])
},
100
)
}
const
isRangeSide
=
(
range
,
insideRage
)
=>
{
const
{
beginColum
,
beginRow
,
endColum
,
endRow
}
=
range
const
{
beginColum
:
bc
,
beginRow
:
br
,
endColum
:
ec
,
endRow
:
er
}
=
insideRage
const
sides
=
[]
// 上
sides
.
push
({
br
:
beginRow
,
er
:
beginRow
,
bc
:
beginColum
,
ec
:
endColum
})
// 右
sides
.
push
({
br
:
beginRow
,
er
:
endRow
,
bc
:
endColum
,
ec
:
endColum
})
//下
sides
.
push
({
br
:
endRow
,
er
:
endRow
,
bc
:
beginColum
,
ec
:
endColum
})
// 左
sides
.
push
({
br
:
beginRow
,
er
:
endRow
,
bc
:
beginColum
,
ec
:
beginColum
})
const
side
=
{
br
,
bc
,
er
,
ec
}
console
.
log
(
'isRangeside'
,
side
,
sides
)
return
!!
sides
.
filter
((
item
)
=>
{
return
item
.
bc
==
bc
&&
item
.
br
==
br
&&
item
.
ec
==
ec
&&
item
.
er
==
er
}).
length
}
const
resetCurrentAreaState
=
(
isedit
:
boolean
=
false
)
=>
{
// 重置 其他属性
const
tmp
:
Recordable
=
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment