From 32bc1fb9a3692c460d21f8094ca80f1e0e0eb6a6 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 17 十月 2024 09:26:04 +0800
Subject: [PATCH] 被覆盖代码找回

---
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue   |  193 +-
 UI-Project/src/views/Returns/upreturns.vue             |   22 
 UI-Project/src/views/Slicecage/slicecage.vue           |   32 
 UI-Project/src/views/StockBasicData/stockBasicData.vue |   40 
 UI-Project/src/views/Returns/returns.vue               |    2 
 UI-Project/src/lang/en.js                              | 1203 ++++++++++---------
 UI-Project/src/lang/py.js                              |  619 +++++----
 UI-Project/src/lang/zh.js                              | 1212 ++++++++++---------
 UI-Project/src/router/index.js                         |    6 
 UI-Project/src/views/Returns/return.vue                |    8 
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue |   10 
 UI-Project/src/views/NewPage.vue                       |  276 ++--
 12 files changed, 1,870 insertions(+), 1,753 deletions(-)

diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index 07b45d6..0e3c60f 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -1,586 +1,619 @@
 export  default {
-  "northglassMESsystem": "NorthGlass MES System",
-    login:{
-        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:'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:'The server connection is abnormal. Please try again later',
-        titleFirst:"Welcome ",
-        titleLast:' to use NorthGlass MES system锛�',
-        quit:"Exit",
-    },
-    basicData:{
-        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:'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:'Breakage',
-        takeaway:'Manual removal',
-        takeon:'The arrangement is complete',
-    },
-    searchOrder:{
-        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',
-    },
-    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:'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
+    "northglassMESsystem": "NorthGlass MES System",
+      login:{
+          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:'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:'The server connection is abnormal. Please try again later',
+          titleFirst:"Welcome ",
+          titleLast:' to use NorthGlass MES system锛�',
+          quit:"Exit",
+      },
+      basicData:{
+          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:'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:'Breakage',
+          takeaway:'Manual removal',
+          takeon:'The arrangement is complete',
+      },
+      searchOrder:{
+          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 869758b..f8b07a2 100644
--- a/UI-Project/src/lang/py.js
+++ b/UI-Project/src/lang/py.js
@@ -1,300 +1,333 @@
-export  default {
-    "northglassMESsystem": '小懈褋褌械屑邪 "NorthGlass MES"' ,
-      login:{
-          userErr:'袙胁械写懈褌械 薪芯屑械褉 褋褔械褌邪.',
-          pwErr:'袙胁械写懈褌械 锌邪褉芯谢褜.',
-          user:'袗泻泻邪褍薪褌',
-          password:'袣芯写',
-          login:'袟邪谢芯谐懈薪',
-          loginSuccessful:'袙褏芯写 胁 褋懈褋褌械屑褍 胁褘锌芯谢薪械薪 褍褋锌械褕薪芯锛�',
-          register:'袟邪褉械谐懈褋褌褉懈褉芯胁邪',
-          namea:'袠屑褟 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
-          len:'袛谢懈薪邪 薪械 写芯谢卸薪邪 锌褉械胁褘褕邪褌褜 16',
-          passnull:'袩邪褉芯谢褜 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
-          leng:'袛谢懈薪邪 锌邪褉芯谢褟 薪械 写芯谢卸薪邪 斜褘褌褜 屑械薪褜褕械 6 懈谢懈 斜芯谢褜褕械 16.',
-          spwn:'袩邪褉芯谢褜 锌芯写褌胁械褉卸写械薪懈褟 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
-          depass:'袛胁邪 褉邪蟹薪褘褏 锌邪褉芯谢褟.',
-      },
-      register:{
-          registerSuccessful:'袪械谐懈褋褌褉邪褑懈褟 褍褋锌械褕薪芯',
-          newuserregister:'袧芯胁褘泄 褉械械褋褌褉 锌芯谢褜蟹芯胁邪褌械谢械泄',
-          name:'袠屑褟锛�',
-          inputname:'袙胁械写懈褌械 懈屑褟',
-          password:'袣芯写:',
-          pwErr:'袙胁械写懈褌械 锌邪褉芯谢褜.',
-          passwordation:'袩芯写褌胁械褉写懈褌械 锌邪褉芯谢褜:',
-          pwErration:'袩芯卸邪谢褍泄褋褌邪, 锌芯写褌胁械褉褌懈褌械 锌邪褉芯谢褜',
-          registration:'袩芯写褌胁械褉卸写械薪懈械 芯 褉械谐懈褋褌褉邪褑懈懈',
-          false:'袨褌屑械薪邪',
-      },
-      main:{
-          connectErr:'袧械芯斜褘褔薪芯械 锌芯写泻谢褞褔械薪懈械 泻 褋械褉胁械褉褍, 锌芯锌褉芯斜褍泄褌械 锌芯蟹卸械',
-          titleFirst:"袛芯斜褉芯 锌芯卸邪谢芯胁邪褌褜 ",
-          titleLast:' 胁 褋懈褋褌械屑褍 NorthGlass MES锛�',
-          quit:"袙褘褏芯写",
-      },
-      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:'袨褕懈斜泻邪 锌褉懈 芯斜薪芯胁谢械薪懈懈 褋褌械泻谢邪',
-      },
-      sorter:{
-          gridnumber:'携褔械械泻 褋械褌泻谢邪',
-          glassnumber:'袧芯屑械褉 褋褌邪泻谢邪',
-          width:'楔懈褉懈薪邪',
-          height:'袙褘褋芯褌邪',
-          startstatus:'小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈',
-          disable:'袨褌泻谢褞褔',
-          start:'袧邪褔邪谢芯',
-          deficiencieste:'袧械写芯褋褌邪褌泻懈 胁 芯褌褔械褌薪芯褋褌懈',
-          operate:'袨锌械褉邪褑懈褟',
-          prompt:'袩芯写褋泻邪蟹泻',
-          information:'小谢械写褍械褌 谢懈 褋芯芯斜褖邪褌褜 薪械写芯褋褌邪褞褖褍褞 懈薪褎芯褉屑邪褑懈褞锛�',
-          yes:'袛邪',
-          cancel:'袨褌屑械薪邪',
-      },
-      order:{
-          dilapidation:'袩芯胁褉械卸写械薪懈械',
-          Takeaway:'袙蟹褟褌褜 胁褉褍褔薪褍褞',
-      },
-
-      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:'袨褌屑械薪邪',
-        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:'袞写械屑.',
+export default {
+    "northglassMESsystem": '小懈褋褌械屑邪 "NorthGlass MES"',
+    login: {
+        userErr: '袙胁械写懈褌械 薪芯屑械褉 褋褔械褌邪.',
+        pwErr: '袙胁械写懈褌械 锌邪褉芯谢褜.',
+        user: '袗泻泻邪褍薪褌',
+        password: '袣芯写',
+        login: '袟邪谢芯谐懈薪',
+        loginSuccessful: '袙褏芯写 胁 褋懈褋褌械屑褍 胁褘锌芯谢薪械薪 褍褋锌械褕薪芯锛�',
+        register: '袟邪褉械谐懈褋褌褉懈褉芯胁邪',
+        namea: '袠屑褟 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
+        len: '袛谢懈薪邪 薪械 写芯谢卸薪邪 锌褉械胁褘褕邪褌褜 16',
+        passnull: '袩邪褉芯谢褜 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
+        leng: '袛谢懈薪邪 锌邪褉芯谢褟 薪械 写芯谢卸薪邪 斜褘褌褜 屑械薪褜褕械 6 懈谢懈 斜芯谢褜褕械 16.',
+        spwn: '袩邪褉芯谢褜 锌芯写褌胁械褉卸写械薪懈褟 薪械 屑芯卸械褌 斜褘褌褜 锌褍褋褌褘屑',
+        depass: '袛胁邪 褉邪蟹薪褘褏 锌邪褉芯谢褟.',
     },
-    workOrder:{
-        glassID:'小褌械泻谢褟薪薪褘泄 ID',
-        height:'袙褘褋芯褌邪',
-        width:'楔懈褉懈薪邪',
-        thickness:'孝芯谢褖懈薪邪',
-        coatingtypes:'孝懈锌褘 锌芯泻褉褘褌懈泄',
-        productionsequence:'袩芯褋谢械写芯胁邪褌械谢褜薪芯褋褌褜 锌褉芯懈蟹胁芯写褋褌胁邪',
-        cardnumber:'袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪',
-        operate:'袨锌械褉邪褑懈褟',
-        messagedamaged:'袩芯胁褉械卸写械薪芯 谢懈 褋芯芯斜褖械薪懈械锛�',
-        prompt:'袩芯写褋泻邪蟹泻',
-        yes:'袛邪',
-        cancel:'袨褌屑械薪邪',
-        takemessage:'小谢械写褍械褌 谢懈 褍写邪谢褟褌褜 褋芯芯斜褖械薪懈械锛�',
-        breakage:'袩芯胁褉械卸写械薪懈械',
-        takeout:'袙蟹褟褌褜',
+    register: {
+        registerSuccessful: '袪械谐懈褋褌褉邪褑懈褟 褍褋锌械褕薪芯',
+        newuserregister: '袧芯胁褘泄 褉械械褋褌褉 锌芯谢褜蟹芯胁邪褌械谢械泄',
+        name: '袠屑褟锛�',
+        inputname: '袙胁械写懈褌械 懈屑褟',
+        password: '袣芯写:',
+        pwErr: '袙胁械写懈褌械 锌邪褉芯谢褜.',
+        passwordation: '袩芯写褌胁械褉写懈褌械 锌邪褉芯谢褜:',
+        pwErration: '袩芯卸邪谢褍泄褋褌邪, 锌芯写褌胁械褉褌懈褌械 锌邪褉芯谢褜',
+        registration: '袩芯写褌胁械褉卸写械薪懈械 芯 褉械谐懈褋褌褉邪褑懈懈',
+        false: '袨褌屑械薪邪',
     },
-    processCard:{
-        intofurnace:'袙 锌械褔褜',
-        beforefurnace:'袛芯 锌械褔泻懈.',
-        outfurnace:'袨泻芯薪褔械薪芯 褋褌械泻谢芯 懈蟹 锌械褔懈 写谢褟 蟹邪泻邪谢泻懈',
+    main: {
+        connectErr: '袧械芯斜褘褔薪芯械 锌芯写泻谢褞褔械薪懈械 泻 褋械褉胁械褉褍, 锌芯锌褉芯斜褍泄褌械 锌芯蟹卸械',
+        titleFirst: "袛芯斜褉芯 锌芯卸邪谢芯胁邪褌褜 ",
+        titleLast: ' 胁 褋懈褋褌械屑褍 NorthGlass MES锛�',
+        quit: "袙褘褏芯写",
     },
-    reportWork:{
-        lowerbit:'小褌邪薪褑懈褟 褉邪蟹谐褉褍蟹泻懈',
-        shelfnumber:'袧芯屑械褉 褋褌芯泄泻懈 褉械谐懈褋褌褉邪褑懈懈',
-        cardnumber:'袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪',
-        totalquantity:'袨斜褖械械 泻芯谢懈褔械褋褌胁芯',
-        beendropped:'袣芯谢懈褔械褋褌胁芯 褋褌械泻谢邪 褉邪蟹谐褉褍蟹泻懈',
-        state:'小芯褋褌芯褟薪懈械',
-        devicenumber:'袧芯屑械褉 芯斜芯褉褍写芯胁邪薪懈褟.',
-        startstatus:'小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈',
-        enable:'袧邪褔邪谢芯',
-        unenable:'袧械 薪邪褔邪褌',
-        operate:'袨锌械褉邪褑懈褟',
-        bindingshelves:'袧邪蟹薪邪褔械薪薪邪褟 褋褌械谢谢邪卸泻邪',
-        clear:'效懈褋褌芯.',
-        workstation:'小褌邪薪褑懈褟 薪芯屑械褉',
-        cardnumbera:'袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪锛�',
-        incardnumber:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 薪芯屑械褉 锌褉芯谐褉邪屑屑褘',
-        clearglass:'袨褔懈褋褌懈褌褜 褋褌械泻谢芯 褋 锌芯谢泻懈',
-        sure:'锌芯写褌胁械褉写',
-        cancel:'袨褌屑械薪邪',
-        glassinformation:'袠薪褎芯褉屑邪褑懈褟 褋褌械泻谢邪',
-        glassID:'小褌械泻谢褟薪薪褘泄 ID',
-        coatingtypes:'孝懈锌褘 锌芯泻褉褘褌懈泄',
-        thickness:'孝芯谢褖懈薪邪',
-        width:'楔懈褉懈薪邪',
-        height:'袙褘褋芯褌邪',
+    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: '袨褕懈斜泻邪 锌褉懈 芯斜薪芯胁谢械薪懈懈 褋褌械泻谢邪',
     },
-    productStock:{
-        addusers:'袛芯斜邪胁褜褌械 锌芯谢褜蟹芯胁邪褌械谢械泄.',
-        username:'袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟.',
-        usernamea:'袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟.锛�',
-        inusername:'袙胁械写懈褌械 懈屑褟 锌芯谢褜蟹芯胁邪褌械谢褟',
-        role:'袪芯谢褜',
-        rolea:'袪芯谢褜锛�',
-        inrole:'袙褘斜械褉懈褌械 褉芯谢褜',
-        test:'孝械褋褌',
-        admin:'袗写屑懈薪懈褋褌褉邪褌芯褉.',
-        operate:'袨锌械褉邪褑懈褟',
-        resetpassword:'小斜褉芯褋懈褌褜 锌邪褉芯谢褜',
-        exit:'袪械写邪泻褌芯褉',
-        delete:'校写邪谢',
-        prompt:'袩芯写褋泻邪蟹泻',
-        repassword:'袩械褉械蟹邪谐褉褍蟹泻邪 锌芯谢褜蟹芯胁邪褌械谢褜褋泻芯谐芯 锌邪褉芯谢褟 懈谢懈 薪械褌锛�',
-        yes:'袛邪',
-        cancel:'袨褌屑械薪邪',
-        reusername:'袠蟹屑械薪械薪懈械 锌芯谢褜蟹芯胁邪褌械谢褟',
-        addusername:'袛芯斜邪胁褜褌械 锌芯谢褜蟹芯胁邪褌械谢械泄.',
-        password:'袣芯写锛�',
-        sure:'锌芯写褌胁械褉写',
-        inpassword:'袙胁械写懈褌械 锌邪褉芯谢褜.',
-        deusername:'校写邪谢械薪懈械 锌芯谢褜蟹芯胁邪褌械谢褟 懈谢懈 薪械褌锛�',
+    sorter: {
+        gridnumber: '携褔械械泻 褋械褌泻谢邪',
+        glassnumber: '袧芯屑械褉 褋褌邪泻谢邪',
+        width: '楔懈褉懈薪邪',
+        height: '袙褘褋芯褌邪',
+        startstatus: '小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈',
+        disable: '袨褌泻谢褞褔',
+        start: '袧邪褔邪谢芯',
+        deficiencieste: '袧械写芯褋褌邪褌泻懈 胁 芯褌褔械褌薪芯褋褌懈',
+        operate: '袨锌械褉邪褑懈褟',
+        prompt: '袩芯写褋泻邪蟹泻',
+        information: '小谢械写褍械褌 谢懈 褋芯芯斜褖邪褌褜 薪械写芯褋褌邪褞褖褍褞 懈薪褎芯褉屑邪褑懈褞锛�',
+        yes: '袛邪',
+        cancel: '袨褌屑械薪邪',
     },
-    customer:{
-        addmenu:'袛芯斜邪胁褜褌械 屑械薪褞.',
-        firstmenu:'孝邪斜谢懈褑邪 屑械薪褞 锌械褉胁芯泄 褋褌械锌械薪懈',
-        link:'小褋褘谢泻',
-        linka:'小褋褘谢泻锛�',
-        inlink:'袙胁械写懈褌械 褋褋褘谢泻褍',
-        sort:'小芯褉褌懈褉芯胁泻',
-        sorta:'小芯褉褌懈褉芯胁泻锛�',
-        insort:'袙胁械写懈褌械 褋芯褉褌懈褉芯胁泻褍',
-        operate:'袨锌械褉邪褑懈褟',
-        exit:'袪械写邪泻褌芯褉',
-        inmenu:'袙胁械写懈褌械 屑械薪褞',
-        delete:'校写邪谢',
-        semenu:'孝邪斜谢懈褑邪 屑械薪褞 胁褌芯褉芯泄 褋褌械锌械薪懈',
-        menu:'袦械薪褞.锛�',
-        sure:'锌芯写褌胁械褉写',
-        cancel:'袨褌屑械薪邪',
-        exmene:'袠蟹屑械薪械薪懈械 屑械薪褞.',
-        yes:'袛邪',
-        demenu:'校写邪谢懈褌褜 屑械薪褞 懈谢懈 薪械褌锛�',
-        prompt:'袩芯写褋泻邪蟹泻',
+    order: {
+        dilapidation: '袩芯胁褉械卸写械薪懈械',
+        Takeaway: '袙蟹褟褌褜 胁褉褍褔薪褍褞',
     },
-    delivery:{
-        addrole:'袛芯斜邪胁褜褌械 褉芯谢懈.',
-        editrole:'袠蟹屑械薪械薪懈械 褉芯谢懈.',
-        role :'袪芯谢褜',
-        rolea :'袪芯谢褜锛�',
-        inrole :'袙胁械写懈褌械 褉芯谢懈.',
-        operate :'袨锌械褉邪褑懈褟',
-        edit :'袪械写邪泻褌芯褉',
-        delete :'校写邪谢',
-        sure :'锌芯写褌胁械褉写',
-        cancel :'袨褌屑械薪邪',
-        yes:'袛邪',
-        derole :'校写邪谢懈褌褜 锌械褉褋芯薪邪卸 懈谢懈 薪械褌锛�',
-        prompt:'袩芯写褋泻邪蟹泻',
+ 
+    searchOrder: {
+        searchlayout:'袟邪锌褉芯褋 薪械褌械屑锌械褉懈褉芯胁邪薪薪芯泄 褌械褏薪芯谢芯谐懈褔械褋泻芯泄 泻邪褉褌褘',
+        fullfurnaces:'袣芯谢懈褔械褋褌胁芯 锌芯谢薪褘褏 锌械褔械泄',
+        specifiedproject:'校泻邪蟹邪薪薪褘泄 胁 写邪薪薪褘泄 屑芯屑械薪褌 锌褉芯械泻褌',
+        undesignate:'袘械蟹 芯斜芯蟹薪邪褔械薪懈褟',
+        allnumber:'袨斜褖械械 泻芯谢懈褔械褋褌胁芯',
+        numbercages:'袣芯谢懈褔械褋褌胁芯 褋械锌邪褉邪褌芯褉芯胁',
+        missingquantity:'袧械写芯褋褌邪褞褖械械 泻芯谢懈褔械褋褌胁芯',
+        breakquantity:'袣芯谢懈褔械褋褌胁芯 袩芯谢芯屑泻邪/袙褘薪芯褋',
+        ceng:'褋谢芯泄',
+        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: '袨褌屑械薪邪',
+        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: '袞写械屑.',
     },
-  }
\ No newline at end of file
+    workOrder: {
+        glassID: '小褌械泻谢褟薪薪褘泄 ID',
+        height: '袙褘褋芯褌邪',
+        width: '楔懈褉懈薪邪',
+        thickness: '孝芯谢褖懈薪邪',
+        coatingtypes: '孝懈锌褘 锌芯泻褉褘褌懈泄',
+        productionsequence: '袩芯褋谢械写芯胁邪褌械谢褜薪芯褋褌褜 锌褉芯懈蟹胁芯写褋褌胁邪',
+        cardnumber: '袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪',
+        operate: '袨锌械褉邪褑懈褟',
+        messagedamaged: '袩芯胁褉械卸写械薪芯 谢懈 褋芯芯斜褖械薪懈械锛�',
+        prompt: '袩芯写褋泻邪蟹泻',
+        yes: '袛邪',
+        cancel: '袨褌屑械薪邪',
+        takemessage: '小谢械写褍械褌 谢懈 褍写邪谢褟褌褜 褋芯芯斜褖械薪懈械锛�',
+        breakage: '袩芯胁褉械卸写械薪懈械',
+        takeout: '袙蟹褟褌褜',
+        time:'袩械褉懈芯写 胁褉械屑械薪懈',
+        cway:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 屑邪褉褕褉褍褌',
+        cstate:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 褋褌邪褌褍褋',
+        edgingone:'袨泻邪薪褌芯胁泻邪 谢懈薪懈懈',
+        edgingtwo:'袨泻邪薪褌芯胁泻邪 写胁褍褏 谢懈薪懈泄',
+        nedging:'袨泻邪薪褌芯胁泻邪',
+        edging:'袣褉邪泄',
+        finedging:'斜褘谢 芯泻邪薪褌芯胁芯褔薪褘屑',
+    },
+    processCard: {
+        intofurnace: '袙 锌械褔褜',
+        beforefurnace: '袛芯 锌械褔泻懈.',
+        outfurnace: '袨泻芯薪褔械薪芯 褋褌械泻谢芯 懈蟹 锌械褔懈 写谢褟 蟹邪泻邪谢泻懈',
+    },
+    reportWork: {
+        details:'小胁械写械薪懈褟 芯 褋写邪褔械',
+        filming:'袠褋泻褍褋褋褌胁械薪薪邪褟 褋褗械屑泻邪',
+        printing:'袗胁褌芯屑邪褌懈褔械褋泻邪褟 锌械褔邪褌褜',
+        cenumber:'袣芯谢懈褔械褋褌胁芯 褋谢芯械胁',
+        artificialorder:'袣芯谢懈褔械褋褌胁芯 褕褌褍泻 锌褉懈 懈褋泻褍褋褋褌胁械薪薪芯屑 蟹邪泻邪蟹械',
+        processcard:'袩械褔邪褌褜 褌械褏薪芯谢芯谐懈褔械褋泻芯泄 泻邪褉褌褘',
+        printlabels:'袩械褔邪褌褜 褝褌懈泻械褌芯泻',
+        information:'袠薪褎芯褉屑邪褑懈褟 芯 锌芯褋邪写泻械',
+        cstation:'袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 褋褌芯谢',
+        all:'胁褋械',
+        timeperiod:'袩械褉懈芯写 胁褉械屑械薪懈',
+        stationnumber:'袧芯屑械褉 褋褌邪薪褑懈懈',
+        order:'锌芯褉褟写芯泻',
+        filminformation:'袠薪褎芯褉屑邪褑懈褟 芯 锌谢械薪泻械 胁褉褍褔薪褍褞',
+        glassmation:'袠褋泻褍褋褋褌胁械薪薪邪褟 锌谢械薪泻邪 邪泻褌褍邪谢褜薪邪褟 懈薪褎芯褉屑邪褑懈褟 芯 褋褌械泻谢械',
+        barcodescanner:'袗泻褌褍邪谢褜薪邪褟 懈薪褎芯褉屑邪褑懈褟 芯 褋褌械泻谢械 褋泻邪薪械褉邪 褕褌褉懈褏-泻芯写邪',
+        lowerbit: '小褌邪薪褑懈褟 褉邪蟹谐褉褍蟹泻懈',
+        shelfnumber: '袧芯屑械褉 褋褌芯泄泻懈 褉械谐懈褋褌褉邪褑懈懈',
+        cardnumber: '袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪',
+        totalquantity: '袨斜褖械械 泻芯谢懈褔械褋褌胁芯',
+        beendropped: '袣芯谢懈褔械褋褌胁芯 褋褌械泻谢邪 褉邪蟹谐褉褍蟹泻懈',
+        state: '小芯褋褌芯褟薪懈械',
+        devicenumber: '袧芯屑械褉 芯斜芯褉褍写芯胁邪薪懈褟.',
+        startstatus: '小褌邪褌褍褋 薪邪褔邪谢邪 芯锌械褉邪褑懈懈',
+        enable: '袧邪褔邪谢芯',
+        unenable: '袧械 薪邪褔邪褌',
+        operate: '袨锌械褉邪褑懈褟',
+        bindingshelves: '袧邪蟹薪邪褔械薪薪邪褟 褋褌械谢谢邪卸泻邪',
+        clear: '效懈褋褌芯.',
+        workstation: '小褌邪薪褑懈褟 薪芯屑械褉',
+        cardnumbera: '袧芯屑械褉 泻邪褉褌芯褔泻懈 锌褉芯褑械褋褋邪锛�',
+        incardnumber: '袩芯卸邪谢褍泄褋褌邪, 胁褘斜械褉懈褌械 薪芯屑械褉 锌褉芯谐褉邪屑屑褘',
+        clearglass: '袨褔懈褋褌懈褌褜 褋褌械泻谢芯 褋 锌芯谢泻懈',
+        sure: '锌芯写褌胁械褉写',
+        cancel: '袨褌屑械薪邪',
+        glassinformation: '袠薪褎芯褉屑邪褑懈褟 褋褌械泻谢邪',
+        glassID: '小褌械泻谢褟薪薪褘泄 ID',
+        coatingtypes: '孝懈锌褘 锌芯泻褉褘褌懈泄',
+        thickness: '孝芯谢褖懈薪邪',
+        width: '楔懈褉懈薪邪',
+        height: '袙褘褋芯褌邪',
+    },
+    productStock: {
+        addusers: '袛芯斜邪胁褜褌械 锌芯谢褜蟹芯胁邪褌械谢械泄.',
+        username: '袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟.',
+        usernamea: '袠屑褟 锌芯谢褜蟹芯胁邪褌械谢褟.锛�',
+        inusername: '袙胁械写懈褌械 懈屑褟 锌芯谢褜蟹芯胁邪褌械谢褟',
+        role: '袪芯谢褜',
+        rolea: '袪芯谢褜锛�',
+        inrole: '袙褘斜械褉懈褌械 褉芯谢褜',
+        test: '孝械褋褌',
+        admin: '袗写屑懈薪懈褋褌褉邪褌芯褉.',
+        operate: '袨锌械褉邪褑懈褟',
+        resetpassword: '小斜褉芯褋懈褌褜 锌邪褉芯谢褜',
+        exit: '袪械写邪泻褌芯褉',
+        delete: '校写邪谢',
+        prompt: '袩芯写褋泻邪蟹泻',
+        repassword: '袩械褉械蟹邪谐褉褍蟹泻邪 锌芯谢褜蟹芯胁邪褌械谢褜褋泻芯谐芯 锌邪褉芯谢褟 懈谢懈 薪械褌锛�',
+        yes: '袛邪',
+        cancel: '袨褌屑械薪邪',
+        reusername: '袠蟹屑械薪械薪懈械 锌芯谢褜蟹芯胁邪褌械谢褟',
+        addusername: '袛芯斜邪胁褜褌械 锌芯谢褜蟹芯胁邪褌械谢械泄.',
+        password: '袣芯写锛�',
+        sure: '锌芯写褌胁械褉写',
+        inpassword: '袙胁械写懈褌械 锌邪褉芯谢褜.',
+        deusername: '校写邪谢械薪懈械 锌芯谢褜蟹芯胁邪褌械谢褟 懈谢懈 薪械褌锛�',
+    },
+    customer: {
+        addmenu: '袛芯斜邪胁褜褌械 屑械薪褞.',
+        firstmenu: '孝邪斜谢懈褑邪 屑械薪褞 锌械褉胁芯泄 褋褌械锌械薪懈',
+        link: '小褋褘谢泻',
+        linka: '小褋褘谢泻锛�',
+        inlink: '袙胁械写懈褌械 褋褋褘谢泻褍',
+        sort: '小芯褉褌懈褉芯胁泻',
+        sorta: '小芯褉褌懈褉芯胁泻锛�',
+        insort: '袙胁械写懈褌械 褋芯褉褌懈褉芯胁泻褍',
+        operate: '袨锌械褉邪褑懈褟',
+        exit: '袪械写邪泻褌芯褉',
+        inmenu: '袙胁械写懈褌械 屑械薪褞',
+        delete: '校写邪谢',
+        semenu: '孝邪斜谢懈褑邪 屑械薪褞 胁褌芯褉芯泄 褋褌械锌械薪懈',
+        menu: '袦械薪褞.锛�',
+        sure: '锌芯写褌胁械褉写',
+        cancel: '袨褌屑械薪邪',
+        exmene: '袠蟹屑械薪械薪懈械 屑械薪褞.',
+        yes: '袛邪',
+        demenu: '校写邪谢懈褌褜 屑械薪褞 懈谢懈 薪械褌锛�',
+        prompt: '袩芯写褋泻邪蟹泻',
+    },
+    delivery: {
+        addrole: '袛芯斜邪胁褜褌械 褉芯谢懈.',
+        editrole: '袠蟹屑械薪械薪懈械 褉芯谢懈.',
+        role: '袪芯谢褜',
+        rolea: '袪芯谢褜锛�',
+        inrole: '袙胁械写懈褌械 褉芯谢懈.',
+        operate: '袨锌械褉邪褑懈褟',
+        edit: '袪械写邪泻褌芯褉',
+        delete: '校写邪谢',
+        sure: '锌芯写褌胁械褉写',
+        cancel: '袨褌屑械薪邪',
+        yes: '袛邪',
+        derole: '校写邪谢懈褌褜 锌械褉褋芯薪邪卸 懈谢懈 薪械褌锛�',
+        prompt: '袩芯写褋泻邪蟹泻',
+    },
+}
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index d2015ef..45bec92 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -1,586 +1,628 @@
 export  default {
-  "northglassMESsystem": "鍖楃幓MES绯荤粺",
-    login:{
-        userErr:'璇疯緭鍏ヨ处鍙�',
-        pwErr:'璇疯緭鍏ュ瘑鐮�',
-        user:'璐﹀彿',
-        password:'瀵嗙爜',
-        login:'鐧诲綍',
-        loginSuccessful:'鐧诲綍鎴愬姛锛�',
-        register:'娉ㄥ唽',
-        namea:'濮撳悕涓嶈兘涓虹┖',
-        len:'闀垮害涓嶈兘瓒呰繃16',
-        passnull:'瀵嗙爜涓嶈兘涓虹┖',
-        leng:'瀵嗙爜闀垮害涓嶈兘浣庝簬6鎴栬秴杩�16',
-        spwn:'纭瀵嗙爜涓嶈兘涓虹┖',
-        depass:'涓ゆ瀵嗙爜涓嶇浉鍚�',
-    },
-    register:{
-        registerSuccessful:'娉ㄥ唽鎴愬姛',
-        newuserregister:'娉ㄥ唽鏂扮敤鎴�',
-        name:'濮撳悕锛�',
-        inputname:'璇疯緭鍏ュ鍚�',
-        password:'瀵嗙爜:',
-        pwErr:'璇疯緭鍏ュ瘑鐮�',
-        passwordation:'纭瀵嗙爜:',
-        pwErration:'璇风‘璁ゅ瘑鐮�',
-        registration:'纭娉ㄥ唽',
-        false:'鍙栨秷',
-    },
-    main:{
-        connectErr:'鏈嶅姟鍣ㄨ繛鎺ュ紓甯革紝璇风◢鍚庡啀璇�',
-        titleFirst:"娆㈣繋 ",
-        titleLast:' 浣跨敤鍖楃幓MES绯荤粺锛�',
-        quit:"閫�鍑�",
-    },
-    basicData:{
-        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:'鏇存柊鐜荤拑鐘舵�佹椂鍙戠敓閿欒',
-        deletemessage:'鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-        layoutSequence:'搴忓彿',
-    },
-    sorter:{
-        gridnumber:'鏍呮牸鍙�',
-        glassnumber:'鐜荤拑缂栧彿',
-        width:'瀹�',
-        height:'楂�',
-        startstatus:'鍚敤鐘舵��',
-        disable:'宸茬鐢�',
-        start:'宸插惎鐢�',
-        deficiencieste:'鎶ョ己',
-        updown:'浜哄伐涓嬬墖',
-        operate:'鎿嶄綔',
-        prompt:'鎻愮ず',
-        information:'鏄惁鎶ョ己璇ユ潯淇℃伅锛�',
-        infor:'鏄惁浜哄伐涓嬬墖璇ユ潯淇℃伅锛�',
-        yes:'鏄�',
-        cancel:'鍙栨秷',
-    },
-    order:{
-        dilapidation:'鐮存崯',
-        takeaway:'浜哄伐鎷胯蛋',
-        takeon:'鎽嗙墖瀹屾垚',
-    },
-    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:'璇疯緭鍏ョ幓鐠僆D',
-        pieceingrid:'灏忕墖鍦ㄦ牸鍐呯殑椤哄簭',
-        pieceingrida:'灏忕墖鍦ㄦ牸鍐呯殑椤哄簭锛�',
-        inpieceingrid:'璇疯緭鍏ュ皬鐗囧湪鏍煎唴鐨勯『搴�',
-        cardnumber:'娴佺▼鍗″彿',
-        cardnumbera:'娴佺▼鍗″彿锛�',
-        incardnumber:'璇疯緭鍏ユ祦绋嬪崱鍙�',
-        typeglass:'鐜荤拑绫诲瀷',
-        typeglassa:'鐜荤拑绫诲瀷锛�',
-        intypeglass:'璇疯緭鍏ョ幓鐠冪被鍨�',
-        width:'瀹�',
-        widtha:'瀹斤細',
-        inwidth:'璇疯緭鍏ュ',
-        height:'楂�',
-        heighta:'楂橈細',
-        inheight:'璇疯緭鍏ラ珮',
-        coatingtypes:'鑶滅郴',
-        thickness:'鍘氬害',
-        thicknessa:'鍘氬害锛�',
-        inthickness:'璇疯緭鍏ュ帤搴�',
-        layoutID:'閽㈠寲鐗堝浘ID',
-        layoutIDa:'閽㈠寲鐗堝浘ID锛�',
-        inlayoutID:'璇疯緭鍏ラ挗鍖栫増鍥綢D',
-        picturesequence:'閽㈠寲鐗堝浘鐗囧簭',
-        picturesequencea:'閽㈠寲鐗堝浘鐗囧簭锛�',
-        inpicturesequence:'璇疯緭鍏ラ挗鍖栫増鍥剧墖搴�',
-        startstatus:'鍚敤鐘舵��',
-        startstatusa:'鍚敤鐘舵�侊細',
-        instartstatus:'璇疯緭鍏ュ惎鐢ㄧ姸鎬�',
-        glassgaps:'鐜荤拑闂撮殭',
-        glassgapsa:'鐜荤拑闂撮殭锛�',
-        inglassgaps:'璇疯緭鍏ョ幓鐠冮棿闅�',
-        sure:'纭',
-        cancel:'鍙栨秷',
-        operate:'鎿嶄綔',
-        breakage:'鐮存崯',
-        delete:'鍒犻櫎',
-        outfilm:'鍑虹墖',
-        cagetableID:'澶х悊鐗囩琛↖D',
-        cagenumber:'鐞嗙墖绗煎彿',
-        gridnumber:'鏍呮牸鍙�',
-        gridnumbera:'鏍呮牸鍙凤細',
-        grid:'璇疯緭鍏ユ爡鏍煎彿',
-        enable:'宸插惎鐢�',
-        disable:'宸茬鐢�',
-        remainingwidth:'鍓╀綑瀹藉害',
-        add:'娣诲姞',
-        sheetID:'閽㈠寲灏忕墖淇℃伅琛↖D',
-        processcards:'娴佺▼鍗�',
-        processcardtype:'娴佺▼鍗$幓鐠冪被鍨�',
-        acceptshorizontal:'閽㈠寲鏄惁鎺ュ彈妯斁',
-        xcoordinates:'x鍧愭爣',
-        ycoordinates:'y鍧愭爣',
-        rotationangle:'鏃嬭浆瑙掑害锛堥�嗘椂閽堬級',
-        state:'鐘舵��',
-        takeout:'鎷胯蛋',
-        deletemessage:'鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-        prompt:'鎻愮ず',
-        yes:'鏄�',
-        accept:'鎺ュ彈',
-        noaccept:'涓嶆帴鍙�',
-        filmcomplete:'鍑虹墖瀹屾垚',
-        waiting:'绛夊緟涓�',
-        broke:'鏄惁鐮存崯璇ユ潯淇℃伅锛�',
-        brokeb:'鏄惁鎷胯蛋璇ユ潯淇℃伅锛�',
-        outfil:'鏄惁鍑虹墖璇ユ潯淇℃伅锛�',
-        inputid:'璇疯緭鍏ョ幓鐠僆D',
-        search:'鎼滅储',
-        tabid:'澶х悊鐗囩璇︽儏琛╥d',
-        tid:'璁惧id',
-        tida:'璁惧id锛�',
-        fin:'鏄惁瀹屾垚浠诲姟锛�',
-        sureadd:'纭娣诲姞',
-        sureadda:'鏄惁纭娣诲姞锛�',
-        zailong:'鍦ㄧ涓�',
-        rengongxp:'浜哄伐涓嬬墖',
-        up:'涓婁竴椤�',
-        down:'涓嬩竴椤�',
-        now:'褰撳墠椤垫樉绀�',
-        tit:'鏉℃暟鎹�',
-        temperingqueries:'閽㈠寲鏌ヨ',
-        specifytempering:'鎸囧畾涓�鐐�',
-        specifyengineerid:'鎸囧畾宸ョ▼',
-        projectnumber:'宸ョ▼鍙�',
-        layoutnumber:'閽㈠寲鐗堝浘鍙�',
-        numberglasses:'鐜荤拑鏁伴噺',
-        specifytemperinga:'鏄惁鎸囧畾閽㈠寲璇ユ潯淇℃伅锛�',
-        temperedswitch:'閽㈠寲寮�鍏�',
-        dutyinformation:'鍊肩彮淇℃伅',
-        process:'宸ュ簭',
-        team:'鐝粍',
-        basic:'璁惧',
-        makesure:'纭淇濆瓨',
-        // cancel:'鍙栨秷',
-        temperingtotal:'閽㈠寲鐐夋暟锛�',
-        glasstotal:'鐜荤拑鎬绘暟锛�',
-    },
-    workOrder:{
-        glassID:'鐜荤拑ID',
-        height:'楂�',
-        width:'瀹�',
-        thickness:'鍘氬害',
-        coatingtypes:'鑶滅郴',
-        productionsequence:'鍑虹墖椤哄簭',
-        cardnumber:'娴佺▼鍗″彿',
-        operate:'鎿嶄綔',
-        messagedamaged:'鏄惁鐮存崯璇ユ潯淇℃伅?',
-        prompt:'鎻愮ず',
-        yes:'鏄�',
-        cancel:'鍙栨秷',
-        takemessage:'鏄惁鎷胯蛋璇ユ潯淇℃伅锛�',
-        breakage:'鐮存崯',
-        takeout:'鎷胯蛋',
-        glasstype:'鐜荤拑绫诲瀷',
-        line:'绾胯矾',
-        status:'鐘舵��',
-    },
-    processCard:{
-        intofurnace:'杩涚倝涓�',
-        beforefurnace:'杩涚倝鍓�',
-        outfurnace:'宸插嚭鐐夌幓鐠�',
-        print:'鎷胯蛋鎵撳嵃',
-        printing:'鎵撳嵃',
-        projectnumber:'璇疯緭鍏ュ伐绋嬪彿',
-        inquire:'鏌ヨ',
-        project:'宸ョ▼鍙�',
-        awayprocess:'鎷胯蛋宸ュ簭',
-        awayequipment:'鎷胯蛋璁惧',
-        awayteam:'鎷胯蛋鐝粍',
-        flowcard:'娴佺▼鍗�',
-        layer:'灞傚彿',
-        temperinglayout:'鐐夊彿',
-        temperingfeed:'鐗囧簭',
-        width:'瀹�',
-        height:'楂�',
-        thickness:'鍘�',
-        glasstakeout:'鐜荤拑鎷胯蛋娓呭崟',
-        layoutID:'鐗堝浘ID',
-        glassID:'鐜荤拑ID',
-    },
-    reportWork:{
-        lowerbit:'涓嬬墖浣�',
-        shelfnumber:'鏋跺彿',
-        cardnumber:'娴佺▼鍗″彿',
-        totalquantity:'鎬绘暟閲�',
-        beendropped:'宸茶惤鏋舵暟閲�',
-        state:'鐘舵��',
-        devicenumber:'璁惧鍙�',
-        startstatus:'鍚敤鐘舵��',
-        enable:'宸插惎鐢�',
-        unenable:'鏈惎鐢�',
-        operate:'鎿嶄綔',
-        bindingshelves:'缁戝畾鏋跺瓙',
-        clear:'娓呯┖',
-        workstation:'鍙峰伐浣�',
-        shelfnumbera:'鏋跺彿锛�',
-        cardnumbera:'娴佺▼鍗″彿锛�',
-        incardnumber:'璇烽�夋嫨娴佺▼鍗″彿',
-        clearglass:'娓呴櫎鏋跺瓙鐜荤拑',
-        sure:'纭',
-        cancel:'鍙栨秷',
-        glassinformation:'鐜荤拑淇℃伅',
-        glassID:'鐜荤拑ID',
-        coatingtypes:'鑶滅郴',
-        thickness:'鍘氬害',
-        width:'瀹藉害',
-        height:'楂樺害',
-    },
-
-    productStock:{
-        addusers:'娣诲姞鐢ㄦ埛',
-        username:'鐢ㄦ埛鍚�',
-        usernamea:'鐢ㄦ埛鍚嶏細',
-        inusername:'璇疯緭鍏ョ敤鎴峰悕',
-        role:'瑙掕壊',
-        rolea:'瑙掕壊锛�',
-        inrole:'璇烽�夋嫨瑙掕壊',
-        test:'娴嬭瘯',
-        admin:'绠$悊鍛�',
-        operate:'鎿嶄綔',
-        resetpassword:'閲嶇疆瀵嗙爜',
-        exit:'缂栬緫',
-        delete:'鍒犻櫎',
-        prompt:'鎻愮ず',
-        repassword:'鏄惁閲嶇疆鐢ㄦ埛瀵嗙爜锛�',
-        yes:'鏄�',
-        cancel:'鍙栨秷',
-        reusername:'淇敼鐢ㄦ埛',
-        addusername:'娣诲姞鐢ㄦ埛',
-        password:'瀵嗙爜锛�',
-        sure:'纭',
-        inpassword:'璇疯緭鍏ュ瘑鐮�',
-        deusername:'鏄惁鍒犻櫎璇ョ敤鎴凤紵',
-    },
-    customer:{
-        addmenua:'娣诲姞浜岀骇鑿滃崟',
-        addmenu:'娣诲姞涓�绾ц彍鍗�',
-        firstmenu:'涓�绾ц彍鍗曟爮',
-        firstmenuname:'涓�绾ц彍鍗曞悕绉�:',
-        link:'閾炬帴',
-        inlink:'璇疯緭鍏ラ摼鎺�',
-        linka:'閾炬帴锛�',
-        sort:'鎺掑簭',
-        insort:'璇疯緭鍏ユ帓搴�',
-        sorta:'鎺掑簭锛�',
-        operate:'鎿嶄綔',
-        exit:'缂栬緫',
-        delete:'鍒犻櫎',
-        semenu:'浜岀骇鑿滃崟鏍�',
-        semenuname:'浜岀骇鑿滃崟鍚嶇О:',
-        menu:'鑿滃崟鏍忥細',
-        inmenu:'璇疯緭鍏ヨ彍鍗曞悕绉�',
-        sure:'纭',
-        cancel:'鍙栨秷',
-        exmene:'淇敼涓�绾ц彍鍗�',
-        exmenea:'淇敼浜岀骇鑿滃崟',
-        yes:'鏄�',
-        demenu:'鏄惁鍒犻櫎璇ヨ彍鍗曪紵', 
-        prompt:'鎻愮ず',
-    },
-    delivery:{
-        addrole:'娣诲姞瑙掕壊',
-        editrole:'淇敼瑙掕壊',
-        role :'瑙掕壊',
-        rolea :'瑙掕壊锛�',
-        inrole :'璇疯緭鍏ヨ鑹�',
-        operate :'鎿嶄綔',
-        edit :'缂栬緫',
-        delete :'鍒犻櫎',
-        yes:'鏄�',
-        sure :'纭',
-        cancel :'鍙栨秷',
-        derole :'鏄惁鍒犻櫎璇ヨ鑹�',
-        prompt:'鎻愮ず',
-        choice:'鑿滃崟鏉冮檺锛�',
-        inchoice:'璇烽�夋嫨鑿滃崟鏉冮檺',
-    },
-    replenish:{
-        patchManagement:'琛ョ墖绠$悊',
-
-    },
-    rework:{
-        reworkManagement:'杩斿伐绠$悊',
-        addRework:"杩斿伐鏂板 ",
-    },
-
-
-    role:{
-        id:'ID',
-        characterHomepage:'瑙掕壊棣栭〉',
-    },
-    user:{
-        userId:'鐢ㄦ埛ID',
-        userHomepage:'鐢ㄦ埛棣栭〉',
-    },
-    orderBasicData:{
-        order:'璁㈠崟',
-        orderType:'璁㈠崟绫诲瀷',
-    },
-    machine:{
-        basicId:'璁惧缂栧彿',
-        basicName:'璁惧鍚嶇О',
-        basicCategory:'鎵�鍦ㄥ伐搴�',
-        tempering:'閽㈠寲',
-    },
-    report:{
-        productionReport:'鐢熶骇鎶ヨ〃',
-        workInProgressReport:'鍦ㄥ埗鍝佹姤琛�',
-    },
-    productionBasicData:{
-        basicDataQuery :'鍩虹鏁版嵁鏌ヨ',
-    },
-    mainIngredient:{
-        materialInformation :'鐗╂枡璧勬枡',
-    },
-    mainIngredientStock:{
-        materialName :'鐗╂枡鍚嶇О',
-        createTime :'杩斿簱鏃ユ湡',
-    },
-    large:{
-        time: '娆$牬鏃堕棿',
-        number: '璁㈠崟鍙�',
-        jobnumber: '鎶ュ伐缂栧彿',
-        productionnumber: '鐢熶骇璁㈠崟鍙�',
-        cardnumber: '娴佺▼鍗″彿',
-        projectname: '椤圭洰鍚嶇О',
-        batch: '鎵规',
-        detailID: '鏄庣粏ID',
-        building: '妤煎彿',
-        serialnumber: '璁㈠崟搴忓彿',
-        productname: '浜у搧鍚嶇О',
-        serial: '宸ヨ壓纭搴忓彿',
-        slicemarker: '鐗囨爣璁帮紙浣嶇疆锛�',
-        numberpatches: '琛ョ墖鏁伴噺',
-        width: '瀹�',
-        height: '楂�',
-        shape: '褰㈢姸',
-        responsibleprocess: '璐d换宸ュ簭',
-        process: '鏈伐搴�',
-        numberfractions: '娆$牬鏈ˉ鏁伴噺',
-        breakreason: '娆$牬鍘熷洜',
-        breaktype: '娆$牬绫诲瀷',
-        responsiblepersonnel: '璐d换浜哄憳',
-        responsiblequipment: '璐d换璁惧',
-        responsibleteam: '璐d换鐝粍',
-        area: '娆$牬闈㈢Н',
-        inspector: '璐ㄦ鍛�',
-        operate: '鎿嶄綔',
-        mes: '璇︽儏',
-        projectnumber: '宸ョ▼鍗曞彿',
-        brokeno: '鎶ユ鐮存湭琛�',
-        close: '鍏抽棴',
-        orderId: '璁㈠崟ID',
-        customerName: '瀹㈡埛鍚嶇О',
-        project: '椤圭洰鍚嶇О',
-        are: '闈㈢Н',
-        quantity: '鏁伴噺',
-        warehousing: '鐘舵��',
-        deliveryDate: '閫佽揣鏃堕棿',
-        notstocked: '鏈叆搴�',
-        inboundstatus: '閮ㄥ垎鍏ュ簱鐘舵��',
-        allstatus: '鍏ㄩ儴鍏ュ簱鐘舵��',
-        completedquantity: '瀹屾垚鏁伴噺',
-        scrapquantity: '鎶ュ簾鏁伴噺',
-        method: '鍔犲伐鏂瑰紡',
-        innumber: '宸插叆鏁伴噺',
-        productstatus: '鐢熶骇鐘舵��',
-        right: '姝e父',
-        stop: '缁堟',
-        inquire: '鏌ヨ',
-        starttime :'寮�濮嬫椂闂�',
-        endtime :'缁撴潫鏃堕棿',
-        loading :'姝e湪涓婄墖锛�',
-    },
-    reportmanage:{
-        productiontime :'鐢熶骇鏃堕棿',
-        starttime :'寮�濮嬫椂闂�',
-        endtime :'缁撴潫鏃堕棿',
-        ctype :'娓呴�夋嫨绫诲瀷',
-        cstate :'娓呴�夋嫨鐘舵��',
-        cprocess :'娓呴�夋嫨宸ュ簭',
-        all :'鍏ㄩ儴',
-        completed :'瀹屽伐',
-        broke :'鐮存崯',
-        takeout :'鎷胯蛋',
-        dreportwork :'鏈姤宸�',
-        pendingwork :'寰呮姤宸�',
-        reportwork :'宸叉姤宸�',
-        incise :'鍒囧壊',
-        edging :'纾ㄨ竟',
-        steel :'閽㈠寲',
-        inquire :'鏌ヨ',
-        signingwork :'鎶ュ伐',
-        reporteam :'鎶ュ伐鐝粍',
-        reportingequipment :'鎶ュ伐璁惧',
-        line :'绾胯矾',
-        process :'宸ュ簭',
-        glassID :'鐜荤拑ID',
-        projectnumber :'宸ョ▼鍙�',
-        layoutID :'閽㈠寲鐗堝浘ID',
-        type :'绫诲瀷',
-        state :'鐘舵��',
-        processcards :'娴佺▼鍗�',
-        number :'搴忓彿',
-        layer :'灞�',
-        typebreakage :'鐮存崯绫诲瀷',
-        ptypebreakage :' 璇烽�夋嫨鐮存崯绫诲瀷',
-        causebreakage :'鐮存崯鍘熷洜',
-        pcausebreakage :'璇烽�夋嫨鐮存崯鍘熷洜',
-        responsibleprocess :'璐d换宸ュ簭',
-        responsiblepersonnel :'璐d换浜哄憳',
-        presponsiblepersonnel :'璇疯緭鍏ヨ矗浠讳汉鍛�',
-        responsibleteam :'璐d换鐝粍',
-        presponsibleteam :'璇烽�夋嫨璐d换鐝粍',
-        responsibleequipment :'璐d换璁惧',
-        presponsibleequipment :'璇烽�夋嫨璐d换璁惧',
-        remark :'澶囨敞',
-        premark :'璇疯緭鍏ュ娉�',
-    },
-    film:{
-        mes:'鍘熺墖浠撳偍璇︽儏',
-        warehousing:'鍏ュ簱',
-        operate: '鎿嶄綔',
-        exit:'缂栬緫',
-        delete:'鍒犻櫎',
-        outbound:'鍑哄簱',
-        deviceid:'璁惧ID',
-        slot:'鏍呮牸鍙�',
-        enablestatea:'鍚敤鏍囪',
-        disable:'绂佺敤',
-        start:'鍚敤',
-        startslot:'寮�濮嬪伐浣�',
-        endslot:'鐩爣宸ヤ綅',
-        slotid:'鏍煎瓙ID',
-        width:'鍘熺墖瀹�',
-        widtha:'鍘熺墖瀹斤細',
-        inwidth:'璇疯緭鍏ュ師鐗囧',
-        height:'鍘熺墖楂�',
-        inheight:'璇疯緭鍏ュ師鐗囬珮',
-        heighta:'鍘熺墖楂橈細',
-        thickness:'鍘熺墖鍘氬害',
-        inthickness:'璇疯緭鍏ュ師鐗囧帤搴�',
-        thicknessa:'鍘熺墖鍘氬害锛�',
-        films:'鑶滅郴',
-        infilms:'璇疯緭鍏ヨ啘绯�',
-        filmsa:'鑶滅郴锛�',
-        createtime:'鍒涘缓鏃堕棿',
-        remainquantity:'鍓╀綑鏁伴噺',
-        thickremainquantity:'鍘熺墖鍓╀綑鏁伴噺锛堝紶锛夛細',
-        inquantity:'璇疯緭鍏ユ暟閲�',
-        quantitya:'鏁伴噺锛�',
-        enableid:'浠诲姟ID',
-        originateslot:'璧峰鏍煎瓙',
-        patternquantity:'鍘熺墖鏁伴噺',
-        enabletype:'浠诲姟绫诲瀷',
-        enablestate:'宸ヤ綅鐘舵��',
-        finish:'宸插畬鎴�',
-        unfinish:'鏈畬鎴�',
-        dedelete:'鏄惁鍒犻櫎璇ユ潯鍐呭锛�',
-        dedisable:'鏄惁绂佺敤璇ユ潯鍐呭锛�',
-        deoutbound:'鏄惁鍑哄簱璇ユ潯鍐呭锛�',
-        selectwarehousing:'璇烽�夋嫨鍚婅浣�',
-        inwarehousing:'鍚婅浣嶏細',
-        warehousing1:'鍚婅浣�1',
-        warehousing2:'鍚婅浣�2',
-        starttime :'寮�濮嬫椂闂�',
-        endtime :'缁撴潫鏃堕棿',
-        taskstatus :'浠诲姟鐘舵��',
-        built :'鏂板缓',
-        execution :'鎵ц涓�',
-        tasktype :'浠诲姟绫诲瀷',
-        stocke :'鍏ュ簱',
-        dispatch :'璋冨害',
-        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
+    "northglassMESsystem": "鍖楃幓MES绯荤粺",
+      login:{
+          userErr:'璇疯緭鍏ヨ处鍙�',
+          pwErr:'璇疯緭鍏ュ瘑鐮�',
+          user:'璐﹀彿',
+          password:'瀵嗙爜',
+          login:'鐧诲綍',
+          loginSuccessful:'鐧诲綍鎴愬姛锛�',
+          register:'娉ㄥ唽',
+          namea:'濮撳悕涓嶈兘涓虹┖',
+          len:'闀垮害涓嶈兘瓒呰繃16',
+          passnull:'瀵嗙爜涓嶈兘涓虹┖',
+          leng:'瀵嗙爜闀垮害涓嶈兘浣庝簬6鎴栬秴杩�16',
+          spwn:'纭瀵嗙爜涓嶈兘涓虹┖',
+          depass:'涓ゆ瀵嗙爜涓嶇浉鍚�',
+      },
+      register:{
+          registerSuccessful:'娉ㄥ唽鎴愬姛',
+          newuserregister:'娉ㄥ唽鏂扮敤鎴�',
+          name:'濮撳悕锛�',
+          inputname:'璇疯緭鍏ュ鍚�',
+          password:'瀵嗙爜:',
+          pwErr:'璇疯緭鍏ュ瘑鐮�',
+          passwordation:'纭瀵嗙爜:',
+          pwErration:'璇风‘璁ゅ瘑鐮�',
+          registration:'纭娉ㄥ唽',
+          false:'鍙栨秷',
+      },
+      main:{
+          connectErr:'鏈嶅姟鍣ㄨ繛鎺ュ紓甯革紝璇风◢鍚庡啀璇�',
+          titleFirst:"娆㈣繋 ",
+          titleLast:' 浣跨敤鍖楃幓MES绯荤粺锛�',
+          quit:"閫�鍑�",
+      },
+      basicData:{
+          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:'鏇存柊鐜荤拑鐘舵�佹椂鍙戠敓閿欒',
+          deletemessage:'鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+          layoutSequence:'搴忓彿',
+      },
+      sorter:{
+          gridnumber:'鏍呮牸鍙�',
+          glassnumber:'鐜荤拑缂栧彿',
+          width:'瀹�',
+          height:'楂�',
+          startstatus:'鍚敤鐘舵��',
+          disable:'宸茬鐢�',
+          start:'宸插惎鐢�',
+          deficiencieste:'鎶ョ己',
+          updown:'浜哄伐涓嬬墖',
+          operate:'鎿嶄綔',
+          prompt:'鎻愮ず',
+          information:'鏄惁鎶ョ己璇ユ潯淇℃伅锛�',
+          infor:'鏄惁浜哄伐涓嬬墖璇ユ潯淇℃伅锛�',
+          yes:'鏄�',
+          cancel:'鍙栨秷',
+      },
+      order:{
+          dilapidation:'鐮存崯',
+          takeaway:'浜哄伐鎷胯蛋',
+          takeon:'鎽嗙墖瀹屾垚',
+      },
+      searchOrder:{
+          searchlayout:'闈為挗鍖栨祦绋嬪崱鏌ヨ',
+          fullfurnaces:'婊$倝鏁伴噺',
+          specifiedproject:'褰撳墠鎸囧畾宸ョ▼',
+          undesignate:'鍙栨秷鎸囧畾',
+          allnumber:'鎬绘暟閲�',
+          numbercages:'绗煎瓙鍐呮暟閲�',
+          missingquantity:'缂哄皯鏁伴噺',
+          breakquantity:'鐮存崯/鎷胯蛋鏁伴噺',
+          ceng:'灞�',
+          cageinformation:'鐞嗙墖绗间俊鎭�',
+          productionqueue:'鍑虹墖闃熷垪',
+          outputglassID:'鍑虹墖鐜荤拑ID',
+          startposition:'璧峰浣嶇疆',
+          targetlocation:'鐩爣浣嶇疆',
+          trips:'杞︽',
+          number:'搴忓彿',
+          taskstatus:'浠诲姟鐘舵��',
+          filmenter:'绛夊緟杩涚墖',
+          infilm:'杩涜涓�',
+          endtask:'缁撴潫浠诲姟',
+          completetask:'瀹屾垚浠诲姟',
+          intoglassid:'杩涚墖鐜荤拑ID',
+          line:'绾胯矾',
+          Usage:'浣跨敤鐜�',
+          free:'绌洪棽锛堟牸瀛愭暟锛�',
+          addcage:'娣诲姞鐞嗙墖绗间俊鎭�',
+          glassIDa:'鐜荤拑ID锛�',
+          glassID:'鐜荤拑ID',
+          inglassID:'璇疯緭鍏ョ幓鐠僆D',
+          pieceingrid:'灏忕墖鍦ㄦ牸鍐呯殑椤哄簭',
+          pieceingrida:'灏忕墖鍦ㄦ牸鍐呯殑椤哄簭锛�',
+          inpieceingrid:'璇疯緭鍏ュ皬鐗囧湪鏍煎唴鐨勯『搴�',
+          cardnumber:'娴佺▼鍗″彿',
+          cardnumbera:'娴佺▼鍗″彿锛�',
+          incardnumber:'璇疯緭鍏ユ祦绋嬪崱鍙�',
+          typeglass:'鐜荤拑绫诲瀷',
+          typeglassa:'鐜荤拑绫诲瀷锛�',
+          intypeglass:'璇疯緭鍏ョ幓鐠冪被鍨�',
+          width:'瀹�',
+          widtha:'瀹斤細',
+          inwidth:'璇疯緭鍏ュ',
+          height:'楂�',
+          heighta:'楂橈細',
+          inheight:'璇疯緭鍏ラ珮',
+          coatingtypes:'鑶滅郴',
+          thickness:'鍘氬害',
+          thicknessa:'鍘氬害锛�',
+          inthickness:'璇疯緭鍏ュ帤搴�',
+          layoutID:'閽㈠寲鐗堝浘ID',
+          layoutIDa:'閽㈠寲鐗堝浘ID锛�',
+          inlayoutID:'璇疯緭鍏ラ挗鍖栫増鍥綢D',
+          picturesequence:'閽㈠寲鐗堝浘鐗囧簭',
+          picturesequencea:'閽㈠寲鐗堝浘鐗囧簭锛�',
+          inpicturesequence:'璇疯緭鍏ラ挗鍖栫増鍥剧墖搴�',
+          startstatus:'鍚敤鐘舵��',
+          startstatusa:'鍚敤鐘舵�侊細',
+          instartstatus:'璇疯緭鍏ュ惎鐢ㄧ姸鎬�',
+          glassgaps:'鐜荤拑闂撮殭',
+          glassgapsa:'鐜荤拑闂撮殭锛�',
+          inglassgaps:'璇疯緭鍏ョ幓鐠冮棿闅�',
+          sure:'纭',
+          cancel:'鍙栨秷',
+          operate:'鎿嶄綔',
+          breakage:'鐮存崯',
+          delete:'鍒犻櫎',
+          outfilm:'鍑虹墖',
+          cagetableID:'澶х悊鐗囩琛↖D',
+          cagenumber:'鐞嗙墖绗煎彿',
+          gridnumber:'鏍呮牸鍙�',
+          gridnumbera:'鏍呮牸鍙凤細',
+          grid:'璇疯緭鍏ユ爡鏍煎彿',
+          enable:'宸插惎鐢�',
+          disable:'宸茬鐢�',
+          remainingwidth:'鍓╀綑瀹藉害',
+          add:'娣诲姞',
+          sheetID:'閽㈠寲灏忕墖淇℃伅琛↖D',
+          processcards:'娴佺▼鍗�',
+          processcardtype:'娴佺▼鍗$幓鐠冪被鍨�',
+          acceptshorizontal:'閽㈠寲鏄惁鎺ュ彈妯斁',
+          xcoordinates:'x鍧愭爣',
+          ycoordinates:'y鍧愭爣',
+          rotationangle:'鏃嬭浆瑙掑害锛堥�嗘椂閽堬級',
+          state:'鐘舵��',
+          takeout:'鎷胯蛋',
+          deletemessage:'鏄惁鍒犻櫎璇ユ潯淇℃伅?',
+          prompt:'鎻愮ず',
+          yes:'鏄�',
+          accept:'鎺ュ彈',
+          noaccept:'涓嶆帴鍙�',
+          filmcomplete:'鍑虹墖瀹屾垚',
+          waiting:'绛夊緟涓�',
+          broke:'鏄惁鐮存崯璇ユ潯淇℃伅锛�',
+          brokeb:'鏄惁鎷胯蛋璇ユ潯淇℃伅锛�',
+          outfil:'鏄惁鍑虹墖璇ユ潯淇℃伅锛�',
+          inputid:'璇疯緭鍏ョ幓鐠僆D',
+          search:'鎼滅储',
+          tabid:'澶х悊鐗囩璇︽儏琛╥d',
+          tid:'璁惧id',
+          tida:'璁惧id锛�',
+          fin:'鏄惁瀹屾垚浠诲姟锛�',
+          sureadd:'纭娣诲姞',
+          sureadda:'鏄惁纭娣诲姞锛�',
+          zailong:'鍦ㄧ涓�',
+          rengongxp:'浜哄伐涓嬬墖',
+          up:'涓婁竴椤�',
+          down:'涓嬩竴椤�',
+          now:'褰撳墠椤垫樉绀�',
+          tit:'鏉℃暟鎹�',
+          temperingqueries:'閽㈠寲鏌ヨ',
+          specifytempering:'鎸囧畾涓�鐐�',
+          specifyout:'鎸囧畾浜哄伐鍑虹墖',
+          specifyengineerid:'鎸囧畾宸ョ▼',
+          projectnumber:'宸ョ▼鍙�',
+          layoutnumber:'閽㈠寲鐗堝浘鍙�',
+          numberglasses:'鐜荤拑鏁伴噺',
+          specifytemperinga:'鏄惁鎸囧畾閽㈠寲璇ユ潯淇℃伅锛�',
+          temperedswitch:'閽㈠寲寮�鍏�',
+          dutyinformation:'鍊肩彮淇℃伅',
+          line:'绾胯矾',
+          process:'宸ュ簭',
+          team:'鐝粍',
+          basic:'璁惧',
+          makesure:'纭淇濆瓨',
+          cancel:'鍙栨秷',
+          temperingtotal:'閽㈠寲鐐夋暟锛�',
+          glasstotal:'鐜荤拑鎬绘暟锛�',
+      },
+      workOrder:{
+          glassID:'鐜荤拑ID',
+          height:'楂�',
+          width:'瀹�',
+          thickness:'鍘氬害',
+          coatingtypes:'鑶滅郴',
+          productionsequence:'鍑虹墖椤哄簭',
+          cardnumber:'娴佺▼鍗″彿',
+          operate:'鎿嶄綔',
+          messagedamaged:'鏄惁鐮存崯璇ユ潯淇℃伅?',
+          prompt:'鎻愮ず',
+          yes:'鏄�',
+          cancel:'鍙栨秷',
+          takemessage:'鏄惁鎷胯蛋璇ユ潯淇℃伅锛�',
+          breakage:'鐮存崯',
+          takeout:'鎷胯蛋',
+          glasstype:'鐜荤拑绫诲瀷',
+          line:'绾胯矾',
+          status:'鐘舵��',
+          time:'鏃堕棿娈�',
+          cway:'璇烽�夋嫨绾胯矾',
+          cstate:'璇烽�夋嫨鐘舵��',
+          edgingone:'纾ㄨ竟涓�绾�',
+          edgingtwo:'纾ㄨ竟浜岀嚎',
+          nedging:'鏈(杈�',
+          edging:'纾ㄨ竟涓�',
+          finedging:'宸茬(杈�',
+      },
+      processCard:{
+          intofurnace:'杩涚倝涓�',
+          beforefurnace:'杩涚倝鍓�',
+          outfurnace:'宸插嚭鐐夌幓鐠�',
+          print:'鎷胯蛋鎵撳嵃',
+          printing:'鎵撳嵃',
+          projectnumber:'璇疯緭鍏ュ伐绋嬪彿',
+          inquire:'鏌ヨ',
+          project:'宸ョ▼鍙�',
+          awayprocess:'鎷胯蛋宸ュ簭',
+          awayequipment:'鎷胯蛋璁惧',
+          awayteam:'鎷胯蛋鐝粍',
+          flowcard:'娴佺▼鍗�',
+          layer:'灞傚彿',
+          temperinglayout:'鐐夊彿',
+          temperingfeed:'鐗囧簭',
+          width:'瀹�',
+          height:'楂�',
+          thickness:'鍘�',
+          glasstakeout:'鐜荤拑鎷胯蛋娓呭崟',
+          layoutID:'鐗堝浘ID',
+          glassID:'鐜荤拑ID',
+      },
+      reportWork:{
+          details:'钀芥灦璇︽儏',
+          filming:'浜哄伐涓嬬墖',
+          printing:'鑷姩鎵撳嵃',
+          cenumber:'灞傛暟',
+          artificialorder:'浜哄伐涓嬬墖鏁�',
+          processcard:'鎵撳嵃娴佺▼鍗�',
+          printlabels:'鎵撳嵃鏍囩',
+          information:'钀芥灦淇℃伅',
+          cstation:'璇烽�夋嫨宸ヤ綅',
+          all:'鍏ㄩ儴',
+          timeperiod:'鏃堕棿娈�',
+          stationnumber:'宸ヤ綅鍙�',
+          order:'椤哄簭',
+          filminformation:'浜哄伐涓嬬墖淇℃伅',
+          glassmation:'浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅',
+          barcodescanner:'鎵爜鏋綋鍓嶇幓鐠冧俊鎭�',
+          lowerbit:'涓嬬墖浣�',
+          shelfnumber:'鏋跺彿',
+          cardnumber:'娴佺▼鍗″彿',
+          totalquantity:'鎬绘暟閲�',
+          beendropped:'宸茶惤鏋舵暟閲�',
+          state:'鐘舵��',
+          devicenumber:'璁惧鍙�',
+          startstatus:'鍚敤鐘舵��',
+          enable:'宸插惎鐢�',
+          unenable:'鏈惎鐢�',
+          operate:'鎿嶄綔',
+          bindingshelves:'缁戝畾鏋跺瓙',
+          clear:'娓呯┖',
+          workstation:'鍙峰伐浣�',
+          shelfnumbera:'鏋跺彿锛�',
+          cardnumbera:'娴佺▼鍗″彿锛�',
+          incardnumber:'璇烽�夋嫨娴佺▼鍗″彿',
+          clearglass:'娓呴櫎鏋跺瓙鐜荤拑',
+          sure:'纭',
+          cancel:'鍙栨秷',
+          glassinformation:'鐜荤拑淇℃伅',
+          glassID:'鐜荤拑ID',
+          coatingtypes:'鑶滅郴',
+          thickness:'鍘氬害',
+          width:'瀹藉害',
+          height:'楂樺害',
+      },
+   
+      productStock:{
+          addusers:'娣诲姞鐢ㄦ埛',
+          username:'鐢ㄦ埛鍚�',
+          usernamea:'鐢ㄦ埛鍚嶏細',
+          inusername:'璇疯緭鍏ョ敤鎴峰悕',
+          role:'瑙掕壊',
+          rolea:'瑙掕壊锛�',
+          inrole:'璇烽�夋嫨瑙掕壊',
+          test:'娴嬭瘯',
+          admin:'绠$悊鍛�',
+          operate:'鎿嶄綔',
+          resetpassword:'閲嶇疆瀵嗙爜',
+          exit:'缂栬緫',
+          delete:'鍒犻櫎',
+          prompt:'鎻愮ず',
+          repassword:'鏄惁閲嶇疆鐢ㄦ埛瀵嗙爜锛�',
+          yes:'鏄�',
+          cancel:'鍙栨秷',
+          reusername:'淇敼鐢ㄦ埛',
+          addusername:'娣诲姞鐢ㄦ埛',
+          password:'瀵嗙爜锛�',
+          sure:'纭',
+          inpassword:'璇疯緭鍏ュ瘑鐮�',
+          deusername:'鏄惁鍒犻櫎璇ョ敤鎴凤紵',
+      },
+      customer:{
+          addmenua:'娣诲姞浜岀骇鑿滃崟',
+          addmenu:'娣诲姞涓�绾ц彍鍗�',
+          firstmenu:'涓�绾ц彍鍗曟爮',
+          firstmenuname:'涓�绾ц彍鍗曞悕绉�:',
+          link:'閾炬帴',
+          inlink:'璇疯緭鍏ラ摼鎺�',
+          linka:'閾炬帴锛�',
+          sort:'鎺掑簭',
+          insort:'璇疯緭鍏ユ帓搴�',
+          sorta:'鎺掑簭锛�',
+          operate:'鎿嶄綔',
+          exit:'缂栬緫',
+          delete:'鍒犻櫎',
+          semenu:'浜岀骇鑿滃崟鏍�',
+          semenuname:'浜岀骇鑿滃崟鍚嶇О:',
+          menu:'鑿滃崟鏍忥細',
+          inmenu:'璇疯緭鍏ヨ彍鍗曞悕绉�',
+          sure:'纭',
+          cancel:'鍙栨秷',
+          exmene:'淇敼涓�绾ц彍鍗�',
+          exmenea:'淇敼浜岀骇鑿滃崟',
+          yes:'鏄�',
+          demenu:'鏄惁鍒犻櫎璇ヨ彍鍗曪紵', 
+          prompt:'鎻愮ず',
+      },
+      delivery:{
+          addrole:'娣诲姞瑙掕壊',
+          editrole:'淇敼瑙掕壊',
+          role :'瑙掕壊',
+          rolea :'瑙掕壊锛�',
+          inrole :'璇疯緭鍏ヨ鑹�',
+          operate :'鎿嶄綔',
+          edit :'缂栬緫',
+          delete :'鍒犻櫎',
+          yes:'鏄�',
+          sure :'纭',
+          cancel :'鍙栨秷',
+          derole :'鏄惁鍒犻櫎璇ヨ鑹�',
+          prompt:'鎻愮ず',
+          choice:'鑿滃崟鏉冮檺锛�',
+          inchoice:'璇烽�夋嫨鑿滃崟鏉冮檺',
+      },
+      replenish:{
+          patchManagement:'琛ョ墖绠$悊',
+   
+      },
+      rework:{
+          reworkManagement:'杩斿伐绠$悊',
+          addRework:"杩斿伐鏂板 ",
+      },
+   
+   
+      role:{
+          id:'ID',
+          characterHomepage:'瑙掕壊棣栭〉',
+      },
+      user:{
+          userId:'鐢ㄦ埛ID',
+          userHomepage:'鐢ㄦ埛棣栭〉',
+      },
+      orderBasicData:{
+          order:'璁㈠崟',
+          orderType:'璁㈠崟绫诲瀷',
+      },
+      machine:{
+          basicId:'璁惧缂栧彿',
+          basicName:'璁惧鍚嶇О',
+          basicCategory:'鎵�鍦ㄥ伐搴�',
+          tempering:'閽㈠寲',
+      },
+      report:{
+          productionReport:'鐢熶骇鎶ヨ〃',
+          workInProgressReport:'鍦ㄥ埗鍝佹姤琛�',
+      },
+      productionBasicData:{
+          basicDataQuery :'鍩虹鏁版嵁鏌ヨ',
+      },
+      mainIngredient:{
+          materialInformation :'鐗╂枡璧勬枡',
+      },
+      mainIngredientStock:{
+          materialName :'鐗╂枡鍚嶇О',
+          createTime :'杩斿簱鏃ユ湡',
+      },
+      large:{
+          time: '娆$牬鏃堕棿',
+          number: '璁㈠崟鍙�',
+          jobnumber: '鎶ュ伐缂栧彿',
+          productionnumber: '鐢熶骇璁㈠崟鍙�',
+          cardnumber: '娴佺▼鍗″彿',
+          projectname: '椤圭洰鍚嶇О',
+          batch: '鎵规',
+          detailID: '鏄庣粏ID',
+          building: '妤煎彿',
+          serialnumber: '璁㈠崟搴忓彿',
+          productname: '浜у搧鍚嶇О',
+          serial: '宸ヨ壓纭搴忓彿',
+          slicemarker: '鐗囨爣璁帮紙浣嶇疆锛�',
+          numberpatches: '琛ョ墖鏁伴噺',
+          width: '瀹�',
+          height: '楂�',
+          shape: '褰㈢姸',
+          responsibleprocess: '璐d换宸ュ簭',
+          process: '鏈伐搴�',
+          numberfractions: '娆$牬鏈ˉ鏁伴噺',
+          breakreason: '娆$牬鍘熷洜',
+          breaktype: '娆$牬绫诲瀷',
+          responsiblepersonnel: '璐d换浜哄憳',
+          responsiblequipment: '璐d换璁惧',
+          responsibleteam: '璐d换鐝粍',
+          area: '娆$牬闈㈢Н',
+          inspector: '璐ㄦ鍛�',
+          operate: '鎿嶄綔',
+          mes: '璇︽儏',
+          projectnumber: '宸ョ▼鍗曞彿',
+          brokeno: '鎶ユ鐮存湭琛�',
+          close: '鍏抽棴',
+          orderId: '璁㈠崟ID',
+          customerName: '瀹㈡埛鍚嶇О',
+          project: '椤圭洰鍚嶇О',
+          are: '闈㈢Н',
+          quantity: '鏁伴噺',
+          warehousing: '鐘舵��',
+          deliveryDate: '閫佽揣鏃堕棿',
+          notstocked: '鏈叆搴�',
+          inboundstatus: '閮ㄥ垎鍏ュ簱鐘舵��',
+          allstatus: '鍏ㄩ儴鍏ュ簱鐘舵��',
+          completedquantity: '瀹屾垚鏁伴噺',
+          scrapquantity: '鎶ュ簾鏁伴噺',
+          number: '鏁伴噺',
+          method: '鍔犲伐鏂瑰紡',
+          innumber: '宸插叆鏁伴噺',
+          productstatus: '鐢熶骇鐘舵��',
+          projectnumber: '宸ョ▼鍙�',
+          right: '姝e父',
+          stop: '缁堟',
+          inquire: '鏌ヨ',
+          starttime :'寮�濮嬫椂闂�',
+          endtime :'缁撴潫鏃堕棿',
+          loading :'姝e湪涓婄墖锛�',
+      },
+      reportmanage:{
+          productiontime :'鐢熶骇鏃堕棿',
+          starttime :'寮�濮嬫椂闂�',
+          endtime :'缁撴潫鏃堕棿',
+          ctype :'娓呴�夋嫨绫诲瀷',
+          cstate :'娓呴�夋嫨鐘舵��',
+          cprocess :'娓呴�夋嫨宸ュ簭',
+          all :'鍏ㄩ儴',
+          completed :'瀹屽伐',
+          broke :'鐮存崯',
+          takeout :'鎷胯蛋',
+          dreportwork :'鏈姤宸�',
+          pendingwork :'寰呮姤宸�',
+          reportwork :'宸叉姤宸�',
+          incise :'鍒囧壊',
+          edging :'纾ㄨ竟',
+          steel :'閽㈠寲',
+          inquire :'鏌ヨ',
+          signingwork :'鎶ュ伐',
+          reporteam :'鎶ュ伐鐝粍',
+          reportingequipment :'鎶ュ伐璁惧',
+          line :'绾胯矾',
+          process :'宸ュ簭',
+          glassID :'鐜荤拑ID',
+          projectnumber :'宸ョ▼鍙�',
+          layoutID :'閽㈠寲鐗堝浘ID',
+          productiontime :'鐢熶骇鏃堕棿',
+          type :'绫诲瀷',
+          state :'鐘舵��',
+          processcards :'娴佺▼鍗�',
+          number :'搴忓彿',
+          layer :'灞�',
+          typebreakage :'鐮存崯绫诲瀷',
+          ptypebreakage :' 璇烽�夋嫨鐮存崯绫诲瀷',
+          causebreakage :'鐮存崯鍘熷洜',
+          pcausebreakage :'璇烽�夋嫨鐮存崯鍘熷洜',
+          responsibleprocess :'璐d换宸ュ簭',
+          responsiblepersonnel :'璐d换浜哄憳',
+          presponsiblepersonnel :'璇疯緭鍏ヨ矗浠讳汉鍛�',
+          responsibleteam :'璐d换鐝粍',
+          presponsibleteam :'璇烽�夋嫨璐d换鐝粍',
+          responsibleequipment :'璐d换璁惧',
+          presponsibleequipment :'璇烽�夋嫨璐d换璁惧',
+          remark :'澶囨敞',
+          premark :'璇疯緭鍏ュ娉�',
+      },
+      film:{
+          mes:'鍘熺墖浠撳偍璇︽儏',
+          warehousing:'鍏ュ簱',
+          operate: '鎿嶄綔',
+          exit:'缂栬緫',
+          delete:'鍒犻櫎',
+          outbound:'鍑哄簱',
+          deviceid:'璁惧ID',
+          slot:'鏍呮牸鍙�',
+          enablestatea:'鍚敤鏍囪',
+          disable:'绂佺敤',
+          start:'鍚敤',
+          startslot:'寮�濮嬪伐浣�',
+          endslot:'鐩爣宸ヤ綅',
+          slotid:'鏍煎瓙ID',
+          slot:'鏍煎瓙鍙�',
+          width:'鍘熺墖瀹�',
+          widtha:'鍘熺墖瀹斤細',
+          inwidth:'璇疯緭鍏ュ師鐗囧',
+          height:'鍘熺墖楂�',
+          inheight:'璇疯緭鍏ュ師鐗囬珮',
+          heighta:'鍘熺墖楂橈細',
+          thickness:'鍘熺墖鍘氬害',
+          inthickness:'璇疯緭鍏ュ師鐗囧帤搴�',
+          thicknessa:'鍘熺墖鍘氬害锛�',
+          films:'鑶滅郴',
+          infilms:'璇疯緭鍏ヨ啘绯�',
+          filmsa:'鑶滅郴锛�',
+          createtime:'鍒涘缓鏃堕棿',
+          remainquantity:'鍓╀綑鏁伴噺',
+          thickremainquantity:'鍘熺墖鍓╀綑鏁伴噺锛堝紶锛夛細',
+          inquantity:'璇疯緭鍏ユ暟閲�',
+          quantitya:'鏁伴噺锛�',
+          enableid:'浠诲姟ID',
+          originateslot:'璧峰鏍煎瓙',
+          endslot:'鐩爣鏍煎瓙',
+          patternquantity:'鍘熺墖鏁伴噺',
+          enabletype:'浠诲姟绫诲瀷',
+          enablestate:'宸ヤ綅鐘舵��',
+          finish:'宸插畬鎴�',
+          unfinish:'鏈畬鎴�',
+          dedelete:'鏄惁鍒犻櫎璇ユ潯鍐呭锛�',
+          dedisable:'鏄惁绂佺敤璇ユ潯鍐呭锛�',
+          deoutbound:'鏄惁鍑哄簱璇ユ潯鍐呭锛�',
+          selectwarehousing:'璇烽�夋嫨鍚婅浣�',
+          inwarehousing:'鍚婅浣嶏細',
+          warehousing1:'鍚婅浣�1',
+          warehousing2:'鍚婅浣�2',
+          starttime :'寮�濮嬫椂闂�',
+          endtime :'缁撴潫鏃堕棿',
+          taskstatus :'浠诲姟鐘舵��',
+          built :'鏂板缓',
+          execution :'鎵ц涓�',
+          finish :'瀹屾垚',
+          tasktype :'浠诲姟绫诲瀷',
+          stocke :'鍏ュ簱',
+          outbound :'鍑哄簱',
+          dispatch :'璋冨害',
+          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 b62dc2c..96eb368 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -213,7 +213,7 @@
             }
           ]
         },
-
+ 
          /*----------- 鍙鍖栫郴缁� ----------------*/
          {
           path: 'Visualization',
@@ -323,7 +323,7 @@
     
   ]
 })
-
+ 
 // 瀵艰埅瀹堝崼  
 router.beforeEach((to, from, next) => {  
   const isAuthenticated = !!localStorage.getItem('authToken'); // 鍋囪杩欐槸浣犵殑鐧诲綍鐘舵�佹鏌ラ�昏緫  
@@ -333,4 +333,4 @@
     next(); // 鍚﹀垯缁х画瀵艰埅  
   }  
 }); 
-export default router
+export default router
\ No newline at end of file
diff --git a/UI-Project/src/views/NewPage.vue b/UI-Project/src/views/NewPage.vue
index 81d7e1a..b61641b 100644
--- a/UI-Project/src/views/NewPage.vue
+++ b/UI-Project/src/views/NewPage.vue
@@ -1,151 +1,151 @@
 <template>  
-    <div>  
-  <div style="display: flex;">
-    <div style="margin-left: 50px;margin-top: 15px;font-size:large">宸ョ▼鍙�:</div>
+  <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);  
+    <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)
          }  
