| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * 加油登记发微信群纯文本(与 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)
- }
- })
- })
- }
|