From 9ccfd089b6cac9f8ba0cb7cadfee01857a715f0d Mon Sep 17 00:00:00 2001 From: xyc <jc_xiong@hotmail.com> Date: 星期六, 12 十月 2024 10:34:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- web/src/views/modules/taskReliability/SchemeCompar.vue | 245 ++++++++++++++++++++++++------------------------ 1 files changed, 123 insertions(+), 122 deletions(-) diff --git a/web/src/views/modules/taskReliability/SchemeCompar.vue b/web/src/views/modules/taskReliability/SchemeCompar.vue index 7efb8d0..6504887 100644 --- a/web/src/views/modules/taskReliability/SchemeCompar.vue +++ b/web/src/views/modules/taskReliability/SchemeCompar.vue @@ -1,68 +1,73 @@ <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"> - <zt-form-item label="浜у搧鑺傜偣" prop="productId" width="100px"> - <zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/> - </zt-form-item> - <zt-form-item label="鍙潬鎬ф柟妗�" prop="taskModelId" width="500px"> - <zt-select style="width: 400px" v-model="dataForm.name" :datas="schemeList" - @change="onSchemeSelected" :multiple="true"/> - </zt-form-item> - <zt-form-item> - <zt-button @click="compair()">鏂规瀵规瘮</zt-button> - </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" basic="4" :productId="dataForm.productId"/> - </div> - </el-col> - <el-col :span="20"> - <div style="margin-top: 20px;position: relative;height: 600px"> - <div v-if="isShow"> - <el-button v-if="isZk" type="info" size="small" icon="el-icon-caret-bottom" - style="position: absolute;right: 10%;top: 10%;z-index: 1" @click="zk()"></el-button> - <el-button v-if="!isZk" type="info" size="small" icon="el-icon-caret-right" - style="position: absolute;right: 10%;top: 10%;z-index: 1" @click="zk()"></el-button> - <div v-if="isZk" style="position: absolute;right: 10%;top: 15%"> - <el-table :data="tableData" border style="width: 400px"> - <el-table-column - prop="name" - label="鏂规鍚嶇О" - > - </el-table-column> - <el-table-column - prop="MTBF" - label="MTBF" - width="80px" - align="right"> - </el-table-column> - <el-table-column - prop="MTTR" - label="MTTR" - width="80px" - align="right"> - </el-table-column> - <el-table-column - prop="MSR" - label="MSR" - width="80px" - align="right"> - </el-table-column> - </el-table> - </div> - </div> - <div :disabled="isShow"> - <div class="echart" id="myChart" :style="myChartStyle"></div> - </div> - </div> - </el-col> + <el-form :inline="true" :model="dataForm" ref="dataForm" :disabled="dataForm.disabled"> + <zt-form-item label="浜у搧鑺傜偣" prop="productId" width="100px"> + <zt-select v-model="dataForm.productId" :datas="productList" @change="onProductSelected"/> + </zt-form-item> + <zt-form-item label="鍙潬鎬ф柟妗�" prop="taskModelId" width="500px"> + <zt-select style="width: 400px" v-model="dataForm.taskModelId" :datas="schemeList" + @change="onTaskSelected" :multiple="true"/> + </zt-form-item> + <zt-form-item> + <zt-button @click="compair()">鏂规瀵规瘮</zt-button> + </zt-form-item> + </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="4" :productId="dataForm.productId"/> </div> - </div> + </el-col> + <el-col :span="20"> + <div class="fa-card-a" style="position: relative;height: calc(100vh - 230px)"> + <div v-if="isShow"> + <el-button v-if="isZk" type="info" size="small" icon="el-icon-caret-bottom" + style="position: absolute;right: 10%;top: 9%;z-index: 1" @click="zk()"></el-button> + <el-button v-if="!isZk" type="info" size="small" icon="el-icon-caret-right" + style="position: absolute;right: 10%;top: 9%;z-index: 1" @click="zk()"></el-button> + <div v-if="isZk" style="position: absolute;right: 10%;top: 13%"> + <el-table :data="tableData" border style="width: 500px"> + <el-table-column + prop="name" + label="鏂规鍚嶇О" + > + </el-table-column> + <el-table-column + prop="mtbf" + label="MTTF" + width="100px" + align="right"> + <template slot-scope="scope"> + <span>{{ keepNumber(scope.row.mtbf) }}</span> + </template> + </el-table-column> + <el-table-column + prop="mttr" + label="MTTR" + width="100px" + align="right"> + <template slot-scope="scope"> + <span>{{ keepNumber(scope.row.mttr) }}</span> + </template> + </el-table-column> + <el-table-column + prop="msr" + label="MSR" + width="100px" + align="right"> + <template slot-scope="scope"> + <span>{{ keepNumber(scope.row.mttr) }}</span> + </template> + </el-table-column> + </el-table> + </div> + </div> + <div :disabled="isShow"> + <div class="echart" id="SchemeCompar" :style="myChartStyle"></div> + </div> + </div> + </el-col> </el-row> </div> </template> @@ -80,48 +85,30 @@ isShow: false, isZk: true, productList: [], - schemeList: [ - { - id: 1, - name: '鏂规涓�' - }, { - id: 2, - name: '鏂规浜�' - }, { - id: 3, - name: '鏂规涓�' - } - ], + schemeList: [], dataForm: { id: '', - pid: '', + taskModelId: [], productId: '', showProductId: '', - taskModelId: '', dataType: 'fz', }, - tableData: [ - { - name: '鏂规涓�', - MTBF: '68.74', - MTTR: '0.43', - MSR: '0.85' - }, { - name: '鏂规浜�', - MTBF: '78.74', - MTTR: '0.52', - MSR: '0.86' - }, { - name: '鏂规涓�', - MTBF: '69.84', - MTTR: '0.62', - MSR: '0.88' - } - ], + xDataList: [], + seriesList: [], + tableData: [], + taskList: [], } }, mounted() { this.getProductList() + }, + computed: { + keepNumber() { //杩囨护鍣ㄤ繚鐣�4涓哄皬鏁� + return function (val) { // 瀵硅绠楀睘鎬ц繘琛屼紶鍙� + const numM = Number(val).toFixed(5); + return numM.substring(0, numM.length - 1); + } + }, }, components: { ProductModelTree, @@ -129,10 +116,13 @@ methods: { onTreeSelected(data) { - if (this.dataForm.id) { + if (this.dataForm.taskModelId.length > 0) { + console.log(this.dataForm.taskModelId) console.log(data, 'onProductSelected') this.dataForm.showProductId = data.id - this.$refs.SimulatCurve.getProductEcharts(this.dataForm); + this.$nextTick(() => { + this.compair() + }) } }, // 鑾峰彇淇℃伅 @@ -140,12 +130,16 @@ this.isSelect = true console.log(data, ' onProductSelected(data)') this.dataForm.productId = data.id + this.getTaskList() this.$nextTick(() => { this.$refs.ProductModelTree.getProductList() }) }, - onSchemeSelected(data) { - this.dataForm.id = data.id + onTaskSelected(data) { + console.log(data, 'onTaskSelected(data)') + for (let item of data) { + this.taskList.push(item.name) + } }, zk() { this.isZk = !this.isZk; @@ -155,42 +149,49 @@ this.productList = res.data this.onProductSelected(this.productList[0]) }, - compair() { + async getTaskList() { + let params = { + productId: this.dataForm.productId + } + let res = await this.$http.get('/taskReliability/Task/getTaskList', {params: params}) + console.log(res.data) + this.schemeList = res.data + }, + async compair() { + let params = { + taskList: this.dataForm.taskModelId, + showProductId: this.dataForm.showProductId + } + console.log(this.dataForm.taskModelId, 'this.dataForm.taskModelId') + let res = await this.$http.get('/taskReliability/SimulatAssess/SchemeCompar', {params: params}) + console.log(res.data, "res") + this.xDataList = res.data.xdataList + this.seriesList = res.data.curveList + this.tableData = res.data.dataList + this.isShow = true this.option = { xAxis: { - data: [0.0, 50.0, 100.0, 150.0, 200.0, 250.0, 300.0, 350.0, 400.0, 450.0, 500.0, 550.0], - name: '浠跨湡鎬绘椂闀�' + data: this.xDataList, + name: '浠跨湡鎬绘椂闀�', + type: 'category', + axisLabel: { + formatter: function (value) { + // 灏� X 杞村埢搴﹀�兼牸寮忓寲涓轰繚鐣欎袱浣嶅皬鏁扮殑瀛楃涓� + return parseFloat(value).toFixed(2); + } + } }, yAxis: { type: 'value', name: '鍙潬搴�', }, legend: { - data: ['鏂规涓�', '鏂规浜�', '鏂规涓�'] + data: this.taskList }, - series: [ - { - name: '鏂规涓�', - type: 'line', - smooth: true, - data: [1.0, 0.6, 0.39, 0.39, 0.24, 0.14, 0.08, 0.06, 0.06, 0.04, 0.02, 0.01, 0.01, 0.0, 0.0] - }, - { - name: '鏂规浜�', - type: 'line', - smooth: true, - data: [1.0, 0.8, 0.59, 0.58, 0.34, 0.35, 0.18, 0.16, 0.16, 0.04, 0.04, 0.02, 0.01, 0.1, 0.0] - }, - { - name: '鏂规涓�', - type: 'line', - smooth: true, - data: [1.0, 0.7, 0.45, 0.44, 0.38, 0.38, 0.15, 0.08, 0.08, 0.02, 0.02, 0.01, 0.01, 0.1, 0.0] - } - ] + series: this.seriesList }; - this.myChart = echart.init(document.getElementById("myChart")); + this.myChart = echart.init(document.getElementById("SchemeCompar")); console.log(this.option, ' this.option ') this.myChart.setOption(this.option); //闅忕潃灞忓箷澶у皬璋冭妭鍥捐〃 -- Gitblit v1.9.1