|
@@ -100,7 +100,7 @@
|
|
|
class="demo-tabs"
|
|
|
>
|
|
|
<el-tab-pane
|
|
|
- v-for="item in toRaw(editableTabs)"
|
|
|
+ v-for="(item,index) in toRaw(editableTabs)"
|
|
|
:key="item.path"
|
|
|
:label="item.label"
|
|
|
:name="item.path"
|
|
@@ -108,7 +108,11 @@
|
|
|
<template #label>
|
|
|
<div class="tab_pane">
|
|
|
<div class="tab_text">{{ item.label }}</div>
|
|
|
- <img src="@/assets/images/close.png" alt="" />
|
|
|
+ <img
|
|
|
+ src="@/assets/images/close.png"
|
|
|
+ @click="closeTab(item,index,$event)"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-tab-pane>
|
|
@@ -357,25 +361,25 @@ const clickPath = (index, items) => {
|
|
|
editableTabs.value.push({ label: items.label, path: items.path });
|
|
|
//需要jSON去转 否则页面无变化 离谱得很
|
|
|
editableTabs.value = JSON.parse(JSON.stringify(editableTabs.value));
|
|
|
- }else{
|
|
|
- clickTab(items.path)
|
|
|
+ } else {
|
|
|
+ clickTab(items.path);
|
|
|
}
|
|
|
- editableTabsValue.value = items.path
|
|
|
+ editableTabsValue.value = items.path;
|
|
|
// console.log("editableTabs", editableTabs.value);
|
|
|
};
|
|
|
const clickTab = (item) => {
|
|
|
console.log("item", toRaw(item));
|
|
|
- let regExp = new RegExp(/^\//)
|
|
|
+ let regExp = new RegExp(/^\//);
|
|
|
if (!regExp.test(toRaw(item))) {
|
|
|
- const data = JSON.parse(toRaw(item))
|
|
|
- console.log('data',data);
|
|
|
+ const data = JSON.parse(toRaw(item));
|
|
|
+ console.log("data", data);
|
|
|
router.push({
|
|
|
- path: "/fileEdit",
|
|
|
- query: {
|
|
|
- clickRowId: data.docId,
|
|
|
- copyRow: JSON.stringify(data),
|
|
|
- },
|
|
|
- });
|
|
|
+ path: "/fileEdit",
|
|
|
+ query: {
|
|
|
+ clickRowId: data.docId,
|
|
|
+ copyRow: JSON.stringify(data),
|
|
|
+ },
|
|
|
+ });
|
|
|
} else {
|
|
|
router.push({
|
|
|
path: item,
|
|
@@ -386,12 +390,23 @@ const clickTab = (item) => {
|
|
|
const addTab = (data) => {
|
|
|
const arr = toRaw(editableTabs.value);
|
|
|
if (!arr.some((item) => item.label == data.fileName)) {
|
|
|
- editableTabs.value.push({ label: data.fileName, path: JSON.stringify(data) });
|
|
|
+ editableTabs.value.push({
|
|
|
+ label: data.fileName,
|
|
|
+ path: JSON.stringify(data),
|
|
|
+ });
|
|
|
//需要jSON去转 否则页面无变化 离谱得很
|
|
|
editableTabs.value = JSON.parse(JSON.stringify(editableTabs.value));
|
|
|
}
|
|
|
};
|
|
|
provide("addTab", addTab);
|
|
|
+// TODO 删除tab事件
|
|
|
+const closeTab = (item,index, e) => {
|
|
|
+ e.preventDefault();
|
|
|
+ e.stopPropagation();
|
|
|
+ console.log("item", item);
|
|
|
+ console.log("index", index);
|
|
|
+ console.log("e", e);
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|