diff --git a/backend/controller/issues.js b/backend/controller/issues.js index 418a096..f2ee266 100644 --- a/backend/controller/issues.js +++ b/backend/controller/issues.js @@ -5,6 +5,8 @@ import { deleteIssueById, insertIssue, getAllIssues, + getSelectedIssuesByState, + getSelectedIssuesByIssueName, } from "../models/issuesModel.js"; //get all issues @@ -18,6 +20,28 @@ export const showIssues = (req, res) => { }); }; +//get all selected issues by name +export const showSelectedIssuesByIssueName = (req, res) => { + getSelectedIssuesByIssueName(req.params.id, (err, results) => { + if (err) { + res.send(err); + } else { + res.json(results); + } + }); +}; + +//get all selected issues by state +export const showSelectedIssuesByState = (req, res) => { + getSelectedIssuesByState(req.params.id, (err, results) => { + if (err) { + res.send(err); + } else { + res.json(results); + } + }); +}; + // Delete issue export const deleteIssue = (req, res) => { const id = req.params.id; diff --git a/backend/models/issueSlipsModel.js b/backend/models/issueSlipsModel.js index c1cd9e2..05e7cdd 100644 --- a/backend/models/issueSlipsModel.js +++ b/backend/models/issueSlipsModel.js @@ -61,6 +61,7 @@ export const deleteIssueSlipById = async (id, result) => { try { let sql = `DELETE FROM issueslips WHERE primaryID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -75,6 +76,7 @@ export const deleteIssueSlipByTicketNo = async (id, result) => { try { let sql = `DELETE FROM issueslips WHERE ticketNo = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -87,7 +89,8 @@ export const deleteIssueSlipByTicketNo = async (id, result) => { //insert issue slip to database export const insertIssueSlip = async (data, result) => { try { - const results = await ownConn.query(`INSERT INTO issueslips(customerID, customer, ticketNo, creationDate, lastView, user, notes, supplierRequest, supplierOffer, clientOffer, clientOrder, supplierOrder, ingress, egress, ingressBill, egressBill) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [data.customerID, data.customer, data.ticketNo, data.creationDate, data.lastView, data.user, data.notes, data.supplierRequest, data.supplierOffer, data.clientOffer, data.clientOrder, data.supplierOrder, data.ingress, data.egress, data.ingressBill, data.egressBill]) + const results = await ownConn.query(`INSERT INTO issueslips(customerID, customer, ticketNo, creationDate, lastView, user, notes, deliveryAddress, supplierRequestDate, supplierRequest, supplierOfferDate, supplierOffer, clientOfferDate, clientOffer, clientOrderDate, clientOrder, supplierOrderDate, supplierOrder, ingressDate, ingress, egressDate, egress, ingressBillDate, ingressBill, egressBillDate, egressBill) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [data.customerID, data.customer, data.ticketNo, data.creationDate, data.lastView, data.user, data.notes, data.deliveryAddress, data.supplierRequestDate, data.supplierRequest, data.supplierOfferDate, data.supplierOffer, data.clientOfferDate, data.clientOffer, data.clientOrderDate, data.clientOrder, data.supplierOrderDate, data.supplierOrder, data.ingressDate, data.ingress, data.egressDate, data.egress, data.ingressBillDate, data.ingressBill, data.egressBillDate, data.egressBill]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -129,8 +132,9 @@ export const getIssueSlipById = async (id, result) => { export const updateIssueSlipById = async (data, result) => { const id = data.primaryID; try { - let sql = `UPDATE issueslips SET customerID = ?, customer = ?, ticketNo = ?, creationDate = ?, lastView = ?, user = ?, notes = ?, supplierRequest = ?, supplierOffer = ?, clientOffer = ?, clientOrder = ?, supplierOrder = ?, ingress = ?, egress = ?, ingressBill = ?, egressBill = ? WHERE primaryID = ?`; - const results = await ownConn.query(sql, [data.customerID, data.customer, data.ticketNo, data.creationDate, data.lastView, data.user, data.notes, data.supplierRequest, data.supplierOffer, data.clientOffer, data.clientOrder, data.supplierOrder, data.ingress, data.egress, data.ingressBill, data.egressBill, id]) + let sql = `UPDATE issueslips SET customerID = ?, customer = ?, ticketNo = ?, creationDate = ?, lastView = ?, user = ?, notes = ?, deliveryAddress = ?, supplierRequestDate = ?, supplierRequest = ?, supplierOfferDate = ?, supplierOffer = ?, clientOfferDate = ?, clientOffer = ?, clientOrderDate = ?, clientOrder = ?, supplierOrderDate = ?, supplierOrder = ?, ingressDate = ?, ingress = ?, egressDate = ?, egress = ?, ingressBillDate = ?, ingressBill = ?, egressBillDate = ?, egressBill = ? WHERE primaryID = ?`; + const results = await ownConn.query(sql, [data.customerID, data.customer, data.ticketNo, data.creationDate, data.lastView, data.user, data.notes, data.deliveryAddress, data.supplierRequestDate, data.supplierRequest, data.supplierOfferDate, data.supplierOffer, data.clientOfferDate, data.clientOffer, data.clientOrderDate, data.clientOrder, data.supplierOrderDate, data.supplierOrder, data.ingressDate, data.ingress, data.egressDate, data.egress, data.ingressBillDate, data.ingressBill, data.egressBillDate, data.egressBill, id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { diff --git a/backend/models/issueVariantsModel.js b/backend/models/issueVariantsModel.js index b7ac8ba..b66bea6 100644 --- a/backend/models/issueVariantsModel.js +++ b/backend/models/issueVariantsModel.js @@ -19,7 +19,7 @@ export const getIssueVariantById = async (id, result) => { try { let sql = `SELECT * FROM issuevariants WHERE primaryID = ? ORDER BY primaryID ASC`; const results = await ownConn.execute(sql, [id]) - result(null, results); + result(null, results[0]); } catch (err) { // Manage Errors @@ -62,6 +62,7 @@ export const updateIssueVariantById = async (data, result) => { const id = data.primaryID; let sql = `UPDATE issuevariants SET issueID = ?, name = ? , properties = ?, state = ?, amount = ?, price = ? WHERE primaryID = ?`; const results = await ownConn.query(sql, [data.issueID, data.name, data.properties, data.state, data.amount, data.price, id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -77,6 +78,7 @@ export const deleteIssueVariantById = async (id, result) => { try { let sql = `DELETE FROM issuevariants WHERE primaryID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -91,6 +93,7 @@ export const deleteIssueVariantByIssueSlipId = async (id, result) => { try { let sql = `DELETE FROM issuevariants WHERE issueID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -104,6 +107,7 @@ export const deleteIssueVariantByIssueSlipId = async (id, result) => { export const insertIssueVariant = async (data, result) => { try { const results = await ownConn.query(`INSERT INTO issuevariants(issueID, name, properties, state, amount, price) VALUES(?, ?, ?, ?, ?, ?)`, [data.issueID, data.name, data.properties, data.state, data.amount, data.price]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { diff --git a/backend/models/issuesModel.js b/backend/models/issuesModel.js index 8473155..81e2393 100644 --- a/backend/models/issuesModel.js +++ b/backend/models/issuesModel.js @@ -14,12 +14,40 @@ export const getAllIssues = async (result) => { } }; +//get all selected issues by state +export const getSelectedIssuesByState = async (selected, result) => { + try { + let sql = `SELECT * FROM issues WHERE state LIKE '%${selected}%' ORDER BY state ASC`; + const results = await ownConn.execute(sql) + result(null, results); + } + catch (err) { + // Manage Errors + console.log("SQL error : ", err); + result(err, null); + } +}; + +//get all selected issues by issue name +export const getSelectedIssuesByIssueName = async (selected, result) => { + try { + let sql = `SELECT * FROM issues WHERE name LIKE '%${selected}%' ORDER BY name ASC`; + const results = await ownConn.execute(sql) + result(null, results); + } + catch (err) { + // Manage Errors + console.log("SQL error : ", err); + result(err, null); + } +}; + //get single issue export const getIssueById = async (id, result) => { try { let sql = `SELECT * FROM issues WHERE primaryID = ? ORDER BY primaryID ASC`; const results = await ownConn.execute(sql, [id]) - result(null, results); + result(null, results[0]); } catch (err) { // Manage Errors @@ -34,6 +62,7 @@ export const updateIssueById = async (data, result) => { const id = data.primaryID; let sql = `UPDATE issues SET name = ?, type = ? , state = ?, amount = ?, properties = ? WHERE primaryID = ?`; const results = await ownConn.query(sql, [data.name, data.type, data.state, data.amount, data.properties, id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -48,6 +77,7 @@ export const deleteIssueById = async (id, result) => { try { let sql = `DELETE FROM issues WHERE primaryID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -61,6 +91,7 @@ export const deleteIssueById = async (id, result) => { export const insertIssue = async (data, result) => { try { const results = await ownConn.query(`INSERT INTO issues(name, type, state, amount, properties) VALUES(?, ?, ?, ?, ?)`, [data.name, data.type, data.state, data.amount, data.properties]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { diff --git a/backend/models/orderingInfoIssueSlipsModel.js b/backend/models/orderingInfoIssueSlipsModel.js index b64fd02..d94a51f 100644 --- a/backend/models/orderingInfoIssueSlipsModel.js +++ b/backend/models/orderingInfoIssueSlipsModel.js @@ -20,6 +20,7 @@ export const updateOrderingInfoIssueSlipById = async (data, result) => { const id = data.primaryID; let sql = `UPDATE orderinginfoissueslips SET issueSlipID = ?, article = ? , amount = ?, price = ?, comment = ? WHERE primaryID = ?`; const results = await ownConn.query(sql, [data.issueSlipID, data.article, data.amount, data.price, data.comment, id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -35,6 +36,7 @@ export const deleteOrderingInfoIssueSlipById = async (id, result) => { try { let sql = `DELETE FROM orderinginfoissueslips WHERE primaryID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -49,6 +51,7 @@ export const deleteOrderingInfoIssueSlipByIssueSlipId = async (id, result) => { try { let sql = `DELETE FROM orderinginfoissueslips WHERE issueSlipID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -62,6 +65,7 @@ export const deleteOrderingInfoIssueSlipByIssueSlipId = async (id, result) => { export const insertOrderingInfoIssueSlip = async (data, result) => { try { const results = await ownConn.query(`INSERT INTO orderinginfoissueslips(issueSlipID, article, amount, price, comment) VALUES(?, ?, ?, ?, ?)`, [data.issueSlipID, data.article, data.amount, data.price, data.comment]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { diff --git a/backend/routes/routes.js b/backend/routes/routes.js index f248bbd..34b52c5 100644 --- a/backend/routes/routes.js +++ b/backend/routes/routes.js @@ -166,6 +166,8 @@ import { showIssueById, updateIssue, showIssues, + showSelectedIssuesByIssueName, + showSelectedIssuesByState, } from "../controller/issues.js"; import { @@ -552,6 +554,12 @@ router.get("/issues", showIssues); //get issue by id router.get("/issues/:id", showIssueById); +//get all issues by selected name +router.get("/selectedIssuesByIssueName/:id", showSelectedIssuesByIssueName) + +//get all issues by selected state +router.get("/selectedIssuesByState/:id", showSelectedIssuesByState) + // Update issue router.put("/issues", updateIssue); diff --git a/components/CustomerSearch.vue b/components/CustomerSearch.vue index 4c46535..e2377a4 100644 --- a/components/CustomerSearch.vue +++ b/components/CustomerSearch.vue @@ -1,9 +1,9 @@ @@ -24,12 +24,20 @@ const updateFilterTerm = () => { customerFilter.value = filteredTerm.value } +const checkFiltered = () => { + if (!filtered.value) { + clientFilter.value = '' + filterList(); + } +} + // update the filtered term in the store -const filterConfigItemList = () => { - store.commit('updateAssetFilterbyCustomer', customerFilter.value); +const filterList = () => { + store.commit('updateFilterbyClient', clientFilter.value); } watch(filteredTerm, updateFilterTerm) +watch(filtered, checkFiltered) + + + + \ No newline at end of file diff --git a/components/LoginForm.vue b/components/LoginForm.vue index 18ed8b5..a13e686 100644 --- a/components/LoginForm.vue +++ b/components/LoginForm.vue @@ -43,7 +43,6 @@ - - - + + + \ No newline at end of file diff --git a/components/server/IssueSlipTable.vue b/components/server/IssueSlipTable.vue index 1dbbc00..bd5a1db 100644 --- a/components/server/IssueSlipTable.vue +++ b/components/server/IssueSlipTable.vue @@ -1,4 +1,9 @@ - - + + @@ -69,7 +130,7 @@ export default { name: "IssueSlipTable", }; - + \ No newline at end of file +} + \ No newline at end of file diff --git a/components/server/IssueTable.vue b/components/server/IssueTable.vue index fa90718..8c65fdc 100644 --- a/components/server/IssueTable.vue +++ b/components/server/IssueTable.vue @@ -1,4 +1,9 @@ - - + + @@ -61,10 +122,10 @@ onMounted(() => { export default { name: "IssueTable", }; - - - - + + + + \ No newline at end of file diff --git a/components/server/IssueVariants.vue b/components/server/IssueVariants.vue index 0bad0ef..e3ebee4 100644 --- a/components/server/IssueVariants.vue +++ b/components/server/IssueVariants.vue @@ -1,5 +1,6 @@ - + - - - + + + + \ No newline at end of file diff --git a/components/server/MaintenanceVisitsInstance.vue b/components/server/MaintenanceVisitsInstance.vue index c962013..8ca9f50 100644 --- a/components/server/MaintenanceVisitsInstance.vue +++ b/components/server/MaintenanceVisitsInstance.vue @@ -129,7 +129,7 @@ export default { align-items: center; justify-content: flex-start; width: 95%; - padding: 0 1.875rem; + padding: 0.8rem 1.875rem; gap: 1.25rem; border-radius: 0.625rem; } diff --git a/components/server/MaintenanceVisitsTemplate.vue b/components/server/MaintenanceVisitsTemplate.vue index a1dbede..9a56299 100644 --- a/components/server/MaintenanceVisitsTemplate.vue +++ b/components/server/MaintenanceVisitsTemplate.vue @@ -138,6 +138,7 @@ const confirmDeleteMVT = async () => { try { await Axios.delete(`https://${clientsideConfig.url}:${clientsideConfig.port}/api/deleteMaintenanceVisitTemplate/${chosenMVTId.value}`); store.commit('undoDelete'); + store.commit('resetStore'); store.commit('changeToTemplatelist'); } catch (err) { console.log(err.response.statusText); diff --git a/components/server/NetworkSpecifications.vue b/components/server/NetworkSpecifications.vue index c541778..f19f193 100644 --- a/components/server/NetworkSpecifications.vue +++ b/components/server/NetworkSpecifications.vue @@ -67,7 +67,7 @@
- +
diff --git a/components/server/OrderingInformation.vue b/components/server/OrderingInformation.vue index 61ecd37..6ceee62 100644 --- a/components/server/OrderingInformation.vue +++ b/components/server/OrderingInformation.vue @@ -1,5 +1,5 @@ - - - - - - + + + \ No newline at end of file diff --git a/components/server/ProductionOrdersInstance.vue b/components/server/ProductionOrdersInstance.vue index 0b0269e..f3bf3bc 100644 --- a/components/server/ProductionOrdersInstance.vue +++ b/components/server/ProductionOrdersInstance.vue @@ -135,7 +135,7 @@ export default { align-items: center; justify-content: flex-start; width: 95%; - padding: 0 1.875rem; + padding: 0.8rem 1.875rem; gap: 1.25rem; border-radius: 0.625rem; } diff --git a/components/server/ProductionOrdersTemplate.vue b/components/server/ProductionOrdersTemplate.vue index ea88ab2..f306ad5 100644 --- a/components/server/ProductionOrdersTemplate.vue +++ b/components/server/ProductionOrdersTemplate.vue @@ -144,6 +144,7 @@ const confirmDeletePOT = async () => { try { await Axios.delete(`https://${clientsideConfig.url}:${clientsideConfig.port}/api/deleteProductionOrderTemplate/${chosenPOTId.value}`); store.commit('undoDelete'); + store.commit('resetStore'); store.commit('changeToTemplatelist'); } catch (err) { console.log(err.response.statusText); diff --git a/components/server/Solution.vue b/components/server/Solution.vue index 1ac8b77..0b74aeb 100644 --- a/components/server/Solution.vue +++ b/components/server/Solution.vue @@ -277,6 +277,7 @@ const confirmDeleteSolution = async () => { try { await Axios.delete(`https://${clientsideConfig.url}:${clientsideConfig.port}/api/deleteSolution/${chosenSolutionId.value}`); store.commit('undoDelete'); + store.commit('resetStore'); store.commit('changeToSolutionlist'); } catch (err) { console.log(err.response.statusText); diff --git a/components/server/SolutionChecklist.vue b/components/server/SolutionChecklist.vue index 818d4bc..a5442e8 100644 --- a/components/server/SolutionChecklist.vue +++ b/components/server/SolutionChecklist.vue @@ -137,7 +137,7 @@ @click="addRowForNewSol()">+
- +
diff --git a/components/server/TemplateChecklist.vue b/components/server/TemplateChecklist.vue index 8206b03..8d155b9 100644 --- a/components/server/TemplateChecklist.vue +++ b/components/server/TemplateChecklist.vue @@ -126,7 +126,7 @@ @@ -138,7 +138,7 @@ @click="addRowForNewPOT()">+
- +
@@ -619,7 +619,6 @@ th { box-shadow: 0.25rem 0.25rem 0.25rem 0rem rgba(0, 0, 0, 0.25); } - .savePOTTodos-darkmode { background: #212121; color: #fff; diff --git a/components/server/TemplateChecklistMVT.vue b/components/server/TemplateChecklistMVT.vue index e4aab3f..69b2b33 100644 --- a/components/server/TemplateChecklistMVT.vue +++ b/components/server/TemplateChecklistMVT.vue @@ -138,7 +138,7 @@ @click="addRowForNewMVT()">+
- +
diff --git a/components/server/UserAccount.vue b/components/server/UserAccount.vue index d1146f2..05a4caf 100644 --- a/components/server/UserAccount.vue +++ b/components/server/UserAccount.vue @@ -99,7 +99,7 @@ export default { align-items: center; justify-content: flex-start; width: 100%; - padding: 0 1.875rem; + padding: 0.8rem 1.875rem; border-radius: 0.625rem; gap: 1.25rem; } diff --git a/components/server/UserAppearance.vue b/components/server/UserAppearance.vue index e65fae2..5ed77e9 100644 --- a/components/server/UserAppearance.vue +++ b/components/server/UserAppearance.vue @@ -70,7 +70,7 @@ export default { align-items: center; justify-content: flex-start; width: 100%; - padding: 0 1.875rem; + padding: 0.8rem 1.875rem; border-radius: 0.625rem; gap: 1.25rem; } diff --git a/components/server/UserProfile.vue b/components/server/UserProfile.vue index c866586..00a031a 100644 --- a/components/server/UserProfile.vue +++ b/components/server/UserProfile.vue @@ -100,7 +100,7 @@ export default { align-items: center; justify-content: flex-start; width: 100%; - padding: 0 1.875rem; + padding: 0.8rem 1.875rem; border-radius: 0.625rem; gap: 1.25rem; } diff --git a/documentation/.$Datenbankmodell.drawio.bkp b/documentation/.$Datenbankmodell.drawio.bkp index ff6e711..35fa7fe 100644 --- a/documentation/.$Datenbankmodell.drawio.bkp +++ b/documentation/.$Datenbankmodell.drawio.bkp @@ -1,6 +1,6 @@ - + - + @@ -580,7 +580,7 @@ - + diff --git a/documentation/Datenbankmodell.drawio b/documentation/Datenbankmodell.drawio index 35fa7fe..28b2cf5 100644 --- a/documentation/Datenbankmodell.drawio +++ b/documentation/Datenbankmodell.drawio @@ -1,6 +1,6 @@ - + - + @@ -395,7 +395,7 @@ - + @@ -421,33 +421,63 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -470,7 +500,7 @@ - + @@ -491,7 +521,7 @@ - + diff --git a/pages/issueItems.vue b/pages/issueItems.vue index 4e06db2..5c90e69 100644 --- a/pages/issueItems.vue +++ b/pages/issueItems.vue @@ -1,7 +1,7 @@