ecinc-cloud-moadesktop 9.7.12 → 9.7.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -816,7 +816,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".no-data[data-v-cf6d8e06]{display:-web
816
816
 
817
817
  /***/ }),
818
818
 
819
- /***/ 8214:
819
+ /***/ 909:
820
820
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
821
821
 
822
822
  "use strict";
@@ -830,7 +830,7 @@ __webpack_require__.r(__webpack_exports__);
830
830
 
831
831
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
832
832
  // Module
833
- ___CSS_LOADER_EXPORT___.push([module.id, "#van-no[data-v-5a539700]{min-height:40px}", ""]);
833
+ ___CSS_LOADER_EXPORT___.push([module.id, "#van-no[data-v-2687a432]{min-height:40px}", ""]);
834
834
  // Exports
835
835
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
836
836
 
@@ -6456,7 +6456,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
6456
6456
 
6457
6457
  /***/ }),
6458
6458
 
6459
- /***/ 4858:
6459
+ /***/ 2477:
6460
6460
  /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
6461
6461
 
6462
6462
  //! moment.js locale configuration
@@ -16818,8 +16818,8 @@ var map = {
16818
16818
  "./fi.js": 527,
16819
16819
  "./fil": 5995,
16820
16820
  "./fil.js": 5995,
16821
- "./fo": 4858,
16822
- "./fo.js": 4858,
16821
+ "./fo": 2477,
16822
+ "./fo.js": 2477,
16823
16823
  "./fr": 5498,
16824
16824
  "./fr-ca": 6435,
16825
16825
  "./fr-ca.js": 6435,
@@ -22863,19 +22863,19 @@ var update = add("2dc7bde0", content, true, {"sourceMap":false,"shadowMode":fals
22863
22863
 
22864
22864
  /***/ }),
22865
22865
 
22866
- /***/ 3900:
22866
+ /***/ 3599:
22867
22867
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22868
22868
 
22869
22869
  // style-loader: Adds some css to the DOM by adding a <style> tag
22870
22870
 
22871
22871
  // load the styles
22872
- var content = __webpack_require__(8214);
22872
+ var content = __webpack_require__(909);
22873
22873
  if(content.__esModule) content = content.default;
22874
22874
  if(typeof content === 'string') content = [[module.id, content, '']];
22875
22875
  if(content.locals) module.exports = content.locals;
22876
22876
  // add the styles to the DOM
22877
22877
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
22878
- var update = add("7f13f334", content, true, {"sourceMap":false,"shadowMode":false});
22878
+ var update = add("ce5a167e", content, true, {"sourceMap":false,"shadowMode":false});
22879
22879
 
22880
22880
  /***/ }),
22881
22881
 
@@ -24626,8 +24626,8 @@ var workQuick_component = normalizeComponent(
24626
24626
  )
24627
24627
 
24628
24628
  /* harmony default export */ var workQuick = (workQuick_component.exports);
24629
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=template&id=5a539700&scoped=true
24630
- var workNoticevue_type_template_id_5a539700_scoped_true_render = function render() {
24629
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=template&id=2687a432&scoped=true
24630
+ var workNoticevue_type_template_id_2687a432_scoped_true_render = function render() {
24631
24631
  var _vm = this,
24632
24632
  _c = _vm._self._c;
24633
24633
  return _c('div', {
@@ -24673,7 +24673,7 @@ var workNoticevue_type_template_id_5a539700_scoped_true_render = function render
24673
24673
  }, [_vm._v(_vm._s(notice.flSubject) + "        ")]);
24674
24674
  })], 2) : _vm._e()], 1);
24675
24675
  };
24676
- var workNoticevue_type_template_id_5a539700_scoped_true_staticRenderFns = [];
24676
+ var workNoticevue_type_template_id_2687a432_scoped_true_staticRenderFns = [];
24677
24677
 
24678
24678
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=script&lang=js
24679
24679
  function workNoticevue_type_script_lang_js_typeof(o) { "@babel/helpers - typeof"; return workNoticevue_type_script_lang_js_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, workNoticevue_type_script_lang_js_typeof(o); }
