| | |
| | | <template> |
| | | <div class="preview-page"> |
| | | <fks-row :gutter="20" style="width:100%;height:100%;"> |
| | | <fks-col :span="4" style="height:100%"> |
| | | <div class="model-binding-left-box"> |
| | | <titleBox title="泵站列表"></titleBox> |
| | | <fks-tree |
| | | ref="tree" |
| | | :data="treeData" |
| | | :props="defaultProps" |
| | | :show-icon="true" |
| | | default-expand-all |
| | | node-key="id" |
| | | current-node-key="1" |
| | | :highlight-current="true" |
| | | <fks-row :gutter="20" style="width: 100%; height: 100%"> |
| | | <fks-col :span="4" style="height: 100%"> |
| | | <div class="model-binding-left-box"> |
| | | <titleBox title="泵站列表"></titleBox> |
| | | <fks-tree |
| | | ref="tree" |
| | | :data="treeData" |
| | | :props="defaultProps" |
| | | :show-icon="true" |
| | | default-expand-all |
| | | node-key="id" |
| | | current-node-key="1" |
| | | :highlight-current="true" |
| | | > |
| | | </fks-tree> |
| | | </div> |
| | | </fks-col> |
| | | <fks-col :span="20" style="height: 100%"> |
| | | <div class="model-binding-right-box"> |
| | | <titleBox title="金刚沱泵站"></titleBox> |
| | | <div style="width: 100%; height: calc(100% - 40px)"> |
| | | <div class="bimface-model"> |
| | | <div |
| | | style="width: 100%; height: 100%" |
| | | id="bimContainer" |
| | | ref="bfContainer" |
| | | ></div> |
| | | </div> |
| | | <div class="bottom-tabs-div"> |
| | | <fks-tabs type="border-card"> |
| | | <fks-tab-pane label="健康评价"> |
| | | <div class="time-pick-div"> |
| | | <label>开始时间:</label> |
| | | <fks-date-picker |
| | | v-model="date1" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | > |
| | | </fks-tree> |
| | | </fks-date-picker> |
| | | <fks-button type="primary" style="margin-left: 10px" |
| | | >加载</fks-button |
| | | > |
| | | </div> |
| | | <div id="healthRate" class="health-rate-chart"></div> |
| | | </fks-tab-pane> |
| | | <fks-tab-pane label="故障诊断"> |
| | | <div class="time-pick-div"> |
| | | <label>开始时间:</label> |
| | | <fks-date-picker |
| | | v-model="date2" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | > |
| | | </fks-date-picker> |
| | | <fks-button |
| | | type="primary" |
| | | icon="fks-icon-search" |
| | | style="margin-left: 10px" |
| | | >搜索</fks-button |
| | | > |
| | | </div> |
| | | <div class="table-box-div"> |
| | | <fks-table |
| | | border |
| | | :data="brokenTableData" |
| | | style="width: 100%; margin-top: 15px" |
| | | > |
| | | <fks-table-column prop="name" label="名称" width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="broken" label="故障" width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="version" label="故障树版本"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="diagnosticModel" label="诊断模型"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="diagnoser" label="诊断人"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="desc" label="说明"> |
| | | </fks-table-column> |
| | | <fks-table-column label="操作"> |
| | | <template slot-scope="scope"> |
| | | <fks-button |
| | | type="text" |
| | | size="mini" |
| | | @click=" |
| | | handleDetailByBroken(scope.$index, scope.row) |
| | | " |
| | | >详细</fks-button |
| | | > |
| | | </template> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | </fks-tab-pane> |
| | | <fks-tab-pane label="时序趋势分析"> |
| | | <div class="time-pick-div"> |
| | | <label>开始时间:</label> |
| | | <fks-date-picker |
| | | v-model="date3" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | > |
| | | </fks-date-picker> |
| | | <fks-button |
| | | type="primary" |
| | | icon="fks-icon-search" |
| | | style="margin-left: 10px" |
| | | >搜索</fks-button |
| | | > |
| | | </div> |
| | | <div class="table-box-div"> |
| | | <fks-table |
| | | border |
| | | :data="sequentialTableData" |
| | | style="width: 100%; margin-top: 15px" |
| | | > |
| | | <fks-table-column prop="point" label="测点" width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="signal" label="信号" width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="model" label="预警模型"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="startDate" label="发生时间"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="endDate" label="记录时间"> |
| | | </fks-table-column> |
| | | <fks-table-column label="操作"> |
| | | <template slot-scope="scope"> |
| | | <fks-button |
| | | type="text" |
| | | size="mini" |
| | | @click=" |
| | | handleDetailBySequential(scope.$index, scope.row) |
| | | " |
| | | >详细</fks-button |
| | | > |
| | | </template> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | </fks-tab-pane> |
| | | <fks-tab-pane label="专家趋势分析"> |
| | | <div class="time-pick-div"> |
| | | <label>开始时间:</label> |
| | | <fks-date-picker |
| | | v-model="date4" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | > |
| | | </fks-date-picker> |
| | | <fks-button |
| | | type="primary" |
| | | icon="fks-icon-search" |
| | | style="margin-left: 10px" |
| | | >搜索</fks-button |
| | | > |
| | | </div> |
| | | <div class="table-box-div"> |
| | | <fks-table |
| | | border |
| | | :data="expertTrendsTableData" |
| | | style="width: 100%; margin-top: 15px" |
| | | > |
| | | <fks-table-column prop="point" label="测点"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="signal" label="信号"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="model" label="预警模型"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="value" label="阀值"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="userName" label="分析人"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="startDate" label="发生时间"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="endDate" label="记录时间"> |
| | | </fks-table-column> |
| | | <!-- <fks-table-column prop="note" label="说明"> </fks-table-column> --> |
| | | <fks-table-column label="操作"> |
| | | <template slot-scope="scope"> |
| | | <fks-button |
| | | type="text" |
| | | size="mini" |
| | | @click=" |
| | | handleDetailByExpertTrends( |
| | | scope.$index, |
| | | scope.row |
| | | ) |
| | | " |
| | | >详细</fks-button |
| | | > |
| | | </template> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | </fks-tab-pane> |
| | | </fks-tabs> |
| | | </div> |
| | | </fks-col> |
| | | <fks-col :span="20" style="height:100%;"> |
| | | <div class="model-binding-right-box"> |
| | | <titleBox title="金刚沱泵站"></titleBox> |
| | | <div style="width:100%;height: calc(100% - 40px);"> |
| | | <div class="bimface-model"> |
| | | <img src="@/assets/images/BIM.jpg"> |
| | | </div> |
| | | <div class="bottom-tabs-div"> |
| | | <fks-tabs type="border-card"> |
| | | <fks-tab-pane label="健康评价"> |
| | | <div class="time-pick-div"> |
| | | <label>开始时间:</label> |
| | | <fks-date-picker |
| | | v-model="date1" |
| | | type="date" |
| | | placeholder="选择日期"> |
| | | </fks-date-picker> |
| | | <fks-button type="primary" style="margin-left:10px;">加载</fks-button> |
| | | </div> |
| | | <div id="healthRate" class="health-rate-chart"></div> |
| | | </fks-tab-pane> |
| | | <fks-tab-pane label="故障诊断"> |
| | | <div class="time-pick-div"> |
| | | <label>开始时间:</label> |
| | | <fks-date-picker |
| | | v-model="date2" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </fks-date-picker> |
| | | <fks-button type="primary" style="margin-left:10px;">搜索</fks-button> |
| | | </div> |
| | | <div class="table-box-div"> |
| | | <fks-table |
| | | border |
| | | :data="brokenTableData" |
| | | style="width: 100%;margin-top:15px;"> |
| | | <fks-table-column |
| | | prop="name" |
| | | label="名称" |
| | | width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="broken" |
| | | label="故障" |
| | | width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="version" |
| | | label="故障树版本"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="diagnosticModel" |
| | | label="诊断模型"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="diagnoser" |
| | | label="诊断人"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="desc" |
| | | label="说明"> |
| | | </fks-table-column> |
| | | <fks-table-column label="操作"> |
| | | <template slot-scope="scope"> |
| | | <fks-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleDetailByBroken(scope.$index, scope.row)">详细</fks-button> |
| | | </template> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | </fks-tab-pane> |
| | | <fks-tab-pane label="时序趋势分析"> |
| | | <div class="time-pick-div"> |
| | | <label>开始时间:</label> |
| | | <fks-date-picker |
| | | v-model="date3" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </fks-date-picker> |
| | | <fks-button type="primary" style="margin-left:10px;">搜索</fks-button> |
| | | </div> |
| | | <div class="table-box-div"> |
| | | <fks-table |
| | | border |
| | | :data="sequentialTableData" |
| | | style="width: 100%;margin-top:15px;"> |
| | | <fks-table-column |
| | | prop="point" |
| | | label="测点" |
| | | width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="signal" |
| | | label="信号" |
| | | width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="earlyWarnModel" |
| | | label="预警时间"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="occurrenceTime" |
| | | label="发生时间"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="recordTime" |
| | | label="记录时间"> |
| | | </fks-table-column> |
| | | <fks-table-column label="操作"> |
| | | <template slot-scope="scope"> |
| | | <fks-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleDetailBySequential(scope.$index, scope.row)">详细</fks-button> |
| | | </template> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | </fks-tab-pane> |
| | | <fks-tab-pane label="专家趋势分析"> |
| | | <div class="time-pick-div"> |
| | | <label>开始时间:</label> |
| | | <fks-date-picker |
| | | v-model="date4" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | </fks-date-picker> |
| | | <fks-button type="primary" style="margin-left:10px;">搜索</fks-button> |
| | | </div> |
| | | <div class="table-box-div"> |
| | | <fks-table |
| | | border |
| | | :data="expertTrendsTableData" |
| | | style="width: 100%;margin-top:15px;"> |
| | | <fks-table-column |
| | | prop="point" |
| | | label="测点" |
| | | width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="signal" |
| | | label="信号" |
| | | width="180"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="analysisMethod" |
| | | label="分析方法"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="direction" |
| | | label="方向"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="threshold" |
| | | label="阀值"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="analyst" |
| | | label="分析人"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="occurrenceTime" |
| | | label="发生时间"> |
| | | </fks-table-column> |
| | | <fks-table-column |
| | | prop="recordTime" |
| | | label="记录时间"> |
| | | </fks-table-column> |
| | | <fks-table-column label="操作"> |
| | | <template slot-scope="scope"> |
| | | <fks-button |
| | | type="primary" |
| | | size="mini" |
| | | @click="handleDetailByExpertTrends(scope.$index, scope.row)">详细</fks-button> |
| | | </template> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | </fks-tab-pane> |
| | | </fks-tabs> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </fks-col> |
| | | </div> |
| | | </div> |
| | | </fks-col> |
| | | </fks-row> |
| | | <!-- 故障诊断报告详情 --> |
| | | <fks-dialog |
| | | title="测试01" |
| | | :visible.sync="brokenDownDialog" |
| | | > |
| | | title="测试01" |
| | | width="80%" |
| | | :visible.sync="detailFaultReportVisible" |
| | | class="reportDialog" |
| | | > |
| | | <div style="width: 100%; height: 100%"> |
| | | <div class="baogaotopbox"> |
| | | <div class="baogaotopboxleft"> |
| | | <titleBoxVue title="故障诊断报告概况"> </titleBoxVue> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <fks-button @click="brokenDownDialog = false">取 消</fks-button> |
| | | <fks-button type="primary" @click="brokenDownDialog = false">确 定</fks-button> |
| | | <fks-form |
| | | style="width: 100%; height: calc(100% - 40px)" |
| | | :model="FaultReportForm" |
| | | label-width="80px" |
| | | > |
| | | <fks-form-item label="名称"> |
| | | <fks-input |
| | | v-model="FaultReportForm.name" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | |
| | | <fks-row :gutter="10"> |
| | | <fks-col :span="12"> |
| | | <fks-form-item label="泵站"> |
| | | <fks-input |
| | | v-model="FaultReportForm.station" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="12"> |
| | | <fks-form-item label="设备"> |
| | | <fks-input |
| | | v-model="FaultReportForm.product" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-row :gutter="10"> |
| | | <fks-col :span="12"> |
| | | <fks-form-item label="故障"> |
| | | <fks-input |
| | | v-model="FaultReportForm.fault" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="12"> |
| | | <fks-form-item label="诊断模型"> |
| | | <fks-input |
| | | v-model="FaultReportForm.model" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-row :gutter="10"> |
| | | <fks-col :span="12"> |
| | | <fks-form-item label="诊断人"> |
| | | <fks-input |
| | | v-model="FaultReportForm.username" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="12"> |
| | | <fks-form-item label="诊断事件"> |
| | | <fks-input |
| | | v-model="FaultReportForm.date" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-form-item label="说明"> |
| | | <fks-input |
| | | type="textarea" |
| | | :rows="3" |
| | | autocomplete="off" |
| | | v-model="FaultReportForm.note" |
| | | > |
| | | </fks-input> |
| | | </fks-form-item> |
| | | </fks-form> |
| | | </div> |
| | | <div class="baogaotopboxright"> |
| | | <titleBoxVue title="故障诊断结果"> </titleBoxVue> |
| | | <fks-table |
| | | stripe |
| | | ref="table" |
| | | :data.sync="tableData5" |
| | | style="width: 100%; height: calc(100% - 40px)" |
| | | row-key="id" |
| | | > |
| | | <fks-table-column prop="name" label="最小割集"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="zhibiao" label="发生原因"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="fangfa" label="处理建议"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="gailv" label="发生概率"> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | </div> |
| | | <div class="baogaobottombox"> |
| | | <div class="baogaobottomboxleft"> |
| | | <titleBoxVue title="故障树底部重要事件"> </titleBoxVue> |
| | | <fks-table |
| | | stripe |
| | | ref="table" |
| | | :data.sync="tableData6" |
| | | style="width: 100%; height: calc(100% - 40px)" |
| | | row-key="id" |
| | | > |
| | | <fks-table-column prop="name" label="底事件"> </fks-table-column> |
| | | <fks-table-column prop="gailv" label="发生概率"> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | <div class="baogaobottomboxright"> |
| | | <titleBoxVue title="诊断项"> </titleBoxVue> |
| | | <fks-table |
| | | stripe |
| | | ref="table" |
| | | :data.sync="tableData4" |
| | | style="width: 100%; height: calc(100% - 40px)" |
| | | row-key="id" |
| | | > |
| | | <fks-table-column prop="name" label="故障事件" width="120"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="zhibiao" label="指标" width="100"> |
| | | </fks-table-column> |
| | | |
| | | <fks-table-column prop="fangfa" label="计算方法" width="120"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="canshu" label="判断参数" width="320"> |
| | | </fks-table-column> |
| | | <fks-table-column prop="note" label="说明"> </fks-table-column> |
| | | <fks-table-column prop="gailv" label="发生概率" width="100"> |
| | | </fks-table-column> |
| | | </fks-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </fks-dialog> |
| | | <!-- 故障诊断报告详情 --> |
| | | <fks-dialog |
| | | title="时序趋势预警记录详细" |
| | | :visible.sync="sequentialDialog" |
| | | > |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <fks-button @click="sequentialDialog = false">取 消</fks-button> |
| | | <fks-button type="primary" @click="sequentialDialog = false">确 定</fks-button> |
| | | <!-- 时序趋势预警记录详细 --> |
| | | <fks-dialog |
| | | title="时序趋势预警记录详细" |
| | | width="80%" |
| | | top="100px" |
| | | :visible.sync="editTrendFunVisible" |
| | | class="reportDialog" |
| | | > |
| | | <div> |
| | | <titleBoxVue style="background-color: #fff" title="概况"> </titleBoxVue> |
| | | <fks-form |
| | | style=" |
| | | width: 100%; |
| | | height: calc(100% - 50px); |
| | | margin: 10px 0 0 0; |
| | | background-color: #fff; |
| | | padding-top: 10px; |
| | | " |
| | | :model="editTrendFunFrom" |
| | | label-width="80px" |
| | | > |
| | | <fks-row :gutter="20"> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="泵站"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.name" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="设备"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.product" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="测点"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.point" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-row :gutter="20"> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="指标"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.signal" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="分析方法"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.model" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="方向"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.fangxiang" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-row :gutter="20"> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="阀值"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.value" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="分析时间"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.time" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="记录时间"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.endDate" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-row :gutter="20"> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="预测时间"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom.startDate" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | |
| | | <fks-form-item label="说明"> |
| | | <fks-input |
| | | type="textarea" |
| | | :rows="2" |
| | | autocomplete="off" |
| | | v-model="editTrendFunFrom.note" |
| | | > |
| | | </fks-input> |
| | | </fks-form-item> |
| | | </fks-form> |
| | | </div> |
| | | |
| | | <div class="dialogBottom"> |
| | | <div class="dialogBottomLeft"> |
| | | <titleBoxVue style="background-color: #fff" title="历史数据图"> |
| | | </titleBoxVue> |
| | | <div |
| | | id="chartLeftRecordPreview" |
| | | style="height: calc(100% - 40px)" |
| | | ></div> |
| | | </div> |
| | | <div class="dialogBottomRight"> |
| | | <titleBoxVue style="background-color: #fff" title="趋势预警图"> |
| | | </titleBoxVue> |
| | | <div |
| | | id="chartRightRecordPreview" |
| | | style="height: calc(100% - 40px)" |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | </fks-dialog> |
| | | <!-- 故障诊断报告详情 --> |
| | | <fks-dialog |
| | | title="专家趋势分析预警记录详细" |
| | | :visible.sync="expertTrendsDialog" |
| | | > |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <fks-button @click="expertTrendsDialog = false">取 消</fks-button> |
| | | <fks-button type="primary" @click="expertTrendsDialog = false">确 定</fks-button> |
| | | <!-- 专家趋势预警记录详细--> |
| | | <fks-dialog |
| | | title="专家趋势预警记录详细" |
| | | width="80%" |
| | | top="100px" |
| | | :visible.sync="editTrendFunVisible2" |
| | | class="reportDialog" |
| | | > |
| | | <div> |
| | | <titleBoxVue style="background-color: #fff" title="概况"> </titleBoxVue> |
| | | <fks-form |
| | | style=" |
| | | width: 100%; |
| | | height: calc(100% - 50px); |
| | | margin: 10px 0 0 0; |
| | | background-color: #fff; |
| | | padding-top: 10px; |
| | | " |
| | | :model="editTrendFunFrom2" |
| | | label-width="80px" |
| | | > |
| | | <fks-row :gutter="20"> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="泵站"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.name" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="设备"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.product" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="测点"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.point" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-row :gutter="20"> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="指标"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.signal" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="分析方法"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.model" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="方向"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.fangxiang" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-row :gutter="20"> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="阀值"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.value" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="分析人"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.userName" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="记录时间"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.endDate" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | <fks-row :gutter="20"> |
| | | <fks-col :span="8"> |
| | | <fks-form-item label="预测时间"> |
| | | <fks-input |
| | | v-model="editTrendFunFrom2.startDate" |
| | | autocomplete="off" |
| | | ></fks-input> |
| | | </fks-form-item> |
| | | </fks-col> |
| | | </fks-row> |
| | | |
| | | <fks-form-item label="说明"> |
| | | <fks-input |
| | | type="textarea" |
| | | :rows="2" |
| | | autocomplete="off" |
| | | v-model="editTrendFunFrom2.note" |
| | | > |
| | | </fks-input> |
| | | </fks-form-item> |
| | | </fks-form> |
| | | </div> |
| | | |
| | | <div class="dialogBottom"> |
| | | <div class="dialogBottomLeft"> |
| | | <titleBoxVue style="background-color: #fff" title="历史数据图"> |
| | | </titleBoxVue> |
| | | <div |
| | | id="chartLeftRecordPreview2" |
| | | style="height: calc(100% - 40px)" |
| | | ></div> |
| | | </div> |
| | | <div class="dialogBottomRight"> |
| | | <titleBoxVue style="background-color: #fff" title="趋势预警图"> |
| | | </titleBoxVue> |
| | | <div |
| | | id="chartRightRecordPreview2" |
| | | style="height: calc(100% - 40px)" |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | </fks-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import * as echarts from 'echarts'; |
| | | import titleBox from "@/views/main/components/titleBox.vue" |
| | | import * as echarts from "echarts"; |
| | | import titleBox from "@/views/main/components/titleBox.vue"; |
| | | import titleBoxVue from "@/views/main/components/titleBox.vue"; |
| | | import testData from "@/testData/testData"; |
| | | import bfHelper from "@/utils/istation/bfHelper"; |
| | | import { getBimAccessToken } from "@/api/bim"; |
| | | |
| | | const bfHelperPump = new bfHelper(); |
| | | let healthRateObj = { |
| | | chartDom: "", |
| | | myChart: "", |
| | | option: "" |
| | | } |
| | | chartDom: "", |
| | | myChart: "", |
| | | option: "", |
| | | }; |
| | | |
| | | let m_chartQH; |
| | | let m_chartMain; |
| | | let m_chartQH2; |
| | | let m_chartMain2; |
| | | export default { |
| | | components:{titleBox}, |
| | | data(){ |
| | | return { |
| | | date1:"", |
| | | date2:"", |
| | | date3:"", |
| | | date4:"", |
| | | brokenDownDialog:false, |
| | | sequentialDialog:false, |
| | | expertTrendsDialog:false, |
| | | treeData:[ |
| | | { |
| | | label: "金刚沱泵站", |
| | | id:'1', |
| | | }, |
| | | { |
| | | label: "嘉陵江草街泵站", |
| | | id:'2', |
| | | }, |
| | | { |
| | | label: "江律德感加压泵站", |
| | | id:'3', |
| | | }, |
| | | { |
| | | label: "永川临江加压站", |
| | | id:'4', |
| | | }, |
| | | ], |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "label", |
| | | }, |
| | | healthRateChartData:[ |
| | | { |
| | | DataTime: "2023-01-05 23:54:52", |
| | | DataValue: "10", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-04 22:30:52", |
| | | DataValue: "11", |
| | | },{ |
| | | DataTime: "2023-01-02 21:50:52", |
| | | DataValue: "13", |
| | | },{ |
| | | DataTime: "2023-01-01 20:44:52", |
| | | DataValue: "12", |
| | | },{ |
| | | DataTime: "2023-01-02 19:44:52", |
| | | DataValue: "14", |
| | | },{ |
| | | DataTime: "2023-01-01 09:04:52", |
| | | DataValue: "16", |
| | | },{ |
| | | DataTime: "2023-01-02 07:04:52", |
| | | DataValue: "18", |
| | | },{ |
| | | DataTime: "2023-01-03 06:51:52", |
| | | DataValue: "20", |
| | | },{ |
| | | DataTime: "2023-01-04 10:14:52", |
| | | DataValue: "21", |
| | | },{ |
| | | DataTime: "2023-01-05 20:33:52", |
| | | DataValue: "24", |
| | | },{ |
| | | DataTime: "2023-01-05 23:15:52", |
| | | DataValue: "22", |
| | | },{ |
| | | DataTime: "2023-01-05 23:54:52", |
| | | DataValue: "22", |
| | | },{ |
| | | DataTime: "2023-01-05 03:12:52", |
| | | DataValue: "23", |
| | | },{ |
| | | DataTime: "2023-01-05 09:21:52", |
| | | DataValue: "21", |
| | | },{ |
| | | DataTime: "2023-01-05 20:48:52", |
| | | DataValue: "15", |
| | | },{ |
| | | DataTime: "2023-01-05 19:54:52", |
| | | DataValue: "16", |
| | | },{ |
| | | DataTime: "2023-01-05 19:36:52", |
| | | DataValue: "18", |
| | | },{ |
| | | DataTime: "2023-01-05 19:22:52", |
| | | DataValue: "15", |
| | | }, |
| | | ], |
| | | brokenTableData:[ |
| | | { |
| | | name:"测试01", |
| | | broken:"水泵无法启动", |
| | | version:"版本01", |
| | | diagnosticModel:"模型01", |
| | | diagnoser:"管理员", |
| | | desc:"" |
| | | }, |
| | | { |
| | | name:"测试02", |
| | | broken:"水泵出口压力过低", |
| | | version:"版本01", |
| | | diagnosticModel:"模型01", |
| | | diagnoser:"管理员", |
| | | desc:"" |
| | | }, |
| | | { |
| | | name:"测试03", |
| | | broken:"水泵不吸水", |
| | | version:"版本01", |
| | | diagnosticModel:"模型01", |
| | | diagnoser:"管理员", |
| | | desc:"" |
| | | }, |
| | | ], |
| | | sequentialTableData:[ |
| | | { |
| | | point:"驱动端X方向振动", |
| | | signal:"有效值", |
| | | earlyWarnModel:"一阶平滑分析", |
| | | occurrenceTime:"2023-1-11", |
| | | recordTime:"2023-1-1", |
| | | }, |
| | | { |
| | | point:"驱动端X方向振动", |
| | | signal:"峭度", |
| | | earlyWarnModel:"阻尼趋势预测分析", |
| | | occurrenceTime:"2023-1-11", |
| | | recordTime:"2023-1-1", |
| | | }, |
| | | { |
| | | point:"驱动端X方向振动", |
| | | signal:"歪度", |
| | | earlyWarnModel:"二阶平滑分析", |
| | | occurrenceTime:"2023-1-11", |
| | | recordTime:"2023-1-1", |
| | | }, |
| | | ], |
| | | expertTrendsTableData:[ |
| | | { |
| | | point:"驱动端X方向振动", |
| | | signal:"有效值", |
| | | analysisMethod:"一阶平滑分析", |
| | | direction:"正向", |
| | | threshold:"0.6", |
| | | analyst:"专家", |
| | | occurrenceTime:"2023-1-11", |
| | | recordTime:"2023-1-1", |
| | | }, |
| | | { |
| | | point:"驱动端X方向振动", |
| | | signal:"峭度", |
| | | analysisMethod:"阻尼趋势预测分析", |
| | | direction:"正向", |
| | | threshold:"0.6", |
| | | analyst:"专家", |
| | | occurrenceTime:"2023-1-11", |
| | | recordTime:"2023-1-1", |
| | | }, |
| | | { |
| | | point:"驱动端X方向振动", |
| | | signal:"歪度", |
| | | analysisMethod:"自定义", |
| | | direction:"正向", |
| | | threshold:"0.6", |
| | | analyst:"专家", |
| | | occurrenceTime:"2023-1-11", |
| | | recordTime:"2023-1-1", |
| | | }, |
| | | ] |
| | | components: { titleBox, titleBoxVue }, |
| | | data() { |
| | | return { |
| | | date1: "", |
| | | date2: "", |
| | | date3: "", |
| | | date4: "", |
| | | detailFaultReportVisible: false, |
| | | sequentialDialog: false, |
| | | expertTrendsDialog: false, |
| | | treeData: [ |
| | | { |
| | | label: "金刚沱泵站", |
| | | id: "1", |
| | | }, |
| | | { |
| | | label: "嘉陵江草街泵站", |
| | | id: "2", |
| | | }, |
| | | { |
| | | label: "江律德感加压泵站", |
| | | id: "3", |
| | | }, |
| | | { |
| | | label: "永川临江加压站", |
| | | id: "4", |
| | | }, |
| | | ], |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "label", |
| | | }, |
| | | healthRateChartData: [ |
| | | { |
| | | DataTime: "2023-01-05 23:54:52", |
| | | DataValue: "10", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-04 22:30:52", |
| | | DataValue: "11", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-02 21:50:52", |
| | | DataValue: "13", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-01 20:44:52", |
| | | DataValue: "12", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-02 19:44:52", |
| | | DataValue: "14", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-01 09:04:52", |
| | | DataValue: "16", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-02 07:04:52", |
| | | DataValue: "18", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-03 06:51:52", |
| | | DataValue: "20", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-04 10:14:52", |
| | | DataValue: "21", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 20:33:52", |
| | | DataValue: "24", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 23:15:52", |
| | | DataValue: "22", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 23:54:52", |
| | | DataValue: "22", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 03:12:52", |
| | | DataValue: "23", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 09:21:52", |
| | | DataValue: "21", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 20:48:52", |
| | | DataValue: "15", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 19:54:52", |
| | | DataValue: "16", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 19:36:52", |
| | | DataValue: "18", |
| | | }, |
| | | { |
| | | DataTime: "2023-01-05 19:22:52", |
| | | DataValue: "15", |
| | | }, |
| | | ], |
| | | brokenTableData: [ |
| | | { |
| | | name: "测试01", |
| | | broken: "水泵无法启动", |
| | | version: "版本01", |
| | | diagnosticModel: "模型01", |
| | | diagnoser: "管理员", |
| | | desc: "", |
| | | }, |
| | | { |
| | | name: "测试02", |
| | | broken: "水泵出口压力过低", |
| | | version: "版本01", |
| | | diagnosticModel: "模型01", |
| | | diagnoser: "管理员", |
| | | desc: "", |
| | | }, |
| | | { |
| | | name: "测试03", |
| | | broken: "水泵不吸水", |
| | | version: "版本01", |
| | | diagnosticModel: "模型01", |
| | | diagnoser: "管理员", |
| | | desc: "", |
| | | }, |
| | | ], |
| | | sequentialTableData: [ |
| | | { |
| | | id: 1, |
| | | name: "金刚沱泵站", |
| | | product: "1#泵", |
| | | point: "驱动端X方向振动", |
| | | signal: "有效值", |
| | | model: "一阶平滑分析", |
| | | startDate: "2023-1-11", |
| | | endDate: "2023-1-11", |
| | | value: "0.6", |
| | | time: "30天", |
| | | fangxiang: "正向", |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: "金刚沱泵站", |
| | | product: "1#泵", |
| | | point: "驱动端X方向振动", |
| | | signal: "峭度", |
| | | model: "阻尼趋势预测分析", |
| | | startDate: "2023-1-11", |
| | | endDate: "2023-1-11", |
| | | value: "0.6", |
| | | time: "30天", |
| | | fangxiang: "正向", |
| | | }, |
| | | { |
| | | id: 3, |
| | | name: "金刚沱泵站", |
| | | product: "1#泵", |
| | | point: "驱动端X方向振动", |
| | | signal: "歪度", |
| | | model: "二阶平滑分析", |
| | | startDate: "2023-1-11", |
| | | endDate: "2023-1-11", |
| | | value: "0.6", |
| | | time: "30天", |
| | | fangxiang: "正向", |
| | | }, |
| | | ], |
| | | expertTrendsTableData: [ |
| | | { |
| | | id: 1, |
| | | name: "金刚沱泵站", |
| | | product: "1#泵", |
| | | point: "驱动端X方向振动", |
| | | signal: "有效值", |
| | | model: "一阶平滑分析", |
| | | startDate: "2023-1-11", |
| | | endDate: "2023-1-11", |
| | | value: "0.6", |
| | | time: "30天", |
| | | fangxiang: "正向", |
| | | userName: "专家", |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: "金刚沱泵站", |
| | | product: "1#泵", |
| | | point: "驱动端X方向振动", |
| | | signal: "峭度", |
| | | model: "阻尼趋势预测分析", |
| | | startDate: "2023-1-11", |
| | | endDate: "2023-1-11", |
| | | value: "0.6", |
| | | time: "30天", |
| | | fangxiang: "正向", |
| | | userName: "专家", |
| | | }, |
| | | { |
| | | id: 3, |
| | | name: "金刚沱泵站", |
| | | product: "1#泵", |
| | | point: "驱动端X方向振动", |
| | | signal: "歪度", |
| | | model: "二阶平滑分析", |
| | | startDate: "2023-1-11", |
| | | endDate: "2023-1-11", |
| | | value: "0.6", |
| | | time: "30天", |
| | | fangxiang: "正向", |
| | | userName: "专家", |
| | | }, |
| | | ], |
| | | editTrendFunVisible: false, |
| | | editTrendFunVisible2: false, |
| | | editTrendFunFrom: { |
| | | name: "", |
| | | product: "", |
| | | point: "", |
| | | signal: "", |
| | | model: "", |
| | | startDate: "", |
| | | endDate: "", |
| | | value: "", |
| | | time: "", |
| | | fangxiang: "", |
| | | note: "", |
| | | }, |
| | | editTrendFunFrom2: { |
| | | name: "", |
| | | product: "", |
| | | point: "", |
| | | signal: "", |
| | | model: "", |
| | | startDate: "", |
| | | endDate: "", |
| | | value: "", |
| | | time: "", |
| | | fangxiang: "", |
| | | userName: "", |
| | | note: "", |
| | | }, |
| | | FaultReportForm: { |
| | | name: "测试01", |
| | | station: "测试01", |
| | | product: "1#泵", |
| | | fault: "水泵无法启动", |
| | | model: "模型01", |
| | | username: "管理员", |
| | | date: "2023-1-1", |
| | | note: "", |
| | | }, |
| | | tableData4: [ |
| | | { |
| | | name: "弹簧力不足", |
| | | zhibiao: "压力", |
| | | fangfa: "自动", |
| | | canshu: "1.<0.2MPa=0.3;2.<0.1=0.7", |
| | | gailv: 0.3, |
| | | note: "", |
| | | }, |
| | | { |
| | | name: "接触面有异物", |
| | | zhibiao: "表面光滑度", |
| | | fangfa: "人工", |
| | | canshu: "1.有较少杂物=0.1;2.有较多杂物=0.5", |
| | | gailv: 0.6, |
| | | note: "", |
| | | }, |
| | | ], |
| | | tableData5: [ |
| | | { |
| | | name: "弹簧压力、表面光滑度", |
| | | zhibiao: "压力不足,有异物", |
| | | fangfa: "更换弹簧,清理异常", |
| | | gailv: 0.6, |
| | | }, |
| | | { |
| | | name: "轴承故障、绕组破损", |
| | | zhibiao: "轴承、绕组出现问题", |
| | | fangfa: "更换轴承、绕组", |
| | | gailv: 0.5, |
| | | }, |
| | | ], |
| | | tableData6: [ |
| | | { |
| | | name: "弹簧力不足", |
| | | gailv: 0.3, |
| | | }, |
| | | { |
| | | name: "表面有异物", |
| | | gailv: 0.5, |
| | | }, |
| | | ], |
| | | bimLoading: false, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | setTimeout(() => { |
| | | this.initHealthRateChart(); |
| | | this.getBimAccessToken(); |
| | | }, 100); |
| | | }, |
| | | methods: { |
| | | getBimAccessToken(fileid) { |
| | | fileid = "2023011525093568"; |
| | | let _this = this; |
| | | |
| | | getBimAccessToken({ BimfaceID: fileid }) |
| | | .then((res) => { |
| | | let resData = res; |
| | | // console.log(resData,res, 586); |
| | | if (resData.Code != 0) { |
| | | _this.$message(resData.Message); |
| | | return; |
| | | } |
| | | var tokendata = resData.Data; |
| | | |
| | | if (tokendata != null) { |
| | | var bim_token = tokendata; |
| | | |
| | | const domElement = this.$refs.bfContainer; |
| | | bfHelperPump.loadModel(bim_token, domElement, () => { |
| | | _this.bimLoading = false; |
| | | bfHelperPump.setUIHide([ |
| | | "#bimContainer div[title='目录树']", |
| | | "#bimContainer .gld-bf-settings", |
| | | "#bimContainer .gld-bf-properties", |
| | | "#bimContainer .gld-bf-map", |
| | | "#bimContainer .gld-bf-firstperson", |
| | | "#bimContainer .gld-bf-sectionbox", |
| | | "#bimContainer .gld-bf-measure", |
| | | "#bimContainer .gld-bf-information", |
| | | "#bimContainer .gld-bf-zoomrect", |
| | | "#bimContainer .gld-bf-maximize", |
| | | "#bimContainer .viewButton", |
| | | "#bimContainer .gld-bf-section-axial", |
| | | "#bimContainer .btn-bimCmd-CalcInfo", |
| | | "#bimContainer .gld-bf-home", |
| | | "#bimContainer .bf-toolbar.bf-toolbar-bottom", |
| | | ]); |
| | | |
| | | var tempArr = []; |
| | | bfHelperPump.onClick((d) => { |
| | | console.log(d, "objectdata"); |
| | | }); |
| | | |
| | | //设置外墙半透明状态 |
| | | bfHelperPump.setTransparentComponentsById([ |
| | | "433049", |
| | | "580665", |
| | | "432971", |
| | | "432877", |
| | | "433138", |
| | | "437250", |
| | | "585904", |
| | | "590920", |
| | | "595541", |
| | | "589948", |
| | | "587307", |
| | | "588471", |
| | | "543682", |
| | | "598808", |
| | | ]); |
| | | }); |
| | | } |
| | | }) |
| | | .catch((error) => {}); |
| | | }, |
| | | initHealthRateChart() { |
| | | healthRateObj.chartDom = document.getElementById("healthRate"); |
| | | healthRateObj.myChart = echarts.init(healthRateObj.chartDom); |
| | | let xData = []; |
| | | let yData = []; |
| | | this.healthRateChartData.forEach((item) => { |
| | | xData.push(item.DataTime); |
| | | yData.push(item.DataValue); |
| | | }); |
| | | healthRateObj.option = { |
| | | xAxis: { |
| | | type: "category", |
| | | boundaryGap: false, |
| | | name: "时间", |
| | | data: xData, |
| | | }, |
| | | grid: { |
| | | top: 20, |
| | | bottom: 20, |
| | | left: 60, |
| | | right: 40, |
| | | }, |
| | | yAxis: { |
| | | type: "value", |
| | | min: 0, |
| | | max: 100, |
| | | name: "扣分", |
| | | nameGap: 35, |
| | | nameLocation: "center", |
| | | // boundaryGap: x.boundaryGap, |
| | | scale: true, |
| | | axisLine: { |
| | | show: true, |
| | | }, |
| | | }, |
| | | series: [ |
| | | { |
| | | data: yData, |
| | | type: "line", |
| | | smooth: true, |
| | | }, |
| | | ], |
| | | }; |
| | | healthRateObj.option && |
| | | healthRateObj.myChart.setOption(healthRateObj.option); |
| | | }, |
| | | //故障诊断详情 |
| | | handleDetailByBroken(index, item) { |
| | | this.detailFaultReportVisible = true; |
| | | }, |
| | | //时序趋势分析详情 |
| | | handleDetailBySequential(index, row) { |
| | | this.editTrendFunVisible = true; |
| | | this.editTrendFunFrom.name = row.name; |
| | | this.editTrendFunFrom.product = row.product; |
| | | this.editTrendFunFrom.point = row.point; |
| | | this.editTrendFunFrom.signal = row.signal; |
| | | this.editTrendFunFrom.model = row.model; |
| | | this.editTrendFunFrom.value = row.value; |
| | | this.editTrendFunFrom.startDate = row.startDate; |
| | | this.editTrendFunFrom.endDate = row.endDate; |
| | | this.editTrendFunFrom.time = row.time; |
| | | this.editTrendFunFrom.fangxiang = row.fangxiang; |
| | | this.editTrendFunFrom.note = row.note; |
| | | |
| | | setTimeout(() => { |
| | | this.initChartLeft(testData.recordData.Data); |
| | | this.initChartRight(); |
| | | }, 10); |
| | | }, |
| | | //专家趋势分析详情 |
| | | handleDetailByExpertTrends(index, row) { |
| | | this.editTrendFunVisible2 = true; |
| | | this.editTrendFunFrom2.name = row.name; |
| | | this.editTrendFunFrom2.product = row.product; |
| | | this.editTrendFunFrom2.point = row.point; |
| | | this.editTrendFunFrom2.signal = row.signal; |
| | | this.editTrendFunFrom2.model = row.model; |
| | | this.editTrendFunFrom2.value = row.value; |
| | | this.editTrendFunFrom2.startDate = row.startDate; |
| | | this.editTrendFunFrom2.endDate = row.endDate; |
| | | this.editTrendFunFrom2.time = row.time; |
| | | this.editTrendFunFrom2.fangxiang = row.fangxiang; |
| | | this.editTrendFunFrom2.userName = row.userName; |
| | | this.editTrendFunFrom2.note = row.note; |
| | | |
| | | setTimeout(() => { |
| | | this.initChartLeft2(testData.recordData.Data); |
| | | this.initChartRight2(); |
| | | }, 10); |
| | | }, |
| | | initChartLeft(recordList_ds) { |
| | | if (m_chartMain) { |
| | | m_chartMain.clear(); |
| | | } |
| | | m_chartMain = echarts.init( |
| | | document.getElementById("chartLeftRecordPreview") |
| | | ); |
| | | |
| | | let m_unitName = "MPa"; |
| | | let m_recordName = "压力"; |
| | | |
| | | let m_chartRecordList = []; |
| | | let m_alarmList = []; |
| | | var series_arr = []; |
| | | var yaxisName = ""; |
| | | var legendData = []; |
| | | var tipUnitName = ""; |
| | | if (recordList_ds == null || recordList_ds.length == 0) return; |
| | | |
| | | yaxisName = m_recordName + "(" + m_unitName + ")"; |
| | | tipUnitName = m_unitName; |
| | | //console.log(recordList_ds, 243) |
| | | let baseDate = |
| | | new Date(recordList_ds[0].DataTime).getFullYear() + |
| | | "-" + |
| | | (new Date(recordList_ds[0].DataTime).getMonth() + 1) + |
| | | "-" + |
| | | new Date(recordList_ds[0].DataTime).getDate(); |
| | | |
| | | var lastTime = null; |
| | | var ignore_time = 1000 * 60 * 10; |
| | | |
| | | var chart_series_record_arr = []; |
| | | var chart_series_alarm_arr = []; |
| | | |
| | | let m_chartValueSeriesList = []; |
| | | let teShuDian = ["3053", "3054", "3055", "3056", "3057", "3058"]; |
| | | var nn = recordList_ds.length; |
| | | for (var i = 0; i < nn; i++) { |
| | | var record = recordList_ds[i]; |
| | | var real_time = record.DataTime; |
| | | var real_value = record.DataValue; |
| | | |
| | | var dataValue = { value: [real_time, real_value] }; |
| | | var alarmValue = null; |
| | | if ((record.RecordStatus & 2) == 2) { |
| | | alarmValue = { value: real_value, coord: [real_time, real_value] }; |
| | | // m_alarmList.push(alarmValue) |
| | | } |
| | | }, |
| | | mounted(){ |
| | | setTimeout(() => { |
| | | this.initHealthRateChart() |
| | | }, 100); |
| | | }, |
| | | methods:{ |
| | | initHealthRateChart(){ |
| | | healthRateObj.chartDom = document.getElementById('healthRate') |
| | | healthRateObj.myChart = echarts.init(healthRateObj.chartDom); |
| | | let xData = [] |
| | | let yData = [] |
| | | this.healthRateChartData.forEach(item=>{ |
| | | xData.push(item.DataTime) |
| | | yData.push(item.DataValue) |
| | | }) |
| | | healthRateObj.option = { |
| | | xAxis: { |
| | | type: 'category', |
| | | boundaryGap: false, |
| | | name: "时间", |
| | | data:xData |
| | | }, |
| | | grid:{ |
| | | top:20, |
| | | bottom:20, |
| | | left:50, |
| | | right:40 |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | | min:0, |
| | | max:100, |
| | | name: "扣分", |
| | | nameGap: 35, |
| | | nameLocation: "center", |
| | | // boundaryGap: x.boundaryGap, |
| | | scale: true, |
| | | axisLine: { |
| | | show: true, |
| | | }, |
| | | }, |
| | | series: [ |
| | | { |
| | | data: yData, |
| | | type: 'line', |
| | | smooth: true |
| | | } |
| | | ] |
| | | }; |
| | | healthRateObj.option && healthRateObj.myChart.setOption(healthRateObj.option); |
| | | }, |
| | | //故障诊断详情 |
| | | handleDetailByBroken(index,item){ |
| | | this.brokenDownDialog = true |
| | | }, |
| | | //时序趋势分析详情 |
| | | handleDetailBySequential(index,item){ |
| | | this.sequentialDialog = true |
| | | }, |
| | | //专家趋势分析详情 |
| | | handleDetailByExpertTrends(index,item){ |
| | | this.expertTrendsDialog = true |
| | | |
| | | if (lastTime == null) { |
| | | lastTime = new Date(real_time).getTime(); |
| | | } |
| | | if (new Date(real_time).getTime() - lastTime > ignore_time) { |
| | | if (chart_series_record_arr.length > 3) { |
| | | m_chartValueSeriesList.push({ |
| | | record: chart_series_record_arr, |
| | | alarm: chart_series_alarm_arr, |
| | | }); |
| | | } |
| | | chart_series_record_arr = []; |
| | | chart_series_alarm_arr = []; |
| | | } |
| | | |
| | | chart_series_record_arr.push(dataValue); |
| | | if (alarmValue != null) { |
| | | chart_series_alarm_arr.push(alarmValue); |
| | | } |
| | | |
| | | lastTime = new Date(real_time).getTime(); |
| | | } |
| | | m_chartValueSeriesList.push({ |
| | | record: chart_series_record_arr, |
| | | alarm: chart_series_alarm_arr, |
| | | }); |
| | | |
| | | var color_curve = "#4169E1"; |
| | | let showSymbol = false; |
| | | let min = null; |
| | | let max = null; |
| | | let interval = null; |
| | | |
| | | min = baseDate + " 00:00:00"; |
| | | max = baseDate + " 23:59:59"; |
| | | interval = 1000 * 60 * 60 * 2; |
| | | //console.log(m_chartValueSeriesList) |
| | | for (var i = 0; i < m_chartValueSeriesList.length; i++) { |
| | | series_arr.push({ |
| | | name: m_recordName, |
| | | type: "line", |
| | | showSymbol: showSymbol, |
| | | hoverAnimation: false, |
| | | data: m_chartValueSeriesList[i].record, |
| | | itemStyle: { |
| | | color: color_curve, |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | var main_chart_option = { |
| | | title: { |
| | | text: "", |
| | | }, |
| | | legend: { |
| | | data: legendData, |
| | | top: 30, |
| | | right: 50, |
| | | }, |
| | | tooltip: { |
| | | trigger: "axis", |
| | | formatter: function (params) { |
| | | //console.log(params); |
| | | var tip = ""; |
| | | var date = new Date(params[0].value[0]); |
| | | tip += date.getHours() + ":" + date.getMinutes() + " <br/>"; |
| | | for (var i = 0; i < params.length; i++) { |
| | | var node = params[i]; |
| | | if (i == params.length - 1) { |
| | | tip += |
| | | node.marker + |
| | | node.seriesName + |
| | | ":" + |
| | | (node.value[1] - 0) + |
| | | " " + |
| | | tipUnitName; |
| | | } else { |
| | | tip += |
| | | node.marker + |
| | | node.seriesName + |
| | | ":" + |
| | | (node.value[1] - 0) + |
| | | " " + |
| | | tipUnitName + |
| | | " <br/>"; |
| | | } |
| | | } |
| | | return tip; |
| | | //var params_record = params[0]; |
| | | //var date = new Date(params_record.value[0]); |
| | | //return date.getHours() + ':' + date.getMinutes() + ' <br/>值: ' + (params_record.value[1] - 0) + " " + tipUnitName; |
| | | }, |
| | | axisPointer: { |
| | | animation: false, |
| | | }, |
| | | }, |
| | | grid: { |
| | | containLabel: true, |
| | | x: "25", |
| | | y: "65", |
| | | x2: "30", |
| | | y2: "50", |
| | | }, |
| | | toolbox: { |
| | | show: true, |
| | | top: 0, |
| | | right: 40, |
| | | iconStyle: { |
| | | normal: { |
| | | color: "#87CEFA", |
| | | }, |
| | | }, |
| | | emphasis: { |
| | | //iconStyle: { |
| | | // textFill: '#fff', |
| | | // color: '#fff', |
| | | // borderColor: '#ccc', |
| | | //}, |
| | | }, |
| | | feature: { |
| | | mark: { show: true }, |
| | | dataZoom: { |
| | | show: true, |
| | | yAxisIndex: "none", |
| | | }, |
| | | dataView: { |
| | | show: true, |
| | | readOnly: true, |
| | | optionToContent: function (opt) { |
| | | var series_list = opt.series; |
| | | var table = |
| | | '<table contenteditable="true"><tbody><tr>' + |
| | | '<td style="padding:2px 30px;text-align:center;">时间</td>' + |
| | | '<td style="padding:2px 30px;text-align:center;">监控值</td>' + |
| | | "</tr>"; |
| | | |
| | | for (var i = 0; i < series_list.length; i++) { |
| | | var series = series_list[i]; |
| | | for (var i = 0, l = series.data.length; i < l; i++) { |
| | | table += |
| | | "<tr>" + |
| | | '<td style="padding:2px 30px;text-align:center;">' + |
| | | series.data[i].value[0] + |
| | | "</td>" + |
| | | '<td style="padding:2px 30px;text-align:center;">' + |
| | | series.data[i].value[1] + |
| | | "</td>" + |
| | | "</tr>"; |
| | | } |
| | | } |
| | | |
| | | table += "</tbody></table>"; |
| | | return table; |
| | | }, |
| | | }, |
| | | magicType: { show: true, type: ["line", "bar", "stack", "tiled"] }, |
| | | restore: { show: true }, |
| | | saveAsImage: { name: "picture", show: true }, |
| | | // myTool1: { |
| | | // show: true, |
| | | // title: "设置Y轴坐标", |
| | | // icon: "path://M962.92864 602.1888c-9.09824 48.42496-43.42272 80.96256-85.41696 80.96256h-4.8128a54.66624 54.66624 0 0 0-54.0672 55.08096 49.7408 49.7408 0 0 0 2.4576 12.96896q1.08544 3.69664 2.50368 7.2704a100.53632 100.53632 0 0 1-34.78528 122.7776l-3.072 1.9968c-0.54784 0.3584-1.11616 0.70144-1.6896 1.024l-104.14592 58.368a28.672 28.672 0 0 1-2.56 1.2288l-1.024 0.512a100.65408 100.65408 0 0 1-40.61696 8.35072 105.01632 105.01632 0 0 1-75.81184-31.7696 141.89056 141.89056 0 0 0-33.75616-25.72288 26.39872 26.39872 0 0 0-12.288-3.072 23.38304 23.38304 0 0 0-12.17024 3.33312 145.88928 145.88928 0 0 0-33.76128 26.112 104.73984 104.73984 0 0 1-76.31872 32.3328 99.79392 99.79392 0 0 1-39.89504-8.09984l-0.87552-0.35328-3.22048-1.536q-0.88064-0.43008-1.7408-0.9216l-107.8272-59.95008a28.38016 28.38016 0 0 1-2.56-1.64352l-1.024-0.7168a100.52096 100.52096 0 0 1-34.01728-122.46016q1.3312-3.456 2.35008-7.01952a50.04288 50.04288 0 0 0 2.5088-13.02016 54.66624 54.66624 0 0 0-54.04672-55.05536h-4.34688c-42.30656 0-76.8-32.5376-85.888-80.96256a531.18464 531.18464 0 0 1-9.41056-90.50112 520.84736 520.84736 0 0 1 9.46176-90.54208c9.05728-48.41984 43.58144-80.96256 85.98528-80.96256h4.1984A54.66112 54.66112 0 0 0 205.312 285.11744a80.73216 80.73216 0 0 0-4.96128-20.23936 100.6336 100.6336 0 0 1 33.86368-122.15808l0.81408-0.5632 2.9696-1.95072c0.56832-0.3584 1.14688-0.70144 1.7408-1.024l102.16448-57.64608a30.6688 30.6688 0 0 1 2.50368-1.23392l1.024-0.512a99.584 99.584 0 0 1 40.70912-8.46336 103.7568 103.7568 0 0 1 76.88192 33.31072 150.1184 150.1184 0 0 0 35.80416 28.07808 23.35232 23.35232 0 0 0 21.73952 0.1536 148.08064 148.08064 0 0 0 36.46976-28.99968 103.69536 103.69536 0 0 1 77.34272-33.82272 99.6352 99.6352 0 0 1 40.00256 8.192l0.9216 0.41472 3.11808 1.47968q0.86016 0.4352 1.6896 0.92672l105.88672 59.28448a28.55936 28.55936 0 0 1 2.45248 1.536l1.024 0.7168a100.67968 100.67968 0 0 1 34.01728 122.46016c0 0.0512-1.1264 2.82112-2.3552 7.01952a49.92 49.92 0 0 0-2.50368 13.02016 54.67648 54.67648 0 0 0 54.0672 55.08096h4.24448c42.35776 0 76.88704 32.54272 85.9392 80.96256a525.312 525.312 0 0 1 9.46176 90.48576v0.05632a534.3744 534.3744 0 0 1-9.41568 90.50624z m-49.46432-173.92128c-2.96448-15.83104-12.63616-34.35008-30.00832-34.35008h-4.27008a113.96096 113.96096 0 0 1-113.44384-114.176 106.22464 106.22464 0 0 1 4.9408-29.696 133.4016 133.4016 0 0 1 4.94592-14.12096 43.87328 43.87328 0 0 0-14.15168-52.40832l-0.26112-0.1536-0.2048-0.1536-106.74176-59.33568-0.2048-0.1536-0.26112-0.10752a47.77984 47.77984 0 0 0-52.0192 11.72992c-16.69632 18.36544-57.2672 53.13536-91.5456 53.13536-13.824 0-31.05792-6.22592-49.664-18.00704a213.08928 213.08928 0 0 1-41.20576-34.11968 47.77984 47.77984 0 0 0-52.1728-11.3152l-0.256 0.1024-0.20992 0.1536-102.99392 57.94304-0.20992 0.10752-0.26112 0.2048a43.99616 43.99616 0 0 0-14.10048 52.40832 142.47424 142.47424 0 0 1 4.9408 14.12096 105.6256 105.6256 0 0 1 4.9408 29.696 113.98656 113.98656 0 0 1-113.50016 114.176h-4.34688c-17.26976 0.1024-26.89024 18.57536-29.85472 34.35008a466.432 466.432 0 0 0-8.58624 80.896 466.8672 466.8672 0 0 0 8.58624 80.95232c2.96448 15.82592 12.58496 34.35008 29.90592 34.35008h4.352a113.96096 113.96096 0 0 1 113.44896 114.176 105.3952 105.3952 0 0 1-4.9408 29.696 117.02784 117.02784 0 0 1-4.9408 14.11072 43.84256 43.84256 0 0 0 14.20288 52.41344l0.26112 0.1536 0.26112 0.15872 108.544 60.0832 0.256 0.10752 0.31232 0.1024a48.71168 48.71168 0 0 0 52.0192-11.15648c16.384-17.3312 56.22784-50.0224 89.46688-50.0224 32.97792 0 72.61696 32.06656 88.94464 49.03936a48.7936 48.7936 0 0 0 52.17792 10.79296l0.20992-0.1024 0.256-0.15872 104.86272-58.68544 0.26112-0.15872 0.20992-0.1536a43.93984 43.93984 0 0 0 14.14656-52.41344 142.18752 142.18752 0 0 1-4.992-14.11072 107.33056 107.33056 0 0 1-4.8896-29.696 113.98144 113.98144 0 0 1 113.49504-114.176h4.7872c10.61376 0 24.65792-8.97536 29.44512-34.35008h0.04608a478.67392 478.67392 0 0 0 8.58624-80.896 466.65216 466.65216 0 0 0-8.576-80.98304z m-203.8784 142.848a23.95136 23.95136 0 0 1-1.024 8.75008 189.58336 189.58336 0 0 1-73.07264 95.38048 185.856 185.856 0 0 1-107.28448 34.03264 189.48608 189.48608 0 0 1-178.51904-128.8448 24.15104 24.15104 0 0 1-1.024-7.59808 192.12288 192.12288 0 0 1 4.37248-124.21632 24.09472 24.09472 0 0 1 1.39776-6.82496 188.928 188.928 0 0 1 173.76768-116.49024 185.344 185.344 0 0 1 79.04768 17.664 189.29664 189.29664 0 0 1 96.54784 98.9952 23.94112 23.94112 0 0 1 1.536 8.38656 194.41152 194.41152 0 0 1 4.25472 120.75008z m-179.8656-196.98176a142.94016 142.94016 0 1 0 68.29056 267.89888 144.60928 144.60928 0 0 0-26.84416-261.57568 140.98944 140.98944 0 0 0-41.4464-6.33856z", |
| | | // onclick: setChartyAxis, |
| | | // }, |
| | | }, |
| | | }, |
| | | dataZoom: [ |
| | | { |
| | | id: "dataZoomX", |
| | | type: "slider", |
| | | xAxisIndex: [0], |
| | | start: 0, |
| | | end: 100, |
| | | bottom: 10, |
| | | filterMode: "filter", |
| | | handleIcon: |
| | | "M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z", |
| | | handleSize: "80%", |
| | | handleStyle: { |
| | | color: "#fff", |
| | | shadowBlur: 3, |
| | | shadowColor: "rgba(0, 0, 0, 0.9)", //rgba(0, 0, 0, 0.9) |
| | | shadowOffsetX: 2, |
| | | shadowOffsetY: 2, |
| | | }, |
| | | backgroundColor: "#eee", |
| | | borderColor: "#ccc", |
| | | dataBackground: { |
| | | lineStyle: { |
| | | //color:'red', |
| | | }, |
| | | }, |
| | | }, |
| | | { |
| | | // 这个dataZoom组件,也控制x轴。 |
| | | type: "inside", // 这个 dataZoom 组件是 inside 型 dataZoom 组件 |
| | | start: 0, // 左边在 24% 的位置。 |
| | | end: 100, // 右边在 100% 的位置。 |
| | | }, |
| | | ], |
| | | xAxis: { |
| | | type: "time", |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | type: "dashed", |
| | | }, |
| | | }, |
| | | axisLabel: { |
| | | //color: '#fff', |
| | | formatter: function (v, index) { |
| | | //.log(value, index); |
| | | var date = new Date(v); |
| | | //console.log(date); |
| | | var texts = [date.getHours(), date.getMinutes()]; |
| | | //var texts = [date.getHours(),"00"]; |
| | | return texts.join(":"); |
| | | }, |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | // color: '#fff' |
| | | }, |
| | | }, |
| | | min: min, |
| | | max: max, |
| | | interval: interval, |
| | | }, |
| | | yAxis: { |
| | | name: yaxisName, |
| | | nameLocation: "end", |
| | | nameTextStyle: { |
| | | align: "left", |
| | | }, |
| | | type: "value", |
| | | boundaryGap: [0, "100%"], |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | type: "dashed", |
| | | }, |
| | | }, |
| | | axisLabel: { |
| | | //color: '#fff', |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | //color: '#fff' |
| | | }, |
| | | }, |
| | | scale: true, |
| | | }, |
| | | series: series_arr, |
| | | }; |
| | | |
| | | m_chartMain.setOption(main_chart_option); |
| | | }, |
| | | |
| | | } |
| | | initChartRight() { |
| | | if (m_chartQH) { |
| | | m_chartQH.clear(); |
| | | } |
| | | m_chartQH = echarts.init( |
| | | document.getElementById("chartRightRecordPreview") |
| | | ); |
| | | |
| | | let QH = []; |
| | | let data = testData.QH; |
| | | for (var i = 0; i < data.length; i++) { |
| | | let item = data[i]; |
| | | item.id = i; |
| | | QH.push({ value: [data[i].X, data[i].Y], id: item.id }); |
| | | } |
| | | |
| | | var option = { |
| | | title: { |
| | | text: "", |
| | | top: "5%", |
| | | right: "4%", |
| | | textStyle: { |
| | | fontWeight: "lighter", //lighter //normal |
| | | fontSize: 12, |
| | | textShadowColor: "#C28D21", //阴影颜色 |
| | | textShadowBlur: "2", //阴影的宽度 |
| | | textShadowOffsetX: "-0", //阴影向X偏移 |
| | | textShadowOffsetY: "-70", //阴影向Y偏移 |
| | | }, |
| | | }, |
| | | grid: { |
| | | top: "5%", |
| | | left: "2%", |
| | | right: "4%", |
| | | bottom: "5%", |
| | | containLabel: true, |
| | | }, |
| | | tooltip: { |
| | | trigger: "item", |
| | | axisPointer: { |
| | | type: "cross", |
| | | }, |
| | | formatter: function (params) { |
| | | //console.log(params); |
| | | if (!params) { |
| | | return; |
| | | } |
| | | var data = params.value; |
| | | return "流量:" + data[0] + ",扬程" + data[1] + "m"; |
| | | //return h+date.getFullYear() + '年' + (date.getMonth() + 1) + '月' + date.getDate() + '日 : ' + params.value[1]; |
| | | }, |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | name: "", //流量(m³/h) |
| | | nameLocation: "middle", |
| | | nameGap: 29, |
| | | nameTextStyle: { |
| | | color: "#d4ce55", |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | }, |
| | | axisLine: { |
| | | onZero: false, |
| | | lineStyle: { |
| | | //color: GlobalParas.chartTextColor |
| | | }, |
| | | }, |
| | | type: "value", |
| | | }, |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | name: "", //"扬程(m)", |
| | | nameLocation: "middle", |
| | | nameGap: 39, |
| | | nameTextStyle: { |
| | | color: "#d4ce55", |
| | | }, |
| | | axisLine: { |
| | | onZero: false, |
| | | lineStyle: { |
| | | //color: GlobalParas.chartTextColor |
| | | }, |
| | | }, |
| | | boundaryGap: ["20%", "20%"], |
| | | type: "value", |
| | | }, |
| | | ], |
| | | series: [ |
| | | { |
| | | itemStyle: { |
| | | normal: { |
| | | color: "#48dcd7", |
| | | }, |
| | | }, |
| | | showSymbol: false, |
| | | data: QH, |
| | | type: "line", |
| | | smooth: true, |
| | | }, |
| | | ], |
| | | }; |
| | | // 使用刚指定的配置项和数据显示图表。 |
| | | m_chartQH.setOption(option); |
| | | }, |
| | | initChartLeft2(recordList_ds) { |
| | | if (m_chartMain2) { |
| | | m_chartMain2.clear(); |
| | | } |
| | | m_chartMain2 = echarts.init( |
| | | document.getElementById("chartLeftRecordPreview2") |
| | | ); |
| | | |
| | | let m_unitName = "MPa"; |
| | | let m_recordName = "压力"; |
| | | |
| | | let m_chartRecordList = []; |
| | | let m_alarmList = []; |
| | | var series_arr = []; |
| | | var yaxisName = ""; |
| | | var legendData = []; |
| | | var tipUnitName = ""; |
| | | if (recordList_ds == null || recordList_ds.length == 0) return; |
| | | |
| | | yaxisName = m_recordName + "(" + m_unitName + ")"; |
| | | tipUnitName = m_unitName; |
| | | //console.log(recordList_ds, 243) |
| | | let baseDate = |
| | | new Date(recordList_ds[0].DataTime).getFullYear() + |
| | | "-" + |
| | | (new Date(recordList_ds[0].DataTime).getMonth() + 1) + |
| | | "-" + |
| | | new Date(recordList_ds[0].DataTime).getDate(); |
| | | |
| | | var lastTime = null; |
| | | var ignore_time = 1000 * 60 * 10; |
| | | |
| | | var chart_series_record_arr = []; |
| | | var chart_series_alarm_arr = []; |
| | | |
| | | let m_chartValueSeriesList = []; |
| | | let teShuDian = ["3053", "3054", "3055", "3056", "3057", "3058"]; |
| | | var nn = recordList_ds.length; |
| | | for (var i = 0; i < nn; i++) { |
| | | var record = recordList_ds[i]; |
| | | var real_time = record.DataTime; |
| | | var real_value = record.DataValue; |
| | | |
| | | var dataValue = { value: [real_time, real_value] }; |
| | | var alarmValue = null; |
| | | if ((record.RecordStatus & 2) == 2) { |
| | | alarmValue = { value: real_value, coord: [real_time, real_value] }; |
| | | // m_alarmList.push(alarmValue) |
| | | } |
| | | |
| | | if (lastTime == null) { |
| | | lastTime = new Date(real_time).getTime(); |
| | | } |
| | | if (new Date(real_time).getTime() - lastTime > ignore_time) { |
| | | if (chart_series_record_arr.length > 3) { |
| | | m_chartValueSeriesList.push({ |
| | | record: chart_series_record_arr, |
| | | alarm: chart_series_alarm_arr, |
| | | }); |
| | | } |
| | | chart_series_record_arr = []; |
| | | chart_series_alarm_arr = []; |
| | | } |
| | | |
| | | chart_series_record_arr.push(dataValue); |
| | | if (alarmValue != null) { |
| | | chart_series_alarm_arr.push(alarmValue); |
| | | } |
| | | |
| | | lastTime = new Date(real_time).getTime(); |
| | | } |
| | | m_chartValueSeriesList.push({ |
| | | record: chart_series_record_arr, |
| | | alarm: chart_series_alarm_arr, |
| | | }); |
| | | |
| | | var color_curve = "#4169E1"; |
| | | let showSymbol = false; |
| | | let min = null; |
| | | let max = null; |
| | | let interval = null; |
| | | |
| | | min = baseDate + " 00:00:00"; |
| | | max = baseDate + " 23:59:59"; |
| | | interval = 1000 * 60 * 60 * 2; |
| | | //console.log(m_chartValueSeriesList) |
| | | for (var i = 0; i < m_chartValueSeriesList.length; i++) { |
| | | series_arr.push({ |
| | | name: m_recordName, |
| | | type: "line", |
| | | showSymbol: showSymbol, |
| | | hoverAnimation: false, |
| | | data: m_chartValueSeriesList[i].record, |
| | | itemStyle: { |
| | | color: color_curve, |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | var main_chart_option = { |
| | | title: { |
| | | text: "", |
| | | }, |
| | | legend: { |
| | | data: legendData, |
| | | top: 30, |
| | | right: 50, |
| | | }, |
| | | tooltip: { |
| | | trigger: "axis", |
| | | formatter: function (params) { |
| | | //console.log(params); |
| | | var tip = ""; |
| | | var date = new Date(params[0].value[0]); |
| | | tip += date.getHours() + ":" + date.getMinutes() + " <br/>"; |
| | | for (var i = 0; i < params.length; i++) { |
| | | var node = params[i]; |
| | | if (i == params.length - 1) { |
| | | tip += |
| | | node.marker + |
| | | node.seriesName + |
| | | ":" + |
| | | (node.value[1] - 0) + |
| | | " " + |
| | | tipUnitName; |
| | | } else { |
| | | tip += |
| | | node.marker + |
| | | node.seriesName + |
| | | ":" + |
| | | (node.value[1] - 0) + |
| | | " " + |
| | | tipUnitName + |
| | | " <br/>"; |
| | | } |
| | | } |
| | | return tip; |
| | | //var params_record = params[0]; |
| | | //var date = new Date(params_record.value[0]); |
| | | //return date.getHours() + ':' + date.getMinutes() + ' <br/>值: ' + (params_record.value[1] - 0) + " " + tipUnitName; |
| | | }, |
| | | axisPointer: { |
| | | animation: false, |
| | | }, |
| | | }, |
| | | grid: { |
| | | containLabel: true, |
| | | x: "25", |
| | | y: "65", |
| | | x2: "30", |
| | | y2: "50", |
| | | }, |
| | | toolbox: { |
| | | show: true, |
| | | top: 0, |
| | | right: 40, |
| | | iconStyle: { |
| | | normal: { |
| | | color: "#87CEFA", |
| | | }, |
| | | }, |
| | | emphasis: { |
| | | //iconStyle: { |
| | | // textFill: '#fff', |
| | | // color: '#fff', |
| | | // borderColor: '#ccc', |
| | | //}, |
| | | }, |
| | | feature: { |
| | | mark: { show: true }, |
| | | dataZoom: { |
| | | show: true, |
| | | yAxisIndex: "none", |
| | | }, |
| | | dataView: { |
| | | show: true, |
| | | readOnly: true, |
| | | optionToContent: function (opt) { |
| | | var series_list = opt.series; |
| | | var table = |
| | | '<table contenteditable="true"><tbody><tr>' + |
| | | '<td style="padding:2px 30px;text-align:center;">时间</td>' + |
| | | '<td style="padding:2px 30px;text-align:center;">监控值</td>' + |
| | | "</tr>"; |
| | | |
| | | for (var i = 0; i < series_list.length; i++) { |
| | | var series = series_list[i]; |
| | | for (var i = 0, l = series.data.length; i < l; i++) { |
| | | table += |
| | | "<tr>" + |
| | | '<td style="padding:2px 30px;text-align:center;">' + |
| | | series.data[i].value[0] + |
| | | "</td>" + |
| | | '<td style="padding:2px 30px;text-align:center;">' + |
| | | series.data[i].value[1] + |
| | | "</td>" + |
| | | "</tr>"; |
| | | } |
| | | } |
| | | |
| | | table += "</tbody></table>"; |
| | | return table; |
| | | }, |
| | | }, |
| | | magicType: { show: true, type: ["line", "bar", "stack", "tiled"] }, |
| | | restore: { show: true }, |
| | | saveAsImage: { name: "picture", show: true }, |
| | | // myTool1: { |
| | | // show: true, |
| | | // title: "设置Y轴坐标", |
| | | // icon: "path://M962.92864 602.1888c-9.09824 48.42496-43.42272 80.96256-85.41696 80.96256h-4.8128a54.66624 54.66624 0 0 0-54.0672 55.08096 49.7408 49.7408 0 0 0 2.4576 12.96896q1.08544 3.69664 2.50368 7.2704a100.53632 100.53632 0 0 1-34.78528 122.7776l-3.072 1.9968c-0.54784 0.3584-1.11616 0.70144-1.6896 1.024l-104.14592 58.368a28.672 28.672 0 0 1-2.56 1.2288l-1.024 0.512a100.65408 100.65408 0 0 1-40.61696 8.35072 105.01632 105.01632 0 0 1-75.81184-31.7696 141.89056 141.89056 0 0 0-33.75616-25.72288 26.39872 26.39872 0 0 0-12.288-3.072 23.38304 23.38304 0 0 0-12.17024 3.33312 145.88928 145.88928 0 0 0-33.76128 26.112 104.73984 104.73984 0 0 1-76.31872 32.3328 99.79392 99.79392 0 0 1-39.89504-8.09984l-0.87552-0.35328-3.22048-1.536q-0.88064-0.43008-1.7408-0.9216l-107.8272-59.95008a28.38016 28.38016 0 0 1-2.56-1.64352l-1.024-0.7168a100.52096 100.52096 0 0 1-34.01728-122.46016q1.3312-3.456 2.35008-7.01952a50.04288 50.04288 0 0 0 2.5088-13.02016 54.66624 54.66624 0 0 0-54.04672-55.05536h-4.34688c-42.30656 0-76.8-32.5376-85.888-80.96256a531.18464 531.18464 0 0 1-9.41056-90.50112 520.84736 520.84736 0 0 1 9.46176-90.54208c9.05728-48.41984 43.58144-80.96256 85.98528-80.96256h4.1984A54.66112 54.66112 0 0 0 205.312 285.11744a80.73216 80.73216 0 0 0-4.96128-20.23936 100.6336 100.6336 0 0 1 33.86368-122.15808l0.81408-0.5632 2.9696-1.95072c0.56832-0.3584 1.14688-0.70144 1.7408-1.024l102.16448-57.64608a30.6688 30.6688 0 0 1 2.50368-1.23392l1.024-0.512a99.584 99.584 0 0 1 40.70912-8.46336 103.7568 103.7568 0 0 1 76.88192 33.31072 150.1184 150.1184 0 0 0 35.80416 28.07808 23.35232 23.35232 0 0 0 21.73952 0.1536 148.08064 148.08064 0 0 0 36.46976-28.99968 103.69536 103.69536 0 0 1 77.34272-33.82272 99.6352 99.6352 0 0 1 40.00256 8.192l0.9216 0.41472 3.11808 1.47968q0.86016 0.4352 1.6896 0.92672l105.88672 59.28448a28.55936 28.55936 0 0 1 2.45248 1.536l1.024 0.7168a100.67968 100.67968 0 0 1 34.01728 122.46016c0 0.0512-1.1264 2.82112-2.3552 7.01952a49.92 49.92 0 0 0-2.50368 13.02016 54.67648 54.67648 0 0 0 54.0672 55.08096h4.24448c42.35776 0 76.88704 32.54272 85.9392 80.96256a525.312 525.312 0 0 1 9.46176 90.48576v0.05632a534.3744 534.3744 0 0 1-9.41568 90.50624z m-49.46432-173.92128c-2.96448-15.83104-12.63616-34.35008-30.00832-34.35008h-4.27008a113.96096 113.96096 0 0 1-113.44384-114.176 106.22464 106.22464 0 0 1 4.9408-29.696 133.4016 133.4016 0 0 1 4.94592-14.12096 43.87328 43.87328 0 0 0-14.15168-52.40832l-0.26112-0.1536-0.2048-0.1536-106.74176-59.33568-0.2048-0.1536-0.26112-0.10752a47.77984 47.77984 0 0 0-52.0192 11.72992c-16.69632 18.36544-57.2672 53.13536-91.5456 53.13536-13.824 0-31.05792-6.22592-49.664-18.00704a213.08928 213.08928 0 0 1-41.20576-34.11968 47.77984 47.77984 0 0 0-52.1728-11.3152l-0.256 0.1024-0.20992 0.1536-102.99392 57.94304-0.20992 0.10752-0.26112 0.2048a43.99616 43.99616 0 0 0-14.10048 52.40832 142.47424 142.47424 0 0 1 4.9408 14.12096 105.6256 105.6256 0 0 1 4.9408 29.696 113.98656 113.98656 0 0 1-113.50016 114.176h-4.34688c-17.26976 0.1024-26.89024 18.57536-29.85472 34.35008a466.432 466.432 0 0 0-8.58624 80.896 466.8672 466.8672 0 0 0 8.58624 80.95232c2.96448 15.82592 12.58496 34.35008 29.90592 34.35008h4.352a113.96096 113.96096 0 0 1 113.44896 114.176 105.3952 105.3952 0 0 1-4.9408 29.696 117.02784 117.02784 0 0 1-4.9408 14.11072 43.84256 43.84256 0 0 0 14.20288 52.41344l0.26112 0.1536 0.26112 0.15872 108.544 60.0832 0.256 0.10752 0.31232 0.1024a48.71168 48.71168 0 0 0 52.0192-11.15648c16.384-17.3312 56.22784-50.0224 89.46688-50.0224 32.97792 0 72.61696 32.06656 88.94464 49.03936a48.7936 48.7936 0 0 0 52.17792 10.79296l0.20992-0.1024 0.256-0.15872 104.86272-58.68544 0.26112-0.15872 0.20992-0.1536a43.93984 43.93984 0 0 0 14.14656-52.41344 142.18752 142.18752 0 0 1-4.992-14.11072 107.33056 107.33056 0 0 1-4.8896-29.696 113.98144 113.98144 0 0 1 113.49504-114.176h4.7872c10.61376 0 24.65792-8.97536 29.44512-34.35008h0.04608a478.67392 478.67392 0 0 0 8.58624-80.896 466.65216 466.65216 0 0 0-8.576-80.98304z m-203.8784 142.848a23.95136 23.95136 0 0 1-1.024 8.75008 189.58336 189.58336 0 0 1-73.07264 95.38048 185.856 185.856 0 0 1-107.28448 34.03264 189.48608 189.48608 0 0 1-178.51904-128.8448 24.15104 24.15104 0 0 1-1.024-7.59808 192.12288 192.12288 0 0 1 4.37248-124.21632 24.09472 24.09472 0 0 1 1.39776-6.82496 188.928 188.928 0 0 1 173.76768-116.49024 185.344 185.344 0 0 1 79.04768 17.664 189.29664 189.29664 0 0 1 96.54784 98.9952 23.94112 23.94112 0 0 1 1.536 8.38656 194.41152 194.41152 0 0 1 4.25472 120.75008z m-179.8656-196.98176a142.94016 142.94016 0 1 0 68.29056 267.89888 144.60928 144.60928 0 0 0-26.84416-261.57568 140.98944 140.98944 0 0 0-41.4464-6.33856z", |
| | | // onclick: setChartyAxis, |
| | | // }, |
| | | }, |
| | | }, |
| | | dataZoom: [ |
| | | { |
| | | id: "dataZoomX", |
| | | type: "slider", |
| | | xAxisIndex: [0], |
| | | start: 0, |
| | | end: 100, |
| | | bottom: 10, |
| | | filterMode: "filter", |
| | | handleIcon: |
| | | "M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z", |
| | | handleSize: "80%", |
| | | handleStyle: { |
| | | color: "#fff", |
| | | shadowBlur: 3, |
| | | shadowColor: "rgba(0, 0, 0, 0.9)", //rgba(0, 0, 0, 0.9) |
| | | shadowOffsetX: 2, |
| | | shadowOffsetY: 2, |
| | | }, |
| | | backgroundColor: "#eee", |
| | | borderColor: "#ccc", |
| | | dataBackground: { |
| | | lineStyle: { |
| | | //color:'red', |
| | | }, |
| | | }, |
| | | }, |
| | | { |
| | | // 这个dataZoom组件,也控制x轴。 |
| | | type: "inside", // 这个 dataZoom 组件是 inside 型 dataZoom 组件 |
| | | start: 0, // 左边在 24% 的位置。 |
| | | end: 100, // 右边在 100% 的位置。 |
| | | }, |
| | | ], |
| | | xAxis: { |
| | | type: "time", |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | type: "dashed", |
| | | }, |
| | | }, |
| | | axisLabel: { |
| | | //color: '#fff', |
| | | formatter: function (v, index) { |
| | | //.log(value, index); |
| | | var date = new Date(v); |
| | | //console.log(date); |
| | | var texts = [date.getHours(), date.getMinutes()]; |
| | | //var texts = [date.getHours(),"00"]; |
| | | return texts.join(":"); |
| | | }, |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | // color: '#fff' |
| | | }, |
| | | }, |
| | | min: min, |
| | | max: max, |
| | | interval: interval, |
| | | }, |
| | | yAxis: { |
| | | name: yaxisName, |
| | | nameLocation: "end", |
| | | nameTextStyle: { |
| | | align: "left", |
| | | }, |
| | | type: "value", |
| | | boundaryGap: [0, "100%"], |
| | | splitLine: { |
| | | show: true, |
| | | lineStyle: { |
| | | type: "dashed", |
| | | }, |
| | | }, |
| | | axisLabel: { |
| | | //color: '#fff', |
| | | }, |
| | | axisLine: { |
| | | lineStyle: { |
| | | //color: '#fff' |
| | | }, |
| | | }, |
| | | scale: true, |
| | | }, |
| | | series: series_arr, |
| | | }; |
| | | |
| | | m_chartMain2.setOption(main_chart_option); |
| | | }, |
| | | initChartRight2() { |
| | | if (m_chartQH2) { |
| | | m_chartQH2.clear(); |
| | | } |
| | | m_chartQH2 = echarts.init( |
| | | document.getElementById("chartRightRecordPreview2") |
| | | ); |
| | | |
| | | let QH = []; |
| | | let data = testData.QH; |
| | | for (var i = 0; i < data.length; i++) { |
| | | let item = data[i]; |
| | | item.id = i; |
| | | QH.push({ value: [data[i].X, data[i].Y], id: item.id }); |
| | | } |
| | | |
| | | var option = { |
| | | title: { |
| | | text: "", |
| | | top: "5%", |
| | | right: "4%", |
| | | textStyle: { |
| | | fontWeight: "lighter", //lighter //normal |
| | | fontSize: 12, |
| | | textShadowColor: "#C28D21", //阴影颜色 |
| | | textShadowBlur: "2", //阴影的宽度 |
| | | textShadowOffsetX: "-0", //阴影向X偏移 |
| | | textShadowOffsetY: "-70", //阴影向Y偏移 |
| | | }, |
| | | }, |
| | | grid: { |
| | | top: "5%", |
| | | left: "2%", |
| | | right: "4%", |
| | | bottom: "5%", |
| | | containLabel: true, |
| | | }, |
| | | tooltip: { |
| | | trigger: "item", |
| | | axisPointer: { |
| | | type: "cross", |
| | | }, |
| | | formatter: function (params) { |
| | | //console.log(params); |
| | | if (!params) { |
| | | return; |
| | | } |
| | | var data = params.value; |
| | | return "流量:" + data[0] + ",扬程" + data[1] + "m"; |
| | | //return h+date.getFullYear() + '年' + (date.getMonth() + 1) + '月' + date.getDate() + '日 : ' + params.value[1]; |
| | | }, |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | name: "", //流量(m³/h) |
| | | nameLocation: "middle", |
| | | nameGap: 29, |
| | | nameTextStyle: { |
| | | color: "#d4ce55", |
| | | }, |
| | | splitLine: { |
| | | show: true, |
| | | }, |
| | | axisLine: { |
| | | onZero: false, |
| | | lineStyle: { |
| | | //color: GlobalParas.chartTextColor |
| | | }, |
| | | }, |
| | | type: "value", |
| | | }, |
| | | ], |
| | | yAxis: [ |
| | | { |
| | | name: "", //"扬程(m)", |
| | | nameLocation: "middle", |
| | | nameGap: 39, |
| | | nameTextStyle: { |
| | | color: "#d4ce55", |
| | | }, |
| | | axisLine: { |
| | | onZero: false, |
| | | lineStyle: { |
| | | //color: GlobalParas.chartTextColor |
| | | }, |
| | | }, |
| | | boundaryGap: ["20%", "20%"], |
| | | type: "value", |
| | | }, |
| | | ], |
| | | series: [ |
| | | { |
| | | itemStyle: { |
| | | normal: { |
| | | color: "#48dcd7", |
| | | }, |
| | | }, |
| | | showSymbol: false, |
| | | data: QH, |
| | | type: "line", |
| | | smooth: true, |
| | | }, |
| | | ], |
| | | }; |
| | | // 使用刚指定的配置项和数据显示图表。 |
| | | m_chartQH2.setOption(option); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .dialogBottom { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-top: 10px; |
| | | } |
| | | .dialogBottomLeft { |
| | | width: 50%; |
| | | height: 300px; |
| | | background-color: #fff; |
| | | } |
| | | .dialogBottomRight { |
| | | width: calc(50% - 10px); |
| | | height: 300px; |
| | | margin-left: 10px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .baogaotopbox, |
| | | .baogaobottombox { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | height: 360px; |
| | | } |
| | | .baogaobottombox { |
| | | height: 220px; |
| | | margin-top: 10px; |
| | | } |
| | | .baogaotopboxleft, |
| | | .baogaobottomboxleft { |
| | | width: 40%; |
| | | height: 100%; |
| | | overflow: auto; |
| | | background-color: #fff; |
| | | } |
| | | .baogaotopboxright, |
| | | .baogaobottomboxright { |
| | | width: calc(60% - 10px); |
| | | height: 100%; |
| | | overflow: auto; |
| | | margin-left: 10px; |
| | | background-color: #fff; |
| | | } |
| | | </style> |
| | | |
| | | <style> |
| | | .preview-page{ |
| | | width: 100%; |
| | | height: 100%; |
| | | .reportDialog .fks-dialog__body { |
| | | padding: 20px; |
| | | background-color: rgb(241, 242, 246); |
| | | } |
| | | .model-binding-left-box{ |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #fff; |
| | | .preview-page { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .model-binding-right-box{ |
| | | width:100%; |
| | | height: 100%; |
| | | background: #fff; |
| | | .model-binding-left-box { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #fff; |
| | | } |
| | | .bimface-model{ |
| | | width: 100%; |
| | | height: 54%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | .model-binding-right-box { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #fff; |
| | | } |
| | | .bimface-model img{ |
| | | max-height: 100%; |
| | | max-width: 100%; |
| | | height: auto; |
| | | width: auto; |
| | | .bimface-model { |
| | | width: 100%; |
| | | height: 55%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | .bottom-tabs-div{ |
| | | width: 100%; |
| | | height: 45%; |
| | | margin-top: 1%; |
| | | .bimface-model img { |
| | | max-height: 100%; |
| | | max-width: 100%; |
| | | height: auto; |
| | | width: auto; |
| | | } |
| | | .bottom-tabs-div .fks-tabs--border-card{ |
| | | height: 100%; |
| | | .bottom-tabs-div { |
| | | width: 100%; |
| | | height: calc(45% - 10px); |
| | | margin-top: 10px; |
| | | } |
| | | .fks-tabs--border-card>.fks-tabs__content{ |
| | | height: calc(100% - 39px); |
| | | .bottom-tabs-div .fks-tabs--border-card { |
| | | height: 100%; |
| | | } |
| | | .time-pick-div{ |
| | | width: 100%; |
| | | height: 36px; |
| | | .fks-tabs--border-card > .fks-tabs__content { |
| | | height: calc(100% - 39px); |
| | | } |
| | | .bottom-tabs-div .fks-tab-pane{ |
| | | height: calc(100% - 36px); |
| | | .time-pick-div { |
| | | width: 100%; |
| | | height: 36px; |
| | | } |
| | | .health-rate-chart{ |
| | | width: 100%; |
| | | height:100%; |
| | | .bottom-tabs-div .fks-tab-pane { |
| | | height: calc(100% - 36px); |
| | | } |
| | | .health-rate-chart { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | </style> |