57 lines
2.6 KiB
Vue
57 lines
2.6 KiB
Vue
<template>
|
|||
|
|
<el-card>
|
||
|
|
<el-form inline>
|
||
|
|
<el-form-item label="SN"><el-input v-model="scan.sn" style="width:170px" /></el-form-item>
|
||
|
|
<el-form-item label="工单号"><el-input v-model="scan.orderNo" style="width:170px" /></el-form-item>
|
||
|
|
<el-form-item label="工位"><el-input v-model="scan.station" style="width:90px" /></el-form-item>
|
||
|
|
<el-form-item label="类型">
|
||
|
|
<el-select v-model="scan.type" style="width:130px">
|
||
|
|
<el-option label="进线ONLINE" value="ONLINE" />
|
||
|
|
<el-option label="工序PROCESS" value="PROCESS" />
|
||
|
|
<el-option label="完工DONE" value="DONE" />
|
||
|
|
<el-option label="暂存TEMP_STORE" value="TEMP_STORE" />
|
||
|
|
</el-select>
|
||
|
|
</el-form-item>
|
||
|
|
<el-form-item label="工序号"><el-input-number v-model="scan.processCode" :min="0" /></el-form-item>
|
||
|
|
<el-form-item><el-button type="primary" @click="report">扫码报工</el-button></el-form-item>
|
||
|
|
</el-form>
|
||
|
|
|
||
|
|
<el-divider content-position="left">报工记录</el-divider>
|
||
|
|
<el-form inline>
|
||
|
|
<el-form-item label="SN"><el-input v-model="query.sn" clearable style="width:160px" /></el-form-item>
|
||
|
|
<el-form-item label="工单号"><el-input v-model="query.orderNo" clearable style="width:160px" /></el-form-item>
|
||
|
|
<el-form-item><el-button @click="load">刷新</el-button></el-form-item>
|
||
|
|
</el-form>
|
||
|
|
<el-table :data="list" border size="small">
|
||
|
|
<el-table-column prop="sn" label="SN" min-width="130" />
|
||
|
|
<el-table-column prop="orderNo" label="工单号" min-width="130" />
|
||
|
|
<el-table-column prop="station" label="工位" width="80" />
|
||
|
|
<el-table-column prop="type" label="类型" width="110" />
|
||
|
|
<el-table-column prop="processCode" label="工序号" width="80" />
|
||
|
|
<el-table-column prop="operator" label="操作人" width="90" />
|
||
|
|
<el-table-column prop="time" label="时间" min-width="170" />
|
||
|
|
</el-table>
|
||
|
|
</el-card>
|
||
|
|
</template>
|
||
|
|
|
||
|
|
<script setup>
|
||
|
|
import { reactive, ref, onMounted } from 'vue'
|
||
|
|
import { ElMessage } from 'element-plus'
|
||
|
|
import request from '../utils/request'
|
||
|
|
|
||
|
|
const scan = reactive({ sn: '', orderNo: '', station: '', type: 'PROCESS', processCode: 0 })
|
||
|
|
const query = reactive({ sn: '', orderNo: '' })
|
||
|
|
const list = ref([])
|
||
|
|
|
||
|
|
async function report() {
|
||
|
|
if (!scan.sn) return ElMessage.warning('请输入SN')
|
||
|
|
await request.post('/scan/report', scan)
|
||
|
|
ElMessage.success('报工成功')
|
||
|
|
Object.assign(scan, { sn: '', station: '', processCode: 0 })
|
||
|
|
load()
|
||
|
|
}
|
||
|
|
async function load() {
|
||
|
|
list.value = (await request.get('/scan/records', { params: query })) || []
|
||
|
|
}
|
||
|
|
onMounted(load)
|
||
|
|
</script>
|