产羔,孕检,流产,干奶,死亡模块技术员下拉框修改
This commit is contained in:
@@ -1,10 +1,8 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<!-- 修改母羊耳号查询组件 -->
|
||||
<el-form-item label="耳号" prop="allEarNumbers">
|
||||
<div style="display: flex; align-items: center; gap: 10px; flex-wrap: wrap;">
|
||||
<!-- 主选择器:不显示已选标签 -->
|
||||
<el-select
|
||||
v-model="queryParams.allEarNumbers"
|
||||
multiple
|
||||
@@ -29,7 +27,6 @@
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<!-- 辅助粘贴输入框 -->
|
||||
<el-input
|
||||
v-model="pasteInput"
|
||||
placeholder="或粘贴多个耳号(空格/换行/逗号分隔)"
|
||||
@@ -43,7 +40,6 @@
|
||||
</template>
|
||||
</el-input>
|
||||
|
||||
<!-- 耳号计数显示 -->
|
||||
<el-tag
|
||||
v-if="queryParams.allEarNumbers && queryParams.allEarNumbers.length > 0"
|
||||
type="info"
|
||||
@@ -53,7 +49,6 @@
|
||||
已选: {{ queryParams.allEarNumbers.length }} 个
|
||||
</el-tag>
|
||||
|
||||
<!-- 清空按钮 -->
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
@@ -65,13 +60,11 @@
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<!-- 已选耳号展示区域(默认显示2个,可展开) -->
|
||||
<div
|
||||
v-if="queryParams.allEarNumbers && queryParams.allEarNumbers.length > 0"
|
||||
class="selected-ear-numbers-display"
|
||||
style="margin-top: 10px;"
|
||||
>
|
||||
<!-- 显示前2个或全部耳号 -->
|
||||
<el-tag
|
||||
v-for="(tag, index) in displayedEarNumbers"
|
||||
:key="tag"
|
||||
@@ -83,7 +76,6 @@
|
||||
{{ tag }}
|
||||
</el-tag>
|
||||
|
||||
<!-- 展开/收起按钮 -->
|
||||
<el-button
|
||||
v-if="queryParams.allEarNumbers.length > defaultShowCount"
|
||||
type="primary"
|
||||
@@ -99,7 +91,6 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 其他查询条件保持不变 -->
|
||||
<el-form-item label="母羊品种" prop="femaleBreed">
|
||||
<el-input
|
||||
v-model="queryParams.femaleBreed"
|
||||
@@ -116,14 +107,25 @@
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="技术员" prop="technician">
|
||||
<el-input
|
||||
<el-select
|
||||
v-model="queryParams.technician"
|
||||
placeholder="请输入技术员"
|
||||
placeholder="请选择技术员"
|
||||
filterable
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
style="width: 200px"
|
||||
@change="handleQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in technicalOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="所在牧场" prop="farm">
|
||||
<el-input
|
||||
v-model="queryParams.farm"
|
||||
@@ -246,7 +248,6 @@
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改产羔记录对话框 -->
|
||||
<el-dialog :title="title" v-model="open" width="900px" append-to-body>
|
||||
<el-form ref="lambing_recordsRef" :model="form" :rules="rules" label-width="120px">
|
||||
<el-row :gutter="20">
|
||||
@@ -284,9 +285,23 @@
|
||||
<el-input v-model="form.pregnancyDays" placeholder="怀孕天数" readonly />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="技术员" prop="technician">
|
||||
<el-input v-model="form.technician" placeholder="请输入技术员" />
|
||||
<el-select
|
||||
v-model="form.technician"
|
||||
placeholder="请选择技术员"
|
||||
filterable
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in technicalOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -332,7 +347,6 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 显示已选择的耳号标签 -->
|
||||
<div v-if="queryParams.femaleEarNumbers && queryParams.femaleEarNumbers.length > 0" class="selected-ear-numbers">
|
||||
<span style="margin-right: 10px; color: #606266;">已选择耳号:</span>
|
||||
<el-tag
|
||||
@@ -346,7 +360,6 @@
|
||||
</el-tag>
|
||||
</div>
|
||||
|
||||
<!-- 羔羊信息录入 -->
|
||||
<div v-if="form.lambsBorn > 0 && showLambForms">
|
||||
<el-divider content-position="left">羔羊信息录入</el-divider>
|
||||
<div v-for="(lamb, index) in lambForms" :key="index" class="lamb-form-item">
|
||||
@@ -430,7 +443,6 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 产羔详情对话框 -->
|
||||
<el-dialog title="产羔详情" v-model="detailOpen" width="1000px" append-to-body>
|
||||
<el-descriptions :column="3" border>
|
||||
<el-descriptions-item label="母羊耳号">{{ detailData.femaleEarNumber }}</el-descriptions-item>
|
||||
@@ -481,6 +493,7 @@
|
||||
|
||||
<script setup name="Lambing_records">
|
||||
import { listLambing_records, getLambing_records, delLambing_records, addLambing_records, updateLambing_records, getLambDetail, getVarietyList, getBreedingInfo,searchEarNumbers } from "@/api/breed/lambing_records"
|
||||
import { getUserByPost } from '@/api/common/user' // 新增引入
|
||||
import { ref, computed, nextTick } from 'vue'
|
||||
import { ArrowUp, ArrowDown, Plus, Delete } from '@element-plus/icons-vue'
|
||||
|
||||
@@ -491,6 +504,9 @@ const earNumberLoading = ref(false) // 耳号加载状态
|
||||
const isExpanded = ref(false) // 控制耳号展开/折叠状态
|
||||
const defaultShowCount = 2 // 默认显示的耳号数量
|
||||
|
||||
// 新增:技术员选项
|
||||
const technicalOptions = ref([])
|
||||
|
||||
// 计算属性:控制显示的耳号列表
|
||||
const displayedEarNumbers = computed(() => {
|
||||
if (!queryParams.value.allEarNumbers || queryParams.value.allEarNumbers.length === 0) {
|
||||
@@ -552,6 +568,25 @@ const data = reactive({
|
||||
})
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data)
|
||||
|
||||
// 新增:获取技术员列表
|
||||
const fetchTechnicalList = () => {
|
||||
getUserByPost({ postCode: "techs" })
|
||||
.then(res => {
|
||||
if (res.code === 200 && Array.isArray(res.data)) {
|
||||
technicalOptions.value = res.data.map(item => ({
|
||||
value: item.nickName,
|
||||
label: item.nickName
|
||||
}))
|
||||
} else {
|
||||
technicalOptions.value = []
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
technicalOptions.value = []
|
||||
})
|
||||
}
|
||||
|
||||
/** 处理粘贴事件 */
|
||||
function handlePaste(event) {
|
||||
nextTick(() => {
|
||||
@@ -953,6 +988,7 @@ function handleExport() {
|
||||
|
||||
// 页面初始化
|
||||
onMounted(() => {
|
||||
fetchTechnicalList() // 初始化加载技术员列表
|
||||
console.log('页面初始化开始')
|
||||
getVarietyData() // 先获取品种列表
|
||||
.then(() => {
|
||||
|
||||
Reference in New Issue
Block a user