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
ee933e0e
Commit
ee933e0e
authored
Oct 10, 2023
by
xiangjiaojunxp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
物料转换六矿转换
parent
8d23f5db
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
574 additions
and
457 deletions
+574
-457
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesDetailsMapper.xml
...main/resources/mapper/system/ActSuppliesDetailsMapper.xml
+1
-0
ruoyi-ui/src/views/system/supplies/index.vue
ruoyi-ui/src/views/system/supplies/index.vue
+573
-457
No files found.
ruoyi-supplies/src/main/resources/mapper/system/ActSuppliesDetailsMapper.xml
View file @
ee933e0e
...
...
@@ -145,6 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM act_supplies_details a
LEFT JOIN act_supplies b ON a.sid = b.id
WHERE a.status = 0
AND a.code IS NOT NULL
</select>
<select
id=
"selectActSuppliesDetailsById"
parameterType=
"Long"
resultMap=
"ActSuppliesDetailsResult"
>
...
...
ruoyi-ui/src/views/system/supplies/index.vue
View file @
ee933e0e
...
...
@@ -65,7 +65,6 @@
</el-upload>
</el-col>
</el-row>
<!-- luckysheet容器 -->
<div
id=
"luckysheet"
...
...
@@ -222,7 +221,6 @@ export default {
/** 判断是否选择时间*/
rulesdate
(){
if
(
this
.
date
==
''
||
this
.
date
==
null
){
this
.
disableNextButton
=
true
;
this
.
$message
.
error
(
'
请选择时间日期!
'
);
...
...
@@ -230,10 +228,8 @@ export default {
this
.
disableNextButton
=
true
;
this
.
$message
.
error
(
'
请选择所属矿区!
'
);
}
},
handledateChange
(){
if
(
this
.
date
==
''
||
this
.
date
==
null
||
this
.
date
==
undefined
){
this
.
disableNextButton
=
true
;
}
else
{
...
...
@@ -242,13 +238,11 @@ export default {
},
handleminingChange
(){
if
(
this
.
date
==
''
||
this
.
date
==
null
||
this
.
date
==
undefined
){
this
.
disableNextButton
=
true
;
}
else
{
this
.
disableNextButton
=
false
;
}
},
/** 页面刷新时展示的数据*/
...
...
@@ -423,8 +417,8 @@ export default {
},
/** 导入事件*/
async
handleFileChange
(
evt
)
{
//导入Promise方法
/*async handleFileChange(evt) {
if(modify){
this.$confirm('再次导入将会清空表内数据,是否继续操作?', '注意!!!', {
confirmButtonText: '确定',
...
...
@@ -456,12 +450,10 @@ export default {
});
});
try {
const exportJson = await cons;
await this.summary(exportJson);
this
.
submit
(
exportJson
);
//
this.submit(exportJson);
} catch (Error) {
this.$message({
message: Error.message,
...
...
@@ -482,7 +474,6 @@ export default {
//this.$message({type: 'info', message: '操作已取消'});
});
}else{
let exx;
this.showMask = true;
const cons = new Promise((resolve, reject) => {
...
...
@@ -491,10 +482,8 @@ export default {
resolve(exx);
});
});
try {
const exportJson = await cons;
await this.summary(exportJson);
this.submit(exportJson);
...
...
@@ -505,17 +494,91 @@ export default {
type: "error"});
}finally {
// 导入完成后关闭遮罩层
this.showMask = false;}
}
},*/
async
handleFileChange
(
evt
)
{
if
(
modify
){
this
.
$confirm
(
'
再次导入将会清空表内数据,是否继续操作?
'
,
'
注意!!!
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
(
async
()
=>
{
// 确认继续后刷新页面返回模板
getSuppliesTemplate
(
7
).
then
(
response
=>
{
const
sysSupplies
=
response
.
rows
;
this
.
luckysheetData
=
sysSupplies
[
0
].
templateContent
;
let
json_data
=
JSON
.
parse
(
sysSupplies
[
0
].
templateContent
);
//luckysheet.destroy()
luckysheet
.
create
({
container
:
"
luckysheet
"
,
// Luckysheet 的容器元素 ID
title
:
fileName
,
// Excel 文件名
data
:
json_data
,
// Excel 数据
showinfobar
:
false
,
//是否显示顶部名称栏
lang
:
'
zh
'
,
});
modify
=
false
;
}).
then
(
async
()
=>
{
this
.
showMask
=
true
;
//将导入数据替换保存
LuckyExcel
.
transformExcelToLucky
(
evt
,
exportJson
=>
{
this
.
summary
(
exportJson
)
.
then
(
async
()
=>
{
//this.submit(exportJson);
})
.
catch
(
error
=>
{
this
.
$message
({
message
:
error
.
message
,
type
:
"
error
"
});
console
.
log
(
error
.
message
);
console
.
log
(
"
这里是最外面的地方
"
);
})
.
finally
(()
=>
{
// 导入完成后关闭遮罩层
this
.
showMask
=
false
;
});
});
}).
catch
(()
=>
{
// 处理错误逻辑,这里是一个空的错误处理函数
this
.
$message
.
error
(
'
查询失败,模板未找到,请联系管理员进行处理!
'
);
});
}).
catch
(()
=>
{
// 用户点击了取消按钮
this
.
$message
({
type
:
'
info
'
,
message
:
'
操作已取消
'
});
});
}
else
{
this
.
showMask
=
true
;
LuckyExcel
.
transformExcelToLucky
(
evt
,
exportJson
=>
{
this
.
summary
(
exportJson
)
.
then
(
async
()
=>
{
//this.submit(exportJson);
})
.
catch
(
error
=>
{
this
.
$message
({
message
:
error
.
message
,
type
:
"
error
"
});
console
.
log
(
error
.
message
);
console
.
log
(
"
这里是最外面的地方
"
);
})
.
finally
(()
=>
{
// 导入完成后关闭遮罩层
this
.
showMask
=
false
;
});
});
}
}
},
/** 物料转换汇总到页面*/
summary
(
exportJson
){
// 记录开始时间
const
startTime
=
new
Date
();
const
startTime
=
new
Date
()
.
getTime
()
;
let
sysRulez
;
let
sysRules
;
let
sysConver
;
...
...
@@ -715,6 +778,7 @@ export default {
.
then
(
response
=>
{
let
array
=
response
.
rows
;
//console.log(array);
//luckysheet.setCellValue(12, 1, {bg:"#FF0000"})
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
,
k
=
0
;
i
<
data
.
length
;
i
++
,
k
++
)
{
let
values
=
[];
...
...
@@ -743,7 +807,7 @@ export default {
}
//循环得到汇总结果
console
.
log
(
map
);
if
(
map
.
size
===
0
)
{
throw
new
Error
(
"
导入失败,导入文件错误
"
);
}
...
...
@@ -756,7 +820,7 @@ export default {
map
.
forEach
((
value
,
key
)
=>
{
const
suffixArr
=
key
.
split
(
'
/
'
),
mat
=
suffixArr
[
2
],
depp
=
suffixArr
[
1
],
expp
=
suffixArr
[
0
];
//console.log(expp);console.log(depp);console.log(mat);
let
searchResult
=
luckysheet
.
find
(
expp
);
if
(
searchResult
.
length
!==
0
)
{
rowws
=
searchResult
[
0
].
row
;
...
...
@@ -847,7 +911,7 @@ export default {
}
catch
(
err
){
throw
new
Error
(
"
导入失败,导入文件与模板规则不匹
"
);
}
//console.log(smallMat);
asyncTasks
.
push
(
new
Promise
((
innerResolve
,
innerReject
)
=>
{
const
allNull
=
smallMat
.
every
(
item
=>
item
===
null
);
...
...
@@ -857,7 +921,7 @@ export default {
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
=
[];
...
...
@@ -896,7 +960,7 @@ export default {
let
row
;
let
con
;
let
warn
=
0
;
//console.log(map);
map
.
forEach
((
value
,
key
)
=>
{
let
searchResult
;
searchResult
=
luckysheet
.
find
(
key
);
...
...
@@ -976,7 +1040,7 @@ export default {
if
(
map2
.
size
===
0
)
{
throw
new
Error
(
"
导入失败,导入文件错误
"
);
}
//console.log(map2);
map2
.
forEach
((
value
,
key
)
=>
{
let
searchResult
;
searchResult
=
luckysheet
.
find
(
key
);
...
...
@@ -1004,14 +1068,255 @@ export default {
resolve
(
response
.
rows
);
innerResolve
();
// 标记当前异步任务完成
}).
catch
(
Error
=>
{
console
.
log
(
"
这里是单个异步请求出错处
"
);
//必须加,不能删除
innerReject
(
Error
);
// 异步请求出错
});
}));
}
break
;
//李志昊版
case
7
:
{
let
map
=
new
Map
();
let
smallMat
=
[];
let
newsmallMat
=
[];
let
p
=
0
;
let
deps
=
[];
try
{
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
;
i
<
data
.
length
;
i
++
)
{
if
(
data
[
i
][
sysRulez
[
1
].
ce
]
!=
null
&&
data
[
i
][
key_i
]
!=
null
)
{
let
num
=
data
[
i
][
key_i
].
m
;
let
dep
=
data
[
i
][
sysRulez
[
1
].
ce
].
m
;
smallMat
.
push
(
num
);
newsmallMat
.
push
({
'
index
'
:
p
,
'
code
'
:
num
});
p
++
;
deps
.
push
(
dep
);
}
else
{
smallMat
.
push
(
null
);
deps
.
push
(
null
);
}
}
}
catch
(
err
){
throw
new
Error
(
"
导入失败,导入文件与模板规则不匹
"
);
}
asyncTasks
.
push
(
new
Promise
((
innerResolve
,
innerReject
)
=>
{
const
allNull
=
smallMat
.
every
(
item
=>
item
===
null
);
if
(
allNull
)
{
throw
new
Error
(
"
导入失败,导入文件错误,所选文件与模板规则不匹
"
);
}
function
sortArray
(
array
)
{
array
.
sort
((
a
,
b
)
=>
b
.
code
.
length
-
a
.
code
.
length
)
return
array
}
materialList
().
then
(
response
=>
{
/*let SixMateriel=[];
let MaterielCode=[];
let NewMarterielCode=[];
let SixList=[];
let newSmasll =newsmallMat;
let m=0
SixMateriel=response.rows.slice(92,246);
for(var i=0;i<SixMateriel.length;i++){
if(SixMateriel[i].code!==null){
MaterielCode.push(SixMateriel[i])
}
}
NewMarterielCode= sortArray(MaterielCode)
for (let i = 0; i < NewMarterielCode.length; i++) {
for (let j = 0; j < newSmasll.length; j++) {
if(newSmasll[j] !== null){
m++
if (NewMarterielCode[i].code==newSmasll[j].code.slice(0,NewMarterielCode[i].code.length)) {
SixList[newSmasll[j].index]=NewMarterielCode[i].codes;
newSmasll.splice(j,1);
j--;
}
}
}
}
//console.log(newSmasll)
for (let k = 0; k < newSmasll.length; k++) {
SixList[newSmasll[k].index]='11';
m++;
}
//console.log(m)
//console.log(SixList,'1231231231231')
this.NewSixList=SixList*/
let
SixMateriel
=
[];
let
MaterielCode
=
[];
let
NewMarterielCode
=
[];
let
SixList
=
[];
let
newSmasll
=
smallMat
;
SixMateriel
=
response
.
rows
;
NewMarterielCode
=
sortArray
(
SixMateriel
)
console
.
log
(
"
新的转换规则有
"
+
NewMarterielCode
.
length
+
"
条
"
);
// //转化编码
let
p
=
0
;
for
(
var
i
=
0
;
i
<
newSmasll
.
length
;
i
++
){
for
(
var
j
=
0
;
j
<
NewMarterielCode
.
length
;
j
++
)
{
if
(
newSmasll
[
i
]
!==
null
){
if
(
newSmasll
[
i
].
slice
(
0
,
NewMarterielCode
[
j
].
code
.
length
)
==
NewMarterielCode
[
j
].
code
){
SixList
[
i
]
=
NewMarterielCode
[
j
].
codes
p
++
break
}
else
{
SixList
[
i
]
=
'
11
'
p
++
}
}
}
}
console
.
log
(
p
)
let
newSixList
=
SixList
console
.
log
(
newSixList
)
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
,
k
=
0
;
i
<
data
.
length
;
i
++
,
k
++
)
{
let
values
=
[];
if
(
data
[
i
][
key_i
]
!=
null
)
{
for
(
let
j
=
0
;
j
<
value
.
length
;
j
++
)
{
try
{
let
a
=
parseFloat
(
data
[
i
][
value
[
j
]].
v
);
values
.
push
(
a
);
}
catch
(
err
)
{
this
.
$message
({
message
:
"
导入失败,导入文件不匹
"
,
type
:
"
error
"
});
innerReject
(
error
);
// 异步请求出错
}
}
//console.log(SixList)
let
key
=
SixList
[
k
]
+
'
/
'
+
deps
[
k
];
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
);
//循环得到汇总结果
if
(
map
.
size
===
0
)
{
throw
new
Error
(
"
导入失败,导入文件错误
"
);
}
//返回单元格第二行的数据
//let celn=luckysheet.getcellvalue(1);
//返回当前工作表第1列数据
//let cown=luckysheet.getcellvalue(null,0);
let
config
;
let
bord
=
{
"
rangeType
"
:
"
range
"
,
"
borderType
"
:
"
border-all
"
,
"
style
"
:
"
1
"
,
"
color
"
:
"
#000000
"
,
"
range
"
:
[{
"
row
"
:
[
0
,
0
],
"
column
"
:
[
0
,
0
]
}]
}
let
warn
=
0
;
map
.
forEach
((
value
,
key
)
=>
{
let
rowws
;
const
suffixArr
=
key
.
split
(
'
/
'
),
mat
=
suffixArr
[
0
],
depp
=
suffixArr
[
1
];
//返回当前工作表第1列数据
let
cown
=
luckysheet
.
getcellvalue
(
null
,
0
);
for
(
let
i
=
0
;
i
<
cown
.
length
;
i
++
){
if
(
cown
[
i
]
==
null
){
continue
;
}
if
(
cown
[
i
].
v
==
undefined
){
continue
;
}
if
(
cown
[
i
].
v
==
mat
){
rowws
=
i
;
break
;
}
}
//let searchResult = luckysheet.find(mat,{isWholeWord:true});
if
(
rowws
!=
undefined
)
{
//rowws = searchResult[0].row;
luckysheet
.
insertRow
(
rowws
+
1
);
let
vll1
=
luckysheet
.
getCellValue
(
rowws
,
sysRulez
[
0
].
ct
);
luckysheet
.
setCellValue
(
rowws
+
1
,
sysRulez
[
0
].
ct
,
{
"
ct
"
:
{
"
fa
"
:
"
@
"
,
"
t
"
:
"
n
"
}
});
luckysheet
.
setCellValue
(
rowws
+
1
,
sysRulez
[
0
].
ct
,
vll1
);
let
vll2
=
luckysheet
.
getCellValue
(
rowws
,
parseInt
(
sysRulez
[
0
].
ct
)
+
1
);
luckysheet
.
setCellValue
(
rowws
+
1
,
parseInt
(
sysRulez
[
0
].
ct
)
+
1
,
vll2
);
//输出部门数量金额
luckysheet
.
setCellValue
(
rowws
+
1
,
sysRulez
[
1
].
ct
,
depp
);
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
)
{
luckysheet
.
setCellValue
(
rowws
+
1
,
sysRules
[
i
].
ct
,
value
[
i
]);
//修改单元格样式
/*luckysheet.setCellValue(rowws+g, sysRules[i].ct, {
"ct": {
"fa": "General",
"t": "n"
}
});*/
}
//输出单价
luckysheet
.
setCellValue
(
rowws
+
1
,
parseInt
(
sysRules
[
0
].
ct
)
+
1
,
value
[
1
]
/
value
[
0
]);
//修改单价样式
/*luckysheet.setCellValue(rowws+g,parseInt(sysRules[0].ct)+1,{
"ct": {
"fa": "0.0000",
"t": "n"
}
});*/
config
=
luckysheet
.
getConfig
(
0
);
bord
.
range
[
0
].
row
=
[
rowws
+
1
,
rowws
+
1
];
bord
.
range
[
0
].
column
=
[
0
,
parseInt
(
sysRules
[
sysRules
.
length
-
1
].
ct
)];
config
.
borderInfo
.
push
(
bord
);
luckysheet
.
setConfig
(
config
);
modify
=
true
;
}
else
{
warn
++
;
}
});
if
(
warn
===
map
.
size
)
{
throw
new
Error
(
"
导入文件与所选模板规则不匹配
"
);
}
else
if
(
warn
>
0
)
{
this
.
$message
({
message
:
"
还有
"
+
warn
+
"
条大类未能匹配到
"
,
type
:
"
warning
"
});
}
// 记录结束时间
const
endTime
=
new
Date
().
getTime
();
// 计算执行时间(以毫秒为单位)
const
executionTime
=
endTime
-
startTime
;
// 输出执行时间
console
.
log
(
`代码执行时间:
${
executionTime
}
毫秒`
);
resolve
(
response
.
rows
);
innerResolve
();
// 标记当前异步任务完成
/*let find1 = luckysheet.find("合计");
let number = parseInt(find1[0].row)-1;
luckysheet.setCellValue(find1[0].row, sysRules[sysRules.length-1].ct, "=SUM(F2:F"+number+")")*/
}).
catch
(
Error
=>
{
//必须加,不能删除
innerReject
(
Error
);
// 异步请求出错
});
}));
}
break
;
//张凯林版本
/*case 7: {
let map = new Map();
let smallMat = [];
let deps = [];
...
...
@@ -1045,7 +1350,7 @@ export default {
materialList().then( response => {
//六矿物料编码数据
// console.log(response.rows,'ymy');
let
array
=
response
.
rows
.
slice
(
92
,
246
)
;
let array = response.rows;
//有code的数据
// console.log(array,"<-------->");
//六矿六位编码
...
...
@@ -1183,8 +1488,8 @@ export default {
}
//插入多个value的值
//此方法只适用于一对一唯一值
/*let index = smallMat.indexOf(data[i][key_i].m);
let key = array[index];*/
/
!
*let index = smallMat.indexOf(data[i][key_i].m);
let key = array[index];*
!
/
let key = newSortArray[k].code + '/' + deps[k];
if (map.has(key)) {
let oldValues = map.get(key);
...
...
@@ -1245,22 +1550,22 @@ export default {
for (let i = 0; i < sysRules.length; i++) {
luckysheet.setCellValue(rowws + 1, sysRules[i].ct, value[i]);
//修改单元格样式
/*luckysheet.setCellValue(rowws+g, sysRules[i].ct, {
/
!
*luckysheet.setCellValue(rowws+g, sysRules[i].ct, {
"ct": {
"fa": "General",
"t": "n"
}
});*/
});*
!
/
}
//输出单价
luckysheet.setCellValue(rowws + 1, parseInt(sysRules[0].ct) + 1, value[1] / value[0]);
//修改单价样式
/*luckysheet.setCellValue(rowws+g,parseInt(sysRules[0].ct)+1,{
/
!
*luckysheet.setCellValue(rowws+g,parseInt(sysRules[0].ct)+1,{
"ct": {
"fa": "0.0000",
"t": "n"
}
});*/
});*
!
/
config = luckysheet.getConfig(0);
bord.range[0].row = [rowws + 1, rowws + 1];
bord.range[0].column = [0, parseInt(sysRules[sysRules.length - 1].ct)];
...
...
@@ -1285,9 +1590,9 @@ export default {
console.log(`代码执行时间:${executionTime} 毫秒`);
resolve(response.rows);
innerResolve(); // 标记当前异步任务完成
/*let find1 = luckysheet.find(
"
合计
"
);
/
!
*let find1 = luckysheet.find("合计");
let number = parseInt(find1[0].row)-1;
luckysheet.setCellValue(find1[0].row, sysRules[sysRules.length-1].ct,
"
=
SUM
(
F2
:
F
"
+number+
"
)
"
)*/
luckysheet.setCellValue(find1[0].row, sysRules[sysRules.length-1].ct, "=SUM(F2:F"+number+")")*
!
/
}).catch(Error => {
console.log("这里是单个异步请求出错处");
//必须加,不能删除
...
...
@@ -1296,192 +1601,7 @@ export default {
}));
}
break;
case 8: {
let map = new Map();
let smallMat = [];
let newsmallMat=[];
let p=0;
let deps = [];
try {
for (let i = parseFloat(sysRulez[0].re) + 1; i < data.length; i++) {
if (data[i][sysRulez[1].ce] != null && data[i][key_i] != null) {
let num = data[i][key_i].m;
let dep = data[i][sysRulez[1].ce].m;
smallMat.push(num);
newsmallMat.push({'index':p,'code':num});
p++;
deps.push(dep);
} else {
smallMat.push(null);
deps.push(null);
}
}
}catch(err){
throw new Error(
"
导入失败
,
导入文件与模板规则不匹
"
);
}
asyncTasks.push(
new Promise((innerResolve, innerReject) => {
const allNull = smallMat.every(item =>item===null);
if (allNull ) {
throw new Error(
"
导入失败
,
导入文件错误
,
所选文件与模板规则不匹
"
);
}
function sortArray(array) {
array.sort((a, b) => b.code.length - a.code.length)
return array
}
materialList().then(response => {
let SixMateriel=[];
let MaterielCode=[];
let NewMarterielCode=[];
let SixList=[];
let newSmasll =newsmallMat;
let m=0
SixMateriel=response.rows
for(var i=0;i<SixMateriel.length;i++){
if(SixMateriel[i].code!==null){
MaterielCode.push(SixMateriel[i])
}
}
NewMarterielCode= sortArray(MaterielCode)
for (let i = 0; i < NewMarterielCode.length; i++) {
for (let j = 0; j < newSmasll.length; j++) {
if(newSmasll[j] !== null){
m++
if (NewMarterielCode[i].code==newSmasll[j].code.slice(0,NewMarterielCode[i].code.length)) {
SixList[newSmasll[j].index]=NewMarterielCode[i].codes;
newSmasll.splice(j,1);
j--;
}
}
}
}
//console.log(newSmasll)
for (let k = 0; k < newSmasll.length; k++) {
SixList[newSmasll[k].index]='11';
m++;
}
//console.log(m)
//console.log(SixList,'1231231231231')
this.NewSixList=SixList
for (let i = parseFloat(sysRulez[0].re) + 1, k = 0; i < data.length; i++, k++) {
let values = [];
if (data[i][key_i] != null) {
for (let j = 0; j < value.length; j++) {
try{
let a = parseFloat(data[i][value[j]].v);
values.push(a);
}catch (err){
this.$message({
message:
"
导入失败
,
导入文件不匹
"
,
type:
"
error
"
});
innerReject(error); // 异步请求出错
}
}
//console.log(SixList)
let key = SixList[k] + '/' + deps[k];
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);
//循环得到汇总结果
if (map.size === 0) {
throw new Error(
"
导入失败
,
导入文件错误
"
);
}
//返回单元格第二行的数据
//let celn=luckysheet.getcellvalue(1);
//返回当前工作表第1列数据
//let cown=luckysheet.getcellvalue(null,0);
let rowws;
let config;
let bord = {
"
rangeType
"
:
"
range
"
,
"
borderType
"
:
"
border
-
all
"
,
"
style
"
:
"
1
"
,
"
color
"
:
"
#
000000
"
,
"
range
"
: [{
"
row
"
: [0, 0],
"
column
"
: [0, 0]
}]
}
let warn=0;
map.forEach((value, key) => {
const suffixArr = key.split('/'), mat = suffixArr[0], depp = suffixArr[1];
let searchResult = luckysheet.find(mat);
if (searchResult.length != 0 && key != null) {
rowws = searchResult[0].row;
luckysheet.insertRow(rowws + 1);
let vll1=luckysheet.getCellValue(rowws,sysRulez[0].ct);
luckysheet.setCellValue(rowws+1, sysRulez[0].ct, {
"
ct
"
: {
"
fa
"
:
"
@
"
,
"
t
"
:
"
n
"
}
});
luckysheet.setCellValue(rowws + 1, sysRulez[0].ct, vll1);
let vll2=luckysheet.getCellValue(rowws,parseInt(sysRulez[0].ct)+1);
luckysheet.setCellValue(rowws + 1, parseInt(sysRulez[0].ct)+1, vll2);
//输出部门数量金额
luckysheet.setCellValue(rowws + 1, sysRulez[1].ct, depp);
for (let i = 0; i < sysRules.length; i++) {
luckysheet.setCellValue(rowws + 1, sysRules[i].ct, value[i]);
//
}
//输出单价
luckysheet.setCellValue(rowws + 1, parseInt(sysRules[0].ct) + 1, value[1] / value[0]);
config = luckysheet.getConfig(0);
bord.range[0].row = [rowws + 1, rowws + 1];
bord.range[0].column = [0, parseInt(sysRules[sysRules.length - 1].ct)];
config.borderInfo.push(bord);
luckysheet.setConfig(config);
modify=true;
} else{
warn++;
}
});
if (warn === map.size) {
throw new Error(
"
导入文件与所选模板规则不匹配
"
);
} else if (warn > 0) {
this.$message({
message:
"
还有
"
+warn+
"
条大类未能匹配到
"
,
type:
"
warning
"
});
}
// 记录结束时间
const endTime = new Date();
// 计算执行时间(以毫秒为单位)
const executionTime = endTime - startTime;
// 输出执行时间
console.log('endTime'+endTime)
console.log('endTime'+startTime)
console.log(`代码执行时间:${executionTime} 毫秒`);
resolve(response.rows);
innerResolve(); // 标记当前异步任务完成
}).catch(Error => {
//必须加,不能删除
innerReject(Error); // 异步请求出错
});
}));
}
break;
break;*/
default
:
{
let
map
=
new
Map
();
...
...
@@ -1631,6 +1751,7 @@ export default {
}
});
},
/** 导出设置 */
handleExport
:
debounce
(
function
()
{
...
...
@@ -1643,7 +1764,6 @@ export default {
var
data
=
response
.
data
;
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
debugger
if
(
data
[
i
].
identifyingCode
==
1
){
/*生成表*/
let
jsonDataa
=
JSON
.
parse
(
data
[
i
].
historyContent
);
...
...
@@ -1713,9 +1833,7 @@ export default {
this
.
froms
.
createBy
=
data
[
i
].
createBy
;
this
.
froms
.
hDate
=
data
[
i
].
date
;
this
.
froms
.
mining
=
data
[
i
].
mining
;
addActSuppliesSixMinesSummaryTable(this.froms).then(response => {
});
addActSuppliesSixMinesSummaryTable
(
this
.
froms
).
then
(
response
=>
{});
}
}
}
...
...
@@ -1767,6 +1885,7 @@ export default {
}
}
let
b5
;
if
(
datab
[
w
][
4
]
!=
null
){
b5
=
datab
[
w
][
4
].
v
;
...
...
@@ -1775,6 +1894,7 @@ export default {
}
}
let
b6
;
if
(
datab
[
w
][
5
]
!=
null
){
b6
=
datab
[
w
][
5
].
v
;
...
...
@@ -2252,15 +2372,11 @@ export default {
this
.
fromimport
.
a63
=
b63
;
}
addActSuppliesImportTable(this.fromimport).then(response => {
});
addActSuppliesImportTable
(
this
.
fromimport
).
then
(
response
=>
{});
}
}
}
}
});
},
500
),
// 设置延迟时间,单位为毫秒
...
...
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