diff --git a/src/api/data/dataAudit.ts b/src/api/data/dataAudit.ts new file mode 100644 index 0000000..a7a5d64 --- /dev/null +++ b/src/api/data/dataAudit.ts @@ -0,0 +1,70 @@ +import request from "@/api/request"; +import { BASE_PATH } from "@/api/request"; +import feedback from "@/utils/feedback"; + +export function getPage(data) { + return request.post({ + url: "/data/dataAudit/getPage", + body: data + }); +} + +export function add(data) { + return request.post({ + url: "/data/dataAudit/add", + body: data + }); +} + +export function update(data) { + return request.post({ + url: "/data/dataAudit/update", + body: data + }); +} + +export function del(data) { + return request.post({ + url: "/data/dataAudit/delete", + body: data + }); +} + +export function importExcel(file) { + const formData = new FormData(); + formData.append("file", file); + return request.post({ + url: "/data/dataAudit/import", + body: formData + }); +} + +export async function downloadTemplate() { + const response = await fetch(`${BASE_PATH}/data/dataAudit/downloadTemplate`, { + method: 'GET', + headers: { + "Authorization": localStorage.getItem('token') || '' + } + }); + if (!response.ok) { + feedback.msgError('下载模板失败'); + return; + } + const blob = await response.blob(); + let filename = '审计数据导入模板.xlsx'; + const disposition = response.headers.get('content-disposition'); + if (disposition) { + const match = disposition.match(/filename\*=UTF-8''(.+)/); + if (match) { + filename = decodeURIComponent(match[1]); + } + } + const url = window.URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = filename; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + window.URL.revokeObjectURL(url); +} diff --git a/src/views/data/Data_Audit.vue b/src/views/data/Data_Audit.vue new file mode 100644 index 0000000..041a0df --- /dev/null +++ b/src/views/data/Data_Audit.vue @@ -0,0 +1,420 @@ + + + + +