zhoushihao
2025-04-21 64f2f7629bab47b948ef5a0347f581a352f4a7ad
Merge remote-tracking branch 'origin/master'
16个文件已修改
2个文件已添加
1541 ■■■■■ 已修改文件
UI-Project/src/lang/en.js 530 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/py.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/zh.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/layout/MainErpView.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/router/index.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/ReportWork/reportWork.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/upreturns.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/upreturns2.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Slicecage/slicecage.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/User/userlist.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/User/userpageNo.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hellowquiphistory.vue 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hellowquiptwohistory.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hollowaluminum.vue 214 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hollowaluminumthree.vue 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hollowaluminumtwo.vue 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hollowequipment.vue 172 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/hollow/hollowequipmenttwo.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/lang/en.js
@@ -34,12 +34,12 @@
        quit: "Exit",
    },
    basicData: {
        untask: '无任务',
        tonumber: '上片总数量',
        finishnumber: '已完成数量',
        rackreset: '架子复位',
        prackreset: '是否架子复位?',
        printing: '自动打印',
        untask: 'No task',
        tonumber: 'Total number of films uploaded',
        finishnumber: 'Completed quantity',
        rackreset: 'Rack reset',
        prackreset: 'Is the rack reset?',
        printing: 'automatic printing',
        laserprinting: 'Laser printing machine ready status:',
        cuttingmachine: 'Cutting machine ready status:',
        machine: 'Online status of the loading table:',
@@ -92,25 +92,25 @@
        layoutSequence: 'Serial Number',
    },
    sorter: {
        onesort: '一线掰片',
        twosort: '二线掰片',
        inPlace: '到位',
        ninPlace: '未到位',
        emptymissions: '空任务',
        advancetask: '进片任务',
        outputtasks: '出片任务',
        schedulingtasks: '调度任务',
        advancerequests: '进片请求',
        releaserequest: '出片请求',
        straighttasks: '直通任务',
        endingtask: '结束',
        another: '其他',
        taskRunning: '任务请求',
        updateTime: '更新时间',
        id: '磨边前理片笼表ID',
        remainWidth: '剩余',
        place: '是否到位',
        layernow: '当前层号',
        onesort: 'Line breaking pieces',
        twosort: 'Second line breaking piece',
        inPlace: 'In place',
        ninPlace: 'Not in place',
        emptymissions: 'Empty task',
        advancetask: 'Film entry task',
        outputtasks: 'Production task',
        schedulingtasks: 'Scheduling tasks',
        advancerequests: 'Film entry request',
        releaserequest: 'Production request',
        straighttasks: 'Direct Task',
        endingtask: 'end',
        another: 'other',
        taskRunning: 'task request',
        updateTime: 'update time',
        id: 'Edge grinding pre conditioning cage table ID',
        remainWidth: 'remaining',
        place: 'Is it in place',
        layernow: 'Current floor number',
        gridnumber: 'Grid number',
        glassnumber: 'Glass number',
        width: 'Width',
@@ -128,56 +128,57 @@
        cancel: 'Cancel',
    },
    order: {
        projectnumber: '请输入工程号',
        projectnumber: 'Please enter the project number',
        dilapidation: 'Breakage',
        takeaway: 'Manual removal',
        takeawaya: '是否人工拿走该条信息?',
        takeawaya: 'Should the information be manually taken away?',
        takeon: 'The arrangement is complete',
    },
    searchOrder: {
        furnfullTemp: '玻璃总量',
        startCell: '目标层号',
        endCell: '预留层号',
        begin: '开始',
        finish: '完成',
        uncar: '未上车',
        inkage: '进片',
        successfullyprocessed: '任务成功处理',
        psuccessfullyprocessed: '是否进行任务成功处理?',
        taskfailure: '任务失败处理',
        ptaskfailure: '是否进行任务失败处理?',
        totallogarithms: '总对数',
        numberpairs: '配对数',
        numberoccupied: '占用格子数',
        totalfurnaces: '总炉数',
        cagesnumber: '笼内数量',
        slotnumber: '占有格子数',
        progress: '进度%',
        whethersame: '是否相同',
        same: '相同',
        notsame: '不相同',
        partask: '任务重置',
        partasks: '是否任务重置?',
        empty: '默认空任务',
        historicaltasks: '历史任务',
        cagedetails: '笼内详情',
        inkageEntity: '进片联机状态:',
        requestEntity: '进片请求状态:',
        mesReplyEntity: '启动命令:',
        outInkageEntity: '出片联机状态:',
        outRequestEntity: '出片请求状态:',
        breakagn: '未破损',
        lacknumber: '缺片数量',
        processcard: '指定流程卡',
        filminformation: '人工下片信息',
        currentglassinformation: '扫码枪当前玻璃信息',
        printlabels: '打印标签',
        deleteTask: '结束工程',
        pdeleteTask: '是否结束工程?',
        furnaces:'Number of full furnaces',
        furnfullTemp: 'Total amount of glass',
        startCell: 'Target layer number',
        endCell: 'Reserved layer number',
        begin: 'start',
        finish: 'complete',
        uncar: 'Not getting on the car yet',
        inkage: 'Enter the film',
        successfullyprocessed: 'Task successfully processed',
        psuccessfullyprocessed: 'Whether the task has been successfully processed?',
        taskfailure: 'Task failure handling',
        ptaskfailure: 'Should task failure be handled?',
        totallogarithms: 'Total logarithm',
        numberpairs: 'pairing number',
        numberoccupied: 'Number of occupied cells',
        totalfurnaces: 'Total number of furnaces',
        cagesnumber: 'Quantity inside the cage',
        slotnumber: 'Number of occupied cells',
        progress: 'progress%',
        whethersame: 'Are they the same',
        same: 'the same',
        notsame: 'different',
        partask: 'Task reset',
        partasks: 'Do you want to reset the task?',
        empty: 'Default empty task',
        historicaltasks: 'historical tasks',
        cagedetails: 'Cage Details',
        inkageEntity: 'Online status of film entry:',
        requestEntity: 'Entry request status:',
        mesReplyEntity: 'start command:',
        outInkageEntity: 'Online status of film release:',
        outRequestEntity: 'Production request status:',
        breakagn: 'unbroken',
        lacknumber: 'Number of missing pieces',
        processcard: 'Specify process card',
        filminformation: 'Manually downloading information',
        currentglassinformation: 'Scan the current glass information of the barcode scanner',
        printlabels: 'print label',
        deleteTask: 'End of project',
        pdeleteTask: 'Whether to end the project?',
        searchlayout: 'Non-tempered process card inquiry',
        fullfurnaces: 'Number of full furnaces',
        specifiedproject: 'The currently specified project',
        undesignate: '取消钢化',
        undesignate: 'Cancel tempered steel',
        allnumber: 'Total quantity',
        numbercages: 'Number of cages',
        missingquantity: 'Missing quantity',
@@ -284,12 +285,12 @@
        tit: 'data',
        temperingqueries: 'Tempering queries',
        specifytempering: 'Specify a furnace',
        specifyout: '指定人工出片',
        specifyout: 'Designate manual film production',
        specifyengineerid: 'Specify the project',
        projectnumber: 'Project number',
        layoutnumber: 'Drawing number of loading for tempering furnace',
        numberglasses: 'Number of glasses',
        specifytemperinga: '请确认设备是否已关闭MES联机?',
        specifytemperinga: 'Please confirm if the device has turned off MES online connection?',
        temperedswitch: 'Tempered switch',
        dutyinformation: 'Duty information',
        process: 'Process',
@@ -298,12 +299,12 @@
        makesure: 'Confirm the save',
        temperingtotal: 'Number of tempering furnaces:',
        glasstotal: 'Total number of glasses:',
        Labelprinting: '标签打印',
        Schedulingswitch: '调度开关',
        Labelprinting: 'label printing',
        Schedulingswitch: 'Dispatch switch',
    },
    workOrder: {
        upnumber: '上片位编号',
        coatingtypesbe: '原片膜系',
        upnumber: 'Upper position number',
        coatingtypesbe: 'Original film system',
        glassID: 'Glass ID',
        height: 'Height',
        width: 'Width',
@@ -399,9 +400,9 @@
        height: 'Height',
    },
    productStock: {
        configName: '配置名',
        configCode: '配置代码',
        configValue: '配置值',
        configName: 'configure name',
        configCode: 'Configuration Code',
        configValue: 'Configuration value',
        addusers: 'Add user',
        username: 'User name',
        usernamea: 'User name:',
@@ -552,7 +553,7 @@
        brokeno: 'The report is broken and not filled',
        close: 'Shut down',
        orderId: 'Order ID',
        order: '订单详情',
        order: 'Order details',
        customerName: 'The name of the customer',
        project: 'The name of the project',
        are: 'are',
@@ -650,19 +651,19 @@
        premark: 'Please enter a note',
    },
    film: {
        resetnumber: '架子号',
        fail: '失败',
        resetnumber: 'Shelf number',
        fail: 'fail',
        mes: 'Original film storage details',
        warehousing: 'store',
        pwarehousing: '入库请求',
        wareout: '原片出库',
        information: '是否出库该条信息?',
        pwareout: '出库请求',
        position: '吊装位:',
        cposition: '请选择吊装位',
        position1: '吊装位1',
        position2: '吊装位2',
        addglass: '原片信息',
        pwarehousing: 'Inventory request',
        wareout: 'Original film outbound',
        information: 'Whether to release this information from the warehouse?',
        pwareout: 'Outbound request',
        position: 'Lifting position:',
        cposition: 'Please select the lifting position',
        position1: 'Lifting position 1',
        position2: 'Lifting position 2',
        addglass: 'Original film information',
        operate: 'Operate',
        exit: 'Edit',
        delete: 'Delete',
@@ -674,7 +675,7 @@
        startslot: 'Start workstation',
        endslot: 'Target workstation',
        slotid: 'Grid ID',
        slot: '格子号',
        slot: 'Grid number',
        width: 'Width',
        widtha: 'Width:',
        inwidth: 'Please enter width',
@@ -695,7 +696,7 @@
        quantitya: 'Number:',
        enableid: 'Task ID',
        originateslot: 'Starting grid',
        endoriginateslot: '目标格子',
        endoriginateslot: 'Target grid',
        patternquantity: 'Number',
        enabletype: 'Task Type',
        enablestate: 'Workstation status',
@@ -738,182 +739,185 @@
        state: 'state',
        createtime: 'Creation time',
        all: 'Select All',
        removalmethod: '请选择除膜方式',
        removalmethodp: '除膜方式',
        removalmethoda: '除膜方式:',
        noremoval: '不除膜',
        removal: '除膜',
        coarselyground: '粗磨',
        finegrinding: '精磨',
        removalmethod: 'Please choose the membrane removal method',
        removalmethodp: 'Membrane removal method',
        removalmethoda: 'Membrane removal method:',
        noremoval: 'The film is not removed',
        removal: 'Membrane removal',
        coarselyground: 'Rough grinding',
        finegrinding: 'Fine grinding',
    },
    hellow: {
        totalPairQuantitya: '任务总配对数',
        pairQuantitya: '已出配对数',
        waitingout: '等待出片',
        finishout: '出片完成',
        hollowSequence: '中空顺序',
        isPair: '是否配对',
        no: '否',
        listFormula: '配方信息',
        HollowGlass: '队列信息',
        totalLayer: '总层数',
        totalPairQuantity: '总配对数量',
        pairQuantity: '已完成配对数量',
        isForceList: '是否强制',
        yesisForceList: '强制',
        noisForceList: '非强制',
        hollowCountOutOne: '中空一线玻璃数量',
        hollowCountOutTwo: '中空二线玻璃数量',
        hollowTotalAreaOutOne: '中空一线玻璃面积',
        hollowTotalAreaOutTwo: '中空二线玻璃面积',
        countIn: '钢化前大理片笼玻璃数量',
        countOut: '钢化玻璃数量',
        countOutOne: '切割一线玻璃数量',
        countOutTwo: '切割二线玻璃数量',
        totalAreaIn: '钢化前大理片笼玻璃面积',
        totalAreaOut: '钢化玻璃面积',
        totalAreaOutOne: '切割一线玻璃面积',
        totalAreaOutTwo: '切割二线玻璃面积',
        freeone: '一线空闲状态:',
        freetwo: '二线空闲状态:',
        freethree: '三线空闲状态:',
        casFour: '气体4',
        casFourb: '气体4:',
        casFoura: '请选择气体4',
        casOne: '气体1',
        casOneb: '气体1:',
        casOnea: '请选择气体1',
        casThree: '气体3',
        casThreeb: '气体3:',
        casThreea: '请选择气体3',
        casTwo: '气体2',
        casTwob: '气体2:',
        casTwoa: '请选择气体2',
        Y: '有',
        F: '无',
        frameFour: '间隔板4',
        frameFourb: '间隔板4:',
        frameFoura: '请输入间隔板4',
        frameOne: '间隔板1',
        frameOneb: '间隔板1:',
        frameOnea: '请输入间隔板1',
        frameThree: '间隔板3',
        frameThreeb: '间隔板3:',
        frameThreea: '请输入间隔板3',
        frameTwo: '间隔板2',
        frameTwob: '间隔板2:',
        frameTwoa: '请输入间隔板2',
        intervalFrameHeightOne: '间隔框高度1',
        intervalFrameHeightTwo: '间隔框高度2',
        intervalFrameHeightThree: '间隔框高度3',
        intervalFrameHeightFour: '间隔框高度4',
        intervalFrameHeightaOne: '请输入间隔框高度1',
        intervalFrameHeightaTwo: '请输入间隔框高度2',
        intervalFrameHeightaThree: '请输入间隔框高度3',
        intervalFrameHeightaFour: '请输入间隔框高度4',
        intervalFrameHeightbOne: '间隔框高度1:',
        intervalFrameHeightbTwo: '间隔框高度2:',
        intervalFrameHeightbThree: '间隔框高度3:',
        intervalFrameHeightbFour: '间隔框高度4:',
        intervalFrameTypeOne: '间隔框类型1',
        intervalFrameTypeTwo: '间隔框类型2',
        intervalFrameTypeThree: '间隔框类型3',
        intervalFrameTypeFour: '间隔框类型4',
        intervalFrameTypecOne: '请选择间隔框类型1',
        intervalFrameTypecTwo: '请选择间隔框类型2',
        intervalFrameTypecThree: '请选择间隔框类型3',
        intervalFrameTypecFour: '请选择间隔框类型4',
        intervalFrameTypedOne: '间隔框类型1:',
        intervalFrameTypedTwo: '间隔框类型2:',
        intervalFrameTypedThree: '间隔框类型3:',
        intervalFrameTypedFour: '间隔框类型4:',
        intervalFrameTypea: 'tps胶',
        intervalFrameTypeb: '铝间隔条',
        intervalFrameWidthOne: '间隔框宽度1',
        intervalFrameWidthTwo: '间隔框宽度2',
        intervalFrameWidthThree: '间隔框宽度3',
        intervalFrameWidthFour: '间隔框宽度4',
        intervalFrameWidthaOne: '请输入间隔框宽度1',
        intervalFrameWidthaTwo: '请输入间隔框宽度2',
        intervalFrameWidthaThree: '请输入间隔框宽度3',
        intervalFrameWidthaFour: '请输入间隔框宽度4',
        intervalFrameWidthbOne: '间隔框宽度1:',
        intervalFrameWidthbTwo: '间隔框宽度2:',
        intervalFrameWidthbThree: '间隔框宽度3:',
        intervalFrameWidthbFour: '间隔框宽度4:',
        sealInsert: '密封嵌入',
        sealInsertb: '密封嵌入:',
        sealInserta: '请输入密封嵌入',
        hollowformula: '中空配方',
        hollowformuldet: '是否删除该中空配方?',
        hollowtaskdet: '是否删除该任务?',
        taskdet: '删除任务',
        edithollowformula: '修改中空配方',
        phollowformula: '请选择中空配方',
        hollowformulp: '中空配方:',
        bottomRemove: '下侧除膜量:',
        bottomRemovep: '下侧除膜量',
        bottomRemovea: '请输入下侧除膜量',
        topRemove: '上侧除膜量:',
        topRemovep: '上侧除膜量',
        topRemovea: '请输入上侧除膜量',
        leftRemove: '左侧除膜量:',
        leftRemovep: '左侧除膜量',
        leftRemovea: '请输入左侧除膜量',
        rightRemove: '右侧除膜量:',
        rightRemovep: '右侧除膜量',
        rightRemovea: '请输入右侧除膜量',
        formulaNamep: '配方名',
        formulaName: '配方名:',
        formulaNamea: '请输入配方名',
        stopproject: '暂停任务',
        pstopproject: '是否暂停任务?',
        reviewproject: '预览工程',
        line: '线路',
        linea: '线路:',
        line1: '线路一',
        line2: '线路二',
        line3: '线路三',
        createtask: '创建任务',
        starttask: '开始任务',
        pstarttask: '是否开始任务?',
        stoptask: '停止任务',
        pstoptask: '是否停止任务?',
        currenttask: '当前任务:',
        claimednumber: '已领取配对数量:',
        linenumber: '进入中空线数量:',
        order: '出片顺序',
        flowCardId: '流程卡',
        thickness: '厚度',
        coatingtypes: '膜系',
        layer: '层数',
        height: '长',
        width: '宽',
        state: '状态',
        cardnumber: '流程卡号',
        cardnumbera: '流程卡号:',
        layernumber: '层号',
        totalnumber: '总片数',
        pairsnumber: '已配对数量',
        missingnumber: '缺片数量',
        damagenumber: '破损数量',
        operate: '操作',
        claimquest: '领取任务',
        pclaimquest: '是否领取任务?',
        missingfilms: '缺片详情',
        forcedfilming: '强制出片',
        pforcedfilming: '是否强制出片?',
        brokenpieces: '破损片数',
        realpieces: '实际片数',
        route: '路线:',
        croute: '请选择路线',
        ptotalpairQuantity: '总配对数量:',
        cpairQuantity: '请输入总配对数量',
        schedulingswitch: '调度开关',
        clickmakesure: 'Whether or not to confirm the click?',
        logarithm: 'logarithm:',
        totalPairQuantitya: 'Total number of task allocation pairs',
        pairQuantitya: 'Number of deployed pairs',
        waitingout: 'Waiting for the release of the film',
        finishout: 'Film release completed',
        hollowSequence: 'Hollow sequence',
        isPair: 'Whether to pair or not',
        no: 'deny',
        listFormula: 'Formula information',
        HollowGlass: 'Queue information',
        totalLayer: 'Total number of floors',
        totalPairQuantity: 'Total number of pairs',
        pairQuantity: 'Completed pairing quantity',
        isForceList: 'Is it mandatory',
        yesisForceList: 'force',
        noisForceList: 'optional',
        hollowCountOutOne: 'Quantity of insulated first-line glass',
        hollowCountOutTwo: 'Quantity of hollow second-line glass',
        hollowTotalAreaOutOne: 'Hollow first-line glass area',
        hollowTotalAreaOutTwo: 'Hollow second-line glass area',
        countIn: 'Quantity of large cage glass before tempering',
        countOut: 'Quantity of tempered glass',
        countOutOne: 'Quantity of glass cut along the cutting line',
        countOutTwo: 'Quantity of cutting second-line glass',
        totalAreaIn: 'Area of large cage glass before tempering',
        totalAreaOut: 'Tempered glass area',
        totalAreaOutOne: 'Cut the area of glass along the cutting line',
        totalAreaOutTwo: 'Cut the area of second-line glass',
        freeone: 'First line idle state:',
        freetwo: 'Second line idle state:',
        freethree: 'Third line idle state:',
        casFour: 'Gas 4',
        casFourb: 'Gas 4:',
        casFoura: 'Please select gas 4',
        casOne: 'Gas 1',
        casOneb: 'Gas 1:',
        casOnea: 'Please select gas 1',
        casThree: 'Gas 3',
        casThreeb: 'Gas 3:',
        casThreea: 'Please select gas 3',
        casTwo: 'Gas 2',
        casTwob: 'Gas 2:',
        casTwoa: 'Please select gas 2',
        Y: 'have',
        F: 'not have',
        frameFour: 'Spacer board 4',
        frameFourb: 'Spacer board 4:',
        frameFoura: 'Please enter the spacing board 4',
        frameOne: 'Spacer board 1',
        frameOneb: 'Spacer board 1:',
        frameOnea: 'Please enter the spacing board 1',
        frameThree: 'Spacer board 3',
        frameThreeb: 'Spacer board 3:',
        frameThreea: 'Please enter the spacing board 3',
        frameTwo: 'Spacer board 2',
        frameTwob: 'Spacer board 2:',
        frameTwoa: 'Please enter the spacing board 2',
        intervalFrameHeightOne: 'Interval frame height 1',
        intervalFrameHeightTwo: 'Interval frame height 2',
        intervalFrameHeightThree: 'Interval frame height 3',
        intervalFrameHeightFour: 'Interval frame height 4',
        intervalFrameHeightaOne: 'Please enter the interval box height 1',
        intervalFrameHeightaTwo: 'Please enter the interval box height 2',
        intervalFrameHeightaThree: 'Please enter the interval box height 3',
        intervalFrameHeightaFour: 'Please enter the interval box height 4',
        intervalFrameHeightbOne: 'Interval frame height 1:',
        intervalFrameHeightbTwo: 'Interval frame height 2:',
        intervalFrameHeightbThree: 'Interval frame height 3:',
        intervalFrameHeightbFour: 'Interval frame height 4:',
        intervalFrameTypeOne: 'Interval box type 1',
        intervalFrameTypeTwo: 'Interval box type 2',
        intervalFrameTypeThree: 'Interval box type 3',
        intervalFrameTypeFour: 'Interval box type 4',
        intervalFrameTypecOne: 'Please select interval box type 1',
        intervalFrameTypecTwo: 'Please select interval box type 2',
        intervalFrameTypecThree: 'Please select interval box type 3',
        intervalFrameTypecFour: 'Please select interval box type 4',
        intervalFrameTypedOne: 'Interval box type 1:',
        intervalFrameTypedTwo: 'Interval box type 2:',
        intervalFrameTypedThree: 'Interval box type 3:',
        intervalFrameTypedFour: 'Interval box type 4:',
        intervalFrameTypea: 'TPS adhesive',
        intervalFrameTypeb: 'Aluminum spacer strip',
        intervalFrameWidthOne: 'Interval frame width 1',
        intervalFrameWidthTwo: 'Interval frame width 2',
        intervalFrameWidthThree: 'Interval frame width 3',
        intervalFrameWidthFour: 'Interval frame width 4',
        intervalFrameWidthaOne: 'Please enter the width of the interval box as 1',
        intervalFrameWidthaTwo: 'Please enter the width of the interval box as 2',
        intervalFrameWidthaThree: 'Please enter the width of the interval box as 3',
        intervalFrameWidthaFour: 'Please enter the width of the interval box as 4',
        intervalFrameWidthbOne: 'Interval frame width 1:',
        intervalFrameWidthbTwo: 'Interval frame width 2:',
        intervalFrameWidthbThree: 'Interval frame width 3:',
        intervalFrameWidthbFour: 'Interval frame width 4:',
        sealInsert: 'Sealed embedding',
        sealInsertb: 'Sealed embedding:',
        sealInserta: 'Please enter sealed embedding',
        hollowformula: 'Hollow formula',
        hollowformuldet: 'Do you want to delete this hollow formula?',
        hollowtaskdet: 'Do you want to delete this task?',
        taskdet: 'Delete Task',
        edithollowformula: 'Modify the hollow formula',
        phollowformula: 'Please choose a hollow formula',
        hollowformulp: 'Hollow formula:',
        bottomRemove: 'Lower side film removal amount:',
        bottomRemovep: 'Lower side film removal amount',
        bottomRemovea: 'Please enter the amount of film removal on the lower side',
        topRemove: 'Upper side membrane removal amount:',
        topRemovep: 'Upper side membrane removal amount',
        topRemovea: 'Please enter the amount of film removal on the upper side',
        leftRemove: 'Left side membrane removal amount:',
        leftRemovep: 'Left side membrane removal amount',
        leftRemovea: 'Please enter the amount of membrane removal on the left side',
        rightRemove: 'Right side membrane removal amount:',
        rightRemovep: 'Right side membrane removal amount',
        rightRemovea: 'Please enter the amount of membrane removal on the right side',
        formulaNamep: 'Recipe Name',
        formulaName: 'Recipe Name:',
        formulaNamea: 'Please enter the formula name',
        stopproject: 'Pause Task',
        pstopproject: 'Do you want to pause the task?',
        reviewproject: 'Preview project',
        line: 'line',
        linea: 'line:',
        line1: 'Line 1',
        line2: 'Line 2',
        line3: 'Line 3',
        createtask: 'Create task',
        starttask: 'Start Task',
        pstarttask: 'Do you want to start the task?',
        stoptask: 'stop task',
        pstoptask: 'Do you want to stop the task?',
        currenttask: 'Current task:',
        claimednumber: 'Received pairing quantity:',
        linenumber: 'Number of lines entering the airspace:',
        order: 'Production order',
        flowCardId: 'Flow Card',
        thickness: 'thickness',
        coatingtypes: 'films',
        layer: 'Number of layers',
        height: 'long',
        width: 'width',
        state: 'state',
        cardnumber: 'Process card number',
        cardnumbera: 'Process card number:',
        layernumber: 'Layer number',
        totalnumber: 'Total number of films',
        pairsnumber: 'Matched quantity',
        missingnumber: 'Number of missing pieces',
        damagenumber: 'A quantity broken.',
        operate: 'operate',
        claimquest: 'Collecting tasks',
        pclaimquest: 'Do you want to receive the task?',
        missingfilms: 'Missing chip details',
        forcedfilming: 'Compulsory film release',
        pforcedfilming: 'Is it mandatory to release the film?',
        brokenpieces: 'Number of damaged pieces',
        realpieces: 'Actual number of films',
        route: 'route:',
        croute: 'Please choose a route',
        ptotalpairQuantity: 'Total number of pairs:',
        cpairQuantity: 'Please enter the total number of pairs',
        schedulingswitch: 'Dispatch switch',
    },
    screendisplay: {
        pwidth: '请输入宽度',
        pheight: '请输入高度',
        upnumber: '上片数量',
        pchoice: 'Please select',
        pwidth: 'Please enter the width',
        pheight: 'Please enter the height',
        upnumber: 'Number of films uploaded',
    }
}
UI-Project/src/lang/py.js
@@ -134,6 +134,7 @@
        takeaway: 'Взять вручную',
    },
    searchOrder: {
        furnaces:'满炉炉数',
        furnfullTemp:'玻璃总量',
        startCell:'目标层号',
        endCell:'预留层号',
@@ -708,6 +709,8 @@
        finegrinding: '精磨',
    },
    hellow: {
        clickmakesure: '是否确认点击?',
        logarithm: '对数:',
        totalPairQuantitya: '任务总配对数',
        pairQuantitya: '已出配对数',
        waitingout: '等待出片',
@@ -873,6 +876,7 @@
        schedulingswitch: '调度开关',
    },
    screendisplay:{
        pchoice: '请选择',
        pwidth: '请输入宽度',
        pheight: '请输入高度',
        upnumber: '上片数量',
UI-Project/src/lang/zh.js
@@ -134,6 +134,7 @@
          takeon:'摆片完成',
      },
      searchOrder:{
          furnaces:'满炉炉数',
          furnfullTemp:'玻璃总量',
          startCell:'目标层号',
          endCell:'预留层号',
@@ -751,6 +752,8 @@
          finegrinding: '精磨',
      },
    hellow: {
        clickmakesure: '是否确认点击?',
        logarithm: '对数:',
        totalPairQuantitya: '任务总配对数',
        pairQuantitya: '已出配对数',
        waitingout: '等待出片',
@@ -916,6 +919,7 @@
        schedulingswitch: '调度开关',
    },
    screendisplay:{
        pchoice: '请选择',
        pwidth: '请输入宽度',
        pheight: '请输入高度',
        upnumber: '上片数量',
UI-Project/src/layout/MainErpView.vue
@@ -79,16 +79,23 @@
      // 定义中英文对照关系对象
   const translation  = {  
    '上片机': 'Loading Machine',
    '上片': 'Start showing a movie',
    '上片一线': 'First line on film',
    '上片二线': 'Second line on film',
    '掰片/识别': 'Breaking /Identification',
    '掰片一线': 'Broken piece line',
    '掰片二线': 'Broken pieces with two lines',
    '卧式缓存': 'Horizontal cache',
    '卧式缓存一号线': 'Horizontal Cache 1',
    '卧式缓存二号线': 'Horizontal Cache 2',
    '磨边前卧式缓存': 'Horizontal buffer before edge grinding',
    '下片卧式缓存': 'Offline horizontal cache',
    '磨边(冷加工)': 'Grinding edge (cold processing)',
    '磨边(冷加工)': 'Grinding edge (cold processing)',
    '1线磨边(冷加工)': '1-line edge grinding (cold processing)',
    '2线磨边(冷加工)': '2-line edge grinding (cold processing)',
    '大理片笼': 'Dali slice cage',
    '钢化': 'Toughened',
    '钢化查询': 'Tempered steel inquiry',
    '钢化前': 'Before Tempering',
    '钢化后': 'After Tempering',
    '下片台': 'Next Stage',
@@ -96,10 +103,20 @@
    '用户管理': 'User Management',
    '权限管理': 'Rights Management',
    '角色管理': 'Roles',
    '系统配置': 'system configuration',
    '可视化系统': 'visualization system',
    '报工管理': 'Job reporting management',
    '仓储中心': 'Storage Center',
    '原片仓储': 'Original film storage',
    '中空': 'Hollow',
    '中空一线': 'Hollow Line',
    '中空二线': 'Hollow Second Line',
    '中空三线': 'Hollow three line',
    '中空理片笼': 'Hollow Film processing cage',
    '折铝框一线': '1 Fold aluminum frame',
    '折铝框二线': '2 Fold aluminum frame',
    '折铝框三线': '3 Fold aluminum frame',
    '大屏显示': 'Large Screen Display',
     };  
  menuData.forEach(menu => {  
    menu.menuName = translation[menu.menuName] || menu.menuName;  
UI-Project/src/router/index.js
@@ -300,6 +300,16 @@
              name: 'hollowaluminum',
              component: () => import('../views/hollow/hollowaluminum.vue')
            },
            {
              path: '/hollow/hollowaluminumtwo',
              name: 'hollowaluminumtwo',
              component: () => import('../views/hollow/hollowaluminumtwo.vue')
            },
            {
              path: '/hollow/hollowaluminumthree',
              name: 'hollowaluminumthree',
              component: () => import('../views/hollow/hollowaluminumthree.vue')
            },
          ]
        },
        /*----------- 管理系统 ----------------*/
