| | |
| | | @handleSizeChange="handleSizeChange"> |
| | | <template #search> |
| | | <el-form ref="searchForm" :model="form" :rules="rules" labelWidth="auto" inline> |
| | | <el-form-item label="选择项目组:"> |
| | | <el-select |
| | | v-model="form.projectIds" |
| | | placeholder="请选择项目组" |
| | | filterable |
| | | clearable |
| | | :key="teamList.length" |
| | | :loading="teamLoading" |
| | | @focus="fetchTeamList" |
| | | multiple |
| | | > |
| | | <el-option |
| | | v-for="item in teamList" |
| | | :key="item.id" |
| | | :label="item.teamName" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="来源类型"> |
| | | <el-select v-model="form.preserveSource" placeholder="请选择"> |
| | | <el-option label="来源菌株" :value="1" /> |
| | |
| | | </div> |
| | | </template> |
| | | <template #table> |
| | | <el-table-column prop="projectName" label="项目组名称"/> |
| | | <el-table-column prop="preserveSource" label="来源类型"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.preserveSource === 1 ? '来源菌株' : '来源物资' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="strainName" label="来源信息"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.preserveSource === 1 ? scope.row.strainName : scope.row.sourceMaterialTimeBatchNumber }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="sourceMaterialTimeBatchNumber" label="来源物资、时间及批号"> |
| | | </el-table-column> --> |
| | | <el-table-column prop="cultureMedium" label="培养基"></el-table-column> |
| | | <el-table-column prop="temperature" label="培养温度"></el-table-column> |
| | | <el-table-column prop="aerobicType" label="需氧类型"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="createBy" label="创建人"></el-table-column> |
| | | <el-table-column prop="createTime" label="创建时间"></el-table-column> |
| | | <el-table-column prop="status" label="状态"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.status === 1 ? '已提交' : scope.row.status === 2 ? '已同步/未提交' :'草稿' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="250"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" @click="handleDetail(scope.row)">详情</el-button> |
| | | <el-button type="text" @click="handleEdit(scope.row)" |
| | | v-if="([1].includes(roleType) || ([1, 4].includes(roleType) && currentType != 'list'))">编辑</el-button> |
| | | <el-button style="margin-right: 10px" type="text" @click="handleDetail(scope.row)">详情</el-button> |
| | | <el-button style="margin-right: 10px" type="text" @click="handleEdit(scope.row)" |
| | | v-if="[1, 4].includes(roleType) && scope.row.status != 1">编辑</el-button> |
| | | <el-button type="text" @click="handleDelete(scope.row)" |
| | | v-if="[1].includes(roleType) || ([1, 4].includes(roleType) && currentType != 'list')">删除</el-button> |
| | | </template> |
| | |
| | | <script> |
| | | import { getList, del } from './service' |
| | | import ShowDelConfirm from '@/components/showDelConfirm' |
| | | import {myTeamPageList} from "@/components/chooseProject/servce"; |
| | | |
| | | export default { |
| | | name: "BreedingRecord", |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | teamList: [], // 项目组列表 |
| | | teamLoading: false, // 加载状态 |
| | | currentType: "list", // 当前显示类型:list-列表,draft-草稿箱 |
| | | form: { |
| | | aerobicType: '', |
| | | cultureMedium: '', |
| | | preserveSource: '', |
| | | projectIds: [], |
| | | strainCode: '', |
| | | strainName: '', |
| | | pageNum: 1, |
| | |
| | | roleType: Number(JSON.parse(sessionStorage.getItem('userInfo')).roleType), |
| | | }; |
| | | }, |
| | | created() { |
| | | activated() { |
| | | this.getTableData(); |
| | | this.fetchTeamList(); |
| | | }, |
| | | methods: { |
| | | // 获取项目组列表 |
| | | async fetchTeamList() { |
| | | if (this.teamList.length > 0) return // 已有数据不再重复请求 |
| | | this.teamLoading = true |
| | | try { |
| | | const res = await myTeamPageList() |
| | | console.log('res', res) |
| | | // 根据实际接口返回的数据结构调整 |
| | | this.teamList = res.data || res || [] |
| | | } catch (error) { |
| | | console.error('获取项目组列表失败:', error) |
| | | this.$message.error('获取项目组列表失败') |
| | | } finally { |
| | | this.teamLoading = false |
| | | } |
| | | }, |
| | | handleCurrentChange(page) { |
| | | this.form.pageNum = page; |
| | | this.getTableData(); |
| | |
| | | aerobicType: '', |
| | | cultureMedium: '', |
| | | preserveSource: '', |
| | | projectIds: '', |
| | | strainCode: '', |
| | | strainName: '', |
| | | pageNum: 1, |