diff --git a/src/api/wms/location/index.ts b/src/api/wms/location/index.ts index 9e55c6806..9060039d4 100644 --- a/src/api/wms/location/index.ts +++ b/src/api/wms/location/index.ts @@ -199,3 +199,8 @@ export const getLocationListByBusinesstype = async (params) => { } +// 根据库区类型获取库位列表 +export const getLocationListByAreaType = async (params) => { + return await request.get({ url: `/wms/location/getLocationListByAreaType`, params }) +} + diff --git a/src/api/wms/supplyLabel/index.ts b/src/api/wms/supplyLabel/index.ts new file mode 100644 index 000000000..8cc8c4ed4 --- /dev/null +++ b/src/api/wms/supplyLabel/index.ts @@ -0,0 +1,49 @@ +import request from '@/config/axios' + +export interface SupplyLabelVO { + id: number + itemCode: string + locationCode: string + uom: string +} + +// 查询补给品标签列表 +export const getSupplyLabelPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/supply-label/senior', data }) + } else { + return await request.get({ url: `/wms/supply-label/page`, params }) + } +} + +// 查询补给品标签详情 +export const getSupplyLabel = async (id: number) => { + return await request.get({ url: `/wms/supply-label/get?id=` + id }) +} + +// 新增补给品标签 +export const createSupplyLabel = async (data: SupplyLabelVO) => { + return await request.post({ url: `/wms/supply-label/create`, data }) +} + +// 修改补给品标签 +export const updateSupplyLabel = async (data: SupplyLabelVO) => { + return await request.put({ url: `/wms/supply-label/update`, data }) +} + +// 删除补给品标签 +export const deleteSupplyLabel = async (id: number) => { + return await request.delete({ url: `/wms/supply-label/delete?id=` + id }) +} + +// 导出补给品标签 Excel +export const exportSupplyLabel = async (params) => { + return await request.download({ url: `/wms/supply-label/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/supply-label/get-import-template' }) +} \ No newline at end of file diff --git a/src/views/wms/basicDataManage/labelManage/supplyLabel/index.vue b/src/views/wms/basicDataManage/labelManage/supplyLabel/index.vue new file mode 100644 index 000000000..59c5caa1f --- /dev/null +++ b/src/views/wms/basicDataManage/labelManage/supplyLabel/index.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/wms/basicDataManage/labelManage/supplyLabel/supplyLabel.data.ts b/src/views/wms/basicDataManage/labelManage/supplyLabel/supplyLabel.data.ts new file mode 100644 index 000000000..b07b6b141 --- /dev/null +++ b/src/views/wms/basicDataManage/labelManage/supplyLabel/supplyLabel.data.ts @@ -0,0 +1,245 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import * as ItembasicApi from '@/api/wms/itembasic' +import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' +import * as ItempackagingApi from '@/api/wms/itempackage' +import { Itempackaging } from '@/views/wms/basicDataManage/itemManage/itempackage/itempackage.data' +import * as LocationApi from '@/api/wms/location' +import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data' + + +import * as WarehouseApi from '@/api/wms/warehouse' +import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data' + +import * as WorkshopApi from '@/api/wms/workshop' +import { Workshop } from '@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data' + +import * as ProductionlineApi from '@/api/wms/productionline' +import { Productionline } from '@/views/wms/basicDataManage/factoryModeling/productionline/productionline.data' + +import * as WorkStationApi from '@/api/wms/workstation' +import { Workstation } from '@/views/wms/basicDataManage/factoryModeling/workstation/workstation.data' + +import * as confgiApi from '@/api/infra/config' + + +// 表单校验 +export const SupplyLabelRules = reactive({ + itemCode: [required], + locationCode: [required], +}) + +export const SupplyLabel = useCrudSchemas(reactive([ + { + label: '品番', + field: 'itemCode', + sort: 'custom', + table: { + width: 150, + fixed: 'left' + }, + isSearch: true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择品番', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '物料信息', // 查询弹窗标题 + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 + searchCondition: [{ + key: 'available', + value: 'TRUE', + isMainValue: false + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: true, + isFormModel: true, + }], // 失去焦点校验参数 + } + } + }, + { + label: '背番', + field: 'backNumber', + sort: 'custom', + isSearch: true, + isForm:true, + hiddenSearchHigh:true, + sortTableDefault:1, + table: { + width: 150 + }, + form:{ + componentProps:{ + disabled: true, + } + } + }, + { + label: '计量单位', // 发料申请 与当前物料计量单位做匹配 : 原PACK_UNIT 修改:UOM + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + disabled: true, + type: 'Select' + }, + form: { + componentProps: { + disabled: true + } + } + }, + { + label: '货架号', + field: 'itemGroup', + sort: 'custom', + table: { + width: 100 + } , + form: { + componentProps: { + disabled: true + } + }, + }, + { + label: '库位', + field: 'location', + sort: 'custom', + table: { + width: 150 + }, + isForm:true, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择库位代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '库位信息', // 查询弹窗标题 + searchAllSchemas: Location.allSchemas, // 查询弹窗所需类 + searchPage: LocationApi.getLocationListByAreaType, // 查询弹窗所需分页方法 + searchCondition: [{ + key:'areaType', + value:'BS', + isMainValue: false + },{ + key: 'available', + value: 'TRUE', + isMainValue: false + }, + ] + } + }, + isSearch: true + }, + // { + // label: '是否可用', + // field: 'available', + // sort: 'custom', + // isSearch:true, + // isForm: false, + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + // search: { + // value: 'TRUE', + // }, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // }, + // table: { + // width: 110 + // } + // }, + { + label: '创建时间', + field: 'createTime', + isForm: false, + table: { + width: 180 + }, + formatter: dateFormatter, + detail: { + dateFormat : 'YYYY-MM-DD HH:mm:ss' + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + } + }, + { + label: '创建者', + field: 'creator', + table: { + width: 130 + }, + isForm: false, + isTable: true + }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + isDetail: true, + isForm: false, + isTable: true, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + } + }, + { + label: '最后更新者', + field: 'updater', + isDetail: true, + isForm: false, + isTable: true, + table: { + width: 150 + } + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 180, + fixed: 'right' + } + } + ]))