caiyiling 2024-04-22 16:12:18 +08:00
commit 96cff33b25
15 changed files with 526 additions and 228 deletions

View File

@ -59,6 +59,9 @@ router.beforeEach(async(to, from, next) => {
if (to.path === '/readingDicoms' || to.path === '/noneDicomReading') { if (to.path === '/readingDicoms' || to.path === '/noneDicomReading') {
OSSclient() OSSclient()
} }
if (to.path === '/login') {
OSSclient()
}
next() next()
} else { } else {
if (to.path === '/researchForm') { if (to.path === '/researchForm') {

View File

@ -6,7 +6,15 @@
<div class="login-body"> <div class="login-body">
<div class="login-l"> <div class="login-l">
<div class="login-logo"> <div class="login-logo">
<img v-if="language === 'zh'" src="@/assets/zzlogo2.png" alt="" /> <img
v-if="language === 'zh'"
:src="
hospital.HospitalLogoPath
? OSSclientConfig.basePath + hospital.HospitalLogoPath
: logoImg
"
alt=""
/>
<img v-else src="@/assets/zzlogo3.png" alt="" /> <img v-else src="@/assets/zzlogo3.png" alt="" />
</div> </div>
<div class="login-image"> <div class="login-image">
@ -16,7 +24,9 @@
<div class="login-r"> <div class="login-r">
<div class="title-container"> <div class="title-container">
<!-- IRC Management System --> <!-- IRC Management System -->
<div class="title">{{ $t("login:title:system") }}</div> <div class="title">
{{ $t("login:title:system") }}
</div>
</div> </div>
<el-form <el-form
ref="loginForm" ref="loginForm"
@ -135,11 +145,14 @@ import TopLang from "./topLang";
// import NoticeMarquee from '../trials/trials-layout/components/noticeMarquee' // import NoticeMarquee from '../trials/trials-layout/components/noticeMarquee'
import Vcode from "vue-puzzle-vcode"; import Vcode from "vue-puzzle-vcode";
import Img1 from "@/assets/pic-1.png"; import Img1 from "@/assets/pic-1.png";
import logoImg from "@/assets/zzlogo2.png";
import { getHospital } from "@/api/hospital.js";
export default { export default {
name: "Login", name: "Login",
components: { TopLang, Vcode }, components: { TopLang, Vcode },
data() { data() {
return { return {
logoImg,
VUE_APP_OSS_CONFIG_REGION: process.env.VUE_APP_OSS_CONFIG_REGION, VUE_APP_OSS_CONFIG_REGION: process.env.VUE_APP_OSS_CONFIG_REGION,
loginForm: { loginForm: {
username: "", username: "",
@ -174,11 +187,18 @@ export default {
location: null, location: null,
isShow: false, isShow: false,
Img1, Img1,
hospital: {
HospitalLogoPath: null,
HospitalName: null,
},
}; };
}, },
computed: { computed: {
...mapGetters(["asyncRoutes", "routes", "language"]), ...mapGetters(["asyncRoutes", "routes", "language"]),
}, },
created() {
this.getInfo();
},
mounted() { mounted() {
this.loginType = this.$route.query.loginType; this.loginType = this.$route.query.loginType;
this.location = this.$route.query.location; this.location = this.$route.query.location;
@ -202,6 +222,19 @@ export default {
}, },
methods: { methods: {
...mapMutations({ setLanguage: "lang/setLanguage" }), ...mapMutations({ setLanguage: "lang/setLanguage" }),
//
async getInfo() {
try {
let res = await getHospital();
if (res.IsSuccess) {
Object.keys(this.hospital).forEach((key) => {
this.hospital[key] = res.Result[key];
});
}
} catch (err) {
console.log(err);
}
},
showPwd() { showPwd() {
if (this.passwordType === "password") { if (this.passwordType === "password") {
this.passwordType = ""; this.passwordType = "";

View File

@ -1,4 +1,5 @@
<template> <template>
<div class="hospital">
<el-form <el-form
ref="hospitalForm" ref="hospitalForm"
size="small" size="small"
@ -11,6 +12,9 @@
<el-form-item label="医院名称: " prop="HospitalName"> <el-form-item label="医院名称: " prop="HospitalName">
<el-input v-model="hospital.HospitalName" :disabled="disabled" /> <el-input v-model="hospital.HospitalName" :disabled="disabled" />
</el-form-item> </el-form-item>
<el-form-item label="医院编码: " prop="HospitalCode">
<el-input v-model="hospital.HospitalCode" :disabled="disabled" />
</el-form-item>
<el-form-item label="医院别称: " prop="HospitalAliasName"> <el-form-item label="医院别称: " prop="HospitalAliasName">
<el-input v-model="hospital.HospitalAliasName" :disabled="disabled" /> <el-input v-model="hospital.HospitalAliasName" :disabled="disabled" />
@ -31,6 +35,13 @@
<el-form-item label="联系方式: " prop="Phone"> <el-form-item label="联系方式: " prop="Phone">
<el-input v-model="hospital.Phone" :disabled="disabled" /> <el-input v-model="hospital.Phone" :disabled="disabled" />
</el-form-item> </el-form-item>
<el-form-item label="未激活项目数: " prop="TrialKeepCount">
<el-input
v-model="hospital.TrialKeepCount"
:disabled="disabled"
type="number"
/>
</el-form-item>
<el-form-item label="是否可以连接互联网: "> <el-form-item label="是否可以连接互联网: ">
<el-switch <el-switch
v-model="hospital.IsCanConnectInternet" v-model="hospital.IsCanConnectInternet"
@ -42,6 +53,12 @@
> >
</el-switch> </el-switch>
</el-form-item> </el-form-item>
<el-form-item label="logo: " prop="HospitalLogoPath">
<upload-logo
:path.sync="hospital.HospitalLogoPath"
:disabled="disabled"
/>
</el-form-item>
</el-card> </el-card>
<el-form-item v-hasPermi="['system:hospital:edit']"> <el-form-item v-hasPermi="['system:hospital:edit']">
<el-button <el-button
@ -55,16 +72,20 @@
> >
</el-form-item> </el-form-item>
</el-form> </el-form>
</div>
</template> </template>
<script> <script>
import { setHospital, getHospital } from "@/api/hospital.js"; import { setHospital, getHospital } from "@/api/hospital.js";
import uploadLogo from "./uploadLogo.vue";
export default { export default {
name: "systemHospital", name: "systemHospital",
components: { "upload-logo": uploadLogo },
data() { data() {
return { return {
hospital: { hospital: {
HospitalName: null, HospitalName: null,
HospitalAliasName: null, HospitalAliasName: null,
HospitalCode: null,
Country: null, Country: null,
City: null, City: null,
Province: null, Province: null,
@ -72,25 +93,36 @@ export default {
Phone: null, Phone: null,
IsCanConnectInternet: true, IsCanConnectInternet: true,
Id: null, Id: null,
TrialKeepCount: null,
HospitalLogoPath: null,
}, },
hospitalFormRules: { hospitalFormRules: {
HospitalName: [ HospitalName: [
{ required: true, message: "请输入医院名称", trigger: "blur" }, { required: true, message: "请输入医院名称", trigger: "blur" },
], ],
HospitalAliasName: [ HospitalCode: [
{ required: true, message: "请输入医院别称", trigger: "blur" }, { required: true, message: "请输入医院编码", trigger: "blur" },
], ],
Country: [{ required: true, message: "请输入国家", trigger: "blur" }], HospitalLogoPath: [
City: [{ required: true, message: "请输入所在城市", trigger: "blur" }], { required: true, message: "请上传医院logo", trigger: "blur" },
Province: [
{ required: true, message: "请输入所在省份", trigger: "blur" },
], ],
Address: [ TrialKeepCount: [
{ required: true, message: "请输入医院地址", trigger: "blur" }, { required: true, message: "请输入未激活项目数", trigger: "blur" },
],
Phone: [
{ required: true, message: "请输入医院联系方式", trigger: "blur" },
], ],
// HospitalAliasName: [
// { required: true, message: "", trigger: "blur" },
// ],
// Country: [{ required: true, message: "", trigger: "blur" }],
// City: [{ required: true, message: "", trigger: "blur" }],
// Province: [
// { required: true, message: "", trigger: "blur" },
// ],
// Address: [
// { required: true, message: "", trigger: "blur" },
// ],
// Phone: [
// { required: true, message: "", trigger: "blur" },
// ],
}, },
btnLoading: false, btnLoading: false,
}; };
@ -139,5 +171,10 @@ export default {
::v-deep .is-error.my_new_pwd { ::v-deep .is-error.my_new_pwd {
margin-bottom: 40px; margin-bottom: 40px;
} }
.hospital {
width: 100%;
height: 100%;
overflow-y: auto;
}
</style> </style>

View File

@ -0,0 +1,171 @@
<template>
<div class="upload-container">
<el-upload
class="upload-demo"
action
:http-request="uploadFile"
:before-upload="beforeUpload"
:file-list="fileList"
:on-preview="handlePreview"
:on-remove="remove"
:limit="1"
:on-exceed="handleExceed"
accept=".png,.jpg,.jpeg"
v-if="!disabled"
>
<el-button size="small" type="primary" :disabled="btnDisabled"
>上传</el-button
>
<span slot="tip" class="el-upload__tip">(只能上传png/jpg/jpeg文件)</span>
</el-upload>
<p
v-if="fileList.length > 0 && disabled"
class="logoAMessage"
@click.stop="handlePreview(fileList[0])"
style="margin: 0"
>
<i class="el-icon-document"></i>
<span>{{ fileList.length > 0 ? fileList[0].name : "" }}</span>
</p>
</div>
</template>
<script>
const type = "Statement of Work";
export default {
name: "UploadLogo",
props: {
path: {
required: true,
default: "",
},
disabled: {
required: true,
default: false,
},
},
data() {
return {
fileList: [],
btnDisabled: false,
};
},
watch: {
path: {
handler() {
if (this.path) {
let name = this.path.split("/");
this.fileList = [
{
name: name[name.length - 1],
path: this.path,
fullPath: this.OSSclientConfig.basePath + this.path,
url: this.path,
},
];
}
},
immediate: true,
},
},
methods: {
remove(file, fileList) {
this.$emit("update:path", null);
},
fileToBlob(file) {
// FileReader
const reader = new FileReader();
return new Promise((resolve) => {
// FileReader load
reader.addEventListener("load", (e) => {
let blob;
if (typeof e.target.result === "object") {
blob = new Blob([e.target.result]);
} else {
blob = e.target.result;
}
resolve(blob);
});
// FileReader ArrayBuffer File
reader.readAsArrayBuffer(file);
});
},
// oss
async uploadToOSS(name, file) {
try {
let res = await this.OSSclient.put(
`/System/GeneralDocuments/${name}`,
file
);
return res;
} catch (err) {
console.log(err);
return false;
}
},
initFileList(fileList) {
this.fileList = fileList;
},
async uploadFile(param) {
var fileName = param.file.name;
this.btnDisabled = true;
let file = await this.fileToBlob(param.file);
let res = await this.uploadToOSS(fileName, file);
this.btnDisabled = false;
if (!res) return;
this.fileList = [
{
name: fileName,
path: res.name,
fullPath: this.OSSclientConfig.basePath + res.name,
url: res.name,
},
];
console.log(this.fileList);
this.$emit("update:path", res.name);
return console.log(res);
},
beforeUpload(file, fileList) {
const isValidFile = this.fileValid(file.name, ["png", "jpg", "jpeg"]);
if (isValidFile) {
this.fileList = [];
} else {
this.$alert("请上传PNG/JPG/JPEG文件");
return false;
}
},
handlePreview(file) {
file.fullPath ? window.open(file.fullPath, "_blank") : "";
},
handleExceed(files, fileList) {
this.$message.warning(`Upload is currently limited to 1 file`);
},
fileValid(fileName, typeArr) {
var extendName = fileName
.substring(fileName.lastIndexOf(".") + 1)
.toLocaleLowerCase();
if (typeArr.indexOf(extendName) > -1) {
return true;
} else {
return false;
}
},
},
};
</script>
<style>
.upload-container .el-upload--text {
border: none;
width: 80px;
height: 30px;
}
.upload-container .el-form-item__label {
font-size: 12px;
}
.upload-container .el-upload-list__item {
font-size: 12px;
}
.logoAMessage {
font-size: 12px;
cursor: pointer;
}
</style>

View File

@ -39,7 +39,7 @@
> >
<el-input v-model="user.FirstName" /> <el-input v-model="user.FirstName" />
</el-form-item> </el-form-item>
<el-form-item <!-- <el-form-item
:label="$t('system:userlist:table:Gender')" :label="$t('system:userlist:table:Gender')"
prop="Sex" prop="Sex"
style="margin-right: 40px" style="margin-right: 40px"
@ -48,7 +48,7 @@
<el-radio :label="1">Male</el-radio> <el-radio :label="1">Male</el-radio>
<el-radio :label="0">Female</el-radio> <el-radio :label="0">Female</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item> -->
<el-form-item :label="$t('system:userlist:table:Email')" prop="EMail"> <el-form-item :label="$t('system:userlist:table:Email')" prop="EMail">
<el-input v-model="user.EMail" /> <el-input v-model="user.EMail" />
</el-form-item> </el-form-item>
@ -90,7 +90,7 @@
</template> </template>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <!-- <el-form-item
:label="$t('trials:researchForm:form:checkCode')" :label="$t('trials:researchForm:form:checkCode')"
prop="checkCode" prop="checkCode"
v-if="!IsCanConnectInternet" v-if="!IsCanConnectInternet"
@ -99,7 +99,7 @@
<span style="color: red" <span style="color: red"
>请输入校验码用于用户首次登录重置密码时的校验</span >请输入校验码用于用户首次登录重置密码时的校验</span
> >
</el-form-item> </el-form-item> -->
</el-card> </el-card>
<el-card <el-card

View File

@ -122,6 +122,8 @@ export default {
submitMessage: { submitMessage: {
SubjectId: null, SubjectId: null,
TrialId: null, TrialId: null,
TrialCode: null,
ResearchProgramNo: null,
}, },
subjectIdList: [], // subjectIdList: [], //
rules: { rules: {

View File

@ -251,6 +251,11 @@ export default {
}; };
}, },
methods: { methods: {
handleDetail(row) {
this.$router.push({
path: `/trials/trials-panel?trialId=${this.submitMessage.TrialId}&trialCode=${this.submitMessage.TrialCode}&researchProgramNo=${this.submitMessage.ResearchProgramNo}`,
});
},
// 访 // 访
async remove(item) { async remove(item) {
try { try {
@ -377,6 +382,11 @@ export default {
console.log(err); console.log(err);
} }
}, },
handleDetail(row) {
this.$router.push({
path: `/trials/trials-panel?trialId=${row.Id}&trialCode=${row.TrialCode}&researchProgramNo=${row.ResearchProgramNo}`,
});
},
// //
handleSearch() { handleSearch() {
this.searchData.PageIndex = 1; this.searchData.PageIndex = 1;

View File

@ -1,9 +1,17 @@
<template> <template>
<div class="trials-navbar" style="position: relative"> <div class="trials-navbar" style="position: relative">
<div class="leftMenu"> <div class="leftMenu">
<img v-if="language === 'zh'" src="@/assets/zzlogo2.png" alt="" /> <img
v-if="language === 'zh'"
:src="
hospital.HospitalLogoPath
? OSSclientConfig.basePath + hospital.HospitalLogoPath
: logoImg
"
alt=""
/>
<img v-else src="@/assets/zzlogo3.png" alt="" /> <img v-else src="@/assets/zzlogo3.png" alt="" />
<span style="white-space:nowrap;"> <span style="white-space: nowrap">
<!-- 中心影像系统EICS --> <!-- 中心影像系统EICS -->
{{ $t("trials:trials:title:eics") }} {{ $t("trials:trials:title:eics") }}
</span> </span>
@ -85,14 +93,21 @@ import { loginOut } from "@/api/user";
import { mapGetters, mapMutations } from "vuex"; import { mapGetters, mapMutations } from "vuex";
import TopLang from "./topLang"; import TopLang from "./topLang";
import NoticeMarquee from "./noticeMarquee"; import NoticeMarquee from "./noticeMarquee";
import { getHospital } from "@/api/hospital.js";
import logoImg from "@/assets/zzlogo2.png";
export default { export default {
components: { TopLang, NoticeMarquee }, components: { TopLang, NoticeMarquee },
data() { data() {
return { return {
logoImg,
activeIndex: "2", activeIndex: "2",
isReviewer: false, isReviewer: false,
userTypeShortName: zzSessionStorage.getItem("userTypeShortName"), userTypeShortName: zzSessionStorage.getItem("userTypeShortName"),
notice: "", notice: "",
hospital: {
HospitalLogoPath: null,
HospitalName: null,
},
}; };
}, },
computed: { computed: {
@ -113,9 +128,23 @@ export default {
created() { created() {
this.isReviewer = JSON.parse(zzSessionStorage.getItem("IsReviewer")); this.isReviewer = JSON.parse(zzSessionStorage.getItem("IsReviewer"));
this.changeRoute(this.$route); this.changeRoute(this.$route);
this.getInfo();
}, },
methods: { methods: {
...mapMutations({ setLanguage: "lang/setLanguage" }), ...mapMutations({ setLanguage: "lang/setLanguage" }),
//
async getInfo() {
try {
let res = await getHospital();
if (res.IsSuccess) {
Object.keys(this.hospital).forEach((key) => {
this.hospital[key] = res.Result[key];
});
}
} catch (err) {
console.log(err);
}
},
changeRoute(v) { changeRoute(v) {
if (v.path === "/trials/trials-inspection") { if (v.path === "/trials/trials-inspection") {
this.activeIndex = "1"; this.activeIndex = "1";

View File

@ -67,7 +67,7 @@
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span> <span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span>
<span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${ currentUser })` }}</span> <span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${ currentUser })` }}</span>
</div> </div>
<SignForm ref="signForm" :trial-id="trialId" :sign-code-enum="signCode" @closeDialog="closeSignDialog" /> <SignForm ref="signForm" :trial-id="trialId" :sign-code-enum="signCode" @close="closeSignDialog" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -151,14 +151,14 @@ export default {
this.signVisible = false this.signVisible = false
this.$emit('getList') this.$emit('getList')
this.$message.success(this.$t('common:message:savedSuccessfully')) this.$message.success(this.$t('common:message:savedSuccessfully'))
this.$emit('closeDialog') this.$emit('close')
}).catch(() => { }).catch(() => {
this.btnLoading = false this.btnLoading = false
this.$refs['signForm'].btnLoading = false this.$refs['signForm'].btnLoading = false
}) })
}, },
handleCancel() { handleCancel() {
this.$emit('closeDialog') this.$emit('close')
}, },
closeSignDialog(isSign, signInfo) { closeSignDialog(isSign, signInfo) {
if (isSign) { if (isSign) {

View File

@ -5,6 +5,7 @@
:title="$t('trials:trials-list:action:activateProject')" :title="$t('trials:trials-list:action:activateProject')"
width="500px" width="500px"
append-to-body append-to-body
:before-close="handleCancel"
> >
<el-form <el-form
ref="activateProjectForm" ref="activateProjectForm"
@ -20,9 +21,9 @@
</el-form-item> </el-form-item>
<!-- 授权码 --> <!-- 授权码 -->
<el-form-item :label="$t('trials:trials-list:form:authorizationCode')"> <el-form-item :label="$t('trials:trials-list:form:authorizationCode')">
<p v-if="form.Authorization" class="AuthorizationBox"> <p v-if="data.Authorization" class="AuthorizationBox">
<span class="Authorization" :title="form.Authorization">{{ <span class="Authorization" :title="data.Authorization">{{
form.Authorization data.Authorization
}}</span> }}</span>
<span class="copy" @click.stop="copy">{{ <span class="copy" @click.stop="copy">{{
$t("trials:trials-list:action:copy") $t("trials:trials-list:action:copy")
@ -69,11 +70,7 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { import { activateTrial, getTrialActivationCode } from "@/api/trials.js";
getTrialAuthorizationCode,
activateTrial,
getTrialActivationCode,
} from "@/api/trials.js";
export default { export default {
name: "activateProject", name: "activateProject",
props: { props: {
@ -139,7 +136,7 @@ export default {
}, },
// //
copy() { copy() {
this.$copyText(this.form.Authorization) this.$copyText(this.data.Authorization)
.then((res) => { .then((res) => {
// //
this.$message.success( this.$message.success(
@ -151,25 +148,11 @@ export default {
this.$alert(this.$t("trials:researchRecord:message:copyFailed")); this.$alert(this.$t("trials:researchRecord:message:copyFailed"));
}); });
}, },
//
async getTrialAuthorizationCode() {
let params = {
TrialId: this.data.TrialId,
};
try {
let res = await getTrialAuthorizationCode(params);
if (res.IsSuccess) {
this.form.Authorization = res.Result;
}
} catch (err) {
console.log(err);
}
},
// //
async getCode() { async getCode() {
let params = { let params = {
TrialId: this.data.TrialId, TrialId: this.data.TrialId,
AuthorizationCode: this.form.Authorization, AuthorizationCode: this.data.Authorization,
}; };
try { try {
let res = await getTrialActivationCode(params); let res = await getTrialActivationCode(params);

View File

@ -113,17 +113,17 @@
v-if=" v-if="
scope.row.AuthorizationEncrypt && scope.row.AuthorizationEncrypt &&
scope.row.AuthorizationDate && scope.row.AuthorizationDate &&
trialExpired(moment(scope.row.AuthorizationDate, 15)) !trialExpired(scope.row.AuthorizationDate, 15)
" "
class="el-icon-warning-outline" class="el-icon-warning-outline"
:title="$t('trials:trials-list:tipMessage:tipTwo')" :title="$t('trials:trials-list:tipMessage:tipTwo')"
style="color: #0f0; font-size: 20px" style="color: #e6a23c; font-size: 20px"
></i> ></i>
<i <i
v-if=" v-if="
scope.row.AuthorizationEncrypt && scope.row.AuthorizationEncrypt &&
scope.row.AuthorizationDate && scope.row.AuthorizationDate &&
trialExpired(moment(scope.row.AuthorizationDate)) !trialExpired(scope.row.AuthorizationDate)
" "
class="el-icon-warning-outline" class="el-icon-warning-outline"
:title="$t('trials:trials-list:tipMessage:tipThree')" :title="$t('trials:trials-list:tipMessage:tipThree')"
@ -231,13 +231,6 @@
/> />
<el-table-column label="" min-width="150" align="left" fixed="right"> <el-table-column label="" min-width="150" align="left" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 激活 -->
<el-button
circle
icon="el-icon-key"
:title="$t('trials:trials-list:action:activate')"
@click="handleActivate(scope.row)"
/>
<!-- 详情 --> <!-- 详情 -->
<el-button <el-button
v-hasPermi="['trials:trials-list:panel']" v-hasPermi="['trials:trials-list:panel']"
@ -277,6 +270,13 @@
:title="$t('trials:trials-list:action:abolition')" :title="$t('trials:trials-list:action:abolition')"
@click="handleAbandon(scope.row)" @click="handleAbandon(scope.row)"
/> />
<!-- 激活 -->
<el-button
circle
icon="el-icon-key"
:title="$t('trials:trials-list:action:activate')"
@click="handleActivate(scope.row)"
/>
<!-- 代办详情 --> <!-- 代办详情 -->
<!-- <el-button <!-- <el-button
v-hasPermi="['trials:trials-list:abolish']" v-hasPermi="['trials:trials-list:abolish']"
@ -357,7 +357,11 @@
</BaseContainer> </BaseContainer>
</template> </template>
<script> <script>
import { abandonTrial, getTrialListHir } from "@/api/trials"; import {
abandonTrial,
getTrialListHir,
getTrialAuthorizationCode,
} from "@/api/trials";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import Excel from "exceljs"; import Excel from "exceljs";
import BaseContainer from "@/components/BaseContainer"; import BaseContainer from "@/components/BaseContainer";
@ -473,10 +477,30 @@ export default {
} }
return true; return true;
}, },
//
async getTrialAuthorizationCode(item) {
let params = {
TrialId: item.TrialId,
};
try {
let res = await getTrialAuthorizationCode(params);
if (res.IsSuccess) {
this.currentRow.Authorization = res.Result;
return true;
}
return false;
} catch (err) {
console.log(err);
return false;
}
},
// //
handleActivate(item) { async handleActivate(item) {
this.currentRow = item; this.currentRow = item;
let res = await this.getTrialAuthorizationCode(item);
if (res) {
this.activateVisible = true; this.activateVisible = true;
}
}, },
initPage() { initPage() {
this.getList(); this.getList();

View File

@ -277,6 +277,7 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('trials:adReview:title:result')">
<el-table-column <el-table-column
prop="item.QuestionId" prop="item.QuestionId"
:label="item.QuestionName" :label="item.QuestionName"
@ -302,6 +303,7 @@
}} }}
</template> </template>
</el-table-column> </el-table-column>
</el-table-column>
<!-- 是否入组 --> <!-- 是否入组 -->
<el-table-column <el-table-column
prop="IsEnrollment" prop="IsEnrollment"

View File

@ -277,6 +277,7 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('trials:adReview:title:result')">
<el-table-column <el-table-column
prop="item.QuestionId" prop="item.QuestionId"
:label="item.QuestionName" :label="item.QuestionName"
@ -302,6 +303,7 @@
}} }}
</template> </template>
</el-table-column> </el-table-column>
</el-table-column>
<!-- 是否入组 --> <!-- 是否入组 -->
<el-table-column <el-table-column
prop="IsEnrollment" prop="IsEnrollment"

View File

@ -148,7 +148,7 @@
</div> </div>
<div slot="main-container"> <div slot="main-container">
<el-table <el-table
v-adaptive="{ bottomOffset: 60 }" v-adaptive="{ bottomOffset: 80 }"
v-loading="loading" v-loading="loading"
:data="list" :data="list"
stripe stripe
@ -276,6 +276,7 @@
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('trials:adReview:title:result')">
<el-table-column <el-table-column
prop="item.QuestionId" prop="item.QuestionId"
:label="item.QuestionName" :label="item.QuestionName"
@ -301,6 +302,7 @@
}} }}
</template> </template>
</el-table-column> </el-table-column>
</el-table-column>
<!-- 是否入组 --> <!-- 是否入组 -->
<el-table-column <el-table-column
prop="IsEnrollment" prop="IsEnrollment"
@ -460,7 +462,7 @@ export default {
auditRecordVisible: false, auditRecordVisible: false,
openWindow: null, openWindow: null,
TrialReadingCriterionId: "0", TrialReadingCriterionId: "0",
QuestionList:[] QuestionList: [],
}; };
}, },
watch: { watch: {