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
e7dc1375
Commit
e7dc1375
authored
Nov 29, 2023
by
xiangjiaojunxp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
物料转换bug修改
parent
c41f3436
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
282 additions
and
258 deletions
+282
-258
ruoyi-ui/src/views/login.vue
ruoyi-ui/src/views/login.vue
+0
-1
ruoyi-ui/src/views/system/supplies/index.vue
ruoyi-ui/src/views/system/supplies/index.vue
+282
-257
No files found.
ruoyi-ui/src/views/login.vue
View file @
e7dc1375
...
...
@@ -131,7 +131,6 @@ export default {
Cookies
.
remove
(
'
rememberMe
'
);
}
this
.
$store
.
dispatch
(
"
Login
"
,
this
.
loginForm
).
then
(()
=>
{
debugger
this
.
$router
.
push
({
path
:
this
.
redirect
||
"
/
"
}).
catch
(()
=>
{});
}).
catch
(()
=>
{
this
.
loading
=
false
;
...
...
ruoyi-ui/src/views/system/supplies/index.vue
View file @
e7dc1375
<
template
>
<div
class=
"app-container"
>
<el-form
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"模板"
prop=
"name"
>
<el-select
v-model=
"selectedOption"
ref=
"mySelect"
size=
"mini"
@
change=
"handleOptionChange"
filterable
placeholder=
"请选择您要查看的模板"
>
<!--
<el-option
label=
"自设的模板名"
value=
"使用空白模板"
></el-option>
-->
<el-option
v-for=
"item in depss"
:key=
"item.id"
:label=
"item.templateName"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"规则"
prop=
"roleid"
>
<el-select
v-model=
"selectedRule"
ref=
"mySelect"
size=
"mini"
@
change=
"handleRuleChange"
filterable
placeholder=
"请选择您要查看的规则"
>
<el-option
v-for=
"iem in luckyrule"
:key=
"iem.id"
:label=
"iem.roleName"
:value=
"iem.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"时间"
prop=
"date"
>
<el-date-picker
@
change=
"handledateChange"
v-model=
"date"
type=
"month"
placeholder=
"选择月"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"所属矿区"
prop=
"mining"
>
<el-select
v-model=
"mining"
placeholder=
"请选择矿区"
@
change=
"handleminingChange"
>
<el-option
label=
"东欢坨矿"
:value=
"1"
></el-option>
<el-option
label=
"范矿"
:value=
"2"
></el-option>
<el-option
label=
"林西矿"
:value=
"3"
></el-option>
<el-option
label=
"吕矿"
:value=
"4"
></el-option>
<el-option
label=
"钱家营矿"
:value=
"5"
></el-option>
<el-option
label=
"唐山矿"
:value=
"6"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"handleExport"
>
导出
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-upload
type=
"file"
name=
"file"
ref=
"upload"
:before-upload=
"handleFileChange"
action=
''
accept=
'.xlsx'
:limit=
"1"
:file-list=
"fileList"
:disabled=
"disableNextButton"
:show-file-list=
false
>
<el-button
plain
size=
"mini"
icon=
"el-icon-download"
type=
"primary"
:disabled=
"disableNextButton"
@
click=
"rulesdate"
>
导入
</el-button>
</el-upload>
</el-col>
</el-row>
<el-form
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"模板"
prop=
"name"
>
<el-select
v-model=
"selectedOption"
ref=
"mySelect"
size=
"mini"
@
change=
"handleOptionChange"
filterable
placeholder=
"请选择您要查看的模板"
>
<!--
<el-option
label=
"自设的模板名"
value=
"使用空白模板"
></el-option>
-->
<el-option
v-for=
"item in depss"
:key=
"item.id"
:label=
"item.templateName"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"规则"
prop=
"roleid"
>
<el-select
v-model=
"selectedRule"
ref=
"mySelect"
size=
"mini"
@
change=
"handleRuleChange"
filterable
placeholder=
"请选择您要查看的规则"
>
<el-option
v-for=
"iem in luckyrule"
:key=
"iem.id"
:label=
"iem.roleName"
:value=
"iem.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"时间"
prop=
"date"
>
<el-date-picker
@
change=
"handledateChange"
v-model=
"date"
type=
"month"
placeholder=
"选择月"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"所属矿区"
prop=
"mining"
>
<el-select
v-model=
"mining"
placeholder=
"请选择矿区"
@
change=
"handleminingChange"
>
<el-option
label=
"东欢坨矿"
:value=
"1"
></el-option>
<el-option
label=
"范矿"
:value=
"2"
></el-option>
<el-option
label=
"林西矿"
:value=
"3"
></el-option>
<el-option
label=
"吕矿"
:value=
"4"
></el-option>
<el-option
label=
"钱家营矿"
:value=
"5"
></el-option>
<el-option
label=
"唐山矿"
:value=
"6"
></el-option>
<el-option
label=
"宏丰公司矿业"
:value=
"7"
></el-option>
<el-option
label=
"云飞公司矿业"
:value=
"8"
></el-option>
<el-option
label=
"单侯煤矿"
:value=
"9"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"handleExport"
>
导出
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-upload
type=
"file"
name=
"file"
ref=
"upload"
:before-upload=
"handleFileChange"
action=
''
accept=
'.xlsx'
:limit=
"1"
:file-list=
"fileList"
:disabled=
"disableNextButton"
:show-file-list=
false
>
<el-button
plain
size=
"mini"
icon=
"el-icon-download"
type=
"primary"
:disabled=
"disableNextButton"
@
click=
"rulesdate"
>
导入
</el-button>
</el-upload>
</el-col>
</el-row>
<!-- luckysheet容器 -->
<div
id=
"luckysheet"
...
...
@@ -373,8 +376,8 @@ export default {
"
status
"
:
1
,
//激活状态
"
order
"
:
0
,
//工作表的下标
"
hide
"
:
0
,
//是否隐藏
"
row
"
:
8
,
//行数
"
column
"
:
1
0
,
//列数
"
row
"
:
50
,
//行数
"
column
"
:
2
0
,
//列数
"
defaultRowHeight
"
:
19
,
//自定义行高
"
defaultColWidth
"
:
73
,
//自定义列宽
"
celldata
"
:
[
...
...
@@ -525,22 +528,22 @@ export default {
}).
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
"
});
})
.
finally
(()
=>
{
// 导入完成后关闭遮罩层
this
.
showMask
=
false
;
LuckyExcel
.
transformExcelToLucky
(
evt
,
exportJson
=>
{
this
.
summary
(
exportJson
)
.
then
(
async
()
=>
{
this
.
submit
(
exportJson
);
})
.
catch
(
error
=>
{
this
.
$message
({
message
:
error
.
message
,
type
:
"
error
"
});
})
.
finally
(()
=>
{
// 导入完成后关闭遮罩层
this
.
showMask
=
false
;
});
});
}).
catch
(()
=>
{
// 处理错误逻辑,这里是一个空的错误处理函数
...
...
@@ -553,23 +556,23 @@ export default {
}
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
"
});
})
.
finally
(()
=>
{
// 导入完成后关闭遮罩层
this
.
showMask
=
false
;
LuckyExcel
.
transformExcelToLucky
(
evt
,
exportJson
=>
{
this
.
summary
(
exportJson
)
.
then
(
async
()
=>
{
this
.
submit
(
exportJson
);
})
.
catch
(
error
=>
{
this
.
$message
({
message
:
error
.
message
,
type
:
"
error
"
});
});
})
.
finally
(()
=>
{
// 导入完成后关闭遮罩层
this
.
showMask
=
false
;
});
});
}
...
...
@@ -664,79 +667,79 @@ export default {
if
(
allNull
)
{
throw
new
Error
(
"
导入失败,导入文件错误,所选文件与模板规则不匹
"
);
}
materialConvert
(
smallMat
)
.
then
(
response
=>
{
let
array
=
response
.
rows
;
//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
&&
departments
[
i
-
1
]
===
key
&&
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
){
throw
new
Error
(
"
导入失败,导入文件不匹
"
);
}
materialConvert
(
smallMat
)
.
then
(
response
=>
{
let
array
=
response
.
rows
;
//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
&&
departments
[
i
-
1
]
===
key
&&
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
){
throw
new
Error
(
"
导入失败,导入文件不匹
"
);
}
}
//插入多个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
));
}
//插入多个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
);
}
}
map
.
set
(
key
,
values
);
}
else
{
map
.
set
(
key
,
values
);
}
}
}
//循环得到汇总结果
//循环得到汇总结果
if
(
map
.
size
===
0
)
{
throw
new
Error
(
"
导入失败,导入文件错误
"
);
}
let
cells
;
let
warn
;
let
rowss
=
luckysheet
.
find
(
key
);
if
(
rowss
.
length
!=
0
)
{
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
(
rowss
[
0
].
row
,
cells
,
value
[
i
]);
luckysheet
.
setCellValue
(
rowss
[
0
].
row
,
cells
,
{
"
ct
"
:
{
"
fa
"
:
"
General
"
,
"
t
"
:
"
n
"
if
(
map
.
size
===
0
)
{
throw
new
Error
(
"
导入失败,导入文件错误
"
);
}
let
cells
;
let
warn
;
let
rowss
=
luckysheet
.
find
(
key
);
if
(
rowss
.
length
!=
0
)
{
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
(
rowss
[
0
].
row
,
cells
,
value
[
i
]);
luckysheet
.
setCellValue
(
rowss
[
0
].
row
,
cells
,
{
"
ct
"
:
{
"
fa
"
:
"
General
"
,
"
t
"
:
"
n
"
}
});
}
else
{
warn
++
;
}
});
}
else
{
warn
++
;
}
});
}
}
if
(
warn
/
sysRules
.
length
===
map
.
size
)
{
throw
new
Error
(
"
导入文件与所选模板规则不匹配
"
);
}
else
if
(
warn
>
0
)
{
this
.
$message
({
message
:
"
还有
"
+
warn
/
sysRules
.
length
+
"
条大类未能匹配到
"
,
type
:
"
warning
"
});
}
resolve
(
response
.
rows
);
innerResolve
();
// 标记当前异步任务完成
}
if
(
warn
/
sysRules
.
length
===
map
.
size
)
{
throw
new
Error
(
"
导入文件与所选模板规则不匹配
"
);
}
else
if
(
warn
>
0
)
{
this
.
$message
({
message
:
"
还有
"
+
warn
/
sysRules
.
length
+
"
条大类未能匹配到
"
,
type
:
"
warning
"
});
}
resolve
(
response
.
rows
);
innerResolve
();
// 标记当前异步任务完成
}).
catch
(
Error
=>
{
}).
catch
(
Error
=>
{
//必须加,不能删除
innerReject
(
Error
);
// 异步请求出错
});
//必须加,不能删除
innerReject
(
Error
);
// 异步请求出错
});
}));
}
}
...
...
@@ -1075,7 +1078,7 @@ export default {
}));
}
break
;
//
李志昊
版
//
OK
版
case
7
:
{
let
map
=
new
Map
();
let
smallMat
=
[];
...
...
@@ -1143,36 +1146,36 @@ export default {
}
this.NewSixList=SixList*/
let
SixMateriel
=
[];
let
MaterielCode
=
[];
let
NewMarterielCode
=
[];
let
SixList
=
[];
let
newSmasll
=
smallMat
;
SixMateriel
=
response
.
rows
;
NewMarterielCode
=
sortArray
(
SixMateriel
)
// //转化编码
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
++
SixMateriel
=
response
.
rows
;
NewMarterielCode
=
sortArray
(
SixMateriel
)
try
{
// //转化编码
let
p
=
0
;
for
(
var
i
=
0
;
i
<
newSmasll
.
length
;
i
++
){
for
(
var
j
=
0
;
j
<
NewMarterielCode
.
length
;
j
++
)
{
if
(
newSmasll
[
i
]
!==
null
){
if
(
NewMarterielCode
[
j
]
&&
NewMarterielCode
[
j
].
code
&&
newSmasll
[
i
].
slice
(
0
,
NewMarterielCode
[
j
].
code
.
length
)
==
NewMarterielCode
[
j
].
code
)
{
SixList
[
i
]
=
NewMarterielCode
[
j
].
codes
;
p
++
;
break
;
}
else
{
if
(
NewMarterielCode
[
j
]
&&
NewMarterielCode
[
j
].
code
)
{
// 判断是否存在并具有code属性
SixList
[
i
]
=
'
11
'
;
p
++
;
}
}
}
}
}
}
catch
(
err
){
//throw new Error("导入失败,转换编码运行错误,请检查对应规则");
}
let
newSixList
=
SixList
var
warn1
=
0
,
warn2
=
0
;
for
(
let
i
=
parseFloat
(
sysRulez
[
0
].
re
)
+
1
,
k
=
0
;
i
<
data
.
length
;
i
++
,
k
++
)
{
let
values
=
[];
if
(
data
[
i
][
key_i
]
!=
null
)
{
...
...
@@ -1188,19 +1191,29 @@ export default {
innerReject
(
error
);
// 异步请求出错
}
}
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
));
if
(
SixList
[
k
]
==
undefined
){
warn1
++
;
//如果为空,统计为undefined
}
else
{
if
(
deps
[
k
]
==
undefined
){
warn2
++
;
}
else
{
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
);
}
}
map
.
set
(
key
,
values
);
}
else
{
map
.
set
(
key
,
values
);
}
}
}
//循环得到汇总结果
...
...
@@ -1226,73 +1239,85 @@ export default {
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
;
//返回当前工作表第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
"
//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
,
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, {
//输出单价
luckysheet
.
setCellValue
(
rowws
+
1
,
parseInt
(
sysRules
[
0
].
ct
)
+
1
,
value
[
1
]
/
value
[
0
]);
//修改单价样式
/*luckysheet.setCellValue(rowws+g,parseInt(sysRules[0].ct)+1,{
"ct": {
"fa": "
General
",
"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
++
;
}
//输出单价
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
)
{
}
else
if
(
warn
>
0
)
{
this
.
$message
({
message
:
"
还有
"
+
warn
+
"
条大类
未能匹配到
"
,
message
:
"
还有
"
+
warn
+
"
条大类
没匹配到,请仔细检查导入表
"
,
type
:
"
warning
"
});
}
if
(
warn1
>
0
)
{
this
.
$message
({
message
:
"
有
"
+
warn1
+
"
条数据编码不存在,请仔细检查导入表
"
,
type
:
"
error
"
});
}
if
(
warn2
>
0
)
{
this
.
$message
({
message
:
"
有
"
+
warn2
+
"
条数据部门不存在,请仔细检查导入表
"
,
type
:
"
error
"
});
}
// 记录结束时间
const
endTime
=
new
Date
().
getTime
();
// 计算执行时间(以毫秒为单位)
...
...
@@ -1605,17 +1630,17 @@ export default {
let
map
=
new
Map
();
let
smallMat
=
[];
try
{
for
(
let
i
=
parseFloat
(
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
i
=
parseFloat
(
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
);
}
}
}
}
catch
(
err
){
throw
new
Error
(
"
导入失败,导入文件与模板规则不匹
"
);
}
throw
new
Error
(
"
导入失败,导入文件与模板规则不匹
"
);
}
asyncTasks
.
push
(
new
Promise
((
innerResolve
,
innerReject
)
=>
{
const
allNull
=
smallMat
.
every
(
item
=>
item
===
null
);
...
...
@@ -1663,7 +1688,7 @@ export default {
for
(
let
i
=
0
;
i
<
sysRules
.
length
;
i
++
)
{
map
.
forEach
((
value
,
key
)
=>
{
let
searchResult
;
searchResult
=
luckysheet
.
find
(
key
);
searchResult
=
luckysheet
.
find
(
key
);
if
(
searchResult
!==
undefined
&&
searchResult
.
length
!==
0
&&
key
!=
null
)
{
rowws
=
searchResult
[
0
].
row
;
luckysheet
.
setCellValue
(
rowws
,
sysRules
[
i
].
ct
,
value
[
i
]);
...
...
@@ -1689,7 +1714,7 @@ export default {
innerResolve
();
// 标记当前异步任务完成
}).
catch
(
Error
=>
{
//必须加,不能删除
//必须加,不能删除
innerReject
(
Error
);
// 异步请求出错
});
}));
...
...
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