swap function done
This commit is contained in:
parent
6a3491152d
commit
46f0603243
@ -3,12 +3,12 @@
|
|||||||
<!--<swaprecursion :data="formateddata"></swaprecursion> -->
|
<!--<swaprecursion :data="formateddata"></swaprecursion> -->
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th v-for="(title,index) in formateddata.title">{{title}}</th>
|
<th v-for="(title,index) in formateddata.title" @mousedown='onmousedown($event)' @mouseup='onmouseup($event)'>{{title}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tbody>
|
<tbody>
|
||||||
<template v-for="area in formateddata.area">
|
<template v-for="area in formateddata.area">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="9">{{area.region}} {{area.city}}</td>
|
<td :colspan="data.header.length">{{area.region}} {{area.city}}</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr v-for="company in area.companies">
|
<tr v-for="company in area.companies">
|
||||||
@ -16,7 +16,9 @@
|
|||||||
<td>{{info}}</td>
|
<td>{{info}}</td>
|
||||||
</template>
|
</template>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td :colspan="data.header.length">{{area.quantity}}</td>
|
||||||
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
@ -28,6 +30,8 @@ export default {
|
|||||||
components: {},
|
components: {},
|
||||||
data: function() {
|
data: function() {
|
||||||
return {
|
return {
|
||||||
|
selectedvaluedown: [],
|
||||||
|
selectedindex: 0,
|
||||||
formateddata: {},
|
formateddata: {},
|
||||||
data: {
|
data: {
|
||||||
header: [
|
header: [
|
||||||
@ -163,7 +167,6 @@ export default {
|
|||||||
},
|
},
|
||||||
created: function() {
|
created: function() {
|
||||||
this.formatdata();
|
this.formatdata();
|
||||||
console.log(this.formateddata);
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
formatdata: function() {
|
formatdata: function() {
|
||||||
@ -175,7 +178,8 @@ export default {
|
|||||||
formateddata.area.push({
|
formateddata.area.push({
|
||||||
region: items.name,
|
region: items.name,
|
||||||
city: item.name,
|
city: item.name,
|
||||||
companies: []
|
companies: [],
|
||||||
|
quantity: null
|
||||||
});
|
});
|
||||||
|
|
||||||
for (var childObject of item.children) {
|
for (var childObject of item.children) {
|
||||||
@ -188,9 +192,42 @@ export default {
|
|||||||
info: childarray
|
info: childarray
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
formateddata.area[formateddata.area.length - 1].quantity =
|
||||||
|
formateddata.area[formateddata.area.length - 1].companies.length;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.formateddata = formateddata;
|
this.formateddata = formateddata;
|
||||||
|
},
|
||||||
|
getindexvalue: function(index) {
|
||||||
|
var array = [this.formateddata.title[index]];
|
||||||
|
for (var area of this.formateddata.area) {
|
||||||
|
for (var item of area.companies) {
|
||||||
|
array.push(item.info[index]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return array;
|
||||||
|
},
|
||||||
|
addindexvalue: function(index, selectedvalue) {
|
||||||
|
var counter = 0;
|
||||||
|
this.formateddata.title.splice(index, 1, selectedvalue[0]);
|
||||||
|
for (var area of this.formateddata.area) {
|
||||||
|
for (var item in area.companies) {
|
||||||
|
counter += 1;
|
||||||
|
area.companies[item].info.splice(index, 1, selectedvalue[counter]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onmousedown: function(e) {
|
||||||
|
var index = this.data.header.indexOf(e.target.innerHTML);
|
||||||
|
this.selectedvaluedown = this.getindexvalue(index);
|
||||||
|
this.selectedindex = index;
|
||||||
|
console.log(this.selectedindex);
|
||||||
|
},
|
||||||
|
onmouseup: function(e) {
|
||||||
|
var index = this.data.header.indexOf(e.target.innerHTML);
|
||||||
|
var selectedvalueup = this.getindexvalue(index);
|
||||||
|
this.addindexvalue(index, this.selectedvaluedown);
|
||||||
|
this.addindexvalue(this.selectedindex, selectedvalueup);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -207,37 +244,4 @@ table {
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
/*
|
|
||||||
formatdata: function() {
|
|
||||||
var formateddata = {};
|
|
||||||
formateddata.name = this.data.header;
|
|
||||||
formateddata.children = [];
|
|
||||||
for (var items of this.data.info) {
|
|
||||||
for (var item of items.children) {
|
|
||||||
formateddata.children.push({ name: [] });
|
|
||||||
formateddata.children[formateddata.children.length - 1].name.push(
|
|
||||||
items.name,
|
|
||||||
item.name
|
|
||||||
);
|
|
||||||
formateddata.children[formateddata.children.length - 1].children = [];
|
|
||||||
|
|
||||||
//===========================================
|
|
||||||
for (var childObject of item.children) {
|
|
||||||
var childarray = [];
|
|
||||||
for (var child in childObject) {
|
|
||||||
if (child == "data") {
|
|
||||||
for (var each in childObject[child]) {
|
|
||||||
childarray.push(childObject[child][each]);
|
|
||||||
}
|
|
||||||
//childarray.push(childObject[child]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
formateddata.children[
|
|
||||||
formateddata.children.length - 1
|
|
||||||
].children.push({ name: childarray });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
console.log(formateddata);
|
|
||||||
this.formateddata = formateddata;
|
|
||||||
}*/
|
|
Loading…
Reference in New Issue
Block a user