From 35da704bb4dc93de4430e393371b4cb46e23f145 Mon Sep 17 00:00:00 2001 From: helloDy <1615073571@qq.com> Date: Sat, 24 Feb 2024 19:18:11 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=BF=9D=E5=85=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.dev | 6 +- src/api/equipment/base/inspection/record.js | 37 +- src/api/equipment/base/maintain/planconfig.js | 104 ++++ src/api/equipment/base/maintain/record.js | 28 +- src/views/core/mixins/code-filter.js | 13 +- .../DataCollection/CollectionConfig.vue | 2 +- .../config/DataCollection/add-or-updata.vue | 5 +- .../base/inspection/Record/addContent.vue | 312 +++++++++++ .../base/inspection/Record/index.vue | 118 +++-- .../equipment/base/maintain/Monitor/index.vue | 84 +-- .../base/maintain/PlanConfig/SmallTitle.vue | 65 +++ .../maintain/PlanConfig/add-or-updata.vue | 283 ++++++++++ .../base/maintain/PlanConfig/addContent.vue | 308 +++++++++++ .../base/maintain/PlanConfig/attr-add.vue | 167 ++++++ .../base/maintain/PlanConfig/index.vue | 496 +++++++----------- .../base/maintain/PlanConfig/index1.vue | 376 +++++++++++++ .../base/maintain/Record/addContent.vue | 294 +++++++++++ .../equipment/base/maintain/Record/index.vue | 185 ++++--- src/views/equipment/base/repair/index.vue | 80 +-- 19 files changed, 2454 insertions(+), 509 deletions(-) create mode 100644 src/api/equipment/base/maintain/planconfig.js create mode 100644 src/views/equipment/base/inspection/Record/addContent.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/SmallTitle.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/add-or-updata.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/addContent.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/attr-add.vue create mode 100644 src/views/equipment/base/maintain/PlanConfig/index1.vue create mode 100644 src/views/equipment/base/maintain/Record/addContent.vue diff --git a/.env.dev b/.env.dev index 3a17f602..353ca848 100644 --- a/.env.dev +++ b/.env.dev @@ -1,7 +1,7 @@ ### # @Author: Do not edit # @Date: 2023-08-29 09:40:39 - # @LastEditTime: 2024-02-21 18:47:20 + # @LastEditTime: 2024-02-23 17:11:13 # @LastEditors: DY # @Description: ### @@ -14,7 +14,6 @@ VUE_APP_TITLE = MES系统 # 芋道管理系统/开发环境 # VUE_APP_BASE_API = 'http://100.64.0.26:48082' # VUE_APP_BASE_API = 'http://10.70.2.2:8080' -# 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:48082' @@ -23,10 +22,9 @@ VUE_APP_TITLE = MES系统 # VUE_APP_BASE_API = 'http://192.168.1.104:48082' # VUE_APP_BASE_API = 'http://192.168.0.30:8888' 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.1.47:48082' # VUE_APP_BASE_API = 'http://192.168.1.62:48082' # VUE_APP_BASE_API = 'http://192.168.1.78:48082' -# VUE_APP_BASE_API = 'http://192.168.1.78:48082' # socket地址 VUE_APP_Socket_API = 'ws://10.70.2.2:8080' VUE_APP_Socket_Dcs_API = 'ws://10.70.180.10:8081' diff --git a/src/api/equipment/base/inspection/record.js b/src/api/equipment/base/inspection/record.js index 31bb481e..f0fa7d1e 100644 --- a/src/api/equipment/base/inspection/record.js +++ b/src/api/equipment/base/inspection/record.js @@ -1,7 +1,7 @@ /* * @Author: Do not edit * @Date: 2023-11-08 15:56:52 - * @LastEditTime: 2023-11-16 20:15:02 + * @LastEditTime: 2024-02-24 18:51:54 * @LastEditors: DY * @Description: */ @@ -68,3 +68,38 @@ export function deleteEqCheckLog(id) { method: 'delete' }) } + +// 获得设备巡检单详情分页 +export function getCheckOrderDetPage(query) { + return request({ + url: '/base/equipment-check-order-det/page', + method: 'get', + params: query + }) +} + +// 创建设备巡检单详情 +export function createCheckOrderDet(data) { + return request({ + url: '/base/equipment-check-order-det/create', + method: 'post', + data: data + }) +} + +// 更新设备巡检单详情 +export function updateCheckOrderDet(data) { + return request({ + url: '/base/equipment-check-order-det/update', + method: 'put', + data: data + }) +} + +// 删除设备巡检单详情 +export function deleteCheckOrderDet(id) { + return request({ + url: '/base/equipment-check-order-det/delete?id=' + id, + method: 'delete' + }) +} diff --git a/src/api/equipment/base/maintain/planconfig.js b/src/api/equipment/base/maintain/planconfig.js new file mode 100644 index 00000000..60fa4e32 --- /dev/null +++ b/src/api/equipment/base/maintain/planconfig.js @@ -0,0 +1,104 @@ +/* + * @Author: Do not edit + * @Date: 2024-02-22 15:14:19 + * @LastEditTime: 2024-02-23 19:18:22 + * @LastEditors: DY + * @Description: + */ +import request from '@/utils/request' + +// 获得设备保养计划配置分页 +export function getPlanPage(query) { + return request({ + url: '/base/equipment-maintain-plan/page', + method: 'get', + params: query + }) +} + +// 创建设备保养计划 +export function createPlan(data) { + return request({ + url: '/base/equipment-maintain-plan/create', + method: 'post', + data: data + }) +} + +// 更新设备保养计划 +export function updatePlan(data) { + return request({ + url: '/base/equipment-maintain-plan/update', + method: 'put', + data: data + }) +} + +// 获得计划code +export function getCode() { + return request({ + url: '/base/equipment-maintain-plan/getCode', + method: 'get' + }) +} + +// 获得计划 +export function getPlan(query) { + return request({ + url: '/base/equipment-maintain-plan/get', + method: 'get', + params: query + }) +} + +// 获得设备保养计划配置详情分页 +export function getPlanDetPage(query) { + return request({ + url: '/base/equipment-maintain-plan-det/page', + method: 'get', + params: query + }) +} + +// 创建设备保养计划详情 +export function createPlanDet(data) { + return request({ + url: '/base/equipment-maintain-plan-det/create', + method: 'post', + data: data + }) +} + +// 更新设备保养计划详情 +export function updatePlanDet(data) { + return request({ + url: '/base/equipment-maintain-plan-det/update', + method: 'put', + data: data + }) +} + +// 获得计划详情 +export function getPlanDet(query) { + return request({ + url: '/base/equipment-maintain-plan-det/get', + method: 'get', + params: query + }) +} + +// 删除设备保养计划 +export function deletePlan(id) { + return request({ + url: '/base/equipment-maintain-plan/delete?id=' + id, + method: 'delete' + }) +} + +// 删除设备保养计划详情 +export function deletePlanDet(id) { + return request({ + url: '/base/equipment-maintain-plan-det/delete?id=' + id, + method: 'delete' + }) +} diff --git a/src/api/equipment/base/maintain/record.js b/src/api/equipment/base/maintain/record.js index 8ca6f36f..cc702e61 100644 --- a/src/api/equipment/base/maintain/record.js +++ b/src/api/equipment/base/maintain/record.js @@ -1,7 +1,7 @@ /* * @Author: Do not edit * @Date: 2023-11-08 15:56:52 - * @LastEditTime: 2023-11-23 19:10:07 + * @LastEditTime: 2024-02-24 16:53:33 * @LastEditors: DY * @Description: */ @@ -42,3 +42,29 @@ export function exportMaintainLogExcel(query) { responseType: 'blob' }) } + +// 获得保养记录 +export function getLog(query) { + return request({ + url: '/base/equipment-maintain-log/get', + method: 'get', + params: query + }) +} + +// 获得设备保养记录详情分页 +export function getLogDetPage(query) { + return request({ + url: '/base/equipment-maintain-log-det/page', + method: 'get', + params: query + }) +} + +// 删除设备保养记录详情 +export function deleteLogDet(id) { + return request({ + url: '/base/equipment-maintain-log-det/delete?id=' + id, + method: 'delete' + }) +} diff --git a/src/views/core/mixins/code-filter.js b/src/views/core/mixins/code-filter.js index 30c5f12e..b85075a9 100644 --- a/src/views/core/mixins/code-filter.js +++ b/src/views/core/mixins/code-filter.js @@ -2,7 +2,7 @@ /* * @Date: 2020-12-29 16:49:28 * @LastEditors: DY - * @LastEditTime: 2023-09-12 11:13:34 + * @LastEditTime: 2024-02-23 14:50:22 * @FilePath: \basic-admin\src\filters\basicData\index.js * @Description: */ @@ -62,6 +62,17 @@ export function parseTime(time, pattern) { }) return time_str } + +export function toDay(time) { + if (time < 24) { + return time + '小时' + } else { + const day = ~~(time / 24) + const hour = time % 24 + return day + '天' + hour + '小时' + } +} + export default function (dictTable) { return function (val) { return table?.[dictTable]?.[val] diff --git a/src/views/equipment/base/config/DataCollection/CollectionConfig.vue b/src/views/equipment/base/config/DataCollection/CollectionConfig.vue index 99d87f01..2f15d7b1 100644 --- a/src/views/equipment/base/config/DataCollection/CollectionConfig.vue +++ b/src/views/equipment/base/config/DataCollection/CollectionConfig.vue @@ -41,7 +41,7 @@ diff --git a/src/views/equipment/base/config/DataCollection/add-or-updata.vue b/src/views/equipment/base/config/DataCollection/add-or-updata.vue index 3dc513a5..06a6e6d9 100644 --- a/src/views/equipment/base/config/DataCollection/add-or-updata.vue +++ b/src/views/equipment/base/config/DataCollection/add-or-updata.vue @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2021-11-18 14:16:25 * @LastEditors: DY - * @LastEditTime: 2024-02-21 18:31:44 + * @LastEditTime: 2024-02-22 10:08:13 * @Description: --> @@ -57,60 +62,84 @@ import moment from 'moment'; import basicPageMixin from '@/mixins/lb/basicPageMixin'; import addRecord from './addRecord.vue'; +import AddContent from './addContent.vue'; import { exportCheckLogExcel, deleteEqCheckLog } from '@/api/equipment/base/inspection/record' import { parseTime } from '../../../../core/mixins/code-filter'; -const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'); +// const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'); + +const btn = { + name: 'tableBtn', + props: ['injectData'], + data() { + return {}; + }, + methods: { + handleClick() { + this.$emit('emitData', { action: this.injectData.label, value: this.injectData }); + }, + }, + render: function (h) { + return ( + + {this.injectData.name} + + ); + }, +}; export default { - name: 'EquipmentRepair', - components: { addRecord }, + name: 'EquipmentInspectionRecord', + components: { addRecord, AddContent }, mixins: [basicPageMixin], data() { return { addOrUpdateVisible: false, searchBarKeys: ['equipmentId', 'actualTime'], tableBtn: [ - this.$auth.hasPermi('equipment:check-record:detail') - ? { - type: 'detail', - btnName: '详情', - } - : undefined, - this.$auth.hasPermi('equipment:check-record:update') - ? { - type: 'edit', - btnName: '修改', - } - : undefined, - this.$auth.hasPermi('equipment:check-record:delete') - ? { - type: 'delete', - btnName: '删除', - } - : undefined, + // this.$auth.hasPermi('equipment:check-record:detail') + // ? { + // type: 'detail', + // btnName: '详情', + // } + // : undefined, + // this.$auth.hasPermi('equipment:check-record:update') + // ? { + // type: 'edit', + // btnName: '修改', + // } + // : undefined, + // this.$auth.hasPermi('equipment:check-record:delete') + // ? { + // type: 'delete', + // btnName: '删除', + // } + // : undefined, ].filter((v) => v), tableProps: [ - { prop: 'configName', label: '配置名称' }, - { prop: 'equipmentName', label: '设备名称' }, - { prop: 'origin', label: '数据来源', filter: (val) => ['', '手动', 'PDA'][val] }, + { prop: 'configName', label: '巡检单名称' }, + { prop: 'equipmentName', label: '部门' }, + { prop: 'actualTime1', label: '巡检时间', filter: parseTime }, + { prop: 'actualTime', label: '班次' }, + { prop: 'opt', label: '巡检内容', name: '详情', subcomponent: btn }, + { prop: 'remark', label: '备注' } + // { prop: 'origin', label: '数据来源', filter: (val) => ['', '手动', 'PDA'][val] }, // { prop: 'sectionName', label: '计划巡检时间' }, - { prop: 'actualTime', label: '实际巡检时间', filter: parseTime }, // { prop: 'maintenanceDetail', label: '完成状态' }, - { prop: 'responsible', label: '巡检人' }, + // { prop: 'responsible', label: '巡检人' }, ], searchBarFormConfig: [ { type: 'select', - label: '设备', - placeholder: '请选择设备', + label: '巡检单名称', + placeholder: '请选择巡检单', param: 'equipmentId', filterable: true }, // 开始结束时间 { type: 'datePicker', - label: '时间段', + label: '巡检时间', dateType: 'daterange', // datetimerange format: 'yyyy-MM-dd', valueFormat: 'yyyy-MM-dd HH:mm:ss', @@ -138,16 +167,16 @@ export default { name: 'export', plain: true, color: 'primary', - }, - { - type: this.$auth.hasPermi('equipment:check-record:create') - ? 'button' - : '', - btnName: '新增', - name: 'add', - plain: true, - color: 'success', - }, + } + // { + // type: this.$auth.hasPermi('equipment:check-record:create') + // ? 'button' + // : '', + // btnName: '新增', + // name: 'add', + // plain: true, + // color: 'success', + // }, ], rows: [ [ @@ -231,6 +260,17 @@ export default { this.getList(); }, methods: { + handleEmitFun({action, value}) { + switch (action) { + // 查看详情 + case '巡检内容': + this.addContent = true; + this.$nextTick(() => { + this.$refs.addContent.init(value.id, true); + }); + break; + } + }, initSearchBar() { this.http('/base/core-equipment/page', 'get', { special: false, diff --git a/src/views/equipment/base/maintain/Monitor/index.vue b/src/views/equipment/base/maintain/Monitor/index.vue index 95a87491..5974860a 100644 --- a/src/views/equipment/base/maintain/Monitor/index.vue +++ b/src/views/equipment/base/maintain/Monitor/index.vue @@ -31,7 +31,7 @@ @pagination="getList" /> - - + --> + @@ -53,6 +57,7 @@ import moment from 'moment'; import basicPageMixin from '@/mixins/lb/basicPageMixin'; import { exportMaintainMonitorExcel } from '@/api/equipment/base/maintain/record' import { parseTime } from '@/utils/ruoyi' +import AddContent from '../PlanConfig/addContent.vue'; const remainBox = { name: 'RemainBox', @@ -107,11 +112,12 @@ const btn = { }; export default { - name: 'PlanConfig', - components: {}, + name: 'Monitor', + components: { AddContent }, mixins: [basicPageMixin], data() { return { + addContent: false, searchBarKeys: ['planId', 'equipmentId'], tableProps: [ // { @@ -121,46 +127,53 @@ export default { // width: 180, // filter: parseTime(createTime), // }, - { prop: 'name', label: '保养计划' }, + { prop: 'code', label: '保养计划单号' }, + { prop: 'name', label: '保养计划名称' }, + { prop: 'departmentName', label: '部门' }, { prop: 'lineName', label: '产线名' }, - { prop: 'sectionName', label: '工段名' }, - { prop: 'equipmentName', label: '设备名称' }, - { prop: 'equipmentCode', label: '设备编码' }, - { prop: 'maintenancePeriod', label: '保养频率' }, { - prop: 'maintainType', - label: '保养类型', - filter: publicFormatter(this.DICT_TYPE.MAINTAIN_TYPE), + prop: 'lastPlanMaintainTime', + label: '上次计划保养时间', + filter: parseTime, }, { prop: 'lastMaintainTime', - label: '上次保养时间', + label: '上次实际保养时间', filter: parseTime, }, - { prop: 'nextMaintainTime', label: '计划下次保养时间', filter: parseTime }, + { prop: 'nextMaintainTime', label: '下次计划保养时间', filter: parseTime }, + { prop: 'maintainer', label: '计划保养人员' }, + // { prop: 'equipmentName', label: '设备名称' }, + // { prop: 'equipmentCode', label: '设备编码' }, + // { prop: 'maintenancePeriod', label: '保养频率' }, + // { + // prop: 'maintainType', + // label: '保养类型', + // filter: publicFormatter(this.DICT_TYPE.MAINTAIN_TYPE), + // }, + // { prop: 'opt1', label: '设备保养', name: '操作', subcomponent: btn }, + { prop: 'opt2', label: '保养内容', name: '详情', subcomponent: btn }, { prop: 'remainDays', - label: '距离保养时间(天)', + label: '距离下次保养剩余时间(天)', subcomponent: remainBox, - }, - { prop: 'opt1', label: '设备保养', name: '操作', subcomponent: btn }, - { prop: 'opt2', label: '保养记录', name: '查看详情', subcomponent: btn }, + } ], searchBarFormConfig: [ { type: 'select', - label: '保养计划', + label: '保养计划名称', placeholder: '请选择保养计划', param: 'planId', filterable: true, }, - { - type: 'select', - label: '设备名', - placeholder: '请选择设备', - param: 'equipmentId', - filterable: true, - }, + // { + // type: 'select', + // label: '设备名', + // placeholder: '请选择设备', + // param: 'equipmentId', + // filterable: true, + // }, { type: 'button', btnName: '查询', @@ -255,13 +268,18 @@ export default { row: value } }) break; - case '保养记录': - const queryData = { - equipmentId: value.equipmentId, - maintainPlanId: value.id, - relatePlan: value.lastMaintainTime ? 1 : 2 - } - this.$router.push({ path: '/equipment/base/maintain/record',query: queryData }) + case '保养内容': + // 保养内容 + this.addContent = true; + this.$nextTick(() => { + this.$refs.addContent.init(value.id, true); + }); + // const queryData = { + // equipmentId: value.equipmentId, + // maintainPlanId: value.id, + // relatePlan: value.lastMaintainTime ? 1 : 2 + // } + // this.$router.push({ path: '/equipment/base/maintain/record',query: queryData }) break; } }, diff --git a/src/views/equipment/base/maintain/PlanConfig/SmallTitle.vue b/src/views/equipment/base/maintain/PlanConfig/SmallTitle.vue new file mode 100644 index 00000000..93b4a18f --- /dev/null +++ b/src/views/equipment/base/maintain/PlanConfig/SmallTitle.vue @@ -0,0 +1,65 @@ + + + + + + diff --git a/src/views/equipment/base/maintain/PlanConfig/add-or-updata.vue b/src/views/equipment/base/maintain/PlanConfig/add-or-updata.vue new file mode 100644 index 00000000..57c887b6 --- /dev/null +++ b/src/views/equipment/base/maintain/PlanConfig/add-or-updata.vue @@ -0,0 +1,283 @@ + + + + + diff --git a/src/views/equipment/base/maintain/PlanConfig/addContent.vue b/src/views/equipment/base/maintain/PlanConfig/addContent.vue new file mode 100644 index 00000000..d5e9ad38 --- /dev/null +++ b/src/views/equipment/base/maintain/PlanConfig/addContent.vue @@ -0,0 +1,308 @@ + + + + + diff --git a/src/views/equipment/base/maintain/PlanConfig/attr-add.vue b/src/views/equipment/base/maintain/PlanConfig/attr-add.vue new file mode 100644 index 00000000..1b89c64e --- /dev/null +++ b/src/views/equipment/base/maintain/PlanConfig/attr-add.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/src/views/equipment/base/maintain/PlanConfig/index.vue b/src/views/equipment/base/maintain/PlanConfig/index.vue index 4f7a9185..8feb94fe 100644 --- a/src/views/equipment/base/maintain/PlanConfig/index.vue +++ b/src/views/equipment/base/maintain/PlanConfig/index.vue @@ -1,143 +1,150 @@ diff --git a/src/views/equipment/base/maintain/Record/addContent.vue b/src/views/equipment/base/maintain/Record/addContent.vue new file mode 100644 index 00000000..a31f82a1 --- /dev/null +++ b/src/views/equipment/base/maintain/Record/addContent.vue @@ -0,0 +1,294 @@ + + + + + diff --git a/src/views/equipment/base/maintain/Record/index.vue b/src/views/equipment/base/maintain/Record/index.vue index 1b89602b..8b131da7 100644 --- a/src/views/equipment/base/maintain/Record/index.vue +++ b/src/views/equipment/base/maintain/Record/index.vue @@ -51,6 +51,10 @@ + @@ -59,15 +63,37 @@ import moment from 'moment'; import basicPageMixin from '@/mixins/lb/basicPageMixin'; import Editor from '@/components/Editor'; import { deleteEqMaintainLog, exportMaintainLogExcel } from '@/api/equipment/base/maintain/record'; +import AddContent from './addContent.vue'; const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'); +const btn = { + name: 'tableBtn', + props: ['injectData'], + data() { + return {}; + }, + methods: { + handleClick() { + this.$emit('emitData', { action: this.injectData.label, value: this.injectData }); + }, + }, + render: function (h) { + return ( + + {this.injectData.name} + + ); + }, +}; + export default { name: 'EquipmentMaintainRecord', - components: {}, + components: { AddContent }, mixins: [basicPageMixin], data() { return { + addContent: false, searchBarKeys: [ 'maintainPlanId', 'startTime', @@ -75,65 +101,70 @@ export default { 'equipmentId', ], tableBtn: [ - this.$auth.hasPermi('equipment:maintain-record:update') - ? { - type: 'detail', - btnName: '详情', - } - : undefined, - this.$auth.hasPermi('equipment:maintain-record:update') - ? { - type: 'edit', - btnName: '修改', - } - : undefined, - this.$auth.hasPermi('equipment:maintain-record:delete') - ? { - type: 'delete', - btnName: '删除', - } - : undefined, + // this.$auth.hasPermi('equipment:maintain-record:update') + // ? { + // type: 'detail', + // btnName: '详情', + // } + // : undefined, + // this.$auth.hasPermi('equipment:maintain-record:update') + // ? { + // type: 'edit', + // btnName: '修改', + // } + // : undefined, + // this.$auth.hasPermi('equipment:maintain-record:delete') + // ? { + // type: 'delete', + // btnName: '删除', + // } + // : undefined, ].filter((v) => v), tableProps: [ - { - prop: 'createTime', - label: '添加时间', - fixed: true, - width: 180, - filter: timeFilter, - }, + // { + // prop: 'createTime', + // label: '添加时间', + // fixed: true, + // width: 180, + // filter: timeFilter, + // }, { prop: 'maintainOrderNumber', label: '设备保养单号' }, - { prop: 'startTime', label: '开始时间', filter: timeFilter }, - { prop: 'endTime', label: '结束时间', filter: timeFilter }, - { prop: 'equipmentName', label: '设备名称' }, - { prop: 'maintainWorker', label: '保养人员' }, + { prop: 'planName', label: '保养计划名称' }, + { prop: 'departmentName', label: '部门' }, + { prop: 'lineName', label: '产线名' }, + { prop: 'planStartTime', label: '计划开始时间', filter: timeFilter }, + { prop: 'planEndTime', label: '计划结束时间', filter: timeFilter }, + { prop: 'startTime', label: '实际开始时间', filter: timeFilter }, + { prop: 'endTime', label: '实际结束时间', filter: timeFilter }, + // { prop: 'equipmentName', label: '设备名称' }, + // { prop: 'maintainWorker', label: '保养人员' }, { prop: 'relatePlan', - label: '是否计划保养', - filter: (v) => (v != null ? ['', '是', '否'][v] : ''), + label: '保养计划类型', + filter: (v) => (v != null ? ['', '计划型', '非计划型'][v] : ''), }, - { prop: 'planName', label: '保养计划名称' }, - { prop: 'maintainDuration', label: '计划保养用时(h)' }, - { prop: 'timeUsed', label: '实际保养用时(h)' }, - { prop: 'remark', label: '备注' }, + { prop: 'opt', label: '详情', name: '详情', subcomponent: btn } + // { prop: 'maintainDuration', label: '计划保养用时(h)' }, + // { prop: 'timeUsed', label: '实际保养用时(h)' }, + // { prop: 'remark', label: '备注' }, ], searchBarFormConfig: [ + // { + // type: 'select', + // label: '设备', + // placeholder: '请选择设备', + // param: 'equipmentId', + // }, { type: 'select', - label: '设备', - placeholder: '请选择设备', - param: 'equipmentId', - }, - { - type: 'select', - label: '计划名称', + label: '保养计划名称', placeholder: '请选择计划名称', param: 'maintainPlanId', }, // 开始结束时间 { type: 'datePicker', - label: '保养开始时间', + label: '实际开始时间', dateType: 'daterange', // datetimerange format: 'yyyy-MM-dd', valueFormat: 'yyyy-MM-dd HH:mm:ss', @@ -144,15 +175,15 @@ export default { param: 'startTime', // width: 350, }, - { - type: 'select', - label: '是否计划保养', - selectOptions: [ - { name: '是', id: 1 }, - { name: '否', id: 2 }, - ], - param: 'relatePlan', - }, + // { + // type: 'select', + // label: '是否计划保养', + // selectOptions: [ + // { name: '是', id: 1 }, + // { name: '否', id: 2 }, + // ], + // param: 'relatePlan', + // }, { type: 'button', btnName: '查询', @@ -170,24 +201,24 @@ export default { name: 'export', plain: true, color: 'primary', - }, - { - type: this.$auth.hasPermi('equipment:maintain-record:create') - ? 'button' - : '', - btnName: '新增', - name: 'add', - plain: true, - color: 'success', - }, - { - type: this.$auth.hasPermi('equipment:maintain-record:export') - ? 'button' - : '', - btnName: '导出', - name: 'export', - color: 'warning', - }, + } + // { + // type: this.$auth.hasPermi('equipment:maintain-record:create') + // ? 'button' + // : '', + // btnName: '新增', + // name: 'add', + // plain: true, + // color: 'success', + // }, + // { + // type: this.$auth.hasPermi('equipment:maintain-record:export') + // ? 'button' + // : '', + // btnName: '导出', + // name: 'export', + // color: 'warning', + // }, ], rows: [ [ @@ -339,6 +370,18 @@ export default { } }, methods: { + handleEmitFun({action, value}) { + switch (action) { + // 查看详情 + case '详情': + // this.handleDetail({ id: value.id }) + this.addContent = true; + this.$nextTick(() => { + this.$refs.addContent.init(value.id, true); + }); + break; + } + }, initSearchBar() { this.http('/base/core-equipment/page', 'get', { special: false, diff --git a/src/views/equipment/base/repair/index.vue b/src/views/equipment/base/repair/index.vue index 7144bf92..a0b4873b 100644 --- a/src/views/equipment/base/repair/index.vue +++ b/src/views/equipment/base/repair/index.vue @@ -68,7 +68,7 @@ export default { data() { return { addOrUpdateVisible: false, - searchBarKeys: ['maintenanceStatus', 'createTime', 'equipmentId'], + searchBarKeys: ['maintenanceResult', 'createTime', 'equipmentId'], tableBtn: [ this.$auth.hasPermi('equipment:repair:update') ? { @@ -76,18 +76,18 @@ export default { btnName: '详情', } : undefined, - this.$auth.hasPermi('equipment:repair:finish') - ? { - type: 'finish', - btnName: '完成', - } - : undefined, - this.$auth.hasPermi('equipment:repair:update') - ? { - type: 'edit', - btnName: '修改', - } - : undefined, + // this.$auth.hasPermi('equipment:repair:finish') + // ? { + // type: 'finish', + // btnName: '完成', + // } + // : undefined, + // this.$auth.hasPermi('equipment:repair:update') + // ? { + // type: 'edit', + // btnName: '修改', + // } + // : undefined, this.$auth.hasPermi('equipment:repair:delete') ? { type: 'delete', @@ -96,33 +96,40 @@ export default { : undefined, ].filter((v) => v), tableProps: [ + // { + // prop: 'createTime', + // label: '添加时间', + // fixed: true, + // width: 180, + // filter: parseTime, + // }, + { prop: 'repairOrderNumber', label: '维修单号' }, + { prop: 'lineName', label: '产线名' }, + { prop: 'sectionName', label: '工段名' }, + { prop: 'equipmentName', label: '设备名称', minWidth: 100, showOverflowtooltip: true }, + { prop: 'faultDetail', label: '故障明细' }, + // { prop: 'maintenanceDetail', label: '维修明细', subcomponent: htmls, minWidth: 100, showOverflowtooltip: true }, { - prop: 'createTime', - label: '添加时间', - fixed: true, - width: 180, + prop: 'maintenanceStartTime', + label: '维修开始时间', filter: parseTime, }, - { prop: 'repairOrderNumber', label: '设备维修单号' }, - { prop: 'maintenanceStartTime', label: '开始时间', filter: parseTime }, { prop: 'maintenanceFinishTime', - label: '结束时间', + label: '维修结束时间', filter: parseTime, }, + // { prop: 'maintenanceStartTime', label: '开始时间', filter: parseTime }, { - prop: 'maintenanceStatus', - label: '维修状态', - filter: (v) => (v != null ? ['未完成', '完成', '进行中'][v] : ''), + prop: 'maintenanceResult', + label: '维修结果', + filter: (v) => (v != null ? ['成功', '失败'][v] : ''), }, - { prop: 'maintenanceDuration', label: '维修时长(h)' }, - { prop: 'lineName', label: '产线' }, - { prop: 'sectionName', label: '工段' }, - { prop: 'equipmentName', label: '设备名称', minWidth: 100, showOverflowtooltip: true }, - { prop: 'maintenanceDetail', label: '维修明细', subcomponent: htmls, minWidth: 100, showOverflowtooltip: true }, - { prop: 'repairman', label: '维修工', minWidth: 100, showOverflowtooltip: true }, - { prop: 'repairmanPhone', label: '联系方式', minWidth: 100, showOverflowtooltip: true }, - { prop: 'remark', label: '备注', minWidth: 120, showOverflowtooltip: true }, + // { prop: 'maintenanceDuration', label: '维修时长(h)' }, + { prop: 'remark', label: '维修描述' }, // 没有参数 + // { prop: 'repairman', label: '维修工', minWidth: 100, showOverflowtooltip: true }, + // { prop: 'repairmanPhone', label: '联系方式', minWidth: 100, showOverflowtooltip: true }, + { prop: 'remark', label: '备注', minWidth: 120, showOverflowtooltip: true } ], searchBarFormConfig: [ { @@ -134,13 +141,12 @@ export default { }, { type: 'select', - label: '状态', + label: '维修结果', placeholder: '请选择状态', - param: 'maintenanceStatus', + param: 'maintenanceResult', selectOptions: [ - { name: '未完成', id: '0' }, - { name: '完成', id: '1' }, - { name: '进行中', id: '2' }, + { name: '成功', id: '0' }, + { name: '失败', id: '1' } ], }, // 时间段 @@ -253,7 +259,7 @@ export default { pageNo: 1, pageSize: 10, special: false, - maintenanceStatus: null, + maintenanceResult: null, createTime: null, equipmentId: null, }, From 0abf6283772db686625da6015799f51b0385733b Mon Sep 17 00:00:00 2001 From: helloDy <1615073571@qq.com> Date: Mon, 26 Feb 2024 08:44:42 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/equipment/base/inspection/settings.js | 62 ++++++- .../inspection/Settings/add-or-updata.vue | 118 ++++++------ .../base/inspection/Settings/add.vue | 171 +++++++++++++----- .../base/inspection/Settings/attr-add.vue | 71 +++++--- .../base/inspection/Settings/index.vue | 52 +++--- 5 files changed, 318 insertions(+), 156 deletions(-) diff --git a/src/api/equipment/base/inspection/settings.js b/src/api/equipment/base/inspection/settings.js index 5f637a22..c4d798d6 100644 --- a/src/api/equipment/base/inspection/settings.js +++ b/src/api/equipment/base/inspection/settings.js @@ -1,7 +1,7 @@ /* * @Author: Do not edit * @Date: 2023-11-08 15:56:52 - * @LastEditTime: 2023-11-25 16:22:49 + * @LastEditTime: 2024-02-25 22:23:54 * @LastEditors: DY * @Description: */ @@ -100,3 +100,63 @@ export function updateCheckConfig(data) { data: data }) } + +// 创建巡检单 +export function createCheckOrder(data) { + return request({ + url: '/base/equipment-check-order/create', + method: 'post', + data: data + }) +} + +// 更新巡检单 +export function updateCheckOrder(data) { + return request({ + url: '/base/equipment-check-order/update', + method: 'put', + data: data + }) +} + +// 获得设备巡检单code +export function getOrderCode() { + return request({ + url: '/base/equipment-check-order/getCode', + method: 'get' + }) +} + +// 获得巡检单 +export function getCheckOrder(id) { + return request({ + url: '/base/equipment-check-order/get?id=' + id, + method: 'get' + }) +} + +// 获得巡检单详细 +export function getCheckOrderDet(id) { + return request({ + url: '/base/equipment-check-order-det/get?id=' + id, + method: 'get' + }) +} + +// 创建巡检单详情 +export function createCheckOrderDet(data) { + return request({ + url: '/base/equipment-check-order-det/create', + method: 'post', + data: data + }) +} + +// 更新巡检单详情 +export function updateCheckOrderDet(data) { + return request({ + url: '/base/equipment-check-order-det/update', + method: 'put', + data: data + }) +} diff --git a/src/views/equipment/base/inspection/Settings/add-or-updata.vue b/src/views/equipment/base/inspection/Settings/add-or-updata.vue index b985822c..c500c4c3 100644 --- a/src/views/equipment/base/inspection/Settings/add-or-updata.vue +++ b/src/views/equipment/base/inspection/Settings/add-or-updata.vue @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2021-11-18 14:16:25 * @LastEditors: DY - * @LastEditTime: 2023-12-01 11:02:43 + * @LastEditTime: 2024-02-26 08:40:22 * @Description: --> diff --git a/src/views/equipment/base/inspection/Settings/attr-add.vue b/src/views/equipment/base/inspection/Settings/attr-add.vue index 9913f677..942e471c 100644 --- a/src/views/equipment/base/inspection/Settings/attr-add.vue +++ b/src/views/equipment/base/inspection/Settings/attr-add.vue @@ -17,18 +17,32 @@ ref="dataForm" :model="dataForm" :rules="dataRule" - label-width="60px" + label-width="90px" @keyup.enter.native="dataFormSubmit()"> - - - + + - + + + + @@ -41,11 +55,12 @@