| | |
| | | <el-table-column label="入库数量" |
| | | prop="totalStockIn" |
| | | align="center" |
| | | v-if="searchForm.reportType === 'inout'" /> |
| | | v-if="searchForm.reportType === 'inout'"> |
| | | <template #default="scope"> |
| | | {{ formatQty(scope.row.totalStockIn) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="入库数量" |
| | | prop="stockInNum" |
| | | align="center" |
| | | v-else /> |
| | | v-else> |
| | | <template #default="scope"> |
| | | {{ formatQty(scope.row.stockInNum) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="出库数量" |
| | | prop="totalStockOut" |
| | | width="100" |
| | | align="center" |
| | | v-if="searchForm.reportType === 'inout'" /> |
| | | v-if="searchForm.reportType === 'inout'"> |
| | | <template #default="scope"> |
| | | {{ formatQty(scope.row.totalStockOut) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="现在库存" |
| | | prop="currentStock" |
| | | align="center" /> |
| | | align="center"> |
| | | <template #default="scope"> |
| | | {{ formatQty(scope.row.currentStock) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="来源" |
| | | prop="recordType" |
| | | v-if="searchForm.reportType !== 'inout'" |
| | |
| | | }; |
| | | |
| | | const getDate = val =>{ |
| | | console.log(val) |
| | | if(!val){ |
| | | return "--" |
| | | } |
| | | return dayjs(val).isValid() ? dayjs(val).format('YYYY‑MM‑DD') : '--' |
| | | return dayjs(val).isValid() ? dayjs(val).format('YYYY-MM-DD') : '--' |
| | | } |
| | | |
| | | // 数量展示:后端返回的是高精度小数(如 2.00000000), |
| | | // 这里去掉无意义的末尾 0,实际有几位小数就展示几位 |
| | | const formatQty = val => { |
| | | if (val === null || val === undefined || val === "") { |
| | | return "--"; |
| | | } |
| | | // 非数字原样展示,避免出现 NaN |
| | | if (typeof val === "number" && !Number.isFinite(val)) { |
| | | return "--"; |
| | | } |
| | | let str = String(val).trim(); |
| | | if (!/^[-+]?\d+(\.\d+)?$/.test(str)) { |
| | | // 科学计数法等特殊格式交给 Number 处理 |
| | | const num = Number(str); |
| | | if (Number.isNaN(num)) { |
| | | return str; |
| | | } |
| | | str = String(num); |
| | | // 极小值会被转成 1e-7 这类科学计数法,展开成普通小数 |
| | | if (/e/i.test(str)) { |
| | | str = num.toFixed(20); |
| | | } |
| | | } |
| | | if (str.includes(".")) { |
| | | str = str.replace(/0+$/, "").replace(/\.$/, ""); |
| | | } |
| | | // 处理 -0 / +0 |
| | | if (/^[-+]?0$/.test(str)) { |
| | | return "0"; |
| | | } |
| | | return str; |
| | | } |
| | | |
| | | // 获取来源类型选项 |