เพิ่ม isUploadAttachment
This commit is contained in:
parent
75ea2cc155
commit
222bc2ef9f
4 changed files with 109 additions and 46 deletions
|
|
@ -13,10 +13,7 @@ import genReportXLSX from "@/plugins/genreportxlsx";
|
|||
import DialogHeader from "@/components/DialogHeader.vue";
|
||||
|
||||
import type { PDFDocumentLoadingTask } from "pdfjs-dist/types/src/display/api";
|
||||
import type {
|
||||
DataFileOrder,
|
||||
FormDataDetail,
|
||||
} from "@/modules/18_command/interface/index/Main";
|
||||
import type { DataFile } from "@/modules/18_command/interface/index/Main";
|
||||
|
||||
const $q = useQuasar();
|
||||
const { showLoader, hideLoader, messageError } = useCounterMixin();
|
||||
|
|
@ -34,9 +31,9 @@ const pdfSrc = ref<PDFDocumentLoadingTask | undefined>(); // ตัวแปร
|
|||
|
||||
const dialog = ref<boolean>(false); // เปิด dialog
|
||||
const isLoadView = ref<boolean>(false);
|
||||
const isAttachment = ref<boolean>(false);
|
||||
const dataCover = ref<DataFileOrder>(); //ข้อมูลไฟล์คำสั่ง
|
||||
const dataAttachment = ref<DataFileOrder>(); //ข้อมูลไฟล์แบนท้าย
|
||||
const isUploadAttachment = ref<boolean>(false);
|
||||
const dataCover = ref<DataFile>(); //ข้อมูลไฟล์คำสั่ง
|
||||
const dataAttachment = ref<DataFile>(); //ข้อมูลไฟล์แบนท้าย
|
||||
|
||||
/** ปิด popup */
|
||||
function closeDialog() {
|
||||
|
|
@ -69,8 +66,8 @@ async function checkAttachment() {
|
|||
.get(config.API.commandRegister(commandId.value))
|
||||
.then(async (res) => {
|
||||
const data = res.data.result;
|
||||
isAttachment.value = data.isAttachment;
|
||||
if (isAttachment.value) {
|
||||
isUploadAttachment.value = data.isUploadAttachment;
|
||||
if (isUploadAttachment.value) {
|
||||
promises.value.push(fetchDataCommand("attachment"));
|
||||
}
|
||||
});
|
||||
|
|
@ -82,19 +79,22 @@ async function checkAttachment() {
|
|||
*/
|
||||
async function downloadCover(type: string) {
|
||||
if (tab.value === "main") {
|
||||
genReport(
|
||||
dataCover.value,
|
||||
`คำสั่ง ${issue.value}`,
|
||||
type,
|
||||
"?folder=command"
|
||||
);
|
||||
window.open(dataCover.value?.downloadUrl, "_blank");
|
||||
|
||||
// genReport(
|
||||
// dataCover.value,
|
||||
// `คำสั่ง ${issue.value}`,
|
||||
// type,
|
||||
// "?folder=command"
|
||||
// );
|
||||
} else {
|
||||
genReportXLSX(
|
||||
dataAttachment.value,
|
||||
`เอกสารแนบท้าย ${issue.value}`,
|
||||
type,
|
||||
"?folder=command"
|
||||
);
|
||||
window.open(dataAttachment.value?.downloadUrl, "_blank");
|
||||
// genReportXLSX(
|
||||
// dataAttachment.value,
|
||||
// `เอกสารแนบท้าย ${issue.value}`,
|
||||
// type,
|
||||
// "?folder=command"
|
||||
// );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -103,30 +103,53 @@ async function downloadCover(type: string) {
|
|||
* @param type ประเภท cover เป็นคำสั่ง attachment เป็น แบนท้าย
|
||||
*/
|
||||
async function fetchDataCommand(type: string) {
|
||||
let newType = type === "cover" ? "คำสั่ง" : "แนบท้าย";
|
||||
await http
|
||||
.get(config.API.commandRegisterByType(commandId.value, type))
|
||||
.get(
|
||||
config.API.fileByFile("ระบบออกคำสั่ง", newType, commandId.value, newType)
|
||||
)
|
||||
.then(async (res) => {
|
||||
const dataMain = await res.data.result;
|
||||
const data = res.data;
|
||||
console.log(res);
|
||||
|
||||
if (type === "cover") {
|
||||
dataCover.value = dataMain;
|
||||
issue.value = await res.data.result.data.commandTitle;
|
||||
dataCover.value = data;
|
||||
await fetchPDF(dataCover.value);
|
||||
} else {
|
||||
dataAttachment.value = dataMain;
|
||||
dataAttachment.value = data;
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
messageError($q, e);
|
||||
})
|
||||
.finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
// await http
|
||||
// .get(config.API.commandRegisterByType(commandId.value, type))
|
||||
// .then(async (res) => {
|
||||
// const dataMain = await res.data.result;
|
||||
// if (type === "cover") {
|
||||
// dataCover.value = dataMain;
|
||||
// issue.value = await res.data.result.data.commandTitle;
|
||||
// await fetchPDF(dataCover.value);
|
||||
// } else {
|
||||
// dataAttachment.value = dataMain;
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
/** ฟังชั่นกำหนดค่าของ PDF*/
|
||||
async function fetchPDF(data: any, type: string = "docx?folder=command") {
|
||||
isLoadView.value = false;
|
||||
await axios
|
||||
.post(config.API.reportTemplate + `/${type}`, data, {
|
||||
headers: {
|
||||
accept: "application/pdf",
|
||||
"content-Type": "application/json",
|
||||
},
|
||||
axios
|
||||
.get(data.downloadUrl, {
|
||||
method: "GET",
|
||||
responseType: "blob",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Accept: type, // ถ้ามีการระบุเมื่ออัปโหลด
|
||||
},
|
||||
})
|
||||
.then(async (res) => {
|
||||
const blob = new Blob([res.data]);
|
||||
|
|
@ -138,10 +161,33 @@ async function fetchPDF(data: any, type: string = "docx?folder=command") {
|
|||
isLoadView.value = true;
|
||||
}, 1500);
|
||||
})
|
||||
.catch(async (e) => {
|
||||
messageError($q, e);
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
isLoadView.value = true;
|
||||
});
|
||||
|
||||
// await axios
|
||||
// .post(config.API.reportTemplate + `/${type}`, data, {
|
||||
// headers: {
|
||||
// accept: "application/pdf",
|
||||
// "content-Type": "application/json",
|
||||
// },
|
||||
// responseType: "blob",
|
||||
// })
|
||||
// .then(async (res) => {
|
||||
// const blob = new Blob([res.data]);
|
||||
// const objectUrl = URL.createObjectURL(blob);
|
||||
// const pdfData = usePDF(`${objectUrl}`);
|
||||
// setTimeout(() => {
|
||||
// pdfSrc.value = pdfData.pdf.value;
|
||||
// numOfPages.value = pdfData.pages.value;
|
||||
// isLoadView.value = true;
|
||||
// }, 1500);
|
||||
// })
|
||||
// .catch(async (e) => {
|
||||
// messageError($q, e);
|
||||
// isLoadView.value = true;
|
||||
// });
|
||||
}
|
||||
|
||||
watch(
|
||||
|
|
@ -191,7 +237,7 @@ watch(
|
|||
</div>
|
||||
|
||||
<div
|
||||
v-if="isAttachment"
|
||||
v-if="isUploadAttachment"
|
||||
@click="setTab('second')"
|
||||
:class="getClass(tab == 'second')"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ const isSignature = ref<boolean | null>(null);
|
|||
const isDraft = ref<boolean>(false); //ทำแบบร่าง
|
||||
const isSign = ref<boolean>(false); //การลงนาม
|
||||
const isAttachment = ref<boolean>(false); //เอกสารแนบท้าย
|
||||
const isUploadAttachment = ref<boolean>(false);
|
||||
|
||||
/** ฟังก์ชันเรียกข้อมูลสถานะคำสั่ง*/
|
||||
async function fetchData() {
|
||||
|
|
@ -47,7 +48,8 @@ async function fetchData() {
|
|||
isDraft.value = data.isDraft;
|
||||
isSign.value = data.isSign;
|
||||
isAttachment.value = data.isAttachment;
|
||||
store.isSalary = data.isSalary
|
||||
isUploadAttachment.value = data.isUploadAttachment;
|
||||
store.isSalary = data.isSalary;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
|
|
@ -211,7 +213,7 @@ onMounted(async () => {
|
|||
v-model:step="step"
|
||||
v-model:is-draft="isDraft"
|
||||
v-model:is-authority="isSign"
|
||||
v-model:is-attachment="isAttachment"
|
||||
v-model:is-attachment="isUploadAttachment"
|
||||
:fetch-data="fetchData"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -224,7 +226,7 @@ onMounted(async () => {
|
|||
<DigitalView
|
||||
v-model:step="step"
|
||||
v-model:is-draft="isDraft"
|
||||
v-model:is-attachment="isAttachment"
|
||||
v-model:is-attachment="isUploadAttachment"
|
||||
:fetch-data="fetchData"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -392,14 +392,7 @@ onMounted(async () => {
|
|||
</q-card>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="col-6"
|
||||
v-if="
|
||||
isAttachment ||
|
||||
(store.dataCommand &&
|
||||
store.dataCommand.commandCode == 'C-PM-38')
|
||||
"
|
||||
>
|
||||
<div class="col-6" v-if="isAttachment || store.dataCommand">
|
||||
<q-card
|
||||
bordered
|
||||
class="row col-12"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue