1/**
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15import common from '../../data/commonData';
16import dateUtil from '../../utils/DateUtil';
17import router from '@system.router';
18import HiLog from '../../utils/HiLog'
19
20const TAG = 'QueryReportController';
21
22let queryReportCtrl;
23
24export default class QueryReportController {
25    // MMS or not
26    isMsm: boolean = true;
27    // Sending Status Description
28    sendStatusDesc: Resource;
29    // Sending Status
30    sendStatus: number = 0;
31    // Time
32    mmsTime: Resource;
33    // Specific morning and afternoon time
34    specificTime: Resource;
35    // Timestamp
36    timeMillisecond: string = '0';
37    // telephoneNo
38    telephone: string = '';
39
40    static getInstance() {
41        if (queryReportCtrl == null) {
42            queryReportCtrl = new QueryReportController();
43            AppStorage.SetAndLink('QueryReportController', queryReportCtrl);
44        }
45        return queryReportCtrl;
46    };
47
48    onInit() {
49        HiLog.i(TAG, 'onInit')
50        this.isMsm = router.getParams().isMsm == undefined ? true : Boolean(router.getParams().isMsm);
51        this.sendStatus = router.getParams().sendStatus == undefined ? 0 : Number(router.getParams().sendStatus);
52        this.timeMillisecond =
53            router.getParams().timeMillisecond == undefined ? '0' : String(router.getParams().timeMillisecond);
54        this.telephone = router.getParams().telephone == undefined ? '' : String(router.getParams().telephone)
55    };
56
57    onShow() {
58        HiLog.i(TAG, 'onShow')
59        // The status is changed to Chinese description.
60        this.dealSendStatus();
61        // Time Conversion
62        this.dealTime();
63    };
64
65    dealSendStatus() {
66        HiLog.i(TAG, 'dealSendStatus sendStatus=' + this.sendStatus)
67        if (this.sendStatus == common.int.SEND_MESSAGE_SUCCESS) {
68            this.sendStatusDesc = $r('app.string.received');
69        } else if (this.sendStatus == common.int.SEND_MESSAGE_FAILED) {
70            this.sendStatusDesc = this.isMsm ? $r('app.string.refused') : $r('app.string.failed');
71        } else {
72            this.sendStatusDesc = $r('app.string.rending');
73        }
74    };
75
76    dealTime() {
77        this.mmsTime = dateUtil.convertTimeStampDate(this.timeMillisecond);
78        this.specificTime = dateUtil.convertTimeStampTime(this.timeMillisecond, false)
79    }
80}