-       }); 
-     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;  
+       } 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;
+   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) {  
+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;  
-      });  
-    }  
-  });  
+      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] || [];  
+return adjustedRectsPerRow.value[rowIndex] || [];  
 }  
-     </script>  
-       
-    
-  <style scoped>  
-.row {  
-  display: flex;  
-  justify-content: space-between;  
-  margin-bottom: 20px;
-}  
+   </script>  
+     
   
-.div-container {  
-  width: 900px;
-  float: left;
-  background-color: #f4f4f5;
-  height: 430px;
-  box-sizing: border-box;
+<style scoped>  
+.row {  
+display: flex;  
+justify-content: space-between;  
+margin-bottom: 20px;
 }  
-  </style>
\ No newline at end of file
+ 
+.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 f6b504c..6ce2420 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -272,7 +272,7 @@
         widtha = rect.width;
         heighta = rect.height;
       }
-  if (rect.angle === 0) {
+  if (rect.angle === 0) {  
     adjustedWidth = widtha * scaleFactor;  
     adjustedHeight = heighta * scaleFactory;  
     // adjustedWidtha = widtha;  
@@ -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
index d0567d3..592037c 100644
--- a/UI-Project/src/views/Returns/return.vue
+++ b/UI-Project/src/views/Returns/return.vue
@@ -5,19 +5,19 @@
 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%;
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 91bf66f..4610faf 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
index 49d1f27..1d25199 100644
--- a/UI-Project/src/views/Returns/upreturns.vue
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -15,10 +15,10 @@
 const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿  
 const loadingline = ref(''); // 褰撳墠閫変腑鐨勪笂鐗囩嚎
 const dialogFormVisible = ref(false)
-
-
-
-
+ 
+ 
+ 
+ 
 const blind = ref(false)
 const blinda = ref(false)
 const blindb = ref(false)
@@ -60,8 +60,8 @@
 const selectproject = () => {
   dialogFormVisible.value = true;
 };
-
-
+ 
+ 
 onMounted(() => {
   // socket = initializeWebSocket(socketUrl, handleMessage);
 });
@@ -80,12 +80,12 @@
 let socket = null;
 const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
 // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-
+ 
 const requestData = {  
   state: 100  
 };  
  
-
+ 
 onBeforeUnmount(() => {
   closeWebSocket();
 });
@@ -519,9 +519,9 @@
 .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{
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 686a171..9f9aa3e 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -362,7 +362,7 @@
   }  
 }; 
  // 鎸囧畾閽㈠寲
- const brokee = async(row) => {  
+ const brokee = async(row,temperingFeedSequence) => {  
   try {
     const confirmResult = await ElMessageBox.confirm(  
       t('searchOrder.specifytemperinga'), 
@@ -377,6 +377,7 @@
       const response = await request.post("/cacheVerticalGlass/bigStorageCageDetails/TemperingGlass",{
         engineerId: row.engineer_id,
         temperingLayoutId: row.tempering_layout_id,
+        temperingFeedSequence:temperingFeedSequence
     });
     if (response.code === 200) {
       ElMessage.success(response.message);
@@ -387,6 +388,7 @@
   } catch (error) {  
     console.error('鍙戠敓閿欒:', error);  
   }  
+  handleganghua();
 }; 
  // 鎸囧畾宸ョ▼
  const brokek = async(row) => {  
@@ -601,7 +603,7 @@
   } catch (error) {  
     // console.error('Error fetching rects :', error);  
   }  
-
+ 
   
 }); 
 const fetchFlows = async () => {
@@ -617,7 +619,7 @@
   } 
 }
  
-
+ 
 const fetchFlow = async () => {
   try  {
     const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectTemperingGlass')
@@ -635,7 +637,7 @@
       });
       glasstotal.value = totalCount;
       fulltotals.value = fullCount;
-
+ 
     } else {
       ElMessage.error(response.message);
     }
