Browse Source

* 增加报名信息

chen.cheng 10 months ago
parent
commit
c3bce614c2
4 changed files with 151 additions and 28 deletions
  1. 16 0
      common/EnumConst.js
  2. 134 8
      pasb/pages/regist/RegistForm.vue
  3. 1 17
      pasb/pages/regist/index.scss
  4. 0 3
      pasb/pages/regist/index.vue

+ 16 - 0
common/EnumConst.js

@@ -108,3 +108,19 @@ export const REVIEW_STATUS = {
     tag: 'warning',
   },
 };
+
+export const TFC_INFO = {
+  // 铁路1 航空2 公路3
+  1: {
+    name: '车次',
+    value: 1,
+  },
+  2: {
+    name: '航班号',
+    value: 2,
+  },
+  3: {
+    name: '高速公路出入口',
+    value: 3,
+  },
+};

+ 134 - 8
pasb/pages/regist/RegistForm.vue

@@ -25,7 +25,9 @@
           label="单位名称"
           prop="userInfo.orgUnitName"
           borderBottom
-          class="require"
+          :class="{
+                'require': rules['userInfo.orgUnitName'].required
+              }"
       >
         <u--input
             placeholder="输入单位名称"
@@ -37,7 +39,9 @@
           label="职务"
           prop="userInfo.uniLevel"
           borderBottom
-          class="require"
+          :class="{
+                'require': rules['userInfo.uniLevel'].required
+              }"
       >
         <u--input
             placeholder="输入职务"
@@ -49,7 +53,9 @@
           label="联系电话"
           prop="userInfo.tel"
           borderBottom
-          class="require"
+          :class="{
+                'require': rules['userInfo.tel'].required
+              }"
       >
         <u--input
             placeholder="输入联系电话"
@@ -63,6 +69,9 @@
           label="邮箱"
           prop="userInfo.email"
           borderBottom
+          :class="{
+                'require': rules['userInfo.email'].required
+              }"
       >
         <u--input
             placeholder="输入邮箱"
@@ -74,6 +83,9 @@
           label="人员类型"
           prop="userInfo.usrType"
           borderBottom
+          :class="{
+                'require': rules['userInfo.usrType'].required
+              }"
       >
         <u-radio-group
             v-model="model1.userInfo.usrType"
@@ -95,6 +107,9 @@
           label="是否参加现场调研"
           prop="userInfo.conferenceFlag"
           borderBottom
+          :class="{
+                'require': rules['userInfo.conferenceFlag'].required
+              }"
       >
         <u-radio-group
             v-model="model1.userInfo.conferenceFlag"
@@ -122,6 +137,9 @@
           label="调研会场"
           prop="userInfo.contentId"
           borderBottom
+          :class="{
+                'require': rules['userInfo.contentId'].required
+              }"
           v-if="model1.userInfo.conferenceFlag === '0'"
       >
         <SingleDropList
@@ -135,11 +153,95 @@
         >
         </SingleDropList>
       </u-form-item>
+      <u-form-item
+          label="来程交通方式"
+          prop="userInfo.wayComing"
+          borderBottom
+          :class="{
+                'require': rules['userInfo.wayComing'].required
+              }"
+      >
+        <u-radio-group
+            v-model="model1.userInfo.wayComing"
+            placement="row"
+            @change="waycomChange"
+        >
+          <u-radio
+              v-for="way in tfcDic"
+              :style="{
+                  marginRight: '20rpx'
+                }"
+              :label="way.name"
+              :name="way.value"
+          >
+          </u-radio>
+        </u-radio-group>
+      </u-form-item>
+      <u-form-item
+          :label="comLabel"
+          prop="userInfo.comInfo"
+          borderBottom
+          :class="{
+                'require': rules['userInfo.comInfo'].required
+              }"
+      >
+        <u--input
+            :placeholder="`输入${comLabel}`"
+            border="none"
+            v-model="model1.userInfo.comInfo"
+        ></u--input>
+      </u-form-item>
+      <u-form-item
+          label="回程交通方式"
+          prop="userInfo.wayBack"
+          borderBottom
+          :class="{
+                'require': rules['userInfo.wayBack'].required
+              }"
+      >
+        <u-radio-group
+            v-model="model1.userInfo.wayBack"
+            placement="row"
+            @change="wayBackChange"
+        >
+          <u-radio
+              v-for="way in tfcDic"
+              :style="{
+                  marginRight: '20rpx'
+                }"
+              :label="way.name"
+              :name="way.value"
+          >
+          </u-radio>
+        </u-radio-group>
+      </u-form-item>
+      <u-form-item
+          :label="backLabel"
+          prop="userInfo.backInfo"
+          borderBottom
+          :class="{
+                'require': rules['userInfo.backInfo'].required
+              }"
+      >
+        <u--input
+            :placeholder="`输入${backLabel}`"
+            border="none"
+            v-model="model1.userInfo.backInfo"
+        ></u--input>
+      </u-form-item>
+      <u-form-item
+          label="备注"
+          prop="userInfo.remark"
+          borderBottom
+          ref="item3"
+      >
+        <u--textarea
+            placeholder="不低于3个字"
+            v-model="model1.userInfo.remark"
+        ></u--textarea>
+      </u-form-item>
     </u--form>
     <u-button
