新增羊只中羊只类型改为非必填;转场转群部分搜索框去除创建时间和事件类型;三个改**页面的新增,查询,导出完善;每页条数设置;填写数字的字段数可排序

This commit is contained in:
zyh
2025-10-23 16:37:00 +08:00
parent 9c200ba2f5
commit 6483eab3b3
12 changed files with 702 additions and 353 deletions

View File

@@ -2,10 +2,6 @@
<div class="app-container">
<!-- 查询表单 -->
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="创建时间" style="width: 308px">
<el-date-picker v-model="daterangeCreateTime" value-format="YYYY-MM-DD" type="daterange" range-separator="-"
start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item label="转场日期" style="width: 308px">
<el-date-picker v-model="transitionDateRange" value-format="YYYY-MM-DD" type="daterange" range-separator="-"
start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
@@ -19,12 +15,6 @@
<el-option v-for="item in varietyOptions" :key="item.id" :label="item.variety" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="事件类型" prop="eventType" style="width: 308px">
<el-select v-model="queryParams.eventType" placeholder="请选择事件类型" clearable style="min-width:150px">
<el-option label="转场转入" value="转场转入" />
<el-option label="转场转出" value="转场转出" />
</el-select>
</el-form-item>
<el-form-item label="转场类型" prop="transType" style="width: 308px">
<el-select v-model="queryParams.transType" placeholder="请选择转场类型" clearable style="min-width:150px">
<el-option label="内部调拨" :value="0" />
@@ -77,19 +67,14 @@
<!-- 列表 -->
<el-table v-loading="loading" :data="transition_infoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="创建时间" align="center" prop="createTime" min-width="130" fixed>
<template #default="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }}</span>
</template>
</el-table-column>
<el-table-column label="管理耳号" align="center" prop="manageTags" min-width="100" fixed />
<el-table-column label="事件类型" align="center" prop="eventType" min-width="120" />
<el-table-column label="转场类型" align="center" prop="transTypeText" />
<el-table-column label="转场日期" align="center" prop="transitionDate" min-width="150">
<template #default="scope">
<span>{{ parseTime(scope.row.transitionDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="管理耳号" align="center" prop="manageTags" min-width="100" />
<el-table-column label="事件类型" align="center" prop="eventType" min-width="120" />
<el-table-column label="转场类型" align="center" prop="transTypeText" />
<el-table-column label="品种" align="center" prop="varietyName" />
<el-table-column label="转入牧场" align="center" prop="transTo" min-width="120" />
<el-table-column label="当前牧场" align="center" prop="transFrom" />
@@ -108,6 +93,11 @@
</el-table-column>
<el-table-column label="备注" align="center" prop="comment" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" min-width="130">
<template #default="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" min-width="180" fixed="right">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleApprove(scope.row)"
@@ -119,7 +109,7 @@
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
v-model:limit="queryParams.pageSize" @pagination="getList" :page-sizes="[20, 50, 100, 200, 500, 1000, 2000]" />
<!-- 新增/修改 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
@@ -250,7 +240,6 @@ const multiple = ref(true)
const total = ref(0)
const title = ref('')
const transitionDateRange = ref([])
const daterangeCreateTime = ref([])
const approveDialog = ref(false)
const approveForm = ref({})
const displayManageTags = ref('')
@@ -275,15 +264,13 @@ const data = reactive({
},
queryParams: {
pageNum: 1,
pageSize: 10,
pageSize: 20,
manageTags: [],
varietyId: null,
eventType: null,
transType: null,
transTo: null,
transFrom: null,
status: null,
createTime: null,
transitionDate: null
},
rules: {
@@ -316,10 +303,6 @@ const { queryParams, form, rules } = toRefs(data)
function getList() {
loading.value = true
queryParams.value.params = {}
if (daterangeCreateTime.value?.length) {
queryParams.value.params.beginCreateTime = daterangeCreateTime.value[0]
queryParams.value.params.endCreateTime = daterangeCreateTime.value[1]
}
if (queryParams.value.transType !== null) {
queryParams.value.params.transType = queryParams.value.transType;
}
@@ -380,10 +363,8 @@ function loadSheepOptions() {
});
}
// 加载牧场下的羊舍
// 修改加载转入牧场下的接收羊舍使用牧场ID而非名称
//加载转入牧场下的羊舍
function loadSheepfoldsByRanch(ranchName) {
// 1. 根据转入牧场名称匹配牧场ID
const matchedRanch = ranchOptions.value.find(
ranch => ranch.ranchName === ranchName
);
@@ -392,14 +373,13 @@ function loadSheepfoldsByRanch(ranchName) {
acceptSheepfold.value = [];
return;
}
const ranchId = matchedRanch.id; // 获取匹配的牧场ID
const ranchId = matchedRanch.id;
// 2. 使用牧场ID调用接口加载羊舍修正参数
request({
url: '/sheepfold_management/sheepfold_management/list',
method: 'get',
params: {
ranchId: ranchId, // 关键使用牧场ID而非名称
ranchId: ranchId,
pageNum: 1,
pageSize: 999
}
@@ -414,7 +394,6 @@ function loadSheepfoldsByRanch(ranchName) {
});
}
// 通过牧场 ID 查询牧场名称
async function getRanchNameByRanchId(ranchId) {
if (!ranchId) return '';
try {
@@ -591,7 +570,7 @@ function getTransTypeLabel(value) {
return item ? item.label : '未知类型';
}
// 获取状态文本(与转群页面一致)
// 获取状态文本
function getStatusLabel(value) {
const statusArray = status.value;
if (!Array.isArray(statusArray)) {
@@ -615,7 +594,6 @@ function handleQuery() {
//重置
function resetQuery() {
daterangeCreateTime.value = []
queryParams.value.transType = null;
transitionDateRange.value = [];
proxy.resetForm("queryRef")