Browse Source

Merge branch 'master' of http://47.107.245.0:3000/xiongxing/kyj-yanglao-web-new

unknown 1 tháng trước cách đây
mục cha
commit
35c10ceaa7

+ 23 - 4
src/views/warehouses/materialsOut/components/MaterialsOutDialog.vue

@@ -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) => {