Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
c7066318
提交
c7066318
编写于
8月 11, 2021
作者:
lyf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bug
上级
f49f5c54
变更
2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
223 行增加
和
148 行删除
+223
-148
yqrangeApi.js
src/utils/yqrange/yqrangeApi.js
+40
-19
order-manage.vue
src/views/goods/order-manage.vue
+183
-129
未找到文件。
src/utils/yqrange/yqrangeApi.js
浏览文件 @
c7066318
...
@@ -264,6 +264,45 @@ export const getOrdersExportUrl = (params) => {
...
@@ -264,6 +264,45 @@ export const getOrdersExportUrl = (params) => {
})
})
};
};
export
const
uploadExpress
=
(
params
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`/store/batch/upload/express`
),
method
:
'POST'
,
data
:
params
,
description
:
'批量更新物流操作'
,
})
};
export
const
uploadRefund
=
(
params
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`/store/batch/upload/refund`
),
method
:
'POST'
,
data
:
params
,
description
:
'批量取消退款操作'
,
})
};
export
const
getUploadExpressProgress
=
(
id
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`store/batch/upload/progress/express/
${
id
}
`
),
method
:
'GET'
,
description
:
'查询批量更新物流处理进度,id为批次id'
,
})
};
export
const
getUploadRefundProgress
=
(
id
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`store/batch/upload/progress/refund/
${
id
}
`
),
method
:
'GET'
,
description
:
'查询批量取消退款处理进度,id为批次id'
,
})
};
export
const
getExamAwardList
=
(
params
)
=>
{
export
const
getExamAwardList
=
(
params
)
=>
{
return
fetch
({
return
fetch
({
...
@@ -346,25 +385,7 @@ export const delActivity = (params) => {
...
@@ -346,25 +385,7 @@ export const delActivity = (params) => {
description
:
'活动列表'
,
description
:
'活动列表'
,
})
})
};
};
//
export
const
uploadExpress
=
(
params
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`circle/v1/app/batch/upload/express`
),
method
:
'POST'
,
data
:
params
,
description
:
'批量更新物流操作'
,
})
};
export
const
getUploadProgress
=
(
params
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`circle/v1/app/batch/upload/progress/express/
${
id
}
`
),
method
:
'POST'
,
data
:
params
,
description
:
'查询批量更新物流处理进度,id为批次id'
,
})
};
src/views/goods/order-manage.vue
浏览文件 @
c7066318
...
@@ -127,13 +127,13 @@
...
@@ -127,13 +127,13 @@
<el-button
<el-button
type=
"primary"
type=
"primary"
size=
"small"
size=
"small"
@
click=
"
ExportLogisticsFlag = true
"
@
click=
"
ShowExportDialog(1)
"
>
导入物流单号
</el-button
>
导入物流单号
</el-button
>
>
<el-button
<el-button
type=
"primary"
type=
"primary"
size=
"small"
size=
"small"
@
click=
"
cancelOrderFlag = true
"
@
click=
"
ShowExportDialog(2)
"
>
批量取消订单
</el-button
>
批量取消订单
</el-button
>
>
</div>
</div>
...
@@ -258,6 +258,15 @@
...
@@ -258,6 +258,15 @@
</p>
</p>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"fanxxxx"
label=
"返现"
min-width=
"100"
align=
"center"
>
</el-table-column>
<el-table-column
<el-table-column
prop=
"saleTypeStr"
prop=
"saleTypeStr"
label=
"销售方式"
label=
"销售方式"
...
@@ -583,7 +592,6 @@
...
@@ -583,7 +592,6 @@
>
>
</span>
</span>
</el-dialog>
</el-dialog>
<el-dialog
<el-dialog
class=
"tui-dialog"
class=
"tui-dialog"
title=
"修改物流单号"
title=
"修改物流单号"
...
@@ -613,13 +621,12 @@
...
@@ -613,13 +621,12 @@
>
>
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 导入物流单号 dialog-->
<!-- 导入物流单号 dialog-->
<el-dialog
<el-dialog
class=
"exportlogistics-dialog"
class=
"exportlogistics-dialog"
title=
"导入物流单号
"
:title=
"ExportType == 1 ? '导入物流单号' : '批量取消订单'
"
:visible=
"
ExportLogisticsFla
g"
:visible=
"
exportDialo
g"
@
close=
"
ExportLogisticsFla
g = false"
@
close=
"
exportDialo
g = false"
width=
"600px"
width=
"600px"
>
>
<el-form
label-width=
"120px"
>
<el-form
label-width=
"120px"
>
...
@@ -631,7 +638,7 @@
...
@@ -631,7 +638,7 @@
multiple
multiple
:limit=
"1"
:limit=
"1"
:show-file-list=
"false"
:show-file-list=
"false"
:before-upload=
"upload
Express
"
:before-upload=
"upload
file
"
>
>
<div
class=
"upload-container"
>
<div
class=
"upload-container"
>
<el-input
<el-input
...
@@ -645,59 +652,21 @@
...
@@ -645,59 +652,21 @@
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
<el-form-item
label=
"模板:"
>
<el-form-item
label=
"模板:"
>
<a
class=
"importUrl"
:href=
"importUrl"
>
物流单号修改模板.xlxs
</a>
<a
v-if=
"ExportType == 1"
class=
"importUrl"
:href=
"LogisticsUrl"
>
</el-form-item>
物流单号修改模板.xlxs
</a
</el-form>
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<a
v-else
class=
"importUrl"
:href=
"CancelOrderUrl"
>
<el-button
size=
"small"
@
click=
"cancelExportLogistics"
>
取消
</el-button>
批量取消模板.xlxs
</a
<el-button
size=
"small"
type=
"primary"
@
click=
"confirmExport"
>
确认
</el-button
>
</div>
</el-dialog>
<!-- 批量取消订单 dialog-->
<el-dialog
class=
"exportlogistics-dialog"
title=
"批量取消订单"
:visible=
"cancelOrderFlag"
@
close=
"cancelOrderFlag = false"
width=
"600px"
>
<el-form
label-width=
"120px"
>
<el-form-item
label=
"导入文档:"
>
<el-upload
class=
"upload-excel"
action=
"#"
accept=
".xlsx"
multiple
:show-file-list=
"false"
:limit=
"1"
:before-upload=
"uploadExpress"
>
>
<div
class=
"upload-container"
>
<el-input
class=
"file-name"
v-model=
"fileData.fileName"
size=
"mini"
readonly
></el-input
><el-button
type=
"primary"
size=
"mini"
>
选择文件
</el-button>
</div>
</el-upload>
</el-form-item>
<el-form-item
label=
"模板:"
>
<a
class=
"importUrl"
:href=
"importUrl"
>
批量取消模板.xlxs
</a>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"cancel
Order
"
>
取消
</el-button>
<el-button
size=
"small"
@
click=
"cancel
Export
"
>
取消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"confirmExport"
<el-button
size=
"small"
type=
"primary"
@
click=
"confirmExport"
>
确认
</el-button
>
确认
</el-button
>
>
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 导出进度loading -->
<!-- 导出进度loading -->
<el-dialog
<el-dialog
class=
"exportlogistics-dialog"
class=
"exportlogistics-dialog"
...
@@ -709,8 +678,7 @@
...
@@ -709,8 +678,7 @@
<div>
<div>
<div
class=
"progress-container"
>
<div
class=
"progress-container"
>
<div
class=
"progress-tag"
>
<div
class=
"progress-tag"
>
1/25
{{ ProgressData.doneNum }}/{{ ProgressData.totalNum }}
<div
class=
"popper__arrow"
></div>
<div
class=
"popper__arrow"
></div>
</div>
</div>
<div
class=
"progress-content"
>
正在导入...
</div>
<div
class=
"progress-content"
>
正在导入...
</div>
...
@@ -718,29 +686,6 @@
...
@@ -718,29 +686,6 @@
</div>
</div>
</el-dialog>
</el-dialog>
<!--导入完成 -->
<el-dialog
class=
"exportlogistics-dialog"
title=
"导入完成"
:visible=
"statFlg"
@
close=
"statFlg = false"
width=
"600px"
>
<div
class=
"stat-container"
>
<div
class=
"stat-title"
>
模板数据共300条
</div>
<div
class=
"stat-result"
>
<div
class=
"success"
>
成功:285条
</div>
<div
class=
"repetition"
>
重复:20条
</div>
<div
class=
"failure"
>
失败:10条
</div>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"statFlg = false"
>
取消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"confirmCancelOrder"
>
查看失败原因
</el-button
>
</div>
</el-dialog>
<!-- 结果统计 -->
<!-- 结果统计 -->
<el-dialog
<el-dialog
class=
"exportlogistics-dialog"
class=
"exportlogistics-dialog"
...
@@ -750,16 +695,16 @@
...
@@ -750,16 +695,16 @@
width=
"600px"
width=
"600px"
>
>
<div
class=
"stat-container"
>
<div
class=
"stat-container"
>
<div
class=
"stat-title"
>
模板数据共
300
条
</div>
<div
class=
"stat-title"
>
模板数据共
{{ ProgressData.totalNum }}
条
</div>
<div
class=
"stat-result"
>
<div
class=
"stat-result"
>
<div
class=
"success"
>
成功:
285
条
</div>
<div
class=
"success"
>
成功:
{{ ProgressData.successNum }}
条
</div>
<div
class=
"repetition"
>
重复:
20
条
</div>
<div
class=
"repetition"
>
重复:
{{ ProgressData.repeatNum }}
条
</div>
<div
class=
"failure"
>
失败:
10
条
</div>
<div
class=
"failure"
>
失败:
{{ ProgressData.failNum }}
条
</div>
</div>
</div>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"statFlg = false"
>
取消
</el-button>
<el-button
size=
"small"
@
click=
"statFlg = false"
>
取消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"
confirmCancelOrder
"
<el-button
size=
"small"
type=
"primary"
@
click=
"
showReasondialog
"
>
查看失败原因
</el-button
>
查看失败原因
</el-button
>
>
</div>
</div>
...
@@ -773,34 +718,66 @@
...
@@ -773,34 +718,66 @@
@
close=
"FailureReasonFlag = false"
@
close=
"FailureReasonFlag = false"
width=
"1000px"
width=
"1000px"
>
>
<div
class=
"FailureReasonFlag-container"
>
<div
class=
"FailureReasonFlag-container"
v-if=
"ExportType == 1"
>
<el-table
:data=
"FailureTable"
border
height=
"300"
style=
"width: 100%"
>
<el-table
:data=
"ProgressData.errorList"
border
height=
"300"
style=
"width: 100%"
>
<el-table-column
<el-table-column
prop=
"
i
d"
prop=
"
subOrderI
d"
label=
"订单号"
label=
"订单号"
align=
"center"
align=
"center"
></el-table-column>
></el-table-column>
<el-table-column
<el-table-column
prop=
"
goodsQuantityList
"
prop=
"
expressName
"
label=
"快递公司"
label=
"快递公司"
align=
"center"
align=
"center"
>
></el-table-column>
<el-table-column
prop=
"expressNo"
label=
"快递单号"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"remark"
label=
"备注"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"failInfo"
label=
"失败原因"
align=
"center"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"快递单号"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"operationGuide"
label=
"操作指引"
align=
"center"
>
</el-table-column>
</el-table>
</div>
<el-table-column
label=
"备注"
align=
"center"
>
</el-table-column>
<div
class=
"FailureReasonFlag-container"
v-else
>
<el-table-column
label=
"失败原因"
align=
"center"
>
</el-table-column>
<el-table
:data=
"ProgressData.errorList"
border
height=
"300"
style=
"width: 100%"
>
<el-table-column
prop=
"subOrderId"
label=
"订单号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"refundReason"
label=
"取消原因"
align=
"center"
></el-table-column>
<el-table-column
prop=
"failInfo"
label=
"失败原因"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"operationGuide"
label=
"操作指引"
align=
"center"
>
<
el-table-column
label=
"操作指引"
align=
"center"
>
<
/el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"FailureReasonFlag = false"
<el-button
size=
"small"
@
click=
"FailureReasonFlag = false"
>
取消
</el-button
>
取消
</el-button
>
>
<
el-button
size=
"small"
type=
"primary"
@
click=
"FailureReasonFlag"
<
a
:href=
"ProgressData.errorFileUrl"
>
>
导出失败记录
</el-button
<el-button
size=
"small"
type=
"primary"
>
导出失败记录
</el-button>
>
</a
>
</div>
</div>
</el-dialog>
</el-dialog>
</div>
</div>
...
@@ -812,7 +789,9 @@ import SendSetDialog from "@/components/shop/send-set-dialog";
...
@@ -812,7 +789,9 @@ import SendSetDialog from "@/components/shop/send-set-dialog";
import
{
import
{
getOrdersExportUrl
,
getOrdersExportUrl
,
uploadExpress
,
uploadExpress
,
getUploadProgress
,
uploadRefund
,
getUploadExpressProgress
,
getUploadRefundProgress
,
}
from
"@/utils/yqrange/yqrangeApi"
;
}
from
"@/utils/yqrange/yqrangeApi"
;
import
{
import
{
queryOrderList
,
queryOrderList
,
...
@@ -855,9 +834,9 @@ export default {
...
@@ -855,9 +834,9 @@ export default {
},
},
// 确认物流
// 确认物流
statFlg
:
false
,
statFlg
:
false
,
ExportLogisticsFlag
:
false
,
exportDialog
:
false
,
ExportType
:
1
,
// 1导入物流信息 2、批量取消订单
FailureReasonFlag
:
false
,
FailureReasonFlag
:
false
,
cancelOrderFlag
:
false
,
progressFlag
:
false
,
progressFlag
:
false
,
totalRows
:
0
,
totalRows
:
0
,
tableData
:
[],
tableData
:
[],
...
@@ -960,13 +939,28 @@ export default {
...
@@ -960,13 +939,28 @@ export default {
brokerList
:
[],
brokerList
:
[],
brokerOwnerList
:
[],
brokerOwnerList
:
[],
showOrderNoFlag
:
false
,
showOrderNoFlag
:
false
,
importUrl
:
""
,
LogisticsUrl
:
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/application/vnd.openxmlformats-officedocument.spreadsheetml.sheet/2021/08/11/20210811143152984-191c5df6.xlsx"
,
CancelOrderUrl
:
"https://pica-pro.oss-cn-shanghai.aliyuncs.com/application/vnd.openxmlformats-officedocument.spreadsheetml.sheet/2021/08/11/20210811143101795-d6363772.xlsx"
,
timer
:
null
,
timer
:
null
,
pickerOptions1
:
{
pickerOptions1
:
{
disabledDate
:
(
time
)
=>
{
disabledDate
:
(
time
)
=>
{
return
time
.
getTime
()
>
new
Date
().
getTime
();
//减去一天的时间代表可以选择同一天;
return
time
.
getTime
()
>
new
Date
().
getTime
();
//减去一天的时间代表可以选择同一天;
},
},
},
},
ProgressData
:
{
totalNum
:
""
,
//总数
status
:
""
,
// 1完成 0进行中
doneNum
:
""
,
// doneNum 完成数量
successNum
:
""
,
// 成功数量
failNum
:
""
,
//失败数量
repeatNum
:
""
,
errorFileUrl
:
""
,
// 失败 原因文件
errorList
:
[],
// 失败列表
},
// errorFileUrl:"",
};
};
},
},
created
()
{
created
()
{
...
@@ -979,39 +973,108 @@ export default {
...
@@ -979,39 +973,108 @@ export default {
methods
:
{
methods
:
{
// 确认导入
// 确认导入
confirmExport
()
{
confirmExport
()
{
this
.
progressFlag
=
true
;
if
(
this
.
ExportType
==
1
)
{
this
.
uploadExpress
();
}
else
{
this
.
uploadRefund
();
}
},
//
ShowExportDialog
(
type
)
{
this
.
ExportType
=
type
;
this
.
exportDialog
=
true
;
this
.
fileData
=
{
fileBaseStr
:
""
,
fileName
:
""
,
}
},
// 批量更新物流操作
uploadExpress
()
{
openLoading
(
this
);
openLoading
(
this
);
uploadExpress
(
this
.
fileData
).
then
((
res
)
=>
{
uploadExpress
(
this
.
fileData
)
.
then
((
res
)
=>
{
if
(
res
&&
res
.
code
==
"000000"
)
{
closeLoading
(
this
);
this
.
getUploadExpressProgress
(
res
.
data
.
tradeBatchUploadLogId
);
}
else
{
this
.
$message
.
error
(
res
.
message
);
}
})
.
catch
((
err
)
=>
{
closeLoading
(
this
);
});
},
// 批量取消退款操作
uploadRefund
()
{
openLoading
(
this
);
uploadRefund
(
this
.
fileData
).
then
((
res
)
=>
{
console
.
log
(
res
);
console
.
log
(
res
);
closeLoading
(
this
);
if
(
res
&&
res
.
code
==
"000000"
)
{
this
.
progressFlag
=
true
;
closeLoading
(
this
);
// _this.setDialog(res);
this
.
getUploadProgress
(
id
);
this
.
getUploadRefundProgress
(
res
.
data
.
tradeBatchUploadLogId
);
}
});
});
},
},
// 获取进度
getUploadProgress
(
id
)
{
// 获取物流上传进度
getUploadExpressProgress
(
id
)
{
clearInterval
(
this
.
timer
);
this
.
timer
=
setInterval
(()
=>
{
getUploadExpressProgress
(
id
).
then
((
res
)
=>
{
if
(
res
&&
res
.
code
==
"000000"
)
{
this
.
exportDialog
=
false
;
this
.
progressFlag
=
true
;
this
.
ProgressData
=
res
.
data
;
if
(
res
.
data
.
status
==
1
)
{
clearInterval
(
this
.
timer
);
setTimeout
(()
=>
{
this
.
progressFlag
=
false
;
this
.
statFlg
=
true
;
},
2000
);
}
}
else
{
this
.
$message
.
error
(
res
.
message
);
}
});
},
2000
);
},
// 获取批量取消进度
getUploadRefundProgress
(
id
)
{
clearInterval
(
this
.
timer
);
clearInterval
(
this
.
timer
);
this
.
timer
=
setInterval
(()
=>
{
this
.
timer
=
setInterval
(()
=>
{
this
.
time
--
;
getUploadRefundProgress
(
id
).
then
((
res
)
=>
{
if
(
this
.
time
===
0
)
{
if
(
res
&&
res
.
code
==
"000000"
)
{
getUploadProgress
(
id
).
then
((
res
)
=>
{
this
.
exportDialog
=
false
;
if
(
res
.
code
==
"0000"
&&
res
.
status
==
1
)
{
this
.
progressFlag
=
true
;
this
.
ProgressData
=
res
.
data
;
if
(
res
.
data
.
status
==
1
)
{
clearInterval
(
this
.
timer
);
clearInterval
(
this
.
timer
);
setTimeout
(()
=>
{
this
.
progressFlag
=
false
;
this
.
statFlg
=
true
;
},
2000
);
}
}
});
}
else
{
}
this
.
$message
.
error
(
res
.
message
);
},
1000
);
}
});
},
2000
);
},
},
// 取消导入物流信息
// 取消导入物流信息
cancelExportLogistics
()
{
cancelExport
()
{
this
.
ExportLogisticsFlag
=
false
;
(
this
.
fileData
=
{
fileBaseStr
:
""
,
fileName
:
""
,
}),
(
this
.
exportDialog
=
false
);
},
},
// 导入物流单号
// 导入物流单号
upload
Express
(
file
)
{
upload
file
(
file
)
{
let
_this
=
this
;
let
_this
=
this
;
let
arr
=
file
.
type
.
split
(
"/"
);
let
arr
=
file
.
type
.
split
(
"/"
);
let
ext
=
"."
+
arr
[
1
];
let
ext
=
"."
+
arr
[
1
];
let
name
=
file
.
name
;
let
name
=
file
.
name
;
...
@@ -1026,19 +1089,10 @@ export default {
...
@@ -1026,19 +1089,10 @@ export default {
};
};
reader
.
readAsDataURL
(
file
);
reader
.
readAsDataURL
(
file
);
},
},
//确认导入物流信息
confirmExportLogistics
()
{
this
.
ExportLogisticsFlag
=
false
;
},
// 确认取消订单
// 确认取消订单
confirmCancelOrder
()
{
showReasondialog
()
{
this
.
cancelOrderFlag
=
false
;
this
.
statFlg
=
false
;
},
this
.
FailureReasonFlag
=
true
;
// 取消订单
cancelOrder
()
{
this
.
cancelOrderFlag
=
false
;
},
},
searchList
()
{
searchList
()
{
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录