|
@@ -17,7 +17,7 @@
|
|
|
<el-table
|
|
|
v-loading="loading"
|
|
|
:height="heightData"
|
|
|
- :data="tableData"
|
|
|
+ :data="filterData(tableData)"
|
|
|
:span-method="objectSpanMethod"
|
|
|
border
|
|
|
style="width: 100%"
|
|
@@ -47,7 +47,9 @@
|
|
|
}}</span
|
|
|
>{{ scope.row[item.prop3] }}
|
|
|
<el-button
|
|
|
- v-if="toData.templateStatus == 1 && scope.row['goodsType'] == 1"
|
|
|
+ v-if="
|
|
|
+ toData.templateStatus == 1 && scope.row['goodsType'] == 1
|
|
|
+ "
|
|
|
type="text"
|
|
|
:style="
|
|
|
scope.row[item.prop4] === -1 ? 'color:red!important;' : ''
|
|
@@ -225,6 +227,11 @@ export default {
|
|
|
this.getHeightData();
|
|
|
this.getSujectList();
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ tableData(val) {
|
|
|
+ this.merage();
|
|
|
+ },
|
|
|
+ },
|
|
|
computed: {
|
|
|
compay: function () {
|
|
|
return function (data, int) {
|
|
@@ -279,6 +286,15 @@ export default {
|
|
|
return arr;
|
|
|
};
|
|
|
},
|
|
|
+ filterData: function () {
|
|
|
+ return function (list) {
|
|
|
+ let ary = [];
|
|
|
+ ary = list.filter((item) => {
|
|
|
+ return !item.success;
|
|
|
+ });
|
|
|
+ return ary;
|
|
|
+ };
|
|
|
+ },
|
|
|
},
|
|
|
methods: {
|
|
|
/**
|
|
@@ -350,8 +366,33 @@ export default {
|
|
|
},
|
|
|
uploadDatas(lists) {
|
|
|
if (!lists.length) return;
|
|
|
- let list = lists.sort((a, b) => {
|
|
|
- return a.goodsType - b.goodsType;
|
|
|
+ let arrays = [];
|
|
|
+ for (let i = 0; i < lists.length; i++) {
|
|
|
+ if (arrays.length) {
|
|
|
+ let aIndex = arrays.findIndex((item) => {
|
|
|
+ return item.subjectId === lists[i].subjectId;
|
|
|
+ });
|
|
|
+ if (aIndex !== -1) {
|
|
|
+ arrays[aIndex].list.push(lists[i]);
|
|
|
+ } else {
|
|
|
+ arrays.push({
|
|
|
+ subjectId: lists[i].subjectId,
|
|
|
+ list: [lists[i]],
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ arrays.push({
|
|
|
+ subjectId: lists[i].subjectId,
|
|
|
+ list: [lists[i]],
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let list = []
|
|
|
+ arrays.forEach((item) => {
|
|
|
+ item.list = item.list.sort((a, b) => {
|
|
|
+ return a.goodsType - b.goodsType;
|
|
|
+ });
|
|
|
+ list.push(...item.list)
|
|
|
});
|
|
|
const index = this.tableData.findIndex((item) => {
|
|
|
return item.realname === list[0].realname;
|
|
@@ -363,7 +404,6 @@ export default {
|
|
|
arr.splice(index, 0, ...list);
|
|
|
this.tableData = arr;
|
|
|
}
|
|
|
- this.merage();
|
|
|
},
|
|
|
/**
|
|
|
* 选择班级
|
|
@@ -437,7 +477,11 @@ export default {
|
|
|
},
|
|
|
merage() {
|
|
|
this.merageInit(); // 前文的初始化数据函数
|
|
|
- for (let i = 0; i < this.tableData.length; i += 1) {
|
|
|
+ let arys = [];
|
|
|
+ arys = this.tableData.filter((item) => {
|
|
|
+ return !item.success;
|
|
|
+ });
|
|
|
+ for (let i = 0; i < arys.length; i += 1) {
|
|
|
if (i === 0) {
|
|
|
// 第一行必须存在
|
|
|
this.typeNameArr.push(1);
|
|
@@ -452,7 +496,7 @@ export default {
|
|
|
// 判断当前元素与上一个元素是否相同,eg:this.typeNamePos 是 this.typeNameArr序号
|
|
|
// 第一列 下面的是eslint的不限制语法
|
|
|
// eslint-disable-next-line no-lonely-if
|
|
|
- if (this.tableData[i].realname === this.tableData[i - 1].realname) {
|
|
|
+ if (arys[i].realname === arys[i - 1].realname) {
|
|
|
this.typeNameArr[this.typeNamePos] += 1;
|
|
|
this.typeNameArr.push(0);
|
|
|
} else {
|
|
@@ -461,8 +505,8 @@ export default {
|
|
|
}
|
|
|
// 第二列
|
|
|
if (
|
|
|
- this.tableData[i].idCard === this.tableData[i - 1].idCard &&
|
|
|
- this.tableData[i].realname === this.tableData[i - 1].realname
|
|
|
+ arys[i].idCard === arys[i - 1].idCard &&
|
|
|
+ arys[i].realname === arys[i - 1].realname
|
|
|
) {
|
|
|
this.storeArr[this.storePos] += 1;
|
|
|
this.storeArr.push(0);
|
|
@@ -472,9 +516,9 @@ export default {
|
|
|
}
|
|
|
// 第三列
|
|
|
if (
|
|
|
- this.tableData[i].telphone === this.tableData[i - 1].telphone &&
|
|
|
- this.tableData[i].idCard === this.tableData[i - 1].idCard &&
|
|
|
- this.tableData[i].realname === this.tableData[i - 1].realname
|
|
|
+ arys[i].telphone === arys[i - 1].telphone &&
|
|
|
+ arys[i].idCard === arys[i - 1].idCard &&
|
|
|
+ arys[i].realname === arys[i - 1].realname
|
|
|
) {
|
|
|
this.feeArr[this.feePos] += 1;
|
|
|
this.feeArr.push(0);
|
|
@@ -484,10 +528,10 @@ export default {
|
|
|
}
|
|
|
// 第四列
|
|
|
if (
|
|
|
- this.tableData[i].telphone === this.tableData[i - 1].telphone &&
|
|
|
- this.tableData[i].idCard === this.tableData[i - 1].idCard &&
|
|
|
- this.tableData[i].realname === this.tableData[i - 1].realname &&
|
|
|
- this.tableData[i].subjectId === this.tableData[i - 1].subjectId
|
|
|
+ arys[i].telphone === arys[i - 1].telphone &&
|
|
|
+ arys[i].idCard === arys[i - 1].idCard &&
|
|
|
+ arys[i].realname === arys[i - 1].realname &&
|
|
|
+ arys[i].subjectId === arys[i - 1].subjectId
|
|
|
) {
|
|
|
this.fourArr[this.fourPos] += 1;
|
|
|
this.fourArr.push(0);
|
|
@@ -556,7 +600,12 @@ export default {
|
|
|
for (let i = 0; i < item.subjectIds.length; i++) {
|
|
|
for (let j = 0; j < res.rows.length; j++) {
|
|
|
if (res.rows[j].subjectId == item.subjectIds[i]) {
|
|
|
- var ary = JSON.parse(JSON.stringify(res.rows[j].goodsList));
|
|
|
+ var arys = JSON.parse(
|
|
|
+ JSON.stringify(res.rows[j].goodsList)
|
|
|
+ );
|
|
|
+ let ary = arys.sort((a, b) => {
|
|
|
+ return a.goodsType - b.goodsType;
|
|
|
+ });
|
|
|
var datas = ary.map((items) => {
|
|
|
if (obj.topData.type.indexOf(items.goodsType) !== -1) {
|
|
|
items.checked = true;
|
|
@@ -612,7 +661,6 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
this.tableData = arrays;
|
|
|
- this.merage();
|
|
|
},
|
|
|
backToPage() {
|
|
|
this.$alert(
|
|
@@ -802,7 +850,6 @@ export default {
|
|
|
let status = newData.every((item) => {
|
|
|
return item.success === true;
|
|
|
});
|
|
|
- console.log(this.tableData, status);
|
|
|
return status;
|
|
|
},
|
|
|
jumpThire() {
|
|
@@ -812,7 +859,7 @@ export default {
|
|
|
var errorList = this.tableData.filter((item) => {
|
|
|
return item.checked && item.errmsg;
|
|
|
});
|
|
|
- this.$parent.changePage2("third", successList, errorList,this.toData);
|
|
|
+ this.$parent.changePage2("third", successList, errorList, this.toData);
|
|
|
this.disabledBtn = false;
|
|
|
this.loading = false;
|
|
|
return;
|