From 0b8f1db9b9db6ec216091e953303a752c91aa307 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 17 十月 2024 08:56:49 +0800
Subject: [PATCH] 被覆盖代码找回
---
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 56
UI-Project/src/views/Returns/upreturns.vue | 538 +++++++++++++++
UI-Project/src/views/Slicecage/slicecage.vue | 18
UI-Project/src/views/StockBasicData/stockBasicData.vue | 20
UI-Project/src/views/Returns/returns.vue | 2
UI-Project/src/lang/en.js | 1140 +++++++++++++++++---------------
UI-Project/src/lang/py.js | 33
UI-Project/src/lang/zh.js | 53 +
UI-Project/src/router/index.js | 30
UI-Project/src/views/Returns/return.vue | 49 +
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 8
UI-Project/src/views/NewPage.vue | 151 ++++
12 files changed, 1,505 insertions(+), 593 deletions(-)
diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index eddcad4..0e3c60f 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -1,549 +1,619 @@
export default {
- "northglassMESsystem": '小懈褋褌械屑邪 "NorthGlass MES"' ,
+ "northglassMESsystem": "NorthGlass MES System",
login:{
- userErr:'袙胁械写懈褌械 薪芯屑械褉 褋褔械褌邪.',
- pwErr:'袙胁械写懈褌械 锌邪褉芯谢褜.',
- user:'袗泻泻邪褍薪褌',
- password:'袣芯写',
- login:'袟邪谢芯谐懈薪',
- loginSuccessful:'袙褏芯写 胁 褋懈褋褌械屑褍 胁褘锌芯谢薪械薪 褍褋锌械褕薪芯锛�',
- register:'袟邪褉械谐懈褋褌褉懈褉芯胁邪',
- namea:'袠屑褟 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
- len:'袛谢懈薪邪 薪械 写芯谢卸薪邪 锌褉械胁褘褕邪褌褜 16',
- passnull:'袩邪褉芯谢褜 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
- leng:'袛谢懈薪邪 锌邪褉芯谢褟 薪械 写芯谢卸薪邪 斜褘褌褜 屑械薪褜褕械 6 懈谢懈 斜芯谢褜褕械 16.',
- spwn:'袩邪褉芯谢褜 锌芯写褌胁械褉卸写械薪懈褟 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
- depass:'袛胁邪 褉邪蟹薪褘褏 锌邪褉芯谢褟.',
+ userErr:'Please enter account number',
+ pwErr:'Please input a password',
+ user:'Account number',
+ password:'Password',
+ login:'Log on',
+ loginSuccessful:'Log on was successful锛�',
+ register:'Register',
+ namea:'Name cannot be empty',
+ len:'The length cannot exceed 16',
+ passnull:'Password cannot be empty',
+ leng:'The password length cannot be less than 6 or more than 16',
+ spwn:'Confirm password cannot be empty',
+ depass:'The two passwords are not the same',
},
register:{
- registerSuccessful:'袪械谐懈褋褌褉邪褑懈褟 褍褋锌械褕薪芯',
- newuserregister:'袧芯胁褘泄 褉械械褋褌褉 锌芯谢褜蟹芯胁邪褌械谢械泄',
- name:'袠屑褟锛�',
- inputname:'袙胁械写懈褌械 懈屑褟',
- password:'袣芯写:',
- pwErr:'袙胁械写懈褌械 锌邪褉芯谢褜.',
- passwordation:'袩芯写褌胁械褉写懈褌械 锌邪褉芯谢褜:',
- pwErration:'袩芯卸邪谢褍泄褋褌邪, 锌芯写褌胁械褉褌懈褌械 锌邪褉芯谢褜',
- registration:'袩芯写褌胁械褉卸写械薪懈械 芯 褉械谐懈褋褌褉邪褑懈懈',
- false:'袨褌屑械薪邪',
+ registerSuccessful:'login was successful',
+ newuserregister:'New user register',
+ name:'Full name锛�',
+ inputname:'Please enter your name',
+ password:'Password:',
+ pwErr:'Please input a password',
+ passwordation:'Confirm password:',
+ pwErration:'Please confirm password',
+ registration:'Registration Confirm',
+ false:'Cancel',
},
main:{
- connectErr:'袧械芯斜褘褔薪芯械 锌芯写泻谢褞褔械薪懈械 泻 褋械褉胁械褉褍, 锌芯锌褉芯斜褍泄褌械 锌芯蟹卸械',
- titleFirst:"袛芯斜褉芯 锌芯卸邪谢芯胁邪褌褜 ",
- titleLast:' 胁 褋懈褋褌械屑褍 NorthGlass MES锛�',
- quit:"袙褘褏芯写",
+ connectErr:'The server connection is abnormal. Please try again later',
+ titleFirst:"Welcome ",
+ titleLast:' to use NorthGlass MES system锛�',
+ quit:"Exit",
},
basicData:{
- deletemessage:'校写邪谢懈褌褜 褝褌褍 懈薪褎芯褉屑邪褑懈褞 懈谢懈 薪械褌?',
- laserprinting:'袦邪褕懈薪邪 谢邪蟹械褉薪芯泄 屑邪褉泻懈褉芯胁泻懈 谐芯褌芯胁邪锛�',
- cuttingmachine:'袦邪褕懈薪邪 写谢褟 褉械蟹泻懈 谐芯褌芯胁邪锛�',
- machine:'小芯褋褌芯褟薪懈械 褋褌邪薪芯泻 蟹邪谐褉褍蟹泻懈 胁 褉械卸懈屑械 芯薪谢邪泄薪锛�',
- machineaa:'袪褍褔薪芯械 褋芯褋褌芯褟薪懈械 褋褌邪薪芯泻 蟹邪谐褉褍蟹泻懈:',
- selectproject:"袙褘斜械褉懈褌械 锌褉芯械泻褌",
- startloading:'袧邪褔邪谢芯 蟹邪谐褉褍蟹泻懈',
- stop:'袩邪褍蟹邪',
- yes:'锌芯写褌胁械褉写',
- change:'锌械褉械泻谢褞褔邪',
- projectnumber:'袧芯屑械褉 锌褉芯械泻褌邪',
- glasswidth:'楔懈褉懈薪邪 褋褌械泻谢邪',
- glassheight:'袙褘褋芯褌邪 褋褌械泻谢邪',
- coatingtypes:'孝懈锌褘 锌芯泻褉褘褌懈泄',
- coatingtypesa:'孝懈锌褘 锌芯泻褉褘褌懈泄锛�',
- quantity:'袣芯谢懈褔械褋褌胁芯',
- quantitya:'袣芯谢懈褔械褋褌胁芯锛�',
- thickness:'孝芯谢褖懈薪邪',
- thicknessa:'孝芯谢褖懈薪邪锛�',
- startstatus:'小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈',
- pass:'效械褉械蟹',
- waiting:'袞写械屑.',
- up:'袟邪谐褉褍蟹泻邪',
- finish:'袟邪胁械褉褕械薪芯',
- project:'懈薪卸械薪械褉懈褟',
- plselectproject:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 锌褉芯械泻褌.',
- confirm:'锌芯写褌胁械褉写',
- cancel:'袨褌屑械薪邪',
- startfilm:'袧邪褔懈薪邪褌褜 懈谢懈 薪械褌锛�',
- whetherpause:'袩邪褍蟹邪 懈谢懈 薪械褌锛�',
- station:'袪邪斜芯褔械械 屑械褋褌芯',
- width:'楔懈褉懈薪邪',
- widtha:'楔懈褉懈薪邪锛�',
- height:'袙褘褋芯褌邪',
- heighta:'袙褘褋芯褌邪锛�',
- operate:'袨锌械褉邪褑懈褟',
- add:'袛芯斜邪胁谢褟',
- delete:'校写邪谢',
- addglass:'袛芯斜邪胁懈褌褜 褋褌械泻谢芯',
- selectwidth:'袙褘斜懈褉懈褌械 褕懈褉懈薪褍',
- selectheight:'袙褘斜懈褉懈褌械 胁褘褋芯褌褍',
- selectcoatingtypes:'袙褘斜械褉懈褌械 褌懈锌褘 锌芯泻褉褘褌懈泄',
- selectthickness:'袙褘斜械褉懈褌械 褌芯谢褖懈薪褍',
- selectquantity:'袙胁械写懈褌械 泻芯谢褜褔械褋褌胁芯.',
- pause:'袙褌芯褉邪褟 懈 褔械褌胁械褉褌邪褟 褋褌褉芯泻懈 写芯谢卸薪褘 斜褘褌褜 胁褘褕械 2700 写谢褟 褋芯褏褉邪薪械薪懈褟!',
- pausea:'袩芯卸邪谢褍泄褋褌邪, 褍斜械写懈褌械褋褜, 褔褌芯 屑邪褉泻懈褉芯胁芯褔薪邪褟 懈 褉械卸褍褖邪褟 屑邪褕懈薪褘 谐芯褌芯胁褘!',
- infonull:'袧芯屑械褉 锌褉芯械泻褌邪 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑!',
- updatanull:'袩褉芯械泻褌 薪械 褋芯褏褉邪薪懈谢懈褋褜 薪邪 谢懈褋褌械 蟹邪谐褉褍蟹泻懈!',
- glassnull:'袨褕懈斜泻邪 锌褉懈 芯斜薪芯胁谢械薪懈懈 褋褌械泻谢邪',
+ laserprinting:'Laser printing machine ready status锛�',
+ cuttingmachine:'Cutting machine ready status锛�',
+ machine:'Online status of the loading table锛�',
+ machineaa:'Manual state of the loading table锛�',
+ selectproject:"Select project",
+ startloading:'Start loading',
+ stop:'Pause',
+ yes:'Confirm',
+ change:'Switch',
+ projectnumber:'Project number',
+ glasswidth:'Glass width',
+ glassheight:'Glass height',
+ coatingtypes:'Coating types',
+ coatingtypesa:'Coating types锛�',
+ quantity:'Quantity',
+ quantitya:'Quantity锛�',
+ thickness:'Thickness',
+ thicknessa:'Thickness锛�',
+ startstatus:'Start status',
+ pass:'Pass',
+ waiting:'Waiting',
+ up:'Loading',
+ finish:'Completed',
+ project:'Project ',
+ plselectproject:'Please select project',
+ confirm:'Confirm',
+ cancel:'Cancel',
+ startfilm:'Whether start loading锛�',
+ whetherpause:'Whether pause锛�',
+ station:'Station',
+ width:'Width',
+ widtha:'Width锛�',
+ height:'Height',
+ heighta:'Height锛�',
+ operate:'Operate',
+ add:'Increase',
+ delete:'Delete',
+ addglass:'Add glass',
+ selectwidth:'Please select width',
+ selectheight:'Please select high',
+ selectcoatingtypes:'Please select the coating types',
+ selectthickness:'Please select thickness',
+ selectquantity:'Please enter the quantity',
+ pause:'The height of the second and fourth rows must be greater than 2700 in order to save锛�',
+ pausea:'Please confirm the ready status of marking machine and cutting machine锛�',
+ infonull:'Project number cannot be empty锛�',
+ updatanull:'This project has not been saved to the loading list锛�',
+ glassnull:'An error occurred while updating the glass status',
+ deletemessage:'Do you want to delete this message?',
+ layoutSequence:'Serial Number',
},
sorter:{
- gridnumber:'携褔械械泻 褋械褌泻谢邪',
- glassnumber:'袧芯屑械褉 褋褌邪泻谢邪',
- width:'楔懈褉懈薪邪',
- height:'袙褘褋芯褌邪',
- startstatus:'小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈',
- disable:'袨褌泻谢褞褔',
- start:'袧邪褔邪谢芯',
- deficiencieste:'袧械写芯褋褌邪褌泻懈 胁 芯褌褔械褌薪芯褋褌懈',
- operate:'袨锌械褉邪褑懈褟',
- prompt:'袩芯写褋泻邪蟹泻',
- information:'小谢械写褍械褌 谢懈 褋芯芯斜褖邪褌褜 薪械写芯褋褌邪褞褖褍褞 懈薪褎芯褉屑邪褑懈褞锛�',
- yes:'袛邪',
- cancel:'袨褌屑械薪邪',
+ gridnumber:'Grid number',
+ glassnumber:'Glass number',
+ width:'Width',
+ height:'Height',
+ startstatus:'Start status',
+ disable:'Disabled',
+ start:'Enabled',
+ deficiencieste:'Report deficiencies',
+ updown:'Artificial filming',
+ operate:'Operate',
+ prompt:'Prompt',
+ information:'Is the missing information reported锛�',
+ infor:'Whether to manually download this information锛�',
+ yes:'Yes',
+ cancel:'Cancel',
},
order:{
- dilapidation:'袩芯胁褉械卸写械薪懈械',
- Takeaway:'袙蟹褟褌褜 胁褉褍褔薪褍褞',
+ dilapidation:'Breakage',
+ takeaway:'Manual removal',
+ takeon:'The arrangement is complete',
},
-
searchOrder:{
- cageinformation:'袠薪褎芯褉屑邪褑懈褟 斜褍褎械褉邪',
- productionqueue:'袩褉芯懈蟹胁芯写褋褌胁械薪薪邪褟 芯褔械褉械写褜',
- outputglassID:'袙褘褏芯写薪芯械 褋褌械泻谢芯 ID',
- startposition:'袟邪薪褟褌褜 锌芯蟹懈褑懈懈',
- targetlocation:'袩芯蟹懈褑懈褟 褑械谢懈',
- trips:'鈩� 锌芯械蟹写邪',
- number:'小械褉懈泄薪 薪芯屑械褉',
- taskstatus:'小芯褋褌芯褟薪懈械 蟹邪写邪褔懈',
- filmenter:'袨卸懈写邪薪懈械 褋褌械泻谢褟薪薪芯泄 胁褏芯写',
- infilm:'袙 薪邪褋褌芯褟褖械械 胁褉械屑褟',
- endtask:'袟邪写邪褔邪 薪邪 泻芯薪械褑',
- completetask:'袙褘锌芯谢薪械薪懈械 蟹邪写邪薪懈褟',
- intoglassid:'袙褏芯写薪芯泄 褋褌械泻谢褟薪薪褘泄 ID',
- line:'袥懈薪懈褟',
- Usage:'小泻芯褉芯褋褌褜 懈褋锌芯谢褜蟹芯胁邪薪懈褟',
- free:'袘械褋锌谢邪褌薪芯 (褟褔械械泻)',
- addcage:'袛芯斜邪胁懈褌褜 懈薪褎芯褉屑邪褑懈褞 芯 斜褍褎械褉械',
- glassIDa:'小褌械泻谢褟薪薪褘泄 ID锛�',
- glassID:'小褌械泻谢褟薪薪褘泄 ID',
- inglassID:'袙胁械写懈褌械 褋褌械泻谢芯 ID',
- pieceingrid:'袩芯褉褟写芯泻 褉邪褋锌芯谢芯卸械薪懈褟 屑邪谢械薪褜泻懈褏 褋褌械泻谢褟薪薪褘褏 锌谢邪褋褌懈薪 胁 泻谢械褌泻械',
- pieceingrida:'袩芯褉褟写芯泻 褉邪褋锌芯谢芯卸械薪懈褟 屑邪谢械薪褜泻懈褏 褋褌械泻谢褟薪薪褘褏 锌谢邪褋褌懈薪 胁 泻谢械褌泻械锛�',
- inpieceingrid:'袙胁械写懈褌械 锌芯褉褟写芯泻 褉邪褋锌芯谢芯卸械薪懈褟 褋褌械泻谢褟薪薪褘褏 谢懈褋褌芯胁 胁 褟褔械械泻械',
- cardnumber:'袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪',
- cardnumbera:'袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪锛�',
- incardnumber:'袙胁械写懈褌械 薪芯屑械褉 锌褉芯褑械褋褋邪 .',
- typeglass:'孝懈锌 褋褌械泻谢邪',
- typeglassa:'孝懈锌 褋褌械泻谢邪锛�',
- intypeglass:'袙胁械写懈褌械 褌懈锌 褋褌械泻谢邪',
- coatingtypes:'孝懈锌褘 锌芯泻褉褘褌懈泄',
- width:'楔懈褉懈薪邪',
- widtha:'楔懈褉懈薪邪锛�',
- inwidth:'袙胁械写懈褌械 褕懈褉懈薪褍',
- height:'袙褘褋芯褌邪',
- heighta:'袙褘褋芯褌邪锛�',
- inheight:'袙胁械写懈褌械 胁褘褋芯褌褍',
- thickness:'孝芯谢褖懈薪邪',
- thicknessa:'孝芯谢褖懈薪邪锛�',
- inthickness:'袙胁械写懈褌械 褌芯谢褖懈薪褍.',
- layoutID:'效械褉褌械卸 ID 蟹邪谐褉褍蟹泻懈 锌械褔懈 写谢褟 蟹邪泻邪谢泻懈',
- layoutIDa:'效械褉褌械卸 ID 蟹邪谐褉褍蟹泻懈 锌械褔懈 写谢褟 蟹邪泻邪谢泻懈锛�',
- inlayoutID:'袙胁械写懈褌械 褔械褉褌械卸 蟹邪泻邪谢泻懈 ID',
- picturesequence:'效械褉褌械卸 褋械褉懈泄薪 薪芯屑械褉 蟹邪谐褉褍蟹泻懈 锌械褔懈 写谢褟 蟹邪泻邪谢泻懈',
- picturesequencea:'效械褉褌械卸 褋械褉懈泄薪 薪芯屑械褉 蟹邪谐褉褍蟹泻懈 锌械褔懈 写谢褟 蟹邪泻邪谢泻懈锛�',
- inpicturesequence:'袙胁械写懈褌械 锌芯褉褟写芯泻 褔械褉褌械卸懈 蟹邪泻邪谢泻懈 褋褌械泻谢邪.',
- startstatus:'小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈',
- startstatusa:'小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈锛�',
- instartstatus:'袙胁械写懈褌械 褋芯褋褌芯褟薪懈械 邪泻褌懈胁邪褑懈懈',
- glassgaps:'小褌械泻谢褟薪薪褘泄 蟹邪蟹芯褉',
- glassgapsa:'小褌械泻谢褟薪薪褘泄 蟹邪蟹芯褉锛�',
- inglassgaps:'袙胁械写懈褌械 褋褌械泻谢芯 蟹邪蟹芯褉',
- sure:'锌芯写褌胁械褉写',
- cancel:'袨褌屑械薪邪',
- glassID:'小褌械泻谢褟薪薪褘泄 ID',
- operate:'袨锌械褉邪褑懈褟',
- breakage:'袩芯胁褉械卸写械薪懈械',
- delete:'校写邪谢',
- outfilm:'袙褘锌褍褋泻 褋褌械泻谢邪',
- cagetableID:'ID 斜褍褎械褉薪芯泄 褌邪斜谢懈褑褘',
- cagenumber:'袘褍褎械褉 薪芯屑械褉邪',
- gridnumber:'携褔械械泻 褋械褌泻谢邪',
- enable:'袧邪褔邪谢芯',
- disable:'袨褌泻谢褞褔',
- remainingwidth:'袨褋褌邪褌芯褔薪邪褟 褕懈褉懈薪邪',
- add:'袛芯斜邪胁谢褟',
- sheetID:'袟邪泻邪谢泻邪 屑邪谢械薪褜泻懈泄 褋褌械泻谢褟薪薪褘泄 ID 褌邪斜谢懈褑褘 懈薪褎芯褉屑邪褑懈懈',
- processcards:'袣邪褉褌芯褔泻邪 锌褉芯褑械褋褋邪',
- processcardtype:'孝懈锌 褋褌械泻谢邪 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪',
- acceptshorizontal:'校屑械褉械薪薪芯械 锌褉懈薪褟褌懈械 谐芯褉懈蟹芯薪褌邪谢懈',
- xcoordinates:'X-泻芯芯褉写懈薪邪褌褘',
- ycoordinates:'Y-泻芯芯褉写懈薪邪褌褘',
- rotationangle:'校谐芯谢 胁褉邪褖械薪懈褟 (锌褉芯褌懈胁 褔邪褋芯胁芯泄 褋褌褉械谢泻懈)',
- state:'小芯褋褌芯褟薪懈械',
- takeout:'袙蟹褟褌褜',
- deletemessage:'校写邪谢懈褌褜 褝褌褍 懈薪褎芯褉屑邪褑懈褞 懈谢懈 薪械褌?',
- prompt:'袩芯写褋泻邪蟹泻',
- yes:'袛邪',
- accept:'袩褉懈薪褟褌褜',
- noaccept:'袧械 锌褉懈薪懈屑邪褌褜',
- filmcomplete:'小褌械泻谢芯 谐芯褌芯胁芯',
- waiting:'袞写械屑.',
- },
- workOrder:{
- glassID: 'Glass ID',
- height: 'Height',
- width: 'Width',
- thickness: 'Thickness',
- coatingtypes: 'Coating types',
- productionsequence: 'Production sequence',
- cardnumber: 'Process card number',
- operate: 'Operate',
- messagedamaged: 'Is this information damaged?',
- prompt: 'Prompt',
- yes: 'Yes',
- cancel: 'Cancel',
- takemessage: 'Do you need to delete the message锛�',
- breakage: 'Breakage',
- takeout: 'Take away',
- glasstype: 'Glass type',
- line: 'Wire',
- status: 'Status',
- },
- processCard: {
- intofurnace: 'Entering the furnace',
- beforefurnace: 'Before entering the furnace',
- outfurnace: 'Glass finished from tempering furnace',
- print: 'Take away the print',
- printing: 'print',
- projectnumber: 'Please enter the project number',
- inquire: 'Inquire',
- project: 'Project number',
- awayprocess: 'Take away the process',
- awayequipment: 'Take away the equipment',
- awayteam: 'Take away the crew',
- flowcard: 'Process card',
- layer: 'Layer number',
- temperinglayout: 'Heat number',
- temperingfeed: 'Preface',
- width: 'Width',
- height: 'Height',
- thickness: 'Thickness',
- glasstakeout: 'Glass take away list',
- layoutID: 'Drawing ID of loading for tempering furnace',
- glassID: 'Glass ID',
- },
- reportWork:{
- lowerbit:'小褌邪薪褑懈褟 褉邪蟹谐褉褍蟹泻懈',
- shelfnumber:'袧芯屑械褉 褋褌芯泄泻懈 褉械谐懈褋褌褉邪褑懈懈',
- cardnumber:'袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪',
- totalquantity:'袨斜褖械械 泻芯谢懈褔械褋褌胁芯',
- beendropped:'袣芯谢懈褔械褋褌胁芯 褋褌械泻谢邪 褉邪蟹谐褉褍蟹泻懈',
- state:'小芯褋褌芯褟薪懈械',
- devicenumber:'袧芯屑械褉 芯斜芯褉褍写芯胁邪薪懈褟.',
- startstatus:'小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈',
- enable:'袧邪褔邪谢芯',
- unenable:'袧械 薪邪褔邪褌',
- operate:'袨锌械褉邪褑懈褟',
- bindingshelves:'袧邪蟹薪邪褔械薪薪邪褟 褋褌械谢谢邪卸泻邪',
- clear:'效懈褋褌芯.',
- workstation:'小褌邪薪褑懈褟 薪芯屑械褉',
- shelfnumber:'袧芯屑械褉 褋褌芯泄泻懈 褉械谐懈褋褌褉邪褑懈懈锛�',
- cardnumbera:'袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪锛�',
- incardnumber:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 薪芯屑械褉 锌褉芯谐褉邪屑屑褘',
- clearglass:'袨褔懈褋褌懈褌褜 褋褌械泻谢芯 褋 锌芯谢泻懈',
- sure:'锌芯写褌胁械褉写',
- cancel:'袨褌屑械薪邪',
- glassinformation:'袠薪褎芯褉屑邪褑懈褟 褋褌械泻谢邪',
- glassID:'小褌械泻谢褟薪薪褘泄 ID',
- coatingtypes:'孝懈锌褘 锌芯泻褉褘褌懈泄',
- thickness:'孝芯谢褖懈薪邪',
- width:'楔懈褉懈薪邪',
- height:'袙褘褋芯褌邪',
- },
-
- productStock: {
- addusers: 'Add user',
- username: 'User name',
- usernamea: 'User name锛�',
- inusername: 'Enter one user name',
- role: 'Role',
- rolea: 'Role锛�',
- inrole: 'Please select a role',
- test: 'Test',
- admin: 'Administrator',
- operate: 'Operate',
- resetpassword: 'Reset password',
- exit: 'Edit',
- delete: 'Delete',
- prompt: 'Prompt',
- repassword: 'Do you want to reset the user password锛�',
- yes: 'Yes',
- cancel: 'Cancel',
- reusername: 'Modify Users',
- addusername: 'Add user',
- password: 'Password锛�',
- sure: 'Confirm',
- inpassword: 'Please input a password',
- deusername: 'Do you want to delete the user锛�',
- },
- customer: {
- addmenua: 'Add secondary menus',
- addmenu: 'Add a first-level menu',
- firstmenu: 'First level menu bar',
- firstmenuname: 'The name of the first-level menu:',
- link: 'Link',
- inlink: 'Please enter the link',
- linka: 'Link锛�',
- sort: 'Sort',
- insort: 'Please enter sorting',
- sorta: 'Sort锛�',
- operate: 'Operate',
- exit: 'Edit',
- delete: 'Delete',
- semenu: 'Secondary menu bar',
- semenuname: 'Secondary menu name:',
- menu: 'Menu bar锛�',
- inmenu: 'Please enter a menu name',
- sure: 'Confirm',
- cancel: 'Cancel',
- exmene: 'Modify the first-level menu',
- exmenea: 'Modify the secondary menu',
- yes: 'Yes',
- demenu: 'Do you want to delete this menu锛�',
- prompt: 'Prompt',
- },
- delivery: {
- addrole: 'Add Role',
- editrole: 'Modify role',
- role: 'Role',
- rolea: 'Role锛�',
- inrole: 'Please enter the role',
- operate: 'Operate',
- edit: 'Edit',
- delete: 'Delete',
- yes: 'Yes',
- sure: 'Confirm',
- cancel: 'Cancel',
- derole: 'Do you want to delete this role',
- prompt: 'Prompt',
- choice: 'Menu permissions锛�',
- inchoice: 'Please select Menu Permissions',
- },
- replenish: {
- patchManagement: 'Mesh management',
-
- },
- rework: {
- reworkManagement: 'Rework management',
- addRework: "Rework added ",
- },
-
-
- role: {
- id: 'ID',
- characterHomepage: 'Character Home',
- },
- user: {
- userId: 'User ID',
- userHomepage: 'User Home',
- },
- orderBasicData: {
- order: 'orders',
- orderType: 'The type of order',
- },
- machine: {
- basicId: 'Device number',
- basicName: 'The name of the device',
- basicCategory: 'The process in which it is located',
- tempering: 'Steel',
- },
- report: {
- productionReport: 'Production reports',
- workInProgressReport: 'WIP report',
- },
- productionBasicData: {
- basicDataQuery: 'Basic data query',
- },
- mainIngredient: {
- materialInformation: 'Material information',
- },
- mainIngredientStock: {
- materialName: 'The name of the item',
- createTime: 'Return date',
- },
- large: {
- time: 'The time of the break',
- number: 'Order number',
- jobnumber: 'Job number',
- productionnumber: 'The production order number',
- cardnumber: 'Process card number',
- projectname: 'The name of the project',
- batch: 'batch',
- detailID: 'Detail ID',
- building: 'Building No',
- serialnumber: 'Order serial number',
- productname: 'Product name',
- serial: 'Process validation number',
- slicemarker: 'Frame marker (position)',
- numberpatches: 'Number of patches',
- width: 'Width',
- height: 'Height',
- shape: 'Shape',
- responsibleprocess: 'Responsible process',
- process: 'This process',
- numberfractions: 'The number of unfilled fractions',
- breakreason: 'The reason for the break',
- breaktype: 'Sub-break type',
- responsiblepersonnel: 'Responsible Personnel',
- responsiblequipment: 'Responsible Equipment',
- responsibleteam: 'Responsible team',
- area: 'Sub-broken area',
- inspector: 'Quality inspector',
- operate: 'Operate',
- mes: 'Detail',
- projectnumber: 'The project order number',
- brokeno: 'The report is broken and not filled',
- close: 'Shut down',
- orderId: 'Order ID',
- customerName: 'The name of the customer',
- project: 'The name of the project',
- are: 'are',
- quantity: 'quantity',
- warehousing: 'State',
- deliveryDate: 'Delivery time',
- notstocked: 'Not yet in stock',
- inboundstatus: 'Partial inventory status',
- allstatus: 'All in stock status',
- completedquantity: 'Completed quantity',
- scrapquantity: 'Scrap Quantity',
- method: 'Processing method',
- innumber: 'Quantity already entered',
- productstatus: 'Production status',
- right: 'normal',
- stop: 'termination',
- inquire: 'query',
- starttime: 'Start Time',
- endtime: 'End Time',
- loading: 'In the process of uploading锛�',
- },
- reportmanage: {
- productiontime: 'production time',
- starttime: 'Start Time',
- endtime: 'End Time',
- ctype: 'Please select type',
- cstate: 'Please select the status',
- cprocess: 'Please select the process',
- all: 'All',
- completed: 'Completed',
- broke: 'Damaged',
- takeout: 'Takeout',
- dreportwork: 'Unreported work',
- pendingwork: 'Pending job application',
- reportwork: 'Reported work',
- incise: 'slicing',
- edging: 'edging',
- steel: 'toughened',
- inquire: 'query',
- signingwork: 'Reporting for work',
- reporteam: 'Report work team',
- reportingequipment: 'Reporting equipment',
- line: 'line',
- process: 'production processes',
- glassID: 'Glass ID',
- projectnumber: 'Project number',
- layoutID: 'Tempered layout ID',
- type: 'type',
- state: 'state',
- processcards: 'Flow Card',
- number: 'Serial Number',
- layer: 'storey',
- typebreakage: 'Damage type',
- ptypebreakage: ' Please select the type of damage',
- causebreakage: 'Reason for damage',
- pcausebreakage: 'Please select the reason for the damage',
- responsibleprocess: 'Responsibility Process',
- responsiblepersonnel: 'Responsible personnel',
- presponsiblepersonnel: 'Please enter the responsible personnel',
- responsibleteam: 'Responsible team',
- presponsibleteam: 'Please select the responsible team',
- responsibleequipment: 'Responsible equipment',
- presponsibleequipment: 'Please select the responsible device',
- remark: 'notes',
- premark: 'Please enter a note',
- },
- film: {
- mes: 'Original film storage details',
- warehousing: 'store',
- operate: 'Operate',
- exit: 'Edit',
- delete: 'Delete',
- outbound: 'Outbound',
- deviceid: 'device ID',
- slot: 'Grid number',
- enablestatea: 'Enable tagging',
- disable: 'Disable',
- start: 'Enable',
- startslot: 'Start workstation',
- endslot: 'Target workstation',
- slotid: 'Grid ID',
- width: 'Width',
- widtha: 'Width锛�',
- inwidth: 'Please enter width',
- height: 'Height',
- inheight: 'Please enter height',
- heighta: 'Height锛�',
- thickness: 'Thickness',
- inthickness: 'Please enter thickness',
- thicknessa: 'Thickness锛�',
- films: 'Films',
- infilms: 'Please enter films',
- filmsa: 'Films锛�',
- createtime: 'Creation time',
- remainquantity: 'Remaining Quantity',
- thickremainquantity: 'Remaining quantity of original film (sheets)锛�',
- inquantity: 'Please enter the quantity',
- quantitya: 'Number锛�',
- enableid: 'Task ID',
- originateslot: 'Starting grid',
- patternquantity: 'Number',
- enabletype: 'Task Type',
- enablestate: 'Workstation status',
- finish: 'Completed',
- unfinish: 'Incomplete',
- dedelete: 'Do you want to delete this content锛�',
- dedisable: 'Do you want to disable this content锛�',
- deoutbound: 'Whether to release the content of this item from the warehouse锛�',
- selectwarehousing: 'Please select the lifting position',
- inwarehousing: 'Lifting position锛�',
- warehousing1: 'Lifting position 1',
- warehousing2: 'Lifting position 2',
- starttime: 'Start Time',
- endtime: 'End Time',
- taskstatus: 'Status',
- built: 'newly built',
- execution: 'In progress',
- tasktype: 'Task Type',
- stocke: 'store',
- dispatch: 'dispatch',
- inquire: 'query',
- station: 'station',
- },
- Mounting: {
- previewproject: 'Select Preview Project',
- loadinglinea: 'Upper film line',
- loadingline: 'Upper film line锛�',
- inloadingline: 'Please select the upper film line',
- oneloadingline: 'Line 1 on film',
- twoloadingline: 'Line 2 on film',
- waiting: 'Waiting',
- setparameters: 'Set parameters',
- project: 'Project number',
- projecta: 'Project number锛�',
- width: 'Width',
- height: 'Height',
- thickness: 'Thickness',
- projectnumber: 'Project original piece number',
- state: 'state',
- createtime: 'Creation time',
- all: 'Select All',
-
- }
-}
\ No newline at end of file
+ searchlayout:'Non-tempered process card inquiry',
+ fullfurnaces:'Number of full furnaces',
+ specifiedproject:'The currently specified project',
+ undesignate:'Undesignate',
+ allnumber:'Total quantity',
+ numbercages:'Number of cages',
+ missingquantity:'Missing quantity',
+ breakquantity:'Breakage/Take Away quantity',
+ ceng:'layer',
+ cageinformation:'Sorter information',
+ productionqueue:'Production queue',
+ outputglassID:'Output glass ID',
+ startposition:'Start position',
+ targetlocation:'Target Position',
+ trips:'Train number',
+ number:'Serial Number',
+ taskstatus:'Task state',
+ filmenter:'Waiting for input glass',
+ infilm:'In progress',
+ endtask:'End task',
+ completetask:'Complete the task',
+ intoglassid:'Input glass ID',
+ line:'Wire',
+ Usage:'Usage rate',
+ free:'Free(pieces)',
+ addcage:'Add information on sorter',
+ glassIDa:'Glass ID锛�',
+ glassID:'Glass ID',
+ inglassID:'Please enter the glass ID',
+ pieceingrid:'The order of small pieces within the grid',
+ pieceingrida:'The order of small pieces within the grid锛�',
+ inpieceingrid:'Please enter the order of small pieces within the grid',
+ cardnumber:'Process card number',
+ cardnumbera:'Process card number锛�',
+ incardnumber:'Please enter the process card number',
+ typeglass:'Glass type',
+ typeglassa:'Glass type锛�',
+ intypeglass:'Please enter the glass type',
+ width:'Width',
+ widtha:'Width锛�',
+ inwidth:'Please enter width',
+ height:'Height',
+ heighta:'Height锛�',
+ inheight:'Please enter height',
+ coatingtypes:'Coating types',
+ thickness:'Thickness',
+ thicknessa:'Thickness锛�',
+ inthickness:'Please enter the thickness',
+ layoutID:'Drawing ID of loading for tempering furnace',
+ layoutIDa:'Drawing ID of loading for tempering furnace锛�',
+ inlayoutID:'Please enter the drawing ID of loading for tempering furnace',
+ picturesequence:'Drawing sequence of loading for tempering furnace',
+ picturesequencea:'Drawing sequence of loading for tempering furnace锛�',
+ inpicturesequence:'Please enter the drawing sequence of loading for tempering furnace',
+ startstatus:'Start status',
+ startstatusa:'Start status锛�',
+ instartstatus:'Please enter the enabled status',
+ glassgaps:'Glass gap',
+ glassgapsa:'Glass gap锛�',
+ inglassgaps:'Please enter the glass gap',
+ sure:'Confirm',
+ cancel:'Cancel',
+ operate:'Operate',
+ breakage:'Breakage',
+ delete:'Delete',
+ outfilm:'Output glass',
+ cagetableID:'Sorter table ID',
+ cagenumber:'Sorter number',
+ gridnumber:'Grid number',
+ gridnumbera:'Grid number锛�',
+ grid:'Please enter a grid number',
+ enable:'Enabled',
+ disable:'Disabled',
+ remainingwidth:'Remaining width',
+ add:'Add',
+ sheetID:'Tempered small piece information table ID',
+ processcards:'Process card',
+ processcardtype:'Process card glass type',
+ acceptshorizontal:'Does tempering accept horizontal placement',
+ xcoordinates:'x coordinate',
+ ycoordinates:'Y coordinate',
+ rotationangle:'Rotation angle (counterclockwise)',
+ state:'Status',
+ takeout:'Take away',
+ deletemessage:'Do you want to delete this message?',
+ prompt:'Prompt',
+ yes:'Yes',
+ accept:'Accept',
+ noaccept:'Not accept',
+ filmcomplete:'Glass output completed',
+ waiting:'Waiting',
+ broke:'Is this information damaged锛�',
+ brokeb:'Do you need to delete the message锛�',
+ outfil:'Whether the film is released or not锛�',
+ inputid:'Please enter the glass ID',
+ search:'Search',
+ tabid:'Dali film cage details table ID',
+ tid:'Device ID',
+ tida:'Device ID锛�',
+ fin:'Whether or not the task was completed锛�',
+ sureadd:'Confirm the addition',
+ sureadda:'Whether to confirm the addition锛�',
+ zailong:'In a cage',
+ rengongxp:'Artificial filming',
+ up:'Previous',
+ down:'Next',
+ now:'The current page is displayed',
+ tit:'data',
+ temperingqueries:'Tempering queries',
+ specifytempering:'Specify a furnace',
+ specifyengineerid:'Specify the project',
+ projectnumber:'Project number',
+ layoutnumber:'Drawing number of loading for tempering furnace',
+ numberglasses:'Number of glasses',
+ specifytemperinga:'Whether to specify the tempering of this information锛�',
+ temperedswitch:'Tempered switch',
+ dutyinformation:'Duty information',
+ process:'Process',
+ team:'Team',
+ basic:'equipment',
+ makesure:'Confirm the save',
+ // cancel:'鍙栨秷',
+ temperingtotal:'Number of tempering furnaces锛�',
+ glasstotal:'Total number of glasses锛�',
+ },
+ workOrder:{
+ glassID:'Glass ID',
+ height:'Height',
+ width:'Width',
+ thickness:'Thickness',
+ coatingtypes:'Coating types',
+ productionsequence:'Production sequence',
+ cardnumber:'Process card number',
+ operate:'Operate',
+ messagedamaged:'Is this information damaged?',
+ prompt:'Prompt',
+ yes:'Yes',
+ cancel:'Cancel',
+ takemessage:'Do you need to delete the message锛�',
+ breakage:'Breakage',
+ takeout:'Take away',
+ glasstype:'Glass type',
+ line:'Wire',
+ status:'Status',
+ time:'Time period',
+ cway:'Please select a route',
+ cstate:'Please select a status',
+ edgingone:'Edging a line',
+ edgingtwo:'Edging two lines',
+ nedging:'Unedging',
+ edging:'Edging',
+ finedging:'has been edging',
+ },
+ processCard:{
+ intofurnace:'Entering the furnace',
+ beforefurnace:'Before entering the furnace',
+ outfurnace:'Glass finished from tempering furnace',
+ print:'Take away the print',
+ printing:'print',
+ projectnumber:'Please enter the project number',
+ inquire:'Inquire',
+ project:'Project number',
+ awayprocess:'Take away the process',
+ awayequipment:'Take away the equipment',
+ awayteam:'Take away the crew',
+ flowcard:'Process card',
+ layer:'Layer number',
+ temperinglayout:'Heat number',
+ temperingfeed:'Preface',
+ width:'Width',
+ height:'Height',
+ thickness:'Thickness',
+ glasstakeout:'Glass take away list',
+ layoutID:'Drawing ID of loading for tempering furnace',
+ glassID:'Glass ID',
+ },
+ reportWork:{
+ details:'Drop off details',
+ filming:'Artificial filming',
+ printing:'Automatic printing',
+ cenumber:'Number of layers',
+ artificialorder:'The number of pieces under artificial order',
+ processcard:'Print the process card',
+ printlabels:'Print labels',
+ information:'Landing information',
+ cstation:'Please select a desk',
+ all:'all',
+ timeperiod:'Time period',
+ stationnumber:'Station number',
+ order:'order',
+ filminformation:'Manual film information',
+ glassmation:'Artificial film current glass information',
+ barcodescanner:'The current glass information of the barcode scanner',
+ lowerbit:'Unloading station',
+ shelfnumber:'Rack number',
+ cardnumber:'Process card number',
+ totalquantity:'Total quantity',
+ beendropped:'Quantity of unloaded glass',
+ state:'Status',
+ devicenumber:'Equipment No.',
+ startstatus:'Start status',
+ enable:'Start',
+ unenable:'Unstart',
+ operate:'Operate',
+ bindingshelves:'Assigned rack',
+ clear:'Clear',
+ workstation:'Station No.',
+ shelfnumbera:'Rack number锛�',
+ cardnumbera:'Process card number锛�',
+ incardnumber:'Please select the process card number',
+ clearglass:'Clear the glass on the shelf',
+ sure:'Operate',
+ cancel:'Cancel',
+ glassinformation:'Glass information',
+ glassID:'Glass ID',
+ coatingtypes:'Coating types',
+ thickness:'Thickness',
+ width:'Width',
+ height:'Height',
+ },
+
+ productStock:{
+ addusers:'Add user',
+ username:'User name',
+ usernamea:'User name锛�',
+ inusername:'Enter one user name',
+ role:'Role',
+ rolea:'Role锛�',
+ inrole:'Please select a role',
+ test:'Test',
+ admin:'Administrator',
+ operate:'Operate',
+ resetpassword:'Reset password',
+ exit:'Edit',
+ delete:'Delete',
+ prompt:'Prompt',
+ repassword:'Do you want to reset the user password锛�',
+ yes:'Yes',
+ cancel:'Cancel',
+ reusername:'Modify Users',
+ addusername:'Add user',
+ password:'Password锛�',
+ sure:'Confirm',
+ inpassword:'Please input a password',
+ deusername:'Do you want to delete the user锛�',
+ },
+ customer:{
+ addmenua:'Add secondary menus',
+ addmenu:'Add a first-level menu',
+ firstmenu:'First level menu bar',
+ firstmenuname:'The name of the first-level menu:',
+ link:'Link',
+ inlink:'Please enter the link',
+ linka:'Link锛�',
+ sort:'Sort',
+ insort:'Please enter sorting',
+ sorta:'Sort锛�',
+ operate:'Operate',
+ exit:'Edit',
+ delete:'Delete',
+ semenu:'Secondary menu bar',
+ semenuname:'Secondary menu name:',
+ menu:'Menu bar锛�',
+ inmenu:'Please enter a menu name',
+ sure:'Confirm',
+ cancel:'Cancel',
+ exmene:'Modify the first-level menu',
+ exmenea:'Modify the secondary menu',
+ yes:'Yes',
+ demenu:'Do you want to delete this menu锛�',
+ prompt:'Prompt',
+ },
+ delivery:{
+ addrole:'Add Role',
+ editrole:'Modify role',
+ role :'Role',
+ rolea :'Role锛�',
+ inrole :'Please enter the role',
+ operate :'Operate',
+ edit :'Edit',
+ delete :'Delete',
+ yes:'Yes',
+ sure :'Confirm',
+ cancel :'Cancel',
+ derole :'Do you want to delete this role',
+ prompt:'Prompt',
+ choice:'Menu permissions锛�',
+ inchoice:'Please select Menu Permissions',
+ },
+ replenish:{
+ patchManagement:'Mesh management',
+
+ },
+ rework:{
+ reworkManagement:'Rework management',
+ addRework:"Rework added ",
+ },
+
+
+ role:{
+ id:'ID',
+ characterHomepage:'Character Home',
+ },
+ user:{
+ userId:'User ID',
+ userHomepage:'User Home',
+ },
+ orderBasicData:{
+ order:'orders',
+ orderType:'The type of order',
+ },
+ machine:{
+ basicId:'Device number',
+ basicName:'The name of the device',
+ basicCategory:'The process in which it is located',
+ tempering:'Steel',
+ },
+ report:{
+ productionReport:'Production reports',
+ workInProgressReport:'WIP report',
+ },
+ productionBasicData:{
+ basicDataQuery :'Basic data query',
+ },
+ mainIngredient:{
+ materialInformation :'Material information',
+ },
+ mainIngredientStock:{
+ materialName :'The name of the item',
+ createTime :'Return date',
+ },
+ large:{
+ time: 'The time of the break',
+ number: 'Order number',
+ jobnumber: 'Job number',
+ productionnumber: 'The production order number',
+ cardnumber: 'Process card number',
+ projectname: 'The name of the project',
+ batch: 'batch',
+ detailID: 'Detail ID',
+ building: 'Building No',
+ serialnumber: 'Order serial number',
+ productname: 'Product name',
+ serial: 'Process validation number',
+ slicemarker: 'Frame marker (position)',
+ numberpatches: 'Number of patches',
+ width: 'Width',
+ height: 'Height',
+ shape: 'Shape',
+ responsibleprocess: 'Responsible process',
+ process: 'This process',
+ numberfractions: 'The number of unfilled fractions',
+ breakreason: 'The reason for the break',
+ breaktype: 'Sub-break type',
+ responsiblepersonnel: 'Responsible Personnel',
+ responsiblequipment: 'Responsible Equipment',
+ responsibleteam: 'Responsible team',
+ area: 'Sub-broken area',
+ inspector: 'Quality inspector',
+ operate: 'Operate',
+ mes: 'Detail',
+ projectnumber: 'The project order number',
+ brokeno: 'The report is broken and not filled',
+ close: 'Shut down',
+ orderId: 'Order ID',
+ customerName: 'The name of the customer',
+ project: 'The name of the project',
+ are: 'are',
+ quantity: 'quantity',
+ warehousing: 'State',
+ deliveryDate: 'Delivery time',
+ notstocked: 'Not yet in stock',
+ inboundstatus: 'Partial inventory status',
+ allstatus: 'All in stock status',
+ completedquantity: 'Completed quantity',
+ scrapquantity: 'Scrap Quantity',
+ method: 'Processing method',
+ innumber: 'Quantity already entered',
+ productstatus: 'Production status',
+ right: 'normal',
+ stop: 'termination',
+ inquire: 'query',
+ starttime :'Start Time',
+ endtime :'End Time',
+ loading :'In the process of uploading锛�',
+ },
+ reportmanage:{
+ productiontime :'production time',
+ starttime :'Start Time',
+ endtime :'End Time',
+ ctype :'Please select type',
+ cstate :'Please select the status',
+ cprocess :'Please select the process',
+ all :'All',
+ completed :'Completed',
+ broke :'Damaged',
+ takeout :'Takeout',
+ dreportwork :'Unreported work',
+ pendingwork :'Pending job application',
+ reportwork :'Reported work',
+ incise :'slicing',
+ edging :'edging',
+ steel :'toughened',
+ inquire :'query',
+ signingwork :'Reporting for work',
+ reporteam :'Report work team',
+ reportingequipment :'Reporting equipment',
+ line :'line',
+ process :'production processes',
+ glassID :'Glass ID',
+ projectnumber :'Project number',
+ layoutID :'Tempered layout ID',
+ type :'type',
+ state :'state',
+ processcards :'Flow Card',
+ number :'Serial Number',
+ layer :'storey',
+ typebreakage :'Damage type',
+ ptypebreakage :' Please select the type of damage',
+ causebreakage :'Reason for damage',
+ pcausebreakage :'Please select the reason for the damage',
+ responsibleprocess :'Responsibility Process',
+ responsiblepersonnel :'Responsible personnel',
+ presponsiblepersonnel :'Please enter the responsible personnel',
+ responsibleteam :'Responsible team',
+ presponsibleteam :'Please select the responsible team',
+ responsibleequipment :'Responsible equipment',
+ presponsibleequipment :'Please select the responsible device',
+ remark :'notes',
+ premark :'Please enter a note',
+ },
+ film:{
+ mes:'Original film storage details',
+ warehousing:'store',
+ operate: 'Operate',
+ exit:'Edit',
+ delete:'Delete',
+ outbound:'Outbound',
+ deviceid:'device ID',
+ slot:'Grid number',
+ enablestatea:'Enable tagging',
+ disable:'Disable',
+ start:'Enable',
+ startslot:'Start workstation',
+ endslot:'Target workstation',
+ slotid:'Grid ID',
+ width:'Width',
+ widtha:'Width锛�',
+ inwidth:'Please enter width',
+ height:'Height',
+ inheight:'Please enter height',
+ heighta:'Height锛�',
+ thickness:'Thickness',
+ inthickness:'Please enter thickness',
+ thicknessa:'Thickness锛�',
+ films:'Films',
+ infilms:'Please enter films',
+ filmsa:'Films锛�',
+ createtime:'Creation time',
+ remainquantity:'Remaining Quantity',
+ thickremainquantity:'Remaining quantity of original film (sheets)锛�',
+ inquantity:'Please enter the quantity',
+ quantitya:'Number锛�',
+ enableid:'Task ID',
+ originateslot:'Starting grid',
+ patternquantity:'Number',
+ enabletype:'Task Type',
+ enablestate:'Workstation status',
+ finish:'Completed',
+ unfinish:'Incomplete',
+ dedelete:'Do you want to delete this content锛�',
+ dedisable:'Do you want to disable this content锛�',
+ deoutbound:'Whether to release the content of this item from the warehouse锛�',
+ selectwarehousing:'Please select the lifting position',
+ inwarehousing:'Lifting position锛�',
+ warehousing1:'Lifting position 1',
+ warehousing2:'Lifting position 2',
+ starttime :'Start Time',
+ endtime :'End Time',
+ taskstatus :'Status',
+ built :'newly built',
+ execution :'In progress',
+ tasktype :'Task Type',
+ stocke :'store',
+ dispatch :'dispatch',
+ inquire :'query',
+ station :'station',
+ },
+ Mounting:{
+ previewproject :'Select Preview Project',
+ loadinglinea :'Upper film line',
+ loadingline :'Upper film line锛�',
+ inloadingline :'Please select the upper film line',
+ oneloadingline :'Line 1 on film',
+ twoloadingline :'Line 2 on film',
+ waiting :'Waiting',
+ setparameters :'Set parameters',
+ project :'Project number',
+ projecta :'Project number锛�',
+ width :'Width',
+ height :'Height',
+ thickness :'Thickness',
+ projectnumber :'Project original piece number',
+ state :'state',
+ createtime :'Creation time',
+ all :'Select All',
+
+ }
+ }
\ No newline at end of file
diff --git a/UI-Project/src/lang/py.js b/UI-Project/src/lang/py.js
index 5bdf392..a617a75 100644
--- a/UI-Project/src/lang/py.js
+++ b/UI-Project/src/lang/py.js
@@ -105,6 +105,15 @@
},
searchOrder: {
+ searchlayout:'袟邪锌褉芯褋 薪械褌械屑锌械褉懈褉芯胁邪薪薪芯泄 褌械褏薪芯谢芯谐懈褔械褋泻芯泄 泻邪褉褌褘',
+ fullfurnaces:'袣芯谢懈褔械褋褌胁芯 锌芯谢薪褘褏 锌械褔械泄',
+ specifiedproject:'校泻邪蟹邪薪薪褘泄 胁 写邪薪薪褘泄 屑芯屑械薪褌 锌褉芯械泻褌',
+ undesignate:'袘械蟹 芯斜芯蟹薪邪褔械薪懈褟',
+ allnumber:'袨斜褖械械 泻芯谢懈褔械褋褌胁芯',
+ numbercages:'袣芯谢懈褔械褋褌胁芯 褋械锌邪褉邪褌芯褉芯胁',
+ missingquantity:'袧械写芯褋褌邪褞褖械械 泻芯谢懈褔械褋褌胁芯',
+ breakquantity:'袣芯谢懈褔械褋褌胁芯 袩芯谢芯屑泻邪/袙褘薪芯褋',
+ ceng:'褋谢芯泄',
cageinformation: '袠薪褎芯褉屑邪褑懈褟 斜褍褎械褉邪',
productionqueue: '袩褉芯懈蟹胁芯写褋褌胁械薪薪邪褟 芯褔械褉械写褜',
outputglassID: '袙褘褏芯写薪芯械 褋褌械泻谢芯 ID',
@@ -202,6 +211,14 @@
takemessage: '小谢械写褍械褌 谢懈 褍写邪谢褟褌褜 褋芯芯斜褖械薪懈械锛�',
breakage: '袩芯胁褉械卸写械薪懈械',
takeout: '袙蟹褟褌褜',
+ time:'袩械褉懈芯写 胁褉械屑械薪懈',
+ cway:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 屑邪褉褕褉褍褌',
+ cstate:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 褋褌邪褌褍褋',
+ edgingone:'袨泻邪薪褌芯胁泻邪 谢懈薪懈懈',
+ edgingtwo:'袨泻邪薪褌芯胁泻邪 写胁褍褏 谢懈薪懈泄',
+ nedging:'袨泻邪薪褌芯胁泻邪',
+ edging:'袣褉邪泄',
+ finedging:'斜褘谢 芯泻邪薪褌芯胁芯褔薪褘屑',
},
processCard: {
intofurnace: '袙 锌械褔褜',
@@ -209,6 +226,22 @@
outfurnace: '袨泻芯薪褔械薪芯 褋褌械泻谢芯 懈蟹 锌械褔懈 写谢褟 蟹邪泻邪谢泻懈',
},
reportWork: {
+ details:'小胁械写械薪懈褟 芯 褋写邪褔械',
+ filming:'袠褋泻褍褋褋褌胁械薪薪邪褟 褋褗械屑泻邪',
+ printing:'袗胁褌芯屑邪褌懈褔械褋泻邪褟 锌械褔邪褌褜',
+ cenumber:'袣芯谢懈褔械褋褌胁芯 褋谢芯械胁',
+ artificialorder:'袣芯谢懈褔械褋褌胁芯 褕褌褍泻 锌褉懈 懈褋泻褍褋褋褌胁械薪薪芯屑 蟹邪泻邪蟹械',
+ processcard:'袩械褔邪褌褜 褌械褏薪芯谢芯谐懈褔械褋泻芯泄 泻邪褉褌褘',
+ printlabels:'袩械褔邪褌褜 褝褌懈泻械褌芯泻',
+ information:'袠薪褎芯褉屑邪褑懈褟 芯 锌芯褋邪写泻械',
+ cstation:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 褋褌芯谢',
+ all:'胁褋械',
+ timeperiod:'袩械褉懈芯写 胁褉械屑械薪懈',
+ stationnumber:'袧芯屑械褉 褋褌邪薪褑懈懈',
+ order:'锌芯褉褟写芯泻',
+ filminformation:'袠薪褎芯褉屑邪褑懈褟 芯 锌谢械薪泻械 胁褉褍褔薪褍褞',
+ glassmation:'袠褋泻褍褋褋褌胁械薪薪邪褟 锌谢械薪泻邪 邪泻褌褍邪谢褜薪邪褟 懈薪褎芯褉屑邪褑懈褟 芯 褋褌械泻谢械',
+ barcodescanner:'袗泻褌褍邪谢褜薪邪褟 懈薪褎芯褉屑邪褑懈褟 芯 褋褌械泻谢械 褋泻邪薪械褉邪 褕褌褉懈褏-泻芯写邪',
lowerbit: '小褌邪薪褑懈褟 褉邪蟹谐褉褍蟹泻懈',
shelfnumber: '袧芯屑械褉 褋褌芯泄泻懈 褉械谐懈褋褌褉邪褑懈懈',
cardnumber: '袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪',
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 8d6ddd7..9fdddbd 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -108,6 +108,15 @@
takeon:'鎽嗙墖瀹屾垚',
},
searchOrder:{
+ searchlayout:'闈為挗鍖栨祦绋嬪崱鏌ヨ',
+ fullfurnaces:'婊$倝鏁伴噺',
+ specifiedproject:'褰撳墠鎸囧畾宸ョ▼',
+ undesignate:'鍙栨秷鎸囧畾',
+ allnumber:'鎬绘暟閲�',
+ numbercages:'绗煎瓙鍐呮暟閲�',
+ missingquantity:'缂哄皯鏁伴噺',
+ breakquantity:'鐮存崯/鎷胯蛋鏁伴噺',
+ ceng:'灞�',
cageinformation:'鐞嗙墖绗间俊鎭�',
productionqueue:'鍑虹墖闃熷垪',
outputglassID:'鍑虹墖鐜荤拑ID',
@@ -245,6 +254,14 @@
glasstype:'鐜荤拑绫诲瀷',
line:'绾胯矾',
status:'鐘舵��',
+ time:'鏃堕棿娈�',
+ cway:'璇烽�夋嫨绾胯矾',
+ cstate:'璇烽�夋嫨鐘舵��',
+ edgingone:'纾ㄨ竟涓�绾�',
+ edgingtwo:'纾ㄨ竟浜岀嚎',
+ nedging:'鏈(杈�',
+ edging:'纾ㄨ竟涓�',
+ finedging:'宸茬(杈�',
},
processCard:{
intofurnace:'杩涚倝涓�',
@@ -270,6 +287,22 @@
glassID:'鐜荤拑ID',
},
reportWork:{
+ details:'钀芥灦璇︽儏',
+ filming:'浜哄伐涓嬬墖',
+ printing:'鑷姩鎵撳嵃',
+ cenumber:'灞傛暟',
+ artificialorder:'浜哄伐涓嬬墖鏁�',
+ processcard:'鎵撳嵃娴佺▼鍗�',
+ printlabels:'鎵撳嵃鏍囩',
+ information:'钀芥灦淇℃伅',
+ cstation:'璇烽�夋嫨宸ヤ綅',
+ all:'鍏ㄩ儴',
+ timeperiod:'鏃堕棿娈�',
+ stationnumber:'宸ヤ綅鍙�',
+ order:'椤哄簭',
+ filminformation:'浜哄伐涓嬬墖淇℃伅',
+ glassmation:'浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅',
+ barcodescanner:'鎵爜鏋綋鍓嶇幓鐠冧俊鎭�',
lowerbit:'涓嬬墖浣�',
shelfnumber:'鏋跺彿',
cardnumber:'娴佺▼鍗″彿',
@@ -572,4 +605,24 @@
inquire :'鏌ヨ',
station :'宸ヤ綅',
},
+ Mounting:{
+ previewproject :'閫夋嫨棰勮宸ョ▼',
+ loadinglinea :'涓婄墖绾�',
+ loadingline :'涓婄墖绾匡細',
+ inloadingline :'璇烽�夋嫨涓婄墖绾�',
+ oneloadingline :'涓�鍙蜂笂鐗囩嚎',
+ twoloadingline :'浜屽彿涓婄墖绾�',
+ waiting :'绛夊緟涓�',
+ setparameters :'璁剧疆鍙傛暟',
+ project :'宸ョ▼鍙�',
+ projecta :'宸ョ▼鍙凤細',
+ width :'鍘熺墖瀹�',
+ height :'鍘熺墖楂�',
+ thickness :'鍘熺墖鍘�',
+ projectnumber :'宸ョ▼鍘熺墖搴忓彿',
+ state :'鐘舵��',
+ createtime :'鍒涘缓鏃堕棿',
+ all :'鍏ㄩ��',
+
+ }
}
\ No newline at end of file
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index f492054..e6dca92 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -3,7 +3,6 @@
// import User from '../views/sys/User.vue'
// import Role from '../views/sys/Role.vue'
// import Menu from '../views/sys/Menu.vue'
-
const router = createRouter({
history: createWebHashHistory(),
routes: [
@@ -17,6 +16,11 @@
path: '/login',
name: 'login',
component: () => import('../views/LoginView.vue')
+ },
+ {
+ path: '/new-page', // 鏂板鐨勬棤闇�鐧诲綍鐨勯〉闈�
+ name: 'newPage',
+ component: () => import('../views/NewPage.vue')
},
{
path: '/main',
@@ -68,13 +72,18 @@
/*----------- 涓婄墖鏈� ----------------*/
{
path: 'Returns',
- name: 'Returns',
- component: () => import('../views/Returns/returns.vue'),
+ name: 'return',
+ component: () => import('../views/Returns/return.vue'),
children:[
{
path: '/Returns/returns',
name: 'returns',
component: () => import('../views/Returns/returns.vue')
+ },
+ {
+ path: '/Returns/upreturns',
+ name: 'upreturns',
+ component: () => import('../views/Returns/upreturns.vue')
},
]
},
@@ -204,7 +213,7 @@
}
]
},
-
+
/*----------- 鍙鍖栫郴缁� ----------------*/
{
path: 'Visualization',
@@ -302,7 +311,7 @@
},
{
path: '',
- redirect: '/returns/returns'
+ redirect: '/Returns/returns'
}
]
},
@@ -314,5 +323,14 @@
]
})
-
+
+// 瀵艰埅瀹堝崼
+router.beforeEach((to, from, next) => {
+ const isAuthenticated = !!localStorage.getItem('authToken'); // 鍋囪杩欐槸浣犵殑鐧诲綍鐘舵�佹鏌ラ�昏緫
+ if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) {
+ next({ name: 'login' }); // 濡傛灉闇�瑕佺櫥褰曚絾鏈櫥褰曪紝鍒欓噸瀹氬悜鍒扮櫥褰曢〉闈�
+ } else {
+ next(); // 鍚﹀垯缁х画瀵艰埅
+ }
+});
export default router
diff --git a/UI-Project/src/views/NewPage.vue b/UI-Project/src/views/NewPage.vue
new file mode 100644
index 0000000..8076e73
--- /dev/null
+++ b/UI-Project/src/views/NewPage.vue
@@ -0,0 +1,151 @@
+<template>
+ <div>
+<div style="display: flex;">
+ <div style="margin-left: 50px;margin-top: 15px;font-size:large">宸ョ▼鍙�:</div>
+<el-input v-model="current" style="margin-left: 20px;margin-top: 15px;width: 240px" placeholder="璇疯緭鍏ュ伐绋嬪彿" @input="updateUrl"/>
+ <el-button style="margin-top: 15px;margin-left: 15px;" type="primary" @click="fetchData">鏌ヨ</el-button>
+ </div>
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;margin-right: 10px;width: 1850px;" height="900" v-loading="loading">
+ <div v-for="(row, rowIndex) in divsData" :key="rowIndex" class="row">
+ <div v-for="(rect, colIndex) in row" :key="colIndex" class="div-container">
+ <el-scrollbar height="430px" width="900px" style="background-color: #e9e9eb;">
+ <div style="position: relative;width: 100%;height: 100%;">
+ <div
+ v-for="(rect, index) in getAdjustedRectsForRow(rowIndex)"
+ :key="index"
+ class="rect"
+ :style="{ position: 'absolute',
+ top: `${rect.y_axis}px`,
+ left: `${rect.x_axis}px`,
+ width: `${rect.width}px`,
+ height: `${rect.height}px`,
+ backgroundColor: '#911005'}">
+ <div class="centered-text">
+ <div style="font-size: 15px;font-weight: bold;">{{ rect.process_id }}</div>
+ <div style="font-size: 15px;font-weight: bold;">{{ rect.project_no }}</div>
+ <div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+</div>
+</div>
+ </div>
+ </el-scrollbar>
+ </div>
+ </div>
+ </el-card>
+</div>
+</template>
+
+ <script setup>
+ import { ref, onMounted, watch, watchEffect } from 'vue';
+ import { useRoute, useRouter } from 'vue-router';
+ import request from "@/utils/request"
+ const route = useRoute();
+ const router = useRouter();
+ const current = ref(route.query.current || '');
+ const adjustedRects = ref([]);
+ const loading = ref(false);
+ const adjustedRectsPerRow = ref([]);
+ const divsData = ref([]);
+ const rawData = ref([]);
+ onMounted(() => {
+ if (route.query.current) {
+ current.value = route.query.current;
+ console.log(current.value);
+ window.localStorage.setItem('current', current.value)
+ }
+ });
+ onMounted(async () => {
+ try {
+ let current = window.localStorage.getItem('current')
+ const response = await request.post(`/cacheGlass/taskCache/temperingTerritory?current=${current}`);
+ if (response.code === 200) {
+ rawData.value = response.data;
+ console.log(rawData.value);
+ processData(rawData.value);
+ } else {
+ // ElMessage.warning(res.msg)
+ }
+ } catch (error) {
+ // console.error('Error fetching rects :', error);
+ }
+ });
+ watch(
+ current,
+ (newVal) => {
+ router.replace({ query: { current: newVal } });
+ },
+ { immediate: true } // 浣跨敤 immediate: true 鏉ョ‘淇濆湪缁勪欢鎸傝浇鏃剁珛鍗虫墽琛屼竴娆� watch 鍥炶皟
+ );
+ const fetchData = async () => {
+ try {
+ const response = await request.post(`/cacheGlass/taskCache/temperingTerritory?current=${current.value}`);
+ if (response.code === 200) {
+ rawData.value = response.data;
+ console.log(rawData.value);
+ processData(rawData.value);
+ }
+} catch (error) {
+ console.error('Failed to fetch data:', error);
+} finally {
+ loading.value = false;
+}
+};
+ function processData(data) {
+const groupedData = [];
+for (let i = 0; i < data.length; i += 2) {
+ groupedData.push(data.slice(i, i + 2));
+}
+divsData.value = groupedData;
+adjustedRectsPerRow.value = divsData.value.map(() => []);
+divsData.value.forEach((row, rowIndex) => {
+ const rawRowData = rawData.value[rowIndex];
+ if (rawRowData) {
+adjustedRectsPerRow.value[rowIndex] = rawRowData.map(rect => {
+ let adjustedWidth, adjustedHeight,newX;
+ if (rect.rotate_angle === 0) {
+ newX = rect.olHeight -(rect.y_axis + rect.height);
+ adjustedWidth = rect.height * (900/rect.olHeight);
+ adjustedHeight = rect.width * (430/rect.olWidth);
+ } else {
+ newX = rect.olHeight -(rect.y_axis + rect.width);
+ adjustedWidth = rect.width * (900/rect.olHeight);
+ adjustedHeight = rect.height * (430/rect.olWidth);
+ }
+ // 璇ラ〉闈负椤烘椂閽堟棆杞�90搴�
+ let adjustedRect = {
+ ...rect,
+ // x_axis: rect.y_axis * (959.35/rect.olHeight),
+ y_axis: rect.x_axis * (430/rect.olWidth),
+ x_axis: newX * (900/rect.olHeight),
+ // y_axis: rect.x_axis * (430/rect.olWidth),
+ width: adjustedWidth,
+ height: adjustedHeight,
+ widtha: rect.width,
+ heighta: rect.height,
+ };
+ return adjustedRect;
+ });
+ }
+});
+}
+// 鏂规硶鐢ㄤ簬鑾峰彇褰撳墠琛岀殑adjustedRects
+function getAdjustedRectsForRow(rowIndex) {
+return adjustedRectsPerRow.value[rowIndex] || [];
+}
+ </script>
+
+
+<style scoped>
+.row {
+display: flex;
+justify-content: space-between;
+margin-bottom: 20px;
+}
+
+.div-container {
+width: 900px;
+float: left;
+background-color: #f4f4f5;
+height: 430px;
+box-sizing: border-box;
+}
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index d875780..6ce2420 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -790,7 +790,7 @@
<div style="width: 49%;float: right;background-color: #f4f4f5;height: 430px;">
<div v-if="adjustedRects1.length > 0">
<!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div> -->
- <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRects1[0].engineerId }}-{{ adjustedRects1[0].temperingLayoutId }} </div>
+ <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRects1[0].engineerId }}-{{ adjustedRects1[0].temperingLayoutId }} </div>
<el-scrollbar height="430px" style="background-color: #e9e9eb;">
<div style="position: relative;max-width: 1400px;">
<div
@@ -816,7 +816,7 @@
</div>
<div style="width: 50%;float: left;background-color: #f4f4f5;height: 430px;">
<div v-if="adjustedRects2.length > 0">
- <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div>
+ <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div>
<!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div> -->
<el-scrollbar height="430px" style="background-color: #e9e9eb;">
<div style="position: relative;max-width: 1400px;">
@@ -847,7 +847,7 @@
<!-- 杩涚倝鍓� -->
<el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
<div v-if="adjustedRectsa.length > 0">
- <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRectsa[0].engineerId }}-{{ adjustedRectsa[0].temperingLayoutId }} </div>
+ <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRectsa[0].engineerId }}-{{ adjustedRectsa[0].temperingLayoutId }} </div>
<!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplaya }}-{{ adjustedRects[0].temperingLayoutId }}</div> -->
<el-scrollbar height="750px" style="background-color: #e9e9eb;">
<div style="position: relative;max-width: 1400px;">
@@ -874,7 +874,7 @@
<!-- 宸插嚭鐐� -->
<el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 800px;" v-loading="loading">
<div v-if="adjustedRectsb.length > 0">
- <div style="text-align: center;"> 鐐夊彿锛歿{ adjustedRectsb[0].engineerId }}-{{ adjustedRectsb[0].temperingLayoutId }} </div>
+ <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRectsb[0].engineerId }}-{{ adjustedRectsb[0].temperingLayoutId }} </div>
<!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplayb }}-{{ adjustedRects[0].temperingLayoutId }}</div> -->
<el-scrollbar height="750px" style="background-color: #e9e9eb;">
<div style="position: relative;max-width: 1400px;">
diff --git a/UI-Project/src/views/Returns/return.vue b/UI-Project/src/views/Returns/return.vue
new file mode 100644
index 0000000..592037c
--- /dev/null
+++ b/UI-Project/src/views/Returns/return.vue
@@ -0,0 +1,49 @@
+<script setup>
+import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue"
+import {useRouter} from "vue-router";
+let indexFlag=$ref(1)
+function changeRouter(index){
+ indexFlag=index
+}
+
+</script>
+
+<template>
+ <!-- <div id="main-div"> -->
+
+
+ <div id="main-body">
+ <router-view />
+ </div>
+ <!-- </div> -->
+</template>
+
+<style scoped>
+#main-div{
+ width: 100%;
+ height: 100%;
+}
+#div-title{
+ height: 2%;
+ width: 100%;
+}
+#searchButton{
+ margin-top: -5px;
+ margin-left: 1rem;
+}
+/* #searchButton1{
+//margin-left: 10rem;
+} */
+/*main-body鏍峰紡*/
+#main-body{
+ width: 100%;
+ height: 95%;
+ /* margin-top: 1%; */
+}
+#select{
+ margin-left:0.5rem;
+}
+:deep(.indexTag .el-breadcrumb__inner){
+ color: #5CADFE !important;
+}
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index c5ffe12..1aaeaa0 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -723,7 +723,7 @@
<div style="margin-left: 70px;">{{ upstatus }} </div>
<i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
<el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.change') }}</el-button>
-
+
</div>
<el-button :disabled="!canSelectProject" style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('basicData.selectproject') }}</el-button>
<el-button :disabled="!canSelectProject" :style="{ backgroundColor: canStartLoading ? 'green' : 'initial',color: canStartLoading ? 'white' : 'black', }" style="margin-top: 5px;margin-left: 20px;" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue
new file mode 100644
index 0000000..1d25199
--- /dev/null
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -0,0 +1,538 @@
+<script lang="ts" setup>
+import {Search} from "@element-plus/icons-vue";
+import {reactive} from "vue";
+import {useRouter} from "vue-router"
+const router = useRouter()
+import type { TableColumnCtx } from 'element-plus'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
+import { WebSocketHost ,host} from '@/utils/constants'
+import request from "@/utils/request"
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue";
+const selectValuesa = reactive([]);
+const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
+const loadingline = ref(''); // 褰撳墠閫変腑鐨勪笂鐗囩嚎
+const dialogFormVisible = ref(false)
+
+
+
+
+const blind = ref(false)
+const blinda = ref(false)
+const blindb = ref(false)
+const add = ref(false)
+const adda = ref(false)
+const dialoglea = ref(false)
+const tableDatax = ref([])
+const user = ref('');
+const projectNo = ref('');
+const workstationId = ref('');
+const id = ref('');
+const patternHeight = ref('');
+const patternWidth = ref('');
+const filmsId = ref('');
+const patternThickness = ref('');
+const number = ref('');
+const canSelectProject = ref(true);
+const canStartLoading = ref(false);
+const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫
+const selectedValuea = ref('');
+const selectedValueb = ref('');
+const selectedValuec = ref('');
+// const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
+const upstatus = ref(t('basicData.machineaa'));
+const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�
+const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
+const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊�
+const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
+const ida = ref(null);
+const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
+const selectOptionsa = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
+const selectOptionsb = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
+const selectOptionsc = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
+ const tableDataa = ref([])
+ const tableData = reactive([]);
+const handlezhiban = () => {
+ dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
+const selectproject = () => {
+ dialogFormVisible.value = true;
+};
+
+
+onMounted(() => {
+ // socket = initializeWebSocket(socketUrl, handleMessage);
+});
+ onUnmounted(() => {
+ if (socket) {
+ closeWebSocket(socket);
+ }
+ });
+//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
+const titleSelectJson = ref({
+ processType: [],
+})
+const titleSelectJsona = ref({
+ processTypea: [],
+})
+let socket = null;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+
+const requestData = {
+ state: 100
+};
+
+
+onBeforeUnmount(() => {
+ closeWebSocket();
+});
+// 娣诲姞
+const handleBindRack = (row) => {
+ workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
+ ida.value = row.id;
+ add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
+// 鏆傚仠
+const handlea = async () => {
+ try {
+ let engineeringId = window.localStorage.getItem('engineeringId')
+console.log(engineeringId);
+if (engineeringId !== '') {
+ const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
+ engineeringId: engineeringId,
+ state: 0,
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blinda.value = false;
+ // tableData.splice([]);
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+ }
+ else {
+ ElMessage({
+ type: 'info',
+ message: t('basicData.infonull'),
+ })
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+function getStatusText(state: number) {
+ switch (state) {
+ case 0:
+ return t('basicData.waiting');
+ case 1:
+ return t('basicData.up');
+ case 2:
+ return t('basicData.up');
+ case 100:
+ return t('basicData.finish');
+ }
+}
+function getStatusType(state: number) {
+ switch (state) {
+ case 0:
+ return 'warning';
+ case 1:
+ return 'primary';
+ case 2:
+ return 'primary';
+ case 100:
+ return 'success';
+ }
+}
+// 寮�濮嬩笂鐗�
+const handleBind = (row) => {
+ blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+};
+// 鏆傚仠
+const handleBinda = (row) => {
+ blinda.value = true;
+};
+// 鍋滄浠诲姟
+const handleBindb = (row) => {
+ blindb.value = true;
+};
+
+// 鍒犻櫎
+const handleBindRacka = (row) => {
+ workstationId.value = row.workstationId;
+ adda.value = true;
+};
+const toggleEnableState = async (row: any) => {
+ // 妫�鏌� id 鏄惁涓虹┖
+ if (!row.id) {
+ ElMessage.error(t('basicData.updatanull'));
+ return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣�
+ }
+ const newState = row.state === 100 ? 0 : 100;
+ try {
+ // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵��
+ const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', { id: row.id, state: newState });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ row.state = newState;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ // 澶勭悊璇锋眰閿欒
+ ElMessage.error(t('basicData.glassnull'));
+ }
+};
+</script>
+<template>
+ <div>
+ <div id="dotClass">
+ <div>{{ $t('basicData.laserprinting') }}</div>
+ <i :style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+ <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">{{ $t('basicData.yes') }}</el-button>
+ <div style="margin-left: 70px;">{{ $t('basicData.cuttingmachine') }}</div>
+ <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+ <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.yes') }}</el-button>
+ <div style="margin-left: 70px;">{{ upstatus }} </div>
+ <i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
+ <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.change') }}</el-button>
+
+ </div>
+ <el-button style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
+ <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.loadinglinea')" style="margin-top: 5px;margin-left: 20px;" >
+ <el-option :label="$t('Mounting.all')" value="0"></el-option>
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
+ <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-top: 5px;margin-left: 20px;" >
+ <el-option :label="$t('Mounting.waiting')" value="1"></el-option>
+ <el-option :label="$t('film.execution')" value="2"></el-option>
+ <el-option :label="$t('film.finish')" value="3"></el-option>
+ </el-select>
+ <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</el-button>
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+ <el-table
+ height="350"
+ ref="table"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ :data="tableData"
+ >
+ <el-table-column prop="layoutSequence" :label="$t('Mounting.project')" width="100" align="center"/>
+ <el-table-column prop="engineeringId" :label="$t('Mounting.width')" width="200" align="center"/>
+ <el-table-column prop="width" :label="$t('Mounting.height')" align="center"/>
+ <el-table-column prop="height" :label="$t('Mounting.thickness')" align="center"/>
+ <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
+ <el-table-column :label="$t('Mounting.projectnumber')" align="center">
+ <template #default="{ row }">
+ <!-- 杩欓噷鎬绘槸鏄剧ず 1 -->
+ <span>{{ 1 }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ align="center"
+ :label="$t('Mounting.state')"
+ min-width="80"
+ prop="state"
+ >
+ <template #default="scope">
+ <el-tag
+ :type="scope.row.state === 100 ? 'success' : 'warning'"
+ @click="toggleEnableState(scope.row)"
+ >
+ {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="filmsId" :label="$t('Mounting.createtime')" align="center"/>
+ </el-table>
+ </div>
+ </el-card>
+ <div style="display: flex;">
+ <div style="width: 49%;float: left;">
+ <div style="display: flex;">
+ <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
+ <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ >
+ <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="60" />
+ <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80" />
+ <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80" />
+ <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
+ <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80" />
+ </el-table>
+ </div>
+ </div>
+ <div style="width: 48%;float: right;">
+ <div style="display: flex;">
+ <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
+ <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ >
+ <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="60" />
+ <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80" />
+ <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80" />
+ <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
+ <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80" />
+ </el-table>
+ </div>
+</div>
+</div>
+ <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handle">
+ {{ $t('basicData.confirm') }}
+ </el-button>
+ <el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button>
+ </div>
+ </template>
+ </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.add') }}
+ </el-button>
+ <el-button @click="dialoglea = false">{{ $t('searchOrder.cancel') }}</el-button>
+ </div>
+ </template>
+</el-dialog>
+ <el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
+ <div style="margin-left: 50px;margin-bottom: 10px;">
+ <el-form-item :label="$t('Mounting.loadingline')" :required="true">
+ <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" style="margin-left: 20px;" >
+ <el-option :label="$t('Mounting.all')" value="0"></el-option>
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ </div>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleup">
+ {{ $t('basicData.confirm') }}
+ </el-button>
+ <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+
+ <el-dialog v-model="add" top="23vh" width="45%" :title="$t('basicData.addglass')" >
+ <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
+ <el-form size="mini" label-width="150px">
+ <el-form label-width="70px" label-position="right">
+ <el-row style="margin-top: -15px;margin-bottom: -2px;">
+ <el-col :span="6">
+ <div id="dt" style="font-size: 15px;">
+ <div>
+ <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw">
+ <el-select
+ v-model="selectedValue"
+ filterable
+ clearable
+ :placeholder="$t('basicData.selectwidth')"
+ style="width: 220px"
+ @input="handleInputChangea"
+ >
+ <el-option
+ v-for="item in selectOptions"
+ :key="item.id"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ </div></div>
+ </el-col>
+ <el-col :span="9">
+ <div id="dta" style="font-size: 15px;">
+ <div>
+ <el-form-item :label="$t('basicData.heighta')" :required="true" style="width: 14vw">
+ <el-select
+ v-model="selectedValuea"
+ filterable
+ clearable
+ :placeholder="$t('basicData.selectheight')"
+ style="width: 220px"
+ @input="handleInputChangea"
+ >
+ <el-option
+ v-for="item in selectOptionsa"
+ :key="item.id"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item></div>
+ </div>
+ </el-col>
+ </el-row>
+ <el-row style="margin-top: 10px;">
+ <el-col :span="6">
+ <div id="dt" style="font-size: 15px;">
+ <div>
+ <el-form-item :label="$t('basicData.coatingtypesa')" :required="true" style="width: 14vw;">
+ <el-select
+ v-model="selectedValueb"
+ filterable
+ clearable
+ :placeholder="$t('basicData.selectcoatingtypes')"
+ style="width: 220px"
+ @input="handleInputChangea"
+ >
+ <el-option
+ v-for="item in selectOptionsb"
+ :key="item.id"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item></div></div>
+ </el-col>
+ <el-col :span="9">
+ <div id="dta" style="font-size: 15px;">
+ <div>
+ <el-form-item :label="$t('basicData.thicknessa')" :required="true" style="width: 14vw">
+ <el-select
+ v-model="selectedValuec"
+ filterable
+ clearable
+ :placeholder="$t('basicData.selectthickness')"
+ style="width: 220px"
+ @input="handleInputChangea"
+ >
+ <el-option
+ v-for="item in selectOptionsc"
+ :key="item.id"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ <!-- <el-input v-model="patternThickness" autocomplete="off" /> -->
+ </el-form-item></div></div>
+ </el-col>
+ </el-row>
+ <el-row style="margin-top: 10px;">
+ <el-col :span="6">
+ <div id="dt" style="font-size: 15px;">
+ <div>
+ <el-form-item :label="$t('basicData.quantitya')" :required="true" style="width: 14vw;">
+ <el-input :placeholder="$t('basicData.selectquantity')" v-model="number" autocomplete="off" />
+ </el-form-item></div></div>
+ </el-col>
+ </el-row>
+ </el-form>
+ </el-form>
+ </div>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleConfirm">
+ {{ $t('basicData.confirm') }}
+ </el-button>
+ <el-button @click="add = false">{{ $t('basicData.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ <el-dialog v-model="adda" top="30vh" width="25%" :title="$t('basicData.deletemessage')">
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleConfirma">
+ {{ $t('basicData.confirm') }}
+ </el-button>
+ <el-button @click="adda = false">{{ $t('basicData.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ </div>
+ <el-dialog v-model="dialogFormVisible" top="24vh" width="50%" >
+ <div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;">
+ <el-form-item :label="$t('Mounting.loadingline')" :required="true">
+ <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" >
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item :label="$t('Mounting.projecta')" :required="true">
+ <el-select
+ v-model="selectedProjectNo"
+ filterable
+ clearable
+ :placeholder="$t('basicData.plselectproject')"
+ style="width: 220px"
+ @input="handleInputChange"
+ >
+ <el-option
+ v-for="item in titleSelectJson['processType']"
+ :key="item.id"
+ :label="item.projectNo"
+ :value="item.projectNo"
+ />
+ </el-select>
+ </el-form-item>
+ </div>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleup">
+ {{ $t('basicData.confirm') }}
+ </el-button>
+ <el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
+ </div>
+ </template>
+ </el-dialog>
+</template>
+
+<style scoped>
+ .flex-container {
+ display: flex;
+ align-items: center; /* 鍨傜洿灞呬腑 */
+}
+.flex-container .el-form-item {
+ flex: 1; /* 浣挎瘡涓〃鍗曢」鍗犳嵁鐩哥瓑鐨勭┖闂� */
+ margin-right: 0; /* 绉婚櫎榛樿鐨勫彸渚ц竟璺� */
+}
+.flex-container .el-form-item:last-child {
+ margin-left: 20px; /* 涓虹浜屼釜琛ㄥ崟椤规坊鍔犲乏渚ц竟璺� */
+}
+
+
+
+#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;
+}
+#dotClass {
+ display: flex;
+ margin-left: 20px;
+ size: 50px;
+ margin-top: 20px;
+ margin-bottom: 10px;
+}
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 6732174..cc84b90 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -886,7 +886,7 @@
<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()">闈為挗鍖栨祦绋嬪崱鏌ヨ</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-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;">
@@ -1533,21 +1533,21 @@
</el-col>
<el-col :span="4">
<div id="dt" style="font-size: 15px;">
- <el-form-item :label="$t('婊$倝鏁伴噺')" style="width: 14vw">
+ <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('褰撳墠鎸囧畾宸ョ▼')" style="width: 14vw">
+ <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('鍙栨秷鎸囧畾') }}</el-button>
+ <el-button size="mini" type="text" plain @click="broked()">{{ $t('searchOrder.undesignate') }}</el-button>
</div>
</el-col>
</el-row>
@@ -1557,10 +1557,10 @@
: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="count2" align="center" :label="$t('鎬绘暟閲�')" min-width="150" />
- <el-table-column prop="count1" align="center" :label="$t('绗煎瓙鍐呮暟閲�')" min-width="150" />
- <el-table-column prop="count3" align="center" :label="$t('缂哄皯鏁伴噺')" min-width="150" />
- <el-table-column prop="count4" align="center" :label="$t('鐮存崯/鎷胯蛋鏁伴噺')" min-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,1)">{{ $t('searchOrder.specifytempering') }}</el-button>
@@ -1599,7 +1599,7 @@
<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="灞�" />
+ <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">
diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue
index a0d3c9e..85ba8a9 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicData.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -155,20 +155,20 @@
<template>
<div>
<el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
- <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('璇烽�夋嫨绾胯矾')" clearable style="margin-left: 20px;margin-bottom: 10px;">
- <el-option label="纾ㄨ竟涓�绾�" value="2001"></el-option>
- <el-option label="纾ㄨ竟浜岀嚎" value="2002"></el-option>
+ <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('workOrder.cway')" clearable style="margin-left: 20px;margin-bottom: 10px;">
+ <el-option :label="$t('workOrder.edgingone')" value="2001"></el-option>
+ <el-option :label="$t('workOrder.edgingtwo')" value="2002"></el-option>
</el-select>
- <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('璇烽�夋嫨鐘舵��')" clearable style="margin-left: 20px;margin-bottom: 10px;" >
- <el-option label="鏈(杈�" value="0"></el-option>
- <el-option label="纾ㄨ竟涓�" value="1"></el-option>
- <el-option label="宸茬(杈�" value="2"></el-option>
+ <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('workOrder.cstate')" clearable style="margin-left: 20px;margin-bottom: 10px;" >
+ <el-option :label="$t('workOrder.nedging')" value="0"></el-option>
+ <el-option :label="$t('workOrder.edging')" value="1"></el-option>
+ <el-option :label="$t('workOrder.finedging')" value="2"></el-option>
</el-select>
- <span class="demonstration" style="margin-left: 20px;margin-bottom: 10px;">鏃堕棿娈�</span>
- <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" style="margin-left: 20px;margin-bottom: 10px;" value-format = "YYYY-MM-DD hh:mm:ss"
+ <span class="demonstration" style="margin-left: 20px;margin-bottom: 10px;">{{ $t('workOrder.time') }}</span>
+ <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" :start-placeholder="$t('reportmanage.starttime')" style="margin-left: 20px;margin-bottom: 10px;" value-format = "YYYY-MM-DD hh:mm:ss"
- end-placeholder="缁撴潫鏃ユ湡">
+ :end-placeholder="$t('reportmanage.endtime')">
</el-date-picker>
<el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="setEdgGlassInfoRequest()">{{
$t('reportmanage.inquire')
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index b0b40f3..01107af 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -446,13 +446,13 @@
<template>
<div>
<el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
- @click="dialogFormVisibleaDownGlass = true">钀芥灦璇︽儏
+ @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">浜哄伐涓嬬墖
+ @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('鑷姩鎵撳嵃')" @change="handleChange" />
+ :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;">
@@ -465,8 +465,8 @@
<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" />
+ <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">
@@ -483,17 +483,17 @@
</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">鎵撳嵃娴佺▼鍗�</el-button>
- <el-button @click="open1(scope.row)" :disabled="scope.row.flowCardId == null">鎵撳嵃鏍囩</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('钀芥灦淇℃伅')">
- <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('璇烽�夋嫨宸ヤ綅')" clearable>
- <el-option label="鍏ㄩ儴" value="0"></el-option>
+ <el-dialog v-model="dialogFormVisibleaDownGlass" top="2vh" width="97%" :title="$t('reportWork.information')">
+ <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('reportWork.cstation')" clearable>
+ <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>
@@ -508,9 +508,9 @@
<el-option v-for="item in selectOptionsa" :key="item" :label="item" :value="item" />
</el-select>
- <span class="demonstration">鏃堕棿娈�</span>
- <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�"
- value-format="YYYY-MM-DD hh:mm:ss" end-placeholder="缁撴潫鏃ユ湡">
+ <span 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')">
</el-date-picker>
<el-button type="primary" style="margin-left: 10px;" @click="selectDownGlassData()">{{
@@ -519,19 +519,19 @@
</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" />
+ <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('浜哄伐涓嬬墖淇℃伅')">
+ <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;">
@@ -540,8 +540,8 @@
</div>
<div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:170px;">
- <div>浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅</div>
- <div><el-button type="primary" @click="open1(takeGlass)" >鎵撳嵃鏍囩</el-button></div>
+ <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>
@@ -556,8 +556,8 @@
</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>{{ $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>
--
Gitblit v1.8.0