Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-shop
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-shop
Commits
51b5c2e1
提交
51b5c2e1
authored
6月 01, 2021
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
d7f11e78
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
163 行增加
和
67 行删除
+163
-67
order.js
src/api/order.js
+7
-0
tableList.vue
src/components/base/tableList.vue
+31
-26
message.vue
src/components/goods/message.vue
+1
-1
edit.vue
src/pages/goods/goods/edit.vue
+34
-1
index.vue
src/pages/goods/goods/index.vue
+26
-3
index.vue
src/pages/order/index.vue
+51
-27
contact.vue
src/pages/setting/contact.vue
+5
-5
index.js
src/store/index.js
+8
-4
没有找到文件。
src/api/order.js
浏览文件 @
51b5c2e1
import
httpRequest
from
'@/utils/axios'
import
httpRequest
from
'@/utils/axios'
/**
* 获取订单搜索列表
*/
export
function
getOrderSearchList
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/order/range/search'
,
data
)
}
/**
/**
* 获取订单列表
* 获取订单列表
*/
*/
...
...
src/components/base/tableList.vue
浏览文件 @
51b5c2e1
...
@@ -6,24 +6,29 @@
...
@@ -6,24 +6,29 @@
<el-form
:inline=
"true"
:model=
"params"
ref=
"filterForm"
>
<el-form
:inline=
"true"
:model=
"params"
ref=
"filterForm"
>
<template
v-for=
"item in filters"
>
<template
v-for=
"item in filters"
>
<el-form-item
:prop=
"item.prop"
:key=
"item.prop"
>
<el-form-item
:prop=
"item.prop"
:key=
"item.prop"
>
<!-- input -->
<template
v-if=
"item.slots"
>
<el-input
v-model=
"params[item.prop]"
v-bind=
"item"
clearable
v-if=
"item.type === 'input'"
/>
<slot
:name=
"item.slots"
v-bind=
"
{ params }">
</slot>
<!-- select -->
</
template
>
<el-select
<
template
v-else
>
v-model=
"params[item.prop]"
<!-- input -->
clearable
<el-input
v-model=
"params[item.prop]"
v-bind=
"item"
clearable
v-if=
"item.type === 'input'"
/>
v-bind=
"item"
<!-- select -->
v-if=
"item.type === 'select'"
<el-select
@
change=
"search"
v-model=
"params[item.prop]"
>
clearable
<template
v-for=
"option in item.options"
>
v-bind=
"item"
<el-option
v-if=
"item.type === 'select'"
:label=
"option[item.labelKey] || option.label"
@
change=
"search"
:value=
"option[item.valueKey] || option.value"
>
:key=
"option.value"
<template
v-for=
"(option, index) in item.options"
>
></el-option>
<el-option
</
template
>
:label=
"option[item.labelKey] || option.label"
</el-select>
:value=
"option[item.valueKey] || option.value"
:key=
"index"
></el-option>
</
template
>
</el-select>
</template>
</el-form-item>
</el-form-item>
</template>
</template>
<el-form-item>
<el-form-item>
...
@@ -108,7 +113,7 @@ export default {
...
@@ -108,7 +113,7 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
fetchList
()
{
fetchList
(
isReset
)
{
/**
/**
* @param function httpRequest api接口
* @param function httpRequest api接口
* @param function beforeRequest 接口请求之前
* @param function beforeRequest 接口请求之前
...
@@ -127,13 +132,13 @@ export default {
...
@@ -127,13 +132,13 @@ export default {
}
}
// 接口请求之前
// 接口请求之前
if
(
beforeRequest
)
{
if
(
beforeRequest
)
{
params
=
beforeRequest
(
params
)
params
=
beforeRequest
(
params
,
isReset
)
}
for
(
const
key
in
params
)
{
if
(
params
[
key
]
===
''
||
params
[
key
]
===
undefined
||
params
[
key
]
===
undefined
)
{
delete
params
[
key
]
}
}
}
// for (const key in params) {
// if (params[key] === '' || params[key] === undefined || params[key] === undefined) {
// delete params[key]
// }
// }
this
.
loading
=
true
this
.
loading
=
true
httpRequest
(
params
)
httpRequest
(
params
)
.
then
(
res
=>
{
.
then
(
res
=>
{
...
@@ -161,7 +166,7 @@ export default {
...
@@ -161,7 +166,7 @@ export default {
// 初始化页码
// 初始化页码
this
.
page
.
currentPage
=
1
this
.
page
.
currentPage
=
1
// 刷新列表
// 刷新列表
this
.
fetchList
()
this
.
fetchList
(
true
)
},
},
// 刷新
// 刷新
refetch
(
isForce
)
{
refetch
(
isForce
)
{
...
...
src/components/goods/message.vue
浏览文件 @
51b5c2e1
<
template
>
<
template
>
<div
class=
"goods-message"
>
<div
class=
"goods-message"
>
<message-item
v-for=
"(item, index) in list"
:data=
"item"
:key=
"index"
@
remove=
"handleRemove(index)"
></message-item>
<message-item
v-for=
"(item, index) in list"
:data=
"item"
:key=
"index"
@
remove=
"handleRemove(index)"
></message-item>
<el-button
type=
"text"
@
click=
"handleAdd"
>
<el-button
type=
"text"
@
click=
"handleAdd"
v-if=
"list.length
<
10
"
>
<i
class=
"el-icon-circle-plus-outline"
></i>
添加字段
<i
class=
"el-icon-circle-plus-outline"
></i>
添加字段
</el-button>
</el-button>
</div>
</div>
...
...
src/pages/goods/goods/edit.vue
浏览文件 @
51b5c2e1
...
@@ -73,6 +73,7 @@
...
@@ -73,6 +73,7 @@
<app-card
title=
"其他信息"
>
<app-card
title=
"其他信息"
>
<el-form-item
label=
"留言"
prop=
"messageList"
>
<el-form-item
label=
"留言"
prop=
"messageList"
>
<message
v-model=
"ruleForm.messageList"
></message>
<message
v-model=
"ruleForm.messageList"
></message>
<div
class=
"form-tips"
>
购买商品时让买家输入留言,最多可设置 10 条留言
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"开售方式"
prop=
"sales_type"
>
<el-form-item
label=
"开售方式"
prop=
"sales_type"
>
<el-radio-group
v-model=
"ruleForm.sales_type"
>
<el-radio-group
v-model=
"ruleForm.sales_type"
>
...
@@ -98,8 +99,12 @@
...
@@ -98,8 +99,12 @@
v-if=
"buyButtonTextRadio === '2'"
v-if=
"buyButtonTextRadio === '2'"
size=
"mini"
size=
"mini"
class=
"buy-button-input"
class=
"buy-button-input"
maxlength=
"10"
/>
/>
</el-radio-group>
</el-radio-group>
<div
class=
"form-tips"
>
默认名称为立即购买,可自定义名称,中文最大6个字内,英文10个字内,如:马上抢购,设置仅对当前商品有效。
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"售后服务"
prop=
"after_sales_mode"
>
<el-form-item
label=
"售后服务"
prop=
"after_sales_mode"
>
<el-radio-group
v-model=
"ruleForm.after_sales_mode"
>
<el-radio-group
v-model=
"ruleForm.after_sales_mode"
>
...
@@ -145,6 +150,29 @@ export default {
...
@@ -145,6 +150,29 @@ export default {
components
:
{
AppCard
,
AppUpload
,
AppUploadVideo
,
Sku
,
SkuView
,
Message
,
Editor
},
components
:
{
AppCard
,
AppUpload
,
AppUploadVideo
,
Sku
,
SkuView
,
Message
,
Editor
},
props
:
{
isEdit
:
{
type
:
Boolean
,
default
:
false
}
},
props
:
{
isEdit
:
{
type
:
Boolean
,
default
:
false
}
},
data
()
{
data
()
{
// 中文
function
regChinese
(
value
)
{
return
/^
[\u
4e00-
\u
9fa5
]
+$/
.
test
(
String
(
value
))
}
// 英文
function
regEnglish
(
value
)
{
return
/^
[
a-z
\s]
*$/i
.
test
(
String
(
value
))
}
function
chineseEnglishValid
(
rule
,
value
,
callback
)
{
if
(
regChinese
(
value
)
||
regEnglish
(
value
))
{
callback
()
}
else
{
callback
(
new
Error
(
'仅支持中文或英文'
))
}
}
function
goodsBuyBtnValid
(
rule
,
value
,
callback
)
{
const
length
=
value
.
length
if
(
!
((
regChinese
(
value
)
&&
length
>
6
)
||
(
regEnglish
(
value
)
&&
length
>
10
)))
{
callback
()
}
else
{
callback
(
new
Error
(
'最多可输入6个中文字或10个英文字'
))
}
}
return
{
return
{
loading
:
false
,
// 加载中
loading
:
false
,
// 加载中
stepActive
:
1
,
stepActive
:
1
,
...
@@ -172,7 +200,11 @@ export default {
...
@@ -172,7 +200,11 @@ export default {
buyButtonTextRadio
:
'1'
,
buyButtonTextRadio
:
'1'
,
rules
:
{
rules
:
{
spu_name
:
[{
required
:
true
,
message
:
'商品名称不可为空'
,
trigger
:
'blur'
}],
spu_name
:
[{
required
:
true
,
message
:
'商品名称不可为空'
,
trigger
:
'blur'
}],
chart_oss
:
[{
required
:
true
,
message
:
'最少需要添加一张商品图'
,
trigger
:
'blur'
}]
chart_oss
:
[{
required
:
true
,
message
:
'最少需要添加一张商品图'
,
trigger
:
'blur'
}],
buy_button_text
:
[
{
validator
:
chineseEnglishValid
,
trigger
:
'blur'
},
{
validator
:
goodsBuyBtnValid
,
trigger
:
'blur'
}
]
}
}
}
}
},
},
...
@@ -304,6 +336,7 @@ export default {
...
@@ -304,6 +336,7 @@ export default {
},
},
// 确定修改商品
// 确定修改商品
handleEdit
(
params
,
callback
)
{
handleEdit
(
params
,
callback
)
{
params
.
spu_id
=
this
.
pid
updateGoods
(
params
).
then
(
response
=>
{
updateGoods
(
params
).
then
(
response
=>
{
// 成功回调
// 成功回调
callback
?
callback
(
response
)
:
this
.
handleSuccess
(
response
)
callback
?
callback
(
response
)
:
this
.
handleSuccess
(
response
)
...
...
src/pages/goods/goods/index.vue
浏览文件 @
51b5c2e1
...
@@ -9,6 +9,17 @@
...
@@ -9,6 +9,17 @@
<el-button
type=
"primary"
>
发布商品
</el-button>
<el-button
type=
"primary"
>
发布商品
</el-button>
</router-link>
</router-link>
</
template
>
</
template
>
<
template
v-slot:filter-price=
"{ params }"
>
<div
class=
"filter-price"
>
<el-input
v-model=
"params.price_min"
placeholder=
"价格"
clearable
>
<template
slot=
"append"
>
元
</
template
>
</el-input>
-
<el-input
v-model=
"params.price_max"
placeholder=
"价格"
clearable
>
<
template
slot=
"append"
>
元
</
template
>
</el-input>
</div>
</template>
<
template
v-slot:table-goods=
"{ row }"
>
<
template
v-slot:table-goods=
"{ row }"
>
<div
class=
"table-goods"
>
<div
class=
"table-goods"
>
<el-image
:src=
"imageUrl(row.chart_oss)"
fit=
"cover"
class=
"table-goods-pic"
>
<el-image
:src=
"imageUrl(row.chart_oss)"
fit=
"cover"
class=
"table-goods-pic"
>
...
@@ -69,7 +80,7 @@ export default {
...
@@ -69,7 +80,7 @@ export default {
return
{
return
{
remote
:
{
remote
:
{
httpRequest
:
getGoodsList
,
httpRequest
:
getGoodsList
,
params
:
{
shop_id
:
this
.
shopId
,
spu_id
:
''
,
spu_name
:
''
,
group_id
:
''
},
params
:
{
shop_id
:
this
.
shopId
,
spu_id
:
''
,
spu_name
:
''
,
group_id
:
''
,
price_min
:
''
,
price_max
:
''
},
beforeRequest
:
this
.
beforeRequest
beforeRequest
:
this
.
beforeRequest
},
},
filters
:
[
filters
:
[
...
@@ -85,7 +96,8 @@ export default {
...
@@ -85,7 +96,8 @@ export default {
labelKey
:
'group_name'
,
labelKey
:
'group_name'
,
valueKey
:
'group_id'
,
valueKey
:
'group_id'
,
placeholder
:
'商品分组'
placeholder
:
'商品分组'
}
},
{
prop
:
'price_zone'
,
slots
:
'filter-price'
}
],
],
columns
:
[
columns
:
[
{
type
:
'selection'
},
{
type
:
'selection'
},
...
@@ -119,8 +131,14 @@ export default {
...
@@ -119,8 +131,14 @@ export default {
return
''
return
''
}
}
},
},
beforeRequest
(
params
)
{
beforeRequest
(
params
,
isReset
)
{
// 重置
if
(
isReset
)
{
params
.
price_min
=
''
params
.
price_max
=
''
}
params
.
status
=
this
.
activeName
===
'0'
?
''
:
this
.
activeName
params
.
status
=
this
.
activeName
===
'0'
?
''
:
this
.
activeName
params
.
price_zone
=
`
${
params
.
price_min
||
''
}
,
${
params
.
price_max
||
''
}
`
return
params
return
params
},
},
handleClick
()
{
handleClick
()
{
...
@@ -171,6 +189,11 @@ export default {
...
@@ -171,6 +189,11 @@ export default {
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.filter-price
{
.el-input
{
width
:
140px
;
}
}
.table-goods
{
.table-goods
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
...
src/pages/order/index.vue
浏览文件 @
51b5c2e1
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<!--列表-->
<!--列表-->
<table-list
v-bind=
"tableOptions"
ref=
"list"
>
<table-list
v-bind=
"tableOptions"
ref=
"list"
>
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"handleClick"
>
<el-tabs
v-model=
"activeName"
type=
"card"
@
tab-click=
"handleClick"
>
<el-tab-pane
:label=
"item.label"
:name=
"item.
name"
v-for=
"item in tabList"
:key=
"item.nam
e"
></el-tab-pane>
<el-tab-pane
:label=
"item.label"
:name=
"item.
value"
v-for=
"item in orderStatus"
:key=
"item.valu
e"
></el-tab-pane>
</el-tabs>
</el-tabs>
<template
#
header-aside
>
<template
#
header-aside
>
<router-link
to=
"/order/add"
>
<router-link
to=
"/order/add"
>
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
</
template
>
</
template
>
<
template
v-slot:table-price=
"{ row }"
>
<
template
v-slot:table-price=
"{ row }"
>
<p>
{{
row
.
product_price
}}
</p>
<p>
{{
row
.
product_price
}}
</p>
<p>
1
件
</p>
<p>
{{
row
.
buy_count
}}
件
</p>
</
template
>
</
template
>
<
template
v-slot:table-x=
"{ row }"
>
<
template
v-slot:table-x=
"{ row }"
>
<el-button
type=
"text"
@
click=
"handleView(row)"
>
查看
</el-button>
<el-button
type=
"text"
@
click=
"handleView(row)"
>
查看
</el-button>
...
@@ -36,21 +36,21 @@
...
@@ -36,21 +36,21 @@
import
TableList
from
'@/components/base/tableList'
import
TableList
from
'@/components/base/tableList'
import
AppCard
from
'@/components/base/card'
import
AppCard
from
'@/components/base/card'
// 接口
// 接口
import
{
getOrderList
}
from
'@/api/order'
import
{
getOrder
Search
List
}
from
'@/api/order'
export
default
{
export
default
{
components
:
{
AppCard
,
TableList
},
components
:
{
AppCard
,
TableList
},
data
()
{
data
()
{
return
{
return
{
activeName
:
'0'
,
activeName
:
'0'
,
tabList
:
[
orderStatus
:
[
{
label
:
'全部'
,
name
:
'0
'
},
{
label
:
'全部'
,
value
:
'
'
},
{
label
:
'待付款'
,
nam
e
:
'1'
},
{
label
:
'待付款'
,
valu
e
:
'1'
},
{
label
:
'待发货'
,
nam
e
:
'2'
},
{
label
:
'待发货'
,
valu
e
:
'2'
},
{
label
:
'已发货'
,
nam
e
:
'3'
},
{
label
:
'已发货'
,
valu
e
:
'3'
},
{
label
:
'已完成'
,
nam
e
:
'4'
},
{
label
:
'已完成'
,
valu
e
:
'4'
},
{
label
:
'已关闭'
,
nam
e
:
'5'
},
{
label
:
'已关闭'
,
valu
e
:
'5'
},
{
label
:
'售后中'
,
nam
e
:
'6'
}
{
label
:
'售后中'
,
valu
e
:
'6'
}
]
]
}
}
},
},
...
@@ -59,29 +59,53 @@ export default {
...
@@ -59,29 +59,53 @@ export default {
tableOptions
()
{
tableOptions
()
{
return
{
return
{
remote
:
{
remote
:
{
httpRequest
:
getOrderList
,
httpRequest
:
getOrderSearchList
,
params
:
{
shop_id
:
this
.
$store
.
state
.
shopId
,
spu_id
:
''
,
order_status
:
''
},
params
:
{
shop_id
:
this
.
$store
.
state
.
shopId
,
search_field
:
''
,
search_value
:
''
,
order_status
:
''
,
payment_method
:
''
},
beforeRequest
:
this
.
beforeRequest
beforeRequest
:
this
.
beforeRequest
},
},
filters
:
[
filters
:
[
{
{
type
:
'input'
,
type
:
'select'
,
prop
:
'spu_id'
,
prop
:
'search_field'
,
placeholder
:
'请输入商品编号'
options
:
[
{
label
:
'商品名称'
,
value
:
'spu_name'
},
{
label
:
'订单编号'
,
value
:
'order_id'
},
{
label
:
'收货人姓名'
,
value
:
'shipping_user'
},
{
label
:
'买家手机号'
,
value
:
'customer_phone'
},
{
label
:
'收货人手机号'
,
value
:
'shipping_phone'
},
{
label
:
'买家手机号后四位'
,
value
:
'customer_phone_4'
},
{
label
:
'收货人手机号后四位'
,
value
:
'shipping_phone_4'
}
]
},
},
{
type
:
'input'
,
prop
:
'search_value'
},
// {
// type: 'select',
// prop: 'order_status',
// placeholder: '订单状态',
// options: this.orderStatus,
// style: 'width:120px'
// },
{
{
type
:
'select'
,
type
:
'select'
,
prop
:
'order_status'
,
prop
:
'payment_method'
,
placeholder
:
'付款方式'
,
options
:
[
options
:
[
{
label
:
'全部'
,
name
:
''
},
{
label
:
'全部'
,
value
:
''
},
{
label
:
'待付款'
,
name
:
'1'
},
{
label
:
'现金'
,
value
:
'1'
},
{
label
:
'待发货'
,
name
:
'2'
},
{
label
:
'余额'
,
value
:
'2'
},
{
label
:
'已发货'
,
name
:
'3'
},
{
label
:
'网银'
,
value
:
'3'
},
{
label
:
'已完成'
,
name
:
'4'
},
{
label
:
'支付宝'
,
value
:
'4'
},
{
label
:
'已关闭'
,
name
:
'5'
},
{
label
:
'微信'
,
value
:
'5'
},
{
label
:
'售后中'
,
name
:
'6'
}
{
label
:
'微信JSAPI'
,
value
:
'7'
},
{
label
:
'微信H5'
,
value
:
'8'
}
],
],
valueKey
:
'name
'
style
:
'width:120px
'
}
}
],
],
columns
:
[
columns
:
[
...
@@ -92,7 +116,7 @@ export default {
...
@@ -92,7 +116,7 @@ export default {
{
label
:
'买家 / 收货人'
,
prop
:
'shipping_user'
,
align
:
'center'
},
{
label
:
'买家 / 收货人'
,
prop
:
'shipping_user'
,
align
:
'center'
},
{
label
:
'实收金额(元)'
,
prop
:
'payment_money'
,
align
:
'center'
},
{
label
:
'实收金额(元)'
,
prop
:
'payment_money'
,
align
:
'center'
},
{
{
label
:
'
支付
方式'
,
label
:
'
付款
方式'
,
prop
:
'payment_method'
,
prop
:
'payment_method'
,
align
:
'center'
,
align
:
'center'
,
computed
({
row
})
{
computed
({
row
})
{
...
@@ -133,7 +157,7 @@ export default {
...
@@ -133,7 +157,7 @@ export default {
}
}
},
},
beforeRequest
(
params
)
{
beforeRequest
(
params
)
{
//
params.order_status = this.activeName === '0' ? '' : this.activeName
params
.
order_status
=
this
.
activeName
===
'0'
?
''
:
this
.
activeName
return
params
return
params
},
},
handleClick
()
{
handleClick
()
{
...
...
src/pages/setting/contact.vue
浏览文件 @
51b5c2e1
...
@@ -6,15 +6,15 @@
...
@@ -6,15 +6,15 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"详细地址"
prop=
"shop_address"
>
<el-form-item
label=
"详细地址"
prop=
"shop_address"
>
<el-input
v-model=
"ruleForm.shop_address"
>
<el-input
v-model=
"ruleForm.shop_address"
>
<template
#
append
>
<
!--
<
template
#
append
>
<el-button
@
click=
"mapSearch"
>
搜索地图
</el-button>
<el-button
@
click=
"mapSearch"
>
搜索地图
</el-button>
</
template
>
</
template
>
-->
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<div
class=
"map"
>
<
!-- <
div class="map">
<div id="map-container"></div>
<div id="map-container"></div>
<div id="map-panel"></div>
<div id="map-panel"></div>
</div>
</div>
-->
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
保存
</el-button>
</el-form-item>
</el-form-item>
...
@@ -91,7 +91,7 @@ export default {
...
@@ -91,7 +91,7 @@ export default {
}
}
},
},
mounted
()
{
mounted
()
{
this
.
initMap
()
//
this.initMap()
},
},
destroyed
()
{
destroyed
()
{
this
.
map
&&
this
.
map
.
destroy
()
this
.
map
&&
this
.
map
.
destroy
()
...
...
src/store/index.js
浏览文件 @
51b5c2e1
...
@@ -44,10 +44,14 @@ const store = new Vuex.Store({
...
@@ -44,10 +44,14 @@ const store = new Vuex.Store({
},
},
// 获取商品分组列表
// 获取商品分组列表
getGroups
({
commit
,
state
})
{
getGroups
({
commit
,
state
})
{
getGroupList
({
shop_id
:
state
.
shopId
}).
then
(
response
=>
{
getGroupList
({
shop_id
:
state
.
shopId
})
const
{
data
=
[]
}
=
response
.
then
(
response
=>
{
commit
(
'setGroups'
,
data
)
const
{
data
=
[]
}
=
response
})
commit
(
'setGroups'
,
data
)
})
.
catch
(()
=>
{
commit
(
'setGroups'
,
[])
})
},
},
// 设置店铺id
// 设置店铺id
setShopId
({
commit
},
shopId
)
{
setShopId
({
commit
},
shopId
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论