修蹄,去势修改,新增羊只页面

This commit is contained in:
zyh
2025-07-14 16:40:36 +08:00
parent 5d4b182f8d
commit d26bd861fd
5 changed files with 128 additions and 144 deletions

View File

@@ -1,18 +1,20 @@
<template>
<div class="app-container">
<el-button type="warning" @click="handleExportForm">导出当前表单</el-button>
<el-button type="info" plain icon="Upload" @click="handleImport"
<el-button type="warning" icon="Upload" @click="handleExportForm">导出</el-button>
<el-button type="primary" plain icon="Plus" @click="handleImport"
v-hasPermi="['produce:add_sheep:import']">导入</el-button>
<el-form :model="form" ref="formRef" label-position="left" label-width="100px">
<el-form :model="form" ref="formRef" label-position="left" label-width="100px" style="margin-top:15px">
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="羊只id" prop="sheepId">
<el-input v-model="form.sheepId" placeholder="请输入羊只id" />
<el-form-item label="耳号" prop="earNumber">
<el-input v-model="form.earNumber" placeholder="请输入羊只id" />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="羊舍" prop="sheepfold">
<el-input v-model="form.sheepfold" placeholder="请输入羊舍" />
<el-select v-model="form.sheepfold" placeholder="请选择羊舍" clearable>
<el-option v-for="item in sheepfoldOptions" :key="item.id" :label="item.sheepfoldName" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@@ -46,6 +48,8 @@
<el-select v-model="form.gender" placeholder="请选择性别">
<el-option label="公" value="1" />
<el-option label="母" value="0" />
<el-option label="阉羊" value="2" />
<el-option label="兼性" value="3" />
</el-select>
</el-form-item>
</el-col>
@@ -105,9 +109,10 @@
<script setup>
import { ref } from 'vue';
import { addSheep } from '@/api/produce/manage_sheep/add_sheep/add_sheep';
import { listSheepfold_management as listSheepfold } from '@/api/sheepfold_management/sheepfold_management';
const form = ref({
sheepId: '',
earNumber: '',
sheepfold: '',
father: '',
mother: '',
@@ -124,8 +129,8 @@ const form = ref({
const formRef = ref(null);
const rules = {
sheepId: [{ required: true, message: '请输入羊只id', trigger: 'blur' }],
sheepfold: [{ required: true, message: '请输入羊舍', trigger: 'blur' }],
earNumber: [{ required: true, message: '请输入耳号', trigger: 'blur' }],
sheepfold: [{ required: true, message: '请输入羊舍', trigger: 'change' }],
father: [{ message: '请输入父号', trigger: 'blur' }],
mother: [{ message: '请输入母号', trigger: 'blur' }],
bornWeight: [{ required: true, message: '请输入出生体重', trigger: 'blur' }],
@@ -160,7 +165,7 @@ const submitForm = () => {
};
const resetForm = () => {
form.value = {
sheepId: '',
earNumber: '',
sheepfold: '',
father: '',
mother: '',
@@ -214,6 +219,20 @@ function handleImportSuccess(res) {
function handleImportError(err) {
proxy.$modal.msgError(JSON.parse(err.message)?.msg || '导入失败');
}
/**获取羊舍数据 */
const sheepfoldOptions = ref([]);
function getSheepfoldOptions() {
listSheepfold({ pageNum: 1, pageSize: 9999 }).then(res => {
sheepfoldOptions.value = res.rows;
});
}
onMounted(() => {
getSheepfoldOptions();
});
</script>
<style scoped>

View File

@@ -4,11 +4,15 @@
<el-form-item label="羊只id" prop="sheepId">
<el-input v-model="queryParams.sheepId" placeholder="请输入羊只id" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="转入羊舍" prop="foldTo">
<el-input v-model="queryParams.foldTo" placeholder="请输入转入羊舍" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="转出羊舍" prop="foldFrom">
<el-input v-model="queryParams.foldFrom" placeholder="请输入转出羊舍" clearable @keyup.enter="handleQuery" />
<el-select v-model="queryParams.foldFrom" placeholder="请选择转出羊舍" style="min-width:150px" clearable>
<el-option v-for="item in sheepfoldOptions" :key="item.id" :label="item.sheepfoldName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="转入羊舍" prop="foldTo">
<el-select v-model="queryParams.foldTo" placeholder="请选择转入羊舍" style="min-width:150px" clearable>
<el-option v-for="item in sheepfoldOptions" :key="item.id" :label="item.sheepfoldName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" style="width: 150px;" placeholder="请选择状态" clearable>
@@ -49,9 +53,9 @@
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="${comment}" align="center" prop="id" /> -->
<el-table-column label="羊只id" align="center" prop="sheepId" />
<el-table-column label="转羊舍" align="center" prop="foldTo" />
<el-table-column label="转羊舍" align="center" prop="foldFrom" />
<el-table-column label="转群原因" align="center" prop="reason" min-width="160">
<el-table-column label="转羊舍" align="center" prop="foldFromName" />
<el-table-column label="转羊舍" align="center" prop="foldToName" />
<el-table-column label="转群原因" align="center" prop="reason" min-width="160">
<template #default="scope">
<dict-tag :options="trans_group_reason" :value="scope.row.reason" />
</template>
@@ -83,8 +87,8 @@
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改转群记录对话框 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
@@ -92,11 +96,15 @@
<el-form-item label="羊只id" prop="sheepId">
<el-input v-model="form.sheepId" placeholder="请输入羊只id" />
</el-form-item>
<el-form-item label="转入羊舍" prop="foldTo">
<el-input v-model="form.foldTo" placeholder="请输入转入羊舍" />
</el-form-item>
<el-form-item label="转出羊舍" prop="foldFrom">
<el-input v-model="form.foldFrom" placeholder="请输入转出羊舍" />
<el-select v-model="form.foldFrom" placeholder="请选择转出羊舍" clearable>
<el-option v-for="fold in sheepfoldOptions" :key="fold.id" :label="fold.sheepfoldName" :value="fold.id" />
</el-select>
</el-form-item>
<el-form-item label="转入羊舍" prop="foldTo">
<el-select v-model="form.foldTo" placeholder="请选择转入羊舍" clearable>
<el-option v-for="fold in sheepfoldOptions" :key="fold.id" :label="fold.sheepfoldName" :value="fold.id" />
</el-select>
</el-form-item>
<el-form-item label="转群原因" prop="reason">
<el-select v-model="form.reason" placeholder="请选择转群原因">
@@ -155,6 +163,7 @@
<script setup name="Trans_group">
import { listTrans_group, getTrans_group, delTrans_group, addTrans_group, updateTrans_group } from "@/api/produce/manage_sheep/trans_group/trans_group"
import { listSheepfold_management as listSheepfold } from '@/api/sheepfold_management/sheepfold_management';
const { proxy } = getCurrentInstance()
const { trans_group_reason, status } = proxy.useDict('trans_group_reason', 'status')
@@ -317,7 +326,7 @@ function handleDelete(row) {
function handleExport() {
proxy.download('/produce/manage_sheep/trans_group/export', {
...queryParams.value
}, `trans_group_${new Date().getTime()}.xlsx`)
}, `trans_group_${new Date().getTime()}.xlsx`);
}
getList()
@@ -356,4 +365,18 @@ function handleApproveReject() {
proxy.$modal.msgError(`审批失败:${error}`);
});
}
//羊舍名称
const sheepfoldOptions = ref([]);
function getSheepfoldOptions() {
listSheepfold({ pageNum: 1, pageSize: 9999 }).then(res => {
sheepfoldOptions.value = res.rows; // [{id, sheepfoldName}, ...]
});
}
onMounted(() => {
getList();
getSheepfoldOptions();
});
</script>