feat: Implement the core Anjungan queue display system, including clinic room, entry, and counter queues, along with new stores, pages, and API endpoints.

This commit is contained in:
Fanrouver
2026-02-18 12:00:30 +07:00
parent f78bbea4b0
commit 7d07a4f00d
18 changed files with 38 additions and 38 deletions

No files matched your search

+2 -2
View File
@@ -485,7 +485,7 @@ const apiQuota = ref(null);
const fetchQuotaFromAPI = async () => {
try {
const response = await fetch(
"http://10.10.150.131:8089/api/v1/klinik/loket",
"http://10.10.123.140:8089/api/v1/klinik/loket",
);
const data = await response.json();
@@ -1194,7 +1194,7 @@ const buatAntreanKlinikRuang = async (klinikRuang, ruang) => {
console.log("📤 Sending visit ticket to API:", visitTicketBody);
const visitResponse = await fetch(
"http://10.10.150.100:8084/api/v1/visit/ticket/klinik",
"http://10.10.123.135:8084/api/v1/visit/ticket/klinik",
{
method: "POST",
headers: {
+1 -1
View File
@@ -490,7 +490,7 @@ const fetchAllData = async () => {
// WebSocket configuration for Anjungan
const config = useRuntimeConfig()
const wsBaseUrl = config.public?.wsBaseUrl || 'ws://10.10.150.100:8084/api/v1/ws'
const wsBaseUrl = config.public?.wsBaseUrl || 'ws://10.10.123.135:8084/api/v1/ws'
// Generate a unique session suffix (random ID) to fulfill "use different id" request
// This ensures that even if the same screen is opened in multiple tabs, they have distinct client IDs
@@ -460,7 +460,7 @@ const updateTime = () => {
// WebSocket configuration for Anjungan
const config = useRuntimeConfig()
const wsBaseUrl = config.public?.wsBaseUrl || 'ws://10.10.150.100:8084/api/v1/ws'
const wsBaseUrl = config.public?.wsBaseUrl || 'ws://10.10.123.135:8084/api/v1/ws'
// Generate a unique session suffix (random ID)
const uniqueSessionSuffix = ref(process.client ? Math.random().toString(36).substring(2, 8) : '')
+1 -1
View File
@@ -858,7 +858,7 @@ const updateTime = () => {
// WebSocket configuration (Placeholder)
const config = useRuntimeConfig()
const wsBaseUrl = config.public?.wsBaseUrl || 'ws://10.10.150.100:8084/api/v1/ws'
const wsBaseUrl = config.public?.wsBaseUrl || 'ws://10.10.123.135:8084/api/v1/ws'
const anjunganClientId = computed(() => {
if (!loketId.value) return ''
return `anjungan-loket-${loketId.value}-${uniqueSessionSuffix.value}`
+1 -1
View File
@@ -1683,7 +1683,7 @@ const masterStore = useMasterStore();
const { printTicketFromPatient, isPrinting } = useThermalPrint();
const config = useRuntimeConfig();
const wsBaseUrl =
config.public?.wsBaseUrl || "ws://10.10.150.100:8084/api/v1/ws";
config.public?.wsBaseUrl || "ws://10.10.123.135:8084/api/v1/ws";
// TypeScript declaration for QRCode
declare global {
+1 -1
View File
@@ -181,7 +181,7 @@ onMounted(async () => {
<p class="text-sm text-gray-600 mb-4">
Test and validate your current access token against the external API endpoint:
<code class="bg-blue-100 px-1 rounded text-blue-800">http://10.10.150.100:8084/api/v1/auth/me</code>
<code class="bg-blue-100 px-1 rounded text-blue-800">http://10.10.123.135:8084/api/v1/auth/me</code>
</p>
<!-- Validation Status -->