chen.cheng 10 сар өмнө
parent
commit
38d2b3c49f

+ 2 - 0
common/EnumConst.js

@@ -10,6 +10,8 @@ export const ICON_CFG = {
 
 export const CONTENT_TYPE = {
   news: 1,
+  conference: 6,
+  theme: 4,
 };
 export const FILE_ICON = {
   doc: '/profile/upload/2024/08/20/word_20240820110735A012.svg',

+ 1 - 1
common/api.js

@@ -32,7 +32,7 @@ export const putUsrRegist = (params) => {
   if (!token) {
     return Promise.reject('未登录');
   }
-  return http.post('/cp/usr/regist', params, {
+  return http.post(`/cp/usr/regist/${1}`, params, {
     header: {
       Authorization: `Bearer ${token}`,
     },

+ 1 - 1
common/common.scss

@@ -12,8 +12,8 @@
     margin: 0 10rpx;
   }
   .title-content{
-    width: 72px;
     height: 24px;
+    margin: 0 14px;
     background-color: rgba(255, 255, 255, 0);
     box-sizing: border-box;
     font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif;

+ 0 - 6
pages.json

@@ -122,12 +122,6 @@
         "selectedIconPath": "static/images/tabbar/assembly_selected_3x.png"
       },
       {
-        "pagePath": "pages/tabbar/news/index",
-        "text": "资讯",
-        "iconPath": "static/images/tabbar/layout_default_3x.png",
-        "selectedIconPath": "static/images/tabbar/layout_selected_3x.png"
-      },
-      {
         "pagePath": "pages/tabbar/my/index",
         "text": "我的",
         "iconPath": "static/images/tabbar/my_default_3x.png",

+ 5 - 5
pages/tabbar/index/index.vue

@@ -1,8 +1,8 @@
 <template>
   <view class="fui-wrap">
-    <view class="search-content">
-      <u-search placeholder="请输入关键字" v-model="keyword" @custom="onSearch" @search="onSearch"></u-search>
-    </view>
+<!--    <view class="search-content">-->
+<!--      <u-search placeholder="请输入关键字" v-model="keyword" @custom="onSearch" @search="onSearch"></u-search>-->
+<!--    </view>-->
 
     <u-swiper :list="list" imgMode="aspectFill" :radius='0' :height="240" />
     <u-notice-bar :text="msg" direction="column" :more-icon="false" color="#5af" bg-color="#d6e8f7"></u-notice-bar>
@@ -30,7 +30,7 @@
         <view class="line"></view>
         <view class="rectangle"></view>
         <view class="rectangle"></view>
-        <view class="title-content">最新资讯</view>
+        <view class="title-content">主题研讨报名</view>
         <view class="rectangle"></view>
         <view class="rectangle"></view>
         <view class="line"></view>
@@ -80,7 +80,7 @@ export default {
       const res = await fetchContentInfo({
         pageNum: 1,
         pageSize: 99,
-        contentType: 1,
+        contentType: 4,
       });
       this.indexList = res.rows.map(item => {
         return {

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

@@ -38,6 +38,9 @@
         .u-form-item__body__right__message{
           margin-left: 0 !important;
         }
+        .u-form-item__body__left__content__label{
+          font-weight: bold !important;
+        }
       }
     }
   }

+ 126 - 64
pasb/pages/regist/index.vue

@@ -13,43 +13,77 @@
             @submit="onSubmit"
         >
           <u-form-item
+              label="姓名"
               prop="userInfo.usrName"
               borderBottom
           >
             <u--input
-                prefixIcon="account"
+                placeholder="输入姓名"
                 v-model="model1.userInfo.usrName"
                 border="none"
             ></u--input>
           </u-form-item>
           <u-form-item
+              label="单位名称"
+              prop="userInfo.orgUnitName"
+              borderBottom
+          >
+            <u--input
+                placeholder="输入单位名称"
+                v-model="model1.userInfo.orgUnitName"
+                border="none"
+            ></u--input>
+          </u-form-item>
+          <u-form-item
+              label="职务"
+              prop="userInfo.uniLevel"
+              borderBottom
+          >
+            <u--input
+                placeholder="输入职务"
+                v-model="model1.userInfo.uniLevel"
+                border="none"
+            ></u--input>
+          </u-form-item>
+          <u-form-item
+              label="联系电话"
               prop="userInfo.tel"
               borderBottom
           >
             <u--input
-                prefixIcon="phone"
-                placeholder="输入手机号"
+                placeholder="输入联系电话"
                 border="none"
                 type="number"
                 maxlength="11"
                 v-model="model1.userInfo.tel"
             ></u--input>
           </u-form-item>
-
           <u-form-item
-              label="性别"
-              prop="userInfo.sex"
+              label="邮箱"
+              prop="userInfo.email"
+              borderBottom
+          >
+            <u--input
+                placeholder="输入邮箱"
+                border="none"
+                type="number"
+                v-model="model1.userInfo.email"
+            ></u--input>
+          </u-form-item>
+          <u-form-item
+              label="人员类型"
+              prop="userInfo.usrType"
               borderBottom
           >
             <u-radio-group
-                v-model="model1.userInfo.sex"
+                v-model="model1.userInfo.usrType"
                 placement="row"
             >
               <u-radio
                   :style="{
                   marginRight: '20rpx'
                 }"
-                  v-for="(item, index) in sexList"
+                  v-for="(item, index) in usrTypeList"
                   :key="index"
                   :label="item.name"
                   :name="item.value"
@@ -58,34 +92,46 @@
             </u-radio-group>
           </u-form-item>
           <u-form-item
-              label="参会单位"
-              prop="userInfo.enterpriseId"
+              label="是否参加现场调研"
+              prop="userInfo.conferenceFlag"
               borderBottom
           >
-            <SingleDropList
-                :style="{
-                marginLeft: '20rpx'
-              }"
-                :defaultValue="model1.userInfo.enterpriseId"
-                :src="enterpriseList"
-                placeholder="请选择参会单位"
-                @onChange="enterpriseSelect"
+            <u-radio-group
+                v-model="model1.userInfo.conferenceFlag"
+                placement="row"
             >
-            </SingleDropList>
+              <u-radio
+                  :style="{
+                  marginRight: '20rpx'
+                }"
+                  label="是"
+                  name="0"
+              >
+              </u-radio>
+              <u-radio
+                  :style="{
+                  marginRight: '20rpx'
+                }"
+                  label="否"
+                  name="1"
+              >
+              </u-radio>
+            </u-radio-group>
           </u-form-item>
           <u-form-item
-              label="参会行程"
-              prop="userInfo.tripId"
+              label="调研会场"
+              prop="userInfo.contentId"
               borderBottom
+              v-if="model1.userInfo.conferenceFlag === '0'"
           >
             <SingleDropList
                 :style="{
                 marginLeft: '20rpx'
               }"
-                :defaultValue="model1.userInfo.tripId"
-                :src="tripList"
-                placeholder="请选择参会行程"
-                @onChange="enterpriseTripSelect"
+                :defaultValue="model1.userInfo.contentId"
+                :src="conferenceHall"
+                placeholder="请选择会场"
+                @onChange="conferenceSelect"
             >
             </SingleDropList>
           </u-form-item>
@@ -105,13 +151,14 @@
       </view>
     </auth-wrap>
   </view>
-
 </template>
 
 <script>
 
-import { fetchEnterpriseList, fetchEnterpriseTripList, fetchUsrInfo, putUsrRegist } from '@/common/api';
-import { ICON_CFG } from '@/common/EnumConst';
+import {
+  fetchContentInfo, fetchEnterpriseList, fetchEnterpriseTripList, fetchUsrInfo, putUsrRegist,
+} from '@/common/api';
+import { CONTENT_TYPE, ICON_CFG } from '@/common/EnumConst';
 import AuthWrap from '@/components/AuthComp/index.vue';
 import SingleDropList from '@/components/SingleDropList/index.vue';
 import { getImageUrl, getUserInfo, setUserInfo } from '@/util';
@@ -131,24 +178,20 @@ export default {
       model1: {
         userInfo: {
           usrName: '',
-          sex: '',
+          conferenceFlag: 'N',
         },
       },
-      sexList: [
-        {
-          value: '0',
-          name: '男',
-        },
+      usrTypeList: [
         {
           value: '1',
-          name: '',
+          name: '大会代表',
         },
         {
           value: '2',
-          name: '保密',
+          name: '随行人员',
         },
       ],
-      enterpriseList: [],
+      conferenceHall: [],
       tripList: [],
       rules: {
         'userInfo.usrName': {
@@ -159,11 +202,42 @@ export default {
         },
         'userInfo.tel': {
           type: 'string',
-          max: 11,
+          len: 11,
           required: true,
           message: '请填写11位手机号',
           trigger: ['blur', 'change'],
         },
+        'userInfo.email': {
+          type: 'string',
+          required: true,
+          message: '请填写邮箱',
+          pattern: /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/,
+          trigger: ['blur', 'change'],
+        },
+        'userInfo.orgUnitName': {
+          type: 'string',
+          required: true,
+          message: '请填写单位名称',
+          trigger: ['blur', 'change'],
+        },
+        'userInfo.uniLevel': {
+          type: 'string',
+          required: true,
+          message: '请填写职务',
+          trigger: ['blur', 'change'],
+        },
+        'userInfo.usrType': {
+          type: 'string',
+          required: true,
+          message: '请填写人员类型',
+          trigger: ['blur', 'change'],
+        },
+        'userInfo.contentId': {
+          type: 'string',
+          required: true,
+          message: '请选择会场',
+          trigger: ['blur', 'change'],
+        },
       },
     };
   },
@@ -177,9 +251,6 @@ export default {
     if (user) {
       this.model1.userInfo.usrName = user.usrName;
       this.model1.userInfo.tel = user.tel;
-      this.model1.userInfo.sex = user.sex;
-      this.model1.userInfo.enterpriseId = user.enterpriseId;
-      this.model1.userInfo.tripId = user.tripId;
     }
     this.init();
   },
@@ -189,34 +260,23 @@ export default {
   },
   methods: {
     getImageUrl,
-    enterpriseSelect(enterprise) {
-      this.model1.userInfo.enterpriseId = enterprise.value;
-      this.model1.userInfo.enterpriseName = enterprise.name;
-      this.$refs.uForm.validateField('userInfo.enterpriseId');
-    },
-    enterpriseTripSelect(trip) {
-      this.model1.userInfo.tripId = trip.value;
-      this.model1.userInfo.enterpriseTripName = trip.name;
-      this.$refs.uForm.validateField('userInfo.tripId');
+    conferenceSelect(item) {
+      this.model1.userInfo.contentId = item.value;
+      this.$refs.uForm.validateField('userInfo.contentId');
     },
     async init() {
       const {
-        code: enterpriseCode,
-        rows: enterpriseData,
-      } = await fetchEnterpriseList();
-      const {
-        code: tripCode,
-        rows: tripData,
-      } = await fetchEnterpriseTripList();
-      this.enterpriseList = enterpriseData.map(item => {
-        return {
-          name: item.enterpriseName,
-          value: item.id,
-        };
+        code: conferenceCode,
+        rows: conferenceData,
+      } = await fetchContentInfo({
+        pageNum: 1,
+        pageSize: 99,
+        contentType: CONTENT_TYPE.conference,
+        title: this.keyword,
       });
-      this.tripList = tripData.map(item => {
+      this.conferenceHall = conferenceData.map(item => {
         return {
-          name: item.tripName,
+          name: item.title,
           value: item.id,
         };
       });
@@ -224,6 +284,7 @@ export default {
     onSubmit() {
       this.loading = true;
       this.$refs.uForm.validate().then(async (res) => {
+        debugger
         await putUsrRegist(this.model1.userInfo);
         this.loading = false;
         uni.showToast({
@@ -242,6 +303,7 @@ export default {
           },
         });
       }).catch(errors => {
+        debugger
         this.loading = false;
       });
     },