Skip to content

Commit 15aa6e6

Browse files
committed
优化vue3版本index.vue中tabs右键关闭操作
1 parent 319c625 commit 15aa6e6

File tree

4 files changed

+35
-20
lines changed

4 files changed

+35
-20
lines changed

Vol.Vue3版本/src/views/Index.vue

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
<div class="vol-path">
5555
<el-tabs @tab-click="selectNav" @tab-remove="removeNav" @contextmenu.prevent="bindRightClickMenu(false)"
5656
type="border-card" class="header-navigation" v-model="selectId" :strtch="false">
57-
<el-tab-pane v-for="(item, navIndex) in navigation" type="card" :name="item.id" :closable="navIndex > 0"
57+
<el-tab-pane v-for="(item, navIndex) in navigation" type="card" :name="navIndex+''" :closable="navIndex > 0"
5858
:key="navIndex" :label="item.name">
5959
<span style="display:none;">{{ navIndex }}</span>
6060
</el-tab-pane>
@@ -260,16 +260,16 @@ export default defineComponent({
260260
if (_index == -1) {
261261
navigation.push(
262262
{
263-
orderNo: String(navigation.length),// 序号
264-
id: item.id,
263+
// orderNo: String(navigation.length),// 序号
264+
id: item.id+'',
265265
name: item.name || item.text || "无标题",
266266
path: item.path,
267267
query: item.query, //2021.03.20修复自定义二次打开$tabs时参数丢失的问题
268268
});
269269
//新打开的tab移至最后一个选项
270-
selectId.value = navigation[navigation.length - 1].id;// tab标签id
270+
selectId.value = navigation.length - 1 + '';
271271
} else {
272-
selectId.value = navigation[_index].id;
272+
selectId.value = _index + '';
273273
}
274274
if (useRoute === undefined) {
275275
//非标准菜单,记录最后一次跳转的页面,用于刷新
@@ -317,18 +317,19 @@ export default defineComponent({
317317
return new Promise(() => {
318318
//关闭的当前项,跳转到前一个页面
319319
if (selectId.value == _index + "") {
320-
setItem(navigation.value[_index - 1]);
320+
console.log( navigation[_index - 1])
321+
setItem(navigation[_index - 1]);
321322
router.push({
322-
path: navigation.value[_index - 1].path,
323+
path: navigation[_index - 1].path,
323324
});
324-
navigation.value.splice(_index, 1);
325+
navigation.splice(_index, 1);
325326
selectId.value = selectId.value - 1 + "";
326327
return;
327328
}
328329
if (_index < selectId.value) {
329330
selectId.value = selectId.value - 1 + "";
330331
}
331-
navigation.value.splice(_index, 1);
332+
navigation.splice(_index, 1);
332333
});
333334
};
334335
@@ -398,7 +399,8 @@ export default defineComponent({
398399
* @param {*} par 关闭类型(left,right,other)
399400
*/
400401
const closeTabs = (value) => {
401-
let currnetIndex = navigation.findIndex(c => { return c.id == selectId.value });
402+
let _menuId= navigation[selectId.value *1].id;
403+
let currnetIndex =selectId.value *1;// navigation.findIndex(c => { return c.id == selectId.value });
402404
switch (value) {
403405
case "left": { // 删除左侧tab标签
404406
navigation.splice(1, currnetIndex - 1);// 删除左侧tab标签
@@ -427,6 +429,7 @@ export default defineComponent({
427429
break;
428430
}
429431
}
432+
selectId.value=navigation.findIndex(c=>{return c.id==_menuId})+'';
430433
closeTabsMenu();
431434
};
432435

Vue.Net/VOL.Core/Extensions/AutofacManager/AutofacContainerModuleExtension.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public static IServiceCollection AddModule(this IServiceCollection services, Con
8080
{
8181
services.AddDbContextPool<VOLContext>(optionsBuilder => { optionsBuilder.UseNpgsql(connectionString); }, 64);
8282
}
83+
else
8384
{
8485
services.AddDbContextPool<VOLContext>(optionsBuilder => { optionsBuilder.UseSqlServer(connectionString); }, 64);
8586
}

开发版dev/Vue.NetCore/Vol.Vue3版本/src/views/Index.vue

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
<div class="vol-path">
5555
<el-tabs @tab-click="selectNav" @tab-remove="removeNav" @contextmenu.prevent="bindRightClickMenu(false)"
5656
type="border-card" class="header-navigation" v-model="selectId" :strtch="false">
57-
<el-tab-pane v-for="(item, navIndex) in navigation" type="card" :name="item.id" :closable="navIndex > 0"
57+
<el-tab-pane v-for="(item, navIndex) in navigation" type="card" :name="navIndex+''" :closable="navIndex > 0"
5858
:key="navIndex" :label="item.name">
5959
<span style="display:none;">{{ navIndex }}</span>
6060
</el-tab-pane>
@@ -260,16 +260,16 @@ export default defineComponent({
260260
if (_index == -1) {
261261
navigation.push(
262262
{
263-
orderNo: String(navigation.length),// 序号
264-
id: item.id,
263+
// orderNo: String(navigation.length),// 序号
264+
id: item.id+'',
265265
name: item.name || item.text || "无标题",
266266
path: item.path,
267267
query: item.query, //2021.03.20修复自定义二次打开$tabs时参数丢失的问题
268268
});
269269
//新打开的tab移至最后一个选项
270-
selectId.value = navigation[navigation.length - 1].id;// tab标签id
270+
selectId.value = navigation.length - 1 + '';
271271
} else {
272-
selectId.value = navigation[_index].id;
272+
selectId.value = _index + '';
273273
}
274274
if (useRoute === undefined) {
275275
//非标准菜单,记录最后一次跳转的页面,用于刷新
@@ -317,18 +317,19 @@ export default defineComponent({
317317
return new Promise(() => {
318318
//关闭的当前项,跳转到前一个页面
319319
if (selectId.value == _index + "") {
320-
setItem(navigation.value[_index - 1]);
320+
console.log( navigation[_index - 1])
321+
setItem(navigation[_index - 1]);
321322
router.push({
322-
path: navigation.value[_index - 1].path,
323+
path: navigation[_index - 1].path,
323324
});
324-
navigation.value.splice(_index, 1);
325+
navigation.splice(_index, 1);
325326
selectId.value = selectId.value - 1 + "";
326327
return;
327328
}
328329
if (_index < selectId.value) {
329330
selectId.value = selectId.value - 1 + "";
330331
}
331-
navigation.value.splice(_index, 1);
332+
navigation.splice(_index, 1);
332333
});
333334
};
334335
@@ -398,7 +399,8 @@ export default defineComponent({
398399
* @param {*} par 关闭类型(left,right,other)
399400
*/
400401
const closeTabs = (value) => {
401-
let currnetIndex = navigation.findIndex(c => { return c.id == selectId.value });
402+
let _menuId= navigation[selectId.value *1].id;
403+
let currnetIndex =selectId.value *1;// navigation.findIndex(c => { return c.id == selectId.value });
402404
switch (value) {
403405
case "left": { // 删除左侧tab标签
404406
navigation.splice(1, currnetIndex - 1);// 删除左侧tab标签
@@ -427,6 +429,7 @@ export default defineComponent({
427429
break;
428430
}
429431
}
432+
selectId.value=navigation.findIndex(c=>{return c.id==_menuId})+'';
430433
closeTabsMenu();
431434
};
432435

开发版dev/Vue.NetCore/Vue.Net/VOL.Core/Extensions/AutofacManager/AutofacContainerModuleExtension.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
using VOL.Core.EFDbContext;
2020
using VOL.Core.Enums;
2121
using VOL.Core.Extensions.AutofacManager;
22+
using VOL.Core.KafkaManager.IService;
23+
using VOL.Core.KafkaManager.Service;
2224
using VOL.Core.ManageUser;
2325
using VOL.Core.ObjectActionValidator;
2426
using VOL.Core.Services;
@@ -78,6 +80,7 @@ public static IServiceCollection AddModule(this IServiceCollection services, Con
7880
{
7981
services.AddDbContextPool<VOLContext>(optionsBuilder => { optionsBuilder.UseNpgsql(connectionString); }, 64);
8082
}
83+
else
8184
{
8285
services.AddDbContextPool<VOLContext>(optionsBuilder => { optionsBuilder.UseSqlServer(connectionString); }, 64);
8386
}
@@ -90,6 +93,11 @@ public static IServiceCollection AddModule(this IServiceCollection services, Con
9093
{
9194
builder.RegisterType<MemoryCacheService>().As<ICacheService>().SingleInstance();
9295
}
96+
//kafka注入
97+
if (AppSetting.Kafka.UseConsumer)
98+
builder.RegisterType<KafkaConsumer<string, string>>().As<IKafkaConsumer<string, string>>().SingleInstance();
99+
if (AppSetting.Kafka.UseProducer)
100+
builder.RegisterType<KafkaProducer<string, string>>().As<IKafkaProducer<string, string>>().SingleInstance();
93101
return services;
94102
}
95103

0 commit comments

Comments
 (0)