Parcourir la source

Merge remote-tracking branch 'origin/master'

ZaiZai il y a 1 an
Parent
commit
f3fc871fac

+ 33 - 7
src/views/debit-pay/material/components/order/dataModal.vue

@@ -30,17 +30,17 @@
                             </el-col>
                             <el-col :span="8">
                                 <el-form-item label="单价:">
-                                    <el-input-number v-model="baseForm.price" :controls="false" :min="0" class="w-100" :precision="2" @change="calculate" />
+                                    <el-input v-model="baseForm.price" @change="calculatePrice" />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="8">
                                 <el-form-item label="数量:" prop="meterAmount">
-                                    <el-input-number v-model="baseForm.meterAmount" :controls="false" class="w-100" :precision="2" @change="calculate" />
+                                    <el-input v-model="baseForm.meterAmount" @change="calculateMount" />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="8">
                                 <el-form-item label="计量金额:">
-                                    <el-input-number v-model="baseForm.meterMoney" disabled :controls="false" :min="0" class="w-100" :precision="2" />
+                                    <el-input v-model="baseForm.meterMoney" disabled />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="8">
@@ -96,7 +96,7 @@
                         <div class="flex-1 text-[16px] text-blue">附件列表</div>
                         <div class="text-orange font-400">可上传 图片(png、jpg、jpeg)、Excel(xls、xlsx)、PDF、Word(doc、docx)文件</div>
                     </div>
-                    <el-form :model="baseForm" label-position="top" style="overflow-y: auto;height: 100px;">
+                    <el-form :model="baseForm" label-position="top" style="overflow-y: auto;height: 150px;">
                         <el-form-item label="">
                             <hc-form-upload type="list" :src="fileName" :h-props="hProps" @upload="formItemUpload" @change="formItemChange" />
                         </el-form-item>
@@ -114,7 +114,9 @@ import { useAppStore } from '~src/store'
 import contractApi from '~api/debit-pay/material/contract.js'
 import periodApi from '~api/debit-pay/material/periods.js'
 import orderApi from '~api/debit-pay/material/order.js'
-import { arrToKey, formValidate, getArrValue } from 'js-fast-way'
+import { formValidate, getArrValue, isNullES } from 'js-fast-way'
+import { isNumberReg } from '~uti/tools'
+import BigNumber from 'bignumber.js'
 const props = defineProps({
     ids: {
         type: [String, Number],
@@ -174,8 +176,32 @@ watch(isShow, (val) => {
     }
 })
 //计算计量金额
-const calculate = ()=>{
-    baseForm.value.meterMoney = baseForm.value?.meterAmount * baseForm.value?.price
+// const calculate = ()=>{
+//     baseForm.value.meterMoney = baseForm.value?.meterAmount * baseForm.value?.price
+// }
+//数量改变计算计量金额
+const calculateMount = (val)=>{
+       //如果为空
+    let mount = val
+    const isMeter = isNumberReg(mount)
+    if (isNullES(mount) || !isMeter) {
+        mount = 0
+        baseForm.value.meterAmount = mount
+    }
+    //计算计量金额
+    baseForm.value.meterMoney = (BigNumber(baseForm.value?.price).multipliedBy(mount)).toString()
+}
+//单价改变计算计量金额
+const calculatePrice = (val)=>{
+       //如果为空
+    let price = val
+    const isMeter = isNumberReg(price)
+    if (isNullES(price) || !isMeter) {
+        price = 0
+        baseForm.value.price = price
+    }
+    //计算计量金额
+    baseForm.value.meterMoney = (BigNumber(baseForm.value?.meterAmount).multipliedBy(price)).toString()
 }
 const detailsModalShow = () => {
     nextTick(() => {

+ 2 - 2
src/views/debit-pay/material/contract.vue

@@ -61,10 +61,10 @@
                     <el-input v-model="formModel.unit	" />
                 </el-form-item>
                 <el-form-item label="单价:">
-                    <el-input-number v-model="formModel.price" :controls="false" :min="0" class="w-100" :precision="2" />
+                    <el-input-number v-model="formModel.price" :controls="false" :min="0" class="w-100" />
                 </el-form-item>
                 <el-form-item label="数量:">
-                    <el-input-number v-model="formModel.amount" :controls="false" :min="0" class="w-100" :precision="2" />
+                    <el-input-number v-model="formModel.amount" :controls="false" :min="0" class="w-100" />
                 </el-form-item>
             </el-form>
         </hc-new-dialog>

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

@@ -64,12 +64,12 @@
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="中标单价:" prop="bidPrice">
-                                <el-input-number v-model="formModel.bidPrice" :disabled="formModel.isFormNode === 0" :controls="false" :min="0" class="w-100" :precision="2" />
+                                <el-input-number v-model="formModel.bidPrice" :disabled="formModel.isFormNode === 0" :controls="false" :min="0" class="w-100" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="合同数量:" prop="contractTotal">
-                                <el-input-number v-model="formModel.contractTotal" :disabled="formModel.isFormNode === 0" :controls="false" :min="0" class="w-100" :precision="2" />
+                                <el-input-number v-model="formModel.contractTotal" :disabled="formModel.isFormNode === 0" :controls="false" :min="0" class="w-100" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
@@ -94,17 +94,17 @@
                     <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" :precision="2" :disabled="infoData.citeStatus === 1" @change="changeBidPrice" />
+                                <el-input-number v-model="formModel.bidPrice" :controls="false" :min="0" class="w-100" :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" :precision="2" />
+                                <el-input-number v-model="formModel.currentPrice" disabled :controls="false" :min="0" class="w-100" />
                             </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" :precision="2" />
+                                <el-input-number v-model="formModel.changePrice" disabled :controls="false" :min="0" class="w-100" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">