孕检界面逻辑修复完成

This commit is contained in:
zyk
2026-02-03 14:44:27 +08:00
parent 1cf542c37f
commit db982a70d9
3 changed files with 57 additions and 36 deletions

View File

@@ -424,6 +424,16 @@
<el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['Breeding_records:Breeding_records:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['Breeding_records:Breeding_records:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['Breeding_records:Breeding_records:export']">导出</el-button>
</el-col>

View File

@@ -186,11 +186,7 @@
<el-table v-loading="loading" :data="Pregnancy_TestList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 日期作为第一列 -->
<el-table-column label="孕检日期" align="center" prop="datetime" width="120" fixed="left">
<template #default="scope">
<span>{{ parseTime(scope.row.datetime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="耳号" align="center" prop="manageTags" width="120" />
<el-table-column label="品种" align="center" prop="variety" width="100" />
<el-table-column label="事件类型" align="center" width="80">
@@ -198,6 +194,8 @@
<span>孕检</span>
</template>
</el-table-column>
<el-table-column label="孕检日期" align="center" prop="datetime" width="120" />
<el-table-column label="孕检原因" align="center" prop="reason" width="100" />
<el-table-column label="孕检结果" align="center" prop="result" width="80">
<template #default="scope">
<el-tag :type="getResultTagType(scope.row.result)">
@@ -205,29 +203,25 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="配种公羊" align="center" prop="fatherManageTags" width="100" />
<el-table-column label="配种公羊品种" align="center" prop="fatherVariety" width="120" />
<el-table-column label="配种类型" align="center" prop="matingTypeName" width="80" />
<el-table-column label="配种日期" align="center" prop="matingDate" width="120">
<template #default="scope">
<span>{{ parseTime(scope.row.matingDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<!-- 新增配后天数字段 -->
<el-table-column label="配后天数" align="center" prop="daysAfterMating" width="80">
<template #default="scope">
<span v-if="scope.row.daysAfterMating !== null">{{ scope.row.daysAfterMating }}</span>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column label="胎儿数量" align="center" prop="fetusCount" width="80" />
<el-table-column label="月龄" align="center" prop="monthAge" width="60" />
<el-table-column label="孕检时羊只类别" align="center" prop="breedStatus" width="120" />
<el-table-column label="胎次" align="center" prop="parity" width="60" />
<el-table-column label="配次" align="center" prop="matingCounts" width="60" />
<el-table-column label="当前羊舍" align="center" prop="sheepfoldName" width="100" />
<el-table-column label="技术员" align="center" prop="technician" width="80" />
<el-table-column label="繁育状态" align="center" prop="breedStatus" width="80" />
<el-table-column label="配种公羊" prop="fatherManageTags"min-width="120" show-overflow-tooltip />
<el-table-column label="配种公羊品种" prop="fatherVariety" min-width="120" show-overflow-tooltip />
<el-table-column label="供体母羊" prop="donorEwe" />
<el-table-column label="供体母羊品种" prop="donorEweVariety" min-width="120" show-overflow-tooltip />
<el-table-column label="供体公羊" prop="donorRam" />
<el-table-column label="供体公羊品种" prop="donorRamVariety" min-width="120" show-overflow-tooltip/>
<el-table-column label="移胚数" prop="embryoCount" />
<el-table-column label="配种类型" prop="matingTypeName" />
<el-table-column label="配种日期" prop="matingDate" width="110" />
<el-table-column label="胎儿数量" prop="fetusCount" />
<el-table-column label="月龄" prop="monthAge" />
<el-table-column label="孕检时羊只类别" prop="breedStatus" min-width="120" show-overflow-tooltip />
<el-table-column label="胎次" prop="parity" />
<el-table-column label="配次" prop="matingCounts" />
<el-table-column label="当前羊舍" prop="sheepfoldName" />
<el-table-column label="技术员" prop="technician" />
<el-table-column label="繁育状态" prop="breedStatus" />
<el-table-column label="预产日期" align="center" prop="expectedDate" width="120">
<template #default="scope">
<span>{{ parseTime(scope.row.expectedDate, '{y}-{m}-{d}') }}</span>
@@ -297,6 +291,14 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="孕检原因" prop="reason">
<el-select v-model="form.reason" placeholder="请选择孕检原因" style="width: 100%">
<el-option label="初检" value="初检" />
<el-option label="复检" value="复检" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="胎儿数量" prop="fetusCount">
<el-input-number
@@ -388,6 +390,7 @@ import {
} from "@/api/Pregnancy_Test/Pregnancy_Test"
import { ref, computed, nextTick } from 'vue'
import { ArrowUp, ArrowDown, Plus, Delete } from '@element-plus/icons-vue'
import {parseTime} from "@/utils/ruoyi.js";
// 响应式数据
const pasteInput = ref('') // 批量粘贴输入框
@@ -699,6 +702,7 @@ function reset() {
technician: null,
way: 'B超', // 默认孕检方式为B超
remark: null,
reason: null, // ✅ 确保新增时该字段被重置
createBy: null,
createTime: null
}
@@ -772,6 +776,17 @@ function handleUpdate(row) {
function submitForm() {
proxy.$refs["Pregnancy_TestRef"].validate(valid => {
if (valid) {
// 四、提示:配种当天不许孕检
if (form.value.datetime && breedInfo.value.matingDate) {
// 统一格式化为 YYYY-MM-DD 进行字符串比较
const matingDateStr = parseTime(breedInfo.value.matingDate, '{y}-{m}-{d}');
const pregnancyDateStr = form.value.datetime; // 已是格式化后的字符串
if (matingDateStr === pregnancyDateStr) {
proxy.$modal.msgError("操作拦截:该羊只在 " + matingDateStr + " 刚进行过配种,配种当天不允许进行孕检!");
return; // 终止提交
}
}
// 清理表单数据
if (form.value.manageTags) {
form.value.manageTags = form.value.manageTags.trim()
@@ -790,10 +805,7 @@ function submitForm() {
console.log("修改成功响应", response)
proxy.$modal.msgSuccess("修改成功")
open.value = false
// 强制刷新页面数据
setTimeout(() => {
getList()
}, 500)
getList(); // 修改完直接刷新
}).catch((error) => {
console.error("修改失败", error)
proxy.$modal.msgError("修改失败")
@@ -804,10 +816,8 @@ function submitForm() {
if (response && response.code === 200) {
proxy.$modal.msgSuccess("新增成功")
open.value = false
// 强制刷新页面数据,延迟执行确保对话框关闭
setTimeout(() => {
getList()
}, 500)
// 关键:重置查询条件,防止被之前的搜索框内容过滤掉新数据
resetQuery();
} else {
console.error("新增返回异常", response)
proxy.$modal.msgError("新增失败")

View File

@@ -45,6 +45,7 @@
v-hasPermi="['embryo:flush:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"