|
@@ -1,7 +1,7 @@
|
|
<!--
|
|
<!--
|
|
* @Author: your name
|
|
* @Author: your name
|
|
* @Date: 2025-01-13 13:56:12
|
|
* @Date: 2025-01-13 13:56:12
|
|
- * @LastEditTime: 2025-01-15 16:16:41
|
|
|
|
|
|
+ * @LastEditTime: 2025-01-16 10:02:43
|
|
* @LastEditors: bogon
|
|
* @LastEditors: bogon
|
|
* @Description: In User Settings Edit
|
|
* @Description: In User Settings Edit
|
|
* @FilePath: /performance-test/src/views/overview/components/fault_unit/index.vue
|
|
* @FilePath: /performance-test/src/views/overview/components/fault_unit/index.vue
|
|
@@ -10,12 +10,19 @@
|
|
<div class="type-variable">
|
|
<div class="type-variable">
|
|
<!-- 机组故障统计 -->
|
|
<!-- 机组故障统计 -->
|
|
<div class="left">
|
|
<div class="left">
|
|
- <FilterChart :windList="windEngineGroupList" @getEnfineList="getEnfineList" @handlePrevious="handlePrevious"
|
|
|
|
- @handleNext="handleNext"></FilterChart>
|
|
|
|
|
|
+ <FilterChart
|
|
|
|
+ :windList="windEngineGroupList"
|
|
|
|
+ @getEnfineList="getEnfineList"
|
|
|
|
+ @handlePrevious="handlePrevious"
|
|
|
|
+ @handleNext="handleNext"
|
|
|
|
+ ></FilterChart>
|
|
<el-alert type="info" :closable="false">
|
|
<el-alert type="info" :closable="false">
|
|
<template v-slot:title>
|
|
<template v-slot:title>
|
|
<div style="display: flex; align-items: center">
|
|
<div style="display: flex; align-items: center">
|
|
- <i class="el-icon-info" style="font-size: 20px; margin-right: 5px"></i>
|
|
|
|
|
|
+ <i
|
|
|
|
+ class="el-icon-info"
|
|
|
|
+ style="font-size: 20px; margin-right: 5px"
|
|
|
|
+ ></i>
|
|
<h3>分析说明:</h3>
|
|
<h3>分析说明:</h3>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -24,18 +31,31 @@
|
|
</div>
|
|
</div>
|
|
</el-alert>
|
|
</el-alert>
|
|
<div v-if="fenFaultCsvData.length > 0">
|
|
<div v-if="fenFaultCsvData.length > 0">
|
|
- <FaultUnit :faultTypes="fenFaultCsvData &&
|
|
|
|
- fenFaultCsvData[0] &&
|
|
|
|
- fenFaultCsvData[0].data.map((item) => item.wind_turbine_name)
|
|
|
|
- " :faultCounts="fenFaultCsvData &&
|
|
|
|
|
|
+ <FaultUnit
|
|
|
|
+ :faultTypes="
|
|
|
|
+ fenFaultCsvData &&
|
|
|
|
+ fenFaultCsvData[0] &&
|
|
|
|
+ fenFaultCsvData[0].data.map((item) => item.wind_turbine_name)
|
|
|
|
+ "
|
|
|
|
+ :faultCounts="
|
|
|
|
+ fenFaultCsvData &&
|
|
fenFaultCsvData[0] &&
|
|
fenFaultCsvData[0] &&
|
|
fenFaultCsvData[0].data.map((item) => item.count)
|
|
fenFaultCsvData[0].data.map((item) => item.count)
|
|
- " :faultDurations="fenFaultCsvData &&
|
|
|
|
|
|
+ "
|
|
|
|
+ :faultDurations="
|
|
|
|
+ fenFaultCsvData &&
|
|
fenFaultCsvData[0] &&
|
|
fenFaultCsvData[0] &&
|
|
fenFaultCsvData[0].data.map((item) => item.fault_time)
|
|
fenFaultCsvData[0].data.map((item) => item.fault_time)
|
|
- " :fenFaultCsvData="fenFaultCsvData"></FaultUnit>
|
|
|
|
|
|
+ "
|
|
|
|
+ :fenFaultCsvData="fenFaultCsvData"
|
|
|
|
+ ></FaultUnit>
|
|
<template v-for="itemCsv in fenFaultCsvData">
|
|
<template v-for="itemCsv in fenFaultCsvData">
|
|
- <el-table :data="filteredFenData(itemCsv)" border style="width: 100%" align="center">
|
|
|
|
|
|
+ <el-table
|
|
|
|
+ :data="filteredFenData(itemCsv)"
|
|
|
|
+ border
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ align="center"
|
|
|
|
+ >
|
|
<el-table-column prop="wind_turbine_name" label="风机名称">
|
|
<el-table-column prop="wind_turbine_name" label="风机名称">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="count" sortable label="故障次数(次)">
|
|
<el-table-column prop="count" sortable label="故障次数(次)">
|
|
@@ -44,7 +64,11 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column align="right">
|
|
<el-table-column align="right">
|
|
<template slot="header" slot-scope="scope">
|
|
<template slot="header" slot-scope="scope">
|
|
- <el-input v-model="searchFen" size="mini" placeholder="输入风机名称关键字搜索" />
|
|
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="searchFen"
|
|
|
|
+ size="mini"
|
|
|
|
+ placeholder="输入风机名称关键字搜索"
|
|
|
|
+ />
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -53,7 +77,12 @@
|
|
<el-empty description="暂无分析记录" v-else></el-empty>
|
|
<el-empty description="暂无分析记录" v-else></el-empty>
|
|
<el-tabs value="first">
|
|
<el-tabs value="first">
|
|
<el-tab-pane label="意见描述" name="first">
|
|
<el-tab-pane label="意见描述" name="first">
|
|
- <TinymceEditor ref="editor" v-model="comment" @input="handleEditorInput($event)" @onClick="onClick">
|
|
|
|
|
|
+ <TinymceEditor
|
|
|
|
+ ref="editor"
|
|
|
|
+ v-model="comment"
|
|
|
|
+ @input="handleEditorInput($event)"
|
|
|
|
+ @onClick="onClick"
|
|
|
|
+ >
|
|
</TinymceEditor>
|
|
</TinymceEditor>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</el-tabs>
|
|
@@ -64,7 +93,11 @@
|
|
</el-row>
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
<div class="right">
|
|
<div class="right">
|
|
- <DicCard :batchCode="initBatchCode" :analysisTypeCode="'fault'" :commentDescriptionVos="commentDescriptionVos">
|
|
|
|
|
|
+ <DicCard
|
|
|
|
+ :batchCode="initBatchCode"
|
|
|
|
+ :analysisTypeCode="'fault'"
|
|
|
|
+ :commentDescriptionVos="commentDescriptionVos"
|
|
|
|
+ >
|
|
</DicCard>
|
|
</DicCard>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -105,7 +138,7 @@ export default {
|
|
form: {
|
|
form: {
|
|
value2: "",
|
|
value2: "",
|
|
},
|
|
},
|
|
- commentDescriptionVos: [],//评论列表
|
|
|
|
|
|
+ commentDescriptionVos: [], //评论列表
|
|
windEngineGroupList: [], //批次风机列表
|
|
windEngineGroupList: [], //批次风机列表
|
|
fieldEngineCodes: [], //选中风机
|
|
fieldEngineCodes: [], //选中风机
|
|
comment: "",
|
|
comment: "",
|
|
@@ -114,6 +147,7 @@ export default {
|
|
zongFaultCsvData: [],
|
|
zongFaultCsvData: [],
|
|
fenFaultCsvData: [],
|
|
fenFaultCsvData: [],
|
|
fenFaultCsvHeader: [],
|
|
fenFaultCsvHeader: [],
|
|
|
|
+ editableTabs: [],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -168,6 +202,29 @@ export default {
|
|
onSubmit() {
|
|
onSubmit() {
|
|
console.log("submit!");
|
|
console.log("submit!");
|
|
},
|
|
},
|
|
|
|
+ async handleComment() {
|
|
|
|
+ try {
|
|
|
|
+ await analysisCommentEdit({
|
|
|
|
+ batchCode: this.initBatchCode,
|
|
|
|
+ analysisTypeCode: this.analysisTypeCode,
|
|
|
|
+ commentList: this.editableTabs.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ commentTypeCode: item.commentTypeCode,
|
|
|
|
+ comment: item.commentTypeName === "分析评论" ? this.comment : "",
|
|
|
|
+ };
|
|
|
|
+ }),
|
|
|
|
+ });
|
|
|
|
+ this.$message({
|
|
|
|
+ type: "success",
|
|
|
|
+ message: "保存成功",
|
|
|
|
+ });
|
|
|
|
+ this.comment = "";
|
|
|
|
+ this.getAnalysisDetail();
|
|
|
|
+ } catch (e) {
|
|
|
|
+ console.error(e);
|
|
|
|
+ this.loading = false;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
// 封装的获取 CSV 数据方法
|
|
// 封装的获取 CSV 数据方法
|
|
fetchCsvData(analysisType, url) {
|
|
fetchCsvData(analysisType, url) {
|
|
axios
|
|
axios
|
|
@@ -228,9 +285,20 @@ export default {
|
|
? undefined
|
|
? undefined
|
|
: this.fieldEngineCodes,
|
|
: this.fieldEngineCodes,
|
|
});
|
|
});
|
|
|
|
+ if (
|
|
|
|
+ result.data &&
|
|
|
|
+ result.data[0] &&
|
|
|
|
+ result.data[0].commentTypeRelations
|
|
|
|
+ ) {
|
|
|
|
+ this.editableTabs = result.data[0].commentTypeRelations;
|
|
|
|
+ }
|
|
//当前评论展示获取
|
|
//当前评论展示获取
|
|
- if (result.data && result.data[0] && result.data[0].commentDescriptionVos) {
|
|
|
|
- this.commentDescriptionVos = result.data[0].commentDescriptionVos
|
|
|
|
|
|
+ if (
|
|
|
|
+ result.data &&
|
|
|
|
+ result.data[0] &&
|
|
|
|
+ result.data[0].commentDescriptionVos
|
|
|
|
+ ) {
|
|
|
|
+ this.commentDescriptionVos = result.data[0].commentDescriptionVos;
|
|
}
|
|
}
|
|
if (result.data && result.data[0] && result.data[0].generalFiles) {
|
|
if (result.data && result.data[0] && result.data[0].generalFiles) {
|
|
result.data[0].generalFiles.map((item) => {
|
|
result.data[0].generalFiles.map((item) => {
|
|
@@ -288,7 +356,7 @@ export default {
|
|
}
|
|
}
|
|
this.$emit("setInitBathCode", this.batchCodeList[index - 1]);
|
|
this.$emit("setInitBathCode", this.batchCodeList[index - 1]);
|
|
},
|
|
},
|
|
- onClick() { },
|
|
|
|
|
|
+ onClick() {},
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|