mrzcc
2020-03-06 ecdac8a738f254db2b2ea28cbe3248f7a6a7eb2b
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
(function (vc) {
 
    vc.extends({
        propTypes: {
            callBackListener: vc.propTypes.string, //父组件名称
            callBackFunction: vc.propTypes.string //父组件监听方法
        },
        data: {
            addMenuViewInfo: {
                flowComponent: 'addMenuView',
                name: '',
                url: '',
                seq: '',
                isShow: '',
                description: '',
            }
        },
        watch: {
            addMenuViewInfo: {
                deep: true,
                handler: function () {
                    vc.component.saveAddMenuInfo();
                }
            }
        },
        _initMethod: function () {
 
        },
        _initEvent: function () {
 
            vc.on('addMenuViewInfo', 'onIndex', function (_index) {
                vc.component.addMenuViewInfo.index = _index;
            });
        },
        methods: {
            addMenuValidate() {
                return vc.validate.validate({
                    addMenuViewInfo: vc.component.addMenuViewInfo
                }, {
                    'addMenuViewInfo.name': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "菜单名称不能为空"
                        },
                        {
                            limit: "maxin",
                            param: "2,10",
                            errInfo: "菜单名称必须在2至10字符之间"
                        },
                    ],
                    'addMenuViewInfo.url': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "菜单地址不能为空"
                        },
                        {
                            limit: "maxLength",
                            param: "200",
                            errInfo: "菜单地址不能超过200"
                        },
                    ],
                    'addMenuViewInfo.seq': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "序列不能为空"
                        },
                        {
                            limit: "num",
                            param: "",
                            errInfo: "序列必须为整数"
                        },
                    ],
                    'addMenuViewInfo.isShow': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "菜单显示不能为空"
                        },
                        {
                            limit: "maxin",
                            param: "1,12",
                            errInfo: "菜单显示错误"
                        },
                    ],
                    'addMenuViewInfo.description': [
                        {
                            limit: "maxLength",
                            param: "200",
                            errInfo: "备注内容不能超过200"
                        },
                    ],
 
                });
            },
            saveAddMenuInfo: function () {
                if (vc.component.addMenuValidate()) {
 
                    vc.emit('addPrivilegeViewInfo', 'syncData', {
                        name: vc.component.addMenuViewInfo.name,
                        description: vc.component.addMenuViewInfo.description,
                        url: vc.component.addMenuViewInfo.url
                    });
                    //侦听回传
                    vc.emit($props.callBackListener, $props.callBackFunction, vc.component.addMenuViewInfo);
                    return;
                }
            }
        }
    });
 
})(window.vc);