|
@@ -1,5 +1,5 @@
|
|
<template>
|
|
<template>
|
|
- <div>
|
|
|
|
|
|
+ <div v-loading="!orgSetting">
|
|
<el-tabs v-model="activeName" type="card">
|
|
<el-tabs v-model="activeName" type="card">
|
|
<el-tab-pane label="考试规则设置" name="first">
|
|
<el-tab-pane label="考试规则设置" name="first">
|
|
<el-form
|
|
<el-form
|
|
@@ -224,6 +224,8 @@
|
|
</el-radio>
|
|
</el-radio>
|
|
<el-radio
|
|
<el-radio
|
|
v-model="form.entryAuthenticationPolicy"
|
|
v-model="form.entryAuthenticationPolicy"
|
|
|
|
+ :disabled="orgSettingDisableLiveness"
|
|
|
|
+ :title="orgSettingDisableLiveness && '原因:机构禁用活体'"
|
|
label="LIVENESS_VERIFY"
|
|
label="LIVENESS_VERIFY"
|
|
>
|
|
>
|
|
安全级别:<span style="color: red; font-size: 20px;">
|
|
安全级别:<span style="color: red; font-size: 20px;">
|
|
@@ -239,12 +241,14 @@
|
|
<el-form-item label="是否考中人脸识别">
|
|
<el-form-item label="是否考中人脸识别">
|
|
<el-radio
|
|
<el-radio
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
|
|
+ :title="!!form.cameraPhotoUpload && '原因:拍照作答'"
|
|
v-model="form.inProcessFaceVerify"
|
|
v-model="form.inProcessFaceVerify"
|
|
:label="1"
|
|
:label="1"
|
|
>是
|
|
>是
|
|
</el-radio>
|
|
</el-radio>
|
|
<el-radio
|
|
<el-radio
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
|
|
+ :title="!!form.cameraPhotoUpload && '原因:拍照作答'"
|
|
v-model="form.inProcessFaceVerify"
|
|
v-model="form.inProcessFaceVerify"
|
|
:label="0"
|
|
:label="0"
|
|
>否
|
|
>否
|
|
@@ -255,12 +259,14 @@
|
|
<el-form-item label="是否考中陌生人脸识别">
|
|
<el-form-item label="是否考中陌生人脸识别">
|
|
<el-radio
|
|
<el-radio
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
|
|
+ :title="!!form.cameraPhotoUpload && '原因:拍照作答'"
|
|
v-model="form.inProcessFaceStrangerIgnore"
|
|
v-model="form.inProcessFaceStrangerIgnore"
|
|
:label="0"
|
|
:label="0"
|
|
>是
|
|
>是
|
|
</el-radio>
|
|
</el-radio>
|
|
<el-radio
|
|
<el-radio
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
|
|
+ :title="!!form.cameraPhotoUpload && '原因:拍照作答'"
|
|
v-model="form.inProcessFaceStrangerIgnore"
|
|
v-model="form.inProcessFaceStrangerIgnore"
|
|
:label="1"
|
|
:label="1"
|
|
>否
|
|
>否
|
|
@@ -271,12 +277,14 @@
|
|
<el-form-item label="是否考开启真实性检测">
|
|
<el-form-item label="是否考开启真实性检测">
|
|
<el-radio
|
|
<el-radio
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
|
|
+ :title="!!form.cameraPhotoUpload && '原因:拍照作答'"
|
|
v-model="form.inProcessRealnessVerify"
|
|
v-model="form.inProcessRealnessVerify"
|
|
:label="1"
|
|
:label="1"
|
|
>是
|
|
>是
|
|
</el-radio>
|
|
</el-radio>
|
|
<el-radio
|
|
<el-radio
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
|
|
+ :title="!!form.cameraPhotoUpload && '原因:拍照作答'"
|
|
v-model="form.inProcessRealnessVerify"
|
|
v-model="form.inProcessRealnessVerify"
|
|
:label="0"
|
|
:label="0"
|
|
>否
|
|
>否
|
|
@@ -286,13 +294,25 @@
|
|
<el-row>
|
|
<el-row>
|
|
<el-form-item label="是否考中活体检测">
|
|
<el-form-item label="是否考中活体检测">
|
|
<el-radio
|
|
<el-radio
|
|
- :disabled="!!form.cameraPhotoUpload"
|
|
|
|
|
|
+ :disabled="
|
|
|
|
+ !!form.cameraPhotoUpload || orgSettingDisableLiveness
|
|
|
|
+ "
|
|
|
|
+ :title="
|
|
|
|
+ (!!form.cameraPhotoUpload || orgSettingDisableLiveness) &&
|
|
|
|
+ '原因:机构禁用活体或选择拍照作答'
|
|
|
|
+ "
|
|
v-model="form.inProcessLivenessVerify"
|
|
v-model="form.inProcessLivenessVerify"
|
|
:label="1"
|
|
:label="1"
|
|
>是
|
|
>是
|
|
</el-radio>
|
|
</el-radio>
|
|
<el-radio
|
|
<el-radio
|
|
- :disabled="!!form.cameraPhotoUpload"
|
|
|
|
|
|
+ :disabled="
|
|
|
|
+ !!form.cameraPhotoUpload || orgSettingDisableLiveness
|
|
|
|
+ "
|
|
|
|
+ :title="
|
|
|
|
+ (!!form.cameraPhotoUpload || orgSettingDisableLiveness) &&
|
|
|
|
+ '原因:机构禁用活体或选择拍照作答'
|
|
|
|
+ "
|
|
v-model="form.inProcessLivenessVerify"
|
|
v-model="form.inProcessLivenessVerify"
|
|
:label="0"
|
|
:label="0"
|
|
>否
|
|
>否
|
|
@@ -339,24 +359,26 @@
|
|
<el-form-item label="是否开启考生端监考直播">
|
|
<el-form-item label="是否开启考生端监考直播">
|
|
<el-radio
|
|
<el-radio
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
|
|
+ :title="!!form.cameraPhotoUpload && '原因:拍照作答'"
|
|
v-model="form.monitorProxy"
|
|
v-model="form.monitorProxy"
|
|
:label="true"
|
|
:label="true"
|
|
>是
|
|
>是
|
|
</el-radio>
|
|
</el-radio>
|
|
<el-radio
|
|
<el-radio
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
:disabled="!!form.cameraPhotoUpload"
|
|
|
|
+ :title="!!form.cameraPhotoUpload && '原因:拍照作答'"
|
|
v-model="form.monitorProxy"
|
|
v-model="form.monitorProxy"
|
|
:label="false"
|
|
:label="false"
|
|
>否
|
|
>否
|
|
</el-radio>
|
|
</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-row>
|
|
- <el-row>
|
|
|
|
|
|
+ <!-- <el-row>
|
|
<el-form-item v-if="form.monitorProxy" label="是否需要视频回放">
|
|
<el-form-item v-if="form.monitorProxy" label="是否需要视频回放">
|
|
<el-radio v-model="form.monitorRecord" :label="1">是 </el-radio>
|
|
<el-radio v-model="form.monitorRecord" :label="1">是 </el-radio>
|
|
<el-radio v-model="form.monitorRecord" :label="0">否 </el-radio>
|
|
<el-radio v-model="form.monitorRecord" :label="0">否 </el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- </el-row>
|
|
|
|
|
|
+ </el-row> -->
|
|
<el-row>
|
|
<el-row>
|
|
<el-form-item v-if="form.monitorProxy" label="电脑&手机监控方案">
|
|
<el-form-item v-if="form.monitorProxy" label="电脑&手机监控方案">
|
|
<el-checkbox-group v-model="form.monitorVideoSource">
|
|
<el-checkbox-group v-model="form.monitorVideoSource">
|
|
@@ -367,6 +389,10 @@
|
|
<el-checkbox label="MOBILE_FIRST">手机主机位</el-checkbox>
|
|
<el-checkbox label="MOBILE_FIRST">手机主机位</el-checkbox>
|
|
<el-checkbox
|
|
<el-checkbox
|
|
:disabled="!form.monitorVideoSource.includes('MOBILE_FIRST')"
|
|
:disabled="!form.monitorVideoSource.includes('MOBILE_FIRST')"
|
|
|
|
+ :title="
|
|
|
|
+ !form.monitorVideoSource.includes('MOBILE_FIRST') &&
|
|
|
|
+ '原因:先选择手机主机位'
|
|
|
|
+ "
|
|
label="MOBILE_SECOND"
|
|
label="MOBILE_SECOND"
|
|
>手机辅机位</el-checkbox
|
|
>手机辅机位</el-checkbox
|
|
>
|
|
>
|
|
@@ -433,6 +459,7 @@ import ExamTypeSelect from "@/components/ExamTypeSelect";
|
|
import MinuteInput from "@/components/MinuteInput";
|
|
import MinuteInput from "@/components/MinuteInput";
|
|
import { saveExam, getExamDetail } from "@/api/examwork-exam";
|
|
import { saveExam, getExamDetail } from "@/api/examwork-exam";
|
|
import { isNumber } from "lodash-es";
|
|
import { isNumber } from "lodash-es";
|
|
|
|
+import { searchOrg } from "@/api/system-org";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "ExamEdit",
|
|
name: "ExamEdit",
|
|
@@ -473,6 +500,9 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
+ orgSettingDisableLiveness() {
|
|
|
|
+ return !this.orgSetting?.enableLiveness;
|
|
|
|
+ },
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
"form.mode": {
|
|
"form.mode": {
|
|
@@ -555,6 +585,21 @@ export default {
|
|
this.form.preNoticeClone = this.form.preNotice;
|
|
this.form.preNoticeClone = this.form.preNotice;
|
|
this.form.postNoticeClone = this.form.postNotice;
|
|
this.form.postNoticeClone = this.form.postNotice;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // sleep
|
|
|
|
+ // await new Promise((res) =>
|
|
|
|
+ // setTimeout(() => {
|
|
|
|
+ // res();
|
|
|
|
+ // }, 3000)
|
|
|
|
+ // );
|
|
|
|
+ const res = await searchOrg(this.$store.state.user.orgId);
|
|
|
|
+ this.orgSetting = res.data.data[0];
|
|
|
|
+ if (!this.orgSetting.enableLiveness) {
|
|
|
|
+ if (this.form.entryAuthenticationPolicy === "LIVENESS_VERIFY") {
|
|
|
|
+ this.form.entryAuthenticationPolicy = "FACE_VERIFY_FORCE";
|
|
|
|
+ }
|
|
|
|
+ this.form.inProcessLivenessVerify = 0;
|
|
|
|
+ }
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -628,6 +673,7 @@ export default {
|
|
// message: "格式错误",
|
|
// message: "格式错误",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
+ orgSetting: null,
|
|
loading: false,
|
|
loading: false,
|
|
};
|
|
};
|
|
},
|
|
},
|