Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
12d44261
提交
12d44261
authored
3月 11, 2022
作者:
王天霸
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1
上级
d46ba41b
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
81 行增加
和
78 行删除
+81
-78
goodsparameter.vue
src/views/system/goods/add/components/goodsparameter.vue
+12
-8
goodsspecifications.vue
...views/system/goods/add/components/goodsspecifications.vue
+42
-41
index.vue
src/views/system/goods/add/index.vue
+27
-29
没有找到文件。
src/views/system/goods/add/components/goodsparameter.vue
浏览文件 @
12d44261
...
...
@@ -64,25 +64,27 @@
<!-- </el-table-column>-->
</el-table>
</div>
<div
v-if=
"orgGoodsPam.
pamTableList
.length > 0"
class=
"single-spe-con"
>
<div
v-if=
"orgGoodsPam.
specs
.length > 0"
class=
"single-spe-con"
>
{{orgGoodsPam.specs_group}}
<el-table
border
size=
"small"
:data=
"orgGoodsPam.
pamTableList
"
:data=
"orgGoodsPam.
specs_group
"
:span-method=
"objectSpanMethod1"
style=
"width: 80%"
:key=
"keyvalue"
>
<el-table-column
header-align=
"center"
align=
"center"
v-for=
"(item, index) in
spacArr
"
v-for=
"(item, index) in
orgGoodsPam.specs
"
:key=
"index"
:prop=
"item.spec_name"
:label=
"item.spec_name"
>
<
template
slot-scope=
"scope"
>
1
</
template
>
<
!-- <
template slot-scope="scope">
</template>
-->
</el-table-column>
<el-table-column
align=
"center"
prop=
"js_price"
label=
"协议价"
>
<
template
slot=
"header"
>
...
...
@@ -225,6 +227,7 @@ export default {
},
data
()
{
return
{
keyvalue
:
1
,
spacArr
:[],
orgGoodsPam
:
{},
preTableTitle
:
[],
...
...
@@ -247,8 +250,9 @@ export default {
},
watch
:{
'parameterdata'
:
function
(
val
)
{
debugger
console
.
log
(
'更新'
)
this
.
orgGoodsPam
=
val
;
this
.
keyvalue
++
if
(
val
.
pamNameList
){
this
.
spacArr
=
val
.
pamNameList
console
.
log
(
val
)
...
...
src/views/system/goods/add/components/goodsspecifications.vue
浏览文件 @
12d44261
...
...
@@ -72,20 +72,6 @@
<el-button
type=
"primary"
@
click=
"saveSpecName"
size=
"mini"
>
确 定
</el-button>
</span>
</el-dialog>
<!-- 规格 -->
<div
class=
"goods-parameter"
>
<p
class=
"tip-p"
>
<!--
<el-link
class=
"edit-type-span el-icon-search"
type=
"primary"
:underline=
"false"
@
click=
"viewPriceExp"
>
查看各类价格说明 -->
</el-link>
<span
class=
"tip-span"
>
所有商品价格均为含税价,必须开具发票
</span>
</p>
</div>
</div>
</
template
>
...
...
@@ -102,6 +88,7 @@ export default {
},
data
()
{
return
{
tableData7
:{},
speData
:
[],
// 商品规格总数据
specsGroup
:
{
spec_name
:
''
,
// 规格名称
...
...
@@ -116,6 +103,7 @@ export default {
speNameList
:
[],
addSpecNameDialog
:
false
,
specName_sm
:
''
,
tablearr
:
[],
};
},
created
()
{
...
...
@@ -329,6 +317,7 @@ export default {
/** 规格参数 变化时,对数据进行处理后,再进行笛卡尔积算法,最终计算出商品售价的数据 */
specCalcResult
()
{
// 商品规格原始数据
let
specs_group
=
[]
let
orgSpeData
=
this
.
deepClone
(
this
.
speData
);
// 进行数据处理后的数据,
...
...
@@ -361,24 +350,46 @@ export default {
};
this
.
$emit
(
'calcSpeTable'
,
goodsPam
);
}
else
{
//speData this.shopTypes
if
(
this
.
speData
&&
this
.
speData
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
this
.
speData
.
length
;
i
++
)
{
this
.
tablearr
.
push
(
this
.
speData
[
i
].
spec_name
);
}
}
// goodsParametersList newList
let
goodsParametersList
=
this
.
cartesian
(
proSpeData
);
console
.
log
(
goodsParametersList
)
let
goodsPam
=
{
pamNameList
:
[],
pamDataList
:
[],
pamTableList
:
[],
specs
:[]
};
goodsPam
.
pamNameList
=
this
.
speNameList
;
goodsPam
.
pamDataList
=
goodsParametersList
;
goodsPam
.
specs
=
goodsParametersList
.
forEach
((
item
)
=>
{
let
prePamTable
=
[
{
js_price
:
''
,
sl_price
:
''
,
price
:
''
,
sc_price
:
''
,
stock
:
''
,
weight
:
''
,
thumb
:
''
,
spec_values
:
[]
}
];
goodsPam
.
pamTableList
.
push
(
prePamTable
)
});
this
.
$emit
(
'calcSpeTable'
,
goodsPam
);
for
(
let
index
=
0
;
index
<
goodsParametersList
.
length
;
index
++
)
{
var
listobj
=
{};
for
(
let
i
=
0
;
i
<
this
.
speData
.
length
;
i
++
)
{
if
(
this
.
speData
.
length
>
1
){
listobj
[
this
.
speData
[
i
].
spec_name
]
=
goodsParametersList
[
index
][
i
];
}
if
(
this
.
speData
.
length
==
1
){
listobj
[
this
.
speData
[
i
].
spec_name
]
=
goodsParametersList
[
index
];
}
listobj
[
"js_price"
]
=
""
;
listobj
[
"sl_price"
]
=
""
;
listobj
[
"price"
]
=
""
;
listobj
[
"sc_price"
]
=
""
;
listobj
[
"stock"
]
=
""
;
listobj
[
"weight"
]
=
""
;
listobj
[
"thumb"
]
=
""
;
listobj
[
"spec_values"
]
=
goodsParametersList
[
index
]
}
specs_group
.
push
(
listobj
);
}
// goodsParametersList.forEach((item,index)=> {
// goodsPam.pamTableList.push(prePamTable)
// });
this
.
tableData7
[
'specs_group'
]
=
specs_group
this
.
tableData7
[
'specs'
]
=
this
.
speData
this
.
$emit
(
'calcSpeTable'
,
this
.
tableData7
);
console
.
log
(
this
.
tableData7
)
}
},
...
...
@@ -532,14 +543,4 @@ export default {
justify-content
:
center
;
align-items
:
center
;
}
/* guige */
.goods-parameter
{
padding
:
20px
;
}
/* 一般提示性文字 */
.tip-span
{
color
:
#909399
;
font-size
:
12px
;
}
</
style
>
src/views/system/goods/add/index.vue
浏览文件 @
12d44261
...
...
@@ -38,7 +38,7 @@
<p
class=
"card-header-title floor-item-box-title"
><span
class=
"blue-block-goods blue-block-goods-title"
></span>
商品规格
</p>
<GoodsSpecifications
ref=
"goodsspecifications"
:specificationsdata=
"specificationsdata"
@
calcSpeTable=
"calcSpeTable"
/>
<!--
<keep-alive>
-->
<
!--
<GoodsParameter
ref=
"goodsparameter"
:parameterdata=
"parameterdata"
/>
--
>
<
GoodsParameter
ref=
"goodsparameter"
:parameterdata=
"parameterdata"
/
>
<!--
</keep-alive>
-->
</div>
</div>
...
...
@@ -129,7 +129,6 @@
specificationsdata
:
[],
/* 商品售价 */
parameterdata
:
{
specs
:[],
pamDataList
:
[],
pamNameList
:
[],
pamTableList
:
[],
...
...
@@ -199,7 +198,6 @@
if
(
res
.
data
.
specs_group
&&
res
.
data
.
specs_group
.
length
>
0
)
{
//this.parameterdata
let
prePriceArr
=
[];
this
.
parameterdata
.
specs
=
res
.
data
.
specs
this
.
parameterdata
.
pamTableList
=
[];
this
.
parameterdata
.
pamDataList
=
[];
res
.
data
.
specs_group
.
forEach
((
item
)
=>
{
...
...
@@ -276,33 +274,33 @@
// 规格子组件,传给父组件的数据
calcSpeTable
(
data
)
{
//console.log('原始值',data);
// 第一步,获取原来的值
//
let spsjData2 = this.$refs.goodsparameter.orgGoodsPam;
//
//
console.log('原始值',data);
//
//
第一步,获取原来的值
let
spsjData2
=
this
.
$refs
.
goodsparameter
.
orgGoodsPam
;
let
spsjData2Clone
=
this
.
deepClone
(
spsjData2
);
// 第二步,重新渲染dom
if
(
data
.
pamTableList
.
length
>
0
)
{
data
.
pamTableList
.
forEach
((
item
,
index
)
=>
{
if
(
Array
.
isArray
(
data
.
pamDataList
[
index
])
)
{
item
[
0
].
spec_values
=
data
.
pamDataList
[
index
];
}
else
{
item
[
0
].
spec_values
.
push
(
data
.
pamDataList
[
index
]);
}
})
}
// 第三步,重新赋值
if
(
data
.
pamTableList
.
length
>
0
&&
spsjData2Clone
.
pamTableList
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
data
.
pamTableList
.
length
;
i
++
)
{
for
(
let
j
=
0
;
j
<
spsjData2Clone
.
pamTableList
.
length
;
j
++
)
{
// 这两个值,如果不转 toString(),就不相等,??
if
(
(
data
.
pamTableList
[
i
][
0
].
spec_values
).
toString
()
===
(
spsjData2Clone
.
pamTableList
[
j
][
0
].
spec_values
).
toString
()
)
{
data
.
pamTableList
[
i
]
=
spsjData2Clone
.
pamTableList
[
j
];
}
}
}
}
//
//
第二步,重新渲染dom
//
if(data.pamTableList.length > 0) {
//
data.pamTableList.forEach((item, index) => {
//
if( Array.isArray(data.pamDataList[index]) ) {
//
item[0].spec_values = data.pamDataList[index];
//
}else {
//
item[0].spec_values.push(data.pamDataList[index]);
//
}
//
})
//
}
//
//
第三步,重新赋值
//
if(data.pamTableList.length > 0 && spsjData2Clone.pamTableList.length > 0) {
//
for(let i = 0; i
<
data
.
pamTableList
.
length
;
i
++
)
{
//
for(let j = 0; j
<
spsjData2Clone
.
pamTableList
.
length
;
j
++
)
{
//
// 这两个值,如果不转 toString(),就不相等,??
//
if( (data.pamTableList[i][0].spec_values).toString() === (spsjData2Clone.pamTableList[j][0].spec_values).toString() ) {
//
data.pamTableList[i] = spsjData2Clone.pamTableList[j];
//
}
//
}
//
}
//
}
this
.
parameterdata
=
data
;
...
...
@@ -412,7 +410,7 @@
let
isGoodsPrice
=
true
;
let
goodsPriceMsg
=
''
;
let
spsjData1
=
this
.
$refs
.
goodsparameter
.
singleSpecTable
;
//
let spsjData2 = this.$refs.goodsparameter.orgGoodsPam;
let
spsjData2
=
this
.
$refs
.
goodsparameter
.
orgGoodsPam
;
// 如果有,则说明有规格组合数据
if
(
spsjData2
.
pamTableList
&&
spsjData2
.
pamTableList
.
length
>
0
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论