Commit cdaa694f authored by lenovo's avatar lenovo

六矿汇总

parent e4d5d162
......@@ -158,7 +158,7 @@ import {
updateSupplies,
exportSupplies,
getPid,
listSuppliesOne
listSuppliesOne, exportSuppliesOne
} from "@/api/Actsupplies/Actsupplies";
export default {
......@@ -396,13 +396,14 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
debugger
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有一级分类数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportSupplies(queryParams);
return exportSuppliesOne(queryParams);
}).then(response => {
this.download(response.msg);
})
......
......@@ -38,7 +38,7 @@
name="file"
ref="upload"
:before-upload="handleFileChange"
action='https://jsonplaceholder.typicode.com/posts'
action=''
:limit="1"
:file-list="fileList"
:disabled="disableNextButton"
......@@ -102,7 +102,7 @@ export default {
mounted() {
this.init();
fileName="新建XLSX工作表";
},
methods:{
/** 页面刷新时展示的数据*/
......@@ -166,11 +166,10 @@ export default {
/** 重置按钮操作 */
resetQuery() {
//刷新下拉选框内容
fileName="新建XLSX工作表";
this.selectedOption='';
this.disableNextButton='';
this.selectedRule='';
this.luckyrule=[];
fileName="新建XLSX工作表";
//刷新luckysheet表格
this.init();
},
......@@ -260,112 +259,35 @@ export default {
});
return
}
console.log("导入数据的规则是:"+rule);
console.log("导入数据的规则是:"+tempId);
let sysRulez;
let sysRules;
let value=[];
//获取规则 sysRulez是物料转换 sysRules是数据汇总规则 13
let map=new Map();
//获取物料转换的规则
//
for(let i=0;i<rule.length;i++){
if (rule[i].convertStatus==1){
if (rule[i].convertStatus===1){
sysRulez = JSON.parse(rule[i].detailContent);
}
if(rule[i].convertStatus==2){
if(rule[i].convertStatus===2){
sysRules = JSON.parse(rule[i].detailContent);
}
}
//获取物料转换的sheet表
let data=window.luckysheet.transToData(exportJson.sheets[sysRulez[0].se].celldata);
//获取物料转换中导入表的列,用来获取物料名
window.luckysheet.set
let key_i=sysRulez[0].ce;
//获取物料转换的数据
for (let i=0;i<sysRules.length;i++){
//value.push(data[sysRules[i].re][sysRules[i].ce].m);
value.push(sysRules[i].ce);
}
console.log("value的值为:"+value);
switch (tempId){
case 2:
{
let department=['原煤','洗煤厂'];
for(let j=0;j<department.length;j++){
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;
case 6:
{
let cost=['安全费用','国债费用','办公费用','其它费用','原煤基本生产','洗煤费用','制造费用','其他业务成本'];
let department=['二掘区','后勤服务二科','后勤服务一科','机电科','井运区','救护队','开拓区','开运区','通风区','通讯管理科','物资管理科','巷修区','一掘区','准备区','综二区','综一区','钻探区'];
//加个费用循环
for(let j=0;j<department.length;j++){
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][1].m==department[j]){
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{
......@@ -378,77 +300,6 @@ export default {
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"
}});
}
});
}
});
}
}
break;
case 1:
{
let map=new Map();
let smallMat=[];
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);
}
}
//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){
......@@ -465,6 +316,7 @@ export default {
//插入多个value的值
let index = smallMat.indexOf(data[i][key_i].m);
let key = array[index];
key = key+"-"+data[i][sysRulez[1].ce].m
if (map.has(key)) {
let oldValues = map.get(key);
for (let i=0;i<values.length;i++){
......@@ -477,160 +329,128 @@ export default {
}
//循环得到汇总结果
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, {
let splitElement = key.split("-");
row = luckysheet.find(splitElement[0])[0].row
let find = luckysheet.find(splitElement[1])[0];
if (find!=null && luckysheet.getCellValue(find.row,0)===0){
// for (let i =0;i<value.length;i++) {
// luckysheet.setCellValue(sysConver[i].rt, sysConver[i].ct, value[i]);
// luckysheet.setCellValue(sysConver[i].rt, sysConver[i].ct, {
// "ct": {
// "fa": "General",
// "t": "n"
// }
// });
// }
});
}
}else {
// 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;
let rowindex;
let colindex;
let config;
// let bord={
// "rangeType": "cell",
// "value": {
// "row_index": 0,
// "col_index": 0,
// "l": {
// "style": 1,
// "color": "#000000"
// },
// "r": {
// "style": 1,
// "color": "#000000"
// },
// "t": {
// "style": 1,
// "color": "#000000"
// },
// "b": {
// "style": 1,
// "color": "#000000"
// }
// 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;
default :
{
let map=new Map();
let smallMat=[];
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);
}
}
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);
}
let bord = {
"rangeType": "range",
"borderType": "border-all",
"style": "1",
"color": "#000000",
"range": [{
"row": [0, 0],
"column": [0, 0]
}]
}
}
//循环得到汇总结果
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, {
let cellValue = luckysheet.getcellvalue(row);
luckysheet.insertRow(row+1)
luckysheet.setCellValue(row+1, sysRulez[0].ct, splitElement[0]);
luckysheet.setCellValue(row+1, sysRulez[0].ct, cellValue[0]);
// config = luckysheet.getConfig(0);
// bord.value.row_index = row+1;
// bord.value.col_index = parseInt(sysRulez[0].ct);
// config.borderInfo.push(bord);
// luckysheet.setConfig(config);
//
// config = luckysheet.getConfig(0);
// bord.value.row_index = row+1;
// bord.value.col_index = parseInt(sysRulez[0].ct)+1;
// config.borderInfo.push(bord);
// luckysheet.setConfig(config);
luckysheet.setCellValue(row+1, sysRulez[1].ct, splitElement[1]);
luckysheet.setCellValue(row+1, sysRulez[1].ct, cellValue[2]);
// config = luckysheet.getConfig(0);
// bord.value.row_index = row+1;
// bord.value.col_index = parseInt(sysRulez[1].ct);
// config.borderInfo.push(bord);
// luckysheet.setConfig(config);
luckysheet.setCellValue(row+1, parseInt(sysRules[0].ct)+1,value[1]/value[0]);
luckysheet.setCellValue(row+1, parseInt(sysRules[0].ct)+1, cellValue[4]);
// config = luckysheet.getConfig(0);
// bord.value.row_index = row+1;
// bord.value.col_index = parseInt(sysRules[0].ct)+1;
// config.borderInfo.push(bord);
// luckysheet.setConfig(config);
for(let i=0;i<value.length;i++) {
luckysheet.setCellValue(row + 1, sysRules[i].ct, value[i]);
luckysheet.setCellValue(row + 1, sysRules[i].ct, {
"ct": {
"fa": "General",
"t": "n"
}
});
luckysheet.setCellValue(row+1, sysRules[i].ct, cellValue[3]);
// config = luckysheet.getConfig(0);
// bord.value.row_index = row+1;
// bord.value.col_index = parseInt(sysRules[i].ct);
// config.borderInfo.push(bord);
// luckysheet.setConfig(config);
}
});
config = luckysheet.getConfig(0);
bord.range[0].row = [row+1,row+1];
bord.range[0].column = [sysRulez[0].ct,sysRules[sysRules.length-1].ct];
config.borderInfo.push(bord);
luckysheet.setConfig(config);
}
});
}
}
}).catch(() => {
// 处理错误逻辑,这里是一个空的错误处理函数
console.log("走到这了,物料转换后续处理出问题了!!");
});
//切换到想要的sheet
luckysheet.setSheetActive(0);
})
......
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