From b221416ffb858825f4c429f8fd0071387d53a016 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 04 九月 2025 15:38:18 +0800
Subject: [PATCH] 掰片模块新增一键破损功能,中空理片笼-中空优先级开关、流程卡表格新增总和计算,缺片详情按钮及相关页面操作
---
UI-Project/src/views/Identify/identifwu.vue | 56 ++++++
UI-Project/src/views/Identify/identifwutwo.vue | 52 ++++++
UI-Project/src/views/hollow/hollowslicecage.vue | 236 +++++++++++++++++++++++------
UI-Project/src/views/Identify/identify.vue | 74 +++++++++
UI-Project/src/lang/en.js | 4
UI-Project/src/lang/py.js | 4
UI-Project/src/lang/zh.js | 4
UI-Project/src/lang/kr.js | 4
8 files changed, 372 insertions(+), 62 deletions(-)
diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index f0eb1b8..81fb0dd 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -129,12 +129,16 @@
},
order: {
projectnumber: 'Please enter the project number',
+ noGlassToDamage:'No broken glass锛�',
dilapidation: 'Breakage',
+ dilapidationWhether:'Whether it is broken with one click锛�',
takeaway: 'Manual removal',
takeawaya: 'Should the information be manually taken away锛�',
takeon: 'The arrangement is complete',
},
searchOrder: {
+ firstLinePriority: 'First-line priority',
+ secondLinePriority: 'second-line priority',
hollowPriority:'Hollow priority',
furnaces:'Number of full furnaces',
furnfullTemp: 'Total amount of glass',
diff --git a/UI-Project/src/lang/kr.js b/UI-Project/src/lang/kr.js
index 635a82c..67dbb02 100644
--- a/UI-Project/src/lang/kr.js
+++ b/UI-Project/src/lang/kr.js
@@ -128,12 +128,16 @@
},
order:{
projectnumber:'頂勲鞝濏姼 氩堩樃毳� 鞛呺牓頃� 欤检劯鞖�',
+ noGlassToDamage:'旯 鞙犽Μ 鞐嗢潓锛�',
dilapidation:'韺岇啇',
+ dilapidationWhether:'頃� 氩堨潣 韥措Ν鞙茧 旯電旍 鞐秬锛�',
takeaway:'靾橂彊 鞝滉卑',
takeawaya:'鞝曤炒臧� 靾橂彊鞙茧 靾橃霅橃棃電旍 鞐秬锛�',
takeon:'欷�牍勱皜 鞕勲霅橃棃鞀惦媹雼�',
},
searchOrder:{
+ firstLinePriority: '鞚检劆 鞖办劆 靾滌渼',
+ secondLinePriority: '2靹� 鞖办劆靾滌渼',
hollowPriority:'欷戧车 鞖办劆 靾滌渼',
furnaces:'臧�霌� 彀瀳電� 鞖╆磻搿滌潣 靾�',
furnfullTemp:'鞙犽Μ鞚� 齑濍焿',
diff --git a/UI-Project/src/lang/py.js b/UI-Project/src/lang/py.js
index 2416d17..2afb031 100644
--- a/UI-Project/src/lang/py.js
+++ b/UI-Project/src/lang/py.js
@@ -129,11 +129,15 @@
order: {
projectnumber:'璇疯緭鍏ュ伐绋嬪彿',
takeon:'鎽嗙墖瀹屾垚',
+ noGlassToDamage:'袧懈泻邪泻芯谐芯 斜懈褌芯谐芯 褋褌械泻谢邪锛�',
dilapidation: '袩芯胁褉械卸写械薪懈械',
+ dilapidationWhether:'小谢芯屑邪械褌褋褟 谢懈 芯薪 芯写薪懈屑 泻谢懈泻芯屑锛�',
takeawaya:'鏄惁浜哄伐鎷胯蛋璇ユ潯淇℃伅锛�',
takeaway: '袙蟹褟褌褜 胁褉褍褔薪褍褞',
},
searchOrder: {
+ firstLinePriority: '袩褉懈芯褉懈褌械褌 锌械褉胁芯泄 谢懈薪懈懈',
+ secondLinePriority: '袩褉懈芯褉懈褌械褌 胁褌芯褉芯泄 谢懈薪懈懈',
hollowPriority:'涓┖浼樺厛绾�',
furnaces:'婊$倝鐐夋暟',
furnfullTemp:'鐜荤拑鎬婚噺',
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 0197007..8f3174c 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -128,12 +128,16 @@
},
order:{
projectnumber:'璇疯緭鍏ュ伐绋嬪彿',
+ noGlassToDamage:'娌℃湁鍙牬鎹熺殑鐜荤拑锛�',
dilapidation:'鐮存崯',
+ dilapidationWhether:'鏄惁涓�閿牬鎹燂紵',
takeaway:'浜哄伐鎷胯蛋',
takeawaya:'鏄惁浜哄伐鎷胯蛋璇ユ潯淇℃伅锛�',
takeon:'鎽嗙墖瀹屾垚',
},
searchOrder:{
+ firstLinePriority: '涓�绾夸紭鍏�',
+ secondLinePriority: '浜岀嚎浼樺厛',
hollowPriority:'涓┖浼樺厛绾�',
furnaces:'婊$倝鐐夋暟',
furnfullTemp:'鐜荤拑鎬婚噺',
diff --git a/UI-Project/src/views/Identify/identifwu.vue b/UI-Project/src/views/Identify/identifwu.vue
index 3ade8dd..02b90a0 100644
--- a/UI-Project/src/views/Identify/identifwu.vue
+++ b/UI-Project/src/views/Identify/identifwu.vue
@@ -1,7 +1,10 @@
<template>
- <div style="height: 500px;">
- <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;">
+ <div style="height: 600px;">
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 850px;">
+ <div style="display: flex;margin-left: 40%;margin-bottom: 5px;">
<div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ ava }}-{{ avanum }} </div>
+ <el-button @click="handleAllDamage" style="margin-left: 80%;margin-top: -5px;">{{$t('order.dilapidation')}}</el-button>
+ </div>
<el-scrollbar height="750px" width="1400px" style="background-color: #e9e9eb;">
<div style="position: relative;">
<div
@@ -14,9 +17,9 @@
backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor(rect.state)
}">
<div class="centered-text">
- <div style="font-size: 20px;font-weight: bold;">{{ rect.glassId }}</div>
- <div style="font-size: 20px;font-weight: bold;">{{ rect.flowCardId }}</div>
- <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+ <div style="font-size: 10px;font-weight: bold;">{{ rect.glassId }}</div>
+ <div style="font-size: 10px;font-weight: bold;">{{ rect.flowCardId }}</div>
+ <div style="font-size: 15px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>
</div>
</div>
</div>
@@ -38,7 +41,7 @@
</div>
</template>
<script setup lang="ts">
-import {avatarEmits, ElMessage} from 'element-plus'
+import {avatarEmits, ElMessage, ElMessageBox } from 'element-plus'
import {onBeforeUnmount, computed, onMounted, onUnmounted, ref} from 'vue';
import request from "@/utils/request"
import {host, WebSocketHost} from '@/utils/constants'
@@ -70,6 +73,47 @@
isActive: false
}));
}
+// 涓�閿牬鎹熸墍鏈夌幓鐠�
+const handleAllDamage = async () => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('order.dilapidationWhether'),
+ t('workOrder.prompt'),
+ {
+ confirmButtonText: t('workOrder.yes'),
+ cancelButtonText: t('workOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ // 绛涢�夊嚭state涓嶆槸8鍜�9鐨勭幓鐠僆D
+ const glassIdList = adjustedRects.value
+ .filter(rect => rect.state !== 8 && rect.state !== 9)
+ .map(rect => rect.glassId);
+ if (glassIdList.length === 0) {
+ ElMessage.warning(t('order.noGlassToDamage')); // 娌℃湁鍙牬鎹熺殑鐜荤拑
+ return;
+ }
+ const response = await request.post('/cacheGlass/taskCache/identControlsByPatternSequence', {
+ glassIdList: glassIdList,
+ state: 8,
+ line: 1,
+ workingProcedure: '鍒囧壊',
+ remark: '鎺扮墖'
+ });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ // 鏇存柊鎵�鏈夌幓鐠冪姸鎬�
+ glassIdList.forEach(glassId => {
+ updateRectStatus(glassId, 8);
+ });
+ } else {
+ ElMessage.error(response.msg);
+ }
+ } catch (error) {
+ console.error(error);
+ ElMessage.error(t(''));
+ }
+};
// 鐮存崯
const handleDamage = async () => {
try {
diff --git a/UI-Project/src/views/Identify/identifwutwo.vue b/UI-Project/src/views/Identify/identifwutwo.vue
index 2ba788a..77666ce 100644
--- a/UI-Project/src/views/Identify/identifwutwo.vue
+++ b/UI-Project/src/views/Identify/identifwutwo.vue
@@ -1,7 +1,10 @@
<template>
<div style="height: 500px;">
<el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;">
+ <div style="display: flex;margin-left: 40%;margin-bottom: 5px;">
<div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ ava }}-{{ avanum }} </div>
+ <el-button @click="handleAllDamage" style="margin-left: 80%;margin-top: -5px;">{{$t('order.dilapidation')}}</el-button>
+ </div>
<el-scrollbar height="750px" width="1400px" style="background-color: #e9e9eb;">
<div style="position: relative;">
<div
@@ -14,9 +17,9 @@
backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor(rect.state)
}">
<div class="centered-text">
- <div style="font-size: 20px;font-weight: bold;">{{ rect.glassId }}</div>
- <div style="font-size: 20px;font-weight: bold;">{{ rect.flowCardId }}</div>
- <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+ <div style="font-size: 10px;font-weight: bold;">{{ rect.glassId }}</div>
+ <div style="font-size: 10px;font-weight: bold;">{{ rect.flowCardId }}</div>
+ <div style="font-size: 15px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>
</div>
</div>
</div>
@@ -38,7 +41,7 @@
</div>
</template>
<script setup lang="ts">
-import {ElMessage} from 'element-plus'
+import {avatarEmits, ElMessage, ElMessageBox } from 'element-plus'
import {onBeforeUnmount, computed, onMounted, onUnmounted, ref} from 'vue';
import request from "@/utils/request"
import {host, WebSocketHost} from '@/utils/constants'
@@ -131,6 +134,47 @@
isActive: false
}));
}
+// 涓�閿牬鎹熸墍鏈夌幓鐠�
+const handleAllDamage = async () => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('order.dilapidationWhether'),
+ t('workOrder.prompt'),
+ {
+ confirmButtonText: t('workOrder.yes'),
+ cancelButtonText: t('workOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ // 绛涢�夊嚭state涓嶆槸8鍜�9鐨勭幓鐠僆D
+ const glassIdList = adjustedRects.value
+ .filter(rect => rect.state !== 8 && rect.state !== 9)
+ .map(rect => rect.glassId);
+ if (glassIdList.length === 0) {
+ ElMessage.warning(t('order.noGlassToDamage')); // 娌℃湁鍙牬鎹熺殑鐜荤拑
+ return;
+ }
+ const response = await request.post('/cacheGlass/taskCache/identControlsByPatternSequence', {
+ glassIdList: glassIdList,
+ state: 8,
+ line: 2,
+ workingProcedure: '鍒囧壊',
+ remark: '鎺扮墖'
+ });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ // 鏇存柊鎵�鏈夌幓鐠冪姸鎬�
+ glassIdList.forEach(glassId => {
+ updateRectStatus(glassId, 8);
+ });
+ } else {
+ ElMessage.error(response.msg);
+ }
+ } catch (error) {
+ console.error(error);
+ ElMessage.error(t(''));
+ }
+};
// 鐮存崯
const handleDamage = async () => {
try {
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 6a1e5f0..390d7b7 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -3,7 +3,7 @@
<div style="display: flex;">
<el-input v-model="engineerId" style="margin-left: 15px;margin-top: 10px;width: 240px" :placeholder="$t('order.projectnumber')"/>
<el-button type="primary" style="margin-left: 10px;margin-top: 10px;" @click="sethistorical()">{{$t('reportmanage.inquire')}}</el-button>
- <el-pagination
+ <el-pagination
v-model:current-page="currentPage"
:page-size="pageSize"
:size="size"
@@ -13,8 +13,31 @@
@current-change="handleCurrentChange"
style="margin-top: 10px;"
/>
+ <el-select
+ v-model="allDamagePatternSequence"
+ :placeholder="$t('workOrder.cway')"
+ clearable
+ style="width: 140px; margin-left: 35%; margin-top: 10px;"
+ >
+ <el-option
+ v-for="item in optionsb"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ <!-- 淇敼涓�閿牬鎹熸寜閽紝娣诲姞绂佺敤鐘舵�� -->
+ <el-button
+ type="warning"
+ style="margin-left: 10px; margin-top: 10px;"
+ @click="handleAllDamage"
+ :disabled="!allDamagePatternSequence"
+ >
+ {{$t('order.dilapidation')}}
+ </el-button>
</div>
<el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;">
+ <!-- <el-button @click="handleAllDamage" style="margin-left: 90%;margin-top: -20px;margin-bottom: 5px;">{{$t('order.dilapidation')}}</el-button> -->
<el-scrollbar height="750px" width="1400px" style="background-color: #e9e9eb;">
<div style="position: relative;">
<div
@@ -64,7 +87,7 @@
</div>
</template>
<script setup lang="ts">
-import {ElMessage} from 'element-plus'
+import {avatarEmits, ElMessage, ElMessageBox } from 'element-plus'
import {computed, onMounted, onUnmounted, ref} from 'vue';
import request from "@/utils/request"
import {host, WebSocketHost} from '@/utils/constants'
@@ -84,6 +107,7 @@
const currentPage = ref('');
const realwidth = ref('');
const realheight = ref('');
+const allDamagePatternSequence = ref();
const disabled = false;
const size = 'small';
const rawData = ref([]);
@@ -104,6 +128,52 @@
isActive: false
}));
}
+// 涓�閿牬鎹熸墍鏈夌幓鐠�
+const handleAllDamage = async () => {
+ if (!allDamagePatternSequence.value) {
+ ElMessage.warning(t('workOrder.cway')); // 鎻愮ず闇�瑕侀�夋嫨绾胯矾
+ return;
+ }
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('order.dilapidationWhether'),
+ t('workOrder.prompt'),
+ {
+ confirmButtonText: t('workOrder.yes'),
+ cancelButtonText: t('workOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ // 绛涢�夊嚭state涓嶆槸8鍜�9鐨勭幓鐠僆D
+ const glassIdList = adjustedRects.value
+ .filter(rect => rect.state !== 8 && rect.state !== 9)
+ .map(rect => rect.glassId);
+ if (glassIdList.length === 0) {
+ ElMessage.warning(t('order.noGlassToDamage')); // 娌℃湁鍙牬鎹熺殑鐜荤拑
+ return;
+ }
+ const response = await request.post('/cacheGlass/taskCache/identControlsByPatternSequence', {
+ glassIdList: glassIdList,
+ state: 8,
+ line: allDamagePatternSequence.value,
+ workingProcedure: '鍒囧壊',
+ remark: '鎺扮墖'
+ });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ // 鏇存柊鎵�鏈夌幓鐠冪姸鎬�
+ glassIdList.forEach(glassId => {
+ updateRectStatus(glassId, 8);
+ });
+ allDamagePatternSequence.value = '';
+ } else {
+ ElMessage.error(response.msg);
+ }
+ } catch (error) {
+ console.error(error);
+ ElMessage.error(t(''));
+ }
+};
// 鐮存崯
const handleDamage = async () => {
try {
diff --git a/UI-Project/src/views/hollow/hollowslicecage.vue b/UI-Project/src/views/hollow/hollowslicecage.vue
index eb01fe4..c6d5241 100644
--- a/UI-Project/src/views/hollow/hollowslicecage.vue
+++ b/UI-Project/src/views/hollow/hollowslicecage.vue
@@ -28,10 +28,13 @@
const tableDatae = ref([])
const carPosition = ref([])
const tableDatass = ref([])
+const tableDataLack = ref([])
const ganghua = ref('')
const diaodu = ref('')
const hollowPriority = ref('')
const flowCardId = ref('')
+const glassType = ref('')
+const layer = ref('')
const filmsId = ref('')
const adjust = ref([]);
const adjusta = ref([]);
@@ -46,6 +49,7 @@
const subRectsCountsc = ref([]);
const subRectsCountsd = ref([]);
const currentRow = reactive({}); // 褰撳墠琛岀殑鏁版嵁
+const currentLack = reactive({});
const currentPage2 = ref(1)
const add = ref(false)
const glassId = ref('');
@@ -59,13 +63,9 @@
const cell8=ref(true);
const cell9=ref(true);
const blindb = ref(false)
+const dialogFormVisibleb = ref(false)
const selectedRow = ref(null);
const temperingengineerId=ref('');
-const handlePageChange2 = (newPage) => {
- currentPage2.value = newPage;
- window.localStorage.setItem('pagenumber', currentPage2.value)
- fetchxiang();
-};
const handleBindRack = (row) => {
selectedRow.value = row; // 鏇存柊閫変腑鐨勮鏁版嵁
currentRow.deviceId = row.deviceId; // 鐩存帴璁剧疆鍝嶅簲寮忓睘鎬�
@@ -73,6 +73,64 @@
window.localStorage.setItem('deviceId', row.deviceId)
window.localStorage.setItem('slot', row.slot)
add.value = true;
+};
+// 缂虹墖璇︽儏
+const handleMissingFilms = (row) => {
+ currentPage2.value = 1;
+ const { flowCardId } = row;
+ currentLack.flowCardId = row.flowCardId;
+ dialogFormVisibleb.value = true;
+ fetchFlowBind(flowCardId, currentPage2.value);
+};
+const handlePageChange2 = (newPage) => {
+ currentPage2.value = newPage;
+ fetchFlowBind(currentLack.flowCardId, currentPage2.value);
+};
+const fetchFlowBind = async (flowCardId, page) => {
+ try {
+ var url = "/hollowGlass/hollowGlassRelationInfo/queryLackByFlowCard?flowCardId=" + flowCardId + "&layer=" + 1;
+ const response = await request.post(url)
+ if (response.code == 200) {
+ tableDataLack.value = response.data[page];
+ ElMessage.success(response.message);
+ } else {
+ }
+ } catch (error) {
+ }
+}
+// 璁$畻鍚堣琛岀殑鏂规硶
+const getSummaries = (param) => {
+ const { columns, data } = param;
+ const sums: string[] = [];
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鍚堣';
+ return;
+ }
+
+ // 鍙闇�瑕佽绠楃殑鍒楄繘琛屾眰鍜�
+ const needSumColumns = ['sumCount', 'pairCount', 'totalNumber', 'realCount'];
+ if (needSumColumns.includes(column.property)) {
+ const values = data.map(item => Number(item[column.property]));
+ if (!values.every(value => isNaN(value))) {
+ sums[index] = values.reduce((prev, curr) => {
+ const value = Number(curr);
+ if (!isNaN(value)) {
+ return prev + curr;
+ } else {
+ return prev;
+ }
+ }, 0);
+ sums[index] += ''; // 杞负瀛楃涓�
+ } else {
+ sums[index] = 'N/A';
+ }
+ } else {
+ sums[index] = '';
+ }
+ });
+
+ return sums;
};
// 鎼滅储
const searchout = async () => {
@@ -132,6 +190,38 @@
} catch (error) {
}
};
+// 缂虹墖璇︽儏-鐮存崯
+const handleBroke = async (row) => {
+ try {
+ const confirmResult = await ElMessageBox.confirm(
+ t('searchOrder.broke'),
+ t('workOrder.prompt'),
+ {
+ confirmButtonText: t('workOrder.yes'),
+ cancelButtonText: t('workOrder.cancel'),
+ type: 'warning',
+ }
+ );
+ const response = await request.post('/hollowGlass/hollowGlassRelationInfo/hollowBigStorageGlassDamage', {
+ flowCardId: row.flowCardId,
+ glassType: row.glassType,
+ layer: row.layer,
+ state: 8,
+ line: 1,
+ workingProcedure: '涓┖',
+ remark: '涓┖'
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ const { flowCardId } = row;
+ fetchFlowBind(flowCardId, currentPage2.value);
+ } else {
+ ElMessage.error(response.msg);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+}
// 鐮存崯
const broke = async(row) => {
try {
@@ -315,23 +405,23 @@
}
}
// 涓┖浼樺厛绾у紑鍏�
-// const handlehollowPriority = async () => {
-// try {
-// const body = {
-// flag: hollowPriority.value,
-// };
-// var url="/hollowGlass/hollowGlassOutRelationInfo/priorityHollowSwitch?flag="+hollowPriority.value;
-// const response = await request.post(url)
-// if (response.code == 200) {
-// ElMessage.success(response.message);
-// hollowPriority.value = response.data
-// }else {
-// ElMessage.error(response.message);
-// }
-// }
-// catch (error) {
-// }
-// }
+const handlehollowPriority = async () => {
+ try {
+ const body = {
+ flag: hollowPriority.value,
+ };
+ var url="/hollowGlass/hollowGlassOutRelationInfo/priorityHollowSwitch?flag="+hollowPriority.value;
+ const response = await request.post(url)
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ hollowPriority.value = response.data
+ }else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ }
+}
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/hollowGlass/api/talk/hollowGlassMessage`;
const handleMessage = (data) => {
@@ -411,11 +501,11 @@
}else{
diaodu.value = ''
}
-// if(data.priorityHollowSwitch!=null){
-// hollowPriority.value = data.priorityHollowSwitch[0]
-// }else{
-// hollowPriority.value = ''
-// }
+if(data.priorityHollowSwitch!=null){
+ hollowPriority.value = data.priorityHollowSwitch[0]
+}else{
+ hollowPriority.value = ''
+ }
if(data.bigStorageCageInfos!=null){
adjustedRects.value = data.bigStorageCageInfos[0][1].map((rect, index) => ({
id: index + 1,
@@ -678,11 +768,23 @@
</script>
<template>
<div style="height: 600px;">
+ <div style="display: flex;">
<el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="primary" @click="handlexiang">{{ $t('searchOrder.cageinformation') }}</el-button>
<el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="success" @click="handlehistorical">{{ $t('searchOrder.historicaltasks') }}</el-button>
<el-button style="margin-top: 7px;margin-left: 10px;" id="searchButton" type="danger" @click="handleptask()">{{ $t('searchOrder.partask') }}</el-button>
<el-switch style="margin-top: 7px;margin-left: 10px;" v-model="diaodu" class="mb-2" :inactive-text="$t('searchOrder.Schedulingswitch')" @change="handlediaodu" />
- <!-- <el-switch style="margin-top: 7px;margin-left: 10px;" v-model="hollowPriority" class="mb-2" :inactive-text="$t('searchOrder.hollowPriority')" @change="handlehollowPriority" /> -->
+ <div style="display: flex;">
+ <div style="margin-left: 15px;margin-top: 5px;font-size: 14px;top: 5vh;margin-top: 12px;">{{ $t('searchOrder.hollowPriority') }}锛�</div>
+ <div style="margin-left: 15px;margin-top: 5px;font-size: 14px;top: 5vh;margin-top: 12px;color: #911005;">{{ $t('searchOrder.firstLinePriority') }}</div>
+ <el-switch
+ style="margin-top: 7px;margin-left: 10px;"
+ v-model="hollowPriority"
+ class="mb-2"
+ @change="handlehollowPriority"
+ />
+ <div style="margin-left: 15px;margin-top: 5px;font-size: 14px;top: 5vh;margin-top: 12px;color: rgb(184, 130, 48)">{{ $t('searchOrder.secondLinePriority') }}</div>
+ </div>
+</div>
<div id="dotClass">
<div>{{ $t('searchOrder.inkageEntity') }}</div>
<i :style="{ marginTop: '2px', backgroundColor: inkageEntity, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
@@ -781,18 +883,32 @@
</div>
</div>
<el-card style="flex: 1; height: 500px; overflow-y: auto;">
- <div style="width: 100%; height: calc(100% - 35px); overflow-y: auto;max-height: 450px;">
- <el-table height="550px" ref="table" border
- :data="tableDatass" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140" />
- <el-table-column prop="sumCount" align="center" :label="$t('searchOrder.totallogarithms')" min-width="120" />
- <el-table-column prop="pairCount" align="center" :label="$t('searchOrder.numberpairs')" min-width="120" />
- <el-table-column prop="totalNumber" align="center" :label="$t('hellow.totalnumber')" min-width="100" />
- <el-table-column prop="realCount" align="center" :label="$t('hellow.realpieces')" min-width="120" />
- <el-table-column prop="slotCount" align="center" :label="$t('searchOrder.numberoccupied')" min-width="120" />
- </el-table>
- </div>
- </el-card>
+ <div style="width: 100%; height: 100%; overflow: hidden;">
+ <el-table
+ ref="table"
+ border
+ :data="tableDatass"
+ :header-cell-style="{background:'#F2F3F5', color:'#1D2129'}"
+ show-summary
+ :summary-method="getSummaries"
+ max-height="calc(500px - 35px)"
+ style="width: 100%;"
+ >
+ <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140" />
+ <el-table-column prop="sumCount" align="center" :label="$t('searchOrder.totallogarithms')" min-width="120" />
+ <el-table-column prop="pairCount" align="center" :label="$t('searchOrder.numberpairs')" min-width="120" />
+ <el-table-column prop="totalNumber" align="center" :label="$t('hellow.totalnumber')" min-width="100" />
+ <el-table-column prop="realCount" align="center" :label="$t('hellow.realpieces')" min-width="120" />
+ <el-table-column fixed="right" :label="$t('hellow.operate')" align="center">
+ <template #default="scope">
+ <el-button type="text" plain @click="handleMissingFilms(scope.row)">
+ {{ $t('hellow.missingfilms') }}
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+</el-card>
</div>
<div style="padding: 10px;display: flex;height:110px;margin-top: -170px;">
<div v-for="(item, index) in tableDatae" :key="index" id="occupy">
@@ -994,18 +1110,38 @@
</el-table-column>
</el-table>
<div>
- <!-- <div style="margin-top: 20px;margin-left: 40%;">
- <el-pagination
- background
- size="large"
- layout="prev, pager, next"
- :total="50"
- :current-page.sync="currentPage2"
- @current-change="handlePageChange2"
- />
- </div> -->
</div>
</el-dialog>
+ <!-- 缂虹墖璇︽儏 -->
+ <el-dialog v-model="dialogFormVisibleb" top="7vh" width="70%" height="500">
+ <div style="margin-top: -20px;text-align: center;margin-left: 400px;">
+ <el-form-item :label="$t('hellow.cardnumbera')" style="width: 14vw">
+ {{ currentLack.flowCardId }}
+ </el-form-item>
+ </div>
+ <el-table ref="table" style="margin-top: 20px;height: 400px;" :data="tableDataLack"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="glassType" align="center" :label="$t('large.serialnumber')" min-width="80" />
+ <el-table-column prop="thickness" align="center" :label="$t('hellow.thickness')" min-width="80" />
+ <el-table-column prop="filmsId" align="center" :label="$t('hellow.coatingtypes')" min-width="80" />
+ <el-table-column prop="height" align="center" :label="$t('hellow.height')" min-width="80" />
+ <el-table-column prop="width" align="center" :label="$t('hellow.width')" min-width="80" />
+ <el-table-column prop="lackCount" align="center" :label="$t('hellow.missingnumber')" min-width="80" />
+ <el-table-column prop="damageCount" align="center" :label="$t('large.brokenNum')"/>
+ <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center">
+ <template #default="scope">
+ <el-button type="text" plain @click="handleBroke(scope.row)">{{ $t('order.dilapidation') }}</el-button>
+ </template>
+ </el-table-column>
+ <div style="float: right;margin-bottom: 5px;">
+ <el-pagination layout="prev, pager, next" :total="50" />
+ </div>
+ </el-table>
+ <div style="display: flex;margin-left: 40%;margin-top: 10px;">
+ <el-pagination background size="large" layout="prev, pager, next" :total="30" :current-page.sync="currentPage2"
+ @current-change="handlePageChange2" />
+ </div>
+ </el-dialog>
<!-- 鍘嗗彶浠诲姟 -->
<el-dialog v-model="blindb" top="5vh" width="95%" @close="iframeUrl=''">
<iframe
--
Gitblit v1.8.0