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/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/qms/item/index.ts b/src/api/qms/item/index.ts index 4c76802b9..a583e95a9 100644 --- a/src/api/qms/item/index.ts +++ b/src/api/qms/item/index.ts @@ -20,6 +20,7 @@ export interface ItemVO { // 查询质检项目定义列表 export const getItemPage = async (params) => { + console.log(params); if (params.isSearch) { delete params.isSearch const data = {...params} diff --git a/src/api/qms/qualityform/index.ts b/src/api/qms/qualityform/index.ts new file mode 100644 index 000000000..ce2918bb0 --- /dev/null +++ b/src/api/qms/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: '/qms/qualityform/senior', data }) + } else { + return await request.get({ url: `/qms/qualityform/page`, params }) + } +} + +// 查询质检表单详情 +export const getQualityform = async (id: number) => { + return await request.get({ url: `/qms/qualityform/get?id=` + id }) +} + +// 新增质检表单 +export const createQualityform = async (data: QualityformVO) => { + return await request.post({ url: `/qms/qualityform/create`, data }) +} + +// 修改质检表单 +export const updateQualityform = async (data: QualityformVO) => { + return await request.put({ url: `/qms/qualityform/update`, data }) +} + +// 删除质检表单 +export const deleteQualityform = async (id: number) => { + return await request.delete({ url: `/qms/qualityform/delete?id=` + id }) +} + +// 导出质检表单 Excel +export const exportQualityform = async (params) => { + return await request.download({ url: `/qms/qualityform/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/qms/qualityform/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/qms/qualityformdetail/index.ts b/src/api/qms/qualityformdetail/index.ts new file mode 100644 index 000000000..b1fd18af3 --- /dev/null +++ b/src/api/qms/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: '/qms/qualityformdetail/senior', data }) + } else { + return await request.get({ url: `/qms/qualityformdetail/page`, params }) + } +} + +// 查询质检表单子表详情 +export const getQualityformdetail = async (id: number) => { + return await request.get({ url: `/qms/qualityformdetail/get?id=` + id }) +} + +// 新增质检表单子表 +export const createQualityformdetail = async (data: QualityformdetailVO) => { + return await request.post({ url: `/qms/qualityformdetail/create`, data }) +} + +// 修改质检表单子表 +export const updateQualityformdetail = async (data: QualityformdetailVO) => { + return await request.put({ url: `/qms/qualityformdetail/update`, data }) +} + +// 删除质检表单子表 +export const deleteQualityformdetail = async (id: number) => { + return await request.delete({ url: `/qms/qualityformdetail/delete?id=` + id }) +} + +// 导出质检表单子表 Excel +export const exportQualityformdetail = async (params) => { + return await request.download({ url: `/qms/qualityformdetail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/qms/qualityformdetail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/qms/qualityformlog/index.ts b/src/api/qms/qualityformlog/index.ts new file mode 100644 index 000000000..cda445e3b --- /dev/null +++ b/src/api/qms/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: '/qms/qualityformlog/senior', data }) + } else { + return await request.get({ url: `/qms/qualityformlog/page`, params }) + } +} + +// 查询质检表单日志详情 +export const getQualityformlog = async (id: number) => { + return await request.get({ url: `/qms/qualityformlog/get?id=` + id }) +} + +// 新增质检表单日志 +export const createQualityformlog = async (data: QualityformlogVO) => { + return await request.post({ url: `/qms/qualityformlog/create`, data }) +} + +// 修改质检表单日志 +export const updateQualityformlog = async (data: QualityformlogVO) => { + return await request.put({ url: `/qms/qualityformlog/update`, data }) +} + +// 删除质检表单日志 +export const deleteQualityformlog = async (id: number) => { + return await request.delete({ url: `/qms/qualityformlog/delete?id=` + id }) +} + +// 导出质检表单日志 Excel +export const exportQualityformlog = async (params) => { + return await request.download({ url: `/qms/qualityformlog/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/qms/qualityformlog/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/qms/qualitygroup/index.ts b/src/api/qms/qualitygroup/index.ts new file mode 100644 index 000000000..720705b54 --- /dev/null +++ b/src/api/qms/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: '/qms/qualitygroup/senior', data }) + } else { + return await request.get({ url: `/qms/qualitygroup/page`, params }) + } +} + +// 查询质检分组详情 +export const getQualitygroup = async (id: number) => { + return await request.get({ url: `/qms/qualitygroup/get?id=` + id }) +} + +// 新增质检分组 +export const createQualitygroup = async (data: QualitygroupVO) => { + return await request.post({ url: `/qms/qualitygroup/create`, data }) +} + +// 修改质检分组 +export const updateQualitygroup = async (data: QualitygroupVO) => { + return await request.put({ url: `/qms/qualitygroup/update`, data }) +} + +// 删除质检分组 +export const deleteQualitygroup = async (id: number) => { + return await request.delete({ url: `/qms/qualitygroup/delete?id=` + id }) +} + +// 导出质检分组 Excel +export const exportQualitygroup = async (params) => { + return await request.download({ url: `/qms/qualitygroup/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/qms/qualitygroup/get-import-template' }) +} \ No newline at end of file diff --git a/src/components/Detail/src/Detail.vue b/src/components/Detail/src/Detail.vue index 88d886787..e29867e98 100644 --- a/src/components/Detail/src/Detail.vue +++ b/src/components/Detail/src/Detail.vue @@ -420,9 +420,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName: if (props.detailButtonIsShowAdd) { // 新增 detailButtonAdd = [ - defaultButtons.defaultAddBtn({ - hide: isShowMainButton(row, ['1']) - }) + defaultButtons.defaultAddBtn(null) ] } HeadButttondata.value = [...detailButtonFilter,...detailButtonAdd] @@ -551,6 +549,8 @@ const openForm = async (type: string, row?: number) => { } // form 提交 const submitForm = async (formType, data) => { + console.log(formType); + console.log(data); try { // 子表新增编辑校验 如果业务需要子表提交校验 需在主页详情组件添加 detailValidate 参数及方法 const rs = (await props.detailValidate) ? await props.detailValidate(data) : true @@ -565,6 +565,9 @@ const submitForm = async (formType, data) => { formRef.value.dialogVisible = false // 刷新当前列表 await getList() + + emit('handleCreateDetail') + updateKey.value += 1 } finally { formRef.value.formLoading = false @@ -583,7 +586,9 @@ const emit = defineEmits([ 'detailOpenForm', 'tableFormButton', 'openImage', - 'detailBasicFormOnChange' + 'detailBasicFormOnChange', + 'handleDeleteDetail', + 'handleCreateDetail' ]) /** 删除按钮操作 */ const handleDelete = async (id: number) => { @@ -597,6 +602,8 @@ const handleDelete = async (id: number) => { message.success(t('common.delSuccess')) // 刷新列表 await getList() + + emit('handleDeleteDetail') updateKey.value += 1 } catch {} } diff --git a/src/components/SearchTable/src/SearchTable.vue b/src/components/SearchTable/src/SearchTable.vue index 299c1070b..454b4ad3f 100644 --- a/src/components/SearchTable/src/SearchTable.vue +++ b/src/components/SearchTable/src/SearchTable.vue @@ -95,13 +95,13 @@ const open = (titleName: any, allSchemas: any,getApiPage: any, formField: any, s getListRef.value = getList getList() } - // 筛选提交 const searchFormClick = (searchData) => { // console.log(99, rowRef.value) // console.log(100, searchData) // console.log(101, searchConditionRef.value) // 20240104 修改 判断 当前弹窗 是否有条件 如果有条件 需拼接到 筛选中 searchData.filters +console.log(888,searchConditionRef.value) if (searchConditionRef.value) { Object.keys(searchConditionRef.value).forEach(key => { if (searchData.filters) { diff --git a/src/utils/dict.ts b/src/utils/dict.ts index c08388364..d43fcb3b1 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -279,6 +279,10 @@ export enum DICT_TYPE { // ========== 业务 - QMS ========== - QUALIFY_STATUS = 'qualify_status' - + 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',//质检表单操作 + // ========== 业务 - MES ========== + OPERSTEP_COLLECT_TYPE='operstep_collect_type',//操作步骤采集方式 } 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/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/qms/item/index.vue b/src/views/qms/item/index.vue index 3854704a3..1234908d1 100644 --- a/src/views/qms/item/index.vue +++ b/src/views/qms/item/index.vue @@ -27,9 +27,9 @@ v-model:currentPage="tableObject.currentPage" v-model:sort="tableObject.sort" > -