+
+
减少
增加
+
打印零头箱
@@ -95,18 +102,21 @@
import * as QcBackEndApi from '@/api/qualityManagement/BackEnd/qcBackEndService'
export default {
- name: 'GenerateLabelDialog',
+ // 修正组件名称
+ name: 'SpecialPrintDialog',
data() {
return {
+ // 加载状态
loading: false,
+ // 对话框显示状态
show: false,
-
+ // 增加对话框显示状态
addDialogVisible: false,
+ // 减少对话框显示状态
reduceDialogVisible: false,
+ // 变更数量
changeAmount: 1,
-
- packageNum: 0,
-
+ // 工单数据
formData: {
workOrder: '',
partNumber: '',
@@ -138,75 +148,104 @@ export default {
remainderBoxPrintCount: 0,
// 箱标签当前序号
currentBoxLabelSequence: 0,
+ // 当前零头数
+ packageNum: 0,
},
+ // 团队信息
team: '',
+ // 站点编号
siteNo: '',
}
},
computed: {
+ // 需求数量,当前固定返回 1
requireNumber() {
return 1
},
},
methods: {
+ /**
+ * 打开减少合格数对话框
+ */
openReduceDialog() {
this.reduceDialogVisible = true
this.changeAmount = 1
},
+ /**
+ * 打开增加合格数对话框
+ */
openAddDialog() {
this.addDialogVisible = true
this.changeAmount = 1
},
+ /**
+ * 确认减少合格数
+ */
confirmReduce() {
- if (this.changeAmount > 0 && this.changeAmount <= this.packageNum) {
- this.packageNum -= this.changeAmount
+ if (this.changeAmount > 0 && this.changeAmount <= this.printDetail.packageNum) {
+ this.printDetail.packageNum -= this.changeAmount
this.reduceDialogVisible = false
} else {
this.$message.error('请输入有效的减少数量')
}
},
+ /**
+ * 获取打印信息
+ */
async getPrintInfo() {
try {
const params = {
workOrder: this.formData.workOrder,
}
- let res = await QcBackEndApi.SearchWorkOrderLabelDetail(params)
- if (res.code === 200) {
- this.printDetail = res.data
+ const response = await QcBackEndApi.SearchWorkOrderLabelDetail(params)
+ if (response.code === 200) {
+ this.printDetail = response.data
}
- } catch (error) {}
+ } catch (error) {
+ console.error('获取打印信息失败:', error)
+ this.$message.error('获取打印信息失败,请重试')
+ }
},
+ /**
+ * 确认增加合格数
+ */
confirmAdd() {
if (this.changeAmount > 0) {
- this.packageNum += this.changeAmount
+ this.printDetail.packageNum += this.changeAmount
this.addDialogVisible = false
} else {
this.$message.error('请输入有效的增加数量')
}
},
+ /**
+ * 提交打印请求
+ * @param {number} specialPrintType - 特殊打印类型,1 为补打箱标签,2 为打印零头箱
+ */
async submit(specialPrintType = 1) {
try {
this.loading = true
const params = {
specialPrintType,
- packageNum: this.packageNum,
+ packageNum: this.printDetail.packageNum,
}
- let res = await QcBackEndApi.PrintSpecialPacakgeLabel(this.formData, params)
- if (res.code === 200 && res.data === 'ok') {
+ const response = await QcBackEndApi.PrintSpecialPacakgeLabel(this.formData, params)
+ if (response.code === 200 && response.data === 'ok') {
this.$message.success('打印成功')
- this.getPrintInfo()
+ await this.getPrintInfo()
} else {
- this.$message.error('打印异常:' + res.data)
+ this.$message.error(`打印异常: ${response.data}`)
}
-
- //this.emitSuccess()
- //this.close()
} catch (error) {
- this.$message.error('打印失败,请重试' + error)
+ console.error('打印失败:', error)
+ this.$message.error(`打印失败,请重试: ${error.message || error}`)
} finally {
this.loading = false
}
},
+ /**
+ * 打开特殊标签打印对话框
+ * @param {Object} data - 包含工单数据、团队信息和站点编号的对象
+ */
open(data) {
this.show = true
this.loading = false
@@ -215,12 +254,18 @@ export default {
this.siteNo = data.siteNo
this.getPrintInfo()
},
+ /**
+ * 关闭特殊标签打印对话框
+ */
close() {
this.show = false
this.resetFormData()
},
+ /**
+ * 重置表单数据
+ */
resetFormData() {
- this.packageNum = 0
+ this.printDetail.packageNum = 0
this.changeAmount = 1
this.formData = {
workOrder: '',
@@ -247,6 +292,7 @@ export default {
rePrintCount: 0,
remainderBoxPrintCount: 0,
currentBoxLabelSequence: 0,
+ packageNum: 0,
}
this.team = ''
this.siteNo = ''
diff --git a/src/views/qualityManagement/backend/touchScreen/workorder/components/WorkOrderCard.vue b/src/views/qualityManagement/backend/touchScreen/workorder/components/WorkOrderCard.vue
index c43fc62..9fa8788 100644
--- a/src/views/qualityManagement/backend/touchScreen/workorder/components/WorkOrderCard.vue
+++ b/src/views/qualityManagement/backend/touchScreen/workorder/components/WorkOrderCard.vue
@@ -252,7 +252,7 @@ export default {
const workorder = this.formData.workOrder
const checkRes1 = await QcBackEndApi.CheckPackageIsFullAndNeedScanPackageLabel({ workorder })
// 需要扫箱标签
- if (checkRes1.code === 200 && checkRes1.data) {
+ if (checkRes1.code === 200 && checkRes1.data === true) {
const obj = {
workOrder: workorder,
team: this.team,
@@ -263,6 +263,9 @@ export default {
//this.$refs.ScanPackageLabelDialogRef.handleScanPackageLabel(LabelCode, ComNo)
return
+ } else if (typeof checkRes1.data === 'string' && checkRes1.data.includes('功能异常')) {
+ this.showErrorMessage(3, res.data)
+ return
}
// 扫内标签模式
this.handleScanInnerLabel(LabelCode, ComNo)