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>
|