|
@@ -533,8 +533,10 @@
|
|
|
|
|
|
<el-tab-pane label="其他设置" name="third">
|
|
<el-tab-pane label="其他设置" name="third">
|
|
<el-form
|
|
<el-form
|
|
|
|
+ ref="form3"
|
|
:model="form"
|
|
:model="form"
|
|
label-width="170px"
|
|
label-width="170px"
|
|
|
|
+ :rules="rules"
|
|
inline
|
|
inline
|
|
:disabled="disableEdit"
|
|
:disabled="disableEdit"
|
|
>
|
|
>
|
|
@@ -549,9 +551,13 @@
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
<el-form-item label="须知强制阅读时长">
|
|
<el-form-item label="须知强制阅读时长">
|
|
- <el-input v-model.trim="form.preNoticeStaySeconds">
|
|
|
|
- <template slot="append">秒</template>
|
|
|
|
- </el-input>
|
|
|
|
|
|
+ <el-input-number
|
|
|
|
+ :min="0"
|
|
|
|
+ :max="24 * 60 * 60"
|
|
|
|
+ step-strictly
|
|
|
|
+ :controls="false"
|
|
|
|
+ v-model.trim="form.preNoticeStaySeconds"
|
|
|
|
+ />(秒)
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
@@ -569,9 +575,12 @@
|
|
<el-radio v-model="form.enableIpLimit" :label="0">否</el-radio>
|
|
<el-radio v-model="form.enableIpLimit" :label="0">否</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-row>
|
|
- <el-row>
|
|
|
|
- <el-form-item label="IP段(*表示任意):">
|
|
|
|
- <el-input v-model.trim="form.ipAllow"></el-input>
|
|
|
|
|
|
+ <el-row v-if="form.enableIpLimit">
|
|
|
|
+ <el-form-item label="IP段(*表示任意):" prop="ipAllow">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model.trim="form.ipAllow"
|
|
|
|
+ placeholder="192.168.10.1, 192.168.11.*, 172.10.*.*"
|
|
|
|
+ ></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-row>
|
|
</el-form>
|
|
</el-form>
|
|
@@ -794,11 +803,11 @@ export default {
|
|
mode: { required: true, message: "必填" },
|
|
mode: { required: true, message: "必填" },
|
|
name: [
|
|
name: [
|
|
{ required: true, message: "必填" },
|
|
{ required: true, message: "必填" },
|
|
- { type: "string", min: 1, max: 30 },
|
|
|
|
|
|
+ { type: "string", min: 1, max: 30, message: "长度必须在1到30之间" },
|
|
],
|
|
],
|
|
code: [
|
|
code: [
|
|
{ required: true, message: "必填" },
|
|
{ required: true, message: "必填" },
|
|
- { type: "string", min: 1, max: 30 },
|
|
|
|
|
|
+ { type: "string", min: 1, max: 30, message: "长度必须在1到30之间" },
|
|
],
|
|
],
|
|
startEndTimeProxy: { required: true, message: "必填" },
|
|
startEndTimeProxy: { required: true, message: "必填" },
|
|
inProcessLivenessFixedRange: {
|
|
inProcessLivenessFixedRange: {
|
|
@@ -842,6 +851,41 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
+ ipAllow: {
|
|
|
|
+ validator: (rule, value) => {
|
|
|
|
+ console.log(value);
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
+ if (!this.form.enableIpLimit) {
|
|
|
|
+ resolve();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ const ips = value.split(",").map((v) => v.trim());
|
|
|
|
+ console.log(ips);
|
|
|
|
+ const checkIpSeg = (seg, idx) => {
|
|
|
|
+ if (idx < 2) {
|
|
|
|
+ if (!/^\d+$/.test(seg)) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ } else if (idx >= 2 && idx < 4) {
|
|
|
|
+ if (!(/^\d+$/.test(seg) || /^\*$/.test(seg))) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+ };
|
|
|
|
+ if (
|
|
|
|
+ ips.every(
|
|
|
|
+ (v) =>
|
|
|
|
+ v.split(".").length === 4 && v.split(".").every(checkIpSeg)
|
|
|
|
+ )
|
|
|
|
+ ) {
|
|
|
|
+ resolve();
|
|
|
|
+ } else {
|
|
|
|
+ reject("格式不匹配");
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ },
|
|
},
|
|
},
|
|
orgSetting: null,
|
|
orgSetting: null,
|
|
loading: false,
|
|
loading: false,
|
|
@@ -870,7 +914,7 @@ export default {
|
|
try {
|
|
try {
|
|
await this.$refs.form1.validate();
|
|
await this.$refs.form1.validate();
|
|
await this.$refs.form2.validate();
|
|
await this.$refs.form2.validate();
|
|
- // await this.$refs.form3.validate();
|
|
|
|
|
|
+ await this.$refs.form3.validate();
|
|
} catch (error) {
|
|
} catch (error) {
|
|
console.log("校验失败", error);
|
|
console.log("校验失败", error);
|
|
this.$notify({
|
|
this.$notify({
|