refactor: add remark

This commit is contained in:
Thanaphon Frappet 2025-01-23 14:54:09 +07:00
parent 5c9c035d2b
commit 03e99c0f0c
5 changed files with 30 additions and 7 deletions

View file

@ -23,6 +23,7 @@ import {
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useTaskOrderStore } from 'src/stores/task-order'; import { useTaskOrderStore } from 'src/stores/task-order';
import { RequestWork } from 'src/stores/request-list'; import { RequestWork } from 'src/stores/request-list';
import { convertTemplate } from 'src/utils/string-template';
const route = useRoute(); const route = useRoute();
const taskOrder = useTaskOrderStore(); const taskOrder = useTaskOrderStore();
@ -414,7 +415,25 @@ function print() {
}" }"
/> />
<article style="height: 5.8in"></article> <span
class="q-mb-sm q-mt-md"
style="
font-weight: 800;
font-size: 16px;
color: var(--main);
display: block;
border-bottom: 2px solid var(--main);
"
>
{{ $t('general.remark') }}
</span>
<div
class="border-5 surface-0 detail-note q-mb-md"
style="width: 100%; padding: 8px 16px; white-space: pre-wrap"
>
<div v-html="convertTemplate(data?.remark || '', {}) || '-'"></div>
</div>
<ViewFooter <ViewFooter
:data="{ :data="{

View file

@ -24,6 +24,7 @@ export const useTaskOrderForm = defineStore('task-order-form', () => {
contactTel: '', contactTel: '',
contactName: '', contactName: '',
taskName: '', taskName: '',
remark: '#[order-detail]',
}; };
const state = ref<{ const state = ref<{
@ -103,13 +104,9 @@ export const useTaskOrderForm = defineStore('task-order-form', () => {
} }
if (state.value.mode === 'edit' && !!currentFormData.value.id) { if (state.value.mode === 'edit' && !!currentFormData.value.id) {
const taskProduct = opt?.taskProduct?.map((p) => ({
productId: p.productId,
discount: p.discount,
}));
const res = await taskOrderStore.editTaskOrder({ const res = await taskOrderStore.editTaskOrder({
...currentFormData.value, ...currentFormData.value,
taskProduct: taskProduct, taskProduct: opt?.taskProduct,
}); });
if (res) { if (res) {
succeed = true; succeed = true;

View file

@ -968,6 +968,7 @@ watch([currentFormData.value.taskStatus], () => {
view === TaskOrderStatus.Pending || view === TaskOrderStatus.Pending ||
view === TaskOrderStatus.Complete view === TaskOrderStatus.Complete
" "
v-model:remark="currentFormData.remark"
:readonly="!['create', 'edit'].includes(state.mode || '')" :readonly="!['create', 'edit'].includes(state.mode || '')"
/> />

View file

@ -104,6 +104,10 @@ export const useTaskOrderStore = defineStore('taskorder-store', () => {
async function editTaskOrder(body: TaskOrderPayload) { async function editTaskOrder(body: TaskOrderPayload) {
const res = await api.put<TaskOrder>(`/task-order/${body.id}`, { const res = await api.put<TaskOrder>(`/task-order/${body.id}`, {
taskProduct: body.taskProduct?.map((v) => ({
productId: v.productId,
discount: v.discount,
})),
taskList: body.taskList.map((v) => ({ taskList: body.taskList.map((v) => ({
step: v.step, step: v.step,
requestWorkId: v.requestWorkId, requestWorkId: v.requestWorkId,
@ -113,7 +117,7 @@ export const useTaskOrderStore = defineStore('taskorder-store', () => {
contactName: body.contactName, contactName: body.contactName,
taskStatus: body.taskStatus, taskStatus: body.taskStatus,
taskName: body.taskName, taskName: body.taskName,
taskProduct: body.taskProduct, remark: body.remark,
}); });
if (res.status < 400) { if (res.status < 400) {

View file

@ -56,6 +56,7 @@ export interface TaskOrder {
code: string; code: string;
id: string; id: string;
userTask: UserTask[]; userTask: UserTask[];
remark?: string;
} }
export interface UserTask { export interface UserTask {
@ -176,6 +177,7 @@ export interface TaskOrderPayload {
registeredBranchId?: string; registeredBranchId?: string;
id?: string; id?: string;
code?: string; code?: string;
remark?: string;
} }
export interface ProductService { export interface ProductService {