生物安全模块羊只耳号查询修改

This commit is contained in:
2026-03-06 22:30:44 +08:00
parent b9febb4874
commit da77287c0f
14 changed files with 105 additions and 46 deletions

View File

@@ -366,12 +366,11 @@
<script setup name="Deworm">
import { ref, reactive, onMounted, getCurrentInstance } from 'vue'
import { listDeworm, getDeworm, delDeworm, addDeworm, updateDeworm } from '@/api/biosafety/deworm'
import { listDeworm, getDeworm, delDeworm, addDeworm, updateDeworm, searchEarNumbers} from '@/api/biosafety/deworm'
import { listPrescription, getPrescription } from '@/api/biosafety/prescription'
import { listUnit } from '@/api/biosafety/unit'
import { listUsage } from '@/api/biosafety/usage'
import { listMedicine } from '@/api/biosafety/medicine'
import { searchEarNumbers } from '@/api/common/sheep'
import request from '@/utils/request'
import { parseTime } from '@/utils/ruoyi'
import { getUserByPost } from '@/api/common/user'
@@ -476,29 +475,44 @@
pasteInput.value = ''
}
/** 远程搜索耳号 */
function searchEarNumber(query) {
if (query !== '') {
earNumberLoading.value = true
const queries = query.trim().split(/[\s,]+/).filter(q => q)
if (queries.length === 1) {
// 单个耳号模糊搜索
searchEarNumbers(query).then(response => {
earNumberOptions.value = response.data || []
earNumberLoading.value = false
}).catch(() => {
earNumberOptions.value = []
earNumberLoading.value = false
})
} else {
// 多个耳号直接作为选项
earNumberOptions.value = queries
earNumberLoading.value = false
}
} else {
if (!query || query.trim() === '') {
earNumberOptions.value = []
return
}
earNumberLoading.value = true
// 统一转大写,去重
const queries = [...new Set(
query.trim().toUpperCase().split(/[\s,]+/).filter(q => q.length >= 1)
)]
if (queries.length === 0) {
earNumberOptions.value = []
earNumberLoading.value = false
return
}
if (queries.length === 1) {
// 单个耳号模糊搜索
searchEarNumbers(queries[0]).then(response => {
earNumberOptions.value = response.data || []
}).catch(() => {
earNumberOptions.value = []
}).finally(() => {
earNumberLoading.value = false
})
} else {
// 多个耳号:先显示,再后台校验
earNumberOptions.value = queries.map(q => ({ label: q, value: q, validating: true }))
earNumberLoading.value = false
// 可选:调用后端批量校验
validateEarNumbers(queries).then(validList => {
earNumberOptions.value = validList
})
}
}