From b1cb0925184e4426b93306cb4c290586126383c7 Mon Sep 17 00:00:00 2001
From: 13404089107 <puwei@sinata.cn>
Date: 星期一, 02 六月 2025 17:44:10 +0800
Subject: [PATCH] Merge branch 'main' of http://120.76.84.145:10101/gitblit/r/H5/leshan-laboratory
---
culture/src/views/pedigree-chart/components/AddSublevelForm.vue | 422 ++++++++++++++++++++++++++++------------------------
1 files changed, 226 insertions(+), 196 deletions(-)
diff --git a/culture/src/views/pedigree-chart/components/AddSublevelForm.vue b/culture/src/views/pedigree-chart/components/AddSublevelForm.vue
index f02a4c6..95c2945 100644
--- a/culture/src/views/pedigree-chart/components/AddSublevelForm.vue
+++ b/culture/src/views/pedigree-chart/components/AddSublevelForm.vue
@@ -1,215 +1,245 @@
<template>
- <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="40%" @close="closeDialog"
- :close-on-click-modal="false">
- <el-form :model="form" :rules="rules" ref="form" label-position="top">
- <el-row :gutter="20">
- <el-col :span="10">
- <el-form-item label="接种操作人" prop="thisName">
- <el-input disabled v-model="form.thisName"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="10">
- <el-form-item label="接种操作时间" prop="thisTime">
- <el-input disabled v-model="form.thisTime"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="10">
- <el-form-item label="传代菌种编号" prop="strainCode">
- <el-input disabled v-model="form.strainCode"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="10">
- <el-form-item label="传代菌种名称" prop="strainName">
- <el-input disabled v-model="form.strainName"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="10">
- <el-form-item label="接种菌种编号" prop="inoculateNo">
- <el-input :disabled="!dialogTitle.includes('新增')" v-model="form.inoculateNo"
- placeholder="请输入"></el-input>
- </el-form-item>
- </el-col>
- <el-col :span="10">
- <el-form-item label="接种菌种名称" prop="inoculateName">
- <el-input :disabled="!dialogTitle.includes('新增')" v-model="form.inoculateName"
- placeholder="请输入"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-form-item label="保存/废弃">
- <div class="flex-row">
- <div :class="form.status === 1 && 'active'" @click="handleStatus(1)">保存</div>
- <div :class="form.status === 2 && 'active'" @click="handleStatus(2)">废弃</div>
- </div>
- </el-form-item>
- <el-row :gutter="20">
- <el-col :span="10">
- <el-form-item v-if="form.status === 2" label="废弃原因说明" required>
- <el-input :disabled="!dialogTitle.includes('新增')" v-model="form.discardReason"
- placeholder="请输入"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="10">
- <el-form-item label="菌种入库时间" prop="inTime" required>
- <el-input disabled v-model="form.inTime"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- <!-- <el-row v-if="!dialogTitle.includes('新增')" :gutter="20">
- <el-col :span="10">
- <el-form-item label="接种操作人签字">
- <el-image />
- </el-form-item>
- </el-col>
- <el-col :span="10">
- <el-form-item label="菌种保藏人签字">
- <el-image />
- </el-form-item>
- </el-col>
- </el-row> -->
- </el-form>
- <div v-if="dialogTitle.includes('新增')" class="dialog-footer">
- <el-button type="primary" @click="handleSubmit">提交签字</el-button>
+ <el-dialog
+ :title="dialogTitle"
+ :visible.sync="dialogVisible"
+ width="40%"
+ @close="closeDialog"
+ :close-on-click-modal="false"
+ >
+ <el-form :model="form" :rules="rules" ref="form" label-position="top">
+ <el-row :gutter="20">
+ <el-col :span="10">
+ <el-form-item label="接种操作人" prop="thisName">
+ <el-input disabled v-model="form.thisName"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="接种操作时间" prop="thisTime">
+ <el-input disabled v-model="form.thisTime"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="传代菌种编号" prop="strainCode1">
+ <el-input disabled v-model="form.strainCode1"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="传代菌种名称" prop="strainName1">
+ <el-input disabled v-model="form.strainName1"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="接种菌种编号" prop="strainCode">
+ <el-input
+ :disabled="dialogTitle.includes('详情')"
+ v-model="form.strainCode"
+ placeholder="请输入"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item label="接种菌种名称" prop="strainName">
+ <el-input
+ :disabled="dialogTitle.includes('详情')"
+ v-model="form.strainName"
+ placeholder="请输入"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-form-item label="保存/废弃">
+ <div class="flex-row">
+ <div :class="form.status === 1 && 'active'" @click="handleStatus(1)">
+ 保存
+ </div>
+ <div :class="form.status === 2 && 'active'" @click="handleStatus(2)">
+ 废弃
+ </div>
</div>
- </el-dialog>
+ </el-form-item>
+ <el-row :gutter="20">
+ <el-col :span="10">
+ <el-form-item v-if="form.status === 2" label="废弃原因说明" required>
+ <el-input
+ :disabled="dialogTitle.includes('详情')"
+ v-model="form.discardReason"
+ placeholder="请输入"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="10">
+ <el-form-item label="菌种入库时间" prop="confirmTime" >
+ <el-input disabled v-model="form.confirmTime"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="!dialogTitle.includes('新增')" :gutter="20">
+ <el-col v-if="form.vaccinateSignature" :span="10">
+ <el-form-item label="接种操作人签字">
+ <el-image :src="form.vaccinateSignature" />
+ </el-form-item>
+ </el-col>
+ <el-col v-if="form.preserveSignature" :span="10">
+ <el-form-item label="菌种保藏人签字">
+ <el-image :src="form.preserveSignature" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div v-if="!dialogTitle.includes('详情')" class="dialog-footer">
+ <el-button type="primary" @click="handleSubmit">提交签字</el-button>
+ </div>
+ </el-dialog>
</template>
<script>
export default {
- data() {
- return {
- dialogVisible: false,
- dialogTitle: '',
- form: {
- thisName: '',
- thisTime: '',
- strainCode: '',
- strainName: '',
- inoculateNo: '',
- inoculateName: '',
- status: 1,
- inTime: '',
- discardReason: ''
- },
- rules: {
- thisName: [
- { required: true, message: '请输入接种操作人', trigger: 'blur' }
- ],
- thisTime: [
- { required: true, message: '请输入接种操作时间', trigger: 'blur' }
- ],
- strainCode: [
- { required: true, message: '请输入传代菌种编号', trigger: 'blur' }
- ],
- strainName: [
- { required: true, message: '请输入传代菌种名称', trigger: 'blur' }
- ],
- inoculateNo: [
- { required: true, message: '请输入接种菌种编号', trigger: 'blur' }
- ],
- inoculateName: [
- { required: true, message: '请输入接种菌种名称', trigger: 'blur' }
- ]
- }
- }
+ data() {
+ return {
+ dialogVisible: false,
+ dialogTitle: "",
+ form: {
+ thisName: "",
+ thisTime: "",
+ strainCode: "",
+ strainName: "",
+ strainCode1: "",
+ strainName1: "",
+ status: 1,
+ confirmTime: "",
+ discardReason: "",
+ },
+ rules: {
+ thisName: [
+ { required: true, message: "请输入接种操作人", trigger: "blur" },
+ ],
+ thisTime: [
+ { required: true, message: "请输入接种操作时间", trigger: "blur" },
+ ],
+ strainCode: [
+ { required: true, message: "请输入传代菌种编号", trigger: "blur" },
+ ],
+ strainName: [
+ { required: true, message: "请输入传代菌种名称", trigger: "blur" },
+ ],
+ strainCode1: [
+ { required: true, message: "请输入接种菌种编号", trigger: "blur" },
+ ],
+ strainName1: [
+ { required: true, message: "请输入接种菌种名称", trigger: "blur" },
+ ],
+ },
+ };
+ },
+ methods: {
+ openInitData(value) {
+ this.dialogTitle = value.title;
+ // 获取用户信息
+ const userInfo = JSON.parse(sessionStorage.getItem("userInfo") || "{}");
+ // 获取当前时间并格式化
+ const now = new Date();
+ const formatTime = `${now.getFullYear()}-${String(
+ now.getMonth() + 1
+ ).padStart(2, "0")}-${String(now.getDate()).padStart(2, "0")} ${String(
+ now.getHours()
+ ).padStart(2, "0")}:${String(now.getMinutes()).padStart(2, "0")}:${String(
+ now.getSeconds()
+ ).padStart(2, "0")}`;
+ console.log(value);
+
+ this.form = {
+ parentId: value.parentId,
+ ...this.form,
+ ...value.form,
+ formStatus: value.formStatus,
+ strainCode1: value.strainCode1,
+ strainName1: value.strainName1,
+ thisName: userInfo.nickName || "",
+ thisTime: value.form.vaccinateTime
+ ? value.form.vaccinateTime
+ : formatTime,
+ };
+ this.dialogVisible = true;
},
- methods: {
- openInitData(value) {
- this.dialogTitle = value.title
- // 获取用户信息
- const userInfo = JSON.parse(sessionStorage.getItem('userInfo') || '{}')
- // 获取当前时间并格式化
- const now = new Date()
- const formatTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}:${String(now.getSeconds()).padStart(2, '0')}`
-
- this.form = {
- ...this.form,
- ...value.form,
- thisName: userInfo.nickName || '',
- thisTime: formatTime,
- inTime: formatTime
- }
- this.dialogVisible = true
- },
- closeDialog() {
- this.dialogVisible = false
- // 重置表单数据
- this.form = {
- thisName: '',
- thisTime: '',
- strainCode: '',
- strainName: '',
- inoculateNo: '',
- inoculateName: '',
- status: 1,
- inTime: '',
- discardReason: ''
- }
- // 重置表单验证
- this.$refs.form && this.$refs.form.resetFields()
- },
- handleSubmit() {
- this.$refs.form.validate((valid) => {
- if (valid) {
- this.$emit('addNodeSign', this.form, 3)
- }
- })
- },
- handleStatus(status) {
- if (!this.dialogTitle.includes('新增')) return
- this.form.status = status
- this.$forceUpdate()
+ closeDialog() {
+ this.dialogVisible = false;
+ // 重置表单数据
+ this.form = {
+ thisName: "",
+ thisTime: "",
+ strainCode: "",
+ strainName: "",
+ strainCode1: "",
+ strainName1: "",
+ status: 1,
+ confirmTime: "",
+ discardReason: "",
+ };
+ // 重置表单验证
+ this.$refs.form && this.$refs.form.resetFields();
+ },
+ handleSubmit() {
+ this.$refs.form.validate((valid) => {
+ if (valid) {
+ this.$emit("addNodeSign", this.form, 3);
}
- }
-}
+ });
+ },
+ handleStatus(status) {
+ if (this.dialogTitle.includes("详情")) return;
+ this.form.status = status;
+ this.$forceUpdate();
+ },
+ },
+};
</script>
<style scoped lang="less">
.dialog-footer {
- margin-top: 39px;
- display: flex;
- justify-content: center;
+ margin-top: 39px;
+ display: flex;
+ justify-content: center;
- .el-button--primary {
- width: 150px;
- height: 40px;
- background: #049C9A;
- border-radius: 4px;
- }
+ .el-button--primary {
+ width: 150px;
+ height: 40px;
+ background: #049c9a;
+ border-radius: 4px;
+ }
}
.flex-row {
- width: 370px;
- display: flex;
- align-items: center;
- font-size: 16px;
- color: #333333;
- padding: 4px;
+ width: 370px;
+ display: flex;
+ align-items: center;
+ font-size: 16px;
+ color: #333333;
+ padding: 4px;
+ border-radius: 10px;
+ border: 2px solid rgba(4, 156, 154, 0.5);
+ font-family: "PingFangSCRegular";
+
+ .flex-row-save {
+ background: #049c9a;
+ color: #fff;
+ }
+
+ div {
+ width: 183px;
+ height: 32px;
+ text-align: center;
+ flex-shrink: 0;
+ cursor: pointer;
+ }
+
+ .active {
+ font-family: "SourceHanSansCN-Medium";
+ color: #049c9a;
+ background: #ebfefd;
+ box-shadow: 0px 0px 6px 0px rgba(10, 109, 108, 0.25);
border-radius: 10px;
- border: 2px solid rgba(4, 156, 154, 0.5);
- font-family: 'PingFangSCRegular';
-
- .flex-row-save {
- background: #049C9A;
- color: #fff;
- }
-
- div {
- width: 183px;
- height: 32px;
- text-align: center;
- flex-shrink: 0;
- cursor: pointer;
- }
-
- .active {
- font-family: 'SourceHanSansCN-Medium';
- color: #049C9A;
- background: #EBFEFD;
- box-shadow: 0px 0px 6px 0px rgba(10, 109, 108, 0.25);
- border-radius: 10px;
- }
+ }
}
</style>
--
Gitblit v1.7.1