Compare commits

..

No commits in common. "75efdcf0f7cea947566a45dbf8ab5ed8afd4f22d" and "663c78ef51062abed6369e247e2422857ef3c3d5" have entirely different histories.

6 changed files with 133 additions and 156 deletions

View File

@ -3794,20 +3794,3 @@ export function getDicomCallingAEList(params) {
params params
}) })
} }
// CRCpacs上传检查列表
export function getVisitPatientStudyFilterList(data) {
return request({
url: `/Patient/getVisitPatientStudyFilterList`,
method: 'post',
data
})
}
// CRCpacs上传检查
export function submitVisitStudyBinding(data) {
return request({
url: `/Patient/submitVisitStudyBinding`,
method: 'post',
data
})
}

View File

@ -85,13 +85,13 @@
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column <!-- <el-table-column
:label="$t('trials:loginLog:table:IPRegion')" :label="$t('trials:loginLog:table:IPRegion')"
prop="IPRegion" prop="IPRegion"
min-width="120" min-width="120"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> /> -->
<el-table-column <el-table-column
:label="$t('system:loginLog:table:LoginFaildName')" :label="$t('system:loginLog:table:LoginFaildName')"
prop="LoginFaildName" prop="LoginFaildName"

View File

@ -573,12 +573,7 @@
name="pacs" name="pacs"
:disabled="btnLoading" :disabled="btnLoading"
> >
<uploadDicomPacs <uploadDicomPacs v-if="uploadActiveName === 'pacs'" />
v-if="uploadActiveName === 'pacs'"
:subjectVisitId="subjectVisitId"
:subjectId="subjectId"
@getList="getParentList"
/>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<!-- 预览影像模态框 --> <!-- 预览影像模态框 -->
@ -813,7 +808,7 @@ export default {
}, },
data() { data() {
return { return {
uploadActiveName: "pacs", uploadActiveName: "file",
editStudyInfoVisible: false, editStudyInfoVisible: false,
studyForm: { studyForm: {
StudyCode: "", StudyCode: "",
@ -881,9 +876,6 @@ export default {
store.dispatch("trials/setUnLock", false); store.dispatch("trials/setUnLock", false);
}, },
methods: { methods: {
getParentList() {
this.$emit("getList");
},
handleHistorical(row) { handleHistorical(row) {
this.$router.push( this.$router.push(
`/trials/trials-panel/trial-summary/upload-monitor?trialId=${this.trialId}&trialCode=${this.$route.query.trialCode}&${this.$route.query.researchProgramNo}&studyCode=${row.StudyCode}` `/trials/trials-panel/trial-summary/upload-monitor?trialId=${this.trialId}&trialCode=${this.$route.query.trialCode}&${this.$route.query.researchProgramNo}&studyCode=${row.StudyCode}`

View File

@ -2,11 +2,9 @@
<BaseContainer> <BaseContainer>
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true"> <el-form :inline="true">
<!--患者信息--> <!--所在中心-->
<el-form-item <el-form-item
:label=" :label="$t('trials:pushRecord:table:trialSiteKeyInfo')"
$t('trials:visit:crcUpload:uploadDicomPacs:search:patientInfo')
"
prop="TrialSiteKeyInfo" prop="TrialSiteKeyInfo"
> >
<el-input <el-input
@ -17,28 +15,50 @@
:placeholder="$t('trials:pushRecord:placeholder:trialSiteKeyInfo')" :placeholder="$t('trials:pushRecord:placeholder:trialSiteKeyInfo')"
/> />
</el-form-item> </el-form-item>
<!--检查技术--> <!--接收端AE-->
<el-form-item <el-form-item
:label=" :label="$t('trials:pushRecord:table:calledAE')"
$t('trials:visit:crcUpload:uploadDicomPacs:search:modalities')
"
prop="CalledAE" prop="CalledAE"
> >
<el-input <el-select
v-model="searchData.Modalities" v-model="searchData.CalledAE"
size="small"
clearable clearable
style="width: 150px" style="width: 120px"
/>
</el-form-item>
<!--检查日期-->
<el-form-item
:label="$t('trials:visit:crcUpload:uploadDicomPacs:search:studyTime')"
> >
<el-option
v-for="item of calledAEList"
:key="item"
:value="item"
:label="item"
/>
</el-select>
</el-form-item>
<!--发送端AE-->
<el-form-item
:label="$t('trials:pushRecord:table:callingAE')"
prop="CallingAE"
>
<el-select
v-model="searchData.CallingAE"
clearable
style="width: 120px"
>
<el-option
v-for="item of callingAEList"
:key="item"
:value="item"
:label="item"
/>
</el-select>
</el-form-item>
<!--最新接受日期-->
<el-form-item :label="$t('trials:pushRecord:table:createTime')">
<el-date-picker <el-date-picker
v-model="datetimerange" v-model="datetimerange"
type="datetimerange" type="datetimerange"
:default-time="['00:00:00', '23:59:59']" :default-time="['00:00:00', '23:59:59']"
:start-placeholder="$t('trials:loginLog:table:beginTime')"
:end-placeholder="$t('trials:loginLog:table:endTime')"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
@change="handleDatetimeChange" @change="handleDatetimeChange"
/> />
@ -55,15 +75,6 @@
> >
{{ $t("common:button:reset") }} {{ $t("common:button:reset") }}
</el-button> </el-button>
<!-- 添加 -->
<el-button
type="primary"
icon="el-icon-plus"
:disabled="tableSelectData.length <= 0"
@click="handleAddList"
>
{{ $t("common:button:add") }}
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
@ -74,41 +85,49 @@
height="100" height="100"
:data="list" :data="list"
class="table" class="table"
@selection-change="handleSelectChange"
@sort-change="handleSortByColumn" @sort-change="handleSortByColumn"
:default-sort="{ prop: 'studyTime', order: 'descending' }" :default-sort="{ prop: 'StartTime', order: 'descending' }"
> >
<el-table-column type="selection" align="center" width="45" />
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<!--病历--> <!--中心编-->
<el-table-column <el-table-column
:label="$t('trials:visit:crcUpload:uploadDicomPacs:table:patientId')" :label="$t('trials:pushRecord:table:trialSiteCode')"
prop="PatientIdStr" prop="TrialSiteCode"
min-width="160" min-width="160"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!--患者姓名--> <!--中心名称-->
<el-table-column <el-table-column
:label=" :label="$t('trials:pushRecord:table:trialSiteAliasName')"
$t('trials:visit:crcUpload:uploadDicomPacs:table:patientName') prop="TrialSiteAliasName"
" min-width="160"
prop="PatientName" show-overflow-tooltip
sortable="custom"
/>
<!--发送端AE-->
<el-table-column
:label="$t('trials:pushRecord:table:callingAEList')"
prop="CallingAEList"
min-width="90" min-width="90"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> >
<!--性别--> <template slot-scope="scope">
{{ scope.row.CallingAEList.join(", ") }}
</template>
</el-table-column>
<!--发送端IP-->
<el-table-column <el-table-column
:label="$t('trials:visit:crcUpload:uploadDicomPacs:table:patientSex')" :label="$t('trials:pushRecord:table:callingAEIP')"
prop="PatientSex" prop="CallingAEIP"
min-width="160" min-width="160"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!--出生日期--> <!--接收端AE-->
<el-table-column <el-table-column
:label="$t('trials:visit:crcUpload:uploadDicomPacs:table:patientSex')" :label="$t('trials:pushRecord:table:calledAEList')"
prop="CalledAEList" prop="CalledAEList"
min-width="90" min-width="90"
show-overflow-tooltip show-overflow-tooltip
@ -118,47 +137,46 @@
</template> </template>
</el-table-column> </el-table-column>
<!--检查信息--> <!--检查-->
<el-table-column <el-table-column
:label="$t('trials:visit:crcUpload:uploadDicomPacs:table:modalities')" :label="$t('trials:pushRecord:table:studyCount')"
prop="Modalities" prop="StudyCount"
min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<!--检查日期-->
<el-table-column
:label="$t('trials:visit:crcUpload:uploadDicomPacs:table:studyTime')"
prop="StudyTime"
min-width="160" min-width="160"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!--图像数量--> <!--图像数量-->
<el-table-column <el-table-column
:label=" :label="$t('trials:pushRecord:table:fileCount')"
$t('trials:visit:crcUpload:uploadDicomPacs:table:instanceCount') prop="FileCount"
"
prop="InstanceCount"
min-width="160" min-width="160"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> />
<!--图像大小-->
<el-table-column <el-table-column
:label="$t('common:action:action')" :label="$t('trials:pushRecord:table:fileSize')"
min-width="260" prop="FileSize"
fixed="right" min-width="160"
> show-overflow-tooltip
<template slot-scope="scope"> sortable="custom"
<!-- 添加 --> />
<el-button <!--推送开始时间-->
icon="el-icon-view" <el-table-column
:title="$t('common:button:add')" :label="$t('trials:pushRecord:table:startTime')"
circle prop="StartTime"
@click="handleAdd(scope.row)" min-width="160"
show-overflow-tooltip
sortable="custom"
/>
<!--推送结束时间-->
<el-table-column
:label="$t('trials:pushRecord:table:endTime')"
prop="EndTime"
min-width="160"
show-overflow-tooltip
sortable="custom"
/> />
</template>
</el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination <pagination
@ -173,17 +191,20 @@
</template> </template>
<script> <script>
import { import {
getVisitPatientStudyFilterList, getSCPImageUploadList,
submitVisitStudyBinding, getDicomCalledAEList,
getDicomCallingAEList,
} from "@/api/trials"; } from "@/api/trials";
import BaseContainer from "@/components/BaseContainer"; import BaseContainer from "@/components/BaseContainer";
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
import moment from "moment"; import moment from "moment";
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
EarliestStudyTime: null, CallingAE: null,
LatestStudyTime: null, CalledAE: null,
Modalities: null, StartTime: null,
EndTime: null,
TrialSiteKeyInfo: null,
PageIndex: 1, PageIndex: 1,
PageSize: 20, PageSize: 20,
Asc: true, Asc: true,
@ -192,16 +213,6 @@ const searchDataDefault = () => {
}; };
export default { export default {
components: { BaseContainer, Pagination }, components: { BaseContainer, Pagination },
props: {
subjectVisitId: {
type: String,
required: true,
},
subjectId: {
type: String,
required: true,
},
},
data() { data() {
return { return {
moment, moment,
@ -210,59 +221,50 @@ export default {
total: 0, total: 0,
loading: false, loading: false,
datetimerange: [], datetimerange: [],
tableSelectData: [], calledAEList: [],
callingAEList: [],
}; };
}, },
created() {
this.getCalledAEList();
this.getCallingAEList();
},
mounted() { mounted() {
this.getList(); this.getList();
}, },
methods: { methods: {
handleAddList() { // AE
if (this.tableSelectData.length < 0) async getCalledAEList() {
return this.$message.warning(
this.$t("trials:visit:crcUpload:uploadDicomPacs:message:notCheck")
);
let arr = this.tableSelectData.map((item) => item.ScpStudyId);
this.submitVisitStudyBinding(arr);
},
handleAdd(row) {
let arr = [row.ScpStudyId];
this.submitVisitStudyBinding(arr);
},
//
async submitVisitStudyBinding(arr) {
try { try {
let data = { let params = {
TrialId: this.$route.query.trialId, TrialId: this.$route.query.trialId,
SubjectVisitId: this.subjectVisitId,
SubjectId: this.subjectId,
ScpStudyIdList: arr,
}; };
this.loading = true; let res = await getDicomCalledAEList(params);
let res = await submitVisitStudyBinding(data);
this.loading = false;
if (res.IsSuccess) { if (res.IsSuccess) {
this.getList(); this.calledAEList = res.Result;
this.$emit("getList");
} }
} catch (err) { } catch (err) {
this.loading = false;
console.log(err); console.log(err);
} }
}, },
// // AE
handleSelectChange(selection) { async getCallingAEList() {
// console.log(selection, "handleSelectChange"); try {
this.tableSelectData = selection; let params = {
TrialId: this.$route.query.trialId,
};
let res = await getDicomCallingAEList(params);
if (res.IsSuccess) {
this.callingAEList = res.Result;
}
} catch (err) {
console.log(err);
}
}, },
getList() { getList() {
this.loading = true; this.loading = true;
let data = { this.searchData.TrialId = this.$route.query.trialId;
SubjectVisitId: this.subjectVisitId, getSCPImageUploadList(this.searchData)
SubjectId: this.subjectId,
...this.searchData,
};
getVisitPatientStudyFilterList(data)
.then((res) => { .then((res) => {
this.loading = false; this.loading = false;
this.list = res.Result.CurrentPageData; this.list = res.Result.CurrentPageData;
@ -274,11 +276,11 @@ export default {
}, },
handleDatetimeChange(val) { handleDatetimeChange(val) {
if (val) { if (val) {
this.searchData.EarliestStudyTime = val[0]; this.searchData.StartTime = val[0];
this.searchData.LatestStudyTime = val[1]; this.searchData.EndTime = val[1];
} else { } else {
this.searchData.EarliestStudyTime = ""; this.searchData.StartTime = "";
this.searchData.LatestStudyTime = ""; this.searchData.EndTime = "";
} }
}, },
handleSearch() { handleSearch() {

View File

@ -1045,7 +1045,7 @@ export default {
formRow: {}, formRow: {},
searchData: searchDataDefault(), searchData: searchDataDefault(),
loading: false, loading: false,
uploadVisible: true, uploadVisible: false,
qcVisible: false, qcVisible: false,
list: [], list: [],
total: 0, total: 0,

View File

@ -63,8 +63,8 @@ module.exports = {
// target: 'http://123.56.94.154:8079', // 国内测试环境2 // target: 'http://123.56.94.154:8079', // 国内测试环境2
// target: 'http://123.56.94.154:7000', // 国内测试环境2 // target: 'http://123.56.94.154:7000', // 国内测试环境2
// target: 'http://123.56.94.154:30668', // target: 'http://123.56.94.154:30668',
target: 'http://106.14.89.110:30000', // target: 'http://106.14.89.110:30000',
// target: 'http://47.117.164.182:7010', // uat target: 'http://47.117.164.182:7010', // uat
// target: 'http://123.56.181.144:7000', // target: 'http://123.56.181.144:7000',
changeOrigin: true, changeOrigin: true,
secure: false, secure: false,