From a8ce806c8a81f685fa9fafaa453820197ced9961 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 10 十二月 2024 10:39:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 web/src/views/modules/taskReliability/SimulatHistory.vue |  147 +++++++++++++++++++++++++++++++------------------
 1 files changed, 93 insertions(+), 54 deletions(-)

diff --git a/web/src/views/modules/taskReliability/SimulatHistory.vue b/web/src/views/modules/taskReliability/SimulatHistory.vue
index 5112b8e..a46b5d3 100644
--- a/web/src/views/modules/taskReliability/SimulatHistory.vue
+++ b/web/src/views/modules/taskReliability/SimulatHistory.vue
@@ -1,50 +1,55 @@
 <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="simulatHis">
-            <zt-select v-model="dataForm.id" :datas="simulatList" @change="onSimulatSelected"/>
-          </zt-form-item>
-          <zt-form-item label="閲囨牱鍛ㄦ湡" prop="samplPeriod">
-            <el-input v-model="dataForm.samplPeriod" >
-            </el-input>
-          </zt-form-item>
-          <zt-form-item label="浠跨湡鎬绘椂闀�" prop="taskDuration">
-            <el-input v-model="dataForm.taskDuration" >
-            </el-input>
-          </zt-form-item>
-        </el-form>
-        <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"/>
-            </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="simulatHis">
+          <zt-select v-model="dataForm.id" :datas="simulatList" @change="onSimulatSelected"/>
+        </zt-form-item>
+        <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod">
+          <el-input v-model="dataForm.samplPeriod" readonly="false" style="width: 150px;vertical-align: baseline;">
+            <template slot="append">鍒嗛挓</template>
+          </el-input>
+        </zt-form-item>
+        <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency">
+          <el-input v-model="dataForm.simulatFrequency" readonly="false" style="width: 150px;vertical-align: baseline;">
+          </el-input>
+        </zt-form-item>
+        <el-dropdown style="margin-left: 10px" @command="download">
+          <el-button type="primary">
+            涓嬭浇xml<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item command="1">杈撳叆xml</el-dropdown-item>
+            <el-dropdown-item command="2">杈撳嚭xml</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+      </el-form>
+      <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="5" :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>
   </div>
 </template>
 
 <script>
   import SimulatCurve from "./SimulatCurve";
-  import SimulatData from "./SimulatData";
   import ProductModelTree from "../basicInfo/ProductModelTree";
+  import qs from "qs";
+  import Cookies from "js-cookie";
 
 
   export default {
@@ -56,11 +61,9 @@
         productList: [],
         simulatList: [],
         taskList: [],
-        MTBF: '',
-        MTTR: '',
         dataForm: {
           id: '',
-          taskDuration:'',
+          taskDuration: '',
           pid: '',
           productId: '',
           showProductId: '',
@@ -73,18 +76,36 @@
       }
     },
     mounted() {
-      this.getProductList()
+        this.getProductList(Cookies.get('productId'))
     },
     components: {
       ProductModelTree,
       SimulatCurve,
-      SimulatData
     },
 
     methods: {
-      async getProductList() {
+      getPath(){
+        if (Cookies.get('productId') != null){
+          this.dataForm.id = Cookies.get('fzId')
+          this.dataForm.productId = Cookies.get('productId')
+          this.dataForm.taskModelId = Cookies.get('taskModelId')
+          console.log(this.dataForm.id)
+          this.getTaskList()
+          this.$nextTick(() => {
+            this.onProductSelected({id:this.dataForm.productId})
+            this.onTaskSelected({id:Cookies.get('taskModelId')})
+            this.onSimulatSelected({id:Cookies.get('fzId')})
+          })
+        }
+      },
+      async getProductList(productId) {
         let res = await this.$http.get('/basicInfo/XhProductModel/getTaskProductList')
         this.productList = res.data
+        if(productId!=null){
+          this.getPath()
+        }else{
+          this.onProductSelected(this.productList[0])
+        }
       },
       async getTaskList() {
         let params = {
@@ -96,7 +117,6 @@
       },
       async getSimulatList() {
         let params = {
-          productId: this.dataForm.productId,
           taskModelId: this.dataForm.taskModelId
         }
         let res = await this.$http.get('/taskReliability/SimulatAssess/getSimulatList', {params: params})
@@ -104,9 +124,11 @@
         this.simulatList = res.data
       },
       onTreeSelected(data) {
-        console.log(data, 'onProductSelected')
-        this.dataForm.showProductId = data.id
-        this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
+        if (this.dataForm.id) {
+          console.log(data, 'onProductSelected')
+          this.dataForm.showProductId = data.dataId
+          this.$refs.SimulatCurve.getProductEcharts(this.dataForm);
+        }
       },
       // 鑾峰彇淇℃伅
       onProductSelected(data) {
@@ -115,28 +137,45 @@
         this.dataForm.productId = data.id
         this.getTaskList()
         this.dataForm.taskModelId = ''
+        this.$nextTick(() => {
+          this.$refs.ProductModelTree.getProductList()
+        })
       },
       onTaskSelected(data) {
         console.log(data, ' onProductSelected(data)')
         this.dataForm.taskModelId = data.id
         this.getSimulatList()
         this.dataForm.id = ''
+        console.log(this.dataForm.taskModelId)
       },
-      onSimulatSelected(data) {
+      async onSimulatSelected(data) {
         this.dataForm.id = data.id
-        this.dataForm.samplPeriod = data.samplPeriod
-        this.getSimulatParams()
-        this.$refs.SimulatCurve.initEcharts(this.dataForm)
-      },
-      async getSimulatParams() {
+        console.log(data)
         let params = {
           id: this.dataForm.id,
           taskModelId: this.dataForm.taskModelId
         }
         let res = await this.$http.get('/taskReliability/SimulatAssess/getSimulatParams', {params: params})
-        this.dataForm.taskDuration = res.data.taskDuration
         this.dataForm.samplPeriod = res.data.samplPeriod
-      }
+        this.dataForm.simulatFrequency = res.data.simulatFrequency
+        this.$nextTick(() => {
+          this.$refs.SimulatCurve.initEcharts(this.dataForm)
+        })
+      },
+      async download(selsect) {
+        if (this.dataForm.id) {
+          let param = qs.stringify({
+            'token': Cookies.get('token'),
+            type: 'fz',
+            xml: selsect,
+            id: this.dataForm.id
+          })
+          let apiURL = `/taskReliability/SimulatAssess/downloadXml`
+          window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${param}`
+        } else {
+          this.$alert('杩樻湭閫夋嫨浠跨湡璁板綍')
+        }
+      },
     }
   }
 </script>

--
Gitblit v1.9.1