Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
# Conflicts:
# UI-Project/config.js
# UI-Project/src/router/index.js
| | |
| | | { |
| | | "Clear":"清除", |
| | | "ip":"192.168.10.21", |
| | | "username": "用户名", |
| | | "northglassMESsystem": "北玻MES系统", |
| | | "username": "账号", |
| | | "password": "密码", |
| | | "usernamePlaceholder": "请输入用户名", |
| | | "usernamePlaceholder": "请输入账号", |
| | | "passwordPlaceholder": "请输入密码", |
| | | "loginButton": "登录", |
| | | "registerButton": "注册", |
| | | "resetButton": "重置", |
| | | "usernameRequired": "请输入用户名", |
| | | "usernameLength": "用户名长度在5-15个字符之间", |
| | | "registerButton": "注册新用户", |
| | | "username": "姓名", |
| | | "usernameRequired": "请输入姓名", |
| | | "passwordRequired": "请输入密码", |
| | | "passwordLength": "密码长度在5-15个字符之间", |
| | | "passwordRequired": "确认密码", |
| | | "passwordRequired": "请确认密码", |
| | | "passwordRequired": "确认注册", |
| | | "langCancel": "取消", |
| | | "loginSuccess": "登录成功", |
| | | "langBtnCN": "中文", |
| | | "langBtnEN": "English", |
| | | "langHome": "首页", |
| | | "langUserManagement": "用户管理", |
| | | "langUserList": "用户列表", |
| | | "langUsernamePlaceholder": "请输入用户名", |
| | | "langEmailPlaceholder": "请输入邮箱", |
| | | "langSearch": "搜索", |
| | | "langAddUser": "添加用户", |
| | | "langUsername": "用户名", |
| | | "langEmail": "邮箱", |
| | | "langCreateTime": "创建时间", |
| | | "langDisabled": "是否禁用", |
| | | "langAction": "操作", |
| | | "langEdit": "修改", |
| | | "langDelete": "删除", |
| | | "langAddUserTitle": "添加用户", |
| | | "langPassword": "密码", |
| | | "langHome": "欢迎", |
| | | "langUserManagement": "使用北玻MES系统", |
| | | "langUserList": "退出", |
| | | "langUsernamePlaceholder": "打标机就绪状态", |
| | | "langEmailPlaceholder": "切割机就绪状态", |
| | | "langSearch": "手动确认", |
| | | "langAddUser": "选择工程", |
| | | "langUsername": "开始上片", |
| | | "langEmail": "暂停", |
| | | "langCreateTime": "停止任务", |
| | | "langDisabled": "工程号", |
| | | "langAction": "原片宽", |
| | | "langEdit": "原片长", |
| | | "langDelete": "膜系", |
| | | "langAddUserTitle": "数量", |
| | | "langPassword": "厚度", |
| | | "langState": "状态", |
| | | "langSelect": "请选择", |
| | | "langEditUserTitle": "修改用户", |
| | | "northglassMESsystem": "北玻MES系统", |
| | | "exit": "退出", |
| | | "changePassword": "修改密码", |
| | | "Old password":"旧密码", |
| | | "New password":"新密码", |
| | | "Confirm password":"提交密码", |
| | | "resetPassword": "重置密码", |
| | | "home": "主页", |
| | | "role": "角色", |
| | | "langRoleManagement": "角色管理", |
| | | "langRoleList": "角色列表", |
| | | "langEnterRoleName": "请输入角色名称", |
| | | "langAddRole": "添加角色", |
| | | "langName": "名称", |
| | | "langIsValid": "是否有效", |
| | | "langOperation": "操作", |
| | | "langPleaseSelect": "请选择", |
| | | "langValid": "有效", |
| | | "langInvalid": "无效", |
| | | "langConfirm": "确定", |
| | | "langCancel": "取消", |
| | | "langAddRoleSuccess": "添加角色成功", |
| | | "langEnterName": "请输入名称", |
| | | "langLengthBetween": "长度在", |
| | | "langAnd": "和", |
| | | "langCharacters": "个字符之间", |
| | | "langEnterState": "请输入状态", |
| | | "langUpdateState": "状态更新成功", |
| | | "langEditRole": "编辑角色", |
| | | "langEditRoleSuccess": "编辑角色成功", |
| | | "langDeleteRoleConfirm": "确定要删除该角色吗?", |
| | | "langPrompt": "提示", |
| | | "langDeleteRoleSuccess": "删除角色成功", |
| | | "langCancelDelete": "已取消删除", |
| | | "langRoleName": "角色名称", |
| | | "updateSuccessMessage": "更新成功", |
| | | "paginationTotal": "共 {total} 条", |
| | | "paginationSizes": "每页显示", |
| | | "paginationPrev": "上一页", |
| | | "paginationPager": "{currentPage}/{pageCount}", |
| | | "paginationNext": "下一页", |
| | | "paginationJumper": "跳至", |
| | | "breadcrumb": { |
| | | "home": "首页", |
| | | "permissionManagement": "权限管理", |
| | | "permissionList": "权限列表" |
| | | }, |
| | | "search": { |
| | | "placeholder": "请输入关键字" |
| | | }, |
| | | "button": { |
| | | "addPermission": "添加权限", |
| | | "cancel": "取消", |
| | | "confirm": "确认" |
| | | }, |
| | | "table": { |
| | | "role": "角色", |
| | | "permissionDescription": "权限描述", |
| | | "permissionValue": "权限值", |
| | | "createTime": "创建时间", |
| | | "isActive": "是否激活", |
| | | "operation": "操作" |
| | | }, |
| | | "tooltip": { |
| | | "edit": "修改", |
| | | "delete": "删除" |
| | | }, |
| | | "dialog": { |
| | | "addPermission": "添加权限", |
| | | "editPermission": "编辑权限" |
| | | }, |
| | | "form": { |
| | | "role": "角色", |
| | | "select": "请选择", |
| | | "permission": "权限", |
| | | "isActive": "是否激活" |
| | | }, |
| | | "操作": "操作", |
| | | "有效": "有效", |
| | | "无效": "无效", |
| | | "请输入名称": "请输入名称", |
| | | "长度在 2 到 15 个字符": "长度在 2 到 15 个字符", |
| | | "请输入状态": "请输入状态", |
| | | "添加角色": "添加角色", |
| | | "修改角色": "修改角色", |
| | | "删除角色": "删除角色", |
| | | "此操作将永久删除该角色, 是否继续?": "此操作将永久删除该角色, 是否继续?", |
| | | "提示": "提示", |
| | | "确定": "确定", |
| | | "取消": "取消", |
| | | "添加角色成功": "添加角色成功", |
| | | "更新状态成功": "更新状态成功", |
| | | "修改角色成功": "修改角色成功", |
| | | "删除角色成功": "删除角色成功", |
| | | "translation": { |
| | | "D01 VFD error": "D01 VFD 错误", |
| | | "D02 VFD error": "D02 VFD 错误", |
| | | "D03 VFD error": "D03 VFD 错误", |
| | | "D04 VFD error": "D04 VFD 错误", |
| | | "D05 VFD error": "D05 VFD 错误", |
| | | "D06 VFD error": "D06 VFD 错误", |
| | | "B01 VFD error": "B01 VFD 错误", |
| | | "B02 VFD error": "B02 VFD 错误", |
| | | "A01 VFD error": "A01 VFD 错误", |
| | | "A02 VFD error": "A02 VFD 错误", |
| | | "A01 servo turn error": "A01 servo turn 错误", |
| | | "A02 servo turn error": "A02 servo turn 错误", |
| | | "A01 servo travel error": "A01 servo travel 错误", |
| | | "A02 servo travel error": "A02 servo travel 错误", |
| | | "B01 servo travel error": "B01 servo travel 错误", |
| | | "B02 servo travel error": "B02 servo travel 错误", |
| | | "D01 DEC error": "D01 DEC 错误", |
| | | "D01 pos error": "D01 pos 错误", |
| | | "D02 DEC error": "D02 DEC 错误", |
| | | "D02 pos error": "D02 pos 错误", |
| | | "D03 DEC error": "D03 DEC 错误", |
| | | "D03 pos error": "D03 pos 错误", |
| | | "D04 DEC error": "D04 DEC 错误", |
| | | "D04 pos error": "D04 pos 错误", |
| | | "D05 DEC error": "D05 DEC 错误", |
| | | "D05 pos error": "D05 pos 错误", |
| | | "D06 DEC error": "D06 DEC 错误", |
| | | "D06 pos error": "D06 pos 错误", |
| | | "A01 DEC error": "A01 DEC 错误", |
| | | "A01 pos error": "A01 pos 错误", |
| | | "A02 DEC error": "A02 DEC 错误", |
| | | "A02 pos error": "A02 pos 错误", |
| | | "B01 IN DEC error": "B01 IN DEC 错误", |
| | | "B01 IN pos error": "B01 IN pos 错误", |
| | | "B01 OUT DEC error": "B01 OUT DEC 错误", |
| | | "B01 OUT pos error": "B01 OUT pos 错误", |
| | | "B02 IN DEC error": "B02 IN DEC 错误", |
| | | "B02 IN pos error": "B02 IN pos 错误", |
| | | "B02 OUT DEC error": "B02 OUT DEC 错误", |
| | | "B02 OUT pos error": "B02 OUT pos 错误" |
| | | }, |
| | | "Electrical": "用户管理", |
| | | "Parameter": "权限管理", |
| | | "Action": "上片机", |
| | | "Sign": "掰片/识别", |
| | | "State": "状态", |
| | | "Alarm": "报警信息", |
| | | "Distribute": "下发", |
| | | "Search": "搜索", |
| | | "dvstate": { |
| | | "automatic": "自动", |
| | | "manual": "手动" |
| | | }, |
| | | "langUsernameLabel": "用户名", |
| | | "langPasswordLabel": "密码", |
| | | "langPasswordPlaceholder": "请输入密码", |
| | | "langConfirmPasswordLabel": "确认密码", |
| | | "langConfirmPasswordPlaceholder": "请确认密码", |
| | | "langEmailLabel": "邮箱", |
| | | "langQQLabel": "QQ", |
| | | "langQQPlaceholder": "请输入QQ号码", |
| | | "langPhoneNumberLabel": "手机号码", |
| | | "langPhoneNumberPlaceholder": "请输入手机号码", |
| | | "langUsernameRequiredMessage": "请输入用户名", |
| | | "langUsernameLengthMessage": "用户名长度在5到15个字符之间", |
| | | "langPasswordRequiredMessage": "请输入密码", |
| | | "langPasswordLengthMessage": "密码长度在5到15个字符之间", |
| | | "langEmailRequiredMessage": "请输入邮箱", |
| | | "langEmailFormatMessage": "邮箱格式不正确", |
| | | "langRegisterButton": "注册", |
| | | "langResetButton": "重置", |
| | | "langCancelButton": "取消", |
| | | "langRegisterSuccessMessage": "注册成功", |
| | | "添加用户成功": "添加用户成功", |
| | | "confirmResetPassword": "确认重置密码为默认值吗?", |
| | | "confirm": "确定", |
| | | "cancel": "取消", |
| | | "passwordResetSuccess": "密码已重置为默认值", |
| | | "confirmDeleteCategory": "此操作将永久删除该分类, 是否继续?", |
| | | "prompt": "提示", |
| | | "userDeleteSuccess": "删除用户成功", |
| | | "deleteCanceled": "已取消删除", |
| | | "addUserSuccess": "添加用户成功", |
| | | "editUserSuccess": "修改用户成功", |
| | | "effective": "有效", |
| | | "invalid": "无效", |
| | | "addSuccessMessage": "添加成功", |
| | | "deleteConfirmMessage": "确定要删除该权限吗?", |
| | | "confirmButtonText": "确定", |
| | | "cancelButtonText": "取消", |
| | | "deleteSuccessMessage": "删除成功", |
| | | "deleteCancelledMessage": "已取消删除操作", |
| | | "Enter the glass barcode": "输入玻璃id", |
| | | "Infeed Barcodeid": "手动上片", |
| | | "Enter the order number": "输入订单号", |
| | | "Exit the glass by order number": "按订单出片", |
| | | "Please confirm the glass information": "请确认玻璃信息", |
| | | "Please confirm the Ordering Information": "请确认订单信息", |
| | | "Alarm Information": "报警信息", |
| | | "Cage Details": "理片笼详情", |
| | | "order": "订单", |
| | | "Length": "长", |
| | | "Width": "宽", |
| | | "Operate": "操作", |
| | | "Terminate Task":"结束任务", |
| | | "end task": "完成任务", |
| | | "Number": "数量", |
| | | "Outfeed glass barcode": "出片玻璃id", |
| | | "Infeed glass barcode": "进片玻璃id", |
| | | "Order No": "订单编号", |
| | | "List No": "列表编号", |
| | | "Box No": "箱子编号", |
| | | "Dim": "尺寸", |
| | | "id": "id", |
| | | "content": "内容", |
| | | "timeon": "报警时间", |
| | | "endTime": "结束时间", |
| | | "Cage No": "笼子", |
| | | "The Side": "内外侧", |
| | | "Slot No": "格子", |
| | | "Barcode": "玻璃id", |
| | | "Delete": "删除", |
| | | "Out": "出片", |
| | | "Operation successful": "操作成功", |
| | | "Operation canceled": "操作取消", |
| | | "There is no such order": "没有此订单的玻璃", |
| | | "There are currently tasks": "当前有任务", |
| | | "There is no such glass": "没有此玻璃", |
| | | "There is no such slot": "没有空闲格子", |
| | | "No delete allowed": "不能删除", |
| | | "No out allowed": "不能出片", |
| | | "Are you sure to perform this operation ?": "确定执行此操作?", |
| | | "prompt": "提示", |
| | | "Yes": "是", |
| | | "No": "否", |
| | | "today": "今天", |
| | | "yesterday": "昨天", |
| | | "week": "一周前", |
| | | "shijian": "日期", |
| | | "Pick a day": "选择日期", |
| | | "alarmid": "id", |
| | | "alacontent": "报警内容", |
| | | "time-on": "开始时间", |
| | | "End-Time": "结束时间", |
| | | "Please enter the password": "请输入密码", |
| | | "Password error": "密码错误", |
| | | "DataBase Connection failed": "数据库连接失败", |
| | | "Distribute parameters": "下发参数", |
| | | "The glass size is not within the range": "玻璃尺寸不在范围内", |
| | | "Add": "添加", |
| | | "Enable": "启用", |
| | | "Disable": "禁用", |
| | | "Usage": "使用率", |
| | | "Space (Pieces)": "空间(片数)", |
| | | "This glass is already in the cage": "笼子里已有此玻璃", |
| | | "Enter the Order No": "请输入订单id", |
| | | "OrderInfo": "订单信息", |
| | | "Query": "查询", |
| | | "permission update": "权限编辑", |
| | | "query was successful": "查询成功", |
| | | "Scan Code Point": "扫码位", |
| | | "Upper film position": "上片位", |
| | | "Glass Information": "玻璃信息", |
| | | "current Information": "当前信息", |
| | | "Modify Information": "修改信息", |
| | | "Clear Current": "清除当前", |
| | | "Confirm": "确认", |
| | | "The glass ID already exists in the loading queue": "上片队列已存在此玻璃id", |
| | | "This glass ID already exists in the sorting cage": "理片笼内已存在此玻璃id", |
| | | "Outing Queue":"出片队列", |
| | | "Enter the Aluminum Frame No":"请输入铝框id", |
| | | "Frame No":"铝框id", |
| | | "Glass information corresponding to aluminum frame":"铝框对应的玻璃信息", |
| | | "In the cage":"在笼内", |
| | | "Flipped":"翻转", |
| | | "In the queue":"在队列", |
| | | "Enter the Frame No":"请输入铝框id", |
| | | "Manually Infeed Glass":"手动进片", |
| | | "Normal":"正常", |
| | | "Entering":"正在进", |
| | | "Outing":"正在出", |
| | | "Suspend":"暂停", |
| | | "Stop":"停止", |
| | | "Start":"开始", |
| | | "Sequence":"顺序", |
| | | "Position":"位置", |
| | | "Top":"置顶", |
| | | "Up":"上移", |
| | | "Down":"下移", |
| | | "You do not have this permission":"You do not have this permission", |
| | | "Unable to find the placement method of the aluminum frame":"查询不到铝框摆放方式", |
| | | "Unable to find whether the aluminum frame is flipped or not":"查询不到铝框是否翻转", |
| | | "This glass is already in the Queue":"此玻璃已在出片队列中", |
| | | "Complete":"完成", |
| | | "Not Allow":"不允许", |
| | | "Allow":"允许", |
| | | "Completed":"已完成", |
| | | "Waiting":"等待中", |
| | | "Deleted":"已删除", |
| | | "Glass State":"玻璃状态", |
| | | "Absent":"不存在", |
| | | "Approximately resettable time":"可复位大概时间", |
| | | "EXTERIQR OUT AND BYPASS TO THE LEFT":"EXTERIQR OUT AND BYPASS TO THE LEFT", |
| | | "EXTERIQR OUT AND BYPASS TO THE RIGHT":"EXTERIQR OUT AND BYPASS TO THE RIGHT", |
| | | "Complete Task":"完成任务", |
| | | "Outed":"已出笼", |
| | | "Queue State":"队列状态", |
| | | "Sorting State":"排序状态", |
| | | "Confirm State":"确认状态", |
| | | "Next":"下一个", |
| | | "Current Frame":"当前铝框", |
| | | "Outside":"外侧", |
| | | "Inside":"内侧", |
| | | "Cancel":"取消", |
| | | "Are you sure to clear this barcode ?":"确定清除此玻璃id吗 ?", |
| | | "Terminate Feeding":"终止进片", |
| | | "Terminate Outing":"终止出片", |
| | | "SoftEmergencyStop":"软急停", |
| | | "Unable to clear glass ID in automatic mode":"无法在自动模式下清除玻璃ID", |
| | | "Are you sure you want an emergency stop ?":"确定要急停吗?", |
| | | "Current State":"当前状态", |
| | | "Automatic":"自动", |
| | | "Hand Movement":"手动", |
| | | "Please enter the correct glassID":"请输入正确的玻璃ID", |
| | | "Switch":"切换", |
| | | "This frame has glass that is currently outing":"此铝框有正在出片的玻璃", |
| | | "langparameter": { |
| | | "conveyor Velocity(Auto FAST)": "D01-D06 皮带输送自动快速", |
| | | "conveyor Velocity(Auto SLOW)": "D01-D06 皮带输送自动慢速", |
| | | "conveyor Velocity(Manual)": "D01-D06 皮带输送手动速度", |
| | | "A01 A02 TURN JOG Velocity": "A01 A02 翻转点动速度", |
| | | "A01 A02 TRAVEL JOG Velocity": "A01 A02 行走点动速度", |
| | | "B01 B02 TRAVEL JOG Velocity": "B01 B02 行走点动速度", |
| | | "A01 A02 TURN POS Velocity AUTO": "A01 A02 翻转自动定位速度", |
| | | "A01 A02 TURN POS Velocity manual": "A01 A02 翻转手动定位速度", |
| | | "A01 A02 TRAVEL POS Velocity AUTO": "A01 A02 行走自动定位速度", |
| | | "A01 A02 TRAVEL POS Velocity manual": "A01 A02 行走手动定位速度", |
| | | "B01 B02 TRAVEL POS Velocity AUTO": "B01 B02 行走自动定位速度", |
| | | "B01 B02 TRAVEL POS Velocity manual": "B01 B02 行走手动定位速度" |
| | | }, |
| | | "langActions": { |
| | | "D01 VFD conveyor": "D01 输送变频", |
| | | "D02 VFD conveyor": "D02 输送变频", |
| | | "D03 VFD conveyor": "D03 输送变频", |
| | | "D04 VFD conveyor": "D04 输送变频", |
| | | "D05 VFD conveyor": "D05 输送变频", |
| | | "D06 VFD conveyor": "D06 输送变频", |
| | | "A01 VFD conveyor": "A01 输送变频", |
| | | "A02 VFD conveyor": "A02 输送变频", |
| | | "B01 VFD conveyor": "B01 输送变频", |
| | | "B02 VFD conveyor": "B02 输送变频", |
| | | "A01 SERVE TURN JOG+": "A01 翻转伺服点动", |
| | | "A02 SERVE TURN JOG-": "A02 翻转伺服点动", |
| | | "A01 SERVE TRAVEL JOG+": "A01 行走伺服点动", |
| | | "A02 SERVE TRAVEL JOG-": "A02 行走伺服点动", |
| | | "B01 SERVE TRAVEL JOG+": "B01 行走伺服点动", |
| | | "B02 SERVE TRAVEL JOG-": "B02 行走伺服点动", |
| | | "A01 SERVE TURN POS": "A01 翻转伺服定位", |
| | | "A02 SERVE TURN POS": "A02 翻转伺服定位", |
| | | "A01 SERVE TRAVEL POS": "A01 行走伺服定位", |
| | | "A02 SERVE TRAVEL POS": "A02 行走伺服定位", |
| | | "B01 SERVE TRAVEL POS": "B01 行走伺服定位", |
| | | "B02 SERVE TRAVEL POS": "B02 行走伺服定位", |
| | | "B01 YV TURN": "B01 抬起电磁阀", |
| | | "B01 YV UP DOWN": "B01 上升下降电磁阀", |
| | | "B02 YV TURN": "B02 抬起电磁阀", |
| | | "B02 YV UP DOWN": "B02 上升下降电磁阀" |
| | | }, |
| | | "Signlang": { |
| | | "D01.SR dec": "D01.减速传感器", |
| | | "D01.SR in pos": "D01.到位传感器", |
| | | "D02.SR dec": "D02.减速传感器", |
| | | "D02.SR in pos": "D02.到位传感器", |
| | | "D03.SR into": "D03.进片传感器", |
| | | "D03.SR dec": "D03.减速传感器", |
| | | "D03.SR in pos": "D03.到位传感器", |
| | | "D04.SR dec": "D04.减速传感器", |
| | | "D04.SR in pos": "D04.到位传感器", |
| | | "D05.SR dec": "D05.减速传感器", |
| | | "D05.SR in pos": "D05.到位传感器", |
| | | "D06.SR dec": "D06.减速传感器", |
| | | "D06.SR in pos": "D06.到位传感器", |
| | | "B01.SR in dec": "B01.进片减速传感器", |
| | | "B01.SR in in pos": "B01.进片到位传感器", |
| | | "B01.SR out dec": "B01.出片减速传感器", |
| | | "B01.SR out in pos": "B01.出片到位传感器", |
| | | "B01.SR turn on": "B01.翻转上到位传感器", |
| | | "B01.SR turn off": "B01.翻转下到位传感器", |
| | | "B01.SR up": "B01.上升到位传感器", |
| | | "B01.SR down": "B01.下降到位传感器", |
| | | "B02.SR out dec": "B02.出片减速传感器", |
| | | "B02.SR out in pos": "B02.出片到位传感器", |
| | | "B02.SR in dec": "B02.进片减速传感器", |
| | | "B02.SR in in pos": "B02.进片到位传感器", |
| | | "B02.SR turn on": "B02.翻转上到位传感器", |
| | | "B02.SR turn off": "B02.翻转下到位传感器", |
| | | "B02.SR up": "B02.上升到位传感器", |
| | | "B02.SR down": "B02.下降到位传感器", |
| | | "B01.SR in safety": "B01.进片安全传感器", |
| | | "B01.SR out safety": "B01.出片安全传感器", |
| | | "B02.SR in safety": "B02.进片安全传感器", |
| | | "SB.start(+)": "SB.启动(+)按钮", |
| | | "SB.stop(1)": "SB.停止(-)按钮", |
| | | "SB.reset": "SB.复位按钮", |
| | | "SB.auto/manul": "SB.手/自切换按钮", |
| | | "D01.SB.confirm": "玻璃信息确认", |
| | | "SB.emg": "SB.急停按钮", |
| | | "D01.SB.start": "D01.启动", |
| | | "D06.SB.start": "D06.启动", |
| | | "B02.SR out safety ": "B02.出片安全传感器", |
| | | "SafetyDoor.requset": "安全门请求进入", |
| | | "SafetyDoor.confirm": "安全门确认", |
| | | "SafetyDoor.reset": "安全门复位", |
| | | "A01.SR left dec":"A01左键速", |
| | | "A01.SR left in pos":"A01左到位", |
| | | "A01.SR left safety":"A01左安全", |
| | | "A01.SR right dec":"A01右键速", |
| | | "A01.SR right in pos":"A01右到位", |
| | | "A01.SR right safety":"A01右安全", |
| | | "A01.SR turn home":"A01翻转原点", |
| | | "A01.SR turn up":"A01翻转上极限", |
| | | "A01.SR turn down":"A01翻转下极限", |
| | | "A01.SR travel home":"A01行走原点", |
| | | "A01.SR travel left dec":"A01行走左减速", |
| | | "A01.SR travel left limit":"A01行走左极限", |
| | | "A01.SR travel right dec":"A01行走右减速", |
| | | "A01.SR travel right limit":"A01行走右极限", |
| | | "A02.SR left dec":"A02左键速", |
| | | "A02.SR left in pos":"A02左到位", |
| | | "A02.SR left safety":"A02左安全", |
| | | "A02.SR right dec":"A02右键速", |
| | | "A02.SR right in pos":"A02右到位", |
| | | "A02.SR right safety":"A02右安全", |
| | | "A02.SR turn home":"A02翻转原点", |
| | | "A02.SR turn up":"A02翻转上极限", |
| | | "A02.SR turn down":"A02翻转下极限", |
| | | "A02.SR travel home":"A02行走原点", |
| | | "A02.SR travel left dec":"A02行走左减速", |
| | | "A02.SR travel left limit":"A02行走左极限", |
| | | "A02.SR travel right dec":"A02行走右减速", |
| | | "A02.SR travel right limit":"A02行走右极限", |
| | | "B01.SR origin":"B01.原点", |
| | | "B01.SR left limit":"B01.左极限", |
| | | "B01.SR right limit":"B01.右极限", |
| | | "B02.SR origin":"B02.原点", |
| | | "B02.SR left limit":"B02.左极限", |
| | | "B02.SR right limit":"B02.右极限", |
| | | "LED.red": "三色灯红", |
| | | "LED.green": "三色灯绿", |
| | | "LED.yellow": "三色灯黄", |
| | | "D01.LED.green": "D01.绿灯", |
| | | "D06.LED.green": "D06.绿灯", |
| | | "B01.YV.turn": "B01.电磁阀翻转", |
| | | "B01.YV.up down": "B01.电磁阀上升下降", |
| | | "B01.YV.gassing": "B01.电磁阀吹气", |
| | | "B02.YV.turn": "B02.电磁阀翻转", |
| | | "B02.YV.up down": "B02.电磁阀上升下降", |
| | | "B02.YV.gassing": "B02.电磁阀吹气", |
| | | "SafetyDoor.Led": "安全门状态灯", |
| | | "SafetyDoor.open": "安全门打开", |
| | | "D01 SB.confirm":"玻璃信息确认指示灯", |
| | | "A01 oilPump":"A01注油泵", |
| | | "A01 motorCtr":"A01电机控制", |
| | | "A02 oilPump":"A02注油泵", |
| | | "A02 motorCtr":"A02电机控制", |
| | | "space":"备用" |
| | | |
| | | }, |
| | | "Statelang": { |
| | | "D01.State": "D01.状态", |
| | | "D02.State": "D02.状态", |
| | | "B01.State": "B01.状态", |
| | | "B02.State": "B02.状态", |
| | | "A01.State": "A01.状态", |
| | | "A02.State": "A02.状态", |
| | | "D03.State": "D03.状态", |
| | | "D04.State": "D04.状态", |
| | | "D05.State": "D05.状态", |
| | | "D06.State": "D06.状态" |
| | | }, |
| | | "Automatic State":"自动状态", |
| | | "ManualJog":"开关控制", |
| | | "ManualonePosition":"手动定位", |
| | | "Servomanualone":"半自动", |
| | | "Address parameter settings":"地址参数设置", |
| | | "Speed parameter settings":"速度参数设置", |
| | | "InteractionState":"交互状态", |
| | | "Set":"设定" |
| | | "langSelect": "宽", |
| | | "langEditUserTitle": "长", |
| | | "exit": "操作", |
| | | "changePassword": "工程", |
| | | "Old password":"请选择工程", |
| | | "New password":"添加原片", |
| | | "langConfirm": "确认", |
| | | "langUsernameLabel": "添加", |
| | | "langPasswordLabel": "删除", |
| | | "langPasswordLabel": "是否删除该条信息?", |
| | | "langPasswordLabel": "是否开始上片?", |
| | | "langPasswordLabel": "是否暂停?", |
| | | "langPasswordLabel": "是否停止任务?", |
| | | "langPasswordLabel": "栅格号", |
| | | "langPasswordLabel": "玻璃编号", |
| | | "langPasswordLabel": "高", |
| | | "langPasswordLabel": "启用状态", |
| | | "langPasswordLabel": "启用", |
| | | "langPasswordLabel": "未启用", |
| | | "langPasswordLabel": "报缺", |
| | | "langPasswordLabel": "进炉中", |
| | | "langPasswordLabel": "进炉前", |
| | | "langPasswordLabel": "已出炉玻璃", |
| | | "langPasswordLabel": "版图编号", |
| | | "langPasswordLabel": "下片位", |
| | | "langPasswordLabel": "架号", |
| | | "langPasswordLabel": "流程卡号", |
| | | "langPasswordLabel": "总数量", |
| | | "langPasswordLabel": "已落架数量", |
| | | "langPasswordLabel": "状态", |
| | | "langPasswordLabel": "设备号", |
| | | "langPasswordLabel": "启用状态", |
| | | "langPasswordLabel": "绑定架子", |
| | | "langPasswordLabel": "清空", |
| | | |
| | | } |
| | |
| | | const open = async(row) => { |
| | | try { |
| | | const confirmResult = await ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '是否报缺该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | |
| | | if (confirmResult === 'confirm') { |
| | | // 用户点击了“是”,现在调用删除接口 |
| | | const deleteResponse = await request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass", { |
| | | id:0, |
| | | slot: row.slot |
| | | id: row.id, |
| | | esdId: row.esdId |
| | | }) |
| | | if (response.code == 200) { |
| | | // 删除成功,您可以根据需要处理成功的情况 |
| | |
| | | ] |
| | | |
| | | }) |
| | | |
| | | |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | <!-- <el-dialog v-model="adda" top="30vh" width="25%" title="是否删除该条信息?" > |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="handleConfirma"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="adda = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> --> |
| | | </div> |
| | | <div id="awatch"> |
| | | <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;"> |
| | |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | const adda = ref(false) |
| | | |
| | | import request from "@/utils/request" |
| | | import { ref, onMounted } from "vue"; |
| | |
| | | // import LanguageMixin from './lang/LanguageMixin' |
| | | |
| | | const tableData = ref([]) |
| | | |
| | | // 发送获取表格数据的请求 |
| | | // const fetchTableData = async () => { |
| | | // try { |
| | | // // 发送获取表格数据的请求,并等待响应 |
| | | // // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData); |
| | | // const response = await request.get("unLoadGlass/downStorage/selectStorageCage"); |
| | | |
| | | // // 检查响应状态 |
| | | // if (response.code === 200) { |
| | | // // 更新表格数据 |
| | | // console.log('成功获取表格数据:', response.data); |
| | | // tableData.splice(0, tableData.length, ...response.data); |
| | | // } else { |
| | | // // 请求失败,显示错误消息 |
| | | // ElMessage.error(response.msg); |
| | | // } |
| | | // } catch (error) { |
| | | // // 处理请求失败的情况 |
| | | // ElMessage.error('获取表格数据失败,请重试'); |
| | | // } |
| | | // }; |
| | | // onMounted(fetchTableData); |
| | | const slot = ref('') |
| | | |
| | | |
| | | |
| | | request.get("unLoadGlass/downStorage/selectStorageCage").then((res) => { |
| | | request.get("/unLoadGlass/downStorage/selectStorageCage").then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | console.log(res.data); |
| | | tableData.value = res.data |
| | | console.log(res.data[0].slot); |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | |
| | | } |
| | | }); |
| | | |
| | | const dialogForm = () => { |
| | | ElMessageBox.confirm( |
| | | '是否报缺?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | // this.boxa = true |
| | | // this.box = false |
| | | // const getTableRow = (row,type) =>{ |
| | | // switch (type) { |
| | | // case 'delete':{ |
| | | // let flowData = ref({ |
| | | // id:0, |
| | | // slot:row.slot |
| | | // }) |
| | | // request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass",flowData.value).then((res) => { |
| | | // if(res.code==200){ |
| | | // ElMessage.success(t('searchOrder.msgDeleteSuccess')) |
| | | // router.push({path:'/main/delivery/selectDelivery',query:{random:Math.random()}}) |
| | | // }else{ |
| | | // ElMessage.warning(res.msg) |
| | | // router.push("/login") |
| | | // } |
| | | // }) |
| | | |
| | | }) |
| | | } |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | // return |
| | | // } |
| | | // } |
| | | // } |
| | | // let slots = ref({ |
| | | // id:0, |
| | | // slot: slot.value |
| | | // }) |
| | | const open = async(row) => { |
| | | try { |
| | | const confirmResult = await ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | ); |
| | | if (confirmResult === 'confirm') { |
| | | // 用户点击了“是”,现在调用删除接口 |
| | | const deleteResponse = await request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass", { |
| | | id:0, |
| | | slot: row.slot |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | if (response.code == 200) { |
| | | // 删除成功,您可以根据需要处理成功的情况 |
| | | alert('删除成功!'); |
| | | } else { |
| | | // 删除失败,您可以处理错误或显示错误信息给用户 |
| | | alert('删除失败:' + deleteResponse.message); |
| | | } |
| | | } |
| | | } catch (error) { |
| | | // 处理可能出现的错误,比如 ElMessageBox 抛出的异常等 |
| | | console.error('发生错误:', error); |
| | | } |
| | | }; |
| | | // const open = () => { |
| | | // ElMessageBox.confirm( |
| | | // '是否删除该条信息?', |
| | | // '提示', |
| | | // { |
| | | // confirmButtonText: '是', |
| | | // cancelButtonText: '取消', |
| | | // type: 'warning', |
| | | // } |
| | | // ) |
| | | // .then(() => { |
| | | // ElMessage({ |
| | | // type: 'success', |
| | | // message: '删除成功!', |
| | | // }) |
| | | // }) |
| | | // .catch(() => { |
| | | // ElMessage({ |
| | | // type: 'info', |
| | | // message: '删除失败', |
| | | // }) |
| | | // }) |
| | | // } |
| | | // 删除 |
| | | // const handleBindRacka = (row) => { |
| | | // adda.value = true; // 打开绑定架子对话框 |
| | | // }; |
| | | // // 删除 |
| | | // const handleConfirma = async () => { |
| | | // try { |
| | | // window.localStorage.setItem('slot', res.data.slot) |
| | | // let slot = window.localStorage.getItem('slot') |
| | | // const response = await request.post('/cacheGlass/edgStorageCage/edgStorageCageGlass', { |
| | | // slot: slot.value, |
| | | // id: 0 |
| | | // }); |
| | | |
| | | // if (response.code == 200) { |
| | | // // 绑定成功,处理逻辑 |
| | | // ElMessage.success(response.message); |
| | | // adda.value = false; |
| | | // } else { |
| | | // // 请求失败,显示错误消息 |
| | | // ElMessage.error(response.msg); |
| | | // } |
| | | // } catch (error) { |
| | | // // 处理错误 |
| | | // console.error(error); |
| | | // } |
| | | // }; |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | |
| | | <el-table height="240" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="玻璃ID" min-width="80" /> |
| | | <el-table-column prop="sequence" align="center" label="位置" min-width="120" /> |
| | | <el-table-column prop="slot" align="center" label="栅格号" min-width="80" /> |
| | | <el-table-column prop="glass_id" align="center" label="玻璃编号" min-width="80" /> |
| | | <el-table-column prop="width" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="height" align="center" label="长" min-width="120" /> |
| | | <el-table-column prop="height" align="center" label="高" min-width="120" /> |
| | | <el-table-column |
| | | align="center" |
| | | label="启用状态" |
| | | min-width="80" |
| | | prop="enable_state" |
| | | > |
| | | <template #default="scope"> |
| | | <el-tag type="success" >{{ scope.row.enable_state==1?"启用":"未启用" }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default> |
| | | <el-button size="mini" type="text" plain @click="dialogForm">报缺</el-button> |
| | | <template #default="scope"> |
| | | <!-- <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">报缺</el-button> --> |
| | | <el-button size="mini" type="text" plain @click="open(scope.row)">报缺</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | |
| | | <!-- <el-dialog v-model="adda" top="30vh" width="25%" title="是否删除该条信息?" > |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="handleConfirma"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="adda = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> --> |
| | | </div> |
| | | <div id="awatch"> |
| | | <img src="../../assets/woshihuancun.png" alt="" style="width: 60%;height: 90%;margin-left: 260px;margin-top: 20px;"> |
| | |
| | | <template> |
| | | <!-- <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> --> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading"> |
| | | <el-scrollbar height="700px"> |
| | | <div id="app" style="margin-top: 20px;"> |
| | | <div |
| | | :style="{ width: `${olWidth}px`, height: `${olHeight}px`,position: 'relative' }" |
| | |
| | | v-for="(rect, index) in adjustedRects" |
| | | :key="index" |
| | | class="rect" |
| | | @click="handleBind" |
| | | :style="{ position: 'absolute', top: `${rect.y_axis}px`, left: `${rect.x_axis}px`, width: `${rect.width}px`, height: `${rect.height}px` }" |
| | | > |
| | | <!-- 箭头 --> |
| | | <div id="arrow"></div> |
| | | <div id="line"></div> |
| | | <!-- <div id="arrow"></div> |
| | | <div id="line"></div> --> |
| | | <!-- <div class="centered-text" >NG24030401B01</div> --> |
| | | <div class="centered-text"> |
| | | <div>{{ rect.process_id }}</div> |
| | | <div style="margin-top: 50px;margin-left: -85px;">{{ rect.width }}*{{ rect.height }}</div> |
| | | </div> |
| | | </div> |
| | | <!-- 点击弹出 --> |
| | | <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;"> |
| | | <!-- <template #footer> --> |
| | | <!-- <div id="dialog-footer"> --> |
| | | <el-button type="warning" plain :icon="Delete" @click="handle" style="width: 120px;margin-left: 10px;"> |
| | | 破损 |
| | | </el-button> |
| | | <el-button type="danger" plain @click="blind = false" style="width: 120px;margin-top: 10px;"> |
| | | <el-icon class="el-icon--right"><Upload /></el-icon> |
| | | 人工拿走</el-button> |
| | | <!-- </div> --> |
| | | <!-- </template> --> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | </el-card> |
| | | </template> |
| | | |
| | | <script setup> |
| | | <script setup lang="ts"> |
| | | import { Delete, Upload } from '@element-plus/icons-vue' |
| | | import { ref, onMounted } from 'vue'; |
| | | import request from "@/utils/request" |
| | | const blind = ref(false) |
| | | const olWidth = ref(); |
| | | const olHeight = ref(); |
| | | const process_id = ref(); // 用于存储process_id的响应式引用 |
| | | // const rects = ref([]); // 用于存储矩形数据的响应式引用 |
| | | const adjustedRects = ref([]); |
| | | const handleBind = (row) => { |
| | | |
| | | blind.value = true; // 打开绑定架子对话框 |
| | | }; |
| | | onMounted(async () => { |
| | | try { |
| | | const response = await request.post('/cacheGlass/taskCache/currentCutTerritory'); // 替换为你的API端点 |
| | |
| | | width: 240px; /* 直线的长度,根据需要调整 */ |
| | | background-color: #911005; /* 直线的颜色 */ |
| | | } |
| | | |
| | | </style> |
| | |
| | | <script lang="ts" setup> |
| | | import {reactive, ref} from 'vue' |
| | | import {useRouter} from 'vue-router' |
| | | import {ElMessage, ElMessageBox} from 'element-plus' |
| | | |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | |
| | | import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { tr } from "element-plus/es/locale"; |
| | | const dialogFormVisible = ref(false) |
| | | const dialogFormVisiblea = ref(false) |
| | | const dialogFormVisibleb = ref(false) |
| | | |
| | | const carposition1 = ref(40) |
| | | const carposition2 = ref(200) |
| | | const timers1 = ref(true) |
| | | const timers2 = ref(true) |
| | | const cellshow = ref(false) |
| | | const cellshow1 = ref(true) |
| | | const cellshow2 = ref(true) |
| | | const million = ref(0) |
| | | const million1 = ref(0) |
| | | |
| | | const loading = null |
| | | const handleSelectionChange = null |
| | | const carposition1 = ref(60); |
| | | const carposition2 = ref(220); |
| | | const carposition3 = ref(60); |
| | | const carposition4 = ref(260); |
| | | const timers1 =ref(true); |
| | | const timers2 =ref(true); |
| | | const timers3 =ref(true); |
| | | const timers4 =ref(true); |
| | | const cellshow=ref(false); |
| | | const cellshow5=ref(false); |
| | | const c1=ref(false); |
| | | const c2=ref(false); |
| | | const cellshow1=ref(true); |
| | | const cellshow2=ref(true); |
| | | const cellshow3=ref(true); |
| | | const cellshow4=ref(true); |
| | | const million=ref(0); |
| | | const million1=ref(0); |
| | | const million3=ref(0); |
| | | const million4=ref(0); |
| | | |
| | | const currentPage4 = ref(4) |
| | | const pageSize4 = ref(100) |
| | |
| | | e: '1', |
| | | f: '100*100', |
| | | g: '', |
| | | }, |
| | | } |
| | | ] |
| | | const dialogForm = () => { |
| | | ElMessageBox.confirm('确定要急停吗?', '提示', { |
| | | ElMessageBox.confirm( |
| | | '确定要急停吗?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '否', |
| | | type: 'warning', |
| | | }) |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | |
| | | } |
| | | |
| | | var timer = setInterval(() => { |
| | | console.log(million.value, million1.value) |
| | | million.value += 1 |
| | | console.log(million.value,million1.value); |
| | | million.value+=1; |
| | | if (million.value - million1.value !== 12) { |
| | | |
| | | if (million.value - million1.value >= 2) { |
| | | if (carposition1.value == 200) { |
| | | timers1.value = false |
| | | } else if (carposition1.value == 40) { |
| | | timers1.value = true |
| | | if(carposition1.value==220){ |
| | | timers1.value=false; |
| | | }else if(carposition1.value==60){ |
| | | timers1.value=true; |
| | | } |
| | | if (timers1.value == true) { |
| | | carposition1.value = carposition1.value + 16 |
| | | carposition1.value=carposition1.value+16; |
| | | } else { |
| | | carposition1.value = carposition1.value - 16 |
| | | carposition1.value=carposition1.value-16; |
| | | } |
| | | |
| | | if (carposition2.value == 200) { |
| | | timers2.value = false |
| | | } else if (carposition2.value == 40) { |
| | | timers2.value = true |
| | | |
| | | if(carposition2.value==220){ |
| | | timers2.value=false; |
| | | }else if(carposition2.value==60){ |
| | | timers2.value=true; |
| | | } |
| | | if (timers2.value == true) { |
| | | carposition2.value += 16 |
| | | carposition2.value+=16; |
| | | } else { |
| | | carposition2.value -= 16 |
| | | carposition2.value-=16; |
| | | } |
| | | } else { |
| | | |
| | | } |
| | | } else { |
| | | million1.value = million.value |
| | | million1.value=million.value; |
| | | if (cellshow.value == true) { |
| | | cellshow.value = false |
| | | cellshow.value=false; |
| | | |
| | | } else { |
| | | cellshow.value = true |
| | | cellshow.value=true; |
| | | |
| | | } |
| | | if (cellshow1.value == true) { |
| | | cellshow1.value = false |
| | | cellshow1.value=false; |
| | | } else { |
| | | cellshow1.value = true |
| | | cellshow1.value=true; |
| | | } |
| | | if (cellshow2.value == true) { |
| | | cellshow2.value = false |
| | | cellshow2.value=false; |
| | | } else { |
| | | cellshow2.value = true |
| | | cellshow2.value=true; |
| | | } |
| | | } |
| | | }, 100000) |
| | | |
| | | }, 1000); |
| | | |
| | | var timer=setInterval(() => { |
| | | console.log(million3.value,million4.value); |
| | | million3.value+=1; |
| | | if(million3.value-million4.value!==12){ |
| | | |
| | | if(million3.value-million4.value>=2){ |
| | | if(carposition3.value==260){ |
| | | timers3.value=false; |
| | | }else if(carposition3.value==60){ |
| | | timers3.value=true; |
| | | } |
| | | if(timers3.value==true){ |
| | | carposition3.value=carposition3.value+20; |
| | | }else{ |
| | | carposition3.value=carposition3.value-20; |
| | | } |
| | | |
| | | |
| | | if(carposition4.value==260){ |
| | | timers4.value=false; |
| | | }else if(carposition4.value==60){ |
| | | timers4.value=true; |
| | | } |
| | | if(timers4.value==true){ |
| | | carposition4.value+=20; |
| | | }else{ |
| | | carposition4.value-=20; |
| | | } |
| | | }else{ |
| | | |
| | | } |
| | | }else{ |
| | | million4.value=million3.value; |
| | | if(cellshow5.value==true){ |
| | | cellshow5.value=false; |
| | | |
| | | }else{ |
| | | cellshow5.value=true; |
| | | |
| | | } |
| | | if(cellshow3.value==true){ |
| | | cellshow3.value=false; |
| | | }else{ |
| | | cellshow3.value=true; |
| | | } |
| | | if(cellshow4.value==true){ |
| | | cellshow4.value=false; |
| | | }else{ |
| | | cellshow4.value=true; |
| | | } |
| | | } |
| | | |
| | | }, 1000); |
| | | |
| | | const getTableRow = (row, type) => { |
| | | switch (type) { |
| | | case 'edit': { |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({ |
| | | path: '/main/returns/createReturns', |
| | | query: {ReturnID: 'TH24010101'}, |
| | | }) |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete': { |
| | |
| | | } |
| | | |
| | | const gridOptions = reactive({ |
| | | border: 'full', //表格加边框 |
| | | border: "full",//表格加边框 |
| | | keepSource: true, //保持源数据 |
| | | align: 'center', //文字居中 |
| | | stripe: true, //斑马纹 |
| | |
| | | showOverflow: true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { |
| | | //筛选配置项 |
| | | remote: true, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true, |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true, |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | id: '1', |
| | | long: '5', |
| | | wide: '1005', |
| | | thick: '183.6', |
| | | }, |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | }) |
| | | </script> |
| | |
| | | <template> |
| | | <div style="height: 700px;"> |
| | | <!-- <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisible = true">手动进片</el-button> --> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" |
| | | id="searchButton" |
| | | type="primary" |
| | | @click="dialogFormVisiblea = true">订单信息 |
| | | </el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" |
| | | id="searchButton" |
| | | type="success" |
| | | @click="dialogFormVisibleb = true">出片队列 |
| | | </el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" |
| | | id="searchButton" |
| | | type="danger">终止进片 |
| | | </el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" |
| | | id="searchButton" |
| | | type="danger">终止出片 |
| | | </el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" |
| | | id="searchButton" |
| | | type="danger" |
| | | @click="dialogForm">软急停 |
| | | </el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true">订单信息</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">出片队列</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">终止进片</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger">终止出片</el-button> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="danger" @click="dialogForm">软急停</el-button> |
| | | |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" |
| | | v-loading="loading"> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;"> |
| | | <el-table height="100%" |
| | | ref="table" |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" |
| | | :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" |
| | | align="center" |
| | | label="出片玻璃ID" |
| | | min-width="80"/> |
| | | <el-table-column prop="a" |
| | | align="center" |
| | | label="笼子" |
| | | min-width="120"/> |
| | | <el-table-column prop="b" |
| | | align="center" |
| | | label="格子" |
| | | min-width="120"/> |
| | | <el-table-column prop="c" |
| | | align="center" |
| | | label="工程号" |
| | | min-width="120"/> |
| | | <el-table-column prop="d" |
| | | align="center" |
| | | label="流程卡号" |
| | | min-width="120"/> |
| | | <el-table-column prop="e" |
| | | align="center" |
| | | label="钢化版图号" |
| | | min-width="157"/> |
| | | <el-table-column prop="f" |
| | | align="center" |
| | | label="尺寸" |
| | | min-width="120"/> |
| | | <el-table-column prop="g" |
| | | align="center" |
| | | label="结束任务" |
| | | min-width="120"> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" |
| | | id="searchButton" |
| | | type="text">完成任务 |
| | | </el-button> |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="出片玻璃ID" min-width="80" /> |
| | | <el-table-column prop="a" align="center" label="笼子" min-width="120" /> |
| | | <el-table-column prop="b" align="center" label="格子" min-width="120" /> |
| | | <el-table-column prop="c" align="center" label="工程号" min-width="120" /> |
| | | <el-table-column prop="d" align="center" label="流程卡号" min-width="120" /> |
| | | <el-table-column prop="e" align="center" label="钢化版图号" min-width="157" /> |
| | | <el-table-column prop="f" align="center" label="尺寸" min-width="120" /> |
| | | <el-table-column prop="g" align="center" label="结束任务" min-width="120"> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="text">完成任务</el-button> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 3px;" |
| | | v-loading="loading"> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 3px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 100px;"> |
| | | <el-table height="100%" |
| | | ref="table" |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableDatab" |
| | | :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" |
| | | align="center" |
| | | label="进片玻璃ID" |
| | | min-width="80"/> |
| | | <el-table-column prop="a" |
| | | align="center" |
| | | label="笼子" |
| | | min-width="120"/> |
| | | <el-table-column prop="b" |
| | | align="center" |
| | | label="格子" |
| | | min-width="120"/> |
| | | <el-table-column prop="c" |
| | | align="center" |
| | | label="工程号" |
| | | min-width="120"/> |
| | | <el-table-column prop="d" |
| | | align="center" |
| | | label="流程卡号" |
| | | min-width="120"/> |
| | | <el-table-column prop="e" |
| | | align="center" |
| | | label="钢化版图号" |
| | | min-width="157"/> |
| | | <el-table-column prop="f" |
| | | align="center" |
| | | label="尺寸" |
| | | min-width="120"/> |
| | | <el-table-column prop="g" |
| | | align="center" |
| | | label="结束任务" |
| | | min-width="120"> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" |
| | | id="searchButton" |
| | | type="text">完成任务 |
| | | </el-button> |
| | | :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="进片玻璃ID" min-width="80" /> |
| | | <el-table-column prop="a" align="center" label="笼子" min-width="120" /> |
| | | <el-table-column prop="b" align="center" label="格子" min-width="120" /> |
| | | <el-table-column prop="c" align="center" label="工程号" min-width="120" /> |
| | | <el-table-column prop="d" align="center" label="流程卡号" min-width="120" /> |
| | | <el-table-column prop="e" align="center" label="钢化版图号" min-width="157" /> |
| | | <el-table-column prop="f" align="center" label="尺寸" min-width="120" /> |
| | | <el-table-column prop="g" align="center" label="结束任务" min-width="120"> |
| | | <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="text">完成任务</el-button> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | |
| | | </div> --> |
| | | <!-- // 父级框 --> |
| | | <div class="img-dlpl"> |
| | | <div class="img-car1" |
| | | :style="'z-index:999;left:247px;top:' + carposition1 + 'px;position:absolute;'"> |
| | | <div v-show="cellshow1" |
| | | style="margin-top:10px;width:200px;height:5px;background-color:red;"></div> |
| | | <div class="img-car1" :style="'z-index:999;left:247px;top:' + carposition1 + 'px;position:absolute;'"> |
| | | <div v-show="cellshow1" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div> |
| | | </div> |
| | | <div v-show="c1" class="img-car2" :style="'z-index:999;left:704px;top:' + carposition2 + 'px;position:absolute;'"> |
| | | <div v-show="cellshow2" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div> |
| | | </div> |
| | | |
| | | <div class="img-car2" |
| | | :style="'z-index:999;left:704px;top:' + carposition2 + 'px;position:absolute;'"> |
| | | <div v-show="cellshow2" |
| | | style="margin-top:10px;width:200px;height:5px;background-color:red;"></div> |
| | | <div v-show="c2" class="img-car3" :style="'z-index:999;left:247px;top:' + carposition3 + 'px;position:absolute;'"> |
| | | <div v-show="cellshow3" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div> |
| | | </div> |
| | | <div v-show="cellshow" |
| | | style="width: 200px;height: 5px;position: absolute;top:60px;left: 490px;background-color: red;"> |
| | | |
| | | <div class="img-car4" :style="'z-index:999;left:704px;top:' + carposition4 + 'px;position:absolute;'"> |
| | | <div v-show="cellshow4" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div> |
| | | </div> |
| | | <div v-show="cellshow" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;"> |
| | | </div> |
| | | <div v-show="cellshow5" style="width: 200px;height: 5px;position: absolute;top:70px;left: 480px;background-color: #409EFF;"> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <el-dialog v-model="dialogFormVisible" |
| | | top="12vh" |
| | | width="85%" |
| | | title="请确认玻璃信息"> |
| | | <el-dialog v-model="dialogFormVisible" top="12vh" width="85%" title="请确认玻璃信息" > |
| | | <div style="margin-left: 50px;margin-bottom: 10px;"> |
| | | <div style="display: flex;"> |
| | | <p style="margin-top: 4px;">确认状态:</p> |
| | | <el-button style="margin-left: 10px;size: mini;" |
| | | type="success">允许 |
| | | </el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" |
| | | type="danger">不允许 |
| | | </el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" type="success">允许</el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" type="danger">不允许</el-button> |
| | | <p style="margin-left: 60px;margin-top: 4px;">当前状态:</p> |
| | | <div style="margin-top: 4px; margin-left: 10px;">手动</div> |
| | | <el-button style="margin-left: 10px;size: mini;" |
| | | type="primary">切换 |
| | | </el-button> |
| | | <el-input placeholder="请输入玻璃id" |
| | | style="width: 180px;size: mini;margin-left: 60px;"></el-input> |
| | | <el-button style="margin-left: 10px;size: mini;" |
| | | type="primary">添加 |
| | | </el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" type="primary">切换</el-button> |
| | | <el-input placeholder="请输入玻璃id" style="width: 180px;size: mini;margin-left: 60px;"></el-input> |
| | | <el-button style="margin-left: 10px;size: mini;" type="primary">添加</el-button> |
| | | <p style="margin-left: 60px;margin-top: 4px;">玻璃id:</p> |
| | | <el-input style="width: 180px;size: mini;margin-left: 30px;"></el-input> |
| | | </div> |
| | |
| | | <div style="display: flex;"> |
| | | <div style="margin-top: 20px;"> |
| | | <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">当前信息</p> |
| | | <el-form label-position="right" |
| | | label-width="90px"> |
| | | <el-form-item style="width: 20vw" |
| | | label="玻璃id:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入玻璃id"></el-input> |
| | | <el-form label-position="right" label-width="90px"> |
| | | <el-form-item style="width: 20vw" label="玻璃id:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="订单编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入订单编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="订单编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="列表编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入列表编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="列表编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="箱子编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入箱子编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="箱子编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="长:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入长"></el-input> |
| | | <el-form-item style="width: 20vw" label="长:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="宽:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入宽"></el-input> |
| | | <el-form-item style="width: 20vw" label="宽:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div style="margin-top: 20px;"> |
| | | <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">修改信息</p> |
| | | <el-form label-position="right" |
| | | label-width="90px"> |
| | | <el-form-item style="width: 20vw" |
| | | label="玻璃id:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入玻璃id"></el-input> |
| | | <el-form label-position="right" label-width="90px"> |
| | | <el-form-item style="width: 20vw" label="玻璃id:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="订单编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入订单编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="订单编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="列表编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入列表编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="列表编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="箱子编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入箱子编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="箱子编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="长:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入长"></el-input> |
| | | <el-form-item style="width: 20vw" label="长:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="宽:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入宽"></el-input> |
| | | <el-form-item style="width: 20vw" label="宽:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div style="margin-top: 20px;"> |
| | | <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">修改信息</p> |
| | | <el-form label-position="right" |
| | | label-width="90px"> |
| | | <el-form-item style="width: 20vw" |
| | | label="玻璃id:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入玻璃id"></el-input> |
| | | <el-form label-position="right" label-width="90px"> |
| | | <el-form-item style="width: 20vw" label="玻璃id:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="订单编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入订单编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="订单编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="列表编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入列表编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="列表编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="箱子编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入箱子编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="箱子编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="长:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入长"></el-input> |
| | | <el-form-item style="width: 20vw" label="长:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="宽:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入宽"></el-input> |
| | | <el-form-item style="width: 20vw" label="宽:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div style="margin-top: 20px;"> |
| | | <p style="margin-top: 10px;margin-left: 100px;margin-bottom: 20px;">当前信息</p> |
| | | <el-form label-position="right" |
| | | label-width="90px"> |
| | | <el-form-item style="width: 20vw" |
| | | label="玻璃id:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入玻璃id"></el-input> |
| | | <el-form label-position="right" label-width="90px"> |
| | | <el-form-item style="width: 20vw" label="玻璃id:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入玻璃id"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="订单编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入订单编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="订单编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入订单编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="列表编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入列表编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="列表编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入列表编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="箱子编号:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入箱子编号"></el-input> |
| | | <el-form-item style="width: 20vw" label="箱子编号:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入箱子编号"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="长:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入长"></el-input> |
| | | <el-form-item style="width: 20vw" label="长:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入长"></el-input> |
| | | </el-form-item> |
| | | <el-form-item style="width: 20vw" |
| | | label="宽:"> |
| | | <el-input style="width: 180px" |
| | | size="mini" |
| | | placeholder="请输入宽"></el-input> |
| | | <el-form-item style="width: 20vw" label="宽:"> |
| | | <el-input style="width: 180px" size="mini" placeholder="请输入宽"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" |
| | | @click="dialogFormVisible = false"> |
| | | <el-button type="primary" @click="dialogFormVisible = false"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="dialogFormVisible = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogFormVisiblea" |
| | | top="10vh" |
| | | width="85%" |
| | | title="订单信息"> |
| | | <el-input placeholder="请输入工程号" |
| | | style="width: 180px;size: mini;"></el-input> |
| | | <el-button style="margin-left: 10px;size: mini;" |
| | | type="primary">查询 |
| | | </el-button> |
| | | <el-table ref="table" |
| | | style="margin-top: 20px;height: 500px;" |
| | | <el-dialog v-model="dialogFormVisiblea" top="10vh" width="85%" title="订单信息" > |
| | | <el-input placeholder="请输入工程号" style="width: 180px;size: mini;"></el-input> |
| | | <el-button style="margin-left: 10px;size: mini;" type="primary">查询</el-button> |
| | | <el-table ref="table" style="margin-top: 20px;height: 500px;" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableDataa" |
| | | :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="ida" |
| | | align="center" |
| | | label="玻璃id" |
| | | min-width="80"/> |
| | | <el-table-column prop="typea" |
| | | align="center" |
| | | label="工程号" |
| | | min-width="120"/> |
| | | <el-table-column prop="typea" |
| | | align="center" |
| | | label="长" |
| | | min-width="120"/> |
| | | <el-table-column prop="typea" |
| | | align="center" |
| | | label="宽" |
| | | min-width="120"/> |
| | | <el-table-column prop="typea" |
| | | align="center" |
| | | label="厚" |
| | | min-width="120"/> |
| | | :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="ida" align="center" label="玻璃id" min-width="80" /> |
| | | <el-table-column prop="typea" align="center" label="工程号" min-width="120" /> |
| | | <el-table-column prop="typea" align="center" label="长" min-width="120" /> |
| | | <el-table-column prop="typea" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="typea" align="center" label="厚" min-width="120" /> |
| | | </el-table> |
| | | <div id="demo-pagination-block"> |
| | | <el-pagination style="margin-left: 850px;" |
| | | <el-pagination |
| | | style="margin-left: 850px;" |
| | | v-model:current-page="currentPage4" |
| | | v-model:page-size="pageSize4" |
| | | :page-sizes="[100, 200, 300, 400]" |
| | |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="400" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange"/> |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogFormVisibleb" |
| | | top="10vh" |
| | | width="85%" |
| | | title="出片队列"> |
| | | <el-dialog v-model="dialogFormVisibleb" top="10vh" width="85%" title="出片队列" > |
| | | <div style="display: flex;"> |
| | | <p style="margin-top: 4px;">队列状态:</p> |
| | | <p style="margin-top: 4px;">开始</p> |
| | | <el-button style="margin-left: 10px;size: mini;" |
| | | type="danger">停止 |
| | | </el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" |
| | | type="primary">添加 |
| | | </el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" type="danger">停止</el-button> |
| | | <el-button style="margin-left: 10px;size: mini;" type="primary">添加</el-button> |
| | | </div> |
| | | <el-table ref="table" |
| | | style="margin-top: 20px;height: 500px;" |
| | | <el-table ref="table" style="margin-top: 20px;height: 500px;" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableDatab" |
| | | :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" |
| | | align="center" |
| | | label="铝框id" |
| | | min-width="80"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="玻璃id" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="订单编号" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="列表编号" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="箱子编号" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="长" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="宽" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="玻璃状态" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="顺序" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="完成" |
| | | min-width="120"/> |
| | | <el-table-column prop="type" |
| | | align="center" |
| | | label="操作" |
| | | min-width="120"/> |
| | | :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="铝框id" min-width="80" /> |
| | | <el-table-column prop="type" align="center" label="玻璃id" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="订单编号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="列表编号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="箱子编号" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="长" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="玻璃状态" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="顺序" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="完成" min-width="120" /> |
| | | <el-table-column prop="type" align="center" label="操作" min-width="120" /> |
| | | </el-table> |
| | | </el-dialog> |
| | | |
| | | </template> |
| | | <style scoped> |
| | | #dt { |
| | | display: block; |
| | | float: left; |
| | | line-height: 20px; |
| | | margin-left: 100px; |
| | | } |
| | | |
| | | #dta { |
| | | display: block; |
| | | float: left; |
| | | line-height: 20px; |
| | | margin-left: 80%; |
| | | } |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer { |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | |
| | | #message { |
| | | text-align: center; |
| | | align-items: center; |
| | |
| | | background-color: #337ecc; |
| | | margin-left: 28%; |
| | | } |
| | | |
| | | #awatch { |
| | | height: 450px; |
| | | } |
| | | |
| | | #occupy { |
| | | height: 100%; |
| | | width: 15%; |
| | | background-color: white; |
| | | margin: 0px 8px 0px 8px; |
| | | border: 1px #ebeef5 solid; |
| | | border: 1px #EBEEF5 solid; |
| | | text-align: center; |
| | | padding: 5px; |
| | | } |
| | |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | #demo-pagination-block + #demo-pagination-block { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | #demo-pagination-block #demonstration { |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | | ::-webkit-scrollbar { |
| | | width: 0 !important; |
| | | } |
| | | |
| | | ::-webkit-scrollbar { |
| | | width: 0 !important; |
| | | height: 0; |
| | | width: 0 !important;height: 0; |
| | | } |
| | | |
| | | .img-list { |
| | | |
| | | position: relative; |
| | | } |
| | | |
| | | .data-img { |
| | | @apply float-none; |
| | | |
| | |
| | | background: rgba(0, 0, 0, 0); |
| | | opacity: 1; |
| | | border-radius: 0.5rem 0.5rem 0px 0px; |
| | | } |
| | | |
| | | } |
| | | .check-img { |
| | | position: absolute; |
| | | width: 3.3125rem; |
| | |
| | | top: 20rem; |
| | | right: 57rem; |
| | | z-index: 10; |
| | | } |
| | | |
| | | } |
| | | .check-imga { |
| | | position: absolute; |
| | | width: 3.3125rem; |
| | |
| | | top: 15rem; |
| | | right: 28.5rem; |
| | | z-index: 10; |
| | | } |
| | | |
| | | } |
| | | .vertical { |
| | | width: 45px; |
| | | height: 25px; |
| | | background-color: #409eff; |
| | | background-color: #409EFF; |
| | | top: 485px; /* 初始位置 */ |
| | | left: 899px; /* 水平居中 */ |
| | | transform: translateX(-50%); |
| | |
| | | max-width: 100%; |
| | | background-size: 1200px 400px; |
| | | overflow: hidden; |
| | | position: relative; |
| | | position:relative |
| | | } |
| | | |
| | | .img-car1 { |
| | | background-image: url('../../assets/lpl.jpg'); |
| | | background-image:url('../../assets/lp.png'); |
| | | position: absolute; |
| | | background-repeat: no-repeat; |
| | | background-attachment: local; |
| | |
| | | max-width: 100%; |
| | | background-size: 200px 70px; |
| | | overflow: hidden; |
| | | position: relative; |
| | | position:relative |
| | | } |
| | | |
| | | .img-car2 { |
| | | background-image: url('../../assets/lpla.jpg'); |
| | | background-image:url('../../assets/lpa.png'); |
| | | position: absolute; |
| | | background-repeat: no-repeat; |
| | | background-attachment: local; |
| | |
| | | max-width: 100%; |
| | | background-size: 200px 70px; |
| | | overflow: hidden; |
| | | position: relative; |
| | | position:relative |
| | | } |
| | | .img-car3{ |
| | | background-image:url('../../assets/lp.png'); |
| | | position: absolute; |
| | | background-repeat: no-repeat; |
| | | background-attachment: local; |
| | | min-height: 200px; |
| | | width: 200px; |
| | | max-width: 100%; |
| | | background-size: 200px 70px; |
| | | overflow: hidden; |
| | | position:relative |
| | | } |
| | | .img-car4{ |
| | | background-image:url('../../assets/lpa.png'); |
| | | position: absolute; |
| | | background-repeat: no-repeat; |
| | | background-attachment: local; |
| | | min-height: 200px; |
| | | width: 200px; |
| | | max-width: 100%; |
| | | background-size: 200px 70px; |
| | | overflow: hidden; |
| | | position:relative |
| | | } |
| | | </style> |
| | |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | const router = useRouter() |
| | | const adda = ref(false) |
| | | |
| | | import { ref } from 'vue' |
| | | import request from "@/utils/request" |
| | | import { ref, onMounted } from "vue"; |
| | | // import { ref } from 'vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | // import LanguageMixin from './lang/LanguageMixin' |
| | | |
| | | const tableData = [ |
| | | { |
| | | id: '1', |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | type: '待识别', |
| | | typea: '1', |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | const tableData = ref([]) |
| | | const slot = ref('') |
| | | |
| | | |
| | | request.post("/cacheGlass/taskCache/selectEdgTask").then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | console.log(res.data); |
| | | tableData.value = res.data |
| | | console.log(res.data[0].slot); |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | |
| | | } |
| | | }); |
| | | |
| | | // const getTableRow = (row,type) =>{ |
| | | // switch (type) { |
| | | // case 'delete':{ |
| | | // let flowData = ref({ |
| | | // id:0, |
| | | // slot:row.slot |
| | | // }) |
| | | // request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass",flowData.value).then((res) => { |
| | | // if(res.code==200){ |
| | | // ElMessage.success(t('searchOrder.msgDeleteSuccess')) |
| | | // router.push({path:'/main/delivery/selectDelivery',query:{random:Math.random()}}) |
| | | // }else{ |
| | | // ElMessage.warning(res.msg) |
| | | // router.push("/login") |
| | | // } |
| | | // }) |
| | | |
| | | // return |
| | | // } |
| | | // } |
| | | // } |
| | | // let slots = ref({ |
| | | // id:0, |
| | | // slot: slot.value |
| | | // }) |
| | | const open = async(row) => { |
| | | try { |
| | | const confirmResult = await ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | ); |
| | | if (confirmResult === 'confirm') { |
| | | // 用户点击了“是”,现在调用删除接口 |
| | | const deleteResponse = await request.post("/cacheGlass/edgStorageCage/edgStorageCageGlass", { |
| | | id:0, |
| | | slot: row.slot |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | if (response.code == 200) { |
| | | // 删除成功,您可以根据需要处理成功的情况 |
| | | alert('删除成功!'); |
| | | } else { |
| | | // 删除失败,您可以处理错误或显示错误信息给用户 |
| | | alert('删除失败:' + deleteResponse.message); |
| | | } |
| | | } |
| | | } catch (error) { |
| | | // 处理可能出现的错误,比如 ElMessageBox 抛出的异常等 |
| | | console.error('发生错误:', error); |
| | | } |
| | | const dialogForm = () => { |
| | | ElMessageBox.confirm( |
| | | '是否破损?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | // this.boxa = true |
| | | // this.box = false |
| | | }; |
| | | // const open = () => { |
| | | // ElMessageBox.confirm( |
| | | // '是否删除该条信息?', |
| | | // '提示', |
| | | // { |
| | | // confirmButtonText: '是', |
| | | // cancelButtonText: '取消', |
| | | // type: 'warning', |
| | | // } |
| | | // ) |
| | | // .then(() => { |
| | | // ElMessage({ |
| | | // type: 'success', |
| | | // message: '删除成功!', |
| | | // }) |
| | | // }) |
| | | // .catch(() => { |
| | | // ElMessage({ |
| | | // type: 'info', |
| | | // message: '删除失败', |
| | | // }) |
| | | // }) |
| | | // } |
| | | // 删除 |
| | | // const handleBindRacka = (row) => { |
| | | // adda.value = true; // 打开绑定架子对话框 |
| | | // }; |
| | | // // 删除 |
| | | // const handleConfirma = async () => { |
| | | // try { |
| | | // window.localStorage.setItem('slot', res.data.slot) |
| | | // let slot = window.localStorage.getItem('slot') |
| | | // const response = await request.post('/cacheGlass/edgStorageCage/edgStorageCageGlass', { |
| | | // slot: slot.value, |
| | | // id: 0 |
| | | // }); |
| | | |
| | | }) |
| | | } |
| | | const dialogForma = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | } |
| | | // if (response.code == 200) { |
| | | // // 绑定成功,处理逻辑 |
| | | // ElMessage.success(response.message); |
| | | // adda.value = false; |
| | | // } else { |
| | | // // 请求失败,显示错误消息 |
| | | // ElMessage.error(response.msg); |
| | | // } |
| | | // } catch (error) { |
| | | // // 处理错误 |
| | | // console.error(error); |
| | | // } |
| | | // }; |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | } |
| | | ], |
| | | ] |
| | | |
| | | }) |
| | | |
| | | |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;"> |
| | | <el-table height="100%" ref="table" |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;"> |
| | | <el-table height="240" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="id" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="长" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="厚度" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="膜系" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="出片顺序" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="流程卡号" min-width="120" /> |
| | | <el-table-column prop="wide" align="center" label="其他" min-width="120" /> |
| | | <el-table-column prop="slot" align="center" label="id" min-width="80" /> |
| | | <el-table-column prop="glass_id" align="center" label="长" min-width="80" /> |
| | | <el-table-column prop="width" align="center" label="宽" min-width="120" /> |
| | | <el-table-column prop="height" align="center" label="厚度" min-width="120" /> |
| | | <el-table-column prop="height" align="center" label="膜系" min-width="120" /> |
| | | <el-table-column prop="height" align="center" label="出片顺序" min-width="120" /> |
| | | <el-table-column prop="height" align="center" label="流程卡号" min-width="120" /> |
| | | <el-table-column prop="height" align="center" label="其他" min-width="120" /> |
| | | <el-table-column |
| | | align="center" |
| | | label="启用状态" |
| | | min-width="80" |
| | | prop="enable_state" |
| | | > |
| | | <template #default="scope"> |
| | | <el-tag type="success" >{{ scope.row.enable_state==1?"启用":"未启用" }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default> |
| | | <el-button size="mini" type="text" plain @click="dialogForm">破损</el-button> |
| | | <el-button size="mini" type="text" plain @click="dialogForma">删除</el-button> |
| | | <template #default="scope"> |
| | | <el-button size="mini" type="text" plain @click="open(scope.row)">破损</el-button> |
| | | <el-button size="mini" type="text" plain @click="open(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | margin-left: 28%; |
| | | } |
| | | #awatch{ |
| | | height: 450px; |
| | | } |
| | | #main-body{ |
| | | margin-top: -20px; |
| | | margin-left: 300px; |
| | | } |
| | | #main-bodya{ |
| | | margin-top: -10px; |
| | | margin-left: 100px; |
| | | height: 460px; |
| | | /* margin-top: -60px; */ |
| | | } |
| | | </style> |
New file |
| | |
| | | <script lang="ts" setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | import { ref } from 'vue' |
| | | |
| | | const router = useRouter() |
| | | const value1 = ref(true) |
| | | const add = ref(false) |
| | | const adda = ref(false) |
| | | |
| | | const changer = ref(false) |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | |
| | | const tableData = [ |
| | | { |
| | | id: '1', |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | time: '2024/4/1', |
| | | type: '待识别', |
| | | typea: '1', |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | time: '2024/4/1', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | time: '2024/4/1', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | const dialogForm = () => { |
| | | ElMessageBox.confirm( |
| | | '是否重置密码?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | // this.boxa = true |
| | | // this.box = false |
| | | |
| | | }) |
| | | } |
| | | const dialogForma = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | } |
| | | |
| | | const options = [ |
| | | { |
| | | value: 'Option1', |
| | | label: 'admin', |
| | | }, |
| | | { |
| | | value: 'Option2', |
| | | label: 'ueser2', |
| | | }, |
| | | { |
| | | value: 'Option3', |
| | | label: 'ueser3', |
| | | }, |
| | | ] |
| | | const optionsa = [ |
| | | { |
| | | valuea: 'Option1', |
| | | labela: '正常', |
| | | }, |
| | | { |
| | | valuea: 'Option2', |
| | | labela: '禁用', |
| | | }, |
| | | ] |
| | | |
| | | const data= reactive({ |
| | | tableList:[]//table数据 |
| | | }) |
| | | |
| | | const beforeChange = () => { |
| | | return new Promise((resolve) => { |
| | | setTimeout(() => { |
| | | ElMessage.success("修改成功!"); |
| | | return resolve(true); |
| | | }, 1000); |
| | | }); |
| | | }; |
| | | |
| | | // //js层,实战版本,与后台接口交互 |
| | | // const gettableList = (id) = >{ |
| | | // xxx接口.({ |
| | | // id:id |
| | | // }).then((res)=>{ |
| | | // //将数据传给el-table绑定的:data=>data.tableList |
| | | // data.tableList = res.data |
| | | |
| | | // }) |
| | | // } |
| | | |
| | | // //最后将请求函数挂载到vue视图上 |
| | | // onMounted(() => { |
| | | // gettableList () |
| | | |
| | | // }) |
| | | // const delete = () => { |
| | | // ElMessageBox.confirm( |
| | | // '是否删除该条信息?', |
| | | // '提示', |
| | | // { |
| | | // confirmButtonText: '是', |
| | | // cancelButtonText: '取消', |
| | | // type: 'warning', |
| | | // } |
| | | // ) |
| | | // .then(() => { |
| | | |
| | | // }) |
| | | // } |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | 'time': '2024/4/1', |
| | | } |
| | | ] |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <el-button type="primary" style="margin-top: 10px;margin-left: 10px;" size="mini" id="searchButton" @click="add = true">添加用户</el-button> |
| | | <el-input |
| | | clearable |
| | | placeholder="请输入用户名" |
| | | size="mini" |
| | | style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;" |
| | | /> |
| | | <el-input |
| | | clearable |
| | | placeholder="请输入邮箱" |
| | | size="mini" |
| | | style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;" |
| | | /> |
| | | <el-button type="primary" size="mini" @click="searchSubmit" style="margin-top: 10px;">查询</el-button > |
| | | <el-button type="primary" size="mini" @click="empty" style="margin-top: 10px;">清空</el-button> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="用户名" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="邮箱" min-width="120" /> |
| | | <el-table-column prop="time" align="center" label="创建时间" min-width="120" /> |
| | | <el-table-column align="center" prop="changer" label="是否禁用" min-width="140" > |
| | | <template #default="scope"> |
| | | <el-switch v-model="scope.row.changer" :before-change="beforeChange" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default> |
| | | <el-button size="mini" type="text" plain @click="dialogForm">重置密码</el-button> |
| | | <el-button size="mini" type="text" plain @click="adda = true">编辑</el-button> |
| | | <el-button size="mini" type="text" plain @click="dialogForma">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | |
| | | </div> |
| | | |
| | | <el-dialog v-model="add" top="23vh" width="37%" title="添加用户" > |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form label-width="100px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="用户名:" :required="true" style="width: 25vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="角色:" :required="true" style="width: 25vw;"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择角色" |
| | | style="width: 330px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="邮箱:" :required="true" style="width: 25vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="是否禁用" :required="true" style="width: 25vw;"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择是否禁用" |
| | | style="width: 330px" |
| | | > |
| | | <el-option |
| | | v-for="item in optionsa" |
| | | :key="item.valuea" |
| | | :label="item.labela" |
| | | :value="item.valuea" |
| | | /> |
| | | </el-select> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="密码:" :required="true" style="width: 25vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="getTableRow('edit')"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="add = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="adda" top="23vh" width="37%" title="修改用户" > |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form label-width="100px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="用户名:" :required="true" style="width: 25vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="角色:" :required="true" style="width: 25vw;"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择角色" |
| | | style="width: 330px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="邮箱:" :required="true" style="width: 25vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="是否禁用" :required="true" style="width: 25vw;"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择是否禁用" |
| | | style="width: 330px" |
| | | > |
| | | <el-option |
| | | v-for="item in optionsa" |
| | | :key="item.valuea" |
| | | :label="item.labela" |
| | | :value="item.valuea" |
| | | /> |
| | | </el-select> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="密码:" :required="true" style="width: 25vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="getTableRow('edit')"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="adda = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | #message{ |
| | | text-align: center; |
| | | align-items: center; |
| | | color: black; |
| | | width: 200px; |
| | | height: 100px; |
| | | background-color: #337ecc; |
| | | margin-left: 28%; |
| | | } |
| | | #awatch{ |
| | | height: 450px; |
| | | } |
| | | #main-body{ |
| | | margin-top: -20px; |
| | | margin-left: 300px; |
| | | } |
| | | #main-bodya{ |
| | | margin-top: -10px; |
| | | margin-left: 100px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script lang="ts" setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | import { ref } from 'vue' |
| | | |
| | | const router = useRouter() |
| | | const value1 = ref(true) |
| | | const add = ref(false) |
| | | const adda = ref(false) |
| | | |
| | | const changer = ref(false) |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | |
| | | const tableData = [ |
| | | { |
| | | id: '1', |
| | | long: '1005', |
| | | wide: '183.6', |
| | | thick: '1991', |
| | | time: '2024/4/1', |
| | | type: '待识别', |
| | | typea: '1', |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | time: '2024/4/1', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | { |
| | | id: '2', |
| | | long: '105', |
| | | wide: '183', |
| | | time: '2024/4/1', |
| | | thick: '191', |
| | | typea: '1', |
| | | type: '待识别' |
| | | }, |
| | | ] |
| | | const open = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!', |
| | | }) |
| | | }) |
| | | .catch(() => { |
| | | ElMessage({ |
| | | type: 'info', |
| | | message: '删除失败', |
| | | }) |
| | | }) |
| | | } |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }}) |
| | | break |
| | | } |
| | | case 'delete':{ |
| | | alert('我接收到子组件传送的删除信息') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | const dialogForm = () => { |
| | | ElMessageBox.confirm( |
| | | '是否重置密码?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | .then(() => { |
| | | // this.boxa = true |
| | | // this.box = false |
| | | |
| | | }) |
| | | } |
| | | const dialogForma = () => { |
| | | ElMessageBox.confirm( |
| | | '是否删除该条信息?', |
| | | '提示', |
| | | { |
| | | confirmButtonText: '是', |
| | | cancelButtonText: '取消', |
| | | type: 'warning', |
| | | } |
| | | ) |
| | | } |
| | | |
| | | const options = [ |
| | | { |
| | | value: 'Option1', |
| | | label: 'admin', |
| | | }, |
| | | { |
| | | value: 'Option2', |
| | | label: 'ueser2', |
| | | }, |
| | | { |
| | | value: 'Option3', |
| | | label: 'ueser3', |
| | | }, |
| | | ] |
| | | const optionsa = [ |
| | | { |
| | | valuea: 'Option1', |
| | | labela: '正常', |
| | | }, |
| | | { |
| | | valuea: 'Option2', |
| | | labela: '禁用', |
| | | }, |
| | | ] |
| | | |
| | | const data= reactive({ |
| | | tableList:[]//table数据 |
| | | }) |
| | | |
| | | const beforeChange = () => { |
| | | return new Promise((resolve) => { |
| | | setTimeout(() => { |
| | | ElMessage.success("修改成功!"); |
| | | return resolve(true); |
| | | }, 1000); |
| | | }); |
| | | }; |
| | | |
| | | // //js层,实战版本,与后台接口交互 |
| | | // const gettableList = (id) = >{ |
| | | // xxx接口.({ |
| | | // id:id |
| | | // }).then((res)=>{ |
| | | // //将数据传给el-table绑定的:data=>data.tableList |
| | | // data.tableList = res.data |
| | | |
| | | // }) |
| | | // } |
| | | |
| | | // //最后将请求函数挂载到vue视图上 |
| | | // onMounted(() => { |
| | | // gettableList () |
| | | |
| | | // }) |
| | | // const delete = () => { |
| | | // ElMessageBox.confirm( |
| | | // '是否删除该条信息?', |
| | | // '提示', |
| | | // { |
| | | // confirmButtonText: '是', |
| | | // cancelButtonText: '取消', |
| | | // type: 'warning', |
| | | // } |
| | | // ) |
| | | // .then(() => { |
| | | |
| | | // }) |
| | | // } |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | }, |
| | | data: [ |
| | | { |
| | | 'id': '1', |
| | | 'long': '5', |
| | | 'wide': '1005', |
| | | 'thick': '183.6', |
| | | 'time': '2024/4/1', |
| | | } |
| | | ] |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <el-button type="primary" style="margin-top: 10px;margin-left: 10px;" size="mini" id="searchButton" @click="add = true">添加用户</el-button> |
| | | <el-input |
| | | clearable |
| | | placeholder="请输入用户名" |
| | | size="mini" |
| | | style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;" |
| | | /> |
| | | <el-input |
| | | clearable |
| | | placeholder="请输入邮箱" |
| | | size="mini" |
| | | style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;" |
| | | /> |
| | | <el-button type="primary" size="mini" @click="searchSubmit" style="margin-top: 10px;">查询</el-button > |
| | | <el-button type="primary" size="mini" @click="empty" style="margin-top: 10px;">清空</el-button> |
| | | <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading"> |
| | | <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;"> |
| | | <el-table height="100%" ref="table" |
| | | @selection-change="handleSelectionChange" |
| | | :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> |
| | | <el-table-column prop="id" align="center" label="用户名" min-width="80" /> |
| | | <el-table-column prop="long" align="center" label="邮箱" min-width="120" /> |
| | | <el-table-column prop="time" align="center" label="创建时间" min-width="120" /> |
| | | <el-table-column align="center" prop="changer" label="是否禁用" min-width="140" > |
| | | <template #default="scope"> |
| | | <el-switch v-model="scope.row.changer" :before-change="beforeChange" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column fixed="right" label="操作" align="center" width="200"> |
| | | <template #default> |
| | | <el-button size="mini" type="text" plain @click="dialogForm">重置密码</el-button> |
| | | <el-button size="mini" type="text" plain @click="adda = true">编辑</el-button> |
| | | <el-button size="mini" type="text" plain @click="dialogForma">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-card> |
| | | |
| | | </div> |
| | | |
| | | <el-dialog v-model="add" top="23vh" width="37%" title="添加用户" > |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form label-width="100px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="用户名:" :required="true" style="width: 25vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="角色:" :required="true" style="width: 25vw;"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择角色" |
| | | style="width: 330px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="邮箱:" :required="true" style="width: 25vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="是否禁用" :required="true" style="width: 25vw;"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择是否禁用" |
| | | style="width: 330px" |
| | | > |
| | | <el-option |
| | | v-for="item in optionsa" |
| | | :key="item.valuea" |
| | | :label="item.labela" |
| | | :value="item.valuea" |
| | | /> |
| | | </el-select> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="密码:" :required="true" style="width: 25vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="getTableRow('edit')"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="add = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog v-model="adda" top="23vh" width="37%" title="修改用户" > |
| | | <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> |
| | | <el-form size="mini" label-width="150px"> |
| | | <el-form label-width="100px" label-position="right"> |
| | | <el-row style="margin-top: -15px;margin-bottom: -2px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="用户名:" :required="true" style="width: 25vw"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="角色:" :required="true" style="width: 25vw;"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择角色" |
| | | style="width: 330px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="邮箱:" :required="true" style="width: 25vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="是否禁用" :required="true" style="width: 25vw;"> |
| | | <el-select |
| | | v-model="value" |
| | | clearable |
| | | placeholder="请选择是否禁用" |
| | | style="width: 330px" |
| | | > |
| | | <el-option |
| | | v-for="item in optionsa" |
| | | :key="item.valuea" |
| | | :label="item.labela" |
| | | :value="item.valuea" |
| | | /> |
| | | </el-select> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 10px;"> |
| | | <el-col :span="6"> |
| | | <div id="dt" style="font-size: 15px;"> |
| | | <div> |
| | | <el-form-item label="密码:" :required="true" style="width: 25vw;"> |
| | | <el-input autocomplete="off" /> |
| | | </el-form-item></div></div> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </el-form> |
| | | </div> |
| | | <template #footer> |
| | | <div id="dialog-footer"> |
| | | <el-button type="primary" @click="getTableRow('edit')"> |
| | | 确认 |
| | | </el-button> |
| | | <el-button @click="adda = false">取消</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | #dt { display:block; float:left;line-height: 20px;margin-left: 100px;} |
| | | #dta { display:block; float:left;line-height: 20px;margin-left: 80%;} |
| | | #dialog-footer{ |
| | | text-align: center; |
| | | margin-top: -15px; |
| | | } |
| | | #message{ |
| | | text-align: center; |
| | | align-items: center; |
| | | color: black; |
| | | width: 200px; |
| | | height: 100px; |
| | | background-color: #337ecc; |
| | | margin-left: 28%; |
| | | } |
| | | #awatch{ |
| | | height: 450px; |
| | | } |
| | | #main-body{ |
| | | margin-top: -20px; |
| | | margin-left: 300px; |
| | | } |
| | | #main-bodya{ |
| | | margin-top: -10px; |
| | | margin-left: 100px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <script setup> |
| | | import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue" |
| | | import {useRouter} from "vue-router"; |
| | | let indexFlag=$ref(1) |
| | | function changeRouter(index){ |
| | | indexFlag=index |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <!-- <div id="main-div"> --> |
| | | |
| | | |
| | | <div id="main-body"> |
| | | <router-view /> |
| | | </div> |
| | | <!-- </div> --> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | #main-div{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | #div-title{ |
| | | height: 2%; |
| | | width: 100%; |
| | | } |
| | | #searchButton{ |
| | | margin-top: -5px; |
| | | margin-left: 1rem; |
| | | } |
| | | /* #searchButton1{ |
| | | //margin-left: 10rem; |
| | | } */ |
| | | /*main-body样式*/ |
| | | #main-body{ |
| | | width: 100%; |
| | | height: 95%; |
| | | /* margin-top: 1%; */ |
| | | } |
| | | #select{ |
| | | margin-left:0.5rem; |
| | | } |
| | | :deep(.indexTag .el-breadcrumb__inner){ |
| | | color: #5CADFE !important; |
| | | } |
| | | </style> |
| | |
| | | public static final Long DEFULT_ROLE = 1L; |
| | | |
| | | //A09出片目标位置 |
| | | public static final String A09_OUT_TARGET_POSITION = "2001"; |
| | | public static final Integer A09_OUT_TARGET_POSITION = 2001; |
| | | //A09出片目标位置 |
| | | public static final String A10_OUT_TARGET_POSITION = "2002"; |
| | | public static final Integer A10_OUT_TARGET_POSITION = 2002; |
| | | } |
| | |
| | | */ |
| | | public String getAddress(int index) { |
| | | String[] stringdatas = this.startAddress.trim().split("\\."); |
| | | if (stringdatas.length < 2) |
| | | if (stringdatas.length < 2) { |
| | | return null; |
| | | } |
| | | int dbwindex = 0; |
| | | int bitindex = 0; |
| | | if (stringdatas.length == 3) { |
| | | dbwindex = Integer.parseInt(stringdatas[1]); |
| | | bitindex = Integer.parseInt(stringdatas[2]); |
| | | } else |
| | | { |
| | | return null; |
| | | } |
| | | dbwindex += index / 8; |
| | | bitindex += index % 8; |
| | | return stringdatas[0] + "." + dbwindex + "." + bitindex; |
| | | } |
| | | /** |
| | | * 获取地址 |
| | | * |
| | | */ |
| | | public String getAddress() { |
| | | return getAddress(this.addressIndex); |
| | | } |
| | | |
| | | |
| | | public void setAddressIndex(int addressindex) { |
| | |
| | | package com.mes.device; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | public class PlcBitObject { |
| | | |
| | |
| | | private String plcAddressBegin; |
| | | // 数据地址长度:第一参数到最后一个参数的长度 |
| | | private int plcAddressLength; |
| | | private ArrayList<PlcBitInfo> plcBitList; |
| | | //private ArrayList<PlcBitInfo> plcBitList; |
| | | private LinkedHashMap<String,PlcBitInfo> plcBitMap; |
| | | |
| | | /** |
| | | * @return 数据区开始地址 |
| | |
| | | /** |
| | | * @return 获取参数实例集合 |
| | | */ |
| | | public ArrayList<PlcBitInfo> getBitList() { |
| | | return plcBitList; |
| | | public LinkedHashMap<String,PlcBitInfo> getBitMap() { |
| | | return plcBitMap; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return 获取某个参数实例 |
| | | */ |
| | | public PlcBitInfo getPlcBit(String codeid) { |
| | | if (plcBitList != null) { |
| | | for (PlcBitInfo plcbitInfo : plcBitList) { |
| | | if (plcBitMap != null) { |
| | | /*for (PlcBitInfo plcbitInfo : plcBitList) { |
| | | if (plcbitInfo.getCodeId().equals(codeid)) |
| | | return plcbitInfo; |
| | | } |
| | | return null; |
| | | }*/ |
| | | return plcBitMap.get(codeid); |
| | | } else |
| | | { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 根据参数标识 获取某个参数实例 |
| | | * |
| | | * @param codeid 参数标识 |
| | | * @param codeids 参数标识 |
| | | * @return 获取某个参数实例 |
| | | */ |
| | | public List<Boolean> getPlcBitValues(List<String> codeids) { |
| | | List<Boolean> arrayList = new ArrayList<>(); |
| | | if (plcBitList != null) { |
| | | Map<String, Boolean> resultMap = new LinkedHashMap<>(); // 使用 LinkedHashMap 保留插入顺序 |
| | | for (PlcBitInfo plcBitInfo : plcBitList) { |
| | | if (codeids.contains(plcBitInfo.getCodeId().toString())) { |
| | | resultMap.put(plcBitInfo.getCodeId().toString(), plcBitInfo.getValue()); |
| | | } |
| | | } |
| | | if (plcBitMap != null) { |
| | | for (String codeId : codeids) { // 按照传入参数的顺序遍历 |
| | | Boolean value = resultMap.get(codeId); |
| | | if (value != null) { |
| | | arrayList.add(value); |
| | | } else { |
| | | arrayList.add(null); // 如果找不到对应的值,添加 null |
| | | } |
| | | arrayList.add(plcBitMap.get(codeId).getValue()); |
| | | } |
| | | } |
| | | return arrayList; |
| | |
| | | public List<String> getAddressListByCodeId(List<String> codeIdList) { |
| | | List<String> addressList = new ArrayList<>(); |
| | | for (String codeId : codeIdList) { |
| | | for (PlcBitInfo plcBitInfo : plcBitList) { |
| | | if (plcBitInfo.getCodeId().equals(codeId)) { |
| | | int index = plcBitInfo.getAddressIndex(); |
| | | String address = plcBitInfo.getAddress(index); |
| | | if (address != null) { |
| | | addressList.add(address); |
| | | } |
| | | } |
| | | } |
| | | addressList.add(plcBitMap.get(codeId).getAddress()); |
| | | } |
| | | return addressList; |
| | | } |
| | |
| | | * @param param 参数实例 |
| | | */ |
| | | public void addPlcBit(PlcBitInfo param) { |
| | | if (plcBitList != null) |
| | | plcBitList.add(param); |
| | | if (plcBitMap != null) |
| | | plcBitMap.put(param.getCodeId(),param); |
| | | else { |
| | | plcBitList = new ArrayList<PlcBitInfo>(); |
| | | plcBitList.add(param); |
| | | plcBitMap = new LinkedHashMap<String,PlcBitInfo>(); |
| | | plcBitMap.put(param.getCodeId(),param); |
| | | } |
| | | } |
| | | |
| | |
| | | * @param plcValueArray PLC读取回来的byte类型数据集合 |
| | | */ |
| | | public void setPlcBitList(List<Boolean> plcValueArray) { |
| | | if (plcBitList != null) { |
| | | for (PlcBitInfo plcbitInfo : plcBitList) { |
| | | if (plcBitMap != null) { |
| | | Collection<PlcBitInfo> values=plcBitMap.values(); |
| | | for (PlcBitInfo plcbitInfo : values) { |
| | | plcbitInfo.setValue(plcValueArray.get(plcbitInfo.getAddressIndex())); |
| | | } |
| | | } |
| | |
| | | // return null; |
| | | } |
| | | |
| | | public int getPlcAddress() { |
| | | |
| | | return addressIndex; |
| | | } |
| | | |
| | | public String getAddress() { |
| | | return getAddress(this.addressIndex); |
| | | } |
| | |
| | | |
| | | import java.lang.reflect.Array; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.ArrayList; |
| | | import java.util.LinkedHashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | public class PlcParameterObject { |
| | | |
| | |
| | | private String plcAddressBegin; |
| | | // 数据地址长度:第一参数到最后一个参数的长度 |
| | | private int plcAddressLength; |
| | | private ArrayList<PlcParameterInfo> plcParameterList; |
| | | //private ArrayList<PlcParameterInfo> plcParameterList; |
| | | private LinkedHashMap<String,PlcParameterInfo> plcParameterMap; |
| | | |
| | | |
| | | /** |
| | |
| | | /** |
| | | * @return 获取参数实例集合 |
| | | */ |
| | | public ArrayList<PlcParameterInfo> getPlcParameterList() { |
| | | return plcParameterList; |
| | | public LinkedHashMap<String,PlcParameterInfo> getPlcParameterMap() { |
| | | return plcParameterMap; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return 获取某个参数实例 |
| | | */ |
| | | public PlcParameterInfo getPlcParameter(String codeid) { |
| | | if (plcParameterList != null) { |
| | | if (plcParameterMap != null) { |
| | | return plcParameterMap.get(codeid); |
| | | } else { |
| | | return null; |
| | | } |
| | | /*if (plcParameterList != null) { |
| | | for (PlcParameterInfo plcParameterInfo : plcParameterList) { |
| | | if (plcParameterInfo.getCodeId().equals(codeid)) |
| | | return plcParameterInfo; |
| | | } |
| | | return null; |
| | | } else |
| | | return null; |
| | | return null;*/ |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public List<String> getPlcParameterValues(List<String> codeids) { |
| | | List<String> arrayList = new ArrayList<>(); |
| | | if (plcParameterList != null) { |
| | | Map<String, PlcParameterInfo> resultMap = new LinkedHashMap<>(); // 使用 LinkedHashMap 保留插入顺序 |
| | | if (plcParameterMap != null) { |
| | | /*Map<String, PlcParameterInfo> resultMap = new LinkedHashMap<>(); // 使用 LinkedHashMap 保留插入顺序 |
| | | for (PlcParameterInfo plcParameterInfo : plcParameterList) { |
| | | if (codeids.contains(plcParameterInfo.getCodeId())) { |
| | | resultMap.put(plcParameterInfo.getCodeId(), plcParameterInfo); |
| | | } |
| | | } |
| | | }*/ |
| | | for (String codeId : codeids) { // 按照传入参数的顺序遍历 |
| | | PlcParameterInfo plcParameterInfo = resultMap.get(codeId); |
| | | PlcParameterInfo plcParameterInfo = plcParameterMap.get(codeId); |
| | | if (plcParameterInfo != null) { |
| | | arrayList.add(plcParameterInfo.getValue()); |
| | | } else { |
| | |
| | | return arrayList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据参数标识 获取传入参数的plc地址 |
| | | * |
| | | * @param codeIdList 参数标识 |
| | | * @return 传入参数的plc地址 |
| | | */ |
| | | public List<String> getAddressListByCodeId(List<String> codeIdList) { |
| | | List<String> addressList = new ArrayList<>(); |
| | | if (plcParameterMap!=null) |
| | | { |
| | | for (String codeId : codeIdList) { |
| | | for (PlcParameterInfo plcParameterInfo : plcParameterList) { |
| | | if (plcParameterInfo.getCodeId().equals(codeId)) { |
| | | int index = plcParameterInfo.getAddressIndex(); |
| | | String address = plcParameterInfo.getAddress(index); |
| | | String address = plcParameterMap.get(codeId).getAddress(); |
| | | if (address != null) { |
| | | addressList.add(address); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | * @param param 参数实例 |
| | | */ |
| | | public void addPlcParameter(PlcParameterInfo param) { |
| | | if (plcParameterList != null) |
| | | if (plcParameterMap != null) { |
| | | plcParameterMap.put(param.getCodeId(), param); |
| | | } |
| | | else { |
| | | plcParameterMap =new LinkedHashMap<String,PlcParameterInfo>(); |
| | | plcParameterMap.put(param.getCodeId(), param); |
| | | } |
| | | /*if (plcParameterList != null) |
| | | plcParameterList.add(param); |
| | | else { |
| | | plcParameterList = new ArrayList<PlcParameterInfo>(); |
| | | plcParameterList.add(param); |
| | | } |
| | | }*/ |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param plcValueArray PLC读取回来的byte类型数据集合 |
| | | */ |
| | | public void setPlcParameterList(byte[] plcValueArray) { |
| | | if (plcParameterList != null) { |
| | | if (plcParameterMap != null) { |
| | | Collection<PlcParameterInfo> values= plcParameterMap.values(); |
| | | for (PlcParameterInfo plcParameterInfo :values) { |
| | | byte[] valueList = new byte[plcParameterInfo.getAddressLength()]; |
| | | // System.out.println(plcParameterInfo.getAddressLength()); |
| | | for (int i = 0; i < plcParameterInfo.getAddressLength(); i++) { |
| | | Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]); |
| | | } |
| | | if (plcParameterInfo.getAddressLength() == 2) { |
| | | plcParameterInfo.setValue(String.valueOf(byte2short(valueList))); |
| | | } else if (plcParameterInfo.getAddressLength() == 4) { |
| | | plcParameterInfo.setValue(String.valueOf(byte2int(valueList))); |
| | | } |
| | | else if (plcParameterInfo.getAddressLength() >10) { |
| | | plcParameterInfo.setValue((byteToHexString(valueList))); |
| | | } else { |
| | | String valuestr = new String(valueList); |
| | | plcParameterInfo.setValue(valuestr); |
| | | } |
| | | } |
| | | } |
| | | /* if (plcParameterList != null) { |
| | | |
| | | for (PlcParameterInfo plcParameterInfo : plcParameterList) { |
| | | |
| | |
| | | plcParameterInfo.setValue(valuestr); |
| | | } |
| | | } |
| | | } |
| | | }*/ |
| | | } |
| | | |
| | | /** |
| | |
| | | String str = new String(bytes, StandardCharsets.UTF_8).trim(); |
| | | return str; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | // plcBitObject.setPlcBitList(getplcvlues); |
| | | return plcBitObject; |
| | | } |
| | | |
| | | // |
| | | public static void readAndUpdateBitValues(PlcBitObject plcBitObject) { |
| | | |
| | | Boolean[] values1 = {false, true, true, true, false, false, true, false, |
| | | false, true, true}; |
| | | List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1)); |
| | | //List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength()); |
| | | plcBitObject.setPlcBitList(getplcvlues); |
| | | } |
| | | |
| | | |
| | | public static void readAndUpdateWordValues(PlcParameterObject plcParameterObject) { |
| | | |
| | | byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x03}; |
| | | // byte[] getplcvlues = MockS7PLC.getInstance().readByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength()); |
| | | plcParameterObject.setPlcParameterList(getplcvlues); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | package com.mes.edgstoragecage.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.github.yulichang.base.MPJBaseService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import com.mes.edgstoragecage.entity.EdgStorageCageDetails; |
| | | import com.mes.pp.entity.OptimizeDetail; |
| | | import com.mes.taskcache.entity.TaskCache; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | * @return |
| | | */ |
| | | EdgStorageCageDetails selectConformGlass(String glassId, int poor); |
| | | |
| | | /** |
| | | * 获取出片信息数据 |
| | | * @param glassId |
| | | * @param poor |
| | | * @return |
| | | */ |
| | | EdgStorageCageDetails selectOutGlass(String glassId, int poor); |
| | | } |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | |
| | | @Slf4j |
| | | public class EdgStorageCageDetailsServiceImpl extends MPJBaseServiceImpl<EdgStorageCageDetailsMapper, EdgStorageCageDetails> implements EdgStorageCageDetailsService { |
| | | |
| | | @Resource |
| | | @Autowired |
| | | UpPattenUsageMapper upPattenUsageMapper; |
| | | |
| | | @Autowired |
| | | OptimizeDetailMapper optimizeDetailMapper; |
| | | |
| | | @Resource |
| | | @Autowired |
| | | EdgStorageCageMapper edgStorageCageMapper; |
| | | |
| | | @Autowired |
| | |
| | | |
| | | /** |
| | | * 查询笼内版图差值范围内的 此尺寸玻璃 如无则按照 钢化版图序号 以及玻璃序号 |
| | | * |
| | | * @param glassId |
| | | * @param poor |
| | | * @return |
| | |
| | | //1.去笼内查询此尺寸的玻璃 目前版图差值内的玻璃 是否有同尺寸的 |
| | | //1.1 有同尺寸的 则生成同尺寸的任务 |
| | | //1.2 无同尺寸的 则生成版图顺序最小的出片 |
| | | log.info("按照玻璃id:{}获取玻璃信息", glassId); |
| | | EdgStorageCageDetails edgStorageCageDetails= baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>() |
| | | .selectAll(EdgStorageCageDetails.class) |
| | | .eq(EdgStorageCageDetails::getGlassId,glassId) |
| | | ); |
| | | List<EdgStorageCageDetails> listEdgStorageCageDetails= baseMapper.selectList(new LambdaQueryWrapper<EdgStorageCageDetails>() |
| | | .lt(EdgStorageCageDetails::getState,200) |
| | | .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId,EdgStorageCageDetails::getTemperingFeedSequence) |
| | | ); |
| | | EdgStorageCageDetails minTemperingLayoutId=new EdgStorageCageDetails(); |
| | | if(!listEdgStorageCageDetails.isEmpty()){ |
| | | minTemperingLayoutId=listEdgStorageCageDetails.get(0); |
| | | } |
| | | EdgStorageCageDetails result=new EdgStorageCageDetails(); |
| | | if(edgStorageCageDetails!=null&&minTemperingLayoutId!=null){ |
| | | result=edgStorageCageMapper.selectJoinOne(EdgStorageCageDetails.class,new MPJLambdaWrapper<EdgStorageCage>() |
| | | .selectAll(EdgStorageCageDetails.class) |
| | | .leftJoin(EdgStorageCageDetails.class,on->on |
| | | .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId) |
| | | .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot)) |
| | | .isNotNull(EdgStorageCageDetails::getSlot) |
| | | .eq(EdgStorageCageDetails::getWidth,edgStorageCageDetails.getWidth()) |
| | | .eq(EdgStorageCageDetails::getHeight,edgStorageCageDetails.getHeight()) |
| | | .ge(EdgStorageCageDetails::getTemperingLayoutId,minTemperingLayoutId.getTemperingLayoutId()) |
| | | .le(EdgStorageCageDetails::getTemperingLayoutId,minTemperingLayoutId.getTemperingLayoutId()+poor) |
| | | .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId,EdgStorageCageDetails::getTemperingFeedSequence) |
| | | ); |
| | | } |
| | | |
| | | if (result==null){ |
| | | result=edgStorageCageMapper.selectJoinOne(EdgStorageCageDetails.class,new MPJLambdaWrapper<EdgStorageCage>() |
| | | .selectAll(EdgStorageCageDetails.class) |
| | | .leftJoin(EdgStorageCageDetails.class,on->on |
| | | .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId) |
| | | .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot)) |
| | | .isNotNull(EdgStorageCageDetails::getSlot) |
| | | .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId,EdgStorageCageDetails::getTemperingFeedSequence) |
| | | ); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 查询笼内版图差值范围内的 此尺寸玻璃 如无则按照 钢化版图序号 以及玻璃序号 |
| | | * |
| | | * @param glassId |
| | | * @param poor |
| | | * @return |
| | | */ |
| | | @Override |
| | | public EdgStorageCageDetails selectOutGlass(String glassId, int poor) { |
| | | EdgStorageCageDetails oldEdgStorageCageDetails = null; |
| | | if (StringUtils.isNotEmpty(glassId)) { |
| | | oldEdgStorageCageDetails = baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>() |
| | | .selectAll(EdgStorageCageDetails.class) |
| | | .eq(EdgStorageCageDetails::getGlassId, glassId)); |
| | | } |
| | | log.info("按照玻璃id:{}获取玻璃信息{}", glassId, oldEdgStorageCageDetails); |
| | | |
| | | LambdaQueryWrapper<TaskCache> wrapper = new LambdaQueryWrapper<TaskCache>().select(TaskCache::getGlassId).eq(TaskCache::getTaskType, "2"); |
| | | List<TaskCache> taskCacheList = taskCacheService.list(wrapper); |
| | | List<String> glassIds = taskCacheList.stream().map(TaskCache::getGlassId).collect(Collectors.toList()); |
| | | log.info("获取笼内所有已出片的玻璃id信息:{}", glassIds); |
| | | |
| | | //获取笼内最小版图id及版序为最小的玻璃信息(玻璃id不在任务表中的出片记录中) |
| | | EdgStorageCageDetails minTemperingLayoutId = baseMapper.selectOne(new LambdaQueryWrapper<EdgStorageCageDetails>() |
| | | .eq(EdgStorageCageDetails::getState, 100) |
| | | .notIn(CollectionUtils.isNotEmpty(glassIds), EdgStorageCageDetails::getGlassId, glassIds) |
| | |
| | | minTemperingLayoutId.getTemperingFeedSequence(), minTemperingLayoutId); |
| | | |
| | | EdgStorageCageDetails outEdgStorageCageDetails = null; |
| | | |
| | | //todo:获取笼子内最大版图id和最小版图id插值,判断是否大于阈值,大于阈值直接出最小版图玻璃 |
| | | //todo:逻辑1:获取两条线已出最后一块玻璃在笼内相同尺寸所剩数量,优先走数量少的线 |
| | | //todo:逻辑2:优先走空闲的线 |
| | | //todo:需要在卧式理片笼详情表中新增状态,用来表示玻璃进出理片笼情况 |
| | | if (oldEdgStorageCageDetails != null && minTemperingLayoutId != null) { |
| | | log.info("按照上一片已出玻璃宽度{},高度{},及版图id区间{}到{}获取出片任务玻璃信息", oldEdgStorageCageDetails.getWidth() |
| | | , oldEdgStorageCageDetails.getHeight(), minTemperingLayoutId.getTemperingLayoutId(), minTemperingLayoutId.getTemperingLayoutId() + poor); |
| | | outEdgStorageCageDetails = edgStorageCageMapper.selectJoinOne(EdgStorageCageDetails.class, new MPJLambdaWrapper<EdgStorageCage>() |
| | | .selectAll(EdgStorageCageDetails.class) |
| | | .leftJoin(EdgStorageCageDetails.class, on -> on |
| | | .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId) |
| | | .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)) |
| | | .isNotNull(EdgStorageCageDetails::getSlot) |
| | | outEdgStorageCageDetails = this.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>() |
| | | .notIn(CollectionUtils.isNotEmpty(glassIds), EdgStorageCageDetails::getGlassId, glassIds) |
| | | .eq(EdgStorageCageDetails::getWidth, oldEdgStorageCageDetails.getWidth()) |
| | | .eq(EdgStorageCageDetails::getHeight, oldEdgStorageCageDetails.getHeight()) |
| | | .ge(EdgStorageCageDetails::getTemperingLayoutId, minTemperingLayoutId.getTemperingLayoutId()) |
| | | .le(EdgStorageCageDetails::getTemperingLayoutId, minTemperingLayoutId.getTemperingLayoutId() + poor) |
| | | .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId, EdgStorageCageDetails::getTemperingFeedSequence) |
| | | .last("limit 1") |
| | | ); |
| | | .last("limit 1")); |
| | | log.info("出片任务的玻璃信息:{}", outEdgStorageCageDetails); |
| | | } |
| | | |
| | | if (outEdgStorageCageDetails == null) { |
| | | outEdgStorageCageDetails = minTemperingLayoutId; |
| | | // outEdgStorageCageDetails = edgStorageCageMapper.selectJoinOne(EdgStorageCageDetails.class, new MPJLambdaWrapper<EdgStorageCage>() |
| | | // .selectAll(EdgStorageCageDetails.class) |
| | | // .leftJoin(EdgStorageCageDetails.class, on -> on |
| | | // .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId) |
| | | // .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)) |
| | | // .isNotNull(EdgStorageCageDetails::getSlot) |
| | | // .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId, EdgStorageCageDetails::getTemperingFeedSequence) |
| | | // .last("limit 1") |
| | | // ); |
| | | } |
| | | return outEdgStorageCageDetails; |
| | | } |
| | |
| | | int endcell = 0; |
| | | |
| | | List<TaskCache> oldTaskCacheList; |
| | | log.info("2、判断出片线路,获取最后该条线已出片的任务信息(备注:0待执行,1已执行),都空闲优先出A09线"); |
| | | if (line == 2) { |
| | | endcell = 2002; |
| | | endcell = Const.A10_OUT_TARGET_POSITION; |
| | | oldTaskCacheList = taskCacheService.selectLastOutCacheInfos(Const.A10_OUT_TARGET_POSITION); |
| | | } else { |
| | | endcell = 2001; |
| | | endcell = Const.A09_OUT_TARGET_POSITION; |
| | | oldTaskCacheList = taskCacheService.selectLastOutCacheInfos(Const.A09_OUT_TARGET_POSITION); |
| | | } |
| | | log.info("2、判断出片线路{},获取最后该条线已出片的任务信息{}(备注:0待执行,1已执行).都空闲优先出A09线", endcell, oldTaskCacheList); |
| | | |
| | | String glassId = ""; |
| | | if (CollectionUtil.isNotEmpty(oldTaskCacheList)) { |
| | | glassId = oldTaskCacheList.get(0).getGlassId(); |
| | | } |
| | | log.info("3、按照历史已出玻璃id{}和阈值{},拿出理片笼内的出片信息", glassId, threshold); |
| | | EdgStorageCageDetails glassInfo = edgStorageCageDetailsService.selectConformGlass(glassId, threshold); |
| | | EdgStorageCageDetails glassInfo = edgStorageCageDetailsService.selectOutGlass(glassId, threshold); |
| | | log.info("3、按照历史已出玻璃id{}和阈值{},拿出理片笼内的出片信息{}", glassId, threshold, glassInfo); |
| | | |
| | | if (glassInfo != null) { |
| | | log.info("4、添加出片任务,玻璃id:{},任务类型:{},起始位置:{},结束位置:{}", glassInfo.getGlassId(), |
| | |
| | | package com.mes.taskcache.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.mes.edgstoragecage.entity.EdgStorageCageDetails; |
| | | import com.mes.glassinfo.entity.GlassInfo; |
| | | import com.mes.taskcache.entity.TaskCache; |
| | | |
| | | import java.util.List; |
| | |
| | | * @param line |
| | | * @return |
| | | */ |
| | | List<TaskCache> selectLastOutCacheInfos(String line); |
| | | List<TaskCache> selectLastOutCacheInfos(int line); |
| | | |
| | | /** |
| | | * 查询 A09 或 A10 最新的一片 出片任务 |
| | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import static com.mes.tools.InitUtil.readAndUpdateWordValues; |
| | | //import static com.mes.tools.InitUtil.readAndUpdateWordValues; |
| | | |
| | | public class PLCAutoMes extends Thread { |
| | | |
| | |
| | | // System.out.println(jsonFilePath); |
| | | |
| | | // readAndUpdateWordValues(PlcReadObject); |
| | | readAndUpdateWordValues(PlcMesObject); |
| | | //readAndUpdateWordValues(PlcMesObject); |
| | | |
| | | List<String> addresses = new ArrayList<>(); |
| | | addresses.add("FeedID"); |
| | |
| | | *修改理片笼信息 功能:对笼内栅格玻璃 【添加/删除/更换】 |
| | | */ |
| | | boolean updateDownStorageCageDetails(int downStorageCageId,DownStorageCageDetails downStorageCageDetails); |
| | | |
| | | /** |
| | | * @return 查询笼子信息 |
| | | */ |
| | | List<Map<String, Object>> selectDownStorageCages(); |
| | | |
| | | } |
| | |
| | | public boolean updateDownStorageCageDetails(int downStorageCageId,DownStorageCageDetails downStorageCageDetails){ |
| | | DownStorageCage downItem=baseMapper.selectById(downStorageCageId); |
| | | log.info("正常"+downItem); |
| | | if(downStorageCageDetails !=null){ |
| | | DownStorageCageDetails edgDItem=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId()); |
| | | if (downItem!=null){ |
| | | //移除 |
| | | DownStorageCageDetails result=downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot,downStorageCageId)); |
| | | if (result!=null){ |
| | | result.setSlot(0); |
| | | downStorageCageDetailsMapper.updateById(result); |
| | | } |
| | | //添加 |
| | | if(edgDItem!=null){ |
| | | //只传格子 :移除玻璃 |
| | |
| | | downStorageCageDetailsMapper.updateById(newresult); |
| | | } |
| | | } |
| | | |
| | | if (downItem!=null){ |
| | | //移除 |
| | | DownStorageCageDetails result=downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot,downStorageCageId)); |
| | | if (result!=null){ |
| | | result.setSlot(0); |
| | | downStorageCageDetailsMapper.updateById(result); |
| | | } |
| | | |
| | | } |
| | | return true; |
| | | } |
| | | |
| | |
| | | |
| | | @Test |
| | | public void testCacheGlass() { |
| | | List<Map<String, Object>> map = downStorageCageServiceImpl.selectDownStorageCages(); |
| | | log.info("笼内信息:{}", Arrays.asList(map)); |
| | | //List<Map<String, Object>> map = downStorageCageServiceImpl.selectDownStorageCages(); |
| | | // log.info("笼内信息:{}", Arrays.asList(map)); |
| | | downStorageCageServiceImpl.updateDownStorageCageDetails(1,null); |
| | | } |
| | | |
| | | @Test |