perf(feed): 技术员输入方式更变为下拉选择列表

所有页面技术员输入方式更变为下拉选择列表
修复文件引用名称问题

perf(feed): 技术员输入方式更变为下拉选择列表

所有页面技术员输入方式更变为下拉选择列表
修复文件引用名称问题
This commit is contained in:
2026-02-01 22:16:06 +08:00
parent 685ce2654e
commit fffef0cd43
5 changed files with 88 additions and 15 deletions

View File

@@ -72,10 +72,18 @@
<el-dialog :title="title" v-model="open" width="500px" append-to-body
v-if="openModel === 'add' || openModel === 'edit'">
<el-form ref="FeedListRef" :model="form" :rules="rules" label-width="100px">
<el-form-item label="饲草班人员" prop="zookeeper">
<!-- <el-form-item label="饲草班人员" prop="zookeeper">
<el-input v-model="form.zookeeper" placeholder="请输入饲草班人员名称" />
</el-form-item>
<!-- <el-form-item label="配料日期" prop="deployDate">
</el-form-item> -->
<el-form-item label="技术员">
<el-select v-model="form.zookeeper" filterable clearable placeholder="请输入饲草班人员姓名" style="width: 100%"
@change="handleTechnicalChange">
<el-option v-for="item in technicalOptions" :key="item.value" :label="item.label" :value="item.value">
<span style="float: left">{{ item.label }}</span>
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="配料日期" prop="deployDate">
<el-date-picker clearable v-model="form.deployDate" type="date" value-format="YYYY-MM-DD"
placeholder="请选择配料日期">
</el-date-picker>
@@ -91,7 +99,7 @@
</div>
<!-- 弹框详情/修改 -->
<el-dialog :title="title" v-model="open" width="60%" append-to-body v-if="openModel === 'view'">
<el-dialog :title="title" v-model="open" width="60%" append-to-body v-if="openModel === 'view'">
<!-- 详情页只读展示 -->
<div style="padding-bottom:20px ;">
<el-descriptions :column="2" border>
@@ -113,7 +121,7 @@
</template>
</el-table-column>
</el-table-column>
<el-table-column label="配量" align="center" prop="ratio" >
<el-table-column label="配量" align="center" prop="ratio">
<el-table-column label="上午" align="center" prop="ratio" sortable>
<template #default="scope">
{{ (scope.row.ratio / 100 * showFeedList.rootPlan.planMorningSize).toFixed(2) }}
@@ -143,7 +151,7 @@
<script setup name="FeedList">
import { listFeedList, getFeedList, delFeedList, addFeedList, updateFeedList } from "@/api/feed/FeedList"
import { getUserByPost } from '@/api/common/user'
const { proxy } = getCurrentInstance()
const FeedListList = ref([])
@@ -295,5 +303,32 @@
}, `FeedList_${new Date().getTime()}.xlsx`)
}
const technicalOptions = ref([]) //自定义技术员数组变量
// 获取技术员列表
const fetchTechnicalList = () => {
getUserByPost({ postCode: "techs" })
.then(res => {
if (res.code === 200 && Array.isArray(res.data)) {
technicalOptions.value = res.data.map(item => ({
// value: item.userId,
value: item.nickName,
label: item.nickName,
// postName: item.postName, // 保留用于下拉显示
// postCode: item.postCode // 保留用于逻辑判断
}))
console.log(technicalOptions.value);
} else {
technicalOptions.value = []
ElMessage.warning(res.msg || '获取技术员列表失败')
}
})
}
/* ------------------ 初始化 ------------------ */
onMounted(() => {
fetchTechnicalList() //在onMounted()函数中调用获取技术员列表的函数
})
getList()
</script>

View File

