liudan 1 week ago
parent 4aaf88fc17
commit 55cd4652d0
  1. 37
      ipad/css/index.css
  2. 67
      ipad/css/taskManagement.css
  3. BIN
      ipad/images/cha.png
  4. BIN
      ipad/images/jia.png
  5. BIN
      ipad/images/jiankong.png
  6. BIN
      ipad/images/main.png
  7. BIN
      ipad/images/main1.png
  8. BIN
      ipad/images/mainBg.png
  9. BIN
      ipad/images/point.png
  10. BIN
      ipad/images/qi.png
  11. BIN
      ipad/images/renwu.png
  12. BIN
      ipad/images/shanchu.png
  13. BIN
      ipad/images/shanhcu.png
  14. BIN
      ipad/images/tianjia.png
  15. BIN
      ipad/images/wan.png
  16. 31
      ipad/index.html
  17. 2
      ipad/js/jquery-3.7.1.min.js
  18. 9
      ipad/js/taskManagement.js
  19. 36
      ipad/taskManagement.html
  20. 2274
      package-lock.json
  21. 9
      package.json
  22. 67
      src/App.vue
  23. BIN
      src/assets/back.png
  24. BIN
      src/assets/bg2 (1).png
  25. BIN
      src/assets/headerBg.png
  26. BIN
      src/assets/kuang2.png
  27. BIN
      src/assets/logo.png
  28. BIN
      src/assets/shijian.png
  29. BIN
      src/assets/tu1.png
  30. BIN
      src/assets/tu2.png
  31. BIN
      src/assets/底框.png
  32. BIN
      src/assets/底框3.png
  33. 58
      src/components/HelloWorld.vue
  34. 8
      src/main.js
  35. 113
      src/pages/index.vue
  36. 18
      src/router/index.js
  37. 9
      vue.config.js

@ -0,0 +1,37 @@
body,html{
margin:0;
padding:0;
}
.main{
height: calc(100vh);
background-image: url("../images/mainBg.png");
background-size: cover;
background-repeat: no-repeat;
display: flex;
align-items: center;
justify-content: center;
}
.btnGroup{
display: flex;
}
.btnGroup .item{
flex: 1;
position: relative;
}
.btnGroup .item .text{
display: flex;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.btnGroup .item .text span{
margin-left:15px;
font-family: PingFang SC;
font-weight: bold;
font-size: 36px;
color: #FFFFFF;
}

@ -0,0 +1,67 @@
body,html{
margin:0;
padding:0;
}
.task{
border:1px solid red;
height: calc(100vh - 2px);
display: flex;
align-items: center;
overflow: hidden;
background-color: #F2F2F2;
}
/* 左边 */
.left{
width:20%;
height:calc(100% - 40px);
overflow: auto;
border:1px solid orange;
background: #FFFFFF;
box-shadow: 3px 0px 10px 0px rgba(6,13,23,0.06);
border-radius: 1px;
padding:20px;
}
.left .addBtn{
background: #6271FE;
box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.2);
border-radius: 10px;
padding:16px 0;
text-align: center;
}
.left .addBtn span{
margin-left:12px;
font-family: PingFang SC;
font-weight: bold;
font-size: 24px;
color: #FFFFFF;
}
.left .taskItem{
background: #EDEDEF;
border-radius: 10px;
padding:16px;
display: flex;
align-items: center;
justify-content: space-between;
margin:20px 0;
}
.left .taskItem span{
font-weight: bold;
font-size: 22px;
color: #222222;
}
/* 右边 */
.right{
width:20%;
height:100%;
overflow: auto;
border:1px solid orange;
}
.right
.center{
flex:1;
height:100%;
border:1px solid orange;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 622 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 B

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>入口文件</title>
<link rel="stylesheet" href="./css/index.css">
</head>
<body>
<div class="main">
<div class="btnGroup">
<div class="item">
<img src="./images/main.png" alt="">
<div class="text">
<img src="./images/jiankong.png" alt="">
<span>任务管理</span>
</div>
</div>
<div class="item" style="margin-left:62px;">
<img src="./images/main1.png" alt="">
<div class="text">
<img src="./images/renwu.png" alt="">
<span>实时监控</span>
</div>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,9 @@
$(function(){
console.log("111")
for(let i = 0 ; i < 6 ; i++){
$('.left').append(`<div class="taskItem">
<span>任务${i+1}</span>
<img src="./images/shanchu.png" alt="">
</div>`)
}
})

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>任务管理</title>
<link rel="stylesheet" href="./css/taskManagement.css">
<script src="./js/jquery-3.7.1.min.js"></script>
<script src="./js/taskManagement.js"></script>
</head>
<body>
<div class="task">
<div class="left">
<div class="addBtn">
<img src="./images/jia.png" alt="">
<span>新增任务</span>
</div>
</div>
<div class="center"></div>
<div class="right">
<div class="pointItem">
<div class="point">
<div class="pointName">
<img src="./images/point.png" alt="">
<span>点1</span>
</div>
<div class="edit">修改</div>
</div>
<div class="lat">经度:116.3913447°</div>
<div class="lat">纬度度:116.3913447°</div>
</div>
</div>
</div>
</body>
</html>

2274
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -9,16 +9,17 @@
},
"dependencies": {
"core-js": "^3.8.3",
"vue": "^2.6.14"
"echarts": "^5.5.1",
"vue": "^2.6.14",
"vue-router": "^3.6.5"
},
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"node-sass": "^9.0.0",
"sass-loader": "^16.0.3",
"vue-template-compiler": "^2.6.14"
},
"eslintConfig": {

@ -1,28 +1,71 @@
<template>
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
<router-view></router-view>
</div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
import debounce from 'lodash.debounce'
export default {
name: 'App',
components: {
HelloWorld
components: {},
data(){
return{
scale: this.getScale(),
width:1920,
height:1080
}
},
mounted(){
this.getScale()
window.addEventListener('resize', this.setScale)
},
beforeDestroy() {
window.removeEventListener('resize', this.setScale)
},
computed: {
styleObject() {
const obj = {
transform: `scaleY(${this.scale.y}) scaleX( ${this.scale.x}) translate(-50%, -50%)`,
WebkitTransform: `scale(${this.scale}) translate(-50%, -50%)`,
width: this.width + 'px',
height: this.height + 'px'
}
return obj
}
},
methods: {
getScale() {
//
const baseSize = 10; //
const scale = document.documentElement.clientWidth / 1920; // 稿
document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'; //
//
// 16:9
// console.log(window.innerWidth, window.innerHeight,'window.innerWidth')
const ww = window.innerWidth / this.width
const wh = window.innerHeight / this.height
// return ww < wh ? ww : wh
return { x: ww, y: wh }
},
setScale: debounce(function() {
//
const scale = this.getScale()
this.scale = scale
}, 300)
}
}
</script>
<style>
body,html{
padding:0;
margin:0;
font-size: 62.5%;
}
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
height:calc(100vh);
overflow: hidden;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

@ -1,58 +0,0 @@
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>

@ -1,8 +1,10 @@
import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
import router from './router'
Vue.config.productionTip = false
Vue.use(VueRouter)
new Vue({
render: h => h(App),
}).$mount('#app')
router
}).$mount('#app')

