Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
d62bc61f
Commit
d62bc61f
authored
Nov 01, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增代购 商品类型 商品列表
parent
06d397d1
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1297 additions
and
6 deletions
+1297
-6
HotelPrice.vue
src/components/Hotel/HotelPrice.vue
+2
-2
leaderArrangement.vue
src/components/LeaderManagement/leaderArrangement.vue
+3
-3
BuyingAdd.vue
src/components/activity/BuyingAdd.vue
+652
-0
BuyingList.vue
src/components/activity/BuyingList.vue
+202
-0
BuyingType.vue
src/components/activity/BuyingType.vue
+422
-0
config.js
src/router/config.js
+16
-1
No files found.
src/components/Hotel/HotelPrice.vue
View file @
d62bc61f
...
@@ -708,7 +708,7 @@ export default {
...
@@ -708,7 +708,7 @@ export default {
},
},
isdelete
(
ID
)
{
isdelete
(
ID
)
{
var
that
=
this
;
var
that
=
this
;
that
.
Confirm
(
th
is
.
$t
(
'tips.shifoushanchu'
),
function
()
{
that
.
Confirm
(
th
at
.
$t
(
'tips.shifoushanchu'
),
function
()
{
that
.
apipost
(
that
.
apipost
(
"dict_post_HotelOffer_Remove"
,
"dict_post_HotelOffer_Remove"
,
{
{
...
@@ -718,7 +718,7 @@ export default {
...
@@ -718,7 +718,7 @@ export default {
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
initDataTable
();
that
.
initDataTable
();
that
.
initCalendar
();
that
.
initCalendar
();
that
.
Success
(
th
is
.
$t
(
'tips.shanchuchenggong'
));
that
.
Success
(
th
at
.
$t
(
'tips.shanchuchenggong'
));
}
}
}
}
);
);
...
...
src/components/LeaderManagement/leaderArrangement.vue
View file @
d62bc61f
...
@@ -718,7 +718,7 @@
...
@@ -718,7 +718,7 @@
this
.
Success
(
this
.
$t
(
"ground.shezhichenggong"
));
this
.
Success
(
this
.
$t
(
"ground.shezhichenggong"
));
this
.
isShow
=
false
;
this
.
isShow
=
false
;
}
else
{
}
else
{
that
.
Confirm
(
th
is
.
$t
(
'ground.sheizhichongtu'
),
function
()
{
that
.
Confirm
(
th
at
.
$t
(
'ground.sheizhichongtu'
),
function
()
{
that
.
addMsg
.
IsSure
=
1
;
that
.
addMsg
.
IsSure
=
1
;
that
.
apipost
(
that
.
apipost
(
"LeaderSchedule_post_Set"
,
"LeaderSchedule_post_Set"
,
...
@@ -727,7 +727,7 @@
...
@@ -727,7 +727,7 @@
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
getList
();
that
.
getList
();
that
.
getNoTaskLeader
();
that
.
getNoTaskLeader
();
that
.
Success
(
th
is
.
$t
(
"ground.shezhichenggong"
));
that
.
Success
(
th
at
.
$t
(
"ground.shezhichenggong"
));
that
.
isShow
=
false
;
that
.
isShow
=
false
;
}
}
},
},
...
@@ -748,7 +748,7 @@
...
@@ -748,7 +748,7 @@
};
};
that
.
apipost
(
"LeaderSchedule_Post_Remove"
,
msg
,
res
=>
{
that
.
apipost
(
"LeaderSchedule_Post_Remove"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
th
is
.
$t
(
'ground.quxiaochenggong'
));
that
.
Success
(
th
at
.
$t
(
'ground.quxiaochenggong'
));
that
.
getList
();
that
.
getList
();
}
else
{
}
else
{
that
.
Error
(
res
.
data
.
message
);
that
.
Error
(
res
.
data
.
message
);
...
...
src/components/activity/BuyingAdd.vue
0 → 100644
View file @
d62bc61f
<
style
>
.addIntegralMall
{
padding-top
:
25px
;
}
.addIntegralMall
.resource-lititle
{
display
:
block
;
border-left
:
4px
solid
#e95252
;
padding-left
:
10px
;
margin-bottom
:
20px
;
}
.addIntegralMall
.resource-lititle.resource-lititle2
{
margin-top
:
25px
;
}
.addIntegralMall
.re-img
{
width
:
140px
;
height
:
93px
;
border-radius
:
10px
;
float
:
left
;
margin
:
0
30px
30px
0
;
position
:
relative
;
}
.addIntegralMall
.re-img2
{
width
:
100%
;
height
:
auto
;
}
.addIntegralMall
.re-img
:first-child
{
margin-left
:
0
;
}
.addIntegralMall
.resource-imglist
{
width
:
100%
;
height
:
auto
;
margin-top
:
20px
;
}
.addIntegralMall
.resource-imglist
img
{
width
:
100%
;
height
:
100%
;
border-radius
:
10px
;
}
.addIntegralMall
.add-img
{
margin-top
:
20px
;
}
.addIntegralMall
.reimg-add
{
width
:
140px
;
height
:
93px
;
background
:
rgba
(
236
,
236
,
236
,
1
);
border-radius
:
10px
;
position
:
relative
;
cursor
:
pointer
;
z-index
:
999
;
}
.addIntegralMall
.ad-one
{
display
:
none
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
width
:
100%
;
height
:
100%
;
border-radius
:
10px
;
position
:
absolute
;
top
:
0
;
}
.addIntegralMall
.bigAdd
{
font-size
:
50px
;
color
:
#d1d1d1
;
position
:
relative
;
left
:
45px
;
top
:
10px
;
}
.addIntegralMall
.imgzhe
{
display
:
none
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
width
:
100%
;
height
:
100%
;
border-radius
:
10px
;
position
:
absolute
;
text-align
:
center
;
line-height
:
93px
;
top
:
0
;
}
.addIntegralMall
.reimg-add
:hover
.ad-one
{
display
:
block
;
}
.addIntegralMall
.re-img
:hover
.imgzhe
{
display
:
block
;
}
.addIntegralMall
.ad-one
div
{
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
line-height
:
32px
;
text-align
:
center
;
background
:
gray
;
color
:
#fff
;
}
.addIntegralMall
.ad-one
div
:hover
{
background-color
:
#fff
;
color
:
#e95252
;
}
.addIntegralMall
.re-upload
{
position
:
absolute
;
top
:
30px
;
left
:
54px
;
z-index
:
999
;
}
.addIntegralMall
.re-find
{
position
:
absolute
;
top
:
30px
;
right
:
30px
;
z-index
:
999
;
}
.addIntegralMall
.search-imgicon
{
padding-right
:
20px
;
margin-left
:
-40px
;
}
.addIntegralMall
.resAddImg
{
width
:
520px
;
padding-right
:
45px
;
}
.addIntegralMall
.addimgContent
{
height
:
290px
;
overflow
:
auto
;
margin
:
30px
0
30px
25px
;
width
:
545px
;
}
.addIntegralMall
.addimgDiv
{
width
:
160px
;
height
:
155px
;
float
:
left
;
margin
:
0
20px
15px
0
;
overflow
:
hidden
;
}
.addIntegralMall
.addimgContent
div
:first-child
{
margin-left
:
0
;
}
.addimgContent
div
:nth-child
(
3n
)
{
margin-right
:
0
;
}
.addIntegralMall
.itemImgdiv
{
width
:
160px
;
height
:
106px
;
position
:
relative
;
}
.addIntegralMall
.itemImgdiv
img
{
width
:
100%
;
height
:
100%
;
border-radius
:
10px
;
}
.addIntegralMall
.re-delte
{
width
:
32px
;
height
:
32px
;
background
:
gray
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
32px
;
display
:
inline-block
;
color
:
#fff
;
cursor
:
pointer
;
}
.addIntegralMall
.re-delte
:hover
{
color
:
#e95252
;
background
:
#fff
;
}
.addIntegralMall
.tips
{
padding-left
:
130px
;
font-size
:
12px
;
position
:
relative
;
bottom
:
20px
;
color
:
#777777
;
}
.addIntegralMall
.tips.tips2
{
bottom
:
0
;
padding-left
:
0
;
padding-top
:
10px
;
}
.addIntegralMall
.bottom_sub
{
padding-top
:
25px
;
}
.addIntegralMall
.ql-editor
{
min-height
:
200px
;
}
</
style
>
<
template
>
<el-row
class=
"addIntegralMall"
>
<el-col
:span=
"9"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"130px"
>
<span
class=
"resource-lititle"
>
基本信息
</span>
<el-form-item
label=
"商品名称"
prop=
"name"
>
<el-input
v-model=
"addMsg.name"
class=
"w217"
/>
</el-form-item>
<el-form-item
label=
"购买等级要求"
>
<el-select
filterable
v-model=
"addMsg.isReqRate"
>
<el-option
label=
"不限"
:value=
"-0"
:key=
"0"
></el-option>
<el-option
v-for=
"item in MenberList"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"商品价格"
prop=
"price"
>
<el-input
v-model=
"addMsg.price"
class=
"w217"
/>
</el-form-item>
<el-form-item
label=
"价格单位"
prop=
"priceUnit"
>
<el-select
filterable
v-model=
"addMsg.priceUnit"
>
<el-option
label=
"积分"
:value=
"0"
:key=
"0"
></el-option>
<el-option
label=
"人民币"
:value=
"1"
:key=
"1"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"市场价格"
prop=
"marketPrice"
>
<el-input
v-model=
"addMsg.marketPrice"
class=
"w217"
/>
</el-form-item>
<el-form-item
label=
"限购"
>
<el-input
v-model=
"addMsg.quota"
class=
"w217"
/>
</el-form-item>
<p
class=
"tips"
style=
"padding-left: 130px; font-size: 12px;"
>
0为不限购
</p>
<el-form-item
label=
"商品类型"
prop=
"state"
>
<el-select
filterable
v-model=
"addMsg.type"
>
<el-option
v-for=
"item in GoodsTypeList"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"商品数量"
prop=
"storeNum"
>
<el-input
v-model=
"addMsg.storeNum"
class=
"w217"
/>
</el-form-item>
<el-form-item
label=
"商品状态"
>
<el-select
filterable
v-model=
"addMsg.state"
>
<el-option
label=
"上架"
:value=
"1"
:key=
"1"
></el-option>
<el-option
label=
"下架"
:value=
"0"
:key=
"0"
></el-option>
<el-option
label=
"删除"
:value=
"-1"
:key=
"-1"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"包装说明"
>
<el-input
v-model=
"addMsg.packing"
class=
"w217"
/>
</el-form-item>
<el-form-item
label=
"商品所属活动"
>
<el-select
filterable
v-model=
"addMsg.ishot"
>
<el-option
label=
"无"
:value=
"0"
:key=
"0"
></el-option>
<el-option
v-for=
"item in GoodsSeriesList"
:label=
"item.name"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"配送说明"
>
<el-input
v-model=
"addMsg.logistic"
class=
"w217"
/>
</el-form-item>
</el-form>
</el-col>
<el-col
:span=
"9"
>
<span
class=
"resource-lititle"
>
商品图片
</span>
<div
class=
"resource-list"
>
<div
class=
"resource-imglist clearfix"
>
<div
class=
"re-img"
v-for=
"(item,index) in DiningImageArray"
:key=
"index"
>
<img
v-if=
"!item"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
:src=
"item"
:onerror=
"defaultImg"
>
<div
class=
"imgzhe"
>
<div
class=
"re-delte"
>
<i
@
click
.
stop=
"showImg(item)"
class=
"iconfont icon-img_cz"
></i>
</div>
<div
class=
"re-delte"
@
click=
"delImg(index)"
>
<i
class=
"iconfont icon-xingzhuang"
></i>
</div>
<div
class=
"re-delte"
@
click
.
stop=
"ExchangeImg(index,0)"
v-if=
"index!=0&&item"
>
<i
class=
"iconfont icon-zuoyi"
></i>
</div>
<div
class=
"re-delte"
@
click
.
stop=
"ExchangeImg(index,1)"
v-if=
"index!=DiningImageArray.length-1&&item"
>
<i
class=
"iconfont icon-youyi"
></i>
</div>
</div>
</div>
</div>
<div
class=
"add-img"
v-if=
"DiningImageArray.length
<5
"
>
<div
class=
"reimg-add"
>
<i
class=
"iconfont icon-img_haha bigAdd"
></i>
<div
class=
"ad-one"
>
<div
class=
"re-upload"
>
<el-upload
:http-request=
"UploadImage"
:multiple=
"true"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action
>
<i
class=
"iconfont icon-img_bdsc"
></i>
</el-upload>
</div>
</div>
</div>
</div>
<p
class=
"tips tips2"
>
最多上传5张图片
</p>
<span
class=
"resource-lititle resource-lititle2"
>
商品描述
</span>
<my-edit
v-on:edit-value=
"addMsg.description = arguments[0]"
v-bind:editValue=
"addMsg.description"
v-bind:toolbarShow=
"toolbar"
v-bind:placeholder=
"placeholder"
></my-edit>
<!--
<span
class=
"resource-lititle resource-lititle2"
>
图片介绍
</span>
<div
class=
"resource-imglist clearfix"
>
<div
class=
"re-img re-img2"
v-for=
"(item,index) in DiningImageArray2"
:key=
"index"
>
<img
v-if=
"!item"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
:src=
"item"
:onerror=
"defaultImg"
>
<div
class=
"imgzhe"
>
<div
class=
"re-delte"
>
<i
@
click
.
stop=
"showImg(item)"
class=
"iconfont icon-img_cz"
></i>
</div>
<div
class=
"re-delte"
@
click=
"delImg(index, 2)"
>
<i
class=
"iconfont icon-xingzhuang"
></i>
</div>
<div
class=
"re-delte"
@
click
.
stop=
"ExchangeImg(index,0)"
v-if=
"index!=0&&item"
>
<i
class=
"iconfont icon-zuoyi"
></i>
</div>
<div
class=
"re-delte"
@
click
.
stop=
"ExchangeImg(index,1)"
v-if=
"index!=DiningImageArray2.length-1&&item"
>
<i
class=
"iconfont icon-youyi"
></i>
</div>
</div>
</div>
</div>
<div
class=
"add-img"
v-if=
"DiningImageArray2.length
<5
"
>
<div
class=
"reimg-add"
>
<i
class=
"iconfont icon-img_haha bigAdd"
></i>
<div
class=
"ad-one"
>
<div
class=
"re-upload"
>
<el-upload
:http-request=
"UploadImage2"
:multiple=
"true"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action
>
<i
class=
"iconfont icon-img_bdsc"
></i>
</el-upload>
</div>
</div>
</div>
</div>
-->
</div>
<div
class=
"bottom_sub"
>
<button
class=
"hollowFixedBtn"
@
click=
"goIntegralMall('IntegralMall')"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
@
click=
"submitForm('addMsg')"
>
{{
$t
(
'pub.saveBtn'
)
}}
</button>
</div>
</el-col>
<viewer
:images=
"images"
:options=
"imageOptions"
@
inited=
"inited"
class=
"viewer"
ref=
"viewer"
>
<img
v-for=
"src in images"
:src=
"src"
:key=
"src"
>
</viewer>
</el-row>
</
template
>
<
script
>
import
{
setInterval
,
setTimeout
}
from
"timers"
;
import
MyEdit
from
"../EditTemplate.vue"
;
export
default
{
data
()
{
return
{
toolbar
:
{
clean
:
true
,
font
:
false
,
//字体
narrative
:
false
,
//叙述,
image
:
true
,
bold
:
true
,
//加粗
underline
:
true
,
//下划线
header1
:
true
,
//H1
header2
:
true
,
//H2
fontColor
:
true
,
//字体颜色
fontBackgroundColor
:
true
,
//背景颜色
},
placeholder
:
"请输入内容"
,
editorOption
:
{
modules
:
{
toolbar
:
[
[
"bold"
,
"italic"
,
"underline"
,
"strike"
],
// toggled buttons
[{
header
:
[
1
,
2
,
3
,
4
,
5
,
6
,
false
]
}],
[{
color
:
[]
},
{
background
:
[]
}],
[{
font
:
[]
}],
[{
align
:
[]
}],
[{
size
:
[
"small"
,
false
,
"large"
,
"huge"
]
}],
[{
list
:
"ordered"
},
{
list
:
"bullet"
}]
]
}
},
addMsg
:
{
id
:
0
,
name
:
""
,
type
:
""
,
images
:
""
,
price
:
""
,
priceUnit
:
0
,
marketPrice
:
""
,
isReqRate
:
""
,
description
:
""
,
packing
:
""
,
logistic
:
""
,
state
:
1
,
quota
:
0
,
ishot
:
0
,
descripImg
:
''
,
storeNum
:
''
},
MenberList
:
[],
GoodsTypeList
:
[],
rules
:
{
memberLevel
:
[
{
required
:
true
,
message
:
"请输入会员等级"
,
trigger
:
"blur"
}
],
name
:
[{
required
:
true
,
message
:
"请输入商品名称"
,
trigger
:
"blur"
}],
price
:
[{
required
:
true
,
message
:
"请输入价格"
,
trigger
:
"blur"
}],
marketPrice
:
[
{
required
:
true
,
message
:
"请输入市场价格"
,
trigger
:
"blur"
}
],
state
:
[
{
required
:
true
,
message
:
"请选择商品类型"
,
trigger
:
"change"
}
],
tradeMoneyReq
:
[
{
required
:
true
,
message
:
"交易金额要求"
,
trigger
:
"blur"
}
],
tradePeopleReq
:
[
{
required
:
true
,
message
:
"交易人头数要求"
,
trigger
:
"blur"
}
],
remark
:
[{
required
:
true
,
message
:
"请输入备注"
,
trigger
:
"blur"
}],
storeNum
:[{
required
:
true
,
message
:
"请输入商品数量"
,
trigger
:
"blur"
}]
},
//上传的文件数组
DiningImageArray
:
[],
DiningImageArray2
:
[],
imageOptions
:
{
navbar
:
false
,
title
:
false
},
images
:
[],
defaultImg
:
'this.src="'
+
require
(
"../../assets/img/bg_z1@2x.png"
)
+
'"'
,
apiUrl
:
'addGoodsInfo'
,
GoodsSeriesList
:
[],
};
},
components
:
{
"my-edit"
:
MyEdit
},
methods
:
{
getGoodsSeries
()
{
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/IntegralManager/getGoodsSeries"
,
{},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
GoodsSeriesList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
goIntegralMall
:
function
(
path
)
{
this
.
$router
.
push
({
name
:
path
});
},
//图片左移右移
ExchangeImg
(
index
,
IsMove
)
{
var
imgItem
=
this
.
DiningImageArray
[
index
];
//左移
if
(
IsMove
==
0
)
{
var
upItem
=
this
.
DiningImageArray
[
index
-
1
];
this
.
$set
(
this
.
DiningImageArray
,
index
-
1
,
imgItem
);
this
.
$set
(
this
.
DiningImageArray
,
index
,
upItem
);
}
else
{
//右移动
var
downItem
=
this
.
DiningImageArray
[
index
+
1
];
this
.
$set
(
this
.
DiningImageArray
,
index
+
1
,
imgItem
);
this
.
$set
(
this
.
DiningImageArray
,
index
,
downItem
);
}
},
//上传图片
UploadImage
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
//统一图片处理
var
obj
=
{}
var
str
=
x
.
data
.
FilePath
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
DiningImageArray
.
push
(
imgUrl
);
});
},
UploadImage2
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
//统一图片处理
var
obj
=
{}
var
str
=
x
.
data
.
FilePath
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
DiningImageArray2
.
push
(
imgUrl
);
});
},
//删除图片
delImg
(
index
,
type
)
{
//更新图片
if
(
type
)
{
var
item
=
this
.
DiningImageArray2
[
index
];
this
.
DiningImageArray2
.
splice
(
index
,
1
);
}
else
{
var
item
=
this
.
DiningImageArray
[
index
];
this
.
DiningImageArray
.
splice
(
index
,
1
);
}
},
inited
(
viewer
)
{
this
.
$viewer
=
viewer
;
},
showImg
:
function
(
src
)
{
let
srcArr
=
src
.
split
(
"?"
);
src
=
srcArr
[
0
];
let
isExsit
=
false
;
this
.
images
.
forEach
(
x
=>
{
if
(
x
===
src
)
isExsit
=
true
;
});
if
(
!
isExsit
)
{
this
.
images
.
push
(
src
);
}
else
{
this
.
$viewer
.
view
(
this
.
images
.
indexOf
(
src
));
}
this
.
$viewer
.
show
();
},
getGoodsTypeManager
:
function
()
{
this
.
apiJavaPost
(
"/api/IntegralManager/goodsTypeManager"
,
{
reqType
:
"find"
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
GoodsTypeList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
getMenberList
:
function
()
{
let
msg
=
{
state
:
1
,
name
:
""
};
this
.
apiJavaPost
(
"/api/member/getmemberrate"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
MenberList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
this
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
addIntegralMall
();
}
else
{
return
false
;
}
});
},
addIntegralMall
:
function
()
{
let
imgStr
=
''
,
imgStr2
=
''
;
for
(
let
i
=
0
;
i
<
this
.
DiningImageArray
.
length
;
i
++
)
{
imgStr
+=
`
${
this
.
DiningImageArray
[
i
]}
,`
}
for
(
let
i
=
0
;
i
<
this
.
DiningImageArray2
.
length
;
i
++
)
{
imgStr2
+=
`
${
this
.
DiningImageArray2
[
i
]}
,`
}
this
.
addMsg
.
images
=
imgStr
.
substring
(
0
,
imgStr
.
length
-
1
)
this
.
addMsg
.
descripImg
=
imgStr2
.
substring
(
0
,
imgStr2
.
length
-
1
)
this
.
apiJavaPost
(
"/api/IntegralManager/"
+
this
.
apiUrl
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
setTimeout
(()
=>
{
this
.
goIntegralMall
(
"IntegralMall"
);
},
1000
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}
},
mounted
()
{
let
obj
=
localStorage
.
editIntegralMall
?
JSON
.
parse
(
localStorage
.
editIntegralMall
)
:
false
if
(
obj
)
{
this
.
addMsg
=
obj
this
.
apiUrl
=
'updateGoodsInfo'
if
(
obj
.
images
)
{
this
.
DiningImageArray
=
obj
.
images
.
split
(
','
)
this
.
DiningImageArray2
=
obj
.
descripImg
.
split
(
','
)
}
}
this
.
getMenberList
();
this
.
getGoodsTypeManager
();
this
.
getGoodsSeries
();
}
};
</
script
>
src/components/activity/BuyingList.vue
0 → 100644
View file @
d62bc61f
<
style
>
.height_auto.el-select
.el-input
{
height
:
auto
}
</
style
>
<
template
>
<div
class=
"flexOne"
>
<div
class=
"query-box"
>
<ul
class=
"user_time_picker"
>
<li>
<span>
<em>
{{
$t
(
'MarketingActi.commName'
)
}}
</em>
<el-input
v-model=
"msg.name"
@
keyup
.
enter
.
native=
"getList"
></el-input>
</span>
</li>
<li>
<span>
<em>
商品类型
</em>
<el-select
filterable
v-model=
"msg.SellType"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
key=
"0"
></el-option>
<el-option
v-for=
"item in CommodityTypeList"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
商品分类
</em>
<el-select
filterable
v-model=
"msg.CategoryId"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"-1"
></el-option>
<el-option
v-for=
"item in GoodsTypeList"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'admin.admin_status'
)
}}
</em>
<el-select
filterable
v-model=
"msg.Status"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"-1"
></el-option>
<el-option
label=
"展示"
:value=
"0"
></el-option>
<el-option
label=
"不展示"
:value=
"1"
></el-option>
</el-select>
</span>
</li>
<li>
<input
type=
"button"
@
click=
"getList"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
>
<input
type=
"button"
@
click=
"addIntegralMall('addIntegralMall', '', $t('MarketingActi.addComm'))"
class=
"normalBtn"
:value=
"$t('pub.addBtn')"
>
</li>
</ul>
</div>
<div
class=
"clearfix"
></div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th
width=
'80'
>
{{
$t
(
'MarketingActi.commNum'
)
}}
</th>
<th>
{{
$t
(
'MarketingActi.commName'
)
}}
</th>
<th>
分类名称
</th>
<th>
类型名称
</th>
<th>
成本价
</th>
<th>
销售价
</th>
<th>
领队返佣
</th>
<th>
公司返佣
</th>
<th>
同行返佣
</th>
<th>
微途返佣
</th>
<th>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
<tr
v-for=
"item in dataList"
>
<td>
{{
item
.
Id
}}
</td>
<td>
{{
item
.
Name
}}
</td>
<td>
{{
item
.
CategoryName
}}
</td>
<td>
{{
item
.
SellTypeName
}}
</td>
<td>
{{
item
.
price
}}{{
item
.
priceUnit
===
1
?
'人民币'
:
'积分'
}}
</td>
<td>
{{
item
.
marketPrice
}}
</td>
<td>
{{
item
.
quota
===
0
?
'不限购'
:
`限购${item.quota
}
次`
}}
<
/td
>
<
td
>
{{
item
.
logistic
}}
<
/td
>
<
td
>
{{
getHotName
(
item
.
ishot
)
}}
<
/td
>
<
td
>
{{
item
.
state
===
1
?
'上架'
:
item
.
state
===
0
?
'下架'
:
'删除'
}}
<
/td
>
<
td
>
<
el
-
tooltip
class
=
"item"
effect
=
"dark"
:
content
=
"$t('active.ld_editInfo')"
placement
=
"top"
>
<
el
-
button
type
=
"primary"
icon
=
"el-icon-edit"
circle
@
click
=
"addIntegralMall('addIntegralMall', item, '修改商品')"
><
/el-button
>
<
/el-tooltip
>
<
/td
>
<
/tr
>
<
/table
>
<
el
-
pagination
background
@
current
-
change
=
"handleCurrentChange"
layout
=
"total,prev, pager, next, jumper"
:
page
-
size
=
msg
.
pageSize
:
total
=
total
>
<
/el-pagination
>
<
div
class
=
"noDataNotice"
v
-
if
=
"dataList.length<1"
>
<
i
class
=
"iconfont icon-kong"
><
/i
>
<
p
>
{{
$t
(
"active.ld_noData"
)
}}
<
/p
>
<
/div
>
<
/div
>
<
/template
>
<
script
>
export
default
{
data
()
{
return
{
//请求
msg
:
{
pageSize
:
15
,
pageIndex
:
1
,
SellType
:
0
,
Name
:
''
,
CategoryId
:
-
1
,
Status
:
-
1
}
,
loading
:
false
,
dataList
:[],
GoodsTypeList
:
[],
GoodsSeriesList
:
[],
total
:
0
,
CommodityTypeList
:
[],
}
;
}
,
mounted
()
{
this
.
getList
();
this
.
getGoodsSeries
();
this
.
getCommodityTypeList
();
this
.
getGoodsTypeManager
();
}
,
filters
:
{
}
,
methods
:
{
handleCurrentChange
(
val
){
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
}
,
getHotName
:
function
(
id
)
{
for
(
let
i
=
0
;
i
<
this
.
GoodsSeriesList
.
length
;
i
++
)
{
if
(
this
.
GoodsSeriesList
[
i
].
id
===
id
)
{
return
this
.
GoodsSeriesList
[
i
].
name
}
}
return
'无'
}
,
getGoodsSeries
()
{
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/IntegralManager/getGoodsSeries"
,
{
}
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
GoodsSeriesList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}
,
null
);
}
,
addIntegralMall
:
function
(
path
,
obj
,
tab
){
localStorage
.
editIntegralMall
=
JSON
.
stringify
(
obj
);
this
.
$router
.
push
({
name
:
path
,
query
:{
blank
:
'y'
,
tab
:
tab
}
}
)
}
,
getGoodsTypeManager
()
{
this
.
apipost
(
"Shop_post_GetCommodityCategoryList"
,{
Name
:
""
,
ParentId
:
0
}
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
GoodsTypeList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}
,
null
);
}
,
getCommodityTypeList
()
{
this
.
apipost
(
"Shop_post_GetCommodityTypeList"
,
{
}
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
CommodityTypeList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}
,
null
);
}
,
//获取数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"Shop_post_GetPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
}
,
null
);
}
,
}
}
;
<
/script>
\ No newline at end of file
src/components/activity/BuyingType.vue
0 → 100644
View file @
d62bc61f
<
style
>
.height_auto.el-select
.el-input
{
height
:
auto
;
}
.BuyingType
._addUpload_box
{
display
:
block
;
margin
:
10px
0
0
;
}
.BuyingType
._addUpload_box
img
{
width
:
110px
;
display
:
block
;
margin-right
:
25px
;
}
.BuyingType
._addUpload_box
>
div
.el-upload
{
float
:
left
;
width
:
138px
;
height
:
92px
;
border
:
1px
dashed
rgba
(
210
,
210
,
210
,
1
);
border-radius
:
2px
;
cursor
:
pointer
;
margin-bottom
:
10px
;
padding
:
5px
;
margin-right
:
10px
;
position
:
relative
;
}
.BuyingType
._addUpload_box
.icon-guanbi1
{
font-size
:
12px
;
color
:
white
;
display
:
inline-block
;
margin-left
:
15px
;
position
:
absolute
;
left
:
9px
;
top
:
-5px
;
background-color
:
#f56c6c
;
border-radius
:
50%
;
height
:
15px
;
width
:
15px
;
text-align
:
center
;
line-height
:
15px
;
}
.BuyingType
._addUpload_box
>
div
:hover
{
background-color
:
#f5f5f5
;
}
.BuyingType
.el-upload-dragger
{
font-size
:
28px
;
color
:
#8c939d
;
width
:
126px
;
height
:
80px
;
line-height
:
41px
;
text-align
:
center
;
}
.BuyingType
.bg_color_delete
{
background-color
:
#ee4454
;
border-color
:
#ee4454
;
}
.comType_Img
{
max-height
:
50px
;
}
</
style
>
<
template
>
<div
class=
"flexOne BuyingType"
>
<div
class=
"query-box"
>
<ul
class
>
<li>
<span>
<em>
分类名称
</em>
<el-input
v-model=
"msg.Name"
@
keyup
.
enter
.
native=
"getList"
></el-input>
</span>
</li>
<li>
<span>
<em>
分类
</em>
<el-select
filterable
v-model=
"msg.ParentId"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"-1"
:key=
"-1"
></el-option>
<el-option
v-for=
"item in GoodsTypeList"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<input
type=
"button"
@
click=
"getList"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
>
<input
type=
"button"
@
click=
"outerVisible = true,dialogTitle=$t('MarketingActi.addCommType'), addMsg.reqType = 'add',resetInfo()"
class=
"normalBtn"
:value=
"$t('pub.addBtn')"
>
</li>
</ul>
</div>
<div
class=
"clearfix"
></div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th
width=
"120px"
>
{{
$t
(
'MarketingActi.typeNum'
)
}}
</th>
<th>
分类名称
</th>
<th>
图片
</th>
<th>
上级名称
</th>
<th>
是否首页展示
</th>
<th>
操作人
</th>
<th>
操作时间
</th>
<th>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
<tr
v-for=
"item in dataList"
>
<td>
{{
item
.
Id
}}
</td>
<td>
{{
item
.
Name
}}
</td>
<td>
<img
:src=
"item.Image"
class=
"comType_Img"
/>
</td>
<td>
{{
item
.
ParentName
}}
</td>
<td>
{{
item
.
IsShowIndex
===
1
?
"是"
:
"否"
}}
</td>
<td>
{{
item
.
UpdateBy
}}
</td>
<td>
{{
item
.
UpdateDate
}}
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('active.ld_editInfo')"
placement=
"top"
>
<el-button
type=
"primary"
icon=
"el-icon-edit"
circle
@
click=
"outerVisible=true,dialogTitle='修改商品类型',updateData(item)"
></el-button>
</el-tooltip>
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
<div
class=
"noDataNotice"
v-if=
"dataList.length
<1
"
>
<i
class=
"iconfont icon-kong"
></i>
<p>
{{
$t
(
"active.ld_noData"
)
}}
</p>
</div>
<el-dialog
custom-class=
"w400"
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
:before-close=
"closeChangeMachie"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"130px"
>
<el-form-item
:label=
"$t('MarketingActi.commTypename')"
prop=
"Name"
>
<el-input
v-model=
"addMsg.Name"
class=
"w217"
/>
</el-form-item>
<el-form-item
label=
"所属上级"
prop=
"state"
>
<el-select
filterable
v-model=
"addMsg.ParentId"
prop=
"ParentId"
@
change=
"changeParentId"
>
<el-option
label=
"一级"
:value=
"0"
></el-option>
<el-option
v-for=
"item in GoodsTypeList"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"排序"
prop=
"name"
>
<el-input
v-model=
"addMsg.Sort"
class=
"w217"
/>
</el-form-item>
<el-form-item
label=
"首页显示"
prop=
"state"
v-if=
"addMsg.ParentId == 0"
>
<el-select
filterable
v-model=
"addMsg.IsShowIndex"
>
<el-option
:label=
"$t('system.table_isShows')"
:value=
"1"
></el-option>
<el-option
:label=
"$t('MarketingActi.notShow')"
:value=
"2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('MarketingActi.commTypeImg')"
v-if=
"addMsg.ParentId == 0"
>
<div
class=
"_addUpload_box"
>
<div
class=
"_pic_upload"
>
<template
v-if=
"addMsg.Image!==''"
>
<div>
<div
style=
"width:100%;height:100%;overflow: hidden;display: flex;align-items: center;"
>
<img
:src=
"addMsg.Image"
>
<span
style=
"font-size:12px; color:#666666;cursor: pointer;line-height: 20px;"
@
click=
"addMsg.Image=''"
>
{{
$t
(
'system.up_againUp'
)
}}
</span>
</div>
</div>
</
template
>
<el-upload
v-else
drag
:http-request=
"uploadTypeImgBtn"
:multiple=
"false"
:show-file-list=
"false"
action
>
<i
class=
"el-icon-plus avatar-uploader-icon"
></i>
<div
class=
"el-upload__text"
>
{{$t("active.ld_djscwj")}}
</div>
</el-upload>
</div>
</div>
</el-form-item>
<el-form-item
label=
"是否展示"
prop=
"state"
>
<el-select
filterable
v-model=
"addMsg.Status"
>
<el-option
label=
"展示"
:value=
"0"
></el-option>
<el-option
label=
"不展示"
:value=
"1"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false, resetForm('addMsg')"
>
{{$t('pub.cancelBtn')}}
</button>
<button
class=
"normalBtn"
@
click=
"submitForm('addMsg')"
>
{{$t('pub.saveBtn')}}
</button>
</div>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
//请求
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
Name
:
""
,
ParentId
:
-
1
},
addMsg
:
{
Name
:
""
,
ParentId
:
''
,
Sort
:
0
,
Image
:
""
,
IsShowIndex
:
1
,
Id
:
0
,
Status
:
0
,
},
GoodsTypeList
:
[],
rules
:
{
Name
:
[
{
required
:
true
,
message
:
"请输入会员等级"
,
trigger
:
"blur"
}
],
Image
:
[
{
required
:
true
,
message
:
"请上传图片"
,
trigger
:
"blur"
}
],
ParentId
:
[
{
required
:
true
,
message
:
"请上传图片"
,
trigger
:
"change"
}
]
},
loading
:
false
,
outerVisible
:
false
,
dialogTitle
:
""
,
dataList
:
[],
total
:
0
,
};
},
mounted
()
{
this
.
getList
();
this
.
getGoodsTypeManager
()
},
filters
:
{},
methods
:
{
changeParentId
(){
if
(
this
.
addMsg
.
ParentId
!==
0
)
{
this
.
addMsg
.
Image
=
""
this
.
addMsg
.
IsShowIndex
=
2
}
},
handleCurrentChange
(
val
){
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
// 删除
Delete
(
item
)
{
this
.
$confirm
(
"是否删除"
+
item
.
name
+
"? 删除后不可恢复"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
this
.
apiJavaPost
(
"/api/IntegralManager/goodsTypeManager"
,
{
reqType
:
'delete'
,
id
:
item
.
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
})
.
catch
(()
=>
{});
},
//上传图片
uploadTypeImgBtn
(
file
){
//上传
if
(
file
.
file
.
size
>
1024
*
1024
*
10
)
{
this
.
$message
.
warning
(
this
.
$t
(
"tips.wjdxbncgsz"
));
return
;
}
// 1 文档 2 数据 3 图片
let
typeArr
=
[{
stringArr
:
"GIF|JPG|JPEG|PNG|BMP"
,
type
:
3
}];
let
ft
=
file
.
file
.
name
.
substring
(
file
.
file
.
name
.
lastIndexOf
(
"."
)
+
1
,
file
.
file
.
name
.
length
)
.
toUpperCase
();
let
fileTypeNumber
=
2
;
let
typeOk
=
false
;
typeArr
.
forEach
(
x
=>
{
if
(
x
.
stringArr
.
indexOf
(
ft
)
!=
"-1"
)
{
fileTypeNumber
=
x
.
type
;
typeOk
=
true
;
}
});
if
(
!
typeOk
)
return
this
.
Error
(
this
.
$t
(
"tips.qsctpian"
));
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
path
=
"/Upload/Temporary/"
;
this
.
Success
(
this
.
$t
(
"tips.shangchuanzhong"
));
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
this
.
addMsg
.
Image
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
Success
(
this
.
$t
(
"tips.scchenggong"
));
this
.
$forceUpdate
();
});
},
getGoodsTypeManager
()
{
this
.
apipost
(
"Shop_post_GetCommodityCategoryList"
,{
Name
:
""
,
ParentId
:
0
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
console
.
log
(
res
.
data
.
data
)
this
.
GoodsTypeList
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//获取数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"Shop_post_GetCommodityCategoryPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//提交
submitForm
(
addMsg
)
{
//提交创建、修改表单
this
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
addAward
();
}
else
{
return
false
;
}
});
},
//提交添加
addAward
()
{
this
.
apipost
(
"Shop_post_SetCommodityCategoryInfo"
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
outerVisible
=
false
;
this
.
getList
();
this
.
getGoodsTypeManager
()
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//修改信息
updateData
(
item
)
{
this
.
outerVisible
=
true
;
this
.
addMsg
.
IsShowIndex
=
item
.
IsShowIndex
;
this
.
addMsg
.
Name
=
item
.
Name
;
this
.
addMsg
.
ParentId
=
item
.
ParentId
;
this
.
addMsg
.
Sort
=
item
.
Sort
;
this
.
addMsg
.
Image
=
item
.
Image
;
this
.
addMsg
.
Id
=
item
.
Id
;
this
.
addMsg
.
Status
=
item
.
Status
},
//重置信息
resetInfo
()
{
var
newMsg
=
{
Name
:
""
,
ParentId
:
''
,
Sort
:
0
,
Image
:
""
,
IsShowIndex
:
1
,
Id
:
0
,
Status
:
0
};
this
.
addMsg
=
newMsg
;
},
closeChangeMachie
(
done
)
{
//弹出框关闭初始化弹框内表单
done
();
this
.
resetForm
(
"addMsg"
);
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
}
}
};
</
script
>
\ No newline at end of file
src/router/config.js
View file @
d62bc61f
...
@@ -3950,7 +3950,22 @@ export default {
...
@@ -3950,7 +3950,22 @@ export default {
title
:
'商品类型'
title
:
'商品类型'
}
}
},
},
{
path
:
'/BuyingType'
,
name
:
'BuyingType'
,
component
:
resolve
=>
require
([
'@/components/activity/BuyingType'
],
resolve
),
meta
:
{
title
:
'代购商品类型'
}
},
{
path
:
'/BuyingList'
,
name
:
'BuyingList'
,
component
:
resolve
=>
require
([
'@/components/activity/BuyingList'
],
resolve
),
meta
:
{
title
:
'代购商品列表'
}
},
{
{
path
:
'/IntegralMall'
,
path
:
'/IntegralMall'
,
name
:
'IntegralMall'
,
name
:
'IntegralMall'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment