2026-08-28 15:06:01 +08:00
|
|
|
<template>
|
|
|
|
|
<el-card>
|
|
|
|
|
<el-form inline>
|
|
|
|
|
<el-form-item label="SN"><el-input v-model="query.sn" clearable style="width:170px" /></el-form-item>
|
|
|
|
|
<el-form-item label="工单号"><el-input v-model="query.workOrderNo" clearable style="width:170px" /></el-form-item>
|
|
|
|
|
<el-form-item><el-button type="primary" @click="load">查询</el-button></el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
|
<!-- 录入拧紧 -->
|
|
|
|
|
<el-collapse style="margin-bottom:12px">
|
|
|
|
|
<el-collapse-item title="扫码录入拧紧数据" name="1">
|
|
|
|
|
<el-form inline>
|
|
|
|
|
<el-form-item label="SN"><el-input v-model="torque.sn" style="width:150px" /></el-form-item>
|
|
|
|
|
<el-form-item label="工单号"><el-input v-model="torque.workOrderNo" style="width:150px" /></el-form-item>
|
|
|
|
|
<el-form-item label="工位"><el-input v-model="torque.stationNo" style="width:80px" /></el-form-item>
|
|
|
|
|
<el-form-item label="扭矩"><el-input-number v-model="torque.strain" :min="0" /></el-form-item>
|
|
|
|
|
<el-form-item label="角度"><el-input-number v-model="torque.angle" :min="0" /></el-form-item>
|
|
|
|
|
<el-form-item label="操作人"><el-input v-model="torque.operator" style="width:100px" /></el-form-item>
|
|
|
|
|
<el-form-item><el-button type="primary" @click="report">上报</el-button></el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</el-collapse-item>
|
|
|
|
|
</el-collapse>
|
|
|
|
|
|
|
|
|
|
<el-table :data="list" border size="small">
|
|
|
|
|
<el-table-column prop="sn" label="SN" min-width="130" />
|
|
|
|
|
<el-table-column prop="workOrderNo" label="工单号" min-width="130" />
|
|
|
|
|
<el-table-column prop="stationNo" label="工位" width="70" />
|
|
|
|
|
<el-table-column prop="torque" label="扭矩(N·m)" width="100" />
|
|
|
|
|
<el-table-column prop="angle" label="角度(°)" width="90" />
|
|
|
|
|
<el-table-column prop="result" label="结果" width="80">
|
|
|
|
|
<template #default="{row}"><el-tag :type="row.result==='OK'?'success':'danger'">{{ row.result }}</el-tag></template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="operator" label="操作人" width="90" />
|
|
|
|
|
<el-table-column prop="time" label="时间" min-width="170" />
|
|
|
|
|
</el-table>
|
|
|
|
|
</el-card>
|
2026-08-28 17:23:44 +08:00
|
|
|
<PageHelp :data="helpTorque" />
|
2026-08-28 15:06:01 +08:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
|
import { reactive, ref, onMounted } from 'vue'
|
|
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
|
|
import request from '../utils/request'
|
2026-08-28 17:23:44 +08:00
|
|
|
import PageHelp from '../components/PageHelp.vue'
|
|
|
|
|
import { helpTorque } from '../help'
|
2026-08-28 15:06:01 +08:00
|
|
|
|
|
|
|
|
const query = reactive({ sn: '', workOrderNo: '' })
|
|
|
|
|
const torque = reactive({ sn: '', workOrderNo: '', stationNo: '', strain: 20, angle: 90, operator: '' })
|
|
|
|
|
const list = ref([])
|
|
|
|
|
|
|
|
|
|
async function load() {
|
|
|
|
|
list.value = (await request.get('/torque/records', { params: query })) || []
|
|
|
|
|
}
|
|
|
|
|
async function report() {
|
|
|
|
|
if (!torque.sn) return ElMessage.warning('请输入SN')
|
|
|
|
|
await request.post('/torque/report', torque)
|
|
|
|
|
ElMessage.success('拧紧数据已上报')
|
|
|
|
|
Object.assign(torque, { sn: '', workOrderNo: '', strain: 20, angle: 90 })
|
|
|
|
|
load()
|
|
|
|
|
}
|
|
|
|
|
onMounted(load)
|
|
|
|
|
</script>
|