From a8230f1ab02069431738bd72f36ab95a0ace01ae Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期二, 06 八月 2024 15:22:22 +0800
Subject: [PATCH] 修改仿真后台
---
web/src/views/modules/taskReliability/SimulatAssess.vue | 182 +++++++++++++++++++++++----------------------
1 files changed, 93 insertions(+), 89 deletions(-)
diff --git a/web/src/views/modules/taskReliability/SimulatAssess.vue b/web/src/views/modules/taskReliability/SimulatAssess.vue
index e9a7e3e..bf04611 100644
--- a/web/src/views/modules/taskReliability/SimulatAssess.vue
+++ b/web/src/views/modules/taskReliability/SimulatAssess.vue
@@ -1,94 +1,119 @@
<template>
- <div>
- <el-row :gutter="10">
- <el-col :span="6">
- <div class="fa-card-a">
- <div class="mod-taskReliability-simulatAssess">
- <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="80px">
- <zt-form-item label="浜у搧鑺傜偣" prop="productId">
- <zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/>
- </zt-form-item>
- <zt-form-item label="鎬讳綋浠诲姟" prop="task">
- <zt-select v-model="dataForm.task" :datas="taskList" @change="onTaskSelected"/>
- </zt-form-item>
- <zt-form-item label="鏁版嵁绫诲瀷" prop="dataType">
- <zt-dict v-model="dataForm.dataType" dict="dataType"></zt-dict>
- </zt-form-item>
- <zt-form-item label="鏄惁鍙慨" prop="isRepair">
- <zt-dict v-model="dataForm.isRepair" dict="is_or_not"></zt-dict>
- </zt-form-item>
- <zt-form-item label="閲囨牱鍛ㄦ湡" prop="samplPeriod">
- <el-input type="number" :min="1" v-model="dataForm.samplPeriod">
- <template slot="append">鍒嗛挓</template>
- </el-input>
- </zt-form-item>
- <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency">
- <el-input type="number" :min="1" v-model="dataForm.simulatFrequency">
- <template slot="append">娆℃暟</template>
- </el-input>
- </zt-form-item>
- <zt-form-item>
- <zt-button @click="analyze()">浠跨湡鍒嗘瀽</zt-button>
- <zt-button>鍒嗘瀽缁撴灉</zt-button>
- </zt-form-item>
- </el-form>
- </div>
+ <div class="fa-card-a">
+ <el-row :gutter="5">
+ <div class="mod-taskReliability-simulatAssess">
+ <el-form :inline="true" :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="80px">
+ <zt-form-item label="浜у搧鑺傜偣" prop="productId">
+ <zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/>
+ </zt-form-item>
+ <zt-form-item label="鎬讳綋浠诲姟" prop="taskModelId">
+ <zt-select v-model="dataForm.taskModelId" :datas="taskList" @change="onTaskSelected"/>
+ </zt-form-item>
+ <zt-form-item label="閲囨牱鍛ㄦ湡" prop="samplPeriod">
+ <el-input type="number" :min="1" v-model="dataForm.samplPeriod">
+ <template slot="append">鍒嗛挓</template>
+ </el-input>
+ </zt-form-item>
+ <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency">
+ <el-input type="number" :min="1" v-model="dataForm.simulatFrequency">
+ <template slot="append">娆℃暟</template>
+ </el-input>
+ </zt-form-item>
+ <zt-form-item>
+ <zt-button @click="analyze()">浠跨湡鍒嗘瀽</zt-button>
+ </zt-form-item>
+ </el-form>
+ <el-progress v-if="isShow" :percentage="percentage"></el-progress>
+ <div>
+ <el-col :span="4">
+ <div style="margin-right: 5px;height: calc(88vh - 100px)" v-if="isSelect">
+ <product-model-tree @on-selected="onTreeSelected" showXdy="false"
+ ref="ProductModelTree" :isShow="false" basic="4" :productId="dataForm.productId"/>
+ </div>
+ </el-col>
+ <el-col :span="20">
+ <div style="margin-top: 20px">
+ <div>
+ <SimulatCurve ref="SimulatCurve"></SimulatCurve>
+ </div>
+ </div>
+ </el-col>
</div>
- </el-col>
- <el-col :span="17">
- <div style="height: calc(100vh - 165px);background: white">
- <SimulatCurve ref="SimulatCurve"></SimulatCurve>
- <SimulatData></SimulatData>
- </div>
- </el-col>
+ </div>
</el-row>
</div>
</template>
<script>
import SimulatCurve from "./SimulatCurve";
- import SimulatData from "./SimulatData";
+ import ProductModelTree from "../basicInfo/ProductModelTree";
export default {
data() {
return {
+ timers: '',
+ isSelect: false,
+ isShow: false,
+ percentage: 0,
productList: [],
taskList: [],
+ MTBF: '',
+ MTTR: '',
dataForm: {
id: '',
pid: '',
productId: '',
- task: '',
- dataType: '',
- isRepair: '',
+ showProductId: '',
+ taskModelId: '',
+ dataType: 'fz',
samplPeriod: '',
simulatFrequency: '',
+ simulatTime: ''
}
}
},
mounted() {
this.getProductList()
},
+ watch: {
+ percentage() {
+ if (this.percentage === 100) {
+ this.$refs.SimulatCurve.initEcharts(this.dataForm);
+ }
+ }
+ },
components: {
+ ProductModelTree,
SimulatCurve,
- SimulatData
},
methods: {
+ onTreeSelected(data) {
+ if (this.dataForm.id){
+ console.log(data, 'onProductSelected')
+ this.dataForm.showProductId = data.id
+ this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
+ }
+ },
// 鑾峰彇淇℃伅
onProductSelected(data) {
+ this.isSelect = true
console.log(data, ' onProductSelected(data)')
this.dataForm.productId = data.id
this.getTaskList()
+ this.$nextTick(() => {
+ this.$refs.ProductModelTree.getProductList()
+ })
},
onTaskSelected(data) {
console.log(data, ' onProductSelected(data)')
- this.dataForm.task = data.id
+ this.dataForm.taskModelId = data.id
},
async getProductList() {
let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList')
this.productList = res.data
+ this.onProductSelected(this.productList[0])
},
async getTaskList() {
let params = {
@@ -98,56 +123,35 @@
console.log(res.data)
this.taskList = res.data
},
+ getStroke() {
+ //console.log('getStroke:',this.progress.start,"锛�",this.progress.speed)
+ if (this.percentage < 100) {
+ //console.log('getStroke2')
+ this.$http.get(`/taskReliability/SimulatAssess/getCalcProgress?taskId=${this.dataForm.id}`).then(
+ res => {
+ // console.log(res.data, 'res.data')
+ if (res.data) {
+ this.percentage = parseFloat(res.data)
+ }
+ }
+ )
+ } else {
+ clearInterval(this.timers)
+ this.percentage = 0
+ }
+ },
async analyze() {
+ this.isShow = true
+ let result = await this.$http.get(`/basicInfo/TyProductModel/getUuid`)
+ this.dataForm.id = result.data
let res = await this.$http.post('/taskReliability/SimulatAssess/analyze', this.dataForm)
if (res.success) {
- console.log(res.data, 'analyze')
- let stopPolling = false
- if (!stopPolling) {
- let timer = setInterval(async () => {
- let res2 = await this.$http.get(`/taskReliability/SimulatAssess/${res.data}`)
- console.log(res2.data, 'setInterval')
- if (res2.data) {
- if (res2.data.code === '0' || res2.data.errorMsg === '0') {
- stopPolling = true
- // 涓杞
- clearInterval(timer)
- alert('宸茶幏鍙�')
- this.$refs.SimulatCurve.initEcharts(res2.data.curveData);
- // 娓呴櫎瀹氭椂鍣�
- } else {
- stopPolling = true
- // 涓杞
- clearInterval(timer)
- alert('鏁版嵁鏈夎锛岄噸鏂拌緭鍏�')
- }
- }
- }, 400)
- }
-
+ this.timers = window.setInterval(this.getStroke, 1000)
}
}
}
}
</script>
<style>
- .mod-taskReliability-simulatAssess {
- height: calc(100vh - 165px);
- }
- .mod-taskReliability-simulatAssess .el-form-item__label {
- line-height: calc((100vh - 165px) / 7);
- }
-
- .mod-taskReliability-simulatAssess .el-form-item__content {
- line-height: calc((100vh - 165px) / 7);
- }
-
- .mod-taskReliability-simulatAssess .el-form-item__content > .el-input-group--append {
- vertical-align: baseline;
- }
-
- div.el-col.el-col-17 {
- background: white;
- }
</style>
--
Gitblit v1.9.1