@@ -884,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;">
@@ -1531,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>
@@ -1555,16 +1557,16 @@
         :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)">{{ $t('searchOrder.specifytempering') }}</el-button>
+              <el-button size="mini" type="text" plain @click="brokee(scope.row,1)">{{ $t('searchOrder.specifytempering') }}</el-button>
+              <el-button size="mini" type="text" plain @click="brokee(scope.row,0)">{{ $t('searchOrder.specifyout') }}</el-button>
               <el-button size="mini" type="text" plain @click="brokek(scope.row)">{{ $t('searchOrder.specifyengineerid') }}</el-button>
             </template>
-            
         </el-table-column>
         </el-table>
 </el-dialog>
@@ -1597,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..f83f2e4 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicData.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -14,7 +14,7 @@
   import { useI18n } from 'vue-i18n'
   const { t } = useI18n()
   let language = ref(localStorage.getItem('lang') || 'zh')
-
+ 
 const tableData = ref([])
 const slot = ref('')
 const requestData = {  
@@ -24,7 +24,7 @@
 const selectValuesa = reactive([]);
 // request.post("/cacheGlass/taskCache/selectEdgTask",{
 //   ...requestData,  
-
+ 
 // }).then((res) => {
 //           if (res.code == 200) {
             
@@ -36,7 +36,7 @@
         
 //           }
 //           });
-
+ 
 // 纾ㄨ竟浠诲姟鏌ヨ
 const setEdgGlassInfoRequest = async () => {
   let celllist=[]
@@ -63,9 +63,9 @@
   } else {
     ElMessage.error(response.message);
   }
-
+ 
 }
