From 923446fa3ce8fe19be88c710b52a84b522973492 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 09 八月 2024 16:02:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/api/newpage.js | 25 ++++ src/views/screen/components/screen-data/index.vue | 16 + vue.config.js | 4 src/main.js | 4 src/views/screen/newPage/index.vue | 134 +++++++++++----------- src/views/system/point/region/index.vue | 1 src/views/screen/components/screen-table/index.vue | 148 +++++++++++++++--------- src/views/home/data-view/components/data-icon.vue | 4 8 files changed, 201 insertions(+), 135 deletions(-) diff --git a/src/api/newpage.js b/src/api/newpage.js new file mode 100644 index 0000000..29a2767 --- /dev/null +++ b/src/api/newpage.js @@ -0,0 +1,25 @@ +import request from "@/utils/request"; + +// 璁惧鏁版嵁 +export function getDeviceData() { + return request({ + url: "/dashboard/monitor/total", + method: "get", + }); +} + +// 宸ュ崟鏁版嵁 +export function getWorkOrderData() { + return request({ + url: "/dashboard/workOrder/total", + method: "get", + }); +} + +//璁惧姝e父鐜� +export function getNormalRate(id) { + return request({ + url: "/dashboard/monitor/rate?dataScope=" + id, + method: "get", + }); +} diff --git a/src/main.js b/src/main.js index 7baf4cc..7cc0f9a 100644 --- a/src/main.js +++ b/src/main.js @@ -107,7 +107,7 @@ duration: 1, ease: "power2.out", onUpdate: () => { - el.innerText = formatNumber(target.count.toFixed(0)); + // el.innerText = formatNumber(target.count.toFixed(0)); } }) @@ -122,7 +122,7 @@ duration: 1, ease: "power2.out", onUpdate: () => { - el.innerText = formatNumber(target.count.toFixed(0)); + // el.innerText = formatNumber(target.count.toFixed(0)); } }) } diff --git a/src/views/home/data-view/components/data-icon.vue b/src/views/home/data-view/components/data-icon.vue index e11e88e..4bc3662 100644 --- a/src/views/home/data-view/components/data-icon.vue +++ b/src/views/home/data-view/components/data-icon.vue @@ -85,7 +85,7 @@ duration: 1, ease: "power2.out", onUpdate: () => { - el.innerText = target.count.toFixed(0); + // el.innerText = target.count.toFixed(0); } }) }, @@ -99,7 +99,7 @@ duration: 1, ease: "power2.out", onUpdate: () => { - el.innerText = target.count.toFixed(0); + // el.innerText = target.count.toFixed(0); } }) } diff --git a/src/views/screen/components/screen-data/index.vue b/src/views/screen/components/screen-data/index.vue index f38b227..85d070b 100644 --- a/src/views/screen/components/screen-data/index.vue +++ b/src/views/screen/components/screen-data/index.vue @@ -7,7 +7,7 @@ <div class="data-content"> <div class="data-panel"> - <div class="panel-title" style="margin-bottom: 30px;"> + <div class="panel-title" style="margin-bottom: 30px"> <div class="icon"> <img src="@/assets/icons/arrow.png" alt="" /> </div> @@ -17,28 +17,28 @@ <div class="panel-item"> <data-hola :holaTitle="`宸ュ崟鎬绘暟`" - :centerValue="3000" + :centerValue="workOrderData.workOrderTotal.totalNum" :holaColor="`#4ea8ff`" ></data-hola> </div> <div class="panel-item"> <data-hola :holaTitle="`宸插鐞嗗伐鍗曟暟`" - :centerValue="1600" + :centerValue="workOrderData.workOrderTotal.todolNum" :holaColor="`#5dec24`" ></data-hola> </div> <div class="panel-item"> <data-hola :holaTitle="`鏈鐞嗗伐鍗曟暟`" - :centerValue="200" + :centerValue="workOrderData.workOrderTotal.doneNum" :holaColor="`#dfc639`" ></data-hola> </div> </div> </div> <div class="data-panel"> - <div class="panel-title" style="margin: 50px 0 30px 0;"> + <div class="panel-title" style="margin: 50px 0 30px 0"> <div class="icon"> <img src="@/assets/icons/arrow.png" alt="" /> </div> @@ -63,6 +63,12 @@ WrapperTitle, DataHola, }, + props: { + workOrderData: { + type: Object, + default: null, + }, + }, data() { return { dataList: { diff --git a/src/views/screen/components/screen-table/index.vue b/src/views/screen/components/screen-table/index.vue index 2cf0b6d..4400918 100644 --- a/src/views/screen/components/screen-table/index.vue +++ b/src/views/screen/components/screen-table/index.vue @@ -13,7 +13,7 @@ :max-height="tableHeight" class="rank-table" > - <el-table-column prop="name" label="鍦板尯" align="center" width="100"> + <el-table-column prop="area" label="鍦板尯" align="center" width="100"> </el-table-column> <el-table-column label="浜鸿劯璁惧" align="center"> @@ -22,14 +22,25 @@ <div slot="content"> <div class="tip-item"> <div class="tip-label">璁惧姝e父鏁�:</div> - <div class="tip-info tip-success">12</div> + <div class="tip-info tip-success"> + {{ scope.row.faceNormalNum }} + </div> </div> <div class="tip-item"> <div class="tip-label">璁惧寮傚父鏁�:</div> - <div class="tip-info tip-danger">4</div> + <div class="tip-info tip-danger"> + {{ scope.row.faceErrorNum }} + </div> </div> </div> - <div class="tip-num">75%</div> + <div class="tip-num"> + {{ + scope.row.faceRate?( + (scope.row.faceNormalNum / scope.row.faceRate) * + 100 + ).toFixed(0)+'%':'--' + }} + </div> </el-tooltip> </template> </el-table-column> @@ -40,14 +51,25 @@ <div slot="content"> <div class="tip-item"> <div class="tip-label">璁惧姝e父鏁�:</div> - <div class="tip-info tip-success">12</div> + <div class="tip-info tip-success"> + {{ scope.row.carNormalNum }} + </div> </div> <div class="tip-item"> <div class="tip-label">璁惧寮傚父鏁�:</div> - <div class="tip-info tip-danger">4</div> + <div class="tip-info tip-danger"> + {{ scope.row.carNormalNum }} + </div> </div> </div> - <div class="tip-num">75%</div> + <div class="tip-num"> + {{ + scope.row.carRate?( + (scope.row.carNormalNum / scope.row.carRate) * + 100 + ).toFixed(0)+'%':'--' + }} + </div> </el-tooltip> </template> </el-table-column> @@ -58,14 +80,25 @@ <div slot="content"> <div class="tip-item"> <div class="tip-label">璁惧姝e父鏁�:</div> - <div class="tip-info tip-success">12</div> + <div class="tip-info tip-success"> + {{ scope.row.videoNormalNum }} + </div> </div> <div class="tip-item"> <div class="tip-label">璁惧寮傚父鏁�:</div> - <div class="tip-info tip-danger">4</div> + <div class="tip-info tip-danger"> + {{ scope.row.videoNormalNum }} + </div> </div> </div> - <div class="tip-num">75%</div> + <div class="tip-num"> + {{ + scope.row.videoRate?( + (scope.row.videoNormalNum / scope.row.videoRate) * + 100 + ).toFixed(0)+'%':'--' + }} + </div> </el-tooltip> </template> </el-table-column> @@ -80,57 +113,62 @@ export default { name: "ScreenTable", - + props: { + tableData: { + type: Array, + default: null, + }, + }, components: { WrapperTitle, }, data() { return { tableHeight: 40, - tableData: [ - { - name: "瀵岄『鍘�", - data1: 1123, - data2: 1123, - data3: 1123, - }, - { - name: "鑽e幙", - data1: 1123, - data2: 1123, - data3: 1123, - }, - { - name: "楂樻柊鍖�", - data1: 1123, - data2: 1123, - data3: 1123, - }, - { - name: "鑷祦浜曞尯", - data1: 1123, - data2: 1123, - data3: 1123, - }, - { - name: "璐′簳鍖�", - data1: 1123, - data2: 1123, - data3: 1123, - }, - { - name: "澶у畨鍖�", - data1: 1123, - data2: 1123, - data3: 1123, - }, - { - name: "娌挎哗鍖�", - data1: 1123, - data2: 1123, - data3: 1123, - }, - ], + // tableData: [ + // { + // name: "瀵岄『鍘�", + // data1: 1123, + // data2: 1123, + // data3: 1123, + // }, + // { + // name: "鑽e幙", + // data1: 1123, + // data2: 1123, + // data3: 1123, + // }, + // { + // name: "楂樻柊鍖�", + // data1: 1123, + // data2: 1123, + // data3: 1123, + // }, + // { + // name: "鑷祦浜曞尯", + // data1: 1123, + // data2: 1123, + // data3: 1123, + // }, + // { + // name: "璐′簳鍖�", + // data1: 1123, + // data2: 1123, + // data3: 1123, + // }, + // { + // name: "澶у畨鍖�", + // data1: 1123, + // data2: 1123, + // data3: 1123, + // }, + // { + // name: "娌挎哗鍖�", + // data1: 1123, + // data2: 1123, + // data3: 1123, + // }, + // ], }; }, methods: { diff --git a/src/views/screen/newPage/index.vue b/src/views/screen/newPage/index.vue index a2a83e9..32a7ed9 100644 --- a/src/views/screen/newPage/index.vue +++ b/src/views/screen/newPage/index.vue @@ -3,7 +3,7 @@ <div style="display: flex; justify-content: center"> <div class="header_box"> <div class="tabs-box"> - <el-tabs v-model="activeName" @tab-click="handleClick"> + <el-tabs v-model="activeName" @tab-click="tabChange"> <el-tab-pane v-for="item in testData1" :label="item.name" @@ -22,7 +22,7 @@ </div> <div class="card" style="height: 622px"> <div class="card_header"><div class="title">宸ュ崟鏁版嵁</div></div> - <div><ScreenData></ScreenData></div> + <div><ScreenData :workOrderData="workOrderData"></ScreenData></div> </div> </div> <div class="large_screen_box"> @@ -35,89 +35,35 @@ <div class="title">璁惧鏁版嵁</div> </div> <div> - <div class="device_data"> + <div + class="device_data" + v-for="(item, index) in deviceList" + :key="index" + > <img src="../../../assets/images/screen/lxicon.png" alt="" style="height: 25px" /> - <div style="margin: 0 10px">浜鸿劯</div> + <div style="margin: 0 10px">{{ item.type }}</div> <div class="data-info"> <div class="data-lable">璁惧鎬绘暟</div> <div class="data-num type1"> - <span v-roll>{{ 1123 }}</span + <span v-roll>{{ item.totalNum }}</span ><i class="el-icon-top"></i> </div> </div> <div class="data-info"> <div class="data-lable">璁惧姝e父鏁�</div> <div class="data-num type2"> - <span v-roll>{{ 1123 }}</span + <span v-roll>{{ item.normalNum }}</span ><i class="el-icon-top"></i> </div> </div> <div class="data-info"> <div class="data-lable">璁惧寮傚父鏁�</div> <div class="data-num type3"> - <span v-roll>{{ 1123 }}</span - ><i class="el-icon-bottom"></i> - </div> - </div> - </div> - <div class="device_data"> - <img - src="../../../assets/images/screen/lxicon.png" - alt="" - style="height: 25px" - /> - <div style="margin: 0 10px">杞﹁締</div> - <div class="data-info"> - <div class="data-lable">璁惧鎬绘暟</div> - <div class="data-num type1"> - <span v-roll>{{ 1123 }}</span - ><i class="el-icon-bottom"></i> - </div> - </div> - <div class="data-info"> - <div class="data-lable">璁惧姝e父鏁�</div> - <div class="data-num type2"> - <span v-roll>{{ 1123 }}</span - ><i class="el-icon-bottom"></i> - </div> - </div> - <div class="data-info"> - <div class="data-lable">璁惧寮傚父鏁�</div> - <div class="data-num type3"> - <span v-roll>{{ 1123 }}</span - ><i class="el-icon-bottom"></i> - </div> - </div> - </div> - <div class="device_data"> - <img - src="../../../assets/images/screen/lxicon.png" - alt="" - style="height: 25px" - /> - <div style="margin: 0 10px">瑙嗛</div> - <div class="data-info"> - <div class="data-lable">璁惧鎬绘暟</div> - <div class="data-num type1"> - <span v-roll>{{ 1123 }}</span - ><i class="el-icon-bottom"></i> - </div> - </div> - <div class="data-info"> - <div class="data-lable">璁惧姝e父鏁�</div> - <div class="data-num type2"> - <span v-roll>{{ 1123 }}</span - ><i class="el-icon-bottom"></i> - </div> - </div> - <div class="data-info"> - <div class="data-lable">璁惧寮傚父鏁�</div> - <div class="data-num type3"> - <span v-roll>{{ 1123 }}</span + <span v-roll>{{ item.errorNum }}</span ><i class="el-icon-bottom"></i> </div> </div> @@ -128,7 +74,7 @@ <div class="card_header"> <div class="title">璁惧姝e父鐜�</div> <div style="margin: 10px 10px"> - <ScreenTable></ScreenTable> + <ScreenTable :tableData="tableData"></ScreenTable> </div> </div> </div> @@ -179,6 +125,7 @@ import ExamineChart from "../components/screen-examine/components/examine-chart.vue"; import ScreenData from "../components/screen-data/index.vue"; import NewMap from "./components/newMap.vue"; +import { getDeviceData, getWorkOrderData, getNormalRate } from "@/api/newpage"; export default { name: "Newpage", components: { @@ -199,7 +146,7 @@ value: "1", }, { - name: "甯傚眬鏁版嵁", + name: "鍖哄幙鏁版嵁", value: "2", }, { @@ -207,9 +154,37 @@ value: "3", }, ], + deviceList: [], + workOrderData: { + workOrderRegion: { + create_time: "2024-03-05T19:04:24", + deleted: 0, + error_type: "缃戠粶鏁呴殰,鏃犲厜", + id: 1, + serial_number: 0, + source: "涓北澶ч亾涓庡疂鍠勫贩浜ゅ弶鍙d笢", + status: "DISTRIBUTED", + unit_id: 2, + update_time: "2024-04-15T17:07:54", + work_order_no: "202403051212", + yw_check_result: "/profile/upload/2024/03/26/20240326100819A001.jpg", + yw_condition: "淇瀹屾垚", + yw_handle_time: "2024-03-05T19:04:06", + yw_people_id: 1, + yw_result: "OK", + }, + workOrderTotal: { + doneNum: 8, + todoNum: 20, + totalNum: 28, + }, + }, + tableData: [], }; }, - mounted() {}, + mounted() { + this.getData(); + }, methods: { returnPath() { this.$router.push("/index"); @@ -217,6 +192,29 @@ handleClick(tab, event) { console.log(tab, event); }, + getData() { + getDeviceData() + .then((res) => { + this.deviceList = res.data; + }) + .catch((err) => {}); + getWorkOrderData() + .then((res) => { + this.workOrderData = res.data; + }) + .catch((err) => {}); + this.getTableList(); + }, + getTableList() { + getNormalRate(this.activeName) + .then((res) => { + this.tableData = res.data; + }) + .catch((err) => {}); + }, + tabChange(){ + this. getTableList() + } }, }; </script> diff --git a/src/views/system/point/region/index.vue b/src/views/system/point/region/index.vue index d12face..08f961a 100644 --- a/src/views/system/point/region/index.vue +++ b/src/views/system/point/region/index.vue @@ -86,7 +86,6 @@ <el-table v-loading="loading" :data="regionList" row-key="id" - border default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}" @selection-change="handleSelectionChange"> diff --git a/vue.config.js b/vue.config.js index a0c8509..7d934eb 100644 --- a/vue.config.js +++ b/vue.config.js @@ -38,10 +38,10 @@ // target: `http://localhost:8080`, // 浠樼珛楹� - target: `http://192.168.3.64:8080`, + // target: `http://192.168.3.64:8080`, // 榫氱剷鑼� - // target: `http://192.168.3.87:8080`, + target: `http://192.168.137.227:8080`, // 鍚戝煿 // target: `http://192.168.3.88:8085`, -- Gitblit v1.8.0