Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
kadycui
game-admin
提交
ac15d22e
game-admin
项目概览
kadycui
/
game-admin
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
game-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ac15d22e
编写于
9月 21, 2023
作者:
kadycui
💻
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ADD: 轮播图组件
上级
22486962
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
73 addition
and
3 deletion
+73
-3
src/api/goods.js
src/api/goods.js
+10
-0
src/pages/goods/banners.vue
src/pages/goods/banners.vue
+51
-0
src/pages/goods/list.vue
src/pages/goods/list.vue
+12
-3
未找到文件。
src/api/goods.js
浏览文件 @
ac15d22e
...
...
@@ -31,6 +31,16 @@ export function deleteGoods(ids){
return
axios
.
post
(
`/admin/goods/delete_all`
,
{
ids
})
}
export
function
readGoods
(
id
){
return
axios
.
get
(
`/admin/goods/read/
${
id
}
`
)
}
export
function
setGoodsBanner
(
id
,
data
){
return
axios
.
post
(
`/admin/goods/banners/
${
id
}
`
,
data
)
}
...
...
src/pages/goods/banners.vue
0 → 100644
浏览文件 @
ac15d22e
<
template
>
<el-drawer
title=
"设置轮播图"
v-model=
"dialogVisible"
size=
"50%"
destroy-on-close
>
<el-form
:model=
"form"
label-width=
"80px"
>
<el-form-item
label=
"轮播图"
>
<ChooseImage
v-model=
"form.banners"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"submit"
>
提交
</el-button>
</el-form-item>
</el-form>
</el-drawer>
</
template
>
<
script
setup
>
import
{
ref
,
reactive
}
from
'
vue
'
import
ChooseImage
from
"
@/components/ChooseImage.vue
"
import
{
readGoods
,
setGoodsBanner
}
from
"
@/api/goods
"
const
dialogVisible
=
ref
(
false
)
const
form
=
reactive
({
banners
:[]
})
const
goodsId
=
ref
(
0
)
const
open
=
(
row
)
=>
{
goodsId
.
value
=
row
.
id
readGoods
(
goodsId
.
value
)
.
then
(
res
=>
{
form
.
banners
=
res
.
goodsBanner
.
map
(
o
=>
o
.
url
)
dialogVisible
.
value
=
true
})
}
const
submit
=
()
=>
{
}
defineExpose
({
open
})
</
script
>
\ No newline at end of file
src/pages/goods/list.vue
浏览文件 @
ac15d22e
...
...
@@ -76,7 +76,8 @@
<div
v-if=
"searchForm.tab != 'delete'"
>
<el-button
class=
"px-1"
type=
"primary"
size=
"small"
text
@
click=
"handleEdit(scope.row)"
>
修改
</el-button>
<el-button
class=
"px-1"
type=
"primary"
size=
"small"
text
>
商品规格
</el-button>
<el-button
class=
"px-1"
type=
"primary"
size=
"small"
text
>
设置轮播图
</el-button>
<el-button
class=
"px-1"
type=
"primary"
size=
"small"
text
@
click=
"handleSetGoodsBanners(scope.row)"
>
设置轮播图
</el-button>
<el-button
class=
"px-1"
type=
"primary"
size=
"small"
text
>
商品详情
</el-button>
<el-popconfirm
title=
"是否删除该商品?"
confirm-button-text=
"确认"
cancel-button-text=
"取消"
@
confirm=
"handleDelete(scope.row.id)"
>
...
...
@@ -149,10 +150,9 @@
</el-radio-group>
</el-form-item>
</el-form>
</FormDrawer>
</el-card>
<banners
ref=
"bannerRef"
/>
</div>
</template>
...
...
@@ -180,6 +180,8 @@ import ListHeader from "@/components/ListHeader.vue"
import
ChooseImage
from
"
@/components/ChooseImage.vue
"
import
Search
from
"
@/components/Search.vue
"
import
SearchItem
from
"
@/components/SearchItem.vue
"
import
banners
from
"
./banners.vue
"
import
{
useInitTable
,
useInitForm
}
from
"
@/composables/useCommon.js
"
...
...
@@ -278,6 +280,13 @@ const tabbars = [{
const
category_list
=
ref
([])
getCategoryList
().
then
(
res
=>
category_list
.
value
=
res
)
// 设置轮播图相关
const
bannerRef
=
ref
(
null
)
const
handleSetGoodsBanners
=
(
row
)
=>
{
bannerRef
.
value
.
open
(
row
)
}
</
script
>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录