From 8bd3fa89541cdf63ed4e9c932c5336621ba58ed3 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 31 十月 2024 15:01:43 +0800
Subject: [PATCH] 义乌上片功能(部分)
---
UI-Project/src/views/Slicecage/slicecage.vue | 557 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 485 insertions(+), 72 deletions(-)
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 5870cad..06b7e10 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -1,20 +1,23 @@
<script lang="ts" setup>
-import { useI18n } from 'vue-i18n'
- const { t } = useI18n()
- let language = ref(localStorage.getItem('lang') || 'zh')
-import {Search} from "@element-plus/icons-vue";
+import {useI18n} from 'vue-i18n'
import {useRouter} from "vue-router"
-const router = useRouter()
import request from "@/utils/request"
-import { WebSocketHost ,host} from '@/utils/constants'
-import { ref, onMounted , onBeforeUnmount, reactive, computed } from "vue";
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { tr } from "element-plus/es/locale";
+import {host, WebSocketHost} from '@/utils/constants'
+import {computed, onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+import {ElMessage, ElMessageBox} from 'element-plus'
+import PrintLabel from "@/views/UnLoadGlass/PrintCustomLabelSemi1.vue";
+const dialogFormVisibleaDownGlasss = ref(false)
+const scanGlass = ref([])
+const {t} = useI18n()
+let language = ref(localStorage.getItem('lang') || 'zh')
+const router = useRouter()
const dialogFormVisible = ref(false)
+const dialoglea = ref(false)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
const dialogFormVisiblec = ref(false)
+const dialogFormVisibles = ref(false)
const tableData = ref([])
const tableDatagh = ref([])
const tableDatab = ref([])
@@ -22,7 +25,10 @@
const tableDatad = ref([])
const tableDataf = ref([])
const tableDatae = ref([])
+const tableDatax = ref([])
+const tableDatas = ref([])
const carPosition = ref([])
+const ganghua = ref('')
const adjustedRects = ref([]);
const project = ref([]);
const adjust = ref([]);
@@ -36,6 +42,7 @@
const adjustedRectsg = ref([]);
const adjustedRectsh = ref([]);
const currentRow = reactive({}); // 褰撳墠琛岀殑鏁版嵁
+const inputValuesa = reactive({});
const add = ref(false)
const flowCardId = ref('');
const gap = ref('');
@@ -71,19 +78,10 @@
const cell8=ref(true);
const cell9=ref(true);
const selectedRow = ref(null); // 瀛樺偍閫変腑鐨勮鏁版嵁
-
-onMounted(async () => {
- try {
- const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass');
- if (response.code === 200) {
- tableDatagh.value = response.data
- } else {
- ElMessage.warning(response.msg)
- }
- } catch (error) {
- // console.error('Error fetching rects :', error);
- }
-});
+const temperingtotal = ref(0);
+const glasstotal = ref(0);
+const fulltotals = ref(0);
+const temperingengineerId=ref('');
// 褰撳墠椤电爜鍜屾瘡椤垫樉绀虹殑鏉℃暟
const currentPage = ref(1);
const itemsPerPage = computed(() => {
@@ -146,6 +144,61 @@
currentPage.value = page;
}
}
+const printFlowCardId = ref('')
+const printLayer = ref('')
+const printGlassId = ref('')
+const dialogTableVisible1 = ref(false)
+const open1 = async (row) => {
+
+printFlowCardId.value = row.flowCardId;
+printLayer.value = row.layer
+printGlassId.value = row.glassId
+dialogTableVisible1.value = true;
+setTimeout(() => {
+ printFlowCard1();
+ //dialogTableVisible1.value = false;
+}, 1000);
+}
+
+const printFlowCard1 = () => {
+ // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
+ let el = document.getElementById("printFlowCard");
+ let doc = document;
+ let body = doc.body || doc.getElementsByTagName("body")[0];
+ let printId = "print-" + Date.now();
+
+ // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
+ let content = doc.createElement("div");
+ content.id = printId;
+
+ // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
+ let style = doc.createElement("style");
+ style.innerHTML =
+ "body>#" +
+ printId +
+ "{display:none}@media print{" +
+ "@page {" +
+ " size: auto; " +
+ " margin: 2mm 2mm 2mm 2mm; " +
+ " }body>:not(#" +
+ printId +
+ "){display:none !important}body>#" +
+ printId +
+ "{display:block;padding-top:1px}}";
+ //
+ content.innerHTML = el.outerHTML;
+ // // console.log("el.outerHTML", el.outerHTML);
+ body.appendChild(style);
+
+ // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
+ // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
+ body.appendChild(content);
+ setTimeout(() => {
+ window.print();
+ body.removeChild(content);
+ body.removeChild(style);
+ }, 20);
+}
// 涓婁竴椤靛拰涓嬩竴椤垫柟娉�
const prevPage = () => {
if (currentPage.value > 1) {
@@ -175,8 +228,13 @@
// }
return 9;
});
-
-
+ setInterval(() => {
+ localStorage.clear(); // 娓呴櫎鎵�鏈塴ocalStorage鏁版嵁
+}, 60000);
+// function cleanUp() {
+// }
+// // 鍋囪鎴戜滑姣�2鍒嗛挓鎵ц涓�娆℃竻鐞�
+// setInterval(cleanUp, 1 * 60 * 1000);
const getTableRow = (row,type) =>{
switch (type) {
@@ -222,10 +280,7 @@
// 鏄惁绂佺敤
const toggleEnableState = async (row) => {
const newState = row.enableState === 1 ? 0 : 1;
- console.log(row.slot);
- console.log(row.enableState);
var url="/cacheVerticalGlass/bigStorageCage/updateStorageCageDisabled?slot="+row.slot + "&enableState=" + newState;
- console.log(url);
const response = await request.get(url)
if (response.code === 200) {
ElMessage.success(response.message);
@@ -276,7 +331,7 @@
}
);
if (confirmResult === 'confirm') {
- const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/damageBigStorageCageDetails?status="+0, row)
+ const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/damageBigStorageCageDetails?status="+8, row)
if (response.code === 200) {
tableData.value = response.data;
ElMessage.success(response.message);
@@ -301,7 +356,7 @@
}
);
if (confirmResult === 'confirm') {
- const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/damageBigStorageCageDetails?status="+1, row)
+ const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/damageBigStorageCageDetails?status="+9, row)
if (response.code === 200) {
tableData.value = response.data;
ElMessage.success(response.message);
@@ -351,7 +406,7 @@
}
);
if (confirmResult === 'confirm') {
- const response = await request.post("/cacheVerticalGlass/temperingGlassInfo/damageTemperingGlassInfo?status="+0, row)
+ const response = await request.post("/cacheVerticalGlass/temperingGlassInfo/damageTemperingGlassInfo?status="+8, row)
if (response.code === 200) {
ElMessage.success(response.message);
} else {
@@ -363,7 +418,7 @@
}
};
// 鎸囧畾閽㈠寲
- const brokee = async(row) => {
+ const brokee = async(row,temperingFeedSequence) => {
try {
const confirmResult = await ElMessageBox.confirm(
t('searchOrder.specifytemperinga'),
@@ -378,6 +433,87 @@
const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/TemperingGlass",{
engineerId: row.engineer_id,
temperingLayoutId: row.tempering_layout_id,
+ temperingFeedSequence:temperingFeedSequence
+ });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ }
+ } catch (error) {
+ console.error('鍙戠敓閿欒:', error);
+ }
+ handleganghua();
+};
+ // 鎸囧畾宸ョ▼
+ const brokek = async(row) => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('searchOrder.specifytemperinga'),
+ t('searchOrder.prompt'),
+ {
+ confirmButtonText: t('searchOrder.yes'),
+ cancelButtonText: t('searchOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ if (confirmResult === 'confirm') {
+ const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/appointEngineerId",{
+ engineerId: row.engineer_id
+ });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ }
+ } catch (error) {
+ console.error('鍙戠敓閿欒:', error);
+ }
+};
+// 鎸囧畾宸ョ▼
+const broked = async() => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('searchOrder.specifytemperinga'),
+ t('searchOrder.prompt'),
+ {
+ confirmButtonText: t('searchOrder.yes'),
+ cancelButtonText: t('searchOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ if (confirmResult === 'confirm') {
+ const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/appointEngineerId",{
+ engineerId: ""
+ });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+ }
+ } catch (error) {
+ console.error('鍙戠敓閿欒:', error);
+ }
+};
+ // 鎸囧畾娴佺▼鍗�
+ const brokes = async(row) => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('searchOrder.specifytemperinga'),
+ t('searchOrder.prompt'),
+ {
+ confirmButtonText: t('searchOrder.yes'),
+ cancelButtonText: t('searchOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ if (confirmResult === 'confirm') {
+ const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/appointFlowCard",{
+ flowCardId: row.flow_card_id,
+ layer: row.layer,
});
if (response.code === 200) {
ElMessage.success(response.message);
@@ -402,7 +538,7 @@
}
);
if (confirmResult === 'confirm') {
- const response = await request.post("/cacheVerticalGlass/temperingGlassInfo/damageTemperingGlassInfo?status="+1, row)
+ const response = await request.post("/cacheVerticalGlass/temperingGlassInfo/damageTemperingGlassInfo?status="+9, row)
if (response.code === 200) {
ElMessage.success(response.message);
} else {
@@ -502,21 +638,161 @@
console.error('鍙戠敓閿欒:', error);
}
};
+const handlezhiban = () => {
+ dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ fetchFlowCardId();
+};
+const handleganghua = () => {
+ dialogFormVisiblec.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ fetchFlow();
+};
+// 閽㈠寲鏌ヨ
+
+onMounted(async () => {
+ try {
+ const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass');
+ if (response.code === 200) {
+ tableDatagh.value = response.data
+ } else {
+ ElMessage.warning(response.msg)
+ }
+ } catch (error) {
+ // console.error('Error fetching rects :', error);
+ }
+
+
+});
+const fetchFlows = async () => {
+ try {
+ const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectFlowCardByCache');
+ if (response.code === 200) {
+ tableDatas.value = response.data
+ } else {
+ ElMessage.warning(response.msg)
+ }
+ } catch (error) {
+ // console.error('Error fetching rects :', error);
+ }
+}
+
+
+const fetchFlow = async () => {
+ try {
+ const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass')
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ tableDatagh.value = response.data
+ temperingtotal.value = response.data.length
+ let totalCount = 0;
+ let fullCount = 0;
+ response.data.forEach(item => {
+ totalCount += item.count1 || 0;
+ if(item.count2-item.count1-item.count4==0){
+ fullCount+=1;
+ }
+ });
+ glasstotal.value = totalCount;
+ fulltotals.value = fullCount;
+
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+// 鍊肩彮淇℃伅
+const fetchFlowCardId = async () => {
+ try {
+ const response = await request.post('/cacheVerticalGlass/work_assignment/selectWorkAssignment',{
+ line: 4001,
+ workingProcedure : '閽㈠寲'
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ tableDatax.value = response.data;
+ console.log(tableDatax.value);
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+const handleConfirm = async () => {
+ const response = await request.post("/cacheVerticalGlass/work_assignment/updateWorkAssignment", tableDatax.value)
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ dialoglea.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+};
function handleRowClick(row) {
selectedRow.value = row; // 鏇存柊閫変腑鐨勮鏁版嵁
}
+ const handleChange = async () => {
+ try {
+ const body = {
+ flag: ganghua.value, // 浣跨敤 ganghua.value 鑾峰彇褰撳墠寮�鍏崇殑鐘舵��
+ };
+
+ var url="/cacheVerticalGlass/bigStorageCageDetails/temperingSwitch?flag="+ganghua.value;
+ const response = await request.post(url)
+ if (response.code == 200) {
+ // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+ ElMessage.success(response.message);
+ ganghua.value = response.data
+ }else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheVerticalGlass/api/talk/slicecage`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
+ if (data.scanGlass != null) {
+ scanGlass.value = data.scanGlass[0];
+ let width = scanGlass.value.width;
+ let height = scanGlass.value.height;
+ if (width < height) {
+ scanGlass.value.width = height;
+ scanGlass.value.height = width;
+ }
+ if (autoPrint.value == true && browser.value == true) {
+ open1(scanGlass);
+ }
+ }
+ //褰撳墠鎸囧畾宸ョ▼
+ if(data.bigStorageCageDetailsOutTask!=null){
+ temperingengineerId.value=data.temperingengineerId[0];
+ }
// 鏇存柊 tableData 鐨勬暟鎹�
if(data.bigStorageCageDetailsOutTask!=null){
tableDatac.value = data.bigStorageCageDetailsOutTask[0]
+ console.log(data.bigStorageCageDetailsOutTask[0])
adjusta.value = data.bigStorageCageDetailsOutTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined);
+ // console.log(data.bigStorageCageDetailsOutTask[0]);
+
+ } else {
+ tableDatac.value = '',
+ adjusta.value = ''
}
if(data.bigStorageCageDetailsFeedTask!=null){
tableDatad.value = data.bigStorageCageDetailsFeedTask[0]
adjust.value = data.bigStorageCageDetailsFeedTask[0].filter(rect => rect.slot !== null && rect.slot !== undefined);
- }
+ }else{
+ tableDatad.value = ''
+ }
// adjust.value = data.bigStorageCageDetailsFeedTask[0].map(rect => ({
// ...rect,
@@ -527,18 +803,30 @@
// });
if(data.bigStorageCageInfo!=null){
tableData.value = data.bigStorageCageInfo[0]
-}
+}else{
+ tableData.value = ''
+ }
if(data.temperingGlassInfoList!=null){
tableDatab.value = data.temperingGlassInfoList[0]
-}
+ console.log(tableDatab.value)
+}else{
+ tableDatab.value = ''
+ }
if(data.bigStorageCageUsage!=null){
tableDatae.value = data.bigStorageCageUsage[0]
-}
+}else{
+ tableDatae.value = ''
+ }
if(data.carPostion!=null){
carPosition.value = data.carPostion[0]
-}
-
-
+}else{
+ carPosition.value = ''
+ }
+if(data.temperingSwitch!=null){
+ ganghua.value = data.temperingSwitch[0]
+}else{
+ ganghua.value = ''
+ }
if(data.bigStorageCageInfos!=null){
window.localStorage.setItem('length', data.bigStorageCageInfos[0][1].length)
let length = window.localStorage.getItem('length')
@@ -587,6 +875,8 @@
height: 20/length,
top: 29/length
}));
+ }else{
+ adjustedRects.value = ''
}
@@ -594,9 +884,14 @@
// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
onMounted(() => {
// fetchFlowCardId();
- initializeWebSocket(socketUrl, handleMessage);
-
+ // initializeWebSocket(socketUrl, handleMessage);
+ socket = initializeWebSocket(socketUrl, handleMessage);
});
+ onUnmounted(() => {
+ if (socket) {
+ closeWebSocket(socket);
+ }
+ });
function getStatusType(enableState: number) {
switch (enableState) {
case 100:
@@ -648,34 +943,41 @@
}
}
onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
+ // console.log("鍏抽棴浜�")
closeWebSocket();
});
+
</script>
<template>
<div style="height: 600px;">
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">{{ $t('searchOrder.cageinformation') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('searchOrder.productionqueue') }}</el-button>
- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info" @click="dialogFormVisiblec = true">{{ $t('searchOrder.temperingqueries') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">{{ $t('searchOrder.cageinformation') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('searchOrder.productionqueue') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="warning" @click="handleganghua">{{ $t('searchOrder.temperingqueries') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info" @click="dialogFormVisibles=true;fetchFlows()">{{ $t('searchOrder.searchlayout') }}</el-button>
+ <el-switch style="margin-top: 5px;margin-left: 10px;" v-model="ganghua" class="mb-2" :inactive-text="$t('searchOrder.temperedswitch')" @change="handleChange" />
+ <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
+ @click="dialogFormVisibleaDownGlasss = true">鏍囩鎵撳嵃
+ </el-button>
<el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;">
<el-table height="100px" ref="table"
:data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="bigStorageCageOutTask.glassId" align="center" :label="$t('searchOrder.outputglassID')" min-width="120" />
+ <el-table-column prop="bigStorageCageOutTask.glassId" align="center" :label="$t('searchOrder.outputglassID')" min-width="140" />
<el-table-column prop="bigStorageCageOutTask.startSlot" align="center" :label="$t('searchOrder.startposition')" min-width="120" />
<el-table-column prop="bigStorageCageOutTask.endSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
<el-table-column prop="bigStorageCageOutTask.trainNumber" align="center" :label="$t('searchOrder.trips')" min-width="120" />
<el-table-column prop="bigStorageCageOutTask.serialNumber" align="center" :label="$t('searchOrder.number')" min-width="120" />
<el-table-column prop="bigStorageCageOutTask.taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="157">
- <template #default="scope">
- <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}</el-tag>
- </template>
+ <!-- <template #default="scope">
+ <el-tag type="success" >{{ scope.row.bigStorageCageOutTask.taskState==0? $t('searchOrder.filmenter') : $t('searchOrder.infilm') }}111</el-tag>
+ </template> -->
</el-table-column>
- <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/>
+ <!-- <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/> -->
<el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/>
<el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/>
- <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120"/>
+ <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="140"/>
<el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="150"/>
<el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140"/>
<el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="100"/>
@@ -685,11 +987,11 @@
<el-table-column prop="temperingLayoutId" align="center" :label="$t('searchOrder.layoutID')" min-width="100"/>
<el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" min-width="120"/>
<el-table-column prop="gap" align="center" :label="$t('searchOrder.glassgaps')" min-width="100"/>
- <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150">
+ <!-- <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150">
<template #default="scope">
<el-button size="mini" type="text" plain @click="finish(scope.row)">{{ $t('searchOrder.completetask') }}</el-button>
</template>
- </el-table-column>
+ </el-table-column> -->
</el-table>
</div>
</el-card>
@@ -698,7 +1000,7 @@
<el-table height="100px" ref="table"
@selection-change="handleSelectionChange"
:data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="120" />
+ <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="140" />
<el-table-column prop="bigStorageCageFeedTask.targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
<!-- <el-table-column prop="task_type" align="center" label="浠诲姟绫诲瀷" min-width="120" />娌℃湁杩斿洖瀛楁 -->
<el-table-column prop="bigStorageCageFeedTask.taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="120">
@@ -707,10 +1009,10 @@
</template>
</el-table-column>
<el-table-column prop="bigStorageCageFeedTask.line" align="center" :label="$t('searchOrder.line')" min-width="120" />
- <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/>
+ <!-- <el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/> -->
<el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/>
<el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/>
- <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120"/>
+ <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="140"/>
<el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="150"/>
<el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140"/>
<el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="100"/>
@@ -720,11 +1022,11 @@
<el-table-column prop="temperingLayoutId" align="center" :label="$t('searchOrder.layoutID')" min-width="100"/>
<el-table-column prop="temperingFeedSequence" align="center" :label="$t('searchOrder.picturesequence')" min-width="120"/>
<el-table-column prop="gap" align="center" :label="$t('searchOrder.glassgaps')" min-width="100"/>
- <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150">
+ <!-- <el-table-column fixed="right" :label="$t('searchOrder.endtask')" align="center" width="150">
<template #default="scope">
<el-button size="mini" type="text" plain @click="finish(scope.row)">{{ $t('searchOrder.completetask') }}</el-button>
</template>
- </el-table-column>
+ </el-table-column> -->
</el-table>
</div>
</el-card>
@@ -732,7 +1034,7 @@
<div v-for="(item, index) in tableDatae" :key="index" id="occupy">
<el-col style="text-align:left;font-weight: bold;">#{{ item.device_id }}</el-col>
<el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
- <span>{{ $t('searchOrder.Usage') }}</span><span>{{ item.percentage }}</span>
+ <span>{{ $t('searchOrder.Usage') }}</span><span>{{ item.percentage }}%</span>
</el-col>
<hr style="width:80%;margin: 0 auto;" />
<el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
@@ -1121,7 +1423,7 @@
<el-table
:data="paginatedUsers"
@row-click="handleRowClick"
- height="500"
+ height="700"
@expand-change="handleExpandChange"
row-key="id"
default-expand-all
@@ -1139,7 +1441,7 @@
>
<!-- <el-table-column prop="menuName" label="浜岀骇鑿滃崟鏍�" align="center" min-width="140" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"/> -->
<el-table-column prop="glassId" :label="$t('searchOrder.glassID')" align="center" min-width="130"/>
- <el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="130" />
+ <!-- <el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="130" /> -->
<el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="130" />
<el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="80" />
<el-table-column prop="width" align="center" :label="$t('searchOrder.width')" min-width="80" />
@@ -1233,11 +1535,14 @@
<el-button style="margin-left: 10px;size: mini;" type="danger">鍋滄</el-button>
<el-button style="margin-left: 10px;size: mini;" type="primary">娣诲姞</el-button>
</div> -->
- <el-table ref="table" style="margin-top: 20px;height: 500px;"
+ <el-table ref="table" style="margin-top: 20px;height: 700px;"
:data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="id" fixed align="center" :label="$t('searchOrder.sheetID')" min-width="150"/>
- <el-table-column prop="flowcardId" fixed align="center" :label="$t('searchOrder.processcards')" min-width="120" />
- <el-table-column prop="glassType" align="center" :label="$t('searchOrder.processcardtype')" min-width="150" />
+ <!-- <el-table-column prop="id" fixed align="center" :label="$t('searchOrder.sheetID')" min-width="150"/>
+ -->
+ <el-table-column prop="glassId" fixed align="center" :label="$t('searchOrder.glassID')" min-width="150"/>
+
+ <el-table-column prop="flowCardId" fixed align="center" :label="$t('searchOrder.processcards')" min-width="120" />
+ <!-- <el-table-column prop="glassType" align="center" :label="$t('searchOrder.processcardtype')" min-width="150" /> -->
<el-table-column prop="width" align="center" :label="$t('searchOrder.width')" min-width="80" />
<el-table-column prop="height" align="center" :label="$t('searchOrder.height')" min-width="80" />
<el-table-column prop="thickness" align="center" :label="$t('searchOrder.thickness')" min-width="80" />
@@ -1271,29 +1576,137 @@
</el-tag>
</template>
</el-table-column>
- <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="150">
+ <!-- <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="150">
<template #default="scope">
<el-button size="mini" type="text" plain @click="brokea(scope.row)">{{ $t('searchOrder.breakage') }}</el-button>
<el-button size="mini" type="text" plain @click="brokeb(scope.row)">{{ $t('searchOrder.takeout') }}</el-button>
<el-button size="mini" type="text" plain @click="deletea(scope.row)">{{ $t('searchOrder.delete') }}</el-button>
</template>
- </el-table-column>
+ </el-table-column> -->
</el-table>
</el-dialog>
<el-dialog v-model="dialogFormVisiblec" top="5vh" width="85%" :title="$t('searchOrder.temperingqueries')">
+ <div style="margin-bottom: 20px">
+ <el-form>
+ <el-row style="margin-top: -15px;margin-bottom: -2px;">
+ <el-col :span="4">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('searchOrder.temperingtotal')" style="width: 14vw">
+ {{ temperingtotal }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="5">
+ <div id="dta" style="font-size: 15px;">
+ <el-form-item :label="$t('searchOrder.glasstotal')" style="width: 14vw">
+ {{ glasstotal }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="4">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('searchOrder.fullfurnaces')" style="width: 14vw">
+ {{ fulltotals }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="4">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('searchOrder.specifiedproject')" style="width: 14vw">
+ {{ temperingengineerId }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="4">
+ <div id="dt" style="font-size: 15px;">
+ <el-button size="mini" type="text" plain @click="broked()">{{ $t('searchOrder.undesignate') }}</el-button>
+ </div>
+ </el-col>
+ </el-row>
+ </el-form>
+ </div>
<el-table ref="table" style="margin-top: 20px;height: 500px;"
:data="tableDatagh" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
<el-table-column prop="engineer_id" fixed align="center" :label="$t('searchOrder.projectnumber')" min-width="150"/>
<el-table-column prop="tempering_layout_id" fixed align="center" :label="$t('searchOrder.layoutnumber')" min-width="120" />
- <el-table-column prop="count" align="center" :label="$t('searchOrder.numberglasses')" min-width="150" />
- <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="150">
+ <el-table-column prop="count2" align="center" :label="$t('searchOrder.allnumber')" min-width="150" />
+ <el-table-column prop="count1" align="center" :label="$t('searchOrder.numbercages')" min-width="150" />
+ <el-table-column prop="count3" align="center" :label="$t('searchOrder.missingquantity')" min-width="150" />
+ <el-table-column prop="count4" align="center" :label="$t('searchOrder.breakquantity')" min-width="150" />
+ <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="250">
<template #default="scope">
- <el-button size="mini" type="text" plain @click="brokee(scope.row)">{{ $t('searchOrder.specifytempering') }}</el-button>
+ <el-button size="mini" type="text" plain @click="brokee(scope.row,1)">{{ $t('searchOrder.specifytempering') }}</el-button>
+ <el-button size="mini" type="text" plain @click="brokee(scope.row,0)">{{ $t('searchOrder.specifyout') }}</el-button>
+ <el-button size="mini" type="text" plain @click="brokek(scope.row)">{{ $t('searchOrder.specifyengineerid') }}</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
-
+<el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
+ <el-table ref="table" style="margin-top: 20px;height: 300px;"
+ :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
+ <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')" />
+ <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
+ <template #default="{ row }">
+ <el-input v-model="row.teamsGroupsName" autocomplete="off" min-width="150"/>
+ </template>
+ </el-table-column>
+ <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
+ <template #default="{ row }">
+ <el-input v-model="row.deviceName" autocomplete="off" min-width="150"/>
+ </template>
+ </el-table-column>
+ </el-table>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleConfirm">
+ {{ $t('searchOrder.makesure') }}
+ </el-button>
+ <el-button @click="dialoglea = false">{{ $t('searchOrder.cancel') }}</el-button>
+ </div>
+ </template>
+</el-dialog>
+<el-dialog v-model="dialogFormVisibles" top="5vh" width="85%" :title="$t('searchOrder.temperingqueries')">
+ <el-table ref="table" style="margin-top: 20px;height: 500px;"
+ :data="tableDatas" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="flow_card_id" fixed align="center" :label="$t('searchOrder.processcards')"/>
+ <el-table-column prop="layer" align="center" :label="$t('searchOrder.ceng')" />
+ <el-table-column prop="count" align="center" :label="$t('searchOrder.numberglasses')" />
+ <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" >
+ <template #default="scope">
+ <el-button size="mini" type="text" plain @click="brokes(scope.row)">鎸囧畾娴佺▼鍗�</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+</el-dialog>
+<el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('浜哄伐涓嬬墖淇℃伅')">
+ <div style="display:flex;justify-content: space-around;">
+ <el-card
+ style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">
+ <div
+ :style="{ width: scanGlass.width + 'px', height: scanGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (scanGlass.width > scanGlass.height ? scanGlass.width : scanGlass.height) + ')' }">
+
+ </div>
+ <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
+ <div>鎵爜鏋綋鍓嶇幓鐠冧俊鎭�</div>
+ <div>
+ <el-button type="primary" @click="open1(scanGlass)">鎵撳嵃鏍囩</el-button>
+ </div>
+ <div>{{ scanGlass.flowCardId }}</div>
+ <div>{{ scanGlass.layer }}</div>
+ <div>{{ scanGlass.glassId }}</div>
+ <div>{{ scanGlass.width }}</div>
+ <div>{{ scanGlass.height }}</div>
+
+ </div>
+ </el-card>
+ </div>
+ </el-dialog>
+ <el-dialog id="sizePrintCalrd1" v-model="dialogTableVisible1" destroy-on-close>
+ <print-label id="printFlowCard" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
+ :printGlassId="printGlassId" style=""/>
+ </el-dialog>
</template>
<style scoped>
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
--
Gitblit v1.8.0