影像打包
continuous-integration/drone/push Build is failing
Details
continuous-integration/drone/push Build is failing
Details
parent
172f2d1191
commit
3166108d91
|
@ -298,10 +298,11 @@ export function getPatientSubejctVisitList(param) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 下载影像
|
// 下载影像
|
||||||
export function getSubjectImageZipInfo(id, id2) {
|
export function requestPackageAndAnonymizImage(params) {
|
||||||
return request({
|
return request({
|
||||||
url: `/Patient/getSubjectImageZipInfo/${id}/${id2}`,
|
url: `/Patient/requestPackageAndAnonymizImage`,
|
||||||
method: 'get',
|
method: 'post',
|
||||||
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,20 +3,41 @@ import axios from "axios";
|
||||||
import { saveAs } from "file-saver";
|
import { saveAs } from "file-saver";
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import {
|
import {
|
||||||
getSubjectImageZipInfo,
|
requestPackageAndAnonymizImage,
|
||||||
} from "@/api/trials/visit.js";
|
} from "@/api/trials/visit.js";
|
||||||
let flag = false;
|
let flag = {};
|
||||||
export const downloadImage = async (id, id2) => {
|
export const downloadImage = async (id, id2) => {
|
||||||
if (flag) return
|
if (flag[id2]) return
|
||||||
flag = true
|
flag[id2] = true
|
||||||
try {
|
try {
|
||||||
let res = await getSubjectImageZipInfo(id, id2);
|
let params = {
|
||||||
|
TrialId: id,
|
||||||
|
SubjectVisitId: id2
|
||||||
|
}
|
||||||
|
let res = await requestPackageAndAnonymizImage(params);
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
let item = res.Result;
|
if (!res.Result) {
|
||||||
await setfolder(item);
|
Vue.prototype.$message.warning(Vue.prototype.$t("trials:upload:message:not"))
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
let a = document.createElement("a");
|
||||||
|
let href = Vue.prototype.OSSclientConfig.basePath + res.Result;
|
||||||
|
let fileName =
|
||||||
|
res.Result.split("/")[res.Result.split("/").length - 1];
|
||||||
|
a.download = fileName;
|
||||||
|
a.href = href;
|
||||||
|
a.click();
|
||||||
|
URL.revokeObjectURL(href);
|
||||||
|
this.$nextTick(() => {
|
||||||
|
a = null;
|
||||||
|
href = null;
|
||||||
|
});
|
||||||
|
return 2;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
flag = false;
|
flag[id2] = false;
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -78,11 +99,11 @@ const setfolder = async (item) => {
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
saveAs(res, zipName + ".zip"); // 使用FileSaver.saveAs保存文件,文件名可自定义
|
saveAs(res, zipName + ".zip"); // 使用FileSaver.saveAs保存文件,文件名可自定义
|
||||||
flag = false;
|
flag[id2] = false;
|
||||||
zipObj = null;
|
zipObj = null;
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch((reason) => { flag = false; });
|
.catch((reason) => { flag[id2] = false; });
|
||||||
};
|
};
|
||||||
const handleBatchDown = async (item, zip) => {
|
const handleBatchDown = async (item, zip) => {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
|
|
|
@ -12,13 +12,6 @@
|
||||||
class="demo-ruleForm"
|
class="demo-ruleForm"
|
||||||
size="small"
|
size="small"
|
||||||
>
|
>
|
||||||
<!-- 用户类型 -->
|
|
||||||
<el-form-item
|
|
||||||
v-if="form.UserId"
|
|
||||||
:label="$t('passwordReset:form:userType')"
|
|
||||||
>
|
|
||||||
<el-input v-model="form.UserType" disabled />
|
|
||||||
</el-form-item>
|
|
||||||
<!-- 邮箱 -->
|
<!-- 邮箱 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('passwordReset:form:email')"
|
:label="$t('passwordReset:form:email')"
|
||||||
|
@ -105,6 +98,9 @@
|
||||||
{{ $t("passwordReset:button:verify") }}
|
{{ $t("passwordReset:button:verify") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<span v-if="isVerify" style="float: left">{{
|
||||||
|
$t("passwordReset:tip:verifySuccess")
|
||||||
|
}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 用户名 -->
|
<!-- 用户名 -->
|
||||||
<el-form-item :label="$t('passwordReset:form:userName')" prop="UserId">
|
<el-form-item :label="$t('passwordReset:form:userName')" prop="UserId">
|
||||||
|
@ -128,6 +124,13 @@
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- 用户类型 -->
|
||||||
|
<el-form-item
|
||||||
|
v-if="form.UserId"
|
||||||
|
:label="$t('passwordReset:form:userType')"
|
||||||
|
>
|
||||||
|
<el-input v-model="form.UserType" disabled />
|
||||||
|
</el-form-item>
|
||||||
<!-- 新密码 -->
|
<!-- 新密码 -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
class="my_new_pwd"
|
class="my_new_pwd"
|
||||||
|
@ -138,7 +141,7 @@
|
||||||
<el-input v-model="form.NewPwd" show-password autocomplete="off" />
|
<el-input v-model="form.NewPwd" show-password autocomplete="off" />
|
||||||
<span style="position: absolute; right: -30px">
|
<span style="position: absolute; right: -30px">
|
||||||
<el-tooltip
|
<el-tooltip
|
||||||
:content="$t('passwordReset:form:passwordCentent')"
|
:content="$t('passwordReset:form:passwordtip')"
|
||||||
placement="top"
|
placement="top"
|
||||||
>
|
>
|
||||||
<i class="el-icon-question" />
|
<i class="el-icon-question" />
|
||||||
|
@ -341,6 +344,8 @@ export default {
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.formLoading = false;
|
this.formLoading = false;
|
||||||
this.isVerify = false;
|
this.isVerify = false;
|
||||||
|
this.users = [];
|
||||||
|
this.form.UserId = null;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleEmailChange() {
|
handleEmailChange() {
|
||||||
|
|
|
@ -200,6 +200,16 @@ export default {
|
||||||
},
|
},
|
||||||
async setNewUserName() {
|
async setNewUserName() {
|
||||||
try {
|
try {
|
||||||
|
let confirm = await this.$confirm(
|
||||||
|
this.$t("trials:trials-myInfo:confirmMessage:updateUserName"),
|
||||||
|
{
|
||||||
|
type: "warning",
|
||||||
|
distinguishCancelAndClose: true,
|
||||||
|
confirmButtonText: this.$t("common:button:confirm"),
|
||||||
|
cancelButtonText: this.$t("common:button:cancel"),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
if (confirm !== "confirm") return;
|
||||||
let res = await setNewUserName(this.userForm.UserName);
|
let res = await setNewUserName(this.userForm.UserName);
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.userForm.UserName = "";
|
this.userForm.UserName = "";
|
||||||
|
@ -208,18 +218,6 @@ export default {
|
||||||
);
|
);
|
||||||
this.$emit("getUserInfo");
|
this.$emit("getUserInfo");
|
||||||
removeToken();
|
removeToken();
|
||||||
let confirm = await this.$confirm(
|
|
||||||
this.$t("trials:trials-myInfo:confirmMessage:updateUserName"),
|
|
||||||
{
|
|
||||||
type: "warning",
|
|
||||||
showClose: false,
|
|
||||||
showCancelButton: false,
|
|
||||||
distinguishCancelAndClose: true,
|
|
||||||
confirmButtonText: this.$t("common:button:confirm"),
|
|
||||||
cancelButtonText: this.$t("common:button:cancel"),
|
|
||||||
}
|
|
||||||
);
|
|
||||||
if (confirm !== "confirm") return;
|
|
||||||
this.logout();
|
this.logout();
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
|
@ -114,6 +114,16 @@ export default {
|
||||||
this.$alert(this.$t("passwordReset:formRule:passwordsDiffer"));
|
this.$alert(this.$t("passwordReset:formRule:passwordsDiffer"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
let confirm = await this.$confirm(
|
||||||
|
this.$t("trials:trials-myInfo:confirmMessage:updatePassWord"),
|
||||||
|
{
|
||||||
|
type: "warning",
|
||||||
|
distinguishCancelAndClose: true,
|
||||||
|
confirmButtonText: this.$t("common:button:confirm"),
|
||||||
|
cancelButtonText: this.$t("common:button:cancel"),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
if (confirm !== "confirm") return;
|
||||||
const param = {
|
const param = {
|
||||||
UserId: this.userId,
|
UserId: this.userId,
|
||||||
NewPassWord: md5(this.password.NewPassWord),
|
NewPassWord: md5(this.password.NewPassWord),
|
||||||
|
@ -126,18 +136,6 @@ export default {
|
||||||
this.$t("trials:trials-myinfo:message:modifyPWSuccessfully")
|
this.$t("trials:trials-myinfo:message:modifyPWSuccessfully")
|
||||||
);
|
);
|
||||||
removeToken();
|
removeToken();
|
||||||
let confirm = await this.$confirm(
|
|
||||||
this.$t("trials:trials-myInfo:confirmMessage:updatePassWord"),
|
|
||||||
{
|
|
||||||
type: "warning",
|
|
||||||
showClose: false,
|
|
||||||
showCancelButton: false,
|
|
||||||
distinguishCancelAndClose: true,
|
|
||||||
confirmButtonText: this.$t("common:button:confirm"),
|
|
||||||
cancelButtonText: this.$t("common:button:cancel"),
|
|
||||||
}
|
|
||||||
);
|
|
||||||
if (confirm !== "confirm") return;
|
|
||||||
this.logout();
|
this.logout();
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
|
@ -38,6 +38,14 @@
|
||||||
min-width="80"
|
min-width="80"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
/>
|
/>
|
||||||
|
<!--检查描述-->
|
||||||
|
<el-table-column
|
||||||
|
align="center"
|
||||||
|
prop="Description"
|
||||||
|
:label="$t('trials:inspection:table:studyDescription')"
|
||||||
|
show-overflow-tooltip
|
||||||
|
min-width="100"
|
||||||
|
></el-table-column>
|
||||||
<!--检查类型-->
|
<!--检查类型-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
align="center"
|
align="center"
|
||||||
|
|
|
@ -50,17 +50,14 @@
|
||||||
prop="Modalities"
|
prop="Modalities"
|
||||||
:label="$t('trials:audit:table:modality1')"
|
:label="$t('trials:audit:table:modality1')"
|
||||||
/>
|
/>
|
||||||
<!-- 检查部位 -->
|
<!--检查描述-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="BodyPartForEdit"
|
align="center"
|
||||||
:label="$t('trials:uploadedDicoms:table:bodyPart')"
|
prop="Description"
|
||||||
min-width="100"
|
:label="$t('trials:inspection:table:studyDescription')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
>
|
min-width="100"
|
||||||
<template slot-scope="scope">
|
></el-table-column>
|
||||||
{{ getBodyPart(scope.row.BodyPartForEdit) }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<!-- 序列数量 -->
|
<!-- 序列数量 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="SeriesCount"
|
prop="SeriesCount"
|
||||||
|
|
|
@ -212,6 +212,27 @@
|
||||||
>
|
>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<!-- 打包状态 -->
|
||||||
|
<el-table-column
|
||||||
|
prop="PackState"
|
||||||
|
:label="$t('trials:hirVisit:table:PackState')"
|
||||||
|
show-overflow-tooltip
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag
|
||||||
|
v-if="scope.row.SubmitState > 1"
|
||||||
|
:type="
|
||||||
|
Number(scope.row.PackState) === 0
|
||||||
|
? 'danger'
|
||||||
|
: Number(scope.row.PackState) === 1
|
||||||
|
? 'warning'
|
||||||
|
: 'success'
|
||||||
|
"
|
||||||
|
>{{ $fd("PackState", Number(scope.row.PackState)) }}</el-tag
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- 提交时间 -->
|
<!-- 提交时间 -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="SubmitTime"
|
prop="SubmitTime"
|
||||||
|
@ -481,7 +502,13 @@ export default {
|
||||||
},
|
},
|
||||||
// 下载影像
|
// 下载影像
|
||||||
async downloadImage(item) {
|
async downloadImage(item) {
|
||||||
downloadImage(item.SubjectId, item.SubjectVisitId);
|
let res = await downloadImage(
|
||||||
|
this.$route.query.trialId,
|
||||||
|
item.SubjectVisitId
|
||||||
|
);
|
||||||
|
if (res) {
|
||||||
|
item.PackState = res;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -228,6 +228,26 @@
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
<!-- 打包状态 -->
|
||||||
|
<el-table-column
|
||||||
|
prop="PackState"
|
||||||
|
:label="$t('trials:hirVisit:table:PackState')"
|
||||||
|
show-overflow-tooltip
|
||||||
|
sortable="custom"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag
|
||||||
|
:type="
|
||||||
|
Number(scope.row.PackState) === 0
|
||||||
|
? 'danger'
|
||||||
|
: Number(scope.row.PackState) === 1
|
||||||
|
? 'warning'
|
||||||
|
: 'success'
|
||||||
|
"
|
||||||
|
>{{ $fd("PackState", Number(scope.row.PackState)) }}</el-tag
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- 建议完成时间 -->
|
<!-- 建议完成时间 -->
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
prop="StudyCode"
|
prop="StudyCode"
|
||||||
|
@ -460,7 +480,13 @@ export default {
|
||||||
},
|
},
|
||||||
// 下载影像
|
// 下载影像
|
||||||
async downloadImage(item) {
|
async downloadImage(item) {
|
||||||
downloadImage(item.SubjectId, item.SourceSubjectVisitId);
|
let res = await downloadImage(
|
||||||
|
this.$route.query.trialId,
|
||||||
|
item.SourceSubjectVisitId
|
||||||
|
);
|
||||||
|
if (res) {
|
||||||
|
item.PackState = res;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// 阅片结果
|
// 阅片结果
|
||||||
readResult(row) {
|
readResult(row) {
|
||||||
|
|
Loading…
Reference in New Issue