1.代码优化

v1.0.0
sws 2024-09-18 14:04:28 +08:00
parent b9cdd09fc4
commit 0d84a70020
5 changed files with 19 additions and 6 deletions

View File

@ -1,12 +1,12 @@
<template>
<VueDraggable v-model="from" :animation="500" target=".sort-target" handle=".icon-drag" :scroll="true" :on-sort="on_sort">
<TransitionGroup type="transition" tag="ul" name="fade" class="sort-target flex-col gap-x-20">
<li v-for="(item, index) in from" :key="item.id" :class="className" class="flex gap-y-16 re" @click="on_click(item, index)">
<li v-for="(item, index) in from" :key="item.id" :class="className" class="flex gap-y-16 re" @click.stop="on_click(item, index)">
<el-icon class="iconfont icon-drag size-16 cursor-move" />
<slot :row="item" :index="index" />
<el-icon v-if="isShowEdit" class="iconfont icon-commodity-edit size-16 cr-primary do-not-trigger two-click" @click="edit(index)" />
<el-icon v-if="type == 'line'" class="iconfont icon-del-o size-16 do-not-trigger" @click="remove(index)" />
<el-icon v-if="type == 'card'" class="iconfont icon-close-o size-16 abs cr-c top-de-5 right-de-5" @click="remove(index)" />
<el-icon v-if="isShowEdit" class="iconfont icon-commodity-edit size-16 cr-primary do-not-trigger two-click" @click.stop="edit(index)" />
<el-icon v-if="type == 'line'" class="iconfont icon-del-o size-16 do-not-trigger" @click.stop="remove(index)" />
<el-icon v-if="type == 'card'" class="iconfont icon-close-o size-16 abs cr-c top-de-5 right-de-5" @click.stop="remove(index)" />
</li>
</TransitionGroup>
</VueDraggable>

View File

@ -25,7 +25,7 @@ watch(
const newVal = cloneDeep(val);
const new_style = newVal?.style;
let new_data = newVal;
tabs_active_index.value = new_data.content.tabs_list.length - 1 >= new_data.content.tabs_active_index ? new_data.content.tabs_active_index : new_data.content.tabs_list.length - 1;
tabs_active_index.value = new_data.content.tabs_active_index;
new_data.content.theme = new_data.content.article_theme;
new_data.content.data_type = new_data.content.tabs_list[tabs_active_index.value].data_type;
new_data.content.category_ids = new_data.content.tabs_list[tabs_active_index.value].category_ids;

View File

@ -195,7 +195,13 @@ const tabs_list_click = (item: any, index: number) => {
const tabs_list_remove = (index: number) => {
if (form.tabs_list.length > 1) {
form.tabs_list.splice(index, 1);
if (form.tabs_list.length > index) {
form.tabs_active_index = index;
} else {
form.tabs_active_index = index - 1;
}
} else {
form.tabs_active_index = 0;
ElMessage.warning('至少保留一个选项卡');
}
};

View File

@ -25,10 +25,11 @@ const tabs_active_index = ref(0);
watch(
() => props.value,
(val) => {
console.log('1');
const new_val = cloneDeep(val);
const new_style = new_val?.style;
let new_data = new_val;
tabs_active_index.value = new_data.content.tabs_list.length - 1 >= new_data.content.tabs_active_index ? new_data.content.tabs_active_index : new_data.content.tabs_list.length - 1;
tabs_active_index.value = new_data.content.tabs_active_index;
//
new_data.content.data_type = new_data.content.tabs_list[tabs_active_index.value].data_type;
new_data.content.category_ids = new_data.content.tabs_list[tabs_active_index.value].category_ids;

View File

@ -181,7 +181,13 @@ const tabs_list_click = (item: any, index: number) => {
const tabs_list_remove = (index: number) => {
if (form.value.tabs_list.length > 1) {
form.value.tabs_list.splice(index, 1);
if (form.value.tabs_list.length > index) {
form.value.tabs_active_index = index;
} else {
form.value.tabs_active_index = index - 1;
}
} else {
form.value.tabs_active_index = 0;
ElMessage.warning('至少保留一个选项卡');
}
};