Pārlūkot izejas kodu

@zengqiao@消息列表样式

zengqiao 4 gadi atpakaļ
vecāks
revīzija
584feed779

+ 32 - 52
2019/bj-zqzt/biz/css/base.css

@ -1714,58 +1714,12 @@ li.card-actions-wrapper {
1714 1714
  left: .45rem;
1715 1715
  top: .2rem;
1716 1716
}
1717
.page-message-center .time-content-area {
1718
  float:right;
1719
  height: 100%;
1720
  width: 2rem;
1721
  padding-left: 0;
1722
  padding-right: 0;
1723
  justify-content: flex-start;
1724
}
1725
.message-title-filter {
1726
  height: 0.3rem;
1727
  border-bottom: 1px solid #E6E9ED;
1728
  margin-top: 0.1rem;
1729
  padding-left: 0.2rem;
1730
}
1731
.page-message-center .sort-by-time-slide.active {
1732
  left: 0;
1733
}
1734
.page-message-center .sort-by-time-slide {
1735
  -webkit-transition: left 300ms ease-out;
1736
  transition: left 300ms ease-out;
1737
  left: 100%;
1738
  bottom: 0;
1739
  top: 0;
1740
}
1741
.message-close {
1742
  background: url("../img/input-delete.png") center center no-repeat;
1743
  background-size:contain;
1744
  float: right;
1745
  width: 0.2rem;
1746
  height: 0.2rem;
1747
  margin-right: 0.05rem;
1748
}
1749
.message-close-title {
1750
  display: inline-block;
1751
  color: #2B2F33;
1752
  font-weight: 500;
1753
}
1754
.page-message-center .message-filter {
1755
  background: url("../img/message-filter.png") center center no-repeat;
1756
  background-size:contain;
1757
  top: .125rem;
1758
  /*background: url(../img/message-filter.png) center center no-repeat;*/
1759
}
1760 1717
.message-read .message-tips{
1761 1718
  display: none;
1762 1719
}
1763 1720
.message-head{
1764 1721
  margin: .2rem .15rem .1rem 0;
1765 1722
}
1766
.message-task {
1767
  display: none;
1768
}
1769 1723
.message-title{
1770 1724
  line-height: .15rem;
1771 1725
  color: rgba(43, 47, 51, 1);
@ -1782,12 +1736,6 @@ li.card-actions-wrapper {
1782 1736
.message-all-already .sort-type {
1783 1737
  font-size: 0.12rem;
1784 1738
}
1785
.message-flag {
1786
  margin-bottom: 0rem !important;
1787
  padding-bottom: 0.1rem;
1788
  background-color: #fff !important;
1789
  border-bottom: 0.025rem solid;
1790
}
1791 1739
.message-read .message-title{
1792 1740
  color: rgba(92, 96, 102, 1);
1793 1741
}
@ -1807,6 +1755,38 @@ li.card-actions-wrapper {
1807 1755
  font-size: .12rem;
1808 1756
  font-family: SourceHanSansCN-Regular;
1809 1757
}
1758
.ipu-tab-1.ipu-tab-message .ipu-tab-title-link > li {
1759
  border-bottom: none;
1760
}
1761
.ipu-tab.ipu-tab-message .li-name {
1762
  margin-top: .14rem;
1763
  margin-bottom: .02rem;
1764
}
1765
.ipu-tab-1.ipu-tab-message .message-count {
1766
  min-width: .2rem;
1767
  height: .16rem;
1768
  background:rgba(252,23,23,1);
1769
  border-radius: .08rem;
1770
  color: rgba(255, 255, 255, 1);
1771
  font-size: .12rem;
1772
  text-align: center;
1773
  line-height: .16rem;
1774
  position: absolute;
1775
  top: .026rem;
1776
  left: 50%;
1777
  padding: 0 .06rem;
1778
  word-break: keep-all;
1779
  transform: translate(.18rem,0);
1780
}
1781
.ipu-tab-1.ipu-tab-message  .current-flag{
1782
  width:.22rem;
1783
  background-color: #fff;
1784
  margin-bottom: 0;
1785
  margin-top: .1rem;
1786
}
1787
.ipu-tab-1.ipu-tab-message .ipu-tab-title-link > li.ipu-current .current-flag{
1788
  background-color: #2B2F33;
1789
}
1810 1790
.card-action-delete {
1811 1791
  background-color: #FB442B;
1812 1792
}

+ 558 - 0
2019/bj-zqzt/biz/js/message-center.js

@ -0,0 +1,558 @@
1
require(['jquery', 'ipuUI'], function ($, ipuUI, Mobile) {
2
  $.sizeReady(function () {
3
    var tab = ipuUI.tab(".ipu-tab-message");
4
5
    // tab点击事件
6
    $(".ipu-tab-title-link").on("click", "li", function () {
7
      if ($(this).find(".li-name").text().trim() == "通知") {
8
        msgTypeId = "100";
9
      } else {
10
        // 待办
11
        msgTypeId = "200";
12
        if (firstLoadFlag.mission == 1) {
13
          getMessageList("mission", loadComponentId.mission);
14
          firstLoadFlag.mission = 0;
15
        }
16
      }
17
    });
18
19
    // artTemplate函数注册
20
    artTemplate.defaults.imports.jsonToStr = function (json) {
21
      return JSON.stringify(json);
22
    };
23
    // artTemplate消息类型样式icon
24
    artTemplate.defaults.imports.iconClass = function (status) {
25
      var icon = "";
26
      switch (status) {
27
        case '501':
28
          icon = 'message-expire';
29
          break;
30
        case '502':
31
          icon = 'message-lower';
32
          break;
33
        case '503':
34
          icon = 'message-sale';
35
          break;
36
        case '504':
37
          icon = 'message-change';
38
          break;
39
        case '505':
40
          icon = 'message-change';
41
          break;
42
        default:
43
          icon = 'message-approval';
44
      }
45
      return icon;
46
    };
47
48
    // artTemplate消息列表title
49
    artTemplate.defaults.imports.getTitle = function (MSG_LABEL_ID, SUB_TYPE_ID, content) {
50
      content = JSON.parse(content);
51
      var title = "";
52
      if (MSG_LABEL_ID == '502' || MSG_LABEL_ID == '505') {//售前  待办
53
        if (SUB_TYPE_ID == '1000023') {
54
          title = content.BUILD_NAME;
55
        } else if (SUB_TYPE_ID == '1000027' || SUB_TYPE_ID == '1000028'
56
            || SUB_TYPE_ID == '1000029' || SUB_TYPE_ID == '2000026') {//电子协议单审批通知
57
          title = content.applyCodeNum;//电子协议单号
58
        } else {
59
          title = content.CUSTOMER_NAME;
60
        }
61
      } else if (MSG_LABEL_ID == '504') {//任务
62
        title = content.PROPERTY_NAME;
63
      } else if (MSG_LABEL_ID == '501') {//工程进度
64
        if (SUB_TYPE_ID == '1000030') {
65
          title = content.business_code_num;//业务工单号
66
        } else if (SUB_TYPE_ID == '2000032' || SUB_TYPE_ID == '2000033') {
67
          title = content.busi_chance_id //勘查单号
68
        } else if (SUB_TYPE_ID == '2000031') { // 开通派单
69
          title = content.customer_order_id // 订单号
70
        } else {
71
          title = content.businessType;
72
        }
73
74
      } else if (MSG_LABEL_ID == '503') {//审批
75
        if (SUB_TYPE_ID == '1000019') {
76
          //立户审批
77
          title = content.CUST_NAME;
78
        } else if (SUB_TYPE_ID == '1000020') {
79
          //立户审批
80
          title = content.PROPERTY_NAME;
81
        } else if (SUB_TYPE_ID == '1000034' || SUB_TYPE_ID == '1000035') {//楼宇关系新增通知/楼宇关系删除通知
82
          //楼宇名称
83
          title = content.BUILD_NAME;
84
        }
85
      }
86
      return title;
87
    };
88
89
90
    // 第一次加载页面标识 1:第一次加载 0:非第一次加载
91
    var firstLoadFlag = {
92
      notice: 1, // 通知
93
      mission: 1 // 待办
94
    }
95
96
    // 各种状态订单的下拉刷新组件的选择器id
97
    var loadComponentId = {
98
      notice: "refresh-notice",
99
      mission: "refresh-mission"
100
    }
101
102
    var pageNum = 10;//默认一页加载数据条数
103
104
    var currentPages = {
105
      notice: 0,
106
      mission: 0
107
    }
108
109
    var addCounts = {
110
      notice: 0,
111
      mission: 0
112
    }
113
114
    var myRefresh_notice = null;
115
    var myRefresh_mission = null;
116
117
    // -------------列表-------------
118
    var msgTypeId = "100";//消息类型  100 通知  200 待办
119
    init();
120
121
    // 初始化函数
122
    function init() {
123
      // 监听物理返回键
124
      if (WadeMobile.isAndroid()) {
125
        WadeMobile.setKeyListener("back", function () {
126
          backHandler();
127
        }, true);
128
      } else if (WadeMobile.isIOS()) {
129
        WadeMobile.setKeyListener("slipToRight", function () {
130
          backHandler();
131
        }, true);
132
      }
133
134
      // 获取未读消息总数
135
      getMessageCount();
136
      // 初始化消息列表
137
      if (firstLoadFlag.notice == 1) {
138
        getMessageList("notice", loadComponentId.notice);
139
        firstLoadFlag.notice = 0;
140
      }
141
    }
142
143
    // 获取未读消息数量
144
    function getMessageCount() {
145
      let requestParams = Wade.DataMap();
146
      Common.callSvc("MessageBean.getUneradCountNotice", requestParams, function (result) {
147
        result = typeof (result) == "string" ? Wade.DataMap(result) : result;
148
        console.log(result);
149
        if (result.get("code") == 1) {
150
          let msg_count = result.get("msg_count");
151
          let msg_type_info_list = result.get("msg_type_info_list");
152
          $(".message-count").text(0).hide();
153
          if (msg_count != '0') {
154
            for (let i = 0; i < msg_type_info_list.length; i++) {
155
              if (msg_type_info_list.get(i).get("MSG_TYPE_ID") == 100) {
156
                $(".message-count:eq(0)").text(msg_type_info_list.get(i).get("MSG_COUNT")).show();
157
              } else if (msg_type_info_list.get(i).get("MSG_TYPE_ID") == 200){
158
                $("#message_need_count:eq(1)").text(msg_type_info_list.get(i).get("MSG_COUNT")).show();
159
              }
160
            }
161
          }
162
        }
163
      });
164
    }
165
166
167
    // 初始化消息列表
168
    function getMessageList(type, loadComponent) {
169
      // 初始化下拉刷新
170
      var myRefresh = ipuUI.refresh("#" + loadComponent, {
171
        bottomLoadFun: function () { // 加载更多
172
          console.log("上拉加载下一页");
173
          addData(type, loadComponent);
174
        },
175
        topLoadFun: function () { // 刷新
176
          console.log("下拉刷新");
177
          currentPages[type] = 0;
178
          addData(type, loadComponent);
179
          getMessageCount();
180
        }
181
      });
182
      if ("notice" == type) {
183
        myRefresh_notice = myRefresh;
184
      } else if ("mission" == type) {
185
        myRefresh_mission = myRefresh;
186
      }
187
    }
188
189
    // 加载第currentPage页数据
190
    function addData(type, loadComponentId) {
191
      var myRefresh;
192
      var listObj = $("#" + loadComponentId + " ul.message-list");
193
      currentPages[type]++;
194
      var currentPage = currentPages[type];
195
      $('#' + loadComponentId + ' .no-result-msg').hide();
196
      var localCount = ++addCounts[type];  // 执行查询前,保留当前计数器,当查询返回时进行检查是否最新查询,不是则抛弃查询结果
197
198
      if (localCount == addCounts[type]) { // 检查是否最新查询返回数据,不是则抛弃查询结果
199
200
        var requestParams = Wade.DataMap();
201
        requestParams.put("pageNum", currentPage);
202
        requestParams.put("pageSize", pageNum);
203
        requestParams.put("msgTypeId", msgTypeId);
204
        Common.callSvc("MessageBean.getMsgInfoNotice", requestParams, function (result) {
205
          result = typeof (result) == "string" ? Wade.DataMap(result) : result;
206
          console.log(result);
207
          if ("notice" == type) {
208
            myRefresh = myRefresh_notice;
209
          } else if ("mission" == type) {
210
            myRefresh = myRefresh_mission;
211
          }
212
          if (result.get("code") == 1) {
213
            var resultJson = JSON.parse(result.get("MSG_INFO_LIST").toString());
214
            if (resultJson && resultJson.length) {
215
              var jsonList = {"list": resultJson};
216
              myRefresh.enableBottom(resultJson.length == pageNum);
217
              if (currentPages[type] == 1) {
218
                if (resultJson.length == 0) {
219
                  // 顶部刷新,刷新也可能已经没有数据了,待处理
220
                  myRefresh.enableTop(false);
221
                  myRefresh.enableBottom(false);
222
                  myRefresh.endTopLoading(); //最后调用
223
                  myRefresh.endBottomLoading();
224
                  listObj.empty();
225
                  $("#" + loadComponentId + " .no-result-msg").show();
226
                } else {
227
                  // 有数据
228
                  listObj.empty(); // 清空已有内容
229
                  listObj.append(artTemplate("message-item", jsonList));
230
                  myRefresh.endTopLoading(); //最后调用
231
                  myRefresh.endBottomLoading();
232
                }
233
              } else {  // 底部加载更多,或查询
234
                if (resultJson.length < pageNum) {
235
                  myRefresh.enableBottom(false);
236
                }
237
                var jsonList = {"list": resultJson};
238
                listObj.append(artTemplate("message-item", jsonList));
239
                myRefresh.endBottomLoading();  //最后调用
240
              }
241
              var leftSwipe = new LeftSwipe('.ipu-carousel');  // 滑块组件依赖页面写的部分样式
242
            } else {
243
              if (currentPages[type] == 1) {
244
                //没有数据且刷新操作
245
                myRefresh.enableTop(false);
246
                myRefresh.enableBottom(false);
247
                listObj.empty();
248
                $("#" + loadComponentId + " .no-result-msg").show();
249
              } else {
250
                //新加载数据不够一页
251
                myRefresh.enableBottom(false);
252
                myRefresh.endBottomLoading();
253
              }
254
            }
255
          } else {
256
            // ipuUI.('请求数据失败!');
257
            myRefresh.enableTop(false);
258
            myRefresh.enableBottom(false);
259
            listObj.empty();
260
            $("#" + loadComponentId + " .no-result-msg").show();
261
          }
262
263
        });
264
      }
265
    };
266
267
    // 通知跳转详情页面
268
    $(".ipu-tab-body-wrapper").on("click", ".notice-item", function () {
269
      //已读
270
      var _this = $(this);
271
      var $node = $(this).parents(".message-item-each").find(".record");
272
      if (_this.find(".message-tips").length > 0) {
273
        _this.find(".message-tips").remove();
274
        if (msgTypeId == 100) {
275
276
          $("#message_count").html($("#message_count").html() - 1);
277
        } else {
278
          $("#message_need_count").html($("#message_need_count").html() - 1);
279
        }
280
        //点击详情关闭左滑
281
        var leftSwipe = $node.parents(".ipu-carousel").data("leftSwipe"); // 通过jquery获取组件实例
282
        leftSwipe.close(function (obj) {
283
          $node.hide().width();
284
          leftSwipe.refresh();
285
        });
286
287
        var msgId = _this.parents(".message-item-each").attr("name");
288
        var requestParams = Wade.DataMap();
289
        requestParams.put("msgId", msgId);
290
        requestParams.put("state", "1");
291
        Common.callSvc("MessageBean.updateNotice", requestParams, function (result) {
292
          result = typeof (result) == "string" ? Wade.DataMap(result) : result;
293
          console.log(result);
294
          if (result.get("code") == 1) {
295
            _this.find(".message-item").removeClass("message-unread").addClass("message-read");
296
            var json = _this.data("json");
297
            var params = Wade.DataMap(json);
298
            var MSG_CONTENT = Wade.DataMap(params.get("MSG_CONTENT"));
299
            params.put("jsonStr", JSON.stringify(json));
300
            params.addAll(MSG_CONTENT.map);
301
            console.log(params);
302
            if (json.SUB_TYPE_ID == "2000026") {
303
              Common.limitFunLong(Mobile.openWindow("AgreementSheetApproval", params.toString(), function (data) {}));
304
            } else if (json.SUB_TYPE_ID == "2000032") {
305
              params.put("lastPage", "MessageCenter");
306
              Common.limitFunLong(Mobile.openTemplate("ResourceExplorationSheetConfirm", params.toString()));
307
            } else if (json.SUB_TYPE_ID == "2000033") {
308
              Common.limitFunLong(getResourceDetails(params));
309
            } else if (json.SUB_TYPE_ID == "2000031") {// 开通派单
310
              Common.limitFunLong(Mobile.openTemplate("OpenDispatchSheet", params.toString()));
311
            } else {
312
              Common.limitFunLong(Mobile.openTemplate("MessageDetails", params.toString()));
313
            }
314
          } else {
315
            // ipuUI.('请求数据失败!');
316
            ipuUI.toast("更新消息状态失败");
317
          }
318
        });
319
      } else {
320
        var json = _this.data("json");
321
        var params = Wade.DataMap(json);
322
        var MSG_CONTENT = Wade.DataMap(params.get("MSG_CONTENT"));
323
        params.put("jsonStr", JSON.stringify(json));
324
        params.addAll(MSG_CONTENT.map);
325
        console.log(params);
326
        if (json.SUB_TYPE_ID == "2000026") {
327
          Common.limitFunLong(Mobile.openWindow("AgreementSheetApproval", params.toString(), function (data) {}));
328
        } else if (json.SUB_TYPE_ID == "2000032") {
329
          params.put("lastPage", "MessageCenter");
330
          Common.limitFunLong(Mobile.openTemplate("ResourceExplorationSheetConfirm", params.toString()));
331
        } else if (json.SUB_TYPE_ID == "2000033") {
332
          Common.limitFunLong(getResourceDetails(params));
333
        } else if (json.SUB_TYPE_ID == "2000031") {// 开通派单
334
          params.put("lastPage", "MessageCenter");
335
          Common.limitFunLong(Mobile.openTemplate("OpenDispatchSheet", params.toString()));
336
        } else {
337
          Common.limitFunLong(Mobile.openTemplate("MessageDetails", params.toString()));
338
        }
339
      }
340
    });
341
342
343
    // 通知操作选项点击事件
344
    $(".ipu-tab-body-wrapper").on("click", ".card-action-item", function () {
345
      var option = $(this).text().trim();
346
      var _this = $(this);
347
      var msgId = _this.parents(".message-item-each").attr("name");
348
      if (option == "删除") {
349
        if (_this.parents(".message-item-each").find(".message-tips").length > 0) {
350
          var requestParams = Wade.DataMap();
351
          requestParams.put("msgId", msgId);
352
          requestParams.put("state", "2");
353
          Common.callSvc("MessageBean.updateNotice", requestParams, function (result) {
354
            result = typeof (result) == "string" ? Wade.DataMap(result) : result;
355
            console.log(result);
356
            if (result.get("code") == 1) {
357
              _this.parents(".message-item-each").remove();
358
              if (msgTypeId == 100) {
359
                $("#message_count").html($("#message_count").html() - 1);
360
              } else {
361
                $("#message_need_count").html($("#message_need_count").html() - 1);
362
              }
363
            } else {
364
              // ipuUI.('请求数据失败!');
365
              ipuUI.toast("删除消息失败");
366
            }
367
          });
368
        } else {
369
          var requestParams = Wade.DataMap();
370
          requestParams.put("msgId", msgId);
371
          requestParams.put("state", "2");
372
          Common.callSvc("MessageBean.updateNotice", requestParams, function (result) {
373
            result = typeof (result) == "string" ? Wade.DataMap(result) : result;
374
            console.log(result);
375
            if (result.get("code") == 1) {
376
              _this.parents(".message-item-each").remove();
377
            } else {
378
              // ipuUI.('请求数据失败!');
379
              ipuUI.toast("删除消息失败");
380
            }
381
          });
382
        }
383
      } else if (option == "标为已读") {
384
        var requestParams = Wade.DataMap();
385
        requestParams.put("msgId", msgId);
386
        requestParams.put("state", "1");
387
        Common.callSvc("MessageBean.updateNotice", requestParams, function (result) {
388
          result = typeof (result) == "string" ? Wade.DataMap(result) : result;
389
          console.log(result);
390
          if (result.get("code") == 1) {
391
            _this.parents(".message-item-each").find(".message-item").removeClass("message-unread").addClass("message-read");
392
            if (msgTypeId == 100) {
393
              $("#message_count").html($("#message_count").html() - 1);
394
            } else {
395
              $("#message_need_count").html($("#message_need_count").html() - 1);
396
            }
397
            var leftSwipe = _this.parents(".ipu-carousel").data("leftSwipe"); // 通过jquery获取组件实例
398
            leftSwipe.close(function (obj) {
399
              _this.hide().width();
400
              leftSwipe.refresh();
401
            });
402
403
          } else {
404
            // ipuUI.('请求数据失败!');
405
            ipuUI.toast("更新消息状态失败");
406
          }
407
        });
408
409
      }
410
    });
411
412
413
    // 返回
414
    $("#back-ext").click(function () {
415
      backHandler();
416
    });
417
418
    function backHandler() {
419
      var params = Wade.DataMap();
420
      params.put("lastPageAction", "MessageCenter");
421
      Mobile.backWithCallback(params.toString(), "Index");
422
    }
423
424
    //查询勘查单详情
425
    function getResourceDetails(params) {
426
      var content = Wade.DataMap(params.get("MSG_CONTENT"));
427
      //消息id
428
      var MSG_ID = params.get("MSG_ID");
429
      //勘查单号
430
      var busi_chance_id = content.get("busi_chance_id");
431
      //流程编码
432
      var workflow_id = content.get("workflow_id");
433
      //任务编码
434
      var task_id = content.get("task_id");
435
      var cust_name = content.get("cust_name");
436
      var cust_service_id = content.get("cust_service_id");
437
438
      if (busi_chance_id) {
439
        var requestParams = Wade.DataMap();
440
        requestParams.put("BUSI_CHANCE_ID", busi_chance_id);
441
        // 加载页面等待样式
442
        ipuUI.showIndicator();
443
        Common.callSvc("ResourceExplorationBean.getResourceExplorationDetails", requestParams, function (result) {
444
          // 关闭加载动画特殊函数
445
          ipuUI.hideIndicator();
446
          result = typeof (result) == "string" ? Wade.DataMap(result) : result;
447
          console.log(result);
448
          if (result.get("code") == 1 && result.get("resDetails")) {
449
            var resDetails = result.get("resDetails");
450
            //如果该资源勘查单状态为'8-申请传输资源',可以继续处理,不是则提示用户是否删除“该工单已经处理,是否删除
451
            if (resDetails.get("BUSI_CHANCE_STATE") == "8") {
452
              var infoParams = resDetails;
453
              infoParams.put("BUSI_CHANCE_ID", busi_chance_id)
454
              infoParams.put("CUST_NAME", content.get("cust_name"))
455
              infoParams.put("CUST_SERVICE_ID", content.get("cust_service_id"))
456
              infoParams.add("Bandwidth", resDetails.get("bandwidth"))
457
              //消息待办信息
458
              infoParams.put("MSG_ID", MSG_ID)
459
              infoParams.put("WORKFLOW_ID", workflow_id)
460
              infoParams.put("TASK_ID", task_id)
461
462
              var params = Wade.DataMap();
463
              params.put("infoParams", infoParams.toString());
464
              params.put("lastPage", "MessageCenter");
465
              Mobile.openTemplate("TransferResourceCus", params.toString());
466
            } else {
467
              $(".normal-tips-popup-slide").addClass("active");
468
              $(".normal-tips-btn-input").val(MSG_ID);
469
            }
470
471
          } else {
472
            ipuUI.toast("暂无数据");
473
            $(".customer-info-content").addClass("ipu-fn-hide");
474
            $(".select-buttons").addClass("ipu-fn-hide");
475
476
          }
477
        });
478
      }
479
    }
480
481
    $(".normal-tips-btn-cancel").click(function () {
482
      $(".normal-tips-popup-slide").removeClass("active");
483
    });
484
485
    // 确认
486
    $(".normal-tips-btn-confirm").click(function () {
487
      $(".normal-tips-popup-slide").removeClass("active");
488
      var msgId = $(".normal-tips-btn-input").val();
489
      //删除该消息
490
      var requestParams = Wade.DataMap();
491
      requestParams.put("msgId", msgId);
492
      requestParams.put("state", "2");
493
      Common.callSvc("MessageBean.updateNotice", requestParams, function (result) {
494
        result = typeof (result) == "string" ? Wade.DataMap(result) : result;
495
        console.log(result);
496
        if (result.get("code") == 1) {
497
          refresh();
498
        } else {
499
          // ipuUI.('请求数据失败!');
500
          ipuUI.toast("删除消息失败");
501
        }
502
      });
503
    });
504
505
506
    // 刷新页面数据
507
    function refresh() {
508
      let text = $(".ipu-tab-title-link li.ipu-current").find(".li-name").text();
509
      let type;
510
      if (text == "通知") {
511
        type = "notice";
512
      } else if (text == "待办") {
513
        type = "mission";
514
      }
515
      // 刷新列表
516
      refreshList(type);
517
      // 刷新未读数
518
      getMessageCount();
519
    }
520
521
    // 刷新列表;type:notice通知;mission待办
522
    function refreshList(type) {
523
      let myRefresh;
524
      if (type == "notice") {
525
        myRefresh = myRefresh_notice;
526
      } else {
527
        myRefresh = myRefresh_mission;
528
      }
529
      myRefresh.enableBottom(false);
530
      if (myRefresh.bottomLoading) {
531
        myRefresh.endBottomLoading();
532
      }
533
      if (myRefresh.topLoading) {
534
        myRefresh.endTopLoading();
535
      }
536
      currentPages[type] = 0;
537
      if (type == "notice") {
538
        myRefresh = myRefresh_notice;
539
      } else {
540
        myRefresh = myRefresh_mission;
541
      }
542
      $("#" + loadComponentId[type] + " ul.message-list").empty();
543
      myRefresh.enableBottom(true);
544
      myRefresh.refresh();
545
    }
546
547
    // 页面的回调监听
548
    WadeMobile.setBackCallListener(function (e) {
549
      console.log("回调信息:" + e);
550
      let data = e.data;
551
      console.log("回调data:" + data);
552
      data = typeof (data) == "string" ? Wade.DataMap(data) : data;
553
      let lastPageAction = data.get("lastPageAction");
554
      refresh();
555
    });
556
557
  });
558
});

+ 214 - 0
2019/bj-zqzt/message-center.html

@ -0,0 +1,214 @@
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
  <title>消息中心</title>
5
  <meta charset="utf-8">
6
  <!-- 宽度自动适配 -->
7
  <meta name="viewport"
8
        content="width=device-width, initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0, user-scalable=no"/>
9
  <!-- 不识别页面上的数字为可拨打号码 -->
10
  <meta content="telephone=no" name="format-detection"/>
11
  <link rel="stylesheet" type="text/css" href="ipu/ui/css/ipuUI.css">
12
  <link rel="stylesheet" type="text/css" href="biz/css/base.css">
13
14
  <script src="ipu/lib/requirejs/require.min.js"></script>
15
  <script src="biz/js/require-config.js"></script>
16
  <script src="biz/js/message-center.js"></script>
17
</head>
18
<body class="page-message-center">
19
<div class="ipu-pages">
20
  <div class="ipu-page">
21
    <div class="ipu-flex-row ipu-flex-vertical">
22
      <div class="back-single ipu-flex ipu-flex-justify-center ipu-flex-align-center" href="javascript:;" id="back-ext">
23
        <div class="left-back"></div>
24
      </div>
25
      <div class="ipu-flex-col ipu-flex-col-auto">
26
        <div class="ipu-tab ipu-tab-message ipu-tab-fixed ipu-tab-1">
27
          <!-- 如果class中添加 ipu-tab-fixed,则可固定头部,此时需要父元素的高度是确定的 -->
28
          <ul class="ipu-tab-title ipu-tab-title-link" style="padding-left:.45rem;padding-right:.45rem;">
29
            <!-- 页头有 ipu-tab-title-link 和 ipu-tab-title-button两种样式 -->
30
            <li class="ipu-current">
31
              <div class="ipu-flex ipu-flex-vertical ipu-flex-align-center">
32
                <div class="li-name">通知</div>
33
                <div class="message-count">66</div>
34
                <div class="current-flag"></div>
35
              </div>
36
            </li>
37
            <li class="">
38
              <div class="ipu-flex ipu-flex-vertical ipu-flex-align-center">
39
                <div class="li-name">待办</div>
40
                <div class="message-count">99+</div>
41
                <div class="current-flag"></div>
42
              </div>
43
            </li>
44
            <li class="">
45
              <div class="ipu-flex ipu-flex-vertical ipu-flex-align-center">
46
                <div class="li-name">进度</div>
47
                <div class="message-count">9</div>
48
                <div class="current-flag"></div>
49
              </div>
50
            </li>
51
          </ul>
52
          <div class="tool-bar-search message-filter"></div>
53
          <div class="ipu-tab-body common-border-top">
54
55
            <ul class="ipu-tab-body-wrapper">
56
              <!--通知列表-->
57
              <li class="main-body-bg-grey">
58
                <div class="business-list-head ipu-flex ipu-flex-justify-end ipu-flex-align-center customer-list-head ipu-fn-hide">
59
                  <div class="business-total ipu-flex-col-auto">
60
                    全部<span id="countId"></span>个通知
61
                  </div>
62
                  <div class="message-all-already sort-by-others ipu-flex ipu-flex-justify-center ipu-flex-align-center">
63
                    <div class="sort-type hidden">全部已读</div>
64
                  </div>
65
                </div>
66
                <div class="page-content">
67
                  <div class="ipu-list ipu-list-media ipu-flex-content" id="refresh-notice" style="margin-top: .0rem">
68
                    <!-- 组件html结构,最外层div应有一个固定的高度,会在此元素上初始化iScroll -->
69
                    <div class="ipu-refresh-wrapper">
70
                      <!-- 此处组件初始化后,会添加上拉html -->
71
                      <div class="refresh-content">
72
                        <div>
73
                          <ul class="message-list message-list-details">
74
                            <!--此处插入id="message-item"的模板-->
75
                          </ul>
76
                        </div>
77
                        <div class="no-result-msg ipu-fn-p ipu-txt-center ipu-fn-hide">
78
                          暂无记录
79
                        </div>
80
                      </div>
81
                      <!-- 此处组件初始化后,会添加下拉html -->
82
                    </div>
83
                  </div>
84
                </div>
85
              </li>
86
              <!--待办列表-->
87
              <li class="main-body-bg-grey">
88
                <div class="page-content">
89
                  <div class="ipu-list ipu-list-media ipu-flex-content" id="refresh-mission">
90
                    <!-- 组件html结构,最外层div应有一个固定的高度,会在此元素上初始化iScroll -->
91
                    <div class="ipu-refresh-wrapper">
92
                      <!-- 此处组件初始化后,会添加上拉html -->
93
                      <div class="refresh-content">
94
                        <div>
95
                          <ul class="message-list">
96
                            <!--此处插入id="message-item"的模板-->
97
98
                          </ul>
99
                        </div>
100
                        <div class="no-result-msg ipu-fn-p ipu-txt-center ipu-fn-hide">
101
                          暂无记录
102
                        </div>
103
                      </div>
104
                      <!-- 此处组件初始化后,会添加下拉html -->
105
                    </div>
106
                  </div>
107
                </div>
108
              </li>
109
            </ul>
110
          </div>
111
        </div>
112
      </div>
113
    </div>
114
115
    <!--普通提示窗-->
116
    <div class="normal-tips-popup-slide">
117
      <div class="normal-tips-popup-wrap">
118
        <div class="normal-tips-content">该工单已经处理,是否删除?</div>
119
        <div class="normal-tips-btn ipu-flex ipu-flex-align-center">
120
          <input value="" type="hidden" class="normal-tips-btn-input">
121
          <div class="normal-tips-btn-cancel">取消</div>
122
          <div class="normal-tips-btn-confirm">删除</div>
123
        </div>
124
      </div>
125
    </div>
126
  </div>
127
</div>
128
129
<!--消息列表模板-->
130
<script id="message-item" type="text/template">
131
  {{if list.length>0}}
132
  {{each list item index}}
133
  <li class="message-item-each" name="{{item.MSG_ID}}">
134
    <div class="ipu-carousel">
135
      <ul class="ipu-carousel-wrapper">
136
        <li class="notice-item" data-json="{{item|jsonToStr}}">
137
          <div>
138
            <div class="ipu-flex message-item {{if item.MSG_STATE==0}}message-unread{{else}}message-read{{/if}}">
139
              <div class="ipu-flex-col">
140
                <div class="message-icon {{item.MSG_LABEL_ID|iconClass}}"></div>
141
                {{if item.MSG_STATE=='0'}}
142
                <div class="message-tips"></div>
143
                {{/if}}
144
              </div>
145
              <div class="ipu-flex-col message-line">
146
                <div class="ipu-flex ipu-flex-justify-space ipu-flex-align-end message-head">
147
                  <div class="message-title">{{item.SUB_TYPE_NAME}}</div>
148
                  <div class="message-time">{{item.MSG_CREATE_DATE}}</div>
149
                </div>
150
                <div class="message-info">{{item.MSG_LABEL_ID,item.SUB_TYPE_ID,item.MSG_CONTENT|getTitle}}</div>
151
              </div>
152
            </div>
153
          </div>
154
        </li>
155
        <li class="card-actions-wrapper">
156
          <div class="card-actions ipu-flex">
157
            <div class="card-action-item card-action-delete">删除</div>
158
            {{if item.MSG_STATE=='0'}}
159
            <div class="card-action-item record ipu-flex ipu-flex-vertical ipu-flex-justify-center ipu-flex-align-center">
160
              <span>标为</span><span>已读</span>
161
            </div>
162
            {{/if}}
163
          </div>
164
        </li>
165
      </ul>
166
    </div>
167
  </li>
168
  {{/each}}
169
  {{/if}}
170
</script>
171
<!--待办列表模板-->
172
<!--<script id="message_need-item" type="text/template">
173
  {{if list.length>0}}
174
  {{each list item index}}
175
  <li class="upcoming-item-each">
176
    <div class="ipu-carousel">
177
      <ul class="ipu-carousel-wrapper">
178
        <li class="upcoming-item" data-json="{{item|jsonToStr}}">
179
          <div>
180
            <div class="ipu-flex message-item {{if item.MSG_STATE==0}}message-unread{{else}}message-read{{/if}}">
181
              <div class="ipu-flex-col">
182
                <div class="message-icon {{item.MSG_LABEL_ID|iconClass}}"></div>
183
                {{if item.MSG_STATE=='0'}}
184
                <div class="message-tips"></div>
185
                {{/if}}
186
              </div>
187
              <div class="ipu-flex-col message-line">
188
                <div class="ipu-flex ipu-flex-justify-space ipu-flex-align-end message-head">
189
                  <div class="message-title">{{item.SUB_TYPE_NAME}}</div>
190
                  <div class="message-time">{{item.MSG_CREATE_DATE}}</div>
191
                </div>
192
                <div class="message-info">{{item.MSG_LABEL_ID,item.SUB_TYPE_ID,item.MSG_CONTENT|getTitle}}</div>
193
              </div>
194
            </div>
195
          </div>
196
        </li>
197
        <li class="card-actions-wrapper">
198
          <div class="card-actions ipu-flex">
199
            <div class="card-action-item card-action-delete">删除</div>
200
            {{if item.MSG_STATE=='0'}}
201
            <div class="card-action-item record ipu-flex ipu-flex-vertical ipu-flex-justify-center ipu-flex-align-center">
202
              <span>标为</span><span>已读</span>
203
            </div>
204
            {{/if}}
205
          </div>
206
        </li>
207
      </ul>
208
    </div>
209
  </li>
210
  {{/each}}
211
  {{/if}}
212
</script>-->
213
</body>
214
</html>