jialh
2025-06-25 f2f4bd6cc225cc31a6f5ed8bafe153d901d5fbb1
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
(function (vc, vm) {
    vc.extends({
        data: {
            editMeterWaterInfo: {
                waterId: '',
                meterType: '',
                preDegrees: '',
                curDegrees: '',
                preReadingTime: '',
                curReadingTime: '',
                remark: ''
            }
        },
        _initMethod: function () {
            $that._initEditMeterWaterDateInfo();
        },
        _initEvent: function () {
            vc.on('editMeterWater', 'openEditMeterWaterModal', function (_params) {
                vc.component.refreshEditMeterWaterInfo();
                $('#editMeterWaterModel').modal('show');
                vc.copyObject(_params, vc.component.editMeterWaterInfo);
                vc.component.editMeterWaterInfo.communityId = vc.getCurrentCommunity().communityId;
            });
        },
        methods: {
            _initEditMeterWaterDateInfo: function () {
                $('.editPreReadingTime').datetimepicker({
                    language: 'zh-CN',
                    fontAwesome: 'fa',
                    format: 'yyyy-mm-dd hh:ii:ss',
                    initTime: true,
                    initialDate: new Date(),
                    autoClose: 1,
                    todayBtn: true
                });
                $('.editPreReadingTime').datetimepicker()
                    .on('changeDate', function (ev) {
                        var value = $(".editPreReadingTime").val();
                        vc.component.editMeterWaterInfo.preReadingTime = value;
                    });
                $('.editCurReadingTime').datetimepicker({
                    language: 'zh-CN',
                    fontAwesome: 'fa',
                    format: 'yyyy-mm-dd hh:ii:ss',
                    initTime: true,
                    initialDate: new Date(),
                    autoClose: 1,
                    todayBtn: true
                });
                $('.editCurReadingTime').datetimepicker()
                    .on('changeDate', function (ev) {
                        var value = $(".editCurReadingTime").val();
                        var start = Date.parse(new Date(vc.component.editMeterWaterInfo.preReadingTime))
                        var end = Date.parse(new Date(value))
                        if (start - end >= 0) {
                            vc.toast("计费终止时间必须大于计费起始时间")
                            $(".addCurReadingTime").val('')
                        } else {
                            vc.component.editMeterWaterInfo.curReadingTime = value;
                        }
                    });
                //防止多次点击时间插件失去焦点
                document.getElementsByClassName('form-control editPreReadingTime')[0].addEventListener('click', myfunc)
 
                function myfunc(e) {
                    e.currentTarget.blur();
                }
 
                document.getElementsByClassName("form-control editCurReadingTime")[0].addEventListener('click', myfunc)
 
                function myfunc(e) {
                    e.currentTarget.blur();
                }
            },
            editMeterWaterValidate: function () {
                return vc.validate.validate({
                    editMeterWaterInfo: vc.component.editMeterWaterInfo
                }, {
                    'editMeterWaterInfo.meterType': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "表类型不能为空"
                        },
                        {
                            limit: "num",
                            param: "",
                            errInfo: "表类型错误"
                        }
                    ],
                    'editMeterWaterInfo.preDegrees': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "上期度数不能为空"
                        },
                        {
                            limit: "money",
                            param: "",
                            errInfo: "上期度数格式错误"
                        }
                    ],
                    'editMeterWaterInfo.curDegrees': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "本期度数不能为空"
                        },
                        {
                            limit: "money",
                            param: "",
                            errInfo: "本期度数格式错误"
                        }
                    ],
                    'editMeterWaterInfo.preReadingTime': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "上期读表时间不能为空"
                        },
                        {
                            limit: "dateTime",
                            param: "",
                            errInfo: "上期读表时间格式错误"
                        }
                    ],
                    'editMeterWaterInfo.curReadingTime': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "本期读表时间不能为空"
                        },
                        {
                            limit: "dateTime",
                            param: "",
                            errInfo: "本期读表时间格式错误"
                        }
                    ],
                    'editMeterWaterInfo.remark': [
                        {
                            limit: "maxLength",
                            param: "500",
                            errInfo: "备注格式错误"
                        }
                    ],
                    'editMeterWaterInfo.waterId': [
                        {
                            limit: "required",
                            param: "",
                            errInfo: "表ID不能为空"
                        }
                    ]
                });
            },
            editMeterWater: function () {
                if (!vc.component.editMeterWaterValidate()) {
                    vc.toast(vc.validate.errInfo);
                    return;
                }
                vc.http.apiPost(
                    'meterWater.updateMeterWater',
                    JSON.stringify(vc.component.editMeterWaterInfo),
                    {
                        emulateJSON: true
                    },
                    function (json, res) {
                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
                        let _json = JSON.parse(json);
                        if (_json.code == 0) {
                            //关闭model
                            $('#editMeterWaterModel').modal('hide');
                            vc.emit('meterWaterManage', 'listMeterWater', {});
                            vc.toast("修改成功");
                            return;
                        } else {
                            vc.toast(_json.msg);
                        }
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
                        vc.message(errInfo);
                    });
            },
            getChange: function () {
                //上期度数
                var preDegrees = parseFloat(vc.component.editMeterWaterInfo.preDegrees);
                //本期度数
                var curDegrees = parseFloat(vc.component.editMeterWaterInfo.curDegrees);
                if (preDegrees > curDegrees) {
                    vc.toast("本期度数不能小于上期度数!");
                    vc.component.editMeterWaterInfo.curDegrees = "";
                }
            },
            refreshEditMeterWaterInfo: function () {
                vc.component.editMeterWaterInfo = {
                    waterId: '',
                    meterType: '',
                    preDegrees: '',
                    curDegrees: '',
                    preReadingTime: '',
                    curReadingTime: '',
                    remark: ''
                }
            }
        }
    });
})(window.vc, window.vc.component);