@@ -209,6 +226,7 @@ import { ElMessage } from 'element-plus'
import { useRoute, useRouter } from 'vue-router'
const { proxy } = getCurrentInstance()
+const { treat_status } = proxy.useDict("treat_status")
const route = useRoute()
const router = useRouter()
@@ -346,11 +364,11 @@ const rules = {
}
const swPresDetailList = ref([
- { mediId: null, dosage: 0, unitId: null, usageId: null, manufacturer: '', batchNumber: '' }
+ { mediId: null, dosage: 0, unitId: null, usageId: null, usetime: new Date(),manufacturer: '', batchNumber: '' }
])
const handleAddSwPresDetail = () => {
- swPresDetailList.value.push({ mediId: null, dosage: 0, unitId: null, usageId: null, manufacturer: '', batchNumber: '' })
+ swPresDetailList.value.push({ mediId: null, dosage: 0, unitId: null, usageId: null,usetime: new Date(), manufacturer: '', batchNumber: '' })
}
const deletePresDetail = (row) => {
@@ -380,6 +398,8 @@ function submitForm() {
dosage: item.dosage,
unit: item.unitId,
usageId: item.usageId,
+ usetime: item.usetime ? new Date(item.usetime).getTime() : null,
+
manufacturer: item.manufacturer,
batchNumber: item.batchNumber
}))
diff --git a/src/views/biosafety/treatment/index.vue b/src/views/biosafety/treatment/index.vue
index 54fe254..e5bce04 100644
--- a/src/views/biosafety/treatment/index.vue
+++ b/src/views/biosafety/treatment/index.vue
@@ -2,13 +2,18 @@
-
-
-
+
+
+
+
+
+
+
+
@@ -26,6 +31,10 @@
修改
+
+
+ 诊疗
+
删除
@@ -38,6 +47,11 @@
+
+
+ {{ parseTime(scope.row.datetime, '{y}-{m}-{d}') }}
+
+
@@ -49,18 +63,17 @@
-
-
- {{ parseTime(scope.row.datetime, '{y}-{m}-{d}') }}
-
-
+
+
+
修改
- 诊断
+ 诊断
删除
@@ -70,8 +83,8 @@
v-model:limit="queryParams.pageSize" @pagination="getList" />
-
-
+
+
@@ -133,16 +146,16 @@
{{ scope.$index + 1 }}
-
+
-
+
-
+
@@ -159,12 +172,18 @@
-
+
+
+
+
+
+
-
+
@@ -182,6 +201,13 @@
+
+
+
+
+
+
+
@@ -199,7 +225,7 @@
-
+
@@ -261,14 +287,14 @@
-
+
@@ -313,23 +339,29 @@
-
+
-
+
-
+
+
+
+
+
+
-
+
@@ -347,6 +379,13 @@
+
+
+
+
+
+
+
@@ -354,6 +393,7 @@
+
+
+
+
+
+ {{ no }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确认
+
+
@@ -369,6 +435,7 @@
import { ref, reactive, onMounted, getCurrentInstance } from 'vue'
import { listTreatment, getTreatment, delTreatment, addTreatment, updateTreatment } from '@/api/biosafety/treatment'
import { listDisease } from '@/api/biosafety/disease'
+import { listSheepfold_management } from "@/api/fileManagement/sheepfold_management"
import { listPrescription, getPrescription } from '@/api/biosafety/prescription'
import { listUnit } from '@/api/biosafety/unit'
import { listUsage } from '@/api/biosafety/usage'
@@ -379,7 +446,8 @@ import { useRouter } from 'vue-router'
const router = useRouter()
const { proxy } = getCurrentInstance()
-const { sheep_gender } = proxy.useDict("sheep_gender")
+const { sheep_gender, diag_result, treat_status } = proxy.useDict("sheep_gender", "diag_result", "treat_status")
+
/* ---------- 列表区域 ---------- */
const treatmentList = ref([])
@@ -390,6 +458,7 @@ const single = ref(true)
const multiple = ref(true)
const total = ref(0)
const daterangeDatetime = ref([])
+const sheepfolds = ref([])
const queryParams = reactive({
pageNum: 1,
@@ -421,6 +490,7 @@ const addForm = reactive({
diseasePid: null,
diseaseId: null,
veterinarian: '',
+ stats: '',
comment: ''
})
@@ -438,6 +508,7 @@ const editForm = reactive({
sheepType: '',
monthAge: '',
gender: '',
+ status: '',
parity: '',
breed: '',
lactDay: '',
@@ -451,9 +522,44 @@ const rules = {
}
const swPresDetailList = ref([
- { mediId: null, dosage: 0, unit: null, usageId: null, manufacturer: '', batchNumber: '' }
+ { mediId: null, dosage: 0, unit: null, usageId: null, usetime: new Date().toISOString().slice(0, 10), manufacturer: '', batchNumber: '' }
])
+/* ---------- 新增诊疗 ---------- */
+const diagnosisDialog = ref(false)
+const selectedSheepNos = ref([])
+const addDia = reactive({
+ sheepfoldId: null,
+ result: null,
+ datetime: new Date().toISOString().slice(0, 10)
+})
+
+
+function handleAddDiagnosis() {
+ if (!ids.value.length) {
+ proxy.$modal.msgWarning('请至少选择一条治疗记录')
+ return
+ }
+ selectedSheepNos.value = treatmentList.value
+ .filter(item => ids.value.includes(item.id))
+ .map(item => item.sheepNo)
+ diagnosisDialog.value = true
+}
+
+function submitDiagnosis() {
+ const data = {
+ treatIds: ids.value,
+ result: addDia.result,
+ datetime: addDia.datetime,
+ sheepfoldId: addDia.sheepfoldId
+ }
+ request.post('/diagnosis/diagnosis/adds', data).then(() => {
+ proxy.$modal.msgSuccess('诊疗成功')
+ diagnosisDialog.value = false
+ getList()
+ })
+}
+
/* ---------- 列表查询 ---------- */
function getList() {
loading.value = true
@@ -498,7 +604,15 @@ function handleSelectPrescription(id) {
/* ---------- 药品明细 ---------- */
function handleAddSwPresDetail() {
- swPresDetailList.value.push({ mediId: null, dosage: 0, unit: null, usageId: null, manufacturer: '', batchNumber: '' })
+ swPresDetailList.value.push({
+ mediId: null,
+ dosage: 0,
+ unit: null,
+ usageId: null,
+ usetime: new Date().toISOString().slice(0, 10),
+ manufacturer: '',
+ batchNumber: ''
+ })
}
function deletePresDetail(row) {
swPresDetailList.value.splice(swPresDetailList.value.indexOf(row), 1)
@@ -572,6 +686,7 @@ function handleUpdate(row) {
gender: res.data.gender,
parity: res.data.parity,
breed: res.data.breed,
+ status: res.data.status,
lactDay: res.data.lactDay,
gestDay: res.data.gestDay
})
@@ -614,7 +729,7 @@ function handleDelete(row) {
.then(() => { getList(); proxy.$modal.msgSuccess('删除成功') })
}
function handleExport() {
- proxy.download('treatment/treatment/export', { ...queryParams }, `treatment_${Date.now()}.xlsx`)
+ proxy.download('treatment/treatment/export', { ...queryParams }, `治疗记录_${Date.now()}.xlsx`)
}
function resetForm(formObj) {
Object.assign(formObj, {
@@ -668,6 +783,8 @@ onMounted(() => {
listMedicine().then(res => {
medicines.value = res.rows.map(item => ({ value: item.id, label: item.name }))
})
+ listSheepfold_management().then(res => {
+ sheepfolds.value = res.rows.map(item => ({ id: item.id, name: item.sheepfoldName }))
+ })
})
-
diff --git a/src/views/biosafety/usageInfo/index.vue b/src/views/biosafety/usageInfo/index.vue
index 2798caf..ddb9c8d 100644
--- a/src/views/biosafety/usageInfo/index.vue
+++ b/src/views/biosafety/usageInfo/index.vue
@@ -1,117 +1,217 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
搜索
重置
-
- 导出
+
+ 导出
+
-
+
+
+
+ {{ parseTime(scope.row.datetime, '{y}-{m}-{d}') }}
+
+
+
+
-
+
- {{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{m}:{s}') }}
+ {{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{m}') }}
-
+
+
- 详情
-
+
+ 详情
+
-
+
-
-
+
+
-
-
- {{ form.name }}
-
-
+ {{ form.name }}
-
- {{pres_type.find(it => it.value === form.useType)?.label || ''}}
+
+ {{ pres_type.find(it => it.value === form.useType)?.label || '' }}
-
- {{ parseTime(form.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
+ {{ parseTime(form.createTime, '{y}-{m}-{d} {h}:{i}') }}
-
+
-
-
+
+
+
+ {{ parseTime(scope.row.usetime, '{y}-{m}-{d}') }}
+
+
-
关 闭
@@ -120,10 +220,10 @@
\ No newline at end of file
+
+// 表单重置
+function reset() {
+ form.value = {
+ id: null,
+ parity: null,
+ coef: null
+ }
+ proxy.resetForm("parityCorrectionRef")
+}
+
+/** 搜索按钮操作 */
+function handleQuery() {
+ queryParams.value.pageNum = 1
+ getList()
+}
+
+/** 重置按钮操作 */
+function resetQuery() {
+ proxy.resetForm("queryRef")
+ handleQuery()
+}
+
+// 多选框选中数据
+function handleSelectionChange(selection) {
+ ids.value = selection.map(item => item.id)
+ single.value = selection.length != 1
+ multiple.value = !selection.length
+}
+
+/** 新增按钮操作 */
+function handleAdd() {
+ reset()
+ open.value = true
+ title.value = "添加胎次校正"
+}
+
+/** 修改按钮操作 */
+function handleUpdate(row) {
+ reset()
+ const _id = row.id || ids.value
+ getParityCorrection(_id).then(response => {
+ form.value = response.data
+ open.value = true
+ title.value = "修改胎次校正"
+ })
+}
+
+/** 提交按钮 */
+function submitForm() {
+ proxy.$refs["parityCorrectionRef"].validate(valid => {
+ if (valid) {
+ if (form.value.id != null) {
+ updateParityCorrection(form.value).then(() => {
+ proxy.$modal.msgSuccess("修改成功")
+ open.value = false
+ getList()
+ })
+ } else {
+ addParityCorrection(form.value).then(() => {
+ proxy.$modal.msgSuccess("新增成功")
+ open.value = false
+ getList()
+ })
+ }
+ }
+ })
+}
+
+/** 删除按钮操作 */
+function handleDelete(row) {
+ const _ids = row.id || ids.value
+ proxy.$modal.confirm('是否确认删除胎次校正编号为"' + _ids + '"的数据项?').then(function() {
+ return delParityCorrection(_ids)
+ }).then(() => {
+ getList()
+ proxy.$modal.msgSuccess("删除成功")
+ }).catch(() => {})
+}
+
+getList()
+
diff --git a/src/views/dairyProducts/rawMilkTest/rawMilkTest/index.vue b/src/views/dairyProducts/rawMilkTest/rawMilkTest/index.vue
index cc368f9..f37b226 100644
--- a/src/views/dairyProducts/rawMilkTest/rawMilkTest/index.vue
+++ b/src/views/dairyProducts/rawMilkTest/rawMilkTest/index.vue
@@ -236,6 +236,10 @@
diff --git a/src/views/feed/FeedPlan/index.vue b/src/views/feed/FeedPlan/index.vue
new file mode 100644
index 0000000..aee8781
--- /dev/null
+++ b/src/views/feed/FeedPlan/index.vue
@@ -0,0 +1,419 @@
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+ {{ getSheepHouseName(scope.row.sheepHouseId) }}
+
+
+
+
+
+
+
+
+ {{ row.planMorningSize ? row.planMorningSize.toFixed(2) : '0.00' }}
+
+
+
+
+
+
+
+
+ {{ row.planNoonSize ? row.planNoonSize.toFixed(2) : '0.00' }}
+
+
+
+
+
+
+
+
+ {{ row.planAfternoonSize ? row.planAfternoonSize.toFixed(2) : '0.00' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.planDate ? parseTime(scope.row.planDate, '{y}-{m}-{d}') : '' }}
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/feed/FeedStatistic/index.vue b/src/views/feed/FeedStatistic/index.vue
new file mode 100644
index 0000000..77c5252
--- /dev/null
+++ b/src/views/feed/FeedStatistic/index.vue
@@ -0,0 +1,636 @@
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 配方列表
+
+
+
+ 添加
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+ 羊舍列表
+
+
+
+ 添加
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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..a55708a
--- /dev/null
+++ b/src/views/feed/FormulaManagement/index.vue
@@ -0,0 +1,770 @@
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.useStartDate, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ parseTime(scope.row.useEndDate, '{y}-{m}-{d}') }}
+
+
+
+
+
+
+
+
+
+
+ 详情
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ showFormulaManagementList.batchId }}
+ {{ showFormulaManagementList.feedStage }}
+
+ {{ parseTime(showFormulaManagementList.useStartDate, '{y}-{m}-{d}') }}
+
+
+ {{ parseTime(showFormulaManagementList.useEndDate, '{y}-{m}-{d}') }}
+
+
+
+
+
+ {{ showFormulaManagementList.remark || '无' }}
+
+
+
+ 配方列表
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 配方详情
+
+
+
+ 添加
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/mating_plan/mating_plan/generate/index.vue b/src/views/mating_plan/mating_plan/generate/index.vue
index a81af82..39509a1 100644
--- a/src/views/mating_plan/mating_plan/generate/index.vue
+++ b/src/views/mating_plan/mating_plan/generate/index.vue
@@ -9,6 +9,24 @@
@keyup.enter="handleQuery"
/>
+
+
+
+
+
+
+
+
+
@@ -48,6 +66,13 @@
+
+
+ 同期发情配种计划
+ 本交配种计划
+ 未知类型
+
+
{{ scope.row.planDate }}
@@ -82,6 +107,7 @@
v-hasPermi="['mating_plan:generate:approve']"
v-if="scope.row.status == 0"
>审批
+
-
-
-
暂无数据
-
数据数组长度: {{ breedPlanGenerateList.length }}
-
总数: {{ total }}
-
加载状态: {{ loading }}
-
-
+
+
+
+
+
+ 同期发情配种计划
+ 本交配种计划
+
+
+ 计划名称将自动生成为:{{ getCurrentDate() }}{{ getPlanTypeName(generateForm.planType) }}
+
+
+
+
+
+
@@ -130,6 +164,7 @@
+
@@ -156,6 +191,7 @@
+
@@ -174,10 +210,106 @@
+
+
+
+
+
+ {{ approveData.planInfo.planName }}
+
+ 同期发情配种计划
+ 本交配种计划
+
+ {{ approveData.planInfo.planDate }}
+ {{ approveData.planInfo.totalEweCount }}
+ {{ approveData.planInfo.totalRamCount }}
+ {{ approveData.planInfo.breedRatio }}
+
+
+ 配种计划详情(可编辑)
+
+
+
+
+
+
+ 是
+ 否
+
+
+
+
+ 是
+ 否
+
+
+
+
+ 查看
+
+
+
+
+
+
+
+
+
+
+
+ 当前: {{ scope.row.ram_manage_tags || scope.row.ram_id }}
+
+
+
+
+
+
+
+ 查看
+
+
+
+
+
+
+
+
+
-
+
{{ planInfo.planName }}
+
+ 同期发情配种计划
+ 本交配种计划
+
{{ planInfo.planDate }}
待审批
@@ -193,29 +325,90 @@
{{ planInfo.approver }}
+
+
+
+ 导出配种计划详情
+
+
+
配种计划详情
-
-
-
-
-
-
-
+
+
+
+
+
- 自然交配
- 人工授精
- 胚胎移植
+ 是
+ 否
+
+
+
+
+ 是
+ 否
+
+
+
+
+ 查看
+
+
+
+
+
+
+
+ 查看
+
+
+
+
+
+ 同期发情
+ 本交
未知类型
+
+
+
+
+ {{ sheepDetail.manage_tags }}
+ {{ sheepDetail.variety }}
+ {{ sheepDetail.family }}
+ {{ sheepDetail.sheep_type }}
+ {{ sheepDetail.breed_status }}
+ {{ sheepDetail.birthday }}
+ {{ sheepDetail.month_age }}
+ {{ sheepDetail.current_weight }}kg
+ {{ sheepDetail.parity }}
+
+ 是
+ 否
+
+
+ 是
+ 否
+
+ {{ sheepDetail.sheepfold_name }}
+ {{ sheepDetail.comment }}
+ {{ sheepDetail.reproduction_info }}
+
+
-// 初始加载数据
-getList()
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/views/mating_plan/mating_plan/index.vue b/src/views/mating_plan/mating_plan/mating_plan/index.vue
similarity index 66%
rename from src/views/mating_plan/mating_plan/index.vue
rename to src/views/mating_plan/mating_plan/mating_plan/index.vue
index ab78192..c84f453 100644
--- a/src/views/mating_plan/mating_plan/index.vue
+++ b/src/views/mating_plan/mating_plan/mating_plan/index.vue
@@ -3,18 +3,18 @@
@@ -26,40 +26,40 @@
新增
修改
删除
导出
@@ -67,10 +67,17 @@
-
+
-
+
+
+ 自然交配
+ 人工授精
+ 胚胎移植
+ 未知类型
+
+
修改
@@ -80,11 +87,11 @@
@@ -96,6 +103,13 @@
+
+
+
+
+
+
+
-
-
-
-
- 将文件拖到此处,或点击上传
-
-
- 下载模板
- 确 定
-
-
+
+
+
+
+ 将文件拖到此处,或点击上传
+
+
+ 下载模板
+ 确 定
+
+
+