@ -0,0 +1,113 @@
<template>
<div class="index">
<img src="@/assets/back.png" class="bgPic" alt="">
<div class="contentContainer">
<div class="header">
<img src="@/assets/headerBg.png" alt="">
<div class="headerText">
<div class="title">垃圾转运站大数据管理中心</div>
<!-- <div class="time">
<img src="@/assets/shijian.png" alt="">
<span>2024-09-09 13:24:13</span>
</div> -->
</div>
</div>
</div>
</div>
</template>
<script>
export default {
data(){
return{
timeText:'',
timer:null,
}
},
methods:{
updateClock() {
let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1;
let day = now.getDate();
let hours = now.getHours();
let minutes = now.getMinutes();
let seconds = now.getSeconds();
month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day;
hours = hours < 10 ? '0' + hours : hours;
minutes = minutes < 10 ? '0' + minutes : minutes;
seconds = seconds < 10 ? '0' + seconds : seconds;
let timeString = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
this.timeText = timeString
}
},
mounted(){
// this.timer = setInterval(this.updateClock, 1000);
},
destroyed(){
// clearInterval(this.timer)
// this.timer = null;
}
}
</script>
<style lang="scss" scoped>
.index{
background: #010E25;
border:1px solid blue;
height:calc(100% - 2px);
overflow: hidden;
position: relative;
.bgPic{
position: absolute;
left:0;
top:0;
width:100%;
height:100%;
z-index:0;
}
.contentContainer{
position: relative;
z-index:1;
.header{
border:1px solid red;
position: relative;
&>img{
width:100%;
height:auto;
position:relative;
z-index:1;
}
.headerText{
position: absolute;
border:2px solid pink;
.title{
font-family: Source Han Sans CN;
font-weight: bold;
font-size: 3.6rem;
color: #FFFFFF;
text-shadow: 0px 4px 7px rgba(0,0,1,0.86);
}
// .time{
// display: flex;
// align-items: center;
// border:1px solid #fff;
// &>img{
// width: 20px;
// height: 20px;
// }
// &>span{
// font-weight: bold;
// font-size: 20px;
// color: #FFFFFF;
// margin-left:16px;
// }
// }
}
}
}
}
</style>

@ -0,0 +1,18 @@
import VueRouter from "vue-router";
const router = new VueRouter({
mode: "hash",
// mode: "history",
routes: [
{
path: '/',
redirect:'/index',
},
{
name: 'index',
path: '/index',
component: () => import('../pages/index.vue'),
children: [],
},
]
})
export default router

@ -1,4 +1,11 @@
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true
transpileDependencies: true,
configureWebpack: {
resolve: {
alias: {
'@': require('path').resolve(__dirname, './src')
}
}
}
})

Loading…
Cancel
Save