From 664db98c9e8595ce4dd636a27f480e3a08b81ff5 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 21 二月 2025 11:13:51 +0800
Subject: [PATCH] 新增可忽略的维修时间

---
 web/src/views/modules/taskReliability/SimulatAssess.vue |  166 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 103 insertions(+), 63 deletions(-)

diff --git a/web/src/views/modules/taskReliability/SimulatAssess.vue b/web/src/views/modules/taskReliability/SimulatAssess.vue
index bf04611..9fcea17 100644
--- a/web/src/views/modules/taskReliability/SimulatAssess.vue
+++ b/web/src/views/modules/taskReliability/SimulatAssess.vue
@@ -1,58 +1,82 @@
 <template>
   <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>
+      <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="name">
+          <el-input v-model="dataForm.name" placeholder="璇疯緭鍏ュ悕绉�" clearable></el-input>
+        </zt-form-item>
+        <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod">
+          <el-input type="number" :min="1" v-model="dataForm.samplPeriod"
+                    style="width: 150px;vertical-align: baseline;">
+            <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"
+                    style="width: 150px;vertical-align: baseline;">
+            <template slot="append">娆℃暟</template>
+          </el-input>
+        </zt-form-item>
+        <el-form-item prop="repairDiracFlag" label-width="150px" style="margin-left: 20px">
+          <el-checkbox v-model="dataForm.repairDiracFlag">鍙慨璁惧鍙潬搴︿负1</el-checkbox>
+        </el-form-item>
+        <zt-form-item style="margin-left: 10px">
+          <zt-button @click="analyze()">浠跨湡鍒嗘瀽</zt-button>
+          <zt-button @click="displayProcess()">绠楁硶搴撹繘绋�</zt-button>
+        </zt-form-item>
+      </el-form>
+      <el-progress v-if="isShow" :percentage="percentage"></el-progress>
+      <el-col :span="4">
+        <div style="margin-right: 5px;height: calc(100vh - 230px)" v-if="isSelect">
+          <product-model-tree @on-selected="onTreeSelected" showXdy="false"
+                              ref="ProductModelTree" :isShow="false" basic="4" :productId="dataForm.productId"/>
         </div>
-      </div>
+      </el-col>
+      <el-col :span="20">
+        <div class="fa-card-a" style="height: calc(100vh - 230px)">
+          <SimulatCurve ref="SimulatCurve"></SimulatCurve>
+        </div>
+      </el-col>
     </el-row>
+    <el-dialog v-dialogDrag :close-on-click-modal="false" top="8vh" :visible.sync="dialogVisible" title="妯″瀷妫�鏌�"
+               width="60%" @close="dialogVisible = false">
+      <el-tag type="danger" style="margin-bottom: 10px">妯″瀷瀹氫箟/鍙傛暟閰嶇疆閲屽瓨鍦ㄤ互涓嬮棶棰橈細</el-tag>
+      <el-table :data="modelCheckResult" height="350"
+                :header-cell-style="{'text-align':'center'}">
+        <el-table-column prop="category" label="妫�鏌ョ粨鏋�" align="center" width="150"/>
+        <el-table-column prop="taskName" label="浠诲姟鍚嶇О" align="center"/>
+        <el-table-column prop="taskPhaseName" label="浠诲姟闃舵鍚嶇О" align="center"/>
+        <el-table-column prop="gkName" label="宸ュ喌鍚嶇О" align="center"/>
+        <el-table-column prop="nodeName" label="鑺傜偣鍚嶇О" align="center"/>
+        <el-table-column prop="modelName" label="妯″瀷鍚嶇О" align="center"/>
+        <el-table-column prop="deviceName" label="璁惧鍚嶇О" align="center"/>
+        <el-table-column prop="paramName" label="鍙傛暟鍚嶇О" align="center"/>
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="dialogVisible = false">鍏� 闂�</el-button>
+      </div>
+    </el-dialog>
+    <Process ref="process"></Process>
   </div>
 </template>
 
 <script>
   import SimulatCurve from "./SimulatCurve";
   import ProductModelTree from "../basicInfo/ProductModelTree";
+  import Process from "./Process";
+  import Cookies from "js-cookie";
 
 
   export default {
     data() {
       return {
-        timers: '',
+        timers: null,
         isSelect: false,
         isShow: false,
         percentage: 0,
@@ -63,34 +87,32 @@
         dataForm: {
           id: '',
           pid: '',
+          name:'',
           productId: '',
           showProductId: '',
           taskModelId: '',
           dataType: 'fz',
-          samplPeriod: '',
-          simulatFrequency: '',
-          simulatTime: ''
-        }
+          samplPeriod: '10',
+          simulatFrequency: 500,
+          simulatTime: '',
+          repairDiracFlag: false
+        },
+        dialogVisible: false,
+        modelCheckResult: [],
       }
     },
     mounted() {
       this.getProductList()
     },
-    watch: {
-      percentage() {
-        if (this.percentage === 100) {
-          this.$refs.SimulatCurve.initEcharts(this.dataForm);
-        }
-      }
-    },
     components: {
       ProductModelTree,
       SimulatCurve,
+      Process,
     },
 
     methods: {
       onTreeSelected(data) {
-        if (this.dataForm.id){
+        if (this.dataForm.id) {
           console.log(data, 'onProductSelected')
           this.dataForm.showProductId = data.id
           this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
@@ -102,6 +124,7 @@
         console.log(data, ' onProductSelected(data)')
         this.dataForm.productId = data.id
         this.getTaskList()
+        this.dataForm.taskModelId = ''
         this.$nextTick(() => {
           this.$refs.ProductModelTree.getProductList()
         })
@@ -123,31 +146,48 @@
         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)
-              }
+      async getStroke() {
+        let param = {
+          taskList: [this.dataForm.id]
+        }
+        let res = await this.$http.get(`/taskReliability/SimulatAssess/getCalcProgress`, {params: param})
+        if (res.success) {
+          if (res.data) {
+            this.percentage = parseFloat(res.data)
+            if (this.percentage >= 100) {
+              clearInterval(this.timers)
+              this.percentage = 0
+              Cookies.set('productId', this.dataForm.productId)
+              Cookies.set('taskModelId', this.dataForm.taskModelId)
+              Cookies.set('fzId', this.dataForm.id)
+              this.$refs.SimulatCurve.initEcharts(this.dataForm);
             }
-          )
+          }
         } else {
           clearInterval(this.timers)
           this.percentage = 0
         }
       },
       async analyze() {
+        this.dialogVisible = false
+        this.modelCheckResult = []
         this.isShow = true
         let result = await this.$http.get(`/basicInfo/TyProductModel/getUuid`)
         this.dataForm.id = result.data
+        this.percentage = 0
         let res = await this.$http.post('/taskReliability/SimulatAssess/analyze', this.dataForm)
         if (res.success) {
-          this.timers = window.setInterval(this.getStroke, 1000)
+          console.log(res.data, 'res.data')
+          if (res.data && res.data.length > 0) {
+            this.modelCheckResult = res.data
+            this.dialogVisible = true
+          } else {
+            this.timers = window.setInterval(this.getStroke, 1000)
+          }
         }
+      },
+      displayProcess() {
+        this.$refs.process.$refs.dialog.init()
       }
     }
   }

--
Gitblit v1.9.1