|
@@ -567,6 +567,75 @@
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
+ <el-row
|
|
|
+ v-show="
|
|
|
+ form.properties.IS_FACE_ENABLE == 'true' &&
|
|
|
+ form.properties.IDENTIFICATION_OF_LIVING_BODY_SCHEME ==
|
|
|
+ 'S2'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="追加人脸活体检测"
|
|
|
+ :label-width="style.label_width_tab4"
|
|
|
+ >
|
|
|
+ <el-radio-group
|
|
|
+ v-model="form.properties.ADD_FACE_VERIFY_OUT_FREEZE_TIME"
|
|
|
+ :disabled="this.is_face_verify_diabled"
|
|
|
+ class="input"
|
|
|
+ >
|
|
|
+ <el-radio label="true">是</el-radio>
|
|
|
+ <el-radio label="false">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row
|
|
|
+ v-show="
|
|
|
+ form.properties.ADD_FACE_VERIFY_OUT_FREEZE_TIME == 'true'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="追加人脸活体检测开始时间"
|
|
|
+ prop="OUT_FREEZE_TIME_FACE_VERIFY_START_MINUTE"
|
|
|
+ :label-width="style.label_width_tab4"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ maxlength="5"
|
|
|
+ v-model.trim.number="
|
|
|
+ form.properties.OUT_FREEZE_TIME_FACE_VERIFY_START_MINUTE
|
|
|
+ "
|
|
|
+ auto-complete="off"
|
|
|
+ class="input"
|
|
|
+ >
|
|
|
+ <template slot="append"
|
|
|
+ >分钟</template
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row
|
|
|
+ v-show="
|
|
|
+ form.properties.ADD_FACE_VERIFY_OUT_FREEZE_TIME == 'true'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ label="追加人脸活体检测结束时间"
|
|
|
+ prop="OUT_FREEZE_TIME_FACE_VERIFY_END_MINUTE"
|
|
|
+ :label-width="style.label_width_tab4"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ maxlength="5"
|
|
|
+ v-model.trim.number="
|
|
|
+ form.properties.OUT_FREEZE_TIME_FACE_VERIFY_END_MINUTE
|
|
|
+ "
|
|
|
+ auto-complete="off"
|
|
|
+ class="input"
|
|
|
+ >
|
|
|
+ <template slot="append"
|
|
|
+ >分钟</template
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="阅卷设置" name="tab5">
|
|
|
<el-row>
|
|
@@ -930,6 +999,67 @@ let validateFaceVerifyEndMinute = (rule, value, callback) => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+let validateOutFreezeTimeFaceVerifyStartMinute = (rule, value, callback) => {
|
|
|
+ let isFaceVerify = _this.form.properties.IS_FACE_VERIFY;
|
|
|
+ let faceVerifyScheme =
|
|
|
+ _this.form.properties.IDENTIFICATION_OF_LIVING_BODY_SCHEME;
|
|
|
+ let v = _this.form.properties.OUT_FREEZE_TIME_FACE_VERIFY_START_MINUTE;
|
|
|
+ if (isFaceVerify == "true" && faceVerifyScheme == "S2") {
|
|
|
+ if (v === "") {
|
|
|
+ callback(new Error("请输入追加活体检测开始分钟数"));
|
|
|
+ if (!_this.toActiveName) {
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
+ _this.activeName = "tab4";
|
|
|
+ }
|
|
|
+ } else if (!v.toString().match(/^[1-9]\d*$/)) {
|
|
|
+ callback(new Error("追加活体检测开始分钟数只能是正整数"));
|
|
|
+ if (!_this.toActiveName) {
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
+ _this.activeName = "tab4";
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+let validateOutFreezeTimeFaceVerifyEndMinute = (rule, value, callback) => {
|
|
|
+ let isFaceVerify = _this.form.properties.IS_FACE_VERIFY;
|
|
|
+ let faceVerifyScheme =
|
|
|
+ _this.form.properties.IDENTIFICATION_OF_LIVING_BODY_SCHEME;
|
|
|
+ let start = _this.form.properties.OUT_FREEZE_TIME_FACE_VERIFY_START_MINUTE;
|
|
|
+ let v = _this.form.properties.OUT_FREEZE_TIME_FACE_VERIFY_END_MINUTE;
|
|
|
+ if (isFaceVerify == "true" && faceVerifyScheme == "S2") {
|
|
|
+ if (v === "") {
|
|
|
+ callback(new Error("请输入追加活体检测结束分钟数"));
|
|
|
+ if (!_this.toActiveName) {
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
+ _this.activeName = "tab4";
|
|
|
+ }
|
|
|
+ } else if (!v.toString().match(/^[1-9]\d*$/)) {
|
|
|
+ callback(new Error("追加活体检测结束分钟数只能是正整数"));
|
|
|
+ if (!_this.toActiveName) {
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
+ _this.activeName = "tab4";
|
|
|
+ }
|
|
|
+ } else if (start !== "" && parseInt(v) < parseInt(start)) {
|
|
|
+ callback(
|
|
|
+ new Error("追加活体检测结束分钟数不能小于追加活体检测开始分钟数")
|
|
|
+ );
|
|
|
+ if (!_this.toActiveName) {
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
+ _this.activeName = "tab4";
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
export default {
|
|
|
components: {
|
|
|
ckeditor,
|
|
@@ -995,7 +1125,11 @@ export default {
|
|
|
FACE_VERIFY_END_MINUTE: 10,
|
|
|
PUSH_SCORE: "false",
|
|
|
CHECK_ENVIRONMENT: "false",
|
|
|
- WEIXIN_ANSWER_ENABLED: "false"
|
|
|
+ WEIXIN_ANSWER_ENABLED: "false",
|
|
|
+ ADD_FACE_VERIFY_OUT_FREEZE_TIME: "false",
|
|
|
+ OUT_FREEZE_TIME_FACE_VERIFY_START_MINUTE: 10,
|
|
|
+ OUT_FREEZE_TIME_FACE_VERIFY_END_MINUTE: 30,
|
|
|
+ IDENTIFICATION_OF_LIVING_BODY_SCHEME: "S1"
|
|
|
}
|
|
|
},
|
|
|
examTypeList: EXAM_TYPE,
|
|
@@ -1062,6 +1196,20 @@ export default {
|
|
|
trigger: "blur"
|
|
|
}
|
|
|
],
|
|
|
+ OUT_FREEZE_TIME_FACE_VERIFY_START_MINUTE: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ validator: validateOutFreezeTimeFaceVerifyStartMinute,
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ OUT_FREEZE_TIME_FACE_VERIFY_END_MINUTE: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ validator: validateOutFreezeTimeFaceVerifyEndMinute,
|
|
|
+ trigger: "blur"
|
|
|
+ }
|
|
|
+ ],
|
|
|
LIVING_WARN_THRESHOLD: [
|
|
|
{
|
|
|
required: true,
|
|
@@ -1079,6 +1227,7 @@ export default {
|
|
|
this.form.properties.IS_STRANGER_ENABLE = "false";
|
|
|
this.form.properties.IS_FACE_CHECK = "false";
|
|
|
this.form.properties.IS_FACE_VERIFY = "false";
|
|
|
+ this.form.properties.ADD_FACE_VERIFY_OUT_FREEZE_TIME = "false";
|
|
|
}
|
|
|
},
|
|
|
init() {
|
|
@@ -1137,6 +1286,7 @@ export default {
|
|
|
this.form.properties.IS_STRANGER_ENABLE = "false";
|
|
|
this.form.properties.IS_FACE_CHECK = "false";
|
|
|
this.form.properties.IS_FACE_VERIFY = "false";
|
|
|
+ this.form.properties.ADD_FACE_VERIFY_OUT_FREEZE_TIME = "false";
|
|
|
this.is_face_enable_diabled = true;
|
|
|
} else {
|
|
|
this.is_face_enable_diabled = false;
|
|
@@ -1144,6 +1294,7 @@ export default {
|
|
|
if (!res.IDENTIFICATION_OF_LIVING_BODY) {
|
|
|
this.is_face_verify_diabled = true;
|
|
|
this.form.properties.IS_FACE_VERIFY = "false";
|
|
|
+ this.form.properties.ADD_FACE_VERIFY_OUT_FREEZE_TIME = "false";
|
|
|
} else {
|
|
|
this.is_face_verify_diabled = false;
|
|
|
}
|
|
@@ -1158,6 +1309,18 @@ export default {
|
|
|
this.form.properties.WEIXIN_ANSWER_ENABLED = false;
|
|
|
}
|
|
|
});
|
|
|
+ this.getOrgProperty("IDENTIFICATION_OF_LIVING_BODY_SCHEME", function(
|
|
|
+ res
|
|
|
+ ) {
|
|
|
+ this.form.properties.IDENTIFICATION_OF_LIVING_BODY_SCHEME = res;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getOrgProperty: function(propkey, callback) {
|
|
|
+ let url = CORE_API + "/org/property/" + this.rootOrgId + "/" + propkey;
|
|
|
+ this.$httpWithMsg.get(url).then(response => {
|
|
|
+ let res = response.data;
|
|
|
+ callback(res);
|
|
|
+ });
|
|
|
},
|
|
|
saveExam: function() {
|
|
|
this.toActiveName = null;
|