ソースを参照

Merge remote-tracking branch 'origin/master'

duy 1 年間 前
コミット
5f8c5fe4db
1 ファイル変更35 行追加17 行削除
  1. 35 17
      src/views/project/debit/contract/check-list.vue

+ 35 - 17
src/views/project/debit/contract/check-list.vue

@@ -94,27 +94,27 @@
                     <template v-if="menuType === 'edit' && formModel.isFormNode === 1">
                         <el-col :span="8">
                             <el-form-item label="中标单价:">
-                                <el-input-number v-model="formModel.bidPrice" :controls="false" :min="0" class="w-100" :disabled="infoData.citeStatus === 1" @change="changeBidPrice" />
+                                <el-input v-model="formModel.bidPrice" :disabled="infoData.citeStatus === 1" @change="changeBidPrice" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="现行单价:">
-                                <el-input-number v-model="formModel.currentPrice" disabled :controls="false" :min="0" class="w-100" />
+                                <el-input v-model="formModel.currentPrice" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="变更后单价:">
-                                <el-input-number v-model="formModel.changePrice" disabled :controls="false" :min="0" class="w-100" />
+                                <el-input v-model="formModel.changePrice" disabled />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="合同数量:">
-                                <el-input-number v-model="formModel.contractTotal" :controls="false" :min="0" class="w-100" :disabled="infoData.citeStatus === 1" @change="changeContractTotal" />
+                                <el-input v-model="formModel.contractTotal" :disabled="infoData.citeStatus === 1" @change="changeContractTotal" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="变更后数量:">
-                                <el-input-number v-model="formModel.changeTotal" disabled :controls="false" :min="0" class="w-100" />
+                                <el-input v-model="formModel.changeTotal" disabled />
                             </el-form-item>
                         </el-col>
                         <!-- <el-col :span="8">
@@ -127,12 +127,12 @@
                     <template v-if="menuType === 'edit'">
                         <el-col :span="8">
                             <el-form-item label="合同金额:">
-                                <el-input-number v-model="formModel.contractMoney" disabled :controls="false" :min="0" class="w-100" />
+                                <el-input v-model="formModel.contractMoney" disabled />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="变更后金额:">
-                                <el-input-number v-model="formModel.changeMoney" disabled :controls="false" :min="0" class="w-100" />
+                                <el-input v-model="formModel.changeMoney" disabled />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
@@ -304,7 +304,7 @@
 
 <script setup>
 import { nextTick, onMounted, ref } from 'vue'
-import { arrToId, formValidate, getArrValue, getObjValue, getRandom } from 'js-fast-way'
+import { arrToId, formValidate, getArrValue, getObjValue, getRandom, isNullES } from 'js-fast-way'
 import { getHeader } from 'hc-vue3-ui'
 import { useAppStore } from '~src/store'
 import infoTable from './components/check-list/info-table.vue'
@@ -313,6 +313,8 @@ import { addNode, deleteNode, getDetail, getImportTemplate, getLazyFormTree, loc
 import { getDictionary } from '~api/other'
 import { getStoreValue, setStoreValue } from '~src/utils/storage'
 import { delMessageV2 } from '~com/message/index.js'
+import { isNumberReg } from '~uti/tools'
+import BigNumber from 'bignumber.js'
 
 //变量
 const useAppState = useAppStore()
@@ -828,15 +830,31 @@ const downLoadExel = async ()=>{
     }
 }
 //修改中标单价
-const changeBidPrice = ()=>{
-    formModel.value.currentPrice = formModel.value.bidPrice
-    formModel.value.changePrice = formModel.value.bidPrice
-    formModel.value.contractMoney = formModel.value.bidPrice * formModel.value.contractTotal
-    formModel.value.changeMoney = formModel.value.bidPrice * formModel.value.contractTotal
+const changeBidPrice = (val)=>{
+     //如果为空
+     let money = val
+    const isMeter = isNumberReg(money)
+    if (isNullES(money) || !isMeter) {
+        money = 0
+        formModel.value.bidPrice = money
+    }
+    formModel.value.currentPrice = money
+    formModel.value.changePrice = money
+    //计算计量金额
+    formModel.value.contractMoney = (BigNumber(money).multipliedBy(formModel.value.contractTotal)).toString()
+    formModel.value.changeMoney = (BigNumber(money).multipliedBy(formModel.value.contractTotal)).toString()
 }
-const changeContractTotal = ()=>{
-    formModel.value.changeTotal = formModel.value.contractTotal
-    formModel.value.contractMoney = formModel.value.bidPrice * formModel.value.contractTotal
-    formModel.value.changeMoney = formModel.value.bidPrice * formModel.value.contractTotal
+const changeContractTotal = (val)=>{
+         //如果为空
+     let total = val
+    const isMeter = isNumberReg(total)
+    if (isNullES(total) || !isMeter) {
+        total = 0
+        formModel.value.contractTotal = total
+    }
+    formModel.value.changeTotal = total
+    formModel.value.contractMoney = (BigNumber(total).multipliedBy(formModel.value.bidPrice)).toString()
+    formModel.value.changeMoney = (BigNumber(total).multipliedBy(formModel.value.bidPrice)).toString()
+    
 }
 </script>