-
+ 
 // 鐮存崯
  const open = async(row) => { 
   try {
@@ -155,25 +155,25 @@
 <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')
       }}</el-button>
-
+ 
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
         <el-table height="750" ref="table" 
         @selection-change="handleSelectionChange"
@@ -189,8 +189,8 @@
               {{ scope.row.status==0?"鏈(杈�":scope.row.status==1?"纾ㄨ竟涓�":"宸茬(杈�" }}
             </template>
         </el-table-column>
-
-
+ 
+ 
           <el-table-column fixed="right" :label="$t('workOrder.operate')" align="center" width="200">
             <template #default="scope">
               <el-button size="mini" type="text" plain @click="open(scope.row)">{{ $t('workOrder.breakage') }}</el-button>
@@ -202,7 +202,7 @@
     </el-card>
   </div>
 </template>
-
+ 
 <style scoped>
 #dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
 #dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index 5a918af..618e73c 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -10,7 +10,7 @@
 import Landingindication from "./Landingindication.vue";
 import Landingindicationtwo from "./Landingindicationtwo.vue";
 import PrintLabel from "@/views/UnLoadGlass/PrintCustomLabelSemi1.vue";
-
+ 
 const router = useRouter()
 const { t } = useI18n()
 let language = ref(localStorage.getItem('lang') || 'zh')
