提交
This commit is contained in:
1 parent
98531845e4
commit
1ba1f38321
107 files changed
+65567
-36568
No files matched your search
@@ -0,0 +1,77 @@
|
||||
/**
|
||||
* 加油登记发微信群纯文本(与 web-admin buildFuelRegisterCopyText 对齐)
|
||||
*/
|
||||
|
||||
const CATEGORY_LABELS = {
|
||||
bailian: '百链',
|
||||
gas_station: '加油站',
|
||||
shanxia_factory: '山峡'
|
||||
}
|
||||
|
||||
export function countPlAttachmentUrls(raw) {
|
||||
return String(raw || '')
|
||||
.split(',')
|
||||
.map((s) => s.trim())
|
||||
.filter(Boolean).length
|
||||
}
|
||||
|
||||
export function getPlFuelCategoryLabel(category) {
|
||||
return CATEGORY_LABELS[category] || category || '—'
|
||||
}
|
||||
|
||||
export function buildFuelRegisterCopyText(row = {}) {
|
||||
const dash = '—'
|
||||
const seq =
|
||||
row.seqNo != null && Number.isFinite(Number(row.seqNo)) ? String(row.seqNo) : dash
|
||||
const liters =
|
||||
row.fuelLiters != null && Number.isFinite(Number(row.fuelLiters))
|
||||
? Number(row.fuelLiters).toFixed(2)
|
||||
: dash
|
||||
let tons = dash
|
||||
if (row.fuelTons != null && Number.isFinite(Number(row.fuelTons))) {
|
||||
tons = Number(row.fuelTons).toFixed(3)
|
||||
} else if (row.fuelLiters != null && Number.isFinite(Number(row.fuelLiters))) {
|
||||
tons = (Number(row.fuelLiters) / 1176).toFixed(3)
|
||||
}
|
||||
const odometer =
|
||||
row.odometerKm != null && Number.isFinite(Number(row.odometerKm))
|
||||
? `${Number(row.odometerKm).toFixed(1)} KM`
|
||||
: dash
|
||||
const plate = String(row.licensePlate || '').trim() || dash
|
||||
return [
|
||||
`【${plate} - 加油登记】`,
|
||||
`序号:${seq}`,
|
||||
`登记单号:${row.registerNo || dash}`,
|
||||
`加油类别:${getPlFuelCategoryLabel(row.fuelCategory)}`,
|
||||
`日期:${row.registerDate || dash}`,
|
||||
`登记人:${row.registrantName || dash}`,
|
||||
`车牌号:${plate}`,
|
||||
`期初公里数:${odometer}`,
|
||||
`加油升数:${liters === dash ? dash : `${liters} L`}`,
|
||||
`加油/吨:${tons}`,
|
||||
`附件个数:${countPlAttachmentUrls(row.attachmentUrls)}`,
|
||||
`备注:${String(row.remark || '').trim() || dash}`
|
||||
].join('\n')
|
||||
}
|
||||
|
||||
/** 复制到剪贴板;成功返回 true */
|
||||
export function copyFuelRegisterToClipboard(row) {
|
||||
const text = buildFuelRegisterCopyText(row)
|
||||
if (!text) {
|
||||
uni.showToast({ title: '暂无可复制内容', icon: 'none' })
|
||||
return Promise.resolve(false)
|
||||
}
|
||||
return new Promise((resolve) => {
|
||||
uni.setClipboardData({
|
||||
data: text,
|
||||
success: () => {
|
||||
uni.showToast({ title: '已复制', icon: 'success' })
|
||||
resolve(true)
|
||||
},
|
||||
fail: () => {
|
||||
uni.showToast({ title: '复制失败', icon: 'none' })
|
||||
resolve(false)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user