diff --git a/.env.dev b/.env.dev index d1492654..29069178 100644 --- a/.env.dev +++ b/.env.dev @@ -1,7 +1,7 @@ ### # @Author: Do not edit # @Date: 2023-08-29 09:40:39 - # @LastEditTime: 2023-11-14 14:00:11 + # @LastEditTime: 2023-11-15 09:09:12 # @LastEditors: zhp # @Description: ### diff --git a/public/static/videos/login.webm b/public/static/videos/login.webm new file mode 100644 index 00000000..4ac1bdd2 Binary files /dev/null and b/public/static/videos/login.webm differ diff --git a/src/api/core/analysis/index.js b/src/api/core/analysis/index.js index 394bbdcf..e5f374e9 100644 --- a/src/api/core/analysis/index.js +++ b/src/api/core/analysis/index.js @@ -1,7 +1,7 @@ /* * @Author: zhp * @Date: 2023-09-12 14:07:04 - * @LastEditTime: 2023-11-07 14:17:38 + * @LastEditTime: 2023-11-10 10:23:43 * @LastEditors: DY * @Description: */ @@ -15,9 +15,10 @@ export function getYieldAnalysisPageData(query) { }) } +// 产线平衡分析 export function getCT(data) { return request({ - url: '/analysis/production-analysis/getCT', + url: '/analysis/equipment-analysis/getCT', method: 'post', data: data }) diff --git a/src/api/equipment/analysis/statistics.js b/src/api/equipment/analysis/statistics.js new file mode 100644 index 00000000..ebd60e17 --- /dev/null +++ b/src/api/equipment/analysis/statistics.js @@ -0,0 +1,27 @@ +/* + * @Author: Do not edit + * @Date: 2023-11-10 09:27:39 + * @LastEditTime: 2023-11-10 09:30:00 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +// 获得设备统计分析 +export function getEqAnalysis(query) { + return request({ + url: '/analysis/equipment-analysis/statistics', + method: 'get', + params: query + }) +} + +// 导出设备统计分析 +export function exportEqAnalysisExcel(query) { + return request({ + url: '/analysis/equipment-analysis/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} \ No newline at end of file diff --git a/src/api/equipment/base/alarm/records.js b/src/api/equipment/base/alarm/records.js new file mode 100644 index 00000000..8a4104ca --- /dev/null +++ b/src/api/equipment/base/alarm/records.js @@ -0,0 +1,60 @@ +/* + * @Author: Do not edit + * @Date: 2023-11-08 15:56:52 + * @LastEditTime: 2023-11-09 17:42:27 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +// 创建设备报警处理 +export function createAlarmHand(data) { + return request({ + url: '/base/equipment-alarm-hand/create', + method: 'post', + data: data + }) +} + +// 更新设备报警处理 +export function updateAlarmHand(data) { + return request({ + url: '/base/equipment-alarm-hand/update', + method: 'put', + data: data + }) +} + +// 删除设备报警处理 +export function deleteAlarmHand(id) { + return request({ + url: '/base/equipment-alarm-hand/delete?id=' + id, + method: 'delete' + }) +} + +//获得设备报警处理 +export function getAlarmHand(id) { + return request({ + url: '/base/equipment-alarm-hand/get?id=' + id, + method: 'get' + }) +} + +// 获得设备报警处理分页 +export function getAlarmHandPage(query) { + return request({ + url: '/base/equipment-alarm-hand/page', + method: 'get', + params: query + }) +} + + +//获得设备报警记录 +export function getAlarmLog(id) { + return request({ + url: '/base/equipment-alarm-log/get?id=' + id, + method: 'get' + }) +} diff --git a/src/api/equipment/base/inspection/record.js b/src/api/equipment/base/inspection/record.js new file mode 100644 index 00000000..5c0e2cb2 --- /dev/null +++ b/src/api/equipment/base/inspection/record.js @@ -0,0 +1,62 @@ +/* + * @Author: Do not edit + * @Date: 2023-11-08 15:56:52 + * @LastEditTime: 2023-11-11 19:52:54 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +// 根据设备获得所有巡检内容列表 +export function getcheckAllList(query) { + return request({ + url: '/base/equipment-check/listAll', + method: 'get', + params: query + }) +} + +// 创建设备巡检计划记录 +export function createCheckLog(data) { + return request({ + url: '/base/equipment-check-log/create', + method: 'post', + data: data + }) +} + +// 更新设备巡检计划记录 +export function updateCheckLog(data) { + return request({ + url: '/base/equipment-check-log/update', + method: 'put', + data: data + }) +} + +// 获得设备巡检计划记录 +export function getEqCheckLog(id) { + return request({ + url: '/base/equipment-check-log/get?id=' + id, + method: 'get' + }) +} + +// 导出设备巡检计划记录 +export function exportCheckLogExcel(query) { + return request({ + url: '/base/equipment-check-log/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + +// 根据设备获得所有巡检配置列表 +export function getcheckConfigByEqList(query) { + return request({ + url: '/base/equipment-check-config/list', + method: 'get', + params: query + }) +} diff --git a/src/api/equipment/base/inspection/settings.js b/src/api/equipment/base/inspection/settings.js new file mode 100644 index 00000000..8d2ad8c9 --- /dev/null +++ b/src/api/equipment/base/inspection/settings.js @@ -0,0 +1,68 @@ +/* + * @Author: Do not edit + * @Date: 2023-11-08 15:56:52 + * @LastEditTime: 2023-11-10 09:04:50 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +// 获得设备巡检设置 +export function getEqCheck(id) { + return request({ + url: '/base/equipment-check-config/get?id=' + id, + method: 'get' + }) +} + +// 创建巡检项目 +export function createCheckDet(data) { + return request({ + url: '/base/equipment-check-config-det/create', + method: 'post', + data: data + }) +} + +// 更新巡检项目 +export function updateCheckDet(data) { + return request({ + url: '/base/equipment-check-config-det/update', + method: 'put', + data: data + }) +} + +// 删除巡检项目 +export function deleteCheckDet(id) { + return request({ + url: '/base/equipment-check-config-det/delete?id=' + id, + method: 'delete' + }) +} + +//巡检项目 +export function getCheckDet(id) { + return request({ + url: '/base/equipment-check-config-det/get?id=' + id, + method: 'get' + }) +} + +// 获得巡检项目分页 +export function getCheckDetPage(query) { + return request({ + url: '/base/equipment-check-config-det/page', + method: 'get', + params: query + }) +} + +// 获得x巡检所有列表 +export function getcheckList(query) { + return request({ + url: '/base/equipment-check/list', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/src/api/equipment/base/repair.js b/src/api/equipment/base/repair.js new file mode 100644 index 00000000..a93e4a9f --- /dev/null +++ b/src/api/equipment/base/repair.js @@ -0,0 +1,25 @@ +/* + * @Author: Do not edit + * @Date: 2023-11-10 16:09:33 + * @LastEditTime: 2023-11-10 16:50:08 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +//获得设备维修 +export function getEqRepair(id) { + return request({ + url: '/base/equipment-repair-log/get?id=' + id, + method: 'get' + }) +} + +// 更新设备维修记录 +export function updateEqRepair(data) { + return request({ + url: '/base/equipment-repair-log/update', + method: 'put', + data: data + }) +} \ No newline at end of file diff --git a/src/api/equipment/base/spare-parts/config.js b/src/api/equipment/base/spare-parts/config.js new file mode 100644 index 00000000..b2201cad --- /dev/null +++ b/src/api/equipment/base/spare-parts/config.js @@ -0,0 +1,51 @@ +/* + * @Author: Do not edit + * @Date: 2023-11-11 16:18:57 + * @LastEditTime: 2023-11-11 17:28:54 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +//获得备品备件配置 +export function getSparePartConfig(id) { + return request({ + url: '/base/equipment-spare-part-config/get?id=' + id, + method: 'get' + }) +} + +// 创建设备备品备件配置--抽屉 +export function createConfigDet(data) { + return request({ + url: '/base/equipment-spare-part-config-det/create', + method: 'post', + data: data + }) +} + +// 删除设备备品备件配置--抽屉 +export function deleteConfigDet(id) { + return request({ + url: '/base/equipment-spare-part-config-det/delete?id=' + id, + method: 'delete' + }) +} + +// 获得抽屉表格分页 +export function getConfigDetPage(query) { + return request({ + url: '/base/equipment-spare-part-config-det/page', + method: 'get', + params: query + }) +} + +// 获得备品备件列表 +export function getSparePartList(query) { + return request({ + url: '/base/equipment-spare-part/list', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/src/api/equipment/base/spare-parts/monitor.js b/src/api/equipment/base/spare-parts/monitor.js new file mode 100644 index 00000000..af4f2a42 --- /dev/null +++ b/src/api/equipment/base/spare-parts/monitor.js @@ -0,0 +1,45 @@ +/* + * @Author: Do not edit + * @Date: 2023-11-11 16:18:57 + * @LastEditTime: 2023-11-11 18:44:51 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +// 获得抽屉表格分页 +export function getConfigDetMonitorPage(query) { + return request({ + url: '/base/equipment-spare-part-config-det/monitor', + method: 'get', + params: query + }) +} + +// 创建设备备品备件更换log +export function createSparePartLog(data) { + return request({ + url: '/base/equipment-spare-part-log/create', + method: 'post', + data: data + }) +} + +// 获得设备备品备件更换log分页 +export function getSparePartLogPage(query) { + return request({ + url: '/base/equipment-spare-part-log/page', + method: 'get', + params: query + }) +} + +// 导出设备备品备件更换log +export function exportSparePartLogExcel(query) { + return request({ + url: '/base/equipment-spare-part-log/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/src/assets/icons/svg/exitbtn.svg b/src/assets/icons/svg/exitbtn.svg new file mode 100644 index 00000000..8b8b0eff --- /dev/null +++ b/src/assets/icons/svg/exitbtn.svg @@ -0,0 +1,12 @@ + + + exit + + + + + + + + + \ No newline at end of file diff --git a/src/assets/icons/svg/helpbtn.svg b/src/assets/icons/svg/helpbtn.svg new file mode 100644 index 00000000..5960b5b3 --- /dev/null +++ b/src/assets/icons/svg/helpbtn.svg @@ -0,0 +1,20 @@ + + + 编组 17 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/choicepart/Core.png b/src/assets/images/choicepart/Core.png new file mode 100644 index 00000000..f1d1b73d Binary files /dev/null and b/src/assets/images/choicepart/Core.png differ diff --git a/src/assets/images/choicepart/Delivery.png b/src/assets/images/choicepart/Delivery.png new file mode 100644 index 00000000..b0331ade Binary files /dev/null and b/src/assets/images/choicepart/Delivery.png differ diff --git a/src/assets/images/choicepart/Energy.png b/src/assets/images/choicepart/Energy.png new file mode 100644 index 00000000..a6511565 Binary files /dev/null and b/src/assets/images/choicepart/Energy.png differ diff --git a/src/assets/images/choicepart/Equipment.png b/src/assets/images/choicepart/Equipment.png new file mode 100644 index 00000000..763e5396 Binary files /dev/null and b/src/assets/images/choicepart/Equipment.png differ diff --git a/src/assets/images/choicepart/Extend.png b/src/assets/images/choicepart/Extend.png new file mode 100644 index 00000000..ae319647 Binary files /dev/null and b/src/assets/images/choicepart/Extend.png differ diff --git a/src/assets/images/choicepart/Group.png b/src/assets/images/choicepart/Group.png new file mode 100644 index 00000000..3c16e819 Binary files /dev/null and b/src/assets/images/choicepart/Group.png differ diff --git a/src/assets/images/choicepart/Material.png b/src/assets/images/choicepart/Material.png new file mode 100644 index 00000000..b4b1364a Binary files /dev/null and b/src/assets/images/choicepart/Material.png differ diff --git a/src/assets/images/choicepart/Order.png b/src/assets/images/choicepart/Order.png new file mode 100644 index 00000000..7c8a3216 Binary files /dev/null and b/src/assets/images/choicepart/Order.png differ diff --git a/src/assets/images/choicepart/Packaging.png b/src/assets/images/choicepart/Packaging.png new file mode 100644 index 00000000..60ccd89e Binary files /dev/null and b/src/assets/images/choicepart/Packaging.png differ diff --git a/src/assets/images/choicepart/Quality.png b/src/assets/images/choicepart/Quality.png new file mode 100644 index 00000000..e6680dfa Binary files /dev/null and b/src/assets/images/choicepart/Quality.png differ diff --git a/src/assets/images/choicepart/Report.png b/src/assets/images/choicepart/Report.png new file mode 100644 index 00000000..a103eede Binary files /dev/null and b/src/assets/images/choicepart/Report.png differ diff --git a/src/assets/images/choicepart/System.png b/src/assets/images/choicepart/System.png new file mode 100644 index 00000000..30a1a7e8 Binary files /dev/null and b/src/assets/images/choicepart/System.png differ diff --git a/src/assets/images/choicepart/Warehouse.png b/src/assets/images/choicepart/Warehouse.png new file mode 100644 index 00000000..d808730d Binary files /dev/null and b/src/assets/images/choicepart/Warehouse.png differ diff --git a/src/assets/images/choicepart/avatar.png b/src/assets/images/choicepart/avatar.png new file mode 100644 index 00000000..4b1f623a Binary files /dev/null and b/src/assets/images/choicepart/avatar.png differ diff --git a/src/assets/images/choicepart/choice-item-back.png b/src/assets/images/choicepart/choice-item-back.png new file mode 100644 index 00000000..1cddcef5 Binary files /dev/null and b/src/assets/images/choicepart/choice-item-back.png differ diff --git a/src/assets/images/choicepart/choicepart-back.png b/src/assets/images/choicepart/choicepart-back.png new file mode 100644 index 00000000..2f7a3de4 Binary files /dev/null and b/src/assets/images/choicepart/choicepart-back.png differ diff --git a/src/assets/images/cnbm.png b/src/assets/images/cnbm.png new file mode 100644 index 00000000..ed7d3fdf Binary files /dev/null and b/src/assets/images/cnbm.png differ diff --git a/src/assets/images/login-bg.png b/src/assets/images/login-bg.png new file mode 100644 index 00000000..0156badd Binary files /dev/null and b/src/assets/images/login-bg.png differ diff --git a/src/assets/logo/cnbm.png b/src/assets/logo/cnbm.png new file mode 100644 index 00000000..ed7d3fdf Binary files /dev/null and b/src/assets/logo/cnbm.png differ diff --git a/src/assets/styles/login.scss b/src/assets/styles/login.scss index 7efb2546..db9f3a47 100644 --- a/src/assets/styles/login.scss +++ b/src/assets/styles/login.scss @@ -1,10 +1,13 @@ /* ===== PC DESIGN ===== */ -$W: 1000; +$W: 1080; $H: 1920; -$picW: 438; -$picH: 560; -$formW: 320; +// $picW: 438; +// $picH: 560; +$picW: 1080; +$picH: 1118; +$formW: 420; $tabW: $formW / 2; +// $rowH: 56; $rowH: 56; $buttonH: 50; @@ -15,6 +18,7 @@ $containerBgImage: '../assets/images/bg.png'; $logoWidth: 417px; $logoHeight: 64px; $logoImage: '../assets/logo/login-logo.png'; +$cnbmLogo: '../assets/logo/cnbm.png'; // container-content $contentWidth: round($W / $H * 100) * 1vw; $contentHeight: round($picH / $W * 100) / 100 * $contentWidth; @@ -22,7 +26,8 @@ $contentBgColor: #ffffff; // container-content-pic $picWidth: round($picW / $H * 100) * 1vw; $picHeight: inherit; -$picImage: '../assets/images/pic.png'; +// $picImage: '../assets/images/pic.png'; +$picImage: '../assets/images/login-bg.png'; // container-content-field $fieldWidth: $contentWidth - $picWidth; $fieldHeight: inherit; @@ -34,231 +39,309 @@ $buttonHeight: $buttonH * 1px; // - - - - - 页面基础设置 .container { - .login-code { - width: 33%; - height: 38px; - float: right; - img { - cursor: pointer; - width:100%;max-width:100px; height:auto; - vertical-align: middle; - } - } - // 元素 - width: inherit; - height: inherit; - min-width: 1080px; - min-height: 620px; - background-color: $containerBgColor; - background-image: url($containerBgImage); - background-size: cover; - // 定位 - position: relative; - display: flex; - justify-content: center; - align-items: center; - // 文字 - font-size: 14px; - font-family: Microsoft YaHei; - font-weight: 400; - .logo { - // 元素 - width: $logoWidth; - height: $logoHeight; - // background-image: url($logoImage); - // background-size: contain; - // 定位 - position: absolute; - top: 50px; - left: 50%; - margin-left: -$logoWidth/2; - } - .content { - // 元素 - width: $contentWidth; - height: $contentHeight; - background-color: #ffffff; - box-shadow: 0px 16px 40px rgba(0, 0, 0, 0.07); - border-radius: 20px; - // 定位 - position: relative; - .pic { - // 元素 - width: $picWidth; - height: $picHeight; - background-image: url($picImage); - background-repeat: no-repeat; - background-size: cover; - border-radius: 20px 0 0 20px; - // 定位 - position: absolute; - top: 0; - left: 0; - } - .field { - width: $fieldWidth; - height: $fieldHeight; - // 定位 - position: absolute; - top: 0; - left: $picWidth; - display:flex; - justify-content: center; - align-items: center; - .pc-title{ width: 100%; clear: both;} - .mobile-title, - .mobile-switch { - display: none; - } - .form { - box-sizing: border-box; - width: $formWidth; - // - - - tab - :deep(.el-tabs__content) { - padding: 20px 0 0; - } - :deep(.el-tabs__item) { - // 元素 - width: $tabWidth; - height: $rowHeight; - padding: 0; - // 文字 - line-height: $rowHeight; - color: #666666; - } - :deep(.el-tabs__item.is-active) { - font-weight: bold; - color: #2F53EB; - } - :deep(.el-tabs__active-bar) { - height: 3px; - border-radius: 2px; - } - // - - - input - :deep(.el-input__inner) { - // 元素 - width: 100%; - height: $rowHeight; - background: #f5f5f5; - border: 0; - border-radius: 28px; - // 文字 - text-align: center; - line-height: 19px; - color: #262626; - } - .code:deep(.el-input__inner) { - padding: 0 24px; - // 文字 - text-align: left; - } - :deep(.el-input__inner::-webkit-input-placeholder) { /* WebKit browsers */ - font-weight: 400; - color: #8C8C8C; - } - :deep(.el-input__inner:-moz-placeholder) { /* Mozilla Firefox 4 to 18 */ - font-weight: 400; - color: #8C8C8C; - } - :deep(.el-input__inner::-moz-placeholder) { /* Mozilla Firefox 19+ */ - font-weight: 400; - color: #8C8C8C; - opacity:1; - } - :deep(.el-input__inner:-ms-input-placeholder) { /* Internet Explorer 10+ */ - font-weight: 400; - color: #8C8C8C !important; - } - :deep(.el-form-item) { - position: relative; - .button-code { - // 元素 - height: $rowHeight; - box-sizing: border-box; - // 定位 - position: absolute; - top: 0; - right: 20px; - z-index: 1; - // 文字 - line-height: 20px; - font-size: 14px; - font-family: PingFang SC; - font-weight: 400; - color: #2F53EB; - span { - padding-left: 15px; - border-left: 2px solid #D9D9D9; - } - } - } - :deep(.el-form-item__error) { - padding-left: 24px; - } - .button { - width: 100%; - height: $buttonHeight; - background: rgba(24, 144, 255, 0.2); - border: 0; - border-radius: 24px; - margin-bottom: 20px; - // 文字 - line-height: 26px; - font-size: 20px; - color: #FFFFFF; - } - .button-active { - background: #2F53EB; - box-shadow: 0px 2px 8px rgba(0, 80, 184, 0.2); - } - } - } - } - .footer { - // 元素 - height: 16px; - line-height: 16px; - font-size: 12px; - color: #8c8c8c; - // 定位 - position: absolute; - bottom: 30px; - a, - a:hover, - a:active { - color: inherit; - text-decoration: none; - } - } + .login-code { + width: 33%; + height: 38px; + float: right; + img { + cursor: pointer; + width: 100%; + max-width: 100px; + height: auto; + vertical-align: middle; + } + } + // 元素 + width: inherit; + height: inherit; + min-width: 1080px; + min-height: 620px; + background-color: $containerBgColor; + // background-image: url($containerBgImage); + background-size: cover; + // 定位 + position: relative; + display: flex; + justify-content: center; + align-items: center; + // 文字 + font-size: 14px; + font-family: Microsoft YaHei; + font-weight: 400; + .logo { + // 元素 + width: $logoWidth; + height: $logoHeight; + // background-image: url($logoImage); + // background-size: contain; + // 定位 + position: absolute; + top: 50px; + left: 50%; + margin-left: -$logoWidth/2; + } + .content { + // 元素 + // width: $contentWidth; + // height: $contentHeight; + width: 100%; + height: 100%; + background-color: #ffffff; + // box-shadow: 0px 16px 40px rgba(0, 0, 0, 0.07); + // border-radius: 20px; + // 定位 + position: relative; + display: flex; + + .pic { + // 元素 + width: $picWidth; + height: $picHeight; + background-image: url($picImage); + background-repeat: no-repeat; + background-size: 100% 100%; + background-position: 0 0; + position: relative; + &::after { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + // background: #f003; + display: inline-block; + } + } + .field { + // background: #ccc3; + position: relative; + padding-top: 196px; + flex: 1; + display: flex; + flex-direction: column; + // justify-content: center; + align-items: center; + .pc-title { + width: 100%; + text-align: center; + clear: both; + position: relative; + top: -36px; + + // h3.title { + // position: relative; + + // &::before { + // content: ''; + // background: url($cnbmLogo) 100% / 100% no-repeat; + // height: 48px; + // width: 48px; + // position: absolute; + // left: 0px; + // top: 4px; + // display: inline-block; + // } + // } + } + .mobile-title, + .mobile-switch { + display: none; + } + .form { + margin-top: 32px; + box-sizing: border-box; + // width: $formWidth; + width: 100%; + // - - - tab + :deep(.el-tabs__nav) { + // background: #f0f3; + } + :deep(.el-tabs__content) { + padding: 20px 0 0; + } + :deep(.el-tabs__item) { + user-select: none; + // 元素 + width: $tabWidth; + height: $rowHeight; + padding: 0; + // 文字 + line-height: $rowHeight; + color: #666666; + font-size: 18px; + font-weight: 400; + text-align: center; + } + :deep(.el-tabs__item.is-active) { + font-weight: 500; + color: #2f53eb; + } + :deep(.el-tabs__active-bar) { + height: 3px; + border-radius: 2px; + } + // - - - input + :deep(.el-input__inner) { + // 元素 + width: 100%; + height: $rowHeight; + background: #f5f5f5; + border: 0; + border-radius: 28px; + // 文字 + text-align: center; + line-height: 19px; + color: #262626; + } + .code:deep(.el-input__inner) { + padding: 0 24px; + // 文字 + text-align: left; + } + :deep(.el-input__inner::-webkit-input-placeholder) { + /* WebKit browsers */ + font-weight: 400; + color: #8c8c8c; + } + :deep(.el-input__inner:-moz-placeholder) { + /* Mozilla Firefox 4 to 18 */ + font-weight: 400; + color: #8c8c8c; + } + :deep(.el-input__inner::-moz-placeholder) { + /* Mozilla Firefox 19+ */ + font-weight: 400; + color: #8c8c8c; + opacity: 1; + } + :deep(.el-input__inner:-ms-input-placeholder) { + /* Internet Explorer 10+ */ + font-weight: 400; + color: #8c8c8c !important; + } + :deep(.el-form-item) { + position: relative; + .button-code { + // 元素 + height: $rowHeight; + box-sizing: border-box; + // 定位 + position: absolute; + top: 0; + right: 20px; + z-index: 1; + // 文字 + line-height: 20px; + font-size: 14px; + font-family: PingFang SC; + font-weight: 400; + color: #2f53eb; + span { + padding-left: 15px; + border-left: 2px solid #d9d9d9; + } + } + } + :deep(.el-form-item__error) { + padding-left: 24px; + } + .button { + width: 100%; + height: $buttonHeight; + background: rgba(24, 144, 255, 0.2); + border: 0; + border-radius: 24px; + margin-bottom: 20px; + // 文字 + line-height: 26px; + font-size: 20px; + color: #ffffff; + } + .button-active { + background: #2f53eb; + box-shadow: 0px 2px 8px rgba(0, 80, 184, 0.2); + } + } + } + } + + .login-form { + * { + user-select: none; + } + // - - - input + :deep(.el-input__inner) { + // 元素 + width: 420px; + height: 66px; + color: #262626; + font-size: 18px; + } + :deep(.el-checkbox__label) { + font-size: 18px; + line-height: 14px; + } + } + + .footer { + user-select: none; + // 元素 + height: 16px; + line-height: 16px; + font-size: 12px; + color: #8c8c8c; + // 定位 + position: absolute; + bottom: 30px; + a, + a:hover, + a:active { + color: inherit; + text-decoration: none; + } + } } // - - - - - PC 最小尺寸设置 @media screen and (min-width: 599px) and (max-width: 1366px) { - .container { - .content { - width: 710px; - height: 397px; - .pic { - width: 314px; - } - .field { - width: calc(710px - 314px); - left: 314px; - .form { - width: 320px; - :deep(.el-input__inner) { - width: 320px; - height: 56px; - } - .button { - height: 50px; - } - } - } - } - } -} + .container { + min-width: 599px; + .content { + // width: 710px; + // height: 397px; + width: 100%; + height: 100%; + .pic { + // width: 314px; + display: none; + } + .field { + // width: calc(710px - 314px); + // left: 314px; + // justify-content: center; + width: 100%; + .pc-title { + h3 { + font-size: 2.4rem !important; + } + } + + .form { + // width: 320px; + :deep(.el-input__inner) { + width: 320px; + height: 56px; + } + .button { + height: 50px; + } + } + } + } + } +} /* ===== MOBILE DESIGN ===== */ $mobileW: 375; @@ -273,115 +356,142 @@ $mobileButtonH: 48; $mobileContainerBgImage: '../assets/images/bg-mobile.png'; // container-content $mobileContentWidth: round($mobileContentW / $mobileW * 100) * 1vw; -$mobileContentHeight: round($mobileContentH / $mobileW * 100) / 100 * $mobileContentWidth; +$mobileContentHeight: round($mobileContentH / $mobileW * 100) / 100 * + $mobileContentWidth; // container-content-field-form -$mobileFormWidth: round($mobileFormW / $mobileW *100) * 1vw; +$mobileFormWidth: round($mobileFormW / $mobileW * 100) * 1vw; $mobileRowHeight: $mobileRowH * 1px; $mobileButtonHeight: $mobileButtonH * 1px; $iconBgImage: '../assets/images/icon.png'; // - - - - - 移动端设置 @media screen and (max-width: 599px) { - .container { - // 元素 - background-image: url($mobileContainerBgImage); - min-width: 280px; - min-height: 568px; - // 文字 - font-size: 17px; - font-family: PingFang SC; - font-weight: bold; - .logo { - display: none; - } + .container { + // 元素 + background-image: url($mobileContainerBgImage); + min-width: 280px; + min-height: 568px; + // 文字 + font-size: 14px; + font-family: PingFang SC; + font-weight: bold; + .logo { + display: none; + } - .content { - // 元素 - width: $mobileContentWidth; - height: $mobileContentHeight; - min-width: 250px; - min-height: 340px; - // 定位 - display: flex; - justify-content: center; - align-items: center; - .pic { - display: none; - } - .field { - // 元素 - width: inherit; - min-height: inherit; - // 定位 - left: 0; - display: flex; - flex-direction: column; - .mobile-title { - // 元素 - margin: 0 0 20px; - display: block; - } - .form { - width: $mobileFormWidth; - // - - - tab - :deep(.el-tabs__header) { - display: none; - } - :deep(.el-tabs__content) { - padding: 0; - } - // - - - input - :deep(.el-input__inner) { - height: $mobileRowHeight; - line-height: 24px; - // 文字 - text-align: center; - color: #262626; - } - :deep(.el-form-item) { - .button-code { - // 元素 - height: $mobileRowHeight; - } - } - .button { - height: $mobileButtonHeight; - line-height: 24px; - color: #FFFFFF; - } - } - .mobile-switch { - display: block; - line-height: 20px; - font-size: 14px; - font-weight: 400; - color: #595959; - margin: 0; - .icon { - width: 14px; - height: 14px; - display: inline-block; - background-image: url($iconBgImage); - background-size: cover; - } - } - .mobile-switch:hover { - cursor: pointer; - } - } - } - .footer { - // 元素 - font-size: 12px; - font-family: PingFang SC; - font-weight: 400; - line-height: 17px; - color: #333333; - opacity: 0.6; - // 定位 - position: absolute; - bottom: 20px; - } - } + .pc-title { + display: none; + } + .content { + // 元素 + width: $mobileContentWidth; + height: $mobileContentHeight; + min-width: 250px; + min-height: 340px; + // 定位 + display: flex; + justify-content: center; + align-items: center; + .pic { + display: none; + } + .field { + padding: 0; + // 元素 + width: inherit; + min-height: inherit; + // 定位 + left: 0; + display: flex; + flex-direction: column; + + .mobile-title { + // 元素 + margin: 0; + display: block; + } + + .form { + margin: 0; + width: $mobileFormWidth; + // - - - tab + :deep(.el-tabs__header) { + display: none; + } + :deep(.el-tabs__content) { + padding: 0; + } + // - - - input + :deep(.el-input__inner) { + height: $mobileRowHeight; + line-height: 24px; + // 文字 + text-align: center; + color: #262626; + } + :deep(.el-form-item) { + .button-code { + // 元素 + height: $mobileRowHeight; + } + } + .button { + height: $mobileButtonHeight; + line-height: 24px; + color: #ffffff; + } + } + + .login-form { + :deep(.el-input__inner) { + height: $mobileRowHeight; + line-height: 24px; + // 文字 + text-align: center; + color: #262626; + } + + :deep(#button-form-item) { + margin: 0 !important; + button { + // 元素 + height: $mobileRowHeight; + } + } + } + .mobile-switch { + display: block; + line-height: 20px; + font-size: 14px; + font-weight: 400; + color: #595959; + margin: 0; + .icon { + width: 14px; + height: 14px; + display: inline-block; + background-image: url($iconBgImage); + background-size: cover; + } + } + .mobile-switch:hover { + cursor: pointer; + } + } + } + + .footer { + // 元素 + font-size: 12px; + font-family: PingFang SC; + font-weight: 400; + line-height: 17px; + color: #333333; + opacity: 0.6; + // 定位 + // position: absolute; + bottom: -32px; + } + } } diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index 4902d3d8..d7c255e2 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -35,7 +35,7 @@ export default { const first = matched[0] if (!this.isDashboard(first)) { - matched = [{ path: '/index', meta: { title: '首页' }}].concat(matched) + matched = [{ path: '/', meta: { title: '首页' }}].concat(matched) } this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) diff --git a/src/components/DialogForm/index.vue b/src/components/DialogForm/index.vue index f0c324ea..4449dab1 100644 --- a/src/components/DialogForm/index.vue +++ b/src/components/DialogForm/index.vue @@ -66,7 +66,10 @@ :key="col.key" :disabled="disabled" :is="col.subcomponent" - :inlineStyle="col.style"> + v-model="form[col.prop]" + :inlineStyle="col.style" + @on-change="$emit('update', form)" + v-bind="col.bind">
- 选取文件 + 选取文件
请上传 @@ -66,6 +66,11 @@ export default { isShowTip: { type: Boolean, default: true + }, + // 是否禁用 + disabled: { + type: Boolean, + default: false } }, data() { @@ -179,6 +184,7 @@ export default { }, // 获取文件名称 getFileName(name) { + console.log('你好', name) if (name.lastIndexOf("/") > -1) { return name.slice(name.lastIndexOf("/") + 1); } else { diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 655a9ab5..c23172b9 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -5,8 +5,12 @@ -
- + - -
+ - {{ nickname }} + - + +
@@ -51,7 +55,8 @@ import Screenfull from '@/components/Screenfull' import SizeSelect from '@/components/SizeSelect' import Search from '@/components/HeaderSearch' import NotifyMessage from '@/layout/components/Message' -import {getPath} from "@/utils/ruoyi"; +// import {getPath} from "@/utils/ruoyi"; +import NavbarRight from './NavbarRight.vue' export default { components: { @@ -61,7 +66,8 @@ export default { Screenfull, SizeSelect, Search, - NotifyMessage + NotifyMessage, + NavbarRight }, computed: { ...mapGetters([ diff --git a/src/layout/components/NavbarRight.vue b/src/layout/components/NavbarRight.vue new file mode 100644 index 00000000..66460aff --- /dev/null +++ b/src/layout/components/NavbarRight.vue @@ -0,0 +1,111 @@ + + + \ No newline at end of file diff --git a/src/layout/components/Sidebar/SidebarItem copy.vue b/src/layout/components/Sidebar/SidebarItem copy.vue new file mode 100644 index 00000000..7880cbba --- /dev/null +++ b/src/layout/components/Sidebar/SidebarItem copy.vue @@ -0,0 +1,96 @@ + + + diff --git a/src/layout/components/Sidebar/index copy.vue b/src/layout/components/Sidebar/index copy.vue new file mode 100644 index 00000000..79f2dc38 --- /dev/null +++ b/src/layout/components/Sidebar/index copy.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index 79f2dc38..bac19f28 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -28,7 +28,7 @@ mode="vertical"> @@ -47,7 +47,12 @@ export default { components: { SidebarItem, Logo }, computed: { ...mapState(['settings']), - ...mapGetters(['sidebarRouters', 'sidebar']), + ...mapGetters(['sidebarRouters', 'sidebar', 'choicepart']), + routeList() { + // return [this.partList[this.choicepart]] + // return [this.sidebarRouters[29]] + return [this.sidebarRouters[this.choicepart]] + }, activeMenu() { const route = this.$route; const { meta, path } = route; diff --git a/src/router/index.js b/src/router/index.js index 745364c7..b7ea83f8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -71,17 +71,23 @@ export const constantRoutes = [ }, { path: '/', - component: Layout, - // redirect: 'core/base/factory', - // children: [{ - // path: 'index', - // redirect: 'core/base/factory', - // component: (resolve) => require(['@/views/index'], resolve), - // name: '首页', - // meta: { title: '首页', icon: 'dashboard', affix: true } - // } - // ] + component: () => import('@/views/choicePart'), + hidden: true, + meta: { requireToken: true } }, + // { + // path: '/', + // component: Layout, + // // redirect: 'core/base/factory', + // // children: [{ + // // path: 'index', + // // redirect: 'core/base/factory', + // // component: (resolve) => require(['@/views/index'], resolve), + // // name: '首页', + // // meta: { title: '首页', icon: 'dashboard', affix: true } + // // } + // // ] + // }, { path: '/AGVBoard', name: 'AGVBoard', diff --git a/src/store/getters.js b/src/store/getters.js index 79cdf2c3..16103f89 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -17,6 +17,7 @@ const getters = { topbarRouters:state => state.permission.topbarRouters, defaultRoutes:state => state.permission.defaultRoutes, sidebarRouters:state => state.permission.sidebarRouters, + choicepart: state => state.app.choicepart, // 数据字典 dict_datas: state => state.dict.dictDatas } diff --git a/src/store/modules/app.js b/src/store/modules/app.js index 623622e1..55fa6c8e 100644 --- a/src/store/modules/app.js +++ b/src/store/modules/app.js @@ -8,6 +8,7 @@ const state = { }, device: "desktop", size: localStorage.getItem("size") || "medium", + choicepart: localStorage.getItem('choicepart') || null }; const mutations = { @@ -38,6 +39,10 @@ const mutations = { SET_SIDEBAR_HIDE: (state, status) => { state.sidebar.hide = status; }, + SET_CHOICEPART: (state, choicepart) => { + state.choicepart = choicepart + localStorage.setItem('choicepart', choicepart) + } }; const actions = { @@ -56,6 +61,9 @@ const actions = { toggleSideBarHide({ commit }, status) { commit("SET_SIDEBAR_HIDE", status); }, + setChoicepart({ commit }, choicepart) { + commit('SET_CHOICEPART', choicepart) + } }; export default { diff --git a/src/views/choicePart/components/Navbar.vue b/src/views/choicePart/components/Navbar.vue new file mode 100644 index 00000000..fbee3224 --- /dev/null +++ b/src/views/choicePart/components/Navbar.vue @@ -0,0 +1,24 @@ + + + \ No newline at end of file diff --git a/src/views/choicePart/index.vue b/src/views/choicePart/index.vue new file mode 100644 index 00000000..5ee61349 --- /dev/null +++ b/src/views/choicePart/index.vue @@ -0,0 +1,312 @@ + + + \ No newline at end of file diff --git a/src/views/core/analysis/balanceAnalysis/index.vue b/src/views/core/analysis/balanceAnalysis/index.vue index d9f2ecee..7adceb4a 100644 --- a/src/views/core/analysis/balanceAnalysis/index.vue +++ b/src/views/core/analysis/balanceAnalysis/index.vue @@ -4,7 +4,7 @@
- +
@@ -10,7 +10,7 @@
{{ item.name }}
-
+
@@ -48,6 +48,7 @@ export default { } }, mounted() { + // this.initChart() }, methods: { changeChart(index) { @@ -81,7 +82,8 @@ export default { console.log('看一下数据', this.dataArray) this.xDatas = xData this.chart = echarts.init(this.$refs.chartDiv, 'macarons') - this.setOptions(xData, yData[0], lineName) + // this.chart = echarts.init(document.getElementById('chart'), 'macarons') + // this.setOptions(xData, yData[0], lineName) }, setOptions(xData, dataList, lineName) { // let seriesData = [] diff --git a/src/views/core/analysis/yieldAnalysis/index.vue b/src/views/core/analysis/yieldAnalysis/index.vue index e6ef87e5..61db4752 100644 --- a/src/views/core/analysis/yieldAnalysis/index.vue +++ b/src/views/core/analysis/yieldAnalysis/index.vue @@ -21,6 +21,7 @@ import { parseTime } from '../../mixins/code-filter'; import { getYieldAnalysisPageData } from '@/api/core/analysis/index'; // import { getProductionLinePage } from '@/api/core/base/productionLine'; import lineChart from '../LineChart' +import moment from 'moment'; // import { getWorkshopSectionPage } from '@/api/core/base/workshopSection'; // const tableProps = [ @@ -62,6 +63,9 @@ export default { recordTime: [] }, dateLabelList: [], + tempTtime: '', + day: 0, + xData: [], formConfig: [ // { // type: 'select', @@ -109,111 +113,77 @@ export default { // }); // }); // }, - getData() { - // this.listQuery.lineIds = ['1672847052717821953'] - // this.listQuery.productId = val.productId; - // this.listQuery.time = '1694486098000'; - this.urlOptions.getDataListURL(this.listQuery).then(res => { - let arr = [ - { - prop: 'lineName', - label: '产线', - fixed: 'left' - }, - { - prop: 'sum', - label: '合计', - fixed: 'left' - }, - { - prop: res.data ? res.data.nameData[0].name : undefined, - label: res.data ? res.data.nameData[0].name : undefined, - align: 'center', - children:[ - - ] - } - ] - // console.log(res.data.nameData.slice(1)) - let xData = [] - let yAllData = [] - let lineName = [] - if (res.data) { - let tempDateList = [] - res.data.nameData.forEach(date => { - tempDateList.push(date.name) - }) - this.dateLabelList = Array.from(new Set(tempDateList)) - - this.dateLabelList.forEach(item => { - if (item.indexOf('年') === -1) { - // 构造表头 - const props = { - 'prop': item, - 'label': item - } - arr[2].children.push(props) - - // 构造echarts横坐标 - xData.push(item) - } - }) - // res.data.nameData.slice(1).forEach(item => { - // const props = { - // 'prop': item.name, - // 'label': item.name, - // 'align': 'center' - // } - // arr[2].children.push(props) - // }) - let tableDataArr =[] - res.data.data.forEach(item => { - let obj = {} - obj.lineName= item.lineName, - obj.sum= item.sum, - item.data.forEach((ele, index) => { - // console.log(ele) - ele.children.forEach((e) => { - console.log(e.dynamicName) - obj['' + e.dynamicName + ''] = e.dynamicValue - console.log(obj['' + e.dynamicName + '']); - }) - }) - tableDataArr.push(obj) - }); - this.tableData = tableDataArr - this.tableProps = arr - - // let tempList = [] - // res.data.nameData.slice(1).forEach(item => { - // tempList.push(item.name) - // // arr[2].children.push(props) - // }) - // xData = Array.from(new Set(tempList)) - - res.data.data.forEach(item => { - let yData = [] - lineName.push(item.lineName) - // let obj = {} - // obj.lineName = item.lineName, - // obj.sum = item.sum, - item.data.forEach((ele, index) => { - // console.log(ele) - ele.children.forEach((e) => { - // let yData = [] - yData.push(e.dynamicValue) - }) - }) - yAllData.push(yData) - }); - console.log(lineName) - } else { - this.tableProps = arr - this.tableData = [] - xData = [] - yAllData = [] - lineName = [] + // 设置表头和横坐标 + setHeader() { + const month = this.tempTtime.getMonth() + 1 + let arr = [ + { + prop: 'proName', + label: '产品名称', + fixed: 'left' + }, + { + prop: 'specifications', + label: '产品规格', + fixed: 'left' + }, + { + prop: 'sum', + label: '合计', + fixed: 'left' + }, + { + label: this.tempTtime.getFullYear() + '年' + month + '月', + align: 'center', + children: [] } + ] + for (let d = 1; d <= this.day; d ++) { + arr[3].children.push({ + prop: 'value' + d, label: month + '-' + d + }) + // 横坐标 + this.xData.push(month + '-' + d) + } + this.tableProps = arr + }, + getData() { + this.urlOptions.getDataListURL(this.listQuery).then(res => { + //构造数据 + if (res.data) { + this.setHeader() + res.data.forEach(item => { + console.log('111', item.recordTime, moment(item.recordTime).format('DD')) + this.tableData.push({ + proName: item.proName, + specifications: item.specifications + }) + }) + } + console.log('饿', this.tableData) + // res.data.data.forEach(item => { + // let yData = [] + // lineName.push(item.lineName) + // // let obj = {} + // // obj.lineName = item.lineName, + // // obj.sum = item.sum, + // item.data.forEach((ele, index) => { + // // console.log(ele) + // ele.children.forEach((e) => { + // // let yData = [] + // yData.push(e.dynamicValue) + // }) + // }) + // yAllData.push(yData) + // }); + // console.log(lineName) + // } else { + // this.tableProps = arr + // this.tableData = [] + // xData = [] + // yAllData = [] + // lineName = [] + // } // res.data.data[0].data[0].children.forEach((item, index) => { // // console.log(item) // yData.push(item.dynamicValue) @@ -221,7 +191,7 @@ export default { // // obj['' + item.dynamicName + ''] = item.dynamicValue // }) // console.log(this.yData) - this.$refs.lineChart.initChart(xData, yAllData, lineName) + // this.$refs.lineChart.initChart(this.xData, yAllData, lineName) // this.total = response.data.total; // this.dataListLoading = false; }); @@ -231,23 +201,21 @@ export default { case 'search': // this.listQuery.recordTime = val.time ? new Date(val.time).getTime() : undefined if (val.time) { - const tempTtime = new Date(val.time) - let day = 0 - switch (tempTtime.getMonth() + 1) { + this.tempTtime = new Date(val.time) + switch (this.tempTtime.getMonth() + 1) { case 1, 3, 5, 7, 8, 10, 12: - day = 31; + this.day = 31; break; case 2: - day = 28; + this.day = 28; break; case 4, 6, 9, 11: - day = 30; + this.day = 30; break; } - console.log(parseTime(new Date(tempTtime.getFullYear(), 11, 31, 23, 59, 59))) this.listQuery.recordTime = [ val.time, - parseTime(new Date(tempTtime.getFullYear(), tempTtime.getMonth(), day, 23, 59, 59)) + parseTime(new Date(this.tempTtime.getFullYear(), this.tempTtime.getMonth(), this.day, 23, 59, 59)) ] this.getData() } else { diff --git a/src/views/core/monitoring/auto/index.vue b/src/views/core/monitoring/auto/index.vue index 3f07f50f..6f4e6d5b 100644 --- a/src/views/core/monitoring/auto/index.vue +++ b/src/views/core/monitoring/auto/index.vue @@ -1,7 +1,7 @@ @@ -175,7 +175,7 @@ export default { label: '统计开始时间', dateType: 'datetimerange', format: 'yyyy-MM-dd HH:mm:ss', - valueFormat: "yyyy-MM-ddTHH:mm:ss", + valueFormat: "yyyy-MM-dd HH:mm:ss", rangeSeparator: '-', startPlaceholder: '开始时间', endPlaceholder: '结束时间', diff --git a/src/views/core/monitoring/data24/index.vue b/src/views/core/monitoring/data24/index.vue index 17db36cb..31eb4d0a 100644 --- a/src/views/core/monitoring/data24/index.vue +++ b/src/views/core/monitoring/data24/index.vue @@ -25,6 +25,7 @@ diff --git a/src/views/equipment/analysis/Visualization/SmallTitle.vue b/src/views/equipment/analysis/Visualization/SmallTitle.vue new file mode 100644 index 00000000..93b4a18f --- /dev/null +++ b/src/views/equipment/analysis/Visualization/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/equipment/analysis/Visualization/index.vue b/src/views/equipment/analysis/Visualization/index.vue new file mode 100644 index 00000000..9cf0205c --- /dev/null +++ b/src/views/equipment/analysis/Visualization/index.vue @@ -0,0 +1,514 @@ + + + + + + + diff --git a/src/views/equipment/analysis/efficiency/index.vue b/src/views/equipment/analysis/efficiency/index.vue index 853ae2ca..9e3e9611 100644 --- a/src/views/equipment/analysis/efficiency/index.vue +++ b/src/views/equipment/analysis/efficiency/index.vue @@ -13,14 +13,21 @@ ref="search-bar" @headBtnClick="handleSearchBarBtnClick" /> - + + + -
- + -->
@@ -132,7 +138,7 @@ export default { width: 128, prop: 'workRate', label: '百分比[%]', - filter: (val) => (val != null ? +val.toFixed(3) : '-'), + filter: (val) => (val != null ? +Number(val).toFixed(3) : '-'), }, ], }, @@ -161,7 +167,7 @@ export default { width: 128, prop: 'timeEfficiency', label: '时间开动率', - filter: (val) => (val != null ? +val.toFixed(3) : '-'), + filter: (val) => (val != null ? +Number(val).toFixed(3) : '-'), }, ], }, @@ -182,19 +188,19 @@ export default { width: 128, prop: 'peEfficiency', label: '速度开动率', - filter: (val) => (val != null ? +val.toFixed(3) : '-'), + filter: (val) => (val != null ? +Number(val).toFixed(3) : '-'), }, ], }, { prop: 'oee', label: 'OEE', - filter: (val) => (val != null ? +val.toFixed(3) : '-'), + filter: (val) => (val != null ? +Number(val).toFixed(3) : '-'), }, { prop: 'teep', label: 'TEEP', - filter: (val) => (val != null ? +val.toFixed(3) : '-'), + filter: (val) => (val != null ? +Number(val).toFixed(3) : '-'), }, // { // _action: 'view-trend', @@ -332,7 +338,7 @@ export default { /** 准备工厂数据 */ async getFactory() { const { code, data } = await this.$axios({ - url: '/base/factory/listAll', + url: '/base/core-factory/listAll', method: 'get', }); if (code == 0) { @@ -348,7 +354,7 @@ export default { /** 准备产线数据 */ async getLine() { const { code, data } = await this.$axios({ - url: '/base/production-line/listAll', + url: '/base/core-production-line/listAll', method: 'get', }); if (code == 0) { diff --git a/src/views/equipment/analysis/exception/index.vue b/src/views/equipment/analysis/exception/index.vue index c3d38562..7d926392 100644 --- a/src/views/equipment/analysis/exception/index.vue +++ b/src/views/equipment/analysis/exception/index.vue @@ -75,7 +75,7 @@ export default { }, ], tableProps: [ - { prop: 'lineName', label: '产线' }, + { prop: 'lineName', label: '产线名称' }, { prop: 'sectionName', label: '工段' }, { prop: 'equipmentName', label: '设备' }, { @@ -136,7 +136,7 @@ export default { methods: { async fillLineOptions() { const { data } = await this.$axios({ - url: '/base/production-line/listAll', + url: '/base/core-production-line/listAll', method: 'get', }); const cfg = this.searchBarFormConfig.find( diff --git a/src/views/equipment/analysis/quality/index.vue b/src/views/equipment/analysis/quality/index.vue index 8b023489..785f7dc1 100644 --- a/src/views/equipment/analysis/quality/index.vue +++ b/src/views/equipment/analysis/quality/index.vue @@ -262,7 +262,7 @@ export default { async fillLineOptions() { const { data } = await this.$axios({ - url: '/base/production-line/listAll', + url: '/base/core-production-line/listAll', method: 'get', }); const cfg = this.searchBarFormConfig.find( @@ -280,7 +280,7 @@ export default { async fillProductOptions() { const { data } = await this.$axios({ - url: '/base/product/listAll', + url: '/base/core-product/listAll', method: 'get', }); const cfg = this.searchBarFormConfig.find( diff --git a/src/views/equipment/base/alarm/Record/SmallTitle.vue b/src/views/equipment/base/alarm/Record/SmallTitle.vue new file mode 100644 index 00000000..93b4a18f --- /dev/null +++ b/src/views/equipment/base/alarm/Record/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/equipment/base/alarm/Record/add-or-updata.vue b/src/views/equipment/base/alarm/Record/add-or-updata.vue new file mode 100644 index 00000000..77a5123b --- /dev/null +++ b/src/views/equipment/base/alarm/Record/add-or-updata.vue @@ -0,0 +1,195 @@ + + + + diff --git a/src/views/equipment/base/alarm/Record/index.vue b/src/views/equipment/base/alarm/Record/index.vue new file mode 100644 index 00000000..82e066d7 --- /dev/null +++ b/src/views/equipment/base/alarm/Record/index.vue @@ -0,0 +1,350 @@ + + + diff --git a/src/views/equipment/base/inspection/Record/addRecord.vue b/src/views/equipment/base/inspection/Record/addRecord.vue new file mode 100644 index 00000000..72776630 --- /dev/null +++ b/src/views/equipment/base/inspection/Record/addRecord.vue @@ -0,0 +1,393 @@ + + + + + + + diff --git a/src/views/equipment/base/inspection/Record/attr-add.vue b/src/views/equipment/base/inspection/Record/attr-add.vue new file mode 100644 index 00000000..bef3ae04 --- /dev/null +++ b/src/views/equipment/base/inspection/Record/attr-add.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/src/views/equipment/base/inspection/Record/index.vue b/src/views/equipment/base/inspection/Record/index.vue index ffdc7d24..8e1940d5 100644 --- a/src/views/equipment/base/inspection/Record/index.vue +++ b/src/views/equipment/base/inspection/Record/index.vue @@ -45,24 +45,32 @@ :has-files="true" :rows="rows" /> + + + + diff --git a/src/views/equipment/base/inspection/Settings/add-or-updata.vue b/src/views/equipment/base/inspection/Settings/add-or-updata.vue new file mode 100644 index 00000000..9866674b --- /dev/null +++ b/src/views/equipment/base/inspection/Settings/add-or-updata.vue @@ -0,0 +1,317 @@ + + + + + diff --git a/src/views/equipment/base/inspection/Settings/attr-add.vue b/src/views/equipment/base/inspection/Settings/attr-add.vue new file mode 100644 index 00000000..d80cdb5b --- /dev/null +++ b/src/views/equipment/base/inspection/Settings/attr-add.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/src/views/equipment/base/inspection/Settings/index.vue b/src/views/equipment/base/inspection/Settings/index.vue index bfa00abf..f1abafb2 100644 --- a/src/views/equipment/base/inspection/Settings/index.vue +++ b/src/views/equipment/base/inspection/Settings/index.vue @@ -17,7 +17,7 @@ v-if="tableBtn.length" slot="handleBtn" label="操作" - :width="120" + :width="180" :method-list="tableBtn" @clickBtn="handleTableBtnClick" /> @@ -45,35 +45,49 @@ :has-files="false" :rows="rows" /> + + - diff --git a/src/views/equipment/base/repair/index.vue b/src/views/equipment/base/repair/index.vue index b5ff9f62..e49669ba 100644 --- a/src/views/equipment/base/repair/index.vue +++ b/src/views/equipment/base/repair/index.vue @@ -17,7 +17,7 @@ v-if="tableBtn.length" slot="handleBtn" label="操作" - :width="120" + :width="180" :method-list="tableBtn" @clickBtn="handleTableBtnClick" /> @@ -45,21 +45,27 @@ :has-files="true" :rows="rows" /> + diff --git a/src/views/equipment/base/spareParts/Config/addSparts.vue b/src/views/equipment/base/spareParts/Config/addSparts.vue new file mode 100644 index 00000000..a12c061f --- /dev/null +++ b/src/views/equipment/base/spareParts/Config/addSparts.vue @@ -0,0 +1,315 @@ + + + + + + + diff --git a/src/views/equipment/base/spareParts/Config/attr-add.vue b/src/views/equipment/base/spareParts/Config/attr-add.vue new file mode 100644 index 00000000..bef3ae04 --- /dev/null +++ b/src/views/equipment/base/spareParts/Config/attr-add.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/src/views/equipment/base/spareParts/Config/index.vue b/src/views/equipment/base/spareParts/Config/index.vue index 3701ef0c..571d252e 100644 --- a/src/views/equipment/base/spareParts/Config/index.vue +++ b/src/views/equipment/base/spareParts/Config/index.vue @@ -17,7 +17,7 @@ v-if="tableBtn.length" slot="handleBtn" label="操作" - :width="120" + :width="250" :method-list="tableBtn" @clickBtn="handleTableBtnClick" /> @@ -46,6 +46,10 @@ :has-files="false" :rows="rows" /> + @@ -53,15 +57,18 @@ import moment from 'moment'; import basicPageMixin from '@/mixins/lb/basicPageMixin'; import { publicFormatter } from '@/utils/dict'; +import Editor from '@/components/Editor'; +import addSparts from './addSparts.vue'; const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'); export default { name: 'EquipmentSparePartsConfig', - components: {}, + components: { addSparts }, mixins: [basicPageMixin], data() { return { + addOrUpdateVisible: false, searchBarKeys: ['name', 'equipmentId', 'equipmentIdList'], tableBtn: [ // this.$auth.hasPermi('equipment:spare-parts-config:update') @@ -76,6 +83,18 @@ export default { btnName: '修改', } : undefined, + this.$auth.hasPermi('equipment:spare-parts-config:queryParts') + ? { + type: 'queryParts', + btnName: '查看备件', + } + : undefined, + this.$auth.hasPermi('equipment:spare-parts-config:addParts') + ? { + type: 'addParts', + btnName: '添加备件', + } + : undefined, this.$auth.hasPermi('equipment:spare-parts-config:delete') ? { type: 'delete', @@ -162,18 +181,23 @@ export default { select: true, // TODO: or INPUT instead of SELECT label: '负责人', prop: 'responsible', - url: '/base/core-equipment/listAll', // TODO: 班组 + url: '/base/core-worker/listAll', // TODO: 班组 + valueKey: 'name', bind: { filterable: true, clearable: true, + multiple: true }, }, ], [ { - input: true, label: '描述', prop: 'description', // TODO: 富文本 + subcomponent: Editor, + bind: { + 'min-height': 192 + } }, ], ], @@ -258,6 +282,7 @@ export default { const id = row.id; this.info({ id }).then((response) => { this.form = response.data; + this.form.responsible = this.form.responsible.split(',') this.open = true; this.title = '修改备品备件配置'; }); @@ -268,6 +293,7 @@ export default { if (!valid) { return; } + this.form.responsible = this.form.responsible.join(',') // 修改的提交 if (this.form.id != null) { this.put(this.form).then((response) => { @@ -300,12 +326,15 @@ export default { .catch(() => {}); }, handleDetail({ id }) { - this.reset(); - this.mode = 'detail'; - this.info({ id }).then((response) => { - this.form = response.data; - this.open = true; - this.title = '修改备品备件配置'; + this.addOrUpdateVisible = true + this.$nextTick(() => { + this.$refs.addOrUpdate.init(id, true); + }); + }, + handlAddParts({ id }) { + this.addOrUpdateVisible = true + this.$nextTick(() => { + this.$refs.addOrUpdate.init(id); }); }, /** 导出按钮操作 */ @@ -326,6 +355,23 @@ export default { }) .catch(() => {}); }, + // 处理表格按钮 + handleTableBtnClick({ data, type }) { + switch (type) { + case 'edit': + this.handleUpdate(data); + break; + case 'delete': + this.handleDelete(data); + break; + case 'queryParts': + this.handleDetail(data); + break; + case 'addParts': + this.handlAddParts(data); + break; + } + }, }, }; diff --git a/src/views/equipment/base/spareParts/List/index.vue b/src/views/equipment/base/spareParts/List/index.vue index 39a8204d..f4b02b42 100644 --- a/src/views/equipment/base/spareParts/List/index.vue +++ b/src/views/equipment/base/spareParts/List/index.vue @@ -148,7 +148,7 @@ export default { select: true, label: '供应商', prop: 'supplierId', - url: '/base/core-supplier/listAll', // TODO: 课上关系 + url: '/base/core-supplier/listAll', // TODO: 供应商 bind: { filterable: true, clearable: true, @@ -161,12 +161,13 @@ export default { select: true, label: '物料类型', prop: 'type', - url: '/base/core-equipment/listAll', // TODO: 物料 + options: this.getDictDatas('material_type'), + // url: '/base/core-equipment/listAll', // TODO: 物料 bind: { filterable: true, clearable: true, }, - rules: [{ required: true, message: '不能为空', trigger: 'blur' }], + rules: [{ required: true, message: '物料类型不能为空', trigger: 'blur' }], }, { input: true, diff --git a/src/views/equipment/base/spareParts/Monitor/addSparts.vue b/src/views/equipment/base/spareParts/Monitor/addSparts.vue new file mode 100644 index 00000000..eb3fd801 --- /dev/null +++ b/src/views/equipment/base/spareParts/Monitor/addSparts.vue @@ -0,0 +1,431 @@ + + + + + + + diff --git a/src/views/equipment/base/spareParts/Monitor/attr-add.vue b/src/views/equipment/base/spareParts/Monitor/attr-add.vue new file mode 100644 index 00000000..ba092618 --- /dev/null +++ b/src/views/equipment/base/spareParts/Monitor/attr-add.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/views/equipment/base/spareParts/Monitor/index.vue b/src/views/equipment/base/spareParts/Monitor/index.vue index 4d046bc4..1f07fa39 100644 --- a/src/views/equipment/base/spareParts/Monitor/index.vue +++ b/src/views/equipment/base/spareParts/Monitor/index.vue @@ -31,7 +31,7 @@ @pagination="getList" /> - - + --> + + diff --git a/src/views/equipment/timing-diagram/output/index.vue b/src/views/equipment/timing-diagram/output/index.vue index ccf74e5f..0fb10646 100644 --- a/src/views/equipment/timing-diagram/output/index.vue +++ b/src/views/equipment/timing-diagram/output/index.vue @@ -432,7 +432,7 @@ export default { /** 准备产线数据 */ async initProductline() { const { code, data } = await this.$axios({ - url: '/base/production-line/listAll', + url: '/base/core-production-line/listAll', method: 'get', }); if (code == 0) { @@ -448,7 +448,7 @@ export default { /** 准备工段数据 */ async initWorksection() { const { code, data } = await this.$axios({ - url: '/base/workshop-section/listAll', + url: '/base/core-workshop-section/listAll', method: 'get', }); if (code == 0) { @@ -464,7 +464,7 @@ export default { /** 根据产线获取工段 */ async getWorksectionById(lineId) { const { code, data } = await this.$axios({ - url: '/base/workshop-section/listByParentId', + url: '/base/core-workshop-section/listByParentId', method: 'get', params: { id: lineId, diff --git a/src/views/equipment/timing-diagram/status/index.vue b/src/views/equipment/timing-diagram/status/index.vue index 283e07f4..7a12766d 100644 --- a/src/views/equipment/timing-diagram/status/index.vue +++ b/src/views/equipment/timing-diagram/status/index.vue @@ -239,7 +239,7 @@ export default { /** 准备产线数据 */ async initProductline() { const { code, data } = await this.$axios({ - url: '/base/production-line/listAll', + url: '/base/core-production-line/listAll', method: 'get', }); if (code == 0) { @@ -255,7 +255,7 @@ export default { /** 准备工段数据 */ async initWorksection() { const { code, data } = await this.$axios({ - url: '/base/workshop-section/listAll', + url: '/base/core-workshop-section/listAll', method: 'get', }); if (code == 0) { @@ -276,7 +276,7 @@ export default { switch (param) { case 'lineId': this.$axios({ - url: '/base/workshop-section/listByParentId', + url: '/base/core-workshop-section/listByParentId', method: 'get', params: { id: value, diff --git a/src/views/group/base/groupTeamScheduling/index.vue b/src/views/group/base/groupTeamScheduling/index.vue index 37924793..61389315 100644 --- a/src/views/group/base/groupTeamScheduling/index.vue +++ b/src/views/group/base/groupTeamScheduling/index.vue @@ -34,7 +34,7 @@ 取消 - 班组上下片查询 + 班组能源查询 班组检测查询 @@ -286,22 +286,18 @@ export default { case '1': this.$router.push({ path: '/core/enhance/product-line-24h?startTime='+this.chooseObj.startTime+'&endTime='+this.chooseObj.endTime, - // name: 'ProductionLineData', - // params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime } }) break; case '2': // 能源 this.$router.push({ path: '/energy/monitoring/energy-report-search?startTime='+this.chooseObj.startTime+'&endTime='+this.chooseObj.endTime - // name: 'EnergyReportSearch', - // params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime } }) break; default: this.$router.push({ - path: '/quality/monitoring/quality-statistics', + path: '/quality/base/quality-inspection-data/detection-information/statistical-data?startTime='+this.chooseObj.startTime+'&endTime='+this.chooseObj.endTime, // name: 'QualityStatistics', - params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime } + // params: { startTime: this.chooseObj.startTime, endTime: this.chooseObj.endTime } }) } } diff --git a/src/views/login.vue b/src/views/login.vue index 401be7aa..ae2ff139 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,81 +1,238 @@ + :deep(.el-input__prefix) { + top: 22%; + } +} + diff --git a/src/views/monitoring/equipmentProcessAmount/index.vue b/src/views/monitoring/equipmentProcessAmount/index.vue index 4c165306..14575368 100644 --- a/src/views/monitoring/equipmentProcessAmount/index.vue +++ b/src/views/monitoring/equipmentProcessAmount/index.vue @@ -323,7 +323,7 @@ export default { }, async getTree() { - const { data } = await this.$axios('/base/factory/getTree'); + const { data } = await this.$axios('/base/core-factory/getTree'); this.sidebarContent = data; this.buildTree(data); console.log('tree', this.sidebarContent); diff --git a/src/views/order/monitoring/orderCompletionMonitoring/index.vue b/src/views/order/monitoring/orderCompletionMonitoring/index.vue index d20b887a..b4feb234 100644 --- a/src/views/order/monitoring/orderCompletionMonitoring/index.vue +++ b/src/views/order/monitoring/orderCompletionMonitoring/index.vue @@ -6,9 +6,24 @@ ref="searchBarForm" @headBtnClick="buttonClick" /> - + + + + - +
各订单环形图 @@ -36,7 +51,7 @@ style="width: 182px; height: 180px;" >
-
+ --> diff --git a/src/views/warehouse/end-material/warehouseLocationMonitoring/index.vue b/src/views/warehouse/end-material/warehouseLocationMonitoring/index.vue index 195e434b..128302c5 100644 --- a/src/views/warehouse/end-material/warehouseLocationMonitoring/index.vue +++ b/src/views/warehouse/end-material/warehouseLocationMonitoring/index.vue @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2023-08-21 14:26:23 * @LastEditors: zwq - * @LastEditTime: 2023-11-06 11:25:34 + * @LastEditTime: 2023-11-14 09:40:33 * @Description: -->