fix: quotation discount

This commit is contained in:
puriphatt 2024-10-18 10:40:34 +07:00
parent 36cabde5bc
commit 8fb2f5dfb4
2 changed files with 20 additions and 3 deletions

View file

@ -7,7 +7,7 @@ import WorkerItem from './WorkerItem.vue';
import DeleteButton from '../button/DeleteButton.vue'; import DeleteButton from '../button/DeleteButton.vue';
import { precisionRound } from 'src/utils/arithmetic'; import { precisionRound } from 'src/utils/arithmetic';
import { QuotationPayload } from 'stores/quotations/types'; import { QuotationPayload } from 'stores/quotations/types';
import { formatNumberDecimal } from 'stores/utils'; import { formatNumberDecimal, commaInput } from 'stores/utils';
import { useConfigStore } from 'stores/config'; import { useConfigStore } from 'stores/config';
const props = defineProps<{ const props = defineProps<{
@ -51,6 +51,8 @@ function calcPrice(c: (typeof rows.value)[number]) {
); );
} }
const discount4Show = ref<string[]>([]);
const columns = [ const columns = [
{ {
name: 'order', name: 'order',
@ -304,10 +306,24 @@ watch(
min="0" min="0"
outlined outlined
input-class="text-right" input-class="text-right"
:type="readonly ? 'text' : 'number'"
style="width: 90px" style="width: 90px"
debounce="500" debounce="500"
v-model="props.row.discount" :model-value="
commaInput(props.row.discount.toString() || '0')
"
@update:model-value="
(v) => {
if (typeof v === 'string')
discount4Show[props.rowIndex] = commaInput(v);
const x = parseFloat(
discount4Show[props.rowIndex] &&
typeof discount4Show[props.rowIndex] === 'string'
? discount4Show[props.rowIndex].replace(/,/g, '')
: '',
);
props.row.discount = x;
}
"
/> />
</q-td> </q-td>
<q-td align="right"> <q-td align="right">

View file

@ -309,6 +309,7 @@ async function convertDataToFormSubmit() {
workName: quotationFormData.value.workName, workName: quotationFormData.value.workName,
_count: quotationFormData.value._count, _count: quotationFormData.value._count,
status: quotationFormData.value.status, status: quotationFormData.value.status,
discount: quotationFormData.value.discount,
}; };
const res = await quotationForm.submitQuotation(); const res = await quotationForm.submitQuotation();