@@ -19,8 +19,8 @@
 const autoPrint = ref(false)
 const takeGlass = ref([])
 const scanGlass = ref([])
-
-
+ 
+ 
 const dialogFormVisiblea = ref(false)
 const dialogFormVisiblea2 = ref(false)
 const dialogFormVisibleaDownGlass = ref(false)
@@ -37,24 +37,25 @@
 const flowCardOptions = ref('[]');
 const tableData = reactive([]);
 const downGlass = ref([]);
-
+ 
 const selectValuesa = reactive({});
 const selectOptionsa = ref([]);
 const dialogTableVisible = ref(false)
 const dialogTableVisible1 = ref(false)
 const printFlowCardId = ref('')
 const printLayer = ref('')
+const printGlassId = ref('')
 const now = new Date();
 const timeRange = ref([])
 const browser = ref(false)
-
+ 
 const handleChange = async () => {
   console.log("瑙﹀彂寮�鍏�")
   try {
     const body = {
       flag: autoPrint.value, // 浣跨敤 ganghua.value 鑾峰彇褰撳墠寮�鍏崇殑鐘舵��
     };
-
+ 
     var url = "/unLoadGlass/downWorkStation/autoPrint?flag=" + autoPrint.value;
     const response = await request.post(url)
     if (response.code == 200) {
@@ -78,7 +79,7 @@
     browser.value = false
   }
 }
-
+ 
 const handleInputChangea = (value, rowId) => {
   // 鏇存柊瀵瑰簲琛岀殑 select 鍊�
   selectValuesa[rowId] = value;
@@ -100,7 +101,7 @@
     const response = await request.get('unLoadGlass/downWorkStation/getflowCardId');
     console.log(response)
     if (response.code === 200) {
-
+ 
       flowCardOptions.value = response.data.filter(item => item !== null)
         .map(item => ({ flowcard_id: item.flow_card_id }));
       console.log(flowCardOptions.value);
@@ -125,7 +126,7 @@
     if (response.code == 200) {
       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       console.log('缁戝畾鎴愬姛');
-
+ 
       ElMessage.success(response.message);
       updatePageData();
       dialogFormVisiblea.value = false;
@@ -155,8 +156,8 @@
     const response = await request.post('unLoadGlass/downWorkStation/clear', {
       workstationId: workstationId.value,
     });
-
-
+ 
+ 
     if (response.code === 200) {
       // 娓呴櫎鎴愬姛鐨勯�昏緫
       console.log('娓呴櫎鎴愬姛');
@@ -183,7 +184,7 @@
   try {
     // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
     const response = await request.get('unLoadGlass/downWorkStation/getone');
-
+ 
     // 妫�鏌ュ搷搴旂姸鎬�
     if (response.code === 200) {
       // 鏇存柊琛ㄦ牸鏁版嵁
@@ -202,7 +203,7 @@
 const socketUrl = `ws://${WebSocketHost}:${host}/api/unLoadGlass/api/talk/unloadglass`;
 // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
 const handleMessage = (data) => {
-
+ 
   // 鏇存柊 tableData 鐨勬暟鎹�
   if (data.downGlassInfos != null) {
     downGlass.value = data.downGlassInfos[0];
@@ -223,8 +224,8 @@
         takeGlass.value.width = height;
         takeGlass.value.height = width;
       }
-
-
+ 
+ 
   }
   if (data.scanGlass != null) {
     scanGlass.value = data.scanGlass[0];
@@ -234,8 +235,11 @@
       scanGlass.value.width = height;
       scanGlass.value.height = width;
     }
+    if(autoPrint.value == true && browser.value == true){
+      open1(scanGlass);
+    }
   }
-
+ 
   //鑷姩鎵撳嵃
   if (fullFlowCard.value == "" && autoPrint.value == true && browser.value == true) {
     for (let i = 0; i < tableData.length; i++) {
@@ -254,7 +258,7 @@
   if (data.params != null) {
     tableData.splice(0, tableData.length, ...data.params[0]);
   }
-
+ 
   //  console.log("鏇存柊鍚庢暟鎹�", data.params[0]);
 };
 // 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
@@ -273,30 +277,30 @@
   console.log("鍏抽棴浜�")
   closeWebSocket();
 });
-
-
+ 
+ 
 const getTagType = (status) => {
   return status === 1 ? 'success' : 'danger';
   // 鏍规嵁鐘舵�佸�煎喅瀹氭爣绛剧被鍨嬶紝杩欓噷鍋囪鐘舵�佷负1鏃朵负鎴愬姛锛堢豢鑹诧級锛屽惁鍒欎负澶辫触锛堢孩鑹诧級
 }
-
+ 
 const toggleStatus = (row) => {
   // 鍒囨崲鏂欐灦鐘舵�佺殑閫昏緫
   row.enableState = 1 - row.enableState; // Toggle between 0 and 1
   // 姝ゅ鍙互娣诲姞淇濆瓨鐘舵�佺殑閫昏緫锛屾瘮濡傝皟鐢� API 鏇存柊鏁版嵁
   updateRowStatus(row);
 };
-
+ 
 const updateRowStatus = async (row) => {
   try {
     // 鍋囪浣犵殑鍚庣 API 鎺ユ敹 PUT 璇锋眰锛屽苟涓旈渶瑕佷紶閫� row.id 鍜� row.enableState 鍙傛暟
-
-
+ 
+ 
     const response = await request.post('unLoadGlass/downWorkStation/updateDownWorkstation', {
       enableState: row.enableState,
       id: row.id
-
-
+ 
+ 
     });
     console.log('Updated row status:', response.data);
     // 鍙互鏍规嵁鍚庣杩斿洖鐨勬暟鎹繘琛岃繘涓�姝ュ鐞嗭紝姣斿鏇存柊鏈湴鐘舵�佺瓑
@@ -305,10 +309,10 @@
     // 澶勭悊閿欒鎯呭喌锛屾瘮濡傛彁绀虹敤鎴锋洿鏂板け璐�
   }
 };
-
+ 
 // 鏌ヨ鏁版嵁
 const selectDownGlassData = async () => {
-
+ 
   const response = await request.post("/unLoadGlass/downGlassInfo/setDownGlassInfoRequest", {
     workStationId: selectValuesa[0],
     engineerId: selectValuesa[1],
@@ -320,12 +324,12 @@
   } else {
     ElMessage.error(response.message);
   }
-
+ 
 }
-
-
+ 
+ 
 const open = async (row) => {
-
+ 
   printFlowCardId.value = row.flowCardId;
   printLayer.value = row.layer
   dialogTableVisible.value = true;
@@ -335,29 +339,30 @@
   }, 2000);
 }
 const open1 = async (row) => {
-
+ 
   printFlowCardId.value = row.flowCardId;
   printLayer.value = row.layer
+  printGlassId.value = row.glassId
   dialogTableVisible1.value = true;
   setTimeout(() => {
     printFlowCard1();
     //dialogTableVisible1.value = false;
   }, 1000);
 }
-
+ 
 const printFlowCard = () => {
   // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
   let el = document.getElementById("child");
   let doc = document;
   let body = doc.body || doc.getElementsByTagName("body")[0];
   let printId = "print-" + Date.now();
-
+ 
   // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
   let content = doc.createElement("div");
   content.id = printId;
-
+ 
   // alert(/Chrome/.test(userAgent) && !/Edge/.test(userAgent));
-
+ 
   // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
   let style = doc.createElement("style");
   console.log("style1:" + style.innerHTML)
@@ -375,11 +380,11 @@
     "{display:block;}#" +
     printId +
     "{display: block; padding: 0; margin: 0;  width: 100%;  position: absolute; top: 0; left: 0; height: 100vh;  box-sizing: border-box;}} ";
-
+ 
   content.innerHTML = el.outerHTML;
   // // console.log("el.outerHTML", el.outerHTML);
   body.appendChild(style);
-
+ 
   // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
   // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
   body.appendChild(content);
@@ -389,18 +394,18 @@
     body.removeChild(style);
   }, 20);
 }
-
+ 
 const printFlowCard1 = () => {
   // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
   let el = document.getElementById("printFlowCard");
   let doc = document;
   let body = doc.body || doc.getElementsByTagName("body")[0];
   let printId = "print-" + Date.now();
-
+ 
   // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
   let content = doc.createElement("div");
   content.id = printId;
-
+ 
   // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
   let style = doc.createElement("style");
   style.innerHTML =
@@ -419,7 +424,7 @@
   content.innerHTML = el.outerHTML;
   // // console.log("el.outerHTML", el.outerHTML);
   body.appendChild(style);
-
+ 
   // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
   // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
   body.appendChild(content);
@@ -429,10 +434,10 @@
     body.removeChild(style);
   }, 20);
 }
