Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
kadycui
game-admin
提交
5a9ead8d
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 搜索 >>
提交
5a9ead8d
编写于
9月 20, 2023
作者:
kadycui
💻
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ADD: tab页
上级
f306468d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
149 addition
and
123 deletion
+149
-123
src/api/goods.js
src/api/goods.js
+1
-1
src/api/manager.js
src/api/manager.js
+1
-1
src/pages/goods/list.vue
src/pages/goods/list.vue
+147
-121
未找到文件。
src/api/good.js
→
src/api/good
s
.js
浏览文件 @
5a9ead8d
...
...
@@ -3,7 +3,7 @@ import { queryParams } from '@/composables/util'
export
function
getGoodsList
(
page
,
query
=
{}){
let
r
=
queryParams
(
query
Params
)
let
r
=
queryParams
(
query
)
return
axios
.
get
(
`/admin/goods/
${
page
}${
r
}
`
)
}
...
...
src/api/manager.js
浏览文件 @
5a9ead8d
...
...
@@ -24,7 +24,7 @@ export function updatepassword(data){
export
function
getManagerList
(
page
,
query
=
{}){
let
r
=
queryParams
(
query
Params
)
let
r
=
queryParams
(
query
)
return
axios
.
get
(
`/admin/manager/
${
page
}${
r
}
`
)
}
...
...
src/pages/goods/list.vue
浏览文件 @
5a9ead8d
<
template
>
<el-card
shadow=
"never"
class=
"border-0"
>
<el-form
:model=
"searchForm"
label-width=
"80px"
class=
"mb-3"
size=
"small"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
:offset=
"0"
>
<el-form-item
label=
"关键词"
>
<el-input
v-model=
"searchForm.keyword"
placeholder=
"管理员昵称"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
:offset=
"8"
>
<div
class=
"flex items-center justify-end"
>
<el-button
type=
"primary"
@
click=
"getData"
>
搜索
</el-button>
<el-button
@
click=
"resetSearchForm"
>
重置
</el-button>
</div>
</el-col>
</el-row>
</el-form>
<!-- 新增 | 刷新 -->
<ListHeader
@
create=
"handleCreate"
@
refresh=
"getData"
/>
<el-table
v-loading=
"loading"
element-loading-text=
"加载中..."
element-loading-spinner=
"el-icon-loading"
:data=
"tableData"
stripe
style=
"width: 100%"
>
<el-table-column
label=
"管理员"
width=
"200"
>
<template
#default
="
{ row }">
<div
class=
"flex items-center"
>
<el-avatar
:size=
"40"
:src=
"row.avatar"
>
<img
src=
"https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png"
/>
</el-avatar>
<div
class=
"ml-3"
>
<h6>
{{
row
.
username
}}
</h6>
<small>
ID:
{{
row
.
id
}}
</small>
<div>
<el-tabs
v-model=
"searchForm.tab"
@
tab-change=
"getData"
>
<el-tab-pane
:label=
"item.name"
:name=
"item.key"
v-for=
"(item, index) in tabbars"
:key=
"index"
>
</el-tab-pane>
</el-tabs>
<el-card
shadow=
"never"
class=
"border-0"
>
<el-form
:model=
"searchForm"
label-width=
"80px"
class=
"mb-3"
size=
"small"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
:offset=
"0"
>
<el-form-item
label=
"关键词"
>
<el-input
v-model=
"searchForm.title"
placeholder=
"商品名称"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
:offset=
"8"
>
<div
class=
"flex items-center justify-end"
>
<el-button
type=
"primary"
@
click=
"getData"
>
搜索
</el-button>
<el-button
@
click=
"resetSearchForm"
>
重置
</el-button>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"所属角色"
align=
"center"
>
<
template
#default=
"{ row }"
>
{{
row
.
role
?.
name
||
"
_
"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
width=
"120"
>
<
template
#default=
"{ row }"
>
<el-switch
:modelValue=
"row.status"
:active-value=
"1"
:inactive-value=
"0"
:loading=
"row.statusLoading"
:disabled=
"row.super == 1"
@
change=
"handleStatusChange($event, row)"
>
</el-switch>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"180"
align=
"center"
>
<
template
#default=
"scope"
>
<small
v-if=
"scope.row.super == 1"
class=
"text-sm text-gray-500"
>
暂无操作
</small>
<div
v-else
>
<el-button
type=
"primary"
size=
"small"
text
@
click=
"handleEdit(scope.row)"
>
修改
</el-button>
<el-popconfirm
title=
"是否删除该管理员?"
confirm-button-text=
"确认"
cancel-button-text=
"取消"
@
confirm=
"handleDelete(scope.row.id)"
>
<template
#reference
>
<el-button
text
type=
"primary"
size=
"small"
>
删除
</el-button>
</
template
>
</el-popconfirm>
</div>
</template>
</el-table-column>
</el-table>
<div
class=
"flex items-center justify-center mt-5"
>
<el-pagination
background
layout=
"total, prev, pager, next, jumper"
:total=
"total"
:current-page=
"currentPage"
:page-size=
"limit"
@
current-change=
"getData"
/>
</div>
<FormDrawer
ref=
"formDrawerRef"
:title=
"drawerTitle"
@
submit=
"handleSubmit"
>
<el-form
:model=
"form"
ref=
"formRef"
:rules=
"rules"
label-width=
"80px"
:inline=
"false"
>
<el-form-item
label=
"用户名"
prop=
"username"
>
<el-input
v-model=
"form.username"
placeholder=
"用户名"
></el-input>
</el-form-item>
<el-form-item
label=
"密码"
prop=
"password"
>
<el-input
v-model=
"form.password"
placeholder=
"密码"
></el-input>
</el-form-item>
<el-form-item
label=
"头像"
prop=
"avatar"
>
<ChooseImage
v-model=
"form.avatar"
/>
</el-form-item>
<el-form-item
label=
"所属角色"
prop=
"role_id"
>
<el-select
v-model=
"form.role_id"
placeholder=
"选择所属角色"
>
<el-option
v-for=
"item in roles"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"content"
>
<el-switch
v-model=
"form.status"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
</el-form-item>
</el-col>
</el-row>
</el-form>
</FormDrawer>
</el-card>
<!-- 新增 | 刷新 -->
<ListHeader
@
create=
"handleCreate"
@
refresh=
"getData"
/>
<el-table
v-loading=
"loading"
element-loading-text=
"加载中..."
element-loading-spinner=
"el-icon-loading"
:data=
"tableData"
stripe
style=
"width: 100%"
>
<el-table-column
label=
"管理员"
width=
"200"
>
<template
#default
="
{ row }">
<div
class=
"flex items-center"
>
<el-avatar
:size=
"40"
:src=
"row.avatar"
>
<img
src=
"https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png"
/>
</el-avatar>
<div
class=
"ml-3"
>
<h6>
{{
row
.
username
}}
</h6>
<small>
ID:
{{
row
.
id
}}
</small>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"所属角色"
align=
"center"
>
<
template
#default=
"{ row }"
>
{{
row
.
role
?.
name
||
"
_
"
}}
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
width=
"120"
>
<
template
#default=
"{ row }"
>
<el-switch
:modelValue=
"row.status"
:active-value=
"1"
:inactive-value=
"0"
:loading=
"row.statusLoading"
:disabled=
"row.super == 1"
@
change=
"handleStatusChange($event, row)"
>
</el-switch>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"180"
align=
"center"
>
<
template
#default=
"scope"
>
<small
v-if=
"scope.row.super == 1"
class=
"text-sm text-gray-500"
>
暂无操作
</small>
<div
v-else
>
<el-button
type=
"primary"
size=
"small"
text
@
click=
"handleEdit(scope.row)"
>
修改
</el-button>
<el-popconfirm
title=
"是否删除该管理员?"
confirm-button-text=
"确认"
cancel-button-text=
"取消"
@
confirm=
"handleDelete(scope.row.id)"
>
<template
#reference
>
<el-button
text
type=
"primary"
size=
"small"
>
删除
</el-button>
</
template
>
</el-popconfirm>
</div>
</template>
</el-table-column>
</el-table>
<div
class=
"flex items-center justify-center mt-5"
>
<el-pagination
background
layout=
"total, prev, pager, next, jumper"
:total=
"total"
:current-page=
"currentPage"
:page-size=
"limit"
@
current-change=
"getData"
/>
</div>
<FormDrawer
ref=
"formDrawerRef"
:title=
"drawerTitle"
@
submit=
"handleSubmit"
>
<el-form
:model=
"form"
ref=
"formRef"
:rules=
"rules"
label-width=
"80px"
:inline=
"false"
>
<el-form-item
label=
"用户名"
prop=
"username"
>
<el-input
v-model=
"form.username"
placeholder=
"用户名"
></el-input>
</el-form-item>
<el-form-item
label=
"密码"
prop=
"password"
>
<el-input
v-model=
"form.password"
placeholder=
"密码"
></el-input>
</el-form-item>
<el-form-item
label=
"头像"
prop=
"avatar"
>
<ChooseImage
v-model=
"form.avatar"
/>
</el-form-item>
<el-form-item
label=
"所属角色"
prop=
"role_id"
>
<el-select
v-model=
"form.role_id"
placeholder=
"选择所属角色"
>
<el-option
v-for=
"item in roles"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"content"
>
<el-switch
v-model=
"form.status"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
</el-form-item>
</el-form>
</FormDrawer>
</el-card>
</div>
</template>
...
...
@@ -107,12 +111,12 @@
<
script
setup
>
import
{
ref
}
from
"
vue
"
import
{
get
Manager
List
,
update
Manager
Status
,
create
Manager
,
update
Manager
,
delete
Manager
}
from
"
@/api/
manager
"
get
Goods
List
,
update
Goods
Status
,
create
Goods
,
update
Goods
,
delete
Goods
}
from
"
@/api/
goods
"
import
FormDrawer
from
"
@/components/FormDrawer.vue
"
...
...
@@ -134,12 +138,13 @@ const {
getData
,
handleDelete
,
handleStatusChange
}
=
useInitTable
({
searchForm
:
{
keyword
:
""
title
:
""
,
tab
:
"
all
"
,
category_id
:
null
},
getList
:
get
Manager
List
,
getList
:
get
Goods
List
,
onGetListSuccess
:
(
res
)
=>
{
tableData
.
value
=
res
.
list
.
map
(
o
=>
{
o
.
statusLoading
=
false
...
...
@@ -148,8 +153,8 @@ const {
total
.
value
=
res
.
totalCount
roles
.
value
=
res
.
roles
},
delete
:
deleteManager
,
updateStatus
:
update
Manager
Status
delete
:
deleteGoods
,
updateStatus
:
update
Goods
Status
})
...
...
@@ -166,19 +171,40 @@ const {
handleEdit
,
}
=
useInitForm
(
{
form
:{
username
:
""
,
password
:
""
,
role_id
:
null
,
status
:
1
,
avatar
:
""
},
getData
,
update
:
updateManager
,
create
:
createManager
,
})
{
form
:
{
username
:
""
,
password
:
""
,
role_id
:
null
,
status
:
1
,
avatar
:
""
},
getData
,
update
:
updateGoods
,
create
:
createGoods
,
})
const
tabbars
=
[{
key
:
"
all
"
,
name
:
"
全部
"
},{
key
:
"
checking
"
,
name
:
"
审核中
"
},{
key
:
"
saling
"
,
name
:
"
出售中
"
},{
key
:
"
off
"
,
name
:
"
已下架
"
},{
key
:
"
min_stock
"
,
name
:
"
库存预警
"
},{
key
:
"
delete
"
,
name
:
"
回收站
"
}]
</
script
>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录