更新
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2021-11-19 10:10:51
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-05-25 09:15:16
|
||||
* @LastEditTime: 2022-06-30 11:11:45
|
||||
* @Description: file content
|
||||
* @FilePath: \mt-qj-wms-ui\config\index.js
|
||||
*/
|
||||
@ -31,7 +31,7 @@ module.exports = {
|
||||
},
|
||||
|
||||
// Various Dev Server settings
|
||||
host: '192.168.1.53', // can be overwritten by process.env.HOST
|
||||
host: '192.168.1.59', // can be overwritten by process.env.HOST
|
||||
port: 8001, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
||||
autoOpenBrowser: true,
|
||||
errorOverlay: true,
|
||||
|
@ -18,7 +18,7 @@
|
||||
<script>document.write('<script src="./config/index.js?t=' + new Date().getTime() + '"><\/script>');</script>
|
||||
<% }else { %>
|
||||
<!-- 开发环境 -->
|
||||
<link rel="shortcut icon" type="image/x-icon" href="./static/img/favicon.ico">
|
||||
<link rel="shortcut icon" type="image/x-icon" href="./static/img/quanyou.webp">
|
||||
<script src="./static/config/index.js"></script>
|
||||
<script src="./static/plugins/mock-1.0.0-beta3/mock-min.js"></script>
|
||||
<script src="./static/plugins/ueditor-1.4.3.3/ueditor.config.js"></script>
|
||||
|
@ -5,7 +5,7 @@
|
||||
"author": "daxiong.yang <daxiong.yang@qq.com>",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "webpack-dev-server --inline --host 192.168.1.53 --progress --config build/webpack.dev.conf.js",
|
||||
"dev": "webpack-dev-server --inline --host 192.168.1.59 --progress --config build/webpack.dev.conf.js",
|
||||
"start": "npm run dev",
|
||||
"unit": "jest --config test/unit/jest.conf.js --coverage",
|
||||
"e2e": "node test/e2e/runner.js",
|
||||
|
BIN
src/assets/img/U轨道.jpeg
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/assets/img/car.jpeg
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
src/assets/img/instock.png
Normal file
After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 366 KiB |
BIN
src/assets/img/quanyou.jpeg
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
src/assets/img/直轨.jpeg
Normal file
After Width: | Height: | Size: 9.9 KiB |
@ -35,6 +35,7 @@
|
||||
// 提示: 如需要通过iframe嵌套展示内容, 但不通过tab打开, 请自行创建组件使用iframe处理!
|
||||
{ path: '/home', component: _import('common/home'), name: 'home', meta: { title: '首页' } },
|
||||
{ path: '/theme', component: _import('common/theme'), name: 'theme', meta: { title: '主题' } },
|
||||
{ path: '/instock', component: _import('modules/work/instock'), name: 'instock', meta: { title: '扫码入库' } },
|
||||
{ path: '/demo-echarts', component: _import('demo/echarts'), name: 'demo-echarts', meta: { title: 'demo-echarts', isTab: true } },
|
||||
{ path: '/demo-ueditor', component: _import('demo/ueditor'), name: 'demo-ueditor', meta: { title: 'demo-ueditor', isTab: true } },
|
||||
|
||||
@ -53,7 +54,8 @@
|
||||
{ path: '/mtwarehouspositionrelat', component: _import('modules/work/mtwarehouspositionrelat'), name: 'mtwarehouspositionrelat', meta: { title: '库位使用详情', isTab: true } },
|
||||
{ path: '/mtwarehouspositionrelatlog', component: _import('modules/work/mtwarehouspositionrelatlog'), name: 'mtwarehouspositionrelatlog', meta: { title: '库位使用详情日志', isTab: true } },
|
||||
{ path: '/mtwarehousrank', component: _import('modules/work/mtwarehousrank'), name: 'mtwarehousrank', meta: { title: '库位基础信息', isTab: true } },
|
||||
{ path: '/mtwarehousregion', component: _import('modules/work/mtwarehousregion'), name: 'mtwarehousregion', meta: { title: '仓库区域基础信息', isTab: true } }
|
||||
{ path: '/mtwarehousregion', component: _import('modules/work/mtwarehousregion'), name: 'mtwarehousregion', meta: { title: '仓库区域基础信息', isTab: true } },
|
||||
{ path: '/OperationMonitor', component: _import('modules/work/OperationMonitor'), name: 'OperationMonitor', meta: { title: '运行监控', isTab: true } }
|
||||
],
|
||||
beforeEnter (to, from, next) {
|
||||
let token = Vue.cookie.get('token')
|
||||
|
@ -11,6 +11,16 @@
|
||||
<span slot="title">首页</span>
|
||||
</el-menu-item>
|
||||
|
||||
<el-menu-item index="OperationMonitor" @click="$router.push({ name: 'OperationMonitor' })">
|
||||
<icon-svg name="shouye" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">运行监控</span>
|
||||
</el-menu-item>
|
||||
|
||||
<el-menu-item index="instock" @click="$router.push({ name: 'instock' })">
|
||||
<icon-svg name="shouye" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">扫码入库</span>
|
||||
</el-menu-item>
|
||||
|
||||
<el-submenu index="info">
|
||||
<template slot="title">
|
||||
<icon-svg name="shoucang" class="site-sidebar__menu-icon"></icon-svg>
|
||||
|
447
src/views/modules/work/OperationMonitor.vue
Normal file
@ -0,0 +1,447 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2022-05-31 15:49:03
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-06 15:27:38
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
style="width:100%;height:100%;border-bottom:1px dotted #ff0000;padding-bottom:10px"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6"><div class="Ugui"></div></el-col>
|
||||
<el-col :span="18">
|
||||
<div class="zhigui">
|
||||
<div class="car" id="car"></div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="wareBody">
|
||||
<div
|
||||
v-for="(item, index) in shelfArr"
|
||||
:key="index"
|
||||
class="shelfBox"
|
||||
ref="shelfBox"
|
||||
v-bind:class="[
|
||||
item.taskType === 0 ? 'deliveryShelfBox' : 'normalShelfBox'
|
||||
]"
|
||||
>
|
||||
<el-popover trigger="hover" word-wrap placement="top-start">
|
||||
<label style="margin-left:20px">货位信息</label>
|
||||
<br />
|
||||
<label>操作台号:{{ item.name }}</label>
|
||||
<div slot="reference">
|
||||
<label>{{ item.name }}</label>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line">分隔线</div>
|
||||
<div class="wareBody">
|
||||
<div
|
||||
v-for="(item, index) in shelfArr"
|
||||
:key="index"
|
||||
class="shelfBox"
|
||||
ref="shelfBox"
|
||||
v-bind:class="[
|
||||
item.taskType === 0 ? 'deliveryShelfBox' : 'normalShelfBox'
|
||||
]"
|
||||
>
|
||||
<el-popover trigger="hover" word-wrap placement="top-start">
|
||||
<label style="margin-left:20px">货位信息</label>
|
||||
<br />
|
||||
<label>操作台号:{{ item.name }}</label>
|
||||
<div slot="reference">
|
||||
<label>{{ item.name }}</label>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
shelfArr: [
|
||||
{
|
||||
name: 1,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 2,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 3,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 4,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 5,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 6,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 7,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 8,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 9,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 10,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 11,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 12,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 13,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 14,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 15,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 16,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 17,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 18,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 1,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 2,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 3,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 4,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 5,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 6,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 7,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 8,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 9,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 10,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 11,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 12,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 13,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 14,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 15,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 16,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 17,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 18,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 1,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 2,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 3,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 4,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 5,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 6,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 7,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 8,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 9,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 10,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 11,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 12,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 13,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 14,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 15,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 16,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 17,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 18,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 1,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 2,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 3,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 4,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 5,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 6,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 7,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 8,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 9,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 10,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 11,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 12,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 13,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 14,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 15,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 16,
|
||||
taskType: 0
|
||||
},
|
||||
{
|
||||
name: 17,
|
||||
taskType: 1
|
||||
},
|
||||
{
|
||||
name: 18,
|
||||
taskType: 0
|
||||
}
|
||||
],
|
||||
car: '',
|
||||
zhigui: '',
|
||||
motion: ''
|
||||
}
|
||||
},
|
||||
created () {},
|
||||
mounted () {
|
||||
this.init()
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
this.car = document.getElementById('car')
|
||||
this.motion = setInterval(() => {
|
||||
this.car.style.left = this.car.offsetLeft - 1 + 'px'
|
||||
if (this.car.offsetLeft <= 0) {
|
||||
clearInterval(this.motion)
|
||||
}
|
||||
}, 100)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.zhigui {
|
||||
height: 250px;
|
||||
background: url("../../../assets/img/直轨.jpeg") repeat;
|
||||
background-size: 100% 100%;
|
||||
padding-top: 100px;
|
||||
position: relative;
|
||||
}
|
||||
.Ugui {
|
||||
height: 250px;
|
||||
transform: rotate(180deg);
|
||||
background: url("../../../assets/img/U轨道.jpeg") repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.wareBody {
|
||||
margin: auto;
|
||||
height: 90%;
|
||||
background-color: #f0f0f0;
|
||||
border: 2px solid #cdcdc5;
|
||||
border-radius: 5px;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
min-width: 1200px;
|
||||
position: relative;
|
||||
padding: 20px;
|
||||
}
|
||||
.shelfBox {
|
||||
width: 5.5%;
|
||||
height: 50px;
|
||||
padding: 20px;
|
||||
border: 2px solid #cdcdc5;
|
||||
border-radius: 5px;
|
||||
line-height: 10px;
|
||||
text-align: center;
|
||||
color: white;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.deliveryShelfBox {
|
||||
background-color: rgb(245, 72, 72);
|
||||
}
|
||||
|
||||
.normalShelfBox {
|
||||
background-color: #09bb07;
|
||||
}
|
||||
.car {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background-color: rgb(116, 79, 250);
|
||||
background: url("../../../assets/img/car.jpeg") repeat;
|
||||
background-size: 100% 100%;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
}
|
||||
.line {
|
||||
padding: 0 20px 0;
|
||||
margin: 20px auto;
|
||||
line-height: 3px;
|
||||
border-left: 500px solid rgb(137, 139, 131);
|
||||
border-right: 500px solid rgb(137, 139, 131);
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
78
src/views/modules/work/instock.vue
Normal file
@ -0,0 +1,78 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2022-06-30 15:48:10
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-30 16:36:31
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card class="box-card">
|
||||
<div slot="header" style="text-align:center;">
|
||||
<el-input
|
||||
ref="input"
|
||||
v-model="scancode"
|
||||
placeholder="请输入内容"
|
||||
style="width:300px"
|
||||
@keyup.enter.native="dataFormSubmit()"
|
||||
autofocus
|
||||
></el-input>
|
||||
</div>
|
||||
<img src="~@/assets/img/instock.png" />
|
||||
<!-- <el-table :data="tableData" height="500" style="width: 100%">
|
||||
<el-table-column prop="code" label="入库码"> </el-table-column>
|
||||
<el-table-column prop="status" label="状态"> </el-table-column>
|
||||
</el-table> -->
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
scancode: '',
|
||||
tableData: [
|
||||
]
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.input.focus()
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
dataFormSubmit () {
|
||||
const tDataObj = {}
|
||||
tDataObj.code = this.scancode
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/scancode/instock'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData({
|
||||
'task': this.scancode
|
||||
})
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
tDataObj.status = '成功'
|
||||
this.scancode = ''
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
} else {
|
||||
tDataObj.status = '失败'
|
||||
this.scancode = ''
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
this.tableData.push(tDataObj)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.box-card /deep/ .el-card__header {
|
||||
background-color: #eee8aa;
|
||||
padding: none;
|
||||
}
|
||||
</style>
|
BIN
static/img/quanyou.webp
Normal file
After Width: | Height: | Size: 5.2 KiB |