部分页面接口调整、展示字段变更

main
wangxiaoshuang 2024-04-08 15:55:15 +08:00
parent 17da9c23b0
commit e6ec3d3550
12 changed files with 308 additions and 188 deletions

View File

@ -27,7 +27,7 @@ VUE_APP_PASSWORD_FOR_PERMISSION = true
VUE_APP_PASSWORD_FOR_REGULAR = ^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[-_.@^+\$!%#*?&\$~])[A-Za-z0-9-~_.@^+\$~!%#*?&]{8,32}$ VUE_APP_PASSWORD_FOR_REGULAR = ^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[-_.@^+\$!%#*?&\$~])[A-Za-z0-9-~_.@^+\$~!%#*?&]{8,32}$
# 是否开启文档签署验证 true:是 false:否 # 是否开启文档签署验证 true:是 false:否
VUE_APP_WORD_FOR_PERMISSION = true VUE_APP_WORD_FOR_PERMISSION = false
# dicom文件地址 # dicom文件地址
# VUE_APP_DICOM_PATH = 'http://101.132.193.237:7080' # VUE_APP_DICOM_PATH = 'http://101.132.193.237:7080'

View File

@ -3531,4 +3531,13 @@ export function getTrialInfoHir(id) {
url: `/Patient/getTrialInfo/${id}`, url: `/Patient/getTrialInfo/${id}`,
method: 'get', method: 'get',
}) })
}
// 修改受试者信息
export function addOrUpdateSubjectHir(data) {
return request({
url: `/Patient/addOrUpdateSubject`,
method: 'post',
data
})
} }

View File

@ -46,9 +46,37 @@
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
></el-table-column> ></el-table-column>
<!--受试者编号-->
<el-table-column
prop="Code"
:label="$t('trials:uploadMonitor:table:subjectId')"
show-overflow-tooltip
min-width="140"
></el-table-column>
<!--姓名-->
<el-table-column
prop="ShortName"
:label="$t('trials:researchStaff:table:Name')"
show-overflow-tooltip
min-width="140"
></el-table-column>
<!--年龄-->
<el-table-column
prop="Age"
:label="$t('trials:subject:table:age')"
show-overflow-tooltip
min-width="140"
></el-table-column>
<!--性别-->
<el-table-column
prop="Sex"
:label="$t('trials:subject:table:gender')"
show-overflow-tooltip
min-width="140"
></el-table-column>
<!--申办方--> <!--申办方-->
<el-table-column <el-table-column
prop="SponsorName" prop="Sponsor"
:label="$t('trials:trials-list:table:sponsor')" :label="$t('trials:trials-list:table:sponsor')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
@ -59,14 +87,28 @@
:label="$t('trials:trials-list:table:status')" :label="$t('trials:trials-list:table:status')"
show-overflow-tooltip show-overflow-tooltip
min-width="140" min-width="140"
></el-table-column> >
<!--访视数--> <template slot-scope="scope">
<el-table-column <el-tag
prop="Code" v-if="scope.row.TrialStatusStr === 'Initializing'"
:label="$t('trials:selftConsistencyAnalysis:table:visitNum')" type="info"
show-overflow-tooltip >{{ $fd("TrialStatusEnum", scope.row.TrialStatusStr) }}</el-tag
min-width="140" >
></el-table-column> <el-tag
v-if="scope.row.TrialStatusStr === 'Ongoing'"
type="primary"
>{{ $fd("TrialStatusEnum", scope.row.TrialStatusStr) }}</el-tag
>
<el-tag
v-if="scope.row.TrialStatusStr === 'Completed'"
type="warning"
>{{ $fd("TrialStatusEnum", scope.row.TrialStatusStr) }}</el-tag
>
<el-tag v-if="scope.row.TrialStatusStr === 'Stopped'" type="danger">{{
$fd("TrialStatusEnum", scope.row.TrialStatusStr)
}}</el-tag>
</template></el-table-column
>
<!--创建日期--> <!--创建日期-->
<el-table-column <el-table-column
prop="CreateTime" prop="CreateTime"
@ -167,7 +209,7 @@ export default {
researchProgramNo: item.ResearchProgramNo, researchProgramNo: item.ResearchProgramNo,
}; };
this.$router.push({ this.$router.push({
path: "/trials/trials-panel/study", path: "/trials/trials-panel/subject/subject-list",
query, query,
}); });
}, },

View File

