From 1de4acc54f859f5d8ec3e81757d7da9f2b48c3f5 Mon Sep 17 00:00:00 2001 From: gaojs Date: Thu, 28 Mar 2024 15:44:03 +0800 Subject: [PATCH] =?UTF-8?q?MES=E6=93=8D=E4=BD=9C=E6=AD=A5=E9=AA=A4?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/opersteps/index.ts | 55 +++++ src/views/mes/opersteps/index.vue | 244 ++++++++++++++++++++++ src/views/mes/opersteps/opersteps.data.ts | 165 +++++++++++++++ 3 files changed, 464 insertions(+) create mode 100644 src/api/mes/opersteps/index.ts create mode 100644 src/views/mes/opersteps/index.vue create mode 100644 src/views/mes/opersteps/opersteps.data.ts diff --git a/src/api/mes/opersteps/index.ts b/src/api/mes/opersteps/index.ts new file mode 100644 index 000000000..a4e8b65fe --- /dev/null +++ b/src/api/mes/opersteps/index.ts @@ -0,0 +1,55 @@ +import request from '@/config/axios' + +export interface OperstepsVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + stepsCode: string + stepsName: string + collectCode: string +} + +// 查询MES操作步骤信息列表 +export const getOperstepsPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/opersteps/senior', data }) + } else { + return await request.get({ url: `/mes/opersteps/page`, params }) + } +} + +// 查询MES操作步骤信息详情 +export const getOpersteps = async (id: number) => { + return await request.get({ url: `/mes/opersteps/get?id=` + id }) +} + +// 新增MES操作步骤信息 +export const createOpersteps = async (data: OperstepsVO) => { + return await request.post({ url: `/mes/opersteps/create`, data }) +} + +// 修改MES操作步骤信息 +export const updateOpersteps = async (data: OperstepsVO) => { + return await request.put({ url: `/mes/opersteps/update`, data }) +} + +// 删除MES操作步骤信息 +export const deleteOpersteps = async (id: number) => { + return await request.delete({ url: `/mes/opersteps/delete?id=` + id }) +} + +// 导出MES操作步骤信息 Excel +export const exportOpersteps = async (params) => { + return await request.download({ url: `/mes/opersteps/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/opersteps/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/mes/opersteps/index.vue b/src/views/mes/opersteps/index.vue new file mode 100644 index 000000000..896b1659e --- /dev/null +++ b/src/views/mes/opersteps/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/mes/opersteps/opersteps.data.ts b/src/views/mes/opersteps/opersteps.data.ts new file mode 100644 index 000000000..96dc16c9d --- /dev/null +++ b/src/views/mes/opersteps/opersteps.data.ts @@ -0,0 +1,165 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as OperstepsTypeApi from '@/api/mes/operstepsType' +import { OperstepsType } from '../operstepsType/operstepsType.data' + +// 表单校验 +export const OperstepsRules = reactive({ + concurrencyStamp: [required], +}) + +export const Opersteps = useCrudSchemas(reactive([ + { + label: '删除时间', + field: 'deleteTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + valueFormat: 'x' + } + }, + }, + { + label: '主键', + field: 'id', + sort: 'custom', + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + }, + { + label: '删除用户名', + field: 'deleter', + sort: 'custom', + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + }, + { + label: '位置ID', + field: 'siteId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '步骤编码', + field: 'stepsCode', + sort: 'custom', + isSearch: true, + }, + { + label: '步骤名称', + field: 'stepsName', + sort: 'custom', + isSearch: true, + }, + { + label: '采集类型编码', + field: 'collectCode', + sort: 'custom', + isSearch: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchTitle: '操作步骤类型配置信息', // 查询弹窗标题 + searchAllSchemas: OperstepsType.allSchemas, // 查询弹窗所需类 + searchField: 'collectCode', // 查询弹窗赋值字段 + searchPage: OperstepsTypeApi.getOperstepsTypePage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'status', + value: '1', + action: '==' + }] + } + } + }, + { + label: '状态', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_STATUS, + dictClass: 'string', + isForm: true, + isSearch: true, + isTable: true, + form: { + component: 'Switch', + value: '2', + componentProps: { + inactiveValue: '2', + activeValue: '1' + } + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +]))