set.vue 3.31 KB
<template>
	<view class="set-page">
		<!-- 公共组件-每个页面必须引入 -->
		<public-module></public-module>
		<view class="u-m-t-20"><text style="color:#8f9ca2">基本资料</text></view>
		<view style="border: 0.1px solid #e4e4e4;margin-top: 20rpx;padding-left: 15rpx;">
			<u--form labelPosition="left" :model="myInfoModel" :rules="rules" ref="myInfoFormRef">
				<u-form-item labelWidth="80px" label="真实姓名" prop="userInfo.name" borderBottom ref="item1">
					<u--input placeholder="请输入真实姓名" v-model="myInfoModel.userInfo.name" border="none"></u--input>
				</u-form-item>
				<u-form-item labelWidth="80px" label="手机号码" prop="userInfo.phone" borderBottom ref="item1">
					<u--input placeholder="请输入手机号码" v-model="myInfoModel.userInfo.phone" border="none"></u--input>
				</u-form-item>
				<u-form-item labelWidth="80px" label="用户账号 " prop="userInfo.account" borderBottom ref="item1">
					<u--input placeholder="请输入用户账号 " v-model="myInfoModel.userInfo.account" border="none"></u--input>
				</u-form-item>
				<u-form-item labelWidth="80px" label="邮箱地址" prop="userInfo.email" borderBottom ref="item1">
					<u--input placeholder="请输入邮箱地址" v-model="myInfoModel.userInfo.email" border="none"></u--input>
				</u-form-item>
				<u-form-item
					@click="
						showDate = true;
						hideKeyboard();
					"
					labelWidth="80px"
					label="有效期"
					prop="userInfo.dateVal"
					borderBottom
					ref="item1"
				>
					<u--input v-model="myInfoModel.userInfo.dateVal" placeholder="请选择有效期" border="none"></u--input>
					<u-datetime-picker
						:formatter="formatter"
						:show="showDate"
						:value="datetime"
						mode="dateTime"
						closeOnClickOverlay
						@confirm="dateConfirm"
						@cancel="dateClose"
						@close="dateClose"
					></u-datetime-picker>
				</u-form-item>
			</u--form>
		</view>

		<view><button class="submit" size="default" @click="onSubmitFunc" :style="{ background: PrimaryColor }">确认</button></view>
		<!-- #ifdef MP -->
		<view class="u-m-t-40"><text style="visibility: hidden;">#</text></view>
		<!-- #endif -->
	</view>
</template>

<script>
export default {
	data() {
		return {
			PrimaryColor: '#0079fe', //主题色
			myInfoModel: {
				userInfo: {
					name: '',
					phone: '',
					account: 'test9527',
					email: '',
					dateVal: ''
				}
			},
			showDate: false,
			dateTime: Number(new Date())
		};
	},
	methods: {
		onSubmitFunc() {
			console.log('确认');
			console.log(this.myInfoModel.userInfo);
		},
		dateClose() {
			this.showDate = false;
		},
		dateConfirm(e) {
			this.showDate = false;
			this.myInfoModel.userInfo.dateVal = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss');
		},
		//格式化日期
		formatter(type, value) {
			if (type === 'year') {
				return `${value}年`;
			}
			if (type === 'month') {
				return `${value}月`;
			}
			if (type === 'day') {
				return `${value}日`;
			}
			if (type === 'hour') {
				return `${value}时`;
			}
			if (type === 'minute') {
				return `${value}分`;
			}
			return value;
		},
		//隐藏输入框
		hideKeyboard() {
			uni.hideKeyboard();
		}
	}
};
</script>

<style lang="scss" scoped>
.set-page {
	padding: 0rpx 30rpx;

	.submit {
		margin-top: 60rpx;
		color: #fff;
		width: 100%;
		border: none;
		border-radius: 40rpx;
	}
}
</style>