-
-
-
-
+ 
+ 
+ 
+ 
 // beforeUnmount(() => {
 //   closeWebSocket();
 // });
@@ -441,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;">
@@ -460,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">
@@ -478,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>
@@ -497,45 +502,46 @@
             <el-option label="6" value="6"></el-option>
             <el-option label="7" value="7"></el-option>
           </el-select>
-
+ 
           <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('basicData.plselectproject')" clearable
             @input="handleInputChangea($event, row.id)">
             <el-option v-for="item in selectOptionsa" :key="item" :label="item" :value="item" />
           </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()">{{
             $t('reportmanage.inquire')
           }}
           </el-button>
           <el-table height="200px" ref="table" @selection-change="handleSelectionChange" :data="downGlass"
             :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
-            <el-table-column prop="workStationId" align="center" :label="$t('宸ヤ綅鍙�')" min-width="80" />
-            <el-table-column prop="engineerId" align="center" :label="$t('宸ョ▼鍙�')" min-width="80" />
-            <el-table-column prop="flowCardId" align="center" :label="$t('娴佺▼鍗″彿')" min-width="80" />
-            <el-table-column prop="layer" align="center" :label="$t('灞�')" min-width="120" />
-            <el-table-column prop="sequence" align="center" :label="$t('椤哄簭')" min-width="150" />
-            <el-table-column prop="width" align="center" :label="$t('瀹�')" min-width="120" />
-            <el-table-column prop="height" align="center" :label="$t('楂�')" min-width="120" />
-            <el-table-column prop="Filmsid" align="center" :label="$t('鑶滅郴')" min-width="120" />
-            <el-table-column prop="thickness" align="center" label="鍘氬害" min-width="120" />
-            <el-table-column prop="glassId" align="center" :label="$t('鐜荤拑id')" min-width="120" />
+            <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;">
               <div
                 :style="{ width: takeGlass.width + 'px', height: takeGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (takeGlass.width > takeGlass.height ? takeGlass.width : takeGlass.height) + ')' }">