@@ -55,7 +55,7 @@
</template>
</el-table-column>
<!-- <el-table-column label="计划总量" align="center" prop="planMorningTotal" /> -->
<el-table-column label="实际量" align="center" prop="actualMorningSize" sortable/>
<el-table-column label="实际量" align="center" prop="actualMorningSize" sortable />
</el-table-column>
<!-- <el-table-column label="中午" prop="materialId" align="center">
<el-table-column label="计划量" align="center" prop="planNoonSize">
@@ -67,13 +67,13 @@
<el-table-column label="实际量" align="center" prop="actualNoonSize" />
</el-table-column> -->
<el-table-column label="下午" prop="materialId" align="center">
<el-table-column label="计划量" align="center" prop="planAfternoonSize" sortable >
<el-table-column label="计划量" align="center" prop="planAfternoonSize" sortable>
<template #default="{ row }">
{{ row.planAfternoonSize ? row.planAfternoonSize.toFixed(2) : '0.00' }}
</template>
</el-table-column>
<!-- <el-table-column label="计划总量" align="center" prop="planAfternoonTotal" /> -->
<el-table-column label="实际量" align="center" prop="actualAfternoonSize" sortable/>
<el-table-column label="实际量" align="center" prop="actualAfternoonSize" sortable />
</el-table-column>
<!-- <el-table-column label="饲喂比例(%)" align="center" prop="ratioTotal">
<el-table-column label="上午" align="center" prop="ratioMorning" />
@@ -81,7 +81,7 @@
<el-table-column label="下午" align="center" prop="ratioAfternoon" />
</el-table-column> -->
<el-table-column label="计划饲喂总量" align="center" prop="planFeedTotal" sortable/>
<el-table-column label="计划饲喂总量" align="center" prop="planFeedTotal" sortable />
<el-table-column label="饲草班人员" align="center" prop="zookeeper" />
<el-table-column label="饲喂计划日期" align="center" prop="planDate" width="180">
<template #default="scope">
@@ -135,8 +135,17 @@
<el-input v-model="form.ratioAfternoon" placeholder="下午比例" style="width: 100px;" />
</div>
</el-form-item>
<el-form-item label="饲草班人员" prop="Zookeeper">
<!-- <el-form-item label="饲草班人员" prop="Zookeeper">
<el-input v-model="form.zookeeper" placeholder="请输入饲草班人员" />
</el-form-item> -->
<el-form-item label="技术员">
<el-select v-model="form.zookeeper" filterable clearable placeholder="请输入技术员姓名" style="width: 100%"
@change="handleTechnicalChange">
<el-option v-for="item in technicalOptions" :key="item.value" :label="item.label" :value="item.value">
<span style="float: left">{{ item.label }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="计划日期" prop="planDate">
<el-date-picker clearable v-model="form.planDate" type="date" value-format="YYYY-MM-DD"
@@ -168,7 +177,7 @@
import { listFeedPlan, getFeedPlan, delFeedPlan, addFeedPlan, updateFeedPlan } from "@/api/feed/FeedPlan"
import { listFormulaManagement } from "@/api/feed/FormulaManagement";
import { listSheepfold } from "@/api/produce/manage_sheep/trans_group.js";
import { get } from "@vueuse/core";
import { getUserByPost } from '@/api/common/user'
const { proxy } = getCurrentInstance()
const FeedPlanList = ref([])
@@ -416,6 +425,35 @@
}, `FeedPlan_${new Date().getTime()}.xlsx`)
}
const technicalOptions = ref([]) //自定义技术员数组变量
// 获取技术员列表
const fetchTechnicalList = () => {
getUserByPost({ postCode: "techs" })
.then(res => {
if (res.code === 200 && Array.isArray(res.data)) {
technicalOptions.value = res.data.map(item => ({
// value: item.userId,
value: item.nickName,
label: item.nickName,
// postName: item.postName, // 保留用于下拉显示
// postCode: item.postCode // 保留用于逻辑判断
}))
console.log(technicalOptions.value);
} else {
technicalOptions.value = []
ElMessage.warning(res.msg || '获取技术员列表失败')
}
})
}
/* ------------------ 初始化 ------------------ */
onMounted(() => {
fetchTechnicalList() //在onMounted()函数中调用获取技术员列表的函数
})
getList()
// 获取配方编码字典
getFormulaDict()

View File

@@ -201,7 +201,7 @@
import { listFeedStatistic, getFeedStatistic, delFeedStatistic, addFeedStatistic, updateFeedStatistic, initFeedStatistic } from "@/api/feed/FeedStatistic"
import { listFormulaManagement } from "@/api/feed/FormulaManagement"
import { listSheepfold } from "@/api/produce/manage_sheep/trans_group.js";
import { listMaterial } from "@/api/feed/Material"
import { listMaterial } from "@/api/feed/material"
import { ref } from "vue";
const { proxy } = getCurrentInstance()

View File

@@ -282,7 +282,7 @@
import { listFormulaManagement, getFormulaManagement, delFormulaManagement, addFormulaManagement, updateFormulaManagement } from "@/api/feed/FormulaManagement"
import { ref, reactive, toRefs, getCurrentInstance } from 'vue'
import { listFormulaList, getFormulaList, delFormulaList, addFormulaList, updateFormulaList } from "@/api/feed/FormulaList"
import { listMaterial } from "@/api/feed/Material"
import { listMaterial } from "@/api/feed/material"
const { proxy } = getCurrentInstance()
const { pres_status } = proxy.useDict('pres_status')

View File

@@ -131,7 +131,7 @@
</template>
<script setup name="Material">
import { listMaterial, getMaterial, delMaterial, addMaterial, updateMaterial } from "@/api/feed/Material"
import { listMaterial, getMaterial, delMaterial, addMaterial, updateMaterial } from "@/api/feed/material"
const { proxy } = getCurrentInstance()
const { material_type } = proxy.useDict('material_type')