|
@@ -1,159 +1,183 @@
|
|
<template>
|
|
<template>
|
|
<el-skeleton :loading="loading" animated>
|
|
<el-skeleton :loading="loading" animated>
|
|
- <el-row :gutter="8" justify="space-between">
|
|
|
|
- <el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
|
|
|
- <el-card style="margin-bottom: 10px">
|
|
|
|
|
|
+ <el-row :gutter="8" justify="space-between">
|
|
|
|
+ <el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
|
|
|
+ <el-card style="margin-bottom: 10px">
|
|
|
|
|
|
- <template #header>
|
|
|
|
- <div class="card-header" style="text-align: center">
|
|
|
|
- <h1 class="text1">标本出库申请详情</h1>
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- <el-row >
|
|
|
|
- <el-col :xl="11" :lg="11" :md="24" :sm="24" :xs="24" >
|
|
|
|
- <el-descriptions
|
|
|
|
- :column="1"
|
|
|
|
- border
|
|
|
|
- :size="size"
|
|
|
|
- v-if="outboundData"
|
|
|
|
- >
|
|
|
|
- <el-descriptions-item label="审批状态:" label-align="right" label-class-name="my-label">{{ StatusText }}</el-descriptions-item>
|
|
|
|
- <el-descriptions-item label="申请人姓名:" label-align="right" label-class-name="my-label">{{ outboundData.applicantName }}</el-descriptions-item>
|
|
|
|
- <el-descriptions-item label="申请单位:" label-align="right" label-class-name="my-label">{{outboundData.applicationUsage }}</el-descriptions-item>
|
|
|
|
- <el-descriptions-item label="电话号码:" label-align="right" label-class-name="my-label">{{ outboundData.phoneNumber}}</el-descriptions-item>
|
|
|
|
- </el-descriptions>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xl="10" :lg="10" :md="24" :sm="24" :xs="24" >
|
|
|
|
- <el-descriptions
|
|
|
|
- :column="1"
|
|
|
|
- border
|
|
|
|
- :size="size"
|
|
|
|
- v-if="outboundData"
|
|
|
|
- >
|
|
|
|
- <el-descriptions-item label="研究项目名称:" label-align="right" label-class-name="my-label">{{ outboundData.projectName}}</el-descriptions-item>
|
|
|
|
- <el-descriptions-item label="项目开始时间:" label-align="right" label-class-name="my-label">{{ outboundData.startTime }}</el-descriptions-item>
|
|
|
|
- <el-descriptions-item label="项目结束时间:" label-align="right" label-class-name="my-label">{{outboundData.endTime }}</el-descriptions-item>
|
|
|
|
- <el-descriptions-item label="出库备注信息:" label-align="right" label-class-name="my-label">{{ outboundData.outboundRemarks}}</el-descriptions-item>
|
|
|
|
- </el-descriptions>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :xl="2" :lg="2" :md="24" :sm="24" :xs="24" >
|
|
|
|
- <el-descriptions
|
|
|
|
- v-if="outboundData"
|
|
|
|
- direction="vertical"
|
|
|
|
- :size="size"
|
|
|
|
- border
|
|
|
|
|
|
+ <template #header>
|
|
|
|
+ <div class="card-header" style="text-align: center">
|
|
|
|
+ <h1 class="text1">标本出库申请详情</h1>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xl="11" :lg="11" :md="24" :sm="24" :xs="24">
|
|
|
|
+ <el-descriptions
|
|
|
|
+ :column="1"
|
|
|
|
+ border
|
|
|
|
+ :size="size"
|
|
|
|
+ v-if="outboundData"
|
|
|
|
+ >
|
|
|
|
+ <el-descriptions-item label="审批状态:" label-align="right"
|
|
|
|
+ label-class-name="my-label">{{ StatusText }}
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ <el-descriptions-item label="申请人姓名:" label-align="right"
|
|
|
|
+ label-class-name="my-label">{{ outboundData.applicantName }}
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ <el-descriptions-item label="申请单位:" label-align="right"
|
|
|
|
+ label-class-name="my-label">{{
|
|
|
|
+ outboundData.applicationUsage
|
|
|
|
+ }}
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ <el-descriptions-item label="电话号码:" label-align="right"
|
|
|
|
+ label-class-name="my-label">{{ outboundData.phoneNumber }}
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ </el-descriptions>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xl="10" :lg="10" :md="24" :sm="24" :xs="24">
|
|
|
|
+ <el-descriptions
|
|
|
|
+ :column="1"
|
|
|
|
+ border
|
|
|
|
+ :size="size"
|
|
|
|
+ v-if="outboundData"
|
|
|
|
+ >
|
|
|
|
+ <el-descriptions-item label="研究项目名称:" label-align="right"
|
|
|
|
+ label-class-name="my-label">{{ outboundData.projectName }}
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ <el-descriptions-item label="项目开始时间:" label-align="right"
|
|
|
|
+ label-class-name="my-label">{{ outboundData.startTime }}
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ <el-descriptions-item label="项目结束时间:" label-align="right"
|
|
|
|
+ label-class-name="my-label">{{ outboundData.endTime }}
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ <el-descriptions-item label="出库备注信息:" label-align="right"
|
|
|
|
+ label-class-name="my-label">{{ outboundData.outboundRemarks }}
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ </el-descriptions>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xl="2" :lg="2" :md="24" :sm="24" :xs="24">
|
|
|
|
+ <el-descriptions
|
|
|
|
+ v-if="outboundData"
|
|
|
|
+ direction="vertical"
|
|
|
|
+ :size="size"
|
|
|
|
+ border
|
|
|
|
|
|
- >
|
|
|
|
- <el-descriptions-item
|
|
|
|
- :width="200"
|
|
|
|
- label="申请附件"
|
|
|
|
- align="center"
|
|
|
|
- label-class-name="my-label"
|
|
|
|
- class-name="my-content"
|
|
|
|
- >
|
|
|
|
- <div class="demo-image__preview" v-if="outboundData">
|
|
|
|
- <a :href="outboundData.attachments" target="_blank">下载附件</a>
|
|
|
|
- </div>
|
|
|
|
- </el-descriptions-item>
|
|
|
|
- </el-descriptions>
|
|
|
|
-<!-- <div class="demo-image__preview" v-if="outboundData ">-->
|
|
|
|
-<!-- <el-image-->
|
|
|
|
|
|
+ >
|
|
|
|
+ <el-descriptions-item
|
|
|
|
+ :width="200"
|
|
|
|
+ label="申请附件"
|
|
|
|
+ align="center"
|
|
|
|
+ label-class-name="my-label"
|
|
|
|
+ class-name="my-content"
|
|
|
|
+ >
|
|
|
|
+ <div class="demo-image__preview" v-if="outboundData">
|
|
|
|
+ <a :href="outboundData.attachments" target="_blank">下载附件</a>
|
|
|
|
+ </div>
|
|
|
|
+ </el-descriptions-item>
|
|
|
|
+ </el-descriptions>
|
|
|
|
+ <!-- <div class="demo-image__preview" v-if="outboundData ">-->
|
|
|
|
+ <!-- <el-image-->
|
|
|
|
|
|
-<!-- style=" align-items: center"-->
|
|
|
|
-<!-- :src="outboundData.attachments"-->
|
|
|
|
-<!-- :zoom-rate="1.2"-->
|
|
|
|
-<!-- :max-scale="7"-->
|
|
|
|
-<!-- :min-scale="0.2"-->
|
|
|
|
-<!-- :preview-src-list="outboundData.attachments"-->
|
|
|
|
-<!-- :initial-index="index"-->
|
|
|
|
-<!-- fit="cover"-->
|
|
|
|
-<!-- />-->
|
|
|
|
-<!-- </div>-->
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
-<!-- <div style="text-align: right; margin-top: 20px;margin-right: 30px">-->
|
|
|
|
|
|
+ <!-- style=" align-items: center"-->
|
|
|
|
+ <!-- :src="outboundData.attachments"-->
|
|
|
|
+ <!-- :zoom-rate="1.2"-->
|
|
|
|
+ <!-- :max-scale="7"-->
|
|
|
|
+ <!-- :min-scale="0.2"-->
|
|
|
|
+ <!-- :preview-src-list="outboundData.attachments"-->
|
|
|
|
+ <!-- :initial-index="index"-->
|
|
|
|
+ <!-- fit="cover"-->
|
|
|
|
+ <!-- />-->
|
|
|
|
+ <!-- </div>-->
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <!-- <div style="text-align: right; margin-top: 20px;margin-right: 30px">-->
|
|
|
|
|
|
-<!-- <el-button-->
|
|
|
|
-<!-- v-if="outboundData.status !== 1 && outboundData.status !== 2 && outboundData.status !== 3 && outboundData.status !== 4"-->
|
|
|
|
-<!-- link-->
|
|
|
|
-<!-- type="danger"-->
|
|
|
|
-<!-- plain-->
|
|
|
|
-<!-- @click="handleApproval(outboundData.id)"-->
|
|
|
|
-<!-- >-->
|
|
|
|
-<!-- 审批-->
|
|
|
|
-<!-- </el-button>-->
|
|
|
|
-<!-- </div>-->
|
|
|
|
- </el-card>
|
|
|
|
- </el-col>
|
|
|
|
|
|
+ <!-- <el-button-->
|
|
|
|
+ <!-- v-if="outboundData.status !== 1 && outboundData.status !== 2 && outboundData.status !== 3 && outboundData.status !== 4"-->
|
|
|
|
+ <!-- link-->
|
|
|
|
+ <!-- type="danger"-->
|
|
|
|
+ <!-- plain-->
|
|
|
|
+ <!-- @click="handleApproval(outboundData.id)"-->
|
|
|
|
+ <!-- >-->
|
|
|
|
+ <!-- 审批-->
|
|
|
|
+ <!-- </el-button>-->
|
|
|
|
+ <!-- </div>-->
|
|
|
|
+ </el-card>
|
|
|
|
+ </el-col>
|
|
|
|
|
|
|
|
|
|
|
|
+ <el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24">
|
|
|
|
+ <el-card>
|
|
|
|
+ <template #header>
|
|
|
|
+ <div class="card-header" style="text-align: center">
|
|
|
|
+ <h1 class="text1">申请出库标本信息</h1>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
|
|
|
+ <!-- <el-table-column label="标本ID" align="center" prop="id" />-->
|
|
|
|
+ <el-table-column label="标本编号" align="center" prop="specimenNumber"/>
|
|
|
|
+ <el-table-column label="中文名称" align="center" prop="chineseName"/>
|
|
|
|
+ <el-table-column label="标本类型" align="center" prop="specimenType">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <dict-tag :type="DICT_TYPE.MUSEUMS_SPECIMEN_TYPE"
|
|
|
|
+ :value="scope.row.specimenType"/>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="标本数量" align="center" prop="specimenAmount"/>
|
|
|
|
+ <el-table-column label="标本重量" align="center" prop="weight"/>
|
|
|
|
+ <el-table-column label="标本位置" align="center" prop="storageLocation"/>
|
|
|
|
+ <el-table-column label="保存类型" align="center" prop="preservationType">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <dict-tag :type="DICT_TYPE.MUSEUMS_SPECIMEN_INFO"
|
|
|
|
+ :value="scope.row.preservationType"/>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="标本图片" align="center" prop="url">
|
|
|
|
+ <template #default="{ row }">
|
|
|
|
+ <div class="demo-image__preview" v-if="pageParams">
|
|
|
|
+ <block v-for="(image, index) in row.imagePath" :key="index">
|
|
|
|
+ <el-image
|
|
|
|
+ style="width: 40px; height:40px;margin-right: 5px"
|
|
|
|
+ class="image-class"
|
|
|
|
+ lazy
|
|
|
|
+ :src="image"
|
|
|
|
+ :preview-src-list="row.imagePath"
|
|
|
|
+ preview-teleported
|
|
|
|
+ fit="cover"/>
|
|
|
|
+ </block>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col>
|
|
|
|
+ <!-- 分页 -->
|
|
|
|
+ <Pagination
|
|
|
|
+ :total="total"
|
|
|
|
+ v-model:page="pageParams.pageNo"
|
|
|
|
+ v-model:limit="pageParams.pageSize"
|
|
|
|
+ @pagination="getList"
|
|
|
|
+ />
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col>
|
|
|
|
+ <div v-if="outboundData.status === 0 || outboundData.status === 1 ">
|
|
|
|
+ <el-button
|
|
|
|
+ @click="handleApproval"
|
|
|
|
+ type="primary"
|
|
|
|
+ style="float:right; margin-left: 20px;margin-top:10px;margin-bottom:10px"
|
|
|
|
+ > 审批
|
|
|
|
+ </el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-card>
|
|
|
|
+ </el-col>
|
|
|
|
|
|
|
|
|
|
- <el-col :xl="24" :lg="24" :md="24" :sm="24" :xs="24" >
|
|
|
|
- <el-card>
|
|
|
|
- <template #header>
|
|
|
|
- <div class="card-header" style="text-align: center">
|
|
|
|
- <h1 class="text1">申请出库标本信息</h1>
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" >
|
|
|
|
-<!-- <el-table-column label="标本ID" align="center" prop="id" />-->
|
|
|
|
- <el-table-column label="标本编号" align="center" prop="specimenNumber" />
|
|
|
|
- <el-table-column label="中文名称" align="center" prop="chineseName" />
|
|
|
|
- <el-table-column label="标本类型" align="center" prop="specimenType">
|
|
|
|
- <template #default="scope">
|
|
|
|
- <dict-tag :type="DICT_TYPE.MUSEUMS_SPECIMEN_TYPE" :value="scope.row.specimenType" />
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="标本数量" align="center" prop="specimenAmount" />
|
|
|
|
- <el-table-column label="标本重量" align="center" prop="weight" />
|
|
|
|
- <el-table-column label="标本位置" align="center" prop="storageLocation" />
|
|
|
|
- <el-table-column label="保存类型" align="center" prop="preservationType">
|
|
|
|
- <template #default="scope">
|
|
|
|
- <dict-tag :type="DICT_TYPE.MUSEUMS_SPECIMEN_INFO" :value="scope.row.preservationType" />
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column label="标本图片" align="center" prop="url" >
|
|
|
|
- <template #default="{ row }">
|
|
|
|
- <div class="demo-image__preview" v-if="pageParams" >
|
|
|
|
- <block v-for="(image, index) in row.imagePath" :key="index">
|
|
|
|
- <el-image
|
|
|
|
- style="width: 40px; height:40px;margin-right: 5px"
|
|
|
|
- class="image-class"
|
|
|
|
- lazy
|
|
|
|
- :src="image"
|
|
|
|
- :preview-src-list="row.imagePath"
|
|
|
|
- preview-teleported
|
|
|
|
- fit="cover" />
|
|
|
|
- </block>
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
|
|
+ </el-row>
|
|
|
|
|
|
- <!-- 分页 -->
|
|
|
|
- <Pagination
|
|
|
|
- :total="total"
|
|
|
|
- v-model:page="pageParams.pageNo"
|
|
|
|
- v-model:limit="pageParams.pageSize"
|
|
|
|
- @pagination="getList"
|
|
|
|
- />
|
|
|
|
-
|
|
|
|
- <div v-if="outboundData.status === 0 || outboundData.status === 1 ">
|
|
|
|
- <el-button
|
|
|
|
- @click="handleApproval"
|
|
|
|
- type="primary"
|
|
|
|
- style="float:right; margin-left: 20px;margin-top:70px;margin-bottom: 20px"
|
|
|
|
- > 审批
|
|
|
|
- </el-button>
|
|
|
|
- </div>
|
|
|
|
- </el-card>
|
|
|
|
- </el-col>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- </el-row>
|
|
|
|
-
|
|
|
|
- <Approval ref="ApprovalRef" @success="getList" />
|
|
|
|
|
|
+ <Approval ref="ApprovalRef" @success="getList"/>
|
|
</el-skeleton>
|
|
</el-skeleton>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -173,7 +197,7 @@ const loading = ref(true) // 列表的加载中
|
|
const list = ref<SpecimenOutboundVO[]>([]) // 列表的数据
|
|
const list = ref<SpecimenOutboundVO[]>([]) // 列表的数据
|
|
const total = ref(0) // 列表的总页数
|
|
const total = ref(0) // 列表的总页数
|
|
const pageParams = reactive({
|
|
const pageParams = reactive({
|
|
- id:query.dataId,
|
|
|
|
|
|
+ id: query.dataId,
|
|
pageNo: 1,
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
infoId: undefined,
|
|
infoId: undefined,
|
|
@@ -182,15 +206,15 @@ const pageParams = reactive({
|
|
attachments: undefined,
|
|
attachments: undefined,
|
|
processInstanceId: undefined,
|
|
processInstanceId: undefined,
|
|
specimenCondition: undefined,
|
|
specimenCondition: undefined,
|
|
- imagePath:undefined
|
|
|
|
|
|
+ imagePath: undefined
|
|
})
|
|
})
|
|
|
|
|
|
/** 查询列表 */
|
|
/** 查询列表 */
|
|
const getList = async () => {
|
|
const getList = async () => {
|
|
loading.value = true
|
|
loading.value = true
|
|
try {
|
|
try {
|
|
- const id = query.dataId as unknown as number
|
|
|
|
- const data = await SpecimenOutboundApi.getSpecimenOutboundDetailsPage(id,pageParams)
|
|
|
|
|
|
+ const id = query.dataId as unknown as number
|
|
|
|
+ const data = await SpecimenOutboundApi.getSpecimenOutboundDetailsPage(id, pageParams)
|
|
list.value = data.specimenInfoList.list
|
|
list.value = data.specimenInfoList.list
|
|
total.value = data.specimenInfoList.total
|
|
total.value = data.specimenInfoList.total
|
|
} finally {
|
|
} finally {
|
|
@@ -207,7 +231,7 @@ const fetchData = async () => {
|
|
res.startTime = formatDate(res.startTime)
|
|
res.startTime = formatDate(res.startTime)
|
|
res.endTime = formatDate(res.endTime)
|
|
res.endTime = formatDate(res.endTime)
|
|
|
|
|
|
- } finally {
|
|
|
|
|
|
+ } finally {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -237,7 +261,6 @@ const StatusText = computed(() => {
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
// // 在组件加载时获取数据
|
|
// // 在组件加载时获取数据
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
await fetchData()
|
|
await fetchData()
|
|
@@ -258,6 +281,7 @@ const handleApproval = () => {
|
|
background: #FAF8F7 !important;
|
|
background: #FAF8F7 !important;
|
|
width: 180px;
|
|
width: 180px;
|
|
}
|
|
}
|
|
|
|
+
|
|
:deep(.my-content) {
|
|
:deep(.my-content) {
|
|
height: 143px;
|
|
height: 143px;
|
|
}
|
|
}
|