first commit
|
@ -0,0 +1,8 @@
|
||||||
|
# 页面标题
|
||||||
|
VITE_APP_TITLE = 烟厂
|
||||||
|
|
||||||
|
# 开发环境配置
|
||||||
|
VITE_APP_ENV = 'development'
|
||||||
|
|
||||||
|
#开发环境
|
||||||
|
VITE_APP_BASE_API = '/dev-api'
|
|
@ -0,0 +1,11 @@
|
||||||
|
# 页面标题
|
||||||
|
VITE_APP_TITLE = 烟厂
|
||||||
|
|
||||||
|
# 生产环境配置
|
||||||
|
VITE_APP_ENV = 'production'
|
||||||
|
|
||||||
|
#生产环境
|
||||||
|
VITE_APP_BASE_API = '/prod-api'
|
||||||
|
|
||||||
|
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||||
|
VITE_BUILD_COMPRESS = gzip
|
|
@ -0,0 +1,24 @@
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
pnpm-debug.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
dist-ssr
|
||||||
|
*.local
|
||||||
|
|
||||||
|
# Editor directories and files
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/extensions.json
|
||||||
|
.idea
|
||||||
|
.DS_Store
|
||||||
|
*.suo
|
||||||
|
*.ntvs*
|
||||||
|
*.njsproj
|
||||||
|
*.sln
|
||||||
|
*.sw?
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<!-- <link rel="icon" type="image/svg+xml" href="/vite.svg" />-->
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>延安烟厂</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script type="module" src="/src/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"name": "vite-project",
|
||||||
|
"private": true,
|
||||||
|
"version": "0.0.0",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "vite build",
|
||||||
|
"preview": "vite preview"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@enhances/bigscreen-fit-vue3": "^0.2.6",
|
||||||
|
"axios": "^1.7.2",
|
||||||
|
"echarts": "^5.5.1",
|
||||||
|
"element-plus": "^2.3.14",
|
||||||
|
"less": "^4.2.0",
|
||||||
|
"three": "^0.164.1",
|
||||||
|
"vue": "^3.3.4",
|
||||||
|
"vue-router": "^4.2.5"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vitejs/plugin-vue": "^4.2.3",
|
||||||
|
"sass": "^1.77.6",
|
||||||
|
"sass-loader": "^14.2.1",
|
||||||
|
"vite": "^4.4.5"
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 665 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 175 B |
After Width: | Height: | Size: 96 B |
After Width: | Height: | Size: 109 B |
After Width: | Height: | Size: 74 B |
After Width: | Height: | Size: 84 B |
|
@ -0,0 +1,16 @@
|
||||||
|
body { padding: 0; margin: 0 }
|
||||||
|
#unity-container { position: absolute }
|
||||||
|
#unity-container.unity-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) }
|
||||||
|
#unity-container.unity-mobile { position: fixed; width: 100%; height: 100% }
|
||||||
|
#unity-canvas { background: #231F20 }
|
||||||
|
.unity-mobile #unity-canvas { width: 100%; height: 100% }
|
||||||
|
#unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
|
||||||
|
#unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center }
|
||||||
|
#unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }
|
||||||
|
#unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
|
||||||
|
#unity-footer { position: relative }
|
||||||
|
.unity-mobile #unity-footer { display: none }
|
||||||
|
#unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center }
|
||||||
|
#unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
|
||||||
|
#unity-fullscreen-button { cursor:pointer; float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
|
||||||
|
#unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }
|
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,217 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-us">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<title>Unity WebGL Player | U3D_TobaccoWarehouseISMDTSystem</title>
|
||||||
|
<link rel="shortcut icon" href="TemplateData/favicon.ico">
|
||||||
|
<link rel="stylesheet" href="TemplateData/style.css">
|
||||||
|
</head>
|
||||||
|
<style>
|
||||||
|
html,body{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<body>
|
||||||
|
<div id="unity-container" class="unity-desktop" style="width: 100%;height:100%">
|
||||||
|
<canvas id="unity-canvas" style="width: 100%;height:100%" tabindex="-1"></canvas>
|
||||||
|
<div id="unity-loading-bar">
|
||||||
|
<div id="unity-logo"></div>
|
||||||
|
<div id="unity-progress-bar-empty">
|
||||||
|
<div id="unity-progress-bar-full"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="unity-warning"></div>
|
||||||
|
<div id="unity-footer">
|
||||||
|
<div id="unity-webgl-logo"></div>
|
||||||
|
<div id="unity-fullscreen-button"></div>
|
||||||
|
<div id="unity-build-title">U3D_TobaccoWarehouseISMDTSystem</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <button onclick="OpenHtmlMQTT()">Connect</button>
|
||||||
|
<button onclick="publishMessage()">Publish</button>
|
||||||
|
<button onclick="disconnectMQTT()">Disconnect</button> -->
|
||||||
|
<script src="./js/mqtt.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var container = document.querySelector("#unity-container");
|
||||||
|
var canvas = document.querySelector("#unity-canvas");
|
||||||
|
var loadingBar = document.querySelector("#unity-loading-bar");
|
||||||
|
var progressBarFull = document.querySelector("#unity-progress-bar-full");
|
||||||
|
var fullscreenButton = document.querySelector("#unity-fullscreen-button");
|
||||||
|
var warningBanner = document.querySelector("#unity-warning");
|
||||||
|
|
||||||
|
// Shows a temporary message banner/ribbon for a few seconds, or
|
||||||
|
// a permanent error message on top of the canvas if type=='error'.
|
||||||
|
// If type=='warning', a yellow highlight color is used.
|
||||||
|
// Modify or remove this function to customize the visually presented
|
||||||
|
// way that non-critical warnings and error messages are presented to the
|
||||||
|
// user.
|
||||||
|
function unityShowBanner(msg, type) {
|
||||||
|
function updateBannerVisibility() {
|
||||||
|
warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
|
||||||
|
}
|
||||||
|
|
||||||
|
var div = document.createElement('div');
|
||||||
|
div.innerHTML = msg;
|
||||||
|
warningBanner.appendChild(div);
|
||||||
|
if (type == 'error') div.style = 'background: red; padding: 10px;';
|
||||||
|
else {
|
||||||
|
if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
|
||||||
|
setTimeout(function () {
|
||||||
|
warningBanner.removeChild(div);
|
||||||
|
updateBannerVisibility();
|
||||||
|
}, 5000);
|
||||||
|
}
|
||||||
|
updateBannerVisibility();
|
||||||
|
}
|
||||||
|
|
||||||
|
var buildUrl = "Build";
|
||||||
|
var loaderUrl = buildUrl + "/webgl.loader.js";
|
||||||
|
var config = {
|
||||||
|
dataUrl: buildUrl + "/webgl.data.unityweb",
|
||||||
|
frameworkUrl: buildUrl + "/webgl.framework.js.unityweb",
|
||||||
|
codeUrl: buildUrl + "/webgl.wasm.unityweb",
|
||||||
|
streamingAssetsUrl: "StreamingAssets",
|
||||||
|
companyName: "DefaultCompany",
|
||||||
|
productName: "U3D_TobaccoWarehouseISMDTSystem",
|
||||||
|
productVersion: "0.1",
|
||||||
|
showBanner: unityShowBanner,
|
||||||
|
};
|
||||||
|
|
||||||
|
// By default, Unity keeps WebGL canvas render target size matched with
|
||||||
|
// the DOM size of the canvas element (scaled by window.devicePixelRatio)
|
||||||
|
// Set this to false if you want to decouple this synchronization from
|
||||||
|
// happening inside the engine, and you would instead like to size up
|
||||||
|
// the canvas DOM size and WebGL render target sizes yourself.
|
||||||
|
// config.matchWebGLToCanvasSize = false;
|
||||||
|
|
||||||
|
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
|
||||||
|
// Mobile device style: fill the whole browser client area with the game canvas:
|
||||||
|
|
||||||
|
var meta = document.createElement('meta');
|
||||||
|
meta.name = 'viewport';
|
||||||
|
meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
|
||||||
|
document.getElementsByTagName('head')[0].appendChild(meta);
|
||||||
|
container.className = "unity-mobile";
|
||||||
|
canvas.className = "unity-mobile";
|
||||||
|
|
||||||
|
// To lower canvas resolution on mobile devices to gain some
|
||||||
|
// performance, uncomment the following line:
|
||||||
|
// config.devicePixelRatio = 1;
|
||||||
|
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// Desktop style: Render the game canvas in a window that can be maximized to fullscreen:
|
||||||
|
|
||||||
|
// canvas.style.width = "960px";
|
||||||
|
// canvas.style.height = "600px";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------MQTT-----------------------------------------------------------------------------
|
||||||
|
let client;
|
||||||
|
|
||||||
|
function OpenHtmlMQTT() {
|
||||||
|
client = mqtt.connect('ws://172.16.1.119:8083/mqtt');
|
||||||
|
|
||||||
|
client.on('connect', () => {
|
||||||
|
console.log('连接...');
|
||||||
|
|
||||||
|
const devices = [
|
||||||
|
Array.from({length: 10}, (_, i) => `car${i + 1}`),//小车
|
||||||
|
"cm1",//去加盖机
|
||||||
|
Array.from({length: 7}, (_, i) => `convoyor510${i + 1}`),//输送机
|
||||||
|
Array.from({length: 51}, (_, i) => `convoyor52${String(i + 1).padStart(2, '0')}`),//输送机
|
||||||
|
Array.from({length: 30}, (_, i) => `convoyor54${String(i + 1).padStart(2, '0')}`),//输送机
|
||||||
|
Array.from({length: 4}, (_, i) => `dpm${i + 1}`),//拆码垛机
|
||||||
|
Array.from({length: 7}, (_, i) => `elv${i + 1}`),//提升机
|
||||||
|
"fe1",//落地时提升机
|
||||||
|
Array.from({length: 2}, (_, i) => `qcbd${i + 1}`)//快换电池装置
|
||||||
|
];
|
||||||
|
|
||||||
|
devices.forEach(device => {
|
||||||
|
console.log(device);
|
||||||
|
client.subscribe(device, {
|
||||||
|
onSuccess: () => {
|
||||||
|
console.log(`已订阅: ${device}`);
|
||||||
|
},
|
||||||
|
onFailure: (err) => {
|
||||||
|
console.error(`订阅失败: ${device}:`, err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// client.subscribe('car1', (err) => {
|
||||||
|
// if (!err) {
|
||||||
|
// console.log('Subscribed to car1');
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on('message', (topic, message) => {
|
||||||
|
|
||||||
|
const mes = JSON.stringify({device: topic, message: message.toString()});
|
||||||
|
|
||||||
|
// console.log(mes);
|
||||||
|
|
||||||
|
unityInstance.SendMessage('APP', 'Message', mes)
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on('error', (err) => {
|
||||||
|
console.error('Connection error: ', err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function publishMessage() {
|
||||||
|
if (client) {
|
||||||
|
client.publish('car1', 'Hello');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function disconnectMQTT() {
|
||||||
|
if (client) {
|
||||||
|
client.end(() => {
|
||||||
|
console.log('关闭连接');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------MQTT-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
loadingBar.style.display = "block";
|
||||||
|
|
||||||
|
var script = document.createElement("script");
|
||||||
|
script.src = loaderUrl;
|
||||||
|
script.onload = () => {
|
||||||
|
createUnityInstance(canvas, config, (progress) => {
|
||||||
|
progressBarFull.style.width = 100 * progress + "%";
|
||||||
|
}).then((unityInstance) => {
|
||||||
|
loadingBar.style.display = "none";
|
||||||
|
|
||||||
|
// 为window添加unityInstance对象
|
||||||
|
window.unityInstance = unityInstance
|
||||||
|
|
||||||
|
fullscreenButton.onclick = () => {
|
||||||
|
unityInstance.SetFullscreen(1);
|
||||||
|
};
|
||||||
|
}).catch((message) => {
|
||||||
|
alert(message);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
document.body.appendChild(script);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
有关如何配置 ASP.NET 应用程序的详细信息,请访问
|
||||||
|
https://go.microsoft.com/fwlink/?LinkId=169433
|
||||||
|
-->
|
||||||
|
<configuration>
|
||||||
|
<system.webServer>
|
||||||
|
<httpProtocol>
|
||||||
|
<!-- 允许跨域配置 -->
|
||||||
|
<customHeaders>
|
||||||
|
<add name="Access-Control-Allow-Origin" value="*" />
|
||||||
|
<add name="Access-Control-Allow-Headers" value="X-Requested-With,Content-Type,Authorization" />
|
||||||
|
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE,OPTIONS" />
|
||||||
|
<add name="Access-Control-Allow-Credentials" value="true" />
|
||||||
|
</customHeaders>
|
||||||
|
</httpProtocol>
|
||||||
|
<staticContent>
|
||||||
|
<remove fileExtension=".mem" />
|
||||||
|
<remove fileExtension=".data" />
|
||||||
|
<remove fileExtension=".unity3d" />
|
||||||
|
<remove fileExtension=".jsbr" />
|
||||||
|
<remove fileExtension=".membr" />
|
||||||
|
<remove fileExtension=".databr" />
|
||||||
|
<remove fileExtension=".unity3dbr" />
|
||||||
|
<remove fileExtension=".jsgz" />
|
||||||
|
<remove fileExtension=".memgz" />
|
||||||
|
<remove fileExtension=".datagz" />
|
||||||
|
<remove fileExtension=".unity3dgz" />
|
||||||
|
<remove fileExtension=".json" />
|
||||||
|
<remove fileExtension=".unityweb" />
|
||||||
|
|
||||||
|
<mimeMap fileExtension=".mem" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".data" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".unity3d" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".jsbr" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".membr" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".databr" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".unity3dbr" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" />
|
||||||
|
<mimeMap fileExtension=".memgz" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".datagz" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".unity3dgz" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" />
|
||||||
|
<mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
|
||||||
|
<mimeMap fileExtension=".framework.js.gz" mimeType="application/octet-stream" />
|
||||||
|
</staticContent>
|
||||||
|
</system.webServer>
|
||||||
|
</configuration>
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,70 @@
|
||||||
|
<script setup>
|
||||||
|
import { getNowTime } from "@/utils/common";
|
||||||
|
import { onMounted, ref } from "vue";
|
||||||
|
import cloudy from '@/assets/images/login/cloudy.png'
|
||||||
|
const nowDate = ref("");
|
||||||
|
onMounted(() => {
|
||||||
|
setInterval(() => {
|
||||||
|
nowDate.value = getNowTime(true);
|
||||||
|
}, 1000);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<header class="header">
|
||||||
|
<div class="header-date">
|
||||||
|
{{ nowDate }}
|
||||||
|
</div>
|
||||||
|
<div class="header-title">
|
||||||
|
智能仓储全息可视化平台
|
||||||
|
</div>
|
||||||
|
<div class="header-weather">
|
||||||
|
<el-image style="width: 1.5rem; height: 1.5rem" :src="cloudy" fit="fill" />
|
||||||
|
<span>多云 12℃</span>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<router-view></router-view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
@import "./assets/font/font.css";
|
||||||
|
// @import "./style.css";
|
||||||
|
.header {
|
||||||
|
background-image: url("@/assets/images/header.png");
|
||||||
|
width: 100%;
|
||||||
|
height: vh(160);
|
||||||
|
background-size: 100% 100%;
|
||||||
|
padding: 0 2.5rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 88;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
&-title{
|
||||||
|
margin-top: vh(8);
|
||||||
|
width: vw(838);
|
||||||
|
text-align: center;
|
||||||
|
background-clip:text;
|
||||||
|
-webkit-background-clip:text;
|
||||||
|
-webkit-text-fill-color:transparent;
|
||||||
|
font-size: 2.625rem;
|
||||||
|
font-family: 'pangmen';
|
||||||
|
float: left;
|
||||||
|
letter-spacing: 0.5rem;
|
||||||
|
background-image:-webkit-linear-gradient(270deg, #FFFFFF 0%, #FFFFFF 37%, #11ABEA 100%);
|
||||||
|
}
|
||||||
|
&-date,&-weather{
|
||||||
|
width: vw(500);
|
||||||
|
float: left;
|
||||||
|
margin-top: vh(21)
|
||||||
|
}
|
||||||
|
&-weather{
|
||||||
|
|
||||||
|
text-align: right;
|
||||||
|
span{
|
||||||
|
vertical-align: top;
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,26 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 分页查询维修保养统计
|
||||||
|
export function getKeepRecord(params){
|
||||||
|
return request({
|
||||||
|
url:'/api/keepPlan/GetKeepRecord',
|
||||||
|
method:'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 分页查询设备的保养情况
|
||||||
|
export function getKeepRecord(params){
|
||||||
|
return request({
|
||||||
|
url:'/api/keepPlan/CountKeepRecord',
|
||||||
|
method:'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 分页获取故障分析的信息
|
||||||
|
export function GetPageFaultAnalysisInfo(params){
|
||||||
|
return request({
|
||||||
|
url:'/api/keepPlan/CountKeepRecord',
|
||||||
|
method:'get',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
//登录接口
|
||||||
|
export function login(data){
|
||||||
|
return request({
|
||||||
|
url:'/api/frontEndUser/login',
|
||||||
|
method:'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
@font-face {
|
||||||
|
font-family:'pangmen';
|
||||||
|
src: url('pangmen.ttf'); /* 修改为你的字体文件路径 */
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family:'siyuan';
|
||||||
|
src: url('siyuan.otf'); /* 修改为你的字体文件路径 */
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 552 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 118 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 300 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 553 B |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 379 B |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 879 B |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 895 B |
After Width: | Height: | Size: 143 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 704 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 399 KiB |