@@ -24696,19 +24696,34 @@ function workNoticevue_type_script_lang_js_asyncToGenerator(n) { return function
24696
24696
  this.getNotice();
24697
24697
  // 所有门户小组件刷新方法都注册 refreshPortletData eventBus方法,一次性刷新,需要刷新的就注册,不需要刷新就无需注册
24698
24698
  this.$bus.on('refreshPortletData', this.getNotice);
24699
- // this.showTip = Boolean(sessionStorage.getItem('openTip'))
24699
+ // 安卓 APK 中重新登录由原生侧主导,H5 可能不发生路由切换(工作页被 keep-alive 缓存),
24700
+ // created/activated 都不会重新触发;以页面回到前台作为统一的重查信号,保证新公告能被重新显示
24701
+ document.addEventListener('visibilitychange', this.handleVisibilityChange);
24700
24702
  },
24701
24703
  beforeDestroy: function beforeDestroy() {
24702
24704
  this.$bus.off('refreshPortletData', this.getNotice);
24705
+ document.removeEventListener('visibilitychange', this.handleVisibilityChange);
24706
+ if (this._retryTimer) clearTimeout(this._retryTimer);
24707
+ },
24708
+ activated: function activated() {
24709
+ // keep-alive 重新激活(如退出登录后重新登录回到工作页)时重新查询;跳过首次挂载与 created 的重复请求
24710
+ if (Date.now() - (this._fetchedAt || 0) > 1500) {
24711
+ this.getNotice();
24712
+ }
24703
24713
  },
24704
24714
  mounted: function mounted() {
24705
24715
  document.getElementById('van-no').parentNode.parentNode.style.marginBottom = '0';
24706
24716
  },
