FInputText.js
2.01 KB
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
define(function () {
    'use strict';
    function FInputText() { 
    }
    FInputText.prototype = {
        transferToVM: function (dm) {
            var fieldType = this.getFieldType(dm.htmlType);
            var isdtpicker = ~["date", "time", "datetime"].indexOf(fieldType);
            var inputType = this.getInputType(fieldType);
            
            return {
                type: inputType,
                required: dm.required == 1,
                readonly: dm.readonly == 1,
                needWrap: dm.needWrap == 1,
                placeholder: dm.fieldremind,
                assist: { active: inputType === "number" && dm.assistInput == 1 },
                field: { label: dm.fieldlabel || "" },
                dtpicker: isdtpicker
            };
        },
        getFieldType: function (htmlType) {
            var fieldType = "text";
            switch (htmlType) {//1.文本,2.日期,3.时间,4.日期时间,5.密码,6.数字,7.电话号码,8.整数,9.浮点数
                case "1":
                    fieldType = "text"; break;
                case "2":
                    fieldType = "date"; break;
                case "3":
                    fieldType = "time"; break;
                case "4":
                    fieldType = "datetime"; break;
                case "5":
                    fieldType = "password"; break;
                case "6":
                case "9":
                    fieldType = "float"; break;
                case "7":
                    fieldType = "tel"; break;
                case "8":
                    fieldType = "int"; break;
            }
            return fieldType;
        },
        getInputType: function (fieldType) {
            var inputType = "text";
            if (~["password", "tel"].indexOf(fieldType)) {
                inputType = fieldType
            }
            if (~["float", "int"].indexOf(fieldType)) {
                inputType = "number";
            }
            return inputType;
        }
    }
    return FInputText;
});