diff --git a/.env.dev b/.env.dev index da3e54d3..d331d5a0 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-07 09:23:07 + # @LastEditTime: 2023-11-11 20:50:30 # @LastEditors: DY # @Description: ### @@ -13,15 +13,14 @@ VUE_APP_TITLE = MES系统 # 芋道管理系统/开发环境 # VUE_APP_BASE_API = 'http://100.64.0.26:48082' -VUE_APP_BASE_API = 'http://192.168.0.33:48082' +# VUE_APP_BASE_API = 'http://192.168.0.33:48082' # VUE_APP_BASE_API = 'http://192.168.4.173:48080' # VUE_APP_BASE_API = 'http://192.168.2.173:48080' # VUE_APP_BASE_API = 'http://192.168.1.49:48080' # VUE_APP_BASE_API = 'http://192.168.1.8:48080' +VUE_APP_BASE_API = 'http://192.168.0.33:48082' # VUE_APP_BASE_API = 'http://192.168.1.56:48080' -# VUE_APP_BASE_API = 'http://192.168.1.188:48080' -# VUE_APP_BASE_API = 'http://192.168.2.159:48080' - +# VUE_APP_BASE_API = 'http://192.168.4.159:48080' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true @@ -36,3 +35,4 @@ VUE_APP_DOC_ENABLE = true # 百度统计 # VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab + diff --git a/.env.front b/.env.front index 34f878c2..743152e3 100644 --- a/.env.front +++ b/.env.front @@ -1,3 +1,4 @@ + # 开发环境配置 ENV = 'development' diff --git a/.env.production b/.env.production new file mode 100644 index 00000000..a64ca0bb --- /dev/null +++ b/.env.production @@ -0,0 +1,12 @@ +### + # @Author: zhp + # @Date: 2023-10-30 14:18:30 + # @LastEditTime: 2023-11-02 16:16:09 + # @LastEditors: zhp + # @Description: +### +# just a flag +ENV = 'production' + +# base api +# VUE_APP_BASE_API = '/api' diff --git a/.env.stage b/.env.stage index 3602a9b9..b25d7a96 100644 --- a/.env.stage +++ b/.env.stage @@ -23,3 +23,4 @@ VUE_APP_DOC_ENABLE = false # 百度统计 VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab + 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/base/qualityScrapDet.js b/src/api/base/qualityScrapDet.js new file mode 100644 index 00000000..1cf724ac --- /dev/null +++ b/src/api/base/qualityScrapDet.js @@ -0,0 +1,69 @@ +/* + * @Author: zhp + * @Date: 2023-11-06 15:38:12 + * @LastEditTime: 2023-11-06 15:39:39 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 创建质量检测类型基础 +export function createQualityScrapDet(data) { + return request({ + url: '/base/quality-scrap-det/create', + method: 'post', + data: data + }) +} + +// 更新质量检测类型基础 +export function updateQualityScrapDet(data) { + return request({ + url: '/base/quality-scrap-det/update', + method: 'put', + data: data + }) +} + +// 删除质量检测类型基础 +export function deleteQualityScrapDet(id) { + return request({ + url: '/base/quality-scrap-det/delete?id=' + id, + method: 'delete' + }) +} + +// 获得质量检测类型基础 +export function getQualityScrapDet(id) { + return request({ + url: '/base/quality-scrap-det/get?id=' + id, + method: 'get' + }) +} + +// 获得质量检测类型基础分页 +export function getQualityScrapDetPage(query) { + return request({ + url: '/base/quality-scrap-det/page', + method: 'get', + params: query + }) +} + +// 导出质量检测类型基础 Excel +export function exportQualityScrapTypeExcel(query) { + return request({ + url: '/base/quality-scrap-type/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + +export function getCode(query) { + return request({ + url: '/base/quality-scrap-det/getCode', + method: 'get', + params: query + }) +} diff --git a/src/api/base/qualityScrapLog.js b/src/api/base/qualityScrapLog.js new file mode 100644 index 00000000..f0bdaa69 --- /dev/null +++ b/src/api/base/qualityScrapLog.js @@ -0,0 +1,100 @@ +/* + * @Author: zhp + * @Date: 2023-11-07 15:02:37 + * @LastEditTime: 2023-11-07 18:32:07 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 创建质量检测类型基础 +export function createQualityScrapLog(data) { + return request({ + url: '/base/quality-scrap-log/create', + method: 'post', + data: data + }) +} + +// 更新质量检测类型基础 +export function updateQualityScrapLog(data) { + return request({ + url: '/base/quality-scrap-log/update', + method: 'put', + data: data + }) +} + +// 删除质量检测类型基础 +export function deleteQualityScrapLog(id) { + return request({ + url: '/base/quality-scrap-log/delete?id=' + id, + method: 'delete' + }) +} + +// 获得质量检测类型基础 +export function getQualityScrapLog(id) { + return request({ + url: '/base/quality-scrap-log/get?id=' + id, + method: 'get' + }) +} + +// 获得质量检测类型基础分页 +export function getQualityScrapLogPage(query) { + return request({ + url: '/base/quality-scrap-log/page', + method: 'get', + params: query + }) +} + +// 导出质量检测类型基础 Excel +export function exportQualityScrapTypeExcel(query) { + return request({ + url: '/base/quality-scrap-type/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + +export function getCode(query) { + return request({ + url: '/base/quality-scrap-log/getCode', + method: 'get', + params: query + }) +} +export function getWorkOrderList(query) { + return request({ + url: '/base/core-work-order/listbyfilter', + method: 'get', + params: query, + }) +} + +export function getTeamList(query) { + return request({ + url: '/base/group-team/listAll', + method: 'get', + params: query, + }) +} + +export function getLineList(query) { + return request({ + url: '/base/core-production-line/listAll', + method: 'get', + params: query, + }) +} + +export function getDetList(query) { + return request({ + url: '/base/quality-scrap-det/listAll', + method: 'get', + params: query, + }) +} diff --git a/src/api/base/qualityScrapType.js b/src/api/base/qualityScrapType.js new file mode 100644 index 00000000..de7190ff --- /dev/null +++ b/src/api/base/qualityScrapType.js @@ -0,0 +1,76 @@ +/* + * @Author: zhp + * @Date: 2023-11-04 18:27:11 + * @LastEditTime: 2023-11-06 15:55:24 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 创建质量检测类型基础 +export function createQualityScrapType(data) { + return request({ + url: '/base/quality-scrap-type/create', + method: 'post', + data: data + }) +} + +// 更新质量检测类型基础 +export function updateQualityScrapType(data) { + return request({ + url: '/base/quality-scrap-type/update', + method: 'put', + data: data + }) +} + +// 删除质量检测类型基础 +export function deleteQualityScrapType(id) { + return request({ + url: '/base/quality-scrap-type/delete?id=' + id, + method: 'delete' + }) +} + +// 获得质量检测类型基础 +export function getQualityScrapType(id) { + return request({ + url: '/base/quality-scrap-type/get?id=' + id, + method: 'get' + }) +} + +// 获得质量检测类型基础分页 +export function getQualityScrapTypePage(query) { + return request({ + url: '/base/quality-scrap-type/page', + method: 'get', + params: query + }) +} + +// 导出质量检测类型基础 Excel +export function exportQualityScrapTypeExcel(query) { + return request({ + url: '/base/quality-scrap-type/export-excel', + method: 'get', + params: query, + responseType: 'blob' + }) +} + +export function getCode(query) { + return request({ + url: '/base/quality-scrap-type/getCode', + method: 'get', + params: query + }) +} +export function getList(query) { + return request({ + url: 'base/quality-scrap-type/listAll', + method: 'get', + params: query + }) +} 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/api/extend/processEquMaterialBom.js b/src/api/extend/processEquMaterialBom.js new file mode 100644 index 00000000..5be7bfb0 --- /dev/null +++ b/src/api/extend/processEquMaterialBom.js @@ -0,0 +1,106 @@ +/* + * @Author: zhp + * @Date: 2023-11-07 19:47:48 + * @LastEditTime: 2023-11-08 16:59:32 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 获得能耗统计查询分页 +export function processEquMaterialBomPage(data) { + return request({ + url: '/extend/process-equ-material-bom/page', + method: 'get', + data: data + }) +} + +export function updateProcessEquMaterialBom(data) { + return request({ + url: '/extend/process-equ-material-bom/update', + method: 'put', + data: data + }) +} + +export function createProcessEquMaterialBom(data) { + return request({ + url: '/extend/process-equ-material-bom/create', + method: 'post', + data: data + }) +} + + +export function getProcessEquMaterialBom(data) { + return request({ + url: '/extend/process-equ-material-bom/get', + method: 'get', + params: data + }) +} + +export function deleteProcessEquMaterialBom(id) { + return request({ + url: '/extend/process-equ-material-bom/delete?id=' + id, + method: 'delete', + // data: data + }) +} + +export function getEquipmentList(data) { + return request({ + url: '/base/core-equipment/listAll', + method: 'get', + data: data + }) +} + +export function deleteProcessEquMaterialBomDet(id) { + return request({ + url: '/extend/process-equ-material-bom-det/delete?id=' + id, + method: 'delete', + // data: data + }) +} + +export function processEquMaterialBomDetPage(data) { + return request({ + url: '/extend/process-equ-material-bom-det/page', + method: 'get', + params: data + }) +} + +export function updateProcessEquMaterialBomDet(data) { + return request({ + url: '/extend/process-equ-material-bom-det/update', + method: 'put', + data: data + }) +} + +export function createProcessEquMaterialBomDet(data) { + return request({ + url: '/extend/process-equ-material-bom-det/create', + method: 'post', + data: data + }) +} + +export function getProcessEquMaterialBomDet(data) { + return request({ + url: '/extend/process-equ-material-bom-det/get', + method: 'get', + params: data + }) +} + +export function getMaterialList(data) { + return request({ + url: '/base/material/listbyfilter', + method: 'get', + data: data + }) +} diff --git a/src/api/extend/processEquValueBom.js b/src/api/extend/processEquValueBom.js new file mode 100644 index 00000000..8048c56b --- /dev/null +++ b/src/api/extend/processEquValueBom.js @@ -0,0 +1,106 @@ +/* + * @Author: zhp + * @Date: 2023-11-09 09:37:14 + * @LastEditTime: 2023-11-09 14:20:02 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 获得能耗统计查询分页 +export function processEquValueBomPage(data) { + return request({ + url: '/extend/process-equ-value-bom/page', + method: 'get', + data: data + }) +} + +export function updateProcessEquValueBom(data) { + return request({ + url: '/extend/process-equ-value-bom/update', + method: 'put', + data: data + }) +} + +export function createProcessEquValueBom(data) { + return request({ + url: '/extend/process-equ-value-bom/create', + method: 'post', + data: data + }) +} + + +export function getProcessEquValueBom(data) { + return request({ + url: '/extend/process-equ-value-bom/get', + method: 'get', + params: data + }) +} + +export function deleteProcessEquValueBom(id) { + return request({ + url: '/extend/process-equ-value-bom/delete?id=' + id, + method: 'delete', + // data: data + }) +} + +export function getEquipmentList(data) { + return request({ + url: '/base/core-equipment/listAll', + method: 'get', + data: data + }) +} + +export function deleteProcessEquValueBomDet(id) { + return request({ + url: '/extend/process-equ-value-bom-det/delete?id=' + id, + method: 'delete', + // data: data + }) +} + +export function processEquValueBomDetPage(data) { + return request({ + url: '/extend/process-equ-value-bom-det/page', + method: 'get', + params: data + }) +} + +export function updateProcessEquValueBomDet(data) { + return request({ + url: '/extend/process-equ-value-bom-det/update', + method: 'put', + data: data + }) +} + +export function createProcessEquValueBomDet(data) { + return request({ + url: '/extend/process-equ-value-bom-det/create', + method: 'post', + data: data + }) +} + +export function getProcessEquValueBomDet(data) { + return request({ + url: '/extend/process-equ-value-bom-det/get', + method: 'get', + params: data + }) +} + +export function getValueList(data) { + return request({ + url: '/extend/process-equ-value-bom-det/getEnableValuesByEquId', + method: 'get', + params: data + }) +} diff --git a/src/api/monitoring/qualityInspectionRecord.js b/src/api/monitoring/qualityInspectionRecord.js index 81454cc5..acd532c8 100644 --- a/src/api/monitoring/qualityInspectionRecord.js +++ b/src/api/monitoring/qualityInspectionRecord.js @@ -1,9 +1,16 @@ +/* + * @Author: zhp + * @Date: 2023-10-17 09:26:38 + * @LastEditTime: 2023-11-02 17:00:17 + * @LastEditors: zhp + * @Description: + */ import request from '@/utils/request' // 创建质量检查信息记录表 export function createQualityInspectionRecord(data) { return request({ - url: '/monitoring/quality-inspection-record/create', + url: '/base/quality-inspection-record/create', method: 'post', data: data }) @@ -12,7 +19,7 @@ export function createQualityInspectionRecord(data) { // 更新质量检查信息记录表 export function updateQualityInspectionRecord(data) { return request({ - url: '/monitoring/quality-inspection-record/update', + url: '/base/quality-inspection-record/update', method: 'put', data: data }) @@ -21,7 +28,7 @@ export function updateQualityInspectionRecord(data) { // 删除质量检查信息记录表 export function deleteQualityInspectionRecord(id) { return request({ - url: '/monitoring/quality-inspection-record/delete?id=' + id, + url: '/base/quality-inspection-record/delete?id=' + id, method: 'delete' }) } @@ -29,7 +36,7 @@ export function deleteQualityInspectionRecord(id) { // 获得质量检查信息记录表 export function getQualityInspectionRecord(id) { return request({ - url: '/monitoring/quality-inspection-record/get?id=' + id, + url: '/base/quality-inspection-record/get?id=' + id, method: 'get' }) } @@ -37,7 +44,7 @@ export function getQualityInspectionRecord(id) { // 获得质量检查信息记录表分页 export function getQualityInspectionRecordPage(query) { return request({ - url: '/monitoring/quality-inspection-record/page', + url: '/base/quality-inspection-record/page', method: 'get', params: query }) @@ -46,7 +53,7 @@ export function getQualityInspectionRecordPage(query) { // 导出质量检查信息记录表 Excel export function exportQualityInspectionRecordExcel(query) { return request({ - url: '/monitoring/quality-inspection-record/export-excel', + url: '/base/quality-inspection-record/export-excel', method: 'get', params: query, responseType: 'blob' diff --git a/src/api/monitoring/statisticalData.js b/src/api/monitoring/statisticalData.js new file mode 100644 index 00000000..4f19d699 --- /dev/null +++ b/src/api/monitoring/statisticalData.js @@ -0,0 +1,40 @@ +/* + * @Author: zhp + * @Date: 2023-11-07 14:10:18 + * @LastEditTime: 2023-11-07 16:29:55 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + +// 获得质量检查信息记录表分页 +export function getStatisticalDataPage(query) { + return request({ + url: '/base/statistical-data/getStatisticData', + method: 'get', + data: query + }) +} + +export function getWorkOrderList(query) { + return request({ + url: '/base/core-work-order/listbyfilter', + method: 'get', + params: query, + }) +} +export function getProductList(query) { + return request({ + url: '/base/core-product/listAll', + method: 'get', + params: query, + }) +} + +export function getInspectionData(query) { + return request({ + url: '/base/statistical-data/getInspectionData', + method: 'get', + params: query, + }) +} diff --git a/src/api/quality/deviceParameters.js b/src/api/quality/deviceParameters.js new file mode 100644 index 00000000..ae1c87fb --- /dev/null +++ b/src/api/quality/deviceParameters.js @@ -0,0 +1,35 @@ +/* + * @Author: zhp + * @Date: 2023-10-18 09:33:57 + * @LastEditTime: 2023-11-03 09:31:17 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + + +// 获得物料信息追溯page +export function getTreeData(query) { + return request({ + url: '/base/core-factory/getTreeByWorkOrder', + method: 'get', + params: query + }) +} + +export function getWorkOrderList(query) { + return request({ + url: '/base/core-work-order/listbyfilter', + method: 'get', + params: query, + }) +} +// 导出物料信息 +export function exportEnergyPlcExcel(query) { + return request({ + url: '/base/material-use-log/materialTraceExport', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/src/api/quality/materialTraceability.js b/src/api/quality/materialTraceability.js new file mode 100644 index 00000000..d8eea07f --- /dev/null +++ b/src/api/quality/materialTraceability.js @@ -0,0 +1,35 @@ +/* + * @Author: zhp + * @Date: 2023-10-18 09:33:57 + * @LastEditTime: 2023-10-31 10:28:51 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + + +// 获得物料信息追溯page +export function getMaterialUseLogPage(query) { + return request({ + url: '/base/material-use-log/materialTrace', + method: 'get', + params: query + }) +} + +export function getWorkOrderList(query) { + return request({ + url: '/base/core-work-order/listbyfilter', + method: 'get', + params: query, + }) +} +// 导出物料信息 +export function exportEnergyPlcExcel(query) { + return request({ + url: '/base/material-use-log/materialTraceExport', + method: 'get', + params: query, + responseType: 'blob' + }) +} diff --git a/src/api/quality/processTraceability.js b/src/api/quality/processTraceability.js new file mode 100644 index 00000000..d2152584 --- /dev/null +++ b/src/api/quality/processTraceability.js @@ -0,0 +1,35 @@ +/* + * @Author: zhp + * @Date: 2023-10-31 15:05:06 + * @LastEditTime: 2023-11-03 09:05:50 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + + +// 获得工艺信息追溯page +export function getProcessTraceabilityPage(query) { + return request({ + url: '/extend/process-retrospect/get', + method: 'post', + data: query + }) +} + +export function getWorkOrderList(query) { + return request({ + url: '/base/core-work-order/listbyfilter', + method: 'get', + params: query, + }) +} +// 导出物料信息 +// export function exportEnergyPlcExcel(query) { +// return request({ +// url: '/base/material-use-log/materialTraceExport', +// method: 'get', +// params: query, +// responseType: 'blob' +// }) +// } diff --git a/src/api/quality/processTraceabilityDetail.js b/src/api/quality/processTraceabilityDetail.js new file mode 100644 index 00000000..55da6791 --- /dev/null +++ b/src/api/quality/processTraceabilityDetail.js @@ -0,0 +1,43 @@ +/* + * @Author: zhp + * @Date: 2023-10-18 09:33:57 + * @LastEditTime: 2023-11-09 15:33:20 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + + +// 获得物料信息追溯page +export function getDetMaterial(query) { + return request({ + url: '/extend/process-retrospect/getDetMaterial', + method: 'post', + data: query + }) +} + +export function getDetValue(query) { + return request({ + url: '/extend/process-retrospect/getDetValue', + method: 'post', + data: query + }) +} + +// export function getWorkOrderList(query) { +// return request({ +// url: '/base/core-work-order/listbyfilter', +// method: 'get', +// params: query, +// }) +// } +// // 导出物料信息 +// export function exportEnergyPlcExcel(query) { +// return request({ +// url: '/base/material-use-log/materialTraceExport', +// method: 'get', +// params: query, +// responseType: 'blob' +// }) +// } diff --git a/src/api/quality/rawMaterialTraceability.js b/src/api/quality/rawMaterialTraceability.js new file mode 100644 index 00000000..aba01790 --- /dev/null +++ b/src/api/quality/rawMaterialTraceability.js @@ -0,0 +1,35 @@ +/* + * @Author: zhp + * @Date: 2023-10-31 10:55:20 + * @LastEditTime: 2023-10-31 15:05:30 + * @LastEditors: zhp + * @Description: + */ +import request from '@/utils/request' + + +// 获得原料信息追溯page +export function getRawMaterialPage(query) { + return request({ + url: '/base/core-work-order-material/page', + method: 'get', + params: query + }) +} + +export function getWorkOrderList(query) { + return request({ + url: '/base/core-work-order/listbyfilter', + method: 'get', + params: query, + }) +} +// 导出物料信息 +export function exportEnergyPlcExcel(query) { + return request({ + url: '/base/material-use-log/materialTraceExport', + 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/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/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/views/base/custom/index.vue b/src/views/base/custom/index.vue index 873693a1..ab412ea9 100644 --- a/src/views/base/custom/index.vue +++ b/src/views/base/custom/index.vue @@ -134,7 +134,7 @@ import printPreview from './preview' import { MessageBox } from 'element-ui' import { hiprint } from 'vue-plugin-hiprint' import providers from './providers' -import printData from './print-data' +// import printData from './print-data' import $ from 'jquery' import SmallTitle from './SmallTitle.vue' let hiprintTemplate = null @@ -160,6 +160,7 @@ export default { // width: 220, // height: 80 }, + printData:{}, drawer: false, // 纸张类型 paperTypes: { @@ -355,13 +356,13 @@ export default { }, preView() { const { width } = this.curPaper - this.$refs.preView.show(hiprintTemplate, printData, width) + this.$refs.preView.show(hiprintTemplate, this.printData, width) }, print() { // if (window.hiwebSocket.opened) { const printerList = hiprintTemplate.getPrinterList() console.log(printerList) - hiprintTemplate.print2(printData, { printer: '', title: '预览打印' }) + hiprintTemplate.print2(this.printData, { printer: '', title: '预览打印' }) // return // } // this.$message.error('客户端未连接,无法直接打印') diff --git a/src/views/base/mixins/basic-page.js b/src/views/base/mixins/basic-page.js index 8723be82..b3b14aaa 100644 --- a/src/views/base/mixins/basic-page.js +++ b/src/views/base/mixins/basic-page.js @@ -1,8 +1,8 @@ /* * @Author: zwq * @Date: 2022-08-24 11:19:43 - * @LastEditors: DY - * @LastEditTime: 2023-09-21 16:02:07 + * @LastEditors: zhp + * @LastEditTime: 2023-11-01 10:30:12 * @Description: */ export default { @@ -101,7 +101,7 @@ export default { }, // 删除 deleteHandle(id, name, index) { - this.$confirm(`确定对${name ? '[名称=' + name + ']' : '[序号=' + index + ']'}进行删除操作?`, "提示", { + this.$confirm(`是否确认删除${name ? '[' + name + ']' : '[' + index + ']'}数据项?`, "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", diff --git a/src/views/base/packagingPrintLog/index.vue b/src/views/base/packagingPrintLog/index.vue index bb1c27b0..bad78804 100644 --- a/src/views/base/packagingPrintLog/index.vue +++ b/src/views/base/packagingPrintLog/index.vue @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2023-08-01 14:55:51 * @LastEditors: zhp - * @LastEditTime: 2023-10-30 10:44:48 + * @LastEditTime: 2023-11-07 19:28:18 * @Description: --> @@ -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/mixins/basic-add.js b/src/views/core/mixins/basic-add.js index 0b9acd23..5b0754dd 100644 --- a/src/views/core/mixins/basic-add.js +++ b/src/views/core/mixins/basic-add.js @@ -1,8 +1,8 @@ /* * @Author: zwq * @Date: 2022-08-24 11:19:43 - * @LastEditors: zwq - * @LastEditTime: 2023-08-03 14:21:04 + * @LastEditors: zhp + * @LastEditTime: 2023-11-06 15:59:53 * @Description: */ export default { @@ -80,7 +80,7 @@ export default { if (this.dataForm.id) { this.urlOptions.updateURL(this.dataForm).then(response => { this.$modal.msgSuccess("修改成功"); - this.visible = false; + this.visible = false; this.$emit("refreshDataList"); }); return; 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 66a1e009..9e3e9611 100644 --- a/src/views/equipment/analysis/efficiency/index.vue +++ b/src/views/equipment/analysis/efficiency/index.vue @@ -1,4 +1,4 @@ - -
- + --> @@ -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/extend/processEquMaterialBom/SmallTitle.vue b/src/views/extend/processEquMaterialBom/SmallTitle.vue new file mode 100644 index 00000000..2090ecc2 --- /dev/null +++ b/src/views/extend/processEquMaterialBom/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/extend/processEquMaterialBom/add-or-updata.vue b/src/views/extend/processEquMaterialBom/add-or-updata.vue new file mode 100644 index 00000000..0ffca575 --- /dev/null +++ b/src/views/extend/processEquMaterialBom/add-or-updata.vue @@ -0,0 +1,379 @@ + + + + + diff --git a/src/views/extend/processEquMaterialBom/attr-add.vue b/src/views/extend/processEquMaterialBom/attr-add.vue new file mode 100644 index 00000000..e743d014 --- /dev/null +++ b/src/views/extend/processEquMaterialBom/attr-add.vue @@ -0,0 +1,149 @@ + + + + + + diff --git a/src/views/extend/processEquMaterialBom/index.vue b/src/views/extend/processEquMaterialBom/index.vue new file mode 100644 index 00000000..d235e6db --- /dev/null +++ b/src/views/extend/processEquMaterialBom/index.vue @@ -0,0 +1,203 @@ + + + diff --git a/src/views/extend/processEquMaterialBom/statusBtn.vue b/src/views/extend/processEquMaterialBom/statusBtn.vue new file mode 100644 index 00000000..5273887f --- /dev/null +++ b/src/views/extend/processEquMaterialBom/statusBtn.vue @@ -0,0 +1,67 @@ + + + + diff --git a/src/views/extend/processEquValueBom/SmallTitle.vue b/src/views/extend/processEquValueBom/SmallTitle.vue new file mode 100644 index 00000000..2090ecc2 --- /dev/null +++ b/src/views/extend/processEquValueBom/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/extend/processEquValueBom/add-or-updata.vue b/src/views/extend/processEquValueBom/add-or-updata.vue new file mode 100644 index 00000000..1e68acb5 --- /dev/null +++ b/src/views/extend/processEquValueBom/add-or-updata.vue @@ -0,0 +1,391 @@ + + + + + diff --git a/src/views/extend/processEquValueBom/attr-add.vue b/src/views/extend/processEquValueBom/attr-add.vue new file mode 100644 index 00000000..a8af677b --- /dev/null +++ b/src/views/extend/processEquValueBom/attr-add.vue @@ -0,0 +1,189 @@ + + + + + + diff --git a/src/views/extend/processEquValueBom/index.vue b/src/views/extend/processEquValueBom/index.vue new file mode 100644 index 00000000..9ea4bf71 --- /dev/null +++ b/src/views/extend/processEquValueBom/index.vue @@ -0,0 +1,203 @@ + + + diff --git a/src/views/extend/processEquValueBom/statusBtn.vue b/src/views/extend/processEquValueBom/statusBtn.vue new file mode 100644 index 00000000..658cb3f7 --- /dev/null +++ b/src/views/extend/processEquValueBom/statusBtn.vue @@ -0,0 +1,67 @@ + + + + diff --git a/src/views/extend/processFlowView/components/ProcessDetail.vue b/src/views/extend/processFlowView/components/ProcessDetail.vue index 5cb65004..ed9a8689 100644 --- a/src/views/extend/processFlowView/components/ProcessDetail.vue +++ b/src/views/extend/processFlowView/components/ProcessDetail.vue @@ -1,8 +1,8 @@ -