提交 c7066318 编写于 作者: lyf's avatar lyf

bug

上级 f49f5c54
......@@ -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) => {
return fetch({
......@@ -346,25 +385,7 @@ export const delActivity = (params) => {
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',
})
};
......@@ -127,13 +127,13 @@
<el-button
type="primary"
size="small"
@click="ExportLogisticsFlag = true"
@click="ShowExportDialog(1)"
>导入物流单号</el-button
>
<el-button
type="primary"
size="small"
@click="cancelOrderFlag = true"
@click="ShowExportDialog(2)"
>批量取消订单</el-button
>
</div>
......@@ -258,6 +258,15 @@
</p>
</template>
</el-table-column>
<el-table-column
prop="fanxxxx"
label="返现"
min-width="100"
align="center"
>
</el-table-column>
<el-table-column
prop="saleTypeStr"
label="销售方式"
......@@ -583,7 +592,6 @@
>
</span>
</el-dialog>
<el-dialog
class="tui-dialog"
title="修改物流单号"
......@@ -613,13 +621,12 @@
>
</span>
</el-dialog>
<!-- 导入物流单号 dialog-->
<el-dialog
class="exportlogistics-dialog"
title="导入物流单号"
:visible="ExportLogisticsFlag"
@close="ExportLogisticsFlag = false"
:title="ExportType == 1 ? '导入物流单号' : '批量取消订单'"
:visible="exportDialog"
@close="exportDialog = false"
width="600px"
>
<el-form label-width="120px">
......@@ -631,7 +638,7 @@
multiple
:limit="1"
:show-file-list="false"
:before-upload="uploadExpress"
:before-upload="uploadfile"
>
<div class="upload-container">
<el-input
......@@ -645,59 +652,21 @@
</el-upload>
</el-form-item>
<el-form-item label="模板:">
<a class="importUrl" :href="importUrl"> 物流单号修改模板.xlxs</a>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="cancelExportLogistics">取消</el-button>
<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"
<a v-if="ExportType == 1" class="importUrl" :href="LogisticsUrl">
物流单号修改模板.xlxs</a
>
<a v-else class="importUrl" :href="CancelOrderUrl">
批量取消模板.xlxs</a
>
<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>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="cancelOrder">取消</el-button>
<el-button size="small" @click="cancelExport">取消</el-button>
<el-button size="small" type="primary" @click="confirmExport"
>确认</el-button
>
</div>
</el-dialog>
<!-- 导出进度loading -->
<el-dialog
class="exportlogistics-dialog"
......@@ -709,8 +678,7 @@
<div>
<div class="progress-container">
<div class="progress-tag">
1/25
{{ ProgressData.doneNum }}/{{ ProgressData.totalNum }}
<div class="popper__arrow"></div>
</div>
<div class="progress-content">正在导入...</div>
......@@ -718,29 +686,6 @@
</div>
</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
class="exportlogistics-dialog"
......@@ -750,16 +695,16 @@
width="600px"
>
<div class="stat-container">
<div class="stat-title">模板数据共300</div>
<div class="stat-title">模板数据共{{ ProgressData.totalNum }}</div>
<div class="stat-result">
<div class="success">成功:285</div>
<div class="repetition">重复:20</div>
<div class="failure">失败:10</div>
<div class="success">成功:{{ ProgressData.successNum }}</div>
<div class="repetition">重复:{{ ProgressData.repeatNum }}</div>
<div class="failure">失败:{{ ProgressData.failNum }}</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 size="small" type="primary" @click="showReasondialog"
>查看失败原因</el-button
>
</div>
......@@ -773,34 +718,66 @@
@close="FailureReasonFlag = false"
width="1000px"
>
<div class="FailureReasonFlag-container">
<el-table :data="FailureTable" border height="300" style="width: 100%">
<div class="FailureReasonFlag-container" v-if="ExportType == 1">
<el-table
:data="ProgressData.errorList"
border
height="300"
style="width: 100%"
>
<el-table-column
prop="id"
prop="subOrderId"
label="订单号"
align="center"
></el-table-column>
<el-table-column
prop="goodsQuantityList"
prop="expressName"
label="快递公司"
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 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>
<el-table-column label="失败原因" align="center"> </el-table-column>
<div class="FailureReasonFlag-container" v-else>
<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>
</div>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="FailureReasonFlag = false"
>取消</el-button
>
<el-button size="small" type="primary" @click="FailureReasonFlag"
>导出失败记录</el-button
>
<a :href="ProgressData.errorFileUrl">
<el-button size="small" type="primary">导出失败记录</el-button>
</a>
</div>
</el-dialog>
</div>
......@@ -812,7 +789,9 @@ import SendSetDialog from "@/components/shop/send-set-dialog";
import {
getOrdersExportUrl,
uploadExpress,
getUploadProgress,
uploadRefund,
getUploadExpressProgress,
getUploadRefundProgress,
} from "@/utils/yqrange/yqrangeApi";
import {
queryOrderList,
......@@ -855,9 +834,9 @@ export default {
},
// 确认物流
statFlg: false,
ExportLogisticsFlag: false,
exportDialog: false,
ExportType: 1, // 1导入物流信息 2、批量取消订单
FailureReasonFlag: false,
cancelOrderFlag: false,
progressFlag: false,
totalRows: 0,
tableData: [],
......@@ -960,13 +939,28 @@ export default {
brokerList: [],
brokerOwnerList: [],
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,
pickerOptions1: {
disabledDate: (time) => {
return time.getTime() > new Date().getTime(); //减去一天的时间代表可以选择同一天;
},
},
ProgressData: {
totalNum: "", //总数
status: "", // 1完成 0进行中
doneNum: "", // doneNum 完成数量
successNum: "", // 成功数量
failNum: "", //失败数量
repeatNum: "",
errorFileUrl: "", // 失败 原因文件
errorList: [], // 失败列表
},
// errorFileUrl:"",
};
},
created() {
......@@ -979,39 +973,108 @@ export default {
methods: {
// 确认导入
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);
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);
closeLoading(this);
this.progressFlag = true;
// _this.setDialog(res);
this.getUploadProgress(id);
if (res && res.code == "000000") {
closeLoading(this);
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);
this.timer = setInterval(() => {
this.time--;
if (this.time === 0) {
getUploadProgress(id).then((res) => {
if (res.code == "0000" && res.status == 1) {
getUploadRefundProgress(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);
}
});
}
}, 1000);
} else {
this.$message.error(res.message);
}
});
}, 2000);
},
// 取消导入物流信息
cancelExportLogistics() {
this.ExportLogisticsFlag = false;
cancelExport() {
(this.fileData = {
fileBaseStr: "",
fileName: "",
}),
(this.exportDialog = false);
},
// 导入物流单号
uploadExpress(file) {
uploadfile(file) {
let _this = this;
let arr = file.type.split("/");
let ext = "." + arr[1];
let name = file.name;
......@@ -1026,19 +1089,10 @@ export default {
};
reader.readAsDataURL(file);
},
//确认导入物流信息
confirmExportLogistics() {
this.ExportLogisticsFlag = false;
},
// 确认取消订单
confirmCancelOrder() {
this.cancelOrderFlag = false;
},
// 取消订单
cancelOrder() {
this.cancelOrderFlag = false;
showReasondialog() {
this.statFlg=false;
this.FailureReasonFlag = true;
},
searchList() {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册