Compare commits

..

3 Commits

5 changed files with 62 additions and 22 deletions

View File

@ -0,0 +1,10 @@
import request from '@/utils/request';
// 新增羊只基本信息
export function addSheep(data) {
return request({
url: '/produce/sheep', // 确保这是正确的后端接口地址
method: 'post',
data: data
});
}

View File

@ -109,7 +109,7 @@
<script setup>
import { ref } from 'vue';
import { addSheep } from '@/api/produce/manage_sheep/add_sheep/add_sheep';
import { listSheepfold_management as listSheepfold } from '@/api/sheepfold_management/sheepfold_management';
import { listSheepfold_management as listSheepfold } from '@/api/fileManagement/sheepfold_management';
const form = ref({
earNumber: '',
@ -143,21 +143,24 @@ const rules = {
};
//
//
const submitForm = () => {
formRef.value.validate((valid) => {
console.log('表单验证结果:', valid);
if (valid) {
addSheep(form.value)
addSheep(form.value) // API addSheep @/api/sheep/sheep.js
.then(response => {
console.log('后端响应:', response);
if (response.code === 200) {
alert('新增成功');
resetForm();
// list
} else {
alert(response.msg || '新增失败');
}
})
.catch(error => {
console.error('新增失败:', error);
alert('新增失败,请稍后重试');
});
} else {
alert('请填写所有必填字段');
}

View File

@ -107,9 +107,8 @@
</el-select>
</el-form-item>
<el-form-item label="转群原因" prop="reason">
<el-select v-model="form.reason" placeholder="请选择转群原因">
<el-option v-for="dict in trans_group_reason" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
<el-select v-model="form.reason" placeholder="请选择转群原因" clearable>
<el-option v-for="dict in trans_group_reason" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="技术员" prop="technician">
@ -134,15 +133,16 @@
<el-form-item label="羊只id">
<el-input v-model="approveForm.sheepId" disabled />
</el-form-item>
<el-form-item label="转入羊舍">
<el-input v-model="approveForm.foldTo" disabled />
</el-form-item>
<el-form-item label="转出羊舍">
<el-input v-model="approveForm.foldFrom" disabled />
<el-input :value="sheepfoldNameMap[approveForm.foldFrom] || approveForm.foldFrom" disabled />
</el-form-item>
<el-form-item label="转入羊舍">
<el-input :value="sheepfoldNameMap[approveForm.foldTo] || approveForm.foldTo" disabled />
</el-form-item>
<el-form-item label="转群原因">
<el-select v-model="approveForm.reason" disabled>
<el-option v-for="dict in trans_group_reason" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-option :label="trans_group_reason.find(d => d.value == approveForm.reason)?.label || ''"
:value="approveForm.reason" />
</el-select>
</el-form-item>
<el-form-item label="技术员">
@ -163,7 +163,8 @@
<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 { listSheepfold_management as listSheepfold } from '@/api/sheepfold_management/sheepfold_management';
import { listSheepfold_management as listSheepfold } from '@/api/fileManagement/sheepfold_management';
const { proxy } = getCurrentInstance()
const { trans_group_reason, status } = proxy.useDict('trans_group_reason', 'status')
@ -284,9 +285,12 @@ function handleUpdate(row) {
reset()
const _id = row.id || ids.value
getTrans_group(_id).then(response => {
form.value = response.data
const data = response.data
data.foldFrom = Number(data.foldFrom)
data.foldTo = Number(data.foldTo)
data.reason = String(data.reason)
form.value = data
open.value = true
title.value = "修改转群记录"
})
}
@ -329,7 +333,6 @@ function handleExport() {
}, `trans_group_${new Date().getTime()}.xlsx`);
}
getList()
//
const approveDialog = ref(false);
@ -337,7 +340,6 @@ const approveForm = ref({});
//
function handleApprove(row) {
//
approveForm.value = { ...row };
approveDialog.value = true;
}
@ -366,7 +368,7 @@ function handleApproveReject() {
});
}
//
//
const sheepfoldOptions = ref([]);
function getSheepfoldOptions() {
@ -376,7 +378,32 @@ function getSheepfoldOptions() {
}
onMounted(() => {
getList();
getSheepfoldOptions();
});
const sheepfoldNameMap = ref({})
function loadSheepfoldMap() {
listSheepfold({ pageNum: 1, pageSize: 9999 }).then(res => {
sheepfoldNameMap.value = res.rows.reduce((acc, item) => {
acc[item.id] = item.sheepfoldName
return acc
}, {})
})
}
onMounted(() => {
nextTick(() => {
if (trans_group_reason.value && trans_group_reason.value.length) {
trans_group_reason.value.forEach(item => {
item.value = Number(item.value)
})
}
loadSheepfoldMap()
})
})
getList()
</script>

View File

@ -94,7 +94,7 @@
<script setup name="castrate">
import { listCastrate, getCastrate, delCastrate, addCastrate, updateCastrate } from "@/api/produce/other/castrate/castrate"
import { listSheepfold_management as listSheepfold } from '@/api/sheepfold_management/sheepfold_management';
import { listSheepfold_management as listSheepfold } from '@/api/fileManagement/sheepfold_management';
const { proxy } = getCurrentInstance()

View File

@ -94,7 +94,7 @@
<script setup name="FixHoof">
import { listFixHoof, getFixHoof, delFixHoof, addFixHoof, updateFixHoof } from "@/api/produce/other/fixHoof/fixHoof"
import { listSheepfold_management as listSheepfold } from '@/api/sheepfold_management/sheepfold_management';
import { listSheepfold_management as listSheepfold } from '@/api/fileManagement/sheepfold_management';
const { proxy } = getCurrentInstance()