Compare commits
6 Commits
d52cff7a8e
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 5f44e6bbad | |||
| 4876a48c39 | |||
| ff8adae814 | |||
| ac4878cfeb | |||
| bf7a53a9e3 | |||
| c946946c94 |
@@ -49,7 +49,7 @@ module.exports = {
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
include: [resolve('src'), resolve('test')]
|
||||
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
|
||||
},
|
||||
{
|
||||
test: /\.svg$/,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2021-11-19 10:10:51
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-30 11:11:45
|
||||
* @LastEditTime: 2023-03-07 15:48:48
|
||||
* @Description: file content
|
||||
* @FilePath: \mt-qj-wms-ui\config\index.js
|
||||
*/
|
||||
@@ -22,8 +22,8 @@ module.exports = {
|
||||
// 代理列表, 是否开启代理通过[./dev.env.js]配置
|
||||
proxyTable: devEnv.OPEN_PROXY === false ? {} : {
|
||||
'/proxyApi': {
|
||||
// target: 'http://192.168.1.16:8089/wms-qy/',
|
||||
target: 'http://qy.wms.picaiba.com/wms-qy/',
|
||||
target: 'http://192.168.1.12:8089/wms-qy/',
|
||||
// target: 'http://qy.wms.picaiba.com/wms-qy/',
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
'^/proxyApi': '/'
|
||||
@@ -32,7 +32,7 @@ module.exports = {
|
||||
},
|
||||
|
||||
// Various Dev Server settings
|
||||
host: 'localhost', // 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,
|
||||
|
||||
14150
package-lock.json
generated
14150
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
BIN
src/assets/1.png
Normal file
BIN
src/assets/1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 903 KiB |
BIN
src/assets/2.png
Normal file
BIN
src/assets/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 161 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 85 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.9 KiB |
@@ -34,7 +34,7 @@
|
||||
// 2. iframeUrl: 是否通过iframe嵌套展示内容, '以http[s]://开头': 是, '': 否
|
||||
// 提示: 如需要通过iframe嵌套展示内容, 但不通过tab打开, 请自行创建组件使用iframe处理!
|
||||
{ path: '/home', component: _import('common/home'), name: 'home', meta: { title: '首页' } },
|
||||
{ path: '/schedule', component: _import('modules/job/schedule'), name: 'schedule', meta: { title: '定时任务' } },
|
||||
// { path: '/schedule', component: _import('modules/job/schedule'), name: 'schedule', 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 } },
|
||||
@@ -47,7 +47,7 @@
|
||||
{ path: '/mtproduct', component: _import('modules/work/mtproduct'), name: 'mtproduct', meta: { title: '产品基础信息', isTab: true } },
|
||||
{ path: '/mtsysdictdata', component: _import('modules/work/mtsysdictdata'), name: 'mtsysdictdata', meta: { title: '数据字典', isTab: true } },
|
||||
{ path: '/mtsysdicttype', component: _import('modules/work/mtsysdicttype'), name: 'mtsysdicttype', meta: { title: '数据字典类型', isTab: true } },
|
||||
{ path: '/mttaskinfo', component: _import('modules/work/mttaskinfo'), name: 'mttaskinfo', meta: { title: '出入库任务日志', isTab: true } },
|
||||
{ path: '/mttaskinfo', component: _import('modules/work/mttaskinfo'), name: 'mttaskinfo', meta: { title: '出入库任务', isTab: true } },
|
||||
{ path: '/mttaskinfodet', component: _import('modules/work/mttaskinfodet'), name: 'mttaskinfodet', meta: { title: 'mttaskinfodet', isTab: false } },
|
||||
{ path: '/mttaskinfodetlog', component: _import('modules/work/mttaskinfodetlog'), name: 'mttaskinfodetlog', meta: { title: 'mttaskinfodetlog', isTab: true } },
|
||||
{ path: '/mttaskinfolog', component: _import('modules/work/mttaskinfolog'), name: 'mttaskinfolog', meta: { title: '出入库任务日志', isTab: true } },
|
||||
@@ -56,7 +56,8 @@
|
||||
{ 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: '/OperationMonitor', component: _import('modules/work/OperationMonitor'), name: 'OperationMonitor', meta: { title: '运行监控', isTab: true } }
|
||||
{ path: '/OperationMonitor', component: _import('modules/work/OperationMonitor'), name: 'OperationMonitor', meta: { title: '仓库监控', isTab: true } },
|
||||
{ path: '/wareMonitor', component: _import('modules/work/wareMonitor'), name: 'wareMonitor', meta: { title: '库位监控', isTab: true } }
|
||||
],
|
||||
beforeEnter (to, from, next) {
|
||||
let token = Vue.cookie.get('token')
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<el-card :style="{height: boxHeight + 'px'}" class="box-card box-card-ck" shadow="hover" @click.native="$router.push({ name: 'mtwarehouspositionrelat' })">
|
||||
<p class="box-card-header">
|
||||
<icon-svg class="iconClass" name="出库"></icon-svg>
|
||||
库位
|
||||
库存
|
||||
</p>
|
||||
<p class="box-card-footer">Warehouse</p>
|
||||
</el-card>
|
||||
@@ -52,12 +52,12 @@
|
||||
align="center"
|
||||
label="添加时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="userName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="操作员名称">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column
|
||||
prop="source"
|
||||
header-align="center"
|
||||
@@ -94,12 +94,12 @@
|
||||
align="center"
|
||||
label="产品编码">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="specModel"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="具体型号">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="num"
|
||||
header-align="center"
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
<icon-svg name="shouye" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">首页</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="schedule" @click="$router.push({ name: 'schedule' })">
|
||||
<!-- <el-menu-item index="schedule" @click="$router.push({ name: 'schedule' })">
|
||||
<icon-svg name="job" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">定时任务</span>
|
||||
</el-menu-item>
|
||||
</el-menu-item> -->
|
||||
|
||||
<el-menu-item index="OperationMonitor" @click="$router.push({ name: 'OperationMonitor' })">
|
||||
<icon-svg name="zaijiagong" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">运行监控</span>
|
||||
<span slot="title">仓库监控</span>
|
||||
</el-menu-item>
|
||||
|
||||
<el-menu-item index="instock" @click="$router.push({ name: 'instock' })">
|
||||
@@ -25,82 +25,6 @@
|
||||
<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>
|
||||
<span>基础信息</span>
|
||||
</template>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtequipmentinfo' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">设备基础信息</span>
|
||||
</el-menu-item>
|
||||
<!-- <el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtpointinfo' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">mtpointinfo</span>
|
||||
</el-menu-item> -->
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtproduct' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">产品基础信息</span>
|
||||
</el-menu-item>
|
||||
<!-- <el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtsysdictdata' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">数据字典</span>
|
||||
</el-menu-item> -->
|
||||
<!-- <el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtsysdicttype' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">数据字典类型</span>
|
||||
</el-menu-item> -->
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtwarehousing' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">仓库基础信息</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtwarehousrank' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">库位基础信息</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtwarehousregion' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">仓库区域基础信息</span>
|
||||
</el-menu-item>
|
||||
</el-submenu>
|
||||
|
||||
<el-submenu index="report">
|
||||
<template slot="title">
|
||||
<icon-svg name="shoucang" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>报表统计</span>
|
||||
</template>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtalarmlog' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">报警记录</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtcommunlog' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">通讯日志</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mttaskinfolog' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">出入库任务日志</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtwarehouspositionrelatlog' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">库位使用详情日志</span>
|
||||
</el-menu-item>
|
||||
</el-submenu>
|
||||
|
||||
<el-submenu index="zuoye">
|
||||
<template slot="title">
|
||||
<icon-svg name="shoucang" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span>库内作业管理</span>
|
||||
</template>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mttaskinfo' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">出入库任务</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtwarehouspositionrelat' })">
|
||||
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
|
||||
<span slot="title">库位使用详情</span>
|
||||
</el-menu-item>
|
||||
</el-submenu>
|
||||
<sub-menu
|
||||
v-for="menu in menuList"
|
||||
:key="menu.menuId"
|
||||
|
||||
@@ -2,64 +2,100 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-05-31 15:49:03
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-06-06 15:27:38
|
||||
* @LastEditTime: 2023-07-24 15:26:35
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
style="width:100%;height:100%;border-bottom:1px dotted #ff0000;padding-bottom:10px"
|
||||
<el-tabs
|
||||
@tab-click="handleClick"
|
||||
v-model="dataForm.warehouseName"
|
||||
style="margin-top:-30px"
|
||||
>
|
||||
<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>
|
||||
<el-tab-pane name="A">
|
||||
<span slot="label" style="font-size:20px"><b>A库</b></span>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="B">
|
||||
<span slot="label" style="font-size:20px"><b>B库</b></span>
|
||||
</el-tab-pane>
|
||||
<div
|
||||
style="width:100%;height:100%;border-bottom:1px dotted #ff0000;padding-bottom:10px"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<div class="zhigui" id="zhigui">
|
||||
<div class="car" id="car"></div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<el-row :gutter="20" style="margin-top:5px">
|
||||
<el-col :span="24">
|
||||
<div class="wareBody">
|
||||
<div
|
||||
v-for="(item, index) in shelfArr.filter(item => {
|
||||
return item.direction === 1;
|
||||
})"
|
||||
:key="index"
|
||||
class="shelfBox"
|
||||
ref="shelfBox"
|
||||
v-bind:class="[
|
||||
item.isOccupy === 0
|
||||
? 'normalShelfBox'
|
||||
: item.status === 3
|
||||
?'badShelfBox'
|
||||
:'deliveryShelfBox'
|
||||
]"
|
||||
@click="addOutTask(item.id, item.anotherName,item.isOccupy)"
|
||||
>
|
||||
<div>
|
||||
<span>{{ item.anotherName }}</span
|
||||
><br />
|
||||
<span>{{ item.productCode }}</span
|
||||
><br />
|
||||
<span>{{ item.quantity }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-row :gutter="20" style="margin:5px">
|
||||
<el-col :span="5" :offset="7">
|
||||
<b>1-1-1 代表</b>
|
||||
1排1层1列位
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<div class="tip empty"></div>
|
||||
空闲
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<div class="tip"></div>
|
||||
有货
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="wareBody">
|
||||
<div
|
||||
v-for="(item, index) in shelfArr.filter(item => {
|
||||
return item.direction === -1;
|
||||
})"
|
||||
:key="index"
|
||||
class="shelfBox"
|
||||
ref="shelfBox"
|
||||
v-bind:class="[
|
||||
item.isOccupy === 0 ? 'normalShelfBox' : 'deliveryShelfBox'
|
||||
]"
|
||||
@click="addOutTask(item.id, item.anotherName,item.isOccupy)"
|
||||
>
|
||||
<div>
|
||||
<span>{{ item.anotherName }}</span
|
||||
><br />
|
||||
<span>{{ item.productCode }}</span
|
||||
><br />
|
||||
<span>{{ item.quantity }}</span>
|
||||
</div>
|
||||
</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>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -67,299 +103,16 @@
|
||||
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
|
||||
}
|
||||
],
|
||||
shelfArr: [],
|
||||
car: '',
|
||||
zhigui: '',
|
||||
motion: ''
|
||||
shelfInfo: {},
|
||||
dataForm: {
|
||||
warehouseName: 'A',
|
||||
taskType: 0,
|
||||
startPosition: '',
|
||||
endPosition: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {},
|
||||
@@ -369,10 +122,101 @@ export default {
|
||||
methods: {
|
||||
init () {
|
||||
this.car = document.getElementById('car')
|
||||
this.motion = setInterval(() => {
|
||||
this.zhigui = document.getElementById('zhigui')
|
||||
this.runCar()
|
||||
this.getList('A')
|
||||
},
|
||||
getList (name) {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mtwarehouspositionrelat/getRankList'),
|
||||
method: 'post',
|
||||
data: name
|
||||
}).then(({ data }) => {
|
||||
if (data) {
|
||||
this.shelfArr = data
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
getInfo (id, isOccupy) {
|
||||
if (isOccupy) {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(
|
||||
'/work/mtwarehouspositionrelat/getRankInfoById'
|
||||
),
|
||||
method: 'post',
|
||||
data: id
|
||||
}).then(({ data }) => {
|
||||
if (data) {
|
||||
this.shelfInfo = data
|
||||
} else {
|
||||
this.shelfInfo = {}
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.shelfInfo = {}
|
||||
this.$message.error('该位置无货')
|
||||
}
|
||||
},
|
||||
addOutTask (id, anotherName, isOccupy) {
|
||||
if (isOccupy) {
|
||||
this.$confirm(`确定对[${anotherName}]进行出库操作?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.dataForm.startPosition = id
|
||||
this.dataForm.endPosition =
|
||||
this.dataForm.warehouseName === 'A' ? 290 : 292
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfo/saveout'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData(this.dataForm)
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.$message.error('该位置无货')
|
||||
}
|
||||
},
|
||||
handleClick (tab) {
|
||||
if (tab.index === '0') {
|
||||
this.getList('A')
|
||||
} else {
|
||||
this.getList('B')
|
||||
}
|
||||
},
|
||||
runCar () {
|
||||
const runCarInterval = setInterval(() => {
|
||||
this.car.style.left = this.car.offsetLeft - 1 + 'px'
|
||||
if (this.car.offsetLeft <= 0) {
|
||||
clearInterval(this.motion)
|
||||
clearInterval(runCarInterval)
|
||||
this.backCar()
|
||||
}
|
||||
}, 100)
|
||||
},
|
||||
backCar () {
|
||||
const backCarInterval = setInterval(() => {
|
||||
this.car.style.left = this.car.offsetLeft + 1 + 'px'
|
||||
if (
|
||||
this.zhigui.clientWidth -
|
||||
this.car.offsetLeft -
|
||||
this.car.offsetWidth <=
|
||||
0
|
||||
) {
|
||||
clearInterval(backCarInterval)
|
||||
this.runCar()
|
||||
}
|
||||
}, 100)
|
||||
}
|
||||
@@ -382,18 +226,12 @@ export default {
|
||||
|
||||
<style scoped>
|
||||
.zhigui {
|
||||
height: 250px;
|
||||
background: url("../../../assets/img/直轨.jpeg") repeat;
|
||||
height: 240px;
|
||||
background: url("../../../assets/1.png") 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%;
|
||||
@@ -406,42 +244,57 @@ export default {
|
||||
flex-wrap: wrap;
|
||||
min-width: 1200px;
|
||||
position: relative;
|
||||
padding: 20px;
|
||||
padding: 12px;
|
||||
}
|
||||
.shelfBox {
|
||||
width: 5.5%;
|
||||
height: 50px;
|
||||
padding: 20px;
|
||||
height: 57px;
|
||||
padding: 1px;
|
||||
border: 2px solid #cdcdc5;
|
||||
border-radius: 5px;
|
||||
line-height: 10px;
|
||||
text-align: center;
|
||||
line-height: 18px;
|
||||
font-size: 12px;
|
||||
color: white;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
.deliveryShelfBox {
|
||||
background-color: rgb(245, 72, 72);
|
||||
background-color: #e2a448;
|
||||
}
|
||||
.badShelfBox {
|
||||
background-color: #cdcdc5;
|
||||
}
|
||||
|
||||
.normalShelfBox {
|
||||
background-color: #09bb07;
|
||||
}
|
||||
.car {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
background-color: rgb(116, 79, 250);
|
||||
background: url("../../../assets/img/car.jpeg") repeat;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
background: url("../../../assets/2.png") repeat;
|
||||
background-size: 100% 100%;
|
||||
right: 0;
|
||||
bottom: 40%;
|
||||
position: absolute;
|
||||
}
|
||||
.line {
|
||||
padding: 0 20px 0;
|
||||
margin: 20px auto;
|
||||
padding: 0 5px 0;
|
||||
margin: 8px auto;
|
||||
line-height: 3px;
|
||||
border-left: 500px solid rgb(137, 139, 131);
|
||||
border-right: 500px solid rgb(137, 139, 131);
|
||||
text-align: center;
|
||||
}
|
||||
.tip {
|
||||
width: 20px;
|
||||
height: 16px;
|
||||
margin-right: 5px;
|
||||
border-radius: 5px;
|
||||
float: left;
|
||||
background-color: #e2a448;
|
||||
}
|
||||
.empty {
|
||||
background-color: #09bb07;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -29,12 +29,12 @@
|
||||
align="center"
|
||||
label="添加时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="updateTime"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="修改时间">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="alarmGrade"
|
||||
header-align="center"
|
||||
|
||||
@@ -29,12 +29,6 @@
|
||||
align="center"
|
||||
label="添加时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="updateTime"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="修改时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
header-align="center"
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
<el-select
|
||||
clearable
|
||||
filterable
|
||||
:disabled="!dataForm.regionId"
|
||||
v-model="dataForm.startPosition"
|
||||
placeholder="请选择起点"
|
||||
>
|
||||
@@ -180,33 +181,41 @@ export default {
|
||||
this.productArr = []
|
||||
}
|
||||
})
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mtwarehousrank/list'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
page: 1,
|
||||
limit: 500,
|
||||
key: ''
|
||||
})
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.startPositionArr = data.page.list.splice(
|
||||
0,
|
||||
data.page.list.length - 4
|
||||
)
|
||||
} else {
|
||||
this.startPositionArr = []
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
warehouseC () {
|
||||
if (this.dataForm.warehouseName === 'A') {
|
||||
this.dataForm.endPosition = 290
|
||||
} else {
|
||||
this.dataForm.regionId = 1
|
||||
this.getStartPoint()
|
||||
} else if (this.dataForm.warehouseName === 'B') {
|
||||
this.dataForm.endPosition = 292
|
||||
this.dataForm.regionId = 2
|
||||
this.getStartPoint()
|
||||
} else {
|
||||
this.dataForm.endPosition = null
|
||||
this.dataForm.regionId = 0
|
||||
}
|
||||
},
|
||||
getStartPoint () {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mtwarehousrank/list'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
page: 1,
|
||||
limit: 500,
|
||||
isOccupy: 1,
|
||||
regionId: this.dataForm.regionId,
|
||||
key: ''
|
||||
})
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.startPositionArr = data.page.list
|
||||
} else {
|
||||
this.startPositionArr = []
|
||||
}
|
||||
})
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit () {
|
||||
this.$refs['dataForm'].validate(valid => {
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
<template>
|
||||
<div class="mod-config">
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="dataForm"
|
||||
@keyup.enter.native="getDataList()"
|
||||
>
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
|
||||
<el-input
|
||||
v-model="dataForm.key"
|
||||
placeholder="参数名"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">查询</el-button>
|
||||
@@ -11,30 +19,37 @@
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
:stripe="true"
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
|
||||
:stripe="true"
|
||||
:header-cell-style="{
|
||||
background: '#eef1f6',
|
||||
color: '#606266',
|
||||
height: '56px'
|
||||
}"
|
||||
border
|
||||
v-loading="dataListLoading"
|
||||
style="width: 100%;">
|
||||
style="width: 100%;"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
label="序号"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="50">
|
||||
width="50"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="添加时间">
|
||||
label="添加时间"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="userName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="操作员名称">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column
|
||||
prop="source"
|
||||
header-align="center"
|
||||
@@ -45,43 +60,58 @@
|
||||
prop="taskType"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="任务类型">
|
||||
label="任务类型"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.taskType === 0?'出库' :scope.row.taskType === 1?'入库': '移库'}}</span>
|
||||
<span>{{ taskType[scope.row.taskType - 1] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="状态">
|
||||
label="状态"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.status === 0?'接收数据' :scope.row.status === 1?'数据接收中': scope.row.status === 2?'数据接收完成':'等待接收数据'}}</span>
|
||||
<span>{{
|
||||
scope.row.status === 0
|
||||
? "未执行"
|
||||
: scope.row.status === 1
|
||||
? "执行中"
|
||||
: scope.row.status === 2
|
||||
? "执行完成"
|
||||
: scope.row.status === 3
|
||||
? "送达滚筒"
|
||||
: "执行失败"
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="taskCode"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="任务编码">
|
||||
label="任务编码"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="productCode"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="产品编码">
|
||||
label="产品编码"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="specModel"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="具体型号">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="num"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="数量">
|
||||
label="数量"
|
||||
>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column
|
||||
prop="unit"
|
||||
@@ -93,19 +123,41 @@
|
||||
prop="remarks"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="备注">
|
||||
label="备注"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="200"
|
||||
label="操作">
|
||||
width="220"
|
||||
label="操作"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<!-- <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button> -->
|
||||
<el-button type="text" size="small" @click="$router.push({ name: 'mttaskinfodet', params: { id: scope.row.id } })">子任务</el-button>
|
||||
<el-button type="text" size="small" @click="runtask(scope.row.id)">执行</el-button>
|
||||
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="
|
||||
$router.push({
|
||||
name: 'mttaskinfodet',
|
||||
params: { id: scope.row.id }
|
||||
})
|
||||
"
|
||||
>子任务</el-button
|
||||
>
|
||||
<el-button type="text" size="small" @click="runtask(scope.row.id)"
|
||||
>执行</el-button
|
||||
>
|
||||
<el-button type="text" size="small" @click="reset(scope.row.id)"
|
||||
>重置信号</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click="deleteHandle(scope.row.id)"
|
||||
>删除</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -116,83 +168,189 @@
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
:total="totalPage"
|
||||
layout="total, sizes, prev, pager, next, jumper">
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
>
|
||||
</el-pagination>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
<add-or-update
|
||||
v-if="addOrUpdateVisible"
|
||||
ref="addOrUpdate"
|
||||
@refreshDataList="getDataList"
|
||||
></add-or-update>
|
||||
<el-dialog
|
||||
title="重置信号提示"
|
||||
:visible.sync="dialogVisible"
|
||||
width="50%"
|
||||
:before-close="handleClose"
|
||||
>
|
||||
<span>
|
||||
<h3>出库:</h3>
|
||||
<h4>出库到叉车放货台:<br/>
|
||||
无需重置信号,卡住时直接清除辊筒信号,<br/>
|
||||
手动操作辊筒运到叉车放货台
|
||||
出库到RGV转运车:</h4>
|
||||
1-清除对应辊筒信号(如果已经和RGV在通讯,需要清除掉RGV通讯)<br/>
|
||||
2-手动操作移动板垛到旋转台并旋转至垂直状态<br/>
|
||||
3-电控面板点击[旋转台发任务]按钮<br/>
|
||||
4-操作电脑页面点击对应任务的[重置信号]按钮<br/>
|
||||
<h3>入库: </h3>
|
||||
<h4>退料入库:</h4>
|
||||
1-清除对应辊筒信号<br/>
|
||||
2-手动操作移动板垛到叉车放货台<br/>
|
||||
3-操作电脑页面点击对应任务的[重置信号]按钮<br/>
|
||||
4-绿灯亮起,按下,板垛即可入库<br/>
|
||||
<h4>扫码入库:</h4>
|
||||
1-清除对应辊筒信号<br/>
|
||||
2-手动操作移动板垛到叉车放货台<br/>
|
||||
3-重新扫原来的二维码<br/>
|
||||
4-绿灯亮起,按下,板垛即可入库<br/>
|
||||
</span>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="resetSub">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from './mttaskinfo-add-or-update'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
dataForm: {
|
||||
key: ''
|
||||
},
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
dataListLoading: false,
|
||||
addOrUpdateVisible: false
|
||||
}
|
||||
import AddOrUpdate from './mttaskinfo-add-or-update'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
dataForm: {
|
||||
key: ''
|
||||
},
|
||||
dataList: [],
|
||||
taskType: [
|
||||
'A线出库到电子锯',
|
||||
'B线出库到电子锯',
|
||||
'A线扫码入库',
|
||||
'B线扫码入库',
|
||||
'A线退料',
|
||||
'B线退料',
|
||||
'A线人为出库',
|
||||
'B线人为出库'
|
||||
],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
dataListLoading: false,
|
||||
addOrUpdateVisible: false,
|
||||
dialogVisible: false,
|
||||
resetid: ''
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
activated () {
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList () {
|
||||
this.dataListLoading = true
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfo/list'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
page: this.pageIndex,
|
||||
limit: this.pageSize,
|
||||
key: this.dataForm.key
|
||||
})
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.page.list
|
||||
this.totalPage = data.page.totalCount
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.totalPage = 0
|
||||
}
|
||||
this.dataListLoading = false
|
||||
})
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
activated () {
|
||||
// 每页数
|
||||
sizeChangeHandle (val) {
|
||||
this.pageSize = val
|
||||
this.pageIndex = 1
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList () {
|
||||
this.dataListLoading = true
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfo/list'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
'page': this.pageIndex,
|
||||
'limit': this.pageSize,
|
||||
'key': this.dataForm.key
|
||||
// 当前页
|
||||
currentChangeHandle (val) {
|
||||
this.pageIndex = val
|
||||
this.getDataList()
|
||||
},
|
||||
// 新增 / 修改
|
||||
addOrUpdateHandle (id) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id)
|
||||
})
|
||||
},
|
||||
runtask (id) {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfo/runtask'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData(id, false)
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList()
|
||||
}
|
||||
})
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.page.list
|
||||
this.totalPage = data.page.totalCount
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.totalPage = 0
|
||||
}
|
||||
this.dataListLoading = false
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
resetSub () {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(`/work/mttaskinfo/reset/${this.resetid}`),
|
||||
method: 'get'
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.dialogVisible = false
|
||||
this.getDataList()
|
||||
}
|
||||
})
|
||||
}
|
||||
this.dialogVisible = false
|
||||
})
|
||||
},
|
||||
// 重置信号
|
||||
reset (id) {
|
||||
this.resetid = id
|
||||
this.dialogVisible = true
|
||||
},
|
||||
handleClose (done) {
|
||||
this.$confirm('确认关闭?')
|
||||
.then(_ => {
|
||||
done()
|
||||
})
|
||||
},
|
||||
// 每页数
|
||||
sizeChangeHandle (val) {
|
||||
this.pageSize = val
|
||||
this.pageIndex = 1
|
||||
this.getDataList()
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle (val) {
|
||||
this.pageIndex = val
|
||||
this.getDataList()
|
||||
},
|
||||
// 新增 / 修改
|
||||
addOrUpdateHandle (id) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id)
|
||||
})
|
||||
},
|
||||
runtask (id) {
|
||||
console.log(id)
|
||||
.catch(_ => {})
|
||||
},
|
||||
// 删除
|
||||
deleteHandle (id) {
|
||||
this.$confirm(`确定对[id=${id}]进行删除操作?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfo/runtask'),
|
||||
url: this.$http.adornUrl('/work/mttaskinfo/delete'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData(id, false)
|
||||
}).then(({data}) => {
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
@@ -206,34 +364,8 @@
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteHandle (id) {
|
||||
this.$confirm(`确定对[id=${id}]进行删除操作?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfo/delete'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData(id, false)
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
<template>
|
||||
<div class="mod-config">
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="dataForm"
|
||||
@keyup.enter.native="getDataList()"
|
||||
>
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
|
||||
<el-input
|
||||
v-model="dataForm.key"
|
||||
placeholder="参数名"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">查询</el-button>
|
||||
@@ -12,80 +20,117 @@
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
:stripe="true"
|
||||
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
|
||||
:stripe="true"
|
||||
:header-cell-style="{
|
||||
background: '#eef1f6',
|
||||
color: '#606266',
|
||||
height: '56px'
|
||||
}"
|
||||
border
|
||||
v-loading="dataListLoading"
|
||||
style="width: 100%;">
|
||||
style="width: 100%;"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
label="序号"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="50">
|
||||
width="50"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="添加时间">
|
||||
label="添加时间"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warehousRankName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="库位名称">
|
||||
label="库位名称"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="taskType"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="任务类型">
|
||||
label="任务类型"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.taskType === 0?'出库' :scope.row.taskType === 1?'入库': '移库'}}</span>
|
||||
<span>{{
|
||||
scope.row.taskType === 0
|
||||
? "出库"
|
||||
: scope.row.taskType === 1
|
||||
? "入库"
|
||||
: "移库"
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="targetRoll"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="目标辊筒"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warehousRankName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="起点">
|
||||
label="起点"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="targetPosition"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="终点">
|
||||
label="终点"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ endPosition.find(item=>item.value === scope.row.targetPosition).label }}</span>
|
||||
<span>{{
|
||||
endPosition.find(item => item.value === scope.row.targetPosition)
|
||||
?endPosition.find(item => item.value === scope.row.targetPosition).label
|
||||
: ''
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="状态">
|
||||
label="状态"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.status === 0?'接收数据' :scope.row.status === 1?'数据接收中': '数据接收完成'}}</span>
|
||||
<span>{{
|
||||
scope.row.status === 0?'未执行'
|
||||
:scope.row.status === 1?'执行中'
|
||||
:scope.row.status === 2?'执行完成'
|
||||
:scope.row.status === 3?'送达滚筒':'执行失败'
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="taskDetCode"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="任务编码">
|
||||
label="任务编码"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="specModel"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="型号">
|
||||
label="型号"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="num"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="数量">
|
||||
label="数量"
|
||||
>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column
|
||||
prop="unit"
|
||||
@@ -121,7 +166,8 @@
|
||||
prop="remarks"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="备注">
|
||||
label="备注"
|
||||
>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column
|
||||
fixed="right"
|
||||
@@ -136,101 +182,105 @@
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
<add-or-update
|
||||
v-if="addOrUpdateVisible"
|
||||
ref="addOrUpdate"
|
||||
@refreshDataList="getDataList"
|
||||
></add-or-update>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from './mttaskinfodet-add-or-update'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
dataForm: {
|
||||
key: ''
|
||||
import AddOrUpdate from './mttaskinfodet-add-or-update'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
dataForm: {
|
||||
key: ''
|
||||
},
|
||||
taskId: '',
|
||||
dataList: [],
|
||||
endPosition: [
|
||||
{
|
||||
value: 290,
|
||||
label: 'A库出口'
|
||||
},
|
||||
taskId: '',
|
||||
dataList: [],
|
||||
endPosition: [
|
||||
{
|
||||
value: 290,
|
||||
label: 'A库出口'
|
||||
},
|
||||
{
|
||||
value: 292,
|
||||
label: 'B库出口'
|
||||
}
|
||||
],
|
||||
dataListLoading: false,
|
||||
addOrUpdateVisible: false
|
||||
}
|
||||
{
|
||||
value: 292,
|
||||
label: 'B库出口'
|
||||
}
|
||||
],
|
||||
dataListLoading: false,
|
||||
addOrUpdateVisible: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
activated () {
|
||||
this.taskId = this.$route.params.id
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList () {
|
||||
this.dataListLoading = true
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfodet/list'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
task_id: this.taskId,
|
||||
page: 1,
|
||||
limit: 500,
|
||||
key: this.dataForm.key
|
||||
})
|
||||
}).then(({ data }) => {
|
||||
console.log(data)
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.list
|
||||
} else {
|
||||
this.dataList = []
|
||||
}
|
||||
this.dataListLoading = false
|
||||
})
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
// 新增 / 修改
|
||||
addOrUpdateHandle (id) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id)
|
||||
})
|
||||
},
|
||||
activated () {
|
||||
this.taskId = this.$route.params.id
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList () {
|
||||
this.dataListLoading = true
|
||||
// 删除
|
||||
deleteHandle (id) {
|
||||
this.$confirm(`确定对[id=${id}]进行删除操作?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfodet/list'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
'task_id': this.taskId,
|
||||
'page': 1,
|
||||
'limit': 500,
|
||||
'key': this.dataForm.key
|
||||
})
|
||||
}).then(({data}) => {
|
||||
console.log(data)
|
||||
url: this.$http.adornUrl('/work/mttaskinfodet/delete'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData(id, false)
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.list
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
this.dataListLoading = false
|
||||
})
|
||||
},
|
||||
// 新增 / 修改
|
||||
addOrUpdateHandle (id) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id)
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteHandle (id) {
|
||||
this.$confirm(`确定对[id=${id}]进行删除操作?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfodet/delete'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData(id, false)
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
goback () {
|
||||
this.$router.go(-1)
|
||||
}
|
||||
})
|
||||
},
|
||||
goback () {
|
||||
this.$router.go(-1)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -74,8 +74,13 @@
|
||||
align="center"
|
||||
label="状态">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.status === 0?'接收数据' :scope.row.status === 1?'数据接收中': '数据接收完成'}}</span>
|
||||
</template>
|
||||
<span>{{
|
||||
scope.row.status === 0?'未执行'
|
||||
:scope.row.status === 1?'执行中'
|
||||
:scope.row.status === 2?'执行完成'
|
||||
:scope.row.status === 3?'送达滚筒':'执行失败'
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="taskDetCode"
|
||||
|
||||
@@ -29,24 +29,24 @@
|
||||
align="center"
|
||||
label="添加时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="updateTime"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="修改时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column
|
||||
prop="userName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="操作员名称">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
</el-table-column> -->
|
||||
<!-- <el-table-column
|
||||
prop="source"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="来源">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="taskType"
|
||||
header-align="center"
|
||||
@@ -62,27 +62,39 @@
|
||||
align="center"
|
||||
label="状态">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.status === 0?'接收数据' :scope.row.status === 1?'数据接收中': scope.row.status === 2?'数据接收完成':'等待接收数据'}}</span>
|
||||
<span>{{
|
||||
scope.row.status === 0?'未执行'
|
||||
:scope.row.status === 1?'执行中'
|
||||
:scope.row.status === 2?'执行完成'
|
||||
:scope.row.status === 3?'送达滚筒':'执行失败'
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="taskCode"
|
||||
prop="taskDetCode"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="任务编码">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="productCode"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="产品编码">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="specModel"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="具体型号">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warehousRankName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="库位名称"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="num"
|
||||
header-align="center"
|
||||
@@ -154,7 +166,7 @@
|
||||
getDataList () {
|
||||
this.dataListLoading = true
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/work/mttaskinfolog/list'),
|
||||
url: this.$http.adornUrl('/work/mttaskinfodetlog/list'),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams({
|
||||
'page': this.pageIndex,
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
<el-input v-model="dataForm.specModel" placeholder="详细规格" clearable />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
<el-input v-model="dataForm.productCode" placeholder="产品编码" readonly />
|
||||
<el-input v-model="dataForm.productCode" placeholder="产品编码" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="板材名称" prop="productName">
|
||||
<el-input v-model="dataForm.productName" placeholder="板材名称" readonly />
|
||||
<el-input v-model="dataForm.productName" placeholder="板材名称" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item label="货物数量" prop="quantity">
|
||||
<el-input v-model="dataForm.quantity" placeholder="货物数量, 货物总的数量" clearable />
|
||||
@@ -29,7 +29,7 @@
|
||||
<el-input v-model="dataForm.warehousPositionId" placeholder="库位id,关联表:mt_warehous_rank" clearable />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="库位名称" prop="warehousPositionName">
|
||||
<el-input v-model="dataForm.warehousPositionName" placeholder="库位名称" readonly />
|
||||
<el-input v-model="dataForm.warehousPositionName" placeholder="库位名称" disabled />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="批次号" prop="dateNum">
|
||||
<el-input v-model="dataForm.dateNum" placeholder="批次号" clearable />
|
||||
|
||||
@@ -35,12 +35,12 @@
|
||||
align="center"
|
||||
label="修改时间">
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="userName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="操作员">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="status"
|
||||
header-align="center"
|
||||
@@ -89,7 +89,7 @@
|
||||
label="货物数量">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warehousPositionName"
|
||||
prop="warehousePositionName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="库位名称">
|
||||
|
||||
@@ -29,12 +29,12 @@
|
||||
align="center"
|
||||
label="添加时间">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="updateTime"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="修改时间">
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
prop="status"
|
||||
header-align="center"
|
||||
@@ -45,8 +45,8 @@
|
||||
'空库位' :scope.row.status === 1?
|
||||
'空货架':scope.row.status === 2?
|
||||
'货物正常':scope.row.status === 3?
|
||||
'货物预入库':scope.row.status === 4?
|
||||
'货物预出库': '不可用'}}</span>
|
||||
'入库':scope.row.status === 5?
|
||||
'出库': '不可用'}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@@ -83,7 +83,7 @@
|
||||
label="货物数量">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="warehousPositionName"
|
||||
prop="warehousePositionName"
|
||||
header-align="center"
|
||||
align="center"
|
||||
label="库位名称">
|
||||
|
||||
2608
src/views/modules/work/testdata.js
Normal file
2608
src/views/modules/work/testdata.js
Normal file
File diff suppressed because it is too large
Load Diff
192
src/views/modules/work/wareMonitor.vue
Normal file
192
src/views/modules/work/wareMonitor.vue
Normal file
@@ -0,0 +1,192 @@
|
||||
<!--
|
||||
* @Author: gtz
|
||||
* @Date: 2022-03-03 09:16:10
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-04-11 09:10:11
|
||||
* @Description: file content
|
||||
* @FilePath: \mt-ck-wms-ui\src\views\dashboard\index.vue
|
||||
-->
|
||||
<template>
|
||||
<div class="dashboard-container">
|
||||
<el-card class="dashboard-main">
|
||||
<el-row class="dashboard-title">
|
||||
<div class="dashboard-header-line" />
|
||||
<div class="dashboard-header-title">WMS库存信息</div>
|
||||
</el-row>
|
||||
<el-row class="dashboard-legend">
|
||||
<div v-for="item in cassetteStatusList" :key="'cassette' + item.id" class="dashboard-legend-cassette">
|
||||
<div class="dashboard-legend-cassette-cricle" :style="{background: item.color}" />
|
||||
{{ item.name }}
|
||||
</div>
|
||||
|
|
||||
<div v-for="item in portAttributeList" :key="'port' + item.id" class="dashboard-legend-port" :style="{background: item.color}">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
<div class="dashboard-legend-search">
|
||||
<el-select v-model="current" size="mini" placeholder="请选择库存范围" @change="handleChange">
|
||||
<el-option v-for="item in totalPage" :key="'select' + item" :label="'第' + item + '页'" :value="item" />
|
||||
</el-select>
|
||||
</div>
|
||||
</el-row>
|
||||
<el-row v-if="current * 80 < shelfList[0].rowList[0].portList.length" class="dashboard-layout" :gutter="12">
|
||||
<el-col v-for="item in 4" :key="'shelfbox' + item" class="dashboard-layout-shelf-box" :span="6">
|
||||
<el-row>
|
||||
<el-col v-for="(i, index) in shelfList" :key="item + 'shelf' + i.id" :span="12" class="dashboard-layout-shelf">
|
||||
<el-row>
|
||||
<el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row">
|
||||
<div v-for="x in 20" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}">
|
||||
<div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
|
||||
{{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="dashboard-layout-footer">
|
||||
{{ '第' + rowIndex[index] + '排(' + ((current - 1) * 4 + item) + ')' }}
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-else class="dashboard-layout" :gutter="12">
|
||||
<el-col v-for="item in Math.ceil((shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20)" :key="'shelfbox' + item" class="dashboard-layout-shelf-box" :span="6">
|
||||
<el-row>
|
||||
<el-col v-for="(i, index) in shelfList" :key="item + 'shelf' + i.id" :span="12" class="dashboard-layout-shelf">
|
||||
<el-row v-if="item < Math.ceil((shelfList[0].rowList[0].portList.length - (current - 1) * 80) / 20)">
|
||||
<el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row">
|
||||
<div v-for="x in 20" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}">
|
||||
<div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
|
||||
{{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-else>
|
||||
<el-col v-for="z in i.rowList" :key="item + 'shelf' + i + 'row' + z.id" :span="12" class="dashboard-layout-row">
|
||||
<div v-for="x in shelfList[0].rowList[0].portList.length - (item - 1) * 20 - (current - 1) * 80" :key="item + 'shelf' + i + 'row' + z + 'item' + x" class="dashboard-layout-item" :style="{background: portAttributeObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute], cursor: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? 'not-allowed' : 'pointer', color: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute === 3 ? '#A2A8B5' : ''}">
|
||||
<div v-if="z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3" class="dashboard-layout-item-cricle" :style="{background: z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0] ? cassetteStatusObj[z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].cassetteList[0].status] : ''}" />
|
||||
{{ z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].attribute !== 3 ? z.portList[(current - 1) * 80 + (item - 1) * 20 + (x - 1)].name : 'XXXX' }}
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="dashboard-layout-footer">
|
||||
{{ '第' + rowIndex[index] + '排(' + ((current - 1) * 4 + item) + ')' }}
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import testdata from './testdata'
|
||||
|
||||
export default {
|
||||
name: 'Dashboard',
|
||||
data () {
|
||||
return testdata
|
||||
},
|
||||
created () {
|
||||
console.log(this.shelfList)
|
||||
this.totalPage = Math.ceil(this.shelfList[0].rowList[0].portList.length / 80)
|
||||
},
|
||||
methods: {
|
||||
handleChange (v) {
|
||||
console.log(v)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.dashboard-container {
|
||||
background: #F2F4F9;
|
||||
min-height: calc(100vh - 134px);
|
||||
overflow-x: scroll;
|
||||
font-size: 14px;
|
||||
.dashboard-main {
|
||||
width: 100%;
|
||||
min-width: 1380px;
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
min-height: calc(100vh - 186px);
|
||||
.dashboard-title {
|
||||
.dashboard-header-line{
|
||||
display: inline-block;
|
||||
width: 4px;
|
||||
height: 16px;
|
||||
background: #0B58FF;
|
||||
border-radius: 1px;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.dashboard-header-title{
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
font-family: PingFangSC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
line-height: 16px;
|
||||
}
|
||||
}
|
||||
.dashboard-legend {
|
||||
margin-top: 20px;
|
||||
.dashboard-legend-cassette {
|
||||
display: inline-block;
|
||||
margin-right: 24px;
|
||||
.dashboard-legend-cassette-cricle {
|
||||
display: inline-block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
}
|
||||
.dashboard-legend-port {
|
||||
display: inline-block;
|
||||
height: 24px;
|
||||
line-height: 24px;
|
||||
border-radius: 4px;
|
||||
padding: 0 16px;
|
||||
margin-left: 24px;
|
||||
}
|
||||
.dashboard-legend-search {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
.dashboard-layout {
|
||||
margin: 20px 0;
|
||||
.dashboard-layout-shelf-box {
|
||||
.dashboard-layout-footer {
|
||||
text-align: center;
|
||||
margin-top: 12px;
|
||||
}
|
||||
.dashboard-layout-shelf {
|
||||
padding: 0 8px;
|
||||
.dashboard-layout-row {
|
||||
padding: 0 1px;
|
||||
.dashboard-layout-item {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 32px;
|
||||
box-shadow: 0px 3px 6px 0px rgba(166, 174, 190, 0.8);
|
||||
border-radius: 2px 4px 4px 2px;
|
||||
margin-bottom: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
.dashboard-layout-item-cricle{
|
||||
display: inline-block;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 6px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2021-11-19 10:10:52
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-05-23 10:10:52
|
||||
* @LastEditTime: 2023-04-03 15:22:27
|
||||
* @Description: file content
|
||||
* @FilePath: \mt-qj-wms-ui\static\config\index-prod.js
|
||||
*/
|
||||
@@ -13,7 +13,7 @@
|
||||
window.SITE_CONFIG = {}
|
||||
|
||||
// api接口请求地址
|
||||
window.SITE_CONFIG['baseUrl'] = 'http://192.168.1.16:8089/wms-qy/'
|
||||
window.SITE_CONFIG['baseUrl'] = '/api'
|
||||
|
||||
// cdn地址 = 域名 + 版本号
|
||||
window.SITE_CONFIG['domain'] = './' // 域名
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-15 08:20:28
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-05-23 10:10:55
|
||||
* @LastEditTime: 2023-03-07 15:49:28
|
||||
* @Description:
|
||||
*/
|
||||
/**
|
||||
@@ -12,7 +12,7 @@
|
||||
window.SITE_CONFIG = {}
|
||||
|
||||
// api接口请求地址
|
||||
window.SITE_CONFIG['baseUrl'] = 'http://192.168.1.16:8089/wms-qy/'
|
||||
window.SITE_CONFIG['baseUrl'] = 'http://192.168.1.12:8089/wms-qy/'
|
||||
|
||||
// cdn地址 = 域名 + 版本号
|
||||
window.SITE_CONFIG['domain'] = './' // 域名
|
||||
|
||||
Reference in New Issue
Block a user