Browse Source

修复验证异常

1
mo 3 years ago
parent
commit
5ef139476a

+ 99 - 69
src/views/organManager/components/organInfo.vue

@@ -23,8 +23,8 @@
             {
               required: true,
               message: '请上传机构LOGO',
-              trigger: 'blur, change'
-            }
+              trigger: 'blur, change',
+            },
           ]"
         >
           <div style="width: 300px !important">
@@ -41,11 +41,19 @@
               <img v-if="form.logo" :src="form.logo" class="avatar" />
               <i v-else class="el-icon-plus avatar-uploader-icon"></i>
             </el-upload> -->
-            <image-cropper :options="cropperOptions" :disabled="isDisabled" :imgSize="5" accept=".png" :acceptArray="['image/png']" :imageUrl="form.logo" @crop-upload-success="cropSuccess" />
+            <image-cropper
+              :options="cropperOptions"
+              :disabled="isDisabled"
+              :imgSize="5"
+              accept=".png"
+              :acceptArray="['image/png']"
+              :imageUrl="form.logo"
+              @crop-upload-success="cropSuccess"
+            />
             <div
               class="tips"
               v-show="!isDisabled"
-              style="line-height: 1.3;color: red;"
+              style="line-height: 1.3; color: red"
             >
               仅支持图片格式:png,大小:5MB;
             </div>
@@ -68,8 +76,8 @@
             {
               required: true,
               message: '请上企业公章',
-              trigger: 'blur, change'
-            }
+              trigger: 'blur, change',
+            },
           ]"
         >
           <div style="width: 300px !important" class="ant-upload-preview">
@@ -84,18 +92,22 @@
               :on-success="handleAvatarSuccess"
               :before-upload="beforeAvatarUpload"
             >
-              <img v-if="form.corporateChops" :src="form.corporateChops" class="avatar" />
+              <img
+                v-if="form.corporateChops"
+                :src="form.corporateChops"
+                class="avatar"
+              />
               <span v-else>
-                  <i class="el-icon-plus avatar-uploader-icon"></i>
-                  <span class="upload-desc">添加上传图片</span>
+                <i class="el-icon-plus avatar-uploader-icon"></i>
+                <span class="upload-desc">添加上传图片</span>
               </span>
             </el-upload>
             <div
               class="tips"
               v-show="!isDisabled && tenantInfo != 'SETTING'"
-              style="line-height: 1.3;color: red;"
+              style="line-height: 1.3; color: red"
             >
-              请上传透明背景PNG格式公章图片;<br/>
+              请上传透明背景PNG格式公章图片;<br />
               仅支持图片格式:png,大小:5MB;
             </div>
           </div>
@@ -107,8 +119,8 @@
             {
               required: true,
               message: '请上传企业财务公章',
-              trigger: 'blur, change'
-            }
+              trigger: 'blur, change',
+            },
           ]"
         >
           <div style="width: 300px !important" class="ant-upload-preview">
@@ -123,18 +135,22 @@
               :on-success="handleAvatarSuccess2"
               :before-upload="beforeAvatarUpload"
             >
-              <img v-if="form.corporateFinanceChops" :src="form.corporateFinanceChops" class="avatar" />
+              <img
+                v-if="form.corporateFinanceChops"
+                :src="form.corporateFinanceChops"
+                class="avatar"
+              />
               <span v-else>
-                  <i class="el-icon-plus avatar-uploader-icon"></i>
-                  <span class="upload-desc">添加上传图片</span>
+                <i class="el-icon-plus avatar-uploader-icon"></i>
+                <span class="upload-desc">添加上传图片</span>
               </span>
             </el-upload>
             <div
               class="tips"
               v-show="!isDisabled && tenantInfo != 'SETTING'"
-              style="line-height: 1.3;color: red;"
+              style="line-height: 1.3; color: red"
             >
-              请上传透明背景PNG格式公章图片;<br/>
+              请上传透明背景PNG格式公章图片;<br />
               仅支持图片格式:png,大小:5MB;
             </div>
           </div>
@@ -154,7 +170,7 @@
           v-if="tenantInfo == 'SETTING'"
           prop="theme"
           :rules="[
-            { required: true, message: '请选择主题', trigger: 'change' }
+            { required: true, message: '请选择主题', trigger: 'change' },
           ]"
         >
           <div style="width: 300px !important">
@@ -182,7 +198,7 @@
         label="机构全称"
         prop="tsignName"
         :rules="[
-          { required: true, message: '请输入机构全称', trigger: 'blur' }
+          { required: true, message: '请输入机构全称', trigger: 'blur' },
         ]"
       >
         <el-input
@@ -195,7 +211,7 @@
         label="机构简称"
         prop="name"
         :rules="[
-          { required: true, message: '请输入机构简称', trigger: 'blur' }
+          { required: true, message: '请输入机构简称', trigger: 'blur' },
         ]"
       >
         <el-input
@@ -210,7 +226,7 @@
         <el-form-item
           prop="province"
           :rules="[{ required: true, message: '请选择省', trigger: 'change' }]"
-          style="margin-right: 0;"
+          style="margin-right: 0"
         >
           <el-select
             v-model.trim="form.province"
@@ -218,7 +234,7 @@
             placeholder="请选择省"
             :disabled="isDisabled"
             clearable
-            style="width: 148px !important;"
+            style="width: 148px !important"
             @change="onChangeProvince"
           >
             <el-option
@@ -232,13 +248,13 @@
         <el-form-item
           prop="city"
           :rules="[{ required: true, message: '请选择市', trigger: 'change' }]"
-          style="margin-right: 0;"
+          style="margin-right: 0"
         >
           <el-select
             v-model.trim="form.city"
             filterable
             :disabled="isDisabled"
-            style="width: 148px !important;"
+            style="width: 148px !important"
             placeholder="请选择市"
             clearable
           >
@@ -251,9 +267,13 @@
           </el-select>
         </el-form-item>
       </el-form-item>
-      <el-form-item label="机构地址" prop="address"    :rules="[
-          { required: true, message: '请输入机构地址', trigger: 'blur' }
-        ]">
+      <el-form-item
+        label="机构地址"
+        prop="address"
+        :rules="[
+          { required: true, message: '请输入机构地址', trigger: 'blur' },
+        ]"
+      >
         <el-input
           v-model.trim="form.address"
           :disabled="isDisabled"
@@ -264,7 +284,7 @@
         label="营业执照编号"
         prop="tsignCode"
         :rules="[
-          { required: true, message: '请输入营业执照编号', trigger: 'blur' }
+          { required: true, message: '请输入营业执照编号', trigger: 'blur' },
         ]"
       >
         <el-input
@@ -277,7 +297,7 @@
         label="机构联系人"
         prop="contacts"
         :rules="[
-          { required: true, message: '请输入机构联系人', trigger: 'blur' }
+          { required: true, message: '请输入机构联系人', trigger: 'blur' },
         ]"
       >
         <el-input
@@ -295,20 +315,18 @@
           {
             pattern: /^1[3456789]\d{9}$/,
             message: '请输入正确的手机号',
-            trigger: 'blur'
+            trigger: 'blur',
           },
-          { validator: validatePhone, trigger: 'blur' }
+          { validator: validatePhone, trigger: 'blur' },
         ]"
       >
         <template #label>
           联系人手机号
           <el-tooltip placement="top" popper-class="mTooltip">
-            <div slot="content">
-              该手机号为机构管理员登录账号
-            </div>
+            <div slot="content">该手机号为机构管理员登录账号</div>
             <i
               class="el-icon-question micon el-tooltip"
-              style="font-size: 18px; color: #F56C6C"
+              style="font-size: 18px; color: #f56c6c"
               v-permission="'export/teacherSalary'"
             ></i>
           </el-tooltip>
@@ -330,10 +348,11 @@
         :rules="[
           { required: true, message: '请输入机构邮箱', trigger: 'blur' },
           {
-            pattern: /^\w+((.\w+)|(-\w+))@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+).[A-Za-z0-9]+$/,
+            pattern:
+              /^\w+((.\w+)|(-\w+))@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+).[A-Za-z0-9]+$/,
             message: '请输入正确的邮箱格式',
-            trigger: 'blur'
-          }
+            trigger: 'blur',
+          },
         ]"
       >
         <el-input
@@ -353,7 +372,6 @@
         ></el-input>
       </el-form-item>
     </el-form>
-
   </div>
 </template>
 
@@ -363,40 +381,40 @@ import { checkStudentPhone } from "../api";
 import { areaQueryChild, getParentArea } from "@/api/specialSetting";
 import ThemePicker from "@/components/ThemePicker";
 import { setTheme } from "@/utils/setTheme";
-import ImageCropper from '@/components/ImageCropper'
+import ImageCropper from "@/components/ImageCropper";
 export default {
   props: ["type", "data", "tenantInfo"],
   components: { ThemePicker, ImageCropper },
   data() {
     return {
       headers: {
-        Authorization: getToken()
+        Authorization: getToken(),
       },
       themeList: [
         {
           name: "亚丁绿",
           value: "adenGreen",
           color: "#00A79D",
-          selected: false
+          selected: false,
         },
         {
           name: "暮云灰",
           value: "cloudAshes",
           color: "#444D5C",
-          selected: false
+          selected: false,
         },
         {
           name: "柏林蓝",
           value: "berlinBlue",
           color: "#2B78CC",
-          selected: false
+          selected: false,
         },
         {
           name: "火山红",
           value: "volcanicRed",
           color: "#BC3030",
-          selected: false
-        }
+          selected: false,
+        },
       ],
       form: {
         tsignName: null,
@@ -429,7 +447,7 @@ export default {
         autoCropHeight: 72, //默认生成截图框高度
         fixedBox: true, //是否固定截图框大小 不允许改变
         previewsCircle: false, //预览图是否是圆形
-        title: '上传机构LOGO', //模态框上显示的标题
+        title: "上传机构LOGO", //模态框上显示的标题
       },
     };
   },
@@ -439,14 +457,14 @@ export default {
       this.form = Object.assign(this.form, this.data);
       this.payState = this.data.payState;
 
-      const { phone } = this.data
+      const { phone } = this.data;
       // 判断是否已存在手机号
-      if(phone) {
-        this.originPhone = phone
+      if (phone) {
+        this.originPhone = phone;
       }
     }
     // 选中默认颜色
-    this.themeList.forEach(theme => {
+    this.themeList.forEach((theme) => {
       if (theme.color == this.form.themeColor) {
         theme.selected = true;
       } else {
@@ -455,7 +473,7 @@ export default {
     });
     // 判断是否有城市编号
     if (this.form.areaId) {
-      await getParentArea({ id: this.form.areaId }).then(async res => {
+      await getParentArea({ id: this.form.areaId }).then(async (res) => {
         if (res.code == 200 && res.data) {
           await this.getAreaList(res.data.id, () => {
             this.$set(this.form, "province", res.data.id);
@@ -470,6 +488,11 @@ export default {
     }
 
     this.$refs.form.clearValidate();
+    if (this.data&& this.$route.query.type == "create") {
+      this.checkPhone();
+      //  验证表单 看看是否有异常
+      this.onSubmit();
+    }
   },
   computed: {
     isDisabled() {
@@ -479,18 +502,18 @@ export default {
       } else {
         return this.type == "setting" || this.payState == 1 ? true : false;
       }
-    }
+    },
   },
   methods: {
     //上传图片成功
     cropSuccess(data) {
       // this.imgUrl = data.data.avatar
       this.form.logo = data.data.url;
-      console.log(this.form.logo)
+      console.log(this.form.logo);
     },
     themeChange(item) {
       // 切换主题时设置跟主题对应的主题色
-      this.themeList.forEach(theme => {
+      this.themeList.forEach((theme) => {
         theme.selected = false;
       });
       item.selected = true;
@@ -502,13 +525,13 @@ export default {
         setTheme({
           themeColor: item.color,
           theme: item.value,
-          saveTheme: false
+          saveTheme: false,
         });
       }
     },
     onSubmit() {
       let state = false;
-      this.$refs.form.validate(_ => {
+      this.$refs.form.validate((_) => {
         console.log(_);
         state = _;
       });
@@ -517,9 +540,13 @@ export default {
     async checkPhone() {
       const phone = this.form.phone;
       // 判断是否是自己之前注册的手机号
-      if(phone == this.originPhone && this.originPhone) {
-        this.errorPhone = null
-        return
+      if (
+        phone == this.originPhone &&
+        this.originPhone &&
+        this.$route.query.type != "create"
+      ) {
+        this.errorPhone = null;
+        return;
       }
       try {
         const regu = /^1[3456789]\d{9}$/;
@@ -534,7 +561,9 @@ export default {
             this.errorPhone = null;
           }
         }
-      } catch (e) {}
+      } catch (e) {
+        console.log(e);
+      }
     },
     onChangeProvince(val) {
       this.form.city = null;
@@ -542,13 +571,13 @@ export default {
     },
     getAreaList(parentId, callback) {
       parentId = parentId ? parentId : 0;
-      areaQueryChild({ parentId: parentId }).then(res => {
+      areaQueryChild({ parentId: parentId }).then((res) => {
         if (res.code == 200 && res.data) {
           let tempData = [];
-          res.data.forEach(item => {
+          res.data.forEach((item) => {
             tempData.push({
               label: item.name,
-              value: item.id
+              value: item.id,
             });
           });
           if (parentId) {
@@ -592,7 +621,7 @@ export default {
     // },
     beforeAvatarUpload(file) {
       const imageType = {
-        "image/png": true
+        "image/png": true,
       };
       const isImage = imageType[file.type];
       const isLt2M = file.size / 1024 / 1024 < 5;
@@ -612,8 +641,8 @@ export default {
       } else {
         callback();
       }
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="scss" scoped>
@@ -669,7 +698,8 @@ export default {
 .el-textarea {
   width: 300px !important;
 }
-.el-textarea, /deep/.el-textarea__inner {
+.el-textarea,
+/deep/.el-textarea__inner {
   height: 108px !important;
   min-height: 108px !important;
 }

+ 8 - 1
src/views/organManager/organOperation.vue

@@ -164,9 +164,16 @@ export default {
     },
     onCancel () {
       this.$store.dispatch('delVisitedViews', this.$route)
-      this.$router.push({
+      if(this.$route.query.email){
+           this.$router.push({
+        path: "/tenantApply?tabrouter=2"
+      });
+      }else{
+           this.$router.push({
         path: "/organManager/organList"
       });
+      }
+
     }
     // let lodash = this.$helpers.lodash;
     //     let storage = JSON.parse(localStorage.getItem(`base`));