部分问题修复
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2024-05-08 15:14:06 +08:00
parent f31ffb4b5e
commit fdf6ae36b7
8 changed files with 325 additions and 304 deletions

View File

@ -29,11 +29,12 @@ export function getInstitutionList(typeId) {
}) })
} }
export function addUser(param) { export function addUser(param, confirm = false) {
return request({ return request({
url: `/user/addUser`, url: `/user/addUser`,
method: 'post', method: 'post',
data: param data: param,
confirm
}) })
} }

View File

@ -18,7 +18,7 @@ service.interceptors.request.use(
path = router && router.app && router.app._route && router.app._route.path path = router && router.app && router.app._route && router.app._route.path
config.headers['Content-Type'] = 'application/json;charset=UTF-8' config.headers['Content-Type'] = 'application/json;charset=UTF-8'
var language = zzSessionStorage.getItem('lang') var language = zzSessionStorage.getItem('lang')
config.headers['Accept-Language'] = language === 'en'?'en-US,en;q=0.5':'zh-CN,zh;q=0.9' config.headers['Accept-Language'] = language === 'en' ? 'en-US,en;q=0.5' : 'zh-CN,zh;q=0.9'
if (store.getters.token) { if (store.getters.token) {
config.headers.Authorization = `Bearer ${store.getters.token}` config.headers.Authorization = `Bearer ${store.getters.token}`
} }
@ -30,7 +30,7 @@ service.interceptors.request.use(
if (store.state.user.userId !== zzSessionStorage.getItem('userId')) { if (store.state.user.userId !== zzSessionStorage.getItem('userId')) {
window.location.href = `/login` window.location.href = `/login`
zzSessionStorage.removeItem('lastWorkbench') zzSessionStorage.removeItem('lastWorkbench')
Alert(store.state.lang.language === 'en'? 'The same browser only allows one user account to be logged in at a time.' : '同一浏览器只允许同时登陆一个账户', { Alert(store.state.lang.language === 'en' ? 'The same browser only allows one user account to be logged in at a time.' : '同一浏览器只允许同时登陆一个账户', {
type: 'warning', type: 'warning',
}) })
} }
@ -55,11 +55,11 @@ service.interceptors.response.use(
isConfirm = true isConfirm = true
return Promise.resolve(res) return Promise.resolve(res)
} else if (res.IsSuccess === false) { } else if (res.IsSuccess === false) {
if (res.Code !== 5) { if (res.Code !== 5 && !response.config.confirm) {
MessageBox.confirm(res.ErrorMessage, { MessageBox.confirm(res.ErrorMessage, {
type: 'warning', type: 'warning',
showCancelButton: false, showCancelButton: false,
callback: action => {} callback: action => { }
}) })
} }
return Promise.reject(res) return Promise.reject(res)
@ -80,24 +80,24 @@ service.interceptors.response.use(
}) })
} }
switch (status) { switch (status) {
case 400: message = store.state.lang.language === 'en'? 'Request error' : '请求错误'; break case 400: message = store.state.lang.language === 'en' ? 'Request error' : '请求错误'; break
case 401: message = store.state.lang.language === 'en'? 'Not authorized or login timed out. Please log in again.' : '未授权或登陆超时,请重新登录'; break case 401: message = store.state.lang.language === 'en' ? 'Not authorized or login timed out. Please log in again.' : '未授权或登陆超时,请重新登录'; break
case 403: message = error.response.data.ErrorMessage; break case 403: message = error.response.data.ErrorMessage; break
case 404: message = store.state.lang.language === 'en'? 'Request address error' : `请求地址出错`; break case 404: message = store.state.lang.language === 'en' ? 'Request address error' : `请求地址出错`; break
case 405: message = store.state.lang.language === 'en'? 'Interface parameter error or request method inconsistency' : `接口参数传递错误,或者请求方法不一致`; break case 405: message = store.state.lang.language === 'en' ? 'Interface parameter error or request method inconsistency' : `接口参数传递错误,或者请求方法不一致`; break
case 408: message = store.state.lang.language === 'en'? 'Request timed out' : '请求超时'; break case 408: message = store.state.lang.language === 'en' ? 'Request timed out' : '请求超时'; break
case 429: message = store.state.lang.language === 'en'? 'The application service limits the traffic. Your requests are too frequent. Please try again later.' : '应用服务限流,您的请求过于频繁,请稍后再试'; break case 429: message = store.state.lang.language === 'en' ? 'The application service limits the traffic. Your requests are too frequent. Please try again later.' : '应用服务限流,您的请求过于频繁,请稍后再试'; break
case 500: message = store.state.lang.language === 'en'? 'Internal server error, and unable to complete the request. Software release might be in process. Please contact the administrator.' : '服务器内部错误,无法完成请求;可能正在发布中,请联系管理员处理'; break case 500: message = store.state.lang.language === 'en' ? 'Internal server error, and unable to complete the request. Software release might be in process. Please contact the administrator.' : '服务器内部错误,无法完成请求;可能正在发布中,请联系管理员处理'; break
case 501: message = store.state.lang.language === 'en'? 'Service has not been implemented.' : '服务未实现'; break case 501: message = store.state.lang.language === 'en' ? 'Service has not been implemented.' : '服务未实现'; break
case 502: message = store.state.lang.language === 'en'? 'System is being upgraded. Please wait patiently.' : '系统正在升级,请耐心等待。'; break case 502: message = store.state.lang.language === 'en' ? 'System is being upgraded. Please wait patiently.' : '系统正在升级,请耐心等待。'; break
case 503: message = store.state.lang.language === 'en'? 'Service is not available' : '服务不可用'; break case 503: message = store.state.lang.language === 'en' ? 'Service is not available' : '服务不可用'; break
case 504: message = store.state.lang.language === 'en'? 'Gateway timed out' : '网关超时'; break case 504: message = store.state.lang.language === 'en' ? 'Gateway timed out' : '网关超时'; break
case 505: message = store.state.lang.language === 'en'? 'HTTP version is not supported' : 'HTTP版本不受支持'; break case 505: message = store.state.lang.language === 'en' ? 'HTTP version is not supported' : 'HTTP版本不受支持'; break
default: break default: break
} }
if (error.response.status === 401) { if (error.response.status === 401) {
if (store.getters.token) { if (store.getters.token) {
if(message !== ''){ if (message !== '') {
Message({ Message({
message: message, message: message,
type: 'warning', type: 'warning',
@ -112,26 +112,26 @@ service.interceptors.response.use(
}) })
} else { } else {
Message({ Message({
message: store.state.lang.language === 'en'? 'You are not authorized to access the interface' : '您无权访问接口', message: store.state.lang.language === 'en' ? 'You are not authorized to access the interface' : '您无权访问接口',
type: 'warning', type: 'warning',
showClose: true showClose: true
}) })
} }
} else { } else {
if(message !== '' && isConfirm){ if (message !== '' && isConfirm) {
MessageBox.confirm(message, store.state.lang.language === 'en'? 'Warning' : '警告', { MessageBox.confirm(message, store.state.lang.language === 'en' ? 'Warning' : '警告', {
type: 'warning', type: 'warning',
showCancelButton: false, showCancelButton: false,
callback: action => {} callback: action => { }
}) })
} }
} }
} }
if (!window.navigator.onLine && isConfirm) { if (!window.navigator.onLine && isConfirm) {
MessageBox.confirm(store.state.lang.language === 'en'? 'Please check your networkand try again later' : '请检查网络,稍后重试!', store.state.lang.language === 'en'? 'Warning' : '警告', { MessageBox.confirm(store.state.lang.language === 'en' ? 'Please check your networkand try again later' : '请检查网络,稍后重试!', store.state.lang.language === 'en' ? 'Warning' : '警告', {
type: 'warning', type: 'warning',
showCancelButton: false, showCancelButton: false,
callback: action => {} callback: action => { }
}) })
isConfirm = false isConfirm = false
} }

View File

@ -154,7 +154,7 @@
type="number" type="number"
clearable clearable
:max="200" :max="200"
:min="0" :min="1"
/> />
</div> </div>
</el-form-item> </el-form-item>
@ -242,6 +242,13 @@ export default {
), ),
trigger: "blur", trigger: "blur",
}, },
{
pattern: /^[1-9]\d*$/,
message: this.$t(
"trials:trials-list:formRule:notDecimalsAuthorized"
),
trigger: "blur",
},
{ {
type: "number", type: "number",
min: 1, min: 1,
@ -249,24 +256,6 @@ export default {
message: this.$t("trials:trials-list:formRule:minMaxAuthorized"), message: this.$t("trials:trials-list:formRule:minMaxAuthorized"),
trigger: "blur", trigger: "blur",
}, },
{
validator: (rule, value, callback) => {
if (
value &&
(String(value).includes(".") ||
new RegExp(/\D/g).test(String(value)))
) {
callback(
new Error(
this.$t("trials:trials-list:formRule:notDecimalsAuthorized")
)
);
} else {
callback();
}
},
trigger: "blur",
},
], ],
// //
CriterionTypeList: [ CriterionTypeList: [
@ -284,7 +273,7 @@ export default {
trigger: "blur", trigger: "blur",
}, },
{ {
pattern: "^[\u4e00-\u9fa5a-zA-Z]+$", pattern: /^[\u4e00-\u9fa5a-zA-Z]+$/,
message: this.$t("trisals:trials-list:formRule:onlyEN"), message: this.$t("trisals:trials-list:formRule:onlyEN"),
trigger: "blur", trigger: "blur",
}, },

View File

@ -210,7 +210,10 @@ export default {
document.body.removeChild(eleLink); document.body.removeChild(eleLink);
}, },
downloadXmlFile() { downloadXmlFile() {
fileDownload(this.form.code, "_Activation_Code.lic"); fileDownload(
this.form.code,
this.data.TrialCode + "_Activation_Code.lic"
);
}, },
}, },
}; };

