提交 39a9be5c authored 作者: matian's avatar matian

Auto stash before merge of "master" and "origin/master"

上级 23c1cd51
...@@ -15,7 +15,7 @@ export default [ ...@@ -15,7 +15,7 @@ export default [
title_list: ['清华五道口金融学院硕士生导师首席经济学家', '清华五道口金融学院硕士生导师首席经济学家'] title_list: ['清华五道口金融学院硕士生导师首席经济学家', '清华五道口金融学院硕士生导师首席经济学家']
} }
], ],
child_ids: ['1-1', '1-2', '1-3', '1-4', '1-5', '1-6', '1-7', '1-8'], child_ids: ['1-1', '1-2', '1-3', '1-4', '1-5', '1-6', '1-7', '1-8', '1-x', '1-y'],
course_card: '知名导师专家', course_card: '知名导师专家',
course_compulsory: 6, course_compulsory: 6,
course_elective: 2, course_elective: 2,
...@@ -26,7 +26,10 @@ export default [ ...@@ -26,7 +26,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '课程费用4300元/人,考试费/认证费/教材费合计680元/人', total_price_desc: '课程费用4300元/人,考试费/认证费/教材费合计680元/人',
sku_id: '7014129405609902080', sku_id: '7014129405609902080',
spu_id: '7014129404863315968' spu_id: '7014129404863315968',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅰ)', category: 'PAAP(Ⅰ)',
...@@ -85,7 +88,10 @@ export default [ ...@@ -85,7 +88,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018148152972673024', sku_id: '7018148152972673024',
spu_id: '7018148152758763520' spu_id: '7018148152758763520',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅰ)', category: 'PAAP(Ⅰ)',
...@@ -130,7 +136,10 @@ export default [ ...@@ -130,7 +136,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018148297881681920', sku_id: '7018148297881681920',
spu_id: '7018148297659383808' spu_id: '7018148297659383808',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅰ)', category: 'PAAP(Ⅰ)',
...@@ -175,7 +184,10 @@ export default [ ...@@ -175,7 +184,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018148355993763840', sku_id: '7018148355993763840',
spu_id: '7018148355750494208' spu_id: '7018148355750494208',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅰ)', category: 'PAAP(Ⅰ)',
...@@ -220,7 +232,10 @@ export default [ ...@@ -220,7 +232,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018148401996890112', sku_id: '7018148401996890112',
spu_id: '7018148401443241984' spu_id: '7018148401443241984',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅰ)', category: 'PAAP(Ⅰ)',
...@@ -265,7 +280,10 @@ export default [ ...@@ -265,7 +280,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018148446439735296', sku_id: '7018148446439735296',
spu_id: '7018148446183882752' spu_id: '7018148446183882752',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅰ)', category: 'PAAP(Ⅰ)',
...@@ -310,7 +328,10 @@ export default [ ...@@ -310,7 +328,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018148498998558720', sku_id: '7018148498998558720',
spu_id: '7018148498784649216' spu_id: '7018148498784649216',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅰ)', category: 'PAAP(Ⅰ)',
...@@ -355,7 +376,10 @@ export default [ ...@@ -355,7 +376,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018148559375564800', sku_id: '7018148559375564800',
spu_id: '7018148559153266688' spu_id: '7018148559153266688',
is_free: false,
is_new: false,
is_test: false
}, },
{ {
category: 'PAAP(Ⅰ)', category: 'PAAP(Ⅰ)',
...@@ -400,6 +424,103 @@ export default [ ...@@ -400,6 +424,103 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018148600190337024', sku_id: '7018148600190337024',
spu_id: '7018148600018370560' spu_id: '7018148600018370560',
is_free: false,
is_new: true,
is_test: false
},
{
category: 'PAAP(Ⅰ)',
id: '1-x',
title: 'prp测试使用老课',
desc: '通过私人权属资产全面预算的系统学习,具备完成私人资产分析所需要的系统源点知识的底层逻辑,精确盘点私人资产,建立私人资产分析的多维模型',
for_people: '包括但并不仅限于金融保险企业绩优营销员',
image_url: 'https://webapp-pub.ezijing.com/project_online/fi/paap1_banner.png',
type: '课程',
price: 0.01,
lecturer_list: [
{
name: '张伟',
avatar: '',
title_list: ['清华五道口金融学院硕士生导师首席经济学家', '清华五道口金融学院硕士生导师首席经济学家']
}
],
child_ids: ['1-1', '1-2', '1-3', '1-4', '1-5', '1-6', '1-7', '1-8'],
course_card: '知名导师专家',
course_compulsory: 6,
course_elective: 2,
course_chapter: '56',
course_total_hour: '80',
course_hour: '8课时',
course_id: '7018416731202781184',
class_id: '7017001355222974464',
total_price_desc: '课程费用4300元/人,考试费/认证费/教材费合计680元/人',
sku_id: '7013797336337874944',
spu_id: '7013796818362302464',
is_free: false,
is_new: false,
is_test: true
},
{
category: 'PAAP(Ⅰ)',
id: '1-y',
title: 'paa测试使用新课',
desc: '通过私人权属资产全面预算的系统学习,具备完成私人资产分析所需要的系统源点知识的底层逻辑,精确盘点私人资产,建立私人资产分析的多维模型',
for_people: '包括但并不仅限于金融保险企业绩优营销员',
image_url: 'https://webapp-pub.ezijing.com/project_online/fi/paap1_1.png',
type: '课程',
price: 0.01,
lecturer_list: [
{
name: '张伟',
avatar: '',
title_list: ['清华五道口金融学院硕士生导师首席经济学家', '清华五道口金融学院硕士生导师首席经济学家']
}
],
content_list: [
{
id: 1,
label: '第一章111',
children: [
{
label: '第一节'
},
{
label: '第二节'
},
{
label: '第三节'
}
]
},
{
id: 2,
label: '第二章222',
children: []
},
{
id: 3,
label: '第三章333',
children: [
{
label: ''
}
]
}
],
course_card: '知名导师专家',
course_compulsory: 6,
course_elective: 2,
course_chapter: '56',
course_total_hour: '80',
course_hour: '8课时',
course_id: '7018416315857633280',
class_id: '7017001355222974464',
total_price_desc: '',
sku_id: '7013797436787261440',
spu_id: '7013796776536702976',
is_free: false,
is_new: true,
is_test: true
} }
] ]
...@@ -26,7 +26,10 @@ export default [ ...@@ -26,7 +26,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '课程费用7000元/人,考试费/认证费/教材费合计680元/人', total_price_desc: '课程费用7000元/人,考试费/认证费/教材费合计680元/人',
sku_id: '7014130347952570368', sku_id: '7014130347952570368',
spu_id: '7014130347390533632' spu_id: '7014130347390533632',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅱ)', category: 'PAAP(Ⅱ)',
...@@ -71,7 +74,10 @@ export default [ ...@@ -71,7 +74,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018152688009347072', sku_id: '7018152688009347072',
spu_id: '7018152687816409088' spu_id: '7018152687816409088',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅱ)', category: 'PAAP(Ⅱ)',
...@@ -116,7 +122,10 @@ export default [ ...@@ -116,7 +122,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018152880926359552', sku_id: '7018152880926359552',
spu_id: '7018152880771170304' spu_id: '7018152880771170304',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅱ)', category: 'PAAP(Ⅱ)',
...@@ -161,7 +170,10 @@ export default [ ...@@ -161,7 +170,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018152942817509376', sku_id: '7018152942817509376',
spu_id: '7018152942582628352' spu_id: '7018152942582628352',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅱ)', category: 'PAAP(Ⅱ)',
...@@ -206,7 +218,10 @@ export default [ ...@@ -206,7 +218,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018153065505095680', sku_id: '7018153065505095680',
spu_id: '7018153065345712128' spu_id: '7018153065345712128',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅱ)', category: 'PAAP(Ⅱ)',
...@@ -251,7 +266,10 @@ export default [ ...@@ -251,7 +266,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018153097708961792', sku_id: '7018153097708961792',
spu_id: '7018153097490857984' spu_id: '7018153097490857984',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAP(Ⅱ)', category: 'PAAP(Ⅱ)',
...@@ -296,7 +314,10 @@ export default [ ...@@ -296,7 +314,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018153138490179584', sku_id: '7018153138490179584',
spu_id: '7018153138276270080' spu_id: '7018153138276270080',
is_free: false,
is_new: false,
is_test: false
}, },
{ {
category: 'PAAP(Ⅱ)', category: 'PAAP(Ⅱ)',
...@@ -341,7 +362,10 @@ export default [ ...@@ -341,7 +362,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018153186531737600', sku_id: '7018153186531737600',
spu_id: '7018153185999060992' spu_id: '7018153185999060992',
is_free: false,
is_new: false,
is_test: false
}, },
{ {
category: 'PAAP(Ⅱ)', category: 'PAAP(Ⅱ)',
...@@ -386,6 +410,9 @@ export default [ ...@@ -386,6 +410,9 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018153236649476096', sku_id: '7018153236649476096',
spu_id: '7018153236393623552' spu_id: '7018153236393623552',
is_free: false,
is_new: false,
is_test: false
} }
] ]
...@@ -26,7 +26,10 @@ export default [ ...@@ -26,7 +26,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '课程费用12000元/人,考试费/认证费/教材费合计980元/人', total_price_desc: '课程费用12000元/人,考试费/认证费/教材费合计980元/人',
sku_id: '7014130543629434880', sku_id: '7014130543629434880',
spu_id: '7014130542861877248' spu_id: '7014130542861877248',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -71,7 +74,10 @@ export default [ ...@@ -71,7 +74,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018154999255400448', sku_id: '7018154999255400448',
spu_id: '7018154999087628288' spu_id: '7018154999087628288',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -116,7 +122,10 @@ export default [ ...@@ -116,7 +122,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155082088710144', sku_id: '7018155082088710144',
spu_id: '7018155081837051904' spu_id: '7018155081837051904',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -161,7 +170,10 @@ export default [ ...@@ -161,7 +170,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155124648312832', sku_id: '7018155124648312832',
spu_id: '7018155124409237504' spu_id: '7018155124409237504',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -206,7 +218,10 @@ export default [ ...@@ -206,7 +218,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155185348280320', sku_id: '7018155185348280320',
spu_id: '7018155185100816384' spu_id: '7018155185100816384',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -251,7 +266,10 @@ export default [ ...@@ -251,7 +266,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155221046001664', sku_id: '7018155221046001664',
spu_id: '7018155220798537728' spu_id: '7018155220798537728',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -296,7 +314,10 @@ export default [ ...@@ -296,7 +314,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155258798931968', sku_id: '7018155258798931968',
spu_id: '7018155258513719296' spu_id: '7018155258513719296',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -341,7 +362,10 @@ export default [ ...@@ -341,7 +362,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155294282743808', sku_id: '7018155294282743808',
spu_id: '7018155294085611520' spu_id: '7018155294085611520',
is_free: false,
is_new: false,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -386,7 +410,10 @@ export default [ ...@@ -386,7 +410,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155330718662656', sku_id: '7018155330718662656',
spu_id: '7018155330425061376' spu_id: '7018155330425061376',
is_free: false,
is_new: false,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -431,7 +458,10 @@ export default [ ...@@ -431,7 +458,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155379125125120', sku_id: '7018155379125125120',
spu_id: '7018155378894438400' spu_id: '7018155378894438400',
is_free: false,
is_new: false,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -476,7 +506,10 @@ export default [ ...@@ -476,7 +506,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155430316605440', sku_id: '7018155430316605440',
spu_id: '7018155430069141504' spu_id: '7018155430069141504',
is_free: false,
is_new: false,
is_test: false
}, },
{ {
category: 'PAAM', category: 'PAAM',
...@@ -521,6 +554,9 @@ export default [ ...@@ -521,6 +554,9 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155468174393344', sku_id: '7018155468174393344',
spu_id: '7018155467947900928' spu_id: '7018155467947900928',
is_free: false,
is_new: false,
is_test: false
} }
] ]
...@@ -25,7 +25,10 @@ export default [ ...@@ -25,7 +25,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '课程费用12000元/人,考试费/认证费/教材费合计980元/人', total_price_desc: '课程费用12000元/人,考试费/认证费/教材费合计980元/人',
sku_id: '7014130543629434880', sku_id: '7014130543629434880',
spu_id: '7014130542861877248' spu_id: '7014130542861877248',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'system_course', category: 'system_course',
...@@ -70,7 +73,10 @@ export default [ ...@@ -70,7 +73,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018154999255400448', sku_id: '7018154999255400448',
spu_id: '7018154999087628288' spu_id: '7018154999087628288',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'system_course', category: 'system_course',
...@@ -115,7 +121,10 @@ export default [ ...@@ -115,7 +121,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155082088710144', sku_id: '7018155082088710144',
spu_id: '7018155081837051904' spu_id: '7018155081837051904',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'system_course', category: 'system_course',
...@@ -160,7 +169,10 @@ export default [ ...@@ -160,7 +169,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155124648312832', sku_id: '7018155124648312832',
spu_id: '7018155124409237504' spu_id: '7018155124409237504',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'system_course', category: 'system_course',
...@@ -205,7 +217,10 @@ export default [ ...@@ -205,7 +217,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155185348280320', sku_id: '7018155185348280320',
spu_id: '7018155185100816384' spu_id: '7018155185100816384',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'system_course', category: 'system_course',
...@@ -250,7 +265,10 @@ export default [ ...@@ -250,7 +265,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155221046001664', sku_id: '7018155221046001664',
spu_id: '7018155220798537728' spu_id: '7018155220798537728',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'system_course', category: 'system_course',
...@@ -295,7 +313,10 @@ export default [ ...@@ -295,7 +313,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155258798931968', sku_id: '7018155258798931968',
spu_id: '7018155258513719296' spu_id: '7018155258513719296',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'system_course', category: 'system_course',
...@@ -340,7 +361,10 @@ export default [ ...@@ -340,7 +361,10 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155294282743808', sku_id: '7018155294282743808',
spu_id: '7018155294085611520' spu_id: '7018155294085611520',
is_free: false,
is_new: true,
is_test: false
}, },
{ {
category: 'system_course', category: 'system_course',
...@@ -385,6 +409,9 @@ export default [ ...@@ -385,6 +409,9 @@ export default [
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '', total_price_desc: '',
sku_id: '7018155330718662656', sku_id: '7018155330718662656',
spu_id: '7018155330425061376' spu_id: '7018155330425061376',
is_free: false,
is_new: true,
is_test: false
} }
] ]
...@@ -24,7 +24,8 @@ export default [ ...@@ -24,7 +24,8 @@ export default [
course_id: '7016965100288344064', course_id: '7016965100288344064',
class_id: '7017001355222974464', class_id: '7017001355222974464',
total_price_desc: '课程费用12000元/人,考试费/认证费/教材费合计980元/人', total_price_desc: '课程费用12000元/人,考试费/认证费/教材费合计980元/人',
sku_id: '7014130543629434880', is_free: true,
spu_id: '7014130542861877248' is_new: true,
is_test: false
} }
] ]
...@@ -123,6 +123,30 @@ const list: List[] = [ ...@@ -123,6 +123,30 @@ const list: List[] = [
btnIconActive: 'https://webapp-pub.ezijing.com/project_online/fi/tab3_hover.png', btnIconActive: 'https://webapp-pub.ezijing.com/project_online/fi/tab3_hover.png',
h1: '针对行业内所有相关人士,提供行业从业人员终身学习的底层逻辑和专业知识架构,建立系统思维,养成学习与从业的习惯,建立自我成长和职业发展的心智模式。', h1: '针对行业内所有相关人士,提供行业从业人员终身学习的底层逻辑和专业知识架构,建立系统思维,养成学习与从业的习惯,建立自我成长和职业发展的心智模式。',
card: [ card: [
{
id: '5-1',
img: 'https://webapp-pub.ezijing.com/project_online/fi/tab3_1.png',
h5Img: 'https://webapp-pub.ezijing.com/project_online/fi/h5/system-3-1.png',
tit: '免费小课',
list: [
{
tit: '适用人群',
desc: '从事金融服务业销售人员'
}
]
},
{
id: '4-1',
img: 'https://webapp-pub.ezijing.com/project_online/fi/tab3_1.png',
h5Img: 'https://webapp-pub.ezijing.com/project_online/fi/h5/system-3-1.png',
tit: '系统小课',
list: [
{
tit: '适用人群',
desc: '终身学习爱好者'
}
]
},
{ {
id: '', id: '',
img: 'https://webapp-pub.ezijing.com/project_online/fi/tab3_1.png', img: 'https://webapp-pub.ezijing.com/project_online/fi/tab3_1.png',
...@@ -243,13 +267,6 @@ const handleDetail = (item: any) => { ...@@ -243,13 +267,6 @@ const handleDetail = (item: any) => {
<div class="value">{{ it.desc }}</div> <div class="value">{{ it.desc }}</div>
</div> </div>
</div> </div>
<div class="item">
<div class="i"></div>
<div class="r-txt">
<div class="name">学员属性</div>
<div class="value">包括但并不仅限于金融保险企业绩优营包括但并不仅限于金融保险企业绩优营销员销员</div>
</div>
</div>
</div> </div>
<div class="more" @click="router.push('/shop')">查看更多课程</div> <div class="more" @click="router.push('/shop')">查看更多课程</div>
</div> </div>
...@@ -354,19 +371,15 @@ const handleDetail = (item: any) => { ...@@ -354,19 +371,15 @@ const handleDetail = (item: any) => {
.content_main { .content_main {
margin-top: 29px; margin-top: 29px;
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(4, 1fr);
grid-column-gap: 30px; grid-column-gap: 30px;
.main_list { .main_list {
background: rgba(255, 255, 255, 0.39); background: rgba(255, 255, 255, 0.39);
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
padding: 21px 16px 16px 16px; padding: 21px 16px 16px 16px;
cursor: pointer; cursor: pointer;
.list_img2 {
width: 555px;
height: 197px;
}
.list_tit { .list_tit {
font-size: 18px; font-size: 18px;
font-weight: 500; font-weight: 500;
......
...@@ -5,7 +5,7 @@ import { getOrderList } from '../api' ...@@ -5,7 +5,7 @@ import { getOrderList } from '../api'
import { useDevice } from '@/composables/useDevice' import { useDevice } from '@/composables/useDevice'
import { useShopStore } from '@/stores/shop' import { useShopStore } from '@/stores/shop'
import { useUserStore } from '@/stores/user' import { useUserStore } from '@/stores/user'
import ContactDialog from '../../shop/components/ContactDialog.vue'
interface Props { interface Props {
id: string id: string
} }
...@@ -17,6 +17,8 @@ const { mobile } = useDevice() ...@@ -17,6 +17,8 @@ const { mobile } = useDevice()
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()
const buyDialogVisible = ref(false)
const orderId = useStorage('order_detail_id', route.query.order_detail_id) const orderId = useStorage('order_detail_id', route.query.order_detail_id)
const order = ref<Order>() const order = ref<Order>()
async function getOrder() { async function getOrder() {
...@@ -44,7 +46,12 @@ const start_time = getDateTime(0) ...@@ -44,7 +46,12 @@ const start_time = getDateTime(0)
const end_time = getDateTime(90) const end_time = getDateTime(90)
const handleStudy = () => { const handleStudy = () => {
window.open('https://fi-learning.ezijing.com') console.log(shopItem?.is_new === true)
if (shopItem?.is_new === true) {
buyDialogVisible.value = true
} else {
window.open('https://fi-learning.ezijing.com')
}
} }
const handlePrev = () => { const handlePrev = () => {
router.replace({ path: `/shop/detail/${shopItem?.id}` }) router.replace({ path: `/shop/detail/${shopItem?.id}` })
...@@ -87,7 +94,8 @@ const handlePrev = () => { ...@@ -87,7 +94,8 @@ const handlePrev = () => {
<div class="course_con"> <div class="course_con">
<img <img
src="https://img1.baidu.com/it/u=3009731526,373851691&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500" src="https://img1.baidu.com/it/u=3009731526,373851691&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=500"
@click="handlePrev" /> @click="handlePrev"
/>
<div class="course_dec"> <div class="course_dec">
<div class="info_title">{{ shopItem?.title }}</div> <div class="info_title">{{ shopItem?.title }}</div>
<div class="info_date">有效期:{{ start_time }}{{ end_time }}</div> <div class="info_date">有效期:{{ start_time }}{{ end_time }}</div>
...@@ -106,6 +114,7 @@ const handlePrev = () => { ...@@ -106,6 +114,7 @@ const handlePrev = () => {
<div class="study_con" @click="handleStudy">开始学习</div> <div class="study_con" @click="handleStudy">开始学习</div>
</div> </div>
</div> </div>
<ContactDialog v-model:buyDialogVisible="buyDialogVisible" />
</div> </div>
</template> </template>
......
...@@ -16,17 +16,19 @@ const props = defineProps({ ...@@ -16,17 +16,19 @@ const props = defineProps({
const buyDialogVisible = ref(false) const buyDialogVisible = ref(false)
const handleBuyCourse = () => { const handleBuyCourse = () => {
console.log(props.payStatus, props.shopItem?.isBuy)
if (user.isLogin) { if (user.isLogin) {
if (props.payStatus === '4' || props.shopItem?.isBuy === true) { if (props.payStatus === '4' || props.shopItem?.isBuy === true) {
// window.open('https://fi-learning.ezijing.com') if (props.shopItem?.category === 'system_course') {
buyDialogVisible.value = true buyDialogVisible.value = true
} else {
window.open('https://fi-learning.ezijing.com')
}
} else { } else {
// if (props.shopItem?.type === '课程包') { if (props.shopItem?.category === 'free_course') {
// buyDialogVisible.value = true buyDialogVisible.value = true
// } else { } else {
router.push(`/shop/pay/${props.shopItem?.id}`) router.push(`/shop/pay/${props.shopItem?.id}`)
// } }
} }
} else { } else {
window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}` window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}`
...@@ -47,7 +49,7 @@ const handleBuyCourse = () => { ...@@ -47,7 +49,7 @@ const handleBuyCourse = () => {
</div> </div>
</template> </template>
<div class="footer_btn" @click="handleBuyCourse"> <div class="footer_btn" @click="handleBuyCourse">
{{ payStatus === '4' || shopItem?.isBuy === true ? '联系我们' : '立即购买' }} {{ payStatus === '4' || shopItem?.isBuy === true || shopItem?.is_free === true ? '立即学习' : '立即购买' }}
</div> </div>
</div> </div>
<div class="detail_footer" v-else> <div class="detail_footer" v-else>
...@@ -56,27 +58,18 @@ const handleBuyCourse = () => { ...@@ -56,27 +58,18 @@ const handleBuyCourse = () => {
<div class="footer_left" v-if="shopItem?.type === '课程包'"> <div class="footer_left" v-if="shopItem?.type === '课程包'">
<div class="left_tit"> <div class="left_tit">
总学费 <span class="tit_price">¥{{ shopItem?.price }}</span> 总学费 <span class="tit_price">¥{{ shopItem?.price }}</span>
<!-- <div class="footer_price">
<div class="price_icon">¥</div>
<div class="price_price">{{ shopItem?.price }}</div>
</div> -->
</div> </div>
<div class="left_desc">{{ shopItem?.total_price_desc }}</div> <div class="left_desc">{{ shopItem?.total_price_desc }}</div>
</div> </div>
<div class="footer_left" v-else> <div class="footer_left" v-if="shopItem?.type === '课程'">
<div class="left_tit">课程价格</div> <div class="left_tit">{{ shopItem?.is_free === true ? '免费' : '课程价格' }}</div>
</div> </div>
</template> </template>
<div class="footer_btn" @click="handleBuyCourse" v-if="payStatus === '4' || shopItem?.isBuy === true"> <div class="footer_btn" @click="handleBuyCourse">
<div class="btn_buy">联系我们</div> <div class="btn_buy">
</div> {{ payStatus === '4' || shopItem?.isBuy === true || shopItem?.is_free === true ? '立即学习' : '立即购买' }}
<div class="footer_btn" @click="handleBuyCourse" v-else> </div>
<!-- <div class="footer_price">
<div class="price_icon">¥</div>
<div class="price_price">{{ shopItem?.price }}</div>
</div> -->
<div class="btn_buy">立即购买</div>
</div> </div>
</div> </div>
<ContactDialog v-model:buyDialogVisible="buyDialogVisible" /> <ContactDialog v-model:buyDialogVisible="buyDialogVisible" />
......
...@@ -12,8 +12,8 @@ const page = reactive({ size: 10, currentPage: 1 }) ...@@ -12,8 +12,8 @@ const page = reactive({ size: 10, currentPage: 1 })
// 筛选之后的数据 // 筛选之后的数据
const courseFilterList = $computed(() => { const courseFilterList = $computed(() => {
if (props.type === 'PAA') { if (props.type === 'PAAP(Ⅰ)') {
return props.courseList return props.courseList.filter((item: any) => item.category === props.type && item.is_test === false)
} else { } else {
return props.courseList.filter((item: any) => item.category === props.type || props.type === '') return props.courseList.filter((item: any) => item.category === props.type || props.type === '')
} }
......
...@@ -22,14 +22,17 @@ const handleDatail = (item: any) => { ...@@ -22,14 +22,17 @@ const handleDatail = (item: any) => {
const handleBuy = (courseItem: any) => { const handleBuy = (courseItem: any) => {
if (user.isLogin) { if (user.isLogin) {
if (courseItem?.isBuy === true) { if (courseItem?.isBuy === true) {
buyDialogVisible.value = true if (courseItem?.is_new === true) {
// window.open('https://fi-learning.ezijing.com') buyDialogVisible.value = true
} else {
window.open('https://fi-learning.ezijing.com')
}
} else { } else {
// if (courseItem.type === '课程包') { if (courseItem?.is_free === true) {
// buyDialogVisible.value = true buyDialogVisible.value = true
// } else { } else {
router.push(`/shop/pay/${courseItem.id}`) router.push(`/shop/pay/${courseItem.id}`)
// } }
} }
} else { } else {
window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}` window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}`
...@@ -58,14 +61,17 @@ const handleBuy = (courseItem: any) => { ...@@ -58,14 +61,17 @@ const handleBuy = (courseItem: any) => {
</div> </div>
</div> </div>
<div class="right_bottom"> <div class="right_bottom">
<div class="bottom_price" v-if="!mobile"> <div class="bottom_price" v-if="!mobile && courseItem?.price !== 0">
<div class="price_icon">¥</div> <div class="price_icon">¥</div>
<div class="price_num">{{ courseItem?.price }}</div> <div class="price_num">{{ courseItem?.price }}</div>
</div> </div>
<div class="bottom_price" v-if="!mobile && courseItem?.price === 0">
<div class="price_icon">免费</div>
</div>
<div class="bottom_btn"> <div class="bottom_btn">
<div class="btn_detail" v-if="!mobile" @click="handleDatail(courseItem?.id)">查看详情</div> <div class="btn_detail" v-if="!mobile" @click="handleDatail(courseItem?.id)">查看详情</div>
<div class="btn_buy" @click="handleBuy(courseItem)"> <div class="btn_buy" @click="handleBuy(courseItem)">
{{ courseItem?.isBuy === true ? '联系我们' : '立即购买' }} {{ courseItem?.isBuy === true || courseItem?.category === 'free_course' ? '立即学习' : '立即购买' }}
</div> </div>
</div> </div>
</div> </div>
......
...@@ -33,14 +33,17 @@ const shareTit = computed(() => { ...@@ -33,14 +33,17 @@ const shareTit = computed(() => {
const handleBuyCourse = () => { const handleBuyCourse = () => {
if (user.isLogin) { if (user.isLogin) {
if (props.payStatus === '4' || props.shopItem?.isBuy === true) { if (props.payStatus === '4' || props.shopItem?.isBuy === true) {
// window.open('https://fi-learning.ezijing.com') if (props.shopItem?.is_new === true) {
buyDialogVisible.value = true buyDialogVisible.value = true
} else {
window.open('https://fi-learning.ezijing.com')
}
} else { } else {
// if (props.shopItem?.type === '课程包') { if (props.shopItem?.is_free === true) {
// buyDialogVisible.value = true buyDialogVisible.value = true
// } else { } else {
router.push(`/shop/pay/${props.shopItem?.id}`) router.push(`/shop/pay/${props.shopItem?.id}`)
// } }
} }
} else { } else {
window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}` window.location.href = `${import.meta.env.VITE_LOGIN_URL}?rd=${encodeURIComponent(location.href)}`
...@@ -121,18 +124,23 @@ const handleCopyLink = () => { ...@@ -121,18 +124,23 @@ const handleCopyLink = () => {
</div> </div>
<div class="detail_buy"> <div class="detail_buy">
<div class="buy_left"> <div class="buy_left">
<div class="left_status" v-if="payStatus === '4' || shopItem?.isBuy === true">已购买</div> <div class="left_status" v-if="(payStatus === '4' || shopItem?.isBuy === true) && shopItem?.price !== 0">
<div class="left_price" v-else> 已购买
</div>
<div class="left_price" v-if="(payStatus !== '4' || shopItem?.isBuy !== true) && shopItem?.price !== 0">
<div class="price_icon">¥</div> <div class="price_icon">¥</div>
<div class="price_num">{{ shopItem?.price }}</div> <div class="price_num">{{ shopItem?.price }}</div>
</div> </div>
<div class="left_price" v-if="shopItem?.price === 0">
<div class="price_icon">免费</div>
</div>
<div class="left_tip"> <div class="left_tip">
<div class="tip1 tip">支付安全</div> <div class="tip1 tip" v-if="shopItem?.price !== 0">支付安全</div>
<div class="tip2 tip">课程回放</div> <div class="tip2 tip">课程回放</div>
</div> </div>
</div> </div>
<div class="buy_right" @click="handleBuyCourse" v-if="!mobile"> <div class="buy_right" @click="handleBuyCourse" v-if="!mobile">
{{ payStatus === '4' || shopItem?.isBuy === true ? '联系我们' : '立即购买' }} {{ payStatus === '4' || shopItem?.isBuy === true || shopItem?.is_free === true ? '立即学习' : '立即购买' }}
</div> </div>
</div> </div>
<div class="detail_info" v-if="mobile"> <div class="detail_info" v-if="mobile">
...@@ -150,7 +158,6 @@ const handleCopyLink = () => { ...@@ -150,7 +158,6 @@ const handleCopyLink = () => {
<div class="info_time" v-if="shopItem?.type === '课程包'"> <div class="info_time" v-if="shopItem?.type === '课程包'">
<div class="time_left"> <div class="time_left">
<!-- <div class="left_tit">课程节数</div> -->
<div class="left_con"> <div class="left_con">
<span class="con_num">{{ shopItem?.course_compulsory }}</span> <span class="con_num">{{ shopItem?.course_compulsory }}</span>
<span class="con_txt">门必修</span> <span class="con_txt">门必修</span>
...@@ -158,7 +165,6 @@ const handleCopyLink = () => { ...@@ -158,7 +165,6 @@ const handleCopyLink = () => {
</div> </div>
<div class="time_line"></div> <div class="time_line"></div>
<div class="time_left"> <div class="time_left">
<!-- <div class="left_tit">总课时</div> -->
<div class="left_con"> <div class="left_con">
<span class="con_num">{{ shopItem?.course_elective }}</span> <span class="con_num">{{ shopItem?.course_elective }}</span>
<span class="con_txt">门选修</span> <span class="con_txt">门选修</span>
......
...@@ -6,7 +6,7 @@ import { useDevice } from '@/composables/useDevice' ...@@ -6,7 +6,7 @@ import { useDevice } from '@/composables/useDevice'
const route = useRoute() const route = useRoute()
const { mobile } = useDevice() const { mobile } = useDevice()
const shopStore = useShopStore() const shopStore = useShopStore()
const activeIndex = ref('1') let activeIndex = $ref('1')
const type = ref('') const type = ref('')
const handleClickTab = (val: any) => { const handleClickTab = (val: any) => {
type.value = val type.value = val
...@@ -21,9 +21,10 @@ let menuValue = $ref('') ...@@ -21,9 +21,10 @@ let menuValue = $ref('')
onMounted(() => { onMounted(() => {
clearActive() clearActive()
let defaultMenu = '' let defaultMenu = ''
const activeIndex = route.query.activeIndex const activeH5Index = route.query.activeIndex
if (activeIndex) { if (activeH5Index) {
defaultMenu = activeIndex === '2' ? 'free_course' : activeIndex === '3' ? 'system_course' : '' activeIndex = activeH5Index?.toString()
defaultMenu = activeH5Index === '2' ? 'free_course' : activeH5Index === '3' ? 'system_course' : ''
} }
shopStore.filters.map((item: any) => item.value === defaultMenu && (item.isActive = true)) shopStore.filters.map((item: any) => item.value === defaultMenu && (item.isActive = true))
menuValue = defaultMenu menuValue = defaultMenu
...@@ -31,6 +32,10 @@ onMounted(() => { ...@@ -31,6 +32,10 @@ onMounted(() => {
let childMenuShow = $ref(false) let childMenuShow = $ref(false)
const menuTab = function (item: any) { const menuTab = function (item: any) {
if (item.value === 'PRP') {
window.open('https://prp.ezijing.com')
window.location.reload()
}
if (!item.children) { if (!item.children) {
clearActive() clearActive()
item.isActive = true item.isActive = true
...@@ -93,11 +98,6 @@ const clearActive = function () { ...@@ -93,11 +98,6 @@ const clearActive = function () {
</div> </div>
<div class="main_shop" v-else> <div class="main_shop" v-else>
<img src="https://webapp-pub.ezijing.com/project_online/fi/shop_banner.jpg" class="shop_banner" /> <img src="https://webapp-pub.ezijing.com/project_online/fi/shop_banner.jpg" class="shop_banner" />
<!-- <van-tabs>
<van-tab :title="item.label" v-for="(item, index) in shopStore.filters" :key="index" lazy>
<CourseList :type="item.value" :courseList="shopStore.shopList" :key="index" />
</van-tab>
</van-tabs> -->
<div class="mobile-tab-box"> <div class="mobile-tab-box">
<div <div
:class="`item ${shopStore.filters[index].isActive && 'active'}`" :class="`item ${shopStore.filters[index].isActive && 'active'}`"
...@@ -269,6 +269,12 @@ const clearActive = function () { ...@@ -269,6 +269,12 @@ const clearActive = function () {
color: #fff !important; color: #fff !important;
border-bottom: none; border-bottom: none;
} }
:deep(.el-menu--horizontal > .el-menu-item:hover) {
background-color: #e8c484;
opacity: 0.6;
color: #fff !important;
border-bottom: none;
}
:deep(.el-sub-menu) { :deep(.el-sub-menu) {
font-size: 18px; font-size: 18px;
font-weight: 400; font-weight: 400;
...@@ -287,7 +293,19 @@ const clearActive = function () { ...@@ -287,7 +293,19 @@ const clearActive = function () {
} }
:deep(.el-menu--horizontal > .el-sub-menu .el-sub-menu__title:hover) { :deep(.el-menu--horizontal > .el-sub-menu .el-sub-menu__title:hover) {
color: #535353 !important; color: #535353 !important;
background-color: #e8c484;
color: #fff !important;
border-radius: 6px;
opacity: 0.6;
} }
// 二级菜单hover状态下字体颜色
.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,
.el-menu--horizontal .el-menu-item:not(.is-disabled):hover {
background-color: #e8c484;
color: #fff !important;
}
.mobile-tab-box { .mobile-tab-box {
display: flex; display: flex;
justify-content: space-evenly; justify-content: space-evenly;
...@@ -346,3 +364,30 @@ const clearActive = function () { ...@@ -346,3 +364,30 @@ const clearActive = function () {
} }
} }
</style> </style>
<style lang="scss">
// 有二级菜单的标题时鼠标悬停的颜色
.el-sub-menu__title.el-tooltip__trigger.el-tooltip__trigger:hover {
background-color: #e8c484;
color: #fff !important;
}
.el-popper.is-light {
border: none;
border-radius: 20px;
&::before {
content: '';
position: absolute;
top: -8px;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid #fff;
}
}
.el-menu--horizontal .el-menu .el-menu-item.is-active {
color: #eda023 !important;
}
</style>
...@@ -20,12 +20,14 @@ courseItem.value = shopStore.shopList.filter( ...@@ -20,12 +20,14 @@ courseItem.value = shopStore.shopList.filter(
(item: any) => item.type === '课程包' && item.child_ids.includes(shopStore.shopItem?.id) (item: any) => item.type === '课程包' && item.child_ids.includes(shopStore.shopItem?.id)
) )
const recommendCourse = computed(() => { const recommendCourse = computed(() => {
if (shopStore.shopItem?.type === '课程包') { if (shopStore.shopItem?.type === '课程包' && shopStore.shopItem?.category !== 'free_course') {
// 课程包推荐课程 // 课程包推荐课程
return shopStore.shopRelatedList return shopStore.shopRelatedList
} else { } else if (shopStore.shopItem?.type === '课程' && shopStore.shopItem?.category !== 'free_course') {
// 单一课程推荐的课程 // 单一课程推荐的课程
return shopStore.shopRelatedListOther return shopStore.shopRelatedListOther
} else if (shopStore.shopItem?.category === 'free_course') {
return shopStore.shopList.filter(item => item.category === 'system_course')
} }
}) })
</script> </script>
...@@ -35,13 +37,26 @@ const recommendCourse = computed(() => { ...@@ -35,13 +37,26 @@ const recommendCourse = computed(() => {
<DetailBanner :shopItem="shopStore.shopItem" :payStatus="payStatus" /> <DetailBanner :shopItem="shopStore.shopItem" :payStatus="payStatus" />
<div class="detail_con"> <div class="detail_con">
<div class="con_left"> <div class="con_left">
<div> <IncludeCourseCard
<IncludeCourseCard v-if="shopStore.shopItem?.type !== '课程包'" :courseItem="courseItem" /> v-if="
<div class="left_course" v-if="shopStore.shopItem?.type === '课程包'"> shopStore.shopItem?.type === '课程' &&
<CourseIntrouduce :shopItem="shopStore.shopItem" /> shopStore.shopItem?.category !== 'system_course' &&
<CourseFor v-if="!mobile" :shopItem="shopStore.shopItem" /> shopStore.shopItem?.category !== 'free_course'
<CourseCatalogPC :shopItem="shopStore.shopItem" /> "
</div> :courseItem="courseItem"
/>
<div
class="left_course"
v-if="
shopStore.shopItem?.type === '课程包' ||
shopStore.shopItem?.category === 'system_course' ||
shopStore.shopItem?.category === 'free_course'
"
>
<CourseIntrouduce :shopItem="shopStore.shopItem" />
<CourseFor :shopItem="shopStore.shopItem" />
<CourseCatalogPC v-if="shopStore.shopItem?.type === '课程包'" :shopItem="shopStore.shopItem" />
</div> </div>
</div> </div>
<div class="con_right"> <div class="con_right">
...@@ -53,11 +68,25 @@ const recommendCourse = computed(() => { ...@@ -53,11 +68,25 @@ const recommendCourse = computed(() => {
</div> </div>
<div class="course_detail" v-else> <div class="course_detail" v-else>
<DetailBanner :shopItem="shopStore.shopItem" :payStatus="payStatus" /> <DetailBanner :shopItem="shopStore.shopItem" :payStatus="payStatus" />
<IncludeCourseCard v-if="shopStore.shopItem?.type !== '课程包'" :courseItem="courseItem" /> <IncludeCourseCard
<div class="detail_con" v-if="shopStore.shopItem?.type === '课程包'"> v-if="
<CourseIntrouduce :shopItem="shopStore.shopItem" /> shopStore.shopItem?.type === '课程' &&
shopStore.shopItem?.category !== 'system_course' &&
shopStore.shopItem?.category !== 'free_course'
"
:courseItem="courseItem"
/>
<div class="detail_con">
<CourseIntrouduce
:shopItem="shopStore.shopItem"
v-if="
shopStore.shopItem?.type === '课程包' ||
shopStore.shopItem?.category !== 'system_course' ||
shopStore.shopItem?.category !== 'free_course'
"
/>
<!-- <TeacherCard :lecturerList="shopStore.shopItem?.lecturer_list" /> --> <!-- <TeacherCard :lecturerList="shopStore.shopItem?.lecturer_list" /> -->
<CourseCatalogH5 :shopItem="shopStore.shopItem" /> <CourseCatalogH5 :shopItem="shopStore.shopItem" v-if="shopStore.shopItem?.type === '课程包'" />
</div> </div>
<RecommendCourse :shopRelatedList="recommendCourse" /> <RecommendCourse :shopRelatedList="recommendCourse" />
<CourseFooter :payStatus="payStatus" :shopItem="shopStore.shopItem" /> <CourseFooter :payStatus="payStatus" :shopItem="shopStore.shopItem" />
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论