Merge branch 'main' of http://e19510c831.iok.la/admin/zhyc-sheep-ui
This commit is contained in:
commit
82d69aeea2
@ -34,7 +34,8 @@
|
|||||||
"vue": "3.4.31",
|
"vue": "3.4.31",
|
||||||
"vue-cropper": "1.1.1",
|
"vue-cropper": "1.1.1",
|
||||||
"vue-router": "4.4.0",
|
"vue-router": "4.4.0",
|
||||||
"vuedraggable": "4.1.0"
|
"vuedraggable": "4.1.0",
|
||||||
|
"vuex": "^4.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vitejs/plugin-vue": "5.0.5",
|
"@vitejs/plugin-vue": "5.0.5",
|
||||||
|
@ -17,142 +17,6 @@
|
|||||||
@keyup.enter="handleQuery"
|
@keyup.enter="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="冰点" prop="freeze">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.freeze"
|
|
||||||
placeholder="请输入冰点"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="相对密度" prop="density">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.density"
|
|
||||||
placeholder="请输入相对密度"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="脂肪g/100g" prop="fat">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.fat"
|
|
||||||
placeholder="请输入脂肪g/100g"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="蛋白质g/100g" prop="protein">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.protein"
|
|
||||||
placeholder="请输入蛋白质g/100g"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="非脂g/100g" prop="nonFat">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.nonFat"
|
|
||||||
placeholder="请输入非脂g/100g"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="干物质mg/100g" prop="dryMatter">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.dryMatter"
|
|
||||||
placeholder="请输入干物质mg/100g"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="杂物质mg/100g" prop="impurity">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.impurity"
|
|
||||||
placeholder="请输入杂物质mg/100g"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="乳糖g/100g" prop="lactose">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.lactose"
|
|
||||||
placeholder="请输入乳糖g/100g"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="酸度" prop="acidity">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.acidity"
|
|
||||||
placeholder="请输入酸度"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="ph" prop="ph">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.ph"
|
|
||||||
placeholder="请输入ph"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="菌落总数" prop="bacterialColony">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.bacterialColony"
|
|
||||||
placeholder="请输入菌落总数"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="乳铁蛋白" prop="lactoferrin">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.lactoferrin"
|
|
||||||
placeholder="请输入乳铁蛋白"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="免疫球蛋白" prop="ig">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.ig"
|
|
||||||
placeholder="请输入免疫球蛋白"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="体细胞" prop="somaticCell">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.somaticCell"
|
|
||||||
placeholder="请输入体细胞"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="尿素氮" prop="usea">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.usea"
|
|
||||||
placeholder="请输入尿素氮"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="脂蛋比" prop="fatRatio">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.fatRatio"
|
|
||||||
placeholder="请输入脂蛋比"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注" prop="comment">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.comment"
|
|
||||||
placeholder="请输入备注"
|
|
||||||
clearable
|
|
||||||
@keyup.enter="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||||
@ -198,36 +62,49 @@
|
|||||||
v-hasPermi="['rawMilkTest:rawMilkTest:export']"
|
v-hasPermi="['rawMilkTest:rawMilkTest:export']"
|
||||||
>导出</el-button>
|
>导出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="info"
|
||||||
|
plain
|
||||||
|
icon="Menu"
|
||||||
|
@click="showColumnSelector = true"
|
||||||
|
>字段显示</el-button>
|
||||||
|
</el-col>
|
||||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="rawMilkTestList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="rawMilkTestList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="${comment}" align="center" prop="id" />
|
<el-table-column label="检测日期" align="center" prop="datetime" width="180" v-if="visibleColumns.datetime">
|
||||||
<el-table-column label="检测日期" align="center" prop="datetime" width="180">
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.datetime, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.datetime, '{y}-{m}-{d}') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="来源" align="center" prop="source" />
|
<el-table-column label="来源" align="center" prop="source" v-if="visibleColumns.source" />
|
||||||
<el-table-column label="冰点" align="center" prop="freeze" />
|
<el-table-column label="冰点" align="center" prop="freeze" v-if="visibleColumns.freeze" />
|
||||||
<el-table-column label="相对密度" align="center" prop="density" />
|
<el-table-column label="相对密度" align="center" prop="density" v-if="visibleColumns.density" />
|
||||||
<el-table-column label="脂肪g/100g" align="center" prop="fat" />
|
<el-table-column label="脂肪g/100g" align="center" prop="fat" v-if="visibleColumns.fat" />
|
||||||
<el-table-column label="蛋白质g/100g" align="center" prop="protein" />
|
<el-table-column label="蛋白质g/100g" align="center" prop="protein" v-if="visibleColumns.protein" />
|
||||||
<el-table-column label="非脂g/100g" align="center" prop="nonFat" />
|
<el-table-column label="非脂g/100g" align="center" prop="nonFat" v-if="visibleColumns.nonFat" />
|
||||||
<el-table-column label="干物质mg/100g" align="center" prop="dryMatter" />
|
<el-table-column label="干物质mg/100g" align="center" prop="dryMatter" v-if="visibleColumns.dryMatter" />
|
||||||
<el-table-column label="杂物质mg/100g" align="center" prop="impurity" />
|
<el-table-column label="杂质度mg/100g" align="center" prop="impurityDegree" v-if="visibleColumns.impurityDegree" />
|
||||||
<el-table-column label="乳糖g/100g" align="center" prop="lactose" />
|
<el-table-column label="乳糖g/100g" align="center" prop="lactose" v-if="visibleColumns.lactose" />
|
||||||
<el-table-column label="灰度g/100g" align="center" prop="ashContent" />
|
<el-table-column label="灰度g/100g" align="center" prop="ashContent" v-if="visibleColumns.ashContent" />
|
||||||
<el-table-column label="酸度" align="center" prop="acidity" />
|
<el-table-column label="酸度" align="center" prop="acidity" v-if="visibleColumns.acidity" />
|
||||||
<el-table-column label="ph" align="center" prop="ph" />
|
<el-table-column label="ph" align="center" prop="ph" v-if="visibleColumns.ph" />
|
||||||
<el-table-column label="菌落总数" align="center" prop="bacterialColony" />
|
<el-table-column label="菌落总数" align="center" prop="bacterialColony" v-if="visibleColumns.bacterialColony" />
|
||||||
<el-table-column label="乳铁蛋白" align="center" prop="lactoferrin" />
|
<el-table-column label="乳铁蛋白" align="center" prop="lactoferrin" v-if="visibleColumns.lactoferrin" />
|
||||||
<el-table-column label="免疫球蛋白" align="center" prop="ig" />
|
<el-table-column label="免疫球蛋白" align="center" prop="ig" v-if="visibleColumns.ig" />
|
||||||
<el-table-column label="体细胞" align="center" prop="somaticCell" />
|
<el-table-column label="体细胞" align="center" prop="somaticCell" v-if="visibleColumns.somaticCell" />
|
||||||
<el-table-column label="尿素氮" align="center" prop="usea" />
|
<el-table-column label="尿素氮" align="center" prop="usea" v-if="visibleColumns.usea" />
|
||||||
<el-table-column label="脂蛋比" align="center" prop="fatRatio" />
|
<el-table-column label="脂蛋比" align="center" prop="fatRatio" v-if="visibleColumns.fatRatio" />
|
||||||
<el-table-column label="备注" align="center" prop="comment" />
|
<el-table-column label="备注" align="center" prop="comment" v-if="visibleColumns.comment" />
|
||||||
|
<el-table-column label="创建人" align="center" prop="createBy" v-if="visibleColumns.createBy" />
|
||||||
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180" v-if="visibleColumns.createTime">
|
||||||
|
<template #default="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<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="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['rawMilkTest:rawMilkTest:edit']">修改</el-button>
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['rawMilkTest:rawMilkTest:edit']">修改</el-button>
|
||||||
@ -246,7 +123,7 @@
|
|||||||
|
|
||||||
<!-- 添加或修改生乳检验记录对话框 -->
|
<!-- 添加或修改生乳检验记录对话框 -->
|
||||||
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
||||||
<el-form ref="rawMilkTestRef" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="rawMilkTestRef" :model="form" :rules="rules" label-width="120px">
|
||||||
<el-form-item label="检测日期" prop="datetime">
|
<el-form-item label="检测日期" prop="datetime">
|
||||||
<el-date-picker clearable
|
<el-date-picker clearable
|
||||||
v-model="form.datetime"
|
v-model="form.datetime"
|
||||||
@ -265,10 +142,18 @@
|
|||||||
<el-input v-model="form.density" placeholder="请输入相对密度" />
|
<el-input v-model="form.density" placeholder="请输入相对密度" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="脂肪g/100g" prop="fat">
|
<el-form-item label="脂肪g/100g" prop="fat">
|
||||||
<el-input v-model="form.fat" placeholder="请输入脂肪g/100g" />
|
<el-input
|
||||||
|
v-model="form.fat"
|
||||||
|
placeholder="请输入脂肪g/100g"
|
||||||
|
@input="calculateFatRatio"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="蛋白质g/100g" prop="protein">
|
<el-form-item label="蛋白质g/100g" prop="protein">
|
||||||
<el-input v-model="form.protein" placeholder="请输入蛋白质g/100g" />
|
<el-input
|
||||||
|
v-model="form.protein"
|
||||||
|
placeholder="请输入蛋白质g/100g"
|
||||||
|
@input="calculateFatRatio"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="非脂g/100g" prop="nonFat">
|
<el-form-item label="非脂g/100g" prop="nonFat">
|
||||||
<el-input v-model="form.nonFat" placeholder="请输入非脂g/100g" />
|
<el-input v-model="form.nonFat" placeholder="请输入非脂g/100g" />
|
||||||
@ -276,14 +161,14 @@
|
|||||||
<el-form-item label="干物质mg/100g" prop="dryMatter">
|
<el-form-item label="干物质mg/100g" prop="dryMatter">
|
||||||
<el-input v-model="form.dryMatter" placeholder="请输入干物质mg/100g" />
|
<el-input v-model="form.dryMatter" placeholder="请输入干物质mg/100g" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="杂物质mg/100g" prop="impurity">
|
<el-form-item label="杂质度mg/100g" prop="impurityDegree">
|
||||||
<el-input v-model="form.impurity" placeholder="请输入杂物质mg/100g" />
|
<el-input v-model="form.impurityDegree" placeholder="请输入杂质度mg/100g" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="乳糖g/100g" prop="lactose">
|
<el-form-item label="乳糖g/100g" prop="lactose">
|
||||||
<el-input v-model="form.lactose" placeholder="请输入乳糖g/100g" />
|
<el-input v-model="form.lactose" placeholder="请输入乳糖g/100g" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="灰度g/100g">
|
<el-form-item label="灰度g/100g" prop="ashContent">
|
||||||
<editor v-model="form.ashContent" :min-height="192"/>
|
<el-input v-model="form.ashContent" placeholder="请输入灰度g/100g" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="酸度" prop="acidity">
|
<el-form-item label="酸度" prop="acidity">
|
||||||
<el-input v-model="form.acidity" placeholder="请输入酸度" />
|
<el-input v-model="form.acidity" placeholder="请输入酸度" />
|
||||||
@ -307,11 +192,21 @@
|
|||||||
<el-input v-model="form.usea" placeholder="请输入尿素氮" />
|
<el-input v-model="form.usea" placeholder="请输入尿素氮" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="脂蛋比" prop="fatRatio">
|
<el-form-item label="脂蛋比" prop="fatRatio">
|
||||||
<el-input v-model="form.fatRatio" placeholder="请输入脂蛋比" />
|
<el-input
|
||||||
|
v-model="form.fatRatio"
|
||||||
|
placeholder="自动计算"
|
||||||
|
readonly
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="comment">
|
<el-form-item label="备注" prop="comment">
|
||||||
<el-input v-model="form.comment" placeholder="请输入备注" />
|
<el-input v-model="form.comment" placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="创建人" v-if="form.id">
|
||||||
|
<el-input v-model="form.createBy" disabled />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="创建时间" v-if="form.id">
|
||||||
|
<el-input v-model="form.createTime" disabled />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
@ -320,14 +215,39 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 字段选择对话框 -->
|
||||||
|
<el-dialog title="字段显示设置" v-model="showColumnSelector" width="600px" append-to-body>
|
||||||
|
<el-checkbox-group v-model="selectedColumns">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8" v-for="column in allColumns" :key="column.prop">
|
||||||
|
<el-checkbox :label="column.prop">{{ column.label }}</el-checkbox>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-checkbox-group>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="applyColumnSelection">确 定</el-button>
|
||||||
|
<el-button @click="showColumnSelector = false">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="RawMilkTest">
|
<script setup name="RawMilkTest">
|
||||||
import { listRawMilkTest, getRawMilkTest, delRawMilkTest, addRawMilkTest, updateRawMilkTest } from "@/api/dairyProducts/rawMilkTest/rawMilkTest.js"
|
import { listRawMilkTest, getRawMilkTest, delRawMilkTest, addRawMilkTest, updateRawMilkTest } from "@/api/dairyProducts/rawMilkTest/rawMilkTest.js"
|
||||||
|
import { getCurrentInstance, ref, reactive, toRefs, onMounted } from 'vue'
|
||||||
|
import { parseTime } from '@/utils/ruoyi'
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
|
|
||||||
|
// 获取当前用户名
|
||||||
|
const getCurrentUsername = () => {
|
||||||
|
const userInfo = JSON.parse(localStorage.getItem('userInfo') || '{}')
|
||||||
|
return userInfo.userName || userInfo.username || userInfo.nickName || 'admin'
|
||||||
|
}
|
||||||
|
|
||||||
const rawMilkTestList = ref([])
|
const rawMilkTestList = ref([])
|
||||||
const open = ref(false)
|
const open = ref(false)
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
@ -337,6 +257,51 @@ const single = ref(true)
|
|||||||
const multiple = ref(true)
|
const multiple = ref(true)
|
||||||
const total = ref(0)
|
const total = ref(0)
|
||||||
const title = ref("")
|
const title = ref("")
|
||||||
|
const showColumnSelector = ref(false)
|
||||||
|
|
||||||
|
// 所有可选的列配置
|
||||||
|
const allColumns = ref([
|
||||||
|
{ prop: 'datetime', label: '检测日期' },
|
||||||
|
{ prop: 'source', label: '来源' },
|
||||||
|
{ prop: 'freeze', label: '冰点' },
|
||||||
|
{ prop: 'density', label: '相对密度' },
|
||||||
|
{ prop: 'fat', label: '脂肪g/100g' },
|
||||||
|
{ prop: 'protein', label: '蛋白质g/100g' },
|
||||||
|
{ prop: 'nonFat', label: '非脂g/100g' },
|
||||||
|
{ prop: 'dryMatter', label: '干物质mg/100g' },
|
||||||
|
{ prop: 'impurityDegree', label: '杂质度mg/100g' },
|
||||||
|
{ prop: 'lactose', label: '乳糖g/100g' },
|
||||||
|
{ prop: 'ashContent', label: '灰度g/100g' },
|
||||||
|
{ prop: 'acidity', label: '酸度' },
|
||||||
|
{ prop: 'ph', label: 'ph' },
|
||||||
|
{ prop: 'bacterialColony', label: '菌落总数' },
|
||||||
|
{ prop: 'lactoferrin', label: '乳铁蛋白' },
|
||||||
|
{ prop: 'ig', label: '免疫球蛋白' },
|
||||||
|
{ prop: 'somaticCell', label: '体细胞' },
|
||||||
|
{ prop: 'usea', label: '尿素氮' },
|
||||||
|
{ prop: 'fatRatio', label: '脂蛋比' },
|
||||||
|
{ prop: 'comment', label: '备注' },
|
||||||
|
{ prop: 'createBy', label: '创建人' },
|
||||||
|
{ prop: 'createTime', label: '创建时间' }
|
||||||
|
])
|
||||||
|
|
||||||
|
// 默认选中的列
|
||||||
|
const selectedColumns = ref([
|
||||||
|
'datetime', 'source', 'freeze', 'density', 'fat', 'protein', 'nonFat',
|
||||||
|
'dryMatter', 'impurityDegree', 'lactose', 'ashContent', 'acidity', 'ph',
|
||||||
|
'bacterialColony', 'lactoferrin', 'ig', 'somaticCell', 'usea', 'fatRatio',
|
||||||
|
'comment', 'createBy', 'createTime'
|
||||||
|
])
|
||||||
|
|
||||||
|
// 当前显示的列
|
||||||
|
const visibleColumns = ref({})
|
||||||
|
|
||||||
|
// 初始化列显示状态
|
||||||
|
const initVisibleColumns = () => {
|
||||||
|
allColumns.value.forEach(column => {
|
||||||
|
visibleColumns.value[column.prop] = selectedColumns.value.includes(column.prop)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {},
|
form: {},
|
||||||
@ -344,32 +309,43 @@ const data = reactive({
|
|||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
datetime: null,
|
datetime: null,
|
||||||
source: null,
|
source: null
|
||||||
freeze: null,
|
|
||||||
density: null,
|
|
||||||
fat: null,
|
|
||||||
protein: null,
|
|
||||||
nonFat: null,
|
|
||||||
dryMatter: null,
|
|
||||||
impurity: null,
|
|
||||||
lactose: null,
|
|
||||||
ashContent: null,
|
|
||||||
acidity: null,
|
|
||||||
ph: null,
|
|
||||||
bacterialColony: null,
|
|
||||||
lactoferrin: null,
|
|
||||||
ig: null,
|
|
||||||
somaticCell: null,
|
|
||||||
usea: null,
|
|
||||||
fatRatio: null,
|
|
||||||
comment: null,
|
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
|
datetime: [
|
||||||
|
{ required: true, message: "检测日期不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
source: [
|
||||||
|
{ required: true, message: "来源不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
// 其他字段根据需要添加验证规则
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const { queryParams, form, rules } = toRefs(data)
|
const { queryParams, form, rules } = toRefs(data)
|
||||||
|
|
||||||
|
// 应用列选择
|
||||||
|
const applyColumnSelection = () => {
|
||||||
|
initVisibleColumns()
|
||||||
|
showColumnSelector.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
// 脂蛋比计算方法
|
||||||
|
const calculateFatRatio = () => {
|
||||||
|
try {
|
||||||
|
const fat = parseFloat(form.value.fat)
|
||||||
|
const protein = parseFloat(form.value.protein)
|
||||||
|
|
||||||
|
if (!isNaN(fat) && !isNaN(protein) && protein !== 0) {
|
||||||
|
form.value.fatRatio = (fat / protein).toFixed(4) // 保留4位小数
|
||||||
|
} else {
|
||||||
|
form.value.fatRatio = ""
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
form.value.fatRatio = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** 查询生乳检验记录列表 */
|
/** 查询生乳检验记录列表 */
|
||||||
function getList() {
|
function getList() {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
@ -377,6 +353,8 @@ function getList() {
|
|||||||
rawMilkTestList.value = response.rows
|
rawMilkTestList.value = response.rows
|
||||||
total.value = response.total
|
total.value = response.total
|
||||||
loading.value = false
|
loading.value = false
|
||||||
|
}).catch(() => {
|
||||||
|
loading.value = false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -398,7 +376,7 @@ function reset() {
|
|||||||
protein: null,
|
protein: null,
|
||||||
nonFat: null,
|
nonFat: null,
|
||||||
dryMatter: null,
|
dryMatter: null,
|
||||||
impurity: null,
|
impurityDegree: null,
|
||||||
lactose: null,
|
lactose: null,
|
||||||
ashContent: null,
|
ashContent: null,
|
||||||
acidity: null,
|
acidity: null,
|
||||||
@ -409,9 +387,7 @@ function reset() {
|
|||||||
somaticCell: null,
|
somaticCell: null,
|
||||||
usea: null,
|
usea: null,
|
||||||
fatRatio: null,
|
fatRatio: null,
|
||||||
comment: null,
|
comment: null
|
||||||
createBy: null,
|
|
||||||
createTime: null
|
|
||||||
}
|
}
|
||||||
proxy.resetForm("rawMilkTestRef")
|
proxy.resetForm("rawMilkTestRef")
|
||||||
}
|
}
|
||||||
@ -440,6 +416,20 @@ function handleAdd() {
|
|||||||
reset()
|
reset()
|
||||||
open.value = true
|
open.value = true
|
||||||
title.value = "添加生乳检验记录"
|
title.value = "添加生乳检验记录"
|
||||||
|
|
||||||
|
// 设置创建人和创建时间(格式化为YYYY-MM-DD HH:mm:ss)
|
||||||
|
form.value.createBy = getCurrentUsername()
|
||||||
|
form.value.createTime = new Date().toLocaleString('zh-CN', {
|
||||||
|
year: 'numeric',
|
||||||
|
month: '2-digit',
|
||||||
|
day: '2-digit',
|
||||||
|
hour: '2-digit',
|
||||||
|
minute: '2-digit',
|
||||||
|
second: '2-digit'
|
||||||
|
}).replace(/\//g, '-')
|
||||||
|
|
||||||
|
// 初始化脂蛋比
|
||||||
|
form.value.fatRatio = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
@ -448,8 +438,12 @@ function handleUpdate(row) {
|
|||||||
const _id = row.id || ids.value
|
const _id = row.id || ids.value
|
||||||
getRawMilkTest(_id).then(response => {
|
getRawMilkTest(_id).then(response => {
|
||||||
form.value = response.data
|
form.value = response.data
|
||||||
|
// 计算脂蛋比
|
||||||
|
calculateFatRatio()
|
||||||
open.value = true
|
open.value = true
|
||||||
title.value = "修改生乳检验记录"
|
title.value = "修改生乳检验记录"
|
||||||
|
}).catch(() => {
|
||||||
|
proxy.$modal.msgError("获取数据失败")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -457,19 +451,31 @@ function handleUpdate(row) {
|
|||||||
function submitForm() {
|
function submitForm() {
|
||||||
proxy.$refs["rawMilkTestRef"].validate(valid => {
|
proxy.$refs["rawMilkTestRef"].validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (form.value.id != null) {
|
// 新增时设置创建信息
|
||||||
updateRawMilkTest(form.value).then(response => {
|
if (form.value.id == null) {
|
||||||
proxy.$modal.msgSuccess("修改成功")
|
form.value.createBy = getCurrentUsername()
|
||||||
open.value = false
|
form.value.createTime = new Date().toLocaleString('zh-CN', {
|
||||||
getList()
|
year: 'numeric',
|
||||||
})
|
month: '2-digit',
|
||||||
} else {
|
day: '2-digit',
|
||||||
addRawMilkTest(form.value).then(response => {
|
hour: '2-digit',
|
||||||
proxy.$modal.msgSuccess("新增成功")
|
minute: '2-digit',
|
||||||
open.value = false
|
second: '2-digit'
|
||||||
getList()
|
}).replace(/\//g, '-')
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const savePromise = form.value.id
|
||||||
|
? updateRawMilkTest(form.value)
|
||||||
|
: addRawMilkTest(form.value)
|
||||||
|
|
||||||
|
savePromise.then(response => {
|
||||||
|
proxy.$modal.msgSuccess(form.value.id ? "修改成功" : "新增成功")
|
||||||
|
open.value = false
|
||||||
|
getList()
|
||||||
|
}).catch(error => {
|
||||||
|
console.error("保存失败:", error)
|
||||||
|
proxy.$modal.msgError("操作失败,请重试")
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -482,7 +488,10 @@ function handleDelete(row) {
|
|||||||
}).then(() => {
|
}).then(() => {
|
||||||
getList()
|
getList()
|
||||||
proxy.$modal.msgSuccess("删除成功")
|
proxy.$modal.msgSuccess("删除成功")
|
||||||
}).catch(() => {})
|
}).catch(error => {
|
||||||
|
console.error("删除失败:", error)
|
||||||
|
proxy.$modal.msgError("删除失败")
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
@ -492,5 +501,8 @@ function handleExport() {
|
|||||||
}, `rawMilkTest_${new Date().getTime()}.xlsx`)
|
}, `rawMilkTest_${new Date().getTime()}.xlsx`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
initVisibleColumns()
|
||||||
getList()
|
getList()
|
||||||
|
})
|
||||||
</script>
|
</script>
|
Loading…
x
Reference in New Issue
Block a user