From 93b1f9283ae3db61e871c5cc994b26da9f1ce57a Mon Sep 17 00:00:00 2001
From: zyh <2066096076@qq.com>
Date: Thu, 4 Dec 2025 16:36:38 +0800
Subject: [PATCH] =?UTF-8?q?=E5=86=BB=E8=83=9A=E5=86=BB=E7=B2=BE=E5=AE=8C?=
=?UTF-8?q?=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/frozen/embryo.js | 26 +
src/views/frozen/embryo/index.vue | 437 ++++++++++------
src/views/frozen/sperm/index.vue | 482 ++++++++++++------
.../produce/bodyManage/body_measure/index.vue | 340 ++----------
.../produce/bodyManage/body_score/index.vue | 47 +-
.../bodyManage/breast_rating/index.vue | 118 +----
6 files changed, 683 insertions(+), 767 deletions(-)
diff --git a/src/api/frozen/embryo.js b/src/api/frozen/embryo.js
index c2dad8d..3e1c36c 100644
--- a/src/api/frozen/embryo.js
+++ b/src/api/frozen/embryo.js
@@ -42,3 +42,29 @@ export function delEmbryo(id) {
method: 'delete'
})
}
+
+// 根据供体母羊耳号回显冲胚信息(冻胚新增页面用)
+export function getFlushInfoByEwe(eweNo) {
+ return request({
+ url: '/frozen/embryo/getFlushInfoByEwe/' + eweNo,
+ method: 'get'
+ })
+}
+
+// 根据母羊+等级获取数量
+export function getQtyByGrade(eweNo, grade) {
+ return request({
+ url: '/frozen/embryo/getQtyByGrade',
+ method: 'get',
+ params: { eweNo, grade }
+ })
+}
+
+// 废弃冻胚
+export function discardEmbryo(data) {
+ return request({
+ url: '/frozen/embryo/discard',
+ method: 'put',
+ data
+ })
+}
\ No newline at end of file
diff --git a/src/views/frozen/embryo/index.vue b/src/views/frozen/embryo/index.vue
index ce0d056..f09cc89 100644
--- a/src/views/frozen/embryo/index.vue
+++ b/src/views/frozen/embryo/index.vue
@@ -2,20 +2,20 @@
-
+
-
-
-
+
+
-
+
-
-
-
+
+
搜索
@@ -27,10 +27,10 @@
新增
-
+
删除
@@ -39,32 +39,42 @@
导出
+
+
+ 废弃
+
+
-
-
+
+
{{ parseTime(scope.row.freezeDate, '{y}-{m}-{d}') }}
-
-
-
-
+
+
+
+
-
-
-
+
+
+
+
+ {{ scope.row.sexCtl === 1 ? '是' : '否' }}
+
+
-
+
{{ parseTime(scope.row.outDate, '{y}-{m}-{d}') }}
@@ -72,15 +82,15 @@
-
+
- {{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
+ {{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }}
-
+
- 修改
+
删除
@@ -90,147 +100,146 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+ {{ e.code }}
+ {{ e.code }}
+ 已选 {{ discardSelection.length }} 个
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
\ No newline at end of file
diff --git a/src/views/frozen/sperm/index.vue b/src/views/frozen/sperm/index.vue
index b35e9c2..4026b6d 100644
--- a/src/views/frozen/sperm/index.vue
+++ b/src/views/frozen/sperm/index.vue
@@ -1,37 +1,21 @@
-
-
+
+
-
-
-
+
+
-
+
-
-
-
+
+
搜索
@@ -41,66 +25,49 @@
- 新增
+ 新增
+
+
+
+ 删除
- 修改
-
-
- 删除
-
-
- 导出
+ 导出
+ 废弃
-
-
-
+
+
+
{{ parseTime(scope.row.freezeDt, '{y}-{m}-{d}') }}
-
-
-
-
+
+
+
+
+
+ {{ scope.row.sexCtl === 1 ? '是' : '否' }}
+
+
-
+
{{ parseTime(scope.row.outDt, '{y}-{m}-{d}') }}
@@ -108,94 +75,151 @@
-
+
- {{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
+ {{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }}
-
+
- 修改
- 删除
+
+ 删除
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ s.code }}
+
+ {{ s.code }}
+
+ 已选 {{ discardSelection.length }} 个
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+ 取消
+ 确定
+
+
\ No newline at end of file
diff --git a/src/views/produce/bodyManage/body_measure/index.vue b/src/views/produce/bodyManage/body_measure/index.vue
index 2928dce..51731fd 100644
--- a/src/views/produce/bodyManage/body_measure/index.vue
+++ b/src/views/produce/bodyManage/body_measure/index.vue
@@ -18,7 +18,7 @@
-
+
@@ -39,10 +39,10 @@
新增
-
+
删除
@@ -56,284 +56,55 @@
-
-
-
+
+
+
-
-
+
+
{{ genderMap[scope.row.gender] || '未知' }}
-
-
-
-
-
- {{ scope.row.parity }}
-
-
-
-
-
-
-
-
- {{ scope.row.birthWeight }}
-
-
-
-
-
-
-
- {{ scope.row.weaningWeight }}
-
-
-
-
-
-
-
- {{ scope.row.currentWeight }}
-
-
-
-
-
-
-
- {{ scope.row.height }}
-
-
-
-
-
-
-
- {{ scope.row.bust }}
-
-
-
-
-
-
-
- {{ scope.row.bodyLength }}
-
-
-
-
-
-
-
- {{ scope.row.pipeLength }}
-
-
-
-
-
-
-
- {{ scope.row.chestDepth }}
-
-
-
-
-
-
-
- {{ scope.row.hipHeight }}
-
-
-
-
-
-
-
- {{ scope.row.rumpWidth }}
-
-
-
-
-
-
-
- {{ scope.row.rumpHeignt }}
-
-
-
-
-
-
-
- {{ scope.row.hipWidth }}
-
-
-
-
-
-
-
- {{ scope.row.hipCrossHeight }}
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ scope.row.breedStatusName || '未设置' }}
-
-
-
-
-
- {{ scope.row.lactationDay || '-' }}
-
-
-
-
-
-
-
- {{ scope.row.gestationDay || '-' }}
-
-
-
-
-
-
-
- {{ scope.row.postMatingDay || '-' }}
-
-
-
-
-
+
+
+
+
+
+
{{ parseTime(scope.row.measureDate, '{y}-{m}-{d}') }}
-
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }}
-
+
- 修改
+
删除
@@ -372,10 +143,10 @@
-
-
-
+
+
+
@@ -399,8 +170,8 @@
-
-
+
+
@@ -426,7 +197,6 @@ import { getSheepByManageTags } from "@/api/produce/manage_sheep/changeVariety"
import { listSheepfold_management as listSheepfold } from '@/api/fileManagement/sheepfold_management'
import { getVarietyOptions } from '@/api/produce/other/fixHoof'
import { getCurrentInstance } from 'vue'
-import { ArrowUp, ArrowDown } from '@element-plus/icons-vue'
const { proxy } = getCurrentInstance()
@@ -478,19 +248,6 @@ const data = reactive({
const { queryParams, form, rules } = toRefs(data)
-const [smFields, bsFields] = [
- // sc_body_measure 表字段
- ['height', 'bust', 'bodyLength', 'pipeLength', 'chestDepth', 'hipHeight', 'rumpWidth', 'rumpHeignt', 'hipWidth', 'hipCrossHeight'],
- // bas_sheep 表字段
- ['parity', 'birthWeight', 'weaningWeight', 'currentWeight', 'lactationDay', 'gestationDay', 'postMatingDay']
-];
-
-// 排序状态
-const sortStates = reactive({
- ...smFields.reduce((obj, field) => ({ ...obj, [field]: { isSorting: false, isAsc: true } }), {}),
- ...bsFields.reduce((obj, field) => ({ ...obj, [field]: { isSorting: false, isAsc: true } }), {})
-});
-
//查询体尺测量列表
function getList() {
loading.value = true
@@ -510,23 +267,6 @@ function getList() {
})
}
-/**
- * 通用排序方法(所有需要排序的列共用)
- * @param {String} prop - 排序字段
- */
-function handleSort(prop) {
- Object.keys(sortStates).forEach(key => {
- sortStates[key].isSorting = false;
- });
- const current = sortStates[prop];
- current.isSorting = true;
- current.isAsc = !current.isAsc;
- queryParams.value.orderBy = prop;
- queryParams.value.sortDirection = current.isAsc ? 'ASC' : 'DESC';
- queryParams.value.pageNum = 1;
- getList();
-}
-
// 耳号脱焦验证
function onManageTagsBlur() {
const tag = form.value.manageTags?.trim();
@@ -597,12 +337,6 @@ function resetQuery() {
data.varietyName = '';
daterangeMeasureDate.value = [];
proxy.resetForm("queryRef");
- Object.keys(sortStates).forEach(key => {
- sortStates[key].isSorting = false
- sortStates[key].isAsc = true
- })
- queryParams.value.orderBy = null;
- queryParams.value.sortDirection = null;
handleQuery();
}
diff --git a/src/views/produce/bodyManage/body_score/index.vue b/src/views/produce/bodyManage/body_score/index.vue
index 3bad899..453f0cd 100644
--- a/src/views/produce/bodyManage/body_score/index.vue
+++ b/src/views/produce/bodyManage/body_score/index.vue
@@ -1,10 +1,6 @@
-
@@ -18,10 +14,6 @@
-
@@ -63,20 +55,7 @@
{{ parseTime(scope.row.datetime, '{y}-{m}-{d}') }}
-
-
-
-
-
- {{ scope.row.score }}
-
-
+
@@ -141,7 +120,6 @@ import { listBody_score, getBody_score, delBody_score, addBody_score, updateBody
import { listSheepfold_management as listSheepfold } from '@/api/fileManagement/sheepfold_management'
import { checkSheepByManageTags, getVarietyOptions } from "@/api/produce/other/fixHoof"
import { getCurrentInstance, ref, reactive, toRefs } from 'vue'
-import { ArrowUp, ArrowDown } from '@element-plus/icons-vue'
const { proxy } = getCurrentInstance()
@@ -158,8 +136,6 @@ const daterangeDatetime = ref([])
const daterangeCreateTime = ref([])
const sheepfoldList = ref([])
const isAdd = ref(false)
-const sortByScore = ref(false)
-const sortScoreAsc = ref(true)
const data = reactive({
form: {
@@ -210,13 +186,6 @@ function getList() {
queryParams.value.params["beginCreateTime"] = daterangeCreateTime.value[0]
queryParams.value.params["endCreateTime"] = daterangeCreateTime.value[1]
}
- if (sortByScore.value) {
- queryParams.value.orderBy = "score";
- queryParams.value.sortDirection = sortScoreAsc.value ? "ASC" : "DESC";
- } else {
- queryParams.value.orderBy = null;
- queryParams.value.sortDirection = null;
- }
listBody_score(queryParams.value).then(response => {
body_scoreList.value = response.rows
total.value = response.total
@@ -254,18 +223,6 @@ function onManageTagsBlur() {
});
}
-//体况评分排序
-function handleScoreSort() {
- if (sortByScore.value) {
- sortScoreAsc.value = !sortScoreAsc.value;
- } else {
- sortByScore.value = true;
- sortScoreAsc.value = true;
- }
- queryParams.value.pageNum = 1;
- getList();
-}
-
//加载羊舍数据
const sheepfoldOptions = ref([])
function getSheepfoldOptions() {
@@ -308,8 +265,6 @@ function resetQuery() {
daterangeCreateTime.value = []
queryParams.value.varietyId = null;
proxy.resetForm("queryRef")
- sortByScore.value = false;
- sortScoreAsc.value = true;
handleQuery()
}
diff --git a/src/views/produce/bodyManage/breast_rating/index.vue b/src/views/produce/bodyManage/breast_rating/index.vue
index e0a7d27..aa96a91 100644
--- a/src/views/produce/bodyManage/breast_rating/index.vue
+++ b/src/views/produce/bodyManage/breast_rating/index.vue
@@ -59,51 +59,12 @@
-
-
-
-
-
- {{ scope.row.depth }}
-
-
-
-
-
-
-
- {{ scope.row.length }}
-
-
+
+
-
-
-
-
-
- {{ scope.row.score }}
-
-
+
@@ -177,7 +138,6 @@ import { listBreast_rating, getBreast_rating, delBreast_rating, addBreast_rating
import { checkSheepByManageTags, getVarietyOptions } from "@/api/produce/other/fixHoof"
import { listSheepfold_management as listSheepfold } from '@/api/fileManagement/sheepfold_management'
import { getCurrentInstance, reactive, ref } from "vue"
-import { ArrowUp, ArrowDown } from '@element-plus/icons-vue'
const { proxy } = getCurrentInstance()
@@ -193,15 +153,7 @@ const title = ref("")
const daterangeCreateTime = ref([])
const daterangeEventDate = ref([]);
const isAdd = ref(false)
-// 乳房深度排序
-const sortByDepth = ref(false)
-const sortDepthAsc = ref(true)
-// 乳房长度排序
-const sortByLength = ref(false)
-const sortLengthAsc = ref(true)
-// 乳房评分排序
-const sortByScore = ref(false)
-const sortScoreAsc = ref(true)
+
const data = reactive({
form: {
id: null,
@@ -251,19 +203,6 @@ function getList() {
queryParams.value.params["beginCreateTime"] = daterangeCreateTime.value[0]
queryParams.value.params["endCreateTime"] = daterangeCreateTime.value[1]
}
- if (sortByDepth.value) {
- queryParams.value.orderBy = "depth";
- queryParams.value.sortDirection = sortDepthAsc.value ? "ASC" : "DESC";
- } else if (sortByLength.value) {
- queryParams.value.orderBy = "length";
- queryParams.value.sortDirection = sortLengthAsc.value ? "ASC" : "DESC";
- } else if (sortByScore.value) {
- queryParams.value.orderBy = "score";
- queryParams.value.sortDirection = sortScoreAsc.value ? "ASC" : "DESC";
- } else {
- queryParams.value.orderBy = null;
- queryParams.value.sortDirection = null;
- }
listBreast_rating(queryParams.value).then(response => {
breast_ratingList.value = response.rows
@@ -296,49 +235,6 @@ function onManageTagsBlur() {
form.value.comment = null;
});
}
-//乳房深度排序
-function handleDepthSort() {
- console.log("sortByDepth before:", sortByDepth.value);
- sortByLength.value = false;
- sortByScore.value = false;
- if (sortByDepth.value) {
- sortDepthAsc.value = !sortDepthAsc.value;
- } else {
- sortByDepth.value = true;
- sortDepthAsc.value = true;
- }
- queryParams.value.pageNum = 1;
- console.log("sortByDepth after:", sortByDepth.value);
- getList();
-}
-
-//乳头长度排序
-function handleLengthSort() {
- sortByDepth.value = false;
- sortByScore.value = false;
- if (sortByLength.value) {
- sortLengthAsc.value = !sortLengthAsc.value;
- } else {
- sortByLength.value = true;
- sortLengthAsc.value = true;
- }
- queryParams.value.pageNum = 1;
- getList();
-}
-
-//乳况评分排序
-function handleScoreSort() {
- sortByDepth.value = false;
- sortByLength.value = false;
- if (sortByScore.value) {
- sortScoreAsc.value = !sortScoreAsc.value;
- } else {
- sortByScore.value = true;
- sortScoreAsc.value = true;
- }
- queryParams.value.pageNum = 1;
- getList();
-}
// 取消按钮
function cancel() {
@@ -377,12 +273,6 @@ function resetQuery() {
daterangeCreateTime.value = []
daterangeEventDate.value = [];
proxy.resetForm("queryRef")
- sortByDepth.value = false
- sortByLength.value = false
- sortByScore.value = false
- sortDepthAsc.value = true
- sortLengthAsc.value = true
- sortScoreAsc.value = true
handleQuery()
}