重置密码
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
d0887851c2
commit
bb8a1f84a4
|
@ -2,66 +2,42 @@
|
|||
<template>
|
||||
<div class="trialsTab">
|
||||
<el-tabs v-model="trialsTab" @tab-click="clickTab">
|
||||
<el-tab-pane
|
||||
v-for="item of trialsRouter.children.find((v) => {
|
||||
return v.name == 'TrialsPanel';
|
||||
}).children"
|
||||
:key="`tab${item.path}`"
|
||||
:disabled="
|
||||
TotalNeedSignTrialDocCount !== 0 ||
|
||||
(TrialStatusStr === 'Initializing' && item.PermissionStr!=='trials:trials-panel:trial-information')
|
||||
"
|
||||
:label="$t(item.LanguageMark)"
|
||||
:name="item.path"
|
||||
>
|
||||
<el-tabs
|
||||
v-if="!item.tabHiddn"
|
||||
v-model="trialsTabChild"
|
||||
@tab-click="clickTab"
|
||||
>
|
||||
<el-tab-pane v-for="item of trialsRouter.children.find((v) => {
|
||||
return v.name == 'TrialsPanel';
|
||||
}).children" :key="`tab${item.path}`" :disabled="TotalNeedSignTrialDocCount !== 0 ||
|
||||
(TrialStatusStr === 'Initializing' && item.PermissionStr !== 'trials:trials-panel:trial-information')
|
||||
" :label="$t(item.LanguageMark)" :name="item.path">
|
||||
<el-tabs v-if="!item.tabHiddn" v-model="trialsTabChild" @tab-click="clickTab">
|
||||
<template v-for="item1 of item.children">
|
||||
<el-tab-pane
|
||||
v-if="TrialConfig && isShow(item1.path)"
|
||||
:key="`tab1${item1.path}`"
|
||||
:disabled="
|
||||
TotalNeedSignTrialDocCount !== 0 ||
|
||||
(TrialStatusStr === 'Initializing' &&
|
||||
(item1.path ===
|
||||
'/trials/trials-panel/setting/personnel-manage' ||
|
||||
item1.path === '/trials/trials-panel/setting/qc-question' ||
|
||||
item1.path ===
|
||||
'/trials/trials-panel/setting/reading-unit' ||
|
||||
item1.path ===
|
||||
'/trials/trials-panel/setting/medical-audit' ||
|
||||
item1.path === '/trials/trials-panel/setting/email-manage'))
|
||||
"
|
||||
:label="$t(item1.LanguageMark)"
|
||||
:name="item1.path"
|
||||
/>
|
||||
<el-tab-pane v-if="TrialConfig && isShow(item1.path)" :key="`tab1${item1.path}`" :disabled="TotalNeedSignTrialDocCount !== 0 ||
|
||||
(TrialStatusStr === 'Initializing' &&
|
||||
(item1.path ===
|
||||
'/trials/trials-panel/setting/personnel-manage' ||
|
||||
item1.path === '/trials/trials-panel/setting/qc-question' ||
|
||||
item1.path ===
|
||||
'/trials/trials-panel/setting/reading-unit' ||
|
||||
item1.path ===
|
||||
'/trials/trials-panel/setting/medical-audit' ||
|
||||
item1.path === '/trials/trials-panel/setting/email-manage'))
|
||||
" :label="$t(item1.LanguageMark)" :name="item1.path" />
|
||||
</template>
|
||||
</el-tabs>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<div
|
||||
style="
|
||||
<div style="
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
"
|
||||
>
|
||||
">
|
||||
<trials-select />
|
||||
<div>
|
||||
<i class="iconfont" style="font-size: 30px; color: #ccc"></i>
|
||||
</div>
|
||||
<!-- 返回项目列表 -->
|
||||
<div
|
||||
class="my_icon_box"
|
||||
:title="$t('trials:trials:title:backTrialList')"
|
||||
@click="goBack"
|
||||
>
|
||||
<div class="my_icon_box" :title="$t('trials:trials:title:backTrialList')" @click="goBack">
|
||||
<i class="iconfont"></i>
|
||||
<!-- 返回 -->
|
||||
<span>{{ $t("trials:trials:title:back") }}</span>
|
||||
|
@ -71,9 +47,8 @@
|
|||
</template>
|
||||
<script>
|
||||
import { mapGetters } from "vuex";
|
||||
import { getTrialSelect } from "@/api/trials";
|
||||
import { getTrialSelect, getTrialInfoHir } from "@/api/trials";
|
||||
import TrialsSelect from "@/components/TrialsSelect/index.vue";
|
||||
import { getUserDocumentList } from "@/api/trials";
|
||||
import store from "@/store";
|
||||
export default {
|
||||
name: "TrialsTab",
|
||||
|
@ -128,20 +103,15 @@ export default {
|
|||
}
|
||||
// document.cookie = 'TrialId=' + this.$route.query.trialId + ';path=/'
|
||||
},
|
||||
// trialId(v) {
|
||||
// getUserDocumentList({ TrialId: this.$route.query.trialId }).then(
|
||||
// async (res) => {
|
||||
// var total = res.OtherInfo.NeedSignCount;
|
||||
// var TrialStatusStr = res.OtherInfo.TrialStatusStr;
|
||||
// this.IsAdditionalAssessment = res.OtherInfo.IsAdditionalAssessment;
|
||||
// this.TrialStatusStr = TrialStatusStr;
|
||||
// await store.dispatch("user/setTotalNeedSignTrialDocCount", total);
|
||||
// await store.dispatch("user/setTrialStatusStr", TrialStatusStr);
|
||||
// this.TrialConfig = res.OtherInfo.TrialConfig;
|
||||
// this.IsAllOnlySRReading = res.OtherInfo.IsAllOnlySRReading;
|
||||
// }
|
||||
// );
|
||||
// },
|
||||
trialId(v) {
|
||||
getTrialInfoHir(this.trialId).then(
|
||||
async (res) => {
|
||||
var TrialStatusStr = res.Result.TrialStatusStr;
|
||||
this.TrialStatusStr = TrialStatusStr;
|
||||
await store.dispatch("user/setTrialStatusStr", TrialStatusStr);
|
||||
}
|
||||
);
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
// console.log(this.trialsRouter);
|
||||
|
@ -150,18 +120,13 @@ export default {
|
|||
if (~url.indexOf("?")) {
|
||||
query = url.split("?")[1];
|
||||
}
|
||||
// getUserDocumentList({ TrialId: this.$route.query.trialId }).then(
|
||||
// async (res) => {
|
||||
// var total = res.OtherInfo.NeedSignCount;
|
||||
// var TrialStatusStr = res.OtherInfo.TrialStatusStr;
|
||||
// this.IsAdditionalAssessment = res.OtherInfo.IsAdditionalAssessment;
|
||||
// this.TrialStatusStr = TrialStatusStr;
|
||||
// await store.dispatch("user/setTotalNeedSignTrialDocCount", total);
|
||||
// await store.dispatch("user/setTrialStatusStr", TrialStatusStr);
|
||||
// this.TrialConfig = res.OtherInfo.TrialConfig;
|
||||
// this.IsAllOnlySRReading = res.OtherInfo.IsAllOnlySRReading;
|
||||
// }
|
||||
// );
|
||||
getTrialInfoHir(this.$route.query.trialId).then(
|
||||
async (res) => {
|
||||
var TrialStatusStr = res.Result.TrialStatusStr;
|
||||
this.TrialStatusStr = TrialStatusStr;
|
||||
await store.dispatch("user/setTrialStatusStr", TrialStatusStr);
|
||||
}
|
||||
);
|
||||
this.selectedTab();
|
||||
this.getTrialList();
|
||||
var firstGoIn = this.trialsRouter.children.find((v) => {
|
||||
|
@ -260,7 +225,7 @@ export default {
|
|||
this.options = res.Result;
|
||||
this.tabTrialsId = this.$route.query.trialId;
|
||||
})
|
||||
.catch(() => {});
|
||||
.catch(() => { });
|
||||
},
|
||||
selectedTab() {
|
||||
var path = this.$route.path;
|
||||
|
@ -329,18 +294,23 @@ export default {
|
|||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
&:hover {
|
||||
color: #428bca;
|
||||
}
|
||||
|
||||
span {
|
||||
margin-left: 3px;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.el-tabs__header {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
position: relative;
|
||||
|
||||
.el-input--medium .el-input__inner {
|
||||
height: 44px;
|
||||
line-height: 44px;
|
||||
|
@ -349,16 +319,20 @@ export default {
|
|||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.base-model-wrapper {
|
||||
.el-dialog__header {
|
||||
padding: 10px;
|
||||
|
||||
.el-dialog__headerbtn {
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.el-dialog__body {
|
||||
padding: 10px 10px 10px 10px;
|
||||
|
||||
.base-modal-body {
|
||||
min-height: 100px;
|
||||
max-height: 650px;
|
||||
|
@ -367,6 +341,7 @@ export default {
|
|||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
}
|
||||
|
||||
.el-dialog__footer {
|
||||
padding: 10px;
|
||||
}
|
||||
|
|
|
@ -220,7 +220,7 @@ export default {
|
|||
if (!this.users || this.users.length <= 0) return ''
|
||||
let str = ''
|
||||
this.users.forEach((item, index) => {
|
||||
str += `${item.UserName}(${item.UserType})`
|
||||
str += `${item.UserName}(${item.UserTypeShortName})`
|
||||
if (index < this.users.length - 1) {
|
||||
str += '; '
|
||||
}
|
||||
|
@ -291,7 +291,7 @@ export default {
|
|||
this.formLoading = false;
|
||||
this.users = res.Result;
|
||||
if (this.users && this.users.length > 0) {
|
||||
this.form.UserId = this.users[0].UserId
|
||||
this.form.UserId = this.users[0].IdentityUserId
|
||||
}
|
||||
this.isVerify = true;
|
||||
this.$message.success(this.$t("passwordReset:button:verifySuccess"));
|
||||
|
|
|
@ -4,12 +4,7 @@
|
|||
<div class="filter-container">
|
||||
<!-- 姓名 -->
|
||||
<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>
|
||||
<el-input
|
||||
|
@ -20,152 +15,67 @@
|
|||
/> -->
|
||||
<!-- 单位 -->
|
||||
<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:externalStaff:table:email") }}:</span>
|
||||
<el-input v-model="listQuery.EMail" size="mini" class="mr" clearable />
|
||||
<!-- 用户类型 -->
|
||||
<span>{{ $t("trials:staff:table:userType") }}:</span>
|
||||
<el-select
|
||||
v-model="listQuery.UserTypeEnum"
|
||||
size="mini"
|
||||
clearable
|
||||
class="mr"
|
||||
>
|
||||
<el-option
|
||||
v-for="item of userTypeOptions"
|
||||
:key="item.Id"
|
||||
:label="item.UserType"
|
||||
:value="item.UserTypeEnum"
|
||||
>
|
||||
<el-select v-model="listQuery.UserTypeEnum" size="mini" clearable class="mr">
|
||||
<el-option v-for="item of userTypeOptions" :key="item.Id" :label="item.UserType" :value="item.UserTypeEnum">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<!-- 查询 -->
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-search"
|
||||
@click="handleSearch"
|
||||
>
|
||||
<el-button type="primary" size="mini" icon="el-icon-search" @click="handleSearch">
|
||||
{{ $t("common:button:search") }}
|
||||
</el-button>
|
||||
<!-- 重置 -->
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
icon="el-icon-refresh-left"
|
||||
@click="handleReset"
|
||||
>
|
||||
<el-button size="mini" type="primary" icon="el-icon-refresh-left" @click="handleReset">
|
||||
{{ $t("common:button:reset") }}
|
||||
</el-button>
|
||||
<!--添加新用户-->
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-plus"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['role:pm']"
|
||||
>
|
||||
<el-button type="primary" size="mini" icon="el-icon-plus" @click="handleAdd" v-hasPermi="['role:pm']">
|
||||
{{ $t("common:button:add") }}
|
||||
</el-button>
|
||||
<!--确认用户选择-->
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
style="margin-left: auto"
|
||||
:disabled="selectArr.length === 0"
|
||||
:loading="assignLoadStatus"
|
||||
@click="handleAssign"
|
||||
>
|
||||
<el-button type="primary" size="mini" style="margin-left: auto" :disabled="selectArr.length === 0"
|
||||
:loading="assignLoadStatus" @click="handleAssign">
|
||||
{{ $t("common:button:confirm") }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-main>
|
||||
<div class="data-table">
|
||||
<el-table
|
||||
:data="list"
|
||||
stripe
|
||||
height="400px"
|
||||
class="participant-table-list"
|
||||
@selection-change="handleSelectChange"
|
||||
@sort-change="handleSortByColumn"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="50"
|
||||
:selectable="handleSelectable"
|
||||
/>
|
||||
<el-table :data="list" stripe height="400px" class="participant-table-list"
|
||||
@selection-change="handleSelectChange" @sort-change="handleSortByColumn">
|
||||
<el-table-column type="selection" width="50" :selectable="handleSelectable" />
|
||||
<el-table-column type="index" width="50" />
|
||||
<!-- 姓名 -->
|
||||
<el-table-column
|
||||
prop="UserRealName"
|
||||
:label="$t('trials:staff:table:name')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column prop="UserRealName" :label="$t('trials:staff:table:name')" show-overflow-tooltip
|
||||
sortable="custom" min-width="100" />
|
||||
<!-- 用户名 -->
|
||||
<el-table-column
|
||||
prop="UserName"
|
||||
:label="$t('trials:staff:table:uid')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column prop="UserName" :label="$t('trials:staff:table:uid')" show-overflow-tooltip sortable="custom"
|
||||
min-width="100" />
|
||||
<!-- 电话 -->
|
||||
<el-table-column
|
||||
prop="Phone"
|
||||
:label="$t('trials:staff:table:phone')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="120"
|
||||
/>
|
||||
<el-table-column prop="Phone" :label="$t('trials:staff:table:phone')" show-overflow-tooltip sortable="custom"
|
||||
min-width="120" />
|
||||
<!-- 邮箱 -->
|
||||
<el-table-column
|
||||
prop="EMail"
|
||||
:label="$t('trials:staff:table:email')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="120"
|
||||
/>
|
||||
<el-table-column prop="EMail" :label="$t('trials:staff:table:email')" show-overflow-tooltip sortable="custom"
|
||||
min-width="120" />
|
||||
<!-- 单位 -->
|
||||
<el-table-column
|
||||
prop="OrganizationName"
|
||||
:label="$t('trials:staff:table:organization')"
|
||||
show-overflow-tooltip
|
||||
min-width="150"
|
||||
sortable="custom"
|
||||
/>
|
||||
<el-table-column prop="OrganizationName" :label="$t('trials:staff:table:organization')" show-overflow-tooltip
|
||||
min-width="150" sortable="custom" />
|
||||
<!-- 用户类型 -->
|
||||
<el-table-column
|
||||
prop="UserType"
|
||||
:label="$t('trials:staff:table:userType')"
|
||||
show-overflow-tooltip
|
||||
sortable="custom"
|
||||
min-width="100"
|
||||
/>
|
||||
<el-table-column prop="UserType" :label="$t('trials:staff:table:userType')" show-overflow-tooltip
|
||||
sortable="custom" min-width="100" />
|
||||
</el-table>
|
||||
</div>
|
||||
</el-main>
|
||||
<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>
|
||||
<staffExternalAdd
|
||||
ref="StaffExternalAdd"
|
||||
:userTypeOptions="userTypeOptions"
|
||||
@getList="getList"
|
||||
/>
|
||||
<staffExternalAdd ref="StaffExternalAdd" :userTypeOptions="userTypeOptions" @getList="getList" />
|
||||
</el-container>
|
||||
</template>
|
||||
<script>
|
||||
|
@ -181,6 +91,7 @@ const getListQueryDefault = () => {
|
|||
UserTypeEnum: "",
|
||||
PageIndex: 1,
|
||||
PageSize: 20,
|
||||
TrialId: null
|
||||
};
|
||||
};
|
||||
export default {
|
||||
|
@ -200,7 +111,7 @@ export default {
|
|||
listQuery: getListQueryDefault(),
|
||||
selectArr: [],
|
||||
assignLoadStatus: false,
|
||||
isAdmin: JSON.parse(zzSessionStorage.getItem("IsAdmin")),
|
||||
// isAdmin: JSON.parse(zzSessionStorage.getItem("IsAdmin")),
|
||||
trialId: "",
|
||||
qCProcessEnum: null,
|
||||
};
|
||||
|
@ -225,7 +136,7 @@ export default {
|
|||
fullscreen: false,
|
||||
lock: true,
|
||||
});
|
||||
this.listQuery.TrialId = this.trialId;
|
||||
this.listQuery.TrialId = this.trialId || this.$route.query.trialId;
|
||||
getTrialUserScreeningList(this.listQuery)
|
||||
.then((res) => {
|
||||
loading.close();
|
||||
|
@ -304,23 +215,28 @@ export default {
|
|||
<style lang="scss" scoped>
|
||||
.participant-container {
|
||||
height: 100%;
|
||||
|
||||
.el-header {
|
||||
.filter-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
span {
|
||||
font-size: 13px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.mr {
|
||||
margin-right: 5px;
|
||||
width: 120px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.el-main {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.el-footer {
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue