Compare commits

..

No commits in common. "0d09378f2ec7eea55525171381a870bf010a181f" and "2d47349f244ff119a92a983363354cc47b8bfde8" have entirely different histories.

2 changed files with 52 additions and 110 deletions

View File

@ -36,9 +36,9 @@ export function updateFormulaManagement(data) {
} }
// 删除配方管理 // 删除配方管理
export function delFormulaManagement(formulaIdAndBatchId) { export function delFormulaManagement(formulaId) {
return request({ return request({
url: '/feed/FormulaManagement/' + formulaIdAndBatchId, url: '/feed/FormulaManagement/' + formulaId,
method: 'delete' method: 'delete'
}) })
} }

View File

@ -15,16 +15,16 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="Plus" @click="handleAddFormulatemplate" <el-button type="primary" plain icon="Plus" @click="handleAdd"
v-hasPermi="['feed:FormulaManagement:add']">新增</el-button> v-hasPermi="['feed:FormulaManagement:add']">新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate" <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate"
v-hasPermi="['feed:FormulaManagement:edit']" v-show="false">修改</el-button> v-hasPermi="['feed:FormulaManagement:edit']">修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete" <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete"
v-hasPermi="['feed:FormulaManagement:remove']" v-show="false">删除</el-button> v-hasPermi="['feed:FormulaManagement:remove']">删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" <el-button type="warning" plain icon="Download" @click="handleExport"
@ -34,10 +34,11 @@
</el-row> </el-row>
<el-table v-loading="loading" :data="FormulaManagementList"> <el-table v-loading="loading" :data="FormulaManagementList">
<!-- 表中表展示配方 --> <!-- 表中表展示配方原料 -->
<el-table-column type="expand" @expand-change="handleExpandChange"> <el-table-column type="expand">
<template #default="props"> <template #default="props">
<el-table :data="props.row.subFormulaList" style="width: 100%"> <el-table :data="props.row.subFormulaList" style="width: 100%">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="批号" align="center" prop="batchId" /> <el-table-column label="批号" align="center" prop="batchId" />
<el-table-column label="饲养阶段" align="center" prop="feedStage" /> <el-table-column label="饲养阶段" align="center" prop="feedStage" />
<el-table-column label="开始使用时间" align="center" prop="useStartDate" width="180"> <el-table-column label="开始使用时间" align="center" prop="useStartDate" width="180">
@ -61,13 +62,14 @@
<el-button link type="primary" icon="View" @click="handleView(scope.row)">详情</el-button> <el-button link type="primary" icon="View" @click="handleView(scope.row)">详情</el-button>
<el-button link type="primary" icon="Edit" @click="handleFormulaDetailUpdate(scope.row)" <el-button link type="primary" icon="Edit" @click="handleFormulaDetailUpdate(scope.row)"
v-hasPermi="['feed:FormulaManagement:edit']">修改</el-button> v-hasPermi="['feed:FormulaManagement:edit']">修改</el-button>
<el-button link type="primary" icon="Delete" @click="handleFormulaDelete(scope.row)" <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
v-hasPermi="['feed:FormulaManagement:remove']">删除</el-button> v-hasPermi="['feed:FormulaManagement:remove']">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="配方编号" align="center" prop="formulaId" /> <el-table-column label="配方编号" align="center" prop="formulaId" />
<el-table-column label="饲养阶段" align="center" prop="feedStage" /> <el-table-column label="饲养阶段" align="center" prop="feedStage" />
<el-table-column label="使用状态" align="center" prop="useState"> <el-table-column label="使用状态" align="center" prop="useState">
@ -78,11 +80,11 @@
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-button link type="primary" icon="Plus" @click="handleAddSgFormulaList(scope.row)" <el-button link type="primary" icon="Plus" @click="handleAddSgFormulaList(scope.row)"
v-hasPermi="['feed:FormulaManagement:add']">新增</el-button> v-hasPermi="['feed:FormulaManagement:add']">新增</el-button>
<el-button link type="primary" icon="Edit" @click="handleFormulaTemplateUpdate(scope.row)" <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
v-hasPermi="['feed:FormulaManagement:edit']">修改</el-button> v-hasPermi="['feed:FormulaManagement:edit']">修改</el-button>
<el-button link type="primary" icon="Delete" @click="handleFormulaDelete(scope.row)" <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
v-hasPermi="['feed:FormulaManagement:remove']">删除</el-button> v-hasPermi="['feed:FormulaManagement:remove']">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -150,7 +152,7 @@
<el-table-column label="原料编号" prop="materialId" align="center" /> <el-table-column label="原料编号" prop="materialId" align="center" />
<el-table-column label="原料名称" prop="materialName" /> <el-table-column label="原料名称" prop="materialName" />
<el-table-column label="比例" align="center" prop="ratio" /> <el-table-column label="比例" align="center" prop="ratio" />
<el-table-column label="类型" prop="isGranular" align="center"> <el-table-column label="类型" prop="isGranular" align="center" >
<template #default="scope"> <template #default="scope">
<dict-tag :options="materialType" :value="scope.row.isGranular" /> <dict-tag :options="materialType" :value="scope.row.isGranular" />
</template> </template>
@ -162,16 +164,9 @@
<div v-else> <div v-else>
<el-form ref="FormulaManagementRef" :model="showFormulaManagementList" :rules="rules" label-width="100px"> <el-form ref="FormulaManagementRef" :model="showFormulaManagementList" :rules="rules" label-width="100px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12" v-if="!isView">
<el-form-item label="配方编号" prop="formulaId">
<el-input v-model="showFormulaManagementList.formulaId" placeholder="请输入配方编号"
:disabled="!FormulaIdEditable"/>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="批号" prop="batchId"> <el-form-item label="批号" prop="batchId">
<el-input v-model="showFormulaManagementList.batchId" placeholder="请输入配方批号" <el-input v-model="showFormulaManagementList.batchId" placeholder="请输入配方批号" :disabled="!BatchIdEditable" />
:disabled="!BatchIdEditable" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -181,15 +176,15 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开始使用时间" prop="useStartDate"> <el-form-item label="开始使用时间" prop="useStartDate">
<el-date-picker clearable v-model="showFormulaManagementList.useStartDate" type="date" <el-date-picker clearable v-model="showFormulaManagementList.useStartDate" type="date" value-format="YYYY-MM-DD"
value-format="YYYY-MM-DD" placeholder="请选择开始使用时间"> placeholder="请选择开始使用时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="结束使用时间" prop="useEndDate"> <el-form-item label="结束使用时间" prop="useEndDate">
<el-date-picker clearable v-model="showFormulaManagementList.useEndDate" type="date" <el-date-picker clearable v-model="showFormulaManagementList.useEndDate" type="date" value-format="YYYY-MM-DD"
value-format="YYYY-MM-DD" placeholder="请选择结束使用时间"> placeholder="请选择结束使用时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -216,15 +211,13 @@
</el-row> </el-row>
<el-table :data="showFormulaManagementList.sgFormulaList" :rules="rules" <el-table :data="showFormulaManagementList.sgFormulaList" :rules="rules" :row-class-name="rowSgFormulaListDetailIndex"
:row-class-name="rowSgFormulaListDetailIndex" @selection-change="handleSgFormulaListDetailSelectionChange" @selection-change="handleSgFormulaListDetailSelectionChange" ref="swPresDetail" border stripe>
ref="swPresDetail" border stripe>
<el-table-column label="序号" align="center" prop="index" width="60" /> <el-table-column label="序号" align="center" prop="index" width="60" />
<el-table-column label="原料" prop="materialId"> <el-table-column label="原料" prop="materialId">
<template #default="scope"> <template #default="scope">
<el-select v-model="scope.row.materialId" filterable placeholder="请选择原料" style="width: 100%" <el-select v-model="scope.row.materialId" filterable placeholder="请选择原料" style="width: 100%" @change="handleMaterialChange(scope.row, $event)">
@change="handleMaterialChange(scope.row, $event)"> <el-option v-for="item in materials" :key="item.value" :label="item.label" :value="item.value" />
<el-option v-for="item in materials" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
@ -291,8 +284,7 @@ const isView = ref(false)
*/ */
const operationType = ref("") // add update const operationType = ref("") // add update
// //
const BatchIdEditable = ref(false) const BatchIdEditable = ref(false)
const FormulaIdEditable = ref(false)
// //
const materials = ref([]) const materials = ref([])
// //
@ -321,8 +313,8 @@ const data = reactive({
feedStage: [ feedStage: [
{ required: true, message: "饲养阶段不能为空", trigger: "blur" } { required: true, message: "饲养阶段不能为空", trigger: "blur" }
], ],
ratio: [ ratio:[
{ required: true, message: "比例不能为空", trigger: "blur" }, {required: true, message: "比例不能为空", trigger: "blur"},
] ]
} }
}) })
@ -349,19 +341,11 @@ function getList() {
} }
// //
function handleExpandChange(row, expandedRows) { function handleExpandChange(row, expanded) {
// if (expanded) {
expandedRows.forEach(r => { expandedRows.value.push(row.formulaId) //
if (r !== row) { } else {
mainTable.value.toggleRowExpansion(r, false) expandedRows.value = expandedRows.value.filter(id => id !== row.formulaId) //
}
})
//
const isExpanded = expandedRows.includes(row)
if (isExpanded) {
loading.value = true
getList();
} }
} }
@ -407,59 +391,20 @@ function handleSelectionChange(selection) {
} }
/** 新增按钮操作 */ /** 新增按钮操作 */
function handleAddFormulatemplate() { function handleAdd() {
formulaFormReset()
reset() reset()
operationType.value = "add" open.value = true
// title.value = "添加配方管理"
BatchIdEditable.value = false
//
FormulaIdEditable.value = true
isView.value = false
//
showFormulaManagementList.value = {
formulaId: null,
// 0
batchId: "0",
feedStage: null,
useStartDate: null,
useEndDate: null,
useState: '1', //
remark: null,
sgFormulaList: [{
materialId: null,
materialName: null,
ratio: null,
isGranular: "0",
isSupplement: "0"
}]
}
formulaListOpen.value = true
title.value = "添加配方管理模板"
} }
/** 修改按钮操作 */ /** 修改按钮操作 */
function handleFormulaTemplateUpdate(row) { function handleUpdate(row) {
reset() reset()
operationType.value = "update" const _formulaId = row.formulaId || ids.value
const _id = row.formulaId || ids.value getFormulaManagement(_formulaId).then(response => {
BatchIdEditable.value = false // form.value = response.data
FormulaIdEditable.value = false // open.value = true
const batchId = row.batchId title.value = "修改配方管理"
const queryParams = {
formulaId: _id,
batchId: batchId,
queryType: "query"
}
listFormulaManagement(queryParams).then(response => {
if (response.rows && response.rows.length > 0) {
showFormulaManagementList.value = response.rows[0] //
} else {
showFormulaManagementList.value = {}
}
formulaListOpen.value = true
title.value = "修改处方"
isView.value = false
}) })
} }
@ -496,14 +441,12 @@ function handleDelete(row) {
} }
/** ================= 配方列表操作 ================= */ /** ================= 配方列表操作 ================= */
function handleAddSgFormulaList(row) { function handleAddSgFormulaList(row){
formulaFormReset() formulaFormReset()
reset() reset()
operationType.value = "add" operationType.value = "add"
BatchIdEditable.value = true BatchIdEditable.value = true
FormulaIdEditable.value = false
isView.value = false isView.value = false
console.log(row.sgFormulaList)
// //
showFormulaManagementList.value = { showFormulaManagementList.value = {
formulaId: row.formulaId || null, formulaId: row.formulaId || null,
@ -513,7 +456,7 @@ function handleAddSgFormulaList(row) {
useEndDate: null, useEndDate: null,
useState: '1', // useState: '1', //
remark: null, remark: null,
sgFormulaList: row.sgFormulaList || [{ sgFormulaList: [{
materialId: null, materialId: null,
materialName: null, materialName: null,
ratio: null, ratio: null,
@ -538,16 +481,15 @@ function handleFormulaUpdate(row) {
} }
console.log("formulaForm: ", formulaForm.value) console.log("formulaForm: ", formulaForm.value)
formulaListOpen.value = true formulaListOpen.value = true
FormulaIdEditable.value = false
title.value = "修改配方列表" title.value = "修改配方列表"
}) })
} }
/** 删除按钮操作 */ /** 删除按钮操作 */
function handleFormulaDelete(row) { function handleFormulaDelete_Old(row) {
const _codes = row.formulaId + "/" + row.batchId const _codes = row.code || ids.value
proxy.$modal.confirm('是否确认删除配方列表编号为"' + _codes + '"的数据项?').then(function () { proxy.$modal.confirm('是否确认删除配方列表编号为"' + _codes + '"的数据项?').then(function () {
return delFormulaManagement(_codes) return delFormulaList(_codes)
}).then(() => { }).then(() => {
getList() getList()
proxy.$modal.msgSuccess("删除成功") proxy.$modal.msgSuccess("删除成功")
@ -576,13 +518,13 @@ function submitFormulaListForm() {
} }
// //
function handleMaterialChange(row, selectedValue) { function handleMaterialChange(row, selectedValue) {
const selectedItem = this.materials.find(item => item.value === selectedValue); const selectedItem = this.materials.find(item => item.value === selectedValue);
if (selectedItem) { if (selectedItem) {
// materialName row // materialName row
row.materialName = selectedItem.label; row.materialName = selectedItem.label;
}
} }
}
/** /**
* 查看详情 * 查看详情