UI-Project/src/views/ReportWork/reportWork.vue
@@ -35,9 +35,9 @@
        <el-table height="740" ref="table" :data="reportData"
          :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
          <el-table-column prop="teamsGroupsName" align="center" :label="$t('reportmanage.reporteam')"
            min-width="120" />
            min-width="135" />
          <el-table-column prop="deviceName" align="center" :label="$t('reportmanage.reportingequipment')"
            min-width="120" />
            min-width="156" />
          <el-table-column prop="line" align="center" :label="$t('reportmanage.line')" min-width="120" />
          <el-table-column prop="workingProcedure" align="center" :label="$t('reportmanage.process')" min-width="120" />
          <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="130" />
UI-Project/src/views/Returns/upreturns.vue
@@ -453,7 +453,7 @@
        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
          <el-table height="400" ref="table" :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }"
            :data="tableData">
            <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="100" align="center" />
            <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="120" align="center" />
            <el-table-column prop="width" :label="$t('Mounting.width')" width="200" align="center" />
            <el-table-column prop="height" :label="$t('Mounting.height')" align="center" />
            <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center" />
@@ -476,14 +476,14 @@
              style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
            <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="500"
              :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
              <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="50" />
              <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80" />
              <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80" />
              <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="65" />
              <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="75" />
              <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="75" />
              <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
              <el-table-column prop="remainQuantity" align="center" :label="$t('basicData.quantity')" min-width="80" />
              <el-table-column prop="patternThickness" align="center" :label="$t('basicData.thickness')"
                min-width="60" />
              <el-table-column fixed="right" :label="$t('film.operate')" align="center">
              <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="100">
                <template #default="scope">
                  <el-button :disabled="(!scope.row.patternThickness)" type="text" plain
                    @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
