From b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 23 十二月 2024 16:13:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 811 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 492 insertions(+), 319 deletions(-)
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index faf1d53..a0d68df 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -1,109 +1,93 @@
<script setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive, onMounted} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
-const router = useRouter()
-
-import { ref } from 'vue'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import Landingindication from "./Landingindication.vue";
-import Landingindicationtwo from "./Landingindicationtwo.vue";
+import {useI18n} from 'vue-i18n'
+import {ElMessage} from 'element-plus'
import request from "@/utils/request";
-
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+import {host, WebSocketHost} from '@/utils/constants'
+const router = useRouter()
+const {t} = useI18n()
+let language = ref(localStorage.getItem('lang') || 'zh')
+const printLoading = ref(true)
+const fullFlowCard = ref('')
+const autoPrint = ref(false)
+const takeGlass = ref([])
+const scanGlass = ref([])
const dialogFormVisiblea = ref(false)
-
-
-
const dialogFormVisiblea2 = ref(false)
-
-
-
-
-
-let socket;
-
-
-const initWebSocket = (token) =>{ //鍒濆鍖杦e
-
-let viewname = "unloadglass";
-
-if (typeof WebSocket === "undefined") {
- console.log("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔WebSocket");
-} else {
- let socketUrl = "ws://" + "localhost"+":88" + "/api/talk/" + viewname;
- if (socket != null) {
- socket.close();
- socket = null;
- }
-
- // 寮�鍚竴涓獁ebsocket鏈嶅姟
- socket = new WebSocket(socketUrl);
-
- // 鎵撳紑浜嬩欢
- socket.onopen = function () {
- console.log("websocket宸叉墦寮�");
- };
-
-
-
-socket.onmessage = (msg) => {
-if (!msg.data) {
-return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
-}
-
- let obj = JSON.parse(msg.data);
-
-
- console.log('鏀跺埌娑堟伅锛�', obj.data);
-
- }
-
- }
- }
-
-
-
-
-// 鏁版嵁
+const dialogFormVisibleaDownGlass = ref(false)
+const dialogFormVisibleaDownGlasss = ref(false)
const loading = ref(false);
-
-
-// 寮规鏄剧ず鎺у埗
-
const dialogFormVisible = ref(false);
-
-// 琛ㄥ崟鏁版嵁
const workstationId = ref('');
+const workFlowCard = ref('');
+const selectedProjectNoa = ref(null);
const flowCardId = ref('');
-const flowCardOptions = ref([]);
-
-
+const flowCardOptions = ref('[]');
+const tableData = reactive([]);
+const downGlass = ref([]);
+const selectValuesa = reactive({});
+const selectOptionsa = ref([]);
+const dialogTableVisible = ref(false)
+const dialogTableVisible1 = ref(false)
+const printFlowCardId = ref('')
+const printLayer = ref('')
+const printGlassId = ref('')
+const now = new Date();
+const timeRange = ref([])
+const browser = ref(false)
+const handleChange = async () => {
+ console.log("瑙﹀彂寮�鍏�")
+ try {
+ const body = {
+ flag: autoPrint.value,
+ };
+ var url = "/unLoadGlass/downWorkStation/autoPrint?flag=" + autoPrint.value;
+ const response = await request.post(url)
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ autoPrint.value = response.data
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+}
+const confirmBrowser = () => {
+ if (/chrome|chromium/i.test(navigator.userAgent) && !/edg/i.test(navigator.userAgent)) {
+ browser.value = true
+ } else if (/edg/i.test(navigator.userAgent)) {
+ browser.value = false
+ } else {
+ browser.value = false
+ }
+}
+const handleInputChangea = (value, rowId) => {
+ selectValuesa[rowId] = value;
+};
// 鏂规硶
const handleSelectionChange = () => {
// 澶勭悊琛ㄦ牸琛岄�夋嫨浜嬩欢
};
-
const handleBindRack = (row) => {
- workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-
- // 鍙戣捣鎺ュ彛璇锋眰鑾峰彇娴佺▼鍗″彿
- fetchFlowCardId();
-
-
- dialogFormVisiblea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ workstationId.value = row.workstationId;
+ flowCardId.value = row.flowCardId;
+ fetchFlowCardId();
+ dialogFormVisiblea.value = true;
};
-
-
-
//鑾峰彇娴佺▼鍗″彿
const fetchFlowCardId = async () => {
try {
const response = await request.get('unLoadGlass/downWorkStation/getflowCardId');
console.log(response)
if (response.code === 200) {
- flowCardOptions.value = response.data.map(item => ({ flowcard_id: item.flow_card_Id }));
- console.log(flowCardOptions.value)
- } else {
+ flowCardOptions.value = response.data.filter(item => item !== null)
+ .map(item => ({ flowcard_id: item.flow_card_id }));
+ console.log(flowCardOptions.value);
+ }
+ else {
ElMessage.error(response.msg);
}
} catch (error) {
@@ -113,299 +97,488 @@
//纭
const handleConfirm = async () => {
try {
+ const firstPart = flowCardId.value.split('|')[0].trim(); //
+ const twoPart = flowCardId.value.split('|')[1].trim(); //
const response = await request.post('unLoadGlass/downWorkStation/updateFlowCardId', {
workstationId: workstationId.value,
- flowCardId: flowCardId.value
- });
-
- console.log(response)
+ flowCardId: firstPart,
+ layer: twoPart
+ });
if (response.code == 200) {
- // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
- console.log('缁戝畾鎴愬姛');
-
ElMessage.success(response.message);
updatePageData();
dialogFormVisiblea.value = false;
} else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.msg);
}
} catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
};
-
-
const updatePageData = () => {
- // 鍋囪浣犵殑椤甸潰涓婃湁涓�涓悕涓� tableData 鐨� Vue 缁勪欢
- // 浣犲彲浠ョ洿鎺ユ洿鏂� tableData 鐨勬暟鎹�
- tableData.flowCardId = flowCardId.value;
-
- // 浣跨敤 $forceUpdate() 寮哄埗鏇存柊缁勪欢
- forceUpdate();
+ fetchTableData()
};
-
-
-
const handleBindRack2 = (row) => {
- workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-
-
-
-
- dialogFormVisiblea2.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ workstationId.value = row.workstationId;
+ dialogFormVisiblea2.value = true;
+ workFlowCard.value = row.flowCardId;
};
//娓呴櫎鍐呭
const handleclear = async () => {
- try {
- const response = await request.post('unLoadGlass/downWorkStation/clear', {
- workstationId: workstationId.value,
- });
-
- console.log(response);
-
- if (response.code === 200) {
- // 娓呴櫎鎴愬姛鐨勯�昏緫
- console.log('娓呴櫎鎴愬姛');
- ElMessage.success(response.message);
- dialogFormVisiblea2.value = false;
- } else if (response.code === 400) {
- // 娓呴櫎澶辫触鐨勯�昏緫
- console.log('娓呴櫎澶辫触');
- console.log(response.message); // 鎵撳嵃鏈嶅姟鍣ㄨ繑鍥炵殑閿欒淇℃伅
- ElMessage.error(response.message);
- dialogFormVisiblea2.value = false;
- }
- } catch (error) {
- // console.log(error);
- ElMessage.error("娓呴櫎澶辫触");
- dialogFormVisiblea2.value = false;
+ try {
+ const response = await request.post('unLoadGlass/downWorkStation/clear', {
+ workstationId: workstationId.value,
+ });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ dialogFormVisiblea2.value = false;
+ if (fullFlowCard.value == workFlowCard.value) {
+ fullFlowCard.value = "";
+ }
+ } else if (response.code === 500) {
+ ElMessage.error(response.message);
+ dialogFormVisiblea2.value = false;
}
+ } catch (error) {
+ ElMessage.error("娓呴櫎澶辫触");
+ dialogFormVisiblea2.value = false;
+ }
};
-
-
-
-const tableData = reactive([]);
-
// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
const fetchTableData = async () => {
try {
- // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
const response = await request.get('unLoadGlass/downWorkStation/getone');
-
- // 妫�鏌ュ搷搴旂姸鎬�
if (response.code === 200) {
- // 鏇存柊琛ㄦ牸鏁版嵁
- console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
tableData.splice(0, tableData.length, ...response.data);
} else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.msg);
}
} catch (error) {
- // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
}
};
-
-
-
-
-// initWebSocket();
-onMounted(fetchTableData);
-// setInterval(fetchTableData, 2000)
-
-const open = () => {
- ElMessageBox.confirm(
- '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
- '鎻愮ず',
- {
- confirmButtonText: '鏄�',
- cancelButtonText: '鍙栨秷',
- type: 'warning',
+let socket = null;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
+const handleMessage = (data) => {
+ if (data.downGlassInfos != null) {
+ downGlass.value = data.downGlassInfos[0];
+ }
+ if (data.engineerIdList != null) {
+ selectOptionsa.value = data.engineerIdList[0]
+ }
+ if (data.autoPrint != null) {
+ autoPrint.value = data.autoPrint[0];
+ }
+ if (data.takeGlass != null) {
+ takeGlass.value = data.takeGlass[0];
+ let width = takeGlass.value.width;
+ let height = takeGlass.value.height;
+ if (width < height) {
+ takeGlass.value.width = height;
+ takeGlass.value.height = width;
+ }
+ }
+ 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;
}
- )
- .then(() => {
- ElMessage({
- type: 'success',
- message: '鍒犻櫎鎴愬姛锛�',
- })
- })
- .catch(() => {
- ElMessage({
- type: 'info',
- message: '鍒犻櫎澶辫触',
- })
- })
-}
-const getTableRow = (row,type) =>{
- switch (type) {
- case 'edit' :{
- //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
- router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
- break
- }
- case 'delete':{
- alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
- break
+ if(autoPrint.value == true && browser.value == true){
+ open1(scanGlass);
}
}
-}
-
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderList',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- data: [
- {
- 'id': '1',
- 'long': '5',
- 'wide': '1005',
- 'thick': '183.6',
+ //鑷姩鎵撳嵃
+ if (fullFlowCard.value == "" && autoPrint.value == true && browser.value == true) {
+ for (let i = 0; i < tableData.length; i++) {
+ if (tableData[i].totalQuantity != 0) {
+ if (tableData[i].totalQuantity == tableData[i].racksNumber + tableData[i].otherNumber && fullFlowCard.value != tableData[i].flowCardId) {
+ // printFlowCardId.value = tableData[i].flowCardId;
+ fullFlowCard.value = tableData[i].flowCardId;
+ open(tableData[i]);
+ break;
+ }
+ } else {
+ console.log("娌℃湁flowCardId")
+ }
}
- ],
-})
-
-
-
-
-
+ }
+ if (data.params != null) {
+ tableData.splice(0, tableData.length, ...data.params[0]);
+ }
+};
+onMounted(() => {
+ confirmBrowser();//鑾峰彇娴忚鍣�
+ fetchFlowCardId();
+ fetchTableData(); // 鑾峰彇鏁版嵁
+ socket = initializeWebSocket(socketUrl, handleMessage);
+});
+onUnmounted(() => {
+ if (socket) {
+ closeWebSocket(socket);
+ }
+});
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
+const getTagType = (status) => {
+ return status === 1 ? 'success' : 'danger';
+}
+const toggleStatus = (row) => {
+ // 鍒囨崲鏂欐灦鐘舵�佺殑閫昏緫
+ row.enableState = 1 - row.enableState; // Toggle between 0 and 1
+ // 姝ゅ鍙互娣诲姞淇濆瓨鐘舵�佺殑閫昏緫锛屾瘮濡傝皟鐢� API 鏇存柊鏁版嵁
+ updateRowStatus(row);
+};
+const updateRowStatus = async (row) => {
+ try {
+ const response = await request.post('unLoadGlass/downWorkStation/updateDownWorkstation', {
+ enableState: row.enableState,
+ id: row.id
+ });
+ console.log('Updated row status:', response.data);
+ } catch (error) {
+ console.error('Error updating row status:', error);
+ }
+};
+// 鏌ヨ鏁版嵁
+const selectDownGlassData = async () => {
+ const response = await request.post("/unLoadGlass/downGlassInfo/setDownGlassInfoRequest", {
+ workStationId: selectValuesa[0],
+ engineerId: selectValuesa[1],
+ beginDate: timeRange.value[0],
+ endDate: timeRange.value[1],
+ })
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+const open = async (row) => {
+ printFlowCardId.value = row.flowCardId;
+ printLayer.value = row.layer
+ dialogTableVisible.value = true;
+ setTimeout(() => {
+ printFlowCard();
+ dialogTableVisible.value = false;
+ }, 2000);
+}
+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 printFlowCard = () => {
+ // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
+ let el = document.getElementById("child");
+ let doc = document;
+ let body = doc.body || doc.getElementsByTagName("body")[0];
+ let printId = "print-" + Date.now();
+ // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
+ let content = doc.createElement("div");
+ content.id = printId;
+ // alert(/Chrome/.test(userAgent) && !/Edge/.test(userAgent));
+ // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
+ let style = doc.createElement("style");
+ console.log("style1:" + style.innerHTML)
+ style.innerHTML =
+ "body>#" +
+ printId +
+ "{display:none;}@media print{" +
+ "@page {" +
+ " size: auto; " +
+ " margin: 10mm 5mm 10mm 5mm; " +
+ " }body>:not(#" +
+ printId +
+ "){display:none !important;}body>#" +
+ printId +
+ "{display:block;}#" +
+ printId +
+ "{display: block; padding: 0; margin: 0; width: 100%; position: absolute; top: 0; left: 0; height: 100vh; box-sizing: border-box;}} ";
+ 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 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);
+}
+// beforeUnmount(() => {
+// closeWebSocket();
+// });
+// setInterval(fetchTableData, 2000)
</script>
-
<template>
- <div>
- <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: 200px;">
- <el-table height="100%" ref="table"
- @selection-change="handleSelectionChange"
- :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="workstationId" align="center" label="涓嬬墖浣�" min-width="80" />
- <el-table-column prop="workstationId" align="center" label="鏋跺彿" min-width="120" />
- <el-table-column prop="flowCardId" align="center" label="娴佺▼鍗″彿" min-width="120" />
- <el-table-column prop="totalquantity" align="center" label="鎬绘暟閲�" min-width="120" />
- <el-table-column prop="racksnumber" align="center" label="宸茶惤鏋舵暟閲�" min-width="120" />
- <el-table-column prop="work_state" align="center" label="鐘舵��" min-width="120" />
- <el-table-column prop="deviceId" align="center" label="璁惧鍙�" min-width="120" />
- <el-table-column prop="enableState" align="center" label="鍚敤鐘舵��" min-width="120" />
- <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
- <template #default="scope">
- <el-button size="mini" type="text" plain v-show="scope.row.enableState !== '宸插惎鐢�' " @click="handleBindRack(scope.row)">缁戝畾鏋跺瓙</el-button>
- <el-button size="mini" type="text" plain @click="handleBindRack2(scope.row)">娓呯┖</el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </el-card>
-
-
- <el-dialog v-model="dialogFormVisiblea" top="21vh" width="30%" title="缁戝畾鏋跺瓙" >
- <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
- <el-form size="mini" label-width="150px">
- <el-form label-width="100px" label-position="right">
- <el-form-item label="鏋跺彿锛�" :required="true" style="width: 18vw">
- <el-input v-model="workstationId" autocomplete="off"/>
- </el-form-item>
- <el-form-item label="娴佺▼鍗″彿锛�" :required="true" style="width: 18vw;">
- <el-select v-model="flowCardId" placeholder="璇烽�夋嫨娴佺▼鍗″彿">
- <el-option v-for="item in flowCardOptions" :key="item.flowcard_id" :label="item.flowcard_id" :value="item.flowcard_id" />
+ <div style="height: 500px;">
+ <div>
+ <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
+ @click="dialogFormVisibleaDownGlass = true">{{ $t('reportWork.details') }}
+ </el-button>
+ <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
+ @click="dialogFormVisibleaDownGlasss = true">{{ $t('reportWork.filming') }}
+ </el-button>
+ <el-switch style="margin-top: 10px;margin-left: 15px;margin-bottom: 10px;" v-model="autoPrint" class="mb-2"
+ :inactive-text="$t('basicData.printing')" @change="handleChange"/>
+ <el-card style="flex: 1;" v-loading="loading">
+ <el-card style="flex: 1;margin-left: 4px;margin-top: 1px;" v-loading="loading">
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+ <el-table height="350px" ref="table" @selection-change="handleSelectionChange" :data="tableData"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="workstationId" align="center" :label="$t('reportWork.lowerbit')" min-width="80" />
+ <el-table-column prop="workstationId" align="center" :label="$t('reportWork.shelfnumber')"
+ min-width="120" />
+ <el-table-column prop="flowCardId" align="center" :label="$t('reportWork.cardnumber')" min-width="150" />
+ <el-table-column prop="totalQuantity" align="center" :label="$t('reportWork.totalquantity')"
+ min-width="120" />
+ <el-table-column prop="racksNumber" align="center" :label="$t('reportWork.beendropped')" min-width="120" />
+ <el-table-column prop="layer" align="center" :label="$t('reportWork.cenumber')" min-width="120" />
+ <el-table-column prop="otherNumber" align="center" :label="$t('reportWork.artificialorder')" min-width="120" />
+ <!-- <el-table-column prop="work_state" align="center" :label="$t('reportWork.state')" min-width="120" /> -->
+ <el-table-column prop="deviceId" align="center" :label="$t('reportWork.devicenumber')" min-width="120" />
+ <el-table-column align="center" :label="$t('reportWork.startstatus')" min-width="80" prop="enableState">
+ <template #default="scope">
+ <el-tag :type="getTagType(scope.row.enableState)" @click="toggleStatus(scope.row)">
+ {{ scope.row.enableState === 1 ? $t('reportWork.enable') : $t('reportWork.unenable') }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" :label="$t('reportWork.operate')" align="center" width="400">
+ <template #default="scope">
+ <el-button size="mini" type="text" plain v-show="scope.row.enableState !== '宸插惎鐢�'"
+ @click="handleBindRack(scope.row)">{{ $t('reportWork.bindingshelves') }}
+ </el-button>
+ <el-button size="mini" type="text" plain @click="handleBindRack2(scope.row)">{{ $t('reportWork.clear')
+ }}</el-button>
+ <el-button @click="open(scope.row)" :disabled="scope.row.flowCardId == null">{{ $t('reportWork.processcard') }}</el-button>
+ <el-button @click="open1(scope.row)" :disabled="scope.row.flowCardId == null">{{ $t('reportWork.printlabels') }}</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <el-dialog v-model="dialogFormVisibleaDownGlass" top="2vh" width="97%" :title="$t('reportWork.information')">
+ <div style="margin-bottom: 10px;margin-top: -20px;">
+ <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('reportWork.cstation')" clearable style="margin-top: -6px;">
+ <el-option :label="$t('reportWork.all')" value="0"></el-option>
+ <el-option label="1" value="1"></el-option>
+ <el-option label="2" value="2"></el-option>
+ <el-option label="3" value="3"></el-option>
+ <el-option label="4" value="4"></el-option>
+ <el-option label="5" value="5"></el-option>
+ <el-option label="6" value="6"></el-option>
+ <el-option label="7" value="7"></el-option>
</el-select>
- </el-form-item>
- </el-form>
- </el-form>
- </div>
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handleConfirm">
- 纭
- </el-button>
- <el-button @click="dialogFormVisiblea = false">鍙栨秷</el-button>
- </div>
- </template>
- </el-dialog>
-
-
-
-
- <el-dialog v-model="dialogFormVisiblea2" top="21vh" width="30%" title="娓呴櫎鏋跺瓙鐜荤拑" >
-
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handleclear">
- 纭
- </el-button>
- <el-button @click="dialogFormVisiblea2 = false">鍙栨秷</el-button>
- </div>
- </template>
- </el-dialog>
-
-
- <!-- workstationId: '1',
+ <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('basicData.plselectproject')" clearable style="margin-left: 10px;margin-top: -6px;"
+ @input="handleInputChangea($event, row.id)">
+ <el-option v-for="item in selectOptionsa" :key="item" :label="item" :value="item" />
+ </el-select>
+ <span style="margin-left: 10px;margin-top: 15px;" class="demonstration">{{ $t('reportWork.timeperiod') }}</span>
+ <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" :start-placeholder="$t('reportmanage.starttime')"
+ value-format="YYYY-MM-DD hh:mm:ss" :end-placeholder="$t('reportmanage.endtime')" style="margin-left: 10px;">
+ </el-date-picker>
+ <el-button type="primary" style="margin-left: 10px;margin-top: -6px;" @click="selectDownGlassData()">{{
+ $t('reportmanage.inquire')
+ }}
+ </el-button>
+ </div>
+ <el-table height="200px" ref="table" @selection-change="handleSelectionChange" :data="downGlass"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="workStationId" align="center" :label="$t('reportWork.stationnumber')" min-width="80" />
+ <el-table-column prop="engineerId" align="center" :label="$t('basicData.projectnumber')" min-width="80" />
+ <el-table-column prop="flowCardId" align="center" :label="$t('workOrder.cardnumber')" min-width="80" />
+ <el-table-column prop="layer" align="center" :label="$t('searchOrder.ceng')" min-width="120" />
+ <el-table-column prop="sequence" align="center" :label="$t('reportWork.order')" min-width="150" />
+ <el-table-column prop="width" align="center" :label="$t('basicData.width')" min-width="120" />
+ <el-table-column prop="height" align="center" :label="$t('basicData.height')" min-width="120" />
+ <el-table-column prop="Filmsid" align="center" :label="$t('basicData.coatingtypes')" min-width="120" />
+ <el-table-column prop="thickness" align="center" :label="$t('basicData.thickness')" min-width="120" />
+ <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120" />
+ </el-table>
+ </el-dialog>
+ <el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('searchOrder.filminformation')">
+ <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: takeGlass.width + 'px', height: takeGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (takeGlass.width > takeGlass.height ? takeGlass.width : takeGlass.height) + ')' }">
+ </div>
+ <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:170px;">
+ <div>{{ $t('reportWork.glassmation') }}</div>
+ <div><el-button type="primary" @click="open1(takeGlass)" >{{ $t('reportWork.printlabels') }}</el-button></div>
+ <div>{{ takeGlass.flowCardId }}</div>
+ <div>{{ takeGlass.layer }}</div>
+ <div>{{ takeGlass.glassId }}</div>
+ <div>{{ takeGlass.width }}</div>
+ <div>{{ takeGlass.height }}</div>
+ </div>
+ </el-card>
+ <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>{{ $t('reportWork.barcodescanner') }}</div>
+ <div><el-button type="primary" @click="open1(scanGlass)" >{{ $t('reportWork.printlabels') }}</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-card>
+ <!-- workstationId: '1',
workstationId: '1005',
flowCardId: '183.6',
totalquantity: '1991',
racksnumber:"1",
work_state: '寰呰瘑鍒�', -->
+ <div style="display: flex;" class="awatch">
+ <div id="main-body">
+ <Landingindication></Landingindication>
+ </div>
+ <div id="main-bodya">
+ <Landingindicationtwo></Landingindicationtwo>
+ </div>
+ </div>
+ </el-card>
</div>
- <div style="display: flex;">
- <div id="main-body">
- <Landingindication></Landingindication>
+ <el-dialog v-model="dialogFormVisiblea" top="21vh" width="40%" :title="$t('reportWork.bindingshelves')">
+ <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
+ <el-form size="mini" label-width="100px">
+ <el-form label-width="210px" label-position="right">
+ <el-form-item :label="$t('reportWork.shelfnumbera')" :required="true" style="width: 25vw">
+ <el-input v-model="workstationId" autocomplete="off" />
+ </el-form-item>
+ <el-form-item :label="$t('reportWork.cardnumbera')" :required="true" style="width: 25vw;">
+ <el-select v-model="flowCardId" :placeholder="$t('reportWork.incardnumber')">
+ <el-option v-for="item in flowCardOptions" :key="item.flowcard_id" :label="item.flowcard_id"
+ :value="item.flowcard_id" />
+ </el-select>
+ </el-form-item>
+ </el-form>
+ </el-form>
</div>
- <div id="main-bodya">
- <Landingindicationtwo></Landingindicationtwo>
- </div></div>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleConfirm">
+ {{ $t('reportWork.sure') }}
+ </el-button>
+ <el-button @click="dialogFormVisiblea = false">{{ $t('reportWork.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ <el-dialog v-model="dialogFormVisiblea2" top="21vh" width="30%" :title="$t('reportWork.clearglass')">
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleclear">
+ {{ $t('reportWork.sure') }}
+ </el-button>
+ <el-button @click="dialogFormVisiblea2 = false">{{ $t('reportWork.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ <el-dialog id="sizePrintCalrd" v-model="dialogTableVisible" destroy-on-close>
+ <print-flow id="child" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
+ style="width: 100%;height: 100%"/>
+ </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>
+ </div>
</template>
-
<style scoped>
-
-#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
-#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
-#dialog-footer{
+#dt {
+ display: block;
+ float: left;
+ line-height: 20px;
+ margin-left: 100px;
+}
+#dta {
+ display: block;
+ float: left;
+ line-height: 20px;
+ margin-left: 80%;
+}
+#dialog-footer {
text-align: center;
margin-top: -15px;
}
-#message{
+#message {
text-align: center;
align-items: center;
color: black;
- width: 200px;
- height: 100px;
- background-color: #337ecc;
- margin-left: 28%;
+ width: 200px;
+ height: 100px;
+ background-color: #337ecc;
+ margin-left: 28%;
}
-#awatch{
- height: 450px;
+.awatch {
+ max-width: 100%;
}
-#main-body{
- margin-top: -20px;
- margin-left: 200px;
+#main-body {
+ margin-top: -40px;
+ margin-left: 150px;
}
-#main-bodya{
- margin-top: -10px;
+#main-bodya {
+ margin-top: -40px;
margin-left: 100px;
}
+:deep(#sizePrintCalrd .el-dialog__body) {
+ height: 85%;
+ width: 100%;
+ overflow-y: auto;
+}
</style>
\ No newline at end of file
--
Gitblit v1.8.0