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 @@
+
Last viewed:
@@ -26,7 +31,12 @@
{{ issueSlip.customer }}
|
- {{ issueSlip.primaryID }} |
+
+ {{ issueSlip.primaryID }}
+
+
{{ issueSlip.ticketNo }} |
@@ -39,28 +49,79 @@
-
-
+
+
@@ -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 @@
+
Issues:
@@ -19,7 +24,12 @@
:class="['table-row', darkMode ? 'tr-darkmode' : 'tr-lightmode']" id="row-1">
|
- {{ issue.name }} |
+
+ {{ issue.name }}
+
+
{{ issue.type }} |
@@ -32,28 +42,79 @@
-
-
+
+
@@ -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 @@
-
+
+
+
+ Ordering information:
+
+
+
+
-
-
-
-
-
-
+
+
+
\ 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 @@
+
@@ -37,10 +38,18 @@
-
+
-
-
-
+
+
+