Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
86268483
authored
Jul 09, 2026
by
renyizhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api订单处理
parent
03d2db39
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
170 additions
and
62 deletions
+170
-62
src/views/apihub/apiorder/ApiOrderDetail.vue
+58
-0
src/views/apihub/apiorder/OrderIssueInvoiceForm.vue
+19
-9
src/views/apihub/apiorder/index.vue
+93
-53
No files found.
src/views/apihub/apiorder/ApiOrderDetail.vue
0 → 100644
View file @
86268483
<
template
>
<el-dialog
title=
"订单详情"
v-model=
"visible"
width=
"700px"
>
<el-descriptions
:column=
"2"
border
v-loading=
"loading"
>
<el-descriptions-item
label=
"订单编号"
>
{{
detailData
.
orderNo
}}
</el-descriptions-item>
<el-descriptions-item
label=
"用户手机号"
>
{{
detailData
.
userMobile
||
'-'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"用户昵称"
>
{{
detailData
.
userNickname
||
'-'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
>
{{
orderStatusText
(
detailData
.
status
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"API应用"
>
{{
detailData
.
apiName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"套餐名称"
>
{{
detailData
.
packageName
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单金额"
>
{{
detailData
.
costPrice
?
(
detailData
.
costPrice
/
100
).
toFixed
(
2
)
+
'元'
:
'-'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"开票状态"
>
{{
invoiceStatusText
(
detailData
.
invoiceStatus
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"支付时间"
>
{{
formatDate
(
detailData
.
payTime
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"创建时间"
>
{{
formatDate
(
detailData
.
createTime
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"取消时间"
>
{{
formatDate
(
detailData
.
cancelTime
)
}}
</el-descriptions-item>
</el-descriptions>
</el-dialog>
</
template
>
<
script
setup
lang=
"ts"
>
import
{
ApiOrderApi
}
from
'@/api/apihub/apiorder'
const
visible
=
ref
(
false
)
const
loading
=
ref
(
false
)
const
detailData
=
ref
<
any
>
({})
const
formatDate
=
(
date
:
string
)
=>
{
if
(
!
date
)
return
'-'
const
d
=
new
Date
(
date
)
if
(
isNaN
(
d
.
getTime
()))
return
date
const
pad
=
(
n
:
number
)
=>
n
.
toString
().
padStart
(
2
,
'0'
)
return
`
${
d
.
getFullYear
()}
-
${
pad
(
d
.
getMonth
()
+
1
)}
-
${
pad
(
d
.
getDate
())}
${
pad
(
d
.
getHours
())}
:
${
pad
(
d
.
getMinutes
())}
:
${
pad
(
d
.
getSeconds
())}
`
}
const
orderStatusText
=
(
status
:
number
)
=>
{
const
map
:
Record
<
number
,
string
>
=
{
0
:
'待支付'
,
1
:
'已支付'
,
2
:
'已取消'
,
3
:
'已退款'
}
return
map
[
status
]
??
'-'
}
const
invoiceStatusText
=
(
status
:
number
)
=>
{
const
map
:
Record
<
number
,
string
>
=
{
0
:
'未开票'
,
1
:
'开票中'
,
2
:
'已开票'
}
return
map
[
status
]
??
'-'
}
const
open
=
async
(
id
:
number
)
=>
{
visible
.
value
=
true
loading
.
value
=
true
try
{
const
data
=
await
ApiOrderApi
.
getApiOrder
(
id
)
detailData
.
value
=
data
}
finally
{
loading
.
value
=
false
}
}
defineExpose
({
open
})
</
script
>
src/views/apihub/apiorder/OrderIssueInvoiceForm.vue
View file @
86268483
<
template
>
<
template
>
<Dialog
v-model=
"dialogVisible"
title=
"上传发票"
width=
"45%"
>
<Dialog
v-model=
"dialogVisible"
title=
"上传发票"
width=
"45%"
>
<el-form-item
label=
"发票地址"
prop=
"invoiceUrl"
>
<el-form
ref=
"formRef"
:model=
"formData"
label-width=
"100px"
>
<UploadImg
v-model=
"formData.invoiceUrl"
/>
<el-form-item
label=
"发票地址"
prop=
"invoiceUrl"
>
<p
class=
"upload-tips"
>
<UploadFile
v-model=
"formData.invoiceUrl"
:file-type=
"['pdf']"
:limit=
"1"
/>
请上传 大小不超过
<span
class=
"red-text"
>
5MB
</span>
格式为
<p
class=
"upload-tips"
>
<span
class=
"red-text"
>
pdf
</span>
请上传 大小不超过
<span
class=
"red-text"
>
5MB
</span>
格式为
的文件
<span
class=
"red-text"
>
pdf
</span>
</p>
的文件
</el-form-item>
</p>
</el-form-item>
</el-form>
<template
#
footer
>
<template
#
footer
>
<el-button
:disabled=
"formLoading"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
:disabled=
"formLoading"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
...
@@ -17,6 +19,7 @@
...
@@ -17,6 +19,7 @@
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
ApiOrderApi
}
from
"@/api/apihub/apiorder"
;
import
{
ApiOrderApi
}
from
"@/api/apihub/apiorder"
;
import
{
UploadFile
}
from
'@/components/UploadFile'
;
const
{
t
}
=
useI18n
()
// 国际化
const
{
t
}
=
useI18n
()
// 国际化
const
message
=
useMessage
()
// 消息弹窗
const
message
=
useMessage
()
// 消息弹窗
...
@@ -75,5 +78,12 @@
...
@@ -75,5 +78,12 @@
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.red-text
{
color
:
red
;
}
.upload-tips
{
font-size
:
12px
;
color
:
#666
;
margin-top
:
5px
;
}
</
style
>
</
style
>
src/views/apihub/apiorder/index.vue
View file @
86268483
...
@@ -8,15 +8,24 @@
...
@@ -8,15 +8,24 @@
:inline=
"true"
:inline=
"true"
label-width=
"68px"
label-width=
"68px"
>
>
<el-form-item
label=
"
用户手机号"
prop=
"userId
"
>
<el-form-item
label=
"
手机号"
prop=
"mobile
"
>
<el-input
<el-input
v-model=
"queryParams.
userId
"
v-model=
"queryParams.
mobile
"
placeholder=
"请输入用户手机号"
placeholder=
"请输入用户手机号"
clearable
clearable
@
keyup
.
enter=
"handleQuery"
@
keyup
.
enter=
"handleQuery"
class=
"!w-240px"
class=
"!w-240px"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"用户昵称"
prop=
"nickname"
>
<el-input
v-model=
"queryParams.nickname"
placeholder=
"请输入用户昵称"
clearable
@
keyup
.
enter=
"handleQuery"
class=
"!w-240px"
/>
</el-form-item>
<el-form-item
label=
"API应用"
prop=
"apiName"
>
<el-form-item
label=
"API应用"
prop=
"apiName"
>
<el-input
<el-input
v-model=
"queryParams.apiName"
v-model=
"queryParams.apiName"
...
@@ -47,11 +56,13 @@
...
@@ -47,11 +56,13 @@
<el-form-item
label=
"订单状态"
prop=
"status"
>
<el-form-item
label=
"订单状态"
prop=
"status"
>
<el-select
<el-select
v-model=
"queryParams.status"
v-model=
"queryParams.status"
placeholder=
"请选择订单状态
:0=待支付,1=已支付,2=已取消
"
placeholder=
"请选择订单状态"
clearable
clearable
class=
"!w-240px"
class=
"!w-240px"
>
>
<el-option
label=
"请选择字典生成"
value=
""
/>
<el-option
label=
"待支付"
:value=
"0"
/>
<el-option
label=
"已支付"
:value=
"1"
/>
<el-option
label=
"已取消"
:value=
"2"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<!--
<el-form-item
label=
"支付订单编号"
prop=
"payOrderId"
>
-->
<!--
<el-form-item
label=
"支付订单编号"
prop=
"payOrderId"
>
-->
...
@@ -96,22 +107,22 @@
...
@@ -96,22 +107,22 @@
<!--
</el-form-item>
-->
<!--
</el-form-item>
-->
<el-form-item>
<el-form-item>
<el-button
@
click=
"handleQuery"
>
<el-button
@
click=
"handleQuery"
>
<Icon
icon=
"ep:search"
class=
"mr-5px"
/>
<Icon
icon=
"ep:search"
class=
"mr-5px"
/>
搜索
搜索
</el-button>
</el-button>
<el-button
@
click=
"resetQuery"
>
<el-button
@
click=
"resetQuery"
>
<Icon
icon=
"ep:refresh"
class=
"mr-5px"
/>
<Icon
icon=
"ep:refresh"
class=
"mr-5px"
/>
重置
重置
</el-button>
</el-button>
<el-button
<
!--
<
el-button
type=
"primary"
type=
"primary"
plain
plain
@
click=
"openForm('create')"
@
click=
"openForm('create')"
v-hasPermi=
"['apihub:api-order:create']"
v-hasPermi=
"['apihub:api-order:create']"
>
>
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
新增
</el-button>
</el-button>
-->
<el-button
<el-button
type=
"success"
type=
"success"
plain
plain
...
@@ -119,19 +130,19 @@
...
@@ -119,19 +130,19 @@
:loading=
"exportLoading"
:loading=
"exportLoading"
v-hasPermi=
"['apihub:api-order:export']"
v-hasPermi=
"['apihub:api-order:export']"
>
>
<Icon
icon=
"ep:download"
class=
"mr-5px"
/>
<Icon
icon=
"ep:download"
class=
"mr-5px"
/>
导出
导出
</el-button>
</el-button>
<el-button
<
!--
<
el-button
type=
"danger"
type=
"danger"
plain
plain
:disabled=
"isEmpty(checkedIds)"
:disabled=
"isEmpty(checkedIds)"
@
click=
"handleDeleteBatch"
@
click=
"handleDeleteBatch"
v-hasPermi=
"['apihub:api-order:delete']"
v-hasPermi=
"['apihub:api-order:delete']"
>
>
<Icon
icon=
"ep:delete"
class=
"mr-5px"
/>
<Icon
icon=
"ep:delete"
class=
"mr-5px"
/>
批量删除
批量删除
</el-button>
</el-button>
-->
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</ContentWrap>
</ContentWrap>
...
@@ -146,18 +157,42 @@
...
@@ -146,18 +157,42 @@
:show-overflow-tooltip=
"true"
:show-overflow-tooltip=
"true"
@
selection-change=
"handleRowCheckboxChange"
@
selection-change=
"handleRowCheckboxChange"
>
>
<
el-table-column
type=
"selection"
width=
"55"
/
>
<
!--
<el-table-column
type=
"selection"
width=
"55"
/>
--
>
<!--
<el-table-column
label=
"订单ID"
align=
"center"
prop=
"id"
/>
-->
<!--
<el-table-column
label=
"订单ID"
align=
"center"
prop=
"id"
/>
-->
<el-table-column
label=
"用户手机号"
align=
"center"
prop=
"userMobile"
width=
"120px"
/>
<el-table-column
label=
"用户手机号"
align=
"center"
prop=
"userMobile"
width=
"120px"
/>
<el-table-column
label=
"API应用"
align=
"center"
prop=
"apiName"
width=
"100px"
/>
<el-table-column
label=
"用户昵称"
align=
"center"
prop=
"userNickname"
width=
"100px"
/>
<el-table-column
label=
"套餐名称"
align=
"center"
prop=
"packageName"
width=
"100px"
/>
<el-table-column
label=
"API应用"
align=
"center"
prop=
"apiName"
width=
"100px"
/>
<el-table-column
label=
"订单编号"
align=
"center"
prop=
"orderNo"
width=
"100px"
/>
<el-table-column
label=
"套餐名称"
align=
"center"
prop=
"packageName"
width=
"100px"
/>
<el-table-column
label=
"订单编号"
align=
"center"
prop=
"orderNo"
width=
"100px"
/>
<el-table-column
label=
"订单金额"
align=
"center"
prop=
"costPrice"
>
<el-table-column
label=
"订单金额"
align=
"center"
prop=
"costPrice"
>
<template
#
default=
"scope"
>
{{
(
scope
.
row
.
costPrice
/
100
).
toFixed
(
2
)
}}
元
</
template
>
</el-table-column>
<el-table-column
label=
"订单状态"
align=
"center"
prop=
"status"
>
<
template
#
default=
"scope"
>
{{
scope
.
row
.
status
===
0
?
'待支付'
:
scope
.
row
.
status
===
1
?
'已支付'
:
scope
.
row
.
status
===
2
?
'已取消'
:
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"开票状态"
align=
"center"
prop=
"invoiceStatus"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
{{
(
scope
.
row
.
costPrice
/
100
).
toFixed
(
2
)
}}
元
{{
scope
.
row
.
invoiceStatus
===
InvoiceRequestEnum
.
UNINVOICED
.
type
?
InvoiceRequestEnum
.
UNINVOICED
.
name
:
scope
.
row
.
invoiceStatus
===
InvoiceRequestEnum
.
INVOICING
.
type
?
InvoiceRequestEnum
.
INVOICING
.
name
:
scope
.
row
.
invoiceStatus
===
InvoiceRequestEnum
.
INVOICED
.
type
?
InvoiceRequestEnum
.
INVOICED
.
name
:
'-'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"订单状态"
align=
"center"
prop=
"statusName"
/>
<!-- <el-table-column label="支付订单编号" align="center" prop="payOrderId" />-->
<!-- <el-table-column label="支付订单编号" align="center" prop="payOrderId" />-->
<el-table-column
<el-table-column
label=
"订单支付时间"
label=
"订单支付时间"
...
@@ -188,27 +223,30 @@
...
@@ -188,27 +223,30 @@
<!-- :formatter="dateFormatter"-->
<!-- :formatter="dateFormatter"-->
<!-- width="180px"-->
<!-- width="180px"-->
<!-- />-->
<!-- />-->
<el-table-column
label=
"操作"
align=
"center"
min-width=
"1
2
0px"
>
<el-table-column
label=
"操作"
align=
"center"
min-width=
"1
8
0px"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
<el-button
link
type=
"primary"
@
click=
"handleDetail(scope.row.id)"
>
详情
</el-button>
<!--
<el-button
link
link
type=
"primary"
type=
"primary"
@
click=
"openForm('update', scope.row.id)"
@
click=
"openForm('update', scope.row.id)"
v-hasPermi=
"['apihub:api-order:update']"
v-hasPermi=
"['apihub:api-order:update']"
>
>
编辑
编辑
</el-button>
</el-button>
-->
<el-button
<
!--
<
el-button
link
link
type=
"danger"
type=
"danger"
@
click=
"handleDelete(scope.row.id)"
@
click=
"handleDelete(scope.row.id)"
v-hasPermi=
"['apihub:api-order:delete']"
v-hasPermi=
"['apihub:api-order:delete']"
>
>
删除
删除
</el-button>
</el-button>
-->
<el-button
<el-button
v-if=
"scope.row.invoiceStatus === InvoiceRequestEnum.UNINVOICED.type ||
v-if=
"
scope.row.invoiceStatus === InvoiceRequestEnum.INVOICING.type"
scope.row.invoiceStatus === InvoiceRequestEnum.UNINVOICED.type ||
scope.row.invoiceStatus === InvoiceRequestEnum.INVOICING.type
"
link
link
type=
"warning"
type=
"warning"
plain
plain
...
@@ -236,40 +274,36 @@ scope.row.invoiceStatus === InvoiceRequestEnum.INVOICING.type"
...
@@ -236,40 +274,36 @@ scope.row.invoiceStatus === InvoiceRequestEnum.INVOICING.type"
@
pagination=
"getList"
@
pagination=
"getList"
/>
/>
<!-- 发票预览弹窗 -->
<!-- 发票预览弹窗 -->
<el-dialog
<el-dialog
v-model=
"pdfDialogVisible"
title=
"发票预览"
width=
"80%"
top=
"5vh"
>
v-model=
"pdfDialogVisible"
title=
"发票预览"
width=
"80%"
top=
"5vh"
>
<iframe
<iframe
v-if=
"invoiceUrl"
v-if=
"invoiceUrl"
:src=
"invoiceUrl"
:src=
"invoiceUrl"
style=
"width: 100%; height: 80vh; border: none
;
"
style=
"width: 100%; height: 80vh; border: none"
></iframe>
></iframe>
</el-dialog>
</el-dialog>
</ContentWrap>
</ContentWrap>
<!-- 表单弹窗:添加/修改 -->
<!-- 表单弹窗:添加/修改 -->
<ApiOrderForm
ref=
"formRef"
@
success=
"getList"
/>
<ApiOrderForm
ref=
"formRef"
@
success=
"getList"
/>
<OrderIssueInvoiceForm
ref=
"issueInvoiceFormRef"
@
success=
"getList"
/>
<OrderIssueInvoiceForm
ref=
"issueInvoiceFormRef"
@
success=
"getList"
/>
<ApiOrderDetail
ref=
"detailRef"
/>
</template>
</template>
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
isEmpty
}
from
'@/utils/is'
import
{
isEmpty
}
from
'@/utils/is'
import
{
dateFormatter
}
from
'@/utils/formatTime'
import
{
dateFormatter
}
from
'@/utils/formatTime'
import
download
from
'@/utils/download'
import
download
from
'@/utils/download'
import
{
ApiOrder
,
ApiOrderApi
}
from
'@/api/apihub/apiorder'
import
{
ApiOrder
,
ApiOrderApi
}
from
'@/api/apihub/apiorder'
import
ApiOrderForm
from
'./ApiOrderForm.vue'
import
ApiOrderForm
from
'./ApiOrderForm.vue'
import
OrderIssueInvoiceForm
from
"@/views/apihub/apiorder/OrderIssueInvoiceForm.vue"
;
import
OrderIssueInvoiceForm
from
'@/views/apihub/apiorder/OrderIssueInvoiceForm.vue'
import
{
InvoiceRequestEnum
}
from
"@/utils/constants"
;
import
ApiOrderDetail
from
'./ApiOrderDetail.vue'
import
{
InvoiceRequestEnum
}
from
'@/utils/constants'
/** api订单 列表 */
/** api订单 列表 */
defineOptions
({
name
:
'ApiOrder'
})
defineOptions
({
name
:
'ApiOrder'
})
const
message
=
useMessage
()
// 消息弹窗
const
message
=
useMessage
()
// 消息弹窗
const
{
t
}
=
useI18n
()
// 国际化
const
{
t
}
=
useI18n
()
// 国际化
const
loading
=
ref
(
true
)
// 列表的加载中
const
loading
=
ref
(
true
)
// 列表的加载中
const
list
=
ref
<
ApiOrder
[]
>
([])
// 列表的数据
const
list
=
ref
<
ApiOrder
[]
>
([])
// 列表的数据
...
@@ -277,6 +311,8 @@ const total = ref(0) // 列表的总页数
...
@@ -277,6 +311,8 @@ const total = ref(0) // 列表的总页数
const
queryParams
=
reactive
({
const
queryParams
=
reactive
({
pageNo
:
1
,
pageNo
:
1
,
pageSize
:
10
,
pageSize
:
10
,
mobile
:
undefined
,
nickname
:
undefined
,
userId
:
undefined
,
userId
:
undefined
,
apiId
:
undefined
,
apiId
:
undefined
,
apiName
:
undefined
,
apiName
:
undefined
,
...
@@ -321,19 +357,25 @@ const openForm = (type: string, id?: number) => {
...
@@ -321,19 +357,25 @@ const openForm = (type: string, id?: number) => {
formRef
.
value
.
open
(
type
,
id
)
formRef
.
value
.
open
(
type
,
id
)
}
}
const
detailRef
=
ref
()
const
handleDetail
=
(
id
:
number
)
=>
{
detailRef
.
value
.
open
(
id
)
}
/**
/**
* 开票
* 开票
*/
*/
const
issueInvoiceFormRef
=
ref
()
const
issueInvoiceFormRef
=
ref
()
const
issueInvoice
=
(
row
)
=>
{
const
issueInvoice
=
(
row
)
=>
{
issueInvoiceFormRef
.
value
.
open
(
row
)
;
issueInvoiceFormRef
.
value
.
open
(
row
)
}
}
const
pdfDialogVisible
=
ref
(
false
)
const
pdfDialogVisible
=
ref
(
false
)
const
invoiceUrl
=
ref
(
''
)
const
invoiceUrl
=
ref
(
''
)
function
viewInvoice
(
row
)
{
function
viewInvoice
(
row
)
{
invoiceUrl
.
value
=
import
.
meta
.
env
.
VITE_BASE_URL
+
'/admin-api/infra/file/preview?url='
+
row
.
invoiceUrl
// 从接口带回的 pdf 地址
invoiceUrl
.
value
=
import
.
meta
.
env
.
VITE_BASE_URL
+
'/admin-api/infra/file/preview?url='
+
row
.
invoiceUrl
// 从接口带回的 pdf 地址
pdfDialogVisible
.
value
=
true
pdfDialogVisible
.
value
=
true
}
}
...
@@ -347,8 +389,7 @@ const handleDelete = async (id: number) => {
...
@@ -347,8 +389,7 @@ const handleDelete = async (id: number) => {
message
.
success
(
t
(
'common.delSuccess'
))
message
.
success
(
t
(
'common.delSuccess'
))
// 刷新列表
// 刷新列表
await
getList
()
await
getList
()
}
catch
{
}
catch
{}
}
}
}
/** 批量删除api订单 */
/** 批量删除api订单 */
...
@@ -356,16 +397,15 @@ const handleDeleteBatch = async () => {
...
@@ -356,16 +397,15 @@ const handleDeleteBatch = async () => {
try
{
try
{
// 删除的二次确认
// 删除的二次确认
await
message
.
delConfirm
()
await
message
.
delConfirm
()
await
ApiOrderApi
.
deleteApiOrderList
(
checkedIds
.
value
)
;
await
ApiOrderApi
.
deleteApiOrderList
(
checkedIds
.
value
)
message
.
success
(
t
(
'common.delSuccess'
))
message
.
success
(
t
(
'common.delSuccess'
))
await
getList
();
await
getList
()
}
catch
{
}
catch
{}
}
}
}
const
checkedIds
=
ref
<
number
[]
>
([])
const
checkedIds
=
ref
<
number
[]
>
([])
const
handleRowCheckboxChange
=
(
records
:
ApiOrder
[])
=>
{
const
handleRowCheckboxChange
=
(
records
:
ApiOrder
[])
=>
{
checkedIds
.
value
=
records
.
map
((
item
)
=>
item
.
id
)
;
checkedIds
.
value
=
records
.
map
((
item
)
=>
item
.
id
)
}
}
/** 导出按钮操作 */
/** 导出按钮操作 */
...
...
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