|
|
@@ -125,7 +125,12 @@
|
|
|
<el-table-column label="入库单号" prop="refInOrderNo" width="280" align="center" />
|
|
|
<el-table-column label="出库数量" width="240" align="center">
|
|
|
<template #default="{ row, $index }">
|
|
|
- <el-form-item v-if="mode !== 'view'" style="margin-top: 18px;" label-width="0" :prop="`items.${$index}.quantity`" :rules="[{ required: true, message: '请输入出库数量' },{
|
|
|
+ <el-form-item
|
|
|
+ v-if="mode !== 'view'"
|
|
|
+ style="margin-top: 18px;"
|
|
|
+ label-width="0"
|
|
|
+ :prop="`items.${$index}.quantity`"
|
|
|
+ :rules="[{ required: true, message: '请输入出库数量' },{
|
|
|
validator: (rule, value, callback) => {
|
|
|
if (value <= 0) {
|
|
|
callback(new Error(`出库数量必须大于0`))
|
|
|
@@ -148,7 +153,21 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="单位" prop="materialUnit" align="center" />
|
|
|
- <el-table-column label="单价(¥)" prop="inUnitPrice" align="center" />
|
|
|
+ <el-table-column label="单价(¥)" prop="inUnitPrice" align="center" width="180px">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input-number
|
|
|
+ v-if="mode !== 'view'"
|
|
|
+ v-model="row.inUnitPrice"
|
|
|
+ controls-position="right"
|
|
|
+ style="width: 100%"
|
|
|
+ :min="0"
|
|
|
+ :precision="4"
|
|
|
+ :step="0.0001"
|
|
|
+ @change="() => calcAmount(row)"
|
|
|
+ />
|
|
|
+ <el-text v-else>{{ row.inUnitPrice }}</el-text>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column label="金额(¥)" prop="amount" align="center" />
|
|
|
<el-table-column label="操作" align="center" v-if="mode !== 'view'">
|
|
|
<template #default="{ $index }">
|
|
|
@@ -171,7 +190,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { computed, ref, watch } from 'vue'
|
|
|
+import { computed, reactive, ref, watch } from 'vue'
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
import {defaultProps} from '@/utils/tree'
|
|
|
import { materialIoOutbound, materialIoEdit } from '@/api/material/stockInAndOut'
|
|
|
@@ -280,7 +299,7 @@ const calcAmount = (row) => {
|
|
|
const qty = Number(row.quantity || 0)
|
|
|
const price = Number(row.inUnitPrice || 0)
|
|
|
// 保留两位小数
|
|
|
- row.amount = (qty * price).toFixed(2)
|
|
|
+ row.amount = Number((qty * price).toFixed(4))
|
|
|
}
|
|
|
|
|
|
const handleMaterialChange = (value, row) => {
|