From 8faf6c3fbbdf39ba40b5109bfa142a40713d815e Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期二, 13 八月 2024 14:52:08 +0800
Subject: [PATCH] 1、被覆盖代码部分恢复
---
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 232 ++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 176 insertions(+), 56 deletions(-)
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index a6b9c45..2aec6e9 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -1,18 +1,19 @@
<script setup>
-import { Search } from "@element-plus/icons-vue";
-import { reactive, onMounted, onBeforeUnmount, onUnmounted } from "vue";
-import { useRouter } from "vue-router"
-const router = useRouter()
-import { useI18n } from 'vue-i18n'
-const { t } = useI18n()
-let language = ref(localStorage.getItem('lang') || 'zh')
-import { ref } from 'vue'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import Landingindication from "./Landingindication.vue";
-import Landingindicationtwo from "./Landingindicationtwo.vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
+import {useRouter} from "vue-router"
+import {useI18n} from 'vue-i18n'
+import {ElMessage} from 'element-plus'
import request from "@/utils/request";
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-import { WebSocketHost, host } from '@/utils/constants'
+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 dialogFormVisiblea = ref(false)
const dialogFormVisiblea2 = ref(false)
const dialogFormVisibleaDownGlass = ref(false)
@@ -22,17 +23,45 @@
const dialogFormVisible = ref(false);
// 琛ㄥ崟鏁版嵁
const workstationId = ref('');
-const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹�
+const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹�
const flowCardId = ref('');
const flowCardOptions = ref('[]');
const tableData = reactive([]);
const downGlass = ref([]);
-const timeRange = ref(["2022-01-01", "2025-01-01"])
+
const selectValuesa = reactive({});
const selectOptionsa = ref([]);
+const dialogTableVisible = ref(false)
+const printFlowCardId = ref('')
+const printLayer = ref('')
+const now = new Date();
+const timeRange = ref([new Date(now.setHours(0, 0, 0, 0)), new Date(now.setHours(23, 59, 59, 999))])
+
+const handleChange = async () => {
+ console.log("瑙﹀彂寮�鍏�")
+ try {
+ const body = {
+ flag: autoPrint.value, // 浣跨敤 ganghua.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 handleInputChangea = (value, rowId) => {
- // 鏇存柊瀵瑰簲琛岀殑 select 鍊�
+ // 鏇存柊瀵瑰簲琛岀殑 select 鍊�
selectValuesa[rowId] = value;
};
// 鏂规硶
@@ -54,7 +83,7 @@
if (response.code === 200) {
flowCardOptions.value = response.data.filter(item => item !== null)
- .map(item => ({ flowcard_id: item.flow_card_id }));
+ .map(item => ({flowcard_id: item.flow_card_id}));
console.log(flowCardOptions.value);
}
else {
@@ -67,8 +96,8 @@
//纭
const handleConfirm = async () => {
try {
- const firstPart = flowCardId.value.split('|')[0].trim(); //
- const twoPart = flowCardId.value.split('|')[1].trim(); //
+ 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: firstPart,
@@ -151,6 +180,7 @@
const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
+
// 鏇存柊 tableData 鐨勬暟鎹�
if (data.downGlassInfos != null) {
downGlass.value = data.downGlassInfos[0][1];
@@ -158,8 +188,27 @@
if (data.engineerIdList != null) {
selectOptionsa.value = data.engineerIdList[0]
}
+ if (data.autoPrint != null) {
+ autoPrint.value = data.autoPrint;
+ }
+ console.log(autoPrint.value)
- // tableData.splice(0, tableData.length, ...data.params[0]);
+ tableData.splice(0, tableData.length, ...data.params[0]);
+ if (fullFlowCard.value == "") {
+ 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")
+ }
+ }
+ }
+
// console.log("鏇存柊鍚庢暟鎹�", data.params[0]);
};
@@ -213,15 +262,14 @@
// 鏌ヨ鏁版嵁
const selectDownGlassData = async () => {
-
- const response = await request.post("/unLoadGlass/downGlassInfo/selectDownGlassInfo", {
+
+ 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) {
- sendDownGlass.value = response.data;
ElMessage.success(response.message);
} else {
ElMessage.error(response.message);
@@ -230,8 +278,57 @@
}
-const open=async()=>{
- router.push({path: '/UnLoadGlass/PrintFlow'})
+const open = async (row) => {
+
+ printFlowCardId.value = row.flowCardId;
+ printLayer.value = row.layer
+ dialogTableVisible.value = true;
+ setTimeout(() => {
+ printFlowCard(); // 鏇挎崲鎴愪綘瑕佹墽琛岀殑鍑芥暟鍚�
+ dialogTableVisible.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;
+
+ // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
+ let style = doc.createElement("style");
+ style.innerHTML =
+ "body>#" +
+ printId +
+ "{display:none}@media print{" +
+ "@page {" +
+ " size: auto; " +
+ " margin: 2mm 2mm 0mm 1mm; " +
+ " }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);
}
@@ -243,21 +340,24 @@
<template>
<div>
<el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary"
- @click="dialogFormVisibleaDownGlass = true">钀芥灦璇︽儏</el-button>
+ @click="dialogFormVisibleaDownGlass = true">钀芥灦璇︽儏
+ </el-button>
+ <el-switch style="margin-top: 5px;margin-left: 10px;" v-model="autoPrint" class="mb-2" :inactive-text="$t('鑷姩鎵撳嵃')"
+ @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="200px" 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" />
+ :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" />
+ 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="灞傛暟" min-width="120" />
- <el-table-column prop="otherNumber" align="center" label="浜哄伐涓嬬墖鏁�" min-width="120" />
+ 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="灞傛暟" min-width="120"/>
+ <el-table-column prop="otherNumber" align="center" label="浜哄伐涓嬬墖鏁�" 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">
@@ -270,10 +370,11 @@
<el-table-column fixed="right" :label="$t('reportWork.operate')" align="center" width="200">
<template #default="scope">
<el-button size="mini" type="text" plain v-show="scope.row.enableState !== '宸插惎鐢�'"
- @click="handleBindRack(scope.row)">{{ $t('reportWork.bindingshelves') }}</el-button>
+ @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()">111</el-button>
+ <el-button @click="open(scope.row)" :disabled="scope.row.flowCardId == null">鎵撳嵃</el-button>
</template>
</el-table-column>
@@ -281,7 +382,7 @@
</div>
<el-dialog v-model="dialogFormVisibleaDownGlass" top="2vh" width="97%"
- :title="$t('searchOrder.cageinformation')">
+ :title="$t('searchOrder.cageinformation')">
<el-select v-model="selectValuesa[0]" filterable :placeholder="$t('璇烽�夋嫨宸ヤ綅')" clearable>
<el-option label="鍏ㄩ儴" value="0"></el-option>
<el-option label="1" value="1"></el-option>
@@ -297,27 +398,31 @@
</el-select>
<el-select v-model="selectValuesa[1]" filterable :placeholder="$t('basicData.plselectproject')" clearable
- @input="handleInputChangea($event, row.id)">
- <el-option v-for="item in selectOptionsa" :key="item" :label="item" :value="item" />
+ @input="handleInputChangea($event, row.id)">
+ <el-option v-for="item in selectOptionsa" :key="item" :label="item" :value="item"/>
</el-select>
- <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
- value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
- :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
+
+ <span class="demonstration">鏃堕棿娈�</span>
+ <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡">
+ </el-date-picker>
+
<el-button type="primary" style="margin-left: 10px;" @click="selectDownGlassData()">{{
- $t('reportmanage.inquire')
- }}</el-button>
+ $t('reportmanage.inquire')
+ }}
+ </el-button>
<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('宸ヤ綅鍙�')" min-width="80" />
- <el-table-column prop="engineerId" align="center" :label="$t('宸ョ▼鍙�')" min-width="80" />
- <el-table-column prop="flowCardId" align="center" :label="$t('娴佺▼鍗″彿')" min-width="80" />
- <el-table-column prop="layer" align="center" :label="$t('灞�')" min-width="120" />
- <el-table-column prop="sequence" align="center" :label="$t('椤哄簭')" min-width="150" />
- <el-table-column prop="width" align="center" :label="$t('瀹�')" min-width="120" />
- <el-table-column prop="height" align="center" :label="$t('楂�')" min-width="120" />
- <el-table-column prop="Filmsid" align="center" :label="$t('鑶滅郴')" min-width="120" />
- <el-table-column prop="thickness" align="center" label="鍘氬害" min-width="120" />
- <el-table-column prop="glassId" align="center" :label="$t('鐜荤拑id')" min-width="120" />
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="workStationId" align="center" :label="$t('宸ヤ綅鍙�')" min-width="80"/>
+ <el-table-column prop="engineerId" align="center" :label="$t('宸ョ▼鍙�')" min-width="80"/>
+ <el-table-column prop="flowCardId" align="center" :label="$t('娴佺▼鍗″彿')" min-width="80"/>
+ <el-table-column prop="layer" align="center" :label="$t('灞�')" min-width="120"/>
+ <el-table-column prop="sequence" align="center" :label="$t('椤哄簭')" min-width="150"/>
+ <el-table-column prop="width" align="center" :label="$t('瀹�')" min-width="120"/>
+ <el-table-column prop="height" align="center" :label="$t('楂�')" min-width="120"/>
+ <el-table-column prop="Filmsid" align="center" :label="$t('鑶滅郴')" min-width="120"/>
+ <el-table-column prop="thickness" align="center" label="鍘氬害" min-width="120"/>
+ <el-table-column prop="glassId" align="center" :label="$t('鐜荤拑id')" min-width="120"/>
</el-table>
</el-dialog>
@@ -351,7 +456,7 @@
<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" />
+ :value="item.flowcard_id"/>
</el-select>
</el-form-item>
</el-form>
@@ -377,6 +482,15 @@
</div>
</template>
</el-dialog>
+
+ <el-dialog id="sizePrintCalrd" v-model="dialogTableVisible" destroy-on-close style="width: 75%;height:75% ">
+ <!-- <template #header="{ close, titleId, titleClass }">
+ <el-button @click="printFlowCard" >鎵撳嵃</el-button>
+ </template> -->
+ <print-flow id="child" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
+ style="width: 100%;height: 100%"/>
+ </el-dialog>
+
</template>
<style scoped>
#dt {
@@ -421,4 +535,10 @@
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