zhangjq
2026-01-27 6f51f667ae7b13dca029045c221d0b1722cf98df
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
(function (vc) {
    vc.extends({
        data: {
            roomMeterQrcodeInfo: {
 
                meterType: '',
                roomId: '',
                objId: '',
                objName: '',
                feeTypeCd: '',
                feeConfigs: [],
                secondaryFeeTypeCds: [],
                secondaryFeeTypeCd: '',
                configId: '',
                objType: '3333',
                hasRoom: false,
                ownerName: '',
                typeName:'',
                meterTypes: [],
                showQrcode:false,
            }
        },
        _initMethod: function () {
        },
        _initEvent: function () {
            vc.on('roomMeterQrcode', 'openRoomMeterQrcodeModal', function (_param) {
                $that.clearRoomMeterQrcodeInfo();
                $that.roomMeterQrcodeInfo.hasRoom = true;
                $that.roomMeterQrcodeInfo.roomId = _param.roomId;
                $that.roomMeterQrcodeInfo.objId = _param.roomId;
                $that.roomMeterQrcodeInfo.objName = _param.roomName.replace('0单元', ''); //处理商铺
                // $that.roomMeterQrcodeInfo.objName = $that.transRoomName(_param.roomName);
                let _ownerName = _param.roomName;
                if (_param.ownerName) {
                    _ownerName += ('(' + _param.ownerName + ')');
                }
                $that.roomMeterQrcodeInfo.ownerName = _ownerName;
                $('#roomMeterQrcodeModel').modal('show');
                $that._listRoomMeterTypes();
            });
            vc.on("roomMeterQrcode", "notify", function (_param) {
                if (_param.hasOwnProperty("roomId") && _param.roomId != "") {
                    $that.roomMeterQrcodeInfo.roomId = _param.roomId;
                    $that.roomMeterQrcodeInfo.objId = _param.roomId;
                    $that.roomMeterQrcodeInfo.objName = _param.name.replace('0单元', ''); //处理商铺;
                    // $that.roomMeterQrcodeInfo.objName = $that.transRoomName(_param.name);
                    // $that._queryPreMeterWater(_param.roomId); // 该函数未定义,暂注释
                }
            });
        },
        methods: {
            // 将1-1-1 转化为 1栋1单元1室
            transRoomName: function (roomName) {
                // 没有-则返回
                if (roomName.indexOf('-') < 0) {
                    return roomName;
                }
                roomName = roomName.split('-');
                return roomName[0] + '栋' + roomName[1] + '单元' + roomName[2] + '室';
            },
 
            _generaotrMeterQrcode: function () {
                
                let _configId = $that.roomMeterQrcodeInfo.configId;
                let _meterType = $that.roomMeterQrcodeInfo.meterType;
                let _roomId = $that.roomMeterQrcodeInfo.roomId;
 
                if(!_configId || !_meterType || !_roomId){
                    return;
                }
 
                $that.roomMeterQrcodeInfo.meterTypes.forEach(_m => {
                    if(_m.typeId == _meterType){
                        $that.roomMeterQrcodeInfo.typeName = _m.typeName;
                    }
                });
                $that.roomMeterQrcodeInfo.showQrcode = true;
               let _communityId = vc.getCurrentCommunity().communityId;
 
              let _url = vc.getData('java110SystemInfo').propertyUrl;
 
              _url += ("pages/meter/qrcodeMeter?configId="+_configId+"&meterType="+_meterType+"&roomId="+_roomId+"&communityId="+_communityId);
 
              document.getElementById("roomMeterQrcodeDiv").innerHTML = "";
              let qrcode = new QRCode(document.getElementById("roomMeterQrcodeDiv"), {
                  text: _url, //你想要填写的文本
                  width: 200, //生成的二维码的宽度
                  height: 200, //生成的二维码的高度
                  colorDark: "#000000", // 生成的二维码的深色部分
                  colorLight: "#ffffff", //生成二维码的浅色部分
                  correctLevel: QRCode.CorrectLevel.L
              });
              qrcode.makeCode(_url);
            },
            _changeMeterMeterWaterFeeTypeCd:  function (_feeTypeCd){
                $that.roomMeterQrcodeInfo.secondaryFeeTypeCd='';
                $that.roomMeterQrcodeInfo.configId = '';
                let param = {
                    params: {
                        feeTypeCd: _feeTypeCd,
                    }
                };
                vc.http.apiGet('/secondaryFeeTypeCdGl.list.show', param,
                    function (json, res) {
                        let result = JSON.parse(json);
                        if (result.length ) {
                            $that.$set($that.roomMeterQrcodeInfo, 'secondaryFeeTypeCds', result);
                        } else {
                            $that.$set($that.roomMeterQrcodeInfo, 'secondaryFeeTypeCds', [{
                                secondaryFeeTypeCd: "",
                                secondaryFeeTypeName: "无关联子类型,请直接选择收费项目"
                            }]);
                        }
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
                        vc.toast(errInfo);
                    }
                );
                $that._changeSecondaryFeeTypeCds(_feeTypeCd, '');
            },
            _changeSecondaryFeeTypeCds: function(_feeTypeCd,_secondaryFeeTypeCd) {
                $that.roomMeterQrcodeInfo.configId = '';
                var param = {
                    params: {
                        page: 1,
                        row: 20,
                        communityId: vc.getCurrentCommunity().communityId,
                        feeTypeCd: _feeTypeCd,
                        secondaryFeeTypeCd: _secondaryFeeTypeCd,
                        isDefault: 'F',
                        valid: '1'
                    }
                };
                //发送get请求
                vc.http.apiGet('/feeConfig.listFeeConfigs', param,
                    function (json, res) {
                        var _feeConfigManageInfo = JSON.parse(json);
                        $that.roomMeterQrcodeInfo.feeConfigs = _feeConfigManageInfo.feeConfigs;
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
                    });
            },
            _listRoomMeterTypes: function (_page, _rows) {
                let param = {
                    params: {
                        page: 1,
                        row: 50,
                        communityId: vc.getCurrentCommunity().communityId
                    }
                };
                //发送get请求
                vc.http.apiGet('/meterType.listMeterType',
                    param,
                    function (json, res) {
                        let _json = JSON.parse(json);
                        $that.roomMeterQrcodeInfo.meterTypes = _json.data;
                    },
                    function (errInfo, error) {
                        console.log('请求失败处理');
                    }
                );
            },
            clearRoomMeterQrcodeInfo: function () {
                $that.roomMeterQrcodeInfo = {
                    meterType: '',
                    roomId: '',
                    objId: '',
                    objName: '',
                    feeTypeCd: '',
                    secondaryFeeTypeCd: '',
                    feeConfigs: [],
                    configId: '',
                    objType: '3333',
                    hasRoom: false,
                    ownerName: '',
                    meterTypes: [],
                    showQrcode:false,
                    typeName:'',
                };
            },
        }
    });
})(window.vc);