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 01/27] =?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 02/27] =?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 @@ + + diff --git a/src/views/equipment/base/inspection/Confirm/WaitingListTable.vue b/src/views/equipment/base/inspection/Confirm/WaitingListTable.vue new file mode 100644 index 00000000..563fb3aa --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/WaitingListTable.vue @@ -0,0 +1,251 @@ + + + + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/add-or-updata.vue b/src/views/equipment/base/inspection/Confirm/add-or-updata.vue new file mode 100644 index 00000000..50a0848e --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/add-or-updata.vue @@ -0,0 +1,498 @@ + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/attr-add.vue b/src/views/equipment/base/inspection/Confirm/attr-add.vue new file mode 100644 index 00000000..0abf82d5 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/attr-add.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/demo.css b/src/views/equipment/base/inspection/Confirm/iconfont/demo.css new file mode 100644 index 00000000..a67054a0 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/iconfont/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.css b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.css new file mode 100644 index 00000000..da3d1f0f --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.css @@ -0,0 +1,38 @@ +@font-face { + font-family: "iconfont"; /* Project id 3821755 */ + src: url('iconfont.eot?t=1689233106339'); /* IE9 */ + src: url('iconfont.eot?t=1689233106339#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAARgAAsAAAAACcAAAAQUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACDKAqGSIUsATYCJAMYCw4ABCAFhGcHVBtUCMiuMG7hiaIkox1FaBhxvd1fpwAN4YKo1v7tWTr8hBRkBQgO7yqKUJKPUKzDjkixjn7/q0vlANCkEHCJtsMvx2eQn04h5rHEE8593TK2y1SC5nbvNG5gqgZBNEWTqFUQLGVFNnVu1TjyMm3SafEsC3y0myW12KdEh2x+deP/zzHTJeG3AVBm4lrnAxpQN0US7s3ijuSE6Jbh1UGv08cgQEivMg5z6m49Qj77TVxDEZww6gXicNkviSbkxgswNeGCj+CgMw1yFRpAnUNegSv+8+UfU/igsBpjnRV3rRV9+Su8Fk1Agv6CW4eAeyvAAhronJlI1tcrVnIMHZ0cCcsUTrRTnQ0CP50B4KfgEub9Lw80BougQBwGI8bYJU4LPwUbBw0/HXAw8NORUM90wsT9JeIMFACux9QckHyQ9FDYTobcGi+FLSjwMxDe3L5s+w9THFYeEs8H303FWMnZ1JuBWFgNPh3bd5wOvJmKI9aTqXeD8eJ66HnfnV1dJPE8cy4EgqT+s/SbdSWbp9Pn24NbZ1MnGw7CDbvT6+lL1CXVh++hcH56umDT9vOviL/grQ6srHjE57uLHdQn+dtO9x2v94WN6+eXm0HWlZOzta3tUDp1JWjymsiD8r0ViWGkC+n4GeH5aODSM+9COnilpdfdZsRIvMerLmS0uICTplrOnb99LT3NkJNeajPfpDznblq6bXH8efBjlPIUxhQcX+U0qEdt4bjxy6rMdOkbEn0/3mlvrXZL60ysxdwcn/qKLJ/82pnzGS61z5rBeGmrxf33ZXN/IBWUvb8KSvnttbwwq+YTkweZHue0M0+c0ssZGY/Rs+aVF8+3GaW07CkvLC/KcBvP8c2uGpsdm0THlazwlPE22Kdi9ZK4Hdsmtw9eHVQwPjG0p33Q7tGMJ6TUJ2VK1MMw6ftI6qPPtruCvEPmLZqiHcj1Aw3Rup/sdzj+lt/w3f5TrAHgx++nD7A+8xaD4CL8m60Q+KWYO7CgUY3gTFl+OwUBHKteh00BoWmGDIYm301frAJwKAg+BTEoPCpA41OPNNh2sET0g8NnCkI61M6PKKBzREwANBtGIOS6BEU2D0CT6xvSYP+Apdg/cOT6DyErI68W0RzbqhmYOFixuRNLFqoRi839Zh+A2KqYWJH1CTC7hM04My0j664HDVgXY+xtYhbnBBNGVVzH7geKQrHOqA0sPK2Fc70oPZ2UPSTNQlVUjQEmHLDCzDphEgtKQ9zCPP16DwBRK4UJAyKfyBg7jaeaxzKlyQAg6xkaKO9M2tu1EWXhOEL3IxhKhdWpMqCYDgrTy7vZAAsuTUsLm65IOlWIQBlp47PUS9wAhBgHOFGixYgVJx7+dtqutZuY1eXTvXYncJOkOF1Wicd+CnBACA==') format('woff2'), + url('iconfont.woff?t=1689233106339') format('woff'), + url('iconfont.ttf?t=1689233106339') format('truetype'), + url('iconfont.svg?t=1689233106339#iconfont') format('svg'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-downward:before { + content: "\e604"; +} + +.icon-upward:before { + content: "\e605"; +} + +.icon-detail:before { + content: "\e601"; +} + +.icon-edit:before { + content: "\e602"; +} + +.icon-delete:before { + content: "\e603"; +} + diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.eot b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e746725cb7ee14836d415117d59484c396fcf152 GIT binary patch literal 2664 zcmd^B-ES0C6hCKXcG_*Xv)vCDx`jI3cGslf7S>@4WLpvtiV0EVqr`+nmfdN)bicA4 zzKk(dh{j+7A>aeyL81>DeDIaT59C2&LgI_X7gI@0788vRBtDqfslPir>&m9YKft>? z=l;&`oO|xQ=g!BO?IODEC1R3DG>JU21HfEjf%ffh=q>5cP?vVp&bQbm>ZJnZs6u6$ zcBBP^MhD2G89GTt%2EwXgr>mMXdd3eSEtRCq)o7_HXgK?w3`-4rcILv5AW13#9srs z73`sx4vwZWk-dx1--CWESISl&ZmS#EjRNlDnc~^$H^wHf6Um?B+B<7z^TXdhx&hw@ zxYDyAI+o;jfMKWM*^+f;Eda*;2C=qS$z`SY`3%N>3SBE@&r~^rO%e+?y__wXy&q;i zBkI6>(oD57Z@v6e^a_!;2>T(ic6niCfsVqACKly@mQWoA?D^V`rC0r#Kd8Im`(W|N z0pZr@R~8kLH$d%lkE;<$r6Z&|!NehU;YYOM=nZ=p5<5ZC^LzFkBCVLU$`logaGF@j zzcCjJGg-uMjAYn^mBFwxhvTmhUm_3o`mS^j){Bjvf29;-Wa}P+?Xk9hdUu{~*SYR- z@j!=dFz7$|`BdKU-#yX=JykKzji#F^nvTX`VgkO#>}eK@ymbQt$mEP+)wcA*Zn zl!(ehTZ{xYfkPd_ednC3k%${fOYL3Mzq`J9UxALvh9EaAg`%f&MIyDnCMe{it}pZbR` zR>3d3xQnK^$Hm>0;M}g7nYGNke*COn$W_YIm9o|B512D2i`iOJZT3@UZN5+`>zk9C zn$)COHfzl=^QUG~mNl(U*D57_58|1{VnwgkDksdGm7KM#>h{r5F^}Mrxk`z4p&~I+ zp;(Z4(&;#zg>0{9+V#h4n|5ovzIxr$?lp-Ol${ExeKqrR3YAm}YqU^d>9}gBph`e{ z+NM=pEdoHPTf{&zQIK$v3gTkVwn~8u*x0O gnXjBKpU&3u>dC6p.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}")}catch(t){console&&console.log(t)}}n=function(){var t,e=document.createElement("div");e.innerHTML=a._iconfont_svg_string_3821755,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?d(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(n,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),n()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=n,c=a.document,l=!1,v(),c.onreadystatechange=function(){"complete"==c.readyState&&(c.onreadystatechange=null,s())})}function s(){l||(l=!0,o())}function v(){try{c.documentElement.doScroll("left")}catch(t){return void setTimeout(v,50)}s()}}(window); \ No newline at end of file diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.json b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.json new file mode 100644 index 00000000..fd0f1b78 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.json @@ -0,0 +1,44 @@ +{ + "id": "3821755", + "name": "component", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "封装的组件中的icon", + "glyphs": [ + { + "icon_id": "36426261", + "name": "downward", + "font_class": "downward", + "unicode": "e604", + "unicode_decimal": 58884 + }, + { + "icon_id": "36426301", + "name": "upward", + "font_class": "upward", + "unicode": "e605", + "unicode_decimal": 58885 + }, + { + "icon_id": "33347867", + "name": "detail", + "font_class": "detail", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "33347918", + "name": "edit", + "font_class": "edit", + "unicode": "e602", + "unicode_decimal": 58882 + }, + { + "icon_id": "33347930", + "name": "delete", + "font_class": "delete", + "unicode": "e603", + "unicode_decimal": 58883 + } + ] +} diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.svg b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.svg new file mode 100644 index 00000000..647e5515 --- /dev/null +++ b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.svg @@ -0,0 +1,29 @@ + + + + Created by iconfont + + + + + + + + + + + + + + + + + + diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.ttf b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..014c3da9b180f6bb81e952964e168afc3e36648e GIT binary patch literal 2496 zcmd^B+iM(E82`SR+1YHenay6@Hk&q1HrW-@I%(JGrY)NYtxYNvFTJD)1-spyB-`wb z&GaTB(TXA!T1x9f>4QZdl=|Rn!D}BZLctePU!)d}2{93M(E`b|W%9tGUHZAyD@42<(u2<*7|G<~dl$jK3;t-KlCR(2(KLx9 z1+tH3%4eou8=bsLB!7mvch<@mhrWGq4Yv0%v$GKR@5*ljLr+7q75nsh0Qmj}vc6m^ zl~*7^ukQ9<||gu2f0s){Mb*Lsn_Q17k^4zA_|nDKS;=3URYkB zBT!?Aq+GBcD=j1{McT%lpt2B{J?eaomvlLZAY0?VL2U{s7-wS(|~Jc91o_jwgSotvU= zqNb>K6IBvZRIVv_(F0*4cu`Ha#=xRK!j33S&(Uoj<`02I6q2t?uTz95#aT0*^anVd zRAcKnzAm1Xp5(b`+Kf6kotrT;73H}=Fp|E&7kdo7$GOaNJ-X53R67*4^_+-UXGN?4 z$75>pi2$p~v^mPz(QJI}SW?}oieNnFTo%Fjq8kipxxJUqOLr(lkJAX{=vkUV$^%Jt zBgf)T4P>%oY^LS^;5pXMnQ=A^PHG%}BqP7I^o^`2vb0mdcm)3I7cH?dp*@mFU;E_k zvd<;X&ue2T9!i8liGD$x@7KnnQ_G9;b-Yo;`+?ZZX5x>9W12KLkTj%iVRKx<`TIGh zF(jG(%L!#}>5!RXu~WCR%eDU8_1vAp=ZtXY@3x*M z;3%g1WPx^oYhj7})aPLt@}!3q;9(E@@FmT7ScQDd!=1E=_IS7p5$ocussyl4n$CKd zsfRxHutXZ&@URT|Ee|WeKX}+jak}qe74jtychVGhd$^0zT-e>P^0rmfkDbv=g<5sG zR<+yferx7LIp1ir?RCm(%$I6aeXFshEt<5dR-+we{^U%?wx{*!My;YxAf8n&*YtX$ zcHAo1#;k4EcaDsReT3X7)GD-_8e~zPY|tXsQI)1$YCpv9hxH7dpfWrg z4{29>Pr!b=pb>9>3LAld!6~maDUwr<2$%gB)#Sq+>P^sRA_N1 zf+vQ~9SR|g0)pI76flYbJQ9j1AOj-G{qf4oy_s*{`@Z>h-_GpYv;KSb00_XLgaT^v ztRnoI%j^G#&!J#103Z~sy1)oB$~I2&KV)SKYr9}B2f=k6{slRjNQ1Qun4f}knG`o} z9}&e2hie%C2yFn6_!K9fd@6+)2G=XF&kBYkwqve{3X1?Jn8Vx<23C0($)QHm8L)RCU!=9Zmf&$*^=Q8rigfId@Lb4_Z$b`5v^D0D1=U(#;GM7XkrU9<2?QNT_c5b|M zu(hzIh$L?R(yD10Uq_IJ?P>FGtAyzH97tx4}dmaV|nj-Uud zR%}Bn7uf71Q(~6h3WdV+90+e~U2IB10MaZvoRR;Y+oGQ4fl}bObaN`T$=jNeLsn~x z)Q+;T)haq7aympmgHmp^Az6m(dmGZ{a&DNhge&lg&Q571XBqUeVJEV*%hhvI5<%^m%CA8A>obANMjuEZx#=jO`x68=+MVINp0z zO|{%5Tp2Z>RL4E-f@UTgvF43K24eDy;+nJugs*;sekMC>)EQf4eVXojEu&|0;yGiS z=@Sd3U)UtzNRXvR%gp)CH;oe;(tGv<3DkC|+pd*)C+n8m3;AQqL-F}9<`10wFjh0% zF_pBKOA*tG7Y3;~T~=b;OHY@MeywaG#$tf9_^ATZ${%(j?J#>{>MQwU5W}D;S&C3G zA`38WlBm`yi>nX)DS)!#j$=np`yc%CCMwrV=Udn}-tl!2M=Y||t}JR|>PeN_gB;an zk(sgVLnki#(ct`O9rTrgQ&##YHFK9pN3{1-BZ5DbBv!*4O3M zW>LltVHCVpUGqpH>$Z8fHt}oK@iu!Zs_Te(30y1$ywW zl7|U60J@;SR4z!MaUljtD3Deen)relWGSy>y0gd4Z(k|DNyK z;~1J3lyI>-Kz|}gOul`-QHER3Z@;xmoq2z3u&nD=t;R_K-Eyj4%#(Riwb6tk8x}d= zo5qFN{Q`UnTu>W4^4Q%+hp!Dak8(;{>H|C?!KxrR(0D!*$z)yo) literal 0 HcmV?d00001 diff --git a/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.woff2 b/src/views/equipment/base/inspection/Confirm/iconfont/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..28c928058ba5d5c7f7bb8fb6318699bc2d478764 GIT binary patch literal 1120 zcmV-m1fTnNPew8T0RR9100dwF3jhEB013bV00a~O0RR9100000000000000000000 z0000SR0d!GgD47yNQEo`HUcCA7z+*n1Rw>3X9rXpR0znfFmBOtiz5-v5tQKt4rko(4-J>iMGQp$7hhAP9f&8 z#1qba-7>bzRD$Mq?=)^;ss=$cMU$vi5G-XyHg#^*IPx-W(rNK53w*SjCAHY6M2BpC zb>sifG1DdCw*gRQ;#%he8c;Vy67J37j^u>smf_VwuhYjMKuE7L4s+^mJwiVFO zK!W~)TZe#qE5HI8=$x5I*4Hamats}v90|)5PP9{<4FW%%0pO?L66XCc4>Sggpg9FTmF^ibGNhTIx2g)J!XGZ5a~ zzHIvsQyf+v63++UO~qKr+0>hXSXd1{9ou)D4!oI)Bi56tcZ2cbdgyuIon2id@jP=b z1cIdgv-F#FC7Y+y=i7r@XHzE|4#Ew))9dL=)Fsu2@1byhdb(iK_VcfZzu>J7tgLv% z=evs?)F=7dPWK(J_l1q?=a-v7)|Hd9wXN+?I&~#z@|wtl^1T&_VWbP`_!;5(XyDQ_ z??O6wrKQ*1X2eLm$Ez-6w77tirdrOOzkMw|&5)B`YBS%YJm+p&x@~d%dGKSD@)X7t z9AD)$s7Gz#xbe%X%yj7+5`913X>YA|OY2Om#oQd9`id-{{MwoG87{TYn!$K!tHu5I zWpjTZ6_mZd3QGCywY)H^<`a_#nI7k~Gf$k-%NZGu(X-~27tgmDrL^oRFDx(0a2wC@ z&8`}o9h*eQm8|fT@iy3}V)c@^9or_i4_+NqFg`J~r+v`w(Tpdg)F)+1)Wb08`$+1e z&$hdQyhG+KnxY-Z^#cvjx}WTKIR2L3@ZJ7XtO4N1@23y2KJylX;3E8+tq}O7m^-kb zQH|hCS$;bO0UWDdhfM*YX@(4jCf`k8tO9T-2tEZdC_E}a<5Q0`*mkf)^n=4^3PL*6 z&W|Xdb3{x4G#f@Bl@Nw|A3{~KXByw4mqs+d@j^$9S$gv~fJEhFo$2Mt&kW9)5W7Uu*LMpazL?gxrOvCgOsEIh4+ zbG;}%os>N!%|caFjR7Vcu)@qbVG;{UL)^kV{dx}oQ7eTB10tWu7(0!pn#VGw$p9eh z85$_>OxoME5oO^xLiZyWN`=*_GN70a3e(HG*#HYJO-l=#u1Gpnh(H-> + + + + diff --git a/src/views/equipment/base/inspection/Record/addContent.vue b/src/views/equipment/base/inspection/Record/addContent.vue index 9f84f7ec..f56856fd 100644 --- a/src/views/equipment/base/inspection/Record/addContent.vue +++ b/src/views/equipment/base/inspection/Record/addContent.vue @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2021-11-18 14:16:25 * @LastEditors: DY - * @LastEditTime: 2024-02-24 19:02:14 + * @LastEditTime: 2024-02-26 09:25:10 * @Description: --> @@ -62,14 +62,16 @@ import add from './Content-add.vue'; import { parseTime } from '../../core/mixins/code-filter'; import CheckOrderListTable from './CheckOrderListTable.vue'; import edit from './Content-edit.vue'; +import AddCheckDet from './Content-add_detail.vue'; export default { name: 'SpecialEquipmentCheckConfig', - components: { addOrUpdata, add, edit, CheckOrderListTable }, + components: { addOrUpdata, add, edit, AddCheckDet, CheckOrderListTable }, mixins: [basicPageMixin], data() { return { editOpen: false, + detOpen: false, addOrUpdateVisible: false, addOrEditTitle: '', searchBarKeys: ['name'], @@ -188,8 +190,19 @@ export default { this.getList(); }, methods: { - handleSubmit() { - this.$refs.add.dataFormSubmit(); + async handleSubmit() { + const id = await this.$refs.add.dataFormSubmit(); + + setTimeout(() => { + this.handleAddDetail(id); + }, 500); + }, + + handleAddDetail(id) { + this.detOpen = true; + this.$nextTick(() => { + this.$refs['content-detail'].init({ id }); + }); }, successSubmit() { From 6490fe3f45543dda9c2fc526040adf3c1dc89e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98937886381=E2=80=99?= <‘937886381@qq.com’> Date: Tue, 27 Feb 2024 16:12:21 +0800 Subject: [PATCH 09/27] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/quality/monitoring/statisticalData/index.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/views/quality/monitoring/statisticalData/index.vue b/src/views/quality/monitoring/statisticalData/index.vue index be6ec9c3..3c493efc 100644 --- a/src/views/quality/monitoring/statisticalData/index.vue +++ b/src/views/quality/monitoring/statisticalData/index.vue @@ -286,6 +286,7 @@ export default { // this.searchBarFormConfig[0].defaultSelect = []; // } this.getList() + this.getDict() }, methods: { /** 获取搜索栏的产线列表 */ @@ -320,7 +321,7 @@ export default { // }, getList() { this.getDataList() - this.getDict() + // this.getDict() }, /** 查询列表 */ async getDataList() { @@ -330,7 +331,7 @@ export default { const { data: { data, otherList, otherMap, nameData }, } = await getStatisticalDataPage(this.queryParams) - console.log(this.queryParams); + // console.log(this.queryParams); this.dynamicProps = this.filterNameData(nameData) this.list = this.filterData(data); }, @@ -373,7 +374,7 @@ export default { this.getList() } - console.log(val); + // console.log(val); } /** 搜索按钮操作 */ // handleQuery() { From 7287a1f6faa377c0665e5c8e8bc2a6de45d59a60 Mon Sep 17 00:00:00 2001 From: lb Date: Tue, 27 Feb 2024 16:13:54 +0800 Subject: [PATCH 10/27] update --- src/views/specialEquipment/check/Content-add_detail.vue | 2 +- src/views/specialEquipment/check/Content-edit.vue | 2 +- src/views/specialEquipment/check/Content.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/specialEquipment/check/Content-add_detail.vue b/src/views/specialEquipment/check/Content-add_detail.vue index d3f55e01..b9acd19d 100644 --- a/src/views/specialEquipment/check/Content-add_detail.vue +++ b/src/views/specialEquipment/check/Content-add_detail.vue @@ -374,7 +374,7 @@ export default { handleAddAttr() { if (!this.row.id) return this.$message.error('请先选中保养记录'); this.resetAttrform(); - this.attrTitle = '添加设备属性'; + this.attrTitle = '添加巡检内容'; this.attrFormVisible = true; }, diff --git a/src/views/specialEquipment/check/Content-edit.vue b/src/views/specialEquipment/check/Content-edit.vue index 67f45456..cdb36fa0 100644 --- a/src/views/specialEquipment/check/Content-edit.vue +++ b/src/views/specialEquipment/check/Content-edit.vue @@ -558,7 +558,7 @@ export default { handleAddAttr() { if (!this.row.id) return this.$message.error('请先选中保养记录'); this.resetAttrform(); - this.attrTitle = '添加设备属性'; + this.attrTitle = '添加巡检内容'; this.attrFormVisible = true; }, diff --git a/src/views/specialEquipment/check/Content.vue b/src/views/specialEquipment/check/Content.vue index 06c1bae4..ddd1d638 100644 --- a/src/views/specialEquipment/check/Content.vue +++ b/src/views/specialEquipment/check/Content.vue @@ -281,7 +281,7 @@ export default { /** 新增按钮操作 */ handleAdd() { this.open = true; - this.title = '添加待确认巡检设置'; + this.title = '新建巡检单'; this.$nextTick(() => { this.$refs.add.init(); }); From 8e1a1848fbd9f97f5bf6b55dcc76997f8cd0f546 Mon Sep 17 00:00:00 2001 From: helloDy <1615073571@qq.com> Date: Tue, 27 Feb 2024 16:39:39 +0800 Subject: [PATCH 11/27] bug --- src/views/base/coreProduct/add-or-updata.vue | 12 ++--- src/views/base/coreProduct/attr-add.vue | 4 +- src/views/base/coreProduct/index.vue | 18 ++++++- src/views/base/coreWorkOrder/addWorkOrder.vue | 2 +- .../base/inspection/Confirm/add-or-updata.vue | 6 +-- .../base/inspection/Confirm/index.vue | 48 +------------------ .../base/inspection/Record/index.vue | 8 ++-- .../equipment/base/maintain/Confirm/index.vue | 4 +- .../maintain/PlanConfig/add-or-updata.vue | 35 +++++++++----- 9 files changed, 59 insertions(+), 78 deletions(-) diff --git a/src/views/base/coreProduct/add-or-updata.vue b/src/views/base/coreProduct/add-or-updata.vue index 92a55c9a..9c4c5808 100644 --- a/src/views/base/coreProduct/add-or-updata.vue +++ b/src/views/base/coreProduct/add-or-updata.vue @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2021-11-18 14:16:25 * @LastEditors: DY - * @LastEditTime: 2024-02-21 09:04:48 + * @LastEditTime: 2024-02-27 15:38:04 * @Description: -->