24707
24717
  methods: {
24708
- getNotice: function getNotice() {
24718
+ handleVisibilityChange: function handleVisibilityChange() {
24719
+ if (document.visibilityState === 'visible') {
24720
+ this.getNotice();
24721
+ }
24722
+ },
24723
+ getNotice: function getNotice(retryCount) {
24709
24724
  var _this = this;
24710
24725
  return workNoticevue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/workNoticevue_type_script_lang_js_regeneratorRuntime().mark(function _callee() {
24711
- var now, res;
24726
+ var now, res, closedIds, hasNewNotice;
24712
24727
  return workNoticevue_type_script_lang_js_regeneratorRuntime().wrap(function _callee$(_context) {
24713
24728
  while (1) switch (_context.prev = _context.next) {
24714
24729
  case 0:
@@ -24718,21 +24733,64 @@ function workNoticevue_type_script_lang_js_asyncToGenerator(n) { return function
24718
24733
  pageSize: 3,
24719
24734
  pageNum: 1,
24720
24735
  listpageViewUrl: 'ecoa.dzgg.listPublished.vue',
24721
- // 新版接口优先处理 filter: 'publish',urlsearch 保留用于兼容旧版本接口
24722
- filter: 'publish',
24736
+ filter: 'notRead',
24723
24737
  urlsearch: 'endTime>:' + now + ';startTime<:' + now
24724
24738
  });
24725
24739
  case 3:
24726
24740
  res = _context.sent;
24727
- if (res.code === 'success') {
24728
- _this.noticeData = res.body.pageInfo.list;
24729
- if (!_this.noticeData.length) {
24730
- _this.handleCloseNotice();
24731
- }
24741
+ if (!(res.code !== 'success')) {
24742
+ _context.next = 7;
24743
+ break;
24744
+ }
24745
+ // 登录态切换瞬间请求可能短暂失败,延迟重试,避免公告条因一次失败永久不显示
24746
+ if ((retryCount || 0) < 2) {
24747
+ _this._retryTimer = setTimeout(function () {
24748
+ _this.getNotice((retryCount || 0) + 1);
24749
+ }, 2000);
24732
24750
  } else {
24733
24751
  _this.$toast.fail(res.message);
24734
24752
  }
24735
- case 5:
24753
+ return _context.abrupt("return");
24754
+ case 7:
24755
+ _this._fetchedAt = Date.now();
24756
+ _this.noticeData = res.body.pageInfo.list || [];
24757
+ // 关闭记忆:关闭时记录当时显示的全部公告 id(逗号分隔);
24758
+ // 当前列表存在任一未记录过的 id(即有新公告)就重新显示,与列表排序无关(接口不保证最新一条在首位)
24759
+ closedIds = (localStorage.getItem('closedNoticeId') || '').split(',').filter(Boolean);
24760
+ hasNewNotice = _this.noticeData.some(function (item) {
24761
+ return !closedIds.includes(String(item.id));
24762
+ });
24763
+ _this.$nextTick(function () {
24764
+ if (_this.$el) {
24765
+ // 真机排查辅助:将判断依据写入 DOM 属性,便于通过页面结构直接确认(确认后可移除)
24766
+ _this.$el.setAttribute('data-notice-debug', JSON.stringify({
24767
+ count: _this.noticeData.length,
24768
+ ids: _this.noticeData.map(function (item) {
24769
+ return String(item.id);
24770
+ }),
24771
+ closedIds: closedIds,
24772
+ hasNewNotice: hasNewNotice
24773
+ }));
24774
+ }
24775
+ });
24776
+ if (!_this.noticeData.length || !hasNewNotice) {
24777
+ _this.showTip = false;
24778
+ // 同步隐藏占位元素
24779
+ _this.$nextTick(function () {
24780
+ if (_this.$el.parentElement) {
24781
+ _this.$el.parentElement.style.display = 'none';
24782
+ }
24783
+ });
24784
+ } else {
24785
+ _this.showTip = true;
24786
+ // 恢复占位元素显示(应对 refreshPortletData 刷新后由隐藏转显示)
24787
+ _this.$nextTick(function () {
24788
+ if (_this.$el.parentElement) {
24789
+ _this.$el.parentElement.style.display = '';
24790
+ }
24791
+ });
24792
+ }
24793
+ case 13:
24736
24794
  case "end":
24737
24795
  return _context.stop();
24738
24796
  }
@@ -24741,12 +24799,17 @@ function workNoticevue_type_script_lang_js_asyncToGenerator(n) { return function
24741
24799
  },
24742
24800
  handleCloseNotice: function handleCloseNotice() {
24743
24801
  var _this2 = this;
24802
+ // 记录关闭时正在显示的全部公告 id(逗号分隔),下次查询到列表无新增 id 则不再显示(与查询侧一致转字符串存储)
24803
+ if (this.noticeData && this.noticeData.length) {
24804
+ localStorage.setItem('closedNoticeId', this.noticeData.map(function (item) {
24805
+ return String(item.id);
24806
+ }).join(','));
24807
+ }
24744
24808
  this.showTip = false;
24745
24809
  // 同步隐藏占位元素
24746
24810
  this.$nextTick(function () {
24747
24811
  _this2.$el.parentElement.style.display = 'none';
24748
24812
  });
24749
- sessionStorage.setItem('openTip', '0');
24750
24813
  },
24751
24814
  noticeBarClick: function noticeBarClick(item) {
24752
24815
  // this.$router.push( '/viewcontent?wfEngineUrl=ecoa/dzgg&busiDataId=' +item.id +'&viewContent=1')
@@ -24761,9 +24824,9 @@ function workNoticevue_type_script_lang_js_asyncToGenerator(n) { return function
24761
24824
  });
24762
24825
  ;// CONCATENATED MODULE: ./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=script&lang=js
24763
24826
  /* harmony default export */ var components_workNoticevue_type_script_lang_js = (workNoticevue_type_script_lang_js);
24764
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=style&index=0&id=5a539700&prod&scoped=true&lang=scss
24765
- var workNoticevue_type_style_index_0_id_5a539700_prod_scoped_true_lang_scss = __webpack_require__(3900);
24766
- ;// CONCATENATED MODULE: ./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=style&index=0&id=5a539700&prod&scoped=true&lang=scss
24827
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=style&index=0&id=2687a432&prod&scoped=true&lang=scss
24828
+ var workNoticevue_type_style_index_0_id_2687a432_prod_scoped_true_lang_scss = __webpack_require__(3599);
24829
+ ;// CONCATENATED MODULE: ./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=style&index=0&id=2687a432&prod&scoped=true&lang=scss
24767
24830
 
24768
24831
  ;// CONCATENATED MODULE: ./packages/ecmoa/desktop/src/components/workNotice.vue
24769
24832
 
@@ -24776,11 +24839,11 @@ var workNoticevue_type_style_index_0_id_5a539700_prod_scoped_true_lang_scss = __
24776
24839
 
24777
24840
  var workNotice_component = normalizeComponent(
24778
24841
  components_workNoticevue_type_script_lang_js,
24779
- workNoticevue_type_template_id_5a539700_scoped_true_render,
24780
- workNoticevue_type_template_id_5a539700_scoped_true_staticRenderFns,
24842
+ workNoticevue_type_template_id_2687a432_scoped_true_render,
24843
+ workNoticevue_type_template_id_2687a432_scoped_true_staticRenderFns,
24781
24844
  false,
24782
24845
  null,
24783
- "5a539700",
24846
+ "2687a432",
24784
24847
  null
24785
24848
 
24786
24849
  )
@@ -826,7 +826,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".no-data[data-v-cf6d8e06]{display:-web
826
826
 
827
827
  /***/ }),
828
828
 
829
- /***/ 3656:
829
+ /***/ 616:
830
830
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
831
831
 
832
832
  "use strict";
@@ -840,7 +840,7 @@ __webpack_require__.r(__webpack_exports__);
840
840
 
841
841
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
842
842
  // Module
843
- ___CSS_LOADER_EXPORT___.push([module.id, "#van-no[data-v-5a539700]{min-height:40px}", ""]);
843
+ ___CSS_LOADER_EXPORT___.push([module.id, "#van-no[data-v-2687a432]{min-height:40px}", ""]);
844
844
  // Exports
845
845
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
846
846
 
@@ -22873,19 +22873,19 @@ var update = add("f5a9f960", content, true, {"sourceMap":false,"shadowMode":fals
22873
22873
 
22874
22874
  /***/ }),
22875
22875
 
22876
- /***/ 1211:
22876
+ /***/ 3924:
22877
22877
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
22878
22878
 
22879
22879
  // style-loader: Adds some css to the DOM by adding a <style> tag
22880
22880
 
22881
22881
  // load the styles
22882
- var content = __webpack_require__(3656);
22882
+ var content = __webpack_require__(616);
22883
22883
  if(content.__esModule) content = content.default;
22884
22884
  if(typeof content === 'string') content = [[module.id, content, '']];
22885
22885
  if(content.locals) module.exports = content.locals;
22886
22886
  // add the styles to the DOM
22887
22887
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
22888
- var update = add("4f309518", content, true, {"sourceMap":false,"shadowMode":false});
22888
+ var update = add("1bb291fe", content, true, {"sourceMap":false,"shadowMode":false});
22889
22889
 
22890
22890
  /***/ }),
22891
22891
 
@@ -24636,8 +24636,8 @@ var workQuick_component = normalizeComponent(
24636
24636
  )
24637
24637
 
24638
24638
  /* harmony default export */ var workQuick = (workQuick_component.exports);
24639
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=template&id=5a539700&scoped=true
24640
- var workNoticevue_type_template_id_5a539700_scoped_true_render = function render() {
24639
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=template&id=2687a432&scoped=true
24640
+ var workNoticevue_type_template_id_2687a432_scoped_true_render = function render() {
24641
24641
  var _vm = this,
24642
24642
  _c = _vm._self._c;
24643
24643
  return _c('div', {
@@ -24683,7 +24683,7 @@ var workNoticevue_type_template_id_5a539700_scoped_true_render = function render
24683
24683
  }, [_vm._v(_vm._s(notice.flSubject) + "        ")]);
24684
24684
  })], 2) : _vm._e()], 1);
