From 021d698688f577b0e701cfdfe1004443e17f2d75 Mon Sep 17 00:00:00 2001
From: HanLong <404402223@qq.com>
Date: Wed, 7 Jan 2026 15:35:31 +0800
Subject: [PATCH] =?UTF-8?q?feat:[=E8=AF=95=E9=AA=8C=E7=AE=A1=E7=90=86][?=
=?UTF-8?q?=E9=A5=B2=E5=85=BB=E9=97=B4=E7=AE=A1=E7=90=86]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/business/public/public.js | 21 ++
src/api/business/study/studyRoom.js | 47 ++++
src/lang/en/business/study/studyRoom.js | 21 ++
src/lang/zh/business/study/studyRoom.js | 21 ++
.../business/comps/select/SelectAnimalSpecies.vue | 92 +++++++
src/views/business/comps/select/SelectCage.vue | 104 ++++++++
src/views/business/comps/select/SelectRoom.vue | 42 +++-
src/views/business/comps/select/SelectTestArea.vue | 2 +-
src/views/business/study/comp/syj/Bj.vue | 159 ++++++++++++
src/views/business/study/comp/syj/Jl.vue | 113 +++++++++
src/views/business/study/comp/syj/Js.vue | 173 +++++++++++++
src/views/business/study/comp/syj/Xz.vue | 148 +++--------
src/views/business/study/comp/syjList.vue | 275 +++++++--------------
vue.config.js | 4 +-
14 files changed, 907 insertions(+), 315 deletions(-)
create mode 100644 src/api/business/study/studyRoom.js
create mode 100644 src/views/business/comps/select/SelectAnimalSpecies.vue
create mode 100644 src/views/business/comps/select/SelectCage.vue
create mode 100644 src/views/business/study/comp/syj/Bj.vue
create mode 100644 src/views/business/study/comp/syj/Jl.vue
create mode 100644 src/views/business/study/comp/syj/Js.vue
diff --git a/src/api/business/public/public.js b/src/api/business/public/public.js
index 41188ab..cd6c810 100644
--- a/src/api/business/public/public.js
+++ b/src/api/business/public/public.js
@@ -37,3 +37,24 @@ export function public_studyFormPreList(query) {
params: query
})
}
+<<<<<<< HEAD
+=======
+
+// 试验区域-饲养间列表
+export function public_roomList(query) {
+ return request({
+ url: '/system/business/public/roomList',
+ method: 'get',
+ params: query
+ })
+}
+
+// 动物种属-笼具列表
+export function public_animalSpeciesList(query) {
+ return request({
+ url: '/system/business/public/animalSpeciesList',
+ method: 'get',
+ params: query
+ })
+}
+>>>>>>> 980f3ba (feat:[试验管理][饲养间管理])
diff --git a/src/api/business/study/studyRoom.js b/src/api/business/study/studyRoom.js
new file mode 100644
index 0000000..b0de015
--- /dev/null
+++ b/src/api/business/study/studyRoom.js
@@ -0,0 +1,47 @@
+import request from '@/utils/request'
+
+// 启用饲养间
+export function studyRoom_save(data) {
+ return request({
+ url: '/system/business/studyRoom/save',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更换笼具
+export function studyRoom_update(data) {
+ return request({
+ url: '/system/business/studyRoom/update',
+ method: 'post',
+ data: data
+ })
+}
+
+// 饲养间列表
+export function studyRoom_list(query) {
+ return request({
+ url: '/system/business/studyRoom/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 笼具更换记录列表
+export function studyRoom_historyList(query) {
+ return request({
+ url: '/system/business/studyRoom/historyList',
+ method: 'get',
+ params: query
+ })
+}
+// 饲养间结束使用
+export function studyRoom_js(data) {
+ return request({
+ url: '/system/business/studyRoom/js',
+ method: 'post',
+ data: data
+ })
+}
+
+
diff --git a/src/lang/en/business/study/studyRoom.js b/src/lang/en/business/study/studyRoom.js
index 6e93ae1..52db2b8 100644
--- a/src/lang/en/business/study/studyRoom.js
+++ b/src/lang/en/business/study/studyRoom.js
@@ -1,4 +1,25 @@
export default {
qysyj: '启用饲养间',
xzqy: '新增启用',
+
+ syqy: '试验区域',
+ syjh: '饲养间号',
+ dwzs: '动物种属',
+ longju: '笼具',
+ kssyyl: '开始使用原因',
+ qyr: '启用人',
+ kssj: '开始时间',
+ jssyyl: '结束使用原因',
+ jsr: '结束人',
+ jssj: '结束时间',
+ zt: '状态',
+ syz: '使用中',
+ yjs: '已结束',
+ ghlj: '更换笼具',
+ js: '结束',
+ ljjl: '笼具记录',
+ ghr: '更换人',
+ ghsj: '更换时间',
+ ghqlj: '更换前笼具',
+ ghhlj: '更换后笼具',
}
\ No newline at end of file
diff --git a/src/lang/zh/business/study/studyRoom.js b/src/lang/zh/business/study/studyRoom.js
index 6e93ae1..52db2b8 100644
--- a/src/lang/zh/business/study/studyRoom.js
+++ b/src/lang/zh/business/study/studyRoom.js
@@ -1,4 +1,25 @@
export default {
qysyj: '启用饲养间',
xzqy: '新增启用',
+
+ syqy: '试验区域',
+ syjh: '饲养间号',
+ dwzs: '动物种属',
+ longju: '笼具',
+ kssyyl: '开始使用原因',
+ qyr: '启用人',
+ kssj: '开始时间',
+ jssyyl: '结束使用原因',
+ jsr: '结束人',
+ jssj: '结束时间',
+ zt: '状态',
+ syz: '使用中',
+ yjs: '已结束',
+ ghlj: '更换笼具',
+ js: '结束',
+ ljjl: '笼具记录',
+ ghr: '更换人',
+ ghsj: '更换时间',
+ ghqlj: '更换前笼具',
+ ghhlj: '更换后笼具',
}
\ No newline at end of file
diff --git a/src/views/business/comps/select/SelectAnimalSpecies.vue b/src/views/business/comps/select/SelectAnimalSpecies.vue
new file mode 100644
index 0000000..507509f
--- /dev/null
+++ b/src/views/business/comps/select/SelectAnimalSpecies.vue
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/business/comps/select/SelectCage.vue b/src/views/business/comps/select/SelectCage.vue
new file mode 100644
index 0000000..a6662eb
--- /dev/null
+++ b/src/views/business/comps/select/SelectCage.vue
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/business/comps/select/SelectRoom.vue b/src/views/business/comps/select/SelectRoom.vue
index db6cd82..2c36d48 100644
--- a/src/views/business/comps/select/SelectRoom.vue
+++ b/src/views/business/comps/select/SelectRoom.vue
@@ -1,8 +1,9 @@
-
-
+
+
@@ -14,7 +15,7 @@ export default {
components: {},
props: {
value: {
- type: [Number, String , Array],
+ type: [Number, String, Array],
default: '',
},
// 试验区域
@@ -28,7 +29,7 @@ export default {
},
multiple: {
type: Boolean,
- default: true
+ default: false
},
filterable: {
type: Boolean,
@@ -40,24 +41,31 @@ export default {
}
},
watch: {
+ testArea: {
+ immediate: true,
+ handler(v) {
+ this.getList();
+ }
+ },
value: {
immediate: true,
handler(v) {
- if(!this.multiple){
+ if (!this.multiple) {
this.selected = v ? v : ''
- }else{
- if(v){
+ } else {
+ if (v) {
//默认传的,分割的字符串,有传数组再改造
let arr = v.split(',')
let s = []
- _.forEach(arr,a=>{
+ _.forEach(arr, a => {
s.push(a)
})
this.selected = s
- }else{
+ } else {
this.selected = []
}
}
+ this.getList();
}
}
},
@@ -65,7 +73,7 @@ export default {
return {
selected: '',
list: [],
- queryParam:{
+ queryParam: {
}
};
},
@@ -75,9 +83,17 @@ export default {
methods: {
getList() {
this.list = []
- public_roomList({syqy: this.testArea}).then(response => {
- this.list = response.data || []
- })
+ if (this.testArea) {
+ public_roomList({ syqy: this.testArea }).then(response => {
+ response.data.forEach(item => {
+ if (this.list.indexOf(item.syjh) < 0) {
+ this.list.push(item.syjh)
+ }
+ })
+ })
+
+ }
+
},
handleChange(val) {
this.$emit('input', val)
diff --git a/src/views/business/comps/select/SelectTestArea.vue b/src/views/business/comps/select/SelectTestArea.vue
index 455a7bc..3912ce2 100644
--- a/src/views/business/comps/select/SelectTestArea.vue
+++ b/src/views/business/comps/select/SelectTestArea.vue
@@ -28,7 +28,7 @@ export default {
},
multiple: {
type: Boolean,
- default: true
+ default: false
},
filterable: {
type: Boolean,
diff --git a/src/views/business/study/comp/syj/Bj.vue b/src/views/business/study/comp/syj/Bj.vue
new file mode 100644
index 0000000..859dd05
--- /dev/null
+++ b/src/views/business/study/comp/syj/Bj.vue
@@ -0,0 +1,159 @@
+G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/business/study/comp/syj/Jl.vue b/src/views/business/study/comp/syj/Jl.vue
new file mode 100644
index 0000000..4987550
--- /dev/null
+++ b/src/views/business/study/comp/syj/Jl.vue
@@ -0,0 +1,113 @@
+G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('form.search') }}
+ {{ $t('form.reset') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/business/study/comp/syj/Js.vue b/src/views/business/study/comp/syj/Js.vue
new file mode 100644
index 0000000..a5d2426
--- /dev/null
+++ b/src/views/business/study/comp/syj/Js.vue
@@ -0,0 +1,173 @@
+G
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/business/study/comp/syj/Xz.vue b/src/views/business/study/comp/syj/Xz.vue
index acac398..1bbba17 100644
--- a/src/views/business/study/comp/syj/Xz.vue
+++ b/src/views/business/study/comp/syj/Xz.vue
@@ -1,82 +1,41 @@
G
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -88,6 +47,8 @@ G
:placeholder="$t('form.placeholderInput')" />
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+