feat: add remark field to credit note form and payload

This commit is contained in:
puriphatt 2025-01-14 11:07:57 +07:00
parent 283c08ae2e
commit 7d1f32a5cb
2 changed files with 18 additions and 13 deletions

View file

@ -86,9 +86,10 @@ const pageState = reactive({
fileDialog: false,
});
const currentFormData = ref<CreditNotePayload>({
const formData = ref<CreditNotePayload>({
quotationId: '',
requestWorkId: [],
remark: '',
reason: '',
detail: '',
paybackType: 'Cash',
@ -241,10 +242,11 @@ function assignFormData() {
const current = creditNoteData.value;
currentFormData.value = {
formData.value = {
quotationId: creditNoteData.value.quotationId,
requestWorkId: creditNoteData.value.requestWork.map((v) => v.id || ''),
reason: creditNoteData.value.reason,
remark: creditNoteData.value.remark,
detail: creditNoteData.value.detail,
paybackType: creditNoteData.value.paybackType,
paybackBank: creditNoteData.value.paybackBank,
@ -288,7 +290,7 @@ async function getQuotation() {
}
async function submit() {
const payload = currentFormData.value;
const payload = formData.value;
payload.requestWorkId = formTaskList.value.map((v) => v.requestWorkId);
payload.quotationId =
typeof route.query['quotationId'] === 'string'
@ -579,8 +581,8 @@ onMounted(async () => {
<CreditNoteExpansion
v-if="view === null"
:readonly="readonly"
v-model:reason="currentFormData.reason"
v-model:detail="currentFormData.detail"
v-model:reason="formData.reason"
v-model:detail="formData.detail"
/>
</q-form>
@ -596,10 +598,10 @@ onMounted(async () => {
v-if="view === null"
:readonly="readonly"
:total-price="summaryPrice.finalPrice"
v-model:payback-type="currentFormData.paybackType"
v-model:payback-bank="currentFormData.paybackBank"
v-model:payback-account="currentFormData.paybackAccount"
v-model:payback-account-name="currentFormData.paybackAccountName"
v-model:payback-type="formData.paybackType"
v-model:payback-bank="formData.paybackBank"
v-model:payback-account="formData.paybackAccount"
v-model:payback-account-name="formData.paybackAccountName"
/>
<RefundInformation
@ -616,10 +618,10 @@ onMounted(async () => {
: 0
"
:payback-status="creditNoteData?.paybackStatus"
v-model:payback-type="currentFormData.paybackType"
v-model:payback-bank="currentFormData.paybackBank"
v-model:payback-account="currentFormData.paybackAccount"
v-model:payback-account-name="currentFormData.paybackAccountName"
v-model:payback-type="formData.paybackType"
v-model:payback-bank="formData.paybackBank"
v-model:payback-account="formData.paybackAccount"
v-model:payback-account-name="formData.paybackAccountName"
v-model:file-data="fileData"
:transform-url="
async (url: string) => {
@ -693,6 +695,7 @@ onMounted(async () => {
<RemarkExpansion
v-if="view !== CreditNoteStatus.Success"
:readonly="readonly"
v-model:remark="formData.remark"
/>
<QuotationFormReceipt

View file

@ -5,6 +5,7 @@ import { CreatedBy } from '../types';
export type CreditNotePayload = {
quotationId: string;
requestWorkId: string[];
remark?: string;
reason: string;
detail: string;
paybackType: 'BankTransfer' | 'Cash';
@ -21,6 +22,7 @@ export type CreditNote = {
quotationId: string;
quotation: QuotationFull;
requestWork: RequestWork[];
remark?: string;
reason: string;
detail: string;
paybackType: 'BankTransfer' | 'Cash';