UI-Project/src/views/Returns/upreturns2.vue
@@ -453,7 +453,7 @@
            :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
            :data="tableData"
        >
          <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="100" align="center"/>
          <el-table-column prop="engineeringId" :label="$t('Mounting.project')" width="120" align="center"/>
          <el-table-column prop="width" :label="$t('Mounting.width')" width="200" align="center"/>
          <el-table-column prop="height" :label="$t('Mounting.height')" align="center"/>
          <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center"/>
@@ -482,15 +482,15 @@
        <div style="display: flex;">
          <img src="../../assets/shangpianji.png" alt=""
               style="max-width: 20%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
          <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="500"
            <el-table :data="tableDataa" border style="margin-top: 10%;margin-left: 8%;" width="500"
                    :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}" >
            <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="50"/>
            <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80"/>
            <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80"/>
            <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="65"/>
            <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="75"/>
            <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="75"/>
            <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80"/>
            <el-table-column prop="remainQuantity" align="center" :label="$t('basicData.quantity')" min-width="80"/>
            <el-table-column prop="patternThickness" align="center" :label="$t('basicData.thickness')" min-width="60"/>
            <el-table-column fixed="right" :label="$t('film.operate')" align="center">
            <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="100">
            <template #default="scope">
          <el-button :disabled="(!scope.row.patternThickness)" type="text" plain @click="handleptask(scope.row.workstationId)">{{ $t('basicData.rackreset') }}</el-button>
            </template>
