冻精冻胚的非空校验,模糊查询,唯一性校验

This commit is contained in:
zyh 2025-12-08 19:09:59 +08:00
parent 6338cfb518
commit 64ae705e8b
2 changed files with 42 additions and 9 deletions

View File

@ -101,12 +101,12 @@
v-model:limit="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改冻胚库存对话框 -->
<el-dialog :title="title" v-model="open" width="700px" append-to-body>
<el-form ref="embryoRef" :model="form" :rules="rules" label-width="100px">
<el-dialog :title="title" v-model="open" width="900px" append-to-body>
<el-form ref="embryoRef" :model="form" :rules="rules" label-width="120px">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="胚胎编号" prop="code">
<el-input v-model="form.code" placeholder="请输入胚胎编号(YS+日期+序号)" />
<el-input v-model="form.code" placeholder="请输入胚胎编号(YS+日期+序号)" @blur="checkCodeUnique" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -117,7 +117,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="供体母羊耳号">
<el-form-item label="供体母羊耳号" prop="deId">
<el-input v-model="form.deId" placeholder="请输入耳号" @blur="getFlushInfo" />
</el-form-item>
</el-col>
@ -293,6 +293,30 @@ const data = reactive({
code: [
{ required: true, message: "胚胎编号不能为空", trigger: "blur" }
],
freezeDate: [
{ required: true, message: '请选择冻胚日期', trigger: 'change' }
],
deId: [
{ required: true, message: '请输入供体母羊耳号', trigger: 'blur' }
],
grade: [
{ required: true, message: '请选择胚胎阶段等级', trigger: 'change' }
],
sexCtl: [
{ required: true, message: '请选择是否性控', trigger: 'change' }
],
tech: [
{ required: true, message: '请输入技术员', trigger: 'blur' }
],
tankId: [
{ required: true, message: '请选择液氮罐', trigger: 'change' }
],
bucketId: [
{ required: true, message: '请选择提桶', trigger: 'change' }
],
rackId: [
{ required: true, message: '请选择冷冻架', trigger: 'change' }
]
}
})
@ -301,10 +325,8 @@ const { queryParams, form, rules } = toRefs(data)
/** 查询冻胚库存列表 */
function getList() {
loading.value = true
// params
queryParams.value.params = queryParams.value.params || {}
//
if (daterangeFreezeDate.value && daterangeFreezeDate.value.length === 2) {
queryParams.value.params.beginFreezeDate = daterangeFreezeDate.value[0]
queryParams.value.params.endFreezeDate = daterangeFreezeDate.value[1]
@ -516,6 +538,17 @@ function submitDiscard() {
getList()
})
}
function checkCodeUnique() {
if (!form.value.code) return
request.get('/frozen/embryo/checkCode', { params: { code: form.value.code } })
.then(res => {
if (res.data) {
proxy.$modal.msgError('胚胎编号已存在,请重新输入')
form.value.code = ''
proxy.$refs.embryoRef.validateField('code')
}
})
}
getList()
</script>
<style>

View File

@ -39,7 +39,7 @@
<el-button type="warning" plain icon="Download" @click="handleExport"
v-hasPermi="['sperm:sperm:export']">导出</el-button>
</el-col>
<el-button type="warning" plain icon="Close" @click="handleDiscard"
<el-button type="warning" plain icon="Close" @click="handleDiscard" :disabled="multiple"
v-hasPermi="['sperm:sperm:discard']">废弃</el-button>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -110,7 +110,7 @@
<el-col :span="12">
<el-form-item label="冻精品种" prop="breed">
<el-input v-model="form.breed" :disabled="!!form.code" placeholder="自动回显" />
<el-input v-model="form.breed" disabled placeholder="输入冻精号自动回显" />
</el-form-item>
</el-col>
<el-col :span="12">