View File

@ -318,7 +318,10 @@ export default {
}, },
// //
async getCode() { async getCode() {
fileDownload(this.form.Authorization, "_Request_Code.req"); fileDownload(
this.form.Authorization,
this.form.TrialCode + "_Request_Code.req"
);
}, },
// //
uploadFile(file) { uploadFile(file) {

View File

@ -3,79 +3,89 @@
v-loading="loading" v-loading="loading"
style="height: 100%; background-color: #fff" style="height: 100%; background-color: #fff"
> >
<div slot="search-container" style="position: relative"> <el-tabs v-model="TrialReadingCriterionId" type="border-card">
<el-form :inline="true"> <el-tab-pane
<!-- 阅片标准 --> v-for="i in trialCriterionList"
<el-form-item :label="$t('trials:processCfg:form:criterion')"> :key="i.TrialReadingCriterionId"
<el-select :label="i.TrialReadingCriterionName"
v-model="searchData.TrialReadingCriterionId" :name="i.TrialReadingCriterionId"
clearable >
filterable <div v-if="TrialReadingCriterionId === i.TrialReadingCriterionId">
style="width: 150px" <div slot="search-container" style="position: relative">
> <el-form :inline="true">
<el-option <!-- 阅片标准 -->
v-for="item of trialCriterionList" <!-- <el-form-item :label="$t('trials:processCfg:form:criterion')">
:key="item.TrialReadingCriterionId" <el-select
:label="item.TrialReadingCriterionName" v-model="searchData.TrialReadingCriterionId"
:value="item.TrialReadingCriterionId" clearable
/> filterable
</el-select> style="width: 150px"
</el-form-item> >
<!-- 受试者编号 --> <el-option
<el-form-item :label="$t('trials:reviewTrack:table:subjectCode')"> v-for="item of trialCriterionList"
<el-input :key="item.TrialReadingCriterionId"
v-model="searchData.SubjectCode" :label="item.TrialReadingCriterionName"
style="width: 100px" :value="item.TrialReadingCriterionId"
clearable />
/> </el-select>
</el-form-item> </el-form-item> -->
<!-- 患者编号 --> <!-- 受试者编号 -->
<el-form-item :label="$t('trials:uploadDicomList:table:pId')"> <el-form-item :label="$t('trials:reviewTrack:table:subjectCode')">
<el-input <el-input
v-model="searchData.PatientIdStr" v-model="searchData.SubjectCode"
style="width: 140px" style="width: 100px"
clearable clearable
/> />
</el-form-item> </el-form-item>
<!-- 患者姓名 --> <!-- 患者编号 -->
<el-form-item :label="$t('trials:uploadDicomList:table:patientName')"> <el-form-item :label="$t('trials:uploadDicomList:table:pId')">
<el-input <el-input
v-model="searchData.PatientName" v-model="searchData.PatientIdStr"
style="width: 140px" style="width: 140px"
clearable clearable
/> />
</el-form-item> </el-form-item>
<!-- 访视名称 --> <!-- 患者姓名 -->
<el-form-item <el-form-item
style="margin-bottom: 10px" :label="$t('trials:uploadDicomList:table:patientName')"
:label="$t('trials:adReview:table:visitName')" >
> <el-input
<el-input v-model="searchData.PatientName"
v-model="searchData.TaskName" style="width: 140px"
style="width: 140px" clearable
clearable />
/> </el-form-item>
</el-form-item> <!-- 访视名称 -->
<!-- 任务状态 --> <el-form-item
<el-form-item style="margin-bottom: 10px"
style="margin-bottom: 10px" :label="$t('trials:adReview:table:visitName')"
:label="$t('trials:readTask:table:taskState')" >
> <el-input
<el-select v-model="searchData.TaskName"
v-model="searchData.TaskState" style="width: 140px"
clearable clearable
style="width: 120px" />
> </el-form-item>
<el-option <!-- 任务状态 -->
v-for="i of $d.TaskState" <el-form-item
:key="'TaskState' + i.label" style="margin-bottom: 10px"
:value="i.value" :label="$t('trials:readTask:table:taskState')"
:label="i.label" >
/> <el-select
</el-select> v-model="searchData.TaskState"
</el-form-item> clearable
<!-- 任务类型 --> style="width: 120px"
<!-- <el-form-item >
<el-option
v-for="i of $d.TaskState"
:key="'TaskState' + i.label"
:value="i.value"
:label="i.label"
/>
</el-select>
</el-form-item>
<!-- 任务类型 -->
<!-- <el-form-item
style="margin-bottom: 10px" style="margin-bottom: 10px"
:label="$t('trials:readTask:table:readingCategory')" :label="$t('trials:readTask:table:readingCategory')"
> >
@ -92,123 +102,127 @@
/> />
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<!-- 签名时间 --> <!-- 签名时间 -->
<el-form-item :label="$t('trials:readTask:table:signTime')"> <el-form-item :label="$t('trials:readTask:table:signTime')">
<el-date-picker <el-date-picker
v-model="dateValue" v-model="dateValue"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
clearable clearable
:default-time="['00:00:00', '23:59:59']" :default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<!-- 查询 --> <!-- 查询 -->
<el-button type="primary" icon="el-icon-search" @click="handleSearch"> <el-button
{{ $t("common:button:search") }} type="primary"
</el-button> icon="el-icon-search"
<!-- 重置 --> @click="handleSearch"
<el-button >
type="primary" {{ $t("common:button:search") }}
icon="el-icon-refresh-left" </el-button>
@click="handleReset" <!-- 重置 -->
> <el-button
{{ $t("common:button:reset") }} type="primary"
</el-button> icon="el-icon-refresh-left"
</el-form-item> @click="handleReset"
</el-form> >
</div> {{ $t("common:button:reset") }}
<div slot="main-container"> </el-button>
<el-table </el-form-item>
v-adaptive="{ bottomOffset: 75 }" </el-form>
:data="list" </div>
stripe <div slot="main-container">
height="100" <el-table
@sort-change="handleSortChange" v-adaptive="{ bottomOffset: 75 }"
> :data="list"
<!-- 受试者编号 --> stripe
<el-table-column height="100"
prop="SubjectCode" @sort-change="handleSortChange"
min-width="100"
:label="$t('trials:reviewTrack:table:subjectCode')"
show-overflow-tooltip
sortable="custom"
/>
<!-- 患者编号 -->
<el-table-column
prop="PatientIdStr"
min-width="100"
:label="$t('trials:uploadDicomList:table:pId')"
show-overflow-tooltip
>
<template slot-scope="scope">
<span
v-for="(item, index) in scope.row.PatientList"
:key="`${index}${item.PatientId}`"
> >
{{ <!-- 受试者编号 -->
index === scope.row.PatientList.length - 1 <el-table-column
? item.PatientIdStr prop="SubjectCode"
: `${item.PatientIdStr}, ` min-width="100"
}} :label="$t('trials:reviewTrack:table:subjectCode')"
</span> show-overflow-tooltip
</template> sortable="custom"
</el-table-column> />
<!-- 患者姓名 --> <!-- 患者编号 -->
<el-table-column <el-table-column
prop="SubjectShortName" prop="PatientIdStr"
min-width="100" min-width="100"
:label="$t('trials:uploadDicomList:table:patientName')" :label="$t('trials:uploadDicomList:table:pId')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" >
/> <template slot-scope="scope">
<!-- 访视名称 --> <span
<el-table-column v-for="(item, index) in scope.row.PatientList"
prop="TaskName" :key="`${index}${item.PatientId}`"
:label="$t('trials:adReview:table:visitName')" >
min-width="100" {{
sortable="custom" index === scope.row.PatientList.length - 1
show-overflow-tooltip ? item.PatientIdStr
/> : `${item.PatientIdStr}, `
<!-- 阅片标准 --> }}
<el-table-column </span>
prop="TrialReadingCriterionName" </template>
:label="$t('trials:adReview:table:TrialReadingCriterionName')" </el-table-column>
min-width="100" <!-- 患者姓名 -->
sortable="custom" <el-table-column
show-overflow-tooltip prop="SubjectShortName"
/> min-width="100"
<!-- 任务状态 --> :label="$t('trials:uploadDicomList:table:patientName')"
<el-table-column show-overflow-tooltip
prop="TaskState" sortable="custom"
:label="$t('trials:readTask:table:taskState')" />
min-width="100" <!-- 访视名称 -->
sortable="custom" <el-table-column
show-overflow-tooltip prop="TaskName"
> :label="$t('trials:adReview:table:visitName')"
<template slot-scope="scope"> min-width="100"
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{ sortable="custom"
$fd("TaskState", scope.row.TaskState) show-overflow-tooltip
}}</el-tag> />
<el-tag v-if="scope.row.TaskState === 1" type="info">{{ <!-- 阅片标准 -->
$fd("TaskState", scope.row.TaskState) <el-table-column
}}</el-tag> prop="TrialReadingCriterionName"
<el-tag v-if="scope.row.TaskState === 3" type="danger">{{ :label="$t('trials:adReview:table:TrialReadingCriterionName')"
$fd("TaskState", scope.row.TaskState) min-width="100"
}}</el-tag> sortable="custom"
<el-tag v-if="scope.row.TaskState === 4" type="warning">{{ show-overflow-tooltip
$fd("TaskState", scope.row.TaskState) />
}}</el-tag> <!-- 任务状态 -->
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{ <el-table-column
$fd("TaskState", scope.row.TaskState) prop="TaskState"
}}</el-tag> :label="$t('trials:readTask:table:taskState')"
</template> min-width="100"
</el-table-column> sortable="custom"
<!-- 任务类型 --> show-overflow-tooltip
<!-- <el-table-column >
<template slot-scope="scope">
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{
$fd("TaskState", scope.row.TaskState)
}}</el-tag>
<el-tag v-if="scope.row.TaskState === 1" type="info">{{
$fd("TaskState", scope.row.TaskState)
}}</el-tag>
<el-tag v-if="scope.row.TaskState === 3" type="danger">{{
$fd("TaskState", scope.row.TaskState)
}}</el-tag>
<el-tag v-if="scope.row.TaskState === 4" type="warning">{{
$fd("TaskState", scope.row.TaskState)
}}</el-tag>
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{
$fd("TaskState", scope.row.TaskState)
}}</el-tag>
</template>
</el-table-column>
<!-- 任务类型 -->
<!-- <el-table-column
prop="ReadingCategory" prop="ReadingCategory"
min-width="90" min-width="90"
:label="$t('trials:readTask:table:readingCategory')" :label="$t('trials:readTask:table:readingCategory')"
@ -230,16 +244,16 @@
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> --> </el-table-column> -->
<!-- 签名时间 --> <!-- 签名时间 -->
<el-table-column <el-table-column
prop="SignTime" prop="SignTime"
min-width="120" min-width="120"
:label="$t('trials:readTask:table:signTime')" :label="$t('trials:readTask:table:signTime')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 申请状态 --> <!-- 申请状态 -->
<!-- <el-table-column <!-- <el-table-column
v-if="!hasPermi(['role:air'])" v-if="!hasPermi(['role:air'])"
prop="ReReadingApplyState" prop="ReReadingApplyState"
:label="$t('trials:readTask:table:reReadingApplyState')" :label="$t('trials:readTask:table:reReadingApplyState')"
@ -266,66 +280,69 @@
}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> --> </el-table-column> -->
<!--操作--> <!--操作-->
<el-table-column <el-table-column
:label="$t('common:action:action')" :label="$t('common:action:action')"
min-width="100" min-width="100"
fixed="right" fixed="right"
v-if=" v-if="
hasPermi([ hasPermi([
'trials:readTask:view', 'trials:readTask:view',
'trials:readTask:reread', 'trials:readTask:reread',
'trials:readTask:report', 'trials:readTask:report',
'trials:readTask:auditRecord', 'trials:readTask:auditRecord',
]) ])
" "
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 查看 --> <!-- 查看 -->
<el-button <el-button
v-hasPermi="['trials:readTask:view']" v-hasPermi="['trials:readTask:view']"
circle circle
:title="$t('trials:readTask:button:view')" :title="$t('trials:readTask:button:view')"
icon="el-icon-view" icon="el-icon-view"
@click="handleReadImage(scope.row)" @click="handleReadImage(scope.row)"
/> />
<!-- 重阅 --> <!-- 重阅 -->
<el-button <el-button
v-hasPermi="['trials:readTask:reread']" v-hasPermi="['trials:readTask:reread']"
circle circle
:disabled="scope.row.TaskState > 0" :disabled="scope.row.TaskState > 0"
:title="$t('trials:readTask:button:reread')" :title="$t('trials:readTask:button:reread')"
icon="el-icon-collection" icon="el-icon-collection"
@click="openApplyReReading(scope.row)" @click="openApplyReReading(scope.row)"
/> />
<!-- 下载报告 --> <!-- 下载报告 -->
<!-- <el-button <!-- <el-button
v-hasPermi="['trials:readTask:report']" v-hasPermi="['trials:readTask:report']"
circle circle
:title="$t('trials:reading:button:uploadReport')" :title="$t('trials:reading:button:uploadReport')"
icon="el-icon-collection" icon="el-icon-collection"
@click="handleReadImage(scope.row)" @click="handleReadImage(scope.row)"
/> --> /> -->
<!-- 审核记录 --> <!-- 审核记录 -->
<!-- <el-button <!-- <el-button
v-hasPermi="['trials:readTask:auditRecord']" v-hasPermi="['trials:readTask:auditRecord']"
circle circle
:title="$t('trials:auditRecord:table:auditRecords')" :title="$t('trials:auditRecord:table:auditRecords')"
icon="el-icon-collection" icon="el-icon-collection"
@click="handleReadImage(scope.row)" @click="handleReadImage(scope.row)"
/> --> /> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination <pagination
class="page" class="page"
:total="total" :total="total"
:page.sync="searchData.PageIndex" :page.sync="searchData.PageIndex"
:limit.sync="searchData.PageSize" :limit.sync="searchData.PageSize"
@pagination="getList" @pagination="getList"
/> />
</div> </div>
</div>
</el-tab-pane>
</el-tabs>
<el-dialog <el-dialog
v-if="ApplyforReasonVisible" v-if="ApplyforReasonVisible"
:title="$t('trials:readTask:dagTitle:apply')" :title="$t('trials:readTask:dagTitle:apply')"
@ -714,7 +731,7 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
this.searchData.TrialId = this.trialId; this.searchData.TrialId = this.trialId;
// this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId; this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId;
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) { if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
this.searchData.BeginSignDate = this.$moment(this.dateValue[0]).format( this.searchData.BeginSignDate = this.$moment(this.dateValue[0]).format(
"YYYY-MM-DD HH:mm:ss" "YYYY-MM-DD HH:mm:ss"

View File

@ -291,7 +291,13 @@ export default {
this.form.BaseUrl = `${location.protocol}//${location.host}/login`; this.form.BaseUrl = `${location.protocol}//${location.host}/login`;
this.form.RouteUrl = `${location.protocol}//${location.host}/email-recompose`; this.form.RouteUrl = `${location.protocol}//${location.host}/email-recompose`;
} }
addUser(this.form) const selectedUserType = this.userTypeOptions.filter(
(item) => item.Id === this.form.UserTypeId
);
if (selectedUserType.length > 0) {
this.form.UserTypeEnum = selectedUserType[0].UserTypeEnum;
}
addUser(this.form, true)
.then((res) => { .then((res) => {
this.btnLoading = false; this.btnLoading = false;
this.$message.success( this.$message.success(
@ -305,8 +311,8 @@ export default {
// this.$set(this.form, "LastName", res.Result.LastName); // this.$set(this.form, "LastName", res.Result.LastName);
// this.$set(this.form, "FirstName", res.Result.FirstName); // this.$set(this.form, "FirstName", res.Result.FirstName);
// this.$set(this.form, "Phone", res.Result.Phone); // this.$set(this.form, "Phone", res.Result.Phone);
this.errorMsg = res.ErrorMessage;
} }
this.errorMsg = res.ErrorMessage;
this.btnLoading = false; this.btnLoading = false;
}); });
} }

View File

@ -11,12 +11,14 @@
clearable clearable
style="width: 120px" style="width: 120px"
> >
<el-option <template v-for="item of $d.UserOptType">
v-for="item of $d.UserOptType" <el-option
:key="'UserOptType' + item.label" :key="'UserOptType' + item.label"
:value="item.value" :value="item.value"
:label="item.label" :label="item.label"
/> v-if="item.value !== 9 && item.value !== 10"
/>
</template>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="IP" prop="IP"> <el-form-item label="IP" prop="IP">