Merge branch 'uat' into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
9f124da272
|
@ -167,6 +167,7 @@ export default {
|
||||||
this.timer = setInterval(() => {
|
this.timer = setInterval(() => {
|
||||||
this.second--;
|
this.second--;
|
||||||
if (this.second <= 0) {
|
if (this.second <= 0) {
|
||||||
|
this.flag = false;
|
||||||
clearInterval(this.timer);
|
clearInterval(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
}
|
}
|
||||||
|
@ -201,7 +202,7 @@ export default {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep .el-dialog__header{
|
::v-deep .el-dialog__header {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -1,14 +1,14 @@
|
||||||
<template>
|
<template>
|
||||||
<div v-loading="pageLoading" style="height:100%;display:flex;flex-direction: column;">
|
<div v-loading="pageLoading" style="height:100%;display:flex;flex-direction: column;">
|
||||||
<div style="height:50px">
|
<div style="height:50px">
|
||||||
<div style="text-align:right;">
|
<!-- <div style="text-align:right;">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="isEnglish"
|
v-model="isEnglish"
|
||||||
active-text="EN"
|
active-text="EN"
|
||||||
inactive-text="中文"
|
inactive-text="中文"
|
||||||
style="margin-right:20px;"
|
style="margin-right:20px;"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div> -->
|
||||||
<div style="text-align:center;">
|
<div style="text-align:center;">
|
||||||
<h3>{{ title }}</h3>
|
<h3>{{ title }}</h3>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<el-input v-model="form.SiteName" />
|
<el-input v-model="form.SiteName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 中心名称(CN) -->
|
<!-- 中心名称(CN) -->
|
||||||
<el-form-item :label="$t('trials:customSite:form:siteName') + '(CN)'" v-if="!show" prop="SiteNameCN">
|
<el-form-item :label="$t('trials:customSite:form:siteName') + '(CN)'" prop="SiteNameCN">
|
||||||
<el-input v-model="form.SiteNameCN" />
|
<el-input v-model="form.SiteNameCN" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
{{ $t('trials:researchForm:title:question') }}
|
{{ $t('trials:researchForm:title:question') }}
|
||||||
</h2>
|
</h2>
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<div>调研表状态:<el-tag>{{ $fd('ResearchRecord', state) }}</el-tag></div>
|
<div>{{ $t('trials:researchForm:title:state') }}<el-tag>{{ $fd('ResearchRecord', state) }}</el-tag></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -231,7 +231,13 @@ export default {
|
||||||
window.open(href, '_blank')
|
window.open(href, '_blank')
|
||||||
},
|
},
|
||||||
handleDownloadAll() {
|
handleDownloadAll() {
|
||||||
this.dialogVisible = true
|
// 英文环境直接下载
|
||||||
|
if (process.env.NODE_ENV === 'usa') {
|
||||||
|
this.language = 2
|
||||||
|
this.handleDownloadResumes()
|
||||||
|
} else {
|
||||||
|
this.dialogVisible = true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
getFileData(fileUrl) {
|
getFileData(fileUrl) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
@ -285,11 +291,16 @@ export default {
|
||||||
language: this.language
|
language: this.language
|
||||||
}).then(async res => {
|
}).then(async res => {
|
||||||
this.selectTable = {};
|
this.selectTable = {};
|
||||||
for (let i = 0; res.Result.length > i; i++) {
|
|
||||||
let item = res.Result[i]
|
|
||||||
await this.handleBatchDown(item)
|
|
||||||
}
|
|
||||||
this.dialogVisible = false
|
this.dialogVisible = false
|
||||||
|
if (!res.Result || res.Result.length === 0) {
|
||||||
|
this.$alert(this.$t('trials:seletctedReviews:table:noResume'))
|
||||||
|
}else{
|
||||||
|
for (let i = 0; res.Result.length > i; i++) {
|
||||||
|
let item = res.Result[i]
|
||||||
|
await this.handleBatchDown(item)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}).catch(err=>{
|
}).catch(err=>{
|
||||||
this.dialogVisible = false;
|
this.dialogVisible = false;
|
||||||
this.selectTable= {};
|
this.selectTable= {};
|
||||||
|
@ -305,9 +316,14 @@ export default {
|
||||||
downloadResume(this.$route.query.trialId, this.language, arr).then(res => { window.open(res.Result) })
|
downloadResume(this.$route.query.trialId, this.language, arr).then(res => { window.open(res.Result) })
|
||||||
},
|
},
|
||||||
handleDownload(row) {
|
handleDownload(row) {
|
||||||
// this.downloadResume([row.Id])
|
this.selectTable = row
|
||||||
this.dialogVisible = true;
|
// 英文环境直接下载
|
||||||
this.selectTable = row;
|
if (process.env.NODE_ENV === 'usa') {
|
||||||
|
this.language = 2
|
||||||
|
this.handleDownloadResumes()
|
||||||
|
} else {
|
||||||
|
this.dialogVisible = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,9 +144,9 @@ export default {
|
||||||
{ min: 0, max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50`, trigger: 'blur' }
|
{ min: 0, max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50`, trigger: 'blur' }
|
||||||
],
|
],
|
||||||
UserTypeId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }],
|
UserTypeId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur'] }],
|
||||||
Phone: [
|
// Phone: [
|
||||||
{ required: false, validator: checkPhone, trigger: ['blur'] }
|
// { required: false, validator: checkPhone, trigger: ['blur'] }
|
||||||
],
|
// ],
|
||||||
Email: [
|
Email: [
|
||||||
{ required: true, validator: validateEmail, trigger: ['blur'] }
|
{ required: true, validator: validateEmail, trigger: ['blur'] }
|
||||||
]
|
]
|
||||||
|
|
|
@ -439,7 +439,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div v-if="otherData.length > 0" style="margin-top: 20px;margin-bottom: 10px;">
|
<div v-if="otherData.length > 0 && otherData[0].Value" style="margin-top: 20px;margin-bottom: 10px;">
|
||||||
<!-- 签名信息: -->
|
<!-- 签名信息: -->
|
||||||
{{$t('trials:auditRecord:title:signInfo')}}
|
{{$t('trials:auditRecord:title:signInfo')}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -777,7 +777,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div v-if="otherData.length > 0" style="margin-top: 20px;margin-bottom: 10px;">
|
<div v-if="otherData.length > 0 && otherData[0].Value" style="margin-top: 20px;margin-bottom: 10px;">
|
||||||
<!-- 签名信息: -->
|
<!-- 签名信息: -->
|
||||||
{{$t('trials:auditRecord:title:signInfo')}}
|
{{$t('trials:auditRecord:title:signInfo')}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -821,39 +821,40 @@ import Pagination from '@/components/Pagination'
|
||||||
import BaseContainer from '@/components/BaseContainer'
|
import BaseContainer from '@/components/BaseContainer'
|
||||||
import BaseModel from '@/components/BaseModel'
|
import BaseModel from '@/components/BaseModel'
|
||||||
import { getToken } from '@/utils/auth'
|
import { getToken } from '@/utils/auth'
|
||||||
|
const searchDataDefault = () => {
|
||||||
|
return {
|
||||||
|
SortField: 'CreateTime',
|
||||||
|
Asc: false,
|
||||||
|
PageIndex: 1,
|
||||||
|
PageSize: 20,
|
||||||
|
ModuleType: null,
|
||||||
|
BlindName: null,
|
||||||
|
TrialId: '',
|
||||||
|
TrialSiteId: null,
|
||||||
|
SubjectId: null,
|
||||||
|
SubjectInfo: null,
|
||||||
|
SubjectVisitId: null,
|
||||||
|
VisitPlanInfo: null,
|
||||||
|
OptType: null,
|
||||||
|
ChildrenType: null,
|
||||||
|
Reason: null,
|
||||||
|
IsSign: null,
|
||||||
|
StartTime: null,
|
||||||
|
EndTime: null,
|
||||||
|
Description: null,
|
||||||
|
OpByUserName: null,
|
||||||
|
BatchId: null,
|
||||||
|
TrialReadingCriterionId: null,
|
||||||
|
RoleName:null,
|
||||||
|
TaskName: '',
|
||||||
|
CreateUserRealName: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
components: { BaseContainer, Pagination, BaseModel },
|
components: { BaseContainer, Pagination, BaseModel },
|
||||||
dicts: ['OptType', 'ModuleType', 'ChildrenType'],
|
dicts: ['OptType', 'ModuleType', 'ChildrenType'],
|
||||||
data() {
|
data() {
|
||||||
const searchDataDefault = () => {
|
|
||||||
return {
|
|
||||||
SortField: 'CreateTime',
|
|
||||||
Asc: false,
|
|
||||||
PageIndex: 1,
|
|
||||||
PageSize: 20,
|
|
||||||
ModuleType: null,
|
|
||||||
BlindName: null,
|
|
||||||
TrialId: this.$route.query.trialId,
|
|
||||||
TrialSiteId: null,
|
|
||||||
SubjectId: null,
|
|
||||||
SubjectInfo: null,
|
|
||||||
SubjectVisitId: null,
|
|
||||||
VisitPlanInfo: null,
|
|
||||||
OptType: null,
|
|
||||||
ChildrenType: null,
|
|
||||||
Reason: null,
|
|
||||||
IsSign: null,
|
|
||||||
StartTime: null,
|
|
||||||
EndTime: null,
|
|
||||||
Description: null,
|
|
||||||
OpByUserName: null,
|
|
||||||
BatchId: null,
|
|
||||||
TrialReadingCriterionId: null,
|
|
||||||
RoleName:null,
|
|
||||||
TaskName: null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return {
|
return {
|
||||||
isViewer: true,
|
isViewer: true,
|
||||||
otherData:[],
|
otherData:[],
|
||||||
|
@ -1295,30 +1296,7 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleReset() {
|
handleReset() {
|
||||||
this.searchData = Object.assign(this.searchData, {
|
this.searchData = searchDataDefault()
|
||||||
SortField: '',
|
|
||||||
Asc: false,
|
|
||||||
PageIndex: 1,
|
|
||||||
PageSize: 20,
|
|
||||||
ModuleType: null,
|
|
||||||
BlindName: null,
|
|
||||||
TrialId: this.$route.query.trialId,
|
|
||||||
TrialSiteId: null,
|
|
||||||
SubjectId: null,
|
|
||||||
SubjectInfo: null,
|
|
||||||
SubjectVisitId: null,
|
|
||||||
VisitPlanInfo: null,
|
|
||||||
OptType: null,
|
|
||||||
ChildrenType: null,
|
|
||||||
Reason: null,
|
|
||||||
IsSign: null,
|
|
||||||
StartTime: null,
|
|
||||||
EndTime: null,
|
|
||||||
Description: null,
|
|
||||||
OpByUserName: null,
|
|
||||||
BatchId: null,
|
|
||||||
RoleName: null
|
|
||||||
})
|
|
||||||
this.timeList = []
|
this.timeList = []
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
@ -1328,6 +1306,7 @@ export default {
|
||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
this.searchData.TrialId = this.$route.query.trialId
|
||||||
getInspectionList(this.searchData).then((res) => {
|
getInspectionList(this.searchData).then((res) => {
|
||||||
this.list = res.CurrentPageData
|
this.list = res.CurrentPageData
|
||||||
// this.list = this.list.map(v => {
|
// this.list = this.list.map(v => {
|
||||||
|
|
|
@ -221,6 +221,7 @@
|
||||||
:disabled="btnLoading"
|
:disabled="btnLoading"
|
||||||
webkitdirectory
|
webkitdirectory
|
||||||
multiple
|
multiple
|
||||||
|
title=""
|
||||||
@change="beginScanFiles($event)"
|
@change="beginScanFiles($event)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2053,6 +2054,7 @@ export default {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#inputForm #listWrapper {
|
#inputForm #listWrapper {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
|
Loading…
Reference in New Issue