From 923f336a92a5d1ac3265a21d913d7b64af283206 Mon Sep 17 00:00:00 2001 From: wyt <414651037@qq.com> Date: Thu, 24 Jul 2025 16:56:23 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E7=BE=8A=E7=BE=A4=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/fileManagement/sheep_file.js | 22 +++ .../fileManagement/sheep_structure/index.vue | 172 ++++++++++++++++++ 2 files changed, 194 insertions(+) create mode 100644 src/views/fileManagement/sheep_structure/index.vue diff --git a/src/api/fileManagement/sheep_file.js b/src/api/fileManagement/sheep_file.js index 892580a..c0bb7f1 100644 --- a/src/api/fileManagement/sheep_file.js +++ b/src/api/fileManagement/sheep_file.js @@ -25,3 +25,25 @@ export function delSheep_file(id) { method: 'delete' }) } + + + +// 在群总数 +export const getInGroupCount = () => + request({ url: '/sheep_file/sheep_file/stat/inGroupCount', method: 'get' }) + +export function getSheepTypeStat() { + return request({ url: '/sheep_file/sheep_file/stat/sheepType', method: 'get' }) +} + +export function getBreedStatusStat() { + return request({ url: '/sheep_file/sheep_file/stat/breedStatus', method: 'get' }) +} + +export function getVarietyStat() { + return request({ url: '/sheep_file/sheep_file/stat/variety', method: 'get' }) +} + +export function getLactationParityStat() { + return request({ url: '/sheep_file/sheep_file/stat/lactationParity', method: 'get' }) +} diff --git a/src/views/fileManagement/sheep_structure/index.vue b/src/views/fileManagement/sheep_structure/index.vue new file mode 100644 index 0000000..bb72b4d --- /dev/null +++ b/src/views/fileManagement/sheep_structure/index.vue @@ -0,0 +1,172 @@ + + + + + \ No newline at end of file From 3a5cfd1d789c40843aae44fcb84c53070e083822 Mon Sep 17 00:00:00 2001 From: zyh <2066096076@qq.com> Date: Mon, 4 Aug 2025 09:18:17 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E5=88=A4=E6=96=AD=E7=BE=8A=E5=8F=AA?= =?UTF-8?q?=E7=9A=84=E5=88=A0=E9=99=A4/=E6=9C=AA=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/produce/manage_sheep/transition_info/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/produce/manage_sheep/transition_info/index.vue b/src/views/produce/manage_sheep/transition_info/index.vue index 7538b49..51c4fd2 100644 --- a/src/views/produce/manage_sheep/transition_info/index.vue +++ b/src/views/produce/manage_sheep/transition_info/index.vue @@ -374,7 +374,7 @@ async function loadSheepInfo() { const { data: sheepData } = await checkSheepByManageTags(tag.trim()); if (!sheepData) { validResults.push(false); - proxy.$modal.msgError(`耳号 ${tag} 不存在`); + proxy.$modal.msgError(`耳号 ${tag} 不存在或已删除`); continue; } From 53b3efb4322179286b7690237676c98be89b92da Mon Sep 17 00:00:00 2001 From: zyh <2066096076@qq.com> Date: Mon, 4 Aug 2025 15:01:06 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E8=BD=AC=E7=BE=A4=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/produce/manage_sheep/trans_group.js | 9 ++ .../manage_sheep/trans_group/index.vue | 143 +++++++++++++----- 2 files changed, 118 insertions(+), 34 deletions(-) diff --git a/src/api/produce/manage_sheep/trans_group.js b/src/api/produce/manage_sheep/trans_group.js index 0f0bba6..af75f5b 100644 --- a/src/api/produce/manage_sheep/trans_group.js +++ b/src/api/produce/manage_sheep/trans_group.js @@ -60,3 +60,12 @@ export function approveScTransGroup(data) { data }) } + +// 获取所有牧场列表 +export function listRanch() { + return request({ + url: '/ranch/ranch/list', + method: 'get', + params: { pageNum: 1, pageSize: 9999 } + }); +} \ No newline at end of file diff --git a/src/views/produce/manage_sheep/trans_group/index.vue b/src/views/produce/manage_sheep/trans_group/index.vue index c6679ee..ab9c8b3 100644 --- a/src/views/produce/manage_sheep/trans_group/index.vue +++ b/src/views/produce/manage_sheep/trans_group/index.vue @@ -102,15 +102,27 @@ :value="sheep.manageTags" /> - - - + + + + + + + + + + + + + - - + + @@ -175,7 +187,7 @@ + + \ No newline at end of file diff --git a/src/views/Sperm/Sperm/index.vue b/src/views/Sperm/Sperm/index.vue new file mode 100644 index 0000000..c32384a --- /dev/null +++ b/src/views/Sperm/Sperm/index.vue @@ -0,0 +1,423 @@ + + + \ No newline at end of file diff --git a/src/views/bas_ram_file/bas_ram_file/index.vue b/src/views/bas_ram_file/bas_ram_file/index.vue new file mode 100644 index 0000000..1da76b0 --- /dev/null +++ b/src/views/bas_ram_file/bas_ram_file/index.vue @@ -0,0 +1,1204 @@ + + + + + \ No newline at end of file diff --git a/src/views/sheep_death/death/index.vue b/src/views/sheep_death/death/index.vue new file mode 100644 index 0000000..6b3d3ea --- /dev/null +++ b/src/views/sheep_death/death/index.vue @@ -0,0 +1,537 @@ + + + \ No newline at end of file From 89a9107e9ca32206b7b181fad0275f7656f882fd Mon Sep 17 00:00:00 2001 From: HashMap Date: Wed, 6 Aug 2025 17:12:38 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E3=80=81=E7=89=A9=E8=B5=84=E7=AE=A1=E7=90=86=E5=92=8C=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E8=AE=B0=E5=BD=95=E7=9B=B8=E5=85=B3=E7=9A=84API?= =?UTF-8?q?=E5=8F=8A=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/stock/in.js | 44 ++++ src/api/stock/management.js | 44 ++++ src/api/stock/out.js | 44 ++++ src/views/stock/in/index.vue | 313 +++++++++++++++++++++++++++ src/views/stock/management/index.vue | 257 ++++++++++++++++++++++ src/views/stock/out/index.vue | 306 ++++++++++++++++++++++++++ vite.config.js | 2 +- 7 files changed, 1009 insertions(+), 1 deletion(-) create mode 100644 src/api/stock/in.js create mode 100644 src/api/stock/management.js create mode 100644 src/api/stock/out.js create mode 100644 src/views/stock/in/index.vue create mode 100644 src/views/stock/management/index.vue create mode 100644 src/views/stock/out/index.vue diff --git a/src/api/stock/in.js b/src/api/stock/in.js new file mode 100644 index 0000000..a16d659 --- /dev/null +++ b/src/api/stock/in.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询入库记录列表 +export function listIn(query) { + return request({ + url: '/stock/in/list', + method: 'get', + params: query + }) +} + +// 查询入库记录详细 +export function getIn(stockInCode) { + return request({ + url: '/stock/in/' + stockInCode, + method: 'get' + }) +} + +// 新增入库记录 +export function addIn(data) { + return request({ + url: '/stock/in', + method: 'post', + data: data + }) +} + +// 修改入库记录 +export function updateIn(data) { + return request({ + url: '/stock/in', + method: 'put', + data: data + }) +} + +// 删除入库记录 +export function delIn(stockInCode) { + return request({ + url: '/stock/in/' + stockInCode, + method: 'delete' + }) +} diff --git a/src/api/stock/management.js b/src/api/stock/management.js new file mode 100644 index 0000000..da53806 --- /dev/null +++ b/src/api/stock/management.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询物资管理列表 +export function listManagement(query) { + return request({ + url: '/stock/management/list', + method: 'get', + params: query + }) +} + +// 查询物资管理详细 +export function getManagement(materialManagementCode) { + return request({ + url: '/stock/management/' + materialManagementCode, + method: 'get' + }) +} + +// 新增物资管理 +export function addManagement(data) { + return request({ + url: '/stock/management', + method: 'post', + data: data + }) +} + +// 修改物资管理 +export function updateManagement(data) { + return request({ + url: '/stock/management', + method: 'put', + data: data + }) +} + +// 删除物资管理 +export function delManagement(materialManagementCode) { + return request({ + url: '/stock/management/' + materialManagementCode, + method: 'delete' + }) +} diff --git a/src/api/stock/out.js b/src/api/stock/out.js new file mode 100644 index 0000000..8f78f86 --- /dev/null +++ b/src/api/stock/out.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询出库记录列表 +export function listOut(query) { + return request({ + url: '/stock/out/list', + method: 'get', + params: query + }) +} + +// 查询出库记录详细 +export function getOut(stockOutCode) { + return request({ + url: '/stock/out/' + stockOutCode, + method: 'get' + }) +} + +// 新增出库记录 +export function addOut(data) { + return request({ + url: '/stock/out', + method: 'post', + data: data + }) +} + +// 修改出库记录 +export function updateOut(data) { + return request({ + url: '/stock/out', + method: 'put', + data: data + }) +} + +// 删除出库记录 +export function delOut(stockOutCode) { + return request({ + url: '/stock/out/' + stockOutCode, + method: 'delete' + }) +} diff --git a/src/views/stock/in/index.vue b/src/views/stock/in/index.vue new file mode 100644 index 0000000..d97d695 --- /dev/null +++ b/src/views/stock/in/index.vue @@ -0,0 +1,313 @@ + + + diff --git a/src/views/stock/management/index.vue b/src/views/stock/management/index.vue new file mode 100644 index 0000000..22b5ccf --- /dev/null +++ b/src/views/stock/management/index.vue @@ -0,0 +1,257 @@ + + + diff --git a/src/views/stock/out/index.vue b/src/views/stock/out/index.vue new file mode 100644 index 0000000..679dff8 --- /dev/null +++ b/src/views/stock/out/index.vue @@ -0,0 +1,306 @@ + + + diff --git a/vite.config.js b/vite.config.js index 6bfc4a7..9d3e060 100644 --- a/vite.config.js +++ b/vite.config.js @@ -2,7 +2,7 @@ import path from 'path' import { defineConfig, loadEnv } from 'vite' import createVitePlugins from './vite/plugins' -const baseUrl = 'http://localhost:8080' // 后端接口 +const baseUrl = 'http://192.168.2.51:8080' // 后端接口 // https://vitejs.dev/config/ export default defineConfig(({ mode, command }) => { From 69198e1731cfd1b83abd06714fb0efd7995ba526 Mon Sep 17 00:00:00 2001 From: HashMap Date: Wed, 6 Aug 2025 21:12:31 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=89=A9=E8=B5=84?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=92=8C=E5=87=BA=E5=BA=93=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/stock/in/index.vue | 22 +- src/views/stock/management/index.vue | 67 +++- src/views/stock/out/index.vue | 456 ++++++++++++++------------- 3 files changed, 317 insertions(+), 228 deletions(-) diff --git a/src/views/stock/in/index.vue b/src/views/stock/in/index.vue index d97d695..457e850 100644 --- a/src/views/stock/in/index.vue +++ b/src/views/stock/in/index.vue @@ -172,18 +172,18 @@ } /**文件上传中处理 */ -const handleFileUploadProgress = (event, file, fileList) => { - upload.isUploading = true -} + const handleFileUploadProgress = (event, file, fileList) => { + upload.isUploading = true + } -/** 文件上传成功处理 */ -const handleFileSuccess = (response, file, fileList) => { - upload.open = false - upload.isUploading = false - proxy.$refs["uploadRef"].handleRemove(file) - proxy.$alert("
" + response.msg + "
", "导入结果", { dangerouslyUseHTMLString: true }) - getList() -} + /** 文件上传成功处理 */ + const handleFileSuccess = (response, file, fileList) => { + upload.open = false + upload.isUploading = false + proxy.$refs["uploadRef"].handleRemove(file) + proxy.$alert("
" + response.msg + "
", "导入结果", { dangerouslyUseHTMLString: true }) + getList() + } const { queryParams, form, rules } = toRefs(data) diff --git a/src/views/stock/management/index.vue b/src/views/stock/management/index.vue index 22b5ccf..4a59ebb 100644 --- a/src/views/stock/management/index.vue +++ b/src/views/stock/management/index.vue @@ -62,6 +62,9 @@ v-hasPermi="['stock:management:export']" >导出 + + 导入 + @@ -105,12 +108,35 @@ + + + + + +
将文件拖到此处,或点击上传
+ +
+ +
From 9968c67a6b4bb7586d048768773998b28176b2f9 Mon Sep 17 00:00:00 2001 From: HashMap Date: Fri, 8 Aug 2025 16:32:20 +0800 Subject: [PATCH 08/13] =?UTF-8?q?fix(config):=20=E6=94=B9=E5=9B=9E?= =?UTF-8?q?=E4=BA=86baseURL(=E7=94=B1=E4=BA=8E=E4=B8=B4=E6=97=B6=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E5=AF=BC=E8=87=B4=E7=9A=84=E5=90=8E=E7=AB=AF=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E9=94=99=E8=AF=AF)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vite.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vite.config.js b/vite.config.js index 9d3e060..4f45d0f 100644 --- a/vite.config.js +++ b/vite.config.js @@ -2,7 +2,7 @@ import path from 'path' import { defineConfig, loadEnv } from 'vite' import createVitePlugins from './vite/plugins' -const baseUrl = 'http://192.168.2.51:8080' // 后端接口 +const baseUrl = 'http://127.0.0.1:8080' // 后端接口 // https://vitejs.dev/config/ export default defineConfig(({ mode, command }) => { From 61ed6819b4bc019588534401fd5f33fe62a9b216 Mon Sep 17 00:00:00 2001 From: HashMap Date: Tue, 12 Aug 2025 09:47:25 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E9=85=8D=E6=96=B9=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/feed/FeedPlan.js | 44 ++ src/api/feed/FormulaList.js | 44 ++ src/api/feed/FormulaManagement.js | 44 ++ src/api/feed/Material.js | 44 ++ src/views/feed/FeedPlan/index.vue | 347 +++++++++++ src/views/feed/FormulaList/index.vue | 229 +++++++ src/views/feed/FormulaManagement/index.vue | 659 +++++++++++++++++++++ 7 files changed, 1411 insertions(+) create mode 100644 src/api/feed/FeedPlan.js create mode 100644 src/api/feed/FormulaList.js create mode 100644 src/api/feed/FormulaManagement.js create mode 100644 src/api/feed/Material.js create mode 100644 src/views/feed/FeedPlan/index.vue create mode 100644 src/views/feed/FormulaList/index.vue create mode 100644 src/views/feed/FormulaManagement/index.vue diff --git a/src/api/feed/FeedPlan.js b/src/api/feed/FeedPlan.js new file mode 100644 index 0000000..b452daa --- /dev/null +++ b/src/api/feed/FeedPlan.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询饲喂计划列表 +export function listFeedPlan(query) { + return request({ + url: '/feed/FeedPlan/list', + method: 'get', + params: query + }) +} + +// 查询饲喂计划详细 +export function getFeedPlan(createDate) { + return request({ + url: '/feed/FeedPlan/' + createDate, + method: 'get' + }) +} + +// 新增饲喂计划 +export function addFeedPlan(data) { + return request({ + url: '/feed/FeedPlan', + method: 'post', + data: data + }) +} + +// 修改饲喂计划 +export function updateFeedPlan(data) { + return request({ + url: '/feed/FeedPlan', + method: 'put', + data: data + }) +} + +// 删除饲喂计划 +export function delFeedPlan(createDate) { + return request({ + url: '/feed/FeedPlan/' + createDate, + method: 'delete' + }) +} diff --git a/src/api/feed/FormulaList.js b/src/api/feed/FormulaList.js new file mode 100644 index 0000000..13621a4 --- /dev/null +++ b/src/api/feed/FormulaList.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询配方列表列表 +export function listFormulaList(query) { + return request({ + url: '/feed/FormulaList/list', + method: 'get', + params: query + }) +} + +// 查询配方列表详细 +export function getFormulaList(code) { + return request({ + url: '/feed/FormulaList/' + code, + method: 'get' + }) +} + +// 新增配方列表 +export function addFormulaList(data) { + return request({ + url: '/feed/FormulaList', + method: 'post', + data: data + }) +} + +// 修改配方列表 +export function updateFormulaList(data) { + return request({ + url: '/feed/FormulaList', + method: 'put', + data: data + }) +} + +// 删除配方列表 +export function delFormulaList(code) { + return request({ + url: '/feed/FormulaList/' + code, + method: 'delete' + }) +} diff --git a/src/api/feed/FormulaManagement.js b/src/api/feed/FormulaManagement.js new file mode 100644 index 0000000..d78d1a1 --- /dev/null +++ b/src/api/feed/FormulaManagement.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询配方管理列表 +export function listFormulaManagement(query) { + return request({ + url: '/feed/FormulaManagement/list', + method: 'get', + params: query + }) +} + +// 查询配方管理详细 +export function getFormulaManagement(formulaId) { + return request({ + url: '/feed/FormulaManagement/' + formulaId, + method: 'get' + }) +} + +// 新增配方管理 +export function addFormulaManagement(data) { + return request({ + url: '/feed/FormulaManagement', + method: 'post', + data: data + }) +} + +// 修改配方管理 +export function updateFormulaManagement(data) { + return request({ + url: '/feed/FormulaManagement', + method: 'put', + data: data + }) +} + +// 删除配方管理 +export function delFormulaManagement(formulaId) { + return request({ + url: '/feed/FormulaManagement/' + formulaId, + method: 'delete' + }) +} diff --git a/src/api/feed/Material.js b/src/api/feed/Material.js new file mode 100644 index 0000000..b3ec4df --- /dev/null +++ b/src/api/feed/Material.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询原料列表 +export function listMaterial(query) { + return request({ + url: '/feed/material/list', + method: 'get', + params: query + }) +} + +// 查询原料详细 +export function getMaterial(materialId) { + return request({ + url: '/feed/material/' + materialId, + method: 'get' + }) +} + +// 新增原料 +export function addMaterial(data) { + return request({ + url: '/feed/material', + method: 'post', + data: data + }) +} + +// 修改原料 +export function updateMaterial(data) { + return request({ + url: '/feed/material', + method: 'put', + data: data + }) +} + +// 删除原料 +export function delMaterial(materialId) { + return request({ + url: '/feed/material/' + materialId, + method: 'delete' + }) +} diff --git a/src/views/feed/FeedPlan/index.vue b/src/views/feed/FeedPlan/index.vue new file mode 100644 index 0000000..637de88 --- /dev/null +++ b/src/views/feed/FeedPlan/index.vue @@ -0,0 +1,347 @@ + + + diff --git a/src/views/feed/FormulaList/index.vue b/src/views/feed/FormulaList/index.vue new file mode 100644 index 0000000..aff1df4 --- /dev/null +++ b/src/views/feed/FormulaList/index.vue @@ -0,0 +1,229 @@ + + + diff --git a/src/views/feed/FormulaManagement/index.vue b/src/views/feed/FormulaManagement/index.vue new file mode 100644 index 0000000..d37000e --- /dev/null +++ b/src/views/feed/FormulaManagement/index.vue @@ -0,0 +1,659 @@ + + + From 2d47349f244ff119a92a983363354cc47b8bfde8 Mon Sep 17 00:00:00 2001 From: HashMap Date: Tue, 12 Aug 2025 10:15:21 +0800 Subject: [PATCH 10/13] =?UTF-8?q?fix=20(view):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=BA=86=E5=BA=93=E5=AD=98=E7=AE=A1=E7=90=86=E4=B8=AD=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E6=B7=BB=E5=8A=A0=E7=BC=BA=E5=A4=B1=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20=E9=9A=90=E8=97=8F=E4=BA=86=E5=87=BA=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E7=9A=84=E6=89=8B=E5=8A=A8=E5=A2=9E=E5=88=A0=E6=94=B9?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/stock/in/index.vue | 9 +++---- src/views/stock/management/index.vue | 36 +++++++++++++++++++++++++++- src/views/stock/out/index.vue | 6 ++--- 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/views/stock/in/index.vue b/src/views/stock/in/index.vue index 457e850..142ff24 100644 --- a/src/views/stock/in/index.vue +++ b/src/views/stock/in/index.vue @@ -20,16 +20,16 @@ - - 新增 + + 新增 修改 + v-hasPermi="['stock:in:edit']" v-show="false">修改 删除 + v-hasPermi="['stock:in:remove']" v-show="false">删除 import { listIn, getIn, delIn, addIn, updateIn } from "@/api/stock/in" import { getToken } from "@/utils/auth" +import { isVisible } from "element-plus/es/utils/index.mjs" const { proxy } = getCurrentInstance() const inList = ref([]) diff --git a/src/views/stock/management/index.vue b/src/views/stock/management/index.vue index 4a59ebb..47009d2 100644 --- a/src/views/stock/management/index.vue +++ b/src/views/stock/management/index.vue @@ -97,9 +97,43 @@ @pagination="getList" /> - + + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -80,11 +78,11 @@ @@ -152,7 +150,7 @@ - + @@ -164,9 +162,16 @@
+ + + + + - + @@ -176,15 +181,15 @@ - + - + @@ -211,13 +216,15 @@ - + @@ -284,7 +291,8 @@ const isView = ref(false) */ const operationType = ref("") // 操作类型:add 或 update // 控制批号是否可编辑 -const BatchIdEditable = ref(false) +const BatchIdEditable = ref(false) +const FormulaIdEditable = ref(false) // 原料下拉列表 const materials = ref([]) // 原料类型 @@ -313,8 +321,8 @@ const data = reactive({ feedStage: [ { required: true, message: "饲养阶段不能为空", trigger: "blur" } ], - ratio:[ - {required: true, message: "比例不能为空", trigger: "blur"}, + ratio: [ + { required: true, message: "比例不能为空", trigger: "blur" }, ] } }) @@ -341,11 +349,19 @@ function getList() { } // 处理展开行的变化 -function handleExpandChange(row, expanded) { - if (expanded) { - expandedRows.value.push(row.formulaId) // 添加展开的行 - } else { - expandedRows.value = expandedRows.value.filter(id => id !== row.formulaId) // 移除收起的行 +function handleExpandChange(row, expandedRows) { + // 收起其他行 + expandedRows.forEach(r => { + if (r !== row) { + mainTable.value.toggleRowExpansion(r, false) + } + }) + + // 如果是展开状态,刷新子表数据 + const isExpanded = expandedRows.includes(row) + if (isExpanded) { + loading.value = true + getList(); } } @@ -391,20 +407,59 @@ function handleSelectionChange(selection) { } /** 新增按钮操作 */ -function handleAdd() { +function handleAddFormulatemplate() { + formulaFormReset() reset() - open.value = true - title.value = "添加配方管理" + operationType.value = "add" + // 模板禁用批号编辑 + BatchIdEditable.value = false + // 添加模板时配方编号可编辑 + FormulaIdEditable.value = true + isView.value = false + // 初始化表单 + showFormulaManagementList.value = { + formulaId: null, + // 模板批号为 0 + batchId: "0", + feedStage: null, + useStartDate: null, + useEndDate: null, + useState: '1', // 默认启用 + remark: null, + sgFormulaList: [{ + materialId: null, + materialName: null, + ratio: null, + isGranular: "0", + isSupplement: "0" + }] + } + formulaListOpen.value = true + title.value = "添加配方管理模板" } /** 修改按钮操作 */ -function handleUpdate(row) { +function handleFormulaTemplateUpdate(row) { reset() - const _formulaId = row.formulaId || ids.value - getFormulaManagement(_formulaId).then(response => { - form.value = response.data - open.value = true - title.value = "修改配方管理" + operationType.value = "update" + const _id = row.formulaId || ids.value + BatchIdEditable.value = false // 修改时批号不可编辑 + FormulaIdEditable.value = false // 修改时配方编号不可编辑 + const batchId = row.batchId + const queryParams = { + formulaId: _id, + batchId: batchId, + queryType: "query" + } + listFormulaManagement(queryParams).then(response => { + if (response.rows && response.rows.length > 0) { + showFormulaManagementList.value = response.rows[0] // 取第一条记录 + } else { + showFormulaManagementList.value = {} + } + formulaListOpen.value = true + title.value = "修改处方" + isView.value = false }) } @@ -441,12 +496,14 @@ function handleDelete(row) { } /** ================= 配方列表操作 ================= */ -function handleAddSgFormulaList(row){ +function handleAddSgFormulaList(row) { formulaFormReset() reset() operationType.value = "add" BatchIdEditable.value = true + FormulaIdEditable.value = false isView.value = false + console.log(row.sgFormulaList) // 初始化表单 showFormulaManagementList.value = { formulaId: row.formulaId || null, @@ -456,7 +513,7 @@ function handleAddSgFormulaList(row){ useEndDate: null, useState: '1', // 默认启用 remark: null, - sgFormulaList: [{ + sgFormulaList: row.sgFormulaList || [{ materialId: null, materialName: null, ratio: null, @@ -481,15 +538,16 @@ function handleFormulaUpdate(row) { } console.log("formulaForm: ", formulaForm.value) formulaListOpen.value = true + FormulaIdEditable.value = false title.value = "修改配方列表" }) } /** 删除按钮操作 */ -function handleFormulaDelete_Old(row) { - const _codes = row.code || ids.value +function handleFormulaDelete(row) { + const _codes = row.formulaId + "/" + row.batchId proxy.$modal.confirm('是否确认删除配方列表编号为"' + _codes + '"的数据项?').then(function () { - return delFormulaList(_codes) + return delFormulaManagement(_codes) }).then(() => { getList() proxy.$modal.msgSuccess("删除成功") @@ -518,13 +576,13 @@ function submitFormulaListForm() { } // 原料下拉选择变化时,更新对应的原料名称 - function handleMaterialChange(row, selectedValue) { - const selectedItem = this.materials.find(item => item.value === selectedValue); - if (selectedItem) { - // materialName 也在 row 中 - row.materialName = selectedItem.label; - } +function handleMaterialChange(row, selectedValue) { + const selectedItem = this.materials.find(item => item.value === selectedValue); + if (selectedItem) { + // materialName 也在 row 中 + row.materialName = selectedItem.label; } +} /** * 查看详情 From 8b110b3169ed149f168765857a696c68136bce64 Mon Sep 17 00:00:00 2001 From: ll <1079863556@qq.com> Date: Wed, 13 Aug 2025 18:59:24 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E5=A5=B6=E4=BA=A7=E9=87=8F=E5=88=86?= =?UTF-8?q?=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + .../sheepMilkAnalysis/sheepMilkAnalysis.js | 41 +++---- .../dairyProducts/sheepMilkAnalysis/index.vue | 110 +++++++++--------- 3 files changed, 68 insertions(+), 84 deletions(-) diff --git a/package.json b/package.json index a50909e..0abbf3b 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@vueuse/core": "10.11.0", "axios": "0.28.1", "clipboard": "2.0.11", + "date-fns": "^4.1.0", "echarts": "5.5.1", "element-plus": "^2.7.6", "file-saver": "2.0.5", diff --git a/src/api/dairyProducts/sheepMilkAnalysis/sheepMilkAnalysis.js b/src/api/dairyProducts/sheepMilkAnalysis/sheepMilkAnalysis.js index 8e90017..d65fbd0 100644 --- a/src/api/dairyProducts/sheepMilkAnalysis/sheepMilkAnalysis.js +++ b/src/api/dairyProducts/sheepMilkAnalysis/sheepMilkAnalysis.js @@ -1,44 +1,29 @@ +// src/api/dairyProducts/sheepMilkAnalysis/sheepMilkAnalysis.js import request from '@/utils/request' -// 查询羊奶出入库列表 -export function listMilkInOutStore(query) { +// 查询羊奶产量分析列表(分页 + 条件) +export function listSheepMilkAnalysis(query) { return request({ - url: '/milkInOutStore/milkInOutStore/list', + url: '/dairyProducts/sheepMilkAnalysis/list', method: 'get', params: query }) } -// 查询羊奶出入库详细 -export function getMilkInOutStore(id) { +// 查询单个羊奶产量分析详细信息 +export function getSheepMilkAnalysis(sheepId) { return request({ - url: '/milkInOutStore/milkInOutStore/' + id, + url: '/dairyProducts/sheepMilkAnalysis/' + sheepId, method: 'get' }) } -// 新增羊奶出入库 -export function addMilkInOutStore(data) { +// 导出羊奶产量分析 Excel +export function exportSheepMilkAnalysis(query) { return request({ - url: '/milkInOutStore/milkInOutStore', - method: 'post', - data: data - }) -} - -// 修改羊奶出入库 -export function updateMilkInOutStore(data) { - return request({ - url: '/milkInOutStore/milkInOutStore', - method: 'put', - data: data - }) -} - -// 删除羊奶出入库 -export function delMilkInOutStore(id) { - return request({ - url: '/milkInOutStore/milkInOutStore/' + id, - method: 'delete' + url: '/dairyProducts/sheepMilkAnalysis/export', + method: 'get', + params: query, + responseType: 'blob' // 返回二进制流 }) } diff --git a/src/views/dairyProducts/sheepMilkAnalysis/index.vue b/src/views/dairyProducts/sheepMilkAnalysis/index.vue index 64bc19b..eebcfe5 100644 --- a/src/views/dairyProducts/sheepMilkAnalysis/index.vue +++ b/src/views/dairyProducts/sheepMilkAnalysis/index.vue @@ -6,7 +6,7 @@ - + 查询 @@ -18,34 +18,25 @@
导出 - - - {{ col.label }} - - - - - + + + {{ col.label }} + + +
- + @@ -65,6 +56,7 @@ diff --git a/src/views/produce/bodyManage/body_score/index.vue b/src/views/produce/bodyManage/body_score/index.vue index ea09165..3798777 100644 --- a/src/views/produce/bodyManage/body_score/index.vue +++ b/src/views/produce/bodyManage/body_score/index.vue @@ -8,6 +8,11 @@
+ + + + + @@ -17,8 +22,8 @@ style="max-width: 150px;" /> - - + + 删除 @@ -58,27 +63,29 @@ - - + + + + - - + + - + - + @@ -133,8 +140,8 @@ diff --git a/src/views/produce/bodyManage/breast_rating/index.vue b/src/views/produce/bodyManage/breast_rating/index.vue index 28c141f..f10e00d 100644 --- a/src/views/produce/bodyManage/breast_rating/index.vue +++ b/src/views/produce/bodyManage/breast_rating/index.vue @@ -8,6 +8,20 @@ + + + + + + + + + + + + + @@ -23,10 +37,10 @@ 新增 - + 删除 @@ -42,25 +56,33 @@ - + + + + + + + - + - + - + @@ -80,6 +102,11 @@ + + + + @@ -117,7 +144,8 @@ diff --git a/src/views/produce/manage_sheep/changeComment/index.vue b/src/views/produce/manage_sheep/changeComment/index.vue index 775410f..b689ebe 100644 --- a/src/views/produce/manage_sheep/changeComment/index.vue +++ b/src/views/produce/manage_sheep/changeComment/index.vue @@ -36,10 +36,10 @@ 新增 - + 删除 @@ -66,8 +66,8 @@
@@ -90,7 +90,7 @@ - +
\ No newline at end of file diff --git a/src/views/produce/other/fixHoof/index.vue b/src/views/produce/other/fixHoof/index.vue index 15b0e4b..40da417 100644 --- a/src/views/produce/other/fixHoof/index.vue +++ b/src/views/produce/other/fixHoof/index.vue @@ -219,9 +219,9 @@ async function loadSheepInfo() { form.value.tagDetails = tagDetails; if (validTags.length > 0) { - const firstValidTag = validTags[0]; 耳号 + const firstValidTag = validTags[0]; const firstSheepfoldId = tagDetails[firstValidTag].sheepfoldId; - form.value.sheepfold = firstSheepfoldId; + form.value.sheepfold = firstSheepfoldId; } }