UI-Project/src/views/Slicecage/slicecage.vue
@@ -1201,7 +1201,7 @@
       :data="tableDatass" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
         <el-table-column fixed prop="engineerId" align="center" :label="$t('Mounting.project')" min-width="100" />
         <el-table-column prop="countTemp" align="center" :label="$t('searchOrder.totalfurnaces')" min-width="68" />
         <el-table-column prop="fullTemp" align="center" :label="$t('searchOrder.furnfullTemp')" min-width="82" />
         <el-table-column prop="fullTemp" align="center" :label="$t('searchOrder.furnaces')" min-width="82" />
         <el-table-column prop="countGlass" align="center" :label="$t('searchOrder.cagesnumber')" min-width="82" />
         <el-table-column prop="area" align="center" :label="$t('large.are')" min-width="70" />
         <el-table-column prop="countSlot" align="center" :label="$t('searchOrder.slotnumber')" min-width="96" />
@@ -1392,7 +1392,7 @@
  <div style="margin-bottom: 20px">
      <el-form>
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="4">
          <el-col :span="2">
              <div id="dt" style="font-size: 15px;">
              <el-form-item :label="$t('searchOrder.temperingtotal')"  style="width: 14vw">
                {{ temperingtotal }}
@@ -1609,7 +1609,7 @@
</el-dialog>
</template>
<style>
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dt { display:block; float:left;line-height: 20px;margin-left: 150px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
#dialog-footer{
  text-align: center;
UI-Project/src/views/User/userlist.vue
@@ -210,7 +210,7 @@
  <el-dialog v-model="add" top="23vh" width="37%" :title="$t('productStock.addusers')">
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form  label-width="150px">
      <el-form label-width="100px" label-position="right">
      <el-form label-width="105px" label-position="right">
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
@@ -271,7 +271,7 @@
  <el-dialog v-model="adda" top="23vh" width="37%" :title="$t('productStock.reusername')" >
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form ref="formRef" label-width="150px">
      <el-form label-width="100px" label-position="right">
      <el-form label-width="105px" label-position="right">
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
UI-Project/src/views/User/userpageNo.vue
@@ -215,7 +215,7 @@
  <el-dialog v-model="adda" top="23vh" width="37%" :title="$t('productStock.reusername')" >
    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
            <el-form ref="formRef" label-width="150px">
      <el-form label-width="100px" label-position="right">
      <el-form label-width="120px" label-position="right">
        <el-row style="margin-top: -15px;margin-bottom: -2px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
@@ -259,7 +259,7 @@
  </el-dialog> 
</template>
<style scoped>
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dt { display:block; float:left;line-height: 20px;margin-left: 150px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
#dialog-footer{
  text-align: center;
UI-Project/src/views/hollow/hellowquiphistory.vue
@@ -95,18 +95,18 @@
  <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
    <el-form label-width="150px" label-position="right">
      <!-- 第一行:3个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.formulaName')" style="width: 100%;">
            <el-form-item :label="$t('hellow.formulaName')" style="width: 90%;">
              <el-input disabled v-model="formulaName" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 100%;">
              <el-select v-model="filmRemove" clearable style="width: 100%" disabled>
            <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 90%;">
              <el-select v-model="filmRemove" clearable style="width: 100%" disabled placeholder=" ">
                <el-option :label="$t('Mounting.removal')" value="1"></el-option>
                <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
              </el-select>
@@ -115,7 +115,7 @@
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.sealInsertb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.sealInsertb')" style="width: 90%;">
              <el-input disabled v-model="sealInsert" autocomplete="off" />
            </el-form-item>
          </div>
@@ -123,31 +123,31 @@
      </el-row>
      <!-- 第二行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.topRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.topRemove')" style="width: 90%;">
              <el-input disabled v-model="topRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.bottomRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.bottomRemove')" style="width: 90%;">
              <el-input disabled v-model="bottomRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.leftRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.leftRemove')" style="width: 90%;">
              <el-input disabled v-model="leftRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.rightRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.rightRemove')" style="width: 90%;">
              <el-input disabled v-model="rightRemove" autocomplete="off" />
            </el-form-item>
          </div>
@@ -155,11 +155,11 @@
      </el-row>
      <!-- 第三行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casOneb')" style="width: 100%;">
              <el-select v-model="casOne" clearable disabled style="width: 100%">
            <el-form-item :label="$t('hellow.casOneb')" style="width: 90%;">
              <el-select v-model="casOne" clearable disabled style="width: 100%" placeholder=" ">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -168,8 +168,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casTwob')" style="width: 100%;">
              <el-select v-model="casTwo" clearable disabled style="width: 100%">
            <el-form-item :label="$t('hellow.casTwob')" style="width: 90%;">
              <el-select v-model="casTwo" clearable disabled style="width: 100%" placeholder=" ">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -178,8 +178,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casThreeb')" style="width: 100%;">
              <el-select v-model="casThree" clearable disabled style="width: 100%">
            <el-form-item :label="$t('hellow.casThreeb')" style="width: 90%;">
              <el-select v-model="casThree" clearable disabled style="width: 100%" placeholder=" ">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -188,8 +188,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casFourb')" style="width: 100%;">
              <el-select v-model="casFour" clearable disabled style="width: 100%">
            <el-form-item :label="$t('hellow.casFourb')" style="width: 90%;">
              <el-select v-model="casFour" clearable disabled style="width: 100%" placeholder=" ">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -199,31 +199,31 @@
      </el-row>
      <!-- 第四行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameOneb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameOneb')" style="width: 90%;">
              <el-input disabled v-model="frameOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameTwob')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameTwob')" style="width: 90%;">
              <el-input disabled v-model="frameTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameThreeb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameThreeb')" style="width: 90%;">
              <el-input disabled v-model="frameThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameFourb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameFourb')" style="width: 90%;">
              <el-input disabled v-model="frameFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -231,31 +231,31 @@
      </el-row>
      <!-- 第五行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbOne')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbOne')" style="width: 90%;">
              <el-input disabled v-model="intervalFrameHeightOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 90%;">
              <el-input disabled v-model="intervalFrameHeightTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 90%;">
              <el-input disabled v-model="intervalFrameHeightThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 90%;">
              <el-input disabled v-model="intervalFrameHeightFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -263,31 +263,31 @@
      </el-row>
      <!-- 第六行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbOne')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbOne')" style="width: 90%;">
              <el-input disabled v-model="intervalFrameWidthOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 90%;">
              <el-input disabled v-model="intervalFrameWidthTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 90%;">
              <el-input disabled v-model="intervalFrameWidthThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 90%;">
              <el-input disabled v-model="intervalFrameWidthFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -295,11 +295,11 @@
      </el-row>
      <!-- 第七行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedOne')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeOne" clearable style="width: 100%" disabled>
            <el-form-item :label="$t('hellow.intervalFrameTypedOne')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeOne" clearable style="width: 100%" disabled placeholder=" ">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -308,8 +308,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeTwo" clearable style="width: 100%" disabled>
            <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeTwo" clearable style="width: 100%" disabled placeholder=" ">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -318,8 +318,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeThree" clearable style="width: 100%" disabled>
            <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeThree" clearable style="width: 100%" disabled placeholder=" ">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -328,8 +328,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeFour" clearable style="width: 100%" disabled>
            <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeFour" clearable style="width: 100%" disabled placeholder=" ">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
