From c94535b792e9df0d3bbeffa10f427624c7c10ee4 Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期四, 29 五月 2025 13:54:21 +0800 Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory --- culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue | 131 +++++++++++++++++++++---------------------- 1 files changed, 64 insertions(+), 67 deletions(-) diff --git a/culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue b/culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue index 4947fbf..661e170 100644 --- a/culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue +++ b/culture/src/views/strain-library/validation/primitive-cell/DetailConditionDialog.vue @@ -1,21 +1,21 @@ <template> - <el-dialog :visible.sync="visible" width="80%" @close="handleClose"> + <el-dialog :visible.sync="visible" width="80%" @open="handleOpen" @close="handleClose"> <el-card class="top-card"> <el-row :gutter="24" class="top-info-row"> <el-col :span="8" class="info-col"> <div class="info-item"> - <span class="label">菌种来源:</span>{{ detail.source }} + <span class="label">菌种来源:</span>{{ detail.strainSource }} </div> <div class="info-item"> - <span class="label">鉴别菌株编号:</span>{{ detail.strainNo }} + <span class="label">鉴别菌株编号:</span>{{ detail.identifyingStrainCode }} </div> <div class="info-item"> - <span class="label">鉴别菌株名称:</span>{{ detail.strainName }} + <span class="label">鉴别菌株名称:</span>{{ detail.identifyingStrainName }} </div> </el-col> <el-col :span="8" class="info-col"> <div class="info-item"> - <span class="label">验证实验编号:</span>{{ detail.verifyNo }} + <span class="label">验证实验编号:</span>{{ detail.validationExperimentCode }} </div> <div class="info-item"> <span class="label">实验时间:</span>{{ detail.experimentTime }} @@ -28,7 +28,7 @@ </div> <div class="info-item signature-item"> <div class="signature-area"> - <img v-if="detail.signature" :src="detail.signature" alt="签字" /> + <img v-if="detail.handleSignature" :src="detail.handleSignature" alt="签字" /> <span v-else class="waiting-text">暂无签名</span> </div> </div> @@ -36,35 +36,25 @@ </el-row> </el-card> <div class="section-card" style="margin-top: 24px"> - <el-form label-width="100px" label-position="top"> - <el-form-item label="实验结论"> - <el-input - type="textarea" - v-model="detail.conclusion" - :rows="3" - placeholder="请输入" - /> + <el-form ref="form" label-width="100px" :model="detail" label-position="top"> + <el-form-item label="实验结论" prop="result"> + <el-input type="textarea" :disabled="true" v-model="detail.result" :rows="3" placeholder="请输入" /> </el-form-item> - <el-form-item label="批准菌株用途"> - <el-checkbox-group v-model="detail.usage"> - <el-checkbox label="传代" /> - <el-checkbox label="菌种保藏" /> - <el-checkbox label="废弃" /> + <el-form-item label="批准菌株用途" prop="purpose"> + <el-checkbox-group :disabled="true" v-model="detail.purpose"> + <el-checkbox label="1">传代</el-checkbox> + <el-checkbox label="2">菌种保藏</el-checkbox> + <el-checkbox label="3">废弃</el-checkbox> </el-checkbox-group> </el-form-item> </el-form> </div> <div class="section-card" style="margin-top: 12px"> - <el-table - :data="tableData" - border - style="width: 100%" - :row-class-name="getRowClassName" - > - <el-table-column prop="condition" label="菌种培养工艺条件" /> + <el-table :data="tableData" border style="width: 100%" :row-class-name="getRowClassName"> + <el-table-column prop="conditions" label="菌种培养工艺条件" /> <el-table-column prop="record" label="菌种培养工艺实况记录" /> - <el-table-column prop="process" label="菌种培养标准工艺" /> + <el-table-column prop="workmanship" label="菌种培养标准工艺" /> <el-table-column label="操作" width="120"> <template #default="{ row }"> <el-button type="text" @click="handleEdit(row)">详情</el-button> @@ -77,6 +67,7 @@ <script> import DetailConditionDialog from "./DetailConditionDialog.vue"; +import { detail } from "./service.js"; export default { name: "DetailConditionDialog", components: { DetailConditionDialog }, @@ -86,47 +77,43 @@ type: Object, default: () => ({ condition: "", record: "", process: "" }), }, + value: { + type: Object, + default: () => ({}) + }, }, data() { return { detail: { - source: "内容的内容内容内容", - strainNo: "3411234", - strainName: "名称名称名称", - verifyNo: "34133214", - experimentTime: "2025-1-23 11:10:28", - signature: "", // 签名图片url - conclusion: "", - usage: [], + strainSource: '', + identifyingStrainCode: '', + identifyingStrainName: '', + validationExperimentCode: '', + experimentTime: '', + handleSignature: '', // 签名图片url + result: '', + purpose: [] }, - activeTab: "condition", + activeTab: "conditions", initialTableData: [ - { - condition: "平板培养基", - record: "文字内容文字内容文字内容文字内容文字内容文字内容", - process: "文字内容文字内容文字内容文字内容文字内容文字内容", - }, - { condition: "培养温度", record: "", process: "" }, - { condition: "培养时间", record: "", process: "" }, - { condition: "摇瓶培养基", record: "", process: "" }, - { condition: "接种量", record: "", process: "" }, - { condition: "培养时间", record: "", process: "" }, - { condition: "发酵时间", record: "", process: "" }, - { condition: "检测数据及结果", record: "", process: "" }, + { conditions: '平板培养基', record: '', workmanship: '' }, + { conditions: '培养温度', record: '', workmanship: '' }, + { conditions: '培养时间', record: '', workmanship: '' }, + { conditions: '摇瓶培养基', record: '', workmanship: '' }, + { conditions: '接种量', record: '', workmanship: '' }, + { conditions: '培养时间', record: '', workmanship: '' }, + { conditions: '发酵时间', record: '', workmanship: '' }, + { conditions: '检测数据及结果', record: '', workmanship: '' } ], tableData: [ - { - condition: "平板培养基", - record: "文字内容文字内容文字内容文字内容文字内容文字内容", - process: "文字内容文字内容文字内容文字内容文字内容文字内容", - }, - { condition: "培养温度", record: "", process: "" }, - { condition: "培养时间", record: "", process: "" }, - { condition: "摇瓶培养基", record: "", process: "" }, - { condition: "接种量", record: "", process: "" }, - { condition: "培养时间", record: "", process: "" }, - { condition: "发酵时间", record: "", process: "" }, - { condition: "检测数据及结果", record: "", process: "" }, + { conditions: '平板培养基', record: '', workmanship: '' }, + { conditions: '培养温度', record: '', workmanship: '' }, + { conditions: '培养时间', record: '', workmanship: '' }, + { conditions: '摇瓶培养基', record: '', workmanship: '' }, + { conditions: '接种量', record: '', workmanship: '' }, + { conditions: '培养时间', record: '', workmanship: '' }, + { conditions: '发酵时间', record: '', workmanship: '' }, + { conditions: '检测数据及结果', record: '', workmanship: '' } ], dialogVisible: false, dialogIsEdit: false, @@ -136,18 +123,26 @@ }; }, methods: { + handleOpen() { + if (this.value.id) { + detail({ id: this.value.id }).then(res => { + this.detail = { + ...res, + handleSignature: res.handleSignature || '', // 处理签名为空的情况 + purpose: res.purpose.split(',') || [] // 处理 purpose 为空的情况 + } + this.tableData = res.list || [] + }) + } + }, handleClose() { this.$emit("update:visible", false); }, handleEdit(row) { - const idx = this.tableData.indexOf(row); - this.dialogVisible = true; - this.dialogIsEdit = true; - this.dialogIsFixed = idx < this.initialTableData.length; - this.dialogValue = { ...row }; - this.dialogIndex = idx; + + this.$emit("viewDetail", row); }, - + handleSave() { this.dialogVisible = true; this.dialogIsEdit = false; @@ -176,6 +171,7 @@ .el-dialog__body { padding-bottom: 0; } + .top-card { margin-bottom: 0; background: rgba(239, 239, 239, 1); @@ -257,6 +253,7 @@ padding: 24px; padding-bottom: 0; gap: 24px; + .el-button { width: 150px; } -- Gitblit v1.7.1