| | |
| | | <!-- 来源菌株 --> |
| | | <el-row v-if="activeTab === 'strain'" :gutter="10"> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8"> |
| | | <el-form-item label="菌株编号" prop="strainCode" > |
| | | <el-input v-model="form.strainCode" class="w-380" placeholder="请输入菌株编号" /> |
| | | <el-form-item label="菌株编号" prop="strainCode"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.strainCode" class="w-380" |
| | | placeholder="请输入菌株编号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8"> |
| | | <el-form-item label="菌株名称" prop="strainName" > |
| | | <el-input v-model="form.strainName" class="w-380" placeholder="请输入菌株名称" /> |
| | | <el-form-item label="菌株名称" prop="strainName"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.strainName" class="w-380" |
| | | placeholder="请输入菌株名称" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8"> |
| | | <el-form-item label="培养基配方" prop="formula" > |
| | | <el-input v-model="form.formula" class="w-380" placeholder="请输入培养基配方" /> |
| | | <el-form-item label="培养基配方" prop="formula"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.formula" class="w-380" placeholder="请输入培养基配方" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 来源物资 --> |
| | | <el-row v-if="activeTab === 'material'" :gutter="10"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="来源物资、时间及批号" prop="sourceMaterialTimeBatchNumber" > |
| | | <el-input v-model="form.sourceMaterialTimeBatchNumber" placeholder="请输入物资编号" /> |
| | | <el-form-item label="来源物资、时间及批号" prop="sourceMaterialTimeBatchNumber"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.sourceMaterialTimeBatchNumber" |
| | | placeholder="请输入物资编号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="培养基配方" prop="formula" > |
| | | <el-input v-model="form.formula" placeholder="请输入培养基配方" /> |
| | | <el-form-item label="培养基配方" prop="formula"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.formula" placeholder="请输入培养基配方" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="分离菌落编号" prop="separateColonyNumber" > |
| | | <el-input v-model="form.separateColonyNumber" placeholder="请输入分离菌落编号" /> |
| | | <el-form-item label="分离菌落编号" prop="separateColonyNumber"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.separateColonyNumber" placeholder="请输入分离菌落编号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </div> |
| | | <el-row :gutter="10"> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6"> |
| | | <el-form-item label="培养基" prop="cultureMedium" > |
| | | <el-input v-model="form.cultureMedium" class="w-380" placeholder="请输入培养基" /> |
| | | <el-form-item label="培养基" prop="cultureMedium"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.cultureMedium" class="w-380" |
| | | placeholder="请输入培养基" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6"> |
| | | <el-form-item label="培养温度" prop="temperature" > |
| | | <el-input v-model="form.temperature" class="w-380" placeholder="请输入培养温度" /> |
| | | <el-form-item label="培养温度" prop="temperature"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.temperature" class="w-380" |
| | | placeholder="请输入培养温度" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6"> |
| | | <el-form-item label="需氧类型" prop="aerobicType" > |
| | | <el-select v-model="form.aerobicType" class="w-380" placeholder="请选择需氧类型"> |
| | | <el-option label="专性需氧" value="1"></el-option> |
| | | <el-option label="专性厌氧" value="2"></el-option> |
| | | <el-option label="兼性需氧" value="3"></el-option> |
| | | <el-option label="耐氧厌氧" value="4"></el-option> |
| | | </el-select> |
| | | <el-form-item label="需氧类型" prop="aerobicType"> |
| | | <el-select :disabled="$route.query.isDetail" v-model="form.aerobicType" class="w-380" |
| | | placeholder="请选择需氧类型"> |
| | | <el-option label="专性需氧" value="1"></el-option> |
| | | <el-option label="专性厌氧" value="2"></el-option> |
| | | <el-option label="兼性需氧" value="3"></el-option> |
| | | <el-option label="耐氧厌氧" value="4"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6"> |
| | | <el-form-item label="培养时间" prop="cultureTime" > |
| | | <el-input v-model="form.cultureTime" class="w-380" placeholder="请输入培养时间" /> |
| | | <el-form-item label="培养时间" prop="cultureTime"> |
| | | <el-input :disabled="$route.query.isDetail" v-model="form.cultureTime" class="w-380" |
| | | placeholder="请输入培养时间" /> |
| | | <!-- <el-date-picker v-model="form.cultureTime" class="w-380" placeholder="请选择培养时间" type="date" value-format="yyyy-MM-dd" /> --> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <div>一、培养皿分离记录</div> |
| | | </div> |
| | | <div class="header-title-right"> |
| | | <el-button @click="handleAddSeparation" class="el-icon-circle-plus-outline" type="primary"> |
| | | <el-button @click="handleAddSeparation" v-if="!$route.query.isDetail&&[1,4].includes(roleType)" class="el-icon-circle-plus-outline" |
| | | type="primary"> |
| | | 新增培养皿分离记录</el-button> |
| | | </div> |
| | | </div> |
| | | <Table :data="form.separationOfCultureDishesList" :height="null" :queryForm="queryForm" :total="0"> |
| | | <el-table-column width="100" type="index" label="培养皿序号" /> |
| | | <el-table-column prop="separateBacterialColoniesCode" label="分离菌落编号" /> |
| | | <el-table-column prop="handleSignature" label="接种操作人签字" > |
| | | <el-table-column prop="handleSignature" label="接种操作人签字"> |
| | | <template slot-scope="scope"> |
| | | <el-image :preview-src-list="[scope.row.handleSignature]" style="width: 40px;" :src="scope.row.handleSignature" alt="操作人签字" /> |
| | | <el-image :preview-src-list="[scope.row.handleSignature]" style="width: 40px;" |
| | | :src="scope.row.handleSignature" alt="操作人签字" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createTime" label="操作时间" /> |
| | | <el-table-column prop="address" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="handleEditSeparation(scope.row, scope.$index)">编辑</el-button> |
| | | <el-button type="text" @click="handleDeleteSeparation(scope.$index)">删除</el-button> |
| | | <el-table-column prop="address" label="操作" v-if="!$route.query.isDetail"> |
| | | <template slot-scope="scope" v-if="[1,4].includes(roleType)"> |
| | | <el-button type="text" @click="handleEditSeparation(scope.row, scope.$index)" |
| | | v-if="!$route.query.isDetail">编辑</el-button> |
| | | <el-button type="text" @click="handleDeleteSeparation(scope.$index)" |
| | | v-if="!$route.query.isDetail">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </Table> |
| | |
| | | <div>二、培养皿生物学形态观察记录</div> |
| | | </div> |
| | | <div class="header-title-right"> |
| | | <el-button @click="handleAddObservation" class="el-icon-circle-plus-outline" type="primary"> |
| | | <el-button @click="handleAddObservation" v-if="!$route.query.isDetail&&[1,4].includes(roleType)" class="el-icon-circle-plus-outline" type="primary"> |
| | | 新增观察记录</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | <el-table-column prop="strength" label="形状强壮度排名" /> |
| | | <el-table-column prop="address" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="handleEditObservation(scope.row)">编辑</el-button> |
| | | <el-button type="text" @click="handleDeleteObservation(scope.$index)">删除</el-button> |
| | | <!-- <el-button type="text" @click="handleEditObservation(scope.row)" v-if="!$route.query.isDetail">编辑</el-button> --> |
| | | <el-button type="text" @click="handleEditObservation(scope.row)">形态记录</el-button> |
| | | <el-button type="text" @click="handleDeleteObservation(scope.$index)" |
| | | v-if="!$route.query.isDetail&&[1,4].includes(roleType)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </Table> |
| | |
| | | <div>三、接种斜面记录</div> |
| | | </div> |
| | | <div class="header-title-right"> |
| | | <el-button @click="handleAddInoculation" class="el-icon-circle-plus-outline" type="primary"> |
| | | <el-button @click="handleAddInoculation" v-if="!$route.query.isDetail&&[1,4].includes(roleType)" class="el-icon-circle-plus-outline" type="primary"> |
| | | 新增斜面记录</el-button> |
| | | </div> |
| | | </div> |
| | | <el-table :data="form.vaccinationSlopes" border style="width: 100%; margin-bottom: 16px;" :span-method="inoculationRowSpan"> |
| | | <el-table :data="form.vaccinationSlopes" border style="width: 100%; margin-bottom: 16px;" |
| | | :span-method="inoculationRowSpan"> |
| | | <el-table-column prop="separateColonyCode" label="分离菌落编号" /> |
| | | <el-table-column prop="vaccinationSlopeCode" label="接种斜面编号" /> |
| | | <el-table-column prop="handleName" label="接种操作人" /> |
| | | <el-table-column prop="handleSignature" label="接种操作人签字"> |
| | | <template slot-scope="scope"> |
| | | <el-image v-if="scope.row.handleSignature" :preview-src-list="[scope.row.handleSignature]" style="width: 40px;" :src="scope.row.handleSignature" alt="操作人签字" /> |
| | | <el-image v-if="scope.row.handleSignature" :preview-src-list="[scope.row.handleSignature]" |
| | | style="width: 40px;" :src="scope.row.handleSignature" alt="操作人签字" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="handleTime" label="接种操作时间" /> |
| | |
| | | <span v-if="scope.$index === firstInoculationOrDiscardIndex">{{ totalInoculationCount }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="preserveSignature" label="菌种保藏人签字" > |
| | | <el-table-column prop="preserveSignature" label="菌种保藏人签字"> |
| | | <template slot-scope="scope"> |
| | | <el-image v-if="scope.row.preserveSignature" :preview-src-list="[scope.row.preserveSignature]" style="width: 40px;" :src="scope.row.preserveSignature" alt="操作人签字" /> |
| | | <el-image v-if="scope.row.preserveSignature" :preview-src-list="[scope.row.preserveSignature]" |
| | | style="width: 40px;" :src="scope.row.preserveSignature" alt="操作人签字" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="preserveTime" label="入库保藏/废弃时间" /> |
| | | <el-table-column label="操作"> |
| | | <el-table-column label="操作" v-if="[1,3,4].includes(roleType)&&!$route.query.isDetail"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="handleEditInoculation(scope.row, scope.$index)">编辑</el-button> |
| | | <el-button type="text" @click="handleConfirmStorageClick(scope.row, scope.$index)">确认入库</el-button> |
| | | <el-button type="text" @click="handleDeleteInoculation(scope.$index)">删除</el-button> |
| | | <el-button type="text" @click="handleEditInoculation(scope.row, scope.$index)" v-if="!$route.query.isDetail&&[1,4].includes(roleType)">编辑</el-button> |
| | | <el-button type="text" @click="handleConfirmStorageClick(scope.row, scope.$index)" v-if="$route.query.isDetail&&[3].includes(roleType)">确认入库</el-button> |
| | | <el-button type="text" @click="handleDeleteInoculation(scope.$index)" v-if="!$route.query.isDetail&&!scope.row.preserveSignature&&[1,4].includes(roleType)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <div>四、菌种保藏记录</div> |
| | | </div> |
| | | <div class="header-title-right"> |
| | | <el-button @click="handleAddPreserve" class="el-icon-circle-plus-outline" type="primary"> |
| | | <el-button @click="handleAddPreserve" v-if="!$route.query.isDetail&&[1,4].includes(roleType)" class="el-icon-circle-plus-outline" type="primary"> |
| | | 新增菌种保藏记录</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | <el-table-column prop="verificationConclusion" label="实验验证结论" /> |
| | | <el-table-column prop="preserveMethod" label="保藏方法" /> |
| | | <el-table-column prop="preserveCode" label="保藏菌种编号" /> |
| | | <el-table-column prop="handleSignature" label="菌种操作人签字"> |
| | | <template slot-scope="scope"> |
| | | <el-image v-if="scope.row.handleSignature" :preview-src-list="[scope.row.handleSignature]" |
| | | style="width: 40px;" :src="scope.row.handleSignature" alt="签字" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="handleTime" label="操作人" /> |
| | | <el-table-column prop="preserveSignature" label="菌种保藏人签字"> |
| | | <template slot-scope="scope"> |
| | | <el-image v-if="scope.row.preserveSignature" :preview-src-list="[scope.row.preserveSignature]" style="width: 40px;" :src="scope.row.preserveSignature" alt="签字" /> |
| | | <el-image v-if="scope.row.preserveSignature" :preview-src-list="[scope.row.preserveSignature]" |
| | | style="width: 40px;" :src="scope.row.preserveSignature" alt="签字" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="preserveTime" label="保藏时间" /> |
| | | <el-table-column label="操作"> |
| | | <el-table-column label="操作" v-if="[1,3,4].includes(roleType)&&!$route.query.isDetail"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="handleEditPreserve(scope.row, scope.$index)">编辑</el-button> |
| | | <el-button type="text" @click="handleDeletePreserve(scope.$index)">删除</el-button> |
| | | <el-button type="text" @click="handleEditPreserve(scope.row, scope.$index)" v-if="!$route.query.isDetail&&[1,4].includes(roleType)">编辑</el-button> |
| | | <el-button type="text" @click="handleConfirmPreserve(scope.row, scope.$index)" v-if="$route.query.isDetail&&[3].includes(roleType)">确认入库</el-button> |
| | | <el-button type="text" @click="handleDeletePreserve(scope.$index)" v-if="!$route.query.isDetail&&!scope.row.preserveSignature&&[1,4].includes(roleType)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </Table> |
| | | <!-- 弹窗组件 --> |
| | | <SeparationRecordDialog |
| | | :visible.sync="showSeparationDialog" |
| | | :editData="editSeparationData" |
| | | @confirm="handleSeparationConfirm" |
| | | @close="resetSeparationEdit" |
| | | /> |
| | | <SlantRecordDialog |
| | | :visible.sync="showObservationDialog" |
| | | :editData="editObservationData" |
| | | @ok="handleObservationConfirm" |
| | | /> |
| | | <InoculationSlopeRecordDialog |
| | | :visible.sync="showInoculationDialog" |
| | | :editData="editInoculationData" |
| | | @save="handleInoculationConfirm" |
| | | /> |
| | | <PreserveStrainRecordDialog |
| | | :visible.sync="showPreserveDialog" |
| | | :editData="editPreserveData" |
| | | @save="handlePreserveConfirm" |
| | | /> |
| | | <ConfirmStorageDialog |
| | | :visible.sync="showConfirmStorageDialog" |
| | | :editData="editInoculationData" |
| | | @confirm="handleConfirmStorage" |
| | | /> |
| | | <div class="end-btn" style="margin-top: 20px;"> |
| | | <el-button type="primary" @click="handleSubmit(1)">发送</el-button> |
| | | <SeparationRecordDialog :visible.sync="showSeparationDialog" :editData="editSeparationData" |
| | | @confirm="handleSeparationConfirm" @close="resetSeparationEdit" /> |
| | | <SlantRecordDialog :visible.sync="showObservationDialog" :editData="editObservationData" |
| | | @ok="handleObservationConfirm" /> |
| | | <InoculationSlopeRecordDialog :visible.sync="showInoculationDialog" :editData="editInoculationData" |
| | | @save="handleInoculationConfirm" /> |
| | | <PreserveStrainRecordDialog :visible.sync="showPreserveDialog" :editData="editPreserveData" |
| | | @save="handlePreserveConfirm" /> |
| | | <ConfirmStorageDialog :visible.sync="showConfirmStorageDialog" :editData="editInoculationData" |
| | | @confirm="handleConfirmStorage" /> |
| | | <ConfirmPreserveDialog :visible.sync="showConfirmPreserveDialog" :editData="editPreserveData" |
| | | @confirm="handleConfirmPreserveSubmit" /> |
| | | <div class="end-btn" style="margin-top: 20px;" v-if="!$route.query.isDetail"> |
| | | <el-button type="primary" @click="handleSubmit(1)">提交</el-button> |
| | | <el-button type="primary" @click="handleSubmit(3)">同步给保藏人</el-button> |
| | | <el-button type="default" @click="handleSubmit(2)">存草稿</el-button> |
| | | </div> |
| | | </el-form> |
| | |
| | | import InoculationSlopeRecordDialog from "./inoculation-slope-record-dialog.vue"; |
| | | import PreserveStrainRecordDialog from "./preserve-strain-record-dialog.vue"; |
| | | import ConfirmStorageDialog from "./confirm-storage-dialog.vue"; |
| | | import ConfirmPreserveDialog from "./confirm-preserve-dialog.vue"; |
| | | |
| | | import {add,detail,edit} from './service' |
| | | import { add, detail, edit } from './service' |
| | | export default { |
| | | components: { |
| | | AiEditor, |
| | |
| | | InoculationSlopeRecordDialog, |
| | | PreserveStrainRecordDialog, |
| | | ConfirmStorageDialog, |
| | | ConfirmPreserveDialog, |
| | | }, |
| | | name: "AddBreedingRecord", |
| | | data() { |
| | |
| | | showInoculationDialog: false, |
| | | showPreserveDialog: false, |
| | | showConfirmStorageDialog: false, |
| | | showConfirmPreserveDialog: false, |
| | | editSeparationIndex: null, |
| | | editSeparationData: null, |
| | | editObservationData: null, |
| | |
| | | editInoculationData: null, |
| | | editPreserveIndex: null, |
| | | editPreserveData: null, |
| | | roleType: JSON.parse(sessionStorage.getItem('userInfo')).roleType, // 1.超级管理员 2.审批人 3.工程师 4.实验员 |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | return this.form.vaccinationSlopes.findIndex(item => item.handleType === '保存' || item.handleType === '废弃'); |
| | | } |
| | | }, |
| | | mounted(){ |
| | | if(this.$route.query.id){ |
| | | mounted() { |
| | | if (this.$route.query.id) { |
| | | this.getDetail() |
| | | } |
| | | }, |
| | | methods: { |
| | | async getDetail(){ |
| | | const res = await detail({id:this.$route.query.id}) |
| | | if(res.preserveSource == 1){ |
| | | async getDetail() { |
| | | const res = await detail({ id: this.$route.query.id }) |
| | | if (res.preserveSource == 1) { |
| | | this.activeTab = 'strain' |
| | | }else{ |
| | | } else { |
| | | this.activeTab = 'material' |
| | | } |
| | | res.vaccinationSlopes = res.vaccinationSlopes.map(item => { |
| | |
| | | this.form = res |
| | | }, |
| | | handleSeparationConfirm(data) { |
| | | console.log('分离',data) |
| | | console.log('分离', data) |
| | | if (this.editSeparationIndex !== null) { |
| | | // 编辑 |
| | | this.$set(this.form.separationOfCultureDishesList, this.editSeparationIndex, data); |
| | | this.resetSeparationEdit(); |
| | | } else { |
| | | // 新增 |
| | | console.log('新增',data) |
| | | console.log('新增', data) |
| | | this.form.separationOfCultureDishesList.push(data); |
| | | } |
| | | }, |
| | |
| | | this.editObservationData = null; |
| | | }, |
| | | handleInoculationConfirm(data) { |
| | | console.log('接种',data) |
| | | console.log('接种', data) |
| | | if (this.editInoculationIndex !== null) { |
| | | // 编辑模式:更新指定索引的数据 |
| | | this.$set(this.form.vaccinationSlopes, this.editInoculationIndex, { |
| | |
| | | this.editPreserveData = null; |
| | | }, |
| | | handleSubmit(type) { |
| | | if(this.activeTab === 'material'){ |
| | | if (this.activeTab === 'material') { |
| | | this.form.preserveSource = 2 |
| | | }else{ |
| | | } else { |
| | | this.form.preserveSource = 1 |
| | | } |
| | | |
| | | if(type == 1){ |
| | | this.form.isDraft = 0 |
| | | }else{ |
| | | this.form.isDraft = 1 |
| | | if (type == 1) { |
| | | this.form.status = 1 |
| | | } else if (type == 3) { |
| | | this.form.isDraft = 2 |
| | | } else { |
| | | this.form.isDraft = 3 |
| | | } |
| | | |
| | | |
| | | this.$refs.form.validate(async (valid) => { |
| | | if (!valid) return; |
| | | try { |
| | | if(this.form.vaccinationSlopes.length > 0){ |
| | | if (this.form.vaccinationSlopes.length > 0) { |
| | | let arr = this.form.vaccinationSlopes |
| | | this.form.vaccinationSlopes = arr.map(item => { |
| | | return { |
| | |
| | | } |
| | | }) |
| | | } |
| | | if(this.form.id){ |
| | | if (this.form.id && this.form.isDraft == 0) { |
| | | edit(this.form).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('编辑成功'); |
| | |
| | | this.$message.error('编辑失败'); |
| | | } |
| | | }) |
| | | }else{ |
| | | } else { |
| | | add(this.form).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('添加成功'); |
| | | this.$router.back(); |
| | | } else { |
| | | this.$message.error('添加失败'); |
| | | } |
| | | }); |
| | | if (res.code === 200) { |
| | | this.$message.success('添加成功'); |
| | | this.$router.back(); |
| | | } else { |
| | | this.$message.error('添加失败'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | } catch (e) { |
| | | this.$message.error('添加失败'); |
| | | } |
| | |
| | | handleDeletePreserve(index) { |
| | | this.form.culturePreservations.splice(index, 1); |
| | | }, |
| | | handleConfirmPreserve(row, index) { |
| | | this.editPreserveIndex = index; |
| | | // 深拷贝当前行数据,避免直接修改原数据 |
| | | this.editPreserveData = JSON.parse(JSON.stringify(row)); |
| | | this.showConfirmPreserveDialog = true; |
| | | }, |
| | | handleConfirmPreserveSubmit(data) { |
| | | console.log('确认保藏', data) |
| | | // 更新对应行的数据,保留原有数据并更新签名 |
| | | if (this.editPreserveIndex !== null) { |
| | | this.$set(this.form.culturePreservations, this.editPreserveIndex, { |
| | | ...this.form.culturePreservations[this.editPreserveIndex], |
| | | preserveSignature: data.preserveSignature, // 更新签名数据 |
| | | preserveTime: data.preserveTime, |
| | | }); |
| | | } |
| | | this.showConfirmPreserveDialog = false; |
| | | this.editPreserveIndex = null; |
| | | this.editPreserveData = null; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |