cz 1 år sedan
förälder
incheckning
1f1c98910b
1 ändrade filer med 8 tillägg och 17 borttagningar
  1. 8 17
      src/views/JXSK/salesMange/contract/index.vue

+ 8 - 17
src/views/JXSK/salesMange/contract/index.vue

@@ -78,7 +78,7 @@
                       :precision="2"
                       :controls="false"
                       :min="0"
-                      @change="(val) => handleChangeTotal($index, val)"
+                      @change="changeAmount"
                     />
                   </el-form-item>
                 </template>
@@ -93,10 +93,10 @@
                     <el-input-number
                       onmousewheel="return false;"
                       v-model="row.quantity"
-                      :precision="2"
+                      :precision="0"
                       :controls="false"
                       :min="0"
-                      @change="(val) => handleChangeTotal($index, val)"
+                      @change="changeAmount"
                     />
                   </el-form-item>
                 </template>
@@ -453,23 +453,14 @@ const changeAmount = () => {
   let total = 0;
   for (let i = 0; i < formData.data.salesContractDetailsList.length; i++) {
     const e = formData.data.salesContractDetailsList[i];
-    e.total = e.quantity * e.unitPrice;
-    total += e.total;
+    e.total = "";
+    if (e.quantity && e.unitPrice) {
+      e.total = parseFloat(Number(e.quantity) * Number(e.unitPrice)).toFixed(2);
+    }
+    total += Number(e.total);
   }
   formData.data.total = parseFloat(total).toFixed(2);
 };
-const handleChangeTotal = (index, val) => {
-  if (
-    formData.data.salesContractDetailsList[index].unitPrice &&
-    formData.data.salesContractDetailsList[index].quantity
-  ) {
-    formData.data.salesContractDetailsList[index].total = parseFloat(
-      formData.data.salesContractDetailsList[index].unitPrice *
-        formData.data.salesContractDetailsList[index].quantity
-    ).toFixed(2);
-    changeAmount();
-  }
-};
 </script>
 
 <style lang="scss" scoped>