|
|
@@ -1,162 +1,516 @@
|
|
|
<template>
|
|
|
<div class="facilities-dialog-container">
|
|
|
- <el-dialog title="详情" @close="closeDialog" :close-on-click-modal="false" v-model="props.showDialog" width="100%">
|
|
|
- <el-form ref="expertDialogFormRef" disabled :model="state.form" size="default" label-width="140px" label-position="top">
|
|
|
+ <el-dialog
|
|
|
+ title="详情"
|
|
|
+ @close="closeDialog"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ v-model="props.showDialog"
|
|
|
+ width="100%"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ ref="expertDialogFormRef"
|
|
|
+ disabled
|
|
|
+ :model="state.form"
|
|
|
+ size="default"
|
|
|
+ label-width="140px"
|
|
|
+ label-position="top"
|
|
|
+ >
|
|
|
<el-row :gutter="35">
|
|
|
- <el-col :span="12" class="mb20">
|
|
|
- <el-form-item label="申请人姓名" prop="memberName">
|
|
|
- <el-input v-model="state.form.userName" disabled placeholder="请输入申请人姓名"></el-input>
|
|
|
+ <el-col
|
|
|
+ :span="12"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="申请人姓名"
|
|
|
+ prop="memberName"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="state.form.userName"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入申请人姓名"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12" class="mb20">
|
|
|
- <el-form-item label="课题名称" prop="memberType">
|
|
|
- <el-input v-model="state.form.projectGroupName" disabled placeholder="请输入课题名称"></el-input>
|
|
|
+ <el-col
|
|
|
+ :span="12"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="课题名称"
|
|
|
+ prop="memberType"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="state.form.projectGroupName"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入课题名称"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
<el-row :gutter="35">
|
|
|
- <el-col :span="12" class="mb20">
|
|
|
- <el-form-item label="申请时间" prop="memberPhone">
|
|
|
- <el-input v-model="state.form.createdTime" disabled placeholder="请输入申请时间"></el-input>
|
|
|
+ <el-col
|
|
|
+ :span="12"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="申请时间"
|
|
|
+ prop="memberPhone"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="state.form.createdTime"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入申请时间"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12" class="mb20">
|
|
|
- <el-form-item label="申请状态" prop="mentorName">
|
|
|
- <el-input v-model="state.form.approveStatus" disabled placeholder="请输入申请状态"></el-input>
|
|
|
+ <el-col
|
|
|
+ :span="12"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="申请状态"
|
|
|
+ prop="mentorName"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="state.form.approveStatus"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入申请状态"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
<el-row :gutter="35">
|
|
|
- <el-col :span="12" class="mb20">
|
|
|
- <el-form-item :label="props.isReturnCageList ? '退还笼位(个)' : '申请笼位(个)'" prop="mentorObj">
|
|
|
- <el-input v-if="!props.isReturnCageList" v-model="state.form.number" disabled placeholder="请输入申请笼位"></el-input>
|
|
|
- <el-input v-else v-model="state.form.returnNumber" disabled placeholder="请输入申请笼位"></el-input>
|
|
|
+ <el-col
|
|
|
+ :span="12"
|
|
|
+ class="mb10"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ :label="props.isReturnCageList ? '退还笼位(个)' : '申请笼位(个)'"
|
|
|
+ prop="mentorObj"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-if="!props.isReturnCageList"
|
|
|
+ v-model="state.form.number"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入申请笼位"
|
|
|
+ ></el-input>
|
|
|
+ <el-input
|
|
|
+ v-else
|
|
|
+ v-model="state.form.returnNumber"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入申请笼位"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
- <el-col :span="12" class="mb20">
|
|
|
- <el-form-item label="动物类型" prop="mentorDeptName">
|
|
|
- <el-input v-model="state.form.categoryName" disabled placeholder="请输入动物类型"></el-input>
|
|
|
+ <el-col
|
|
|
+ :span="12"
|
|
|
+ class="mb10"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="动物类型"
|
|
|
+ prop="mentorDeptName"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="state.form.categoryName"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入动物类型"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row class="mt10" :gutter="20">
|
|
|
+ <el-row
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item
|
|
|
+ label="雄性"
|
|
|
+ prop="maleNumber"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ style="width: 100%"
|
|
|
+ disabled
|
|
|
+ placeholder="雄性数量"
|
|
|
+ v-model="state.form.maleNumber"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item
|
|
|
+ label="雌性"
|
|
|
+ prop="famaleNumber"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ style="width: 100%"
|
|
|
+ disabled
|
|
|
+ placeholder="雌性数量"
|
|
|
+ v-model="state.form.famaleNumber"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="数量(雄性+雌性)" prop="maleNumber">
|
|
|
- <div style="width: 100%; display: flex; justify-content: space-between">
|
|
|
- <el-input-number disabled placeholder="雄性数量" v-model="state.form.maleNumber" :min="0" />
|
|
|
- +
|
|
|
- <el-input-number disabled placeholder="雌性数量" v-model="state.form.famaleNumber" :min="0" />
|
|
|
- </div>
|
|
|
- <div style="width: 100%; margin-top: 10px">
|
|
|
- <el-input disabled placeholder="总数" v-model="animalNumber" />
|
|
|
- </div>
|
|
|
+ <el-form-item
|
|
|
+ label="体重"
|
|
|
+ prop="weight"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ disabled
|
|
|
+ v-model="state.form.weight"
|
|
|
+ style="width: 100%"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row class="mt10" :gutter="20">
|
|
|
+ <el-row
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="体重" prop="weight">
|
|
|
- <el-input-number disabled v-model="state.form.weight" style="width: 100%" :min="0" />
|
|
|
+ <el-form-item
|
|
|
+ label="周龄"
|
|
|
+ prop="age"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ disabled
|
|
|
+ v-model="state.form.age"
|
|
|
+ style="width: 100%"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row class="mt10" :gutter="20">
|
|
|
+ <el-row
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="周龄" prop="age">
|
|
|
- <el-input-number disabled v-model="state.form.age" style="width: 100%" :min="0" />
|
|
|
+ <el-form-item
|
|
|
+ label="饲养总天数"
|
|
|
+ prop="feedingDay"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ disabled
|
|
|
+ v-model="state.form.feedingDay"
|
|
|
+ style="width: 100%"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row class="mt10" :gutter="20">
|
|
|
+ <el-row
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="饲养总天数" prop="feedingDay">
|
|
|
- <el-input-number disabled v-model="state.form.feedingDay" style="width: 100%" :min="0" />
|
|
|
+ <el-form-item
|
|
|
+ label="采购渠道"
|
|
|
+ prop="buyFrom"
|
|
|
+ >
|
|
|
+ <el-radio-group
|
|
|
+ disabled
|
|
|
+ v-model="state.form.buyFrom"
|
|
|
+ >
|
|
|
+ <el-radio
|
|
|
+ :label="ProcurementChannels.PURCHASED_BY_OTHERS"
|
|
|
+ size="large"
|
|
|
+ >
|
|
|
+ 动物房代购
|
|
|
+ </el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="ProcurementChannels.PURCHASED_BY_MYSELF"
|
|
|
+ size="large"
|
|
|
+ >
|
|
|
+ 自行购买
|
|
|
+ </el-radio>
|
|
|
+ </el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <h4 class="mb8 mt20">采购渠道</h4>
|
|
|
- <el-row class="mt10" :gutter="20">
|
|
|
+ <el-row
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="采购渠道" prop="buyFrom">
|
|
|
- <el-radio-group disabled v-model="state.form.buyFrom">
|
|
|
- <el-radio :label="ProcurementChannels.PURCHASED_BY_OTHERS" size="large">动物房代购</el-radio>
|
|
|
- <el-radio :label="ProcurementChannels.PURCHASED_BY_MYSELF" size="large">自行购买</el-radio>
|
|
|
+ <el-form-item
|
|
|
+ label="是否有特殊饲养要求"
|
|
|
+ prop="hasFeedingSpecial"
|
|
|
+ >
|
|
|
+ <el-radio-group
|
|
|
+ disabled
|
|
|
+ v-model="state.form.hasFeedingSpecial"
|
|
|
+ >
|
|
|
+ <el-radio
|
|
|
+ :label="FeedingSpecial.HAVE_FEEDING_SPECIAL"
|
|
|
+ size="large"
|
|
|
+ >
|
|
|
+ 有
|
|
|
+ </el-radio>
|
|
|
+ <el-radio
|
|
|
+ :label="FeedingSpecial.NO_FEEDING_SPECIAL"
|
|
|
+ size="large"
|
|
|
+ >
|
|
|
+ 无
|
|
|
+ </el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row class="mt10" :gutter="20">
|
|
|
+ <el-row>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="动物到达时间" prop="comeTime">
|
|
|
- <el-date-picker disabled v-model="state.form.comeTime" type="date" placeholder="请选择到达时间" clearable style="width: 100%" />
|
|
|
+ <el-form-item
|
|
|
+ label="特殊饲养要求"
|
|
|
+ prop="feedingSpecialDesc"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-model="state.form.feedingSpecialDesc"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入特殊饲养要求"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row class="mt10" :gutter="20">
|
|
|
+ <el-row
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="外购来源单位" prop="comeFromUnit">
|
|
|
- <el-input disabled v-model="state.form.comeFromUnit" />
|
|
|
+ <el-form-item
|
|
|
+ label="动物到达时间"
|
|
|
+ prop="comeTime"
|
|
|
+ >
|
|
|
+ <el-date-picker
|
|
|
+ disabled
|
|
|
+ v-model="state.form.comeTime"
|
|
|
+ type="date"
|
|
|
+ placeholder="请选择到达时间"
|
|
|
+ clearable
|
|
|
+ style="width: 100%"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row v-if="state.form.licenseNumberFile" class="mt10" :gutter="20">
|
|
|
- <el-col :span="24" class="mb20">
|
|
|
- <el-form-item label="生产许可证" prop="licenseNumberFile">
|
|
|
- <el-link type="primary">{{ state.form.licenseNumberFile }}</el-link>
|
|
|
+ <el-row
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item
|
|
|
+ label="外购来源单位"
|
|
|
+ prop="comeFromUnit"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ disabled
|
|
|
+ v-model="state.form.comeFromUnit"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row v-if="state.form.animalTestDateFile" class="mt10" :gutter="20">
|
|
|
- <el-col :span="24" class="mb20">
|
|
|
- <el-form-item label="近三个月动物质量检测证明" prop="animalTestDateFile">
|
|
|
- <el-link type="primary">{{ state.form.animalTestDateFile }}</el-link>
|
|
|
+ <el-row
|
|
|
+ v-if="state.form.licenseNumberFile && JSON.stringify(state.form.licenseNumberFile) !== '[]'"
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col
|
|
|
+ :span="24"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="生产许可证"
|
|
|
+ prop="licenseNumberFile"
|
|
|
+ >
|
|
|
+ <el-link
|
|
|
+ v-for="item in state.form.licenseNumberFile"
|
|
|
+ :key="item.url"
|
|
|
+ :href="item.url"
|
|
|
+ target="_blank"
|
|
|
+ type="primary"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </el-link>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row v-if="state.form.envTestDateFile" class="mt10" :gutter="20">
|
|
|
- <el-col :span="24" class="mb20">
|
|
|
- <el-form-item label="近三个月饲养环境检测证明" prop="envTestDateFile">
|
|
|
- <el-link type="primary">{{ state.form.envTestDateFile }}</el-link>
|
|
|
+ <el-row
|
|
|
+ v-if="state.form.animalTestDateFile && JSON.stringify(state.form.animalTestDateFile) !== '[]'"
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col
|
|
|
+ :span="24"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="近三个月动物质量检测证明"
|
|
|
+ prop="animalTestDateFile"
|
|
|
+ >
|
|
|
+ <el-link
|
|
|
+ v-for="item in state.form.animalTestDateFile"
|
|
|
+ :key="item.url"
|
|
|
+ :href="item.url"
|
|
|
+ target="_blank"
|
|
|
+ type="primary"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </el-link>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row v-if="state.form.cageAppointFile" class="mt10" :gutter="20">
|
|
|
- <el-col :span="24" class="mb20">
|
|
|
- <el-form-item label="笼位预约表" prop="cageAppointFile">
|
|
|
- <el-link type="primary">{{ state.form.cageAppointFile }}</el-link>
|
|
|
+ <el-row
|
|
|
+ v-if="state.form.geneIdentificationFile && JSON.stringify(state.form.geneIdentificationFile) !== '[]'"
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col
|
|
|
+ :span="24"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="基因鉴定报告"
|
|
|
+ prop="geneIdentificationFile"
|
|
|
+ >
|
|
|
+ <el-link
|
|
|
+ v-for="item in state.form.geneIdentificationFile"
|
|
|
+ :key="item.url"
|
|
|
+ :href="item.url"
|
|
|
+ target="_blank"
|
|
|
+ type="primary"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </el-link>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row v-if="state.form.ethicsCheckFile" class="mt10" :gutter="20">
|
|
|
- <el-col :span="24" class="mb20">
|
|
|
- <el-form-item label="伦理审查表" prop="ethicsCheckFile">
|
|
|
- <el-link type="primary">{{ state.form.ethicsCheckFile }}</el-link>
|
|
|
+ <el-row
|
|
|
+ v-if="state.form.envTestDateFile && JSON.stringify(state.form.envTestDateFile) !== '[]'"
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col
|
|
|
+ :span="24"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="近三个月饲养环境检测证明"
|
|
|
+ prop="envTestDateFile"
|
|
|
+ >
|
|
|
+ <el-link
|
|
|
+ v-for="item in state.form.envTestDateFile"
|
|
|
+ :key="item.url"
|
|
|
+ :href="item.url"
|
|
|
+ target="_blank"
|
|
|
+ type="primary"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </el-link>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-row v-if="state.form.ethicsAdviceFile" class="mt10" :gutter="20">
|
|
|
- <el-col :span="24" class="mb20">
|
|
|
- <el-form-item label="伦理意见表" prop="ethicsAdviceFile">
|
|
|
- <el-link type="primary">{{ state.form.ethicsAdviceFile }}</el-link>
|
|
|
+ <el-row
|
|
|
+ v-if="state.form.cageAppointFile && JSON.stringify(state.form.cageAppointFile) !== '[]'"
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col
|
|
|
+ :span="24"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="笼位预约表"
|
|
|
+ prop="cageAppointFile"
|
|
|
+ >
|
|
|
+ <el-link
|
|
|
+ v-for="item in state.form.cageAppointFile"
|
|
|
+ :key="item.url"
|
|
|
+ :href="item.url"
|
|
|
+ target="_blank"
|
|
|
+ type="primary"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </el-link>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+
|
|
|
+ <el-row
|
|
|
+ v-if="state.form.ethicsCheckFile && JSON.stringify(state.form.ethicsCheckFile) !== '[]'"
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col
|
|
|
+ :span="24"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="实验动物福利伦理审查申请表"
|
|
|
+ prop="ethicsCheckFile"
|
|
|
+ >
|
|
|
+ <el-link
|
|
|
+ v-for="item in state.form.ethicsCheckFile"
|
|
|
+ :key="item.url"
|
|
|
+ :href="item.url"
|
|
|
+ target="_blank"
|
|
|
+ type="primary"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </el-link>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row
|
|
|
+ v-if="state.form.ethicsAdviceFile && JSON.stringify(state.form.ethicsAdviceFile) !== '[]'"
|
|
|
+ class="mt10"
|
|
|
+ :gutter="20"
|
|
|
+ >
|
|
|
+ <el-col
|
|
|
+ :span="24"
|
|
|
+ class="mb20"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="实验动物福利伦理审查意见表"
|
|
|
+ prop="ethicsAdviceFile"
|
|
|
+ >
|
|
|
+ <el-link
|
|
|
+ v-for="item in state.form.ethicsAdviceFile"
|
|
|
+ :key="item.url"
|
|
|
+ :href="item.url"
|
|
|
+ target="_blank"
|
|
|
+ type="primary"
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
+ </el-link>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <div class="card">
|
|
|
+ <h4>审批记录</h4>
|
|
|
+ <FlowTable
|
|
|
+ :id="state.form.id"
|
|
|
+ :businessCode="`${state.form.id}`"
|
|
|
+ defCode="plat_cage_applications"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
@@ -164,12 +518,14 @@
|
|
|
|
|
|
<script setup lang="ts" name="systemProDialog">
|
|
|
import to from 'await-to-js'
|
|
|
- import { nextTick, reactive, ref, computed } from 'vue'
|
|
|
+ import { nextTick, reactive, ref, computed, defineAsyncComponent } from 'vue'
|
|
|
import dayjs from 'dayjs'
|
|
|
|
|
|
import { usePlatAnimalCageApplicationApi } from '/@/api/platform/animal'
|
|
|
import { ApproveStatusList, ProcurementChannels, FeedingSpecial } from '/@/constants/pageConstants'
|
|
|
-
|
|
|
+
|
|
|
+ const FlowTable = defineAsyncComponent(() => import('/@/components/FlowTable.vue'))
|
|
|
+
|
|
|
const animalNumber = computed(() => {
|
|
|
const maleNumber = state.form.maleNumber || 0
|
|
|
const famaleNumber = state.form.famaleNumber || 0
|
|
|
@@ -180,7 +536,7 @@
|
|
|
const props = defineProps({
|
|
|
code: { type: String, default: '' },
|
|
|
showDialog: { type: Boolean, default: false },
|
|
|
- isReturnCageList: { type: Boolean, default: false }
|
|
|
+ isReturnCageList: { type: Boolean, default: false },
|
|
|
})
|
|
|
const emit = defineEmits(['close'])
|
|
|
|
|
|
@@ -190,6 +546,7 @@
|
|
|
|
|
|
const state = reactive({
|
|
|
form: {
|
|
|
+ id: 0,
|
|
|
userName: '',
|
|
|
number: 0,
|
|
|
approveStatus: '',
|
|
|
@@ -205,16 +562,17 @@
|
|
|
buyFrom: ProcurementChannels.PURCHASED_BY_OTHERS,
|
|
|
comeTime: '',
|
|
|
comeFromUnit: '',
|
|
|
- licenseNumberFile: '',
|
|
|
- animalTestDateFile: '',
|
|
|
- envTestDateFile: '',
|
|
|
+ licenseNumberFile: [],
|
|
|
+ animalTestDateFile: [],
|
|
|
+ envTestDateFile: [],
|
|
|
hasFeedingSpecial: FeedingSpecial.HAVE_FEEDING_SPECIAL,
|
|
|
feedingSpecialDesc: '',
|
|
|
- cageAppointFile: '',
|
|
|
- ethicsCheckFile: '',
|
|
|
- ethicsAdviceFile: ''
|
|
|
+ cageAppointFile: [],
|
|
|
+ ethicsCheckFile: [],
|
|
|
+ ethicsAdviceFile: [],
|
|
|
+ geneIdentificationFile: [],
|
|
|
},
|
|
|
- disabled: false
|
|
|
+ disabled: false,
|
|
|
})
|
|
|
|
|
|
// 打开弹窗
|
|
|
@@ -225,7 +583,14 @@
|
|
|
state.form = {
|
|
|
...res?.data,
|
|
|
approveStatus: ApproveStatusList.find((item) => item.id == res?.data?.approveStatus)?.name,
|
|
|
- createdTime: dayjs(res?.data?.createdTime).format('YYYY-MM-DD')
|
|
|
+ createdTime: dayjs(res?.data?.createdTime).format('YYYY-MM-DD'),
|
|
|
+ licenseNumberFile: res?.data?.licenseNumberFile ? JSON.parse(res?.data?.licenseNumberFile) : [],
|
|
|
+ animalTestDateFile: res?.data?.animalTestDateFile ? JSON.parse(res?.data?.animalTestDateFile) : [],
|
|
|
+ envTestDateFile: res?.data?.envTestDateFile ? JSON.parse(res?.data?.envTestDateFile) : [],
|
|
|
+ cageAppointFile: res?.data?.cageAppointFile ? JSON.parse(res?.data?.cageAppointFile) : [],
|
|
|
+ ethicsCheckFile: res?.data?.ethicsCheckFile ? JSON.parse(res?.data?.ethicsCheckFile) : [],
|
|
|
+ ethicsAdviceFile: res?.data?.ethicsAdviceFile ? JSON.parse(res?.data?.ethicsAdviceFile) : [],
|
|
|
+ geneIdentificationFile: res?.data?.geneIdentificationFile ? JSON.parse(res?.data?.geneIdentificationFile) : [],
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -236,7 +601,7 @@
|
|
|
|
|
|
// 暴露变量
|
|
|
defineExpose({
|
|
|
- initForm
|
|
|
+ initForm,
|
|
|
})
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|