Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/hir_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
4db90d8eef
|
@ -134,4 +134,13 @@ export function deletePatientStudy(params) {
|
||||||
method: 'delete',
|
method: 'delete',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 校验受试者是否存在
|
||||||
|
export function verifyTrialSubject(data) {
|
||||||
|
return request({
|
||||||
|
url: '/Patient/verifyTrialSubject',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
}
|
}
|
|
@ -121,7 +121,7 @@ export default {
|
||||||
this.$t("trials:uploadDicomList:label:prompt"),
|
this.$t("trials:uploadDicomList:label:prompt"),
|
||||||
{
|
{
|
||||||
type: "warning",
|
type: "warning",
|
||||||
showCancelButton: false,
|
// showCancelButton: false,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
@ -133,7 +133,7 @@ export default {
|
||||||
this.$emit("putVisit", data);
|
this.$emit("putVisit", data);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
this.visit = this.modelData;
|
this.visit = this.modelData;
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
:label="
|
:label="
|
||||||
item.ShortName || item.Sex
|
item.ShortName || item.Sex
|
||||||
? `${item.SubjectCode}(${item.ShortName},${
|
? `${item.SubjectCode}(${item.ShortName},${
|
||||||
item.Sex ? $fd('sex',item.Sex) : ''
|
item.Sex ? $fd('sex', item.Sex) : ''
|
||||||
})`
|
})`
|
||||||
: item.SubjectCode
|
: item.SubjectCode
|
||||||
"
|
"
|
||||||
|
@ -136,7 +136,9 @@
|
||||||
''
|
''
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
@focus="errMessage = null"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
<span class="errTip" v-if="errMessage">{{ errMessage }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
@ -161,6 +163,7 @@ import {
|
||||||
getTrialSubejctSelectList,
|
getTrialSubejctSelectList,
|
||||||
addSubjectPatientBinding,
|
addSubjectPatientBinding,
|
||||||
deleteSubjectPatientBinding,
|
deleteSubjectPatientBinding,
|
||||||
|
verifyTrialSubject,
|
||||||
} from "@/api/inspection.js";
|
} from "@/api/inspection.js";
|
||||||
export default {
|
export default {
|
||||||
name: "addTrialsList",
|
name: "addTrialsList",
|
||||||
|
@ -242,6 +245,7 @@ export default {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
errMessage: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -286,17 +290,30 @@ export default {
|
||||||
// 新增受试者(前端操作未同步后端)
|
// 新增受试者(前端操作未同步后端)
|
||||||
async addSubject() {
|
async addSubject() {
|
||||||
try {
|
try {
|
||||||
|
this.errMessage = null;
|
||||||
let validate = await this.$refs.addSubjectForm.validate();
|
let validate = await this.$refs.addSubjectForm.validate();
|
||||||
if (!validate) return;
|
if (!validate) return;
|
||||||
let subject = {
|
let data = {
|
||||||
|
TrialId: this.submitMessage.TrialId,
|
||||||
SubjectCode: this.addSubjectForm.SubjectCode,
|
SubjectCode: this.addSubjectForm.SubjectCode,
|
||||||
SubejctId: this.addSubjectForm.SubjectCode,
|
|
||||||
};
|
};
|
||||||
this.subjectIdList.unshift(subject);
|
let res = await verifyTrialSubject(data);
|
||||||
this.submitMessage.SubjectId = this.addSubjectForm.SubjectCode;
|
if (res.IsSuccess) {
|
||||||
this.addSubject_model.visible = false;
|
let subject = {
|
||||||
|
SubjectCode: this.addSubjectForm.SubjectCode,
|
||||||
|
SubejctId: this.addSubjectForm.SubjectCode,
|
||||||
|
};
|
||||||
|
this.subjectIdList.unshift(subject);
|
||||||
|
this.submitMessage.SubjectId = this.addSubjectForm.SubjectCode;
|
||||||
|
this.addSubject_model.visible = false;
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
if (err.Code === 5) {
|
||||||
|
this.getTrialSubejctSelectList(this.submitMessage.TrialId, null);
|
||||||
|
this.$emit("getList");
|
||||||
|
this.errMessage = err.ErrorMessage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取受试者列表
|
// 获取受试者列表
|
||||||
|
@ -360,6 +377,7 @@ export default {
|
||||||
this.$emit("getList");
|
this.$emit("getList");
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
this.btnLoading = false;
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -393,6 +411,7 @@ export default {
|
||||||
this.$refs.confirmVisit.changeVisitStatus(true);
|
this.$refs.confirmVisit.changeVisitStatus(true);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
this.btnLoading = false;
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -413,6 +432,15 @@ export default {
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.errTip {
|
||||||
|
color: #f56c6c;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1;
|
||||||
|
padding-top: 4px;
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
.top {
|
.top {
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
<el-form :inline="true" class="base-search-form">
|
<el-form :inline="true" class="base-search-form">
|
||||||
<!-- 患者编号 -->
|
<!-- 患者编号 -->
|
||||||
<el-form-item :label="$t('trials:uploadDicomList:table:pId')">
|
<el-form-item :label="$t('trials:uploadDicomList:table:pId')">
|
||||||
<el-input v-model="searchData.PatientIdStr" style="width: 100px" />
|
<el-input v-model="searchData.PatientIdStr" style="width: 100px" clearable/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 检查日期 -->
|
<!-- 检查日期 -->
|
||||||
<el-form-item :label="$t('trials:uploadedDicoms:table:studyDate')">
|
<el-form-item :label="$t('trials:uploadedDicoms:table:studyDate')">
|
||||||
|
@ -128,6 +128,7 @@
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
:default-time="['00:00:00', '23:59:59']"
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
clearable
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
<el-input v-model="form.ShortName" clearable />
|
<el-input v-model="form.ShortName" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 年龄 -->
|
<!-- 年龄 -->
|
||||||
<el-form-item :label="$t('trials:subject:table:age')">
|
<el-form-item :label="$t('trials:subject:table:age')" prop="Age">
|
||||||
<el-input v-model="form.Age" type="number" clearable />
|
<el-input v-model.number="form.Age" type="number" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 性别 -->
|
<!-- 性别 -->
|
||||||
<el-form-item :label="$t('trials:subject:table:gender')">
|
<el-form-item :label="$t('trials:subject:table:gender')">
|
||||||
|
@ -113,6 +113,20 @@ export default {
|
||||||
},
|
},
|
||||||
{ max: 50, message: `${this.$t("common:ruleMessage:maxLength")} 50` },
|
{ max: 50, message: `${this.$t("common:ruleMessage:maxLength")} 50` },
|
||||||
],
|
],
|
||||||
|
Age: [
|
||||||
|
{
|
||||||
|
pattern: /^[1-9]\d*$/,
|
||||||
|
message: this.$t("trials:subject:formRule:checkAge"),
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "number",
|
||||||
|
min: 1,
|
||||||
|
max: 200,
|
||||||
|
message: this.$t("trials:subject:formRule:numberAge"),
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
btnLoading: false,
|
btnLoading: false,
|
||||||
siteOptions: [],
|
siteOptions: [],
|
||||||
|
|
|
@ -147,7 +147,9 @@
|
||||||
addSubjectForm2.SubjectCode =
|
addSubjectForm2.SubjectCode =
|
||||||
addSubjectForm2.SubjectCode.replace(/[^0-9a-zA-Z]/g, '')
|
addSubjectForm2.SubjectCode.replace(/[^0-9a-zA-Z]/g, '')
|
||||||
"
|
"
|
||||||
|
@focus="errMessage = null"
|
||||||
></el-input>
|
></el-input>
|
||||||
|
<span class="errTip" v-if="errMessage">{{ errMessage }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
@ -170,6 +172,7 @@ import Pagination from "@/components/Pagination";
|
||||||
import {
|
import {
|
||||||
getTrialSubejctSelectList,
|
getTrialSubejctSelectList,
|
||||||
addSubjectPatientBinding,
|
addSubjectPatientBinding,
|
||||||
|
verifyTrialSubject,
|
||||||
} from "@/api/inspection.js";
|
} from "@/api/inspection.js";
|
||||||
const defaultSearchData = () => {
|
const defaultSearchData = () => {
|
||||||
return {
|
return {
|
||||||
|
@ -259,6 +262,7 @@ export default {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
errMessage: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -295,17 +299,30 @@ export default {
|
||||||
// 新增受试者(前端操作未同步后端)
|
// 新增受试者(前端操作未同步后端)
|
||||||
async addSubject() {
|
async addSubject() {
|
||||||
try {
|
try {
|
||||||
|
this.errMessage = null;
|
||||||
let validate = await this.$refs.addSubjectForm2.validate();
|
let validate = await this.$refs.addSubjectForm2.validate();
|
||||||
if (!validate) return;
|
if (!validate) return;
|
||||||
let subject = {
|
let data = {
|
||||||
|
TrialId: this.$route.query.trialId,
|
||||||
SubjectCode: this.addSubjectForm2.SubjectCode,
|
SubjectCode: this.addSubjectForm2.SubjectCode,
|
||||||
SubejctId: this.addSubjectForm2.SubjectCode,
|
|
||||||
};
|
};
|
||||||
this.subjectIdList.unshift(subject);
|
let res = await verifyTrialSubject(data);
|
||||||
this.submitMessage.SubjectId = this.addSubjectForm2.SubjectCode;
|
if (res.IsSuccess) {
|
||||||
this.addSubject_model.visible = false;
|
let subject = {
|
||||||
|
SubjectCode: this.addSubjectForm2.SubjectCode,
|
||||||
|
SubejctId: this.addSubjectForm2.SubjectCode,
|
||||||
|
};
|
||||||
|
this.subjectIdList.unshift(subject);
|
||||||
|
this.submitMessage.SubjectId = this.addSubjectForm2.SubjectCode;
|
||||||
|
this.addSubject_model.visible = false;
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
if (err.Code === 5) {
|
||||||
|
this.getTrialSubejctSelectList(this.$route.query.trialId);
|
||||||
|
this.$emit("getList");
|
||||||
|
this.errMessage = err.ErrorMessage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 删除选中患者
|
// 删除选中患者
|
||||||
|
@ -425,6 +442,15 @@ export default {
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.errTip {
|
||||||
|
color: #f56c6c;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 1;
|
||||||
|
padding-top: 4px;
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
.top {
|
.top {
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -877,7 +877,9 @@
|
||||||
<!-- OptType === 'Add' ? '值' : OptType === 'Delete' ? '删除前' : '修改前' -->
|
<!-- OptType === 'Add' ? '值' : OptType === 'Delete' ? '删除前' : '修改前' -->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="
|
v-if="
|
||||||
OptType !== 'Add' && OptType !== 'Upload' && OptType !== 'Init'
|
OptType2 !== 'Add' &&
|
||||||
|
OptType2 !== 'Upload' &&
|
||||||
|
OptType2 !== 'Init'
|
||||||
"
|
"
|
||||||
prop="oldValue"
|
prop="oldValue"
|
||||||
:label="
|
:label="
|
||||||
|
@ -974,7 +976,7 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="newValue"
|
prop="newValue"
|
||||||
:label="
|
:label="
|
||||||
OptType === 'Add' || OptType === 'Init'
|
OptType2 === 'Add' || OptType2 === 'Init'
|
||||||
? $t('trials:auditRecord:title:fieldValue')
|
? $t('trials:auditRecord:title:fieldValue')
|
||||||
: OptType === 'Delete'
|
: OptType === 'Delete'
|
||||||
? $t('trials:auditRecord:title:afterDeletion')
|
? $t('trials:auditRecord:title:afterDeletion')
|
||||||
|
@ -1181,14 +1183,17 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div
|
<div
|
||||||
v-if="otherData.length > 0"
|
v-if="otherData2.length > 0"
|
||||||
style="margin-top: 20px; margin-bottom: 10px"
|
style="margin-top: 20px; margin-bottom: 10px"
|
||||||
>
|
>
|
||||||
<!-- 签名信息: -->
|
<!-- 签名信息: -->
|
||||||
{{ $t("trials:auditRecord:title:signInfo") }}
|
{{ $t("trials:auditRecord:title:signInfo") }}
|
||||||
</div>
|
</div>
|
||||||
<div v-if="otherData.length > 0" style="color: #f66; font-size: 12px">
|
<div
|
||||||
{{ otherData[0].Value }}
|
v-if="otherData2.length > 0"
|
||||||
|
style="color: #f66; font-size: 12px"
|
||||||
|
>
|
||||||
|
{{ otherData2[0].Value }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template slot="dialog-footer">
|
<template slot="dialog-footer">
|
||||||
|
@ -1238,7 +1243,6 @@ 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";
|
||||||
import { getUserTypeListByUserType } from "@/api/admin";
|
import { getUserTypeListByUserType } from "@/api/admin";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { BaseContainer, Pagination, BaseModel },
|
components: { BaseContainer, Pagination, BaseModel },
|
||||||
dicts: ["OptType", "ModuleType", "ChildrenType"],
|
dicts: ["OptType", "ModuleType", "ChildrenType"],
|
||||||
|
@ -1318,6 +1322,7 @@ export default {
|
||||||
siteOptions: [],
|
siteOptions: [],
|
||||||
visitPlanOptions: [],
|
visitPlanOptions: [],
|
||||||
OptType: null,
|
OptType: null,
|
||||||
|
OptType2: null,
|
||||||
trialId: this.$route.query.trialId,
|
trialId: this.$route.query.trialId,
|
||||||
configList2: [],
|
configList2: [],
|
||||||
otherData2: [],
|
otherData2: [],
|
||||||
|
@ -1867,6 +1872,7 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
async lookDetails2(row) {
|
async lookDetails2(row) {
|
||||||
|
this.OptType2 = row.OptType;
|
||||||
var Json = await this.getJSON(row);
|
var Json = await this.getJSON(row);
|
||||||
var JsonDetail = Json[0] ? JSON.parse(Json[0]) : null;
|
var JsonDetail = Json[0] ? JSON.parse(Json[0]) : null;
|
||||||
var ParentJson = Json[1] ? JSON.parse(Json[1]) : null;
|
var ParentJson = Json[1] ? JSON.parse(Json[1]) : null;
|
||||||
|
@ -1948,6 +1954,9 @@ export default {
|
||||||
OpByUserName: null,
|
OpByUserName: null,
|
||||||
BatchId: null,
|
BatchId: null,
|
||||||
UserTypeId: null,
|
UserTypeId: null,
|
||||||
|
TrialReadingCriterionId: null,
|
||||||
|
VisitName: null,
|
||||||
|
SubjectCode: null,
|
||||||
});
|
});
|
||||||
this.timeList = [];
|
this.timeList = [];
|
||||||
this.getList();
|
this.getList();
|
||||||
|
|
Loading…
Reference in New Issue