diff --git a/src/views/modules/production/productionIssueReturnDetail.vue b/src/views/modules/production/productionIssueReturnDetail.vue
index 0eeed83..43c4436 100644
--- a/src/views/modules/production/productionIssueReturnDetail.vue
+++ b/src/views/modules/production/productionIssueReturnDetail.vue
@@ -54,24 +54,21 @@
领料工单
-
-
- {{ item.orderNo }}
-
-
+
+ {{ item.orderNo }}
+
+
{
- this.orderSearchLoading = false
if (data && data.code === 0) {
this.issueOrderOptions = data.orders || []
+ callback(this.issueOrderOptions)
} else {
- this.issueOrderOptions = []
- this.$message.error(data.msg || '搜索工单失败')
+ callback([])
}
}).catch(error => {
- this.orderSearchLoading = false
console.error('搜索工单失败:', error)
- this.$message.error('搜索工单失败')
+ callback([])
})
},
- // 领料工单选择变化
- handleIssueOrderChange(value) {
+ // 选择领料工单(el-autocomplete 的 select 事件)
+ handleIssueOrderSelect(item) {
// 校验:领料工单不能等于退库工单
- if (value === this.returnOrderNo) {
+ if (item.orderNo === this.returnOrderNo) {
this.$message.error('领料工单不能与退库工单相同')
- // 清空领料工单选择
this.issueOrderNo = ''
this.selectedIssueOrder = null
this.operationSeq = ''
@@ -359,17 +351,27 @@ export default {
return
}
- const selected = this.issueOrderOptions.find(item => item.orderNo === value)
- if (selected) {
- this.selectedIssueOrder = selected
+ this.issueOrderNo = item.orderNo
+ this.selectedIssueOrder = item
- // 清空工序选择
- this.operationSeq = ''
- this.operationName = ''
- this.operationOptions = []
+ // 清空工序选择
+ this.operationSeq = ''
+ this.operationName = ''
+ this.operationOptions = []
+
+ // 加载工序列表
+ this.loadOperationList(item.orderNo)
+ },
- // 加载工序列表
- this.loadOperationList(value)
+ // 领料工单输入框失焦(验证输入值是否有效)
+ handleIssueOrderBlur() {
+ // 如果用户手动输入了值但没有从列表选择,检查是否有效
+ if (this.issueOrderNo && !this.selectedIssueOrder) {
+ // 检查输入的值是否在选项中
+ const found = this.issueOrderOptions.find(item => item.orderNo === this.issueOrderNo)
+ if (found) {
+ this.handleIssueOrderSelect(found)
+ }
}
},
@@ -755,5 +757,43 @@ export default {
.action-btn:active {
transform: scale(0.98);
}
+
+/* el-autocomplete 移动端样式优化 */
+.info-item /deep/ .el-autocomplete {
+ width: 100%;
+}
+
+.info-item /deep/ .el-autocomplete .el-input__inner {
+ /* 确保输入框可点击和输入 */
+ pointer-events: auto !important;
+ background-color: #fff !important;
+ cursor: text !important;
+ /* 增大触摸区域 */
+ min-height: 36px;
+ padding: 0 10px;
+ /* 移动端输入优化 */
+ -webkit-user-select: text;
+ user-select: text;
+ /* 确保可以输入 */
+ -webkit-appearance: none;
+ /* 移除 iOS 输入框阴影 */
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.info-item /deep/ .el-autocomplete .el-input__inner:focus {
+ border-color: #17B3A3;
+ outline: none;
+}
+
+/* autocomplete 建议列表样式 */
+.el-autocomplete-suggestion {
+ max-height: 200px;
+}
+
+.el-autocomplete-suggestion li {
+ padding: 10px 15px;
+ line-height: 1.5;
+}