|
@@ -88,7 +88,7 @@
|
|
|
<el-row :gutter="12" class="form-row">
|
|
<el-row :gutter="12" class="form-row">
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item label="传真:">
|
|
<el-form-item label="传真:">
|
|
|
- <el-input v-model="detailData.fax" placeholder="请输入传真" />
|
|
|
|
|
|
|
+ <el-input v-model="detailData.fax" placeholder="请输入传真" @blur="onFaxBlur" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
@@ -110,8 +110,8 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="邮政编码:">
|
|
|
|
|
- <el-input v-model="detailData.postCode" placeholder="请输入邮政编码" />
|
|
|
|
|
|
|
+ <el-form-item label="邮政编码:" :error="postCodeError">
|
|
|
|
|
+ <el-input v-model="detailData.postCode" placeholder="请输入邮政编码" @blur="onPostCodeBlur" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
@@ -310,6 +310,7 @@ const onOfficeRegionChange = (val: unknown) => {
|
|
|
|
|
|
|
|
const fixedPhoneError = ref('');
|
|
const fixedPhoneError = ref('');
|
|
|
const fixedPhoneReg = /^(\d{3,4}-?)?\d{7,8}(-\d{1,6})?$/;
|
|
const fixedPhoneReg = /^(\d{3,4}-?)?\d{7,8}(-\d{1,6})?$/;
|
|
|
|
|
+const postCodeError = ref('');
|
|
|
|
|
|
|
|
const validateFixedPhone = (val: unknown) => {
|
|
const validateFixedPhone = (val: unknown) => {
|
|
|
const v = String(val ?? '').trim();
|
|
const v = String(val ?? '').trim();
|
|
@@ -318,6 +319,20 @@ const validateFixedPhone = (val: unknown) => {
|
|
|
return '';
|
|
return '';
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+const validatePostCode = (val: unknown) => {
|
|
|
|
|
+ const v = String(val ?? '').trim();
|
|
|
|
|
+ if (!v) return '';
|
|
|
|
|
+ if (!/^\d+$/.test(v)) return '邮政编码只能输入数字';
|
|
|
|
|
+ return '';
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const validateFax = (val: unknown) => {
|
|
|
|
|
+ const v = String(val ?? '').trim();
|
|
|
|
|
+ if (!v) return '';
|
|
|
|
|
+ if (!/^\d+$/.test(v)) return '传真只能输入数字';
|
|
|
|
|
+ return '';
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
watch(
|
|
watch(
|
|
|
() => props.detailData?.fixedPhone,
|
|
() => props.detailData?.fixedPhone,
|
|
|
(v) => {
|
|
(v) => {
|
|
@@ -326,10 +341,27 @@ watch(
|
|
|
{ immediate: true }
|
|
{ immediate: true }
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|
|
+watch(
|
|
|
|
|
+ () => props.detailData?.postCode,
|
|
|
|
|
+ (v) => {
|
|
|
|
|
+ postCodeError.value = validatePostCode(v);
|
|
|
|
|
+ },
|
|
|
|
|
+ { immediate: true }
|
|
|
|
|
+);
|
|
|
|
|
+
|
|
|
const onFixedPhoneBlur = () => {
|
|
const onFixedPhoneBlur = () => {
|
|
|
fixedPhoneError.value = validateFixedPhone(props.detailData?.fixedPhone);
|
|
fixedPhoneError.value = validateFixedPhone(props.detailData?.fixedPhone);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+const onPostCodeBlur = () => {
|
|
|
|
|
+ postCodeError.value = validatePostCode(props.detailData?.postCode);
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const onFaxBlur = () => {
|
|
|
|
|
+ const err = validateFax(props.detailData?.fax);
|
|
|
|
|
+ if (err) ElMessage.warning(err);
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
const onSaveClick = () => {
|
|
const onSaveClick = () => {
|
|
|
const err = validateFixedPhone(props.detailData?.fixedPhone);
|
|
const err = validateFixedPhone(props.detailData?.fixedPhone);
|
|
|
fixedPhoneError.value = err;
|
|
fixedPhoneError.value = err;
|
|
@@ -337,6 +369,19 @@ const onSaveClick = () => {
|
|
|
ElMessage.warning(err);
|
|
ElMessage.warning(err);
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ const postCodeErr = validatePostCode(props.detailData?.postCode);
|
|
|
|
|
+ postCodeError.value = postCodeErr;
|
|
|
|
|
+ if (postCodeErr) {
|
|
|
|
|
+ ElMessage.warning(postCodeErr);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const faxErr = validateFax(props.detailData?.fax);
|
|
|
|
|
+ if (faxErr) {
|
|
|
|
|
+ ElMessage.warning(faxErr);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
emit('save');
|
|
emit('save');
|
|
|
};
|
|
};
|
|
|
</script>
|
|
</script>
|