From 39c48c61ac05c3585e1a028c40e5861d988a0e68 Mon Sep 17 00:00:00 2001 From: songguoqiang Date: Wed, 25 Jun 2025 16:32:37 +0800 Subject: [PATCH] =?UTF-8?q?YT-2806:=E3=80=90=E7=9B=98=E7=82=B9=E5=AF=B9?= =?UTF-8?q?=E6=AF=94=E3=80=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wms/countCompare/index.ts | 31 + src/api/wms/countCompareDetail/index.ts | 64 ++ .../count/countCompare/countCompare.data.ts | 956 ++++++++++++++++++ .../countManage/count/countCompare/index.vue | 261 +++++ .../countCompareDetail.data.ts | 242 +++++ .../count/countCompareDetail/index.vue | 265 +++++ .../count/countConfig/countConfig.data.ts | 3 +- .../countManage/count/countConfig/index.vue | 138 ++- 8 files changed, 1906 insertions(+), 54 deletions(-) create mode 100644 src/api/wms/countCompare/index.ts create mode 100644 src/api/wms/countCompareDetail/index.ts create mode 100644 src/views/wms/countManage/count/countCompare/countCompare.data.ts create mode 100644 src/views/wms/countManage/count/countCompare/index.vue create mode 100644 src/views/wms/countManage/count/countCompareDetail/countCompareDetail.data.ts create mode 100644 src/views/wms/countManage/count/countCompareDetail/index.vue diff --git a/src/api/wms/countCompare/index.ts b/src/api/wms/countCompare/index.ts new file mode 100644 index 000000000..9f74f6e11 --- /dev/null +++ b/src/api/wms/countCompare/index.ts @@ -0,0 +1,31 @@ +import request from '@/config/axios' + + +export const getCountComparePlanPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/count-compare/senior', data }) + } else { + return await request.get({ url: `/wms/count-compare/planPage`, params }) + } +} + +export const getCountComparePage = async (params) => { + return await request.get({ url: `/wms/count-compare/comparePage`, params }) +} + +// 导出盘点对比主 Excel +export const exportCountComparePlan = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return request.downloadPost({ url: '/wms/count-compare/export-excel-senior', data }) + } else { + return await request.download({ url: `/wms/count-compare/export-excel`, params }) + } +} + +export const exportCountCompareDetail = async (params) => { + return await request.download({ url: `/wms/count-compare/export-compare-excel`, params }) +} diff --git a/src/api/wms/countCompareDetail/index.ts b/src/api/wms/countCompareDetail/index.ts new file mode 100644 index 000000000..c1953729e --- /dev/null +++ b/src/api/wms/countCompareDetail/index.ts @@ -0,0 +1,64 @@ +import request from '@/config/axios' + +export interface CountCompareDetailVO { + planNumber: string + batch: string + inventoryStatus: string + itemCode: string + itemName: string + locationCode: string + packingNumber: string + initalQty: number + initalDiffQty: number + reQty: number + reQiffQty: number + auditQty: number + auditDiffQty: number + qty: number + countQty: number + remark: string + inventoryTypes:string + stocktakingMode:string + planCountRemark:string + type:string} + +// 查询采购订单主列表 +export const getDetailPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/wms/count-compare-detail/senior', data }) + } else { + return await request.get({ url: `/wms/count-compare-detail/page`, params }) + } +} + +// 查询采购订单主详情 +export const getDetail = async (id: number) => { + return await request.get({ url: `/wms/count-compare-detail/get?id=` + id }) +} + +// 新增采购订单主 +export const createDetail = async (data: CountCompareDetailVO) => { + return await request.post({ url: `/wms/count-compare-detail/create`, data }) +} + +// 修改采购订单主 +export const updateDetail = async (data: CountCompareDetailVO) => { + return await request.put({ url: `/wms/count-compare-detail/update`, data }) +} + +// 删除采购订单主 +export const deleteDetail = async (id: number) => { + return await request.delete({ url: `/wms/count-compare-detail/delete?id=` + id }) +} + +// 导出采购订单主 Excel +export const exportDetail = async (params) => { + return await request.download({ url: `/wms/count-compare-detail/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/wms/count-compare-detail/get-import-template' }) +} diff --git a/src/views/wms/countManage/count/countCompare/countCompare.data.ts b/src/views/wms/countManage/count/countCompare/countCompare.data.ts new file mode 100644 index 000000000..eafa6051d --- /dev/null +++ b/src/views/wms/countManage/count/countCompare/countCompare.data.ts @@ -0,0 +1,956 @@ +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 * as LocationApi from '@/api/wms/location' +import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data' + +import * as getPlansettingApi from '@/api/wms/plansetting/index' + +// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值 +const queryParams = { + pageSize:10, + pageNo:1, + code:'CountPlan' +} +const data = await getPlansettingApi.getPlansettingPage(queryParams) +const plansettingData =data?.list[0]||{} + +export const CountCompareMain = useCrudSchemas(reactive([ + { + label: '状态', + field: 'status', + dictType: DICT_TYPE.PLAN_STATUS, + dictClass: 'string', + isSearch: false, + isForm: false, + isTable: false, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '',//执行周期 + field: 'crontab', + sort: 'custom', + table: { + width: 150 + }, + isDetail:false, + isTable:false, + form:{ + componentProps:{ + disabled:true + } + } + }, + { + label: '冻结盘点', + field: 'isFreeze', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: false, + form: { + component: 'Switch', + value: 'FALSE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '盘点空库位', + field: 'isCountEmptyLocation', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: false, + form: { + component: 'Switch', + value: 'FALSE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '盘点零库存', + field: 'isCountZeroInventory', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: false, + form: { + component: 'Switch', + value: 'FALSE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '盘点负库存', + field: 'isCountNegativeInventory', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: false, + form: { + component: 'Switch', + value: 'FALSE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 150 + }, + }, + + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + table: { + width: 150 + }, + isTable:false, + isForm: false, + form: { + value: 'Count', + componentProps: { + disabled: true + } + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + isTable: false + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + isTable:false, + isForm: false, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isTable:false, + isForm: false, + 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')] + }, + }, + }, + { + label: '开始时间', + field: 'beginTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + isTable: false, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '结束时间', + field: 'endTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + isTable: false, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '是否可用', + field: 'available', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isSearch: false, + isTable: false, + isForm: false, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + }, + { + label: '自动提交', + field: 'autoCommit', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: false, + isForm: false, + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Switch', + value: plansettingData.autoCommit, + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE', + disabled: true + } + } + }, + { + label: '自动通过', + field: 'autoAgree', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: false, + isForm: false, + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Switch', + value: plansettingData.autoAgree, + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE', + disabled: true + } + } + }, + { + label: '自动执行', + field: 'autoExecute', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: false, + isForm: false, + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'Switch', + value: plansettingData.autoExecute, + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE', + disabled: true + } + } + }, + { + label: '最后更新时间', + field: 'updateTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isForm: false, + isTable: false, + }, + { + label: '最后更新者', + field: 'updater', + sort: 'custom', + table: { + width: 150 + }, + isTable:false, + isForm: false, + },{ + label: '物料忽略名单', + field: 'ignoreListOfItem', + sort: 'custom', + table: { + width: 150 + }, + isForm:false, + isTable: false, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + multiple:true,//是否可以多选 + searchListPlaceholder: '请选择物料忽略名单', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '物料信息', // 查询弹窗标题 + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchPage: ItembasicApi.getItembasicPage // 查询弹窗所需分页方法 + } + } + }, + { + label: '库位忽略名单', + field: 'ignoreListOfLocation', + sort: 'custom', + table: { + width: 150 + }, + isForm: false, + isTable: false, + form: { + componentProps: { + isSearchList: true, // 开启查询弹窗 + multiple:true,//是否可以多选 + searchListPlaceholder: '请选择库位忽略名单', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '库位信息', // 查询弹窗标题 + searchAllSchemas: Location.allSchemas, // 查询弹窗所需类 + searchPage: LocationApi.getLocationPage // 查询弹窗所需分页方法 + + } + } + }, + { + label: '快照盘点', + field: 'isSnapshot', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: false, + isForm:false, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '计划单号', + field: 'planNumber', + sort: 'custom', + isSearch: true, + // table: { + // width: 150 + // }, + }, + // { + // label: '盘点类型', + // field: 'type', + // dictType: DICT_TYPE.COUNT_TYPE, + // dictClass: 'string', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // value:'MANUAL', + // }, + // isSearch: true + // }, + { + label: '任务拆分方式', + field: 'countSplitType', + dictType: DICT_TYPE.COUNT_SPLIT_TYPE, + dictClass: 'string', + sort: 'custom', + // table: { + // width: 150 + // }, + isTable:true, + isForm: true, + form: { + value: 'locationCode' + } + + }, + { + label: '阶段', + field: 'stage', + dictType: DICT_TYPE.COUNT_STAGE, + dictClass: 'string', + isSearch: true, + isTable: true, + sort: 'custom', + // table: { + // width: 150 + // }, + }, + { + label: '申请时间', + field: 'requestTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + // table: { + // width: 180 + // }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '截止时间', + field: 'dueTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + // table: { + // width: 180 + // }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '部门', + field: 'departmentCode', + sort: 'custom', + // table: { + // width: 150 + // }, + }, + { + label: '明盘', + field: 'isOpenCount', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: true, + form: { + component: 'Switch', + value: 'FALSE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } + }, + sort: 'custom', + // table: { + // width: 150 + // }, + }, + { + label: '维度', + field: 'dimension', + dictType: DICT_TYPE.COUNT_DIMENSION, + dictClass: 'string', + isTable: true, + sort: 'custom', + // table: { + // width: 150 + // }, + form: { + value: 'BY_INEVNEOTY' + } + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + table: { + width: 180, + fixed: 'right' + }, + } +])) + +/** + * @returns {Array} 盘点记录子表 + */ +/*export const CountCompareDetail = useCrudSchemas(reactive([ + { + label: '库位代码', + field: 'locationCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '盘点数量', + field: 'countQty', + sort: 'custom', + table: { + width: 150 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '计量单位', + field: 'uom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物料描述', + field: 'itemDesc1', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '物料描述2', + field: 'itemDesc2', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '盘点明细号', + field: 'countDetailNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '单据号', + field: 'number', + sort: 'custom', + table: { + width: 180 + }, + }, + { + label: '盘点时间', + field: 'countTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '盘点人', + field: 'countUser', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '库位组代码', + field: 'locationGroupCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '库区代码', + field: 'areaCode', + sort: 'custom', + table: { + width: 150 + }, + }, + + { + label: '货主代码', + field: 'ownerCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '项目代码', + field: 'projectCode', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + sort: 'custom', + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + table: { + width: 150 + }, + } +]))*/ + +export const CountCompareDetail = useCrudSchemas(([ + { + label: '盘点范围类型', + field: 'type', + dictType: DICT_TYPE.COUNT_SCOPE_TYPE, + dictClass: 'string', + isTable: true, + sort: 'custom', + table: { + width: 400 + }, + tableForm: { + type: 'Select', + width: '300' + } + }, + { + label: '盘点范围值', + field: 'value', + isTable: true, + sort: 'custom', + table: { + width: 300 + }, + tableForm: { + width: 400, + isInpuFocusShow: true, // 开启查询弹窗 + searchListPlaceholder: '请选择盘点范围类型', + searchField: 'type', + multiple:true,//是否可以多选 + searchTitle: '物料信息', + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 + verificationPage: ItembasicApi.getItemListByCodes, // tableForm下方输入框校验失去焦点之后是否正确的方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + }], + verificationParams: [{ + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + }], // 失去焦点校验参数 + }, + form: { + componentProps: { + disable:true, + isSearchList: true, // 开启查询弹窗 + multiple:true,//是否可以多选 + searchListPlaceholder: '请选择盘点范围类型', // 输入框占位文本 + searchField: 'type', // 查询弹窗赋值字段 + searchTitle: '物料信息', // 查询弹窗标题 + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchPage: ItembasicApi.getItembasicPage // 查询弹窗所需分页方法 + } + } + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + hiddenInMain:true, + isTableForm:false, + } +])) + +export const CountCompareDiffDetail = useCrudSchemas(reactive([ + { + label: '计划单号', + field: 'planNumber', + sort: 'custom', + table: { + width: 180, + fixed: 'left' + } + }, + { + label: '库位代码', + field: 'locationCode', + sort: 'custom', + table: { + width: 120 + }, + }, + { + label: '物料代码', + field: 'itemCode', + sort: 'custom', + table: { + width: 120 + }, + }, + { + label: '物料名称', + field: 'itemName', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '批次', + field: 'batch', + sort: 'custom', + table: { + width: 100 + }, + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + table: { + width: 150 + }, + }, + { + label: '数量', + field: 'qty', + sort: 'custom', + table: { + width: 140 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '初盘数量', + field: 'initalQty', + sort: 'custom', + table: { + width: 140 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '复盘数量', + field: 'reQty', + sort: 'custom', + table: { + width: 140 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '差异数量', + field: 'diffQty', + sort: 'custom', + table: { + width: 140 + }, + form: { + component: 'InputNumber', + } + }, + { + label: '监盘数量', + field: 'auditQty', + sort: 'custom', + table: { + width: 140 + }, + form: { + component: 'InputNumber', + } + } +])) diff --git a/src/views/wms/countManage/count/countCompare/index.vue b/src/views/wms/countManage/count/countCompare/index.vue new file mode 100644 index 000000000..3f2e55b08 --- /dev/null +++ b/src/views/wms/countManage/count/countCompare/index.vue @@ -0,0 +1,261 @@ + + diff --git a/src/views/wms/countManage/count/countCompareDetail/countCompareDetail.data.ts b/src/views/wms/countManage/count/countCompareDetail/countCompareDetail.data.ts new file mode 100644 index 000000000..e09448cc0 --- /dev/null +++ b/src/views/wms/countManage/count/countCompareDetail/countCompareDetail.data.ts @@ -0,0 +1,242 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' +import { DICT_TYPE, getDictOptions } from '@/utils/dict' + +// 表单校验 +export const CountCompareDetailRules = reactive({ + available: [required], + concurrencyStamp: [required] +}) + +export const CountCompareDetail = useCrudSchemas( + reactive([ + // { + // label: 'id', + // field: 'id', + // sort: 'custom', + // isForm: false, + // }, + { + label: '计划单号', + field: 'planNumber', + sort: 'custom', + isSearch: false, + hiddenSearchHigh: true, + table:{ + width:150 + } + }, + // { + // label: '盘点计划种类', + // field: 'inventoryTypes', + // isTable: true, + // sort: 'custom', + // dictType: DICT_TYPE.INVENTORY_TYPES, + // dictClass: 'string', + // table: { + // width: 150 + // }, + // form: { + // component: 'Radio', + // value: '1', + // componentProps: { + // options: getDictOptions(DICT_TYPE.INVENTORY_TYPES), + // }, + // colProps: { + // span: 24 + // } + // } + // }, + // { + // label: '盘点计划描述', + // field: 'planCountRemark', + // sort: 'custom', + // table: { + // width: 150 + // }, + // isForm: true, + // form: { + // componentProps: { + // maxlength:20, + // }, + // colProps: { + // span: 24 + // } + // } + // }, + // { + // label: '盘点计划方式', + // field: 'stocktakingMode', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // dictType: DICT_TYPE.STOCKTAKING_MODE, + // dictClass: 'string', + // form: { + // component: 'Radio', + // value: '1', + // componentProps: { + // options: getDictOptions(DICT_TYPE.STOCKTAKING_MODE), + // }, + // colProps: { + // span: 24 + // } + // } + // }, + { + label: '批次', + field: 'batch', + sort: 'custom', + isSearch: true + }, + { + label: '库存状态', + field: 'inventoryStatus', + dictType: DICT_TYPE.INVENTORY_STATUS, + dictClass: 'string', + sort: 'custom', + isSearch: true, + form: { + component: 'Radio' + }, + table:{ + width:150 + } + }, + { + label: '品番', + field: 'itemCode', + sort: 'custom', + isSearch: true, + table:{ + width:150 + } + }, + { + label: '品名', + field: 'itemName', + sort: 'custom', + isSearch: true, + table:{ + width:150 + } + }, + { + label: '背番', + field: 'backNumber', + sort: 'custom', + hiddenSearchHigh:false, + isSearch: true, + table:{ + width:150 + } + }, + { + label: '车型', + field: 'project', + hiddenSearchHigh:false, + sort: 'custom', + isSearch: false, + table:{ + width:150 + } + }, + { + label: '库位代码', + field: 'locationCode', + sort: 'custom', + isSearch: true, + table:{ + width:150 + } + }, + { + label: '包装号', + field: 'packingNumber', + sort: 'custom', + isSearch: true + }, + { + label: '账面数量', + field: 'qty', + sort: 'custom', + }, + { + label: '盘点数量', + field: 'initalQty', + sort: 'custom', + table:{ + width:150 + } + }, + { + label: '盘点差异数量', + field: 'initalDiffQty', + sort: 'custom', + table:{ + width:150 + } + }, + // { + // label: '抽盘数量', + // field: 'auditQty', + // sort: 'custom', + // }, + // { + // label: '抽盘差异数量', + // field: 'auditDiffQty', + // sort: 'custom', + // }, + // { + // label: '复盘数量', + // field: 'reQty', + // sort: 'custom', + // table:{ + // width:150 + // } + // }, + // { + // label: '复盘差异数量', + // field: 'reQiffQty', + // sort: 'custom', + // table:{ + // width:150 + // } + // }, + // { + // label: '备注', + // field: 'remark', + // sort: 'custom', + // }, + { + label: '创建时间', + field: 'createTime', + 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')] + } + }, + table:{ + width:150 + } + // isForm: false + // }, + // { + // label: '操作', + // field: 'action', + // isForm: false, + // isDetail: false, + // table: { + // width: 150, + // fixed: 'right' + // } + } + ]) +) diff --git a/src/views/wms/countManage/count/countCompareDetail/index.vue b/src/views/wms/countManage/count/countCompareDetail/index.vue new file mode 100644 index 000000000..6e835c14c --- /dev/null +++ b/src/views/wms/countManage/count/countCompareDetail/index.vue @@ -0,0 +1,265 @@ + + + diff --git a/src/views/wms/countManage/count/countConfig/countConfig.data.ts b/src/views/wms/countManage/count/countConfig/countConfig.data.ts index 654455e28..972acaae5 100644 --- a/src/views/wms/countManage/count/countConfig/countConfig.data.ts +++ b/src/views/wms/countManage/count/countConfig/countConfig.data.ts @@ -146,7 +146,8 @@ export const CountConfig = useCrudSchemas(reactive([ component: 'InputNumber', value: 0, componentProps: { - min:0, + disabled: true, + min:1, precision:2 } }, diff --git a/src/views/wms/countManage/count/countConfig/index.vue b/src/views/wms/countManage/count/countConfig/index.vue index 11a8f2d12..e786ca77f 100644 --- a/src/views/wms/countManage/count/countConfig/index.vue +++ b/src/views/wms/countManage/count/countConfig/index.vue @@ -1,18 +1,22 @@