diff --git a/.env b/.env index 80e701f49..74e66bb15 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ # 标题 -VITE_APP_TITLE=富维海拉管理系统 +VITE_APP_TITLE=富维海拉智慧工厂管理平台 # 项目本地运行端口号 VITE_PORT=80 diff --git a/README.md b/README.md index d3e92e517..b6f060c49 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## dev发布2024-05-17-002 +## dev发布2024-05-17-002-001 **xxxx.data.ts 文件配置说明** **form表单查询弹窗配置** form: { @@ -10,6 +10,8 @@ form: { searchTitle: '生产线物料关系信息', // 查询弹窗标题 hiddenFilterButton:true,//是否隐藏筛选按钮 dialogWidth:'100px',//搜索出来弹窗的宽度 + isConcatDetailSchemas:true, // 是否主子表合并 + searchDetailSchemas: PurchasereceiptRecordDetail.allSchemas, // 查询弹窗所需子表类 searchAllSchemas: Productionlineitem.allSchemas, // 查询弹窗所需类 searchPage: ProductionlineitemApi.getProductionlineitemPage, // 查询弹窗所需分页方法 searchCondition: [{ diff --git a/index.html b/index.html index ba11b4e50..b558105c9 100644 --- a/index.html +++ b/index.html @@ -3,16 +3,16 @@ - + %VITE_APP_TITLE% diff --git a/src/api/eam/inspectionItemSelectSet/index.ts b/src/api/eam/inspectionItemSelectSet/index.ts new file mode 100644 index 000000000..af1f6e522 --- /dev/null +++ b/src/api/eam/inspectionItemSelectSet/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' +import {EquipmentMainPartVO} from "@/api/eam/equipmentMainPart"; + +export interface InspectionItemSelectSetVO { + id: number + name: string + itemCode: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询巡检项选择集列表 +export const getInspectionItemSelectSetPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/inspection-item-select-set/senior', data }) + } else { + return await request.get({ url: `/eam/inspection-item-select-set/page`, params }) + } +} + +// 查询巡检项选择集详情 +export const getInspectionItemSelectSet = async (id: number) => { + return await request.get({ url: `/eam/inspection-item-select-set/get?id=` + id }) +} + +// 新增巡检项选择集 +export const createInspectionItemSelectSet = async (data: InspectionItemSelectSetVO) => { + return await request.post({ url: `/eam/inspection-item-select-set/create`, data }) +} + +// 修改巡检项选择集 +export const updateInspectionItemSelectSet = async (data: InspectionItemSelectSetVO) => { + return await request.put({ url: `/eam/inspection-item-select-set/update`, data }) +} + +// 删除巡检项选择集 +export const deleteInspectionItemSelectSet = async (id: number) => { + return await request.delete({ url: `/eam/inspection-item-select-set/delete?id=` + id }) +} + +// 导出巡检项选择集 Excel +export const exportInspectionItemSelectSet = async (params) => { + return await request.download({ url: `/eam/inspection-item-select-set/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/inspection-item-select-set/get-import-template' }) +} + +// 启用 / 禁用 +export const updateEnableCode = async (data: EquipmentMainPartVO) => { + return await request.post({ url: `/eam/inspection-item-select-set/ables` , data }) +} diff --git a/src/api/eam/maintenanceItem/index.ts b/src/api/eam/maintenanceItem/index.ts new file mode 100644 index 000000000..403c459dc --- /dev/null +++ b/src/api/eam/maintenanceItem/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' + +export interface MaintenanceItemVO { + id: number + content: string + serialNumber: number + equipmentParts: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询保养项维护列表 +export const getMaintenanceItemPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/basic/maintenance-item/senior', data }) + } else { + return await request.get({ url: `/eam/basic/maintenance-item/page`, params }) + } +} + +// 查询保养项维护详情 +export const getMaintenanceItem = async (id: number) => { + return await request.get({ url: `/eam/basic/maintenance-item/get?id=` + id }) +} + +// 新增保养项维护 +export const createMaintenanceItem = async (data: MaintenanceItemVO) => { + return await request.post({ url: `/eam/basic/maintenance-item/create`, data }) +} + +// 修改保养项维护 +export const updateMaintenanceItem = async (data: MaintenanceItemVO) => { + return await request.put({ url: `/eam/basic/maintenance-item/update`, data }) +} + +// 删除保养项维护 +export const deleteMaintenanceItem = async (id: number) => { + return await request.delete({ url: `/eam/basic/maintenance-item/delete?id=` + id }) +} + +// 导出保养项维护 Excel +export const exportMaintenanceItem = async (params) => { + if (params.isSearch) { + const data = { ...params } + return await request.downloadPost({ url: `/eam/basic/maintenance-item/export-excel-senior`, data }) + } else { + return await request.download({ url: `/eam/basic/maintenance-item/export-excel`, params }) + } +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/basic/maintenance-item/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/toolAccounts/index.ts b/src/api/eam/toolAccounts/index.ts new file mode 100644 index 000000000..0f5ebd032 --- /dev/null +++ b/src/api/eam/toolAccounts/index.ts @@ -0,0 +1,79 @@ +import request from '@/config/axios' + +export interface ToolAccountsVO { + id: number + code: string + name: string + specification: string + type: string + equity: string + electricMachine: string + isCustomerAptitude: boolean + customerId: string + storageLocation: string + useDept: string + principal: string + principalTelephone: string + status: string + startDate: Date + supplierCode: string + purchaseTime: Date + purchaseDept: string + purchaser: string + productionDate: Date + manufactureCode: string + equipmentLife: string + acceptanceDate: Date + purchasePrice: number + factoryAreaCode: string + workshopCode: string + workshopSectionCode: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询工装台账列表 +export const getToolAccountsPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/tool-accounts/senior', data }) + } else { + return await request.get({ url: `/eam/tool-accounts/page`, params }) + } +} + +// 查询工装台账详情 +export const getToolAccounts = async (id: number) => { + return await request.get({ url: `/eam/tool-accounts/get?id=` + id }) +} + +// 新增工装台账 +export const createToolAccounts = async (data: ToolAccountsVO) => { + return await request.post({ url: `/eam/tool-accounts/create`, data }) +} + +// 修改工装台账 +export const updateToolAccounts = async (data: ToolAccountsVO) => { + return await request.put({ url: `/eam/tool-accounts/update`, data }) +} + +// 删除工装台账 +export const deleteToolAccounts = async (id: number) => { + return await request.delete({ url: `/eam/tool-accounts/delete?id=` + id }) +} + +// 导出工装台账 Excel +export const exportToolAccounts = async (params) => { + return await request.download({ url: `/eam/tool-accounts/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/tool-accounts/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/toolMod/index.ts b/src/api/eam/toolMod/index.ts new file mode 100644 index 000000000..507aa8ee8 --- /dev/null +++ b/src/api/eam/toolMod/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' + +export interface ToolModVO { + id: number + modCode: string + toolCode: string + type: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询工装物料关联列表 +export const getToolModPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/basic/tool-mod/senior', data }) + } else { + return await request.get({ url: `/eam/basic/tool-mod/page`, params }) + } +} + +// 查询工装物料关联详情 +export const getToolMod = async (id: number) => { + return await request.get({ url: `/eam/basic/tool-mod/get?id=` + id }) +} + +// 新增工装物料关联 +export const createToolMod = async (data: ToolModVO) => { + return await request.post({ url: `/eam/basic/tool-mod/create`, data }) +} + +// 修改工装物料关联 +export const updateToolMod = async (data: ToolModVO) => { + return await request.put({ url: `/eam/basic/tool-mod/update`, data }) +} + +// 删除工装物料关联 +export const deleteToolMod = async (id: number) => { + return await request.delete({ url: `/eam/basic/tool-mod/delete?id=` + id }) +} + +// 导出工装物料关联 Excel +export const exportToolMod = async (params) => { + return await request.download({ url: `/eam/basic/tool-mod/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/basic/tool-mod/get-import-template' }) +} + +// 新增工装物料关联 +export const createToolModBatch = async (data: ToolModVO) => { + return await request.post({ url: `/eam/basic/tool-mod/createBatch`, data }) +} diff --git a/src/assets/imgs/login-bg.png b/src/assets/imgs/login-bg.png new file mode 100644 index 000000000..a0e6f1c61 Binary files /dev/null and b/src/assets/imgs/login-bg.png differ diff --git a/src/assets/imgs/login-bg1.png b/src/assets/imgs/login-bg1.png new file mode 100644 index 000000000..beb68b939 Binary files /dev/null and b/src/assets/imgs/login-bg1.png differ diff --git a/src/assets/imgs/logo1.png b/src/assets/imgs/logo1.png index 572b2e0ee..0dcd2fa03 100644 Binary files a/src/assets/imgs/logo1.png and b/src/assets/imgs/logo1.png differ diff --git a/src/components/Annex/src/Annex.vue b/src/components/Annex/src/Annex.vue index 5f5f144d6..812be654f 100644 --- a/src/components/Annex/src/Annex.vue +++ b/src/components/Annex/src/Annex.vue @@ -8,7 +8,7 @@
- +
{{ item.name }}
diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index 28f77a0cc..4157195f5 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -79,9 +79,11 @@ :tableFormRules="tableFormRules" :isShowButton="isShowButton" :isShowReduceButton="isShowReduceButton" + :isShowReduceButtonSelection="isShowReduceButtonSelection" @handleAddTable="handleAddTable" @handleDeleteTable="handleDeleteTable" @tableSelectionChange="tableSelectionChange" + @tableSelectionDelete="tableSelectionDelete" @extendedButtonsClick="extendedButtonsClick" @formSelectChange="formSelectChange" @formSelectvVisibleChange="formSelectvVisibleChange" @@ -139,6 +141,11 @@ const props = defineProps({ type: Boolean, default: true }, + // 是否显示删除按钮--多选 + isShowReduceButtonSelection:{ + type: Boolean, + default: false, + }, // 是否显示tableForm 删除按钮 isShowReduceButton: { type: Boolean, @@ -612,6 +619,7 @@ const resetForm = () => { const emit = defineEmits([ 'success', 'tableSelectionChange', + 'tableSelectionDelete', 'tableFormSelectOnBlur', 'extendedButtonsClick', 'formSelectChange', @@ -653,6 +661,9 @@ const formSelectvVisibleChange = (field, val, row) => { const tableSelectionChange = (val) => { emit('tableSelectionChange', val) } +const tableSelectionDelete = (val) => { + emit('tableSelectionDelete', val) +} // tableform select bulr const tableFormSelectOnBlur = (field, val, row, index) => { emit('tableFormSelectOnBlur', field, val, row, index) diff --git a/src/components/TableForm/src/TableForm.vue b/src/components/TableForm/src/TableForm.vue index 1cfc8ba01..2ac2fb922 100644 --- a/src/components/TableForm/src/TableForm.vue +++ b/src/components/TableForm/src/TableForm.vue @@ -12,11 +12,13 @@ @sort-change="tableSortChange" @row-click="handleTableSelect" > + + @@ -299,18 +301,34 @@ + + + + -
-
+
+
{{t('ts.添加明细')}}
+
+ +
{{t('ts.批量删除')}}
+
diff --git a/src/views/eam/inspectionItemSelectSet/inspectionItemSelectSet.data.ts b/src/views/eam/inspectionItemSelectSet/inspectionItemSelectSet.data.ts new file mode 100644 index 000000000..67508f157 --- /dev/null +++ b/src/views/eam/inspectionItemSelectSet/inspectionItemSelectSet.data.ts @@ -0,0 +1,141 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const InspectionItemSelectSetRules = reactive({ + name: [required], + itemCode: [required], + concurrencyStamp: [required], +}) + +export const InspectionItemSelectSet = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '选择集名称', + field: 'name', + sort: 'custom', + isSearch: true, + }, + { + label: '项编号', + field: 'itemCode', + sort: 'custom', + 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: 'departmentCode', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isTable: true, + isDetail: false, + isSearch: true, + isTableForm: false, + isForm: false, + }, + { + label: '删除时间', + field: 'deletionTime', + 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: '删除人id', + field: 'deleterId', + 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: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/inspectionItemSelectSet/itemSelectSetForm.vue b/src/views/eam/inspectionItemSelectSet/itemSelectSetForm.vue new file mode 100644 index 000000000..f7aa42b20 --- /dev/null +++ b/src/views/eam/inspectionItemSelectSet/itemSelectSetForm.vue @@ -0,0 +1,283 @@ + + + + diff --git a/src/views/eam/maintenanceItem/index.vue b/src/views/eam/maintenanceItem/index.vue new file mode 100644 index 000000000..bf32498c2 --- /dev/null +++ b/src/views/eam/maintenanceItem/index.vue @@ -0,0 +1,268 @@ + + + diff --git a/src/views/eam/maintenanceItem/maintenanceItem.data.ts b/src/views/eam/maintenanceItem/maintenanceItem.data.ts new file mode 100644 index 000000000..82f964601 --- /dev/null +++ b/src/views/eam/maintenanceItem/maintenanceItem.data.ts @@ -0,0 +1,106 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import { handleTreeToComponentOptions } from '@/utils/tree' +import * as DeptApi from '@/api/system/dept' +const deptList = ref([]) // 树形结构 + +// 加载部门树(默认格式) +deptList.value = handleTreeToComponentOptions(await DeptApi.getSimpleDeptList()) + +// 表单校验 +export const MaintenanceItemRules = reactive({ + content: [required], + serialNumber: [required], + concurrencyStamp: [required] +}) + +export const MaintenanceItem = useCrudSchemas(reactive([ + + { + label: '序号', + field: 'serialNumber', + sort: 'custom', + isSearch: true, + fixed: 'left', + form: { + component:'InputNumber' + }, + }, + { + label: '保养内容', + field: 'content', + sort: 'custom', + isSearch: true, + form: { + component: 'Input', + componentProps: { + type: 'textarea', + rows: 4 + }, + colProps: { + span: 24 + } + } + }, + { + label: '保养部位', + field: 'equipmentParts', + sort: 'custom', + isSearch: true + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + isTable: false, + isDetail: false, + isSearch: false, + isTableForm: false, + form: { + component: 'TreeSelect', + componentProps: { // 假设deptList是部门数据列表 + data: deptList, + placeholder: "请选择部门", + filterable: true, + // multiple: true, + } + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + form: { + component: 'Input', + componentProps: { + type: 'textarea', + rows: 4 + }, + colProps: { + span: 24 + } + } + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isTable: true, + isDetail: false, + isSearch: false, + isTableForm: false, + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/spotCheckItem/index.vue b/src/views/eam/spotCheckItem/index.vue index 6fc7ba504..997bae35f 100644 --- a/src/views/eam/spotCheckItem/index.vue +++ b/src/views/eam/spotCheckItem/index.vue @@ -256,7 +256,6 @@ const handleEnable = (row,enable) =>{ row.available = enable SpotCheckItemApi.updateSpotCheckItem(row).then(res => { message.success(t('common.updateSuccess')) - getList() }) }) } diff --git a/src/views/eam/spotCheckItem/spotCheckItem.data.ts b/src/views/eam/spotCheckItem/spotCheckItem.data.ts index 67902adfb..4d7e8db78 100644 --- a/src/views/eam/spotCheckItem/spotCheckItem.data.ts +++ b/src/views/eam/spotCheckItem/spotCheckItem.data.ts @@ -16,7 +16,16 @@ export const SpotCheckItemRules = reactive({ }) export const SpotCheckItem = useCrudSchemas(reactive([ - + { + label: '序号', + field: 'serialNumber', + sort: 'custom', + isSearch: true, + fixed: 'left', + form: { + component:'InputNumber' + }, + }, { label: '点检内容', field: 'content', @@ -35,16 +44,6 @@ export const SpotCheckItem = useCrudSchemas(reactive([ sort: 'custom', isSearch: true }, - { - label: '序号', - field: 'serialNumber', - sort: 'custom', - isSearch: true, - fixed: 'left', - form: { - component:'InputNumber' - }, - }, { label: '来源于类型配置', field: 'type', diff --git a/src/views/eam/toolAccounts/index.vue b/src/views/eam/toolAccounts/index.vue new file mode 100644 index 000000000..abb89eceb --- /dev/null +++ b/src/views/eam/toolAccounts/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/eam/toolAccounts/toolAccounts.data.ts b/src/views/eam/toolAccounts/toolAccounts.data.ts new file mode 100644 index 000000000..da9d18546 --- /dev/null +++ b/src/views/eam/toolAccounts/toolAccounts.data.ts @@ -0,0 +1,279 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const ToolAccountsRules = reactive({ + code: [required], + name: [required], + concurrencyStamp: [required] +}) + +export const ToolAccounts = useCrudSchemas(reactive([ + { + label: '工装编号', + field: 'code', + sort: 'custom', + isSearch: true, + isForm: false, + }, + { + label: '名称', + field: 'name', + sort: 'custom', + isSearch: true + }, + { + label: '型号', + field: 'specification', + sort: 'custom', + isSearch: true + }, + { + label: '类型', + field: 'type', + sort: 'custom', + isSearch: false, + form: { + component: 'Select' + } + }, + { + label: '产权', + field: 'equity', + sort: 'custom', + isSearch: false + }, + { + label: '电机', + field: 'electricMachine', + sort: 'custom', + isSearch: false + }, + { + label: '是否客户资质', + field: 'isCustomerAptitude', + sort: 'custom', + isSearch: false, + form: { + component: 'Switch' + } + }, + { + label: '客户id', + field: 'customerId', + sort: 'custom', + isSearch: false + }, + { + label: '存放位置', + field: 'storageLocation', + sort: 'custom', + isSearch: false + }, + { + label: '使用部门', + field: 'useDept', + sort: 'custom', + isSearch: false + }, + { + label: '负责人', + field: 'principal', + sort: 'custom', + isSearch: false + }, + { + label: '负责人联系方式', + field: 'principalTelephone', + sort: 'custom', + isSearch: false + }, + { + label: '设备状态', + field: 'status', + sort: 'custom', + isSearch: false, + form: { + component: 'Switch' + } + }, + { + label: '启用日期', + field: 'startDate', + sort: 'custom', + formatter: dateFormatter, + isSearch: 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: 'supplierCode', + sort: 'custom', + isSearch: false + }, + { + label: '采购时间', + field: 'purchaseTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: 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: 'purchaseDept', + sort: 'custom', + isSearch: true + }, + { + label: '采购人', + field: 'purchaser', + sort: 'custom', + isSearch: true + }, + { + label: '出厂日期', + field: 'productionDate', + sort: 'custom', + formatter: dateFormatter, + isSearch: 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: 'manufactureCode', + sort: 'custom', + isSearch: false + }, + { + label: '设备使用寿命', + field: 'equipmentLife', + sort: 'custom', + isSearch: false + }, + { + label: '验收日期', + field: 'acceptanceDate', + sort: 'custom', + formatter: dateFormatter, + isSearch: 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: 'purchasePrice', + sort: 'custom', + isSearch: false + }, + { + label: '所属厂区编号', + field: 'factoryAreaCode', + sort: 'custom', + isSearch: true + }, + { + label: '车间编号', + field: 'workshopCode', + sort: 'custom', + isSearch: true + }, + { + label: '工段编号', + field: 'workshopSectionCode', + sort: 'custom', + isSearch: true + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + isSearch: false + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: false + }, + // { + // label: '是否可用', + // field: 'available', + // sort: 'custom', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // isSearch: false, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/toolMod/index.vue b/src/views/eam/toolMod/index.vue new file mode 100644 index 000000000..3df940dde --- /dev/null +++ b/src/views/eam/toolMod/index.vue @@ -0,0 +1,285 @@ + + + diff --git a/src/views/eam/toolMod/operateForm.vue b/src/views/eam/toolMod/operateForm.vue new file mode 100644 index 000000000..ac16e28ef --- /dev/null +++ b/src/views/eam/toolMod/operateForm.vue @@ -0,0 +1,320 @@ + + + + diff --git a/src/views/eam/toolMod/toolMod.data.ts b/src/views/eam/toolMod/toolMod.data.ts new file mode 100644 index 000000000..e90d484e9 --- /dev/null +++ b/src/views/eam/toolMod/toolMod.data.ts @@ -0,0 +1,155 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import {Itembasic} from "@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data"; +import * as ItembasicApi from "@/api/wms/itembasic"; +import { ToolAccounts,ToolAccountsRules } from '../toolAccounts/toolAccounts.data' +import * as ToolAccountsApi from '@/api/eam/toolAccounts' + +// 表单校验 +export const ToolModRules = reactive({ + modCode: [required], + toolCode: [required], + type: [required], + concurrencyStamp: [required] +}) + +export const ToolMod = useCrudSchemas(reactive([ + { + label: '工装编码', + field: 'toolCode', + sort: 'custom', + isSearch: false, + isDetail: false, + isForm: false, + isTable: true, + isTableForm: false, + }, + // { + // label: '工装编码', + // field: 'toolCodeShow', + // sort: 'custom', + // isSearch: true, + // form: { + // componentProps: { + // isSearchList: true, + // searchListPlaceholder: '请选择工装代码', + // searchField: 'toolCodeShow', + // searchTitle: '客户物料基础信息', + // searchAllSchemas: ToolAccounts.allSchemas, + // searchPage: ToolAccountsApi.getToolAccountsPage, + // searchCondition: [{ + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }] + // } + // }, + // search: { + // componentProps: { + // isSearchList: true, + // searchListPlaceholder: '请选择工装代码', + // searchField: 'toolCodeShow', + // searchTitle: '客户物料基础信息', + // searchAllSchemas: ToolAccounts.allSchemas, + // searchPage: ToolAccountsApi.getToolAccountsPage, + // searchCondition: [{ + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }] + // } + // } + // }, + { + label: '物料编号', + field: 'modCode', + sort: 'custom', + isSearch: false, + isDetail: false, + isForm: false, + isTable: true, + isTableForm: false, + }, + // { + // label: '物料编号', + // field: 'modCodeShow', + // sort: 'custom', + // isSearch: true, + // form: { + // componentProps: { + // isSearchList: true, + // searchListPlaceholder: '请选择物料代码', + // searchField: 'modCodeShow', + // searchTitle: '客户物料基础信息', + // multiple:true, + // searchAllSchemas: Itembasic.allSchemas, + // searchPage: ItembasicApi.getItembasicPage, + // searchCondition: [{ + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }] + // } + // }, + // search: { + // componentProps: { + // isSearchList: true, + // searchListPlaceholder: '请选择物料代码', + // searchField: 'modCodeShow', + // searchTitle: '客户物料基础信息', + // multiple: true, + // searchAllSchemas: Itembasic.allSchemas, + // searchPage: ItembasicApi.getItembasicPage, + // searchCondition: [{ + // key: 'available', + // value: 'TRUE', + // isMainValue: false + // }] + // } + // } + // }, + { + label: '类型', + field: 'type', + sort: 'custom', + dictType: DICT_TYPE.DEVICE_TYPE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Select' + } + }, + // { + // label: '部门', + // field: 'departmentCode', + // sort: 'custom', + // isSearch: true + // }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isTable: true, + isDetail: false, + isSearch: false, + isTableForm: false, + isForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/login/login.vue b/src/views/login/login.vue index b9bf1709d..1969c440f 100644 --- a/src/views/login/login.vue +++ b/src/views/login/login.vue @@ -1,14 +1,14 @@