UI-Project/src/views/hollow/hellowquiptwohistory.vue
@@ -117,7 +117,7 @@
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
        <el-row style="margin-top: 20px;">
          <el-col :span="8">
              <div id="dt" style="font-size: 15px;">
        <div>
@@ -134,7 +134,7 @@
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
        <el-row style="margin-top: 20px;">
          <el-col :span="8">
              <div id="dt" style="font-size: 15px;">
        <div>
@@ -503,4 +503,6 @@
});
</script>
<style scoped>  
#dt { display:block; float:left;line-height: 20px;margin-left: 10px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 50%;}
</style>
UI-Project/src/views/hollow/hollowaluminum.vue
@@ -1,54 +1,192 @@
<script setup>
import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
import {host, WebSocketHost} from '@/utils/constants'
import request from "@/utils/request"
import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
import {ElMessage, ElMessageBox} from 'element-plus'
import {useI18n} from 'vue-i18n'
const router = useRouter()
const {t} = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
// let socket = null;
// const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/edgTasks`;
// const handleMessage = (data) => {
//   tableData.value = data.edgTasks[0]
// };
// onMounted(() => {
//   socket = initializeWebSocket(socketUrl, handleMessage);
// });
//   onUnmounted(() => {
//     if (socket) {
//       closeWebSocket(socket);
//     }
//   });
// onBeforeUnmount(() => {
//   closeWebSocket();
// });
import { onBeforeUnmount, onMounted, ref, nextTick } from "vue";
import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from 'element-plus'
import { host, WebSocketHost } from '@/utils/constants';
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { useI18n } from 'vue-i18n';
import request from '@/utils/request';
const router = useRouter();
const { t } = useI18n();
const language = ref(localStorage.getItem('lang') || 'zh');
const carouselData = ref([]);
const activeIndex = ref('');
const isDialogVisible = ref(false);
const selectedItem = ref(null);
const selectedLayer = ref(null);
const maxLayer = ref(0);
const carouselRef = ref(null); // 👈 ref 用于访问组件实例
const handlesure = async () => {
  try {
    const response = await request.post('/hollowGlass/hollowGlassQueueInfo/queryHollowGlassQueueInfoByLine', {
      cell: 930,
    });
    if (response.code === 200) {
      carouselData.value = response.data.map((item) => ({
        width: item.width,
        height: item.height,
        state: item.state,
        flowCardId: item.flowCardId,
        thickness: item.thickness,
        hollowSequence: item.hollowSequence,
        layer: item.layer,
        relationId: item.relationId
      }));
      // 查找 state === -2 的项
      const targetIndex = carouselData.value.findIndex((item) => item.state === -2);
      const finalIndex = targetIndex !== -1 ? targetIndex : 0;
      // 等待 DOM 渲染完成后切换页面
      await nextTick();
      activeIndex.value = finalIndex;
      carouselRef.value?.setActiveItem(finalIndex); // 强制更新 Element Plus 的轮播组件
    } else {
      console.error('接口返回错误:', response.message || '未知错误');
    }
  } catch (error) {
    console.error('请求失败:', error);
  }
};
const handleDilapidationClick = (item) => {
  if (item.layer > 0) {
    selectedItem.value = item;
    maxLayer.value = item.layer;
    selectedLayer.value = null; // 重置选择
    isDialogVisible.value = true;
  } else {
    ElMessage.warning('当前项没有层信息');
  }
};
const confirmDilapidation = async () => {
  if (!selectedLayer.value) {
    ElMessage.warning('请选择一个层数');
    return;
  }
  try {
    const response = await request.post('/hollowGlass/hollowGlassQueueInfo/confirmBorder', {
      hollowSequence: selectedItem.value.hollowSequence,
      relationId: selectedItem.value.relationId,
      layer: selectedLayer.value,
      state: 8,
    });
    ElMessage.success(`已选择层数:${selectedLayer.value}`);
    isDialogVisible.value = false;
    handlesure()
      } catch (error) {
    console.error('破损操作失败:', error);
    ElMessage.error('破损操作失败,请重试');
  }
};
// 确认
const handleButtonClick = async (item) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('hellow.clickmakesure'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post('/hollowGlass/hollowGlassQueueInfo/confirmBorder', {
      hollowSequence: item.hollowSequence,
      relationId: item.relationId,
      state: 1,
    })
      if (response.code === 200) {
        ElMessage.success(response.message);
        handlesure()
    } else {
        ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
onMounted(() => {
  handlesure()
});
onBeforeUnmount(() => {
  // if (socket) {
  //   closeWebSocket(socket);
  // }
});
const handleCarouselChange = (index) => {
  activeIndex.value = index;
};
const getColorByState = (state) => {
  switch (state) {
    case -2: return "gray";
    case -1: return "gray";
    case 0: return "gray";
    case 1: return "green";
    case 8: return "#911005";
    default: return "black";
  }
};
</script>
<template>
  <div style="height: 500px;">
    <div>
      <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" >
      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
        <div class="block text-center" m="t-4">
    <el-carousel height="550px">
      <!-- <el-carousel trigger="click" height="550px">//鼠标移入时页面不切换,鼠标移走时界面自动滚动 -->
      <el-carousel-item v-for="item in 3" :key="item">
        <h3 class="small justify-center" text="2xl">{{ item }}</h3>
      </el-carousel-item>
    </el-carousel>
  </div>
      <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;">
        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
          <div class="block text-center" m="t-4" >
                <el-carousel ref="carouselRef" :active-index="activeIndex" @change="handleCarouselChange" height="750px"
              :autoplay="false">
              <el-carousel-item v-for="(item, index) in carouselData" :key="index">
                <div class="carousel-item-content" :style="{
                  width: `${item.width*0.5}px`,
                  height: `${item.height*0.3}px`,
                  backgroundColor: getColorByState(item.state),
                }">
                  <div style="color: aquamarine;">
                    <p>{{ item.flowCardId }}</p>
                    <p>{{ $t('basicData.widtha') }}{{ item.width }}</p>
                    <p>{{ $t('basicData.heighta') }}{{ item.height }}</p>
                    <p>{{ $t('basicData.thicknessa') }}{{ item.thickness }}</p>
                    <p>{{ $t('hellow.logarithm') }}{{ item.hollowSequence }}</p>
                  </div>
                  <div>
                   <el-button type="text" @click="handleDilapidationClick(item)">{{ $t('order.dilapidation') }}</el-button>
                   <el-button type="text" :disabled="item.state === 1" @click="handleButtonClick(item)">{{ $t('basicData.yes') }}</el-button>
                </div>
              </div>
              </el-carousel-item>
            </el-carousel>
          </div>
        </div>
        <el-dialog v-model="isDialogVisible" width="20%" top="30vh" style="text-align: center;">
      <div>
        <el-select v-model="selectedLayer" clearable :placeholder="$t('hellow.layer')" style="width: 50%;">
          <el-option v-for="n in maxLayer" :key="n" :label="n" :value="n"></el-option>
        </el-select>
      </div>
      <div slot="footer" style="margin-top: 15px;">
        <el-button @click="isDialogVisible = false">{{ $t('basicData.cancel') }}</el-button>
        <el-button type="primary" :disabled="!selectedLayer"  @click="confirmDilapidation">{{ $t('basicData.confirm') }}</el-button>
      </div>
    </el-dialog>
      </el-card>
    </div>
  </div>
</template>
<style scoped>
.carousel-item-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
  margin: 10px auto;
  color: white;
  /* 确保文字颜色可见 */
  text-align: center;
}
.demonstration {
  color: var(--el-text-color-secondary);
}
.el-carousel__item h3 {
  color: #475669;
  opacity: 0.75;
@@ -56,11 +194,9 @@
  margin: 0;
  text-align: center;
}
.el-carousel__item:nth-child(2n) {
  background-color: #99a9bf;
}
.el-carousel__item:nth-child(2n + 1) {
  background-color: #d3dce6;
}
UI-Project/src/views/hollow/hollowaluminumthree.vue
New file
@@ -0,0 +1,203 @@
<script setup>
import { onBeforeUnmount, onMounted, ref, nextTick } from "vue";
import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from 'element-plus'
import { host, WebSocketHost } from '@/utils/constants';
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { useI18n } from 'vue-i18n';
import request from '@/utils/request';
const router = useRouter();
const { t } = useI18n();
const language = ref(localStorage.getItem('lang') || 'zh');
const carouselData = ref([]);
const activeIndex = ref('');
const isDialogVisible = ref(false);
const selectedItem = ref(null);
const selectedLayer = ref(null);
const maxLayer = ref(0);
const carouselRef = ref(null); // 👈 ref 用于访问组件实例
const handlesure = async () => {
  try {
    const response = await request.post('/hollowGlass/hollowGlassQueueInfo/queryHollowGlassQueueInfoByLine', {
      cell: 932,
    });
    if (response.code === 200) {
      carouselData.value = response.data.map((item) => ({
        width: item.width,
        height: item.height,
        state: item.state,
        flowCardId: item.flowCardId,
        thickness: item.thickness,
        hollowSequence: item.hollowSequence,
        layer: item.layer,
        relationId: item.relationId
      }));
      // 查找 state === -2 的项
      const targetIndex = carouselData.value.findIndex((item) => item.state === -2);
      const finalIndex = targetIndex !== -1 ? targetIndex : 0;
      // 等待 DOM 渲染完成后切换页面
      await nextTick();
      activeIndex.value = finalIndex;
      carouselRef.value?.setActiveItem(finalIndex); // 强制更新 Element Plus 的轮播组件
    } else {
      console.error('接口返回错误:', response.message || '未知错误');
    }
  } catch (error) {
    console.error('请求失败:', error);
  }
};
const handleDilapidationClick = (item) => {
  if (item.layer > 0) {
    selectedItem.value = item;
    maxLayer.value = item.layer;
    selectedLayer.value = null; // 重置选择
    isDialogVisible.value = true;
  } else {
    ElMessage.warning('当前项没有层信息');
  }
};
const confirmDilapidation = async () => {
  if (!selectedLayer.value) {
    ElMessage.warning('请选择一个层数');
    return;
  }
  try {
    const response = await request.post('/hollowGlass/hollowGlassQueueInfo/confirmBorder', {
      hollowSequence: selectedItem.value.hollowSequence,
      relationId: selectedItem.value.relationId,
      layer: selectedLayer.value,
      state: 8,
    });
    ElMessage.success(`已选择层数:${selectedLayer.value}`);
    isDialogVisible.value = false;
    handlesure()
      } catch (error) {
    console.error('破损操作失败:', error);
    ElMessage.error('破损操作失败,请重试');
  }
};
// 确认
const handleButtonClick = async (item) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('hellow.clickmakesure'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post('/hollowGlass/hollowGlassQueueInfo/confirmBorder', {
      hollowSequence: item.hollowSequence,
      relationId: item.relationId,
      state: 1,
    })
      if (response.code === 200) {
        ElMessage.success(response.message);
        handlesure()
    } else {
        ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
onMounted(() => {
  handlesure()
});
onBeforeUnmount(() => {
  // if (socket) {
  //   closeWebSocket(socket);
  // }
});
const handleCarouselChange = (index) => {
  activeIndex.value = index;
};
const getColorByState = (state) => {
  switch (state) {
    case -2: return "gray";
    case -1: return "gray";
    case 0: return "gray";
    case 1: return "green";
    case 8: return "#911005";
    default: return "black";
  }
};
</script>
<template>
  <div style="height: 500px;">
    <div>
      <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;">
        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
          <div class="block text-center" m="t-4" >
                <el-carousel ref="carouselRef" :active-index="activeIndex" @change="handleCarouselChange" height="750px"
              :autoplay="false">
              <el-carousel-item v-for="(item, index) in carouselData" :key="index">
                <div class="carousel-item-content" :style="{
                  width: `${item.width*0.5}px`,
                  height: `${item.height*0.3}px`,
                  backgroundColor: getColorByState(item.state),
                }">
                  <div style="color: aquamarine;">
                    <p>{{ item.flowCardId }}</p>
                    <p>{{ $t('basicData.widtha') }}{{ item.width }}</p>
                    <p>{{ $t('basicData.heighta') }}{{ item.height }}</p>
                    <p>{{ $t('basicData.thicknessa') }}{{ item.thickness }}</p>
                    <p>{{ $t('hellow.logarithm') }}{{ item.hollowSequence }}</p>
                  </div>
                  <div>
                   <el-button type="text" @click="handleDilapidationClick(item)">{{ $t('order.dilapidation') }}</el-button>
                   <el-button type="text" :disabled="item.state === 1" @click="handleButtonClick(item)">{{ $t('basicData.yes') }}</el-button>
                </div>
              </div>
              </el-carousel-item>
            </el-carousel>
          </div>
        </div>
        <el-dialog v-model="isDialogVisible" width="20%" top="30vh" style="text-align: center;">
      <div>
        <el-select v-model="selectedLayer" clearable :placeholder="$t('hellow.layer')" style="width: 50%;">
          <el-option v-for="n in maxLayer" :key="n" :label="n" :value="n"></el-option>
        </el-select>
      </div>
      <div slot="footer" style="margin-top: 15px;">
        <el-button @click="isDialogVisible = false">{{ $t('basicData.cancel') }}</el-button>
        <el-button type="primary" :disabled="!selectedLayer"  @click="confirmDilapidation">{{ $t('basicData.confirm') }}</el-button>
      </div>
    </el-dialog>
      </el-card>
    </div>
  </div>
</template>
<style scoped>
.carousel-item-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
  margin: 10px auto;
  color: white;
  /* 确保文字颜色可见 */
  text-align: center;
}
.demonstration {
  color: var(--el-text-color-secondary);
}
.el-carousel__item h3 {
  color: #475669;
  opacity: 0.75;
  line-height: 550px;
  margin: 0;
  text-align: center;
}
.el-carousel__item:nth-child(2n) {
  background-color: #99a9bf;
}
.el-carousel__item:nth-child(2n + 1) {
  background-color: #d3dce6;
}
</style>
UI-Project/src/views/hollow/hollowaluminumtwo.vue
New file
@@ -0,0 +1,203 @@
<script setup>
import { onBeforeUnmount, onMounted, ref, nextTick } from "vue";
import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from 'element-plus'
import { host, WebSocketHost } from '@/utils/constants';
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { useI18n } from 'vue-i18n';
import request from '@/utils/request';
const router = useRouter();
const { t } = useI18n();
const language = ref(localStorage.getItem('lang') || 'zh');
const carouselData = ref([]);
const activeIndex = ref('');
const isDialogVisible = ref(false);
const selectedItem = ref(null);
const selectedLayer = ref(null);
const maxLayer = ref(0);
const carouselRef = ref(null); // 👈 ref 用于访问组件实例
const handlesure = async () => {
  try {
    const response = await request.post('/hollowGlass/hollowGlassQueueInfo/queryHollowGlassQueueInfoByLine', {
      cell: 931,
    });
    if (response.code === 200) {
      carouselData.value = response.data.map((item) => ({
        width: item.width,
        height: item.height,
        state: item.state,
        flowCardId: item.flowCardId,
        thickness: item.thickness,
        hollowSequence: item.hollowSequence,
        layer: item.layer,
        relationId: item.relationId
      }));
      // 查找 state === -2 的项
      const targetIndex = carouselData.value.findIndex((item) => item.state === -2);
      const finalIndex = targetIndex !== -1 ? targetIndex : 0;
      // 等待 DOM 渲染完成后切换页面
      await nextTick();
      activeIndex.value = finalIndex;
      carouselRef.value?.setActiveItem(finalIndex); // 强制更新 Element Plus 的轮播组件
    } else {
      console.error('接口返回错误:', response.message || '未知错误');
    }
  } catch (error) {
    console.error('请求失败:', error);
  }
};
const handleDilapidationClick = (item) => {
  if (item.layer > 0) {
    selectedItem.value = item;
    maxLayer.value = item.layer;
    selectedLayer.value = null; // 重置选择
    isDialogVisible.value = true;
  } else {
    ElMessage.warning('当前项没有层信息');
  }
};
const confirmDilapidation = async () => {
  if (!selectedLayer.value) {
    ElMessage.warning('请选择一个层数');
    return;
  }
  try {
    const response = await request.post('/hollowGlass/hollowGlassQueueInfo/confirmBorder', {
      hollowSequence: selectedItem.value.hollowSequence,
      relationId: selectedItem.value.relationId,
      layer: selectedLayer.value,
      state: 8,
    });
    ElMessage.success(`已选择层数:${selectedLayer.value}`);
    isDialogVisible.value = false;
    handlesure()
      } catch (error) {
    console.error('破损操作失败:', error);
    ElMessage.error('破损操作失败,请重试');
  }
};
// 确认
const handleButtonClick = async (item) => {
  try {
    const confirmResult = await ElMessageBox.confirm(
      t('hellow.clickmakesure'),
      t('productStock.prompt'),
      {
        confirmButtonText: t('productStock.yes'),
        cancelButtonText: t('productStock.cancel'),
        type: 'warning',
      }
    );
    if (confirmResult === 'confirm') {
      const response = await request.post('/hollowGlass/hollowGlassQueueInfo/confirmBorder', {
      hollowSequence: item.hollowSequence,
      relationId: item.relationId,
      state: 1,
    })
      if (response.code === 200) {
        ElMessage.success(response.message);
        handlesure()
    } else {
        ElMessage.error(response.msg);
      }
    }
  } catch (error) {
    console.error('发生错误:', error);
  }
};
onMounted(() => {
  handlesure()
});
onBeforeUnmount(() => {
  // if (socket) {
  //   closeWebSocket(socket);
  // }
});
const handleCarouselChange = (index) => {
  activeIndex.value = index;
};
const getColorByState = (state) => {
  switch (state) {
    case -2: return "gray";
    case -1: return "gray";
    case 0: return "gray";
    case 1: return "green";
    case 8: return "#911005";
    default: return "black";
  }
};
</script>
<template>
  <div style="height: 500px;">
    <div>
      <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;">
        <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
          <div class="block text-center" m="t-4" >
                <el-carousel ref="carouselRef" :active-index="activeIndex" @change="handleCarouselChange" height="750px"
              :autoplay="false">
              <el-carousel-item v-for="(item, index) in carouselData" :key="index">
                <div class="carousel-item-content" :style="{
                  width: `${item.width*0.5}px`,
                  height: `${item.height*0.3}px`,
                  backgroundColor: getColorByState(item.state),
                }">
                  <div style="color: aquamarine;">
                    <p>{{ item.flowCardId }}</p>
                    <p>{{ $t('basicData.widtha') }}{{ item.width }}</p>
                    <p>{{ $t('basicData.heighta') }}{{ item.height }}</p>
                    <p>{{ $t('basicData.thicknessa') }}{{ item.thickness }}</p>
                    <p>{{ $t('hellow.logarithm') }}{{ item.hollowSequence }}</p>
                  </div>
                  <div>
                   <el-button type="text" @click="handleDilapidationClick(item)">{{ $t('order.dilapidation') }}</el-button>
                   <el-button type="text" :disabled="item.state === 1" @click="handleButtonClick(item)">{{ $t('basicData.yes') }}</el-button>
                </div>
              </div>
              </el-carousel-item>
            </el-carousel>
          </div>
        </div>
        <el-dialog v-model="isDialogVisible" width="20%" top="30vh" style="text-align: center;">
      <div>
        <el-select v-model="selectedLayer" clearable :placeholder="$t('hellow.layer')" style="width: 50%;">
          <el-option v-for="n in maxLayer" :key="n" :label="n" :value="n"></el-option>
        </el-select>
      </div>
      <div slot="footer" style="margin-top: 15px;">
        <el-button @click="isDialogVisible = false">{{ $t('basicData.cancel') }}</el-button>
        <el-button type="primary" :disabled="!selectedLayer"  @click="confirmDilapidation">{{ $t('basicData.confirm') }}</el-button>
      </div>
    </el-dialog>
      </el-card>
    </div>
  </div>
