From 772a57d79f4ff7e289f0513721f41cfbdecdc38e Mon Sep 17 00:00:00 2001
From: heydoyouknowme0
Date: Sat, 8 Jun 2024 09:11:35 +0530
Subject: [PATCH] feat: stores section
---
.../institute/sections/store/page.tsx | 310 +++++++++++++++++-
i18n/en.ts | 82 ++++-
i18n/hi.ts | 82 ++++-
i18n/translations.ts | 34 +-
4 files changed, 503 insertions(+), 5 deletions(-)
diff --git a/app/[locale]/institute/sections/store/page.tsx b/app/[locale]/institute/sections/store/page.tsx
index efa1e3b8..168964a2 100644
--- a/app/[locale]/institute/sections/store/page.tsx
+++ b/app/[locale]/institute/sections/store/page.tsx
@@ -1,6 +1,20 @@
-import { WorkInProgressStatus } from '~/components/status';
+import Link from 'next/link';
+import { Suspense } from 'react';
+
+import { buttonVariants } from '~/components/buttons';
+import Heading from '~/components/heading';
+import ImageHeader from '~/components/image-header';
+import {
+ Table,
+ TableBody,
+ TableCell,
+ TableHead,
+ TableHeader,
+ TableRow,
+} from '~/components/ui';
import { getTranslations } from '~/i18n/translations';
import { db } from '~/server/db';
+import { getS3Url } from '~/server/s3';
export default async function Store({
params: { locale },
@@ -8,10 +22,302 @@ export default async function Store({
params: { locale: string };
}) {
const text = (await getTranslations(locale)).Section.Store;
+ const s3Url = getS3Url() + '/institute/sections/store/';
const section = (await db.query.sections.findFirst({
where: (section, { eq }) => eq(section.urlName, 'store'),
}))!;
- return ;
+ const tenders = [
+ {
+ startDate: '30/08/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/08/NITCH1.pdf',
+ endDate: '19/09/2024',
+ },
+ {
+ startDate: '28/08/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/08/GeM-Bidding-6830441.pdf',
+ endDate: '07/09/2024',
+ },
+ {
+ startDate: '28/08/2024',
+ documentLink: 'https://nitkkr.ac.in/wp-content/uploads/2024/08/NITCM.pdf',
+ endDate: '18/09/2024',
+ },
+ {
+ startDate: '21/08/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/08/Call-of-quotations-for-Electrical-items.pdf',
+ endDate: '05/09/2024',
+ },
+ {
+ startDate: '23/08/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/08/Call-for-quotations-of-Milk-and-Milk-items.pdf',
+ endDate: '31/08/2024',
+ },
+ {
+ startDate: '27/08/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/08/Call-for-Quotation-of-Rice.pdf',
+ endDate: '09/09/2024',
+ },
+ {
+ startDate: '23/08/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/08/GeM-Bidding-6817051.pdf',
+ endDate: '07/09/2024',
+ },
+ {
+ startDate: '20/08/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/08/GeM-Bidding-6750089.pdf',
+ endDate: '10/09/2024',
+ },
+ {
+ startDate: '02/08/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/08/GeM-Bidding-6721662.pdf',
+ endDate: '27/08/2024',
+ dateExtended: '02/09/2024',
+ },
+ {
+ startDate: '31/07/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/07/GeM-Bidding-6716515.pdf',
+ endDate: '10/08/2024',
+ dateExtended: '02/09/2024',
+ },
+ {
+ startDate: '24/07/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/07/GeM-Bidding-6686011.pdf',
+ endDate: '03/08/2024',
+ dateExtended: '02/09/2024',
+ },
+ {
+ startDate: '28/06/2024',
+ documentLink:
+ 'https://nitkkr.ac.in/wp-content/uploads/2024/06/GeM-Bidding-6578396.pdf',
+ endDate: '31/07/2024',
+ dateExtended: '31/08/2024',
+ },
+ ];
+
+ const purchaseLinks = [
+ 'STORES_AND_PURCHAS_RULES_2008.pdf',
+ 'negotiations.pdf',
+ 'PFC_5.4.2.pdf',
+ 'PFC_5.4.2-1.pdf',
+ 'DRStores_IcOfficeOrderandNotification.pdf',
+ 'Institute_Furniture_Purchase_CommitteeIFPC.pdf',
+ 'RO_system.pdf',
+ 'Furniture.pdf',
+ 'Furniture_Committee.pdf',
+ 'Work_Distribuitor.pdf',
+ ];
+ const teqipLinks = [
+ 'http://www.npiu.nic.in/',
+ 'http://teqip2-pmss.com/pmssproduction',
+ s3Url + 'PROCUREMENT-MANUAL.pdf',
+ s3Url + 'PROPRIETARY_ARTICLE_CERTIFICATE_TEQIP.docx',
+ s3Url + 'Procurement_requisition_TEQIP-II.pdf',
+ ];
+
+ const getHeadDetails = async () => {
+ await new Promise((resolve) => setTimeout(resolve, 3000));
+ const head = await db.query.staff.findFirst({
+ columns: { id: true },
+ where: (staff, { eq }) => eq(staff.id, section?.headFacultyId),
+ with: {
+ person: { columns: { name: true, email: true, telephone: true } },
+ },
+ });
+ return (
+
+ {head?.person.name}
+
+ {text.incharge.post}
+
+ {text.incharge.telephone}: {head?.person.telephone}
+
+ {text.incharge.email}:{}
+
+ );
+ };
+ return (
+ <>
+
+
+
+ {text.functions}
+
+ {text.functionList.map((func, i) => (
+ - {func}
+ ))}
+
+ Loading...
}>{getHeadDetails()}
+
+
+
+
+
+
+ {text.tenderTable.startDate}
+ {text.tenderTable.tenderName}
+ {text.tenderTable.tenderFileName}
+ {text.tenderTable.endDate}
+ {text.tenderTable.extendedDate}
+
+
+
+ {tenders.map((tender, index) => (
+
+ {tender.startDate}
+ {text.tenderName[index]}
+
+
+ {text.tenderFileName[index]}
+
+
+ {tender.endDate}
+ {tender.dateExtended}
+
+ ))}
+
+
+
+
+
+
+ {text.purchaseRules.map((rule, i) => (
+ -
+
+ {rule}
+
+
+ ))}
+
+
+
+
+
+
+ {text.listItemsInStore}
+
+
+
+
+ {text.listItemsPrice}
+
+
+
+
+
+ {text.teqipSub}
+
+ {text.teqipList.map((item, i) => (
+ -
+
+ {item}
+
+
+ ))}
+
+
+
+ >
+ );
}
diff --git a/i18n/en.ts b/i18n/en.ts
index 45b6b0d5..4ea9b132 100644
--- a/i18n/en.ts
+++ b/i18n/en.ts
@@ -227,7 +227,87 @@ const text: Translations = {
HealthCentre: {},
Security: {},
Sports: {},
- Store: {},
+ Store: {
+ title: 'Stores',
+ about: 'About Us',
+ functions: 'Major functions of Store Section are as follows:',
+ functionList: [
+ 'Basic Purchase through Stores Section.',
+ 'Attending major Purchase meetings.',
+ 'Stock verification of the entire Institute.',
+ 'Import of items.',
+ 'Writing off the unserviceable inventory items.',
+ ],
+ incharge: {
+ post: 'Prof.in-Charge, Stores\nNational Institute of Technology\nKurukshetra, Haryana-136119, INDIA',
+ telephone: 'Tel',
+ email: 'Email Id',
+ },
+ tender: 'Tenders & Inquiry',
+ tenderTable: {
+ startDate: 'Start Date',
+ endDate: 'End Date',
+ tenderName: 'Description',
+ tenderFileName: 'Documents',
+ extendedDate: 'Date Extended',
+ },
+ tenderName: [
+ 'NIT Kurukshetra invites bids for the External & Internal Painting Work',
+ 'NIT Kurukshetra invites bids for the Wire Mesh.',
+ 'NIT Kurukshetra invites bids for the Renovation of the Computational Lab (Civil & Electrical Works)',
+ 'Call of Quotations for Electrical Items',
+ 'Call for Quotation of Milk and Milk items',
+ 'Call for Quotation of Rice',
+ 'NIT Kurukshetra invites bids for the supply of Desktop Computers (123)',
+ 'NIT Kurukshetra invites bids for the Security Manpower Services',
+ 'NIT Kurukshetra invites bids for the procurement of Sports Kit (Shorts and T-shirts)',
+ 'NIT Kurukshetra invites bids for the Servicing of Transformers',
+ 'NIT Kurukshetra invites bids for the Repair and Service of ductable Air Conditioner',
+ 'NIT Kurukshetra invites bids for Supply & Installation of Legrand Bus Bar Trunking',
+ ],
+ tenderFileName: [
+ 'NITCH1',
+ 'GeM-Bidding-6830441',
+ 'Bid Document',
+ 'Call of quotations for Electrical items',
+ 'Call for quotations of Milk and Milk items',
+ 'Call for Quotation of Rice',
+ 'GeM-Bidding-6817051',
+ 'GeM-Bidding-6750089',
+ 'GeM-Bidding-6721662',
+ 'GeM-Bidding-6716515',
+ 'GeM-Bidding-6686011',
+ 'GeM-Bidding-6578396',
+ ],
+ purchaseRulesTitle: 'Purchase Rules & Notifications',
+ purchaseRules: [
+ 'Comprehensive Stores and Purchase Rules 2008',
+ 'Negotiation Committee( Propritery Items)',
+ 'Purchase Finalization Committee Constitution and Members',
+ 'Purchase Finalization Committee(PFC) Proforma',
+ 'Office Order and Notification of DR(Stores I/c)',
+ 'Institute Furniture Procurement Committee(Faculty)',
+ 'Installation and maintenance of RO System/water Coolers(Policy Decision applicable from 03.09.16)',
+ 'Institute Furniture Purchase Notification(Purchase by Estate Section/ Repair & Maintenance by Workshop)-25.10.16 / Partial Modification fo this Notification Dated 18.01.2017',
+ 'Work Distribution office order of Stores Section w.e.f 14.09.2016',
+ ],
+ availableItems: 'List of Items',
+ listItemsInStore: 'List of Items available in Store',
+ listItemsPrice: 'List of Items with price details',
+ teqip: 'TEQIP Update',
+ teqipSub: 'TEQIP AND OTHER GOVT PROJECT PURCHASES',
+ teqipList: [
+ 'National Project Implementation Unit(NPIU) Website',
+ 'TEQIP-II Procurement Login URL',
+ 'TEQIP Purchase Mannual',
+ 'TEQIP Propritary Article Certificate ',
+ 'Goods Procurement Requisition TEQIP-II',
+ ],
+ forms: 'Forms and Formats',
+ procurement: 'Procurement Flow Chart',
+ subForms: 'More Forms',
+ urgencyCertificate: 'Urgency Certificate',
+ },
},
Status: {
NoResult: {
diff --git a/i18n/hi.ts b/i18n/hi.ts
index 16a36241..00d0dc71 100644
--- a/i18n/hi.ts
+++ b/i18n/hi.ts
@@ -223,7 +223,87 @@ const text: Translations = {
HealthCentre: {},
Security: {},
Sports: {},
- Store: {},
+ Store: {
+ title: 'स्टोर',
+ about: '',
+ functions: 'स्टोर खंड के प्रमुख कार्यों में इस प्रकार हैं:',
+ functionList: [
+ 'स्टोर अनुभाग के माध्यम से बेसिक खरीद।.',
+ 'बड़ी खरीद बैठकों में भाग लिया ।.',
+ 'पूरे संस्थान के स्टॉक सत्यापन ।.',
+ 'वस्तुओं के आयात ।.',
+ 'अनुपयोगी सूची आइटम बंद लेखन ।',
+ ],
+ incharge: {
+ post: 'प्रोफेसर इन-चार्ज, स्टोर्स\nराष्ट्रीय प्रौद्योगिकी संस्थान\nकुरुक्षेत्र, हरियाणा-136119, भारत',
+ telephone: 'टेलीफोन :',
+ email: 'ईमेल आईडी :–',
+ },
+ tender: 'निविदाएं और जांच',
+ tenderTable: {
+ startDate: 'प्रारंभ तिथि',
+ endDate: 'अंतिम तिथि',
+ tenderName: 'विवरण',
+ tenderFileName: 'दस्तावेज़',
+ extendedDate: 'तारीख बढ़ाई गई',
+ },
+ tenderName: [
+ 'एनआईटी कुरुक्षेत्र ने बाहरी और आंतरिक पेंटिंग कार्य के लिए बोलियाँ आमंत्रित की हैं',
+ 'एनआईटी कुरुक्षेत्र ने वायर मेष के लिए बोलियाँ आमंत्रित की हैं',
+ 'एनआईटी कुरुक्षेत्र ने कंप्यूटेशनल लैब (सिविल और इलेक्ट्रिकल कार्य) के नवीनीकरण के लिए बोलियाँ आमंत्रित की हैं',
+ 'इलेक्ट्रिकल आइटम्स के लिए कोटेशन की कॉल',
+ 'दूध और दूध उत्पादों के लिए कोटेशन की कॉल',
+ 'चावल के लिए कोटेशन की कॉल',
+ 'एनआईटी कुरुक्षेत्र ने डेस्कटॉप कंप्यूटर (123) की आपूर्ति के लिए बोलियाँ आमंत्रित की हैं',
+ 'एनआईटी कुरुक्षेत्र ने सुरक्षा मानव संसाधन सेवाओं के लिए बोलियाँ आमंत्रित की हैं',
+ 'एनआईटी कुरुक्षेत्र ने खेल किट (शॉर्ट्स और टी-शर्ट) की खरीद के लिए बोलियाँ आमंत्रित की हैं',
+ 'एनआईटी कुरुक्षेत्र ने ट्रांसफार्मरों की सेवा के लिए बोलियाँ आमंत्रित की हैं',
+ 'एनआईटी कुरुक्षेत्र ने डक्टेबल एयर कंडीशनर की मरम्मत और सेवा के लिए बोलियाँ आमंत्रित की हैं',
+ 'एनआईटी कुरुक्षेत्र ने लेग्रांट बस बार ट्रंकिंग की आपूर्ति और स्थापना के लिए बोलियाँ आमंत्रित की हैं',
+ ],
+ tenderFileName: [
+ 'NITCH1',
+ 'GeM-Bidding-6830441',
+ 'Bid Document',
+ 'इलेक्ट्रिकल आइटम्स के लिए कोटेशन की कॉल',
+ 'दूध और दूध उत्पादों के लिए कोटेशन की कॉल',
+ 'चावल के लिए कोटेशन की कॉल',
+ 'GeM-Bidding-6817051',
+ 'GeM-Bidding-6750089',
+ 'GeM-Bidding-6721662',
+ 'GeM-Bidding-6716515',
+ 'GeM-Bidding-6686011',
+ 'GeM-Bidding-6578396',
+ ],
+ purchaseRulesTitle: 'क्रय नियम और अधिसूचनाएं',
+ purchaseRules: [
+ 'व्यापक स्टोर और खरीद नियम 2008',
+ 'निगोसिएशन कमेटी (Propritery आइटम)',
+ 'खरीद को अंतिम रूप देने समिति संविधान और सदस्यों',
+ 'खरीद को अंतिम रूप देने समिति (पीएफसी) प्रोफार्मा',
+ 'कार्यालय आदेश और डॉ की अधिसूचना (स्टोर आई / सी)',
+ 'संस्थान फर्नीचर खरीद समिति (संकाय)',
+ 'स्थापना और आरओ सिस्टम के रखरखाव / वाटर कूलर (नीतिगत निर्णय 03.09.16 से लागू हो)',
+ 'संस्थान फर्नीचर खरीद अधिसूचना (एस्टेट अनुभाग / मरम्मत एवं कार्यशाला द्वारा रखरखाव) इस अधिसूचना / दिनांक 2017/01/18 के लिए -25.10.16 / आंशिक संशोधन द्वारा खरीद',
+ 'स्टोर धारा 2016/09/14 w.e.f का काम वितरण कार्यालय आदेश',
+ ],
+ availableItems: 'फार्म और प्रारूप',
+ listItemsInStore: 'स्टोर में उपलब्ध आइटमों की सूची',
+ listItemsPrice: 'मूल्य विवरण के साथ आइटमों की सूची',
+ teqip: 'टीईक्यूआईपी अपडेट',
+ teqipSub: 'टीईक्यूआईपी और अन्य सरकारी परियोजना खरीद',
+ teqipList: [
+ 'राष्ट्रीय परियोजना कार्यान्वयन इकाई (NPIU) वेबसाइट',
+ 'टीईक्यूआईपी-द्वितीय अधिप्राप्ति प्रवेश URL',
+ 'टीईक्यूआईपी खरीद mannual',
+ 'टीईक्यूआईपी Propritary अनुच्छेद प्रमाणपत्र',
+ 'माल खरीद माँग टीईक्यूआईपी-द्वितीय',
+ ],
+ forms: 'फार्म और प्रारूप',
+ procurement: 'खरीद फ्लो चार्ट',
+ subForms: 'अधिक फार्म',
+ urgencyCertificate: 'तत्कालता प्रमाणपत्र',
+ },
},
Status: {
NoResult: {
diff --git a/i18n/translations.ts b/i18n/translations.ts
index 59996fe4..f3926c63 100644
--- a/i18n/translations.ts
+++ b/i18n/translations.ts
@@ -211,7 +211,39 @@ export interface Translations {
HealthCentre: {};
Security: {};
Sports: {};
- Store: {};
+ Store: {
+ title: string;
+ about: string;
+ functions: string;
+ functionList: string[];
+ incharge: {
+ post: string;
+ telephone: string;
+ email: string;
+ };
+ tender: string;
+ tenderTable: {
+ startDate: string;
+ endDate: string;
+ tenderName: string;
+ tenderFileName: string;
+ extendedDate: string;
+ };
+ tenderName: string[];
+ tenderFileName: string[];
+ purchaseRulesTitle: string;
+ purchaseRules: string[];
+ availableItems: string;
+ listItemsInStore: string;
+ listItemsPrice: string;
+ teqip: string;
+ teqipSub: string;
+ teqipList: string[];
+ forms: string;
+ procurement: string;
+ subForms: string;
+ urgencyCertificate: string;
+ };
};
Status: {
NoResult: { title: string; description: string };