添加看板代码

This commit is contained in:
杨学谦 2025-10-08 11:13:13 +08:00
parent e6789f9d91
commit 2cec12510e
2 changed files with 55 additions and 105 deletions

View File

@ -32,29 +32,24 @@ import Inbound from './views/Inbound.vue';
import Outbound from './views/Outbound.vue';
import Pick from './views/Pick.vue';
// 使
function debounce(fn, delay) {
var timer = null;
const debounce = (fn, delay) => {
let timer = null;
return function () {
var context = this;
var args = arguments;
let context = this;
let args = arguments;
clearTimeout(timer);
timer = setTimeout(function () {
fn.apply(context, args);
}, delay);
};
}
// 使 ResizeObserver
if (window.ResizeObserver) {
var _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = function ResizeObserver(callback) {
};
const _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends _ResizeObserver {
constructor(callback) {
callback = debounce(callback, 16);
_ResizeObserver.call(this, callback);
};
window.ResizeObserver.prototype = Object.create(_ResizeObserver.prototype);
window.ResizeObserver.prototype.constructor = window.ResizeObserver;
}
super(callback);
}
};
export default {
name: 'App',
@ -67,17 +62,10 @@ export default {
const route = useRoute();
const isFullscreenState = ref(false);
// standId - 使
// standId
const currentStandId = computed(() => {
// URLSearchParams
if (window.URLSearchParams) {
var params = new URLSearchParams(window.location.search);
return params.get('standId');
} else {
//
var match = window.location.search.match(/[?&]standId=([^&]*)/);
return match ? decodeURIComponent(match[1]) : null;
}
const params = new URLSearchParams(window.location.search);
return params.get('standId');
});
//
@ -89,14 +77,14 @@ export default {
//
const dynamicTitle = computed(() => {
var standId = currentStandId.value;
const standId = currentStandId.value;
if (!standId) {
// standId
return '丰尚立库  状态一览表';
}
var operation = titleMapping[standId];
const operation = titleMapping[standId];
if (operation) {
return '丰尚立库 ' + operation + ' 状态一览表';
return `丰尚立库 ${operation} 状态一览表`;
}
// standId
return '丰尚立库 状态一览表';
@ -104,58 +92,42 @@ export default {
// standId
const currentComponent = computed(() => {
var standId = currentStandId.value;
const standId = currentStandId.value;
if (standId === '2') return 'Outbound';
if (standId === '3') return 'Pick';
return 'Inbound'; //
});
// - 使
function isFullscreen() {
return !!(document.fullscreenElement ||
document.webkitFullscreenElement ||
document.mozFullScreenElement ||
document.msFullscreenElement);
return !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
}
function requestFS(el) {
async function requestFS(el) {
if (el.requestFullscreen) return el.requestFullscreen();
if (el.webkitRequestFullscreen) return el.webkitRequestFullscreen();
if (el.mozRequestFullScreen) return el.mozRequestFullScreen();
if (el.msRequestFullscreen) return el.msRequestFullscreen();
}
function exitFS() {
async function exitFS() {
if (document.exitFullscreen) return document.exitFullscreen();
if (document.webkitExitFullscreen) return document.webkitExitFullscreen();
if (document.mozCancelFullScreen) return document.mozCancelFullScreen();
if (document.msExitFullscreen) return document.msExitFullscreen();
}
//
function enterFullscreen() {
async function enterFullscreen() {
try {
// API
var supportsFullscreen = !!(document.fullscreenEnabled ||
document.webkitFullscreenEnabled ||
document.mozFullScreenEnabled ||
document.msFullscreenEnabled);
if (!supportsFullscreen) {
console.warn('Fullscreen not supported');
return;
}
requestFS(document.documentElement);
await requestFS(document.documentElement);
isFullscreenState.value = true;
} catch (err) {
console.error('Error attempting to enable full-screen mode:', err);
}
}
function exitFullscreen() {
async function exitFullscreen() {
try {
exitFS();
await exitFS();
isFullscreenState.value = false;
} catch (err) {
console.error('Error attempting to exit full-screen mode:', err);
@ -166,44 +138,27 @@ export default {
isFullscreenState.value = isFullscreen();
}
// 使
function addEventListenerCompat(element, event, handler) {
if (element.addEventListener) {
element.addEventListener(event, handler);
} else if (element.attachEvent) {
element.attachEvent('on' + event, handler);
}
}
function removeEventListenerCompat(element, event, handler) {
if (element.removeEventListener) {
element.removeEventListener(event, handler);
} else if (element.detachEvent) {
element.detachEvent('on' + event, handler);
}
}
onMounted(() => {
isFullscreenState.value = isFullscreen();
addEventListenerCompat(document, 'fullscreenchange', handleFullscreenChange);
addEventListenerCompat(document, 'webkitfullscreenchange', handleFullscreenChange);
addEventListenerCompat(document, 'mozfullscreenchange', handleFullscreenChange);
addEventListenerCompat(document, 'MSFullscreenChange', handleFullscreenChange);
document.addEventListener('fullscreenchange', handleFullscreenChange);
document.addEventListener('webkitfullscreenchange', handleFullscreenChange);
document.addEventListener('mozfullscreenchange', handleFullscreenChange);
document.addEventListener('MSFullscreenChange', handleFullscreenChange);
});
onUnmounted(() => {
removeEventListenerCompat(document, 'fullscreenchange', handleFullscreenChange);
removeEventListenerCompat(document, 'webkitfullscreenchange', handleFullscreenChange);
removeEventListenerCompat(document, 'mozfullscreenchange', handleFullscreenChange);
removeEventListenerCompat(document, 'MSFullscreenChange', handleFullscreenChange);
document.removeEventListener('fullscreenchange', handleFullscreenChange);
document.removeEventListener('webkitfullscreenchange', handleFullscreenChange);
document.removeEventListener('mozfullscreenchange', handleFullscreenChange);
document.removeEventListener('MSFullscreenChange', handleFullscreenChange);
});
return {
dynamicTitle,
currentComponent,
isFullscreenState,
enterFullscreen: enterFullscreen,
exitFullscreen: exitFullscreen
enterFullscreen,
exitFullscreen
};
}
};
@ -211,4 +166,4 @@ export default {
<style>
@import './assets/board-styles.css';
</style>
</style>

View File

@ -39,30 +39,25 @@ function mapStatus(status) {
}
async function load() {
// HomeView.vue 使 .then().catch()
getTaskTypInData({ pageNum: 1, pageSize: 200 }).then(res => {
// HomeView.vue
if (res && res.code === 0) {
const list = res.data || [];
rows.value = list.map((t) => ({
vehicleId: t?.vehicleId ?? '',
origin: t?.origin ?? t?.startPoint ?? '',
destination: t?.destination ?? t?.endPoint ?? '',
taskPriority: (
t?.task_priority ??
t?.taskPriority ??
t?.priority ??
t?.priorityLevel ??
''
),
taskStatus: mapStatus(t?.taskStatus ?? t?.status),
}));
} else {
console.log('API response:', res);
}
}).catch(error => {
try {
const data = await getTaskTypInData({ pageNum: 1, pageSize: 200 });
const list = data || [];
rows.value = list.map((t) => ({
vehicleId: t?.vehicleId ?? '',
origin: t?.origin ?? t?.startPoint ?? '',
destination: t?.destination ?? t?.endPoint ?? '',
taskPriority: (
t?.task_priority ??
t?.taskPriority ??
t?.priority ??
t?.priorityLevel ??
''
),
taskStatus: mapStatus(t?.taskStatus ?? t?.status),
}));
} catch (error) {
console.error('加载入库数据失败:', error);
});
}
}
onMounted(() => {
@ -81,4 +76,4 @@ onUnmounted(() => {
.title-center {
text-align: center;
}
</style>
</style>