</template>
<style scoped>
.carousel-item-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
  margin: 10px auto;
  color: white;
  /* 确保文字颜色可见 */
  text-align: center;
}
.demonstration {
  color: var(--el-text-color-secondary);
}
.el-carousel__item h3 {
  color: #475669;
  opacity: 0.75;
  line-height: 550px;
  margin: 0;
  text-align: center;
}
.el-carousel__item:nth-child(2n) {
  background-color: #99a9bf;
}
.el-carousel__item:nth-child(2n + 1) {
  background-color: #d3dce6;
}
</style>
UI-Project/src/views/hollow/hollowequipment.vue
@@ -137,22 +137,22 @@
  </el-table>
</el-dialog>
<!-- 中空配方添加 -->
<el-dialog v-model="add" top="15vh" width="85%" :title="$t('hellow.hollowformula')" >
<el-dialog v-model="add" top="15vh" width="90%" :title="$t('hellow.hollowformula')" >
  <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
    <el-form label-width="150px" label-position="right">
      <!-- 第一行:3个元素 -->
      <el-row style="margin-top: 10px;">
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.formulaName')" style="width: 100%;">
            <el-form-item :label="$t('hellow.formulaName')" style="width: 90%;">
              <el-input v-model="formulaName" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 100%;">
              <el-select v-model="filmRemove" clearable style="width: 100%" >
            <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 90%;">
              <el-select v-model="filmRemove" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('Mounting.removal')" value="1"></el-option>
                <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
              </el-select>
