feat: 列表自定义列
1.列表自定义表头的列 2.修复一些bug 3.将后端接口路径提取为配置文件
This commit is contained in:
@@ -94,14 +94,24 @@
|
||||
border
|
||||
>
|
||||
<el-table-column
|
||||
v-for="(item, index) in tableTitle"
|
||||
v-for="(item, index) in tablelable"
|
||||
v-if="item.show"
|
||||
min-width="110"
|
||||
:width="item.width"
|
||||
:key="`col_${index}`"
|
||||
:label="item.label"
|
||||
>
|
||||
{{item}}
|
||||
<template slot="header" slot-scope="scope">
|
||||
<span v-if="index==0">
|
||||
<span @click.stop="elementsetShow('shezhi',$event)">
|
||||
<i class="el-icon-setting"></i>
|
||||
</span>
|
||||
<span>{{item.label}}</span>
|
||||
</span>
|
||||
<div v-else>
|
||||
<span>{{item.label}}</span>
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="scope" :column="item">
|
||||
<div v-if="item.prop=='ID'">
|
||||
<span>{{scope.row.id}}</span>
|
||||
@@ -169,6 +179,12 @@
|
||||
@sendStateData="tabControl"></asset-add-unit>
|
||||
<asset-edit-unit :edit-unit-show='editUnitShow' @refreshData="flushData" @sendStateData="tabControl"
|
||||
ref="assetEditUnit"></asset-edit-unit>
|
||||
<element-set
|
||||
v-clickoutside="elementsetHide"
|
||||
:dropCol="dropCol"
|
||||
@tablelable="tablelabelEmit"
|
||||
ref="elementset"
|
||||
></element-set>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -201,6 +217,8 @@
|
||||
},
|
||||
searchLabel: {}, //搜索参数
|
||||
checkList: [],
|
||||
tablelable: [],
|
||||
dropCol: [],
|
||||
tableTitle: [
|
||||
{
|
||||
label: this.$t("asset.tableTitle.id"),
|
||||
@@ -355,6 +373,36 @@
|
||||
|
||||
},
|
||||
methods: {
|
||||
elementsetShow(s, e) {
|
||||
var eventfixed = {
|
||||
shezhi: 0,
|
||||
screen: 0
|
||||
};
|
||||
eventfixed[s] = 1;
|
||||
e.preventDefault();
|
||||
this.$store.commit('setHeaderTable', this.tablelable);
|
||||
this.$store.commit('setEventfixed', eventfixed);
|
||||
const h = document.documentElement.clientHeight;
|
||||
const w = document.documentElement.clientWidth;
|
||||
const dw = this.$refs.elementset.$el.offsetWidth;
|
||||
const dh = this.$refs.elementset.$el.offsetHeight;
|
||||
let positionx =
|
||||
e.clientX + dw <= w - 10 ? e.clientX - 250 : e.clientX - 250 - dw;
|
||||
let positiony =
|
||||
e.clientY + dh <= h - 10
|
||||
? e.clientY - 70
|
||||
: e.clientY - 70 - (e.clientY + dh - h);
|
||||
this.$store.commit('setPosition', { positionx, positiony });
|
||||
},
|
||||
elementsetHide() {
|
||||
//悬浮点击空白隐藏
|
||||
this.$refs.elementset.elementsetHide();
|
||||
},
|
||||
tablelabelEmit(data) {
|
||||
//获取子组件传过来的参数
|
||||
this.$store.commit('setHeaderTable', data);
|
||||
this.tablelable = data;
|
||||
},
|
||||
ssss(id, sn) {
|
||||
let routeData = this.$router.resolve({
|
||||
name: "terminal",
|
||||
@@ -559,9 +607,12 @@
|
||||
this.getUserData();
|
||||
this.getAssetData();
|
||||
this.getIDCOptionData();
|
||||
window.onresize = () => {
|
||||
this.tableHeight = document.documentElement.clientHeight - 200;
|
||||
}
|
||||
this.tablelable = localStorage.getItem("nz-tableTitle-" + localStorage.getItem("nz-username") + "-" + this.$route.path)
|
||||
? JSON.parse(localStorage.getItem("nz-tableTitle-" + localStorage.getItem("nz-username") + "-" + this.$route.path))
|
||||
: this.tableTitle;
|
||||
this.dropCol = localStorage.getItem("nz-tableTitle-" + localStorage.getItem("nz-username") + "-" + this.$route.path)
|
||||
? JSON.parse(localStorage.getItem("nz-tableTitle-" + localStorage.getItem("nz-username") + "-" + this.$route.path))
|
||||
: this.tableTitle;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user