24685
24685
  };
24686
- var workNoticevue_type_template_id_5a539700_scoped_true_staticRenderFns = [];
24686
+ var workNoticevue_type_template_id_2687a432_scoped_true_staticRenderFns = [];
24687
24687
 
24688
24688
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=script&lang=js
24689
24689
  function workNoticevue_type_script_lang_js_typeof(o) { "@babel/helpers - typeof"; return workNoticevue_type_script_lang_js_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, workNoticevue_type_script_lang_js_typeof(o); }
@@ -24706,19 +24706,34 @@ function workNoticevue_type_script_lang_js_asyncToGenerator(n) { return function
24706
24706
  this.getNotice();
24707
24707
  // 所有门户小组件刷新方法都注册 refreshPortletData eventBus方法,一次性刷新,需要刷新的就注册,不需要刷新就无需注册
24708
24708
  this.$bus.on('refreshPortletData', this.getNotice);
24709
- // this.showTip = Boolean(sessionStorage.getItem('openTip'))
24709
+ // 安卓 APK 中重新登录由原生侧主导,H5 可能不发生路由切换(工作页被 keep-alive 缓存),
24710
+ // created/activated 都不会重新触发;以页面回到前台作为统一的重查信号,保证新公告能被重新显示
24711
+ document.addEventListener('visibilitychange', this.handleVisibilityChange);
24710
24712
  },
