Files
irc_web/src/views/trials/trials-workbench/components/ReuploadAudit.vue
T
wangxiaoshuang aaa366934b
continuous-integration/drone/push Build is passing
影像退回
2025-04-10 09:56:02 +08:00

120 lines
4.5 KiB
Vue

<template>
<div class="reuploadAudit-wrapper">
<el-row>
<el-col :span="12">
<!-- 重阅审批 -->
<h3>{{ $t('trials:trials-panel:attachments:reuploadAudit') }}</h3>
</el-col>
<el-col :span="12" style="text-align:right;">
<h3>
<Pagination class="page" :total="total" :page.sync="listQuery.pageIndex"
:limit.sync="listQuery.pageSize" layout="total, sizes, prev, pager, next" :background="false"
style="display: inline-block;" @pagination="getList" />
<!-- 重置 -->
<el-button icon="el-icon-refresh-left" size="small" circle :title="$t('common:button:reset')"
@click="handleReset" />
</h3>
</el-col>
</el-row>
<el-table ref="needSignDocList" v-loading="listLoading" :data="list" :show-header="true"
v-adaptive="{ bottomOffset: 45 }" height="100" @sort-change="handleSortByColumn">
<el-table-column type="index" width="40" />
<!-- 项目编号 -->
<el-table-column :label="$t('trials:workbench:table:trialId')" prop="TrialCode" show-overflow-tooltip
sortable="custom" />
<!-- 试验名称 -->
<el-table-column :label="$t('trials:workbench:table:experimentName')" prop="ExperimentName"
show-overflow-tooltip sortable="custom" />
<!-- 研究方案号 -->
<el-table-column :label="$t('trials:workbench:table:researchNo')" prop="ResearchProgramNo"
show-overflow-tooltip sortable="custom" />
<!-- 加急量 -->
<el-table-column :label="$t('trials:sysDocBeSigned:table:UrgentCount')" prop="UrgentCount"
show-overflow-tooltip sortable="custom" />
<!-- 待审批量 -->
<el-table-column :label="$t('trials:sysDocBeSigned:table:ToBeApprovalCount')" prop="ToBeApprovalCount"
show-overflow-tooltip sortable="custom" />
<el-table-column :label="$t('common:action:action')" width="100">
<template slot-scope="scope">
<el-button icon="el-icon-edit-outline" circle
:disabled="!!~trialIdList.indexOf(scope.row.TrialId) || isSignSystemDoc"
:title="$t('trials:researchRecord:action:view')" @click="handleAudit(scope.row)" />
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import { getPMImageBackToBeDoneList } from '@/api/trials'
import Pagination from '@/components/Pagination'
const searchDataDefault = () => {
return {
pageIndex: 1,
pageSize: 20,
asc: true,
sortField: ''
}
}
export default {
name: 'ReuploadAudit',
components: { Pagination },
props: {
trialIdList: {
type: Array,
default() { return [] }
},
isSignSystemDoc: {
type: Boolean,
default() { return false }
}
},
data() {
return {
listLoading: false,
list: [],
listQuery: searchDataDefault(),
total: 0
}
},
mounted() {
this.getList()
},
methods: {
getList() {
this.listLoading = true
getPMImageBackToBeDoneList(this.listQuery).then(res => {
this.listLoading = false
this.total = res.Result.TotalCount
this.list = res.Result.CurrentPageData
}).catch(() => { this.listLoading = false })
},
handleAudit(row) {
this.$router.push({ path: `/trials/trials-panel/visit/reupload-audit?trialId=${row.TrialId}&trialCode=${row.TrialCode}&researchProgramNo=${row.ResearchProgramNo}` })
},
handleReset() {
this.listQuery = searchDataDefault()
this.getList()
this.$nextTick(() => {
this.$refs.needSignDocList.clearSort()
})
},
// 排序
handleSortByColumn(column) {
if (column.order === 'ascending') {
this.listQuery.asc = true
} else {
this.listQuery.asc = false
}
this.listQuery.sortField = column.prop
this.getList()
}
}
}
</script>
<style lang="scss" scoped>
.reuploadAudit-wrapper {
height: 100%;
}
</style>