Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-shop
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-shop
Commits
1eb24e70
提交
1eb24e70
authored
5月 26, 2021
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
d287bf9d
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
365 行增加
和
117 行删除
+365
-117
goods.js
src/api/goods.js
+25
-7
order.js
src/api/order.js
+6
-13
shop.js
src/api/shop.js
+6
-1
tableList.vue
src/components/base/tableList.vue
+4
-0
upload.vue
src/components/base/upload.vue
+67
-38
message.vue
src/components/goods/message.vue
+32
-0
messageItem.vue
src/components/goods/messageItem.vue
+45
-0
sku.vue
src/components/goods/sku.vue
+1
-19
skuView.vue
src/components/goods/skuView.vue
+1
-2
sidebar.vue
src/components/layout/sidebar.vue
+1
-1
skuGroup.vue
src/components/setting/skuGroup.vue
+15
-3
edit.vue
src/pages/goods/goods/edit.vue
+0
-0
index.vue
src/pages/goods/goods/index.vue
+26
-9
index.vue
src/pages/order/index.vue
+19
-10
contact.vue
src/pages/setting/contact.vue
+36
-9
general.vue
src/pages/setting/general.vue
+60
-0
info.vue
src/pages/setting/info.vue
+10
-4
routes.js
src/router/routes.js
+8
-0
axios.js
src/utils/axios.js
+3
-1
没有找到文件。
src/api/goods.js
浏览文件 @
1eb24e70
...
...
@@ -12,13 +12,18 @@ export function getGoodsList(data) {
export
function
addGoods
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/commodity/spu/add'
,
data
)
}
/**
* 更新商品
*/
export
function
updateGoods
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/commodity/spu/modify'
,
data
)
}
/**
* 删除商品
*/
export
function
deleteGoods
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/commodity/spu/delete'
,
data
)
}
/**
* 获取商品分组
...
...
@@ -51,6 +56,19 @@ export function deleteGroup(data) {
export
function
getSkuNameList
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/spec/search'
,
data
)
}
/**
* 创建商品规格
*/
export
function
addSku
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/spec/add'
,
data
)
}
/**
* 删除商品规格
*/
export
function
deleteSku
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/spec/delete'
,
data
)
}
/**
* 获取商品规格值
*/
...
...
@@ -58,14 +76,14 @@ export function getSkuValueList(data) {
return
httpRequest
.
post
(
'/api/shop/spec/value/search'
,
data
)
}
/**
* 创建商品规格
* 创建商品规格
值
*/
export
function
addSku
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/spec/add'
,
data
)
export
function
addSku
Value
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/spec/
value/
add'
,
data
)
}
/**
*
创建商品规格
*
删除商品规格值
*/
export
function
add
SkuValue
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/spec/value/
add
'
,
data
)
export
function
delete
SkuValue
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/spec/value/
delete
'
,
data
)
}
src/api/order.js
浏览文件 @
1eb24e70
import
httpRequest
from
'@/utils/axios'
/**
* 获取
商品
列表
* 获取
订单
列表
*/
export
function
get
Goods
List
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/
commodity/spu
/search'
,
data
)
export
function
get
Order
List
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/
order
/search'
,
data
)
}
/**
* 创建
商品
* 创建
订单
*/
export
function
addGoods
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/commodity/spu/add'
,
data
)
}
/**
* 更新商品
*/
export
function
updateGoods
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/commodity/spu/modify'
,
data
)
export
function
addOrder
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/order/add'
,
data
)
}
src/api/shop.js
浏览文件 @
1eb24e70
...
...
@@ -13,7 +13,12 @@ export function getShopList(data) {
export
function
addShop
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/shop/add'
,
data
)
}
/**
* 更新店铺
*/
export
function
updateShop
(
data
)
{
return
httpRequest
.
post
(
'/api/shop/shop/modify'
,
data
)
}
/**
* 删除店铺
*/
...
...
src/components/base/tableList.vue
浏览文件 @
1eb24e70
...
...
@@ -140,6 +140,10 @@ export default {
this
.
page
.
total
=
parseInt
(
pageInfo
.
total_number
||
''
)
this
.
dataList
=
callback
?
callback
(
data
)
:
data
})
.
catch
(()
=>
{
this
.
page
.
total
=
0
this
.
dataList
=
[]
})
.
finally
(()
=>
{
this
.
loading
=
false
})
...
...
src/components/base/upload.vue
浏览文件 @
1eb24e70
<
template
>
<div
class=
"
upload-wrapper
"
>
<div
class=
"
app-upload
"
>
<el-upload
class=
"avatar-uploader"
action=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com"
type=
"drag"
:before-upload=
"beforeUpload"
:on-success=
"handleSuccess"
:on-preview=
"handlePreview"
:data=
"data"
:file-list=
"fileList"
v-bind=
"$attrs"
v-on=
"$listeners"
>
<div
v-if=
"value"
class=
"avatar"
><img
:src=
"value"
/></div>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
<slot>
<i
class=
"el-icon-plus"
></i>
</slot>
</el-upload>
<el-dialog
:visible
.
sync=
"dialogVisible"
>
<img
width=
"100%"
:src=
"previewFile.url"
/>
</el-dialog>
</div>
</
template
>
<
script
>
...
...
@@ -21,12 +26,34 @@ import md5 from 'blueimp-md5'
export
default
{
name
:
'AppUpload'
,
props
:
{
value
:
{
type
:
String
},
value
:
{
type
:
[
String
,
Array
]
},
prefix
:
{
type
:
String
,
default
:
'upload/shop-admin/'
}
},
data
()
{
return
{
data
:
{}
data
:
{},
// 请求参数
fileList
:
[],
// 文件列表
dialogVisible
:
false
,
previewFile
:
{}
}
},
watch
:
{
value
:
{
immediate
:
true
,
handler
(
value
)
{
if
(
!
value
)
{
return
}
let
fileList
=
[]
if
(
Array
.
isArray
(
value
))
{
fileList
=
value
.
map
(
item
=>
{
return
{
name
:
item
.
name
||
item
,
url
:
item
.
url
||
item
}
})
}
else
{
fileList
.
push
({
name
:
'附件'
,
url
:
value
})
}
this
.
fileList
=
[...
fileList
]
}
}
},
methods
:
{
...
...
@@ -38,7 +65,7 @@ export default {
.
then
(
response
=>
{
const
{
accessid
,
policy
,
signature
,
host
}
=
response
this
.
data
=
{
key
,
OSSAccessKeyId
:
accessid
,
policy
,
signature
,
success_action_status
:
'200'
}
file
.
src
=
`
${
host
}
/
${
key
}
`
file
.
url
=
`
${
host
}
/
${
key
}
`
resolve
(
true
)
})
.
catch
(
err
=>
{
...
...
@@ -48,45 +75,47 @@ export default {
})
},
handleSuccess
(
response
,
file
)
{
this
.
$emit
(
'input'
,
file
.
raw
.
src
)
if
(
Array
.
isArray
(
this
.
value
))
{
this
.
fileList
.
push
({
name
:
file
.
name
,
url
:
file
.
raw
.
url
})
this
.
$emit
(
'input'
,
this
.
fileList
)
}
else
{
this
.
fileList
=
[
file
.
raw
.
url
]
this
.
$emit
(
'input'
,
file
.
raw
.
url
)
}
},
// 删除
handleRemove
(
index
)
{
this
.
fileList
.
splice
(
index
,
1
)
this
.
$emit
(
'input'
,
Array
.
isArray
(
this
.
value
)
?
this
.
fileList
:
''
)
},
// 预览
handlePreview
(
file
)
{
this
.
previewFile
=
file
this
.
dialogVisible
=
true
}
}
}
</
script
>
<
style
>
.avatar-uploader
.el-upload
{
border
:
1px
dashed
#d9d9d9
;
.el-upload-list--picture-card
.el-upload-list__item-thumbnail
{
object-fit
:
cover
;
}
.el-upload-list__item
{
transition
:
none
!important
;
}
/* .el-upload--text {
background-color: #fbfdff;
border: 1px dashed #c0ccda;
border-radius: 6px;
box-sizing: border-box;
width: 148px;
height: 148px;
cursor: pointer;
position
:
relative
;
overflow
:
hidden
;
}
.avatar-uploader
.el-upload
:hover
{
border-color
:
#20a0ff
;
line-height: 146px;
vertical-align: top;
}
.avatar-uploader-icon
{
.el-upload--text i {
font-size: 28px;
color: #8c939d;
width
:
178px
;
height
:
178px
;
line-height
:
178px
;
text-align
:
center
;
}
.avatar
{
width
:
178px
;
height
:
178px
;
display
:
block
;
}
.avatar
img
{
max-width
:
100%
;
max-height
:
100%
;
position
:
absolute
;
top
:
50%
;
left
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
} */
</
style
>
src/components/goods/message.vue
0 → 100644
浏览文件 @
1eb24e70
<
template
>
<div
class=
"goods-message"
>
<message-item
v-for=
"(item, index) in list"
:data=
"item"
:key=
"index"
@
remove=
"handleRemove(index)"
></message-item>
<el-button
type=
"text"
@
click=
"handleAdd"
>
<i
class=
"el-icon-circle-plus-outline"
></i>
添加字段
</el-button>
</div>
</
template
>
<
script
>
import
MessageItem
from
'./messageItem'
export
default
{
props
:
{
data
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
components
:
{
MessageItem
},
data
()
{
return
{
list
:
[{
filed
:
'手机号'
,
type
:
'text'
,
required
:
true
}]
}
},
methods
:
{
handleAdd
()
{
this
.
list
.
push
({
filed
:
'留言'
+
(
this
.
list
.
length
+
1
),
type
:
'text'
,
required
:
false
})
},
handleRemove
(
index
)
{
this
.
list
.
splice
(
index
,
1
)
}
}
}
</
script
>
<
style
>
</
style
>
src/components/goods/messageItem.vue
0 → 100644
浏览文件 @
1eb24e70
<
template
>
<div
class=
"goods-message-item"
>
<el-input
v-model=
"data.filed"
style=
"width: 200px"
/>
<el-select
v-model=
"data.type"
style=
"width: 120px; margin: 0 20px"
>
<el-option
v-for=
"item in list"
:label=
"item.name"
:value=
"item.type"
:key=
"item.type"
></el-option>
</el-select>
<el-checkbox
v-model=
"data.multiple"
v-if=
"data.type === 'text'"
>
多行
</el-checkbox>
<el-checkbox
v-model=
"data.datetime"
v-if=
"data.type === 'time'"
>
含日期
</el-checkbox>
<el-checkbox
v-model=
"data.required"
>
必填
</el-checkbox>
<el-button
type=
"text"
style=
"margin-left: 20px"
@
click=
"$emit('remove')"
>
删除
</el-button>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
data
:
{
type
:
Object
,
default
:
()
=>
[]
}
},
data
()
{
return
{
list
:
[
{
type
:
'text'
,
name
:
'文本格式'
},
{
type
:
'number'
,
name
:
'数字格式'
},
{
type
:
'email'
,
name
:
'邮件'
},
{
type
:
'date'
,
name
:
'日期'
},
{
type
:
'time'
,
name
:
'时间'
},
{
type
:
'id'
,
name
:
'身份证号'
},
{
type
:
'image'
,
name
:
'图片'
},
{
type
:
'phone'
,
name
:
'手机号'
}
]
}
},
methods
:
{
handleAdd
()
{}
}
}
</
script
>
<
style
lang=
"scss"
>
.goods-message-item
{
display
:
flex
;
align-items
:
center
;
}
.goods-message-item
+
.goods-message-item
{
margin-top
:
10px
;
}
</
style
>
src/components/goods/sku.vue
浏览文件 @
1eb24e70
...
...
@@ -27,25 +27,7 @@ export default {
},
data
()
{
return
{
skuNameList
:
[
{
spec_id
:
'1'
,
spec_name
:
'颜色'
,
spec_values
:
[
{
spec_value_id
:
'1'
,
spec_value
:
'红'
},
{
spec_value_id
:
'2'
,
spec_value
:
'黄'
},
{
spec_value_id
:
'3'
,
spec_value
:
'蓝'
}
]
},
{
spec_id
:
'2'
,
spec_name
:
'大小'
,
spec_values
:
[
{
spec_value_id
:
'1'
,
spec_value
:
'L'
},
{
spec_value_id
:
'2'
,
spec_value
:
'M'
}
]
}
]
// 规格名称列表
skuNameList
:
[]
// 规格名称列表
}
},
computed
:
{
...
...
src/components/goods/skuView.vue
浏览文件 @
1eb24e70
...
...
@@ -40,8 +40,8 @@
<span>
批量设置:
</span>
<div
class=
"batch-buttons"
v-if=
"!showBatchInput"
>
<el-button
type=
"text"
@
click=
"batchUpdate('price')"
>
价格
</el-button>
<el-button
type=
"text"
@
click=
"batchUpdate('stock')"
>
库存
</el-button>
<el-button
type=
"text"
@
click=
"batchUpdate('mark_price')"
>
划线价
</el-button>
<el-button
type=
"text"
@
click=
"batchUpdate('stock')"
>
库存
</el-button>
<el-button
type=
"text"
@
click=
"batchUpdate('prime_price')"
>
成本价
</el-button>
</div>
<div
class=
"batch-input"
v-else
>
...
...
@@ -93,7 +93,6 @@ export default {
skuValueList
:
{
handler
:
function
(
newValue
)
{
newValue
.
forEach
((
item
,
index
)
=>
{
console
.
log
(
item
)
// 规格
const
values
=
item
.
reduce
(
(
result
,
item
)
=>
{
...
...
src/components/layout/sidebar.vue
浏览文件 @
1eb24e70
...
...
@@ -50,7 +50,7 @@ export default {
children
:
[
{
name
:
'店铺信息'
,
path
:
'/setting/info'
},
{
name
:
'联系我们'
,
path
:
'/setting/contact'
},
{
name
:
'通用设置'
,
path
:
'/setting/
base
'
},
{
name
:
'通用设置'
,
path
:
'/setting/
general
'
},
{
name
:
'商品设置'
,
path
:
'/setting/goods'
}
]
}
...
...
src/components/setting/skuGroup.vue
浏览文件 @
1eb24e70
...
...
@@ -39,7 +39,7 @@
</
template
>
<
script
>
import
{
addSkuValue
}
from
'@/api/goods'
import
{
addSkuValue
,
deleteSku
,
deleteSkuValue
}
from
'@/api/goods'
export
default
{
props
:
{
...
...
@@ -82,9 +82,21 @@ export default {
})
},
// 删除规格
removeSku
(
item
)
{},
removeSku
(
data
)
{
deleteSku
({
shop_id
:
this
.
shopId
,
spec_id
:
data
.
spec_id
}).
then
(
response
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功'
})
this
.
$emit
(
'update'
)
})
},
// 删除规格值
removeSkuValue
(
item
)
{}
removeSkuValue
(
data
)
{
deleteSkuValue
({
shop_id
:
this
.
shopId
,
spec_id
:
this
.
data
.
spec_id
,
spec_value_id
:
data
.
spec_value_id
}).
then
(
response
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功'
})
this
.
$emit
(
'update'
)
}
)
}
}
}
</
script
>
...
...
src/pages/goods/goods/edit.vue
浏览文件 @
1eb24e70
差异被折叠。
点击展开。
src/pages/goods/goods/index.vue
浏览文件 @
1eb24e70
<
template
>
<app-card>
<!--列表-->
<table-list
v-bind=
"tableOptions"
ref=
"list"
>
<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.name"
></el-tab-pane>
...
...
@@ -12,6 +11,9 @@
</
template
>
<
template
v-slot:table-x=
"{ row }"
>
<el-button
type=
"text"
@
click=
"handleUpdate(row)"
>
编辑
</el-button>
<!--
<el-popconfirm
confirm-button-text=
"确认"
title=
"确定要删除该商品吗?"
@
confirm=
"handleRemove(row)"
>
<el-button
type=
"text"
slot=
"reference"
>
删除
</el-button>
</el-popconfirm>
-->
<el-button
type=
"text"
@
click=
"handlePromote(row)"
>
推广
</el-button>
<el-button
type=
"text"
@
click=
"handleCopy(row)"
>
复制
</el-button>
</
template
>
...
...
@@ -24,18 +26,18 @@
import
TableList
from
'@/components/base/tableList'
import
AppCard
from
'@/components/base/card'
// 接口
import
{
getGoodsList
}
from
'@/api/goods'
import
{
getGoodsList
,
deleteGoods
}
from
'@/api/goods'
export
default
{
components
:
{
AppCard
,
TableList
},
data
()
{
return
{
activeName
:
'
1
'
,
activeName
:
'
0
'
,
tabList
:
[
{
label
:
'全部'
,
name
:
'
1
'
},
{
label
:
'全部'
,
name
:
'
0
'
},
{
label
:
'销售中'
,
name
:
'2'
},
{
label
:
'已售罄'
,
name
:
'3'
},
{
label
:
'仓库中'
,
name
:
'
4
'
}
{
label
:
'仓库中'
,
name
:
'
1
'
}
]
}
},
...
...
@@ -51,7 +53,8 @@ export default {
return
{
remote
:
{
httpRequest
:
getGoodsList
,
params
:
{
shop_id
:
this
.
shopId
,
spu_id
:
''
,
spu_name
:
''
,
group_id
:
''
}
params
:
{
shop_id
:
this
.
shopId
,
spu_id
:
''
,
spu_name
:
''
,
group_id
:
''
},
beforeRequest
:
this
.
beforeRequest
},
filters
:
[
{
...
...
@@ -88,15 +91,29 @@ export default {
}
},
methods
:
{
beforeRequest
(
params
)
{
params
.
status
=
this
.
activeName
===
'0'
?
''
:
this
.
activeName
return
params
},
handleClick
()
{
this
.
$refs
.
list
.
refetch
(
true
)
},
// 编辑
handleUpdate
()
{},
handleUpdate
(
data
)
{
this
.
$router
.
push
({
name
:
'goodsEdit'
,
params
:
{
id
:
data
.
spu_id
}
})
},
// 删除
handleRemove
(
row
)
{
deleteGoods
({
shop_id
:
this
.
shopId
,
spu_id
:
row
.
spu_id
}).
then
(
res
=>
{
this
.
$refs
.
list
.
refetch
()
})
},
// 推广
handlePromote
()
{},
handlePromote
(
data
)
{},
// 复制
handleCopy
()
{}
handleCopy
(
data
)
{
this
.
$router
.
push
({
name
:
'goodsAdd'
,
query
:
{
id
:
data
.
spu_id
}
})
}
},
beforeMount
()
{
// 获取商品分组
...
...
src/pages/order/index.vue
浏览文件 @
1eb24e70
...
...
@@ -10,6 +10,10 @@
<el-button
type=
"primary"
>
新增订单
</el-button>
</router-link>
</
template
>
<
template
v-slot:table-price=
"{ row }"
>
<p>
{{
row
.
product_price
}}
</p>
<p>
{{
row
.
buy_count
}}
</p>
</
template
>
<
template
v-slot:table-x=
"{ row }"
>
<el-button
type=
"text"
@
click=
"handleUpdate(row)"
>
编辑
</el-button>
<el-button
type=
"text"
@
click=
"handlePromote(row)"
>
推广
</el-button>
...
...
@@ -24,15 +28,15 @@
import
TableList
from
'@/components/base/tableList'
import
AppCard
from
'@/components/base/card'
// 接口
import
{
get
GoodsList
}
from
'@/api/goods
'
import
{
get
OrderList
}
from
'@/api/order
'
export
default
{
components
:
{
AppCard
,
TableList
},
data
()
{
return
{
activeName
:
'
1
'
,
activeName
:
'
0
'
,
tabList
:
[
{
label
:
'全部'
,
name
:
'
1
'
},
{
label
:
'全部'
,
name
:
'
0
'
},
{
label
:
'代付款'
,
name
:
'2'
},
{
label
:
'待发货'
,
name
:
'3'
},
{
label
:
'已发货'
,
name
:
'4'
},
...
...
@@ -47,8 +51,9 @@ export default {
tableOptions
()
{
return
{
remote
:
{
httpRequest
:
getGoodsList
,
params
:
{
shop_id
:
this
.
$store
.
state
.
shopId
}
httpRequest
:
getOrderList
,
params
:
{
shop_id
:
this
.
$store
.
state
.
shopId
},
beforeRequest
:
this
.
beforeRequest
},
filters
:
[
{
...
...
@@ -68,19 +73,23 @@ export default {
}
],
columns
:
[
{
label
:
'商品'
,
prop
:
'name'
},
{
label
:
'单价(元)/数量'
,
prop
:
'
sellP
rice'
},
{
label
:
'商品'
,
prop
:
'
shop_
name'
},
{
label
:
'单价(元)/数量'
,
prop
:
'
product_price'
,
slots
:
'table-p
rice'
},
{
label
:
'售后'
,
prop
:
'sellPrice'
},
{
label
:
'买家 / 收货人'
,
prop
:
'
balanceCount
'
},
{
label
:
'买家 / 收货人'
,
prop
:
'
shipping_user
'
},
{
label
:
'配送方式'
,
prop
:
'sellCount'
},
{
label
:
'实收金额(元)'
,
prop
:
'
createTime
'
},
{
label
:
'订单状态'
,
prop
:
'
createTime
'
},
{
label
:
'实收金额(元)'
,
prop
:
'
payment_money
'
},
{
label
:
'订单状态'
,
prop
:
'
order_status
'
},
{
label
:
'操作'
,
slots
:
'table-x'
}
]
}
}
},
methods
:
{
beforeRequest
(
params
)
{
params
.
status
=
this
.
activeName
===
'0'
?
''
:
this
.
activeName
return
params
},
handleClick
()
{
this
.
$refs
.
list
.
refetch
(
true
)
},
...
...
src/pages/setting/contact.vue
浏览文件 @
1eb24e70
<
template
>
<app-card>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
style=
"width: 400px"
>
<el-form-item
label=
"客户电话"
prop=
"tel"
>
<el-input
v-model=
"ruleForm.tel"
></el-input>
<el-form-item
label=
"客户电话"
prop=
"
shop_
tel"
>
<el-input
v-model=
"ruleForm.
shop_
tel"
></el-input>
</el-form-item>
<el-form-item
label=
"详细地址"
prop=
"address"
>
<el-input
v-model=
"ruleForm.address"
>
<el-form-item
label=
"详细地址"
prop=
"
shop_
address"
>
<el-input
v-model=
"ruleForm.
shop_
address"
>
<template
#
append
>
<el-button>
搜索地图
</el-button>
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
保存
</el-button>
</el-form-item>
</el-form>
</app-card>
</template>
<
script
>
import
AppCard
from
'@/components/base/card'
import
{
updateShop
}
from
'@/api/shop'
export
default
{
components
:
{
AppCard
},
data
()
{
return
{
ruleForm
:
{
tel
:
''
,
address
:
''
},
ruleForm
:
{
shop_tel
:
''
,
shop_
address
:
''
},
rules
:
{
tel
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}],
address
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}]
shop_tel
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}],
shop_address
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}]
}
}
},
computed
:
{
shop
()
{
return
this
.
$store
.
state
.
shop
}
},
watch
:
{
shop
:
{
immediate
:
true
,
handler
(
data
)
{
this
.
ruleForm
=
Object
.
assign
({},
data
)
}
}
},
methods
:
{}
methods
:
{
onSubmit
()
{
this
.
$refs
.
ruleForm
.
validate
().
then
(
this
.
updateShop
)
},
updateShop
()
{
updateShop
(
this
.
ruleForm
).
then
(
resp
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'修改成功'
})
this
.
dialogVisible
=
false
this
.
$store
.
dispatch
(
'getShop'
)
})
}
}
}
</
script
>
...
...
src/pages/setting/general.vue
0 → 100644
浏览文件 @
1eb24e70
<
template
>
<app-card>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
>
<el-form-item
label=
"店铺有效期"
prop=
"shop_name"
>
<el-date-picker
v-model=
"ruleForm.end_time"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择店铺有效期"
>
</el-date-picker>
</el-form-item>
</el-form>
</app-card>
</
template
>
<
script
>
import
AppCard
from
'@/components/base/card'
import
{
updateShop
}
from
'@/api/shop'
export
default
{
components
:
{
AppCard
},
data
()
{
return
{
ruleForm
:
{
end_time
:
''
},
rules
:
{
end_time
:
[{
required
:
true
,
message
:
'必填'
,
trigger
:
'blur'
}]
}
}
},
computed
:
{
shop
()
{
return
this
.
$store
.
state
.
shop
}
},
watch
:
{
shop
:
{
immediate
:
true
,
handler
(
data
)
{
this
.
ruleForm
=
Object
.
assign
({},
data
)
}
}
},
methods
:
{
onSubmit
()
{
this
.
$refs
.
ruleForm
.
validate
().
then
(
this
.
updateShop
)
},
updateShop
()
{
updateShop
(
this
.
ruleForm
).
then
(
resp
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'修改成功'
})
this
.
$store
.
dispatch
(
'getShop'
)
})
}
}
}
</
script
>
<
style
>
</
style
>
src/pages/setting/info.vue
浏览文件 @
1eb24e70
...
...
@@ -12,7 +12,7 @@
<label
class=
"label"
>
创建时间:
</label><span
class=
"content"
>
{{ shop.create_time }}
</span>
</div>
<div
class=
"item"
>
<label
class=
"label"
>
联系电话:
</label><span
class=
"content"
>
{{ shop.tel }}
</span>
<label
class=
"label"
>
联系电话:
</label><span
class=
"content"
>
{{ shop.
shop_
tel }}
</span>
</div>
</div>
</div>
...
...
@@ -23,7 +23,7 @@
<el-input
v-model=
"ruleForm.shop_name"
placeholder=
"请输入店铺、品牌、机构的全称"
></el-input>
</el-form-item>
<el-form-item
label=
"店铺头像"
prop=
"shop_logo"
>
<app-upload
v-model=
"ruleForm.shop_logo"
></app-upload>
<app-upload
v-model=
"ruleForm.shop_logo"
accept=
"image/*"
:show-file-list=
"false"
></app-upload>
</el-form-item>
<el-form-item
label=
"店铺有效期"
prop=
"end_time"
>
<el-date-picker
...
...
@@ -52,7 +52,7 @@
<
script
>
import
AppCard
from
'@/components/base/card'
import
AppUpload
from
'@/components/base/upload'
import
{
updateShop
}
from
'@/api/shop'
export
default
{
components
:
{
AppCard
,
AppUpload
},
data
()
{
...
...
@@ -80,7 +80,13 @@ export default {
onSubmit
()
{
this
.
$refs
.
ruleForm
.
validate
().
then
(
this
.
updateShop
)
},
updateShop
()
{}
updateShop
()
{
updateShop
(
this
.
ruleForm
).
then
(
resp
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'修改成功'
})
this
.
dialogVisible
=
false
this
.
$store
.
dispatch
(
'getShop'
)
})
}
}
}
</
script
>
...
...
src/router/routes.js
浏览文件 @
1eb24e70
...
...
@@ -38,13 +38,16 @@ export default [
meta
:
{
title
:
'商品列表'
}
},
{
name
:
'goodsAdd'
,
path
:
'add'
,
component
:
()
=>
import
(
/* webpackChunkName: "goods" */
'@/pages/goods/goods/edit'
),
meta
:
{
title
:
'发布商品'
}
},
{
name
:
'goodsEdit'
,
path
:
'edit/:id'
,
component
:
()
=>
import
(
/* webpackChunkName: "goods" */
'@/pages/goods/goods/edit'
),
props
:
{
isEdit
:
true
},
meta
:
{
title
:
'编辑商品'
}
},
{
...
...
@@ -84,6 +87,11 @@ export default [
component
:
()
=>
import
(
/* webpackChunkName: "setting" */
'@/pages/setting/info'
),
meta
:
{
title
:
'店铺信息'
}
},
{
path
:
'general'
,
component
:
()
=>
import
(
/* webpackChunkName: "setting" */
'@/pages/setting/general'
),
meta
:
{
title
:
'通用设置'
}
},
{
path
:
'contact'
,
component
:
()
=>
import
(
/* webpackChunkName: "setting" */
'@/pages/setting/contact'
),
...
...
src/utils/axios.js
浏览文件 @
1eb24e70
...
...
@@ -35,7 +35,9 @@ httpRequest.interceptors.response.use(
function
(
response
)
{
const
{
data
}
=
response
if
(
data
.
code
)
{
Message
.
error
(
data
.
msg
||
data
.
message
)
if
(
!
[
1010
].
includes
(
data
.
code
))
{
Message
.
error
(
data
.
msg
||
data
.
message
)
}
return
Promise
.
reject
(
data
)
}
return
data
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论