虚拟大屏数据

This commit is contained in:
2023-01-13 13:57:51 +08:00
parent 22ff161288
commit 6561dd7309
24 changed files with 3241 additions and 296 deletions

View File

@@ -0,0 +1,299 @@
<template>
<el-dialog
title="修改设备详情"
append-to-body
fullscreen
:visible.sync="dialogVisible"
@open="open"
@close="close"
>
<el-row :gutter="20">
<el-col :span="18" style="border: 1px solid white">
<span/>
</el-col>
<el-col :span="6" style="margin-bottom: 20px">
<span style="float: right">
<el-button icon="el-icon-close" size="mini" type="info" @click="dialogVisible = false"> </el-button>
<el-button icon="el-icon-check" size="mini" type="primary" @click="saveCheck">保存</el-button>
</span>
</el-col>
</el-row>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<!-- <div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">-->
<!-- <span class="role-span">设备实时状态</span>-->
<!-- </div>-->
<!-- <el-form-->
<!-- ref="form"-->
<!-- :inline="true"-->
<!-- :model="addForm"-->
<!-- size="mini"-->
<!-- style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"-->
<!-- >-->
<!-- <el-form-item label="正常运行">-->
<!-- <el-input v-model="addForm.device1" style="width: 150px;"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="暂未生产">-->
<!-- <el-input v-model="addForm.device2" style="width: 150px;"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="空闲设备">-->
<!-- <el-input v-model="addForm.device3" style="width: 150px;"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="故障设备">-->
<!-- <el-input v-model="addForm.device4" style="width: 150px;"/>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">
<span class="role-span">设备TOP10故障次数</span>
</div>
<el-form
ref="form"
:inline="true"
:model="errorForm"
size="mini"
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
>
<el-form-item label="TOP1">
<el-input v-model="errorForm.top1.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top1.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP2">
<el-input v-model="errorForm.top2.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top2.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP3">
<el-input v-model="errorForm.top3.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top3.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP4">
<el-input v-model="errorForm.top4.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top4.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP5">
<el-input v-model="errorForm.top5.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top5.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP6">
<el-input v-model="errorForm.top6.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top6.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP7">
<el-input v-model="errorForm.top7.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top7.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP8">
<el-input v-model="errorForm.top8.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top8.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP9">
<el-input v-model="errorForm.top9.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top9.err_num" style="width: 130px;"/>
</el-form-item>
<el-form-item label="TOP10">
<el-input v-model="errorForm.top10.device_name" style="width: 130px;"/>
<el-input v-model="errorForm.top10.err_num" style="width: 130px;"/>
</el-form-item>
</el-form>
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">
<span class="role-span">设备综合统计</span>
</div>
<el-form
ref="form"
:inline="true"
:model="deviceNumForm"
size="mini"
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
>
<el-form-item label="旋压下料(运行/暂未生产/空闲/故障)">
<el-input v-model="deviceNumForm.xydevice1" style="width: 70px;"/>
<el-input v-model="deviceNumForm.xydevice2" style="width: 70px;"/>
<el-input v-model="deviceNumForm.xydevice3" style="width: 70px;"/>
<el-input v-model="deviceNumForm.xydevice4" style="width: 70px;"/>
</el-form-item>
<el-form-item label="三通拉伸">
<el-input v-model="deviceNumForm.stdevice1" style="width: 70px;"/>
<el-input v-model="deviceNumForm.stdevice2" style="width: 70px;"/>
<el-input v-model="deviceNumForm.stdevice3" style="width: 70px;"/>
<el-input v-model="deviceNumForm.stdevice4" style="width: 70px;"/>
</el-form-item>
<el-form-item label="镗孔">
<el-input v-model="deviceNumForm.tkdevice1" style="width: 70px;"/>
<el-input v-model="deviceNumForm.tkdevice2" style="width: 70px;"/>
<el-input v-model="deviceNumForm.tkdevice3" style="width: 70px;"/>
<el-input v-model="deviceNumForm.tkdevice4" style="width: 70px;"/>
</el-form-item>
<el-form-item label="推弯一体(运行/暂未生产/空闲/故障)">
<el-input v-model="deviceNumForm.twdevice1" style="width: 70px;"/>
<el-input v-model="deviceNumForm.twdevice2" style="width: 70px;"/>
<el-input v-model="deviceNumForm.twdevice3" style="width: 70px;"/>
<el-input v-model="deviceNumForm.twdevice4" style="width: 70px;"/>
</el-form-item>
<el-form-item label="刻字设备">
<el-input v-model="deviceNumForm.kzdevice1" style="width: 70px;"/>
<el-input v-model="deviceNumForm.kzdevice2" style="width: 70px;"/>
<el-input v-model="deviceNumForm.kzdevice3" style="width: 70px;"/>
<el-input v-model="deviceNumForm.kzdevice4" style="width: 70px;"/>
</el-form-item>
<el-form-item label="包装">
<el-input v-model="deviceNumForm.bzdevice1" style="width: 70px;"/>
<el-input v-model="deviceNumForm.bzdevice2" style="width: 70px;"/>
<el-input v-model="deviceNumForm.bzdevice3" style="width: 70px;"/>
<el-input v-model="deviceNumForm.bzdevice4" style="width: 70px;"/>
</el-form-item>
</el-form>
</div>
</div>
</el-dialog>
</template>
<script>
import crudBigScreen from '@/api/wms/bigScreen/bigScreen'
import CRUD from '@crud/crud'
export default {
name: 'DeviceInfoDialog',
components: {},
mixins: [],
props: {
dialogShow: {
type: Boolean,
default: false
},
openParam: {
type: Object
}
},
data() {
return {
dialogVisible: false,
nowindex: '',
nowrow: null,
dtlShow: false,
materShow: false,
addForm: {
device1: '',
device2: '',
device3: '',
device4: ''
},
errorForm: {
top1: {
device_name: '推弯06',
err_num: ''
},
top2: {
device_name: '推弯22',
err_num: ''
},
top3: {
device_name: '推弯30',
err_num: ''
},
top4: {
device_name: '三通拉伸02',
err_num: ''
},
top5: {
device_name: '旋压06',
err_num: ''
},
top6: {
device_name: '旋压08',
err_num: ''
},
top7: {
device_name: '镗孔02',
err_num: ''
},
top8: {
device_name: '镗孔05',
err_num: ''
},
top9: {
device_name: '推弯08',
err_num: ''
},
top10: {
device_name: '包装02',
err_num: ''
}
},
deviceNumForm: {
xydevice1: '',
xydevice2: '',
xydevice3: '',
xydevice4: '',
stdevice1: '',
stdevice2: '',
stdevice3: '',
stdevice4: '',
tkdevice1: '',
tkdevice2: '',
tkdevice3: '',
tkdevice4: '',
twdevice1: '',
twdevice2: '',
twdevice3: '',
twdevice4: '',
kzdevice1: '',
kzdevice2: '',
kzdevice3: '',
kzdevice4: '',
bzdevice1: '',
bzdevice2: '',
bzdevice3: '',
bzdevice4: ''
},
rules: {}
}
},
watch: {
dialogShow: {
handler(newValue) {
this.dialogVisible = newValue
}
}
},
methods: {
open() {
},
close() {
},
setForm() {
this.dialogVisible = true
},
saveCheck() {
const requestParam = {
oneInfo: this.addForm,
twoInfo: this.errorForm,
threeInfo: this.deviceNumForm
}
crudBigScreen.edit_device(requestParam).then(res => {
this.dialogVisible = false
this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
}
}
}
</script>
<style>
.crud-opts2 {
padding: 0 0;
display: -webkit-flex;
display: flex;
align-items: center;
}
.crud-opts2 .crud-opts-right2 {
margin-left: auto;
padding: 4px 4px;
}
.input-with-select {
background-color: #fff;
}
</style>

View File

@@ -0,0 +1,603 @@
<template>
<el-dialog
title="修改工单详情"
append-to-body
fullscreen
:visible.sync="dialogVisible"
@open="open"
@close="close"
>
<el-row :gutter="20">
<el-col :span="18" style="border: 1px solid white">
<span/>
</el-col>
<el-col :span="6" style="margin-bottom: 20px">
<span style="float: right">
<el-button icon="el-icon-close" size="mini" type="info" @click="dialogVisible = false"> </el-button>
<el-button icon="el-icon-check" size="mini" type="primary" @click="saveCheck">保存</el-button>
</span>
</el-col>
</el-row>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">
<span class="role-span">增加个数</span>
</div>
<el-form
ref="form"
:inline="true"
:model="addForm"
size="mini"
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
>
<el-form-item label="(日计划)弯头">
<el-input v-model="addForm.addW" style="width: 150px;"/>
</el-form-item>
<el-form-item label="综合">
<el-input v-model="addForm.addZ" style="width: 150px;"/>
</el-form-item>
<el-form-item label="成品">
<el-input v-model="addForm.addC" style="width: 150px;"/>
</el-form-item>
<el-form-item label="(今日TOP10)">
<el-input v-model="addForm.addT" style="width: 150px;"/>
</el-form-item>
<el-form-item label="(今日工单)">
<el-input v-model="addForm.addG" style="width: 150px;"/>
</el-form-item>
</el-form>
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">
<span class="role-span">日计划/月计划达成</span>
</div>
<el-form
ref="form"
:inline="true"
:model="form"
size="mini"
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
>
<el-form-item label="(日计划)弯头-计划/完成">
<el-input v-model="form.dayPlan1" style="width: 150px;"/>
<el-input v-model="form.dayFinish1" style="width: 150px;"/>
</el-form-item>
<el-form-item label="综合-计划/完成">
<el-input v-model="form.dayPlan2" style="width: 150px;"/>
<el-input v-model="form.dayFinish2" style="width: 150px;"/>
</el-form-item>
<el-form-item label="成品-计划/完成">
<el-input v-model="form.dayPlan3" style="width: 150px;"/>
<el-input v-model="form.dayFinish3" style="width: 150px;"/>
</el-form-item>
<el-form-item label="(月计划)弯头-计划/完成">
<el-input v-model="form.monPlan1" style="width: 150px;"/>
<el-input v-model="form.monFinish1" style="width: 150px;"/>
</el-form-item>
<el-form-item label="综合-计划/完成">
<el-input v-model="form.monPlan2" style="width: 150px;"/>
<el-input v-model="form.monFinish2" style="width: 150px;"/>
</el-form-item>
<el-form-item label="成品-计划/完成">
<el-input v-model="form.monPlan3" style="width: 150px;"/>
<el-input v-model="form.monFinish3" style="width: 150px;"/>
</el-form-item>
</el-form>
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">
<span class="role-span">近一周工段产量</span>
</div>
<el-form
ref="form"
:inline="true"
:model="form"
size="mini"
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
>
<el-form-item label="第六天(弯头/综合/成品)">
<el-input v-model="form.elbow_qty6" style="width: 150px;"/>
<el-input v-model="form.comprehensive_qty6" style="width: 150px;"/>
<el-input v-model="form.end_product_qty6" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第五天">
<el-input v-model="form.elbow_qty5" style="width: 150px;"/>
<el-input v-model="form.comprehensive_qty5" style="width: 150px;"/>
<el-input v-model="form.end_product_qty5" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第四天(弯头/综合/成品)">
<el-input v-model="form.elbow_qty4" style="width: 150px;"/>
<el-input v-model="form.comprehensive_qty4" style="width: 150px;"/>
<el-input v-model="form.end_product_qty4" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第三天">
<el-input v-model="form.elbow_qty3" style="width: 150px;"/>
<el-input v-model="form.comprehensive_qty3" style="width: 150px;"/>
<el-input v-model="form.end_product_qty3" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第二天(弯头/综合/成品)">
<el-input v-model="form.elbow_qty2" style="width: 150px;"/>
<el-input v-model="form.comprehensive_qty2" style="width: 150px;"/>
<el-input v-model="form.end_product_qty2" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第一天">
<el-input v-model="form.elbow_qty1" style="width: 150px;"/>
<el-input v-model="form.comprehensive_qty1" style="width: 150px;"/>
<el-input v-model="form.end_product_qty1" style="width: 150px;"/>
</el-form-item>
</el-form>
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">
<span class="role-span">近30天产量走势</span>
</div>
<el-form
ref="form"
:inline="true"
:model="form30"
size="mini"
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
>
<el-form-item label="第29天">
<el-input v-model="form30.day29" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第28天">
<el-input v-model="form30.day28" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第27天">
<el-input v-model="form30.day27" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第26天">
<el-input v-model="form30.day26" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第25天">
<el-input v-model="form30.day25" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第24天">
<el-input v-model="form30.day24" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第23天">
<el-input v-model="form30.day23" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第22天">
<el-input v-model="form30.day22" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第21天">
<el-input v-model="form30.day21" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第20天">
<el-input v-model="form30.day20" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第19天">
<el-input v-model="form30.day19" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第18天">
<el-input v-model="form30.day18" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第17天">
<el-input v-model="form30.day17" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第16天">
<el-input v-model="form30.day16" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第15天">
<el-input v-model="form30.day15" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第14天">
<el-input v-model="form30.day14" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第13天">
<el-input v-model="form30.day13" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第12天">
<el-input v-model="form30.day12" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第11天">
<el-input v-model="form30.day11" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第10天">
<el-input v-model="form30.day10" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第09天">
<el-input v-model="form30.day09" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第08天">
<el-input v-model="form30.day08" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第07天">
<el-input v-model="form30.day07" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第06天">
<el-input v-model="form30.day06" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第05天">
<el-input v-model="form30.day05" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第04天">
<el-input v-model="form30.day04" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第03天">
<el-input v-model="form30.day03" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第02天">
<el-input v-model="form30.day02" style="width: 150px;"/>
</el-form-item>
<el-form-item label="第01天">
<el-input v-model="form30.day01" style="width: 150px;"/>
</el-form-item>
</el-form>
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">
<span class="role-span">今日TOP10</span>
</div>
<el-form
ref="form"
:inline="true"
:model="topForm"
size="mini"
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
>
<el-form-item label="TOP01(物料编码/规格/生产数量)">
<el-input v-model="topForm.top1.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top1.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top1.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP02">
<el-input v-model="topForm.top2.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top2.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top2.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP03">
<el-input v-model="topForm.top3.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top3.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top3.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP04(物料编码/规格/生产数量)">
<el-input v-model="topForm.top4.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top4.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top4.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP05">
<el-input v-model="topForm.top5.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top5.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top5.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP06">
<el-input v-model="topForm.top6.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top6.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top6.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP07(物料编码/规格/生产数量)">
<el-input v-model="topForm.top7.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top7.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top7.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP08">
<el-input v-model="topForm.top8.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top8.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top8.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP09">
<el-input v-model="topForm.top9.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top9.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top9.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="TOP10(物料编码/规格/生产数量)">
<el-input v-model="topForm.top10.material_code" style="width: 100px;"/>
<el-input v-model="topForm.top10.material_spec" style="width: 100px;"/>
<el-input v-model="topForm.top10.material_num" style="width: 150px;"/>
</el-form-item>
</el-form>
<div class="crud-opts2" style="margin-top: 30px;margin-bottom: 12px">
<span class="role-span">近30天生产订单分布</span>
</div>
<el-form
ref="form"
:inline="true"
:model="top30Form"
size="mini"
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
>
<el-form-item label="Day30TOP01(物料编码/规格/生产数量)">
<el-input v-model="top30Form.top1.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top1.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top1.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP02">
<el-input v-model="top30Form.top2.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top2.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top2.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP03(物料编码/规格/生产数量)">
<el-input v-model="top30Form.top3.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top3.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top3.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP04">
<el-input v-model="top30Form.top4.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top4.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top4.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP05(物料编码/规格/生产数量)">
<el-input v-model="top30Form.top5.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top5.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top5.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP06">
<el-input v-model="top30Form.top6.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top6.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top6.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP07(物料编码/规格/生产数量)">
<el-input v-model="top30Form.top7.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top7.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top7.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP08">
<el-input v-model="top30Form.top8.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top8.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top8.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP09(物料编码/规格/生产数量)">
<el-input v-model="top30Form.top9.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top9.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top9.material_num" style="width: 150px;"/>
</el-form-item>
<el-form-item label="Day30TOP10">
<el-input v-model="top30Form.top10.material_code" style="width: 100px;"/>
<el-input v-model="top30Form.top10.material_spec" style="width: 100px;"/>
<el-input v-model="top30Form.top10.material_num" style="width: 150px;"/>
</el-form-item>
</el-form>
</div>
</div>
</el-dialog>
</template>
<script>
import crudBigScreen from '@/api/wms/bigScreen/bigScreen'
import CRUD from '@crud/crud'
export default {
name: 'OrderInfoDialog',
components: {},
mixins: [],
props: {
dialogShow: {
type: Boolean,
default: false
},
openParam: {
type: Object
}
},
data() {
return {
dialogVisible: false,
nowindex: '',
nowrow: null,
dtlShow: false,
materShow: false,
addForm: {
addW: '',
addZ: '',
addC: '',
addT: '',
addG: ''
},
form: {
dayPlan1: '',
dayPlan2: '',
dayPlan3: '',
monPlan1: '',
monPlan2: '',
monPlan3: '',
dayFinish1: '',
dayFinish2: '',
dayFinish3: '',
monFinish1: '',
monFinish2: '',
monFinish3: '',
elbow_qty6: '234926',
comprehensive_qty6: '128310',
end_product_qty6: '',
elbow_qty5: '232897',
comprehensive_qty5: '119762',
end_product_qty5: '',
elbow_qty4: '211615',
comprehensive_qty4: '120695',
end_product_qty4: '',
elbow_qty3: '176293',
comprehensive_qty3: '50140',
end_product_qty3: '',
elbow_qty2: '204330',
comprehensive_qty2: '120695',
end_product_qty2: '',
elbow_qty1: '108744',
comprehensive_qty1: '63820',
end_product_qty1: ''
},
form30: {
day29: '332310',
day28: '226433',
day27: '328211',
day26: '172564',
day25: '381510',
day24: '286139',
day23: '305911',
day22: '239441',
day21: '175895',
day20: '24521',
day19: '226481',
day18: '295113',
day17: '274552',
day16: '335448',
day15: '264827',
day14: '306503',
day13: '171796',
day12: '372710',
day11: '317785',
day10: '109440',
day09: '329013',
day08: '282580',
day07: '278370',
day06: '85821',
day05: '293870',
day04: '305054',
day03: '268758',
day02: '235350',
day01: '216794'
},
top30Form: {
top1: {
material_code: '24018345S',
material_spec: 'L15-TW',
material_num: ''
},
top2: {
material_code: '24018346S',
material_spec: 'L22-TW',
material_num: ''
},
top3: {
material_code: '24018866S',
material_spec: 'L22-BZ',
material_num: ''
},
top4: {
material_code: '24018862S',
material_spec: 'L15-BZ',
material_num: ''
},
top5: {
material_code: '24030830S',
material_spec: 'L5/8-TW',
material_num: ''
},
top6: {
material_code: '24030831S',
material_spec: 'L7/8-TW',
material_num: ''
},
top7: {
material_code: '24012146S',
material_spec: 'L15-JJ',
material_num: ''
},
top8: {
material_code: '24012147S',
material_spec: 'L22-JJ',
material_num: ''
},
top9: {
material_code: '24030832S',
material_spec: 'L5/8墨西哥',
material_num: ''
},
top10: {
material_code: '24030833S',
material_spec: 'L7/8墨西哥',
material_num: ''
}
},
topForm: {
top1: {
material_code: '24018345S',
material_spec: 'L15-TW',
material_num: ''
},
top2: {
material_code: '24018346S',
material_spec: 'L22-TW',
material_num: ''
},
top3: {
material_code: '24018866S',
material_spec: 'L22-BZ',
material_num: ''
},
top4: {
material_code: '24018862S',
material_spec: 'L15-BZ',
material_num: ''
},
top5: {
material_code: '24030830S',
material_spec: 'L5/8-TW',
material_num: ''
},
top6: {
material_code: '24030831S',
material_spec: 'L7/8-TW',
material_num: ''
},
top7: {
material_code: '24012146S',
material_spec: 'L15-JJ',
material_num: ''
},
top8: {
material_code: '24012147S',
material_spec: 'L22-JJ',
material_num: ''
},
top9: {
material_code: '24030832S',
material_spec: 'L5/8墨西哥',
material_num: ''
},
top10: {
material_code: '24030833S',
material_spec: 'L7/8墨西哥',
material_num: ''
}
},
rules: {}
}
},
watch: {
dialogShow: {
handler(newValue) {
this.dialogVisible = newValue
}
}
},
methods: {
open() {
},
close() {
},
setForm() {
this.dialogVisible = true
},
saveCheck() {
const requestParam = {
oneInfo: this.addForm,
twoInfo: this.form,
threeInfo: this.form30,
fourInfo: this.topForm,
fiveInfo: this.top30Form
}
crudBigScreen.edit_order(requestParam).then(res => {
this.dialogVisible = false
this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
}
}
}
</script>
<style>
.crud-opts2 {
padding: 0 0;
display: -webkit-flex;
display: flex;
align-items: center;
}
.crud-opts2 .crud-opts-right2 {
margin-left: auto;
padding: 4px 4px;
}
.input-with-select {
background-color: #fff;
}
</style>

View File

@@ -0,0 +1,116 @@
<template>
<el-dialog
title="导入虚拟工单"
append-to-body
:visible.sync="dialogVisible"
destroy-on-close
width="400px"
:show-close="true"
@close="close"
@open="open"
>
<el-upload
ref="upload"
class="upload-demo"
action=""
drag
:on-exceed="is_one"
:limit="1"
:auto-upload="false"
:multiple="false"
:show-file-list="true"
:on-change="uploadByJsqd"
:file-list="fileList"
accept=".xlsx,.xls"
>
<i class="el-icon-upload" />
<div class="el-upload__text">
将文件拖到此处
<em>点击上传</em>
</div>
<div slot="tip" class="el-upload__tip">只能上传Excel文件且不超过10MB</div>
</el-upload>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</el-dialog>
</template>
<script>
import crudBigScreen from '@/api/wms/bigScreen/bigScreen'
import CRUD, { crud } from '@crud/crud'
export default {
name: 'UploadDialog1',
mixins: [crud()],
components: {},
props: {
dialogShow: {
type: Boolean,
default: false
},
openParam: {
type: String
}
},
data() {
return {
dialogVisible: false,
fileList: [],
file1: ''
}
},
watch: {
dialogShow: {
handler(newValue, oldValue) {
this.dialogVisible = newValue
}
},
openParam: {
handler(newValue, oldValue) {
this.opendtlParam = newValue
}
}
},
methods: {
open() {
},
close() {
this.$emit('update:dialogShow', false)
},
is_one() {
this.crud.notify('只能上传一个excel文件', CRUD.NOTIFICATION_TYPE.WARNING)
},
// 文件校验方法
beforeAvatarUpload(file) {
// 不能导入大小超过2Mb的文件
if (file.size > 10 * 1024 * 1024) {
return false
}
return true
},
// 文件发生改变就会触发的事件
uploadByJsqd(file) {
this.file1 = file
},
submit() {
if (this.beforeAvatarUpload(this.file1)) {
this.fileList.name = this.file1.name
this.fileList.url = ''
var formdata = new FormData()
formdata.append('file', this.file1.raw)
// excelImport请求接口 formdata传递参数
crudBigScreen.excelImport(formdata).then((res) => {
this.crud.notify('导入成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.$emit('tableChanged3', '')
this.$emit('update:dialogShow', false)
})
} else {
this.crud.notify('文件过大请上传小于10MB的文件〜', CRUD.NOTIFICATION_TYPE.WARNING)
}
}
}
}
</script>

View File

@@ -3,99 +3,112 @@
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="400px">
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="120px">
<el-form-item label="产品名称" prop="name_today">
<el-input v-model="form.name_today" style="width: 200px;" />
</el-form-item>
<el-form-item label="今日产量" prop="num_today">
<el-input v-model="form.num_today" style="width: 200px;" />
</el-form-item>
<el-form-item label="计划数量" prop="num_plan">
<el-input v-model="form.num_plan" style="width: 200px;" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column prop="num_today" label="今日产量" />
<el-table-column prop="name_today" label="今日产品名称" />
<el-table-column prop="num_plan" label="计划数量" />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<crudOperation :permission="permission"/>
<el-button
slot="right"
class="filter-item"
type="info"
icon="el-icon-position"
size="mini"
@click="switch_on_off(1)"
>
切换虚拟
</el-button>
<el-button
slot="right"
class="filter-item"
type="info"
icon="el-icon-position"
size="mini"
@click="switch_on_off(0)"
>
切换真实
</el-button>
<el-button
slot="right"
class="filter-item"
type="info"
icon="el-icon-position"
size="mini"
@click="edit_order()"
>
编辑工单页面
</el-button>
<el-button
slot="right"
class="filter-item"
type="info"
icon="el-icon-position"
size="mini"
@click="edit_device()"
>
编辑设备页面
</el-button>
<el-button
slot="right"
class="filter-item"
type="warning"
icon="el-icon-upload2"
size="mini"
@click="uploadShow = true"
>
导入虚拟工单
</el-button>
<!--分页组件-->
</div>
<OrderInfoDialog ref="orderInfo"/>
<DeviceInfoDialog ref="deviceInfo"/>
<UploadDialog1 :dialog-show.sync="uploadShow"/>
</div>
</template>
<script>
import crudBigScreen from '@/api/wms/bigScreen/bigScreen'
import CRUD, {crud, form, header, presenter} from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import OrderInfoDialog from '@/views/wms/bigScreen/todayAndPlanNum/OrderInfoDialog'
import DeviceInfoDialog from '@/views/wms/bigScreen/todayAndPlanNum/DeviceInfoDialog'
import UploadDialog1 from '@/views/wms/bigScreen/todayAndPlanNum/UploadDialog1'
const defaultForm = { addType: 'todayAndPlanNum', pro_id: null, num_today: null, name_today: null, num_plan: null }
export default {
name: 'Todayandplannum',
components: { crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
components: { crudOperation, OrderInfoDialog, UploadDialog1, DeviceInfoDialog },
mixins: [presenter(), header(), form(), crud()],
cruds() {
return CRUD({
title: '今日产量和计划产量',
url: 'api/bigScreenScreen/queryInfo',
idField: 'pro_id',
sort: 'pro_id,desc',
title: '虚拟大屏数据',
crudMethod: { ...crudBigScreen },
query: {
queryType: 'todayAndPlanNum'
},
optShow: {
add: true,
add: false,
edit: false,
del: false,
download: false,
reset: false
}})
}
})
},
data() {
return {
permission: {
},
rules: {
pro_id: [
{ required: true, message: '标识不能为空', trigger: 'blur' }
],
num_today: [
{ required: true, message: '今日产量不能为空', trigger: 'blur' }
],
name_today: [
{ required: true, message: '今日产品名称不能为空', trigger: 'blur' }
],
num_plan: [
{ required: true, message: '计划数量不能为空', trigger: 'blur' }
]
}
permission: {},
uploadShow: false,
rules: {}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
edit_order() {
this.$refs.orderInfo.setForm()
},
edit_device() {
this.$refs.deviceInfo.setForm()
},
switch_on_off(type) {
crudBigScreen.switch_on_off({ type: type }).then(res => {
this.crud.notify('切换成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
}
}
}