@@ -161,7 +161,7 @@
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.sealInsertb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.sealInsertb')" style="width: 90%;">
              <el-input v-model="sealInsert" autocomplete="off" />
            </el-form-item>
          </div>
@@ -169,31 +169,31 @@
      </el-row>
      <!-- 第二行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.topRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.topRemove')" style="width: 90%;">
              <el-input v-model="topRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.bottomRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.bottomRemove')" style="width: 90%;">
              <el-input v-model="bottomRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.leftRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.leftRemove')" style="width: 90%;">
              <el-input v-model="leftRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.rightRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.rightRemove')" style="width: 90%;">
              <el-input v-model="rightRemove" autocomplete="off" />
            </el-form-item>
          </div>
@@ -201,11 +201,11 @@
      </el-row>
      <!-- 第三行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casOneb')" style="width: 100%;">
              <el-select v-model="casOne" clearable style="width: 100%">
            <el-form-item :label="$t('hellow.casOneb')" style="width: 90%;">
              <el-select v-model="casOne" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -214,8 +214,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casTwob')" style="width: 100%;">
              <el-select v-model="casTwo" clearable style="width: 100%">
            <el-form-item :label="$t('hellow.casTwob')" style="width: 90%;">
              <el-select v-model="casTwo" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -224,8 +224,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casThreeb')" style="width: 100%;">
              <el-select v-model="casThree" clearable style="width: 100%">
            <el-form-item :label="$t('hellow.casThreeb')" style="width: 90%;">
              <el-select v-model="casThree" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -234,8 +234,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casFourb')" style="width: 100%;">
              <el-select v-model="casFour" clearable style="width: 100%">
            <el-form-item :label="$t('hellow.casFourb')" style="width: 90%;">
              <el-select v-model="casFour" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -245,31 +245,31 @@
      </el-row>
      <!-- 第四行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameOneb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameOneb')" style="width: 90%;">
              <el-input v-model="frameOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameTwob')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameTwob')" style="width: 90%;">
              <el-input v-model="frameTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameThreeb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameThreeb')" style="width: 90%;">
              <el-input v-model="frameThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameFourb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameFourb')" style="width: 90%;">
              <el-input v-model="frameFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -277,31 +277,31 @@
      </el-row>
      <!-- 第五行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbOne')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbOne')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -309,31 +309,31 @@
      </el-row>
      <!-- 第六行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbOne')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbOne')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -341,11 +341,11 @@
      </el-row>
      <!-- 第七行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedOne')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeOne" clearable style="width: 100%" >
            <el-form-item :label="$t('hellow.intervalFrameTypedOne')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeOne" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -354,8 +354,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeTwo" clearable style="width: 100%" >
            <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeTwo" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -364,8 +364,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeThree" clearable style="width: 100%" >
            <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeThree" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -374,8 +374,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeFour" clearable style="width: 100%" >
            <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeFour" style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -399,18 +399,18 @@
  <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
    <el-form label-width="150px" label-position="right">
      <!-- 第一行:3个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.formulaName')" style="width: 100%;">
            <el-form-item :label="$t('hellow.formulaName')" style="width: 90%;">
              <el-input v-model="formulaName" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 100%;">
              <el-select v-model="filmRemove" clearable style="width: 100%" >
            <el-form-item :label="$t('Mounting.removalmethoda')" style="width: 90%;">
              <el-select v-model="filmRemove" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('Mounting.removal')" value="1"></el-option>
                <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
              </el-select>
