| | |
| | | <template> |
| | | <el-card style="flex: 1;margin-left: 1px;margin-top: 10px;margin-right: 1px;" v-loading="loading"> |
| | | <el-scrollbar height="800px"> |
| | | <div style="font-size: 20px;font-weight: bold;">{{ $t('large.loading') }}{{ temperingtotal }} </div> |
| | | <div id="top" style="height: 150px;display: flex; justify-content: center; align-items: center;"> |
| | | <div class="echarts-container"> |
| | | <div v-for="(processData, index) in processesData" :key="index" class="echarts-item" @click="showDialog"> |
| | | <div :id="'pieChart_' + index" class="pie-chart"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div style="display: flex;"> |
| | | <template> |
| | | <div style="height: 500px;"> |
| | | <el-card style="flex: 1;margin-left: 1px;margin-top: 10px;margin-right: 1px;" v-loading="loading"> |
| | | <el-scrollbar height="800px"> |
| | | <div style="font-size: 20px;font-weight: bold;">{{ $t('large.loading') }}{{ temperingtotal }}</div> |
| | | <div id="top" style="height: 150px;display: flex; justify-content: center; align-items: center;"> |
| | | <div class="echarts-container"> |
| | | <div v-for="(processData, index) in processesData" :key="index" class="echarts-item" @click="showDialog"> |
| | | <div :id="'pieChart_' + index" class="pie-chart"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div style="display: flex;"> |
| | | <div class="parter" style="margin-top: 10px;margin-left: 150px; height: 240px;width: 1000px;"> |
| | | <img src="../../assets/dpxsa.png" style="margin-left: -10px; width: 100%;height: 100%;" alt="Your Image"> |
| | | <div class="moving-rect lipiana" v-show="woshia"></div> |
| | | <!-- <div class="moving-rect lipiana" v-show="woshia"></div> |
| | | <div class="moving-rect lipianb" v-show="woshia"></div> |
| | | <div class="moving-rect lipianc" v-show="woshic"></div> |
| | | <div class="moving-rect lipiand" v-show="woshic"></div> |
| | |
| | | <div class="moving-rect xiapianji3" v-show="xiapian3"></div> |
| | | <div class="moving-rect xiapianji4" v-show="xiapian4"></div> |
| | | <div class="moving-rect xiapianji5" v-show="xiapian5"></div> |
| | | <div class="moving-rect xiapianji6" v-show="xiapian6"></div> |
| | | <div class="moving-rect xiapianji6" v-show="xiapian6"></div> --> |
| | | </div> |
| | | </div> |
| | | <div id="bottom" style="margin-top: 10px;height: 190px;"> |
| | |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="blind" top="10vh" width="70%" > |
| | | <el-date-picker style="margin-left: 1px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD" value-format="YYYY-MM-DD" |
| | | :start-placeholder="$t('large.starttime')" :end-placeholder="$t('large.endtime')" :default-time="defaultTime" /> |
| | | <el-button type="primary" style="margin-left: 10px;margin-top: -6px;" @click="selectReportData()">{{ $t('large.inquire') }}</el-button> |
| | | <div style="height: 550px;display: flex;margin-top: 10px;justify-content: center; align-items: center;"> |
| | | <div class="echarts-container"> |
| | | <div v-for="(processData, index) in dialogprocesses" :key="index" class="echarts-item"> |
| | | <div :id="'dialogPieChart_' + index" class="pie-chart"></div> |
| | | <el-date-picker style="margin-left: 1px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD" value-format="YYYY-MM-DD" |
| | | :start-placeholder="$t('large.starttime')" :end-placeholder="$t('large.endtime')" |
| | | :default-time="defaultTime"/> |
| | | <el-button type="primary" style="margin-left: 10px;margin-top: -6px;" @click="selectReportData()"> |
| | | {{ $t('large.inquire') }} |
| | | </el-button> |
| | | <div style="height: 550px;display: flex;margin-top: 10px;justify-content: center; align-items: center;"> |
| | | <div class="echarts-container"> |
| | | <div v-for="(processData, index) in dialogprocesses" :key="index" class="echarts-item"> |
| | | <div :id="'dialogPieChart_' + index" class="pie-chart"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | <script setup> |
| | | import { Delete, Upload } from '@element-plus/icons-vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { ref, onMounted , onBeforeUnmount, reactive, computed, shallowRef, onUnmounted, watchEffect,nextTick } from "vue"; |
| | | </template> |
| | | <script setup> |
| | | import {ElMessage} from 'element-plus' |
| | | import {nextTick, onBeforeUnmount, onMounted, onUnmounted, ref} from "vue"; |
| | | import request from "@/utils/request" |
| | | import { WebSocketHost ,host} from '@/utils/constants' |
| | | import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService'; |
| | | import { useI18n } from 'vue-i18n' |
| | | const { t } = useI18n() |
| | | import {host, WebSocketHost} from '@/utils/constants' |
| | | import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService'; |
| | | import {useI18n} from 'vue-i18n' |
| | | import * as echarts from 'echarts'; |
| | | |
| | | const {t} = useI18n() |
| | | const tableData = ref([]) |
| | | const tableDatab = ref([]) |
| | | const tableDatac = ref([]) |
| | | const adjustedRects = ref([]); |
| | | const chartRefs = ref([]); |
| | | const adjustedRects = ref([]); |
| | | const chartRefs = ref([]); |
| | | const timeRange = ref([]) |
| | | const flake = ref(false) |
| | | const flakeb = ref(false) |
| | |
| | | const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`; |
| | | const handleMessage = (data) => { |
| | | // tableData.value = data.awaitingRepairs[0] |
| | | tableDatab.value = data.DoingTask[0] |
| | | // tableDatab.value = data.DoingTask[0] |
| | | tableDatac.value = data.orders[0] |
| | | socket.onmessage = (event) => { |
| | | const data = JSON.parse(event.data); |
| | | console.log(data.device[0]); |
| | | console.log(data.device); |
| | | |
| | | processesData.value = data.device[0].map(rect => ({ |
| | | ...rect, |
| | |
| | | const handleMessage5 = (data) => { |
| | | const tasks = data.engineering; |
| | | shangpian.value = tasks.some(task => task.state == 1); |
| | | temperingtotal.value = data.engineering[0].engineerId |
| | | // temperingtotal.value = data.engineering[0].engineerId |
| | | }; |
| | | // 下片 |
| | | const socketUrl6 = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unLoadGlassIsRun`; |