@weitutech/by-components 1.1.104 → 1.1.106
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/lib/by-components.common.js +34 -131
- package/lib/by-components.umd.js +34 -131
- package/lib/by-components.umd.min.js +1 -1
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -76934,12 +76934,14 @@ var ByTreeSearch_component = normalizeComponent(
|
|
|
76934
76934
|
)
|
|
76935
76935
|
|
|
76936
76936
|
/* harmony default export */ var ByTreeSearch = (ByTreeSearch_component.exports);
|
|
76937
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-dialog/ByDialog.vue?vue&type=template&id=
|
|
76938
|
-
var
|
|
76937
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-dialog/ByDialog.vue?vue&type=template&id=571b0f54
|
|
76938
|
+
var ByDialogvue_type_template_id_571b0f54_render = function render() {
|
|
76939
76939
|
var _vm = this,
|
|
76940
76940
|
_c = _vm._self._c;
|
|
76941
76941
|
return _c('el-dialog', _vm._g(_vm._b({
|
|
76942
|
-
class: ['by-dialog',
|
|
76942
|
+
class: ['by-dialog', {
|
|
76943
|
+
'by-dialog--with-header': !!_vm.$slots.header
|
|
76944
|
+
}, _vm.customClass],
|
|
76943
76945
|
attrs: {
|
|
76944
76946
|
"visible": _vm.dialogVisible,
|
|
76945
76947
|
"title": _vm.title
|
|
@@ -76950,8 +76952,12 @@ var ByDialogvue_type_template_id_3da494cf_render = function render() {
|
|
|
76950
76952
|
},
|
|
76951
76953
|
"close": _vm.handleClose
|
|
76952
76954
|
}
|
|
76953
|
-
}, 'el-dialog', _vm.dialogAttrs, false), _vm.$listeners), [_c('div', {
|
|
76954
|
-
staticClass: "by-
|
|
76955
|
+
}, 'el-dialog', _vm.dialogAttrs, false), _vm.$listeners), [_vm.$slots.header ? _c('div', {
|
|
76956
|
+
staticClass: "by-dialog__header"
|
|
76957
|
+
}, [_vm._t("header")], 2) : _vm._e(), _c('div', {
|
|
76958
|
+
class: ['by-dialog__body', {
|
|
76959
|
+
'by-dialog__body--with-header': !!_vm.$slots.header
|
|
76960
|
+
}]
|
|
76955
76961
|
}, [_vm.content ? _c('div', {
|
|
76956
76962
|
staticClass: "by-dialog__content"
|
|
76957
76963
|
}, [_vm._v(_vm._s(_vm.content))]) : _vm._e(), _vm._t("default")], 2), _vm.showFooter ? _c('div', {
|
|
@@ -77000,7 +77006,7 @@ var ByDialogvue_type_template_id_3da494cf_render = function render() {
|
|
|
77000
77006
|
}, [_vm._v(" " + _vm._s(button.text) + " ")])];
|
|
77001
77007
|
})], 2) : _vm._e()]), _vm._t("footer")], 2) : _vm._e()]);
|
|
77002
77008
|
};
|
|
77003
|
-
var
|
|
77009
|
+
var ByDialogvue_type_template_id_571b0f54_staticRenderFns = [];
|
|
77004
77010
|
|
|
77005
77011
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-dialog/ByDialog.vue?vue&type=script&lang=js
|
|
77006
77012
|
|
|
@@ -77149,8 +77155,8 @@ var ByDialogvue_type_template_id_3da494cf_staticRenderFns = [];
|
|
|
77149
77155
|
;
|
|
77150
77156
|
var ByDialog_component = normalizeComponent(
|
|
77151
77157
|
by_dialog_ByDialogvue_type_script_lang_js,
|
|
77152
|
-
|
|
77153
|
-
|
|
77158
|
+
ByDialogvue_type_template_id_571b0f54_render,
|
|
77159
|
+
ByDialogvue_type_template_id_571b0f54_staticRenderFns,
|
|
77154
77160
|
false,
|
|
77155
77161
|
null,
|
|
77156
77162
|
null,
|
|
@@ -79022,8 +79028,8 @@ var ByCascaderPanel_component = normalizeComponent(
|
|
|
79022
79028
|
)
|
|
79023
79029
|
|
|
79024
79030
|
/* harmony default export */ var ByCascaderPanel = (ByCascaderPanel_component.exports);
|
|
79025
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=template&id=
|
|
79026
|
-
var
|
|
79031
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=template&id=4d9e17ff
|
|
79032
|
+
var ByFloatingMenuvue_type_template_id_4d9e17ff_render = function render() {
|
|
79027
79033
|
var _vm = this,
|
|
79028
79034
|
_c = _vm._self._c;
|
|
79029
79035
|
return _c('div', {
|
|
@@ -79148,7 +79154,7 @@ var ByFloatingMenuvue_type_template_id_365e7526_render = function render() {
|
|
|
79148
79154
|
}, [_vm._v(_vm._s(item.text))])]);
|
|
79149
79155
|
}), 0)])], 1);
|
|
79150
79156
|
};
|
|
79151
|
-
var
|
|
79157
|
+
var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
|
|
79152
79158
|
|
|
79153
79159
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=script&lang=js
|
|
79154
79160
|
/* harmony default export */ var ByFloatingMenuvue_type_script_lang_js = ({
|
|
@@ -79185,14 +79191,6 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79185
79191
|
}
|
|
79186
79192
|
},
|
|
79187
79193
|
data() {
|
|
79188
|
-
// 在 data 中初始化位置,避免渲染时的位置跳动
|
|
79189
|
-
const {
|
|
79190
|
-
right,
|
|
79191
|
-
bottom
|
|
79192
|
-
} = this.position;
|
|
79193
|
-
const windowHeight = typeof window !== 'undefined' ? window.innerHeight : 800;
|
|
79194
|
-
const bottomValue = parseInt(bottom) || 20;
|
|
79195
|
-
const mainButtonSize = this.getMainButtonSize();
|
|
79196
79194
|
return {
|
|
79197
79195
|
isExpanded: false,
|
|
79198
79196
|
isHidden: false,
|
|
@@ -79204,12 +79202,9 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79204
79202
|
},
|
|
79205
79203
|
currentPosition: {
|
|
79206
79204
|
x: 0,
|
|
79207
|
-
y:
|
|
79208
|
-
},
|
|
79209
|
-
menuStyle: {
|
|
79210
|
-
right: right,
|
|
79211
|
-
bottom: bottom
|
|
79205
|
+
y: 0
|
|
79212
79206
|
},
|
|
79207
|
+
menuStyle: {},
|
|
79213
79208
|
// 菜单项拖动相关
|
|
79214
79209
|
menuItemDragStart: {
|
|
79215
79210
|
x: 0,
|
|
@@ -79222,53 +79217,43 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79222
79217
|
computed: {
|
|
79223
79218
|
// 根据size属性计算实际大小
|
|
79224
79219
|
mainButtonSize() {
|
|
79225
|
-
|
|
79220
|
+
const sizeMap = {
|
|
79221
|
+
mini: 40,
|
|
79222
|
+
small: 50,
|
|
79223
|
+
medium: 60
|
|
79224
|
+
};
|
|
79225
|
+
return sizeMap[this.size] || 50;
|
|
79226
79226
|
}
|
|
79227
79227
|
},
|
|
79228
79228
|
mounted() {
|
|
79229
|
-
|
|
79230
|
-
this.refreshPosition();
|
|
79229
|
+
this.initPosition();
|
|
79231
79230
|
this.bindEvents();
|
|
79232
|
-
this.bindPageEvents();
|
|
79233
79231
|
},
|
|
79234
79232
|
beforeDestroy() {
|
|
79235
79233
|
this.unbindEvents();
|
|
79236
|
-
this.unbindPageEvents();
|
|
79237
79234
|
this.removeShowButton();
|
|
79238
79235
|
// 清理菜单项拖动事件监听器
|
|
79239
79236
|
document.removeEventListener('mousemove', this.onMenuItemDrag);
|
|
79240
79237
|
document.removeEventListener('mouseup', this.endMenuItemDrag);
|
|
79241
79238
|
},
|
|
79242
79239
|
methods: {
|
|
79243
|
-
//
|
|
79244
|
-
|
|
79245
|
-
const sizeMap = {
|
|
79246
|
-
mini: 40,
|
|
79247
|
-
small: 50,
|
|
79248
|
-
medium: 60
|
|
79249
|
-
};
|
|
79250
|
-
return sizeMap[this.size] || 50;
|
|
79251
|
-
},
|
|
79252
|
-
// 刷新位置(在 mounted 时重新计算以确保准确性)
|
|
79253
|
-
refreshPosition() {
|
|
79240
|
+
// 初始化位置
|
|
79241
|
+
initPosition() {
|
|
79254
79242
|
const {
|
|
79255
79243
|
right,
|
|
79256
79244
|
bottom
|
|
79257
79245
|
} = this.position;
|
|
79258
|
-
const windowHeight = window.innerHeight;
|
|
79259
|
-
const bottomValue = parseInt(bottom) || 20;
|
|
79260
|
-
|
|
79261
|
-
// 更新菜单样式
|
|
79262
79246
|
this.menuStyle = {
|
|
79263
|
-
...this.menuStyle,
|
|
79264
79247
|
right: right,
|
|
79265
79248
|
bottom: bottom
|
|
79266
79249
|
};
|
|
79267
79250
|
|
|
79268
|
-
//
|
|
79251
|
+
// 初始化当前位置
|
|
79252
|
+
const windowHeight = window.innerHeight;
|
|
79253
|
+
const bottomValue = parseInt(bottom) || 20;
|
|
79269
79254
|
this.currentPosition = {
|
|
79270
79255
|
x: 0,
|
|
79271
|
-
y: windowHeight - bottomValue - this.mainButtonSize
|
|
79256
|
+
y: windowHeight - bottomValue - this.mainButtonSize // 使用动态主按钮大小
|
|
79272
79257
|
};
|
|
79273
79258
|
},
|
|
79274
79259
|
// 切换菜单展开状态
|
|
@@ -79517,88 +79502,6 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79517
79502
|
if (showBtn) {
|
|
79518
79503
|
showBtn.remove();
|
|
79519
79504
|
}
|
|
79520
|
-
},
|
|
79521
|
-
// ========== 外部调用方法 ==========
|
|
79522
|
-
|
|
79523
|
-
// 显示悬浮菜单
|
|
79524
|
-
show() {
|
|
79525
|
-
if (this.isHidden) {
|
|
79526
|
-
this.isHidden = false;
|
|
79527
|
-
this.isExpanded = false;
|
|
79528
|
-
|
|
79529
|
-
// 显示主菜单,保持当前位置
|
|
79530
|
-
this.menuStyle = {
|
|
79531
|
-
...this.menuStyle,
|
|
79532
|
-
right: '20px',
|
|
79533
|
-
transition: 'right 0.3s ease, opacity 0.3s ease',
|
|
79534
|
-
opacity: '1'
|
|
79535
|
-
};
|
|
79536
|
-
// 移除显示按钮
|
|
79537
|
-
this.removeShowButton();
|
|
79538
|
-
}
|
|
79539
|
-
},
|
|
79540
|
-
// 隐藏悬浮菜单
|
|
79541
|
-
hide() {
|
|
79542
|
-
if (!this.isHidden) {
|
|
79543
|
-
this.isHidden = true;
|
|
79544
|
-
this.isExpanded = false;
|
|
79545
|
-
|
|
79546
|
-
// 保持当前纵向位置,只隐藏横向
|
|
79547
|
-
this.menuStyle = {
|
|
79548
|
-
...this.menuStyle,
|
|
79549
|
-
right: '-100px',
|
|
79550
|
-
transition: 'right 0.3s ease',
|
|
79551
|
-
opacity: '0'
|
|
79552
|
-
};
|
|
79553
|
-
// 移除显示按钮
|
|
79554
|
-
this.removeShowButton();
|
|
79555
|
-
}
|
|
79556
|
-
},
|
|
79557
|
-
// 完全移除显示按钮(用于页面切换时清理)
|
|
79558
|
-
removeShowButtonOnly() {
|
|
79559
|
-
this.removeShowButton();
|
|
79560
|
-
},
|
|
79561
|
-
// 获取当前隐藏状态
|
|
79562
|
-
getHiddenState() {
|
|
79563
|
-
return this.isHidden;
|
|
79564
|
-
},
|
|
79565
|
-
// 切换显示/隐藏状态
|
|
79566
|
-
toggle() {
|
|
79567
|
-
this.toggleHide();
|
|
79568
|
-
},
|
|
79569
|
-
// 绑定页面相关事件
|
|
79570
|
-
bindPageEvents() {
|
|
79571
|
-
// 监听页面可见性变化(切换 tab)
|
|
79572
|
-
document.addEventListener('visibilitychange', this.onVisibilityChange);
|
|
79573
|
-
|
|
79574
|
-
// 监听页面卸载事件
|
|
79575
|
-
window.addEventListener('beforeunload', this.onPageUnload);
|
|
79576
|
-
|
|
79577
|
-
// 监听路由变化(如果使用了 Vue Router)
|
|
79578
|
-
if (this.$router) {
|
|
79579
|
-
this.$router.beforeEach((to, from, next) => {
|
|
79580
|
-
// 在路由切换前移除显示按钮
|
|
79581
|
-
this.removeShowButton();
|
|
79582
|
-
next();
|
|
79583
|
-
});
|
|
79584
|
-
}
|
|
79585
|
-
},
|
|
79586
|
-
// 解绑页面相关事件
|
|
79587
|
-
unbindPageEvents() {
|
|
79588
|
-
document.removeEventListener('visibilitychange', this.onVisibilityChange);
|
|
79589
|
-
window.removeEventListener('beforeunload', this.onPageUnload);
|
|
79590
|
-
},
|
|
79591
|
-
// 页面可见性变化处理
|
|
79592
|
-
onVisibilityChange() {
|
|
79593
|
-
if (document.hidden) {
|
|
79594
|
-
// 页面变为隐藏状态(切换 tab 或最小化),移除显示按钮
|
|
79595
|
-
this.removeShowButton();
|
|
79596
|
-
}
|
|
79597
|
-
},
|
|
79598
|
-
// 页面卸载处理
|
|
79599
|
-
onPageUnload() {
|
|
79600
|
-
// 页面卸载前移除显示按钮
|
|
79601
|
-
this.removeShowButton();
|
|
79602
79505
|
}
|
|
79603
79506
|
}
|
|
79604
79507
|
});
|
|
@@ -79614,8 +79517,8 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79614
79517
|
;
|
|
79615
79518
|
var ByFloatingMenu_component = normalizeComponent(
|
|
79616
79519
|
floating_menu_ByFloatingMenuvue_type_script_lang_js,
|
|
79617
|
-
|
|
79618
|
-
|
|
79520
|
+
ByFloatingMenuvue_type_template_id_4d9e17ff_render,
|
|
79521
|
+
ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns,
|
|
79619
79522
|
false,
|
|
79620
79523
|
null,
|
|
79621
79524
|
null,
|
package/lib/by-components.umd.js
CHANGED
|
@@ -76944,12 +76944,14 @@ var ByTreeSearch_component = normalizeComponent(
|
|
|
76944
76944
|
)
|
|
76945
76945
|
|
|
76946
76946
|
/* harmony default export */ var ByTreeSearch = (ByTreeSearch_component.exports);
|
|
76947
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-dialog/ByDialog.vue?vue&type=template&id=
|
|
76948
|
-
var
|
|
76947
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-dialog/ByDialog.vue?vue&type=template&id=571b0f54
|
|
76948
|
+
var ByDialogvue_type_template_id_571b0f54_render = function render() {
|
|
76949
76949
|
var _vm = this,
|
|
76950
76950
|
_c = _vm._self._c;
|
|
76951
76951
|
return _c('el-dialog', _vm._g(_vm._b({
|
|
76952
|
-
class: ['by-dialog',
|
|
76952
|
+
class: ['by-dialog', {
|
|
76953
|
+
'by-dialog--with-header': !!_vm.$slots.header
|
|
76954
|
+
}, _vm.customClass],
|
|
76953
76955
|
attrs: {
|
|
76954
76956
|
"visible": _vm.dialogVisible,
|
|
76955
76957
|
"title": _vm.title
|
|
@@ -76960,8 +76962,12 @@ var ByDialogvue_type_template_id_3da494cf_render = function render() {
|
|
|
76960
76962
|
},
|
|
76961
76963
|
"close": _vm.handleClose
|
|
76962
76964
|
}
|
|
76963
|
-
}, 'el-dialog', _vm.dialogAttrs, false), _vm.$listeners), [_c('div', {
|
|
76964
|
-
staticClass: "by-
|
|
76965
|
+
}, 'el-dialog', _vm.dialogAttrs, false), _vm.$listeners), [_vm.$slots.header ? _c('div', {
|
|
76966
|
+
staticClass: "by-dialog__header"
|
|
76967
|
+
}, [_vm._t("header")], 2) : _vm._e(), _c('div', {
|
|
76968
|
+
class: ['by-dialog__body', {
|
|
76969
|
+
'by-dialog__body--with-header': !!_vm.$slots.header
|
|
76970
|
+
}]
|
|
76965
76971
|
}, [_vm.content ? _c('div', {
|
|
76966
76972
|
staticClass: "by-dialog__content"
|
|
76967
76973
|
}, [_vm._v(_vm._s(_vm.content))]) : _vm._e(), _vm._t("default")], 2), _vm.showFooter ? _c('div', {
|
|
@@ -77010,7 +77016,7 @@ var ByDialogvue_type_template_id_3da494cf_render = function render() {
|
|
|
77010
77016
|
}, [_vm._v(" " + _vm._s(button.text) + " ")])];
|
|
77011
77017
|
})], 2) : _vm._e()]), _vm._t("footer")], 2) : _vm._e()]);
|
|
77012
77018
|
};
|
|
77013
|
-
var
|
|
77019
|
+
var ByDialogvue_type_template_id_571b0f54_staticRenderFns = [];
|
|
77014
77020
|
|
|
77015
77021
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/by-dialog/ByDialog.vue?vue&type=script&lang=js
|
|
77016
77022
|
|
|
@@ -77159,8 +77165,8 @@ var ByDialogvue_type_template_id_3da494cf_staticRenderFns = [];
|
|
|
77159
77165
|
;
|
|
77160
77166
|
var ByDialog_component = normalizeComponent(
|
|
77161
77167
|
by_dialog_ByDialogvue_type_script_lang_js,
|
|
77162
|
-
|
|
77163
|
-
|
|
77168
|
+
ByDialogvue_type_template_id_571b0f54_render,
|
|
77169
|
+
ByDialogvue_type_template_id_571b0f54_staticRenderFns,
|
|
77164
77170
|
false,
|
|
77165
77171
|
null,
|
|
77166
77172
|
null,
|
|
@@ -79032,8 +79038,8 @@ var ByCascaderPanel_component = normalizeComponent(
|
|
|
79032
79038
|
)
|
|
79033
79039
|
|
|
79034
79040
|
/* harmony default export */ var ByCascaderPanel = (ByCascaderPanel_component.exports);
|
|
79035
|
-
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=template&id=
|
|
79036
|
-
var
|
|
79041
|
+
;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=template&id=4d9e17ff
|
|
79042
|
+
var ByFloatingMenuvue_type_template_id_4d9e17ff_render = function render() {
|
|
79037
79043
|
var _vm = this,
|
|
79038
79044
|
_c = _vm._self._c;
|
|
79039
79045
|
return _c('div', {
|
|
@@ -79158,7 +79164,7 @@ var ByFloatingMenuvue_type_template_id_365e7526_render = function render() {
|
|
|
79158
79164
|
}, [_vm._v(_vm._s(item.text))])]);
|
|
79159
79165
|
}), 0)])], 1);
|
|
79160
79166
|
};
|
|
79161
|
-
var
|
|
79167
|
+
var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
|
|
79162
79168
|
|
|
79163
79169
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=script&lang=js
|
|
79164
79170
|
/* harmony default export */ var ByFloatingMenuvue_type_script_lang_js = ({
|
|
@@ -79195,14 +79201,6 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79195
79201
|
}
|
|
79196
79202
|
},
|
|
79197
79203
|
data() {
|
|
79198
|
-
// 在 data 中初始化位置,避免渲染时的位置跳动
|
|
79199
|
-
const {
|
|
79200
|
-
right,
|
|
79201
|
-
bottom
|
|
79202
|
-
} = this.position;
|
|
79203
|
-
const windowHeight = typeof window !== 'undefined' ? window.innerHeight : 800;
|
|
79204
|
-
const bottomValue = parseInt(bottom) || 20;
|
|
79205
|
-
const mainButtonSize = this.getMainButtonSize();
|
|
79206
79204
|
return {
|
|
79207
79205
|
isExpanded: false,
|
|
79208
79206
|
isHidden: false,
|
|
@@ -79214,12 +79212,9 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79214
79212
|
},
|
|
79215
79213
|
currentPosition: {
|
|
79216
79214
|
x: 0,
|
|
79217
|
-
y:
|
|
79218
|
-
},
|
|
79219
|
-
menuStyle: {
|
|
79220
|
-
right: right,
|
|
79221
|
-
bottom: bottom
|
|
79215
|
+
y: 0
|
|
79222
79216
|
},
|
|
79217
|
+
menuStyle: {},
|
|
79223
79218
|
// 菜单项拖动相关
|
|
79224
79219
|
menuItemDragStart: {
|
|
79225
79220
|
x: 0,
|
|
@@ -79232,53 +79227,43 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79232
79227
|
computed: {
|
|
79233
79228
|
// 根据size属性计算实际大小
|
|
79234
79229
|
mainButtonSize() {
|
|
79235
|
-
|
|
79230
|
+
const sizeMap = {
|
|
79231
|
+
mini: 40,
|
|
79232
|
+
small: 50,
|
|
79233
|
+
medium: 60
|
|
79234
|
+
};
|
|
79235
|
+
return sizeMap[this.size] || 50;
|
|
79236
79236
|
}
|
|
79237
79237
|
},
|
|
79238
79238
|
mounted() {
|
|
79239
|
-
|
|
79240
|
-
this.refreshPosition();
|
|
79239
|
+
this.initPosition();
|
|
79241
79240
|
this.bindEvents();
|
|
79242
|
-
this.bindPageEvents();
|
|
79243
79241
|
},
|
|
79244
79242
|
beforeDestroy() {
|
|
79245
79243
|
this.unbindEvents();
|
|
79246
|
-
this.unbindPageEvents();
|
|
79247
79244
|
this.removeShowButton();
|
|
79248
79245
|
// 清理菜单项拖动事件监听器
|
|
79249
79246
|
document.removeEventListener('mousemove', this.onMenuItemDrag);
|
|
79250
79247
|
document.removeEventListener('mouseup', this.endMenuItemDrag);
|
|
79251
79248
|
},
|
|
79252
79249
|
methods: {
|
|
79253
|
-
//
|
|
79254
|
-
|
|
79255
|
-
const sizeMap = {
|
|
79256
|
-
mini: 40,
|
|
79257
|
-
small: 50,
|
|
79258
|
-
medium: 60
|
|
79259
|
-
};
|
|
79260
|
-
return sizeMap[this.size] || 50;
|
|
79261
|
-
},
|
|
79262
|
-
// 刷新位置(在 mounted 时重新计算以确保准确性)
|
|
79263
|
-
refreshPosition() {
|
|
79250
|
+
// 初始化位置
|
|
79251
|
+
initPosition() {
|
|
79264
79252
|
const {
|
|
79265
79253
|
right,
|
|
79266
79254
|
bottom
|
|
79267
79255
|
} = this.position;
|
|
79268
|
-
const windowHeight = window.innerHeight;
|
|
79269
|
-
const bottomValue = parseInt(bottom) || 20;
|
|
79270
|
-
|
|
79271
|
-
// 更新菜单样式
|
|
79272
79256
|
this.menuStyle = {
|
|
79273
|
-
...this.menuStyle,
|
|
79274
79257
|
right: right,
|
|
79275
79258
|
bottom: bottom
|
|
79276
79259
|
};
|
|
79277
79260
|
|
|
79278
|
-
//
|
|
79261
|
+
// 初始化当前位置
|
|
79262
|
+
const windowHeight = window.innerHeight;
|
|
79263
|
+
const bottomValue = parseInt(bottom) || 20;
|
|
79279
79264
|
this.currentPosition = {
|
|
79280
79265
|
x: 0,
|
|
79281
|
-
y: windowHeight - bottomValue - this.mainButtonSize
|
|
79266
|
+
y: windowHeight - bottomValue - this.mainButtonSize // 使用动态主按钮大小
|
|
79282
79267
|
};
|
|
79283
79268
|
},
|
|
79284
79269
|
// 切换菜单展开状态
|
|
@@ -79527,88 +79512,6 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79527
79512
|
if (showBtn) {
|
|
79528
79513
|
showBtn.remove();
|
|
79529
79514
|
}
|
|
79530
|
-
},
|
|
79531
|
-
// ========== 外部调用方法 ==========
|
|
79532
|
-
|
|
79533
|
-
// 显示悬浮菜单
|
|
79534
|
-
show() {
|
|
79535
|
-
if (this.isHidden) {
|
|
79536
|
-
this.isHidden = false;
|
|
79537
|
-
this.isExpanded = false;
|
|
79538
|
-
|
|
79539
|
-
// 显示主菜单,保持当前位置
|
|
79540
|
-
this.menuStyle = {
|
|
79541
|
-
...this.menuStyle,
|
|
79542
|
-
right: '20px',
|
|
79543
|
-
transition: 'right 0.3s ease, opacity 0.3s ease',
|
|
79544
|
-
opacity: '1'
|
|
79545
|
-
};
|
|
79546
|
-
// 移除显示按钮
|
|
79547
|
-
this.removeShowButton();
|
|
79548
|
-
}
|
|
79549
|
-
},
|
|
79550
|
-
// 隐藏悬浮菜单
|
|
79551
|
-
hide() {
|
|
79552
|
-
if (!this.isHidden) {
|
|
79553
|
-
this.isHidden = true;
|
|
79554
|
-
this.isExpanded = false;
|
|
79555
|
-
|
|
79556
|
-
// 保持当前纵向位置,只隐藏横向
|
|
79557
|
-
this.menuStyle = {
|
|
79558
|
-
...this.menuStyle,
|
|
79559
|
-
right: '-100px',
|
|
79560
|
-
transition: 'right 0.3s ease',
|
|
79561
|
-
opacity: '0'
|
|
79562
|
-
};
|
|
79563
|
-
// 移除显示按钮
|
|
79564
|
-
this.removeShowButton();
|
|
79565
|
-
}
|
|
79566
|
-
},
|
|
79567
|
-
// 完全移除显示按钮(用于页面切换时清理)
|
|
79568
|
-
removeShowButtonOnly() {
|
|
79569
|
-
this.removeShowButton();
|
|
79570
|
-
},
|
|
79571
|
-
// 获取当前隐藏状态
|
|
79572
|
-
getHiddenState() {
|
|
79573
|
-
return this.isHidden;
|
|
79574
|
-
},
|
|
79575
|
-
// 切换显示/隐藏状态
|
|
79576
|
-
toggle() {
|
|
79577
|
-
this.toggleHide();
|
|
79578
|
-
},
|
|
79579
|
-
// 绑定页面相关事件
|
|
79580
|
-
bindPageEvents() {
|
|
79581
|
-
// 监听页面可见性变化(切换 tab)
|
|
79582
|
-
document.addEventListener('visibilitychange', this.onVisibilityChange);
|
|
79583
|
-
|
|
79584
|
-
// 监听页面卸载事件
|
|
79585
|
-
window.addEventListener('beforeunload', this.onPageUnload);
|
|
79586
|
-
|
|
79587
|
-
// 监听路由变化(如果使用了 Vue Router)
|
|
79588
|
-
if (this.$router) {
|
|
79589
|
-
this.$router.beforeEach((to, from, next) => {
|
|
79590
|
-
// 在路由切换前移除显示按钮
|
|
79591
|
-
this.removeShowButton();
|
|
79592
|
-
next();
|
|
79593
|
-
});
|
|
79594
|
-
}
|
|
79595
|
-
},
|
|
79596
|
-
// 解绑页面相关事件
|
|
79597
|
-
unbindPageEvents() {
|
|
79598
|
-
document.removeEventListener('visibilitychange', this.onVisibilityChange);
|
|
79599
|
-
window.removeEventListener('beforeunload', this.onPageUnload);
|
|
79600
|
-
},
|
|
79601
|
-
// 页面可见性变化处理
|
|
79602
|
-
onVisibilityChange() {
|
|
79603
|
-
if (document.hidden) {
|
|
79604
|
-
// 页面变为隐藏状态(切换 tab 或最小化),移除显示按钮
|
|
79605
|
-
this.removeShowButton();
|
|
79606
|
-
}
|
|
79607
|
-
},
|
|
79608
|
-
// 页面卸载处理
|
|
79609
|
-
onPageUnload() {
|
|
79610
|
-
// 页面卸载前移除显示按钮
|
|
79611
|
-
this.removeShowButton();
|
|
79612
79515
|
}
|
|
79613
79516
|
}
|
|
79614
79517
|
});
|
|
@@ -79624,8 +79527,8 @@ var ByFloatingMenuvue_type_template_id_365e7526_staticRenderFns = [];
|
|
|
79624
79527
|
;
|
|
79625
79528
|
var ByFloatingMenu_component = normalizeComponent(
|
|
79626
79529
|
floating_menu_ByFloatingMenuvue_type_script_lang_js,
|
|
79627
|
-
|
|
79628
|
-
|
|
79530
|
+
ByFloatingMenuvue_type_template_id_4d9e17ff_render,
|
|
79531
|
+
ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns,
|
|
79629
79532
|
false,
|
|
79630
79533
|
null,
|
|
79631
79534
|
null,
|