fix(workorder): 修复工单状态判断逻辑并优化代码结构

- 修正站点和班组选择框的禁用条件判断
- 将满箱检查逻辑从MQTT消息处理中提取为独立方法
- 移除调试用的console.log语句
- 优化代码格式和注释
This commit is contained in:
2025-08-28 15:58:18 +08:00
parent d33f39e102
commit 2bc1844da3
2 changed files with 44 additions and 39 deletions

View File

@@ -24,13 +24,15 @@
<div class="workorder-card-action-box">
<div>
<span>站点: </span>
<el-select :disabled="formStatus === 2" style="width: 140px" v-model="site" placeholder="请选择站点" @change="selectChange">
<el-select :disabled="formStatus !== 1" style="width: 140px" v-model="site" placeholder="请选择站点"
@change="selectChange">
<el-option v-for="item in siteOptions" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</div>
<div>
<span>班组: </span>
<el-select :disabled="formStatus === 2" style="width: 140px" v-model="team" placeholder="请选择班组" @change="selectChange">
<el-select :disabled="formStatus !== 1" style="width: 140px" v-model="team" placeholder="请选择班组"
@change="selectChange">
<el-option v-for="item in teamOptions" :key="item.code" :label="item.name" :value="item.code"></el-option>
</el-select>
</div>
@@ -86,17 +88,16 @@
</tr>
</table>
</el-card>
<StartWorkOrderDialog
ref="StartWorkOrderDialogRef"
@showWarningMessage="showErrorMessage"
@changeFormStatus="changeFormStatus"
@startWorkOrder="handleStartWorkOrder"
@refresh="doRefresh"
/>
<ScanPackageLabelDialog ref="ScanPackageLabelDialogRef" @changeFormStatus="changeFormStatus" @showWarningMessage="showErrorMessage" @submit="handleStartWorkOrder" />
<EndWorkOrderDialog ref="EndWorkOrderDialogRef" @changeFormStatus="changeFormStatus" @endWorkOrder="handleEndWorkOrder" />
<GenerateLabelDialog ref="GenerateLabelDialogRef" @generateLabelSuccess="handleGenerateLabelSuccess"></GenerateLabelDialog>
<SpecialPrintDialog ref="SpecialPrintDialogRef" @SpecialPrintSuccess="handleGenerateLabelSuccess"></SpecialPrintDialog>
<StartWorkOrderDialog ref="StartWorkOrderDialogRef" @showWarningMessage="showErrorMessage"
@changeFormStatus="changeFormStatus" @startWorkOrder="handleStartWorkOrder" @refresh="doRefresh" />
<ScanPackageLabelDialog ref="ScanPackageLabelDialogRef" @changeFormStatus="changeFormStatus"
@showWarningMessage="showErrorMessage" @submit="handleStartWorkOrder" />
<EndWorkOrderDialog ref="EndWorkOrderDialogRef" @changeFormStatus="changeFormStatus"
@endWorkOrder="handleEndWorkOrder" />
<GenerateLabelDialog ref="GenerateLabelDialogRef" @generateLabelSuccess="handleGenerateLabelSuccess">
</GenerateLabelDialog>
<SpecialPrintDialog ref="SpecialPrintDialogRef" @SpecialPrintSuccess="handleGenerateLabelSuccess">
</SpecialPrintDialog>
</div>
</template>
@@ -124,7 +125,7 @@ export default {
teamOptions: [],
siteOptions: [],
// 站点工单执行状态 1-初始状态(扫外箱标签) 2-工单执行中(扫内标签)
// 站点工单执行状态 1-初始状态(扫外箱标签) 2-工单执行中(扫内标签)3-扫外箱标签
formStatus: 1,
team: '',
site: '',
@@ -230,14 +231,34 @@ export default {
if (res.code === 200) {
this.formData = res.data
this.formDataChange(res.data)
this.checkPackageIsFull()
}
})
},
changeFormStatus(type) {
this.formStatus = type
},
// 后台检查,满箱弹出弹出
async checkPackageIsFull() {
const workorder = this.formData.workOrder
const checkRes1 = await QcBackEndApi.CheckPackageIsFullAndNeedScanPackageLabel({ workorder })
// 需要扫箱标签
if (checkRes1.code === 200 && checkRes1.data === true) {
const obj = {
workOrder: workorder,
team: this.team,
siteNo: this.site,
}
this.changeFormStatus(3)
this.$refs.ScanPackageLabelDialogRef.open(obj)
return true;
} else if (typeof checkRes1.data === 'string' && checkRes1.data.includes('功能异常')) {
this.showErrorMessage(3, res.data)
return false;
}
},
async setMqttMessage(LabelCode, ComNo, SiteNo) {
console.log(this.formStatus)
//console.log(this.formStatus)
if (SiteNo !== this.site) {
return
}
@@ -249,25 +270,7 @@ export default {
}
// 扫内标签模式
if (this.formStatus === 2) {
const workorder = this.formData.workOrder
const checkRes1 = await QcBackEndApi.CheckPackageIsFullAndNeedScanPackageLabel({ workorder })
// 需要扫箱标签
if (checkRes1.code === 200 && checkRes1.data === true) {
const obj = {
workOrder: workorder,
team: this.team,
siteNo: this.site,
}
this.changeFormStatus(3)
this.$refs.ScanPackageLabelDialogRef.open(obj)
//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)
return
}
@@ -277,6 +280,7 @@ export default {
return
}
},
// 扫内标签的情况
async handleScanInnerLabel(label = '', comNo = '未知串口') {
const params = {
@@ -419,10 +423,13 @@ export default {
font-size: 16px;
font-weight: 600;
}
.workorder-label {
font-size: 12px;
word-wrap: break-word; /* 允许长单词或 URL 地址换行到下一行 */
word-break: break-all; /* 允许单词内换行 */
word-wrap: break-word;
/* 允许单词或 URL 地址换行到下一行 */
word-break: break-all;
/* 允许在单词内换行 */
padding: 0;
}
</style>

View File

@@ -32,7 +32,7 @@ export default {
return {
loading: false,
mqttClient: null,
mqttClientId: emqxUtil.title + 'BackEnd' + Math.random().toString(16).substring(1, 10),
mqttClientId: emqxUtil.title + 'BackEnd-' + Math.random().toString(16).substring(1, 10),
formData: {
workOrder: '',
partnumber: '',
@@ -178,8 +178,6 @@ export default {
that.mqttClient.on('message', function (topic, message) {
if (topic === _topic.SiteComLabelCode) {
const objData = emqxUtil.parseJSON(message)
console.log(objData)
that.doMqttAction(objData)
}
})