Commit ee933e0e authored by xiangjiaojunxp's avatar xiangjiaojunxp

物料转换六矿转换

parent 8d23f5db
...@@ -145,6 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -145,6 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM act_supplies_details a FROM act_supplies_details a
LEFT JOIN act_supplies b ON a.sid = b.id LEFT JOIN act_supplies b ON a.sid = b.id
WHERE a.status = 0 WHERE a.status = 0
AND a.code IS NOT NULL
</select> </select>
<select id="selectActSuppliesDetailsById" parameterType="Long" resultMap="ActSuppliesDetailsResult"> <select id="selectActSuppliesDetailsById" parameterType="Long" resultMap="ActSuppliesDetailsResult">
......
...@@ -65,7 +65,6 @@ ...@@ -65,7 +65,6 @@
</el-upload> </el-upload>
</el-col> </el-col>
</el-row> </el-row>
<!-- luckysheet容器 --> <!-- luckysheet容器 -->
<div <div
id="luckysheet" id="luckysheet"
...@@ -222,7 +221,6 @@ export default { ...@@ -222,7 +221,6 @@ export default {
/** 判断是否选择时间*/ /** 判断是否选择时间*/
rulesdate(){ rulesdate(){
if (this.date==''||this.date==null){ if (this.date==''||this.date==null){
this.disableNextButton=true; this.disableNextButton=true;
this.$message.error('请选择时间日期!'); this.$message.error('请选择时间日期!');
...@@ -230,10 +228,8 @@ export default { ...@@ -230,10 +228,8 @@ export default {
this.disableNextButton=true; this.disableNextButton=true;
this.$message.error('请选择所属矿区!'); this.$message.error('请选择所属矿区!');
} }
}, },
handledateChange(){ handledateChange(){
if (this.date==''||this.date==null||this.date==undefined){ if (this.date==''||this.date==null||this.date==undefined){
this.disableNextButton=true; this.disableNextButton=true;
}else { }else {
...@@ -242,13 +238,11 @@ export default { ...@@ -242,13 +238,11 @@ export default {
}, },
handleminingChange(){ handleminingChange(){
if (this.date==''||this.date==null||this.date==undefined){ if (this.date==''||this.date==null||this.date==undefined){
this.disableNextButton=true; this.disableNextButton=true;
}else { }else {
this.disableNextButton=false; this.disableNextButton=false;
} }
}, },
/** 页面刷新时展示的数据*/ /** 页面刷新时展示的数据*/
...@@ -423,8 +417,8 @@ export default { ...@@ -423,8 +417,8 @@ export default {
}, },
/** 导入事件*/ /** 导入事件*/
async handleFileChange(evt) { //导入Promise方法
/*async handleFileChange(evt) {
if(modify){ if(modify){
this.$confirm('再次导入将会清空表内数据,是否继续操作?', '注意!!!', { this.$confirm('再次导入将会清空表内数据,是否继续操作?', '注意!!!', {
confirmButtonText: '确定', confirmButtonText: '确定',
...@@ -456,12 +450,10 @@ export default { ...@@ -456,12 +450,10 @@ export default {
}); });
}); });
try { try {
const exportJson = await cons; const exportJson = await cons;
await this.summary(exportJson); await this.summary(exportJson);
this.submit(exportJson); //this.submit(exportJson);
} catch (Error) { } catch (Error) {
this.$message({ this.$message({
message: Error.message, message: Error.message,
...@@ -482,7 +474,6 @@ export default { ...@@ -482,7 +474,6 @@ export default {
//this.$message({type: 'info', message: '操作已取消'}); //this.$message({type: 'info', message: '操作已取消'});
}); });
}else{ }else{
let exx; let exx;
this.showMask = true; this.showMask = true;
const cons = new Promise((resolve, reject) => { const cons = new Promise((resolve, reject) => {
...@@ -491,10 +482,8 @@ export default { ...@@ -491,10 +482,8 @@ export default {
resolve(exx); resolve(exx);
}); });
}); });
try { try {
const exportJson = await cons; const exportJson = await cons;
await this.summary(exportJson); await this.summary(exportJson);
this.submit(exportJson); this.submit(exportJson);
...@@ -505,17 +494,91 @@ export default { ...@@ -505,17 +494,91 @@ export default {
type: "error"}); type: "error"});
}finally { }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; 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){ summary(exportJson){
// 记录开始时间 // 记录开始时间
const startTime = new Date(); const startTime = new Date().getTime();
let sysRulez; let sysRulez;
let sysRules; let sysRules;
let sysConver; let sysConver;
...@@ -715,6 +778,7 @@ export default { ...@@ -715,6 +778,7 @@ export default {
.then(response => { .then(response => {
let array = response.rows; let array = response.rows;
//console.log(array);
//luckysheet.setCellValue(12, 1, {bg:"#FF0000"}) //luckysheet.setCellValue(12, 1, {bg:"#FF0000"})
for (let i = parseFloat(sysRulez[0].re) + 1, k = 0; i < data.length; i++, k++) { for (let i = parseFloat(sysRulez[0].re) + 1, k = 0; i < data.length; i++, k++) {
let values = []; let values = [];
...@@ -743,7 +807,7 @@ export default { ...@@ -743,7 +807,7 @@ export default {
} }
//循环得到汇总结果 //循环得到汇总结果
console.log(map);
if (map.size === 0) { if (map.size === 0) {
throw new Error("导入失败,导入文件错误"); throw new Error("导入失败,导入文件错误");
} }
...@@ -756,7 +820,7 @@ export default { ...@@ -756,7 +820,7 @@ export default {
map.forEach((value, key) => { map.forEach((value, key) => {
const suffixArr = key.split('/'), mat = suffixArr[2], depp = suffixArr[1], const suffixArr = key.split('/'), mat = suffixArr[2], depp = suffixArr[1],
expp = suffixArr[0]; expp = suffixArr[0];
//console.log(expp);console.log(depp);console.log(mat);
let searchResult = luckysheet.find(expp); let searchResult = luckysheet.find(expp);
if (searchResult.length !== 0 ) { if (searchResult.length !== 0 ) {
rowws = searchResult[0].row; rowws = searchResult[0].row;
...@@ -847,7 +911,7 @@ export default { ...@@ -847,7 +911,7 @@ export default {
}catch(err){ }catch(err){
throw new Error("导入失败,导入文件与模板规则不匹"); throw new Error("导入失败,导入文件与模板规则不匹");
} }
//console.log(smallMat);
asyncTasks.push( asyncTasks.push(
new Promise((innerResolve, innerReject) => { new Promise((innerResolve, innerReject) => {
const allNull = smallMat.every(item =>item===null); const allNull = smallMat.every(item =>item===null);
...@@ -857,7 +921,7 @@ export default { ...@@ -857,7 +921,7 @@ export default {
materialConvert(smallMat) materialConvert(smallMat)
.then(response => { .then(response => {
let array = response.rows; let array = response.rows;
//console.log(array);
//luckysheet.setCellValue(12, 1, {bg:"#FF0000"}) //luckysheet.setCellValue(12, 1, {bg:"#FF0000"})
for (let i = parseInt(sysRulez[0].re) + 1; i < data.length; i++) { for (let i = parseInt(sysRulez[0].re) + 1; i < data.length; i++) {
let values = []; let values = [];
...@@ -896,7 +960,7 @@ export default { ...@@ -896,7 +960,7 @@ export default {
let row; let row;
let con; let con;
let warn=0; let warn=0;
//console.log(map);
map.forEach((value,key)=>{ map.forEach((value,key)=>{
let searchResult; let searchResult;
searchResult= luckysheet.find(key); searchResult= luckysheet.find(key);
...@@ -976,7 +1040,7 @@ export default { ...@@ -976,7 +1040,7 @@ export default {
if (map2.size === 0) { if (map2.size === 0) {
throw new Error("导入失败,导入文件错误"); throw new Error("导入失败,导入文件错误");
} }
//console.log(map2);
map2.forEach((value, key) => { map2.forEach((value, key) => {
let searchResult; let searchResult;
searchResult= luckysheet.find(key); searchResult= luckysheet.find(key);
...@@ -1004,14 +1068,255 @@ export default { ...@@ -1004,14 +1068,255 @@ export default {
resolve(response.rows); resolve(response.rows);
innerResolve(); // 标记当前异步任务完成 innerResolve(); // 标记当前异步任务完成
}).catch(Error => { }).catch(Error => {
console.log("这里是单个异步请求出错处");
//必须加,不能删除 //必须加,不能删除
innerReject(Error); // 异步请求出错 innerReject(Error); // 异步请求出错
}); });
})); }));
} }
break; break;
//李志昊版
case 7: { 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 map = new Map();
let smallMat = []; let smallMat = [];
let deps = []; let deps = [];
...@@ -1045,7 +1350,7 @@ export default { ...@@ -1045,7 +1350,7 @@ export default {
materialList().then( response => { materialList().then( response => {
//六矿物料编码数据 //六矿物料编码数据
// console.log(response.rows,'ymy'); // console.log(response.rows,'ymy');
let array = response.rows.slice(92,246); let array = response.rows;
//有code的数据 //有code的数据
// console.log(array,"<-------->"); // console.log(array,"<-------->");
//六矿六位编码 //六矿六位编码
...@@ -1183,8 +1488,8 @@ export default { ...@@ -1183,8 +1488,8 @@ export default {
} }
//插入多个value的值 //插入多个value的值
//此方法只适用于一对一唯一值 //此方法只适用于一对一唯一值
/*let index = smallMat.indexOf(data[i][key_i].m); /!*let index = smallMat.indexOf(data[i][key_i].m);
let key = array[index];*/ let key = array[index];*!/
let key = newSortArray[k].code + '/' + deps[k]; let key = newSortArray[k].code + '/' + deps[k];
if (map.has(key)) { if (map.has(key)) {
let oldValues = map.get(key); let oldValues = map.get(key);
...@@ -1245,22 +1550,22 @@ export default { ...@@ -1245,22 +1550,22 @@ export default {
for (let i = 0; i < sysRules.length; i++) { for (let i = 0; i < sysRules.length; i++) {
luckysheet.setCellValue(rowws + 1, sysRules[i].ct, value[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": { "ct": {
"fa": "General", "fa": "General",
"t": "n" "t": "n"
} }
});*/ });*!/
} }
//输出单价 //输出单价
luckysheet.setCellValue(rowws + 1, parseInt(sysRules[0].ct) + 1, value[1] / value[0]); 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": { "ct": {
"fa": "0.0000", "fa": "0.0000",
"t": "n" "t": "n"
} }
});*/ });*!/
config = luckysheet.getConfig(0); config = luckysheet.getConfig(0);
bord.range[0].row = [rowws + 1, rowws + 1]; bord.range[0].row = [rowws + 1, rowws + 1];
bord.range[0].column = [0, parseInt(sysRules[sysRules.length - 1].ct)]; bord.range[0].column = [0, parseInt(sysRules[sysRules.length - 1].ct)];
...@@ -1285,9 +1590,9 @@ export default { ...@@ -1285,9 +1590,9 @@ export default {
console.log(`代码执行时间:${executionTime} 毫秒`); console.log(`代码执行时间:${executionTime} 毫秒`);
resolve(response.rows); resolve(response.rows);
innerResolve(); // 标记当前异步任务完成 innerResolve(); // 标记当前异步任务完成
/*let find1 = luckysheet.find("合计"); /!*let find1 = luckysheet.find("合计");
let number = parseInt(find1[0].row)-1; 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 => { }).catch(Error => {
console.log("这里是单个异步请求出错处"); console.log("这里是单个异步请求出错处");
//必须加,不能删除 //必须加,不能删除
...@@ -1296,192 +1601,7 @@ export default { ...@@ -1296,192 +1601,7 @@ export default {
})); }));
} }
break; 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;
default : default :
{ {
let map = new Map(); let map = new Map();
...@@ -1631,6 +1751,7 @@ export default { ...@@ -1631,6 +1751,7 @@ export default {
} }
}); });
}, },
/** 导出设置 */ /** 导出设置 */
handleExport: debounce(function() { handleExport: debounce(function() {
...@@ -1643,7 +1764,6 @@ export default { ...@@ -1643,7 +1764,6 @@ export default {
var data = response.data; var data = response.data;
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
debugger
if(data[i].identifyingCode == 1){ if(data[i].identifyingCode == 1){
/*生成表*/ /*生成表*/
let jsonDataa = JSON.parse(data[i].historyContent); let jsonDataa = JSON.parse(data[i].historyContent);
...@@ -1713,9 +1833,7 @@ export default { ...@@ -1713,9 +1833,7 @@ export default {
this.froms.createBy = data[i].createBy; this.froms.createBy = data[i].createBy;
this.froms.hDate = data[i].date; this.froms.hDate = data[i].date;
this.froms.mining = data[i].mining; this.froms.mining = data[i].mining;
addActSuppliesSixMinesSummaryTable(this.froms).then(response => { addActSuppliesSixMinesSummaryTable(this.froms).then(response => {});
});
} }
} }
} }
...@@ -1767,6 +1885,7 @@ export default { ...@@ -1767,6 +1885,7 @@ export default {
} }
} }
let b5 ; let b5 ;
if(datab[w][4] != null){ if(datab[w][4] != null){
b5= datab[w][4].v; b5= datab[w][4].v;
...@@ -1775,6 +1894,7 @@ export default { ...@@ -1775,6 +1894,7 @@ export default {
} }
} }
let b6 ; let b6 ;
if(datab[w][5] != null){ if(datab[w][5] != null){
b6= datab[w][5].v; b6= datab[w][5].v;
...@@ -2252,15 +2372,11 @@ export default { ...@@ -2252,15 +2372,11 @@ export default {
this.fromimport.a63 = b63; this.fromimport.a63 = b63;
} }
addActSuppliesImportTable(this.fromimport).then(response => { addActSuppliesImportTable(this.fromimport).then(response => {});
});
} }
} }
} }
} }
}); });
}, 500), // 设置延迟时间,单位为毫秒 }, 500), // 设置延迟时间,单位为毫秒
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment