diff --git a/src/api/eam/basic/applicantInfoConfig/index.ts b/src/api/eam/basic/applicantInfoConfig/index.ts new file mode 100644 index 0000000..eb48ae7 --- /dev/null +++ b/src/api/eam/basic/applicantInfoConfig/index.ts @@ -0,0 +1,53 @@ +import request from '@/config/axios' + +export interface ApplicantInfoConfigVO { + id: number + applicant: string + employeeNumber: string + phone: string + describes: string + siteId: string + available: string + concurrencyStamp: number +} + +// 查询申请人信息配置列表 +export const getApplicantInfoConfigPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/basic/applicant-info-config/senior', data }) + } else { + return await request.get({ url: `/basic/applicant-info-config/page`, params }) + } +} + +// 查询申请人信息配置详情 +export const getApplicantInfoConfig = async (id: number) => { + return await request.get({ url: `/basic/applicant-info-config/get?id=` + id }) +} + +// 新增申请人信息配置 +export const createApplicantInfoConfig = async (data: ApplicantInfoConfigVO) => { + return await request.post({ url: `/basic/applicant-info-config/create`, data }) +} + +// 修改申请人信息配置 +export const updateApplicantInfoConfig = async (data: ApplicantInfoConfigVO) => { + return await request.put({ url: `/basic/applicant-info-config/update`, data }) +} + +// 删除申请人信息配置 +export const deleteApplicantInfoConfig = async (id: number) => { + return await request.delete({ url: `/basic/applicant-info-config/delete?id=` + id }) +} + +// 导出申请人信息配置 Excel +export const exportApplicantInfoConfig = async (params) => { + return await request.download({ url: `/basic/applicant-info-config/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/basic/applicant-info-config/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/basic/infoPushRecordDetail/index.ts b/src/api/eam/basic/infoPushRecordDetail/index.ts new file mode 100644 index 0000000..f896eea --- /dev/null +++ b/src/api/eam/basic/infoPushRecordDetail/index.ts @@ -0,0 +1,63 @@ +import request from '@/config/axios' + +export interface InfoPushRecordDetailVO { + id: number + masterId: number + mc: string + wlh: string + ggxh: string + sl: number + dw: string + ckdj: number + zj: number + kcs: number + financer: string + subjectCode: string + purchaser: string + costCenter: string + purpose: string + siteId: string + available: string + concurrencyStamp: number +} + +// 查询物料信息推送记录子列表 +export const getInfoPushRecordDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/basic/info-push-record-detail/senior', data }) + } else { + return await request.get({ url: `/basic/info-push-record-detail/page`, params }) + } +} + +// 查询物料信息推送记录子详情 +export const getInfoPushRecordDetail = async (id: number) => { + return await request.get({ url: `/basic/info-push-record-detail/get?id=` + id }) +} + +// 新增物料信息推送记录子 +export const createInfoPushRecordDetail = async (data: InfoPushRecordDetailVO) => { + return await request.post({ url: `/basic/info-push-record-detail/create`, data }) +} + +// 修改物料信息推送记录子 +export const updateInfoPushRecordDetail = async (data: InfoPushRecordDetailVO) => { + return await request.put({ url: `/basic/info-push-record-detail/update`, data }) +} + +// 删除物料信息推送记录子 +export const deleteInfoPushRecordDetail = async (id: number) => { + return await request.delete({ url: `/basic/info-push-record-detail/delete?id=` + id }) +} + +// 导出物料信息推送记录子 Excel +export const exportInfoPushRecordDetail = async (params) => { + return await request.download({ url: `/basic/info-push-record-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/basic/info-push-record-detail/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/basic/infoPushRecordMain/index.ts b/src/api/eam/basic/infoPushRecordMain/index.ts new file mode 100644 index 0000000..b5e8414 --- /dev/null +++ b/src/api/eam/basic/infoPushRecordMain/index.ts @@ -0,0 +1,55 @@ +import request from '@/config/axios' + +export interface InfoPushRecordMainVO { + id: number + sqr: string + shdd: string + yqdhsj: string + lxdh: string + hjje: number + describes: string + siteId: string + available: string + concurrencyStamp: number +} + +// 查询物料信息推送记录主列表 +export const getInfoPushRecordMainPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/basic/info-push-record-main/senior', data }) + } else { + return await request.get({ url: `/basic/info-push-record-main/page`, params }) + } +} + +// 查询物料信息推送记录主详情 +export const getInfoPushRecordMain = async (id: number) => { + return await request.get({ url: `/basic/info-push-record-main/get?id=` + id }) +} + +// 新增物料信息推送记录主 +export const createInfoPushRecordMain = async (data: InfoPushRecordMainVO) => { + return await request.post({ url: `/basic/info-push-record-main/create`, data }) +} + +// 修改物料信息推送记录主 +export const updateInfoPushRecordMain = async (data: InfoPushRecordMainVO) => { + return await request.put({ url: `/basic/info-push-record-main/update`, data }) +} + +// 删除物料信息推送记录主 +export const deleteInfoPushRecordMain = async (id: number) => { + return await request.delete({ url: `/basic/info-push-record-main/delete?id=` + id }) +} + +// 导出物料信息推送记录主 Excel +export const exportInfoPushRecordMain = async (params) => { + return await request.download({ url: `/basic/info-push-record-main/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/basic/info-push-record-main/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/mold/cycleDataSync/index.ts b/src/api/eam/mold/cycleDataSync/index.ts new file mode 100644 index 0000000..8b03400 --- /dev/null +++ b/src/api/eam/mold/cycleDataSync/index.ts @@ -0,0 +1,59 @@ +import request from '@/config/axios' + +export interface CycleDataSyncVO { + id: number + planCode: string + planDate: localdate + seq: number + planQty: number + configure: string + siteId: string + available: string + concurrencyStamp: number + deptId: number +} + +// 查询模次数据同步列表 +export const getCycleDataSyncPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/cycle-data-sync/senior', data }) + } else { + return await request.get({ url: `/eam/cycle-data-sync/page`, params }) + } +} + +// 查询模次数据同步详情 +export const getCycleDataSync = async (id: number) => { + return await request.get({ url: `/eam/cycle-data-sync/get?id=` + id }) +} + +// 新增模次数据同步 +export const createCycleDataSync = async (data: CycleDataSyncVO) => { + return await request.post({ url: `/eam/cycle-data-sync/create`, data }) +} + +// 修改模次数据同步 +export const updateCycleDataSync = async (data: CycleDataSyncVO) => { + return await request.put({ url: `/eam/cycle-data-sync/update`, data }) +} + +// 删除模次数据同步 +export const deleteCycleDataSync = async (id: number) => { + return await request.delete({ url: `/eam/cycle-data-sync/delete?id=` + id }) +} + +// 导出模次数据同步 Excel +export const exportCycleDataSync = async (params) => { + return await request.download({ url: `/eam/cycle-data-sync/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/cycle-data-sync/get-import-template' }) +} + +export const retryCycleDataSync = () => { + return request.post({ url: '/eam/mold-accounts/retryCycleDataSync'}) +} \ No newline at end of file diff --git a/src/config/axios/config.ts b/src/config/axios/config.ts index 8116508..9bf0a92 100644 --- a/src/config/axios/config.ts +++ b/src/config/axios/config.ts @@ -16,7 +16,7 @@ const config: { /** * 接口请求超时时间 */ - request_timeout: 30000, + request_timeout: 300000, /** * 默认接口请求类型 diff --git a/src/locales/en-US.ts b/src/locales/en-US.ts index 95c1cb7..d10fbf6 100644 --- a/src/locales/en-US.ts +++ b/src/locales/en-US.ts @@ -67,7 +67,8 @@ export default { confirmRefused: 'Confirm Refused?', confirmHandle: 'Confirm Handle?', confirmSubmit: 'Confirm Submit?', - finishSuccess:'success' + finishSuccess: 'success', + retrySuccess: 'retry success', }, error: { noPermission: `Sorry, you don't have permission to access this page.`, diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 45b375e..e33ec78 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -68,7 +68,8 @@ export default { confirmHandle: '确认处理吗?', confirmSubmit: '确认提交吗?', finishSuccess: '操作成功', - verifySuccess: '验证成功' + verifySuccess: '验证成功', + retrySuccess: '重试成功', }, error: { noPermission: `抱歉,您无权访问此页面。`, diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 093185c..e198991 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -311,5 +311,7 @@ export enum DICT_TYPE { ORDER_SOURCE_TYPE = 'order_source_type', //工单来源类型 CENTER_SUBJECT_MAP_DEPT = 'center_subject_map_dept',//成本中心科目对照部门 ITEM_OUT_IN_TYPE = 'item_out_in_type',//备件出入库类型 + PUSH_STATUS = 'push_status',//推送状态 + MOLD_TIME_SYNC_STATUS = 'mold_time_sync_status',//模具时间同步状态 } diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts index 67f0ffa..0f2543c 100644 --- a/src/utils/disposition/defaultButtons.ts +++ b/src/utils/disposition/defaultButtons.ts @@ -1078,6 +1078,19 @@ export function orderPrintBtn(option:any) { }) } +// 工单-打印 +export function retryBtn(option:any) { + return __defaultBtnOption(option,{ + label: '批量重试', + name: 'retry', + hide: false, + type: 'primary', + color: '', + link: false, // 文本展现按钮 + hasPermi: '' + }) +} + // 默认按钮规则 function __defaultBtnOption(option:any,specific:any){ diff --git a/src/views/eam/basic/applicantInfoConfig/applicantInfoConfig.data.ts b/src/views/eam/basic/applicantInfoConfig/applicantInfoConfig.data.ts new file mode 100644 index 0000000..4deef1b --- /dev/null +++ b/src/views/eam/basic/applicantInfoConfig/applicantInfoConfig.data.ts @@ -0,0 +1,74 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ApplicantInfoConfigRules = reactive({ + applicant: [required], + employeeNumber: [required], + phone: [required], + concurrencyStamp: [required] +}) + +export const ApplicantInfoConfig = useCrudSchemas(reactive([ + { + label: '申请人', + field: 'applicant', + sort: 'custom', + isSearch: true + }, + { + label: '工号', + field: 'employeeNumber', + sort: 'custom', + isSearch: true + }, + { + label: '电话', + field: 'phone', + sort: 'custom', + isSearch: true + }, + { + label: '描述', + field: 'describes', + sort: 'custom', + form: { + component: 'Input', + componentProps: { + type: 'textarea', + } + }, + }, + // { + // label: '创建时间', + // field: 'createTime', + // 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')] + // } + // }, + // isForm: false + // }, + // { + // label: '是否可用', + // field: 'available', + // sort: 'custom', + // isForm: true, + // isSearch: true + // }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/basic/applicantInfoConfig/index.vue b/src/views/eam/basic/applicantInfoConfig/index.vue new file mode 100644 index 0000000..8c71265 --- /dev/null +++ b/src/views/eam/basic/applicantInfoConfig/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/eam/basic/infoPushRecordDetail/index.vue b/src/views/eam/basic/infoPushRecordDetail/index.vue new file mode 100644 index 0000000..75326e2 --- /dev/null +++ b/src/views/eam/basic/infoPushRecordDetail/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/eam/basic/infoPushRecordDetail/infoPushRecordDetail.data.ts b/src/views/eam/basic/infoPushRecordDetail/infoPushRecordDetail.data.ts new file mode 100644 index 0000000..71f7ff1 --- /dev/null +++ b/src/views/eam/basic/infoPushRecordDetail/infoPushRecordDetail.data.ts @@ -0,0 +1,137 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const InfoPushRecordDetailRules = reactive({ + masterId: [required], + mc: [required], + wlh: [required], + concurrencyStamp: [required] +}) + +export const InfoPushRecordDetail = useCrudSchemas(reactive([ + + { + label: '名称', + field: 'mc', + sort: 'custom', + table: { + width:150 + }, + isSearch: true + }, + { + label: '物料号', + field: 'wlh', + sort: 'custom', + table: { + width:150 + }, + isSearch: true + }, + { + label: '规格型号', + field: 'ggxh', + sort: 'custom', + table: { + width:150 + }, + isSearch: true + }, + { + label: '数量', + field: 'sl', + sort: 'custom', + isSearch: false + }, + { + label: '单位', + field: 'dw', + sort: 'custom', + table: { + width:150 + }, + isSearch: false + }, + { + label: '申请单价', + field: 'ckdj', + sort: 'custom', + table: { + width:150 + }, + isSearch: false + }, + { + label: '行总价', + field: 'zj', + sort: 'custom', + table: { + width:150 + }, + isSearch: false + }, + { + label: '库存数', + field: 'kcs', + sort: 'custom', + table: { + width:150 + }, + isSearch: false + }, + { + label: '财务控制员', + field: 'financer', + sort: 'custom', + table: { + width:150 + }, + isSearch: false + }, + { + label: '科目代码', + field: 'subjectCode', + sort: 'custom', + table: { + width:150 + }, + isSearch: false + }, + { + label: '采购员', + field: 'purchaser', + sort: 'custom', + table: { + width:150 + }, + isSearch: false + }, + { + label: '成本中心', + field: 'costCenter', + sort: 'custom', + table: { + width:150 + }, + isSearch: true + }, + { + label: '用途', + field: 'purpose', + sort: 'custom', + table: { + width:150 + }, + isSearch: false + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/basic/infoPushRecordMain/index.vue b/src/views/eam/basic/infoPushRecordMain/index.vue new file mode 100644 index 0000000..688eeab --- /dev/null +++ b/src/views/eam/basic/infoPushRecordMain/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/eam/basic/infoPushRecordMain/infoPushRecordMain.data.ts b/src/views/eam/basic/infoPushRecordMain/infoPushRecordMain.data.ts new file mode 100644 index 0000000..b097fc2 --- /dev/null +++ b/src/views/eam/basic/infoPushRecordMain/infoPushRecordMain.data.ts @@ -0,0 +1,66 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const InfoPushRecordMainRules = reactive({ + sqr: [required], + lxdh: [required], + concurrencyStamp: [required] +}) + +export const InfoPushRecordMain = useCrudSchemas(reactive([ + + { + label: '申请人', + field: 'sqr', + sort: 'custom', + isSearch: true + }, + { + label: '收货地点', + field: 'shdd', + sort: 'custom', + isSearch: true + }, + { + label: '要求到货时间', + field: 'yqdhsj', + sort: 'custom', + isSearch: true + }, + { + label: '联系电话', + field: 'lxdh', + sort: 'custom', + isSearch: false + }, + { + label: '合计金额', + field: 'hjje', + sort: 'custom', + isSearch: false + }, + { + label: '推送状态', + field: 'pushStatus', + dictType: DICT_TYPE.PUSH_STATUS, + dictClass: 'string', + sort: 'custom', + isSearch: false + }, + { + label: '描述', + field: 'describes', + sort: 'custom', + isSearch: false + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/mold/cycleDataSync/cycleDataSync.data.ts b/src/views/eam/mold/cycleDataSync/cycleDataSync.data.ts new file mode 100644 index 0000000..de41658 --- /dev/null +++ b/src/views/eam/mold/cycleDataSync/cycleDataSync.data.ts @@ -0,0 +1,145 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const CycleDataSyncRules = reactive({ + concurrencyStamp: [required] +}) + +export const CycleDataSync = useCrudSchemas(reactive([ + { + label: '主键ID', + field: 'id', + sort: 'custom', + isForm: false + }, + { + label: '计划号', + field: 'planCode', + sort: 'custom', + isSearch: true + }, + { + label: '计划日期', + field: 'planDate', + 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: 'seq', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '计划数量', + field: 'planQty', + sort: 'custom', + isSearch: true, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '零件号', + field: 'configure', + sort: 'custom', + isSearch: true + }, + { + label: '执行状态', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.MOLD_TIME_SYNC_STATUS, + dictClass: 'string', + isSearch: true + }, + // { + // label: '创建时间', + // field: 'createTime', + // 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')] + // } + // }, + // isForm: false + // }, + // { + // label: '地点ID', + // field: 'siteId', + // sort: 'custom', + // isSearch: true + // }, + // { + // label: '是否可用', + // field: 'available', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: true, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '并发乐观锁', + // field: 'concurrencyStamp', + // sort: 'custom', + // isSearch: true, + // form: { + // component: 'InputNumber', + // value: 0 + // } + // }, + // { + // label: '部门id', + // field: 'deptId', + // sort: 'custom', + // isSearch: true, + // form: { + // component: 'InputNumber', + // value: 0 + // } + // }, + // { + // label: '操作', + // field: 'action', + // isForm: false, + // table: { + // width: 150, + // fixed: 'right' + // } + // } +])) diff --git a/src/views/eam/mold/cycleDataSync/index.vue b/src/views/eam/mold/cycleDataSync/index.vue new file mode 100644 index 0000000..7b5c4c5 --- /dev/null +++ b/src/views/eam/mold/cycleDataSync/index.vue @@ -0,0 +1,253 @@ + + + diff --git a/src/views/eam/mold/moldAccounts/moldAccounts.data.ts b/src/views/eam/mold/moldAccounts/moldAccounts.data.ts index 8d1ffb6..0f47439 100644 --- a/src/views/eam/mold/moldAccounts/moldAccounts.data.ts +++ b/src/views/eam/mold/moldAccounts/moldAccounts.data.ts @@ -30,6 +30,9 @@ export const MoldAccountsRules = reactive({ ], beat:[ { validator:validateNum, message: '请输入数字格式', trigger: 'blur'} + ], + mesItemNumber: [ + { message: '请输入对应mes计划零件号:多个按逗号分隔'} ] }) @@ -245,6 +248,16 @@ export const MoldAccounts = useCrudSchemas(reactive([ dictType: DICT_TYPE.TRUE_FALSE, dictClass: 'string', }, + { + label: '对应mes计划零件号', + field: 'mesItemNumber', + sort: 'custom', + isForm: true, + isSearch: true, + form: { + component: 'Input', + } + }, { label: '模次', field: 'frequency',