Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
K
klck
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
位宇华
klck
Commits
abee1c35
Commit
abee1c35
authored
Jul 25, 2023
by
xiangjiaojunxp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
六矿汇总excel转换
parent
a7207d35
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
343 additions
and
53 deletions
+343
-53
ruoyi-ui/src/views/system/supplies/index.vue
ruoyi-ui/src/views/system/supplies/index.vue
+343
-53
No files found.
ruoyi-ui/src/views/system/supplies/index.vue
View file @
abee1c35
...
@@ -38,7 +38,7 @@
...
@@ -38,7 +38,7 @@
name=
"file"
name=
"file"
ref=
"upload"
ref=
"upload"
:before-upload=
"handleFileChange"
:before-upload=
"handleFileChange"
action=
''
action=
'
https://jsonplaceholder.typicode.com/posts
'
:limit=
"1"
:limit=
"1"
:file-list=
"fileList"
:file-list=
"fileList"
:disabled=
"disableNextButton"
:disabled=
"disableNextButton"
...
@@ -70,6 +70,7 @@ import { exportExcel } from '../../../../public/exportExcel';
...
@@ -70,6 +70,7 @@ import { exportExcel } from '../../../../public/exportExcel';
var
fileName
=
"
新建XLSX工作表
"
;
//定义表名
var
fileName
=
"
新建XLSX工作表
"
;
//定义表名
var
rule
=
[];
var
rule
=
[];
var
tempId
;
export
default
{
export
default
{
name
:
"
Mymodule
"
,
name
:
"
Mymodule
"
,
data
()
{
data
()
{
...
@@ -117,6 +118,7 @@ export default {
...
@@ -117,6 +118,7 @@ export default {
this
.
disableNextButton
=
this
.
selectedRule
===
''
;
this
.
disableNextButton
=
this
.
selectedRule
===
''
;
//根据选中的下拉选项值获取相应的信息
//根据选中的下拉选项值获取相应的信息
getSuppliesTemplate
(
this
.
selectedOption
).
then
(
response
=>
{
getSuppliesTemplate
(
this
.
selectedOption
).
then
(
response
=>
{
tempId
=
this
.
selectedOption
;
const
sysSupplies
=
response
.
rows
;
const
sysSupplies
=
response
.
rows
;
this
.
luckysheetData
=
sysSupplies
[
0
].
templateContent
;
this
.
luckysheetData
=
sysSupplies
[
0
].
templateContent
;
//将接收到的json存到json_data中
//将接收到的json存到json_data中
...
@@ -140,6 +142,7 @@ export default {
...
@@ -140,6 +142,7 @@ export default {
this
.
$message
.
error
(
'
查询失败,发生未知错误!
'
);
this
.
$message
.
error
(
'
查询失败,发生未知错误!
'
);
});
});
},
},
/** 规则下拉选 调佣后端的方法*/
handleRuleChange
(){
handleRuleChange
(){
if
(
this
.
selectedOption
===
''
)
{
if
(
this
.
selectedOption
===
''
)
{
this
.
selectedRule
=
''
;
this
.
selectedRule
=
''
;
...
@@ -246,8 +249,6 @@ export default {
...
@@ -246,8 +249,6 @@ export default {
type
:
"
warning
"
});
type
:
"
warning
"
});
return
return
}
}
LuckyExcel
.
transformExcelToLucky
(
LuckyExcel
.
transformExcelToLucky
(
evt
,
evt
,
function
(
exportJson
)
{
function
(
exportJson
)
{
...
@@ -259,12 +260,11 @@ export default {
...
@@ -259,12 +260,11 @@ export default {
return
return
}
}
console
.
log
(
"
导入数据的规则是:
"
+
rule
);
console
.
log
(
"
导入数据的规则是:
"
+
rule
);
console
.
log
(
"
导入数据的规则是:
"
+
tempId
);
let
sysRulez
;
let
sysRulez
;
let
sysRules
;
let
sysRules
;
let
value
=
[];
let
value
=
[];
let
map
=
new
Map
();
//获取规则 sysRulez是物料转换 sysRules是数据汇总规则 13
//获取物料转换的规则
//
for
(
let
i
=
0
;
i
<
rule
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
rule
.
length
;
i
++
){
if
(
rule
[
i
].
convertStatus
==
1
){
if
(
rule
[
i
].
convertStatus
==
1
){
sysRulez
=
JSON
.
parse
(
rule
[
i
].
detailContent
);
sysRulez
=
JSON
.
parse
(
rule
[
i
].
detailContent
);
...
@@ -275,6 +275,7 @@ export default {
...
@@ -275,6 +275,7 @@ export default {
}
}
//获取物料转换的sheet表
//获取物料转换的sheet表
let
data
=
window
.
luckysheet
.
transToData
(
exportJson
.
sheets
[
sysRulez
[
0
].
se
].
celldata
);
let
data
=
window
.
luckysheet
.
transToData
(
exportJson
.
sheets
[
sysRulez
[
0
].
se
].
celldata
);
//获取物料转换中导入表的列,用来获取物料名
let
key_i
=
sysRulez
[
0
].
ce
;
let
key_i
=
sysRulez
[
0
].
ce
;
//获取物料转换的数据
//获取物料转换的数据
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
){
...
@@ -282,61 +283,350 @@ export default {
...
@@ -282,61 +283,350 @@ export default {
value
.
push
(
sysRules
[
i
].
ce
);
value
.
push
(
sysRules
[
i
].
ce
);
}
}
console
.
log
(
"
value的值为:
"
+
value
);
console
.
log
(
"
value的值为:
"
+
value
);
let
smallMat
=
[];
switch
(
tempId
){
for
(
let
i
=
2
;
i
<
data
.
length
;
i
++
){
if
(
data
[
i
][
key_i
]
!=
null
){
case
2
:
let
num
=
data
[
i
][
key_i
].
m
;
{
smallMat
.
push
(
num
);
let
department
=
[
'
原煤
'
,
'
洗煤厂
'
];
}
else
{
for
(
let
j
=
0
;
j
<
department
.
length
;
j
++
){
smallMat
.
push
(
null
);
let
map
=
new
Map
();
let
smallMat
=
[];
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
){
if
(
data
[
i
][
key_i
]
!=
null
&&
data
[
i
][
13
].
m
==
department
[
j
]){
let
num
=
data
[
i
][
key_i
].
m
;
smallMat
.
push
(
num
);
}
else
{
smallMat
.
push
(
null
);
}
}
console
.
log
(
smallMat
);
materialConvert
(
smallMat
).
then
(
response
=>
{
let
array
=
response
.
rows
;
console
.
log
(
array
);
//luckysheet.setCellValue(12, 1, {bg:"#FF0000"})
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
)
{
let
values
=
[];
if
(
data
[
i
][
13
]
!=
null
&&
data
[
i
][
13
].
m
==
department
[
j
]
&&
data
[
i
][
key_i
]
!=
null
){
for
(
let
j
=
0
;
j
<
value
.
length
;
j
++
)
{
let
a
=
parseFloat
(
data
[
i
][
value
[
j
]].
v
);
values
.
push
(
a
);
}
//插入多个value的值
let
index
=
smallMat
.
indexOf
(
data
[
i
][
key_i
].
m
);
let
key
=
array
[
index
];
if
(
map
.
has
(
key
))
{
let
oldValues
=
map
.
get
(
key
);
for
(
let
i
=
0
;
i
<
values
.
length
;
i
++
){
values
[
i
]
=
parseFloat
(
parseFloat
(
values
[
i
]
+
oldValues
[
i
]).
toFixed
(
2
));
}
map
.
set
(
key
,
values
);
}
else
{
map
.
set
(
key
,
values
);
}
}
}
//循环得到汇总结果
console
.
log
(
map
);
let
cells
;
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
){
map
.
forEach
((
value
,
key
)
=>
{
let
searchResult
=
luckysheet
.
find
(
key
);
if
(
searchResult
.
length
!=
0
&&
key
!=
null
){
cells
=
searchResult
[
0
].
column
;
luckysheet
.
setCellValue
(
parseFloat
(
sysRules
[
i
].
rt
)
+
j
,
cells
,
value
[
i
]);
luckysheet
.
setCellValue
(
parseFloat
(
sysRules
[
i
].
rt
)
+
j
,
cells
,{
"
ct
"
:
{
"
fa
"
:
"
General
"
,
"
t
"
:
"
n
"
}});
}
});
}
}).
catch
(()
=>
{
// 处理错误逻辑,这里是一个空的错误处理函数
console
.
log
(
"
走到这了,物料转换后续处理出问题了!!
"
);
});
}
}
}
}
break
;
console
.
log
(
smallMat
);
case
6
:
materialConvert
(
smallMat
).
then
(
response
=>
{
{
let
array
=
response
.
rows
;
let
department
=
[
'
二掘区
'
,
'
后勤服务二科
'
,
'
后勤服务一科
'
,
'
机电科
'
,
'
井运区
'
,
'
救护队
'
,
'
开拓区
'
,
'
开运区
'
,
'
通风区
'
,
'
通讯管理科
'
,
'
物资管理科
'
,
'
巷修区
'
,
'
一掘区
'
,
'
准备区
'
,
'
综二区
'
,
'
综一区
'
,
'
钻探区
'
];
console
.
log
(
array
);
//加个费用循环
//luckysheet.setCellValue(12, 1, {bg:"#FF0000"})
for
(
let
j
=
0
;
j
<
department
.
length
;
j
++
){
for
(
let
i
=
2
;
i
<
data
.
length
;
i
++
)
{
let
map
=
new
Map
();
let
values
=
[];
let
smallMat
=
[];
if
(
data
[
i
][
key_i
]
!=
null
){
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
value
.
length
;
j
++
)
{
let
a
=
parseFloat
(
data
[
i
][
value
[
j
]].
v
);
if
(
data
[
i
][
key_i
]
!=
null
&&
data
[
i
][
1
].
m
==
department
[
j
]){
values
.
push
(
a
);
let
num
=
data
[
i
][
key_i
].
m
;
smallMat
.
push
(
num
);
}
else
{
smallMat
.
push
(
null
);
}
}
}
}
else
{
break
;
console
.
log
(
smallMat
);
materialConvert
(
smallMat
).
then
(
response
=>
{
let
array
=
response
.
rows
;
console
.
log
(
array
);
//luckysheet.setCellValue(12, 1, {bg:"#FF0000"})
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
)
{
let
values
=
[];
if
(
data
[
i
][
1
]
!=
null
&&
data
[
i
][
1
].
m
==
department
[
j
]
&&
data
[
i
][
key_i
]
!=
null
){
for
(
let
j
=
0
;
j
<
value
.
length
;
j
++
)
{
let
a
=
parseFloat
(
data
[
i
][
value
[
j
]].
v
);
values
.
push
(
a
);
}
//插入多个value的值
let
index
=
smallMat
.
indexOf
(
data
[
i
][
key_i
].
m
);
let
key
=
array
[
index
];
if
(
map
.
has
(
key
))
{
let
oldValues
=
map
.
get
(
key
);
for
(
let
i
=
0
;
i
<
values
.
length
;
i
++
){
values
[
i
]
=
parseFloat
(
parseFloat
(
values
[
i
]
+
oldValues
[
i
]).
toFixed
(
2
));
}
map
.
set
(
key
,
values
);
}
else
{
map
.
set
(
key
,
values
);
}
}
}
//循环得到汇总结果
console
.
log
(
map
);
let
cells
;
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
){
map
.
forEach
((
value
,
key
)
=>
{
let
searchResult
=
luckysheet
.
find
(
key
);
if
(
searchResult
.
length
!=
0
&&
key
!=
null
){
cells
=
luckysheet
.
find
(
key
)[
0
].
column
;
luckysheet
.
setCellValue
(
parseFloat
(
sysRules
[
i
].
rt
)
+
j
,
cells
,
value
[
i
]);
luckysheet
.
setCellValue
(
parseFloat
(
sysRules
[
i
].
rt
)
+
j
,
cells
,{
"
ct
"
:
{
"
fa
"
:
"
General
"
,
"
t
"
:
"
n
"
}});
}
});
}
});
}
}
//插入多个value的值
}
let
index
=
smallMat
.
indexOf
(
data
[
i
][
key_i
].
m
);
break
;
let
key
=
array
[
index
];
case
1
:
if
(
map
.
has
(
key
))
{
{
let
oldValues
=
map
.
get
(
key
);
let
map
=
new
Map
();
for
(
let
i
=
0
;
i
<
values
.
length
;
i
++
){
let
smallMat
=
[];
values
[
i
]
=
parseFloat
(
parseFloat
(
values
[
i
]
+
oldValues
[
i
]).
toFixed
(
2
));
for
(
let
i
=
parseInt
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
){
if
(
data
[
i
][
key_i
]
!=
null
){
let
num
=
data
[
i
][
key_i
].
m
;
smallMat
.
push
(
num
);
}
else
{
smallMat
.
push
(
null
);
}
}
for
(
let
j
=
0
;
j
<
value
.
length
;
j
++
){
if
(
data
[
sysRulez
[
0
].
re
][
value
[
j
]]
!=
null
){
let
num
=
data
[
sysRulez
[
0
].
re
][
value
[
j
]].
m
;
smallMat
.
push
(
num
);
}
else
{
smallMat
.
push
(
null
);
}
}
map
.
set
(
key
,
values
);
}
else
{
map
.
set
(
key
,
values
);
}
}
//console.log(smallMat);
materialConvert
(
smallMat
).
then
(
response
=>
{
let
array
=
response
.
rows
;
//console.log(array);
//luckysheet.setCellValue(12, 1, {bg:"#FF0000"})
for
(
let
i
=
parseInt
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
)
{
let
values
=
[];
if
(
data
[
i
][
key_i
]
!=
null
){
for
(
let
j
=
0
;
j
<
value
.
length
;
j
++
)
{
let
a
=
parseFloat
(
data
[
i
][
value
[
j
]].
v
);
if
(
isNaN
(
a
)){
a
=
0
;
}
values
.
push
(
a
);
}
}
else
{
break
;
}
//插入多个value的值
let
index
=
smallMat
.
indexOf
(
data
[
i
][
key_i
].
m
);
let
key
=
array
[
index
];
if
(
map
.
has
(
key
))
{
let
oldValues
=
map
.
get
(
key
);
for
(
let
i
=
0
;
i
<
values
.
length
;
i
++
){
values
[
i
]
=
parseFloat
(
parseFloat
(
parseFloat
(
values
[
i
])
+
parseFloat
(
oldValues
[
i
])).
toFixed
(
2
));
}
map
.
set
(
key
,
values
);
}
else
{
map
.
set
(
key
,
values
);
}
}
//循环得到汇总结果
console
.
log
(
map
);
let
rowws
;
let
row
;
let
con
;
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
){
map
.
forEach
((
value
,
key
)
=>
{
let
matchingCells
=
[];
let
name
=
data
[
sysRules
[
i
].
re
][
sysRules
[
i
].
ce
].
m
if
(
name
.
includes
(
"
洗煤
"
)){
row
=
sysRules
[
i
].
rt
;
con
=
parseInt
(
sysRules
[
i
].
rt
)
+
10
;
}
else
{
row
=
sysRules
[
i
].
rt
;
con
=
54
;
}
for
(
;
row
<=
con
;
row
++
)
{
let
cellValue
=
luckysheet
.
getCellValue
(
row
,
parseInt
(
sysRulez
[
0
].
ct
));
if
(
cellValue
===
null
){
}
else
{
if
(
cellValue
.
includes
(
key
))
{
luckysheet
.
setCellValue
(
row
,
sysRules
[
i
].
ct
,
value
[
i
]);
luckysheet
.
setCellValue
(
row
,
sysRules
[
i
].
ct
,
{
"
ct
"
:
{
"
fa
"
:
"
General
"
,
"
t
"
:
"
n
"
}
});
break
;
}
}
}
// if (luckysheet.find(key).length>0) {
//
// rowws = luckysheet.find(key)[0].row; // rowws=luckysheet.find(key)[0].row;
// luckysheet.setCellValue(rowws, sysRules[i].ct, value[i]);
// luckysheet.setCellValue(rowws, sysRules[i].ct, {
// "ct": {
// "fa": "General",
// "t": "n"
// }
// });
// }
});
}
// debugger
// let value2 =[];
//
// for (let i=0;i
<
sysConver
.
length
;
i
++
){
// //value.push(data[sysRules[i].re][sysRules[i].ce].m);
//
// value2.push(sysConver[i].ce);
// }
//
// for (let i =parseInt(sysRulez[0].re)+1; i
<
data
.
length
;
i
++
)
{
// let values2 = [];
// if(data[i][key_i]!=null){
// for(let j=0;j
<
value2
.
length
;
j
++
)
{
// let a = parseFloat(data[i][value2[j]].v);
// if (isNaN(a)){
// a=0;
// }
// values2.push(a);
// }
// }else{
// break;
// }
// //插入多个value的值
// let index = smallMat.indexOf(data[i][key_i].m);
// let key = array[index];
// if (map.has(key)) {
// let oldValues = map.get(key);
// for (let i=0;i
<
values2
.
length
;
i
++
){
// values2[i] = parseFloat(parseFloat(parseFloat(values2[i]) + parseFloat(oldValues[i])).toFixed(2));
// }
// map.set(key, values2);
// } else {
// map.set(key, values2);
// }
// }
}).
catch
(()
=>
{
// 处理错误逻辑,这里是一个空的错误处理函数
console
.
log
(
"
走到这了,物料转换后续处理出问题了!!
"
);
});
}
}
//循环得到汇总结果
break
;
console
.
log
(
map
);
default
:
let
rowws
;
{
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
){
let
map
=
new
Map
();
map
.
forEach
((
value
,
key
)
=>
{
let
smallMat
=
[];
rowws
=
luckysheet
.
find
(
key
)[
0
].
row
;
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
){
luckysheet
.
setCellValue
(
rowws
,
sysRules
[
i
].
ct
,
value
[
i
]);
if
(
data
[
i
][
key_i
]
!=
null
){
luckysheet
.
setCellValue
(
rowws
,
sysRules
[
i
].
ct
,{
"
ct
"
:
{
let
num
=
data
[
i
][
key_i
].
m
;
"
fa
"
:
"
General
"
,
smallMat
.
push
(
num
);
"
t
"
:
"
n
"
}
else
{
}});
smallMat
.
push
(
null
);
}
}
materialConvert
(
smallMat
).
then
(
response
=>
{
let
array
=
response
.
rows
;
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
)
{
let
values
=
[];
if
(
data
[
i
][
key_i
]
!=
null
){
for
(
let
j
=
0
;
j
<
value
.
length
;
j
++
)
{
let
a
=
parseFloat
(
data
[
i
][
value
[
j
]].
v
);
values
.
push
(
a
);
}
//插入多个value的值
let
index
=
smallMat
.
indexOf
(
data
[
i
][
key_i
].
m
);
let
key
=
array
[
index
];
if
(
map
.
has
(
key
))
{
let
oldValues
=
map
.
get
(
key
);
for
(
let
i
=
0
;
i
<
values
.
length
;
i
++
){
values
[
i
]
=
parseFloat
(
parseFloat
(
values
[
i
]
+
oldValues
[
i
]).
toFixed
(
2
));
}
map
.
set
(
key
,
values
);
}
else
{
map
.
set
(
key
,
values
);
}
}
}
//循环得到汇总结果
debugger
console
.
log
(
map
);
let
rowws
;
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
){
map
.
forEach
((
value
,
key
)
=>
{
let
searchResult
=
luckysheet
.
find
(
key
);
if
(
searchResult
.
length
!=
0
&&
key
!=
null
){
rowws
=
searchResult
[
0
].
row
;
luckysheet
.
setCellValue
(
rowws
,
sysRules
[
i
].
ct
,
value
[
i
]);
luckysheet
.
setCellValue
(
rowws
,
sysRules
[
i
].
ct
,
{
"
ct
"
:
{
"
fa
"
:
"
General
"
,
"
t
"
:
"
n
"
}
});
}
});
}
});
});
}
}
}).
catch
(()
=>
{
}
// 处理错误逻辑,这里是一个空的错误处理函数
console
.
log
(
"
走到这了,物料转换后续处理出问题了!!
"
);
this
.
$message
.
error
(
'
文件导入失败!发生未知错误,请重试!!
'
);
});
//切换到想要的sheet
//切换到想要的sheet
luckysheet
.
setSheetActive
(
0
);
luckysheet
.
setSheetActive
(
0
);
})
})
...
...
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