Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-01-29 17:16:20 +08:00
commit f911f9e0c1
6 changed files with 252 additions and 254 deletions

View File

@ -141,7 +141,7 @@ export default {
}, },
handlePreview(file) { handlePreview(file) {
if (file.fullPath) { if (file.fullPath) {
window.open(file.fullPath, '_blank') window.open(this.OSSclientConfig.basePath + file.fullPath, '_blank')
} }
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {

View File

@ -192,7 +192,7 @@ export default {
}, },
handlePreview(file) { handlePreview(file) {
if (file.fullPath) { if (file.fullPath) {
window.open(file.fullPath, '_blank') window.open(this.OSSclientConfig.basePath + file.fullPath, '_blank')
} }
}, },
handleExceed(files, fileList) { handleExceed(files, fileList) {

View File

@ -39,22 +39,14 @@
<p>GCP Certificate</p> <p>GCP Certificate</p>
</div> </div>
<div style="margin-left:40px;width:40%"> <div style="margin-left:40px;width:40%">
<!-- <el-radio-group v-model="GCP" style="margin-bottom:20px">
<el-radio :label="1">Yes</el-radio>
<el-radio :label="0">No</el-radio>
</el-radio-group>
<upload-file v-if="GCP" :doctor-id="doctorId" type="GCP" @getFileList="getFileList" />
<div><el-button type="primary" size="small" style="margin-top:20px" @click="handleSaveGCP">Save</el-button></div> -->
<gcp-certificate :doctor-id="doctorId" :gcp="GCP" :gcp-id="GCPID" /> <gcp-certificate :doctor-id="doctorId" :gcp="GCP" :gcp-id="GCPID" />
</div> </div>
<div class="title-wrapper" style="margin-top:10px;"> <div class="title-wrapper" style="margin-top:10px;">
<p>Other Relevant Experience</p> <p>Other Relevant Experience</p>
</div> </div>
<div style="padding:0 40px;"> <div style="padding:0 40px;">
<el-row type="flex" justify="space-between"> <el-row type="flex" justify="space-between">
<el-col :span="11"> <el-col :span="11">
<el-input <el-input
v-model="OtherClinicalExperience" v-model="OtherClinicalExperience"
type="textarea" type="textarea"

View File

@ -559,7 +559,6 @@ export default {
showCancelButton: false, showCancelButton: false,
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
}).catch(() => {}) }).catch(() => {})
e.stopImmediatePropagation() e.stopImmediatePropagation()
e.stopPropagation() e.stopPropagation()

View File

@ -1,242 +1,249 @@
<template> <template>
<el-container class="siteform-container"> <el-container class="siteform-container">
<el-header style="height:50px"> <el-header style="height:50px">
<div class="filter-container"> <div class="filter-container">
<!-- 中心名称 --> <!-- 中心名称 -->
<span>{{ $t('trials:customSite:form:siteName') }}:</span> <span>{{ $t('trials:customSite:form:siteName') }}:</span>
<el-input v-model="listQuery.SiteName" size="mini" class="mr" clearable /> <el-input v-model="listQuery.SiteName" size="mini" class="mr" clearable />
<!-- 查询 --> <!-- 查询 -->
<el-button type="primary" size="mini" icon="el-icon-search" @click="handleSearch"> <el-button type="primary" size="mini" icon="el-icon-search" @click="handleSearch">
{{ $t('common:button:search') }} {{ $t('common:button:search') }}
</el-button> </el-button>
<!-- 重置 --> <!-- 重置 -->
<el-button size="mini" type="primary" icon="el-icon-refresh-left" @click="handleReset"> <el-button size="mini" type="primary" icon="el-icon-refresh-left" @click="handleReset">
{{ $t('common:button:reset') }} {{ $t('common:button:reset') }}
</el-button> </el-button>
<span style="margin-left:auto"> <span style="margin-left:auto">
<el-button <el-button
type="primary" type="primary"
size="mini" size="mini"
icon="el-icon-plus" icon="el-icon-plus"
@click="handleCustomSite" @click="handleCustomSite"
> >
{{ $t('trials:sitesList:dialogButton:customSite') }} {{ $t('trials:sitesList:dialogButton:customSite') }}
</el-button> </el-button>
<el-button <el-button
type="primary" type="primary"
size="mini" size="mini"
:disabled="selectArr.length === 0" :disabled="selectArr.length === 0"
:loading="assignLoadStatus" :loading="assignLoadStatus"
icon="el-icon-plus" icon="el-icon-plus"
@click="handleAssign" @click="handleAssign"
> >
{{ $t('trials:sitesList:dialogButton:addSite') }} {{ $t('trials:sitesList:dialogButton:addSite') }}
</el-button> </el-button>
</span> </span>
</div> </div>
</el-header> </el-header>
<el-main> <el-main>
<div class="data-table"> <div class="data-table">
<el-table <el-table
:data="list" :data="list"
stripe stripe
height="400px" height="400px"
class="site-table-list" class="site-table-list"
@selection-change="handleSelectChange" @selection-change="handleSelectChange"
@sort-change="handleSortByColumn" @sort-change="handleSortByColumn"
> >
<el-table-column <el-table-column
type="selection" type="selection"
width="50" width="50"
:selectable="handleSelectable" :selectable="handleSelectable"
/> />
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column <el-table-column
prop="SiteName" prop="SiteName"
:label="$t('trials:customSite:form:siteName')" :label="$t('trials:customSite:form:siteName')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="120" min-width="120"
/> />
<el-table-column <el-table-column
prop="Country" prop="AliasName"
:label="$t('trials:customSite:form:country')" :label="$t('trials:customSite:form:AliasName')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="80" min-width="120"
/> />
<el-table-column <el-table-column
prop="City" prop="Country"
:label="$t('trials:customSite:form:city')" :label="$t('trials:customSite:form:country')"
show-overflow-tooltip show-overflow-tooltip
min-width="80" sortable="custom"
sortable="custom" min-width="80"
/> />
<el-table-column <el-table-column
prop="Address" prop="City"
:label="$t('trials:customSite:form:address')" :label="$t('trials:customSite:form:city')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" min-width="80"
min-width="120" sortable="custom"
/> />
</el-table> <el-table-column
</div> prop="Address"
</el-main> :label="$t('trials:customSite:form:address')"
<el-footer style="text-align: right;"> show-overflow-tooltip
<div class="pagination"> sortable="custom"
<pagination :total="total" :page.sync="listQuery.PageIndex" :limit.sync="listQuery.PageSize" @pagination="getList" /> min-width="120"
</div> />
</el-footer> </el-table>
<el-dialog </div>
v-if="customVisible" </el-main>
:visible.sync="customVisible" <el-footer style="text-align: right;">
:close-on-click-modal="false" <div class="pagination">
:title="$t('trials:customSite:title:custom')" <pagination :total="total" :page.sync="listQuery.PageIndex" :limit.sync="listQuery.PageSize" @pagination="getList" />
width="600px" </div>
custom-class="base-dialog-wrapper" </el-footer>
append-to-body <el-dialog
> v-if="customVisible"
<CustomSiteForm v-if="customVisible" @close="closeDialog" @getList="handleReset" /> :visible.sync="customVisible"
</el-dialog> :close-on-click-modal="false"
</el-container> :title="$t('trials:customSite:title:custom')"
</template> width="600px"
<script> custom-class="base-dialog-wrapper"
import { getTrialSiteScreeningList, addTrialSites } from '@/api/trials' append-to-body
import CustomSiteForm from './customSiteForm' >
import Pagination from '@/components/Pagination' <CustomSiteForm v-if="customVisible" @close="closeDialog" @getList="handleReset" />
const getListQueryDefault = () => { </el-dialog>
return { </el-container>
SiteName: '', </template>
PageIndex: 1, <script>
PageSize: 20 import { getTrialSiteScreeningList, addTrialSites } from '@/api/trials'
} import CustomSiteForm from './customSiteForm'
} import Pagination from '@/components/Pagination'
export default { const getListQueryDefault = () => {
components: { Pagination, CustomSiteForm }, return {
data() { SiteName: '',
return { PageIndex: 1,
list: [], PageSize: 20
total: 0, }
listQuery: getListQueryDefault(), }
selectArr: [], export default {
assignLoadStatus: false, components: { Pagination, CustomSiteForm },
customVisible: false, data() {
trialId: '' return {
} list: [],
}, total: 0,
mounted() { listQuery: getListQueryDefault(),
this.trialId = this.$route.query.trialId selectArr: [],
this.getList() assignLoadStatus: false,
}, customVisible: false,
methods: { trialId: ''
getList() { }
const loading = this.$loading({ },
target: document.querySelector('.site-table-list'), mounted() {
fullscreen: false, this.trialId = this.$route.query.trialId
lock: true this.getList()
}) },
this.listQuery.TrialId = this.trialId methods: {
getTrialSiteScreeningList(this.listQuery).then(res => { getList() {
loading.close() const loading = this.$loading({
this.list = res.Result.CurrentPageData target: document.querySelector('.site-table-list'),
this.total = res.Result.TotalCount fullscreen: false,
}).catch(() => { loading.close() }) lock: true
}, })
handleCustomSite() { this.listQuery.TrialId = this.trialId
this.customVisible = true getTrialSiteScreeningList(this.listQuery).then(res => {
}, loading.close()
closeDialog() { this.list = res.Result.CurrentPageData
this.customVisible = false this.total = res.Result.TotalCount
}, }).catch(() => { loading.close() })
handleAssign() { },
this.$confirm(this.$t('trials:customSite:message:add'), { handleCustomSite() {
type: 'warning', this.customVisible = true
distinguishCancelAndClose: true },
}) closeDialog() {
.then(() => { this.customVisible = false
const loading = this.$loading({ },
target: document.querySelector('.site-table-list'), handleAssign() {
fullscreen: false, this.$confirm(this.$t('trials:customSite:message:add'), {
lock: true type: 'warning',
}) distinguishCancelAndClose: true
this.assignLoadStatus = true })
addTrialSites(this.selectArr) .then(() => {
.then(res => { const loading = this.$loading({
this.assignLoadStatus = false target: document.querySelector('.site-table-list'),
loading.close() fullscreen: false,
if (res.IsSuccess) { lock: true
this.$emit('closeDialog') })
this.$message.success(this.$t('common:message:addedSuccessfully')) this.assignLoadStatus = true
} addTrialSites(this.selectArr)
}).catch(() => { .then(res => {
loading.close() this.assignLoadStatus = false
this.assignLoadStatus = false loading.close()
}) if (res.IsSuccess) {
}) this.$emit('closeDialog')
}, this.$message.success(this.$t('common:message:addedSuccessfully'))
handleSearch() { }
this.listQuery.PageIndex = 1 }).catch(() => {
this.getList() loading.close()
}, this.assignLoadStatus = false
handleReset() { })
this.listQuery = getListQueryDefault() })
this.getList() },
}, handleSearch() {
handleSelectChange(val) { this.listQuery.PageIndex = 1
const arr = [] this.getList()
for (let index = 0; index < val.length; index++) { },
const param = { handleReset() {
TrialId: this.trialId, this.listQuery = getListQueryDefault()
SiteId: val[index].Id, this.getList()
SiteName: val[index].SiteName },
} handleSelectChange(val) {
arr.push(param) const arr = []
} for (let index = 0; index < val.length; index++) {
this.selectArr = arr const param = {
}, TrialId: this.trialId,
handleSortByColumn(column) { SiteId: val[index].Id,
if (column.order === 'ascending') { SiteName: val[index].SiteName
this.listQuery.Asc = true }
} else { arr.push(param)
this.listQuery.Asc = false }
} this.selectArr = arr
this.listQuery.SortField = column.prop },
this.listQuery.PageIndex = 1 handleSortByColumn(column) {
this.getList() if (column.order === 'ascending') {
}, this.listQuery.Asc = true
handleSelectable(row) { } else {
if (!row.IsSelect) { this.listQuery.Asc = false
return true }
} else { this.listQuery.SortField = column.prop
return false this.listQuery.PageIndex = 1
} this.getList()
} },
} handleSelectable(row) {
} if (!row.IsSelect) {
</script> return true
<style lang="scss" scoped> } else {
.siteform-container{ return false
height: 100%; }
.el-header{ }
.filter-container{ }
display: flex; }
align-items: center; </script>
span{ <style lang="scss" scoped>
font-size:13px; .siteform-container{
margin-right:5px; height: 100%;
} .el-header{
.mr{ .filter-container{
margin-right: 5px; display: flex;
width: 120px; align-items: center;
} span{
} font-size:13px;
} margin-right:5px;
.el-main{ }
padding: 0px; .mr{
} margin-right: 5px;
.el-footer{ width: 120px;
padding: 0 20px; }
} }
} }
</style> .el-main{
padding: 0px;
}
.el-footer{
padding: 0 20px;
}
}
</style>

View File

@ -1331,7 +1331,7 @@ export default {
}) })
if (!isgo) { if (!isgo) {
// `${isgoList.toString()}` // `${isgoList.toString()}`
this.$confirm(this.$t('trials:qcQuality:title:title1').replace('xxx', isgoList.toString()), '',{ this.$confirm(this.$t('trials:qcQuality:title:title1').replace('xxx', isgoList.join('、 ')), '',{
showCancelButton: false showCancelButton: false
}) })
return return