@indfnd/common-mobile 0.0.100 → 0.0.102

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.0.102](http://git.inspur.com/imp-ec/ind-front/ind-common-mobile-front/compare/v0.0.101...v0.0.102) (2025-10-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * 兼容湖北 ([06e574b](http://git.inspur.com/imp-ec/ind-front/ind-common-mobile-front/commit/06e574ba7f29d13fd0a4f32bcfc19cd4858b94ec))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * 我的应用轮播展示 ([f68faeb](http://git.inspur.com/imp-ec/ind-front/ind-common-mobile-front/commit/f68faeb84ab08ec4fbcc0826390232f8cab84999))
16
+ * 修改 ([80fdf17](http://git.inspur.com/imp-ec/ind-front/ind-common-mobile-front/commit/80fdf17e5f30efef478c05cc969d9bd531ab40cf))
17
+
18
+ ### [0.0.101](http://git.inspur.com/imp-ec/ind-front/ind-common-mobile-front/compare/v0.0.100...v0.0.101) (2025-10-10)
19
+
5
20
  ### [0.0.100](http://git.inspur.com/imp-ec/ind-front/ind-common-mobile-front/compare/v0.0.99...v0.0.100) (2025-09-26)
6
21
 
7
22
 
@@ -1,8 +1,8 @@
1
- import { getQuarterNum, getHalfYearNum, formatDate, useConfig, getLocalStorage, checkIdCard, checkVehicleNo, checkPhone, getDictMapApi, axios as axios$3, getCaptchaURL, guid, setLocalStorage, clearSessionStorage, cryptor, listComTreeApi, listItemTreeApi, config as config$1, getSessionStorage, getToken, setToken, loginApi, clearUserInfoCache, clearPermissionCache, logoutApi, getUserInfoCache, getUserInfoApi, setUserInfoCache, setSessionStorage, getAppListApi, getPermissionCache, getPermissionApi, setPermissionCache, menuHistoryApi, addMenuCollectApi, removeMenuCollectApi } from "@indfnd/utils";
1
+ import { getQuarterNum, getHalfYearNum, formatDate, useConfig, getLocalStorage, checkIdCard, checkVehicleNo, checkPhone, getDictMapApi, axios as axios$3, getCaptchaURL, guid, setLocalStorage, clearSessionStorage, cryptor, listComTreeApi, listItemTreeApi, config as config$1, getSessionStorage, getToken, setToken, loginApi, clearUserInfoCache, clearPermissionCache, logoutApi, getUserInfoCache, getUserInfoApi, setUserInfoCache, setSessionStorage, getAppListApi, getPermissionCache, getPermissionApi, setPermissionCache, menuHistoryApi, addMenuCollectApi, removeMenuCollectApi, setConfig } from "@indfnd/utils";
2
2
  import Vue$1 from "vue";
3
3
  import { DropdownMenu as DropdownMenu$1, DropdownItem as DropdownItem$1, Message, LoadingBar, Spin } from "view-design";
4
4
  const name$1 = "@indfnd/common-mobile";
5
- const version$2 = "0.0.99";
5
+ const version$2 = "0.0.101";
6
6
  const author$1 = "huxuetong";
7
7
  const publishConfig = {
8
8
  registry: "https://registry.npmjs.org/"
@@ -52,7 +52,7 @@ const dependencies$1 = {
52
52
  "xlsx-populate": "^1.11.0"
53
53
  };
54
54
  const devDependencies$1 = {
55
- "@indfnd/utils": "^0.1.21",
55
+ "@indfnd/utils": "^0.1.26",
56
56
  eslint: "^3.19.0",
57
57
  "eslint-config-prettier": "^8.5.0",
58
58
  "eslint-plugin-prettier": "^4.2.1",
@@ -43312,8 +43312,13 @@ var staticRenderFns$o = [];
43312
43312
  const __vue2_script$o = {
43313
43313
  name: "IndMLoadMore",
43314
43314
  props: {
43315
+ renderParams: Function,
43315
43316
  enableLoadMore: Boolean,
43316
43317
  dataUrl: String,
43318
+ methodsType: {
43319
+ type: String,
43320
+ default: "get"
43321
+ },
43317
43322
  params: Object,
43318
43323
  datas: {
43319
43324
  type: Array,
@@ -43335,7 +43340,16 @@ const __vue2_script$o = {
43335
43340
  },
43336
43341
  computed: {
43337
43342
  finished() {
43338
- return this.curData.length == this.datas.length || this.curData.length == this.total;
43343
+ let isFinished = this.curData.length == this.datas.length || this.curData.length == this.total;
43344
+ console.log(
43345
+ "isFinished",
43346
+ "this.curData.length",
43347
+ this.curData.length,
43348
+ "this.total",
43349
+ this.total,
43350
+ isFinished
43351
+ );
43352
+ return isFinished;
43339
43353
  },
43340
43354
  paginationParams() {
43341
43355
  return {
@@ -43357,20 +43371,30 @@ const __vue2_script$o = {
43357
43371
  },
43358
43372
  methods: {
43359
43373
  async initData() {
43360
- var _a, _b;
43374
+ var _a, _b, _c;
43361
43375
  if (!!this.datas && !!this.datas.length) {
43362
43376
  this.curData = this.datas.slice(0, this.pageLen);
43363
43377
  } else if (this.dataUrl) {
43364
43378
  this.loading = true;
43365
43379
  try {
43366
- let resp = await axios$3.get(this.dataUrl, {
43367
- params: {
43368
- ...this.params,
43369
- ...this.paginationParams
43370
- }
43371
- });
43372
- this.curData = ((_a = resp.data) == null ? void 0 : _a.rows) || [];
43373
- this.total = ((_b = resp.data) == null ? void 0 : _b.total) || 0;
43380
+ let resp;
43381
+ let params = {
43382
+ ...this.params,
43383
+ ...this.paginationParams
43384
+ };
43385
+ if (typeof this.renderParams == "function") {
43386
+ params = this.renderParams(params);
43387
+ }
43388
+ if (this.methodsType == "post") {
43389
+ resp = await axios$3.post(this.dataUrl, params);
43390
+ } else {
43391
+ resp = await axios$3.get(this.dataUrl, {
43392
+ params
43393
+ });
43394
+ }
43395
+ this.curData = ((_a = resp.data) == null ? void 0 : _a.rows) || ((_b = resp.data) == null ? void 0 : _b.records) || [];
43396
+ this.total = ((_c = resp.data) == null ? void 0 : _c.total) || 0;
43397
+ this.$emit("total", this.total);
43374
43398
  } catch (e) {
43375
43399
  }
43376
43400
  } else {
@@ -43380,7 +43404,7 @@ const __vue2_script$o = {
43380
43404
  this.curIdx = this.curData.length;
43381
43405
  },
43382
43406
  async onLoad() {
43383
- var _a;
43407
+ var _a, _b;
43384
43408
  if (!!this.datas && !!this.datas.length) {
43385
43409
  this.curData = _.concat(
43386
43410
  this.curData,
@@ -43393,13 +43417,19 @@ const __vue2_script$o = {
43393
43417
  } else if (this.dataUrl) {
43394
43418
  this.loading = true;
43395
43419
  try {
43396
- let resp = await axios$3.get(this.dataUrl, {
43397
- params: {
43398
- ...this.params,
43399
- ...this.paginationParams
43400
- }
43401
- });
43402
- this.curData = _.concat(this.curData, ((_a = resp.data) == null ? void 0 : _a.rows) || []);
43420
+ let resp;
43421
+ let params = {
43422
+ ...this.params,
43423
+ ...this.paginationParams
43424
+ };
43425
+ if (this.methodsType == "post") {
43426
+ resp = await axios$3.post(this.dataUrl, params);
43427
+ } else {
43428
+ resp = await axios$3.get(this.dataUrl, {
43429
+ params
43430
+ });
43431
+ }
43432
+ this.curData = _.concat(this.curData, ((_a = resp.data) == null ? void 0 : _a.rows) || ((_b = resp.data) == null ? void 0 : _b.records) || []);
43403
43433
  this.curIdx = this.curIdx + this.pageLen;
43404
43434
  } catch (e) {
43405
43435
  }
@@ -44579,13 +44609,13 @@ var render$j = function() {
44579
44609
  _vm.searchVal = $event;
44580
44610
  }, "update:search-val": function($event) {
44581
44611
  _vm.searchVal = $event;
44582
- }, "doSearch": _vm.doSearch, "doSearchFilter": _vm.doSearchFilter } }), _vm.topMsg ? _c("van-notice-bar", { staticClass: "ind-flex-no-shrink", attrs: { "mode": "closeable" } }, [_vm._v(_vm._s(_vm.topMsg))]) : _vm._e(), _c("div", { class: ["ind-page", _vm.enableLoadMore ? "loadmore" : ""] }, [_c("IndMLoadMore", { attrs: { "enableLoadMore": _vm.enableLoadMore, "pageLen": _vm.enableLoadMore ? 10 : 999999, "datas": _vm.displayRows, "dataUrl": _vm.dataUrl, "params": _vm.searchForm }, scopedSlots: _vm._u([{ key: "item", fn: function(ref) {
44612
+ }, "doSearch": _vm.doSearch, "doSearchFilter": _vm.doSearchFilter } }), _vm.topMsg ? _c("van-notice-bar", { staticClass: "ind-flex-no-shrink", attrs: { "mode": "closeable" } }, [_vm._v(_vm._s(_vm.topMsg))]) : _vm._e(), _c("div", { class: ["ind-page", _vm.enableLoadMore ? "loadmore" : ""] }, [_c("IndMLoadMore", { attrs: { "enableLoadMore": _vm.enableLoadMore, "pageLen": _vm.enableLoadMore ? 10 : 999999, "datas": _vm.displayRows, "dataUrl": _vm.dataUrl, "methodsType": _vm.methodsType, "params": _vm.searchForm, "renderParams": _vm.renderParams }, on: { "total": _vm.updateTotal }, scopedSlots: _vm._u([{ key: "item", fn: function(ref) {
44583
44613
  var item2 = ref.item;
44584
44614
  return [_vm._t("item", function() {
44585
44615
  return [_c("IndMForm", { attrs: { "fieldList": _vm.formFieldList, "cardBtns": _vm.cardBtns, "value": item2, "formType": "card" } })];
44586
44616
  }, { "item": item2 })];
44587
44617
  } }], null, true) })], 1), _vm._t("bottom", function() {
44588
- return [_c("div", { staticClass: "ind-bottom-info ind-bottom-btn" }, [_c("div", { staticClass: "ind-flex" }, [_vm.bottomMsg ? [_vm._v(" " + _vm._s(_vm.bottomMsg) + " ")] : [_vm._v(" \u5171\xA0"), _c("span", { staticClass: "ind-orange ind-large" }, [_vm._v(_vm._s(_vm.displayRows.length))]), _vm._v("\xA0\u6761\u6570\u636E ")]], 2), _vm.bottom || _vm.pageBtnText || _vm.btnText ? _c("div", { staticClass: "ind-flex ind-space-between ind-mt" }, [_c("IndButton", { attrs: { "bizType": "primary" }, on: { "click": function($event) {
44618
+ return [_c("div", { staticClass: "ind-bottom-info ind-bottom-btn" }, [_c("div", { staticClass: "ind-flex" }, [_vm.bottomMsg ? [_vm._v(" " + _vm._s(_vm.bottomMsg) + " ")] : [_vm._v(" \u5171\xA0"), _c("span", { staticClass: "ind-orange ind-large" }, [_vm._v(_vm._s(_vm.total || _vm.displayRows.length || 0))]), _vm._v("\xA0\u6761\u6570\u636E ")]], 2), _vm.bottom || _vm.pageBtnText || _vm.btnText ? _c("div", { staticClass: "ind-flex ind-space-between ind-mt" }, [_c("IndButton", { attrs: { "bizType": "primary" }, on: { "click": function($event) {
44589
44619
  return _vm.$emit("bottomClick");
44590
44620
  } } }, [_vm._v(" " + _vm._s(_vm.pageBtnText || _vm.btnText || "\u65B0\u589E") + " ")])], 1) : _vm._e()])];
44591
44621
  }), _c("IndMLoadingPanel", { attrs: { "loading": _vm.loadingComp || _vm.loading } }), _vm._t("default")], 2);
@@ -44594,6 +44624,7 @@ var staticRenderFns$j = [];
44594
44624
  const __vue2_script$j = {
44595
44625
  name: "IndMPageView",
44596
44626
  props: {
44627
+ renderParams: Function,
44597
44628
  isTransfer: {
44598
44629
  type: Boolean,
44599
44630
  default: true
@@ -44625,8 +44656,10 @@ const __vue2_script$j = {
44625
44656
  data() {
44626
44657
  return {
44627
44658
  dataUrl: null,
44659
+ methodsType: "get",
44628
44660
  loadingComp: false,
44629
44661
  rows: [],
44662
+ total: 0,
44630
44663
  pageBtnText: "",
44631
44664
  columns: [],
44632
44665
  searchFormFields: [],
@@ -44691,13 +44724,25 @@ const __vue2_script$j = {
44691
44724
  }
44692
44725
  },
44693
44726
  methods: {
44727
+ updateTotal(num) {
44728
+ this.total = num;
44729
+ },
44694
44730
  initConfig() {
44695
44731
  var _a, _b;
44696
44732
  if (this.xmlInfo) {
44697
- const { dataUrl, pageBtnText, columns: columns2, searchFormFields, formFieldList, subTable } = generateConfigByXml(this.xmlInfo, this.isTransfer);
44733
+ const {
44734
+ dataUrl,
44735
+ methods,
44736
+ pageBtnText,
44737
+ columns: columns2,
44738
+ searchFormFields,
44739
+ formFieldList,
44740
+ subTable
44741
+ } = generateConfigByXml(this.xmlInfo, this.isTransfer);
44698
44742
  this.pageBtnText = pageBtnText;
44699
44743
  this.columns = columns2;
44700
44744
  this.dataUrl = dataUrl;
44745
+ this.methodsType = methods;
44701
44746
  if ((_a = this.searchFormFieldsExt) == null ? void 0 : _a.length) {
44702
44747
  _.forEach(this.searchFormFieldsExt, (d) => {
44703
44748
  let srcInfo = _.find(searchFormFields, { formKey: d.formKey });
@@ -64019,7 +64064,7 @@ var render$5 = function() {
64019
64064
  var _vm = this;
64020
64065
  var _h = _vm.$createElement;
64021
64066
  var _c = _vm._self._c || _h;
64022
- return _c("div", { staticStyle: { "height": "100%" }, on: { "touchstart": function($event) {
64067
+ return _c("div", { on: { "touchstart": function($event) {
64023
64068
  return _vm.ontouchstart(_vm.item);
64024
64069
  }, "touchmove": function($event) {
64025
64070
  return _vm.ontouchmove(_vm.item);
@@ -64029,7 +64074,7 @@ var render$5 = function() {
64029
64074
  return _vm.ontouchend(_vm.item);
64030
64075
  } } }, [_vm.editStatus == "minus" || _vm.editStatus == "plus" && _vm.state ? _c("div", { staticStyle: { "text-align": "center" } }, [_c("van-badge", { attrs: { "color": "#999" }, scopedSlots: _vm._u([{ key: "content", fn: function() {
64031
64076
  return [_c("van-icon", { staticStyle: { "line-height": "1.5" }, attrs: { "name": _vm.editStatus } })];
64032
- }, proxy: true }], null, false, 1274909998) }, [_c("van-image", { attrs: { "with": "3rem", "height": "3rem", "fit": "cover", "src": _vm.getImg(_vm.item.meta.icon) } })], 1)], 1) : _c("div", { staticStyle: { "text-align": "center" } }, [_c("van-image", { attrs: { "with": "3rem", "height": "3rem", "fit": "cover", "src": _vm.getImg(_vm.item.meta.icon) } })], 1), _c("div", { staticStyle: { "text-align": "center" } }, [_c("div", { staticStyle: { "font-size": "12px", "display": "-webkit-box", "-webkit-box-orient": "vertical", "-webkit-line-clamp": "2", "overflow": "hidden", "text-overflow": "ellipsis", "line-height": "1.2", "max-height": "2.4em" } }, [_vm._v(" " + _vm._s(_vm.item.meta.title) + " ")])])]);
64077
+ }, proxy: true }], null, false, 1274909998) }, [_c("van-image", { attrs: { "with": "3rem", "height": "3rem", "fit": "cover", "src": _vm.getImg(_vm.item.meta.icon) } })], 1)], 1) : _c("div", { staticStyle: { "text-align": "center" } }, [_c("van-image", { attrs: { "with": "3rem", "height": "3rem", "fit": "cover", "src": _vm.getImg(_vm.item.meta.icon) } })], 1), _c("div", { staticStyle: { "text-align": "center" } }, [_c("div", { staticStyle: { "font-size": "12px", "display": "-webkit-box", "-webkit-box-orient": "vertical", "-webkit-line-clamp": "1", "overflow": "hidden", "text-overflow": "ellipsis", "line-height": "1.2", "max-height": "2.4em" } }, [_vm._v(" " + _vm._s(_vm.item.meta.title) + " ")])])]);
64033
64078
  };
64034
64079
  var staticRenderFns$5 = [];
64035
64080
  const __vue2_script$5 = {
@@ -68911,9 +68956,7 @@ var render$2 = function() {
68911
68956
  var _vm = this;
68912
68957
  var _h = _vm.$createElement;
68913
68958
  var _c = _vm._self._c || _h;
68914
- return _c("div", { staticClass: "ind-m-app-center" }, [_c("van-sticky", [_c("van-nav-bar", { attrs: { "placeholder": true, "safe-area-inset-top": true, "title": _vm.title } })], 1), _c("div", { staticClass: "ind-m-app-page" }, [_c("div", { staticClass: "ind-m-placeholder" }, [_c("van-search", { attrs: { "placeholder": "\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u8BCD", "shape": "round" }, on: { "search": _vm.onSearch, "clear": _vm.onClear }, scopedSlots: _vm._u([{ key: "right-icon", fn: function() {
68915
- return [_c("div", { on: { "click": _vm.onSearch } }, [_vm._v("\u641C\u7D22")])];
68916
- }, proxy: true }, { key: "left-icon", fn: function() {
68959
+ return _c("div", { staticClass: "ind-m-app-center" }, [_c("van-sticky", [_c("van-nav-bar", { attrs: { "placeholder": true, "safe-area-inset-top": true, "title": _vm.title } })], 1), _c("div", { staticClass: "ind-m-app-page" }, [_c("div", { staticClass: "ind-m-placeholder" }, [_c("van-search", { attrs: { "placeholder": "\u641C\u7D22\u5E94\u7528" }, on: { "search": _vm.onSearch, "clear": _vm.onClear }, scopedSlots: _vm._u([{ key: "left-icon", fn: function() {
68917
68960
  return [_c("van-icon", { attrs: { "name": "search" } })];
68918
68961
  }, proxy: true }]), model: { value: _vm.searchValue, callback: function($$v) {
68919
68962
  _vm.searchValue = $$v;
@@ -68921,8 +68964,10 @@ var render$2 = function() {
68921
68964
  _vm.show = $$v;
68922
68965
  }, expression: "show" } }, [_c("van-grid", { attrs: { "column-num": 4 } }, _vm._l(_vm.searchApp, function(item2, idx) {
68923
68966
  return _c("van-grid-item", { key: idx }, [_c("apps-item", { attrs: { "item": item2, "state": item2.state, "editStatus": _vm.currentEditStatus == "on" ? "minus" : "off" }, on: { "touchend": _vm.rmFromMyAppsClick } })], 1);
68924
- }), 1)], 1), _c("div", { staticClass: "ind-m-myApp-container" }, [_c("div", { staticClass: "ind-m-myApp-inner" }, [_c("div", { staticClass: "ind-m-myApp-container-top" }, [_c("div", { staticClass: "ind-m-my-apps-title" }, [_vm._v("\u6211\u7684\u5E94\u7528")]), _c("van-button", { staticClass: "ind-m-edit-btn", attrs: { "size": "small", "type": "info", "text": _vm.editButtonName }, on: { "click": _vm.toggleEdit } })], 1), _c("van-grid", { attrs: { "column-num": 4 } }, _vm._l(_vm.isEditing ? _vm.tempMyApps : _vm.my_apps, function(item2, idx) {
68925
- return _c("van-grid-item", { key: idx }, [_c("apps-item", { attrs: { "item": item2, "state": item2.state, "editStatus": _vm.currentEditStatus == "on" ? "minus" : "off" }, on: { "touchend": _vm.rmFromMyAppsClick } })], 1);
68967
+ }), 1)], 1), _c("div", { staticClass: "ind-m-myApp-container" }, [_c("div", { staticClass: "ind-m-myApp-inner" }, [_c("div", { staticClass: "ind-m-myApp-container-top" }, [_c("div", { staticClass: "ind-m-my-apps-title" }, [_vm._v("\u6211\u7684\u5E94\u7528")]), _c("van-button", { staticClass: "ind-m-edit-btn", attrs: { "size": "small", "type": "info", "text": _vm.editButtonName }, on: { "click": _vm.toggleEdit } })], 1), _c("van-swipe", { attrs: { "show-indicators": true, "loop": false, "indicator-color": "#005aaf" } }, _vm._l(_vm.paginatedApps, function(page, pageIdx) {
68968
+ return _c("van-swipe-item", { key: pageIdx }, [_c("div", { style: { paddingBottom: _vm.paginatedApps.length > 1 ? "20px" : "0" } }, [_c("van-grid", { attrs: { "column-num": 4, "border": false } }, _vm._l(page, function(item2, idx) {
68969
+ return _c("van-grid-item", { key: idx }, [_c("apps-item", { attrs: { "item": item2, "state": item2.state, "editStatus": _vm.currentEditStatus == "on" ? "minus" : "off" }, on: { "touchend": _vm.rmFromMyAppsClick } })], 1);
68970
+ }), 1)], 1)]);
68926
68971
  }), 1)], 1)]), _c("div", { staticClass: "customnnnmmmm-tabs-container" }, [_c("div", { staticClass: "customnnnmmmm-tabs-header-wrapper" }, [_c("div", { ref: "tabsHeader", staticClass: "customnnnmmmm-tabs-header" }, _vm._l(_vm.apps_menus, function(tab, idx) {
68927
68972
  return _c("div", { key: "tab" + idx, staticClass: "customnnnmmmm-tab-item", class: { active: _vm.active === idx }, on: { "click": function($event) {
68928
68973
  return _vm.handleTabClick(idx);
@@ -68965,7 +69010,8 @@ const __vue2_script$2 = {
68965
69010
  offsetTop: "246px",
68966
69011
  maxApps: 8,
68967
69012
  searchApp: [],
68968
- tabActiveKeys: {}
69013
+ tabActiveKeys: {},
69014
+ firstTabInitialized: false
68969
69015
  };
68970
69016
  },
68971
69017
  watch: {
@@ -69039,8 +69085,33 @@ const __vue2_script$2 = {
69039
69085
  var _a2;
69040
69086
  this.offsetTop = ((_a2 = this.$refs.myapp) == null ? void 0 : _a2.clientHeight) + 58 || 256;
69041
69087
  }, 100);
69088
+ this.$nextTick(() => {
69089
+ if (this.active === 0) {
69090
+ this.initFirstTab();
69091
+ }
69092
+ });
69093
+ },
69094
+ activated() {
69095
+ if (this.active === 0) {
69096
+ this.$nextTick(() => {
69097
+ this.resetFirstTab();
69098
+ });
69099
+ }
69042
69100
  },
69043
69101
  methods: {
69102
+ initFirstTab() {
69103
+ this.activeKey = 0;
69104
+ this.$set(this.tabActiveKeys, 0, 0);
69105
+ this.firstTabInitialized = true;
69106
+ },
69107
+ resetFirstTab() {
69108
+ this.activeKey = 0;
69109
+ this.$set(this.tabActiveKeys, 0, 0);
69110
+ const scrollContainer = this.$refs.scrollContainer;
69111
+ if (scrollContainer) {
69112
+ scrollContainer.scrollTop = 0;
69113
+ }
69114
+ },
69044
69115
  handleTabClick(index2) {
69045
69116
  if (this.active === index2)
69046
69117
  return;
@@ -69123,28 +69194,28 @@ const __vue2_script$2 = {
69123
69194
  handleRightScroll() {
69124
69195
  if (this.isScrollingProgrammatically)
69125
69196
  return;
69126
- const scrollContainer = Array.isArray(this.$refs.scrollContainer) ? this.$refs.scrollContainer[0] : this.$refs.scrollContainer;
69197
+ const scrollContainer = this.$refs.scrollContainer;
69127
69198
  if (!scrollContainer)
69128
69199
  return;
69200
+ const sections = scrollContainer.querySelectorAll(".ind-m-menu-section");
69201
+ if (sections.length === 0)
69202
+ return;
69129
69203
  const scrollTop = scrollContainer.scrollTop;
69130
69204
  const containerHeight = scrollContainer.clientHeight;
69131
69205
  const triggerPosition = containerHeight * 0.3;
69132
- const sections = Array.from(scrollContainer.querySelectorAll(".menu-section"));
69133
- if (sections.length === 0)
69134
- return;
69135
- let activeIndex = 0;
69136
- let minDistance = Infinity;
69137
- sections.forEach((section, index2) => {
69206
+ let activeIndex = this.activeKey;
69207
+ for (let i = 0; i < sections.length; i++) {
69208
+ const section = sections[i];
69138
69209
  const sectionTop = section.offsetTop - scrollContainer.offsetTop;
69139
69210
  const sectionBottom = sectionTop + section.offsetHeight;
69140
- const distance = Math.abs((sectionTop + sectionBottom) / 2 - (scrollTop + triggerPosition));
69141
- if (distance < minDistance) {
69142
- minDistance = distance;
69143
- activeIndex = index2;
69211
+ if (sectionTop <= scrollTop + triggerPosition && sectionBottom >= scrollTop + triggerPosition) {
69212
+ activeIndex = i;
69213
+ break;
69144
69214
  }
69145
- });
69215
+ }
69146
69216
  if (this.activeKey !== activeIndex) {
69147
69217
  this.activeKey = activeIndex;
69218
+ this.$set(this.tabActiveKeys, this.active, activeIndex);
69148
69219
  }
69149
69220
  },
69150
69221
  routeTo(app2) {
@@ -69220,10 +69291,6 @@ const __vue2_script$2 = {
69220
69291
  }
69221
69292
  },
69222
69293
  addToMyApps: _.debounce(function(menu) {
69223
- if (this.tempMyApps.length == this.maxApps) {
69224
- Toast("\u9996\u9875\u6700\u591A\u6DFB\u52A0" + this.maxApps + "\u4E2A\u5E94\u7528!");
69225
- return;
69226
- }
69227
69294
  if (this.tempMyApps.find((v) => v.meta.permissionId === menu.meta.permissionId)) {
69228
69295
  console.log("\u5E94\u7528\u5DF2\u5B58\u5728");
69229
69296
  return;
@@ -69259,6 +69326,17 @@ const __vue2_script$2 = {
69259
69326
  saveMyApps() {
69260
69327
  this.$store.commit("setMyAppsList", this.my_apps);
69261
69328
  }
69329
+ },
69330
+ computed: {
69331
+ paginatedApps() {
69332
+ const apps = this.isEditing ? this.tempMyApps : this.my_apps;
69333
+ const pageSize = 8;
69334
+ const pages2 = [];
69335
+ for (let i = 0; i < apps.length; i += pageSize) {
69336
+ pages2.push(apps.slice(i, i + pageSize));
69337
+ }
69338
+ return pages2;
69339
+ }
69262
69340
  }
69263
69341
  };
69264
69342
  const __cssModules$2 = {};
@@ -71553,6 +71631,12 @@ const install = function(Vue2, opts = { theme: "" }) {
71553
71631
  if (install.installed)
71554
71632
  return;
71555
71633
  const theme = opts.theme || getDefaultTheme();
71634
+ let installConfig = opts.config || {};
71635
+ if (!_.isEmpty(installConfig)) {
71636
+ _.forEach(installConfig, (v, k) => {
71637
+ setConfig(k, v);
71638
+ });
71639
+ }
71556
71640
  doChangeTheme(theme);
71557
71641
  if (location.pathname.includes("scyxweb")) {
71558
71642
  let url = location.protocol + "//" + location.host + "/hbwebchat/scyxweb/ind-mobile/manage/global?t=" + new Date().getTime();