配种计划重新设计

This commit is contained in:
zyk
2026-03-03 10:22:07 +08:00
parent 37813178aa
commit a0507927df
2 changed files with 699 additions and 966 deletions

View File

@@ -18,22 +18,63 @@ export function getBreedPlanGenerate(id) {
}
// 筛选符合条件的母羊
export function selectEligibleEwe() {
export function selectEligibleEwe(params) {
return request({
url: '/mating_plan/generate/selectEwe',
method: 'get'
method: 'get',
params
})
}
// 筛选符合条件的公羊
export function selectEligibleRam() {
export function selectEligibleRam(params) {
return request({
url: '/mating_plan/generate/selectRam',
method: 'get'
method: 'get',
params
})
}
// 自动生成配种计划
/**
* 导出已选母羊/公羊配对表按轮询自动配对用户可在Excel中调整后再导入
* @param {Object} data - { eweIds: [], ramIds: [] }
*/
export function exportSelectedPairs(data) {
return request({
url: '/mating_plan/generate/exportPairs',
method: 'post',
data,
responseType: 'blob'
})
}
/**
* 解析上传的配对Excel返回预览数据不生成计划
* 使用 FormData 上传文件
* @param {FormData} formData - 包含 file 字段的表单数据
*/
export function parsePairsFromExcel(formData) {
return request({
url: '/mating_plan/generate/parsePairs',
method: 'post',
data: formData,
headers: { 'Content-Type': 'multipart/form-data' }
})
}
/**
* 根据导入的配对数据生成配种计划
* @param {Object} data - { planType: 1, pairs: [{eweEarNo, ramEarNo, eweId, ramId}] }
*/
export function generateBreedPlanFromPairs(data) {
return request({
url: '/mating_plan/generate/generateFromPairs',
method: 'post',
data
})
}
// 自动生成配种计划(按比例分配,原有逻辑)
export function autoGenerateBreedPlan(data) {
return request({
url: '/mating_plan/generate/auto',
@@ -85,24 +126,15 @@ export function viewBreedPlan(id) {
})
}
// 导出配种计划详情
// 导出配种计划详情已审批计划的详细Excel
export function exportBreedPlanDetails(id) {
return request({
url: '/mating_plan/generate/export/' + id,
method: 'get',
method: 'post',
responseType: 'blob'
})
}
// 修改配种计划详情
export function updateBreedPlan(data) {
return request({
url: '/mating_plan/generate/update',
method: 'put',
data: data
})
}
// 删除配种计划生成
export function delBreedPlanGenerate(id) {
return request({
@@ -114,9 +146,18 @@ export function delBreedPlanGenerate(id) {
// 模糊查询母羊耳号列表
export function searchEarNumbers(query) {
return request({
url: '/mating_plan/generate/search_ear_numbers', // 根据实际路径修改
url: '/mating_plan/generate/search_ear_numbers',
method: 'get',
params: { query }
})
}
// 下载配对模板(空白模板,只有表头)
export function downloadPairTemplate() {
return request({
url: '/mating_plan/generate/exportPairs',
method: 'post',
data: { eweIds: [], ramIds: [] },
responseType: 'blob'
})
}

File diff suppressed because it is too large Load Diff