Added filter search (unfinish)

This commit is contained in:
Patrick Alvin Alcala 2025-10-29 19:42:40 +08:00
parent 28cea3241b
commit 96ab531432

View file

@ -1,5 +1,5 @@
import './Assessor.sass' import './Assessor.sass'
import { Logo, Page, Row, Padding, ModalButton, Button, Clickable, Link, Modal, Column, Box } from '../../components' import { Logo, Page, Row, Padding, ModalButton, Button, Clickable, Link, Modal, Column, Box, Input } from '../../components'
import { FiLogOut } from 'solid-icons/fi' import { FiLogOut } from 'solid-icons/fi'
import { Tabs } from '@kobalte/core/tabs' import { Tabs } from '@kobalte/core/tabs'
import { ofetch } from 'ofetch' import { ofetch } from 'ofetch'
@ -10,6 +10,7 @@ import { FaSolidThumbsUp } from 'solid-icons/fa'
import { _employeeName, _employeeId } from '../../stores/employee' import { _employeeName, _employeeId } from '../../stores/employee'
import { useNavigate } from '@solidjs/router' import { useNavigate } from '@solidjs/router'
import { _applicationNo, _date, _optn, _name, _location, _type, _assessor, _feeList, _codeList, _amountList, _signatureAssessor, _signatureApprover, _assessorid, _approvedDate, _assessedDate } from '../../stores/pdfinfo' import { _applicationNo, _date, _optn, _name, _location, _type, _assessor, _feeList, _codeList, _amountList, _signatureAssessor, _signatureApprover, _assessorid, _approvedDate, _assessedDate } from '../../stores/pdfinfo'
import { VsRefresh } from 'solid-icons/vs'
const API = import.meta.env.VITE_BACKEND const API = import.meta.env.VITE_BACKEND
const PESO = import.meta.env.VITE_PESO const PESO = import.meta.env.VITE_PESO
@ -23,15 +24,6 @@ export default () => {
const [location, setLocation] = createSignal('') const [location, setLocation] = createSignal('')
const [type, setType] = createSignal('') const [type, setType] = createSignal('')
const [applicationId, setApplicationId] = createSignal(0) const [applicationId, setApplicationId] = createSignal(0)
// const [assessorId, setAssessorId] = createSignal(0)
// const [gflgu, setGflgu] = createSignal<number[]>([])
// const [gfdpwh, setGfdpwh] = createSignal<number[]>([])
// const [tfbo, setTfbo] = createSignal<number[]>([])
// const [descriptionList, setDescriptionList] = createSignal<string[]>([])
// const [amountList, setAmountList] = createSignal<string[]>([])
// const [dateOpList, setDateOpList] = createSignal<string[]>([])
const [applicationList, setApplicationList] = createSignal<string[]>([]) const [applicationList, setApplicationList] = createSignal<string[]>([])
const [nameList, setNameList] = createSignal<string[]>([]) const [nameList, setNameList] = createSignal<string[]>([])
@ -48,9 +40,9 @@ export default () => {
const [employeeId, setEmployeeId] = createSignal(0) const [employeeId, setEmployeeId] = createSignal(0)
const [employeeName, setEmployeeName] = createSignal('') const [employeeName, setEmployeeName] = createSignal('')
// const [docApplicationNo, setDocApplicationNo] = createSignal('') const [filter, setFilter] = createSignal('')
// const [docDate, setDocDate] = createSignal('') const [fullIDList, setFullIDList] = createSignal<string[]>([])
// const [docLocation, setDocLocation] = createSignal('') const [fullNameList, setFullNameList] = createSignal<string[]>([])
const checkAccess = async (access: string) => { const checkAccess = async (access: string) => {
try { try {
@ -63,6 +55,19 @@ export default () => {
} }
} }
const handleFilterChange = (value: string) => {
// setFilter(value)
if (value.trim() === '') {
setApplicationList(fullIDList())
setNameList(fullNameList())
} else {
const filteredApplications = fullIDList().filter((app) => app.toLowerCase().includes(value.toLowerCase()))
const filteredNames = fullNameList().slice(0, filteredApplications.length)
setApplicationList(filteredApplications)
setNameList(filteredNames)
}
}
const getPrintDetails = async (id: number) => { const getPrintDetails = async (id: number) => {
const response = await ofetch(API + 'get-printdetails-electrical/' + id) const response = await ofetch(API + 'get-printdetails-electrical/' + id)
const applicationno = response.result const applicationno = response.result
@ -159,11 +164,6 @@ export default () => {
const assessorId = await getEmployeeId(op.result7[0]) const assessorId = await getEmployeeId(op.result7[0])
const assessorsignId = await geteSignId(assessorId) const assessorsignId = await geteSignId(assessorId)
getAssessedDate(op.result11[0]) getAssessedDate(op.result11[0])
console.log('name', op.result7[0])
console.log('id', assessorId)
console.log('esignid', assessorsignId)
console.log('aaaa', op.result11[0])
} }
const calculateTotal = (list: number[]) => { const calculateTotal = (list: number[]) => {
@ -171,11 +171,22 @@ export default () => {
return total return total
} }
const getListForPrinting = async () => { const getListForPrinting = async (query?: string) => {
try { try {
const response = await ofetch(API + 'get-listopprinting-electrical', { parseResponse: JSON.parse }) const response = await ofetch(API + 'get-listopprinting-electrical', { parseResponse: JSON.parse })
setApplicationList(response.result) const filteredApplications = response.result.filter((item: any) =>
setNameList(response.result2) item
.toString()
.toLowerCase()
.includes((query ?? '').toLowerCase())
)
const filteredNames = response.result2.filter((item: any) =>
item.toString().toLowerCase().includes((query ?? '').toLowerCase())
)
// setApplicationList(response.result)
// setNameList(response.result2)
setApplicationList(filteredApplications)
setNameList(filteredNames)
} catch (error) { } catch (error) {
console.error(error) console.error(error)
} }
@ -211,10 +222,10 @@ export default () => {
return return
} }
signed = await setNewStatus('ELECTRICAL ORDER OF PAYMENT PRINTED', '171', 'ELECOPPRINTED') signed = await setNewStatus('ELECTRICAL ORDER OF PAYMENT PRINTED', '171', 'ELECOPPRINTED', 1)
if (!signed) return if (!signed) return
forprinting = await setNewStatus('FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION', '98', 'ELECORVALIDATE') forprinting = await setNewStatus('FOR ELECTRICAL OFFICIAL RECEIPT VALIDATION', '98', 'ELECORVALIDATE', 0)
if (!forprinting) return if (!forprinting) return
updateOrderofpayment = await updateOp() updateOrderofpayment = await updateOp()
@ -240,7 +251,7 @@ export default () => {
} }
} }
const setNewStatus = async (status: string, tag: string, tagword: string) => { const setNewStatus = async (status: string, tag: string, tagword: string, approved: number) => {
const today = new Date() const today = new Date()
const formattedDate = dayjs(today).format('YYYY-MM-DD HH:mm:ss') const formattedDate = dayjs(today).format('YYYY-MM-DD HH:mm:ss')
const statusid = parseInt(applicationId().toString()) const statusid = parseInt(applicationId().toString())
@ -248,7 +259,7 @@ export default () => {
try { try {
await ofetch(API + 'post-newstatus-electrical', { await ofetch(API + 'post-newstatus-electrical', {
method: 'POST', method: 'POST',
body: { data: statusid, data2: formattedDate, data3: status, data4: tag, data5: tagword, data6: parseInt(employeeId().toString()) }, body: { data: statusid, data2: formattedDate, data3: status, data4: tag, data5: tagword, data6: parseInt(approved.toString()), data7: parseInt(employeeId().toString()) },
}) })
return true return true
} catch { } catch {
@ -323,6 +334,10 @@ export default () => {
} }
} }
const refresh = async () => {
await getListForPrinting()
}
const logout = async () => { const logout = async () => {
removeEmployee() removeEmployee()
navigate('/') navigate('/')
@ -434,6 +449,13 @@ export default () => {
</Clickable> </Clickable>
</Row> </Row>
<Padding top={0} bottom={0} right={10} left={10}>
<Row content="split">
<Input label="aa" value={filter()} onChange={getListForPrinting} />
<Button label="Refresh Data" edges="curved" design="bo-primary" icon={VsRefresh} onClick={refresh}></Button>
</Row>
</Padding>
<Row> <Row>
<table class="table"> <table class="table">
<thead> <thead>