Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -5,6 +5,14 @@ import Layout from '../layout/index'
|
||||
Vue.use(Router)
|
||||
|
||||
export const constantRouterMap = [
|
||||
|
||||
{
|
||||
path: '/produceScreen/:id',
|
||||
component: (resolve) => require(['@/views/wms/produceScreen/index'], resolve),
|
||||
hidden: true,
|
||||
meta: { title: '加工看板' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/login',
|
||||
meta: { title: '登录', noCache: true },
|
||||
|
||||
235
lms/nladmin-ui/src/views/wms/produceScreen/index.vue
Normal file
235
lms/nladmin-ui/src/views/wms/produceScreen/index.vue
Normal file
@@ -0,0 +1,235 @@
|
||||
<template>
|
||||
<div style="border: 1px solid #938d8d;margin-left: 10px;margin-right: 10px;">
|
||||
<el-row>
|
||||
<el-col :span="18">
|
||||
<div class="grid-content bg-purple"><h2 style="margin-left: 30px;padding-top: 10px;">车间加工看板</h2></div>
|
||||
<div class="grid-content bg-purple">
|
||||
  
|
||||
<!-- <el-button type="primary" icon="el-icon-search" @click="queryTask(query.device_code)">搜索</el-button>-->
|
||||
<el-button type="primary" icon="el-icon-thumb" @click="fresh">界面刷新</el-button>
|
||||
<el-button style="margin-left: 30px;" type="warning" icon="el-icon-position" @click="callMaterial">生产叫料</el-button>
|
||||
<el-button style="margin-left: 30px;" type="success" icon="el-icon-finished" @click="finish">生产完成</el-button>
|
||||
<el-button style="margin-left: 30px;" type="danger" icon="el-icon-top-left" @click="materialBack">余料回库</el-button>
|
||||
<el-button style="margin-left: 30px;" type="info" icon="el-icon-top-left" @click="emptyVehicleBack">空托回库</el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<div class="grid-content bg-purple-light">
|
||||
<h2 style="text-align:right;margin-right: 140px;">{{ getTime }}</h2>
|
||||
</div>
|
||||
<div class="grid-content bg-purple-light">
|
||||
<p style="text-align:right;margin-right: 110px;"><b>{{ getDate }}</b></p>
|
||||
</div>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<br>
|
||||
<br>
|
||||
<div>
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
ref="table"
|
||||
:data="tableData"
|
||||
size="small"
|
||||
style="width: 100%;"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55">
|
||||
</el-table-column>
|
||||
<el-table-column v-if="false" prop="produce_uuid" label="生产标识"/>
|
||||
<el-table-column prop="produce_code" label="生产编码"/>
|
||||
<el-table-column prop="produce_status_name" label="生产状态" :formatter="formatStatusName"/>
|
||||
<el-table-column prop="device_code" label="生产设备"/>
|
||||
<el-table-column prop="produce_qty" label="加工数量"/>
|
||||
<el-table-column prop="finishproduce_qty" label="完工数量"/>
|
||||
<el-table-column prop="order_seq" label="顺序号"/>
|
||||
<el-table-column prop="formula" label="配方"/>
|
||||
<el-table-column prop="pcsn" label="批次"/>
|
||||
<el-table-column v-if="false" prop="material_code" label="物料编码"/>
|
||||
<el-table-column prop="material_name" label="物料名字"/>
|
||||
<el-table-column prop="start_time" label="开始生产时间"/>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudProduceTask from '@/views/wms/produceScreen/produceScreen'
|
||||
import crud from '@/mixins/crud'
|
||||
|
||||
export default {
|
||||
name: 'ProduceScreen',
|
||||
mixins: [crud],
|
||||
data() {
|
||||
return {
|
||||
currentDate: new Date(),
|
||||
getTime: '',
|
||||
getDate: '',
|
||||
deviceList: [],
|
||||
choice: '',
|
||||
ProduceStatusList: [],
|
||||
materialList: [],
|
||||
tableData: [],
|
||||
id: null
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.id = this.$route.params.id
|
||||
crudProduceTask.getDevice().then(res => {
|
||||
this.deviceList = res
|
||||
})
|
||||
crudProduceTask.getProduceStatus().then(res => {
|
||||
this.ProduceStatusList = res
|
||||
})
|
||||
crudProduceTask.getMaterial().then(res => {
|
||||
this.materialList = res
|
||||
})
|
||||
this.queryId()
|
||||
},
|
||||
mounted() {
|
||||
// 定时器
|
||||
const timer = setInterval(() => {
|
||||
this.settime()// 你所加载数据的方法
|
||||
}, 1000)
|
||||
// 销毁定时器
|
||||
this.$once('hook:beforeDestroy', () => {
|
||||
clearInterval(timer)
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
settime() {
|
||||
const _this = this
|
||||
const yy = new Date().getFullYear()
|
||||
const mm = new Date().getMonth() + 1
|
||||
const dd = new Date().getDate()
|
||||
const hh = new Date().getHours()
|
||||
const mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : new Date().getMinutes()
|
||||
const ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getSeconds()
|
||||
_this.getDate = yy + '年' + mm + '月' + dd + '日 ' + '星期' + '日一二三四五六'.charAt(new Date().getDay())
|
||||
_this.getTime = hh + ':' + mf + ':' + ss
|
||||
},
|
||||
queryTask(value) {
|
||||
crudProduceTask.queryTask(value).then(res => {
|
||||
this.tableData = res
|
||||
})
|
||||
},
|
||||
notify(title, type) {
|
||||
this.$notify({
|
||||
title: title,
|
||||
type: type,
|
||||
duration: 2500
|
||||
})
|
||||
},
|
||||
fresh() {
|
||||
this.queryId()
|
||||
this.notify('操作成功', 'success')
|
||||
},
|
||||
callMaterial() {
|
||||
if (this.$refs.table.selection.length === 0) {
|
||||
this.notify('请选中一条记录!', 'info')
|
||||
return
|
||||
}
|
||||
const data = this.$refs.table.selection[0]
|
||||
crudProduceTask.callMaterial(data).then(res => {
|
||||
this.notify('操作成功', 'success')
|
||||
this.queryId()
|
||||
}).cache(err => {
|
||||
console.log(err.response.data.message)
|
||||
})
|
||||
},
|
||||
finish() {
|
||||
debugger
|
||||
if (this.$refs.table.selection.length === 0) {
|
||||
this.notify('请选中一条记录!', 'info')
|
||||
return
|
||||
}
|
||||
// 判断是否有完工<加工,弹出提示
|
||||
for (const i in this.$refs.table.selection) {
|
||||
console.log(this.$refs.table.selection[i])
|
||||
if (this.$refs.table.selection[i].finishproduce_qty <= this.$refs.table.selection[i].produce_qty) {
|
||||
this.$confirm('完工数量小于加工数量,是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
const data = this.$refs.table.selection[0]
|
||||
crudProduceTask.finish(data).then(res => {
|
||||
this.notify('操作成功', 'success')
|
||||
this.queryId()
|
||||
}).cache(err => {
|
||||
console.log(err.response.data.message)
|
||||
})
|
||||
}).catch(() => {
|
||||
/*this.$message({
|
||||
type: 'info',
|
||||
message: '已取消'
|
||||
})*/
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
materialBack() {
|
||||
if (this.$refs.table.selection.length === 0) {
|
||||
this.notify('请选中一条记录!', 'info')
|
||||
return
|
||||
}
|
||||
const data = this.$refs.table.selection[0]
|
||||
crudProduceTask.materialBack(data).then(res => {
|
||||
this.notify('操作成功', 'success')
|
||||
this.queryId()
|
||||
}).cache(err => {
|
||||
console.log(err.response.data.message)
|
||||
})
|
||||
},
|
||||
emptyVehicleBack() {
|
||||
const data = {
|
||||
id: this.id
|
||||
}
|
||||
debugger
|
||||
crudProduceTask.emptyVehicleBack(data).then(res => {
|
||||
this.notify('操作成功', 'success')
|
||||
this.queryId()
|
||||
}).cache(err => {
|
||||
console.log(err.response.data.message)
|
||||
})
|
||||
},
|
||||
formatStatusName(row, column) {
|
||||
for (const item of this.ProduceStatusList) {
|
||||
if (item.code === row.produce_status) {
|
||||
return item.name
|
||||
}
|
||||
}
|
||||
},
|
||||
changeFun(val) {
|
||||
this.choice = val[0]
|
||||
if (val.length > 1) {
|
||||
return this.$message.error('请选择一条信息操作')
|
||||
}
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val
|
||||
if (val.length > 1) {
|
||||
this.$refs.table.clearSelection()
|
||||
this.$refs.table.toggleRowSelection(val.pop())
|
||||
}
|
||||
},
|
||||
|
||||
queryId() {
|
||||
const id = this.$route.params.id
|
||||
crudProduceTask.queryIdDevice(id).then(res => {
|
||||
this.tableData = res
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
149
lms/nladmin-ui/src/views/wms/produceScreen/produceScreen.js
Normal file
149
lms/nladmin-ui/src/views/wms/produceScreen/produceScreen.js
Normal file
@@ -0,0 +1,149 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function add(data) {
|
||||
return request({
|
||||
url: 'api/produceTask/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function del(ids) {
|
||||
return request({
|
||||
url: 'api/produceTask/',
|
||||
method: 'delete',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
export function edit(data) {
|
||||
return request({
|
||||
url: 'api/produceTask',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getDevice() {
|
||||
return request({
|
||||
url: 'api/produceTask/getDevice',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function getMaterial() {
|
||||
return request({
|
||||
url: 'api/produceTask/getMaterial',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function getProduceStatus() {
|
||||
return request({
|
||||
url: 'api/produceTask/getProduceStatus',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function importExcel(id) {
|
||||
return request({
|
||||
url: 'api/produceTask/importExcel/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function queryTask(device_code) {
|
||||
debugger
|
||||
return request({
|
||||
url: 'api/produceTask/queryTask/' + device_code,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function querAllTask() {
|
||||
return request({
|
||||
url: 'api/produceTask/querAllTask',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function callMaterial(data) {
|
||||
return request({
|
||||
url: 'api/produceTask/callMaterial',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function finish(data) {
|
||||
return request({
|
||||
url: 'api/produceTask/finish',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function materialBack(data) {
|
||||
return request({
|
||||
url: 'api/produceTask/materialBack',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function emptyVehicleBack(data) {
|
||||
return request({
|
||||
url: 'api/produceTask/emptyVehicleBack',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function queryIdDevice(id) {
|
||||
return request({
|
||||
url: 'api/produceTask/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function popSeek(code) {
|
||||
return request({
|
||||
url: 'api/produceTask/popSeek/' + code,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function queryOne() {
|
||||
return request({
|
||||
url: 'api/produceTask/queryOne',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
export function saveOrder(data) {
|
||||
return request({
|
||||
url: 'api/produceTask/saveOrder',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function forceFinish(data) {
|
||||
return request({
|
||||
url: 'api/produceTask/forceFinish',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
export function queryIvtByPscn(data) {
|
||||
return request({
|
||||
url: 'api/produceTask/queryIvtByPscn',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
add, edit, del, getDevice, getMaterial,
|
||||
getProduceStatus, importExcel, queryTask, querAllTask,
|
||||
callMaterial, finish, queryIdDevice, popSeek, queryOne, saveOrder, forceFinish, materialBack, queryIvtByPscn, emptyVehicleBack
|
||||
}
|
||||
Reference in New Issue
Block a user