diff --git a/src/api/mes/abilityInfo/index.ts b/src/api/mes/abilityInfo/index.ts new file mode 100644 index 000000000..f7c2c0228 --- /dev/null +++ b/src/api/mes/abilityInfo/index.ts @@ -0,0 +1,56 @@ +import request from '@/config/axios' + +export interface AbilityInfoVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + ablityCode: string + ablityName: string + trainMinHours: number + operMinHours: number +} + +// 查询能力矩阵信息列表 +export const getAbilityInfoPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/ability-info/senior', data }) + } else { + return await request.get({ url: `/mes/ability-info/page`, params }) + } +} + +// 查询能力矩阵信息详情 +export const getAbilityInfo = async (id: number) => { + return await request.get({ url: `/mes/ability-info/get?id=` + id }) +} + +// 新增能力矩阵信息 +export const createAbilityInfo = async (data: AbilityInfoVO) => { + return await request.post({ url: `/mes/ability-info/create`, data }) +} + +// 修改能力矩阵信息 +export const updateAbilityInfo = async (data: AbilityInfoVO) => { + return await request.put({ url: `/mes/ability-info/update`, data }) +} + +// 删除能力矩阵信息 +export const deleteAbilityInfo = async (id: number) => { + return await request.delete({ url: `/mes/ability-info/delete?id=` + id }) +} + +// 导出能力矩阵信息 Excel +export const exportAbilityInfo = async (params) => { + return await request.download({ url: `/mes/ability-info/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/ability-info/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/hrPersonAbility/index.ts b/src/api/mes/hrPersonAbility/index.ts new file mode 100644 index 000000000..f076d1a72 --- /dev/null +++ b/src/api/mes/hrPersonAbility/index.ts @@ -0,0 +1,58 @@ +import request from '@/config/axios' + +export interface HrPersonAbilityVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + personId: number + personCode: string + ablityCode: string + ablityLevel: number + studyDuration: number + workDuration: number +} + +// 查询人员能力矩阵配置列表 +export const getHrPersonAbilityPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/hr-person-ability/senior', data }) + } else { + return await request.get({ url: `/mes/hr-person-ability/page`, params }) + } +} + +// 查询人员能力矩阵配置详情 +export const getHrPersonAbility = async (id: number) => { + return await request.get({ url: `/mes/hr-person-ability/get?id=` + id }) +} + +// 新增人员能力矩阵配置 +export const createHrPersonAbility = async (data: HrPersonAbilityVO) => { + return await request.post({ url: `/mes/hr-person-ability/create`, data }) +} + +// 修改人员能力矩阵配置 +export const updateHrPersonAbility = async (data: HrPersonAbilityVO) => { + return await request.put({ url: `/mes/hr-person-ability/update`, data }) +} + +// 删除人员能力矩阵配置 +export const deleteHrPersonAbility = async (id: number) => { + return await request.delete({ url: `/mes/hr-person-ability/delete?id=` + id }) +} + +// 导出人员能力矩阵配置 Excel +export const exportHrPersonAbility = async (params) => { + return await request.download({ url: `/mes/hr-person-ability/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/hr-person-ability/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/item/index.ts b/src/api/mes/item/index.ts new file mode 100644 index 000000000..f915865c4 --- /dev/null +++ b/src/api/mes/item/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' + +export interface ItemVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + itemCode: string + itemName: string + itemType: string + qmsClass: string + dataType: string + dataVerify: string + dataStandvalue: string + dataDescripe: string +} + +// 查询质检项目定义列表 +export const getItemPage = async (params) => { + console.log(params); + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/item/senior', data }) + } else { + return await request.get({ url: `/mes/item/page`, params }) + } +} + +// 查询质检项目定义详情 +export const getItem = async (id: number) => { + return await request.get({ url: `/mes/item/get?id=` + id }) +} + +// 新增质检项目定义 +export const createItem = async (data: ItemVO) => { + return await request.post({ url: `/mes/item/create`, data }) +} + +// 修改质检项目定义 +export const updateItem = async (data: ItemVO) => { + return await request.put({ url: `/mes/item/update`, data }) +} + +// 删除质检项目定义 +export const deleteItem = async (id: number) => { + return await request.delete({ url: `/mes/item/delete?id=` + id }) +} + +// 导出质检项目定义 Excel +export const exportItem = async (params) => { + return await request.download({ url: `/mes/item/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/item/get-import-template' }) +} \ No newline at end of file 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/api/mes/operstepsType/index.ts b/src/api/mes/operstepsType/index.ts new file mode 100644 index 000000000..05190786b --- /dev/null +++ b/src/api/mes/operstepsType/index.ts @@ -0,0 +1,57 @@ +import request from '@/config/axios' + +export interface OperstepsTypeVO { + collectCode: string + collectName: string + collectType: string + adpaterClass: string + argLsit: string + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number +} + +// 查询操作步骤类型配置列表 +export const getOperstepsTypePage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/opersteps-type/senior', data }) + } else { + return await request.get({ url: `/mes/opersteps-type/page`, params }) + } +} + +// 查询操作步骤类型配置详情 +export const getOperstepsType = async (id: number) => { + return await request.get({ url: `/mes/opersteps-type/get?id=` + id }) +} + +// 新增操作步骤类型配置 +export const createOperstepsType = async (data: OperstepsTypeVO) => { + return await request.post({ url: `/mes/opersteps-type/create`, data }) +} + +// 修改操作步骤类型配置 +export const updateOperstepsType = async (data: OperstepsTypeVO) => { + return await request.put({ url: `/mes/opersteps-type/update`, data }) +} + +// 删除操作步骤类型配置 +export const deleteOperstepsType = async (id: number) => { + return await request.delete({ url: `/mes/opersteps-type/delete?id=` + id }) +} + +// 导出操作步骤类型配置 Excel +export const exportOperstepsType = async (params) => { + return await request.download({ url: `/mes/opersteps-type/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/opersteps-type/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/qualityclass/index.ts b/src/api/mes/qualityclass/index.ts new file mode 100644 index 000000000..137a6bd35 --- /dev/null +++ b/src/api/mes/qualityclass/index.ts @@ -0,0 +1,55 @@ +import request from '@/config/axios' + +export interface QualityclassVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + code: string + name: string + groupCode: string +} + +// 查询质检类别列表 +export const getQualityclassPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/qualityclass/senior', data }) + } else { + return await request.get({ url: `/mes/qualityclass/page`, params }) + } +} + +// 查询质检类别详情 +export const getQualityclass = async (id: number) => { + return await request.get({ url: `/mes/qualityclass/get?id=` + id }) +} + +// 新增质检类别 +export const createQualityclass = async (data: QualityclassVO) => { + return await request.post({ url: `/mes/qualityclass/create`, data }) +} + +// 修改质检类别 +export const updateQualityclass = async (data: QualityclassVO) => { + return await request.put({ url: `/mes/qualityclass/update`, data }) +} + +// 删除质检类别 +export const deleteQualityclass = async (id: number) => { + return await request.delete({ url: `/mes/qualityclass/delete?id=` + id }) +} + +// 导出质检类别 Excel +export const exportQualityclass = async (params) => { + return await request.download({ url: `/mes/qualityclass/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/qualityclass/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/qualityform/index.ts b/src/api/mes/qualityform/index.ts new file mode 100644 index 000000000..df55b949a --- /dev/null +++ b/src/api/mes/qualityform/index.ts @@ -0,0 +1,55 @@ +import request from '@/config/axios' + +export interface QualityformVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + formNo: string + formName: string + formType: string +} + +// 查询质检表单列表 +export const getQualityformPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/qualityform/senior', data }) + } else { + return await request.get({ url: `/mes/qualityform/page`, params }) + } +} + +// 查询质检表单详情 +export const getQualityform = async (id: number) => { + return await request.get({ url: `/mes/qualityform/get?id=` + id }) +} + +// 新增质检表单 +export const createQualityform = async (data: QualityformVO) => { + return await request.post({ url: `/mes/qualityform/create`, data }) +} + +// 修改质检表单 +export const updateQualityform = async (data: QualityformVO) => { + return await request.put({ url: `/mes/qualityform/update`, data }) +} + +// 删除质检表单 +export const deleteQualityform = async (id: number) => { + return await request.delete({ url: `/mes/qualityform/delete?id=` + id }) +} + +// 导出质检表单 Excel +export const exportQualityform = async (params) => { + return await request.download({ url: `/mes/qualityform/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/qualityform/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/qualityformdetail/index.ts b/src/api/mes/qualityformdetail/index.ts new file mode 100644 index 000000000..dea2b85a0 --- /dev/null +++ b/src/api/mes/qualityformdetail/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' + +export interface QualityformdetailVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + formNo: string + itemCode: string + itemName: string + itemType: string + qmsClass: string + dataType: string + dataVerify: string + dataStandvalue: string + dataDescripe: string +} + +// 查询质检表单子表列表 +export const getQualityformdetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/qualityformdetail/senior', data }) + } else { + return await request.get({ url: `/mes/qualityformdetail/page`, params }) + } +} + +// 查询质检表单子表详情 +export const getQualityformdetail = async (id: number) => { + return await request.get({ url: `/mes/qualityformdetail/get?id=` + id }) +} + +// 新增质检表单子表 +export const createQualityformdetail = async (data: QualityformdetailVO) => { + return await request.post({ url: `/mes/qualityformdetail/create`, data }) +} + +// 修改质检表单子表 +export const updateQualityformdetail = async (data: QualityformdetailVO) => { + return await request.put({ url: `/mes/qualityformdetail/update`, data }) +} + +// 删除质检表单子表 +export const deleteQualityformdetail = async (id: number) => { + return await request.delete({ url: `/mes/qualityformdetail/delete?id=` + id }) +} + +// 导出质检表单子表 Excel +export const exportQualityformdetail = async (params) => { + return await request.download({ url: `/mes/qualityformdetail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/qualityformdetail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/qualityformlog/index.ts b/src/api/mes/qualityformlog/index.ts new file mode 100644 index 000000000..bc19550b6 --- /dev/null +++ b/src/api/mes/qualityformlog/index.ts @@ -0,0 +1,58 @@ +import request from '@/config/axios' + +export interface QualityformlogVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + masterId: number + formNo: string + operation: string + operator: string + operateContent: string + operateTime: Date +} + +// 查询质检表单日志列表 +export const getQualityformlogPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/qualityformlog/senior', data }) + } else { + return await request.get({ url: `/mes/qualityformlog/page`, params }) + } +} + +// 查询质检表单日志详情 +export const getQualityformlog = async (id: number) => { + return await request.get({ url: `/mes/qualityformlog/get?id=` + id }) +} + +// 新增质检表单日志 +export const createQualityformlog = async (data: QualityformlogVO) => { + return await request.post({ url: `/mes/qualityformlog/create`, data }) +} + +// 修改质检表单日志 +export const updateQualityformlog = async (data: QualityformlogVO) => { + return await request.put({ url: `/mes/qualityformlog/update`, data }) +} + +// 删除质检表单日志 +export const deleteQualityformlog = async (id: number) => { + return await request.delete({ url: `/mes/qualityformlog/delete?id=` + id }) +} + +// 导出质检表单日志 Excel +export const exportQualityformlog = async (params) => { + return await request.download({ url: `/mes/qualityformlog/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/qualityformlog/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/qualitygroup/index.ts b/src/api/mes/qualitygroup/index.ts new file mode 100644 index 000000000..8825bbaa0 --- /dev/null +++ b/src/api/mes/qualitygroup/index.ts @@ -0,0 +1,55 @@ +import request from '@/config/axios' + +export interface QualitygroupVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + code: string + name: string + groupCode: string +} + +// 查询质检分组列表 +export const getQualitygroupPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/qualitygroup/senior', data }) + } else { + return await request.get({ url: `/mes/qualitygroup/page`, params }) + } +} + +// 查询质检分组详情 +export const getQualitygroup = async (id: number) => { + return await request.get({ url: `/mes/qualitygroup/get?id=` + id }) +} + +// 新增质检分组 +export const createQualitygroup = async (data: QualitygroupVO) => { + return await request.post({ url: `/mes/qualitygroup/create`, data }) +} + +// 修改质检分组 +export const updateQualitygroup = async (data: QualitygroupVO) => { + return await request.put({ url: `/mes/qualitygroup/update`, data }) +} + +// 删除质检分组 +export const deleteQualitygroup = async (id: number) => { + return await request.delete({ url: `/mes/qualitygroup/delete?id=` + id }) +} + +// 导出质检分组 Excel +export const exportQualitygroup = async (params) => { + return await request.download({ url: `/mes/qualitygroup/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/qualitygroup/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/mes/reworkSingle/index.ts b/src/api/mes/reworkSingle/index.ts new file mode 100644 index 000000000..596a908cc --- /dev/null +++ b/src/api/mes/reworkSingle/index.ts @@ -0,0 +1,60 @@ +import request from '@/config/axios' + +export interface ReworkSingleVO { + deleteTime: Date + id: number + status: string + concurrencyStamp: number + remark: string + deleter: string + siteId: number + reworkType: string + productionCode: string + reworkAction: string + replaceFlag: string + reworkPersoncode: string + reworkTime: Date + reworkResult: string + reworkbillNo: string +} + +// 查询返工登记单件列表 +export const getReworkSinglePage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/rework-single/senior', data }) + } else { + return await request.get({ url: `/mes/rework-single/page`, params }) + } +} + +// 查询返工登记单件详情 +export const getReworkSingle = async (id: number) => { + return await request.get({ url: `/mes/rework-single/get?id=` + id }) +} + +// 新增返工登记单件 +export const createReworkSingle = async (data: ReworkSingleVO) => { + return await request.post({ url: `/mes/rework-single/create`, data }) +} + +// 修改返工登记单件 +export const updateReworkSingle = async (data: ReworkSingleVO) => { + return await request.put({ url: `/mes/rework-single/update`, data }) +} + +// 删除返工登记单件 +export const deleteReworkSingle = async (id: number) => { + return await request.delete({ url: `/mes/rework-single/delete?id=` + id }) +} + +// 导出返工登记单件 Excel +export const exportReworkSingle = async (params) => { + return await request.download({ url: `/mes/rework-single/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/mes/rework-single/get-import-template' }) +} \ No newline at end of file diff --git a/src/utils/dict.ts b/src/utils/dict.ts index aad05ea83..4e8d433ed 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -279,12 +279,27 @@ export enum DICT_TYPE { PLAN_PRODUCTION_TYPE = "plan_production_type", // 生产计划类型 DELIVER_TYPE="deliver_type",//发货类型 BILL_TYPE="bill_type", // 发票类型 + // ========== 业务 - mes ========== MESDO_STATUS= 'mes_do_status', // 工单执行状态 MES_WORKBILL_MODEL='mes_workbill_model',// 工单模式 单工单(根据产品数量生成多个工单)、批量工单(一个产品一个工单) MES_TASK_MODE='mes_task_mode', //生产模式 派工方式、领工方式 MES_PLANDO_STATUS='mes_plando_status', //计划执行状 - //========== mes-QMS ========== + + + //========== QMS ========== SAMPLING_TYPE = "sampling_type", // 取样类型 EVALUATION_MODE = "evaluation_mode", // 评估模式 + + + // ========== 业务 - mes -gaojs ========== + QUALIFY_STATUS = 'qualify_status',//质检状态 + QUALIFY_ITEM_DATA_TYPE='qualify_item_data_type',//质检项目数据类型 + QUALIFY_ITEM_VERIFY_MODE='qualify_item_verify_mode',//质检项目校验方式 + QUALIFY_FORM_OPERATION='qualify_form_operation',//质检表单操作 + OPERSTEP_COLLECT_TYPE='operstep_collect_type',//操作步骤采集方式 + REWORK_TYPE='rework_type',//工作类型:返工登记、返修登记 + REWORK_STATUS='rework_status',//返工返修状态:待返修,返修中,返修完成 + REWORK_REPLACE_FLAG='rework_replace_flag',//是否有替换件 + } diff --git a/src/views/mes/abilityInfo/abilityInfo.data.ts b/src/views/mes/abilityInfo/abilityInfo.data.ts new file mode 100644 index 000000000..37f01205e --- /dev/null +++ b/src/views/mes/abilityInfo/abilityInfo.data.ts @@ -0,0 +1,172 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const AbilityInfoRules = reactive({ + ablityCode: [required], + ablityName: [required], + trainMinHours: [required], + operMinHours: [required], +}) + +export const AbilityInfo = 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', + isForm: false, + isTable: 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, + 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')] + } + }, + isForm: false, + }, + { + 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: 'ablityCode', + sort: 'custom', + isSearch: true, + }, + { + label: '技能名称', + field: 'ablityName', + sort: 'custom', + isSearch: true, + }, + { + label: '要求培训时长', + field: 'trainMinHours', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 1 + } + } + }, + { + label: '操作时长', + field: 'operMinHours', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 1 + } + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: false + }, + { + 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: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/mes/abilityInfo/index.vue b/src/views/mes/abilityInfo/index.vue new file mode 100644 index 000000000..f73f10e03 --- /dev/null +++ b/src/views/mes/abilityInfo/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/mes/hrPersonAbility/hrPersonAbility.data.ts b/src/views/mes/hrPersonAbility/hrPersonAbility.data.ts new file mode 100644 index 000000000..02febd8b6 --- /dev/null +++ b/src/views/mes/hrPersonAbility/hrPersonAbility.data.ts @@ -0,0 +1,210 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as AbilityInfoApi from '@/api/mes/abilityInfo' +import { AbilityInfo } from '../abilityInfo/abilityInfo.data' + + +// 表单校验 +export const HrPersonAbilityRules = reactive({ + ablityCode: [required], + personCode: [required], + +}) + +export const HrPersonAbility = 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', + isForm: false, + isTable: 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, + 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')] + } + }, + isForm: false, + }, + { + 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: '人员ID', + field: 'personId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '人员工号', + field: 'personCode', + sort: 'custom', + isSearch: true, + }, + { + label: '能力编号', + field: 'ablityCode', + sort: 'custom', + isSearch: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchTitle: '能力矩阵信息', // 查询弹窗标题 + searchAllSchemas: AbilityInfo.allSchemas, // 查询弹窗所需类 + searchField: 'ablityCode', // 查询弹窗赋值字段 + searchPage: AbilityInfoApi.getAbilityInfoPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'status', + value: '1', + action: '==' + }] + } + } + }, + { + label: '能力等级', + field: 'ablityLevel', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '学习累计时长', + field: 'studyDuration', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 1 + } + }, + }, + { + label: '工作累计时长', + field: 'workDuration', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 1 + } + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: false + }, + { + 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: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/mes/hrPersonAbility/index.vue b/src/views/mes/hrPersonAbility/index.vue new file mode 100644 index 000000000..e0558d661 --- /dev/null +++ b/src/views/mes/hrPersonAbility/index.vue @@ -0,0 +1,257 @@ + + + diff --git a/src/views/mes/item/index.vue b/src/views/mes/item/index.vue new file mode 100644 index 000000000..3ddf781ac --- /dev/null +++ b/src/views/mes/item/index.vue @@ -0,0 +1,353 @@ + + + diff --git a/src/views/mes/item/item.data.ts b/src/views/mes/item/item.data.ts new file mode 100644 index 000000000..870ae975a --- /dev/null +++ b/src/views/mes/item/item.data.ts @@ -0,0 +1,203 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as QualitygroupApi from '@/api/mes/qualitygroup' +import { Qualitygroup } from '../qualitygroup/qualitygroup.data' + +// 表单校验 +export const ItemRules = reactive({ + concurrencyStamp: [required], + itemCode: [{ required: true, message: '请输入编码', trigger: 'blur' }], + itemType: [required], + dataType: [required] +}) + +export const Item = 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', + isForm: false, + isTable: 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, + 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')] + } + }, + isForm: false, + }, + { + 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: 'itemCode', + sort: 'custom', + isSearch: true, + }, + { + label: '项目名称', + field: 'itemName', + sort: 'custom', + isSearch: true, + }, + { + label: '类别编码', + field: 'itemType', + sort: 'custom', + isSearch: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchTitle: '质检科目信息', // 查询弹窗标题 + searchAllSchemas: Qualitygroup.allSchemas, // 查询弹窗所需类 + searchField: 'code', // 查询弹窗赋值字段 + searchPage: QualitygroupApi.getQualitygroupPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'status', + value: '1', + action: '==' + }] + } + } + }, + { + label: '质检科目编码', + field: 'qmsClass', + sort: 'custom', + isSearch: true, + + }, + { + label: '数据类型', + field: 'dataType', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_ITEM_DATA_TYPE, + dictClass: 'string', + isSearch: true, + }, + { + label: '校验方式', + field: 'dataVerify', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_ITEM_VERIFY_MODE, + dictClass: 'string', + isSearch: true, + }, + { + label: '数据参考值', + field: 'dataStandvalue', + sort: 'custom', + isSearch: false, + }, + { + label: '数据录入说明', + field: 'dataDescripe', + sort: 'custom', + isSearch: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + }, + { + label: '是否可用', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_STATUS, + dictClass: 'string', + isSearch: true, + isTable: true, + isForm: true, + form: { + component: 'Switch', + value: '2', + componentProps: { + inactiveValue: '2', + activeValue: '1' + } + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: false + } +])) 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' + } + } +])) diff --git a/src/views/mes/operstepsType/index.vue b/src/views/mes/operstepsType/index.vue new file mode 100644 index 000000000..7079cc3f5 --- /dev/null +++ b/src/views/mes/operstepsType/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/mes/operstepsType/operstepsType.data.ts b/src/views/mes/operstepsType/operstepsType.data.ts new file mode 100644 index 000000000..a907499fa --- /dev/null +++ b/src/views/mes/operstepsType/operstepsType.data.ts @@ -0,0 +1,167 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const OperstepsTypeRules = reactive({ + collectCode: [required], + collectName: [required], + collectType: [required], + adpaterClass: [required], + argLsit: [required], +}) + +export const OperstepsType = useCrudSchemas(reactive([ + { + label: '类型编码', + field: 'collectCode', + sort: 'custom', + isSearch: true, + }, + { + label: '类型名称', + field: 'collectName', + sort: 'custom', + isSearch: true, + }, + { + label: '采集方式', + field: 'collectType', + sort: 'custom', + dictType: DICT_TYPE.OPERSTEP_COLLECT_TYPE, + dictClass: 'string', + isSearch: true, + }, + { + label: '适配器类名称', + field: 'adpaterClass', + sort: 'custom', + isSearch: true, + }, + { + label: '参数列表', + field: 'argLsit', + sort: 'custom', + isSearch: true, + }, + { + 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', + isForm: false, + isTable: 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, + 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')] + } + }, + isForm: false, + }, + { + 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: '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: false, + isTable: false + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/mes/qualityclass/index.vue b/src/views/mes/qualityclass/index.vue new file mode 100644 index 000000000..bd691dd60 --- /dev/null +++ b/src/views/mes/qualityclass/index.vue @@ -0,0 +1,245 @@ + + + diff --git a/src/views/mes/qualityclass/qualityclass.data.ts b/src/views/mes/qualityclass/qualityclass.data.ts new file mode 100644 index 000000000..ddc384661 --- /dev/null +++ b/src/views/mes/qualityclass/qualityclass.data.ts @@ -0,0 +1,152 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const QualityclassRules = reactive({ + concurrencyStamp: [required], + code: [{ required: true, message: '请输入代码', trigger: 'blur' }], + name: [required], +}) + +export const Qualityclass = 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', + isForm: false, + isTable: 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, + 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')] + } + }, + isForm: false, + }, + { + 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: 'code', + sort: 'custom', + isSearch: true, + }, + { + label: '编码名称', + field: 'name', + sort: 'custom', + isSearch: true, + }, + { + label: '分组类别', + field: 'groupCode', + sort: 'custom', + isSearch: true, + }, + { + 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: 'action', + isForm: false, + isDetail:false, + table: { + width: 150, + fixed: 'right' + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: false + } +])) + diff --git a/src/views/mes/qualityform/index.vue b/src/views/mes/qualityform/index.vue new file mode 100644 index 000000000..fafd85101 --- /dev/null +++ b/src/views/mes/qualityform/index.vue @@ -0,0 +1,297 @@ + + + diff --git a/src/views/mes/qualityform/qualityform.data.ts b/src/views/mes/qualityform/qualityform.data.ts new file mode 100644 index 000000000..421e47020 --- /dev/null +++ b/src/views/mes/qualityform/qualityform.data.ts @@ -0,0 +1,316 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as ItemApi from '@/api/mes/item' +import { Item } from '../item/item.data' +import * as QualitygroupApi from '@/api/mes/qualitygroup' +import { Qualitygroup } from '../qualitygroup/qualitygroup.data' +import { Detail } from '@/components/Detail' + +// 表单校验 +export const QualityformRules = reactive({ + formName: [required], +}) + +export const Qualityform = 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', + isForm: false, + isTable: 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, + 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')] + } + }, + isForm: false, + }, + { + 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: 'formNo', + sort: 'custom', + isSearch: true, + isForm: false, + isDetail: true + }, + { + label: '表单名称', + field: 'formName', + sort: 'custom', + isSearch: true, + }, + { + label: '表单类别', + field: 'formType', + sort: 'custom', + isSearch: true, + + }, + { + label: '质检项目编码', + field: 'itemCode', + sort: 'custom', + isDetail: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchTitle: '质检项目信息', // 查询弹窗标题 + searchAllSchemas: Item.allSchemas, // 查询弹窗所需类 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchPage: ItemApi.getItemPage, // 查询弹窗所需分页方法 + multiple:true, + searchCondition: [{ + key: 'status', + value: '1', + action: '==', + isSearch: true, + isMainValue: false + }] + } + } + }, + { + label: '是否可用', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_STATUS, + dictClass: 'string', + isSearch: true, + isTable: true, + isForm: true, + form: { + component: 'Switch', + value: '2', + componentProps: { + inactiveValue: '2', + activeValue: '1' + } + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) + + +export const QualityformDetail = useCrudSchemas(reactive([ + { + label: '表单编号', + field: 'formNo', + sort: 'custom', + isSearch: false, + isForm: false, + isDetail: false, + form: { + componentProps:{ + disabled:true + } + } + }, + { + label: '项目编码', + field: 'itemCode', + sort: 'custom', + isSearch: true, + isForm: true, + isDetail: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchTitle: '质检项目信息', // 查询弹窗标题 + searchAllSchemas: Item.allSchemas, // 查询弹窗所需类 + searchField: 'itemCode', // 查询弹窗赋值字段 + searchPage: ItemApi.getItemPage, // 查询弹窗所需分页方法 + multiple:true, + searchCondition: [{ + key: 'status', + value: '1', + action: '==' + }] + // searchCondition: [{ + // key:'formNo', // 查询列表中字段 + // value:'formNo', // 指主表某字段 + // //message: '请选择生产线信息!', // 当前置条件为空时 弹出信息提示 + // isMainValue: true // 表示查询条件是主表的字段的值 + // }, + // { + // key:'status', // 查询列表中字段 + // value:'1', // 指查询具体值 + // isMainValue: false // 表示查询条件不是主表的字段的值 + // } + // ] + } + } + }, + { + label: '项目名称', + field: 'itemName', + sort: 'custom', + isSearch: true, + isForm: false, + }, + { + label: '类别编码', + field: 'itemType', + sort: 'custom', + isSearch: true, + isForm: false, + }, + { + label: '质检科目编码', + field: 'qmsClass', + sort: 'custom', + isSearch: true, + isForm: false, + }, + { + label: '数据类型', + field: 'dataType', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_ITEM_DATA_TYPE, + dictClass: 'string', + isSearch: true, + isForm: false, + }, + { + label: '校验方式', + field: 'dataVerify', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_ITEM_VERIFY_MODE, + dictClass: 'string', + isSearch: true, + isForm: false, + }, + { + label: '数据参考值', + field: 'dataStandvalue', + sort: 'custom', + isSearch: false, + isForm: false, + }, + { + label: '数据录入说明', + field: 'dataDescripe', + sort: 'custom', + isSearch: false, + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + }, + { + label: '是否可用', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_STATUS, + dictClass: 'string', + isSearch: true, + isTable: true, + isForm: false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: true, + isForm: false, + } +])) + +export const QualityformDetailRules = reactive({ + itemCode: [required] +}) \ No newline at end of file diff --git a/src/views/mes/qualityformlog/index.vue b/src/views/mes/qualityformlog/index.vue new file mode 100644 index 000000000..bcde626fc --- /dev/null +++ b/src/views/mes/qualityformlog/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/mes/qualityformlog/qualityformlog.data.ts b/src/views/mes/qualityformlog/qualityformlog.data.ts new file mode 100644 index 000000000..039f5c5e3 --- /dev/null +++ b/src/views/mes/qualityformlog/qualityformlog.data.ts @@ -0,0 +1,197 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const QualityformlogRules = reactive({ + concurrencyStamp: [required], + masterId: [required], +}) + +export const Qualityformlog = 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', + isForm: false, + isTable: false, + isDetail:false + }, + { + label: '状态', + field: 'status', + sort: 'custom', + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + form: { + component: 'Radio' + }, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: false, + isTable: false, + isForm:false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: false, + isDetail:false, + }, + { + label: '创建时间', + field: 'createTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: 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')] + } + }, + isForm: false, + }, + { + 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: 'masterId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '表单编号', + field: 'formNo', + sort: 'custom', + isSearch: true, + }, + { + label: '操作类型', + field: 'operation', + sort: 'custom', + dictType: DICT_TYPE.QUALIFY_FORM_OPERATION, + dictClass: 'string', + isSearch: true, + }, + { + label: '操作人员', + field: 'operator', + sort: 'custom', + isSearch: true, + }, + { + label: '操作内容', + field: 'operateContent', + sort: 'custom', + isSearch: true, + form: { + component: 'Editor', + componentProps: { + valueHtml: '', + height: 200 + } + }, + }, + { + label: '操作时间', + field: 'operateTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + 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: 'action', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/mes/qualitygroup/index.vue b/src/views/mes/qualitygroup/index.vue new file mode 100644 index 000000000..2255e5593 --- /dev/null +++ b/src/views/mes/qualitygroup/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/mes/qualitygroup/qualitygroup.data.ts b/src/views/mes/qualitygroup/qualitygroup.data.ts new file mode 100644 index 000000000..7cf7a5bf9 --- /dev/null +++ b/src/views/mes/qualitygroup/qualitygroup.data.ts @@ -0,0 +1,151 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const QualitygroupRules = reactive({ + concurrencyStamp: [required], + code: [required], + name: [required], +}) + +export const Qualitygroup = 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', + isForm: false, + isTable: 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, + 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')] + } + }, + isForm: false, + }, + { + 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: 'code', + sort: 'custom', + isSearch: true, + }, + { + label: '编码名称', + field: 'name', + sort: 'custom', + isSearch: true, + }, + { + label: '分组类别', + field: 'groupCode', + sort: 'custom', + isSearch: true, + }, + { + 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: 'action', + isForm: false, + isDetail:false, + table: { + width: 150, + fixed: 'right' + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: false + } +])) diff --git a/src/views/mes/reworkSingle/index.vue b/src/views/mes/reworkSingle/index.vue new file mode 100644 index 000000000..2265bb135 --- /dev/null +++ b/src/views/mes/reworkSingle/index.vue @@ -0,0 +1,258 @@ + + + diff --git a/src/views/mes/reworkSingle/reworkSingle.data.ts b/src/views/mes/reworkSingle/reworkSingle.data.ts new file mode 100644 index 000000000..50db92f86 --- /dev/null +++ b/src/views/mes/reworkSingle/reworkSingle.data.ts @@ -0,0 +1,219 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as ItembasicApi from '@/api/wms/itembasic' +import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' + +// 表单校验 +export const ReworkSingleRules = reactive({ + reworkType: [required], + productionCode:[required], + replaceFlag:[required], + status:[required], +}) + +export const ReworkSingle = 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: 'reworkbillNo', + sort: 'custom', + isSearch: true, + isForm: false, + isDetail: true + }, + { + label: '工作类型', + field: 'reworkType', + sort: 'custom', + isSearch: true, + dictType: DICT_TYPE.REWORK_TYPE, + dictClass: 'string', + }, + { + label: '产品编码', + field: 'productionCode', + sort: 'custom', + isSearch: true, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchTitle: '产品编码', // 查询弹窗标题 + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchField: 'code', // 查询弹窗赋值字段 + searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'type', + action: 'in', // 查询拼接条件 + isSearch: true, // 使用自定义拼接条件 + value: 'BCP,CCP',//,SEMI] + isMainValue: false + }] + } + } + }, + { + label: '返修动作', + field: 'reworkAction', + sort: 'custom', + isSearch: true, + }, + { + label: '是否有替换件', + field: 'replaceFlag', + sort: 'custom', + isSearch: true, + dictType: DICT_TYPE.REWORK_REPLACE_FLAG, + dictClass: 'string', + }, + { + label: '返修人员', + field: 'reworkPersoncode', + sort: 'custom', + isSearch: true, + }, + { + label: '返修时间', + field: 'reworkTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: true, + 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: 'reworkResult', + sort: 'custom', + isSearch: true, + }, + + { + label: '状态', + field: 'status', + sort: 'custom', + isSearch: true, + dictType: DICT_TYPE.REWORK_STATUS, + dictClass: 'string', + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false, + isTable: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +]))