From e950c38ba82e5e6bc8b0c50c35e5dbb6a180165a Mon Sep 17 00:00:00 2001 From: 13404089107 <puwei@sinata.cn> Date: 星期二, 20 五月 2025 16:43:06 +0800 Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory --- culture/src/views/pedigree-chart/components/PlanForm.vue | 138 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 138 insertions(+), 0 deletions(-) diff --git a/culture/src/views/pedigree-chart/components/PlanForm.vue b/culture/src/views/pedigree-chart/components/PlanForm.vue new file mode 100644 index 0000000..df58249 --- /dev/null +++ b/culture/src/views/pedigree-chart/components/PlanForm.vue @@ -0,0 +1,138 @@ +<template> + <!-- 设置传代计划数弹窗 --> + <el-dialog :title="planForm.status === 'detail' ? '传代计划数详情' : '设置传代计划数'" :visible.sync="planDialogVisible" + width="40%" :close-on-click-modal="false"> + <el-form :model="planForm" :rules="planRules" ref="planForm" label-position="top"> + <el-form-item label="菌种源" prop="strainSourceStart"> + <div class="flex-row"> + <div class="input-wrapper"> + <el-input disabled v-model="planForm.strainSourceStart" class="fixed-width-input"></el-input> + </div> + <span class="form-text">代—</span> + <div class="input-wrapper"> + <el-input disabled v-model="planForm.strainSourceEnd" class="fixed-width-input"></el-input> + </div> + <span class="form-text">细胞库</span> + </div> + </el-form-item> + <el-row :gutter="20"> + <el-col :span="10"> + <el-form-item label="传代菌种编号" prop="strainNo"> + <el-input disabled v-model="planForm.strainNo"></el-input> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="传代菌种名称" prop="strainName"> + <el-input disabled v-model="planForm.strainName"></el-input> + </el-form-item> + </el-col> + <el-col :span="10"> + <el-form-item label="传代计划数" prop="count"> + <el-input-number :disabled="planForm.status === 'detail'" v-model="planForm.count" + :controls="false" :min="1" placeholder="请输入" /> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div v-if="planForm.status !== 'detail'" class="dialog-footer"> + <el-button type="primary" @click="handleAddPlan">提交签字</el-button> + </div> + </el-dialog> +</template> +<script> +export default { + data() { + return { + planDialogVisible: false, + planForm: {}, + planRules: { + count: [ + { required: true, message: '请输入传代计划数', trigger: 'blur' } + ] + } + } + }, + methods: { + openInitData(value) { + this.planForm = value + this.openDialog() + }, + openDialog() { + this.planDialogVisible = true + }, + closeDialog() { + this.planDialogVisible = false + }, + handleAddPlan() { + this.$refs.planForm.validate((valid) => { + if (valid) { + this.$emit('addNodeSign', this.planForm, 2) + } + }) + } + } +} +</script> +<style scoped lang="less"> +.flex-row { + display: flex; + align-items: center; + flex-wrap: wrap; + + @media (max-width: 768px) { + flex-direction: column; + align-items: flex-start; + width: 100%; + } +} + +.input-wrapper { + @media (min-width: 769px) { + width: 290px; + min-width: 290px; + } + + @media (max-width: 768px) { + width: 100%; + } +} + +.fixed-width-input { + width: 100%; + + @media (min-width: 769px) { + width: 290px !important; + min-width: 290px !important; + } +} + +.form-text { + margin: 0 8px; + white-space: nowrap; + + @media (max-width: 768px) { + margin: 8px 0; + } +} + +.dialog-footer { + margin-top: 39px; + display: flex; + justify-content: center; + + .el-button--primary { + width: 150px; + height: 40px; + background: #049C9A; + border-radius: 4px; + } +} + +::v-deep .el-input-number .el-input__inner { + text-align: left; +} + +.el-input-number--small { + width: 100%; +} +</style> \ No newline at end of file -- Gitblit v1.7.1