24711
24713
  beforeDestroy: function beforeDestroy() {
24712
24714
  this.$bus.off('refreshPortletData', this.getNotice);
24715
+ document.removeEventListener('visibilitychange', this.handleVisibilityChange);
24716
+ if (this._retryTimer) clearTimeout(this._retryTimer);
24717
+ },
24718
+ activated: function activated() {
24719
+ // keep-alive 重新激活(如退出登录后重新登录回到工作页)时重新查询;跳过首次挂载与 created 的重复请求
24720
+ if (Date.now() - (this._fetchedAt || 0) > 1500) {
24721
+ this.getNotice();
24722
+ }
24713
24723
  },
24714
24724
  mounted: function mounted() {
24715
24725
  document.getElementById('van-no').parentNode.parentNode.style.marginBottom = '0';
24716
24726
  },
24717
24727
  methods: {
24718
- getNotice: function getNotice() {
24728
+ handleVisibilityChange: function handleVisibilityChange() {
24729
+ if (document.visibilityState === 'visible') {
24730
+ this.getNotice();
24731
+ }
24732
+ },
24733
+ getNotice: function getNotice(retryCount) {
24719
24734
  var _this = this;
24720
24735
  return workNoticevue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/workNoticevue_type_script_lang_js_regeneratorRuntime().mark(function _callee() {
24721
- var now, res;
24736
+ var now, res, closedIds, hasNewNotice;
24722
24737
  return workNoticevue_type_script_lang_js_regeneratorRuntime().wrap(function _callee$(_context) {
24723
24738
  while (1) switch (_context.prev = _context.next) {
24724
24739
  case 0:
@@ -24728,21 +24743,64 @@ function workNoticevue_type_script_lang_js_asyncToGenerator(n) { return function
24728
24743
  pageSize: 3,
24729
24744
  pageNum: 1,
24730
24745
  listpageViewUrl: 'ecoa.dzgg.listPublished.vue',
24731
- // 新版接口优先处理 filter: 'publish',urlsearch 保留用于兼容旧版本接口
24732
- filter: 'publish',
24746
+ filter: 'notRead',
24733
24747
  urlsearch: 'endTime>:' + now + ';startTime<:' + now
24734
24748
  });
24735
24749
  case 3:
24736
24750
  res = _context.sent;
24737
- if (res.code === 'success') {
24738
- _this.noticeData = res.body.pageInfo.list;
24739
- if (!_this.noticeData.length) {
24740
- _this.handleCloseNotice();
24741
- }
24751
+ if (!(res.code !== 'success')) {
24752
+ _context.next = 7;
24753
+ break;
24754
+ }
24755
+ // 登录态切换瞬间请求可能短暂失败,延迟重试,避免公告条因一次失败永久不显示
24756
+ if ((retryCount || 0) < 2) {
24757
+ _this._retryTimer = setTimeout(function () {
24758
+ _this.getNotice((retryCount || 0) + 1);
24759
+ }, 2000);
24742
24760
  } else {
24743
24761
  _this.$toast.fail(res.message);
24744
24762
  }
24745
- case 5:
24763
+ return _context.abrupt("return");
24764
+ case 7:
24765
+ _this._fetchedAt = Date.now();
24766
+ _this.noticeData = res.body.pageInfo.list || [];
24767
+ // 关闭记忆:关闭时记录当时显示的全部公告 id(逗号分隔);
24768
+ // 当前列表存在任一未记录过的 id(即有新公告)就重新显示,与列表排序无关(接口不保证最新一条在首位)
24769
+ closedIds = (localStorage.getItem('closedNoticeId') || '').split(',').filter(Boolean);
24770
+ hasNewNotice = _this.noticeData.some(function (item) {
24771
+ return !closedIds.includes(String(item.id));
24772
+ });
24773
+ _this.$nextTick(function () {
24774
+ if (_this.$el) {
24775
+ // 真机排查辅助:将判断依据写入 DOM 属性,便于通过页面结构直接确认(确认后可移除)
24776
+ _this.$el.setAttribute('data-notice-debug', JSON.stringify({
24777
+ count: _this.noticeData.length,
24778
+ ids: _this.noticeData.map(function (item) {
24779
+ return String(item.id);
24780
+ }),
24781
+ closedIds: closedIds,
24782
+ hasNewNotice: hasNewNotice
24783
+ }));
24784
+ }
24785
+ });
24786
+ if (!_this.noticeData.length || !hasNewNotice) {
24787
+ _this.showTip = false;
24788
+ // 同步隐藏占位元素
24789
+ _this.$nextTick(function () {
24790
+ if (_this.$el.parentElement) {
24791
+ _this.$el.parentElement.style.display = 'none';
24792
+ }
24793
+ });
24794
+ } else {
24795
+ _this.showTip = true;
24796
+ // 恢复占位元素显示(应对 refreshPortletData 刷新后由隐藏转显示)
24797
+ _this.$nextTick(function () {
24798
+ if (_this.$el.parentElement) {
24799
+ _this.$el.parentElement.style.display = '';
24800
+ }
24801
+ });
24802
+ }
24803
+ case 13:
24746
24804
  case "end":
24747
24805
  return _context.stop();
24748
24806
  }
@@ -24751,12 +24809,17 @@ function workNoticevue_type_script_lang_js_asyncToGenerator(n) { return function
24751
24809
  },
24752
24810
  handleCloseNotice: function handleCloseNotice() {
24753
24811
  var _this2 = this;
24812
+ // 记录关闭时正在显示的全部公告 id(逗号分隔),下次查询到列表无新增 id 则不再显示(与查询侧一致转字符串存储)
24813
+ if (this.noticeData && this.noticeData.length) {
24814
+ localStorage.setItem('closedNoticeId', this.noticeData.map(function (item) {
24815
+ return String(item.id);
24816
+ }).join(','));
24817
+ }
24754
24818
  this.showTip = false;
24755
24819
  // 同步隐藏占位元素
24756
24820
  this.$nextTick(function () {
24757
24821
  _this2.$el.parentElement.style.display = 'none';
24758
24822
  });
24759
- sessionStorage.setItem('openTip', '0');
24760
24823
  },
24761
24824
  noticeBarClick: function noticeBarClick(item) {
24762
24825
  // this.$router.push( '/viewcontent?wfEngineUrl=ecoa/dzgg&busiDataId=' +item.id +'&viewContent=1')
@@ -24771,9 +24834,9 @@ function workNoticevue_type_script_lang_js_asyncToGenerator(n) { return function
24771
24834
  });
24772
24835
  ;// CONCATENATED MODULE: ./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=script&lang=js
24773
24836
  /* harmony default export */ var components_workNoticevue_type_script_lang_js = (workNoticevue_type_script_lang_js);
24774
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=style&index=0&id=5a539700&prod&scoped=true&lang=scss
24775
- var workNoticevue_type_style_index_0_id_5a539700_prod_scoped_true_lang_scss = __webpack_require__(1211);
24776
- ;// CONCATENATED MODULE: ./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=style&index=0&id=5a539700&prod&scoped=true&lang=scss
24837
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=style&index=0&id=2687a432&prod&scoped=true&lang=scss
24838
+ var workNoticevue_type_style_index_0_id_2687a432_prod_scoped_true_lang_scss = __webpack_require__(3924);
24839
+ ;// CONCATENATED MODULE: ./packages/ecmoa/desktop/src/components/workNotice.vue?vue&type=style&index=0&id=2687a432&prod&scoped=true&lang=scss
24777
24840
 
24778
24841
  ;// CONCATENATED MODULE: ./packages/ecmoa/desktop/src/components/workNotice.vue
24779
24842
 
@@ -24786,11 +24849,11 @@ var workNoticevue_type_style_index_0_id_5a539700_prod_scoped_true_lang_scss = __
24786
24849
 
24787
24850
  var workNotice_component = normalizeComponent(
24788
24851
  components_workNoticevue_type_script_lang_js,
24789
- workNoticevue_type_template_id_5a539700_scoped_true_render,
24790
- workNoticevue_type_template_id_5a539700_scoped_true_staticRenderFns,
24852
+ workNoticevue_type_template_id_2687a432_scoped_true_render,
24853
+ workNoticevue_type_template_id_2687a432_scoped_true_staticRenderFns,
24791
24854
  false,
24792
24855
  null,
24793
- "5a539700",
24856
+ "2687a432",
24794
24857
  null
24795
24858
 
24796
24859
  )