|
@@ -16,18 +16,10 @@
|
|
label-position="right"
|
|
label-position="right"
|
|
>
|
|
>
|
|
<div style="margin-bottom: 10px;">
|
|
<div style="margin-bottom: 10px;">
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- size="small"
|
|
|
|
- icon="el-icon-document"
|
|
|
|
- @click="saveExam"
|
|
|
|
|
|
+ <el-button type="primary" size="small" @click="saveExam"
|
|
>保 存</el-button
|
|
>保 存</el-button
|
|
>
|
|
>
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- size="small"
|
|
|
|
- @click="back"
|
|
|
|
- icon="el-icon-arrow-left"
|
|
|
|
|
|
+ <el-button type="primary" size="small" @click="back"
|
|
>返 回</el-button
|
|
>返 回</el-button
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
@@ -315,10 +307,10 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-row>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
- <el-tab-pane label="生物检测设置" name="tab4">
|
|
|
|
|
|
+ <el-tab-pane label="身份检测设置" name="tab4">
|
|
<el-row>
|
|
<el-row>
|
|
<el-form-item
|
|
<el-form-item
|
|
- label="开启生物检测"
|
|
|
|
|
|
+ label="开启身份检测"
|
|
:label-width="style.label_width_tab4"
|
|
:label-width="style.label_width_tab4"
|
|
>
|
|
>
|
|
<el-radio-group
|
|
<el-radio-group
|
|
@@ -587,7 +579,7 @@ let validateFreezeTime = (rule, value, callback) => {
|
|
_this.toActiveName = "tab2";
|
|
_this.toActiveName = "tab2";
|
|
_this.activeName = "tab2";
|
|
_this.activeName = "tab2";
|
|
}
|
|
}
|
|
- } else if (duration != "" && freezeTime > duration) {
|
|
|
|
|
|
+ } else if (duration != "" && parseInt(freezeTime) > parseInt(duration)) {
|
|
callback(new Error("交卷冻结时长不能大于考试时长"));
|
|
callback(new Error("交卷冻结时长不能大于考试时长"));
|
|
if (!_this.toActiveName) {
|
|
if (!_this.toActiveName) {
|
|
_this.toActiveName = "tab2";
|
|
_this.toActiveName = "tab2";
|
|
@@ -640,7 +632,10 @@ let validateSnapshotInterval = (rule, value, callback) => {
|
|
_this.toActiveName = "tab4";
|
|
_this.toActiveName = "tab4";
|
|
_this.activeName = "tab4";
|
|
_this.activeName = "tab4";
|
|
}
|
|
}
|
|
- } else if (duration != "" && snapshotnterval > duration) {
|
|
|
|
|
|
+ } else if (
|
|
|
|
+ duration != "" &&
|
|
|
|
+ parseInt(snapshotnterval) > parseInt(duration)
|
|
|
|
+ ) {
|
|
callback(new Error("抓拍间隔不能大于考试时长"));
|
|
callback(new Error("抓拍间隔不能大于考试时长"));
|
|
if (!_this.toActiveName) {
|
|
if (!_this.toActiveName) {
|
|
_this.toActiveName = "tab4";
|
|
_this.toActiveName = "tab4";
|
|
@@ -665,9 +660,9 @@ let validateWarnThreshold = (rule, value, callback) => {
|
|
}
|
|
}
|
|
} else if (
|
|
} else if (
|
|
0 >= warnThreshold ||
|
|
0 >= warnThreshold ||
|
|
- !warnThreshold.toString().match(/^[1-9]\d*$/)
|
|
|
|
|
|
+ !warnThreshold.toString().match(/^[1-9]\d*|0$/)
|
|
) {
|
|
) {
|
|
- callback(new Error("只能是正整数"));
|
|
|
|
|
|
+ callback(new Error("只能是非负整数"));
|
|
if (!_this.toActiveName) {
|
|
if (!_this.toActiveName) {
|
|
_this.toActiveName = "tab4";
|
|
_this.toActiveName = "tab4";
|
|
_this.activeName = "tab4";
|
|
_this.activeName = "tab4";
|
|
@@ -691,13 +686,82 @@ let validateLivingWarnThreshold = (rule, value, callback) => {
|
|
}
|
|
}
|
|
} else if (
|
|
} else if (
|
|
0 >= livingWarnThreshold ||
|
|
0 >= livingWarnThreshold ||
|
|
- !livingWarnThreshold.toString().match(/^[1-9]\d*$/)
|
|
|
|
|
|
+ !livingWarnThreshold.toString().match(/^[1-9]\d*|0$/)
|
|
) {
|
|
) {
|
|
|
|
+ callback(new Error("只能是非负整数"));
|
|
|
|
+ if (!_this.toActiveName) {
|
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
|
+ _this.activeName = "tab4";
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+let validateFaceVerifyStartMinute = (rule, value, callback) => {
|
|
|
|
+ let isFaceVerify = _this.form.properties.IS_FACE_VERIFY;
|
|
|
|
+ let freezeTime = _this.form.properties.FREEZE_TIME;
|
|
|
|
+ let v = _this.form.properties.FACE_VERIFY_START_MINUTE;
|
|
|
|
+ if (isFaceVerify == "true") {
|
|
|
|
+ if (v === "") {
|
|
|
|
+ callback(new Error("请输入活体检测开始分钟数"));
|
|
|
|
+ if (!_this.toActiveName) {
|
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
|
+ _this.activeName = "tab4";
|
|
|
|
+ }
|
|
|
|
+ } else if (0 >= v || !v.toString().match(/^[1-9]\d*$/)) {
|
|
|
|
+ callback(new Error("只能是正整数"));
|
|
|
|
+ if (!_this.toActiveName) {
|
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
|
+ _this.activeName = "tab4";
|
|
|
|
+ }
|
|
|
|
+ } else if (freezeTime != "" && parseInt(v) > parseInt(freezeTime)) {
|
|
|
|
+ callback(new Error("活体检测开始分钟数不能大于交卷冻结时长"));
|
|
|
|
+ if (!_this.toActiveName) {
|
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
|
+ _this.activeName = "tab4";
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+let validateFaceVerifyEndMinute = (rule, value, callback) => {
|
|
|
|
+ let isFaceVerify = _this.form.properties.IS_FACE_VERIFY;
|
|
|
|
+ let freezeTime = _this.form.properties.FREEZE_TIME;
|
|
|
|
+ let start = _this.form.properties.FACE_VERIFY_START_MINUTE;
|
|
|
|
+ let v = _this.form.properties.FACE_VERIFY_END_MINUTE;
|
|
|
|
+ if (isFaceVerify == "true") {
|
|
|
|
+ if (v === "") {
|
|
|
|
+ callback(new Error("请输入活体检测结束分钟数"));
|
|
|
|
+ if (!_this.toActiveName) {
|
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
|
+ _this.activeName = "tab4";
|
|
|
|
+ }
|
|
|
|
+ } else if (0 >= v || !v.toString().match(/^[1-9]\d*$/)) {
|
|
callback(new Error("只能是正整数"));
|
|
callback(new Error("只能是正整数"));
|
|
if (!_this.toActiveName) {
|
|
if (!_this.toActiveName) {
|
|
_this.toActiveName = "tab4";
|
|
_this.toActiveName = "tab4";
|
|
_this.activeName = "tab4";
|
|
_this.activeName = "tab4";
|
|
}
|
|
}
|
|
|
|
+ } else if (start != "" && parseInt(v) < parseInt(start)) {
|
|
|
|
+ callback(new Error("活体检测结束分钟数不能小于活体检测开始分钟数"));
|
|
|
|
+ if (!_this.toActiveName) {
|
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
|
+ _this.activeName = "tab4";
|
|
|
|
+ }
|
|
|
|
+ } else if (freezeTime != "" && parseInt(v) > parseInt(freezeTime)) {
|
|
|
|
+ callback(new Error("活体检测结束分钟数不能大于交卷冻结时长"));
|
|
|
|
+ if (!_this.toActiveName) {
|
|
|
|
+ _this.toActiveName = "tab4";
|
|
|
|
+ _this.activeName = "tab4";
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
callback();
|
|
callback();
|
|
}
|
|
}
|
|
@@ -717,7 +781,7 @@ export default {
|
|
label_width_tab1: "80px",
|
|
label_width_tab1: "80px",
|
|
label_width_tab2: "110px",
|
|
label_width_tab2: "110px",
|
|
label_width_tab3: "120px",
|
|
label_width_tab3: "120px",
|
|
- label_width_tab4: "160px",
|
|
|
|
|
|
+ label_width_tab4: "170px",
|
|
label_width_tab5: "80px",
|
|
label_width_tab5: "80px",
|
|
label_width_tab6: "120px"
|
|
label_width_tab6: "120px"
|
|
},
|
|
},
|
|
@@ -801,6 +865,20 @@ export default {
|
|
WARN_THRESHOLD: [
|
|
WARN_THRESHOLD: [
|
|
{ required: true, validator: validateWarnThreshold, trigger: "blur" }
|
|
{ required: true, validator: validateWarnThreshold, trigger: "blur" }
|
|
],
|
|
],
|
|
|
|
+ FACE_VERIFY_START_MINUTE: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ validator: validateFaceVerifyStartMinute,
|
|
|
|
+ trigger: "blur"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ FACE_VERIFY_END_MINUTE: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ validator: validateFaceVerifyEndMinute,
|
|
|
|
+ trigger: "blur"
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
LIVING_WARN_THRESHOLD: [
|
|
LIVING_WARN_THRESHOLD: [
|
|
{
|
|
{
|
|
required: true,
|
|
required: true,
|