Commit 65bb590a authored by “yiyousong”'s avatar “yiyousong”

perf: 优化站点管理

parent 0a2e3555
<template> <template>
<div> <div>
<a-checkbox :checked="value" @change="onChange"> <a-checkbox :checked="value" @change="onChange">
{{ checkText }}</a-checkbox <slot></slot>
> </a-checkbox>
</div> </div>
</template> </template>
...@@ -16,10 +16,6 @@ export default { ...@@ -16,10 +16,6 @@ export default {
checked: { checked: {
required: true, required: true,
}, },
checkText: {
required: true,
default: "",
},
}, },
computed: { computed: {
value() { value() {
...@@ -34,5 +30,4 @@ export default { ...@@ -34,5 +30,4 @@ export default {
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped></style>
</style>
\ No newline at end of file
...@@ -157,7 +157,7 @@ ...@@ -157,7 +157,7 @@
import YSwitch from "../../../../components/yswitch/YSwitch.vue"; import YSwitch from "../../../../components/yswitch/YSwitch.vue";
import { saveApp } from "@/services/market"; import { saveApp } from "@/services/market";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { changeCodeNumber } from "@/utils/validate"; import { checkCodeNumber } from "@/utils/validate";
// import local from "@/utils/local"; // import local from "@/utils/local";
export default { export default {
components: { components: {
...@@ -221,7 +221,7 @@ export default { ...@@ -221,7 +221,7 @@ export default {
{ required: true, message: "请输入应用名称", trigger: "blur" }, { required: true, message: "请输入应用名称", trigger: "blur" },
], ],
appCode: [ appCode: [
{ required: true, validator: changeCodeNumber, trigger: "blur" }, { required: true, validator: checkCodeNumber, trigger: "blur" },
], ],
appIconPath: [ appIconPath: [
{ required: true, message: "请上传应用图标", trigger: "change" }, { required: true, message: "请上传应用图标", trigger: "change" },
......
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
<script> <script>
import { saveTemplete, getTempleteList } from "@/services/market"; import { saveTemplete, getTempleteList } from "@/services/market";
import { changeCodeNumber } from "@/utils/validate"; import { checkCodeNumber } from "@/utils/validate";
const fieldTypeItem = [ const fieldTypeItem = [
{ {
value: "input", value: "input",
...@@ -266,7 +266,7 @@ export default { ...@@ -266,7 +266,7 @@ export default {
templeteList: [], // 字段列表 templeteList: [], // 字段列表
rules: { rules: {
fieldCode: [ fieldCode: [
{ required: true, validator: changeCodeNumber, trigger: "blur" }, { required: true, validator: checkCodeNumber, trigger: "blur" },
], ],
fieldName: [ fieldName: [
{ required: true, message: "请输入字段名称", trigger: "blur" }, { required: true, message: "请输入字段名称", trigger: "blur" },
......
...@@ -109,7 +109,7 @@ import local from "@/utils/local"; ...@@ -109,7 +109,7 @@ import local from "@/utils/local";
export default { export default {
components: { YSwitch }, components: { YSwitch },
data() { data() {
// const changeLandline = (rule, value, callback) => { // const checkLandline = (rule, value, callback) => {
// if (!value) { // if (!value) {
// callback(new Error("请输入座机号")); // callback(new Error("请输入座机号"));
// callback(); // callback();
...@@ -152,7 +152,7 @@ export default { ...@@ -152,7 +152,7 @@ export default {
{ required: true, message: "部门编号不能为空", trigger: "blur" }, { required: true, message: "部门编号不能为空", trigger: "blur" },
], ],
// deptTelphone: [ // deptTelphone: [
// { required: true, validator: changeLandline, trigger: "blur" }, // { required: true, validator: checkLandline, trigger: "blur" },
// ], // ],
}, },
}; };
......
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
<script> <script>
import { addWindow } from "@/services/dept"; import { addWindow } from "@/services/dept";
import YSwitch from "@/components/yswitch/YSwitch.vue"; import YSwitch from "@/components/yswitch/YSwitch.vue";
import { changeWindowNumber } from "@/utils/validate"; import { checkWindowNumber } from "@/utils/validate";
import local from "@/utils/local"; import local from "@/utils/local";
export default { export default {
components: { components: {
...@@ -242,7 +242,7 @@ export default { ...@@ -242,7 +242,7 @@ export default {
], ],
name: [{ required: true, message: "窗口名不能为空", trigger: "blur" }], name: [{ required: true, message: "窗口名不能为空", trigger: "blur" }],
fromnum: [ fromnum: [
{ required: true, validator: changeWindowNumber, trigger: "blur" }, { required: true, validator: checkWindowNumber, trigger: "blur" },
], ],
deptId: [ deptId: [
......
...@@ -236,34 +236,13 @@ ...@@ -236,34 +236,13 @@
</a-col> </a-col>
</a-row> </a-row>
<a-form-model-item label="工作日"> <a-form-model-item label="工作日">
<y-checkbox <y-checkbox v-model="formInfo.workday1"> 星期一 </y-checkbox>
v-model="formInfo.workday1" <y-checkbox v-model="formInfo.workday2">星期二 </y-checkbox>
checkText="星期一" <y-checkbox v-model="formInfo.workday3"> 星期三 </y-checkbox>
></y-checkbox> <y-checkbox v-model="formInfo.workday4"> 星期四 </y-checkbox>
<y-checkbox <y-checkbox v-model="formInfo.workday5"> 星期五 </y-checkbox>
v-model="formInfo.workday2" <y-checkbox v-model="formInfo.workday6"> 星期六</y-checkbox>
checkText="星期二" <y-checkbox v-model="formInfo.workday7"> 星期天 </y-checkbox>
></y-checkbox>
<y-checkbox
v-model="formInfo.workday3"
checkText="星期三"
></y-checkbox>
<y-checkbox
v-model="formInfo.workday4"
checkText="星期四"
></y-checkbox>
<y-checkbox
v-model="formInfo.workday5"
checkText="星期五"
></y-checkbox>
<y-checkbox
v-model="formInfo.workday6"
checkText="星期六"
></y-checkbox>
<y-checkbox
v-model="formInfo.workday7"
checkText="星期天"
></y-checkbox>
</a-form-model-item> </a-form-model-item>
<a-row> <a-row>
<a-col :span="4"> <a-col :span="4">
...@@ -308,7 +287,7 @@ import YCheckbox from "@/components/ycheckbox/YCheckbox.vue"; ...@@ -308,7 +287,7 @@ import YCheckbox from "@/components/ycheckbox/YCheckbox.vue";
import YSwitch from "@/components/yswitch/YSwitch.vue"; import YSwitch from "@/components/yswitch/YSwitch.vue";
// import options from "@/utils/city"; // import options from "@/utils/city";
import { regionData } from "element-china-area-data"; import { regionData } from "element-china-area-data";
import { checkPort, checkIp } from "@/utils/validate"; import { checkPort, checkIp, checkPhone } from "@/utils/validate";
export default { export default {
props: { props: {
formVisible: { formVisible: {
...@@ -325,27 +304,6 @@ export default { ...@@ -325,27 +304,6 @@ export default {
YSwitch, YSwitch,
}, },
data() { data() {
// 验证手机号码
const changePhone = (rule, value, callback) => {
if (!value) {
callback(new Error("请输入手机号"));
callback();
} else if (!/^1[3-9]\d{9}$/.test(value)) {
callback(new Error("手机号码格式不正确"));
} else {
callback();
}
};
// const changeLandline = (rule, value, callback) => {
// if (!value) {
// callback(new Error("请输入中心座机号"));
// callback();
// } else if (!/^[0][1-9]{2,3}-[0-9]{5,10}$/.test(value)) {
// callback(new Error("格式:区号-电话号码"));
// } else {
// callback();
// }
// };
return { return {
api: process.env.VUE_APP_API_BASE_URL + "/", api: process.env.VUE_APP_API_BASE_URL + "/",
accept: "image/jpeg,image/png", // 上传类型 accept: "image/jpeg,image/png", // 上传类型
...@@ -502,7 +460,7 @@ export default { ...@@ -502,7 +460,7 @@ export default {
leadingOfficialTelephone: [ leadingOfficialTelephone: [
{ {
required: true, required: true,
validator: changePhone, validator: checkPhone,
trigger: "blur", trigger: "blur",
}, },
], ],
...@@ -601,8 +559,7 @@ export default { ...@@ -601,8 +559,7 @@ export default {
}, },
// 关闭对话框 // 关闭对话框
closeModal() { closeModal() {
this.fileList = []; this.resetForm();
this.$refs.ruleForm.resetFields();
this.Visible = false; this.Visible = false;
}, },
// 新增 // 新增
...@@ -614,27 +571,37 @@ export default { ...@@ -614,27 +571,37 @@ export default {
// 编辑 // 编辑
onEdit(data) { onEdit(data) {
this.$nextTick(() => { this.$nextTick(() => {
this.formInfo = { ...data }; let {
this.areaInfo.areaID = this.formInfo.areaID; areaID,
this.areaInfo.areaCode = this.formInfo.areaCode; areaCode,
this.areaInfo.areaName = this.formInfo.areaName; areaName,
this.cityData = [ proCode,
this.formInfo.proCode, cityCode,
this.formInfo.cityCode, districtCode,
this.formInfo.districtCode, modelIds,
]; amWorkStartTime,
this.formInfo.modelIds = this.formInfo.modelIds.map(Number); amWorkEndTime,
this.formInfo.amWorkStartTime = String(this.formInfo.amWorkStartTime); pmWorkStartTime,
this.formInfo.amWorkEndTime = String(this.formInfo.amWorkEndTime); pmWorkEndTime,
this.formInfo.pmWorkStartTime = String(this.formInfo.pmWorkStartTime); logoPath,
this.formInfo.pmWorkEndTime = String(this.formInfo.pmWorkEndTime); } = (this.formInfo = data);
if (this.formInfo.logoPath) {
this.areaInfo.areaID = areaID;
this.areaInfo.areaCode = areaCode;
this.areaInfo.areaName = areaName;
this.cityData = [proCode, cityCode, districtCode];
this.formInfo.modelIds = modelIds.map(Number);
this.formInfo.amWorkStartTime = String(amWorkStartTime);
this.formInfo.amWorkEndTime = String(amWorkEndTime);
this.formInfo.pmWorkStartTime = String(pmWorkStartTime);
this.formInfo.pmWorkEndTime = String(pmWorkEndTime);
if (logoPath) {
this.fileList = [ this.fileList = [
{ {
uid: -1, uid: -1,
status: "done", status: "done",
name: this.formInfo.logoPath, name: logoPath,
url: this.formInfo.logoPath, url: logoPath,
}, },
]; ];
} }
...@@ -658,8 +625,7 @@ export default { ...@@ -658,8 +625,7 @@ export default {
this.loading = false; this.loading = false;
if (code === 1) { if (code === 1) {
this.$message.success(msg); this.$message.success(msg);
this.fileList = []; this.closeModal();
this.Visible = false;
this.$parent.getSiteList({ areaID: this.areaInfo.areaID }); this.$parent.getSiteList({ areaID: this.areaInfo.areaID });
} }
} }
...@@ -740,10 +706,8 @@ export default { ...@@ -740,10 +706,8 @@ export default {
.then((res) => { .then((res) => {
if (res.status == 1) { if (res.status == 1) {
let { location } = res.geocodes[0]; let { location } = res.geocodes[0];
[ [this.formInfo.longitude, this.formInfo.latitude] =
this.formInfo.longitude, location.split(",");
this.formInfo.latitude,
] = location.split(",");
} else { } else {
this.$message.error("经纬度获取失败,请输入正确的地址"); this.$message.error("经纬度获取失败,请输入正确的地址");
} }
......
...@@ -160,27 +160,14 @@ ...@@ -160,27 +160,14 @@
<a-row> <a-row>
<a-col :span="16"> <a-col :span="16">
<span>工作日:</span> <span>工作日:</span>
<span class="work-day" v-if="item.workday1 === 1" <template v-for="(day, i) in workday">
>星期一</span <span
> :key="day"
<span class="work-day" v-if="item.workday2 === 1" class="work-day"
>星期二</span v-if="item[`workday${i + 1}`]"
> >{{ day }}</span
<span class="work-day" v-if="item.workday3 === 1"
>星期三</span
>
<span class="work-day" v-if="item.workday4 === 1"
>星期四</span
>
<span class="work-day" v-if="item.workday5 === 1"
>星期五</span
>
<span class="work-day" v-if="item.workday6 === 1"
>星期六</span
>
<span class="work-day" v-if="item.workday7 === 1"
>星期天</span
> >
</template>
</a-col> </a-col>
</a-row> </a-row>
</div> </div>
...@@ -267,6 +254,15 @@ import { ...@@ -267,6 +254,15 @@ import {
getSiteList, getSiteList,
SyncSiteData, SyncSiteData,
} from "@/services/basicsetFun"; } from "@/services/basicsetFun";
const workday = [
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
"星期日",
];
export default { export default {
components: { components: {
sitetree, sitetree,
...@@ -277,6 +273,7 @@ export default { ...@@ -277,6 +273,7 @@ export default {
data() { data() {
return { return {
workday,
loading: false, loading: false,
title: "新增站点", title: "新增站点",
formVisible: false, formVisible: false,
...@@ -329,7 +326,6 @@ export default { ...@@ -329,7 +326,6 @@ export default {
async getSiteInfo() { async getSiteInfo() {
this.loading = true; this.loading = true;
let res = await siteInfo({ id: this.siteId }); let res = await siteInfo({ id: this.siteId });
this.loading = false;
if (res.data.code === 1) { if (res.data.code === 1) {
let { data, dict } = res.data; let { data, dict } = res.data;
data.modelIds = data.modelIds.split(","); data.modelIds = data.modelIds.split(",");
...@@ -345,6 +341,7 @@ export default { ...@@ -345,6 +341,7 @@ export default {
}); });
this.siteData = [data]; this.siteData = [data];
} }
this.loading = false;
}, },
// 删除 // 删除
...@@ -378,18 +375,18 @@ export default { ...@@ -378,18 +375,18 @@ export default {
}, },
//查看全部 //查看全部
cookAll(text) { cookAll(text) {
this.allShow = true;
this.details = text; this.details = text;
this.allShow = true;
}, },
//新增站点 //新增站点
addSiteAll() { addSiteAll() {
if (this.areaID) { if (!this.areaID) {
this.$message.warning("请先选择区域");
return;
}
this.title = "新增站点"; this.title = "新增站点";
this.formVisible = true; this.formVisible = true;
this.$refs.addsite.onAdd(); this.$refs.addsite.onAdd();
} else {
this.$message.warning("请先选择区域");
}
}, },
// 切换站点 // 切换站点
changePage(num) { changePage(num) {
...@@ -399,10 +396,11 @@ export default { ...@@ -399,10 +396,11 @@ export default {
this.formVisible = false; this.formVisible = false;
}, },
// 编辑 // 编辑
editSiteInfo(data) { editSiteInfo(row) {
this.title = "编辑站点"; this.title = "编辑站点";
this.formVisible = true; let data = this.$_.cloneDeep(row);
this.$refs.addsite.onEdit(data); this.$refs.addsite.onEdit(data);
this.formVisible = true;
}, },
// 同步数据 // 同步数据
handleSync(id) { handleSync(id) {
...@@ -564,16 +562,16 @@ export default { ...@@ -564,16 +562,16 @@ export default {
.item_box { .item_box {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 10px;
.item { .item {
width: 140px; width: 140px;
height: 54px; height: 54px;
margin-right: 10px;
margin-bottom: 10px;
padding: 6px; padding: 6px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
background-color: #38b6ff; background-color: #38b6ff;
text-align: center;
color: #fff; color: #fff;
border-radius: 5px; border-radius: 5px;
} }
......
...@@ -335,7 +335,7 @@ ...@@ -335,7 +335,7 @@
<script> <script>
import { getWindowList, saveWorkman } from "@/services/dept"; import { getWindowList, saveWorkman } from "@/services/dept";
import { modelList } from "@/services/basicsetFun"; import { modelList } from "@/services/basicsetFun";
// import { changePhone, changeLandline } from "@/utils/validate"; // import { checkPhone, checkLandline } from "@/utils/validate";
export default { export default {
props: { props: {
editVisible: { editVisible: {
...@@ -435,9 +435,9 @@ export default { ...@@ -435,9 +435,9 @@ export default {
// windowId: [ // windowId: [
// { required: true, message: "窗口不能为空", trigger: "change" }, // { required: true, message: "窗口不能为空", trigger: "change" },
// ], // ],
// mobile: [{ required: false, validator: changePhone, trigger: "blur" }], // mobile: [{ required: false, validator: checkPhone, trigger: "blur" }],
// phone: [ // phone: [
// { required: false, validator: changeLandline, trigger: "blur" }, // { required: false, validator: checkLandline, trigger: "blur" },
// ], // ],
idCard: [{ required: false, validator: checkIdCard, trigger: "blur" }], idCard: [{ required: false, validator: checkIdCard, trigger: "blur" }],
}, },
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
</template> </template>
<script> <script>
import { changeAccount, changePassWord } from "@/utils/validate"; import { checkAccount, checkPassWord } from "@/utils/validate";
import { changePwd } from "@/services/dept"; import { changePwd } from "@/services/dept";
export default { export default {
props: { props: {
...@@ -72,14 +72,10 @@ export default { ...@@ -72,14 +72,10 @@ export default {
}, },
rules: { rules: {
loginName: [ loginName: [
{ required: true, validator: changeAccount, trigger: "blur" }, { required: true, validator: checkAccount, trigger: "blur" },
],
oldPwd: [
{ required: true, validator: changePassWord, trigger: "blur" },
],
newPwd: [
{ required: true, validator: changePassWord, trigger: "blur" },
], ],
oldPwd: [{ required: true, validator: checkPassWord, trigger: "blur" }],
newPwd: [{ required: true, validator: checkPassWord, trigger: "blur" }],
newPwdAgain: [ newPwdAgain: [
{ required: true, validator: changePwdAgain, trigger: "blur" }, { required: true, validator: changePwdAgain, trigger: "blur" },
], ],
......
...@@ -365,10 +365,10 @@ ...@@ -365,10 +365,10 @@
</template> </template>
<script> <script>
import { changeAccount, changePassWord } from "@/utils/validate"; import { checkAccount, checkPassWord } from "@/utils/validate";
import { getWindowList, saveWorkman } from "@/services/dept"; import { getWindowList, saveWorkman } from "@/services/dept";
import { modelList } from "@/services/basicsetFun"; import { modelList } from "@/services/basicsetFun";
// import { changePhone, changeLandline } from "@/utils/validate"; // import { checkPhone, checkLandline } from "@/utils/validate";
import local from "@/utils/local"; import local from "@/utils/local";
export default { export default {
props: { props: {
...@@ -470,14 +470,14 @@ export default { ...@@ -470,14 +470,14 @@ export default {
// { required: true, message: "窗口不能为空", trigger: "change" }, // { required: true, message: "窗口不能为空", trigger: "change" },
// ], // ],
loginName: [ loginName: [
{ required: true, validator: changeAccount, trigger: "blur" }, { required: true, validator: checkAccount, trigger: "blur" },
], ],
loginPwd: [ loginPwd: [
{ required: true, validator: changePassWord, trigger: "blur" }, { required: true, validator: checkPassWord, trigger: "blur" },
], ],
// mobile: [{ required: false, validator: changePhone, trigger: "blur" }], // mobile: [{ required: false, validator: checkPhone, trigger: "blur" }],
// phone: [ // phone: [
// { required: false, validator: changeLandline, trigger: "blur" }, // { required: false, validator: checkLandline, trigger: "blur" },
// ], // ],
idCard: [{ required: false, validator: checkIdCard, trigger: "blur" }], idCard: [{ required: false, validator: checkIdCard, trigger: "blur" }],
}, },
......
...@@ -12,7 +12,11 @@ export function isNumber(rule, value, callback) { ...@@ -12,7 +12,11 @@ export function isNumber(rule, value, callback) {
export const checkFlowNum = (rule, value, callback) => { export const checkFlowNum = (rule, value, callback) => {
let reg = /^[A-Z][a-zA-Z0-9]{3,32}$/; let reg = /^[A-Z][a-zA-Z0-9]{3,32}$/;
if (!value) { if (!value) {
callback(new Error("请输入流水编号")); if (rule.required) {
callback(new Error(rule.msg || "请输入流水编号"));
} else {
callback();
}
} else if (!reg.test(value)) { } else if (!reg.test(value)) {
callback(new Error("格式为大写字母开头,4~32位")); callback(new Error("格式为大写字母开头,4~32位"));
} else { } else {
...@@ -42,9 +46,13 @@ export const checkBusinessName = (rule, value, callback) => { ...@@ -42,9 +46,13 @@ export const checkBusinessName = (rule, value, callback) => {
} }
}; };
// 验证账号 // 验证账号
export const changeAccount = (rule, value, callback) => { export const checkAccount = (rule, value, callback) => {
if (!value) { if (!value) {
callback(new Error("请输入用户名")); if (rule.required) {
callback(new Error(rule.msg || "请输入用户名"));
} else {
callback();
}
} else if (!/^[a-zA-Z0-9_-]{2,16}$/.test(value)) { } else if (!/^[a-zA-Z0-9_-]{2,16}$/.test(value)) {
callback(new Error("2到16位(字母,数字,下划线,中横线)")); callback(new Error("2到16位(字母,数字,下划线,中横线)"));
} else { } else {
...@@ -53,9 +61,13 @@ export const changeAccount = (rule, value, callback) => { ...@@ -53,9 +61,13 @@ export const changeAccount = (rule, value, callback) => {
}; };
// 验证密码 // 验证密码
export const changePassWord = (rule, value, callback) => { export const checkPassWord = (rule, value, callback) => {
if (!value) { if (!value) {
callback(new Error("请输入密码")); if (rule.required) {
callback(new Error(rule.msg || "请输入密码"));
} else {
callback();
}
} else if (!/^[a-zA-Z0-9_-]{2,18}$/.test(value)) { } else if (!/^[a-zA-Z0-9_-]{2,18}$/.test(value)) {
callback(new Error("2到18位(字母,数字,下划线,中横线)")); callback(new Error("2到18位(字母,数字,下划线,中横线)"));
} else { } else {
...@@ -63,10 +75,13 @@ export const changePassWord = (rule, value, callback) => { ...@@ -63,10 +75,13 @@ export const changePassWord = (rule, value, callback) => {
} }
}; };
// 验证手机号码 // 验证手机号码
export const changePhone = (rule, value, callback) => { export const checkPhone = (rule, value, callback) => {
if (!value) { if (!value) {
callback(new Error("请输入手机号")); if (rule.required) {
callback(new Error(rule.msg || "请输入手机号"));
} else {
callback(); callback();
}
} else if (!/^1[3-9]\d{9}$/.test(value)) { } else if (!/^1[3-9]\d{9}$/.test(value)) {
callback(new Error("手机号码格式不正确")); callback(new Error("手机号码格式不正确"));
} else { } else {
...@@ -75,11 +90,15 @@ export const changePhone = (rule, value, callback) => { ...@@ -75,11 +90,15 @@ export const changePhone = (rule, value, callback) => {
}; };
// 验证座机号码 // 验证座机号码
export const changeLandline = (rule, value, callback) => { export const checkLandline = (rule, value, callback) => {
let reg = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
if (!value) { if (!value) {
// callback(new Error("请输入座机号")); if (rule.required) {
callback(new Error(rule.msg || "请输入座机号"));
} else {
callback(); callback();
} else if (!/^[0][1-9]{2,3}-[0-9]{5,10}$/.test(value)) { }
} else if (!reg.test(value)) {
callback(new Error("区号-电话号码")); callback(new Error("区号-电话号码"));
} else { } else {
callback(); callback();
...@@ -87,7 +106,7 @@ export const changeLandline = (rule, value, callback) => { ...@@ -87,7 +106,7 @@ export const changeLandline = (rule, value, callback) => {
}; };
// 窗口编号验证(字母加数字 数字不能大于1000) // 窗口编号验证(字母加数字 数字不能大于1000)
export const changeWindowNumber = (rule, value, callback) => { export const checkWindowNumber = (rule, value, callback) => {
if (!value) { if (!value) {
callback(new Error("请输入窗口编号")); callback(new Error("请输入窗口编号"));
} else if ( } else if (
...@@ -101,7 +120,7 @@ export const changeWindowNumber = (rule, value, callback) => { ...@@ -101,7 +120,7 @@ export const changeWindowNumber = (rule, value, callback) => {
}; };
// 校验编码 // 校验编码
export const changeCodeNumber = (rule, value, callback) => { export const checkCodeNumber = (rule, value, callback) => {
let reg = /^[a-zA-Z\d]{2,30}$/; let reg = /^[a-zA-Z\d]{2,30}$/;
if (!value) { if (!value) {
callback(new Error("请输入编码")); callback(new Error("请输入编码"));
...@@ -113,13 +132,15 @@ export const changeCodeNumber = (rule, value, callback) => { ...@@ -113,13 +132,15 @@ export const changeCodeNumber = (rule, value, callback) => {
}; };
// 验证mac地址 // 验证mac地址
export const checkMac = (rule, value, callback) => { export const checkMac = (rule, value, callback) => {
let reg =
/^(([a-f0-9][0,2,4,6,8,a,c,e]:([a-f0-9]{2}:){4})|([a-f0-9][0,2,4,6,8,a,c,e]-([a-f0-9]{2}-){4}))[a-f0-9]{2}$/i;
if (!value) { if (!value) {
callback(new Error("请输入mac地址")); if (rule.required) {
} else if ( callback(new Error(rule.msg || "请输入mac地址"));
!/^(([a-f0-9][0,2,4,6,8,a,c,e]:([a-f0-9]{2}:){4})|([a-f0-9][0,2,4,6,8,a,c,e]-([a-f0-9]{2}-){4}))[a-f0-9]{2}$/i.test( } else {
value callback();
) }
) { } else if (!reg.test(value)) {
callback(new Error("mac地址格式错误")); callback(new Error("mac地址格式错误"));
} else { } else {
callback(); callback();
...@@ -128,17 +149,15 @@ export const checkMac = (rule, value, callback) => { ...@@ -128,17 +149,15 @@ export const checkMac = (rule, value, callback) => {
// 验证端口 // 验证端口
export const checkPort = (rule, value, callback) => { export const checkPort = (rule, value, callback) => {
let reg =
/^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;
if (!value) { if (!value) {
if (rule.required) { if (rule.required) {
callback(new Error("端口号不能为空")); callback(new Error(rule.msg || "请输入端口号"));
} else { } else {
callback(); callback();
} }
} else if ( } else if (!reg.test(value)) {
!/^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/.test(
value
)
) {
callback(new Error("端口号格式错误")); callback(new Error("端口号格式错误"));
} else { } else {
callback(); callback();
...@@ -147,19 +166,51 @@ export const checkPort = (rule, value, callback) => { ...@@ -147,19 +166,51 @@ export const checkPort = (rule, value, callback) => {
// 验证ip // 验证ip
export const checkIp = (rule, value, callback) => { export const checkIp = (rule, value, callback) => {
let reg =
/^(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/;
if (!value) { if (!value) {
if (rule.required) { if (rule.required) {
callback(new Error("ip不能为空")); callback(new Error(rule.msg || "请输入ip"));
} else { } else {
callback(); callback();
} }
} else if ( } else if (!reg.test(value)) {
!/^(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/.test(
value
)
) {
callback(new Error("ip格式错误")); callback(new Error("ip格式错误"));
} else { } else {
callback(); callback();
} }
}; };
// 验证邮箱
export const ckeckEmail = (rule, value, callback) => {
let reg = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
if (!value) {
if (rule.required) {
callback(new Error(rule.msg || "请输入邮箱"));
} else {
callback();
}
} else if (!reg.test(value)) {
callback(new Error("邮箱格式不正确"));
} else {
callback();
}
};
// 验证网址
export const ckeckUrl = (rule, value, callback) => {
let reg =
/^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/;
if (!value) {
if (rule.required) {
callback(new Error(rule.msg || "请输入网址"));
} else {
callback();
}
} else if (!reg.test(value)) {
callback(new Error("网址格式错误"));
} else {
callback();
}
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment