chen.cheng 10 сар өмнө
parent
commit
5d8476a324

+ 38 - 26
pasb/pages/regist/RegistForm.vue → components/RegistForm/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <view>
+  <view class="register-form-container">
     <u--form
         labelPosition="left"
         :model="model1"
@@ -9,6 +9,7 @@
     >
       <u-form-item
           label="姓名"
+          v-if="rules['userInfo.usrName']"
           prop="userInfo.usrName"
           borderBottom
           :class="{
@@ -24,6 +25,7 @@
       <u-form-item
           label="单位名称"
           prop="userInfo.orgUnitName"
+          v-if="rules['userInfo.orgUnitName']"
           borderBottom
           :class="{
                 'require': rules['userInfo.orgUnitName'].required
@@ -38,6 +40,7 @@
       <u-form-item
           label="职务"
           prop="userInfo.uniLevel"
+          v-if="rules['userInfo.uniLevel']"
           borderBottom
           :class="{
                 'require': rules['userInfo.uniLevel'].required
@@ -53,6 +56,7 @@
           label="联系电话"
           prop="userInfo.tel"
           borderBottom
+          v-if="rules['userInfo.tel']"
           :class="{
                 'require': rules['userInfo.tel'].required
               }"
@@ -69,6 +73,7 @@
           label="邮箱"
           prop="userInfo.email"
           borderBottom
+          v-if="rules['userInfo.email']"
           :class="{
                 'require': rules['userInfo.email'].required
               }"
@@ -83,6 +88,7 @@
           label="人员类型"
           prop="userInfo.usrType"
           borderBottom
+          v-if="rules['userInfo.usrType']"
           :class="{
                 'require': rules['userInfo.usrType'].required
               }"
@@ -107,6 +113,7 @@
           label="是否参加现场调研"
           prop="userInfo.conferenceFlag"
           borderBottom
+          v-if="rules['userInfo.conferenceFlag']"
           :class="{
                 'require': rules['userInfo.conferenceFlag'].required
               }"
@@ -140,7 +147,7 @@
           :class="{
                 'require': rules['userInfo.contentId'].required
               }"
-          v-if="model1.userInfo.conferenceFlag === '0'"
+          v-if="rules['userInfo.contentId'] && model1.userInfo.conferenceFlag === '0'"
       >
         <SingleDropList
             :style="{
@@ -157,6 +164,7 @@
           label="来程交通方式"
           prop="userInfo.wayComing"
           borderBottom
+          v-if="rules['userInfo.wayComing']"
           :class="{
                 'require': rules['userInfo.wayComing'].required
               }"
@@ -181,6 +189,7 @@
           :label="comLabel"
           prop="userInfo.comInfo"
           borderBottom
+          v-if="rules['userInfo.comInfo']"
           :class="{
                 'require': rules['userInfo.comInfo'].required
               }"
@@ -195,6 +204,7 @@
           label="回程交通方式"
           prop="userInfo.wayBack"
           borderBottom
+          v-if="rules['userInfo.wayBack']"
           :class="{
                 'require': rules['userInfo.wayBack'].required
               }"
@@ -219,6 +229,7 @@
           :label="backLabel"
           prop="userInfo.backInfo"
           borderBottom
+          v-if="rules['userInfo.backInfo']"
           :class="{
                 'require': rules['userInfo.backInfo'].required
               }"
@@ -255,10 +266,10 @@
 
 <script>
 
-import { fetchContentInfo, fetchUsrInfo, getDicts, putUsrRegist } from '@/common/api';
-import { CONTENT_TYPE, MEETING_TYPE, TFC_INFO, USR_TYPE_LIST } from '@/common/EnumConst';
+import { fetchContentInfo, getDicts } from '@/common/api';
+import { CONTENT_TYPE, TFC_INFO, USR_TYPE_LIST } from '@/common/EnumConst';
 import SingleDropList from '@/components/SingleDropList/index.vue';
-import { getImageUrl, getUserInfo, setUserInfo } from '@/util';
+import { getImageUrl, getUserInfo } from '@/util';
 
 export default {
   components: {
@@ -266,6 +277,10 @@ export default {
   },
   props: {
     rules: {},
+    onSubmitHandle: {
+      type: Function,
+      default: function () {},
+    },
   },
   data() {
     return {
@@ -344,28 +359,11 @@ export default {
     },
     onSubmit() {
       this.loading = true;
-      this.$refs.uForm.validate().then(async (res) => {
-        const { code } = await putUsrRegist(this.model1.userInfo, MEETING_TYPE.meeting.value);
+      this.$refs.uForm.validate().then((res) => {
+        this.$emit('onSubmitHandle', this.model1.userInfo);
         this.loading = false;
-        if (code !== 200) {
-          return;
-        }
-        uni.showToast({
-          mask: true,
-          title: '报名完成',
-          icon: 'success',
-          success: async () => {
-            const user = getUserInfo();
-            const newUsr = await fetchUsrInfo(user.id);
-            if (newUsr.code === 200) {
-              setUserInfo(newUsr.data);
-            }
-            uni.navigateBack({
-              delta: 1,
-            });
-          },
-        });
       }).catch(errors => {
+        console.error(errors)
         this.loading = false;
       });
     },
@@ -378,7 +376,21 @@ export default {
     wayBackChange(e) {
       this.backLabel = TFC_INFO[e].name;
     },
+    restForm() {
+      this.model1 = {
+        userInfo: {
+          usrName: '',
+        },
+      };
+      const user = getUserInfo();
+      if (user) {
+        this.model1.userInfo.usrName = user.usrName;
+        this.model1.userInfo.tel = user.tel;
+      }
+    },
+    clearValidate() {
+      this.$refs.uForm.clearValidate();
+    },
   },
 };
 </script>
-<style lang="scss" src="./index.scss" />;