Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
factory_front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qinjianhui
factory_front
Commits
11b50b9b
Commit
11b50b9b
authored
Sep 08, 2025
by
linjinhong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/lin-task' into dev
parents
ce747b90
e2f049d1
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
328 additions
and
22 deletions
+328
-22
src/api/myDownload.ts
+19
-0
src/components/NavMenu.vue
+5
-0
src/components/SearchForm.tsx
+1
-1
src/router/index.ts
+11
-1
src/views/MyDownloads.vue
+272
-0
src/views/order/orderTracking/index.vue
+2
-2
src/views/order/podUs/index.vue
+2
-2
src/views/podUsBillOrder/index.vue
+16
-16
No files found.
src/api/myDownload.ts
0 → 100644
View file @
11b50b9b
import
axios
from
'./axios'
import
{
BaseRespData
}
from
'@/types/api'
//我的下载列表
export
function
getExportRecordApi
(
params
:
{
pageSize
?:
number
currentPage
?:
number
})
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
'factory/exportRecord/getExportRecord '
,
params
,
)
}
export
function
deleteExportRecordByIdsApi
(
ids
:
string
)
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
'factory/exportRecord/delete'
,
{
params
:
{
ids
},
})
}
src/components/NavMenu.vue
View file @
11b50b9b
...
...
@@ -52,6 +52,7 @@
</span>
<
template
#
dropdown
>
<el-dropdown-menu>
<el-dropdown-item
@
click=
"toDownload"
>
我的下载
</el-dropdown-item>
<el-dropdown-item
@
click=
"resetPassword"
>
修改密码
</el-dropdown-item
>
...
...
@@ -455,6 +456,10 @@ onMounted(() => {
}
})
const
toDownload
=
()
=>
{
router
.
push
({
name
:
'MyDownloads'
})
}
onUnmounted
(()
=>
{
// 清理监听器
resizeObserver
.
disconnect
()
...
...
src/components/SearchForm.tsx
View file @
11b50b9b
...
...
@@ -187,8 +187,8 @@ export default defineComponent({
searchForm
.
value
[
item
.
prop
]
=
value
},
...
getComponentAttrs
(
item
),
style
:
{
width
:
`${componentWidth.value}px`
},
...
getComponentAttrs
(
item
),
})
}
</
ElFormItem
>
))
}
...
...
src/router/index.ts
View file @
11b50b9b
...
...
@@ -165,7 +165,8 @@ const router = createRouter({
title
:
'POD(CN)对账单'
,
},
component
:
PodBillOrder
,
},{
},
{
path
:
'/account/pod-us-bill-order'
,
meta
:
{
title
:
'POD(US)对账单'
,
...
...
@@ -284,6 +285,14 @@ const router = createRouter({
},
component
:
()
=>
import
(
'@/views/setting/settingIndex.vue'
),
},
{
path
:
'/MyDownloads'
,
meta
:
{
title
:
'我的下载'
,
},
name
:
'MyDownloads'
,
component
:
()
=>
import
(
'@/views/MyDownloads.vue'
),
},
],
},
// 登录
...
...
@@ -295,6 +304,7 @@ const router = createRouter({
path
:
'/user/reset'
,
component
:
Reset
,
},
// 其他路由
{
path
:
'/:pathMatch(.*)*'
,
...
...
src/views/MyDownloads.vue
0 → 100644
View file @
11b50b9b
<
template
>
<div
class=
"user-page flex-column card h-100 overflow-hidden"
>
<div
class=
"header-filter-form"
>
<SearchForm
v-model=
"searchForm"
:config=
"searchConfig"
@
search=
"search"
:isAddBtn=
"false"
@
delete=
"deleteFn"
></SearchForm>
</div>
<div
class=
"user-content flex-1 flex-column overflow-hidden"
>
<div
v-loading=
"loading"
class=
"user-list flex-1 overflow-hidden"
>
<CustomizeTable
border
align=
"center"
v-model=
"tableData"
:config=
"tableConfig"
@
get-checkbox-records=
"handleCheckboxRecords"
></CustomizeTable>
</div>
<ElPagination
v-model:current-page=
"currentPage"
v-model:page-size=
"pageSize"
:page-sizes=
"[100, 200, 300, 400, 500]"
background
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
style=
"margin: 10px auto 0; text-align: right"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
></ElPagination>
</div>
</div>
</
template
>
<
script
setup
lang=
"tsx"
>
defineOptions
({
name
:
'MyDownloads'
,
})
import
{
getExportRecordApi
,
deleteExportRecordByIdsApi
,
}
from
'@/api/myDownload'
import
{
ISeachFormConfig
}
from
'@/types/searchType'
import
{
TableColumn
}
from
'@/components/VxeTable'
import
SearchForm
from
'@/components/SearchForm.tsx'
import
CustomizeTable
from
'@/components/VxeTable.tsx'
import
usePageList
from
'@/utils/hooks/usePageList'
import
{
useValue
}
from
'@/utils/hooks/useValue'
import
{
filePath
}
from
'@/api/axios'
import
{
Delete
,
Download
}
from
'@element-plus/icons-vue'
const
[
searchForm
]
=
useValue
({
periodTime
:
[]
})
interface
ParamsType
{
startTime
?:
string
endTime
?:
string
periodTime
?:
string
[]
pageSize
:
number
currentPage
:
number
}
const
{
loading
,
currentPage
,
pageSize
,
total
,
data
:
tableData
,
refresh
:
search
,
onCurrentPageChange
:
handleCurrentChange
,
onPageSizeChange
:
handleSizeChange
,
}
=
usePageList
({
query
:
(
page
,
pageSize
)
=>
{
const
params
:
ParamsType
=
{
...
searchForm
.
value
,
pageSize
:
pageSize
,
currentPage
:
page
,
}
if
(
searchForm
.
value
?.
periodTime
.
length
)
{
params
.
startTime
=
searchForm
.
value
?.
periodTime
[
0
]
params
.
endTime
=
searchForm
.
value
?.
periodTime
[
1
]
}
params
.
periodTime
&&
delete
params
.
periodTime
return
getExportRecordApi
(
params
).
then
(({
data
})
=>
{
return
data
})
},
})
const
selection
=
ref
([])
const
searchConfig
=
ref
<
ISeachFormConfig
[]
>
([
{
prop
:
'periodTime'
,
type
:
'dateRangePicker'
,
label
:
'创建时间'
,
attrs
:
{
style
:
{
width
:
'380px'
},
clearable
:
true
,
type
:
'datetimerange'
,
'default-time'
:
[
new
Date
(
0
,
0
,
0
,
0
,
0
,
0
),
new
Date
(
0
,
0
,
0
,
23
,
59
,
59
),
],
'start-placeholder'
:
'开始时间'
,
'end-placeholder'
:
'结束时间'
,
format
:
'YYYY-MM-DD HH:mm:ss'
,
'value-format'
:
'YYYY-MM-DD HH:mm:ss'
,
},
},
{
prop
:
'status'
,
type
:
'select'
,
label
:
'状态'
,
attrs
:
{
clearable
:
true
,
placeholder
:
'请选择启用状态'
,
options
:
[
{
label
:
'正在生成'
,
value
:
1
},
{
label
:
'生成成功'
,
value
:
2
},
{
label
:
'生成失败'
,
value
:
3
},
],
},
},
{
prop
:
'fileDescription'
,
type
:
'input'
,
label
:
'下载描述'
,
attrs
:
{
clearable
:
true
,
placeholder
:
'请输入下载描述'
,
},
},
])
const
tableConfig
=
ref
<
TableColumn
[]
>
([
{
prop
:
'fileDescription'
,
label
:
'下载文件描述'
,
attrs
:
{
'min-width'
:
200
,
},
},
{
prop
:
'status'
,
label
:
'下载状态'
,
render
:
{
default
:
({
row
})
=>
(
<
div
>
{
row
.
status
===
1
?
'正在生成'
:
row
.
status
===
2
?
'生成成功'
:
'生成失败'
}
<
/div
>
),
},
},
{
prop
:
'createTime'
,
label
:
'创建时间'
,
},
{
prop
:
'finishTime'
,
label
:
'完成时间'
,
},
{
prop
:
'errorMsg'
,
label
:
'错误信息'
,
attrs
:
{
'min-width'
:
400
,
},
},
{
prop
:
'operating'
,
label
:
'操作'
,
attrs
:
{
align
:
'center'
,
},
render
:
{
default
:
({
row
})
=>
(
<
div
>
<
el
-
icon
size
=
"24"
title
=
"下载"
color
=
{
row
.
status
===
2
?
'#8cc34b'
:
'#ccc'
}
style
=
{{
cursor
:
row
.
status
===
2
?
'pointer'
:
'not-allowed'
,
verticalAlign
:
'middle'
,
opacity
:
row
.
status
===
2
?
1
:
0.6
,
}}
onClick
=
{
row
.
status
===
2
?
()
=>
downloadFn
(
row
as
{
fileUrl
:
string
})
:
undefined
}
>
<
Download
/>
<
/el-icon
>
<
el
-
icon
size
=
"24"
title
=
"删除"
color
=
"#f56c6c"
style
=
"cursor: pointer; vertical-align: middle"
onclick
=
{()
=>
deleteFn
(
row
.
id
as
string
|
number
)}
>
<
Delete
/>
<
/el-icon
>
<
/div
>
),
},
},
])
/**
* @description: 获取选中数据
*/
function
handleCheckboxRecords
(
value
:
never
[])
{
console
.
log
(
351
,
value
)
selection
.
value
=
value
}
function
downloadFn
(
data
:
{
fileUrl
:
string
})
{
window
.
open
(
filePath
+
data
.
fileUrl
,
'_blank'
)
console
.
log
(
248
,
data
)
}
async
function
deleteFn
(
id
?:
string
|
number
)
{
try
{
await
ElMessageBox
.
confirm
(
'确定删除该下载文件记录?'
,
'提示'
,
{
cancelButtonText
:
'取消'
,
confirmButtonText
:
'确认'
,
type
:
'warning'
,
})
let
ids
if
(
id
)
{
ids
=
[
id
].
join
(
','
)
}
else
{
ids
=
selection
.
value
.
map
((
el
:
{
id
:
string
})
=>
el
.
id
).
join
(
','
)
}
console
.
log
(
214
,
ids
)
await
deleteExportRecordByIdsApi
(
ids
)
ElMessage
.
success
(
'操作成功'
)
search
()
}
catch
(
error
)
{
console
.
log
(
error
)
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.header-filter-form
{
margin-bottom
:
20px
;
:deep(.el-form-item)
{
margin-right
:
14px
;
margin-bottom
:
10px
;
}
}
.user-operate-btn
{
margin-bottom
:
10px
;
}
.dialog-footer
{
text-align
:
center
;
}
</
style
>
src/views/order/orderTracking/index.vue
View file @
11b50b9b
...
...
@@ -424,11 +424,11 @@ const submitExportForm = async () => {
console
.
error
(
'未知的资源类型:'
,
resourceType
)
}
try
{
const
res
=
await
exportPodUSInfo
({
await
exportPodUSInfo
({
...
params
,
...(
resourceType
===
2
?
searchForm
.
value
:
{}),
})
window
.
open
(
filePath
+
res
.
message
,
'_blank
'
)
ElMessage
.
success
(
'请求成功,请稍后到右上角[我的下载]中查看
'
)
exportVisible
.
value
=
false
exportLoading
.
value
=
false
}
catch
(
e
)
{
...
...
src/views/order/podUs/index.vue
View file @
11b50b9b
...
...
@@ -2812,11 +2812,11 @@ const submitExportForm = async () => {
console
.
error
(
'未知的资源类型:'
,
resourceType
)
}
try
{
const
res
=
await
exportPodUSInfo
({
await
exportPodUSInfo
({
...
params
,
...(
resourceType
===
2
?
searchForm
.
value
:
{
}
),
}
)
window
.
open
(
filePath
+
res
.
message
,
'_blank
'
)
ElMessage
.
success
(
'请求成功,请稍后到右上角[我的下载]中查看
'
)
exportVisible
.
value
=
false
exportLoading
.
value
=
false
}
catch
(
e
)
{
...
...
src/views/podUsBillOrder/index.vue
View file @
11b50b9b
...
...
@@ -71,21 +71,21 @@
<
ElFormItem
>
<
ElButton
@
click
=
"reset"
>
重置
<
/ElButton
>
<
/ElFormItem
>
<!--
<
ElFormItem
v
-
if
=
"nodeId === 10"
>-->
<!--
<
el
-
button
type
=
"warning"
@
click
=
"rejectOrder"
>-->
<!--
驳回
-->
<!--
<
/el-button>--
>
<!--
<
/ElFormItem>--
>
<!--
<
ElFormItem
v
-
if
=
"nodeId === 10"
>-->
<!--
<
el
-
button
type
=
"warning"
@
click
=
"rejectOrder"
>-->
<!--
驳回
-->
<!--
<
/el-button>--
>
<!--
<
/ElFormItem>--
>
<
ElFormItem
>
<
el
-
button
type
=
"success"
@
click
=
"exportExcel"
>
导出
<
/el-button
>
<
/ElFormItem
>
<!--
<
ElFormItem
v
-
if
=
"nodeId === 10"
>-->
<!--
<
el
-
button
type
=
"danger"
@
click
=
"auditOrder('archive')"
>-->
<!--
归档
-->
<!--
<
/el-button>--
>
<!--
<
/ElFormItem>--
>
<!--
<
ElFormItem
v
-
if
=
"nodeId === 10"
>-->
<!--
<
el
-
button
type
=
"danger"
@
click
=
"auditOrder('archive')"
>-->
<!--
归档
-->
<!--
<
/el-button>--
>
<!--
<
/ElFormItem>--
>
<
/ElForm
>
<
/div
>
...
...
@@ -597,7 +597,6 @@
min
-
width
=
"220"
show
-
overflow
-
tooltip
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"工厂订单号"
...
...
@@ -607,7 +606,6 @@
min
-
width
=
"220"
show
-
overflow
-
tooltip
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"店铺单号"
...
...
@@ -705,8 +703,8 @@
min
-
width
=
"120"
show
-
overflow
-
tooltip
>
<
template
#
default
=
"{
row
}
"
>
{{
formatPrice
(
row
)
}}
<
template
#
default
=
"{
row
}
"
>
{{
formatPrice
(
row
)
}}
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
...
...
@@ -1276,8 +1274,10 @@ const tabsClick = async () => {
await
searchDetail
()
}
}
const
formatPrice
=
(
row
:
AccountStatementNote
)
=>
{
const
price
=
BigNumber
(
row
.
order
?.
total_amount
||
0
).
plus
(
BigNumber
(
row
.
order
?.
adjusted_amount
||
0
))
const
formatPrice
=
(
row
:
AccountStatementNote
)
=>
{
const
price
=
BigNumber
(
row
.
order
?.
total_amount
||
0
).
plus
(
BigNumber
(
row
.
order
?.
adjusted_amount
||
0
),
)
return
price
.
toString
()
}
// 删除
...
...
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