-
+ 
               </div>
               <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:170px;">
-                <div>浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅</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>
@@ -547,16 +553,17 @@
               style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">
               <div
                 :style="{ width: scanGlass.width + 'px', height: scanGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (scanGlass.width > scanGlass.height ? scanGlass.width : scanGlass.height) + ')' }">
-
+ 
               </div>
               <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
-                <div>鎵爜鏋綋鍓嶇幓鐠冧俊鎭�</div>
+                <div>{{ $t('reportWork.barcodescanner') }}</div>
+                <div><el-button type="primary" @click="open1(scanGlass)" >{{ $t('reportWork.printlabels') }}</el-button></div>
                 <div>{{ scanGlass.flowCardId }}</div>
                 <div>{{ scanGlass.layer }}</div>
                 <div>{{ scanGlass.glassId }}</div>
                 <div>{{ scanGlass.width }}</div>
                 <div>{{ scanGlass.height }}</div>
-
+ 
               </div>
             </el-card>
           </div>
@@ -577,9 +584,9 @@
         </div>
       </div>
     </el-card>
-
+ 
   </div>
-
+ 
   <el-dialog v-model="dialogFormVisiblea" top="21vh" width="40%" :title="$t('reportWork.bindingshelves')">
     <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
       <el-form size="mini" label-width="100px">
