Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Litemall
Commits
c33b33cd
Commit
c33b33cd
authored
Apr 17, 2023
by
linlinjava
Browse files
Merge branch 'master' of
https://github.com/linlinjava/litemall
parents
2b87976a
ce310d9c
Changes
2
Hide whitespace changes
Inline
Side-by-side
litemall-admin/src/api/order.js
View file @
c33b33cd
...
...
@@ -6,8 +6,8 @@ export function listOrder(query) {
url
:
'
/order/list
'
,
method
:
'
get
'
,
params
:
query
,
paramsSerializer
:
function
(
params
)
{
return
Qs
.
stringify
(
params
,
{
arrayFormat
:
'
repeat
'
})
paramsSerializer
:
{
serialize
:
(
params
)
=>
Qs
.
stringify
(
params
,
{
arrayFormat
:
'
repeat
'
})
}
})
}
...
...
litemall-admin/src/vendor/Export2Excel.js
View file @
c33b33cd
/* eslint-disable */
import
{
saveAs
}
from
'
file-saver
'
import
XLSX
from
'
xlsx
'
import
{
utils
,
SSF
,
write
}
from
'
xlsx
'
function
generateArray
(
table
)
{
var
out
=
[];
var
rows
=
table
.
querySelectorAll
(
'
tr
'
);
var
ranges
=
[];
for
(
var
R
=
0
;
R
<
rows
.
length
;
++
R
)
{
var
outRow
=
[];
var
row
=
rows
[
R
];
var
columns
=
row
.
querySelectorAll
(
'
td
'
);
for
(
var
C
=
0
;
C
<
columns
.
length
;
++
C
)
{
var
cell
=
columns
[
C
];
var
colspan
=
cell
.
getAttribute
(
'
colspan
'
);
var
rowspan
=
cell
.
getAttribute
(
'
rowspan
'
);
var
cellValue
=
cell
.
innerText
;
if
(
cellValue
!==
""
&&
cellValue
==
+
cellValue
)
cellValue
=
+
cellValue
;
//Skip ranges
ranges
.
forEach
(
function
(
range
)
{
if
(
R
>=
range
.
s
.
r
&&
R
<=
range
.
e
.
r
&&
outRow
.
length
>=
range
.
s
.
c
&&
outRow
.
length
<=
range
.
e
.
c
)
{
for
(
var
i
=
0
;
i
<=
range
.
e
.
c
-
range
.
s
.
c
;
++
i
)
outRow
.
push
(
null
);
var
out
=
[];
var
rows
=
table
.
querySelectorAll
(
'
tr
'
);
var
ranges
=
[];
for
(
var
R
=
0
;
R
<
rows
.
length
;
++
R
)
{
var
outRow
=
[];
var
row
=
rows
[
R
];
var
columns
=
row
.
querySelectorAll
(
'
td
'
);
for
(
var
C
=
0
;
C
<
columns
.
length
;
++
C
)
{
var
cell
=
columns
[
C
];
var
colspan
=
cell
.
getAttribute
(
'
colspan
'
);
var
rowspan
=
cell
.
getAttribute
(
'
rowspan
'
);
var
cellValue
=
cell
.
innerText
;
if
(
cellValue
!==
""
&&
cellValue
==
+
cellValue
)
cellValue
=
+
cellValue
;
//Skip ranges
ranges
.
forEach
(
function
(
range
)
{
if
(
R
>=
range
.
s
.
r
&&
R
<=
range
.
e
.
r
&&
outRow
.
length
>=
range
.
s
.
c
&&
outRow
.
length
<=
range
.
e
.
c
)
{
for
(
var
i
=
0
;
i
<=
range
.
e
.
c
-
range
.
s
.
c
;
++
i
)
outRow
.
push
(
null
);
}
});
//Handle Row Span
if
(
rowspan
||
colspan
)
{
rowspan
=
rowspan
||
1
;
colspan
=
colspan
||
1
;
ranges
.
push
({
s
:
{
r
:
R
,
c
:
outRow
.
length
},
e
:
{
r
:
R
+
rowspan
-
1
,
c
:
outRow
.
length
+
colspan
-
1
}
});
};
//Handle Value
outRow
.
push
(
cellValue
!==
""
?
cellValue
:
null
);
//Handle Colspan
if
(
colspan
)
for
(
var
k
=
0
;
k
<
colspan
-
1
;
++
k
)
outRow
.
push
(
null
);
}
});
//Handle Row Span
if
(
rowspan
||
colspan
)
{
rowspan
=
rowspan
||
1
;
colspan
=
colspan
||
1
;
ranges
.
push
({
s
:
{
r
:
R
,
c
:
outRow
.
length
},
e
:
{
r
:
R
+
rowspan
-
1
,
c
:
outRow
.
length
+
colspan
-
1
}
});
};
//Handle Value
outRow
.
push
(
cellValue
!==
""
?
cellValue
:
null
);
//Handle Colspan
if
(
colspan
)
for
(
var
k
=
0
;
k
<
colspan
-
1
;
++
k
)
outRow
.
push
(
null
);
out
.
push
(
outRow
);
}
out
.
push
(
outRow
);
}
return
[
out
,
ranges
];
return
[
out
,
ranges
];
};
function
datenum
(
v
,
date1904
)
{
if
(
date1904
)
v
+=
1462
;
var
epoch
=
Date
.
parse
(
v
);
return
(
epoch
-
new
Date
(
Date
.
UTC
(
1899
,
11
,
30
)))
/
(
24
*
60
*
60
*
1000
);
if
(
date1904
)
v
+=
1462
;
var
epoch
=
Date
.
parse
(
v
);
return
(
epoch
-
new
Date
(
Date
.
UTC
(
1899
,
11
,
30
)))
/
(
24
*
60
*
60
*
1000
);
}
function
sheet_from_array_of_arrays
(
data
,
opts
)
{
var
ws
=
{};
var
range
=
{
s
:
{
c
:
10000000
,
r
:
10000000
},
e
:
{
c
:
0
,
r
:
0
}
};
for
(
var
R
=
0
;
R
!=
data
.
length
;
++
R
)
{
for
(
var
C
=
0
;
C
!=
data
[
R
].
length
;
++
C
)
{
if
(
range
.
s
.
r
>
R
)
range
.
s
.
r
=
R
;
if
(
range
.
s
.
c
>
C
)
range
.
s
.
c
=
C
;
if
(
range
.
e
.
r
<
R
)
range
.
e
.
r
=
R
;
if
(
range
.
e
.
c
<
C
)
range
.
e
.
c
=
C
;
var
cell
=
{
v
:
data
[
R
][
C
]
};
if
(
cell
.
v
==
null
)
continue
;
var
cell_ref
=
XLSX
.
utils
.
encode_cell
({
c
:
C
,
r
:
R
});
if
(
typeof
cell
.
v
===
'
number
'
)
cell
.
t
=
'
n
'
;
else
if
(
typeof
cell
.
v
===
'
boolean
'
)
cell
.
t
=
'
b
'
;
else
if
(
cell
.
v
instanceof
Date
)
{
cell
.
t
=
'
n
'
;
cell
.
z
=
XLSX
.
SSF
.
_table
[
14
];
cell
.
v
=
datenum
(
cell
.
v
);
}
else
cell
.
t
=
'
s
'
;
ws
[
cell_ref
]
=
cell
;
var
ws
=
{};
var
range
=
{
s
:
{
c
:
10000000
,
r
:
10000000
},
e
:
{
c
:
0
,
r
:
0
}
};
for
(
var
R
=
0
;
R
!=
data
.
length
;
++
R
)
{
for
(
var
C
=
0
;
C
!=
data
[
R
].
length
;
++
C
)
{
if
(
range
.
s
.
r
>
R
)
range
.
s
.
r
=
R
;
if
(
range
.
s
.
c
>
C
)
range
.
s
.
c
=
C
;
if
(
range
.
e
.
r
<
R
)
range
.
e
.
r
=
R
;
if
(
range
.
e
.
c
<
C
)
range
.
e
.
c
=
C
;
var
cell
=
{
v
:
data
[
R
][
C
]
};
if
(
cell
.
v
==
null
)
continue
;
var
cell_ref
=
utils
.
encode_cell
({
c
:
C
,
r
:
R
});
if
(
typeof
cell
.
v
===
'
number
'
)
cell
.
t
=
'
n
'
;
else
if
(
typeof
cell
.
v
===
'
boolean
'
)
cell
.
t
=
'
b
'
;
else
if
(
cell
.
v
instanceof
Date
)
{
cell
.
t
=
'
n
'
;
cell
.
z
=
SSF
.
_table
[
14
];
cell
.
v
=
datenum
(
cell
.
v
);
}
else
cell
.
t
=
'
s
'
;
ws
[
cell_ref
]
=
cell
;
}
}
}
if
(
range
.
s
.
c
<
10000000
)
ws
[
'
!ref
'
]
=
XLSX
.
utils
.
encode_range
(
range
);
return
ws
;
if
(
range
.
s
.
c
<
10000000
)
ws
[
'
!ref
'
]
=
utils
.
encode_range
(
range
);
return
ws
;
}
function
Workbook
()
{
if
(
!
(
this
instanceof
Workbook
))
return
new
Workbook
();
this
.
SheetNames
=
[];
this
.
Sheets
=
{};
if
(
!
(
this
instanceof
Workbook
))
return
new
Workbook
();
this
.
SheetNames
=
[];
this
.
Sheets
=
{};
}
function
s2ab
(
s
)
{
var
buf
=
new
ArrayBuffer
(
s
.
length
);
var
view
=
new
Uint8Array
(
buf
);
for
(
var
i
=
0
;
i
!=
s
.
length
;
++
i
)
view
[
i
]
=
s
.
charCodeAt
(
i
)
&
0xFF
;
return
buf
;
var
buf
=
new
ArrayBuffer
(
s
.
length
);
var
view
=
new
Uint8Array
(
buf
);
for
(
var
i
=
0
;
i
!=
s
.
length
;
++
i
)
view
[
i
]
=
s
.
charCodeAt
(
i
)
&
0xFF
;
return
buf
;
}
export
function
export_table_to_excel
(
id
)
{
var
theTable
=
document
.
getElementById
(
id
);
var
oo
=
generateArray
(
theTable
);
var
ranges
=
oo
[
1
];
/* original data */
var
data
=
oo
[
0
];
var
ws_name
=
"
SheetJS
"
;
var
wb
=
new
Workbook
(),
ws
=
sheet_from_array_of_arrays
(
data
);
/* add ranges to worksheet */
// ws['!cols'] = ['apple', 'banan'];
ws
[
'
!merges
'
]
=
ranges
;
/* add worksheet to workbook */
wb
.
SheetNames
.
push
(
ws_name
);
wb
.
Sheets
[
ws_name
]
=
ws
;
var
wbout
=
XLSX
.
write
(
wb
,
{
bookType
:
'
xlsx
'
,
bookSST
:
false
,
type
:
'
binary
'
});
saveAs
(
new
Blob
([
s2ab
(
wbout
)],
{
type
:
"
application/octet-stream
"
}),
"
test.xlsx
"
)
var
theTable
=
document
.
getElementById
(
id
);
var
oo
=
generateArray
(
theTable
);
var
ranges
=
oo
[
1
];
/* original data */
var
data
=
oo
[
0
];
var
ws_name
=
"
SheetJS
"
;
var
wb
=
new
Workbook
(),
ws
=
sheet_from_array_of_arrays
(
data
);
/* add ranges to worksheet */
// ws['!cols'] = ['apple', 'banan'];
ws
[
'
!merges
'
]
=
ranges
;
/* add worksheet to workbook */
wb
.
SheetNames
.
push
(
ws_name
);
wb
.
Sheets
[
ws_name
]
=
ws
;
var
wbout
=
write
(
wb
,
{
bookType
:
'
xlsx
'
,
bookSST
:
false
,
type
:
'
binary
'
});
saveAs
(
new
Blob
([
s2ab
(
wbout
)],
{
type
:
"
application/octet-stream
"
}),
"
test.xlsx
"
)
}
export
function
export_json_to_excel
({
multiHeader
=
[],
header
,
data
,
filename
,
merges
=
[],
autoWidth
=
true
,
bookType
=
'
xlsx
'
multiHeader
=
[],
header
,
data
,
filename
,
merges
=
[],
autoWidth
=
true
,
bookType
=
'
xlsx
'
}
=
{})
{
/* original data */
filename
=
filename
||
'
excel-list
'
data
=
[...
data
]
data
.
unshift
(
header
);
for
(
let
i
=
multiHeader
.
length
-
1
;
i
>
-
1
;
i
--
)
{
data
.
unshift
(
multiHeader
[
i
])
}
var
ws_name
=
"
SheetJS
"
;
var
wb
=
new
Workbook
(),
ws
=
sheet_from_array_of_arrays
(
data
);
if
(
merges
.
length
>
0
)
{
if
(
!
ws
[
'
!merges
'
])
ws
[
'
!merges
'
]
=
[];
merges
.
forEach
(
item
=>
{
ws
[
'
!merges
'
].
push
(
XLSX
.
utils
.
decode_range
(
item
))
})
}
if
(
autoWidth
)
{
/*设置worksheet每列的最大宽度*/
const
colWidth
=
data
.
map
(
row
=>
row
.
map
(
val
=>
{
/*先判断是否为null/undefined*/
if
(
val
==
null
)
{
return
{
'
wch
'
:
10
};
}
/*再判断是否为中文*/
else
if
(
val
.
toString
().
charCodeAt
(
0
)
>
255
)
{
return
{
'
wch
'
:
val
.
toString
().
length
*
2
};
}
else
{
return
{
'
wch
'
:
val
.
toString
().
length
};
}
}))
/*以第一行为初始值*/
let
result
=
colWidth
[
0
];
for
(
let
i
=
1
;
i
<
colWidth
.
length
;
i
++
)
{
for
(
let
j
=
0
;
j
<
colWidth
[
i
].
length
;
j
++
)
{
if
(
result
[
j
][
'
wch
'
]
<
colWidth
[
i
][
j
][
'
wch
'
])
{
result
[
j
][
'
wch
'
]
=
colWidth
[
i
][
j
][
'
wch
'
];
/* original data */
filename
=
filename
||
'
excel-list
'
data
=
[...
data
]
data
.
unshift
(
header
);
for
(
let
i
=
multiHeader
.
length
-
1
;
i
>
-
1
;
i
--
)
{
data
.
unshift
(
multiHeader
[
i
])
}
var
ws_name
=
"
SheetJS
"
;
var
wb
=
new
Workbook
(),
ws
=
sheet_from_array_of_arrays
(
data
);
if
(
merges
.
length
>
0
)
{
if
(
!
ws
[
'
!merges
'
])
ws
[
'
!merges
'
]
=
[];
merges
.
forEach
(
item
=>
{
ws
[
'
!merges
'
].
push
(
utils
.
decode_range
(
item
))
})
}
if
(
autoWidth
)
{
/*设置worksheet每列的最大宽度*/
const
colWidth
=
data
.
map
(
row
=>
row
.
map
(
val
=>
{
/*先判断是否为null/undefined*/
if
(
val
==
null
)
{
return
{
'
wch
'
:
10
};
}
/*再判断是否为中文*/
else
if
(
val
.
toString
().
charCodeAt
(
0
)
>
255
)
{
return
{
'
wch
'
:
val
.
toString
().
length
*
2
};
}
else
{
return
{
'
wch
'
:
val
.
toString
().
length
};
}
}))
/*以第一行为初始值*/
let
result
=
colWidth
[
0
];
for
(
let
i
=
1
;
i
<
colWidth
.
length
;
i
++
)
{
for
(
let
j
=
0
;
j
<
colWidth
[
i
].
length
;
j
++
)
{
if
(
result
[
j
][
'
wch
'
]
<
colWidth
[
i
][
j
][
'
wch
'
])
{
result
[
j
][
'
wch
'
]
=
colWidth
[
i
][
j
][
'
wch
'
];
}
}
}
}
ws
[
'
!cols
'
]
=
result
;
}
ws
[
'
!cols
'
]
=
result
;
}
/* add worksheet to workbook */
wb
.
SheetNames
.
push
(
ws_name
);
wb
.
Sheets
[
ws_name
]
=
ws
;
var
wbout
=
XLSX
.
write
(
wb
,
{
bookType
:
bookType
,
bookSST
:
false
,
type
:
'
binary
'
});
saveAs
(
new
Blob
([
s2ab
(
wbout
)],
{
type
:
"
application/octet-stream
"
}),
`
${
filename
}
.
${
bookType
}
`
);
/* add worksheet to workbook */
wb
.
SheetNames
.
push
(
ws_name
);
wb
.
Sheets
[
ws_name
]
=
ws
;
var
wbout
=
write
(
wb
,
{
bookType
:
bookType
,
bookSST
:
false
,
type
:
'
binary
'
});
saveAs
(
new
Blob
([
s2ab
(
wbout
)],
{
type
:
"
application/octet-stream
"
}),
`
${
filename
}
.
${
bookType
}
`
);
}
function
formatJson
(
jsonSource
,
jsonFillter
)
{
return
jsonSource
.
map
(
v
=>
jsonFillter
.
map
(
j
=>
{
return
v
[
j
]
}))
return
jsonSource
.
map
(
v
=>
jsonFillter
.
map
(
j
=>
{
return
v
[
j
]
}))
}
export
function
export_json_to_excel2
(
th
,
jsonSource
,
jsonFillter
,
name
)
{
const
data
=
formatJson
(
jsonSource
,
jsonFillter
)
export_json_to_excel
({
header
:
th
,
data
,
filename
:
name
})
const
data
=
formatJson
(
jsonSource
,
jsonFillter
)
export_json_to_excel
({
header
:
th
,
data
,
filename
:
name
})
}
\ No newline at end of file
Write
Preview
Supports
Markdown
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