@ -77,7 +77,7 @@
<el-row> <el-row>
<!-- CRO --> <!-- CRO -->
<el-form-item :label="$t('trials:trials-list:form:cro')" prop="Cro"> <el-form-item :label="$t('trials:trials-list:form:cro')" prop="Cro">
<el-input v-model="trialForm.Cro" maxlength="200" clearable /> <el-input v-model="trialForm.CRO" maxlength="200" clearable />
</el-form-item> </el-form-item>
<!-- 药物/器械名称 --> <!-- 药物/器械名称 -->
<el-form-item :label="$t('trials:trials-list:message:D/Dname')"> <el-form-item :label="$t('trials:trials-list:message:D/Dname')">
@ -235,7 +235,7 @@ export default {
ResearchProgramNo: "", ResearchProgramNo: "",
ExperimentName: "", ExperimentName: "",
HeadPI: "", HeadPI: "",
Cro: "", CRO: "",
Sponsor: "", Sponsor: "",
MedicineName: "", MedicineName: "",
PhaseId: "", PhaseId: "",

View File

@ -58,7 +58,7 @@
{{ $t("common:button:reset") }} {{ $t("common:button:reset") }}
</el-button> </el-button>
<!-- Export --> <!-- Export -->
<el-button <!-- <el-button
v-hasPermi="['trials:trials-list:export']" v-hasPermi="['trials:trials-list:export']"
type="primary" type="primary"
icon="el-icon-download" icon="el-icon-download"
@ -66,7 +66,7 @@
@click="handleExportTrial" @click="handleExportTrial"
> >
{{ $t("common:button:export") }} {{ $t("common:button:export") }}
</el-button> </el-button> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<span style="margin-left: auto"> <span style="margin-left: auto">
@ -100,11 +100,7 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<template v-for="item of $d.TrialType"> <span>{{ $fd("TrialType", scope.row.TrialType) }}</span>
<span :key="item.id" v-if="scope.row.TrialType === item.value">{{
item.label
}}</span>
</template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -404,7 +400,6 @@ export default {
}, },
created() { created() {
this.initPage(); this.initPage();
console.log(this.$d.TrialType);
}, },
methods: { methods: {
initPage() { initPage() {

View File

@ -265,7 +265,7 @@ export default {
Object.keys(this.searchData).forEach((key) => { Object.keys(this.searchData).forEach((key) => {
data[key] = this.searchData[key]; data[key] = this.searchData[key];
}); });
data.PatientId = this.data.PatientList[0].PatientId; data.PatientIdList = this.data.PatientList.map((item) => item.PatientId);
data.SujectVisitId = this.data.SubjectVisitId; data.SujectVisitId = this.data.SubjectVisitId;
if (this.dateValue[0] && this.dateValue[1]) { if (this.dateValue[0] && this.dateValue[1]) {
data.EarliestStudyTime = this.dateValue[0].toISOString(); data.EarliestStudyTime = this.dateValue[0].toISOString();

View File

@ -141,7 +141,11 @@
prop="SubjectSex" prop="SubjectSex"
:label="$t('trials:subject:table:gender')" :label="$t('trials:subject:table:gender')"
show-overflow-tooltip show-overflow-tooltip
/> >
<template slot-scope="scope">
<span>{{ $fd("sex", Number(scope.row.SubjectSex)) }}</span>
</template>
</el-table-column>
<!-- 访视名称 --> <!-- 访视名称 -->
<el-table-column <el-table-column
prop="VisitName" prop="VisitName"

View File

@ -1,62 +1,76 @@
<template> <template>
<el-container class="participant-container"> <el-container class="participant-container">
<el-header style="height:50px"> <el-header style="height: 50px">
<div class="filter-container"> <div class="filter-container">
<!-- 姓名 --> <!-- 姓名 -->
<span>{{ $t('trials:staff:table:name') }}:</span> <span>{{ $t("trials:staff:table:name") }}:</span>
<el-input v-model="listQuery.UserRealName" size="mini" class="mr" clearable /> <el-input
v-model="listQuery.UserRealName"
size="mini"
class="mr"
clearable
/>
<!-- 用户名 --> <!-- 用户名 -->
<span>{{ $t('trials:staff:table:uid') }}:</span> <span>{{ $t("trials:staff:table:uid") }}:</span>
<el-input v-model="listQuery.UserName" size="mini" class="mr" clearable /> <el-input
v-model="listQuery.UserName"
size="mini"
class="mr"
clearable
/>
<!-- 单位 --> <!-- 单位 -->
<span>{{ $t('trials:staff:table:organization') }}:</span> <span>{{ $t("trials:staff:table:organization") }}:</span>
<el-input v-model="listQuery.OrganizationName" size="mini" class="mr" clearable /> <el-input
v-model="listQuery.OrganizationName"
size="mini"
class="mr"
clearable
/>
<!-- 用户类型 --> <!-- 用户类型 -->
<span>{{ $t('trials:staff:table:userType') }}:</span> <span>{{ $t("trials:staff:table:userType") }}:</span>
<el-select v-model="listQuery.UserTypeEnum" size="mini" clearable class="mr"> <el-select
<template v-if="hasPermi(['role:ta'])"> v-model="listQuery.UserTypeEnum"
size="mini"
<el-option clearable
v-for="item of $d.UserType" class="mr"
v-show="item.value === 4" >
:key="`UserType${item.value}`" <el-option
:label="item.label" v-for="item in userTypeOptions"
:value="item.value"
>
{{ item.label }}
</el-option>
</template>
<template v-if="hasPermi(['role:pm'])">
<el-option
v-for="item of $d.UserType"
v-show="(!qCProcessEnum && (item.value === 11 || item.value === 12)) || (qCProcessEnum && (item.value === 11 || item.value === 7 || item.value === 12))"
:key="`UserType${item.value}`"
:label="item.label"
:value="item.value"
>
{{ item.label }}
</el-option>
</template>
<!-- <el-option
v-for="item of userTypeOptions"
:key="item.Id" :key="item.Id"
:label="item.UserTypeShortName" :label="item.UserTypeShortName"
:value="item.UserTypeEnum" :value="item.Id"
> >
<span>{{ item.UserType }}</span> </el-option>
</el-option> -->
</el-select> </el-select>
<!-- 查询 --> <!-- 查询 -->
<el-button type="primary" size="mini" icon="el-icon-search" @click="handleSearch"> <el-button
{{ $t('common:button:search') }} type="primary"
size="mini"
icon="el-icon-search"
@click="handleSearch"
>
{{ $t("common:button:search") }}
</el-button> </el-button>
<!-- 重置 --> <!-- 重置 -->
<el-button size="mini" type="primary" icon="el-icon-refresh-left" @click="handleReset"> <el-button
{{ $t('common:button:reset') }} size="mini"
type="primary"
icon="el-icon-refresh-left"
@click="handleReset"
>
{{ $t("common:button:reset") }}
</el-button> </el-button>
<el-button type="primary" size="mini" style="margin-left:auto" :disabled="selectArr.length === 0" :loading="assignLoadStatus" icon="el-icon-plus" @click="handleAssign"> <el-button
{{ $t('common:button:add') }} type="primary"
size="mini"
style="margin-left: auto"
:disabled="selectArr.length === 0"
:loading="assignLoadStatus"
icon="el-icon-plus"
@click="handleAssign"
>
{{ $t("common:button:add") }}
</el-button> </el-button>
</div> </div>
</el-header> </el-header>
@ -124,28 +138,36 @@
sortable="custom" sortable="custom"
min-width="100" min-width="100"
/> />
</el-table> </el-table>
</div> </div>
</el-main> </el-main>
<div class="pagination" style="text-align: right;margin-top:5px;"> <div class="pagination" style="text-align: right; margin-top: 5px">
<pagination :total="total" :page.sync="listQuery.PageIndex" :limit.sync="listQuery.PageSize" @pagination="getList" /> <pagination
:total="total"
:page.sync="listQuery.PageIndex"
:limit.sync="listQuery.PageSize"
@pagination="getList"
/>
</div> </div>
</el-container> </el-container>
</template> </template>
<script> <script>
import { getTrialUserScreeningList, addTrialUsers, getUserTypeList } from '@/api/trials' import {
import Pagination from '@/components/Pagination' getTrialUserScreeningList,
addTrialUsers,
getUserTypeList,
} from "@/api/trials";
import Pagination from "@/components/Pagination";
const getListQueryDefault = () => { const getListQueryDefault = () => {
return { return {
UserRealName: '', UserRealName: "",
UserName: '', UserName: "",
OrganizationName: '', OrganizationName: "",
UserTypeEnum: '', UserTypeEnum: "",
PageIndex: 1, PageIndex: 1,
PageSize: 20 PageSize: 20,
} };
} };
export default { export default {
components: { Pagination }, components: { Pagination },
data() { data() {
@ -155,115 +177,121 @@ export default {
listQuery: getListQueryDefault(), listQuery: getListQueryDefault(),
selectArr: [], selectArr: [],
assignLoadStatus: false, assignLoadStatus: false,
isAdmin: JSON.parse(zzSessionStorage.getItem('IsAdmin')), isAdmin: JSON.parse(zzSessionStorage.getItem("IsAdmin")),
userTypeOptions: [], userTypeOptions: [],
trialId: '', trialId: "",
qCProcessEnum: null qCProcessEnum: null,
} };
}, },
mounted() { mounted() {
this.trialId = this.$route.query.trialId this.trialId = this.$route.query.trialId;
this.getUserType() this.getUserType();
this.getList() this.getList();
}, },
methods: { methods: {
getList() { getList() {
const loading = this.$loading({ const loading = this.$loading({
target: document.querySelector('.participant-container'), target: document.querySelector(".participant-container"),
fullscreen: false, fullscreen: false,
lock: true lock: true,
}) });
this.listQuery.TrialId = this.trialId this.listQuery.TrialId = this.trialId;
getTrialUserScreeningList(this.listQuery).then(res => { getTrialUserScreeningList(this.listQuery)
loading.close() .then((res) => {
this.list = res.Result.CurrentPageData loading.close();
this.total = res.Result.TotalCount this.list = res.Result.CurrentPageData;
this.qCProcessEnum = res.OtherInfo.QCProcessEnum this.total = res.Result.TotalCount;
}).catch(() => { loading.close() }) this.qCProcessEnum = res.OtherInfo.QCProcessEnum;
})
.catch(() => {
loading.close();
});
}, },
handleAssign() { handleAssign() {
this.$confirm(this.$t('trials:staff:message:addStaff'), { this.$confirm(this.$t("trials:staff:message:addStaff"), {
type: 'warning', type: "warning",
distinguishCancelAndClose: true distinguishCancelAndClose: true,
}) }).then(() => {
.then(() => { const loading = this.$loading({
const loading = this.$loading({ target: document.querySelector(".participant-container"),
target: document.querySelector('.participant-container'), fullscreen: false,
fullscreen: false, lock: true,
lock: true });
this.assignLoadStatus = true;
addTrialUsers(this.selectArr)
.then((res) => {
this.assignLoadStatus = false;
loading.close();
if (res.IsSuccess) {
this.$emit("closeDialog");
this.$message.success(
this.$t("common:message:addedSuccessfully")
);
}
}) })
this.assignLoadStatus = true .catch(() => {
addTrialUsers(this.selectArr) loading.close();
.then(res => { this.assignLoadStatus = false;
this.assignLoadStatus = false });
loading.close() });
if (res.IsSuccess) {
this.$emit('closeDialog')
this.$message.success(this.$t('common:message:addedSuccessfully'))
}
}).catch(() => {
loading.close()
this.assignLoadStatus = false
})
})
}, },
handleSearch() { handleSearch() {
this.listQuery.PageIndex = 1 this.listQuery.PageIndex = 1;
this.getList() this.getList();
}, },
handleReset() { handleReset() {
this.listQuery = getListQueryDefault() this.listQuery = getListQueryDefault();
this.getList() this.getList();
}, },
handleSelectChange(val) { handleSelectChange(val) {
this.selectArr = val this.selectArr = val;
}, },
handleSortByColumn(column) { handleSortByColumn(column) {
if (column.order === 'ascending') { if (column.order === "ascending") {
this.listQuery.Asc = true this.listQuery.Asc = true;
} else { } else {
this.listQuery.Asc = false this.listQuery.Asc = false;
} }
this.listQuery.SortField = column.prop this.listQuery.SortField = column.prop;
this.listQuery.PageIndex = 1 this.listQuery.PageIndex = 1;
this.getList() this.getList();
}, },
handleSelectable(row) { handleSelectable(row) {
if (!row.IsSelect) { if (!row.IsSelect) {
return true return true;
} else { } else {
return false return false;
} }
}, },
getUserType() { getUserType() {
getUserTypeList(2).then(res => { getUserTypeList(2).then((res) => {
this.userTypeOptions = res.Result this.userTypeOptions = res.Result;
}) });
} },
} },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.participant-container{ .participant-container {
height: 100%; height: 100%;
.el-header{ .el-header {
.filter-container{ .filter-container {
display: flex; display: flex;
align-items: center; align-items: center;
span{ span {
font-size:13px; font-size: 13px;
margin-right:5px; margin-right: 5px;
} }
.mr{ .mr {
margin-right: 5px; margin-right: 5px;
width: 120px; width: 120px;
} }
} }
} }
.el-main{ .el-main {
padding: 0px; padding: 0px;
} }
.el-footer{ .el-footer {
padding: 0 20px; padding: 0 20px;
} }
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="personnel-container"> <div class="personnel-container">
<el-collapse v-model="activeNames" class="personnel-manage"> <el-collapse class="personnel-manage">
<!-- 人员 --> <!-- 人员 -->
<Staff ref="staffList" /> <Staff ref="staffList" />
<!-- <el-collapse-item :title="$t('trials:staff:title:staff')" name="Staff"> <!-- <el-collapse-item :title="$t('trials:staff:title:staff')" name="Staff">

View File

@ -146,7 +146,11 @@
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="100" min-width="100"
/> >
<template slot-scope="scope">
<span>{{ $fd("sex", Number(scope.row.SubjectSex)) }}</span>
</template>
</el-table-column>
<!-- 申请号 --> <!-- 申请号 -->
<!-- <el-table-column <!-- <el-table-column
prop="StudyCode" prop="StudyCode"
@ -170,6 +174,7 @@
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="100" min-width="100"
v-if="activeName === 'submit'"
/> />
<!-- 检查日期 --> <!-- 检查日期 -->
<el-table-column <el-table-column
@ -194,7 +199,19 @@
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="100" min-width="100"
/> >
<template slot-scope="scope">
<el-tag v-if="scope.row.SubmitState * 1 === 0" type="warning">{{
$fd("SubmitState", scope.row.SubmitState * 1)
}}</el-tag>
<el-tag v-else-if="scope.row.SubmitState * 1 === 1" type="danger">{{
$fd("SubmitState", scope.row.SubmitState * 1)
}}</el-tag>
<el-tag v-else-if="scope.row.SubmitState * 1 === 2">{{
$fd("SubmitState", scope.row.SubmitState * 1)
}}</el-tag>
</template>
</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"

View File

@ -8,17 +8,42 @@
label-width="100px" label-width="100px"
> >
<div class="base-dialog-body"> <div class="base-dialog-body">
<!-- 患者编号 -->
<el-form-item :label="$t('trials:uploadDicomList:table:pId')">
<el-input v-model="form.PatientId" disabled />
</el-form-item>
<!-- 受试者编号 --> <!-- 受试者编号 -->
<el-form-item :label="$t('trials:subject:table:subjectId')" prop="Code"> <el-form-item :label="$t('trials:subject:table:subjectId')" prop="Code">
<el-input v-model="form.Code" /> <el-input v-model="form.Code" />
</el-form-item> </el-form-item>
<!-- 患者编号 --> <!-- 姓名 -->
<el-form-item :label="$t('trials:uploadDicomList:table:pId')">
<el-input v-model="form.Code" disabled />
</el-form-item>
<!-- 患者姓名 -->
<el-form-item :label="$t('trials:uploadDicomList:table:patientName')"> <el-form-item :label="$t('trials:uploadDicomList:table:patientName')">
<el-input v-model="form.Code" disabled /> <el-input v-model="form.ShortName" />
</el-form-item>
<!-- 年龄 -->
<el-form-item :label="$t('trials:subject:table:age')">
<el-input v-model="form.Age" type="number" />
</el-form-item>
<!-- 性别 -->
<el-form-item :label="$t('trials:subject:table:gender')">
<el-select v-model="form.Sex" clearable filterable style="width: 100%">
<el-option
v-for="item of $d.sex"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<!-- 出生日期 -->
<el-form-item :label="$t('trials:inspection:table:birthdate')">
<el-date-picker
v-model="form.BirthDate"
type="date"
placeholder="选择日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item> </el-form-item>
</div> </div>
<div class="base-dialog-footer" style="text-align: right; margin-top: 10px"> <div class="base-dialog-footer" style="text-align: right; margin-top: 10px">
@ -46,7 +71,7 @@
</el-form> </el-form>
</template> </template>
<script> <script>
import { getTrialSiteSelect, addOrUpdateSubject } from "@/api/trials"; import { addOrUpdateSubjectHir } from "@/api/trials";
export default { export default {
name: "SubjectForm", name: "SubjectForm",
props: { props: {
@ -67,24 +92,15 @@ export default {
data() { data() {
return { return {
form: { form: {
Id: "",
Code: "", Code: "",
ShortName: "", ShortName: "",
Height: "", PatientList: [],
Weight: "", PatientId: "",
Age: "", TrialId: "",
Sex: "", Id: "",
BirthDate: "", Age: null,
SiteId: "", Sex: null,
MedicalNo: "", BirthDate: null,
Status: 1,
FirstGiveMedicineTime: "",
OutEnrollmentTime: "",
VisitOverTime: "",
Reason: "",
StudyCount: "",
SignDate: "",
IsUrgent: false,
}, },
rules: { rules: {
Code: [ Code: [
@ -113,10 +129,6 @@ export default {
}, },
methods: { methods: {
async initForm() { async initForm() {
this.loading = true;
const res = await getTrialSiteSelect(this.trialId);
this.loading = false;
this.siteOptions = res.Result;
if (Object.keys(this.data).length > 0) { if (Object.keys(this.data).length > 0) {
for (const k in this.form) { for (const k in this.form) {
if (this.data.hasOwnProperty(k)) { if (this.data.hasOwnProperty(k)) {
@ -125,12 +137,26 @@ export default {
} }
} }
this.form.TrialId = this.trialId; this.form.TrialId = this.trialId;
this.form.PatientList.forEach((item, index) => {
if (index === this.form.PatientList.length - 1) {
this.form.PatientId += `${item.PatientIdStr}`;
} else {
this.form.PatientId += `${item.PatientIdStr}, `;
}
});
}, },
handleSave() { handleSave() {
this.$refs.subjectForm.validate((valid) => { this.$refs.subjectForm.validate((valid) => {
if (!valid) return; if (!valid) return;
this.btnLoading = true; this.btnLoading = true;
addOrUpdateSubject(this.form) let data = {};
Object.keys(this.form).forEach((key) => {
data[key] = this.form[key];
});
data.BirthDate = data.BirthDate.toISOString();
delete data.PatientId;
delete data.PatientList;
addOrUpdateSubjectHir(data)
.then((res) => { .then((res) => {
this.btnLoading = false; this.btnLoading = false;
this.$emit("getList"); this.$emit("getList");
@ -145,11 +171,6 @@ export default {
handleCancel() { handleCancel() {
this.$emit("close"); this.$emit("close");
}, },
getSite() {
getTrialSiteSelect(this.trialId).then((res) => {
this.siteList = res.Result;
});
},
}, },
}; };
</script> </script>

View File

@ -60,13 +60,13 @@
{{ $t("common:button:reset") }} {{ $t("common:button:reset") }}
</el-button> </el-button>
<!--导出--> <!--导出-->
<el-button <!-- <el-button
type="primary" type="primary"
icon="el-icon-download" icon="el-icon-download"
@click="handleExport" @click="handleExport"
> >
{{ $t("common:button:export") }} {{ $t("common:button:export") }}
</el-button> </el-button> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<span style="margin-left: auto"> <span style="margin-left: auto">
@ -133,7 +133,11 @@
:label="$t('trials:trials-myinfo:form:gender')" :label="$t('trials:trials-myinfo:form:gender')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> >
<template slot-scope="scope">
<span>{{ $fd("sex", Number(scope.row.Sex)) }}</span>
</template>
</el-table-column>
<!-- 出生日期 --> <!-- 出生日期 -->
<el-table-column <el-table-column
prop="BirthDate" prop="BirthDate"
@ -207,13 +211,13 @@
@click="handleEdit(scope.row)" @click="handleEdit(scope.row)"
/> />
<!-- 修改状态 --> <!-- 修改状态 -->
<el-button <!-- <el-button
v-hasPermi="['trials:trials-panel:subject:status']" v-hasPermi="['trials:trials-panel:subject:status']"
circle circle
:title="$t('trials:subject:action:status')" :title="$t('trials:subject:action:status')"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleEditStatus(scope.row)" @click="handleEditStatus(scope.row)"
/> /> -->
<!-- 删除 --> <!-- 删除 -->
<el-button <el-button
v-hasPermi="['trials:trials-panel:subject:delete']" v-hasPermi="['trials:trials-panel:subject:delete']"
@ -243,7 +247,7 @@
:visible.sync="editDialog.visible" :visible.sync="editDialog.visible"
:close-on-click-modal="false" :close-on-click-modal="false"
:title="editDialog.title" :title="editDialog.title"
width="700px" width="500px"
custom-class="base-dialog-wrapper" custom-class="base-dialog-wrapper"
> >
<SubjectsForm <SubjectsForm