From 798610ea27080fbc416997ad573cb1f1f1ab1ae2 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 30 七月 2024 11:08:52 +0800 Subject: [PATCH] 修改温度循环bug --- src/components/view/a6-device.vue | 154 +++++++--- src/components/do/a6-device/state.vue | 13 src/components/do/a6-device/check.vue | 13 src/components/do/a6-device/fault.vue | 13 src/util/echarts.js | 69 ++++ src/components/do/a6-device/maintenance.vue | 13 src/assets/api/controller.js | 1 src/components/tool/echart.vue | 3 src/components/do/a6-device/operation-overview.vue | 154 ++++++++++ src/components/do/b1-sample/detail.vue | 11 src/main.js | 8 src/components/do/a6-device/record.vue | 13 src/components/do/b1-inspect-order-plan/Inspection.vue | 14 src/components/do/a6-device/files.vue | 262 ++++++++++++++++++ src/components/do/a6-device/borrow.vue | 13 src/components/do/a6-device/check-and-accept.vue | 21 src/App.vue | 5 src/components/do/a6-device/calibration.vue | 13 18 files changed, 713 insertions(+), 80 deletions(-) diff --git a/src/App.vue b/src/App.vue index f010b6d..676b0b2 100644 --- a/src/App.vue +++ b/src/App.vue @@ -318,4 +318,9 @@ font-size: 12px; line-height: 32px; } + .single-line-ellipsis { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } </style> diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index 1c342d8..7293e2c 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -154,6 +154,7 @@ deleteDataAcquisitionConfiguration: "/deviceScope/deleteDataAcquisitionConfiguration", // 鍒犻櫎鏁伴噰閰嶇疆 determineWhetherToCollectData: "/deviceScope/determineWhetherToCollectData", // 鍒ゆ柇璇ヨ澶囨槸鍚﹀彲浠ユ暟閲� dataCollection: "/deviceScope/dataCollection", // 鏁伴噰-鏁版嵁閲囬泦 + treeDevice: "/deviceScope/treeDevice", // 璁惧鏍戝舰 } const insOrder = { diff --git a/src/components/do/a6-device/borrow.vue b/src/components/do/a6-device/borrow.vue new file mode 100644 index 0000000..cfcc90b --- /dev/null +++ b/src/components/do/a6-device/borrow.vue @@ -0,0 +1,13 @@ +<template> + <div>璁惧鍊熺敤</div> +</template> + +<script> +export default { + +} +</script> + +<style scoped> + +</style> diff --git a/src/components/do/a6-device/calibration.vue b/src/components/do/a6-device/calibration.vue new file mode 100644 index 0000000..8e0ff62 --- /dev/null +++ b/src/components/do/a6-device/calibration.vue @@ -0,0 +1,13 @@ +<template> + <div>璁惧鏍″噯</div> +</template> + +<script> +export default { + +} +</script> + +<style scoped> + +</style> diff --git a/src/components/do/a6-device/check-and-accept.vue b/src/components/do/a6-device/check-and-accept.vue index 322eab3..8882f55 100644 --- a/src/components/do/a6-device/check-and-accept.vue +++ b/src/components/do/a6-device/check-and-accept.vue @@ -1,8 +1,13 @@ -<!-- - * @Author: licp lichunping@guanfang.com.cn - * @Date: 2024-07-29 15:44:19 - * @LastEditors: licp lichunping@guanfang.com.cn - * @LastEditTime: 2024-07-29 16:11:59 - * @FilePath: \center-lims-before\src\components\do\a6-device\check-and-accept.vue - * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE ---> +<template> + <div>璁惧楠屾敹</div> +</template> + +<script> +export default { + +} +</script> + +<style scoped> + +</style> diff --git a/src/components/do/a6-device/check.vue b/src/components/do/a6-device/check.vue new file mode 100644 index 0000000..8f3c0ed --- /dev/null +++ b/src/components/do/a6-device/check.vue @@ -0,0 +1,13 @@ +<template> + <div>璁惧鏍告煡</div> +</template> + +<script> +export default { + +} +</script> + +<style scoped> + +</style> diff --git a/src/components/do/a6-device/fault.vue b/src/components/do/a6-device/fault.vue new file mode 100644 index 0000000..41b9377 --- /dev/null +++ b/src/components/do/a6-device/fault.vue @@ -0,0 +1,13 @@ +<template> + <div>璁惧鏁呴殰</div> +</template> + +<script> +export default { + +} +</script> + +<style scoped> + +</style> diff --git a/src/components/do/a6-device/files.vue b/src/components/do/a6-device/files.vue index 96e1efa..4b05956 100644 --- a/src/components/do/a6-device/files.vue +++ b/src/components/do/a6-device/files.vue @@ -1,8 +1,254 @@ -<!-- - * @Author: licp lichunping@guanfang.com.cn - * @Date: 2024-07-29 15:43:42 - * @LastEditors: licp lichunping@guanfang.com.cn - * @LastEditTime: 2024-07-29 15:43:48 - * @FilePath: \center-lims-before\src\components\do\a6-device\files.vue - * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE ---> +<template> + <div class="page"> + <div class="page-header"> + <h4><span class="line"></span><span>璁惧妗f</span></h4> + <div class="btns"> + <el-button type="primary" size="small">淇妗f</el-button> + <el-button type="primary" size="small">娣诲姞闄勪欢</el-button> + </div> + </div> + <el-divider></el-divider> + <el-row :gutter="20"> + <el-col :span="6"> + <el-image src="" fit="fill" style="width: 200px;height: 300px;border: 1px solid #000;border-radius: 10px;margin-left: 30px;margin-top: 20px;"> + <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline" style="font-size: 40px;"></i> + </div> + </el-image> + </el-col> + <el-col :span="9"> + <div class="form-item"> + <label>璁惧鍚嶇О</label> + <p>鎵弿鐢甸暅(甯﹁兘璋�)</p> + </div> + <div class="form-item"> + <label>澶х被</label> + <p>鍒嗘瀽浠櫒</p> + </div> + <div class="form-item"> + <label>鍐呴儴缂栧彿</label> + <p>鎵弿鐢甸暅(甯﹁兘璋�)</p> + </div> + <div class="form-item"> + <label>鐢熶骇鍘傚</label> + <p>-</p> + </div> + <div class="form-item"> + <label>璧勪骇缂栫爜</label> + <p>-</p> + </div> + <div class="form-item"> + <label>鍑哄巶鏃ユ湡</label> + <p>2024-7-20</p> + </div> + <div class="form-item"> + <label>鍚敤鏃ユ湡</label> + <p>2024-7-20</p> + </div> + <div class="form-item"> + <label>鏍稿噯鍛ㄦ湡(鏈�)</label> + <p>12</p> + </div> + <div class="form-item"> + <label>妫�娴嬬被鍨�</label> + <p>12</p> + </div> + <div class="form-item"> + <label>鎶ュ簾鏃堕棿</label> + <p>2024-7-20</p> + </div> + <div class="form-item"> + <label>鍑嗙‘搴﹂噺鍊�</label> + <p>-</p> + </div> + <div class="form-item"> + <label>琚巿鏉冧汉</label> + <p>-</p> + </div> + <div class="form-item"> + <label>缁翠慨璁板綍</label> + <p>-</p> + </div> + </el-col> + <el-col :span="9"> + <div class="form-item"> + <label>瑙勬牸鍨嬪彿</label> + <p>JSM-6010LA</p> + </div> + <div class="form-item"> + <label>缁嗙被</label> + <p>鍒嗘瀽浠櫒</p> + </div> + <div class="form-item"> + <label>璁惧鐘舵��</label> + <el-radio-group v-model="form.value1" disabled> + <el-radio :label="0">鍚堟牸</el-radio> + <el-radio :label="1">缁翠慨</el-radio> + </el-radio-group> + </div> + </el-col> + </el-row> + <h4 style="margin-bottom: 10px;margin-top: 10px;"><span class="line"></span><span>闄勪欢鍜岀浉鍏虫枃妗�</span></h4> + <div class="tables"> + <ValueTable ref="ValueTable" + :url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay" + :delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex" style="min-height: 400px;"/> + </div> + </div> +</template> + +<script> +import ValueTable from '../../tool/value-table.vue' +export default { + components: { + ValueTable + }, + data(){ + return{ + componentData: { + entity: { + week: null, + weekDay: null, + dateTime: null, + name:null, + orderBy: { + field: 'id', + order: 'desc' + } + }, + isIndex: true, + showSelect: false, + select: false, + isPage:false, + do: [{ + id: 'getFile', + font: '闄勪欢', + type: 'text', + method: 'getFile' + }, { + id: 'handleLook', + font: '鏌ョ湅', + type: 'text', + method: 'handleLook' + },{ + id: 'delete', + font: '鍒犻櫎', + type: 'text', + method: 'doDiy', + disabFun: (row, index) => { + return row.state === '宸插鏍�' || row.state === '宸叉壒鍑�' + } + }], + tagField: { + shift:{ + select:[] + }, + state:{ + select:[ + { + label:'宸叉彁浜�', + value:'宸叉彁浜�', + type:'primary' + }, + { + label:'宸插鏍�', + value:'宸插鏍�', + type:'warning' + }, + { + label:'宸叉壒鍑�', + value:'宸叉壒鍑�', + type:'success' + }, + ] + }, + weekDay:{ + select:[] + } + }, + linkEvent: {}, + selectField: { + shift:{ + select:[] + }, + state:{ + select:[ + { + label:'宸叉彁浜�', + value:'宸叉彁浜�', + type:'primary' + }, + { + label:'宸插鏍�', + value:'宸插鏍�', + type:'warning' + }, + { + label:'宸叉壒鍑�', + value:'宸叉壒鍑�', + type:'success' + }, + ] + }, + weekDay:{ + select:[] + } + }, + requiredAdd: [], + requiredUp: [] + }, + upIndex:0 + } + } + +} +</script> + +<style scoped> +.page{ + width: 100%; + height: 100%; + overflow-y: auto; + overflow-x: hidden; +} +.page-header{ + display: flex; + justify-content: space-between; +} +h4{ + display: flex; + align-items: center; +} +h4 .line{ + display: inline-block; + width: 3px; + height: 16px; + background: #3A7BFA; + margin-right: 4px; +} +.tables{ + width: calc(100vw - 390px); +} +.el-image { + position: relative; +} +.el-icon-picture-outline{ + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%,-50%); +} +.form-item{ + line-height: 34px; + display: flex; + align-items: center; + font-size: 14px; +} +.form-item label{ + width: 110px; + display: inline-block; + text-align: right; + margin-right: 20px; + color: #999; +} +</style> diff --git a/src/components/do/a6-device/maintenance.vue b/src/components/do/a6-device/maintenance.vue new file mode 100644 index 0000000..8a8a962 --- /dev/null +++ b/src/components/do/a6-device/maintenance.vue @@ -0,0 +1,13 @@ +<template> + <div>璁惧缁存姢</div> +</template> + +<script> +export default { + +} +</script> + +<style scoped> + +</style> diff --git a/src/components/do/a6-device/operation-overview.vue b/src/components/do/a6-device/operation-overview.vue index 390d388..a1084da 100644 --- a/src/components/do/a6-device/operation-overview.vue +++ b/src/components/do/a6-device/operation-overview.vue @@ -1,13 +1,161 @@ <template> - <div>杩愯鎬昏</div> + <div class="page"> + <echart-module :id="'page-left'" :config="chartConfig" :datas="chartData" class="page-left"></echart-module> + <div class="page-right"> + <div class="form-item"> + <label>鏁呴殰娆℃暟</label> + <span>0</span> + </div> + <div class="form-item"> + <label>鏈�杩戞晠闅滄棩鏈�</label> + <el-date-picker + v-model="form.value1" + type="date" + size="small" + placeholder="閫夋嫨鏃ユ湡" style="width: calc(100% - 200px);" readonly> + </el-date-picker> + </div> + <div class="form-item"> + <label>鏈�杩戞牎鍑嗘棩鏈�</label> + <el-date-picker + v-model="form.value1" + type="date" + size="small" + placeholder="閫夋嫨鏃ユ湡" style="width: calc(100% - 200px);" readonly> + </el-date-picker> + </div> + <div class="form-item"> + <label>涓嬫鏍″噯鏃ユ湡</label> + <el-date-picker + v-model="form.value1" + type="date" + size="small" + placeholder="閫夋嫨鏃ユ湡" style="width: calc(100% - 200px);" readonly> + </el-date-picker> + </div> + <div class="form-item"> + <label>鏍″噯鎬荤粨璁�</label> + <el-radio-group v-model="form.value1" disabled> + <el-radio :label="0">鍚堟牸</el-radio> + <el-radio :label="1">涓嶅悎鏍�</el-radio> + <el-radio :label="2">鍏朵粬</el-radio> + </el-radio-group> + </div> + <div class="form-item"> + <label>鏈�杩戞牳鏌ユ棩鏈�</label> + <el-date-picker + v-model="form.value1" + type="date" + size="small" + placeholder="閫夋嫨鏃ユ湡" style="width: calc(100% - 200px);" readonly> + </el-date-picker> + </div> + <div class="form-item"> + <label>涓嬫鏍告煡鏃ユ湡</label> + <el-date-picker + v-model="form.value1" + type="date" + size="small" + placeholder="閫夋嫨鏃ユ湡" style="width: calc(100% - 200px);" readonly> + </el-date-picker> + </div> + <div class="form-item"> + <label>鏍告煡鎬荤粨璁�</label> + <el-radio-group v-model="form.value1" disabled> + <el-radio :label="0">鍚堟牸</el-radio> + <el-radio :label="1">涓嶅悎鏍�</el-radio> + <el-radio :label="2">鍏朵粬</el-radio> + </el-radio-group> + </div> + <div class="form-item"> + <label>鏈�杩戠淮鎶ゆ棩鏈�</label> + <el-date-picker + v-model="form.value1" + type="date" + size="small" + placeholder="閫夋嫨鏃ユ湡" style="width: calc(100% - 200px);" readonly> + </el-date-picker> + </div> + <div class="form-item"> + <label>涓嬫缁存姢鏃ユ湡</label> + <el-date-picker + v-model="form.value1" + type="date" + size="small" + placeholder="閫夋嫨鏃ユ湡" style="width: calc(100% - 200px);" readonly> + </el-date-picker> + </div> + <div class="form-item"> + <label>缁存姢绫诲瀷</label> + <el-radio-group v-model="form.value1" disabled> + <el-radio :label="0">浣跨敤鍓嶅悗缁存姢</el-radio> + <el-radio :label="1">璁″垝涓淮鎶�</el-radio> + </el-radio-group> + </div> + <div class="form-item"> + <label>娴嬮噺椤圭洰</label> + <span>1111111</span> + </div> + </div> + </div> </template> <script> +import EchartModule from '../../tool/echart.vue' export default { - + components: {EchartModule}, + data(){ + return { + chartConfig:{ + height: '', + isLoading:true, + type:'gauge' + }, + chartData:{ + xData:[], + yData:[ + { + title:'浠诲姟鎺ユ敹閲�', + data:[] + } + ] + }, + form:{ + value1:'' + } + } + } } </script> <style scoped> - +.page{ + width: 100%; + height: 100%; + display: flex; +} +.page-left{ + width: 420px; + height: 420px; + margin-top: 40px; + margin-right: 40px; +} +.page-right{ + flex: 1; + /* background: red; */ +} +.form-item{ + line-height: 42px; + font-size: 14px; +} +.page-right label{ + color: #999; + width: 110px; + display: inline-block; + text-align: right; + margin-right: 20px; +} +>>>.el-radio__input.is-disabled+span.el-radio__label{ + color: #606266 !important; +} </style> diff --git a/src/components/do/a6-device/record.vue b/src/components/do/a6-device/record.vue new file mode 100644 index 0000000..0d26a3d --- /dev/null +++ b/src/components/do/a6-device/record.vue @@ -0,0 +1,13 @@ +<template> + <div>璁惧璁板綍</div> +</template> + +<script> +export default { + +} +</script> + +<style scoped> + +</style> diff --git a/src/components/do/a6-device/state.vue b/src/components/do/a6-device/state.vue new file mode 100644 index 0000000..fa4c76c --- /dev/null +++ b/src/components/do/a6-device/state.vue @@ -0,0 +1,13 @@ +<template> + <div>璁惧鍋滅敤/鍚敤</div> +</template> + +<script> +export default { + +} +</script> + +<style scoped> + +</style> diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index a9c309d..2423696 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -531,7 +531,7 @@ prop="value0" label="澶栫" align="center" - width="80" :key="(new Date())+'1'"> + width="80" :key="(new Date().getTime())+'1234567'"> <template slot="header"> {{ '澶栫'+(index+1) }} </template> @@ -543,7 +543,7 @@ prop="value1" label="鍐呯" align="center" - width="80" :key="(new Date())+'2'"> + width="80" :key="(new Date().getTime())+'23333333'"> <template slot="header"> {{ '鍐呯'+(index+1) }} </template> @@ -554,7 +554,7 @@ <el-table-column prop="comValue" align="center" - min-width="150" :key="(new Date())+'3'"> + min-width="150" :key="(new Date().getTime())+'364654654'"> <template slot="header"> {{ '琛板噺绯绘暟'+item }} </template> @@ -567,7 +567,7 @@ label="琛板噺宸�" align="center" v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'" - min-width="90" :key="(new Date())+'4'"> + min-width="90" :key="(new Date().getTime())+'434634634634'"> <template slot="header"> {{ '琛板噺宸�'+(index+1) }} </template> @@ -579,7 +579,7 @@ prop="insResult" label="缁撹" align="center" - min-width="70" v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'" :key="(new Date())+'5'"> + min-width="70" v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'" :key="(new Date().getTime())+'53457689809808-'"> <template slot="header"> {{ '缁撹'+(index+1) }} </template> @@ -1391,9 +1391,11 @@ let arr1 = [] this.wareLength = []; for(let i=0;i<arr.length;i++){ - arr1.push([]) this.wareLength.push(arr[i][0].inspectionItemClass) } + for(let i=0;i<arr[0].length;i++){ + arr1.push([]) + } arr.forEach((item,index)=>{ item.forEach((m,i)=>{ try { diff --git a/src/components/do/b1-sample/detail.vue b/src/components/do/b1-sample/detail.vue index 938461d..f76f413 100644 --- a/src/components/do/b1-sample/detail.vue +++ b/src/components/do/b1-sample/detail.vue @@ -66,12 +66,12 @@ </el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」鍒嗙被" min-width="100" show-overflow-tooltip></el-table-column> + <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」鍒嗙被" min-width="100" show-overflow-tooltip v-if="PROJECT=='瑁呭鐢电紗'"></el-table-column> <el-table-column prop="laboratory" label="瀹為獙瀹�" min-min-width="100" show-overflow-tooltip></el-table-column> <el-table-column prop="unit" label="鍗曚綅" min-width="100" show-overflow-tooltip></el-table-column> - <el-table-column prop="equipName" label="璁惧" min-width="100" show-overflow-tooltip> + <el-table-column prop="equipValue" label="璁惧" min-width="100" show-overflow-tooltip> <template slot-scope="scope"> - {{handleData(scope.row.equipName)}} + {{handleData(scope.row.equipValue)}} </template> </el-table-column> <el-table-column prop="entrustCode" label="濮旀墭缂栧彿" min-width="100" show-overflow-tooltip></el-table-column> @@ -135,9 +135,12 @@ }) }, handleData(e){ - let info = JSON.parse(e).map(item => { + let info = '' + if(e){ + info = JSON.parse(e).map(item => { return item.v; }).join(',') + } return info } } diff --git a/src/components/tool/echart.vue b/src/components/tool/echart.vue index a9bbaf8..d0f7674 100644 --- a/src/components/tool/echart.vue +++ b/src/components/tool/echart.vue @@ -79,6 +79,9 @@ case 'pie': iuCharts.drawPie(this.chart,this.datas) break; + case 'gauge': + iuCharts.drawGauge(this.chart,this.datas) + break; default: break; } diff --git a/src/components/view/a6-device.vue b/src/components/view/a6-device.vue index 2ea9f0b..b904515 100644 --- a/src/components/view/a6-device.vue +++ b/src/components/view/a6-device.vue @@ -1,12 +1,24 @@ <template> <div class="device-page"> <div class="device-left"> - <el-input placeholder="杈撳叆璁惧鍚嶇О" suffix-icon="el-icon-search" v-model="search" size="small" - @keyup.enter="handleSearch" - style="margin-bottom: 5px;" clearable @change="handleSearch"></el-input> - <ul v-loading="loading"> - <li v-for="(item,index) in 28" :title="item" :class="{active:index==current}" @click="getCurrentDevice(item,index)">璁惧鍒楄〃璁惧鍒楄〃璁惧鍒楄〃璁惧鍒楄〃</li> - </ul> + <el-input placeholder="杈撳叆璁惧鍚嶇О" suffix-icon="el-icon-search" v-model="deviceName" size="small" + @keyup.enter="geList" + style="margin-bottom: 5px;" clearable @change="geList"></el-input> + <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="id" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" + @node-collapse="nodeClose" v-loading="loading" :expand-on-click-node="false" + :default-expanded-keys="expandedKeys" + style="height:calc(100% - 46px);overflow-y: scroll;scrollbar-width: none;"> + <div class="custom-tree-node" slot-scope="{ node, data }"> + <el-row style="width: 100%;"> + <el-col :span="21" :title="data.label"> + <span class="single-line-ellipsis" style="width: 100%;display: inline-block;"> + <i :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i> + {{ data.label }} + </span> + </el-col> + </el-row> + </div> + </el-tree> </div> <div class="device-right"> <el-radio-group v-model="currentPage" size="small"> @@ -22,14 +34,31 @@ <script> import operationOverview from '../do/a6-device/operation-overview.vue'; +import files from '../do/a6-device/files.vue'; +import checkAndAccept from '../do/a6-device/check-and-accept.vue'; +import calibration from '../do/a6-device/calibration.vue'; +import check from '../do/a6-device/check.vue'; +import maintenance from '../do/a6-device/maintenance.vue'; +import borrow from "../do/a6-device/borrow.vue"; +import fault from "../do/a6-device/fault.vue"; +import record from '../do/a6-device/record.vue'; +import state from '../do/a6-device/state.vue'; export default { components:{ operationOverview, + files, + checkAndAccept, + calibration, + check, + maintenance, + borrow, + fault, + record, + state, }, data(){ return { - search:'', - current:0, + deviceName:'', loading:false, tabList:[ { @@ -37,53 +66,96 @@ title:'璁惧杩愯鎬昏', }, { - id:1, + id:'files', title:'璁惧妗f', }, { - id:2, + id:'checkAndAccept', title:'璁惧楠屾敹', }, { - id:3, + id:'calibration', title:'璁惧鏍″噯', }, { - id:4, + id:'check', title:'璁惧鏍告煡', }, { - id:5, + id:'maintenance', title:'璁惧缁存姢', }, { - id:6, + id:'borrow', title:'璁惧鍊熺敤', }, { - id:7, + id:'fault', title:'璁惧鏁呴殰', }, { - id:8, + id:'record', title:'浣跨敤璁板綍', }, { - id:9, + id:'state', title:'璁惧鍋滅敤/鍚敤', }, ], - currentPage:'operationOverview' + currentPage:'operationOverview', + expandedKeys:[], + selectTree:'', + list:[] } }, + mounted(){ + this.geList() + }, methods:{ - handleSearch(m){ - // this.loading = true; + geList(){ + this.loading = true; + this.$axios.get(this.$api.deviceScope.treeDevice+'?deviceName='+this.deviceName).then(res => { + this.loading = false; + let data = res.data + data.forEach((item,index) => { + item.id = index +1 + item.label = item.largeCategory + item.children.forEach((m,i)=>{ + m.label = m.deviceName + }) + }) + this.list = data + }) }, - getCurrentDevice(item,index){ - this.current = index; + handleNodeClick(val, node, el) { //鏍戠殑鍊� + this.selectTree = '' + this.getNodeParent(node) + this.selectTree = this.selectTree.replace(' - ', '') + let data = this.selectTree.split(' - ') + let data2 = '' + for (let index = data.length - 1; index >= 0; index--) { + data2 += " - " + data[index] + } + this.selectTree = data2.replace(' - ', '') + this.currentPage = 'operationOverview'; - } + }, + getNodeParent(val) { + if (val.parent != null) { + if(val.data.children === null){ + this.selectTree += ' - ' + val.label + ' - ' + 'null' + }else{ + this.selectTree += ' - ' + val.label + } + this.getNodeParent(val.parent) + } + }, + nodeOpen(data, node, el) { + $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') + }, + nodeClose(data, node, el) { + $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') + }, } } </script> @@ -94,6 +166,7 @@ padding-top: 10px; padding-bottom: 10px; box-sizing: border-box; + width: 100%; } .device-left{ width: 200px; @@ -103,30 +176,6 @@ border-radius: 16px; box-sizing: border-box; padding: 10px 16px; -} -.device-left ul{ - list-style-type: none; - padding: 0; - margin: 0; - font-size: 14px; - color: #999999; - cursor: pointer; - margin-top: 10px; - height: calc(100% - 46px); - overflow-y: scroll; -} -.device-left ul li{ - white-space: nowrap; /* 绂佹鎹㈣ */ - overflow: hidden; /* 闅愯棌婧㈠嚭鐨勬枃鏈� */ - text-overflow: ellipsis; /* 鐢ㄧ渷鐣ュ彿琛ㄧず婧㈠嚭鐨勬枃鏈� */ - padding: 3px 0; - -} -.device-left ul li:hover{ - color: #3A7BFA; -} -.device-left ul li.active{ - color: #3A7BFA; } .device-right{ background: #fff; @@ -138,5 +187,16 @@ .device-right-content{ margin-top: 10px; height: calc(100% - 42px); + width: 100%; +} +.custom-tree-node { + width: 100%; + /* line-height: 32px; */ + font-size: 14px; +} + +.node_i { + color: orange; + font-size: 18px; } </style> diff --git a/src/main.js b/src/main.js index 5009ba5..01126d7 100644 --- a/src/main.js +++ b/src/main.js @@ -15,12 +15,12 @@ Vue.prototype.$Big = Big; // 椤圭洰鍒囨崲 -// Vue.prototype.PROJECT = '妫�娴嬩腑蹇�' -Vue.prototype.PROJECT = '瑁呭鐢电紗' +Vue.prototype.PROJECT = '妫�娴嬩腑蹇�' +// Vue.prototype.PROJECT = '瑁呭鐢电紗' //鏈湴 // Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80"; // const javaApi = 'http://127.0.0.1:8001'; -// const javaApi = 'http://192.168.92.249:8001'; +const javaApi = 'http://192.168.92.249:8001'; //浜� // Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080"; @@ -32,7 +32,7 @@ //瑁呭鐢电紗娴嬭瘯搴� // Vue.prototype.LOCATIONVUE = "http://10.16.173.59"; -const javaApi = 'http://10.16.173.59:8001'; +// const javaApi = 'http://10.16.173.59:8001'; // const javaApi = 'http://192.168.92.249:8001'; Vue.prototype.HaveJson = (val) => { diff --git a/src/util/echarts.js b/src/util/echarts.js index eec1f8c..156ead4 100644 --- a/src/util/echarts.js +++ b/src/util/echarts.js @@ -265,6 +265,75 @@ ] }; chart.setOption(option); + }, + drawGauge:function(chart,params){ + let option = { + tooltip: { + formatter: "{a} <br/>{b} : {c}%" + }, + toolbox: { + feature: { + restore: {}, + saveAsImage: {} + } + }, + series: [ + { + type: 'gauge', + axisLine: { + lineStyle: { + width: 28, + color: [ + [0.3, '#67e0e3'], + [0.7, '#37a2da'], + [1, '#fd666d'] + ] + } + }, + pointer: { + itemStyle: { + color: 'auto' + } + }, + axisTick: { + distance: -28, + length: 8, + lineStyle: { + color: '#fff', + width: 2 + } + }, + splitLine: { + distance: -28, + length: 28, + lineStyle: { + color: '#fff', + width: 4 + } + }, + axisLabel: { + color: 'inherit', + distance: 40, + fontSize: 14 + }, + detail: { + valueAnimation: true, + formatter: '{value} %', + color: 'inherit', + textStyle: { + fontSize: 30, + align: 'center', + }, + }, + data: [ + { + value: 70 + } + ] + } + ] + }; + chart.setOption(option,true); } } -- Gitblit v1.9.3