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
f8ed322b
Commit
f8ed322b
authored
Apr 15, 2024
by
何远江
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug 修改
parent
7e72d5df
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
8 deletions
+54
-8
excel.ts
src/utils/excel.ts
+44
-2
SetDataAreaTitle.vue
...nt-excel/components/SetDataAreaTitle/SetDataAreaTitle.vue
+9
-6
OrderChange.vue
src/views/order/orderChange/OrderChange.vue
+1
-0
No files found.
src/utils/excel.ts
View file @
f8ed322b
...
@@ -110,6 +110,48 @@ export function handleRangeTitle(range: any) {
...
@@ -110,6 +110,48 @@ export function handleRangeTitle(range: any) {
return
titles
return
titles
}
}
export
function
handleRangeCell
(
range
:
any
)
{
// console.log(luckysheet.getRangeValue(), 'range-----')
// return
const
{
beginRow
,
beginColum
,
endRow
,
sheetNum
,
endColum
,
columnLen
,
rowLen
}
=
getRangeState
(
range
)
const
titles
=
[]
const
mergeCells
:
any
=
[]
for
(
let
c
=
0
;
c
<
columnLen
;
c
++
)
{
for
(
let
r
=
0
;
r
<
rowLen
;
r
++
)
{
const
t
=
{
title
:
''
,
sheet
:
sheetNum
,
row
:
+
beginRow
+
r
,
colum
:
+
beginColum
+
c
}
if
(
mergeCells
.
includes
(
`
${
t
.
row
}
_
${
t
.
colum
}
`
))
{
continue
}
const
cell
=
range
[
r
][
c
]
try
{
t
.
title
=
(
cell
.
v
||
cell
?.
ct
?.
s
?.
map
((
itm
)
=>
itm
.
v
).
join
(
''
)).
replaceAll
(
/
(\s
+
)
/g
,
''
)
// 如果有合并单元格,直接跳过合并的单元格
if
(
cell
?.
mc
?.
rs
>
1
)
{
Array
.
from
({
length
:
cell
.
mc
.
rs
-
1
},
(
_
,
i
)
=>
{
mergeCells
.
push
(
`
${
t
.
row
+
i
+
1
}
_
${
t
.
colum
}
`
)
})
}
if
(
cell
?.
mc
?.
cs
>
1
)
{
Array
.
from
({
length
:
cell
.
mc
.
cs
-
1
},
(
_
,
i
)
=>
{
mergeCells
.
push
(
`
${
t
.
row
}
_
${
t
.
colum
+
i
+
1
}
`
)
})
}
titles
.
push
(
t
)
}
catch
(
e
)
{
console
.
log
(
r
,
c
,
t
,
e
,
'error'
)
}
}
}
return
titles
}
/**
/**
* 获取当前选取的坐标
* 获取当前选取的坐标
* @returns
* @returns
...
@@ -210,13 +252,13 @@ export function filterRunData(data: any, config: boolean = false) {
...
@@ -210,13 +252,13 @@ export function filterRunData(data: any, config: boolean = false) {
// excelOrderFiledConfId: '',
// excelOrderFiledConfId: '',
// params: {},
// params: {},
// orderFiled: {},
// orderFiled: {},
excelOrderFiledConfId
:
''
,
excelOrderFiledConfId
:
''
,
title
:
''
,
title
:
''
,
orderFiledConfs
:
[],
orderFiledConfs
:
[],
templateFileId
:
''
templateFileId
:
''
}
}
console
.
log
(
data
,
'data-----'
)
console
.
log
(
data
,
'data-----'
)
data
.
forEach
((
row
:
any
)
=>
{
data
.
forEach
((
row
:
any
)
=>
{
const
rw
:
Recordable
=
{}
const
rw
:
Recordable
=
{}
...
...
src/views/comment-excel/components/SetDataAreaTitle/SetDataAreaTitle.vue
View file @
f8ed322b
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
reactive
,
unref
}
from
'vue'
import
{
ref
,
reactive
,
unref
}
from
'vue'
import
{
compareSameCell
,
getRangetxt
,
handleRangeTitle
}
from
'@/utils/excel'
import
{
compareSameCell
,
getRangetxt
,
handleRange
Cell
,
handleRange
Title
}
from
'@/utils/excel'
import
{
areaMarksColor
}
from
'@/constants/excelConfig'
import
{
areaMarksColor
}
from
'@/constants/excelConfig'
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
type
{
Recordable
}
from
'@/types/global'
import
type
{
Recordable
}
from
'@/types/global'
...
@@ -94,14 +94,17 @@ const setAreaTitle = () => {
...
@@ -94,14 +94,17 @@ const setAreaTitle = () => {
if
(
sheet
.
order
!=
props
.
currentAreaMark
.
sheetNum
)
{
if
(
sheet
.
order
!=
props
.
currentAreaMark
.
sheetNum
)
{
return
ElMessage
.
error
(
'请在同一sheet页中选择数据!'
)
return
ElMessage
.
error
(
'请在同一sheet页中选择数据!'
)
}
}
const
isPublic
=
props
.
currentAreaMark
.
excelAreaType
==
'public_area'
const
[
sr
,
er
]
=
sheet
.
luckysheet_select_save
[
0
].
row
const
[
sr
,
er
]
=
sheet
.
luckysheet_select_save
[
0
].
row
const
[
sc
,
ec
]
=
sheet
.
luckysheet_select_save
[
0
].
column
const
[
sc
,
ec
]
=
sheet
.
luckysheet_select_save
[
0
].
column
const
rangeData
=
luckysheet
.
getRangeValue
()
const
rangeData
=
luckysheet
.
getRangeValue
()
const
titles
=
handleRangeTitle
(
rangeData
).
map
((
item
)
=>
{
const
titles
=
isPublic
Reflect
.
set
(
item
,
'numTitle'
,
''
)
?
handleRangeCell
(
rangeData
)
Reflect
.
set
(
item
,
'numFlag'
,
'N'
)
:
handleRangeTitle
(
rangeData
).
map
((
item
)
=>
{
return
item
Reflect
.
set
(
item
,
'numTitle'
,
''
)
})
Reflect
.
set
(
item
,
'numFlag'
,
'N'
)
return
item
})
titleArea
.
value
.
push
({
titleArea
.
value
.
push
({
excelAreaNicname
:
props
.
currentAreaMark
.
excelAreaNicname
,
excelAreaNicname
:
props
.
currentAreaMark
.
excelAreaNicname
,
...
...
src/views/order/orderChange/OrderChange.vue
View file @
f8ed322b
...
@@ -163,6 +163,7 @@
...
@@ -163,6 +163,7 @@
width=
"500px"
width=
"500px"
show-footer
show-footer
@
hide=
"imporModalHide"
@
hide=
"imporModalHide"
:z-index=
"1000"
>
>
<el-form
ref=
"importFormInstance"
:model=
"importForm"
:rules=
"importRules"
>
<el-form
ref=
"importFormInstance"
:model=
"importForm"
:rules=
"importRules"
>
<el-form-item
label=
"客户名称"
prop=
"customerId"
>
<el-form-item
label=
"客户名称"
prop=
"customerId"
>
...
...
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