Compare commits

..

No commits in common. "6f4ad68cab83d990bf7cdcefc7b3d9148cafa41b" and "8f8897338a2982e381a9c68c38bc9f1f67da9206" have entirely different histories.

7 changed files with 20 additions and 78 deletions

View File

@ -18,7 +18,6 @@ router.get("/", async function(req, res) {
item_form.subsidy,
scholarship_application.application_date,
scholarship_application.student_id,
scholarship_application.supplement_filename,
student.student_name,
audit_form.committee_review,
advisor.advisor_name,

View File

@ -1,34 +0,0 @@
const path = require('path');
const router = require('express').Router();
const fs = require('fs');
router.get("/", async function(req, res) {
const filename = req.query.filename;
console.log(filename);
const filePath = path.join('uploads', filename);
console.log(filePath);
if (filename) {
fs.access(filePath, fs.constants.F_OK, (err) => {
if (err) {
console.error('檔案不存在:', err);
res.status(404).send('檔案不存在');
} else {
res.download(filePath, (err) => {
if (err) {
console.error('檔案下載失敗:', err);
res.status(500).send('檔案下載失敗');
} else {
console.log("downloaded");
}
});
}
});
} else {
res.status(400).send('缺少 filename 參數');
}
});
module.exports = router;

View File

@ -43,13 +43,10 @@ router.post("/", upload.single('file'), async function(req, res) {
console.log(req.body);
if (req.file){
console.log("Upload file: " + req.file.filename);
var upload_file_name = req.file.filename;
console.log("Upload file: " + req.file.originalname);
} else {
console.log("No file");
var upload_file_name = "";
}
console.log(upload_file_name);
// data
const apply_infos_str = req.body.apply_infos; // get data from request
const application_units_str = req.body.application_units;
@ -74,7 +71,7 @@ router.post("/", upload.single('file'), async function(req, res) {
}
// insert data into table : scholarship_application
const scholarship_application_info = await conn.batch("INSERT INTO scholarship_application(`application_date`, `student_id`, `supplement_filename`) VALUES(?, ?, ?);", [time, student_id, upload_file_name ]);
const scholarship_application_info = await conn.batch("INSERT INTO scholarship_application(`application_date`, `student_id`) VALUES(?, ?);", [time, student_id]);
const scholarship_application_id = scholarship_application_info.insertId; // get the application_id of previous record
// 這邊你們要再改

View File

@ -25,8 +25,6 @@ app.use("/api/login", require("./api/login.js"));
app.use("/api/example", require("./api/example.js"));
app.use("/api/main", require("./api/main.js"));
app.use("/api/audit", require("./api/audit.js"));
app.use("/api/download", require("./api/download.js"));
// // static files
app.use('/js', express.static('./js'));
app.use('/css', express.static('./css'));

View File

@ -1,6 +1,6 @@
let item_info_len = 0;
var all_audit_data = null;
let all_audit_data = null;
let current_review_apllication_id;
const application_detail_init_table_content = document.getElementById("application_detail").innerHTML;
let assistant_s_num;
@ -31,11 +31,12 @@ async function getAuditedItemInfo() {
}
}
async function combineSameAppData(data) {
function combineSameAppData(data) {
// combine the same application id data in a same record
let n_data = {};
let next_record = true;
console.log('data:', data);
console.log("data:");
console.log(data);
for (let i = 0; i < data.length; i++) {
if (i > 0 && data[i].application_id != data[i-1].application_id) {
// this record is different from the last
@ -61,7 +62,6 @@ async function combineSameAppData(data) {
n_data[data[i].application_id].application_units = [data[i].application_unit];
n_data[data[i].application_id].item_contents = [data[i].item_content];
n_data[data[i].application_id].subsidys = [data[i].subsidy];
n_data[data[i].application_id].supplement_filename = [data[i].supplement_filename];
}
else {
n_data[data[i].application_id].application_units.push(data[i].application_unit);
@ -69,13 +69,11 @@ async function combineSameAppData(data) {
n_data[data[i].application_id].subsidys.push(data[i].subsidy);
}
}
console.log("SameAPPData here");
console.log('n_data: ' , n_data);
all_audit_data = n_data;
return n_data;
}
async function auditCase(application_id) {
function auditCase(application_id) {
console.log(`set application_id = ${application_id}`);
current_review_apllication_id = application_id;
@ -83,9 +81,6 @@ async function auditCase(application_id) {
const table_id = "application_detail";
document.getElementById(table_id).innerHTML = application_detail_init_table_content;
let table_content = document.getElementById(table_id).innerHTML;
if (all_audit_data == null) {
console.log("ERROR HERE");
}
const data = all_audit_data[application_id];
console.log(all_audit_data);
console.log(data);
@ -109,24 +104,14 @@ async function auditCase(application_id) {
document.getElementById(table_id).innerHTML = table_content;
// add simple info
let inner_html =
document.getElementById("application_info").innerHTML =
`
申請編號${data.application_id} <br/>
申請日期${data.application_date} <br/>
申請人姓名${data.student_name} <br/>
申請人學號${data.student_id} <br/>
未獲補助證明檔案:
`;
if (data.supplement_filename != '') {
inner_html += `${data.supplement_filename} <button><a href='/api/download?filename=${data.supplement_filename}'>下載</a></button>`
} else {
inner_html += "無";
}
inner_html +=
`<br>
申請內容
`;
document.getElementById("application_info").innerHTML = inner_html;
console.log();
}
@ -134,8 +119,7 @@ async function auditCase(application_id) {
async function putDataInTable(table_id) {
// get data
const result = await getItemInfo();
console.log('intable');
const data = await combineSameAppData(result.data);
const data = combineSameAppData(result.data);
const suc = result.success;
if (suc && data != null && table_id != null) {
// insert data into table
@ -171,8 +155,7 @@ async function putDataInTable(table_id) {
async function putDataInAuditedTable(table_id) {
// get data
const result = await getAuditedItemInfo();
console.log('audit_table');
const data = await combineSameAppData(result.data);
const data = combineSameAppData(result.data);
const suc = result.success;
if (suc && data != null && table_id != null) {
// insert data into table
@ -352,7 +335,6 @@ async function sendReviewResult() {
const result = await axios.post("/api/audit", data);
if (result.data.suc) {
alert("審核成功!");
window.location.reload();
}
else {
alert("審核失敗!", result.data.msg);
@ -360,11 +342,6 @@ async function sendReviewResult() {
// window.location.reload();
}
async function main() {
setAssistantName();
await putDataInAuditedTable("audit_block");
await putDataInTable("application_table");
}
main()
setAssistantName();
putDataInTable("application_table");
putDataInAuditedTable("audit_block");

View File

@ -118,8 +118,6 @@ async function sendApplyData() {
// send data
let result = await axios.post('/api/main', data, {headers: {'Content-Type': 'multipart/form-data'}});
console.log(result);
window.location.reload();
}
function setUserInfo() {

View File

@ -13,6 +13,13 @@
<label>系所助理:<span id="assistant_name"></span></label>
</div>
<br>
<div>
<label>選擇要審核的學號</label>
<select id="student_id_select">
<option value="">請選擇</option>
</select>
</div>
<br>
<fieldset>
<table border="1">
<tr>