123
This commit is contained in:
@@ -15,20 +15,14 @@
|
||||
<v-tabs-window v-model="tab">
|
||||
<v-tabs-window-item value="工序报工">
|
||||
<el-card v-if="formData.workorder" class="mt-4">
|
||||
<v-text-field type="number" :label="processId === 10 ? '报工数' : '完成数'"
|
||||
v-model="formData.finishNum"></v-text-field>
|
||||
<v-text-field type="number" label="不良数"
|
||||
v-model="formData.badNum"></v-text-field>
|
||||
<v-text-field v-if="processId === 10" label="炉号"
|
||||
v-model="formData.stoveCode"></v-text-field>
|
||||
<v-text-field v-if="processId === 10" label="进料单"
|
||||
v-model="formData.feedOrder"></v-text-field>
|
||||
<v-text-field v-if="processId === 90" label="客户定单"
|
||||
v-model="formData.customerOrder"></v-text-field>
|
||||
<v-text-field type="number" :label="processId === 10 ? '报工数' : '完成数'" v-model="formData.finishNum"></v-text-field>
|
||||
<v-text-field type="number" label="不良数" v-model="formData.badNum"></v-text-field>
|
||||
<v-text-field v-if="processId === 10" label="炉号" v-model="formData.stoveCode"></v-text-field>
|
||||
<v-text-field v-if="processId === 10" label="进料单" v-model="formData.feedOrder"></v-text-field>
|
||||
<v-text-field v-if="processId === 90" label="客户定单" v-model="formData.customerOrder"></v-text-field>
|
||||
<v-text-field label="作业员" v-model="formData.worker"></v-text-field>
|
||||
<div class="d-flex justify-end">
|
||||
<v-btn class="bg-blue-darken-1" @click="submit">{{ getButtonName()
|
||||
}}</v-btn>
|
||||
<v-btn class="bg-blue-darken-1" @click="submit">{{ getButtonName() }}</v-btn>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-row v-if="processId === 70 && formData.workorder" :gutter="5">
|
||||
@@ -39,13 +33,14 @@
|
||||
</div>
|
||||
<el-row>
|
||||
<el-col :span="2" v-for="(item, index) in value" :key="index">
|
||||
<div class="click-box" @mousedown="handleStart($event, item)"
|
||||
<div
|
||||
class="click-box"
|
||||
@mousedown="handleStart($event, item)"
|
||||
@mouseup="handleEnd(item)"
|
||||
@touchstart="handleStart($event, item)"
|
||||
@touchend="handleEnd(item)">
|
||||
<span class="click-title">{{ item.name }}</span>
|
||||
<span class="click-num">{{ getClickItemNum(item)
|
||||
}}</span>
|
||||
<span class="click-num">{{ getClickItemNum(item) }}</span>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -55,28 +50,23 @@
|
||||
</v-tabs-window-item>
|
||||
<v-tabs-window-item value="此工单工序记录">
|
||||
<el-card v-if="formData.workorder" class="mt-4">
|
||||
<TheWorkOrderProcessRecord :workorder="formData.workorder"
|
||||
:processId="processId">
|
||||
</TheWorkOrderProcessRecord>
|
||||
<TheWorkOrderProcessRecord :workorder="formData.workorder" :processId="processId"> </TheWorkOrderProcessRecord>
|
||||
</el-card>
|
||||
</v-tabs-window-item>
|
||||
<v-tabs-window-item value="此工序今日记录">
|
||||
<el-card class="mt-4">
|
||||
<TheDayAllProcessRecord :workorder="formData.workorder" :processId="processId">
|
||||
</TheDayAllProcessRecord>
|
||||
<TheDayAllProcessRecord :workorder="formData.workorder" :processId="processId"> </TheDayAllProcessRecord>
|
||||
</el-card>
|
||||
</v-tabs-window-item>
|
||||
<v-tabs-window-item value="员工报工记录">
|
||||
<el-card class="mt-4">
|
||||
<ThePersonReportRecord :workorder="formData.workorder" :processId="processId"
|
||||
@openMessage="showDialog">
|
||||
<ThePersonReportRecord :workorder="formData.workorder" :processId="processId" @openMessage="showDialog">
|
||||
</ThePersonReportRecord>
|
||||
</el-card>
|
||||
</v-tabs-window-item>
|
||||
<v-tabs-window-item value="工单查看">
|
||||
<el-card class="mt-4">
|
||||
<TheWorkOrderList :workorder="formData.workorder" :processId="processId"
|
||||
@chouseWorkorder="getFormData">
|
||||
<TheWorkOrderList :workorder="formData.workorder" :processId="processId" @chouseWorkorder="getFormData">
|
||||
</TheWorkOrderList>
|
||||
</el-card>
|
||||
</v-tabs-window-item>
|
||||
@@ -87,8 +77,7 @@
|
||||
</v-col>
|
||||
<v-col cols="4">
|
||||
<v-card color="blue-darken-4" class="right-content">
|
||||
<v-select variant="solo-filled" v-model="processId" label="工序选择" :items="processOptions">
|
||||
</v-select>
|
||||
<v-select variant="solo-filled" v-model="processId" label="工序选择" :items="processOptions"> </v-select>
|
||||
<scanInput @scanInput="handleScanInput"></scanInput>
|
||||
<v-fade-transition>
|
||||
<el-card v-if="formData.workorder" class="mt-4">
|
||||
@@ -137,16 +126,14 @@
|
||||
</v-row>
|
||||
<!-- 反馈框 -->
|
||||
<v-dialog v-model="dialog.show" width="auto">
|
||||
<v-card :class="dialog.class" min-width="400" :prepend-icon="dialog.icon" :text="dialog.text"
|
||||
:title="dialog.title">
|
||||
<v-card :class="dialog.class" min-width="400" :prepend-icon="dialog.icon" :text="dialog.text" :title="dialog.title">
|
||||
<template v-slot:actions>
|
||||
<v-btn class="ms-auto" text="确认" @click="dialog.show = false"></v-btn>
|
||||
</template>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
<!-- 修改缺陷项 -->
|
||||
<el-dialog class="dialogBox" v-model.sync="updateDialogShow" title="缺陷项修改" width="400px" append-to-body
|
||||
:close-on-click-modal="false">
|
||||
<el-dialog class="dialogBox" v-model.sync="updateDialogShow" title="缺陷项修改" width="400px" append-to-body :close-on-click-modal="false">
|
||||
<el-form label-width="auto">
|
||||
<el-form-item label="工单号">
|
||||
<el-text class="number-text">{{ formData.workorder }}</el-text>
|
||||
@@ -161,7 +148,7 @@
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="updateDialogShow = false">取消</el-button>
|
||||
<button class="button-box" type="primary" @click="updateDefectNum"> 确认修改 </button>
|
||||
<button class="button-box" type="primary" @click="updateDefectNum">确认修改</button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@@ -169,7 +156,6 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
import * as ReportApi from '@/api/reportFlow/index'
|
||||
import * as FQCApi from '@/api/reportFlow/fqc'
|
||||
@@ -182,31 +168,31 @@ import TheWorkOrderList from './components/TheWorkOrderList.vue'
|
||||
const processOptions = [
|
||||
{
|
||||
value: 10,
|
||||
title: '物料领用',
|
||||
title: '物料领用'
|
||||
},
|
||||
{
|
||||
value: 20,
|
||||
title: '机械加工',
|
||||
title: '机械加工'
|
||||
},
|
||||
{
|
||||
value: 30,
|
||||
title: '中间检查',
|
||||
title: '中间检查'
|
||||
},
|
||||
{
|
||||
value: 40,
|
||||
title: '手工研磨',
|
||||
title: '手工研磨'
|
||||
},
|
||||
{
|
||||
value: 50,
|
||||
title: '机研磨',
|
||||
title: '机研磨'
|
||||
},
|
||||
{
|
||||
value: 60,
|
||||
title: '精研磨',
|
||||
title: '精研磨'
|
||||
},
|
||||
{
|
||||
value: 70,
|
||||
title: '入库检查',
|
||||
title: '入库检查'
|
||||
},
|
||||
// {
|
||||
// value: 80,
|
||||
@@ -214,8 +200,8 @@ const processOptions = [
|
||||
// },
|
||||
{
|
||||
value: 90,
|
||||
title: '出货',
|
||||
},
|
||||
title: '出货'
|
||||
}
|
||||
]
|
||||
const tab = ref('报工')
|
||||
const processId = ref(10)
|
||||
@@ -233,7 +219,6 @@ function getButtonName() {
|
||||
} else {
|
||||
return '确认报工'
|
||||
}
|
||||
|
||||
}
|
||||
const dialog = reactive({
|
||||
show: false,
|
||||
@@ -249,7 +234,7 @@ const formData = ref({
|
||||
instructionDate: '',
|
||||
workorderDate: '',
|
||||
planNum: 0,
|
||||
finishNum: 0,
|
||||
finishNum: 0
|
||||
// productionName: '产品名称',
|
||||
// productionCode: '产品编码',
|
||||
// unit: '单位',
|
||||
@@ -278,17 +263,17 @@ function handleScanInput(val) {
|
||||
|
||||
function getFormData(workorder) {
|
||||
const params = { workorder, processId: processId.value }
|
||||
ReportApi.GetWorkOrderDetail(params).then(res => {
|
||||
ReportApi.GetWorkOrderDetail(params).then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data) {
|
||||
formData.value = res.data
|
||||
GetProcessReportWorkDetail(workorder)
|
||||
ReportApi.GetWorkOrderReportWorkList(params).then(res => {
|
||||
ReportApi.GetWorkOrderReportWorkList(params).then((res) => {
|
||||
if (res.code == 200) {
|
||||
reportWorkerOrderList.value = res.data
|
||||
}
|
||||
})
|
||||
FQCApi.SearchDefectList({ WorkOrder: workorder }).then(res => {
|
||||
FQCApi.SearchDefectList({ WorkOrder: workorder }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
// 初始化数据
|
||||
clearGroupOptions()
|
||||
@@ -310,16 +295,15 @@ function getFormData(workorder) {
|
||||
// 获取此工序报工详情信息
|
||||
function GetProcessReportWorkDetail(workorder) {
|
||||
const params = { workorder, processId: processId.value }
|
||||
ReportApi.GetProcessReportWorkDetail(params).then(res => {
|
||||
ReportApi.GetProcessReportWorkDetail(params).then((res) => {
|
||||
if (!res.data) {
|
||||
formData.value.finishNum = formData.value.planNum ?? 20;
|
||||
formData.value.badNum = 0;
|
||||
formData.value.worker = '';
|
||||
}
|
||||
else {
|
||||
formData.value.finishNum = res.data.finishNum ?? 20;
|
||||
formData.value.badNum = res.data.badNum ?? 0;
|
||||
formData.value.worker = res.data.worker;
|
||||
formData.value.finishNum = formData.value.planNum ?? 20
|
||||
formData.value.badNum = 0
|
||||
formData.value.worker = ''
|
||||
} else {
|
||||
formData.value.finishNum = res.data.finishNum ?? 20
|
||||
formData.value.badNum = res.data.badNum ?? 0
|
||||
formData.value.worker = res.data.worker
|
||||
if (formData.value.finishNum > 0) {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-yellow'
|
||||
@@ -337,78 +321,63 @@ function processChange() {
|
||||
}
|
||||
|
||||
function submit() {
|
||||
proxy.$confirm('确定提交数据吗?').then(() => {
|
||||
let params = {
|
||||
workorder: formData.value.workorder,
|
||||
processId: processId.value,
|
||||
// 参数填写
|
||||
bad_num: formData.value.badNum,
|
||||
finish_num: formData.value.finishNum,
|
||||
feed_order: formData.value.feedOrder,
|
||||
stove_code: formData.value.stoveCode,
|
||||
customer_order: formData.value.customerOrder,
|
||||
process_operator: formData.value.worker
|
||||
};
|
||||
// 领料
|
||||
if (processId.value === 10) {
|
||||
ReportApi.FeedProcessReportwork(params).then(res => {
|
||||
if (res.code == 200) {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-green'
|
||||
dialog.title = '成功提示'
|
||||
dialog.text = '领料成功'
|
||||
}
|
||||
})
|
||||
}
|
||||
// 出货
|
||||
else if (processId.value === 90) {
|
||||
ReportApi.ShipmentProcessReportwork(params).then(res => {
|
||||
if (res.code == 200) {
|
||||
//console.log(res);
|
||||
|
||||
if(res.data=="成功")
|
||||
{
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-green'
|
||||
dialog.title = '成功提示'
|
||||
dialog.text = '出货成功'
|
||||
|
||||
}
|
||||
if(res.data=="采购订单号和工单号不匹配")
|
||||
{
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-amber'
|
||||
dialog.title = '失败提示'
|
||||
dialog.text = '采购订单号和工单号不匹配'
|
||||
|
||||
}
|
||||
if(res.data=="出货数量超额")
|
||||
{
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-amber'
|
||||
dialog.title = '失败提示'
|
||||
dialog.text = '出货数量超额'
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
proxy
|
||||
.$confirm('确定提交数据吗?')
|
||||
.then(() => {
|
||||
let params = {
|
||||
workorder: formData.value.workorder,
|
||||
processId: processId.value,
|
||||
// 参数填写
|
||||
bad_num: formData.value.badNum,
|
||||
finish_num: formData.value.finishNum,
|
||||
feed_order: formData.value.feedOrder,
|
||||
stove_code: formData.value.stoveCode,
|
||||
customer_order: formData.value.customerOrder,
|
||||
process_operator: formData.value.worker
|
||||
}
|
||||
)
|
||||
}
|
||||
// 报工
|
||||
else {
|
||||
ReportApi.ProcessReportWork(params).then(res => {
|
||||
if (res.code == 200) {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-green'
|
||||
dialog.title = '成功提示'
|
||||
dialog.text = '报工成功'
|
||||
}
|
||||
// 领料
|
||||
if (processId.value === 10) {
|
||||
ReportApi.FeedProcessReportwork(params).then((res) => {
|
||||
if (res.code == 200) {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-green'
|
||||
dialog.title = '成功提示'
|
||||
dialog.text = '领料成功'
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
}).catch(err => {
|
||||
})
|
||||
// 出货
|
||||
else if (processId.value === 90) {
|
||||
ReportApi.ShipmentProcessReportwork(params).then((res) => {
|
||||
if (res.code == 200) {
|
||||
//console.log(res);
|
||||
if (res.data == '成功') {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-green'
|
||||
dialog.title = '成功提示'
|
||||
dialog.text = '出货成功'
|
||||
} else {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-amber'
|
||||
dialog.title = '失败提示'
|
||||
dialog.text = res.data
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
// 报工
|
||||
else {
|
||||
ReportApi.ProcessReportWork(params).then((res) => {
|
||||
if (res.code == 200) {
|
||||
dialog.show = true
|
||||
dialog.class = 'bg-green'
|
||||
dialog.title = '成功提示'
|
||||
dialog.text = '报工成功'
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
.catch((err) => {})
|
||||
}
|
||||
|
||||
function showDialog(dialogJson = {}) {
|
||||
@@ -424,13 +393,13 @@ const checkName = ref('')
|
||||
const qualityLoading = ref(false)
|
||||
const qualityOptionsClear = ref([])
|
||||
const qualityOptions = ref([])
|
||||
function getDefectConfigData(qcType = "") {
|
||||
function getDefectConfigData(qcType = '') {
|
||||
qualityLoading.value = true
|
||||
const params = {
|
||||
status: 1,
|
||||
qcType
|
||||
}
|
||||
FQCApi.getDefectConfig(params).then(res => {
|
||||
FQCApi.getDefectConfig(params).then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data) {
|
||||
const _groupList = getGroupOptions(res.data)
|
||||
@@ -473,7 +442,7 @@ function setDefectNum(code, num) {
|
||||
return false // 可选返回false表示未找到
|
||||
}
|
||||
|
||||
getDefectConfigData("入库检查")
|
||||
getDefectConfigData('入库检查')
|
||||
/// ======================================================
|
||||
/// ====================== 按钮操作 =====================
|
||||
const isLongPress = ref(false)
|
||||
@@ -534,7 +503,7 @@ function clickQualityIte(item) {
|
||||
}
|
||||
})
|
||||
item.num = newNum
|
||||
formData.value.badNum = (formData.value.badNum * 1) + 1
|
||||
formData.value.badNum = formData.value.badNum * 1 + 1
|
||||
}
|
||||
// 长按弹出修改框
|
||||
const updateDialogShow = ref(false)
|
||||
@@ -621,7 +590,7 @@ function getClickItemNum(item) {
|
||||
|
||||
<style scoped>
|
||||
.label {
|
||||
color: #E6F4F1;
|
||||
color: #e6f4f1;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
@@ -679,7 +648,7 @@ function getClickItemNum(item) {
|
||||
border-radius: 5%;
|
||||
margin: 5px;
|
||||
height: 100px;
|
||||
background-color: #1B5E20;
|
||||
background-color: #1b5e20;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@@ -724,4 +693,4 @@ function getClickItemNum(item) {
|
||||
background: #0055ff;
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user