1
This commit is contained in:
@@ -226,6 +226,14 @@
|
||||
title="复制退货信息">
|
||||
退货复制
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
size="mini"
|
||||
icon="el-icon-document-copy"
|
||||
@click="copySingleOrderExcelText(scope.row)"
|
||||
title="复制录单格式(Excel可粘贴)">
|
||||
录单格式
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
size="mini"
|
||||
@@ -1298,7 +1306,96 @@ export default {
|
||||
this.copyToClipboard(text)
|
||||
},
|
||||
|
||||
/** 复制录单格式文本到剪贴板 */
|
||||
/** 复制单条订单的录单格式文本到剪贴板 */
|
||||
copySingleOrderExcelText(row) {
|
||||
try {
|
||||
// 日期(格式:yyyy/MM/dd)
|
||||
let dateStr = ''
|
||||
if (row.orderTime) {
|
||||
const date = new Date(row.orderTime)
|
||||
const year = date.getFullYear()
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(date.getDate()).padStart(2, '0')
|
||||
dateStr = `${year}/${month}/${day}`
|
||||
}
|
||||
|
||||
// 多多单号(第三方单号,如果没有则使用内部单号)
|
||||
const duoduoOrderNo = (row.thirdPartyOrderNo && row.thirdPartyOrderNo.trim())
|
||||
? row.thirdPartyOrderNo : (row.remark || '')
|
||||
|
||||
// 型号
|
||||
const modelNumber = row.modelNumber || ''
|
||||
|
||||
// 数量(固定为1)
|
||||
const quantity = '1'
|
||||
|
||||
// 姓名(下单人)
|
||||
const buyer = row.buyer || ''
|
||||
|
||||
// 地址
|
||||
const address = row.address || ''
|
||||
|
||||
// 售价(京粉实际价格,如果没有则用付款金额-后返金额)
|
||||
let sellingPrice = row.jingfenActualPrice
|
||||
if (!sellingPrice || sellingPrice === 0) {
|
||||
const payment = row.paymentAmount || 0
|
||||
const rebate = row.rebateAmount || 0
|
||||
sellingPrice = payment - rebate
|
||||
}
|
||||
const sellingPriceStr = (sellingPrice && sellingPrice > 0)
|
||||
? sellingPrice.toFixed(2) : ''
|
||||
|
||||
// 成本(售价 - 利润,利润是后返金额)
|
||||
const rebate = row.rebateAmount || 0
|
||||
let cost = null
|
||||
if (sellingPrice && sellingPrice > 0 && rebate > 0) {
|
||||
cost = sellingPrice - rebate
|
||||
}
|
||||
const costStr = (cost && cost > 0) ? cost.toFixed(2) : ''
|
||||
|
||||
// 利润(后返金额)
|
||||
const profitStr = (rebate > 0) ? rebate.toFixed(2) : ''
|
||||
|
||||
// 京东单号
|
||||
const orderId = row.orderId || ''
|
||||
|
||||
// 物流链接
|
||||
const logisticsLink = row.logisticsLink || ''
|
||||
|
||||
// 下单付款
|
||||
const paymentAmountStr = row.paymentAmount
|
||||
? row.paymentAmount.toFixed(2) : ''
|
||||
|
||||
// 后返
|
||||
const rebateAmountStr = row.rebateAmount
|
||||
? row.rebateAmount.toFixed(2) : ''
|
||||
|
||||
// 按顺序拼接:日期、多多单号、型号、数量、姓名、地址、售价、成本、利润、京东单号、物流、下单付款、后返
|
||||
const text = [
|
||||
dateStr,
|
||||
duoduoOrderNo,
|
||||
modelNumber,
|
||||
quantity,
|
||||
buyer,
|
||||
address,
|
||||
sellingPriceStr,
|
||||
costStr,
|
||||
profitStr,
|
||||
orderId,
|
||||
logisticsLink,
|
||||
paymentAmountStr,
|
||||
rebateAmountStr
|
||||
].join('\t')
|
||||
|
||||
this.copyToClipboard(text)
|
||||
this.$message.success('已复制到剪贴板,可以直接粘贴到Excel')
|
||||
} catch (e) {
|
||||
this.$message.error('复制失败:' + (e.message || '未知错误'))
|
||||
console.error('复制单条订单录单格式失败', e)
|
||||
}
|
||||
},
|
||||
|
||||
/** 复制录单格式文本到剪贴板(批量) */
|
||||
async handleCopyExcelText() {
|
||||
try {
|
||||
this.prepareQueryParams()
|
||||
|
||||
Reference in New Issue
Block a user