<template>
	<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="100px" label-position="left">
		<% column.forEach(function(item, index){ %>
		<el-form-item label="<%= item.label %>" prop="<%= item.prop %>">
			<el-input v-model="form.<%= item.prop %>" clearable></el-input>
		</el-form-item>
		<% })%>
	</el-form>
</template>

<script>
	export default {
		props: {
			mode: { type: String, default: "add" }
		},
		data() {
			return {
				//表单数据
				form: {
					<%= base.rowKey %>:"",
					<% column.forEach(function(item, index){ %>
					<%= item.prop %>: "",
					<% })%>
				},
				//验证规则
				rules: {
					<% column.forEach(function(item, index){ %>
					<%= item.prop %>: [
						{required: true, message: '请输入<%= item.label %>'}
					],
					<% })%>
				},
			}
		},
		mounted(){

		},
		methods: {
			//表单提交方法
			submit(callback){
				this.$refs.dialogForm.validate((valid) => {
					if (valid) {
						callback(this.form)
					}else{
						return false;
					}
				})
			},
			//表单注入数据
			setData(data){
				this.form.<%= base.rowKey %> = data.<%= base.rowKey %>
				<% column.forEach(function(item, index){ %>
				this.form.<%= item.prop %> = data.<%= item.prop %>
				<% })%>
				//可以和上面一样单个注入，也可以像下面一样直接合并进去
				//Object.assign(this.form, data)
			}
		}
	}
</script>

<style>
</style>
