|
@@ -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>
|