feat:添加table筛选项

wuyanfu
kongyeqing 2023-06-28 10:22:23 +08:00
parent 649209ff2c
commit 3fc32115e2
10 changed files with 80 additions and 20 deletions

View File

@ -22,11 +22,15 @@
</template> </template>
</el-table-column> </el-table-column>
<template v-for="item in tableColumn"> <template v-for="item in tableColumn">
<el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"
:filters="item.filters" :filter-method="item.filterMethod"
:show-overflow-tooltip="item.showTip">
<div slot-scope="scope" v-html="item.render(scope.row)" @click="showPros($event,scope.row)"> <div slot-scope="scope" v-html="item.render(scope.row)" @click="showPros($event,scope.row)">
</div> </div>
</el-table-column> </el-table-column>
<el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"
:filters="item.filters" :filter-method="item.filterMethod"
:show-overflow-tooltip="item.showTip">
</el-table-column> </el-table-column>
</template> </template>
<el-table-column label="操作" width="150"> <el-table-column label="操作" width="150">

View File

@ -432,8 +432,16 @@ export default class DeviceAnalManagerComponent extends BaseRecordComponent<any>
this.tableColumn.push({ name: '责任部门', key: "chargeDeptName" }); this.tableColumn.push({ name: '责任部门', key: "chargeDeptName" });
this.tableColumn.push({ name: '责任人', key: "chargeUserName" }); this.tableColumn.push({ name: '责任人', key: "chargeUserName" });
this.tableColumn.push({ this.tableColumn.push({
name: '风险等级', key: "riskLevel", render: (data) => { name: '风险等级', key: "riskLevel", width: "150px", render: (data) => {
return "<span class='color_" + data.riskLevel + "'>" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "</span>" return "<span class='color_" + data.riskLevel + "'>" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "</span>"
},
filters: this.$store.state.prevention_risk_level.map(item => {
return {
text: item.name,
value: item.value,
}
}), filterMethod: (data, row) => {
return row.riskLevel === data;
} }
}); });
this.tableColumn.push({ this.tableColumn.push({

View File

@ -21,11 +21,15 @@
</template> </template>
</el-table-column> </el-table-column>
<template v-for="item in tableColumn"> <template v-for="item in tableColumn">
<el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"
:show-overflow-tooltip="item.showTip" :filters="item.filters"
:filter-method="item.filterMethod">
<div slot-scope="scope" v-html="item.render(scope.row)" @click="showPros($event,scope.row)"> <div slot-scope="scope" v-html="item.render(scope.row)" @click="showPros($event,scope.row)">
</div> </div>
</el-table-column> </el-table-column>
<el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"
:show-overflow-tooltip="item.showTip" :filters="item.filters"
:filter-method="item.filterMethod">
</el-table-column> </el-table-column>
</template> </template>
<el-table-column label="操作" width="150"> <el-table-column label="操作" width="150">

View File

@ -424,8 +424,16 @@ export default class WorkAnalManagerComponent extends BaseRecordComponent<any> {
this.tableColumn.push({ name: '责任部门', key: "chargeDeptName" }); this.tableColumn.push({ name: '责任部门', key: "chargeDeptName" });
this.tableColumn.push({ name: '责任人', key: "chargeUserName" }); this.tableColumn.push({ name: '责任人', key: "chargeUserName" });
this.tableColumn.push({ this.tableColumn.push({
name: '风险等级', key: "riskLevel", render: (data) => { name: '风险等级', key: "riskLevel", width: "150px", render: (data) => {
return "<span class='color_" + data.riskLevel + "'>" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "</span>" return "<span class='color_" + data.riskLevel + "'>" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "</span>"
},
filters: this.$store.state.prevention_risk_level.map(item => {
return {
text: item.name,
value: item.value,
}
}), filterMethod: (data, row) => {
return row.riskLevel === data;
} }
}); });
this.tableColumn.push({ this.tableColumn.push({

View File

@ -22,10 +22,14 @@
</template> </template>
</el-table-column> </el-table-column>
<template v-for="item in tableColumn"> <template v-for="item in tableColumn">
<el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"
:filters="item.filters" :filter-method="item.filterMethod"
:show-overflow-tooltip="item.showTip">
<div slot-scope="scope" v-html="item.render(scope.row)"></div> <div slot-scope="scope" v-html="item.render(scope.row)"></div>
</el-table-column> </el-table-column>
<el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"
:filters="item.filters" :filter-method="item.filterMethod"
:show-overflow-tooltip="item.showTip">
</el-table-column> </el-table-column>
</template> </template>
<el-table-column label="操作" width="100"> <el-table-column label="操作" width="100">

View File

@ -334,8 +334,16 @@ export default class IdentifyManagerComponent extends BaseRecordComponent<any> {
} }
}); });
this.tableColumn.push({ this.tableColumn.push({
name: '风险等级', key: "riskLevel", render: (data) => { name: '风险等级', key: "riskLevel",width:"150px", render: (data) => {
return "<span class='color_" + data.riskLevel + "'>" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "</span>" return "<span class='color_" + data.riskLevel + "'>" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "</span>"
},
filters: this.$store.state.prevention_risk_level.map(item => {
return {
text: item.name,
value: item.value,
}
}), filterMethod: (data, row) => {
return row.riskLevel === data;
} }
}); });
this.tableColumn.push({ this.tableColumn.push({

View File

@ -22,11 +22,15 @@
</template> </template>
</el-table-column> </el-table-column>
<template v-for="item in tableColumn"> <template v-for="item in tableColumn">
<el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"
:filters="item.filters" :filter-method="item.filterMethod"
:show-overflow-tooltip="item.showTip">
<div slot-scope="scope" v-html="item.render(scope.row)" @click="showPros($event,scope.row)"> <div slot-scope="scope" v-html="item.render(scope.row)" @click="showPros($event,scope.row)">
</div> </div>
</el-table-column> </el-table-column>
<el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"
:filters="item.filters" :filter-method="item.filterMethod"
:show-overflow-tooltip="item.showTip">
</el-table-column> </el-table-column>
</template> </template>
<el-table-column label="操作" width="100"> <el-table-column label="操作" width="100">

View File

@ -112,8 +112,16 @@ export default class MeasuresManagerComponent extends BaseRecordComponent<any> {
} }
}); });
this.tableColumn.push({ this.tableColumn.push({
name: '风险等级', key: "riskLevel", width: "100px", render: (data) => { name: '风险等级', key: "riskLevel", width: "150px", render: (data) => {
return "<span class='color_" + data.riskLevel + "'>" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "</span>" return "<span class='color_" + data.riskLevel + "'>" + (data.riskLevel ? (this.$store.getters.prevention_risk_level_map[data.riskLevel]) : '') + "</span>"
},
filters: this.$store.state.prevention_risk_level.map(item => {
return {
text: item.name,
value: item.value,
}
}), filterMethod: (data, row) => {
return row.riskLevel === data;
} }
}); });
this.tableColumn.push({ this.tableColumn.push({
@ -121,7 +129,7 @@ export default class MeasuresManagerComponent extends BaseRecordComponent<any> {
return "<span class='link'>" + (data.details ? data.details.length : 0) + "</span>" return "<span class='link'>" + (data.details ? data.details.length : 0) + "</span>"
} }
}); });
this.tableColumn.push({ name: '涉及岗位', key: "postName" }); this.tableColumn.push({ name: '涉及岗位', key: "postName", width: "200px" });
// //

View File

@ -17,10 +17,14 @@
<el-table-column type="selection" label="全选" width="60"> <el-table-column type="selection" label="全选" width="60">
</el-table-column> </el-table-column>
<template v-for="item in tableColumn"> <template v-for="item in tableColumn">
<el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key"
:filters="item.filters" :filter-method="item.filterMethod"
:show-overflow-tooltip="item.showTip">
<div slot-scope="scope" v-html="item.render(scope.row)"></div> <div slot-scope="scope" v-html="item.render(scope.row)"></div>
</el-table-column> </el-table-column>
<el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"> <el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key"
:filters="item.filters" :filter-method="item.filterMethod"
:show-overflow-tooltip="item.showTip">
</el-table-column> </el-table-column>
</template> </template>
<el-table-column label="操作" width="160"> <el-table-column label="操作" width="160">

View File

@ -145,8 +145,16 @@ export default class MeasuresReportManagerComponent extends BaseRecordComponent<
} }
}); });
this.tableColumn.push({ this.tableColumn.push({
name: '风险等级', key: "itemRiskLevel", render: (data) => { name: '风险等级', key: "itemRiskLevel",width:"150px", render: (data) => {
return "<span class='color_" + data.itemRiskLevel + "'>" + (data.itemRiskLevel ? (this.$store.getters.prevention_risk_level_map[data.itemRiskLevel]) : '') + "</span>" return "<span class='color_" + data.itemRiskLevel + "'>" + (data.itemRiskLevel ? (this.$store.getters.prevention_risk_level_map[data.itemRiskLevel]) : '') + "</span>"
},
filters: this.$store.state.prevention_risk_level.map(item => {
return {
text: item.name,
value: item.value,
}
}), filterMethod: (data, row) => {
return row.riskLevel === data;
} }
}); });
this.tableColumn.push({ this.tableColumn.push({
@ -157,7 +165,7 @@ export default class MeasuresReportManagerComponent extends BaseRecordComponent<
} }
}); });
this.tableColumn.push({ this.tableColumn.push({
name: '管控措施分类', key: "measureSecondType", name: '管控措施分类',width:"200px", key: "measureSecondType",
render: (data) => { render: (data) => {
if (data.measureFirstType) { if (data.measureFirstType) {
const secondTypeItem = this.measuresSelectData[data.measureFirstType] const secondTypeItem = this.measuresSelectData[data.measureFirstType]
@ -165,11 +173,11 @@ export default class MeasuresReportManagerComponent extends BaseRecordComponent<
} }
} }
}); });
this.tableColumn.push({ name: '管控措施分类', key: "measureThirdType" }); this.tableColumn.push({ name: '管控措施分类',width:"200px", key: "measureThirdType" });
this.tableColumn.push({ name: '管控措施', key: "measureDescription" }); this.tableColumn.push({ name: '管控措施', key: "measureDescription" });
this.tableColumn.push({ this.tableColumn.push({
name: '是否包保责任人任务', key: "insuranceDutyFlag", render: (data) => { name: '是否包保责任人任务',width:"200px", key: "insuranceDutyFlag", render: (data) => {
if (data.taskItem) { if (data.taskItem) {
return '是' return '是'
} else { } else {
@ -201,7 +209,7 @@ export default class MeasuresReportManagerComponent extends BaseRecordComponent<
} }
}); });
this.tableColumn.push({ name: '隐患排查任务', key: "taskName", width: "150px" }); this.tableColumn.push({ name: '隐患排查任务', key: "taskName", width: "150px" });
this.tableColumn.push({ name: '隐患责任人', key: "taskChargeUserName" }); this.tableColumn.push({ name: '隐患责任人', key: "taskChargeUserName" ,width:"200px"});
this.tableColumn.push({ name: '岗位', key: "taskExecutePostName" }); this.tableColumn.push({ name: '岗位', key: "taskExecutePostName" });
this.tableColumn.push({ name: '排查周期', key: "taskReviewCycleValue" }); this.tableColumn.push({ name: '排查周期', key: "taskReviewCycleValue" });
this.tableColumn.push({ this.tableColumn.push({