@@ -598,7 +605,7 @@
     </div>
     <template #footer>
       <div id="dialog-footer">
-
+ 
         <el-button type="primary" @click="handleConfirm">
           {{ $t('reportWork.sure') }}
         </el-button>
@@ -616,15 +623,15 @@
       </div>
     </template>
   </el-dialog>
-
+ 
   <el-dialog id="sizePrintCalrd" v-model="dialogTableVisible" destroy-on-close>
     <print-flow id="child" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
       style="width: 100%;height: 100%" />
   </el-dialog>
   <el-dialog id="sizePrintCalrd1" v-model="dialogTableVisible1" destroy-on-close>
-    <print-label id="printFlowCard" :printFlowCardId="printFlowCardId" :printLayer="printLayer" style="" />
+    <print-label id="printFlowCard" :printFlowCardId="printFlowCardId" :printLayer="printLayer" :printGlassId="printGlassId"  style="" />
   </el-dialog>
-
+ 
 </template>
 <style scoped>
 #dt {
@@ -633,19 +640,19 @@
   line-height: 20px;
   margin-left: 100px;
 }
-
+ 
 #dta {
   display: block;
   float: left;
   line-height: 20px;
   margin-left: 80%;
 }
-
+ 
 #dialog-footer {
   text-align: center;
   margin-top: -15px;
 }
-
+ 
 #message {
   text-align: center;
   align-items: center;
@@ -655,21 +662,21 @@
   background-color: #337ecc;
   margin-left: 28%;
 }
-
+ 
 .awatch {
   max-width: 100%;
 }
-
+ 
 #main-body {
   margin-top: -40px;
   margin-left: 150px;
 }
-
+ 
 #main-bodya {
   margin-top: -40px;
   margin-left: 100px;
 }
-
+ 
 :deep(#sizePrintCalrd .el-dialog__body) {
   height: 85%;
   width: 100%;

--
Gitblit v1.8.0