This commit is contained in:
wyt 2025-07-14 16:43:17 +08:00
commit 6ef386ad95
5 changed files with 128 additions and 144 deletions

View File

@ -42,3 +42,11 @@ export function delTrans_group(id) {
method: 'delete' method: 'delete'
}) })
} }
// 获取羊舍列表
export function listSheepfold() {
return request({
url: '/produce/sheepfold/list',
method: 'get',
});
}

View File

@ -1,48 +1,4 @@
// import request from '@/utils/request'
// // 查询修蹄列表
// export function listFixHoof(query) {
// return request({
// url: '/produce/other/fixHoof/list',
// method: 'get',
// params: query
// })
// }
// // 查询修蹄详细
// export function getFixHoof(id) {
// return request({
// url: '/produce/other/fixHoof' + id,
// method: 'get'
// })
// }
// // 新增修蹄
// export function addFixHoof(data) {
// return request({
// url: '/produce/other/fixHoof',
// method: 'post',
// data: data
// })
// }
// // 修改修蹄
// export function updateFixHoof(data) {
// return request({
// url: '/produce/other/fixHoof/',
// method: 'put',
// data: data
// })
// }
// // 删除修蹄
// export function delFixHoof(id) {
// return request({
// url: '/produce/other/fixHoof/' + id,
// method: 'delete'
// })
// }
// fixHoof.js
import request from '@/utils/request' import request from '@/utils/request'
// 查询修蹄列表 // 查询修蹄列表
export function listFixHoof(query) { export function listFixHoof(query) {
@ -55,7 +11,7 @@ export function listFixHoof(query) {
// 查询修蹄详细 // 查询修蹄详细
export function getFixHoof(id) { export function getFixHoof(id) {
return request({ return request({
url: '/produce/other/fixHoof/${id}', url: `/produce/other/fixHoof/${id}`,
method: 'get' method: 'get'
}) })
} }

View File

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

View File

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

View File

@ -2,76 +2,38 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="羊只id" prop="sheepId"> <el-form-item label="羊只id" prop="sheepId">
<el-input <el-input v-model="queryParams.sheepId" placeholder="请输入羊只id" clearable @keyup.enter="handleQuery" />
v-model="queryParams.sheepId"
placeholder="请输入羊只id"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<!-- 羊舍 --> <el-form-item label="羊舍" prop="sheepfold">
<el-form-item label="羊舍id" prop="sheepfold"> <el-select v-model="queryParams.sheepfold" placeholder="请选择羊舍" style="min-width: 150px;" clearable>
<el-input <el-option v-for="item in sheepfoldOptions" :key="item.id" :label="item.sheepfoldName" :value="item.id" />
v-model="queryParams.sheepfold" </el-select>
placeholder="请输入羊舍id"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" style="width: 308px"> <el-form-item label="创建时间" style="width: 308px">
<el-date-picker <el-date-picker v-model="daterangeCreateTime" value-format="YYYY-MM-DD" type="daterange" range-separator="-"
v-model="daterangeCreateTime" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
value-format="YYYY-MM-DD"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="primary" plain icon="Plus" @click="handleAdd"
type="primary" v-hasPermi="['fixHoof:fixHoof:add']">新增</el-button>
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['fixHoof:fixHoof:add']"
>新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate"
type="success" v-hasPermi="['fixHoof:fixHoof:edit']">修改</el-button>
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['fixHoof:fixHoof:edit']"
>修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete"
type="danger" v-hasPermi="['fixHoof:fixHoof:remove']">删除</el-button>
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['fixHoof:fixHoof:remove']"
>删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="warning" plain icon="Download" @click="handleExport"
type="warning" v-hasPermi="['fixHoof:fixHoof:export']">导出</el-button>
plain
icon="Download"
@click="handleExport"
v-hasPermi="['fixHoof:fixHoof:export']"
>导出</el-button>
</el-col> </el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -80,7 +42,7 @@
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="${comment}" align="center" prop="id" /> --> <!-- <el-table-column label="${comment}" align="center" prop="id" /> -->
<el-table-column label="羊只id" align="center" prop="sheepId" /> <el-table-column label="羊只id" align="center" prop="sheepId" />
<el-table-column label="羊舍id" align="center" prop="sheepfold" /> <el-table-column label="羊舍名称" align="center" prop="sheepfoldName" />
<el-table-column label="备注" align="center" prop="comment" /> <el-table-column label="备注" align="center" prop="comment" />
<el-table-column label="技术员" align="center" prop="technician" /> <el-table-column label="技术员" align="center" prop="technician" />
<el-table-column label="创建人" align="center" prop="createBy" /> <el-table-column label="创建人" align="center" prop="createBy" />
@ -91,19 +53,16 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['fixHoof:fixHoof:edit']">修改</el-button> <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['fixHoof:fixHoof:remove']">删除</el-button> v-hasPermi="['fixHoof:fixHoof:edit']">修改</el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
v-hasPermi="['fixHoof:fixHoof:remove']">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-show="total>0" v-model:limit="queryParams.pageSize" @pagination="getList" />
: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> <el-dialog :title="title" v-model="open" width="500px" append-to-body>
@ -111,8 +70,10 @@
<el-form-item label="羊只id" prop="sheepId"> <el-form-item label="羊只id" prop="sheepId">
<el-input v-model="form.sheepId" placeholder="请输入羊只id" /> <el-input v-model="form.sheepId" placeholder="请输入羊只id" />
</el-form-item> </el-form-item>
<el-form-item label="羊舍id" prop="sheepfold"> <el-form-item label="羊舍" prop="sheepfold">
<el-input v-model="form.sheepfold" placeholder="请输入羊舍id" /> <el-select v-model="form.sheepfold" 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>
<el-form-item label="备注" prop="comment"> <el-form-item label="备注" prop="comment">
<el-input v-model="form.comment" placeholder="请输入备注" /> <el-input v-model="form.comment" placeholder="请输入备注" />
@ -133,6 +94,7 @@
<script setup name="FixHoof"> <script setup name="FixHoof">
import { listFixHoof, getFixHoof, delFixHoof, addFixHoof, updateFixHoof } from "@/api/produce/other/fixHoof/fixHoof" import { listFixHoof, getFixHoof, delFixHoof, addFixHoof, updateFixHoof } from "@/api/produce/other/fixHoof/fixHoof"
import { listSheepfold_management as listSheepfold } from '@/api/sheepfold_management/sheepfold_management';
const { proxy } = getCurrentInstance() const { proxy } = getCurrentInstance()
@ -178,14 +140,18 @@ const { queryParams, form, rules } = toRefs(data)
/** 查询修蹄列表 */ /** 查询修蹄列表 */
function getList() { function getList() {
loading.value = true loading.value = true
queryParams.value.params = {} // null
if (null != daterangeCreateTime && '' != daterangeCreateTime) { const q = { ...queryParams.value }
queryParams.value.params["beginCreateTime"] = daterangeCreateTime.value[0] if (q.sheepId === '') q.sheepId = null
queryParams.value.params["endCreateTime"] = daterangeCreateTime.value[1] if (q.sheepfold === '') q.sheepfold = null
q.params = {}
if (daterangeCreateTime.value?.length) {
q.params.beginCreateTime = daterangeCreateTime.value[0]
q.params.endCreateTime = daterangeCreateTime.value[1]
} }
listFixHoof(queryParams.value).then(response => { listFixHoof(q).then(res => {
fixHoofList.value = response.rows fixHoofList.value = res.rows
total.value = response.total total.value = res.total
loading.value = false loading.value = false
}) })
} }
@ -272,12 +238,12 @@ function submitForm() {
/** 删除按钮操作 */ /** 删除按钮操作 */
function handleDelete(row) { function handleDelete(row) {
const _ids = row.id || ids.value const _ids = row.id || ids.value
proxy.$modal.confirm('是否确认删除修蹄编号为"' + _ids + '"的数据项?').then(function() { proxy.$modal.confirm('是否确认删除修蹄编号为"' + _ids + '"的数据项?').then(function () {
return delFixHoof(_ids) return delFixHoof(_ids)
}).then(() => { }).then(() => {
getList() getList()
proxy.$modal.msgSuccess("删除成功") proxy.$modal.msgSuccess("删除成功")
}).catch(() => {}) }).catch(() => { })
} }
/** 导出按钮操作 */ /** 导出按钮操作 */
@ -287,5 +253,17 @@ function handleExport() {
}, `fixHoof_${new Date().getTime()}.xlsx`) }, `fixHoof_${new Date().getTime()}.xlsx`)
} }
/**加载所有羊舍*/
const sheepfoldOptions = ref([]);
function getSheepfoldOptions() {
listSheepfold({ pageNum: 1, pageSize: 9999 }).then(res => {
sheepfoldOptions.value = res.rows;
});
}
onMounted(() => {
getList();
getSheepfoldOptions();
});
getList() getList()
</script> </script>