diff --git a/src/views/business/GoodsManager/Goodss/components/MultiSpec/MultiSpec.vue b/src/views/business/GoodsManager/Goodss/components/MultiSpec/MultiSpec.vue
index 31bb8cf..9aa58f5 100644
--- a/src/views/business/GoodsManager/Goodss/components/MultiSpec/MultiSpec.vue
+++ b/src/views/business/GoodsManager/Goodss/components/MultiSpec/MultiSpec.vue
@@ -46,12 +46,12 @@
:width="column.width">
-
+
+
+
+
+
@@ -171,13 +171,12 @@ const getSpanArr = (data) => {
pos.value = "";
spanArr1.value = [];
pos1.value = "";
- for (var i = 0; i < data.length; i++) {
+ data.forEach((item, i) => {
if (i === 0) {
spanArr.value.push(1);
pos.value = 0;
} else {
- // 判断当前元素与上一个元素是否相同
- if (data[i].specValue === data[i - 1].specValue) {
+ if (item.specValue === data[i - 1].specValue) {
spanArr.value[pos.value] += 1;
spanArr.value.push(0);
} else {
@@ -185,24 +184,27 @@ const getSpanArr = (data) => {
pos.value = i;
}
}
- }
+ });
- for (var i = 0; i < data.length; i++) {
- if (i === 0) {
- spanArr1.value.push(1);
- pos1.value = 0;
- } else {
- //如果笛卡尔积一直递增下去的话 这是一个很蠢的方法 由于我的要求层数是已知的 这里偷懒了 不然应该用for循环
- if (data[i].specSecondValue === data[i - 1].specSecondValue) {
- spanArr1.value[pos1.value] += 1;
- spanArr1.value.push(0);
- } else {
+
+ data.forEach((item, i) => {
+ if (item.specThirdValue != null) {
+ if (i === 0) {
spanArr1.value.push(1);
- pos1.value = i;
+ pos1.value = 0;
+ } else {
+ if (item.specSecondValue === data[i - 1].specSecondValue) {
+ spanArr1.value[pos1.value] += 1;
+ spanArr1.value.push(0);
+ } else {
+ spanArr1.value.push(1);
+ pos1.value = i;
+ }
}
}
- }
+ });
console.log(spanArr.value, '排序Arr');
+ console.log(spanArr1.value, '排序Arr1');
}
@@ -218,12 +220,14 @@ const objectSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
};
// columnIndex === 1 找到第二列,合并他的列数
} else if (columnIndex === 1) {
- const _row = spanArr1.value[rowIndex];
- const _col = _row > 0 ? 1 : 0;
- return {
- rowspan: _row,
- colspan: _col
- };
+ if (spanArr1.value.length != 0) {
+ const _row = spanArr1.value[rowIndex];
+ const _col = _row > 0 ? 1 : 0;
+ return {
+ rowspan: _row,
+ colspan: _col
+ };
+ }
}
}
@@ -484,4 +488,10 @@ function handleDelSpecValue(item, specValue) {
.el-input-number {
width: 140px;
}
+
+:deep(.el-upload--picture-card) {
+ width: 90px;
+ height: 90px;
+}
+