部分问题修复
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
f31ffb4b5e
commit
fdf6ae36b7
|
@ -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
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 network,and try again later!' : '请检查网络,稍后重试!', store.state.lang.language === 'en'? 'Warning' : '警告', {
|
MessageBox.confirm(store.state.lang.language === 'en' ? 'Please check your network,and 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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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",
|
||||||
},
|
},
|
||||||
|
|
|
@ -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"
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -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">
|
||||||
|
|
Loading…
Reference in New Issue