@@ -419,7 +419,7 @@
        </el-col>
        <el-col :span="8">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.sealInsertb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.sealInsertb')" style="width: 90%;">
              <el-input v-model="sealInsert" autocomplete="off" />
            </el-form-item>
          </div>
@@ -427,31 +427,31 @@
      </el-row>
      <!-- 第二行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.topRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.topRemove')" style="width: 90%;">
              <el-input v-model="topRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.bottomRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.bottomRemove')" style="width: 90%;">
              <el-input v-model="bottomRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.leftRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.leftRemove')" style="width: 90%;">
              <el-input v-model="leftRemove" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.rightRemove')" style="width: 100%;">
            <el-form-item :label="$t('hellow.rightRemove')" style="width: 90%;">
              <el-input v-model="rightRemove" autocomplete="off" />
            </el-form-item>
          </div>
@@ -459,11 +459,11 @@
      </el-row>
      <!-- 第三行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casOneb')" style="width: 100%;">
              <el-select v-model="casOne" clearable style="width: 100%">
            <el-form-item :label="$t('hellow.casOneb')" style="width: 90%;">
              <el-select v-model="casOne" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -472,8 +472,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casTwob')" style="width: 100%;">
              <el-select v-model="casTwo" clearable style="width: 100%">
            <el-form-item :label="$t('hellow.casTwob')" style="width: 90%;">
              <el-select v-model="casTwo" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -482,8 +482,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casThreeb')" style="width: 100%;">
              <el-select v-model="casThree" clearable style="width: 100%">
            <el-form-item :label="$t('hellow.casThreeb')" style="width: 90%;">
              <el-select v-model="casThree" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -492,8 +492,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.casFourb')" style="width: 100%;">
              <el-select v-model="casFour" clearable style="width: 100%">
            <el-form-item :label="$t('hellow.casFourb')" style="width: 90%;">
              <el-select v-model="casFour" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.F')" value="0"></el-option>
                <el-option :label="$t('hellow.Y')" value="1"></el-option>
              </el-select>
@@ -503,31 +503,31 @@
      </el-row>
      <!-- 第四行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameOneb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameOneb')" style="width: 90%;">
              <el-input v-model="frameOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameTwob')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameTwob')" style="width: 90%;">
              <el-input v-model="frameTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameThreeb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameThreeb')" style="width: 90%;">
              <el-input v-model="frameThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.frameFourb')" style="width: 100%;">
            <el-form-item :label="$t('hellow.frameFourb')" style="width: 90%;">
              <el-input v-model="frameFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -535,31 +535,31 @@
      </el-row>
      <!-- 第五行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbOne')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbOne')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 90%;">
              <el-input v-model="intervalFrameHeightFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -567,31 +567,31 @@
      </el-row>
      <!-- 第六行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbOne')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbOne')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthOne" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthTwo" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthThree" autocomplete="off" />
            </el-form-item>
          </div>
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 100%;">
            <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 90%;">
              <el-input v-model="intervalFrameWidthFour" autocomplete="off" />
            </el-form-item>
          </div>
@@ -599,11 +599,11 @@
      </el-row>
      <!-- 第七行:4个元素 -->
      <el-row style="margin-top: 10px;">
      <el-row style="margin-top: 20px;">
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedOne')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeOne" clearable style="width: 100%" >
            <el-form-item :label="$t('hellow.intervalFrameTypedOne')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeOne" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -612,8 +612,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeTwo" clearable style="width: 100%" >
            <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeTwo" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -622,8 +622,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeThree" clearable style="width: 100%" >
            <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeThree" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
@@ -632,8 +632,8 @@
        </el-col>
        <el-col :span="6">
          <div style="font-size: 15px;">
            <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 100%;">
              <el-select v-model="intervalFrameTypeFour" clearable style="width: 100%" >
            <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 90%;">
              <el-select v-model="intervalFrameTypeFour" clearable style="width: 100%" :placeholder="$t('screendisplay.pchoice')">
                <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
                <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
              </el-select>
UI-Project/src/views/hollow/hollowequipmenttwo.vue
@@ -113,21 +113,21 @@
<!-- 中空配方添加 -->
<el-dialog v-model="add" top="23vh" width="55%" :title="$t('hellow.hollowformula')" >
    <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
     <el-form  label-width="150px">
      <el-form label-width="150px" label-position="right">
     <el-form  label-width="200px">
      <el-form label-width="200px" label-position="right">
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 16vw;">
              <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 20vw;">
                <el-input :placeholder="$t('hellow.formulaNamea')" v-model="formulaName" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 16vw;">
            <el-select v-model="filmRemove" clearable  style="width: 220px" :placeholder="$t('Mounting.removalmethod')">
          <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 20vw;">
            <el-select v-model="filmRemove" clearable  style="width: 270px" :placeholder="$t('Mounting.removalmethod')">
        <el-option :label="$t('Mounting.removal')" value="1"></el-option>
        <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
      </el-select>
@@ -136,35 +136,35 @@
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
        <el-row style="margin-top: 30px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 16vw;">
          <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 20vw;">
                <el-input :placeholder="$t('hellow.bottomRemovea')" v-model="bottomRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 16vw;">
          <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 20vw;">
                <el-input :placeholder="$t('hellow.topRemovea')" v-model="topRemove" autocomplete="off" />
           </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
        <el-row style="margin-top: 30px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 16vw;">
          <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 20vw;">
                <el-input :placeholder="$t('hellow.leftRemovea')" v-model="leftRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 16vw;">
          <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 20vw;">
            <el-input :placeholder="$t('hellow.rightRemovea')" v-model="rightRemove" autocomplete="off" />
              </el-form-item>
            </div></div>
@@ -185,21 +185,21 @@
<!-- 中空配方修改 -->
<el-dialog v-model="adda" top="23vh" width="55%" :title="$t('hellow.edithollowformula')" >
    <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
     <el-form  label-width="150px">
      <el-form label-width="150px" label-position="right">
     <el-form  label-width="200px">
      <el-form label-width="200px" label-position="right">
        <el-row style="margin-top: 10px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
              <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 16vw;">
              <el-form-item :label="$t('hellow.formulaName')" :required="true" style="width: 20vw;">
                <el-input :placeholder="$t('hellow.formulaNamea')" v-model="formulaName" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 16vw;">
            <el-select v-model="filmRemove" clearable  style="width: 220px" :placeholder="$t('Mounting.removalmethod')">
          <el-form-item :label="$t('Mounting.removalmethoda')" :required="true" style="width: 20vw;">
            <el-select v-model="filmRemove" clearable  style="width: 270px" :placeholder="$t('Mounting.removalmethod')">
        <el-option :label="$t('Mounting.removal')" value="1"></el-option>
        <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
      </el-select>
@@ -208,35 +208,35 @@
              </div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
        <el-row style="margin-top: 30px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 16vw;">
          <el-form-item :label="$t('hellow.bottomRemove')" :required="true" style="width: 20vw;">
                <el-input :placeholder="$t('hellow.bottomRemovea')" v-model="bottomRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 16vw;">
          <el-form-item :label="$t('hellow.topRemove')" :required="true" style="width: 20vw;">
                <el-input :placeholder="$t('hellow.topRemovea')" v-model="topRemove" autocomplete="off" />
           </el-form-item>
            </div></div>
          </el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
        <el-row style="margin-top: 30px;">
          <el-col :span="6">
              <div id="dt" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 16vw;">
          <el-form-item :label="$t('hellow.leftRemove')" :required="true" style="width: 20vw;">
                <el-input :placeholder="$t('hellow.leftRemovea')" v-model="leftRemove" autocomplete="off" />
              </el-form-item></div></div>
          </el-col>
          <el-col :span="9">
            <div id="dta" style="font-size: 15px;">
        <div>
          <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 16vw;">
          <el-form-item :label="$t('hellow.rightRemove')" :required="true" style="width: 20vw;">
            <el-input :placeholder="$t('hellow.rightRemovea')" v-model="rightRemove" autocomplete="off" />
              </el-form-item>
            </div></div>
@@ -1007,11 +1007,11 @@
});
</script>
<style scoped>
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
#dt { display:block; float:left;line-height: 20px;margin-left: 10px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 70%;}
#dialog-footer {
  text-align: center;
  margin-top: -15px;
  margin-top: -5px;
}
#dotClass {
  display: flex;