|
@@ -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" />;
|