1
lzhe
2024-09-29 3ca90ccca60e10436bca4ba99c95ce81c14d3895
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<!--
 * @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>