-        :style="{
-             marginTop: '120rpx'
-            }"
         type="primary"
         text="提交"
         :disabled="loading"
@@ -154,7 +256,7 @@
 <script>
 
 import { fetchContentInfo, fetchUsrInfo, getDicts, putUsrRegist } from '@/common/api';
-import { CONTENT_TYPE, MEETING_TYPE, USR_TYPE_LIST } from '@/common/EnumConst';
+import { CONTENT_TYPE, MEETING_TYPE, TFC_INFO, USR_TYPE_LIST } from '@/common/EnumConst';
 import SingleDropList from '@/components/SingleDropList/index.vue';
 import { getImageUrl, getUserInfo, setUserInfo } from '@/util';
 
@@ -169,6 +271,9 @@ export default {
     return {
       USR_TYPE_LIST,
       loading: false,
+      comLabel: '',
+      tfcDic: [],
+      backLabel: '',
       model1: {
         userInfo: {
           usrName: '',
@@ -220,7 +325,22 @@ export default {
           value: item.id,
         };
       });
-      const { msg } = await getDicts('tfc_type');
+      const {
+        code,
+        data,
+      } = await getDicts('tfc_type');
+      if (data) {
+        this.tfcDic = data.map(item => {
+          return {
+            name: item.dictLabel,
+            value: item.dictValue,
+          };
+        });
+        this.model1.userInfo.wayComing = data[0].dictValue;
+        this.model1.userInfo.wayBack = data[0].dictValue;
+        this.waycomChange(data[0].dictValue);
+        this.wayBackChange(data[0].dictValue);
+      }
     },
     onSubmit() {
       this.loading = true;
@@ -252,6 +372,12 @@ export default {
     hideKeyboard() {
       uni.hideKeyboard();
     },
+    waycomChange(e) {
+      this.comLabel = TFC_INFO[e].name;
+    },
+    wayBackChange(e) {
+      this.backLabel = TFC_INFO[e].name;
+    },
   },
 };
 </script>

+ 1 - 17
pasb/pages/regist/index.scss

@@ -6,26 +6,10 @@
   flex-direction: column;
   justify-content: flex-start;
   align-items: center;
-  background-color: #79797938;
-
-  .bg-container {
-    width: 100%;
-    height:300rpx;
-    background-color: #005598;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    color: #fefefe;
-    font-size: 40rpx;
-    font-weight: 600;
-  }
 
   .register-container {
     width: 90%;
-    margin-top: -100rpx;
-    z-index: 1;
-    border-radius: 20rpx;
-    padding: 20rpx;
+    padding: 20rpx 20rpx 50rpx 20rpx;
     box-sizing: border-box;
     background-color: #fefefe;
      /deep/ .form-content{

+ 0 - 3
pasb/pages/regist/index.vue

@@ -1,8 +1,5 @@
 <template>
   <view class="register-bg">
-    <view class="bg-container">
-      参会报名
-    </view>
     <auth-wrap class="register-container" ref="authWrap">
       <view class="form-content" slot="content">
         <RegistForm v-if="rules" :rules="rules" ref="registForm"></RegistForm>