diff --git a/src/views/Query/StockQuery/StockTransaction/index.vue b/src/views/Query/StockQuery/StockTransaction/index.vue index 5c4fa8c..2e745cc 100644 --- a/src/views/Query/StockQuery/StockTransaction/index.vue +++ b/src/views/Query/StockQuery/StockTransaction/index.vue @@ -8,42 +8,54 @@ - - + - + - + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + - + + + + + @@ -133,6 +145,7 @@ import { ElForm, ElMessageBox, ElTable } from 'element-plus'; import { getQueryPageList, getQueryList } from '@/api/common'; import exportDataToExcel from '@/utils/export-excel'; import { bTableHeight } from "../../../../composables/calcTableHeight"; +import { getORG } from '@/api/auth' const { tableContainer, tableHeight, updateTableHeight, handleResize } = bTableHeight(155); const { proxy }: any = getCurrentInstance(); @@ -148,9 +161,12 @@ const state = reactive({ UnitNumber: 0,//各单位数量 radio1: '出库', CHARGE: '', - ReceiveList: [{ value: '', label: '' }, { value: '45', label: 'DH 到货单入库' }, { value: 'SC46', label: 'AC 生产入库' }, { value: 'ZK4A', label: 'SA 转库入库' }, + /* ReceiveList: [{ value: '', label: '' }, { value: '45', label: 'DH 到货单入库' }, { value: 'SC46', label: 'AC 生产入库' }, { value: 'ZK4A', label: 'SA 转库入库' }, { value: '4C', label: 'DN 销售出库' }, { value: '4E', label: '4E 其他出库' }, { value: '4Y', label: 'TF 调拨出库' } - ] as any, + ] as any,*/ + ReceiveList: [] as any, + ERPFactoryList: [] as any, + erpLocationList: [] as any, queryParams: { MATERIALSPECNAME: '', RECEIVEREQUESTNAMETYPE: '', @@ -165,6 +181,7 @@ const state = reactive({ SHIPREQUESTNAME: '', RECEIVEREQUESTNAME: '', REQUESTNAME: '', + DESC_CN: '', }, page: { pageNum: 1, @@ -180,31 +197,53 @@ const state = reactive({ const { ERPFACTORY,loading, list, column, queryParams, page } = toRefs(state) onMounted(() => { - materialTableConfig.value.column = [ - { header: "标签编号", field: "MATERIALPACKINGNAME", hide: false, width: '320px' }, - { header: "批次", field: "CHARGE", hide: false, width: '200px' }, - { header: "组织", field: "ERPFACTORYDESC", hide: false, width: '250px' }, - { header: "仓库", field: "LOCATIONDESC", hide: false, width: '200px' }, - { header: "物料", field: "MATERIALSPECNAME", hide: false , width: '100px'}, - { header: "数量", field: "MATERIALQUANTITY", hide: false, width: '100px' }, - { header: "物料凭证", field: "UNDOID", hide: false, width: '120px' }, - { header: "凭证日期", field: "UNDODATE", hide: false, width: '100px' }, - { header: "制造日期", field: "MAKEDATE", hide: false, width: '150px' }, - { header: "制造日期", field: "MAKEDATE", hide: false, width: '150px' }, - // { header: "标签类型", field: "MATERIALPACKINGTYPE", hide: false }, - { header: "品质等级", field: "PACKINGGRADE", hide: false, width: '100px' }, - { header: "到货单号", field: "RECEIVEREQUESTNAME", hide: false, width: '100px' }, - { header: "出库单号", field: "SHIPREQUESTNAME", hide: false, width: '100px' }, - // { header: "入库单", field: "RECEIVEACTNO", hide: false, width: '100px' }, - { header: "最后操作时间", field: "LASTEVENTTIME", hide: false , width: '150px' }, - { header: "最后操作人员", field: "LASTEVENTUSER", hide: false, width: '120px' }, - { header: "供应商名称", field: "SUPPLIERNAME", hide: false , width: '120px'}, - { header: "客户", field: "CUSTOMERNAME", hide: false, width: '120px' }, - // { header: "关联客户", field: "", hide: false }, - { header: "最后操作名称", field: "DESCRIPTION", hide: false, width: '120px' }, - // { header: "SDK规格", field: "SPECNAME", hide: false }, - { header: "操作备注", field: "OPTREMARK", hide: false }, - ] + materialTableConfig.value.column = [ + { header: "标签", field: "MATERIALPACKINGNAME", hide: false, width: '320px' }, + { header: "批次", field: "CHARGE", hide: false, width: '200px' }, + { header: "料号", field: "MATERIALSPECNAME", hide: false , width: '100px'}, + { header: "规格", field: "DESCRIPTION", hide: false, width: '200px' }, + { header: "阶段", field: "PHASE", hide: false, width: '100px' }, + //入库 + { header: "入库组织", field: "INERPFACTORYDESC", hide: false, width: '100px' }, + { header: "入库仓库", field: "INLOCATIONDESC", hide: false, width: '150px' }, + { header: "入库货位", field: "INLOCATIONNAME", hide: false, width: '150px' }, + //出库 + { header: "出库组织", field: "OUTERPFACTORYDESC", hide: false, width: '100px' }, + { header: "出库仓库", field: "OUTLOCATIONDESC", hide: false, width: '150px' }, + { header: "出库货位", field: "OUTLOCATIONNAME", hide: false, width: '150px' }, + // 无来源转库、货位调整 + { header: "转出组织", field: "TRANSFEROUTERPFACTORYDESC", hide: false, width: '100px' }, + { header: "转出仓库", field: "TRANSFEROUTLOCATIONDESC", hide: false, width: '150px' }, + { header: "转出货位", field: "TRANSFEROUTLOCATIONNAME", hide: false, width: '150px' }, + { header: "转入组织", field: "TRANSFERINERPFACTORYDESC", hide: false, width: '100px' }, + { header: "转入仓库", field: "TRANSFERINLOCATIONDESC", hide: false, width: '150px' }, + { header: "转入货位", field: "TRANSFERINLOCATIONNAME", hide: false, width: '150px' }, + { header: "数量", field: "MATERIALQUANTITY", hide: false, width: '100px' }, + { header: "单位", field: "FNAME", hide: false, width: '100px' }, + { header: "入库单号", field: "RECEIVEREQUESTNAME", hide: false, width: '100px' }, + { header: "出库单号", field: "SHIPREQUESTNAME", hide: false, width: '100px' }, + { header: "作业凭证", field: "UNDOID", hide: false, width: '120px' }, + { header: "操作人", field: "LASTEVENTUSER", hide: false, width: '120px' }, + { header: "操作时间", field: "LASTEVENTTIME", hide: false , width: '150px' }, + { header: "测试操作事件", field: "LASTEVENTNAME", hide: false , width: '150px' }, + /* + { header: "组织", field: "ERPFACTORYDESC", hide: false, width: '100px' }, + { header: "仓库", field: "LOCATIONDESC", hide: false, width: '150px' }, + { header: "货位", field: "LOCATIONNAME", hide: false, width: '150px' }, + { header: "凭证日期", field: "UNDODATE", hide: false, width: '100px' }, + { header: "制造日期", field: "MAKEDATE", hide: false, width: '150px' }, + { header: "制造日期", field: "MAKEDATE", hide: false, width: '150px' }, + // { header: "标签类型", field: "MATERIALPACKINGTYPE", hide: false }, + { header: "品质等级", field: "PACKINGGRADE", hide: false, width: '100px' }, + // { header: "入库单", field: "RECEIVEACTNO", hide: false, width: '100px' }, + { header: "供应商名称", field: "SUPPLIERNAME", hide: false , width: '120px'}, + { header: "客户", field: "CUSTOMERNAME", hide: false, width: '120px' }, + // { header: "关联客户", field: "", hide: false }, + { header: "最后操作名称", field: "DESCRIPTION", hide: false, width: '120px' }, + // { header: "SDK规格", field: "SPECNAME", hide: false }, + { header: "操作备注", field: "OPTREMARK", hide: false }, + */ + ] getPRINTLIST() handleQuery() updateTableHeight(); @@ -213,7 +252,14 @@ onMounted(() => { let orgNo: any = localStorage.getItem('orgNo'); // state.orgNo = JSON.parse(pwd).orgNo; state.ERPFACTORY = JSON.parse(orgNo); - console.log(11111111111,state.ERPFACTORY) + //获取作业类型的下拉框列表 + getEnumdefValueList('StockTransactionJobType') + //获取组织 + getERPFactoryQuery() + //获取仓库 + getStorageList() + //设置日期查询框的默认值 + setDefaultDates(); }); const updateList = (col: any) => { materialTableConfig.value.column = col @@ -231,6 +277,16 @@ function getPRINTLIST() { } function handleQueryInfo() { state.page.pageNum = 1 + /** + * 增加时间非空校验 + * 2025-05-07 + */ + if(!state.queryParams.FROMDATE || !state.queryParams.TODATE){ + ElMessageBox.alert('请选择开始时间和结束时间', '提醒框', { + confirmButtonText: 'OK', + }) + return + } handleQuery() } function handleQuery() { @@ -245,28 +301,39 @@ function handleQuery() { for (let i = 0; i < state.queryParams.RECEIVEREQUESTNAMETYPE.length; i++) { loactionString = loactionString + state.queryParams.RECEIVEREQUESTNAMETYPE[i] + ',' } + let erpFactoryString = '' + for (let i = 0; i < state.queryParams.ERPFACTORY.length; i++) { + erpFactoryString = erpFactoryString + state.queryParams.ERPFACTORY[i] + ',' + } + let erpLocationString = '' + for (let i = 0; i < state.queryParams.ERPLOCATION.length; i++) { + erpLocationString = erpLocationString + state.queryParams.ERPLOCATION[i] + ',' + } state.loading = true queryFormRef.value.validate((isValid: boolean) => { if (isValid) { getQueryPageList({ queryId: "GetMaterialBoxInformationRow", - version: "WEB0004", + version: "WEB0007", params: { userId: localStorage.getItem('userId'), // ...state.queryParams - MATERIALSPECNAME: state.queryParams.MATERIALSPECNAME ? state.queryParams.MATERIALSPECNAME.split(',') : '', - UNDOID: state.queryParams.UNDOID, - STOCKSTATE: state.queryParams.STOCKSTATE, - ERPLOCATION: state.queryParams.ERPLOCATION, + RECEIVEREQUESTNAMETYPE: loactionString, + ERPFACTORY: erpFactoryString, + ERPLOCATION: erpLocationString, + MATERIALSPECNAME: state.queryParams.MATERIALSPECNAME, + DESC_CN: state.queryParams.DESC_CN, + SHIPREQUESTNAME: state.queryParams.SHIPREQUESTNAME, + RECEIVEREQUESTNAME: state.queryParams.RECEIVEREQUESTNAME, + CHARGE: state.queryParams.CHARGE, FROMDATE: state.queryParams.FROMDATE, TODATE: state.queryParams.TODATE, SITENAME: '', - ERPFACTORY: state.ERPFACTORY, - CHARGE: state.queryParams.CHARGE, - RECEIVEREQUESTNAMETYPE: loactionString, - // CHARGE: state.CHARGE, - RECEIVEREQUESTNAME: state.queryParams.RECEIVEREQUESTNAME, - SHIPREQUESTNAME: state.queryParams.SHIPREQUESTNAME, + /* + UNDOID: state.queryParams.UNDOID, + STOCKSTATE: state.queryParams.STOCKSTATE, + CHARGE: state.CHARGE, + */ }, pageNum: state.page.pageNum, pageSize: state.page.pageSize, @@ -294,7 +361,7 @@ function handleQuery() { FROMDATE: state.queryParams.FROMDATE, TODATE: state.queryParams.TODATE, SITENAME: '', - ERPFACTORY: '', + ERPFACTORY: erpFactoryString, CHARGE: state.queryParams.CHARGE, RECEIVEREQUESTNAMETYPE: loactionString, // CHARGE: state.CHARGE, @@ -362,10 +429,75 @@ function exportExcel() { function resetQuery() { queryFormRef.value.resetFields(); + setDefaultDates(); handleQuery(); } +/** + * 根据ENUMNAME获取Enumdef、EnumdefValue的常量 + * @param param 常量的KEY + */ +function getEnumdefValueList(param: any) { + getQueryList({ + queryId: "GetEnumdefValueList", + version: "04281", + params: { + ENUMNAME: param + }, + }).then((res: any) => { + state.ReceiveList = res.data + }) +} +/** + * 获取库存组织 + */ +function getERPFactoryQuery() { + getORG({ orgNo: null }) + .then((res: any) => { + state.ERPFactoryList = res.resultObj + }) + .catch(() => {}) +} + +/** + * 获取仓库 + */ +async function getStorageList() { + const res = await getQueryList({ + queryId: 'GetErpLocationList', + version: 'WEB00004', + params: { + SITENAME: 'SDK' + }, + }) + state.erpLocationList = res.data + /*const nodes = state.locDecList1.map((item: any) => ({ + value: item.ENUMVALUE, + label: item.DESCRIPTION, + leaf: 0 + })) + state.StorageSelectList = nodes*/ +} + +function setDefaultDates() { + const now = new Date(); + // 设置开始时间为今天 00:00:00 + const startOfDay = new Date(now); + startOfDay.setHours(0, 0, 0, 0); + state.queryParams.FROMDATE = formatDate(startOfDay); + // 设置结束时间为当前时间(精确到秒) + const tomorrow = new Date(now); + tomorrow.setDate(now.getDate() + 1); + tomorrow.setHours(0, 0, 0, 0); + state.queryParams.TODATE = formatDate(tomorrow); +} +function formatDate(param: any) { + const year = param.getFullYear(); + const month = String(param.getMonth() + 1).padStart(2, '0'); + const day = String(param.getDate()).padStart(2, '0'); + return `${year}${month}${day}`; +}