Merge branch 'develop' of https://github.com/Frappet/bma-ehr-frontend into develop

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2023-08-30 16:45:28 +07:00
commit d3067b3b65
9 changed files with 315 additions and 62 deletions

View file

@ -157,4 +157,5 @@ export default {
orderCPMUpdate: (type: string, id: string) => `${order}/order/${type}/detail/${id}`, orderCPMUpdate: (type: string, id: string) => `${order}/order/${type}/detail/${id}`,
}; };

View file

@ -6,6 +6,7 @@ const reportOrder = `${env.API_REPORT2_URI}/report/order`;
const reportRetire = `${env.API_REPORT2_URI}/report/retire`; const reportRetire = `${env.API_REPORT2_URI}/report/retire`;
const reportProbation = `${env.API_REPORT2_URI}/report/probation`; const reportProbation = `${env.API_REPORT2_URI}/report/probation`;
const reportResign = `${env.API_REPORT2_URI}/report/resign/33`; const reportResign = `${env.API_REPORT2_URI}/report/resign/33`;
const reportTransfer = `${env.API_REPORT2_URI}/report/transfer`;
export default { export default {
reportOrderCover: (fileType: string, id: string, commandCode: string) => reportOrderCover: (fileType: string, id: string, commandCode: string) =>
@ -30,5 +31,8 @@ export default {
reportEvaluate:(type:string, id:string) => `${reportProbation}/16/${type}/${id}`, reportEvaluate:(type:string, id:string) => `${reportProbation}/16/${type}/${id}`,
reportEvaluateChairman:(type:string, id:string) => `${reportProbation}/17/${type}/${id}`, reportEvaluateChairman:(type:string, id:string) => `${reportProbation}/17/${type}/${id}`,
reportEvaluateResult:(type:string, id:string) => `${reportProbation}/18/${type}/${id}`, reportEvaluateResult:(type:string, id:string) => `${reportProbation}/18/${type}/${id}`,
reportSurvey:(type:string, id:string) => `${reportProbation}/19/${type}/${id}` reportSurvey:(type:string, id:string) => `${reportProbation}/19/${type}/${id}`,
};
//filetransfer
reportTransferFile:(no:number,type:string,id:string) => `${reportTransfer}/${no}/${type}/${id}`
};

View file

@ -250,12 +250,12 @@ const menuList = readonly<any[]>([
path: "appoint-promote", path: "appoint-promote",
role: "placement", role: "placement",
}, },
{ // {
key: 6.9, // key: 6.9,
label: "รายการย้าย" /* */, // label: "รายการย้าย" /* */,
path: "relocation", // path: "relocation",
role: "placement", // role: "placement",
}, // },
{ {
key: 6.1, key: 6.1,
label: "รายการอื่นๆ" /* */, label: "รายการอื่นๆ" /* */,

View file

@ -89,11 +89,11 @@ const fecthlistappointment = async () => {
console.log(res); console.log(res);
let response = res.data.result; let response = res.data.result;
listRecevice.value = response; listRecevice.value = response;
// console.log(response); console.log(response);
rows.value = response.map((e: any) => ({ rows.value = response.map((e: any) => ({
personalId: e.id, personalId: e.id,
citizenId: e.citizenId, citizenId: e.citizenId,
fullname: e.prefix+e.firstname + " " + e.lastname, fullname: e.prefix + e.firstname + " " + e.lastname,
organizationName: organizationName:
e.organizationName + e.organizationName +
" " + " " +
@ -107,12 +107,17 @@ const fecthlistappointment = async () => {
positionNumber: e.positionNumber, positionNumber: e.positionNumber,
positionPath: e.positionPath, positionPath: e.positionPath,
status: status(e.status), status: status(e.status),
createdAt:date2Thai(e.createdAt), createdAt: date2Thai(e.createdAt),
birthday: e.dateOfBirth == null ? "-" : date2Thai(e.dateOfBirth), birthday: e.dateOfBirth == null ? "-" : date2Thai(e.dateOfBirth),
})); }));
// console.log(rows.value); // console.log(rows.value);
rows2.value = rows.value.filter((e: any) => e.orgName !== null); rows2.value = rows.value.filter(
(e: any) =>
e.orgName !== null &&
e.status !== "ส่งรายชื่อไปออกคำสั่ง" &&
e.status !== "ออกคำสั่งเสร็จแล้ว"
);
}) })
.catch((e) => { .catch((e) => {
console.log(typeof e); console.log(typeof e);
@ -127,7 +132,10 @@ const fecthTypeOption = async () => {
.get(config.API.typeOrder()) .get(config.API.typeOrder())
.then((res) => { .then((res) => {
optionsType.value = res.data.result.filter( optionsType.value = res.data.result.filter(
(e: any) => e.commandCode === "C-PM-05" || e.commandCode === "C-PM-06" (e: any) =>
e.commandCode === "C-PM-05" ||
e.commandCode === "C-PM-06" ||
e.commandCode === "C-PM-07"
); );
}) })
.catch((e) => { .catch((e) => {
@ -173,7 +181,6 @@ const columns = ref<QTableProps["columns"]>([
field: "organizationName", field: "organizationName",
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
{ {
name: "birthday", name: "birthday",
@ -252,7 +259,6 @@ const columns2 = ref<QTableProps["columns"]>([
headerStyle: "font-size: 14px", headerStyle: "font-size: 14px",
style: "font-size: 14px", style: "font-size: 14px",
}, },
]); ]);
const openModalTree = (id: string) => { const openModalTree = (id: string) => {
@ -279,35 +285,64 @@ const deleteAppoint = async (id: string) => {
hideLoader(); hideLoader();
}); });
}; };
const clickAddlist = () => { const clickAddlist = () => {
dialogConfirm($q, () => createdAppoint()); dialogConfirm($q, () => createdAppoint());
}; };
const createdAppoint = async () => { const createdAppoint = async () => {
let pId: string[] = []; if (type.value == "c6de09ef-c1f8-4a39-aa31-c7ed88df01d9") {
selected.value.forEach((e: any) => { let pId: string[] = [];
pId.push(e.personalId); selected.value.forEach((e: any) => {
}); pId.push(e.personalId);
let data = {
id: pId,
};
console.log(data);
showLoader();
await http
.put(config.API.apppointmentReport(type.value), data)
.then((res: any) => {
console.log(res);
success($q, "บันทึกสำเร็จ");
})
.catch((e: any) => {
console.log(e);
messageError($q, e);
})
.finally(() => {
hideLoader();
fecthlistappointment();
selected.value = [];
modal.value = false;
}); });
let data = {
id: pId,
};
console.log(data);
showLoader();
await http
.post(config.API.relocationMainReport(), data)
.then((res: any) => {
console.log(res);
success($q, "บันทึกสำเร็จ");
})
.catch((e) => {
console.log(e);
messageError($q, e);
})
.finally(async () => {
hideLoader();
fecthlistappointment();
selected.value = [];
modal.value = false;
});
} else {
let pId: string[] = [];
selected.value.forEach((e: any) => {
pId.push(e.personalId);
});
let data = {
id: pId,
};
console.log(data);
showLoader();
await http
.put(config.API.apppointmentReport(type.value), data)
.then((res: any) => {
console.log(res);
success($q, "บันทึกสำเร็จ");
})
.catch((e: any) => {
console.log(e);
messageError($q, e);
})
.finally(() => {
hideLoader();
fecthlistappointment();
selected.value = [];
modal.value = false;
});
}
}; };
const closeModalTree = async () => { const closeModalTree = async () => {
@ -340,11 +375,10 @@ const pagination = ref({
page: 1, page: 1,
rowsPerPage: 10, rowsPerPage: 10,
}); });
</script> </script>
<template> <template>
<div class="toptitle text-dark col-12 row items-center"> <div class="toptitle text-dark col-12 row items-center">
รายการแตงต-เลอน รายการแตงต-เลอน-าย
</div> </div>
<q-card flat bordered class="col-12 q-mt-sm"> <q-card flat bordered class="col-12 q-mt-sm">
<q-separator /> <q-separator />
@ -363,7 +397,7 @@ const pagination = ref({
color="add" color="add"
icon="mdi-account-arrow-right" icon="mdi-account-arrow-right"
> >
<q-tooltip>งไปออกคำสงแตงต-เลอน</q-tooltip> <q-tooltip>งไปออกคำสงแตงต-เลอน-าย</q-tooltip>
</q-btn> </q-btn>
<q-space /> <q-space />
@ -413,7 +447,6 @@ const pagination = ref({
row-key="citizenId" row-key="citizenId"
:visible-columns="visibleColumns" :visible-columns="visibleColumns"
v-model:pagination="pagination" v-model:pagination="pagination"
> >
<template v-slot:header="props"> <template v-slot:header="props">
<q-tr :props="props"> <q-tr :props="props">
@ -503,7 +536,10 @@ const pagination = ref({
</q-td> </q-td>
<q-td auto-width> <q-td auto-width>
<q-btn <q-btn
v-if="props.row.status !== 'ส่งรายชื่อไปออกคำสั่ง' && props.row.status !== 'ออกคำสั่งแล้ว'" v-if="
props.row.status !== 'ส่งรายชื่อไปออกคำสั่ง' &&
props.row.status !== 'ออกคำสั่งแล้ว'
"
icon="mdi-dots-vertical" icon="mdi-dots-vertical"
size="12px" size="12px"
color="grey-7" color="grey-7"
@ -532,9 +568,7 @@ const pagination = ref({
name="mdi-bookmark-outline" name="mdi-bookmark-outline"
/> />
</q-item-section> </q-item-section>
<q-item-section <q-item-section>เลอกหนวยงาน/ตำแหน</q-item-section>
>เลอกหนวยงานทบโอน</q-item-section
>
</q-item> </q-item>
<q-item <q-item
clickable clickable
@ -565,7 +599,10 @@ const pagination = ref({
<q-dialog v-model="modal"> <q-dialog v-model="modal">
<q-card style="width: 1200px; max-width: 80vw"> <q-card style="width: 1200px; max-width: 80vw">
<DialogHeader title="ส่งไปรายการแต่งตั้ง - เลื่อน" :close="clickClose" /> <DialogHeader
title="ส่งไปรายการแต่งตั้ง - เลื่อน - ย้าย"
:close="clickClose"
/>
<q-separator /> <q-separator />
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
<div class="row justify-between"> <div class="row justify-between">
@ -576,7 +613,7 @@ const pagination = ref({
dense dense
v-model="type" v-model="type"
:options="optionsType" :options="optionsType"
label="คำสั่งแต่งตั่ง - เลื่อน" label="คำสั่งแต่งตั่ง - เลื่อน - ย้าย"
style="width: 400px; max-width: auto" style="width: 400px; max-width: auto"
emit-value emit-value
map-options map-options

View file

@ -114,7 +114,7 @@ const fecthlistOthet = async () => {
fullname: `${r.prefix ?? ""} ${r.firstname ?? ""} ${r.lastname ?? ""}`, fullname: `${r.prefix ?? ""} ${r.firstname ?? ""} ${r.lastname ?? ""}`,
})); }));
console.log(rows.value); console.log(rows.value);
rows2.value = rows.value.filter((e: any) => e.orgName !== null); rows2.value = rows.value.filter((e: any) => e.orgName !== null && e.status !== 'REPORT'&& e.status !== 'DONE');
}) })
.catch((e) => { .catch((e) => {
messageError($q); messageError($q);

View file

@ -49,7 +49,36 @@ const status = ref<string>("");
const myForm = ref<QForm | null>(null); const myForm = ref<QForm | null>(null);
const edit = ref<boolean>(false); const edit = ref<boolean>(false);
const rows = ref<any[]>([]);
const columns = ref<QTableProps["columns"]>([
{
name: "no",
align: "left",
label: "ลำดับ",
sortable: true,
field: "no",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "fileName",
align: "left",
label: "ชื่อไฟล์",
sortable: true,
field: "fileName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "btnMicrosoft",
align: "right",
label: "ปุ่ม",
sortable: true,
field: "btnMicrosoft",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
]);
const profileId = ref<string>(""); const profileId = ref<string>("");
const educationOld = ref<string>(""); const educationOld = ref<string>("");
const organizationPositionOld = ref<string>(""); const organizationPositionOld = ref<string>("");
@ -170,7 +199,17 @@ const getData = async () => {
.get(config.API.receiveDataId(paramsId.toString())) .get(config.API.receiveDataId(paramsId.toString()))
.then(async (res: any) => { .then(async (res: any) => {
const data = res.data.result; const data = res.data.result;
// console.log(data);
let list: any[] = [];
if (data.docs.length > 0) {
data.docs.map((doc: any) => {
list.push({
pathName: doc.pathName ?? "",
fileName: doc.fileName ?? "",
});
});
}
rows.value = list;
profileId.value = data.profileId; profileId.value = data.profileId;
title.value.fullname = `${data.firstname ?? "-"} ${data.lastname ?? "-"}`; title.value.fullname = `${data.firstname ?? "-"} ${data.lastname ?? "-"}`;
title.value.organizationPositionOld = data.organizationPositionOld ?? "-"; title.value.organizationPositionOld = data.organizationPositionOld ?? "-";
@ -1012,6 +1051,37 @@ const getClass = (val: boolean) => {
</div> </div>
</div> </div>
</q-form> </q-form>
<q-card bordered class="row col-12 text-dark q-mt-sm">
<div class="bg-grey-1 q-pa-sm col-12 row items-center text-primary">
<div class="q-pl-sm text-weight-bold text-dark">เอกสารเพมเต</div>
</div>
<div class="col-12"><q-separator /></div>
<div class="col-12">
<d-table
:rows="rows"
:columns="columns"
row-key="fileName"
hide-header
hide-bottom
>
<template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-td key="no" :props="props">
{{ props.rowIndex + 1 }}
</q-td>
<q-td key="fileName" :props="props">
{{ props.row.fileName }}
</q-td>
<q-td key="btnMicrosoft" :props="props">
<q-btn type="a" target="_blank" :href="props.row.pathName" flat dense round color="red" icon="picture_as_pdf">
<q-tooltip>ไฟล PDF</q-tooltip>
</q-btn>
</q-td>
</q-tr>
</template>
</d-table>
</div>
</q-card>
</q-card> </q-card>
</template> </template>

View file

@ -45,6 +45,8 @@ const popup = () => {
modal.value = true; modal.value = true;
}; };
const modalupload = ref<boolean>(false);
const modalTree = ref<boolean>(false); const modalTree = ref<boolean>(false);
const personal = ref<any[]>([]); const personal = ref<any[]>([]);
const personalId = ref<string>(""); const personalId = ref<string>("");
@ -70,7 +72,8 @@ const visibleColumns2 = ref<string[]>([
const filterKeyword = ref<string>(""); const filterKeyword = ref<string>("");
const filterKeyword2 = ref<string>(""); const filterKeyword2 = ref<string>("");
const filterRef = ref<any>(null); const filterRef = ref<any>(null);
const files = ref<any>();
const fileDocDataUpload = ref<File[]>([]);
const listRecevice = ref<any[]>([]); const listRecevice = ref<any[]>([]);
const filters = ref<ResponseRow[]>([]); const filters = ref<ResponseRow[]>([]);
const rows = ref<ResponseRow[]>([ const rows = ref<ResponseRow[]>([
@ -309,6 +312,32 @@ const fecthlistRecevice = async () => {
}); });
}; };
const fileUploadDoc = async (files: any) => {
files.forEach((file: any) => {
fileDocDataUpload.value.push(file);
});
};
const addUpload= async () => {
// showLoader();
// await http
// .post(config.API.listRoundInsignia())
// .then(() => {
// success($q, "");
// })
// .catch((e) => {
// messageError($q, e);
// })
// .finally(async () => {
// hideLoader();
// });
};
const SaveData = async () => {
await addUpload();
await clickCloseUpload();
};
const resetFilter = () => { const resetFilter = () => {
filterKeyword.value = ""; filterKeyword.value = "";
filterKeyword2.value = ""; filterKeyword2.value = "";
@ -328,6 +357,9 @@ const add = () => {
const clickClose = () => { const clickClose = () => {
modal.value = false; modal.value = false;
}; };
const clickCloseUpload = () => {
modalupload.value = false;
};
const openModalTree = (id: string) => { const openModalTree = (id: string) => {
personalId.value = id; personalId.value = id;
@ -337,6 +369,11 @@ const openModalTree = (id: string) => {
modalTree.value = true; modalTree.value = true;
}; };
const openUpload = (id: string) => {
personalId.value = id;
modalupload.value = true;
};
const openDelete = (id: string) => { const openDelete = (id: string) => {
dialogRemove($q, async () => await fetchDataDelete(id)); dialogRemove($q, async () => await fetchDataDelete(id));
}; };
@ -594,6 +631,35 @@ const saveOrder = async () => {
>เลอกหนวยงานทบโอน</q-item-section >เลอกหนวยงานทบโอน</q-item-section
> >
</q-item> </q-item>
<q-item
clickable
v-close-popup
@click="openUpload(props.row.personalId)"
:disable="
props.row.status == 'REPORT' ||
props.row.status == 'DONE'
"
>
<q-item-section
style="min-width: 0px"
avatar
class="q-py-sm"
>
<q-icon
:color="
props.row.status == 'REPORT' ||
props.row.status == 'DONE'
? 'grey'
: 'blue'
"
size="xs"
name="attach_file"
/>
</q-item-section>
<q-item-section
>พโหลดเอกสาร</q-item-section
>
</q-item>
<q-item <q-item
clickable clickable
v-close-popup v-close-popup
@ -794,6 +860,47 @@ const saveOrder = async () => {
</q-card> </q-card>
</q-dialog> </q-dialog>
<q-dialog v-model="modalupload">
<q-card style="width: 600px">
<DialogHeader title="อัพโหลดเอกสาร" :close="clickCloseUpload" />
<q-separator />
<q-separator />
<q-card-section class="q-pt-none">
<div class="col-12 row items-center q-col-gutter-sm">
<div class="col-12">
<q-file
outlined
dense
v-model="files"
@added="fileUploadDoc"
label="อัพโหลดเอกสาร"
lazy-rules
>
<!-- :rules="[
(val) => val || 'กรุณาเลือกไฟล์หนังสือถึงหน่วยงานที่รับโอน',
]" -->
<template v-slot:prepend>
<q-icon name="attach_file" />
</template>
</q-file>
</div>
</div>
</q-card-section>
<q-card-actions class="text-primary q-py-sm">
<q-space />
<q-btn
flat
round
color="public"
@click="SaveData"
icon="mdi-content-save-outline"
>
<q-tooltip>นท</q-tooltip>
</q-btn>
</q-card-actions>
</q-card>
</q-dialog>
<DialogOrgTree <DialogOrgTree
v-model:modal="modalTree" v-model:modal="modalTree"
:close="closeModalTree" :close="closeModalTree"

View file

@ -167,10 +167,10 @@
{{ props.row.fileName }} {{ props.row.fileName }}
</q-td> </q-td>
<q-td key="btnMicrosoft" :props="props"> <q-td key="btnMicrosoft" :props="props">
<q-btn flat dense round color="red" icon="picture_as_pdf"> <q-btn flat dense round color="red" icon="picture_as_pdf" @click="fileDownload(props.row.no,'pdf')">
<q-tooltip>ดาวนโหลด</q-tooltip> <q-tooltip>ไฟล PDF</q-tooltip>
</q-btn> </q-btn>
<q-btn flat dense round color="blue" icon="mdi-file-word"> <q-btn flat dense round color="blue" icon="mdi-file-word" @click="fileDownload(props.row.no,'docx')">
<q-tooltip>ไฟล WORD</q-tooltip> <q-tooltip>ไฟล WORD</q-tooltip>
</q-btn> </q-btn>
</q-td> </q-td>
@ -423,8 +423,9 @@ const $q = useQuasar();
const route = useRoute(); const route = useRoute();
const router = useRouter(); const router = useRouter();
const mixin = useCounterMixin(); const mixin = useCounterMixin();
const id = ref<string>("")
const dataId = (route.params.id as string);
const dataId = route.params.id;
const { const {
date2Thai, date2Thai,
messageError, messageError,
@ -463,7 +464,34 @@ const responseData = ref<ResponseDataDetail>({
status: "", status: "",
fullname: "", fullname: "",
}); });
const downloadFile = (response: any, filename: string) => {
const link = document.createElement("a");
var fileName = filename;
link.href = window.URL.createObjectURL(new Blob([response.data]));
link.setAttribute("download", fileName);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
};
const fileDownload = async (no:number,type:string) =>{
showLoader();
await http
.get(config.API.reportTransferFile(no,type,id.value), {
responseType: "blob",
})
.then(async (res) => {
downloadFile(
res,
`_ครั้งที่.${type}`
);
})
.catch((e) => {
messageError($q, e);
})
.finally(() => {
hideLoader();
});
};
const rows = ref<TypeFile[]>([]); const rows = ref<TypeFile[]>([]);
const columns = ref<QTableProps["columns"]>([ const columns = ref<QTableProps["columns"]>([
{ {
@ -503,22 +531,28 @@ onMounted(async () => {
await getData(); await getData();
}); });
const rowsFileDownload = ref<TypeFile[]>([{ const rowsFileDownload = ref<any[]>([{
no:1,
fileName: "คําร้องขอโอนไปถึงส่วนราชการอื่นนอก กรุงเทพมหานครที่ข้าราชการประสงค์ขอโอน", fileName: "คําร้องขอโอนไปถึงส่วนราชการอื่นนอก กรุงเทพมหานครที่ข้าราชการประสงค์ขอโอน",
pathName: "" pathName: ""
},{ },{
no:2,
fileName: "หนังสือแจ้งสํานักงานการเจ้าหน้าที่ สํานักปลัดกรุงเทพมหานคร ให้ทราบตําแหน่งและตําแหน่งเลขที่ที่ดําเนินการให้โอน", fileName: "หนังสือแจ้งสํานักงานการเจ้าหน้าที่ สํานักปลัดกรุงเทพมหานคร ให้ทราบตําแหน่งและตําแหน่งเลขที่ที่ดําเนินการให้โอน",
pathName: "" pathName: ""
},{ },{
no:3,
fileName: "หนังสือยินยอมให้โอนและวันที่พร้อมจะให้โอนไปยัง หน่วยงานที่รับโอน", fileName: "หนังสือยินยอมให้โอนและวันที่พร้อมจะให้โอนไปยัง หน่วยงานที่รับโอน",
pathName: "" pathName: ""
},{ },{
no:4,
fileName: "หนังสือแจ้งสหกรณ์ออมทรัพย์กรุงเทพมหานครเพื่อขอ ตรวจสอบภาระหนี้สินสหกรณ์ออมทรัพย์", fileName: "หนังสือแจ้งสหกรณ์ออมทรัพย์กรุงเทพมหานครเพื่อขอ ตรวจสอบภาระหนี้สินสหกรณ์ออมทรัพย์",
pathName: "" pathName: ""
},{ },{
no:5,
fileName: "หนังสือถึงสํานักงานการเจ้าหน้าที่ สํานักปลัดกรุงเทพมหานครเพื่อขอตรวจสอบพฤติการณ์ทางวินัย และภาระหนี้สินสวัสดิการ", fileName: "หนังสือถึงสํานักงานการเจ้าหน้าที่ สํานักปลัดกรุงเทพมหานครเพื่อขอตรวจสอบพฤติการณ์ทางวินัย และภาระหนี้สินสวัสดิการ",
pathName: "" pathName: ""
},{ },{
no:6,
fileName: "หนังสือถึงสถาบันพัฒนาข้าราชการกรุงเทพมหานครเพื่อขอตรวจสอบเรื่องภาระผูกพันการรับทุนและการลา ศึกษาต่อกับทางกรุงเทพมหานคร", fileName: "หนังสือถึงสถาบันพัฒนาข้าราชการกรุงเทพมหานครเพื่อขอตรวจสอบเรื่องภาระผูกพันการรับทุนและการลา ศึกษาต่อกับทางกรุงเทพมหานคร",
pathName: "" pathName: ""
}]); }]);
@ -529,7 +563,7 @@ const getData = async () => {
.get(config.API.transferId(dataId.toString())) .get(config.API.transferId(dataId.toString()))
.then((res: any) => { .then((res: any) => {
const data = res.data.result; const data = res.data.result;
// console.log(data); id.value = data.id
let list: TypeFile[] = []; let list: TypeFile[] = [];
if (data.docs.length > 0) { if (data.docs.length > 0) {
data.docs.map((doc: TypeFile) => { data.docs.map((doc: TypeFile) => {

View file

@ -488,7 +488,7 @@ const saveOrder = async () => {
<q-dialog v-model="modal"> <q-dialog v-model="modal">
<q-card style="width: 1200px; max-width: 80vw"> <q-card style="width: 1200px; max-width: 80vw">
<DialogHeader title="ส่งไปออกคำสั่งโอนออก" :close="closeModal" /> <DialogHeader title="ส่งไปออกคำสั่ง" :close="closeModal" />
<q-separator /> <q-separator />
<q-card-section class="q-pt-none"> <q-card-section class="q-pt-none">
<div class="row justify-end"> <div class="row justify-end">