duy hai 2 meses
pai
achega
ba5550b6ef

+ 14 - 12
src/renderer/src/views/project/data/addAndEdit.vue

@@ -284,6 +284,7 @@ import { arrIndex, formValidate, getArrValue } from 'js-fast-way'
 import projectApi from '~api/promanage/project'
 import { getDictionary } from '~api/dictbiz.js'
 import HcInputNumber1 from './input-number.vue'
+import BigNumber from 'bignumber.js'
 const props = defineProps({
     data: {
         type: Object,
@@ -607,7 +608,8 @@ const selectIndex = ref(0)
 watch(
     () => [yearFuns.value[selectIndex.value].tollInflow, yearFuns.value[selectIndex.value].otherInflow],
     ([tollInflow, otherInflow]) => {
-        yearFuns.value[selectIndex.value].inflowTotal = (tollInflow || 0) + (otherInflow || 0)
+        
+        yearFuns.value[selectIndex.value].inflowTotal = ((parseFloat(tollInflow) || 0) + (parseFloat(otherInflow) || 0)).toFixed(2)
     },
     { immediate: true },
 )
@@ -619,11 +621,11 @@ watch([
   () => yearFuns.value[selectIndex.value].operateOtherOutflow,
 ], () => {
     yearFuns.value[selectIndex.value].costTotal 
-    = Number(yearFuns.value[selectIndex.value].operateMaintainOutflow || 0)
-    + Number(yearFuns.value[selectIndex.value].operateOverhaulOutflow || 0)
-    + Number(yearFuns.value[selectIndex.value].operateCapitalOutflow || 0)
-    + Number(yearFuns.value[selectIndex.value].operateOperationOutflow || 0)
-    + Number(yearFuns.value[selectIndex.value].operateOtherOutflow || 0)
+    = (parseFloat(yearFuns.value[selectIndex.value].operateMaintainOutflow || 0)
+    + parseFloat(yearFuns.value[selectIndex.value].operateOverhaulOutflow || 0)
+    + parseFloat(yearFuns.value[selectIndex.value].operateCapitalOutflow || 0)
+    + parseFloat(yearFuns.value[selectIndex.value].operateOperationOutflow || 0)
+    + parseFloat(yearFuns.value[selectIndex.value].operateOtherOutflow || 0)).toFixed(2)
 }, { immediate: true })
 
 watch([
@@ -635,12 +637,12 @@ watch([
   () => yearFuns.value[selectIndex.value].otherOutflow,
 ], () => {
 yearFuns.value[selectIndex.value].outflowTotal 
-  = Number(yearFuns.value[selectIndex.value].constructInvestOutflow || 0)
-  + Number(yearFuns.value[selectIndex.value].borrowPrincipalOutflow || 0)
-  + Number(yearFuns.value[selectIndex.value].borrowInterestOutflow || 0)
-  + Number(yearFuns.value[selectIndex.value].costTotal || 0)
-  + Number(yearFuns.value[selectIndex.value].operationTaxesOutflow || 0)
-  + Number(yearFuns.value[selectIndex.value].otherOutflow || 0)
+  = (parseFloat(yearFuns.value[selectIndex.value].constructInvestOutflow || 0)
+  + parseFloat(yearFuns.value[selectIndex.value].borrowPrincipalOutflow || 0)
+  + parseFloat(yearFuns.value[selectIndex.value].borrowInterestOutflow || 0)
+  + parseFloat(yearFuns.value[selectIndex.value].costTotal || 0)
+  + parseFloat(yearFuns.value[selectIndex.value].operationTaxesOutflow || 0)
+  + parseFloat(yearFuns.value[selectIndex.value].otherOutflow || 0)).toFixed(2)
 }, { immediate: true })
 const stageYearClick = async (val) => {
     if (yearFuns.value[selectIndex]) {

+ 12 - 1
src/renderer/src/views/system/modules/input-number.vue

@@ -1,5 +1,7 @@
 <template>
-    <el-input-number v-model="warningValue" :min="0" :max="100" class="warn-innput w-46px" :controls="false" @blur="inputBlur" />
+    <el-input-number
+        v-model="warningValue" :min="0" :max="100" class="warn-innput w-46px" :controls="false" @blur="inputBlur" @keydown="handleKeyDown"
+    />
 </template>
 
 <script setup>
@@ -26,4 +28,13 @@ watch(() => modelValue.value, (val) => {
 const inputBlur = () => {
     modelValue.value = warningValue.value
 }
+const handleKeyDown = (e)=> {
+
+// 阻止输入 + 和 -
+if (e.key === '+' || e.key === '-') {
+  console.log(e.value)
+  
+  e.preventDefault()
+}
+}
 </script>