diff --git a/src/api/eam/equipmentAccounts/index.ts b/src/api/eam/equipmentAccounts/index.ts new file mode 100644 index 000000000..02a2fe927 --- /dev/null +++ b/src/api/eam/equipmentAccounts/index.ts @@ -0,0 +1,79 @@ +import request from '@/config/axios' + +export interface EquipmentAccountsVO { + id: number + code: string + name: string + specification: string + type: string + power: string + equity: string + electricMachine: string + beat: 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 getEquipmentAccountsPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/equipment-accounts/senior', data }) + } else { + return await request.get({ url: `/eam/equipment-accounts/page`, params }) + } +} + +// 查询设备台账详情 +export const getEquipmentAccounts = async (id: number) => { + return await request.get({ url: `/eam/equipment-accounts/get?id=` + id }) +} + +// 新增设备台账 +export const createEquipmentAccounts = async (data: EquipmentAccountsVO) => { + return await request.post({ url: `/eam/equipment-accounts/create`, data }) +} + +// 修改设备台账 +export const updateEquipmentAccounts = async (data: EquipmentAccountsVO) => { + return await request.put({ url: `/eam/equipment-accounts/update`, data }) +} + +// 删除设备台账 +export const deleteEquipmentAccounts = async (id: number) => { + return await request.delete({ url: `/eam/equipment-accounts/delete?id=` + id }) +} + +// 导出设备台账 Excel +export const exportEquipmentAccounts = async (params) => { + return await request.download({ url: `/eam/equipment-accounts/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/equipment-accounts/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/eam/equipmentMainPart/index.ts b/src/api/eam/equipmentMainPart/index.ts index 6a081dd4c..b92db6d86 100644 --- a/src/api/eam/equipmentMainPart/index.ts +++ b/src/api/eam/equipmentMainPart/index.ts @@ -64,4 +64,4 @@ export const importTemplate = () => { // 启用 / 禁用 export const updateEnableCode = async (data: EquipmentMainPartVO) => { return await request.post({ url: `/eam/equipment-main-part/ables` , data }) -} +} \ No newline at end of file diff --git a/src/api/eam/equipmentManufacturer/index.ts b/src/api/eam/equipmentManufacturer/index.ts index 6efa2cbb2..1160cc0e0 100644 --- a/src/api/eam/equipmentManufacturer/index.ts +++ b/src/api/eam/equipmentManufacturer/index.ts @@ -65,4 +65,9 @@ export const exportEquipmentManufacturer = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/eam/basic/equipment-manufacturer/get-import-template' }) +} + +// 查询设备制造商列表 +export const getEquipmentManufacturerNoPage = async (params) => { + return await request.get({ url: `/eam/basic/equipment-manufacturer/noPage`, params }) } \ No newline at end of file diff --git a/src/api/eam/equipmentSupplier/index.ts b/src/api/eam/equipmentSupplier/index.ts index b6a38dc40..62e551080 100644 --- a/src/api/eam/equipmentSupplier/index.ts +++ b/src/api/eam/equipmentSupplier/index.ts @@ -65,4 +65,9 @@ export const exportEquipmentSupplier = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/eam/basic/equipment-supplier/get-import-template' }) +} + +//供应商列表不分页 +export const getEquipmentSupplierNoPage = async (params) => { + return await request.get({ url: `/eam/basic/equipment-supplier/noPage`, params }) } \ No newline at end of file diff --git a/src/api/eam/relationMainPart/index.ts b/src/api/eam/relationMainPart/index.ts new file mode 100644 index 000000000..773210bfb --- /dev/null +++ b/src/api/eam/relationMainPart/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' + +export interface RelationMainPartVO { + id: number + mainPartCode: string + equipmentCode: string + type: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询主要部件关联列表 +export const getRelationMainPartPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/relation/relation-main-partsenior', data }) + } else { + return await request.get({ url: `/eam/relation/relation-main-part/page`, params }) + } +} + +// 查询主要部件关联详情 +export const getRelationMainPart = async (id: number) => { + return await request.get({ url: `/eam/relation/relation-main-part/get?id=` + id }) +} + +// 新增主要部件关联 +export const createRelationMainPart = async (data: RelationMainPartVO) => { + return await request.post({ url: `/eam/relation/relation-main-part/create`, data }) +} + +// 修改主要部件关联 +export const updateRelationMainPart = async (data: RelationMainPartVO) => { + return await request.put({ url: `/eam/relation/relation-main-part/update`, data }) +} + +// 删除主要部件关联 +export const deleteRelationMainPart = async (id: number) => { + return await request.delete({ url: `/eam/relation/relation-main-part/delete?id=` + id }) +} + +// 导出主要部件关联 Excel +export const exportRelationMainPart = async (params) => { + return await request.download({ url: `/eam/relation/relation-main-part/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/relation/relation-main-part/get-import-template' }) +} + +// 查询主要部件关联列表不分页 +export const getRelationMainPartNoPage = async (params) => { + return await request.get({ url: `/eam/relation/relation-main-part/noPage`, params }) +} diff --git a/src/api/eam/sparePart/index.ts b/src/api/eam/sparePart/index.ts new file mode 100644 index 000000000..8ae1f345a --- /dev/null +++ b/src/api/eam/sparePart/index.ts @@ -0,0 +1,75 @@ +import request from '@/config/axios' + +export interface SparePartVO { + id: number + code: string + name: string + brand: string + specifications: string + isOverall: string + isConstant: string + subject: string + subjectCode: string + category: string + region: string + classification: string + uom: string + singlePrice: number + stockAge: number + reprocurement: number + safetyStock: number + cost: string + purchaser: string + financer: string + purchaseTime: Date + isFramework: string + isRadeIn: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询备件基础列表 +export const getSparePartPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/sparepart/spare-part/senior', data }) + } else { + return await request.get({ url: `/eam/sparepart/spare-part/page`, params }) + } +} + +// 查询备件基础详情 +export const getSparePart = async (id: number) => { + return await request.get({ url: `/eam/sparepart/spare-part/get?id=` + id }) +} + +// 新增备件基础 +export const createSparePart = async (data: SparePartVO) => { + return await request.post({ url: `/eam/sparepart/spare-part/create`, data }) +} + +// 修改备件基础 +export const updateSparePart = async (data: SparePartVO) => { + return await request.put({ url: `/eam/sparepart/spare-part/update`, data }) +} + +// 删除备件基础 +export const deleteSparePart = async (id: number) => { + return await request.delete({ url: `/eam/sparepart/spare-part/delete?id=` + id }) +} + +// 导出备件基础 Excel +export const exportSparePart = async (params) => { + return await request.download({ url: `/eam/sparepart/spare-part/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/sparepart/spare-part/get-import-template' }) +} \ No newline at end of file diff --git a/src/api/wms/balance/index.ts b/src/api/wms/balance/index.ts index 15189a33d..6ddf5473a 100644 --- a/src/api/wms/balance/index.ts +++ b/src/api/wms/balance/index.ts @@ -161,3 +161,15 @@ export const selectConfigToBalance = async (params) => { return request.get({ url: '/wms/balance/pageConfigToBalance', params}) } } + + +// 查询库存余额列表根据业务类型 根据库存状态及库区类型筛选 +export const getBalanceByBusinessTypeByItemType = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/balance/pageBusinessTypeToBalanceSenior', data }) + } else { + return await request.get({ url: `/wms/balance/pageBusinessTypeToBalance`, params }) + } +} \ No newline at end of file diff --git a/src/api/wms/deliverPlanDetail/index.ts b/src/api/wms/deliverPlanDetail/index.ts index 33aeffdb9..ea6887451 100644 --- a/src/api/wms/deliverPlanDetail/index.ts +++ b/src/api/wms/deliverPlanDetail/index.ts @@ -24,6 +24,17 @@ export const selectDetailByMasterID = async (id: number) => { // 查询发货计划子列表 export const getDeliverPlanDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/deliver-plan-detail/senior', data }) + } else { + return await request.get({ url: `/wms/deliver-plan-detail/page`, params }) + } +} + +// 查询发货计划子列表 +export const getDeliverPlanDetailPage1 = async (params) => { return await request.get({ url: `/wms/deliver-plan-detail/page`, params }) } diff --git a/src/api/wms/purchasereceiptRecordDetail/index.ts b/src/api/wms/purchasereceiptRecordDetail/index.ts index 352eeb112..41b7aa7b7 100644 --- a/src/api/wms/purchasereceiptRecordDetail/index.ts +++ b/src/api/wms/purchasereceiptRecordDetail/index.ts @@ -73,6 +73,17 @@ export const getPurchasereceiptRecordDetailPageSpare = async (params) => { } +// 查询采购收货记录--退货筛选列表 +export const getPurchasereceiptRecordDetailPageReturn = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/purchasereceipt-record-detail/seniorReturn', data }) + } else { + return await request.get({ url: `/wms/purchasereceipt-record-detail/pageReturn`, params }) + } +} + export const getPurchasereceiptRecordDetailPageSCP = async (params) => { if (params.isSearch) { delete params.isSearch @@ -152,4 +163,4 @@ export const queryPurchaseceiptChildPackingNumber = async (params) => { // 查询采购收货缺货记录子包装数据 export const queryPurchaseshortageChildPackingNumber = async (params) => { return await request.get({ url: `/wms/purchaseshortage-detail/pageChildPackingNumber`, params }) -} \ No newline at end of file +} diff --git a/src/components/TableForm/src/TableForm.vue b/src/components/TableForm/src/TableForm.vue index 2ac2fb922..61242caf5 100644 --- a/src/components/TableForm/src/TableForm.vue +++ b/src/components/TableForm/src/TableForm.vue @@ -534,7 +534,10 @@ defineExpose({ padding: 2px 0px; border: none; } - +::v-deep(.el-form-item--default) { + margin-bottom: 5px; + margin-top: 5px; +} ::v-deep(.el-table td.el-table__cell .el-form-item__content) { display: flex !important; align-items: center !important; diff --git a/src/components/rowDrop/index.vue b/src/components/rowDrop/index.vue index 15d0707a5..73363f566 100644 --- a/src/components/rowDrop/index.vue +++ b/src/components/rowDrop/index.vue @@ -82,9 +82,13 @@ const closeRowDrop = () => { const save = () => { let saveDate:any[] = [] // 默认列表第一列(弹出详情用) - saveDate.push(props.allSchemas.tableColumns[0]) + let myTableColumns = props.allSchemas.tableColumns + if(props.detailAllSchemas){ + myTableColumns = [...props.allSchemas?.tableColumns,...props.detailAllSchemas?.tableMainColumns] + } + saveDate.push(myTableColumns[0]) allData.value.forEach((item) => { - const _item:any = props.allSchemas.tableColumns.find(itemColumns => (itemColumns.label == item )) + const _item:any = myTableColumns.find(itemColumns => (itemColumns.label == item )) if(_item){ _item.isTable = false if (checkedDataList.value.indexOf(_item.label) > -1) { @@ -94,7 +98,7 @@ const save = () => { } }) // 默认操作列 - saveDate.push(props.allSchemas.tableColumns[props.allSchemas.tableColumns.length-1]) + saveDate.push(myTableColumns[myTableColumns.length-1]) updataTableColumns(saveDate) console.log(99, saveDate) RedisApi.addRedis({key: routeName.value,value: JSON.stringify(saveDate)}).then(() => { diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 27a6ee73a..c3ef09211 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -339,8 +339,13 @@ export enum DICT_TYPE { PURCHASE_INVOICE_ORDER_TYPE = 'purchase_invoice_order_type', // 发票采购订单类型 // ========== eam - 业务 - ========== - DEVICE_TYPE = 'device_type', // 设备类型 + DEVICE_TYPE = 'device_type', // 设备分类 IS_UPDATED = 'is_updated', //是否可修改 DATA_SCOPE = 'data_scope', // 数据范围 - ROLE_STATUS = 'role_status' // 角色状态 + ROLE_STATUS = 'role_status', // 角色状态 + DEVICE_CLASS = 'device_class', //设备类型 + DEVICE_STATUS = 'device_status', //设备状态 + SUBJECT = 'subject', //科目 + REGION = 'region', //区域 + PART_CLASS = 'part_class', //备件分类 } \ No newline at end of file diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts index e2cc243c6..73101cc39 100644 --- a/src/utils/disposition/defaultButtons.ts +++ b/src/utils/disposition/defaultButtons.ts @@ -932,6 +932,30 @@ export function mainCopyBtn(option:any) { hasPermi: '' }) } +// 主列表-部件 +export function componentBtn(option:any) { + return __defaultBtnOption(option,{ + label: '部件', + name: 'component', + hide: false, + type: 'primary', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }) +} +// 主列表-备件 +export function itemBtn(option:any) { + return __defaultBtnOption(option,{ + label: '备件', + name: 'item', + hide: false, + type: 'primary', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }) +} // 默认按钮规则 function __defaultBtnOption(option:any,specific:any){ return { diff --git a/src/views/eam/equipmentAccounts/equipmentAccounts.data.ts b/src/views/eam/equipmentAccounts/equipmentAccounts.data.ts new file mode 100644 index 000000000..ceb6d3314 --- /dev/null +++ b/src/views/eam/equipmentAccounts/equipmentAccounts.data.ts @@ -0,0 +1,393 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as WorkshopApi from '@/api/wms/workshop' +import { Workshop } from '@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data' +import { validateHanset, validateNum, validateNum100 } from '@/utils/validator' +import { EquipmentSupplier } from '@/views/eam/equipmentSupplier/equipmentSupplier.data' +import * as EquipmentSupplierApi from '@/api/eam/equipmentSupplier' +import { EquipmentManufacturer } from '@/views/eam/equipmentManufacturer/equipmentManufacturer.data' +import * as EquipmentManufacturerApi from '@/api/eam/equipmentManufacturer' +import * as ConfigApi from '@/api/infra/config' +const workshopNoPage = await WorkshopApi.getWorkshopNoPage({}) +const equipmentManufacturerNoPage = await EquipmentManufacturerApi.getEquipmentManufacturerNoPage({}) +const equipmentSupplierNoPage = await EquipmentSupplierApi.getEquipmentSupplierNoPage({}) +const autoCodeSwitch = await ConfigApi.getConfigKey('deviceCodeAutoSwitch') +const autoSwitch = ref(false) +if (autoCodeSwitch == 'TRUE') { + autoSwitch.value = true +} + +// 表单校验 +export const EquipmentAccountsRules = reactive({ + code: [required], + name: [required], + concurrencyStamp: [required], + principalTelephone: [ + { validator:validateHanset, message: '输入电话格式不正确', trigger: 'blur'} + ], + power: [ + { validator:validateNum, message: '输入功率格式不正确', trigger: 'blur'} + ], +}) + +export const EquipmentAccounts = useCrudSchemas(reactive([ + { + label: '设备编号', + field: 'code', + sort: 'custom', + isForm: !autoSwitch.value, + isSearch: true, + fixed: 'left' + }, + { + label: '名称', + field: 'name', + sort: 'custom', + isSearch: true + }, + { + label: '设备型号', + field: 'specification', + sort: 'custom', + isSearch: false + }, + { + label: '设备类型', + field: 'type', + sort: 'custom', + dictType: DICT_TYPE.DEVICE_CLASS, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '功率(kw)', + field: 'power', + sort: 'custom', + isSearch: false + }, + { + label: '产权', + field: 'equity', + sort: 'custom', + isSearch: false + }, + { + label: '电机', + field: 'electricMachine', + sort: 'custom', + isSearch: false + }, + { + label: '节拍', + field: 'beat', + 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: true, + dictType: DICT_TYPE.DEVICE_STATUS, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + form: { + component: 'Select' + } + }, + { + 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: true, + isDetail: false, + isForm: false, + isTable: true, + isTableForm: false, + search: { + component: 'Select', + componentProps: { + options: equipmentSupplierNoPage, + optionsAlias: { + labelField: 'name', + valueField: 'number' + }, + filterable: true, + } + }, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return equipmentSupplierNoPage.find((item) => item.number == cellValue)?.name + }, + }, + { + label: '供应商', + field: 'supplierName', + sort: 'custom', + isSearch: false, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择供应商', // 输入框占位文本 + searchField: 'number', // 查询弹窗赋值字段 + searchTitle: '供应商信息', // 查询弹窗标题 + searchAllSchemas: EquipmentSupplier.allSchemas, // 查询弹窗所需类 + searchPage: EquipmentSupplierApi.getEquipmentSupplierPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: 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: false + }, + { + label: '采购人', + field: 'purchaser', + sort: 'custom', + isSearch: false + }, + { + 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: true, + isDetail: false, + isForm: false, + isTable: true, + isTableForm: false, + search: { + component: 'Select', + componentProps: { + options: equipmentManufacturerNoPage, + optionsAlias: { + labelField: 'name', + valueField: 'number' + } + } + }, + formatter: (_: Recordable, __: TableColumn, cellValue: number) => { + return equipmentManufacturerNoPage.find((item) => item.number == cellValue)?.name + }, + }, + { + label: '生产厂商', + field: 'manufactureName', + sort: 'custom', + isSearch: false, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择厂商', // 输入框占位文本 + searchField: 'number', // 查询弹窗赋值字段 + searchTitle: '生产厂商', // 查询弹窗标题 + searchAllSchemas: EquipmentManufacturer.allSchemas, // 查询弹窗所需类 + searchPage: EquipmentManufacturerApi.getEquipmentManufacturerPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: 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: 'workshopCode', + sort: 'custom', + isSearch: true, + isDetail: false, + isForm: false, + isTable: true, + isTableForm: false, + search: { + component: 'Select', + componentProps: { + options: workshopNoPage, + optionsAlias: { + labelField: 'name', + valueField: 'code' + }, + filterable: true, + } + }, + formatter: (_: Recordable, __: TableColumn, cellValue: string) => { + return workshopNoPage.find((item) => item.code == cellValue)?.name + }, + }, + { + label: '车间编号', + field: 'workshopName', + sort: 'custom', + isTable: false, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择车间代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '车间信息', // 查询弹窗标题 + searchAllSchemas: Workshop.allSchemas, // 查询弹窗所需类 + searchPage: WorkshopApi.getWorkshopPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }] + } + }, + }, + { + label: '工段编号', + field: 'workshopSectionCode', + sort: 'custom', + isSearch: false + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/equipmentAccounts/index.vue b/src/views/eam/equipmentAccounts/index.vue new file mode 100644 index 000000000..a85b33ce1 --- /dev/null +++ b/src/views/eam/equipmentAccounts/index.vue @@ -0,0 +1,293 @@ + + + diff --git a/src/views/eam/relationMainPart/index.vue b/src/views/eam/relationMainPart/index.vue new file mode 100644 index 000000000..f781d723f --- /dev/null +++ b/src/views/eam/relationMainPart/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/eam/relationMainPart/relationMainPart.data.ts b/src/views/eam/relationMainPart/relationMainPart.data.ts new file mode 100644 index 000000000..b1d1ae513 --- /dev/null +++ b/src/views/eam/relationMainPart/relationMainPart.data.ts @@ -0,0 +1,122 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + + +// 表单校验 +export const RelationMainPartRules = reactive({ + mainPartCode: [required], + equipmentCode: [required], + type: [required], + concurrencyStamp: [required] +}) + +export const RelationMainPart = useCrudSchemas(reactive([ + { + label: '主要零件编号', + field: 'mainPartCode', + sort: 'custom', + isSearch: true + }, + { + label: '编码', + field: 'equipmentCode', + sort: 'custom', + isSearch: true + }, + { + label: '类别', + field: 'type', + sort: 'custom', + isSearch: true, + form: { + component: 'SelectV2' + } + }, + { + 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: 'departmentCode', + sort: 'custom', + isSearch: true + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true + }, + { + label: '地点', + field: 'siteId', + sort: 'custom', + isSearch: true + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + isSearch: true + }, + { + label: '删除时间', + field: 'deletionTime', + 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: 'deleterId', + sort: 'custom', + isSearch: true + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + 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/sparePart/index.vue b/src/views/eam/sparePart/index.vue new file mode 100644 index 000000000..3471dd480 --- /dev/null +++ b/src/views/eam/sparePart/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/eam/sparePart/sparePart.data.ts b/src/views/eam/sparePart/sparePart.data.ts new file mode 100644 index 000000000..cd8e20602 --- /dev/null +++ b/src/views/eam/sparePart/sparePart.data.ts @@ -0,0 +1,264 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as ConfigApi from '@/api/infra/config' +const autoCodeSwitch = await ConfigApi.getConfigKey('sparePartCodeAutoSwitch') +const autoSwitch = ref(false) +if (autoCodeSwitch == 'TRUE') { + autoSwitch.value = true +} + +// 表单校验 +export const SparePartRules = reactive({ + code: [required], + name: [required], + isOverall: [required], + uom: [required], + concurrencyStamp: [required] +}) + +export const SparePart = useCrudSchemas(reactive([ + { + label: '备件编号', + field: 'code', + sort: 'custom', + isForm: !autoSwitch.value, + isSearch: true, + fixed: 'left' + }, + { + label: '名称', + field: 'name', + sort: 'custom', + isSearch: true + }, + { + label: '品牌', + field: 'brand', + sort: 'custom', + isSearch: false + }, + { + label: '规格型号', + field: 'specifications', + sort: 'custom', + isSearch: false + }, + { + label: '是否全局', + field: 'isOverall', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '是否存储', + field: 'isConstant', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '科目', + field: 'subject', + sort: 'custom', + dictType: DICT_TYPE.SUBJECT, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '科目代码', + field: 'subjectCode', + sort: 'custom', + isSearch: false + }, + { + label: '类别', + field: 'category', + sort: 'custom', + isSearch: false + }, + { + label: '区域', + field: 'region', + sort: 'custom', + dictType: DICT_TYPE.REGION, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: false, + form: { + component: 'Select' + } + }, + { + label: '备件分类', + field: 'classification', + sort: 'custom', + dictType: DICT_TYPE.PART_CLASS, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Select' + } + }, + { + label: '单位', + field: 'uom', + sort: 'custom', + isSearch: false + }, + { + label: '单价', + field: 'singlePrice', + sort: 'custom', + isSearch: false + }, + { + label: '库龄', + field: 'stockAge', + sort: 'custom', + isSearch: false, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '重采购点', + field: 'reprocurement', + sort: 'custom', + isSearch: false, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '安全库存', + field: 'safetyStock', + sort: 'custom', + isSearch: false, + form: { + component: 'InputNumber', + value: 0 + } + }, + { + label: '成本中心', + field: 'cost', + sort: 'custom', + isSearch: false + }, + { + label: '采购员', + field: 'purchaser', + sort: 'custom', + isSearch: false + }, + { + label: '财务', + field: 'financer', + 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: 'isFramework', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '是否以旧换新', + field: 'isRadeIn', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isSearch: true, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isTable: true, + isDetail: false, + isForm: false, + isSearch: false, + isTableForm: false, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/qms/inspectionRecord/index.vue b/src/views/qms/inspectionRecord/index.vue index 6c5d8dd2a..daf0f6ec9 100644 --- a/src/views/qms/inspectionRecord/index.vue +++ b/src/views/qms/inspectionRecord/index.vue @@ -73,10 +73,20 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' const routeName = ref() routeName.value = route.name const tableColumns = ref(InspectionRecordMain.allSchemas.tableColumns) - + if(routeName.value=='InspectRecordMain'){ + tableColumns.value = tableColumns.value.filter(item=>{ + return item.label!='操作' + }) + } // 字段设置 更新主列表字段 const updataTableColumns = (val) => { - tableColumns.value = val + if(routeName.value=='InspectRecordMain'){ + tableColumns.value = val.filter(item=>{ + return item.label!='操作' + }) + }else{ + tableColumns.value = val + } } diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/relegateRecordMain.data.ts b/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/relegateRecordMain.data.ts index 87dc8e0dd..8dd1b54a5 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/relegateRecordMain.data.ts +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRecord/relegateRecordMain.data.ts @@ -46,6 +46,9 @@ export const RelegateRecordMain = useCrudSchemas(reactive([ valueFormat: 'x' } }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, table: { width: 200 }, @@ -84,6 +87,9 @@ export const RelegateRecordMain = useCrudSchemas(reactive([ table: { width: 200 }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, }, { label: '部门', diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue index 01d63794e..5a6e71b0a 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue @@ -351,15 +351,6 @@ const flag = ref(false) // form表单提交 const submitForm = async (formType, data) => { data.subList = tableData.value // 拼接子表数据参数 - let isExist = false - tableData.value.forEach(item => { - let rs = tableData.value.filter(filterItem => (filterItem.itemCode == item.itemCode)) - if (rs.length > 1) isExist = true - }) - if (isExist) { - basicFormRef.value.formLoading = false - return message.warning('物料代码重复') - } data.subList.forEach(obj => { if (obj.qty == 0) { message.warning(`数量不能为0!`) diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts index 68e2075c0..8c6bda653 100644 --- a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts +++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts @@ -100,6 +100,9 @@ export const RelegateRequestMain = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, isForm: false, isTable: false }, @@ -130,21 +133,8 @@ export const RelegateRequestMain = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, - isForm: false, - isTable: false - }, - { - label: '截止时间', - field: 'dueTime', - sort: 'custom', - formatter: dateFormatter, - 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')] - } + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' }, isForm: false, isTable: false @@ -153,7 +143,9 @@ export const RelegateRequestMain = useCrudSchemas(reactive([ label: '部门', field: 'departmentCode', sort: 'custom', - isForm: false, + isForm:false, + isTableForm: false, + isTable:false, }, { label: '状态', @@ -257,21 +249,24 @@ export const RelegateRequestMain = useCrudSchemas(reactive([ field: 'concurrencyStamp', sort: 'custom', isForm: false, - isTable: false + isTable: false, + isDetail:false }, { label: '权限所属人员id', field: 'ruleUserId', sort: 'custom', isForm: false, - isTable: false + isTable: false, + isDetail:false }, { label: '工作流流水号', field: 'serialNumber', sort: 'custom', isForm: false, - isTable: false + isTable: false, + isDetail:false }, { label: '原因', @@ -285,7 +280,8 @@ export const RelegateRequestMain = useCrudSchemas(reactive([ table: { width: 200, fixed: 'right' - } + }, + isDetail:false } ])) @@ -311,7 +307,7 @@ export const RelegateRequestDetail = useCrudSchemas(reactive([ searchField: 'itemCode', searchTitle: '库存余额信息', searchAllSchemas: Balance.allSchemas, - searchPage: BalanceApi.getBalancePageByBusinessTypeByItemType, + searchPage: BalanceApi.getBalanceByBusinessTypeByItemType, searchCondition: [] } }, @@ -321,7 +317,7 @@ export const RelegateRequestDetail = useCrudSchemas(reactive([ searchField: 'itemCode', // 查询弹窗赋值字段 searchTitle: '库存余额信息', // 查询弹窗标题 searchAllSchemas: Balance.allSchemas, // 查询弹窗所需类 - searchPage: BalanceApi.getBalancePageByBusinessTypeByItemType, // 查询弹窗所需分页方法 + searchPage: BalanceApi.getBalanceByBusinessTypeByItemType, // 查询弹窗所需分页方法 searchCondition:[ { key: 'available', @@ -596,14 +592,6 @@ export const RelegateRequestDetail = useCrudSchemas(reactive([ isTableForm: false, isTable:false, }, - { - label: '扩展属性', - field: 'extraProperties', - sort: 'custom', - isForm:false, - isTableForm: false, - isTable:false, - }, { label: '创建时间', field: 'createTime', @@ -617,6 +605,9 @@ export const RelegateRequestDetail = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, isForm:false, isTableForm: false, isTable:false, diff --git a/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts b/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts index 8c3e40df6..caacdf50e 100644 --- a/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts +++ b/src/views/wms/deliversettlementManage/customerreturn/customerreturnRequestMain/customerreturnRequestMain.data.ts @@ -19,6 +19,8 @@ import { Carrier } from '@/views/wms/basicDataManage/orderManage/carrier/carrier import * as BalanceApi from '@/api/wms/balance' import { Balance } from '@/views/wms/inventoryManage/balance/balance.data' +import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data' +import * as ItemPackageApi from '@/api/wms/itempackage/index' import * as CustomerreturnRequestApi from '@/api/wms/customerreturnRequestMain' @@ -884,22 +886,22 @@ export const CustomerreturnRequestDetail = useCrudSchemas(reactive } } }, - // { - // label: '到库位代码', - // field: 'toLocationCode', - // sort: 'custom', - // table: { - // width: 150 - // }, - // tableForm: { - // disabled: true - // }, - // form: { - // componentProps: { - // disabled: true - // } - // } - // }, + { + label: '到库位代码', + field: 'toLocationCode', + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + disabled: true + }, + form: { + componentProps: { + disabled: true + } + } + }, { label: '库存状态', field: 'inventoryStatus', @@ -1187,7 +1189,6 @@ export const CustomerReturnRequestDetailLabel = useCrudSchemas(reactive { // 列表-操作按钮 const butttondata = [ - // { - // label: '标签信息', - // name: 'bqxx', - // hide: false, - // type: 'primary', - // icon: '', - // color: '', - // link: true, - // float:'right', - // hasPermi: '' - // }, + { + label: '标签信息', + name: 'bqxx', + hide: false, + type: 'primary', + icon: '', + color: '', + link: true, + float:'right', + hasPermi: '' + }, defaultButtons.mainListPointBtn(null), // 标签打印 // defaultButtons.mainListEditBtn({hasPermi:'wms:balance:update'}), // 编辑 // defaultButtons.mainListDeleteBtn({hasPermi:'wms:balance:delete'}), // 删除 diff --git a/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts b/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts index f29e5788f..eee4eb48f 100644 --- a/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts +++ b/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/containerRecordMain.data.ts @@ -274,6 +274,7 @@ export const ContainerRecordDetail = useCrudSchemas(reactive([ isForm: false, hiddenInMain:true, isTableForm: false, + isTable: false, table: { width: 150, fixed: 'right' diff --git a/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/index.vue b/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/index.vue index 1c422db7b..7e04d9d9d 100644 --- a/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/index.vue +++ b/src/views/wms/inventoryjobManage/containermanage/containerRecordMain/index.vue @@ -58,6 +58,9 @@ :detailAllSchemas="ContainerRecordDetail.allSchemas" :detailAllSchemasRules="ContainerRecordDetailRules" :apiPage="ContainerRecordDetailApi.getContainerRecordDetailPage" + :detailButtonIsShowAdd="false" + :detailButtonIsShowDelete="false" + :detailButtonIsShowUpdate="false" /> @@ -137,7 +140,7 @@ const { getList, setSearchParams } = tableMethods // 列表头部按钮 const HeadButttondata = [ - defaultButtons.defaultAddBtn({hasPermi:'wms:container-record-detail:create'}), // 新增 + // defaultButtons.defaultAddBtn({hasPermi:'wms:container-record-detail:create'}), // 新增 defaultButtons.defaultExportBtn({hasPermi:'wms:container-record-detail:export'}), // 导出 defaultButtons.defaultFreshBtn(null), // 刷新 defaultButtons.defaultFilterBtn(null), // 筛选 diff --git a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue index f51f37065..7986b0870 100644 --- a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue +++ b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/index.vue @@ -464,10 +464,14 @@ const handleAgree = async (id: number) => { const handleHandle = async (id: number) => { await message.confirm(t('common.confirmHandle')) tableObject.loading = true - await UnplannedreceiptRequestMainApi.handleUnplannedreceiptRequestMain(id) - message.success(t('common.handleSuccess')) - tableObject.loading = false - await getList() + try { + await UnplannedreceiptRequestMainApi.handleUnplannedreceiptRequestMain(id) + message.success(t('common.handleSuccess')) + await getList() + + } finally { + tableObject.loading = false + } } /** 添加/修改操作 */ diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue index e2920d06c..346df66f0 100644 --- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/index.vue @@ -269,8 +269,11 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row) => item.packingNumber = item.fromPackingNumber item.containerNumber = item.toContainerNumber item.receiptQty = item.qty + item.packUnit = item.packUnit + item.packQty = item.packQty item.toLocationGroupCode = null item.toWarehouseCode = null + item.fromLocationCode = null item.toAreaTypes = null item.toLocationCode = null // item.fromLocationCode = item.fromLocationCode @@ -337,7 +340,7 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef) => { setV['supplierUom'] = val[0]['supplierUom'] setV['inventoryStatus'] = val[0]['inventoryStatus'] // setV['fromLocationCode'] = val[0]['toLocationCode'] - setV['toLocationCode'] = val[0]['toLocationCode'] + // setV['toLocationCode'] = val[0]['toLocationCode'] setV['fromLocationGroupCode'] = val[0]['locationGroupCode'] setV['toLocationGroupCode'] = null setV['toWarehouseCode'] = null @@ -363,7 +366,7 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef) => { setV['containerNumber'] = val[0]['containerNumber'] setV['containerNumber'] = val[0]['containerNumber'] // setV['fromLocationCode'] = val[0]['fromLocationCode'] - setV['toLocationCode'] = val[0]['toLocationCode'] + // setV['toLocationCode'] = val[0]['toLocationCode'] } }else { setV[formField] = val[0][searchField] diff --git a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts index daf309ff7..222fae2d7 100644 --- a/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchasereturn/purchasereturnRequestMain/purchasereturnRequestMain.data.ts @@ -96,14 +96,6 @@ const PurchasereceiptRecordMain1 = useCrudSchemas(reactive([ width: 150 }, }, - { - label: '数量', - field: 'qty', - sort: 'custom', - table: { - width: 150 - }, - }, { label: '计量单位', field: 'uom', @@ -115,14 +107,6 @@ const PurchasereceiptRecordMain1 = useCrudSchemas(reactive([ width: 150 }, }, - { - label: '包装号', // 实际是子表的从包装号,为了不影响页面,单独放上面 - field: 'fromPackingNumber', - sort: 'custom', - table: { - width: 150 - }, - }, { label: '包装规格', field: 'packUnit', @@ -133,21 +117,6 @@ const PurchasereceiptRecordMain1 = useCrudSchemas(reactive([ width: 150 }, }, - { - label: '包装数量', - field: 'packQty', - sort: 'custom', - table: { - width: 150 - }, - form: { - component: 'InputNumber', - }, - tableForm: { - disabled: true, - }, - isForm:false, - }, { label: '从库位代码', field: 'fromLocationCode', @@ -241,7 +210,7 @@ export const PurchasereturnRequestMain = useCrudSchemas(reactive([ searchField: 'number', // 查询弹窗赋值字段 searchTitle: '采购收货记录', // 查询弹窗标题 searchAllSchemas: PurchasereceiptRecordMain1.allSchemas, // 查询弹窗所需类 - searchPage: PurchasereceiptRecordDetailApi.getPurchasereceiptRecordDetailPage, // 查询弹窗所需分页方法 + searchPage: PurchasereceiptRecordDetailApi.getPurchasereceiptRecordDetailPageReturn, // 查询弹窗所需分页方法 searchCondition: [ { key: 'supplierCode', @@ -608,6 +577,9 @@ export const PurchasereturnRequestMainRules = reactive({ supplierCode: [ { required: true, message: '请输入供应商代码', trigger: 'blur' } ], + dueTime: [ + { required: true, message: '请选择截止时间', trigger: 'blur' } + ], purchaseReceiptRecordNumber: [ { required: true, message: '请输入采购收货记录单号', trigger: 'blur' } ], @@ -674,7 +646,7 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive width: 150 }, tableForm:{ - isInpuFocusShow: true, // 开启查询弹窗 + isInpuFocusShow: false, // 开启查询弹窗 searchListPlaceholder: '请选择订单行', searchField: 'poLine', searchTitle: '采购收货记录信息', @@ -690,7 +662,7 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive form: { // labelMessage: '信息提示说明!!!', componentProps: { - isSearchList: true, + isSearchList: false, searchListPlaceholder: '请选择订单行', searchField: 'poLine', searchTitle: '采购收货记录信息', @@ -796,33 +768,7 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive } } }, - // { - // label: '从批次', - // field: 'fromBatch', - // sort: 'custom', - // table: { - // width: 150 - // }, - // tableForm:{ - // disabled:true - // } - // }, - { - label: '批次', - field: 'batch', - sort: 'custom', - table: { - width: 150 - }, - tableForm:{ - disabled:true - }, - form: { - componentProps:{ - disabled:true - } - } - }, + { label: '替代批次', field: 'altBatch', @@ -880,6 +826,27 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive } } }, + { + label: '计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm:{ + disabled:true, + type: 'Select', + }, + form: { + componentProps:{ + disabled:true + } + } + }, { label: '收货数量', field: 'receiptQty', @@ -895,6 +862,8 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive disabled:true } }, + isTable:false, + isTableForm:false, tableForm:{ disabled:true, type:'InputNumber', @@ -948,27 +917,7 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive precision: 6 } }, - { - label: '计量单位', - field: 'uom', - dictType: DICT_TYPE.UOM, - dictClass: 'string', - isSearch: true, - isTable: true, - sort: 'custom', - table: { - width: 150 - }, - tableForm:{ - disabled:true, - type: 'Select', - }, - form: { - componentProps:{ - disabled:true - } - } - }, + { label: '库存状态', field: 'inventoryStatus', @@ -1168,7 +1117,6 @@ export const PurchasereturnRequestDetail = useCrudSchemas(reactive } }, }, - { label: '项目代码', field: 'projectCode', @@ -1394,7 +1342,7 @@ export const PurchasereReturnRequestDetailLabel = useCrudSchemas(reactive