123 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Vue
		
	
	
	
<template>
 | 
						||
	<view class="content">
 | 
						||
		<view class="centerbox">
 | 
						||
			<u--form labelPosition="left" :model="dataForm" :rules="rules" ref="uForm">
 | 
						||
				<view class="view-class">
 | 
						||
					<u-form-item :label="'反馈类型'" @click='selectShow = true' label-width="150rpx" prop="type">
 | 
						||
						<u--input :readonly='true' v-model="dataForm.typeName" suffixIcon="arrow-down"
 | 
						||
							:placeholder="'请选择'">
 | 
						||
						</u--input>
 | 
						||
 | 
						||
					</u-form-item>
 | 
						||
				</view>
 | 
						||
				<view class="view-class">
 | 
						||
					<u-form-item :label="'意见反馈'" label-width="150rpx" prop="idea">
 | 
						||
						<u--textarea v-model="dataForm.idea" :placeholder="'请输入'"></u--textarea>
 | 
						||
					</u-form-item>
 | 
						||
				</view>
 | 
						||
			</u--form>
 | 
						||
		</view>
 | 
						||
		<view class="bottombtn">
 | 
						||
			<u-button @click="submit" :text="'提交'" color="#D61820"></u-button>
 | 
						||
		</view>
 | 
						||
		<u-picker @cancel='selectShow=false' :show="selectShow" ref="uPicker" :columns="typeList" @confirm="confirm"
 | 
						||
			keyName='label'></u-picker>
 | 
						||
	</view>
 | 
						||
</template>
 | 
						||
 | 
						||
<script>
 | 
						||
	import * as sid from '@/config/balance.js'
 | 
						||
	export default {
 | 
						||
		data() {
 | 
						||
			return {
 | 
						||
				dataForm: {
 | 
						||
					type: "",
 | 
						||
					idea: "",
 | 
						||
					typeName: ""
 | 
						||
				},
 | 
						||
				rules: {
 | 
						||
					type: [{
 | 
						||
						// 必填项
 | 
						||
						required: true,
 | 
						||
						// 提示内容(会出现在u-form-item内的底部)
 | 
						||
						message: '请选择',
 | 
						||
					}],
 | 
						||
					idea: [{
 | 
						||
						// 必填项
 | 
						||
						required: true,
 | 
						||
						// 提示内容(会出现在u-form-item内的底部)
 | 
						||
						message: '请输入',
 | 
						||
 | 
						||
						trigger: ["change"],
 | 
						||
					}],
 | 
						||
				},
 | 
						||
				selectShow: false,
 | 
						||
				typeList: [],
 | 
						||
 | 
						||
			}
 | 
						||
		},
 | 
						||
		onLoad() {
 | 
						||
			this.getData()
 | 
						||
		},
 | 
						||
		methods: {
 | 
						||
			submit() {
 | 
						||
				this.$refs.uForm.validate().then((res) => {
 | 
						||
					sid.saveFeedBack(this.dataForm).then((res) => {
 | 
						||
						if (res.code == 200) {
 | 
						||
 | 
						||
							uni.showToast({
 | 
						||
								title: res.msg,
 | 
						||
								icon: 'none',
 | 
						||
 | 
						||
							})
 | 
						||
							// uni.setStorageSync('isTab', 3);
 | 
						||
							uni.$emit('tabChange', 3);
 | 
						||
							// 跳转到tabbar页面
 | 
						||
							setTimeout(() => {
 | 
						||
								uni.switchTab({
 | 
						||
									url: '/pages/email/index'
 | 
						||
								})
 | 
						||
							}, 100)
 | 
						||
							// this.$refs.uForm.resetFields()
 | 
						||
							// this.$refs.uForm.clearValidate()
 | 
						||
						}
 | 
						||
					})
 | 
						||
				})
 | 
						||
			},
 | 
						||
			confirm(e) {
 | 
						||
				this.dataForm.type = e.value[0].value
 | 
						||
				this.dataForm.typeName = e.value[0].label
 | 
						||
				this.selectShow = false
 | 
						||
 | 
						||
			},
 | 
						||
			getData() {
 | 
						||
				sid.getFeedbackType().then((res) => {
 | 
						||
					this.typeList = [res.data];
 | 
						||
				});
 | 
						||
			}
 | 
						||
		}
 | 
						||
	}
 | 
						||
</script>
 | 
						||
 | 
						||
<style lang="scss" scoped>
 | 
						||
	.content {
 | 
						||
		background: #F9F9F9;
 | 
						||
		padding: 10rpx 12rpx;
 | 
						||
 | 
						||
		.centerbox {
 | 
						||
			padding: 10rpx;
 | 
						||
			background: #FFFFFF;
 | 
						||
			box-shadow: 0rpx 2rpx 10rpx 0rpx rgba(204, 204, 204, 0.4);
 | 
						||
			border-radius: 10rpx 10rpx 0rpx 0rpx;
 | 
						||
		}
 | 
						||
 | 
						||
		.bottombtn {
 | 
						||
			padding: 10rpx 30rpx 40rpx 30rpx;
 | 
						||
			position: fixed;
 | 
						||
			background-color: #FFFFFF;
 | 
						||
			bottom: 0;
 | 
						||
			left: 0;
 | 
						||
			right: 0;
 | 
						||
		}
 | 
						||
	}
 | 
						||
</style> |