73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Vue
		
	
	
	
<!--
 | 
						||
 * @Descripttion: 此文件由SCUI生成,典型的VUE增删改列表页面组件
 | 
						||
 * @version: 1.0
 | 
						||
 * @Author: SCUI AutoCode 模板版本 1.0.0-beta.1
 | 
						||
 * @Date: <%= createDate %>
 | 
						||
 * @LastEditors: (最后更新作者)
 | 
						||
 * @LastEditTime: (最后更新时间)
 | 
						||
-->
 | 
						||
 | 
						||
<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>
 |