diff --git a/src/api/wms/customer/index.ts b/src/api/wms/customer/index.ts index 0a82231a0..1077fd5e0 100644 --- a/src/api/wms/customer/index.ts +++ b/src/api/wms/customer/index.ts @@ -35,6 +35,11 @@ export const getCustomerPage = async (params) => { export const getCustomerList = async (params) => { return await request.get({ url: `/wms/customer/list`, params }) } + +// 查询客户列表 +export const getCustomerListPc = async (params) => { + return await request.get({ url: `/wms/customer/listPc`, params }) +} // 查询客户详情 export const getCustomer = async (id: number) => { return await request.get({ url: `/wms/customer/get?id=` + id }) diff --git a/src/components/ImportForm/src/ImportCustomerStatementForm.vue b/src/components/ImportForm/src/ImportCustomerStatementForm.vue index b7763482d..19c30616e 100644 --- a/src/components/ImportForm/src/ImportCustomerStatementForm.vue +++ b/src/components/ImportForm/src/ImportCustomerStatementForm.vue @@ -318,7 +318,6 @@ const verifyData = async () => { // buttonBaseClick('refresh',null) } catch { //取消走的 - alert(123); } }else if(data.status==3){ await message.alertWarning('已存在相同客户编号及年月的对账单,且已提交,无法导入。') @@ -438,7 +437,7 @@ const queryParams = reactive({ const getCustomerList = async () => {//获取客户列表 var param ={} - const list = await CustomerApi.getCustomerList(param); + const list = await CustomerApi.getCustomerListPc(param); customerList.value = list; } diff --git a/src/views/wms/basicDataManage/itemManage/itemSyntheticRelation/itemSyntheticRelation.data.ts b/src/views/wms/basicDataManage/itemManage/itemSyntheticRelation/itemSyntheticRelation.data.ts index c06a468ed..cb338d498 100644 --- a/src/views/wms/basicDataManage/itemManage/itemSyntheticRelation/itemSyntheticRelation.data.ts +++ b/src/views/wms/basicDataManage/itemManage/itemSyntheticRelation/itemSyntheticRelation.data.ts @@ -1,6 +1,7 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import {Itembasic} from "@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data"; import * as ItembasicApi from "@/api/wms/itembasic"; +import {dateFormatter} from "@/utils/formatTime"; // 表单校验 export const ItemSyntheticRelationRules = reactive({ @@ -76,6 +77,56 @@ export const ItemSyntheticRelation = useCrudSchemas(reactive([ isSearch: false, isForm:false, }, + { + label: '生效时间', + field: 'effectiveDate', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: true, + isForm: true, + isDetail: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: 'expirationDate', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: true, + isForm: true, + isDetail: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: 'remark', diff --git a/src/views/wms/deliversettlementManage/moldAllocation/customerStatement/customerStatementMain.data.ts b/src/views/wms/deliversettlementManage/moldAllocation/customerStatement/customerStatementMain.data.ts index d1bdb6506..c4729e2f4 100644 --- a/src/views/wms/deliversettlementManage/moldAllocation/customerStatement/customerStatementMain.data.ts +++ b/src/views/wms/deliversettlementManage/moldAllocation/customerStatement/customerStatementMain.data.ts @@ -62,15 +62,15 @@ export const CustomerStatementMain = useCrudSchemas(reactive([ } }, }, - { - label: '年月', - field: 'yearsMonthStr', - sort: 'custom', - detail: { - dateFormat: 'YYYY-MM' - }, - isForm:false, - }, + // { + // label: '年月', + // field: 'yearsMonthStr', + // sort: 'custom', + // detail: { + // dateFormat: 'YYYY-MM' + // }, + // isForm:false, + // }, { label: '状态', field: 'status', @@ -92,12 +92,26 @@ export const CustomerStatementMain = useCrudSchemas(reactive([ { label: '创建时间', field: 'createTime', - sort: 'custom', + isTable:true, formatter: dateFormatter, - isSearch: false, detail: { dateFormat: 'YYYY-MM-DD HH:mm:ss' }, + sort: 'custom', + isForm: false, + table: { + width: 180 + }, + form: { + component: 'DatePicker', + componentProps: { + style: {width:'100%'}, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x', + } + }, + isSearch: true, search: { component: 'DatePicker', componentProps: { @@ -106,7 +120,6 @@ export const CustomerStatementMain = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, - isForm: false, }, { label: '操作', @@ -283,9 +296,10 @@ export const CustomerStatementReconciliation = useCrudSchemas(reactive { hide: isShowMainButton(row, ['3', '4', '5']) }), // 退回 defaultButtons.mainListCancelBtn({ - hasPermi: 'wms:customer-statement-main:publish', + hasPermi: 'wms:customer-statement-main:nodeAbrogate', hide: isShowMainButton(row, ['2', '3', '4', '5']) }) // 作废 ] @@ -432,7 +432,10 @@ const searchFormClick = (searchData) => { /** 初始化 **/ onMounted(async () => { getList() + //客户对账单 importTemplateData.templateUrl = await CustomerStatementMainApi.importTemplate() + //模具分摊对账单 + importShareTemplateData.templateUrl = await CustomerStatementMainApi.importShareTemplate() }) //点击重新比对方法 const tapRematch = async (id: number) => { diff --git a/src/views/wms/inventoryManage/balance/index.vue b/src/views/wms/inventoryManage/balance/index.vue index 7ef12fb88..82b8fc876 100644 --- a/src/views/wms/inventoryManage/balance/index.vue +++ b/src/views/wms/inventoryManage/balance/index.vue @@ -250,17 +250,17 @@ const handleSelectionPoint = async () => { } // 列表-操作按钮 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/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts index 05419185b..5522488a9 100644 --- a/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts +++ b/src/views/wms/inventoryjobManage/unplannedreceipt/unplannedreceiptRequestMain/unplannedreceiptRequestMain.data.ts @@ -530,7 +530,7 @@ export const UnplannedreceiptRequestMain = useCrudSchemas(reactive }, form: { component: 'Switch', - value: requestsettingData.directCreateRecord, + value: 'FALSE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE' @@ -804,9 +804,9 @@ export const UnplannedreceiptRequestDetail = useCrudSchemas(reactive([ } } }, - // { - // label: '备注', - // field: 'remark', - // sort: 'custom', - // table: { - // width: 150 - // }, - // isTable: false - // }, + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + isTable: true, + isForm:false, + }, { label: '是否可用', field: 'available', diff --git a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue index ce08198d0..9bb29c449 100644 --- a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue +++ b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMain/index.vue @@ -384,6 +384,7 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => newRow['fromLocationCode'] = item['locationCode'] newRow['uom'] = item['uom'] newRow['qty'] = item['qty'] + newRow['inventoryQty'] = item['qty'] if(routeName.value == 'NoktoholdRequestMain'){ newRow['toInventoryStatus'] = "HOLD" }else if ( routeName.value == 'HoldtookRequestMain') { @@ -606,11 +607,11 @@ const buttonTableClick = async (val, row) => { /** 添加/修改操作 */ const formRef = ref() const openForm =async (type: string, row?: number) => { - InventorymoveRequestDetail.allSchemas.tableFormColumns.forEach(item=>{ - if(item.field == 'qty'){ - item.tableForm.disabled = routeName.value == "HoldtookRequestMain" - } - }) + // InventorymoveRequestDetail.allSchemas.tableFormColumns.forEach(item=>{ + // if(item.field == 'qty'){ + // item.tableForm.disabled = routeName.value == "HoldtookRequestMain" + // } + // }) tableData.value = [] // 重置明细数据 formRef.value.open(type, row) } @@ -768,6 +769,13 @@ const submitForm = async (formType, submitData) => { } formRef.value.formLoading = true try { + const cmdExists = data.subList.some(filter => + parseFloat(filter.inventoryQty) < parseFloat(filter.qty) + ); + if(cmdExists){ + message.warning("数量不能大于库存数量") + return + } if (formType === 'create') { await InventorymoveRequestMainApi.createInventorymoveRequestMain(data) message.success(t('common.createSuccess')) diff --git a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainHOLDWIP/index.vue b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainHOLDWIP/index.vue index 4d9f82d06..c11f9b414 100644 --- a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainHOLDWIP/index.vue +++ b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainHOLDWIP/index.vue @@ -91,6 +91,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import { formatDate } from '@/utils/formatTime' import { usePageLoading } from '@/hooks/web/usePageLoading' import {importTemplateHoldOk} from "@/api/wms/inventorymoveRequestMain"; +import * as ruleApi from '@/api/wms/rule/index' const { loadStart, loadDone } = usePageLoading() // 隔离转线边申请HoldtoWipRequestMain // 只有隔离转线边申请在使用的 @@ -288,16 +289,18 @@ InventorymoveRequestDetail.allSchemas.tableFormColumns.map(item => { const updataTableColumns = (val) => { tableColumns.value = val } - +const fromManagementPrecision = ref('') +const toManagementPrecision = ref('') // 查询页面返回 const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => { - nextTick(() => { + nextTick(async () => { + console.log(formField) if (type == 'tableForm') { - if(formField == 'fromPackingNumber'){ - val = val.filter(item=>!tableData.value.find(item1=>item1['itemCode']==item['itemCode']&&item1['fromBatch']==item['batch']&&item1['fromPackingNumber']==item['packingNumber']&&item1['fromLocationCode']==item['locationCode']&&item1['fromInventoryStatus']==item['inventoryStatus'])) - if(val.length==0) return - val.forEach(item=>{ - const newRow = JSON.parse(JSON.stringify({...tableFormKeys,...item})) + if (formField == 'fromPackingNumber') { + val = val.filter(item => !tableData.value.find(item1 => item1['itemCode'] == item['itemCode'] && item1['fromBatch'] == item['batch'] && item1['fromPackingNumber'] == item['packingNumber'] && item1['fromLocationCode'] == item['locationCode'] && item1['fromInventoryStatus'] == item['inventoryStatus'])) + if (val.length == 0) return + val.forEach(item => { + const newRow = JSON.parse(JSON.stringify({ ...tableFormKeys, ...item })) newRow['fromPackingNumber'] = item['packingNumber'] newRow['fromContainerNumber'] = item['containerNumber'] newRow['itemCode'] = item['itemCode'] @@ -306,12 +309,41 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => newRow['fromLocationCode'] = item['locationCode'] newRow['uom'] = item['uom'] newRow['qty'] = item['qty'] - + newRow['toInventoryStatus'] = "OK" //HoldtoWipRequestMain 隔离转线边 tableData.value.push(newRow) }) - } else { - row[formField] = val[0][searchField] + } else if (formField == 'toLocationCode') {//到库位代码 + //从批次 + await ruleApi.getManagementPrecision({ + itemCodes: [row['itemCode']], + locationCode: row['fromLocationCode'] + }).then((res) => { + fromManagementPrecision.value = res[0].ManagementPrecision + }) + + if (fromManagementPrecision.value == 'BY_QUANTITY') {//如果从批次+物料管理精度是按数量 + //到批次 + await ruleApi.getManagementPrecision({ + itemCodes: [row['itemCode']], + locationCode: val[0][searchField] + }).then((res) => { + toManagementPrecision.value = res[0].ManagementPrecision + }) + if (toManagementPrecision.value != 'BY_QUANTITY') {//到批次+物料管理精度非数量需要添加批次 + if (row['fromBatch'] == '') { + row['fromBatch'] = getFormattedDate(); // 获取 YYYYMMDD 格式的日期 + } + row['fromBatchFormItemType'] = 'FormDate' + row['disabled_fromBatch'] = false + } else { + row['fromBatchFormItemType'] = '' + row['disabled_fromBatch'] = true + } + row[formField] = val[0][searchField] + } else { + row[formField] = val[0][searchField] + } } } else { const setV = {} @@ -708,4 +740,11 @@ onMounted(async () => { importTemplateData.templateUrl = await InventorymoveRequestMainApi.importTemplateExceptMove() }) +const getFormattedDate = () =>{ + const a = new Date(); + const year = a.getFullYear(); + const month = String(a.getMonth() + 1).padStart(2, '0'); + const day = String(a.getDate()).padStart(2, '0'); + return `${year}${month}${day}`; + } diff --git a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainHOLDWIP/inventorymoveRequestMain.data.ts b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainHOLDWIP/inventorymoveRequestMain.data.ts index f3fcbde3c..357a9e070 100644 --- a/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainHOLDWIP/inventorymoveRequestMain.data.ts +++ b/src/views/wms/moveManage/inventorymove/inventorymoveRequestMainHOLDWIP/inventorymoveRequestMain.data.ts @@ -557,11 +557,15 @@ export const InventorymoveRequestDetail = useCrudSchemas(reactive( width: 150 }, tableForm: { - disabled: true + disabled: true, + placeholder: '请选择从批次', + valueFormat: 'YYYYMMDD', + format: 'YYYYMMDD', }, form: { componentProps: { - disabled: true + disabled: true, + valueFormat: 'YYYYMMDD', } } }, @@ -932,9 +936,9 @@ export const InventorymoveRequestDetailRules = reactive({ fromLocationCode: [ { required: true, message: '请选择从库位代码', trigger: 'change' } ], - fromPackingNumber: [ - { required: true, message: '请选择从包装号', trigger: 'change' } - ], + // fromPackingNumber: [ + // { required: true, message: '请选择从包装号', trigger: 'change' } + // ], fromInventoryStatus: [ { required: true, message: '请选择从库存状态', trigger: 'change' } ], diff --git a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts index d7ce5ff33..d26cfcc86 100644 --- a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRecord/purchaseBarterRecordMain.data.ts @@ -26,7 +26,7 @@ export const PurchaseBarterRecordMain = useCrudSchemas(reactive([ label: '状态', field: 'status', sort: 'custom', - isSearch: true, + isSearch: false, isForm: false, dictType: DICT_TYPE.REQUEST_STATUS, dictClass: 'string', @@ -66,6 +66,8 @@ export const PurchaseBarterRecordDetail = useCrudSchemas(reactive( field: 'uom', sort: 'custom', isSearch: false, + dictType: DICT_TYPE.UOM, + dictClass: 'string', }, { label: '批次', diff --git a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue index f2ebbc2fa..1e8500eca 100644 --- a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue +++ b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/index.vue @@ -59,7 +59,6 @@ @tableSelectionDelete="tableSelectionDelete" @searchTableSuccess="searchTableSuccess" @submitForm="submitForm" - @inputNumberChange="inputNumberChange" @tableFormSelectOnBlur="tableFormSelectOnBlur" > @@ -76,7 +75,6 @@ :Echo="Echo" @searchTableSuccessDetail="searchTableSuccessDetail" :detailValidate="detailValidate" - @detailOpenForm="detailOpenForm" @onBlur="onBlur" /> @@ -162,6 +160,10 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => }) } const handleDetailSubmitForm = async (formType, data) => { + if(data.qty > data.inventoryQty){ + message.warning("换货数量不能大于库存数量") + return + } if (formType === 'create') { await PurchaseBarterRequestDetailApi.createPurchaseBarterRequestDetail(data) message.success(t('common.createSuccess')) @@ -171,7 +173,7 @@ const handleDetailSubmitForm = async (formType, data) => { message.success(t('common.updateSuccess')) } detailRef.value.submitUpdateList() - + getList() } // 查询页面返回——详情 const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { @@ -181,9 +183,12 @@ const searchTableSuccessDetail = (formField, searchField, val, formRef ) => { if(formField == 'itemCode'){ setV['itemCode'] = val[0]['itemCode'] setV['itemName'] = val[0]['itemName'] - setV['uom'] = val[0]['supplierUom'] - setV['packUnit'] = val[0]['packUnit'] - setV['batch'] = formatTime(new Date(), 'yyyyMMdd') + setV['uom'] = val[0]['uom'] + setV['batch'] = val[0]['batch'] + setV['location'] = val[0]['batch'] + setV['inventoryQty'] = val[0]['qty'] + setV['locationCode'] = val[0]['locationCode'] + setV['inventoryStatus'] = val[0]['inventoryStatus'] } formRef.setValues(setV) }) @@ -490,6 +495,10 @@ const submitForm = async (formType, submitData) => { data.id = data.masterId } data.subList = tableData.value // 拼接子表数据参数 + const cmdExists = data.subList.some(filter => + parseFloat(filter.inventoryQty) < parseFloat(filter.qty) + ); + try { if (formType === 'create') { if(data.subList.length == 0){ @@ -507,6 +516,10 @@ const submitForm = async (formType, submitData) => { if(flag){ return } + if(cmdExists){ + message.warning("换货数量不能大于库存数量") + return + } formRef.value.formLoading = true await PurchaseBarterRequestMainApi.createPurchaseBarterRequestMain(data) message.success(t('common.createSuccess')) @@ -566,14 +579,6 @@ const searchFormClick = (searchData) => { getList() // 刷新当前列表 } -// 创建标签 -const inputNumberChange = (field, index, row, val) => { - if(field == 'qty' || field == 'singlePrice'){ - row.amount = row.qty * row.singlePrice - } -} - - let validityDays = 0 const detailOpenForm = (type, row)=>{ console.log('detailOpenForm',row) @@ -607,7 +612,6 @@ const tableFormSelectOnBlur = (field, val, row, index) => { tableData.value[index][field] = val.target.value } } - /** 初始化 **/ onMounted(async () => { getList() diff --git a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts index 2639dbbfc..2da4e98ce 100644 --- a/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/purchaseBarter/purchaseBarterRequest/purchaseBarterRequestMain.data.ts @@ -153,7 +153,7 @@ export const PurchaseBarterRequestDetail = useCrudSchemas(reactive isFormModel:true, // filters中添加筛选的数据--取于formModel required:true, // 前置添加必有,和isFormModel结合使用 isSearch: true, - isMainValue: false + isMainValue: true }], verificationParams: [ { @@ -297,4 +297,7 @@ export const PurchaseBarterRequestDetailRules = reactive({ qty:[ { validator:validateQty, message: '换货数量必须是一个正数', trigger: 'change'} ], + itemCode: [ + { required: true, message: '请输入物料代码', trigger: 'blur' } + ], }) diff --git a/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts b/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts index 95425975f..0d02d5313 100644 --- a/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts +++ b/src/views/wms/purchasereceiptManage/sparereceipt/sparereceiptRequestMain/sparereceiptRequestMain.data.ts @@ -658,7 +658,14 @@ export const PurchasereceiptRequestDetail = useCrudSchemas(reactive([ precision: 6 }, }, + { + label: '默认收货库区', + field: 'defaultAreaCode', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + isTable: true, + }, + { + label: '库区描述', + field: 'areaDescription', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + isTable: true, + }, // { // label: 'ERP库位', // field: 'erpLocationCode', diff --git a/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts b/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts index 15301f1f6..efa4b84dc 100644 --- a/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts +++ b/src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/purchasePlanMain.data.ts @@ -1,913 +1,947 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' -import { dateFormatter,dateFormatter2 } from '@/utils/formatTime' +import { dateFormatter, dateFormatter2 } from '@/utils/formatTime' import * as SupplierApi from '@/api/wms/supplier' import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data' import * as PurchaseMainApi from '@/api/wms/purchaseMain' import * as PurchaseDetailApi from '@/api/wms/purchaseDetail' import { PurchaseDetail, PurchaseMain } from '../purchaseMain/purchaseMain.data' -import {getPurchaseDetailPagePoNumber} from "@/api/wms/purchaseDetail"; +import { getPurchaseDetailPagePoNumber } from '@/api/wms/purchaseDetail' import * as ItembasicApi from '@/api/wms/itembasic' -import {Itembasic} from "@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data"; +import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data' const { t } = useI18n() // 国际化 /** * @returns {Array} 要货计划主表 */ -export const PurchasePlanMain = useCrudSchemas(reactive([ - { - label: '要货计划单号', - field: 'number', - sort: 'custom', - isForm: false, - table: { - width: 180, - fixed: 'left' - }, - sortTableDefault:1, - sortSearchDefault:4, - isSearch: true - }, - { - label: '状态', - field: 'status', - sort: 'custom', - dictType: DICT_TYPE.PURCHASE_PLAN_STATUS, - dictClass: 'string', - isTable: true, - isForm:false, - isSearch: true, - table: { - width: 150 - }, - sortTableDefault:2, - sortSearchDefault:6, - search:{ - value:[], - componentProps: { - multiple:true +export const PurchasePlanMain = useCrudSchemas( + reactive([ + { + label: '要货计划单号', + field: 'number', + sort: 'custom', + isForm: false, + table: { + width: 180, + fixed: 'left' + }, + sortTableDefault: 1, + sortSearchDefault: 4, + isSearch: true + }, + { + label: '状态', + field: 'status', + sort: 'custom', + dictType: DICT_TYPE.PURCHASE_PLAN_STATUS, + dictClass: 'string', + isTable: true, + isForm: false, + isSearch: true, + table: { + width: 150 + }, + sortTableDefault: 2, + sortSearchDefault: 6, + search: { + value: [], + componentProps: { + multiple: true + } + }, + form: { + value: '1', + componentProps: { + disabled: true + } } }, - form: { - value: '1', - componentProps: { - disabled: true + { + label: '供应商代码', + field: 'supplierCode', + sort: 'custom', + table: { + width: 150 + }, + isSearch: true, + sortTableDefault: 3, + sortSearchDefault: 1, + form: { + labelMessage: '影响明细中物料代码,需在供应商物料中维护', + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '供应商信息', // 查询弹窗标题 + searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 + searchPage: SupplierApi.getSupplierPageSCP, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ], + verificationParams: [ + { + key: 'code', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + } + ] // 失去焦点校验参数 + } + }, + search: { + componentProps: { + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '供应商信息', // 查询弹窗标题 + searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 + searchPage: SupplierApi.getSupplierPageSCP, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } } - } - }, - { - label: '供应商代码', - field: 'supplierCode', - sort: 'custom', - table: { - width: 150, - }, - isSearch: true, - sortTableDefault:3, - sortSearchDefault:1, - form: { - labelMessage: '影响明细中物料代码,需在供应商物料中维护', - componentProps: { - enterSearch: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 - searchField: 'code', // 查询弹窗赋值字段 - searchTitle: '供应商信息', // 查询弹窗标题 - searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 - searchPage: SupplierApi.getSupplierPageSCP, // 查询弹窗所需分页方法 - searchCondition: [{ - key: 'available', - value: 'TRUE', - isMainValue: false - }], - verificationParams: [{ - key: 'code', - action: '==', - value: '', - isMainValue: false, - isSearch: 'true', - isFormModel: true - }], // 失去焦点校验参数 + }, + { + label: '供应商名称', + field: 'supplierName', + table: { + width: 150 + }, + sortTableDefault: 4, + sortSearchDefault: 1, + isTable: true, + isForm: false + }, + //仅是主列表页面的筛选搜索条件 + { + label: '送达日期', + field: 'deliveryDate', + sort: 'custom', + isDetail: false, + isTable: false, + isForm: false, + isTableForm: false, + isSearch: true, + sortSearchDefault: 3, + formatter: dateFormatter2, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + // type: 'datetimerange', + type: 'daterange', + defaultTime: [new Date('1 '), new Date('1 ')] + } } }, - search: { - componentProps: { - enterSearch: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择供应商代码', // 输入框占位文本 - searchField: 'code', // 查询弹窗赋值字段 - searchTitle: '供应商信息', // 查询弹窗标题 - searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类 - searchPage: SupplierApi.getSupplierPageSCP, // 查询弹窗所需分页方法 - searchCondition: [{ - key: 'available', - value: 'TRUE', - isMainValue: false - }] + { + label: '采购订单', + field: 'poNumber', + sort: 'custom', + sortSearchDefault: 11, + formatter: dateFormatter2, + table: { + width: 150 + }, + isTable: false, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + enterSearch: true, + dialogWidth: '1085px', //搜索出来弹窗的宽度 + isSearchList: true, + searchListPlaceholder: '请选择采购订单', + searchField: 'number', + searchTitle: '采购订单信息', + searchAllSchemas: PurchaseMain.allSchemas, + searchPage: PurchaseMainApi.getPurchaseMainPage, + searchCondition: [ + { + key: 'type', + value: 'SCHEDULE', + isMainValue: false + }, + { + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'supplierCode', + value: 'supplierCode', + message: '请填写供应商代码!', + isMainValue: true + }, + { + key: 'status', + value: 2, + isMainValue: false + } + ], + verificationParams: [ + { + key: 'number', + action: '==', + value: '', + isMainValue: false, + isSearch: 'true', + isFormModel: true + } + ] // 失去焦点校验参数 + } } - } - }, - { - label: '供应商名称', - field: 'supplierName', - table: { - width: 150 - }, - sortTableDefault:4, - sortSearchDefault:1, - isTable:true, - isForm: false - }, - //仅是主列表页面的筛选搜索条件 - { - label: '送达日期', - field: 'deliveryDate', - sort: 'custom', - isDetail:false, - isTable: false, - isForm:false, - isTableForm:false, - isSearch:true, - sortSearchDefault:3, - formatter: dateFormatter2, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD HH:mm:ss', - // type: 'datetimerange', - type: 'daterange', - defaultTime: [new Date('1 '), new Date('1 ')] + }, + { + label: '送达日期', + field: 'deliveryDate', + table: { + width: 180 + }, + formatter: dateFormatter2, + sortTableDefault: 13, + form: { + component: 'DatePicker', + componentProps: { + type: 'date', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + }, + detail: { + dateFormat: 'YYYY-MM-DD' } }, - }, - { - label: '采购订单', - field: 'poNumber', - sort: 'custom', - sortSearchDefault:11, - formatter: dateFormatter2, - table: { - width: 150 - }, - isTable:false, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - enterSearch:true, - dialogWidth:'1085px',//搜索出来弹窗的宽度 - isSearchList: true, - searchListPlaceholder: '请选择采购订单', - searchField: 'number', - searchTitle: '采购订单信息', - searchAllSchemas: PurchaseMain.allSchemas, - searchPage: PurchaseMainApi.getPurchaseMainPage, - searchCondition: [{ - key: 'type', - value: 'SCHEDULE', - isMainValue: false - },{ - key: 'available', - value: 'TRUE', - isMainValue: false - },{ - key: 'supplierCode', - value: 'supplierCode', - message: '请填写供应商代码!', - isMainValue: true - },{ - key: 'status', - value: 2, - isMainValue: false - }], - verificationParams: [{ - key: 'number', - action: '==', - value: '', - isMainValue: false, - isSearch: 'true', - isFormModel: true - }], // 失去焦点校验参数 + { + label: '采购订单类型', + field: 'type', + sort: 'custom', + sortTableDefault: 13, + dictType: DICT_TYPE.PURCHASE_ORDER_TYPE, + dictClass: 'string', + isTable: true, + isForm: true, + table: { + width: 150 + }, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + disabled: true + } } - } - }, - { - label: '送达日期', - field: 'deliveryDate', - table: { - width: 180 - }, - formatter: dateFormatter2, - sortTableDefault:13, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - dateFormat: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'x', + }, + { + label: '收货人', + field: 'contacts', + isTable: false, + table: { + width: 150 + }, + form: { + componentProps: { + disabled: false + } } }, - detail: { - dateFormat: 'YYYY-MM-DD' - }, - }, - { - label: '采购订单类型', - field: 'type', - sort: 'custom', - sortTableDefault:13, - dictType: DICT_TYPE.PURCHASE_ORDER_TYPE, - dictClass: 'string', - isTable: true, - isForm:true, - table: { - width: 150 - }, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { - disabled: true + { + label: '联系电话', + field: 'phone', + isTable: false, + table: { + width: 150 + }, + form: { + componentProps: { + disabled: false + } } - } - }, - { - label: '收货人', - field: 'contacts', - isTable:false, - table: { - width: 150 - }, - form: { - componentProps: { - disabled: false + }, + + { + label: '时间窗口', + field: 'timeWindow', + table: { + width: 150 + }, + isTable: false, + isForm: false + }, + { + label: '开始时间', + field: 'beginTime', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + isForm: false, + isDetail: false, + form: { + component: 'TimePicker', + componentProps: { + format: 'HH:mm' + } } - } - }, - { - label: '联系电话', - field: 'phone', - isTable:false, - table: { - width: 150 - }, - form: { - componentProps: { - disabled: false + }, + { + label: '结束时间', + field: 'endTime', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + isForm: false, + isDetail: false, + form: { + component: 'TimePicker', + componentProps: { + format: 'HH:mm' + } } - } - }, - - { - label: '时间窗口', - field: 'timeWindow', - table: { - width: 150 - }, - isTable:false, - isForm: false - }, - { - label: '开始时间', - field: 'beginTime', - sort: 'custom', - table: { - width: 150 - }, - isTable:false, - isForm:false, - isDetail:false, - form:{ - component:"TimePicker", - componentProps: { - format:"HH:mm", + }, + { + label: '仓库代码', + field: 'warehouseCode', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + isForm: false + }, + { + label: '月台代码', + field: 'dockCode', + sort: 'custom', + table: { + width: 150 + }, + isForm: false, + isTable: false + }, + { + label: '业务类型', + field: 'businessType', + sort: 'custom', + table: { + width: 150 + }, + isForm: false, + isTable: false, + form: { + value: 'PurchaseReceipt', + componentProps: { + disabled: true + } } - } - }, - { - label: '结束时间', - field: 'endTime', - sort: 'custom', - table: { - width: 150 - }, - isTable:false, - isForm:false, - isDetail:false, - form:{ - component:"TimePicker", - componentProps: { - format:"HH:mm", + }, + + // { + // label: '自动发布', + // field: 'autoPublish', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: "TRUE", + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '自动接收', + // field: 'autoAccept', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: "TRUE", + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE' + // } + // } + // }, + // { + // label: '是否可用', + // field: 'available', + // dictType: DICT_TYPE.TRUE_FALSE, + // dictClass: 'string', + // isTable: true, + // sort: 'custom', + // table: { + // width: 150 + // }, + // form: { + // component: 'Switch', + // value: 'TRUE', + // componentProps: { + // inactiveValue: 'FALSE', + // activeValue: 'TRUE', + // disabled: true + // } + // }, + // isSearch: true, + // }, + { + label: '创建者', + field: 'creator', + sort: 'custom', + isForm: false, + isTable: false, + table: { + width: 150 } - } - }, - { - label: '仓库代码', - field: 'warehouseCode', - sort: 'custom', - table: { - width: 150 - }, - isTable:false, - isForm: false, - }, - { - label: '月台代码', - field: 'dockCode', - sort: 'custom', - table: { - width: 150 - }, - isForm: false, - isTable:false, - }, - { - label: '业务类型', - field: 'businessType', - sort: 'custom', - table: { - width: 150 - }, - isForm: false, - isTable:false, - form: { - value: 'PurchaseReceipt', - componentProps: { - disabled: true + }, + { + label: '创建时间', + field: 'createTime', + isTable: true, + isForm: false, + formatter: dateFormatter, + sortTableDefault: 13, + 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' + } + }, + 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')] + } } - } - }, - - - // { - // label: '自动发布', - // field: 'autoPublish', - // dictType: DICT_TYPE.TRUE_FALSE, - // dictClass: 'string', - // isTable: true, - // sort: 'custom', - // table: { - // width: 150 - // }, - // form: { - // component: 'Switch', - // value: "TRUE", - // componentProps: { - // inactiveValue: 'FALSE', - // activeValue: 'TRUE' - // } - // } - // }, - // { - // label: '自动接收', - // field: 'autoAccept', - // dictType: DICT_TYPE.TRUE_FALSE, - // dictClass: 'string', - // isTable: true, - // sort: 'custom', - // table: { - // width: 150 - // }, - // form: { - // component: 'Switch', - // value: "TRUE", - // componentProps: { - // inactiveValue: 'FALSE', - // activeValue: 'TRUE' - // } - // } - // }, - // { - // label: '是否可用', - // field: 'available', - // dictType: DICT_TYPE.TRUE_FALSE, - // dictClass: 'string', - // isTable: true, - // sort: 'custom', - // table: { - // width: 150 - // }, - // form: { - // component: 'Switch', - // value: 'TRUE', - // componentProps: { - // inactiveValue: 'FALSE', - // activeValue: 'TRUE', - // disabled: true - // } - // }, - // isSearch: true, - // }, - { - label: '创建者', - field: 'creator', - sort: 'custom', - isForm: false, - isTable:false, - table: { - width: 150 - }, - }, - { - label: '创建时间', - field: 'createTime', - isTable:true, - isForm: false, - formatter: dateFormatter, - sortTableDefault:13, - 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', + }, + { + label: '最后更新者', + field: 'updater', + sort: 'custom', + isForm: false, + isTable: false, + table: { + width: 150 } }, - 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')] + { + label: '最后更新时间', + field: 'updateTime', + isTable: false, + isForm: false, + 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' + } } }, - }, - { - label: '最后更新者', - field: 'updater', - sort: 'custom', - isForm: false, - isTable:false, - table: { - width: 150 - }, - }, - { - label: '最后更新时间', - field: 'updateTime', - isTable: false, - isForm: false, - 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', + { + label: '备注', + field: 'remark', + sort: 'custom', + table: { + width: 150 + }, + isTable: false, + isForm: false, + isDetail: false + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + table: { + width: 250, + fixed: 'right' } } - }, - { - label: '备注', - field: 'remark', - sort: 'custom', - table: { - width: 150 - }, - isTable: false, - isForm:false, - isDetail:false, - }, - { - label: '操作', - field: 'action', - isDetail: false, - isForm: false, - table: { - width: 250, - fixed: 'right' - } - } -])) + ]) +) //表单校验 export const PurchasePlanMainRules = reactive({ - available: [ - { required: true, message: '请选择是否可用', trigger: 'change' } - ], - supplierCode: [ - { required: true, message: '请选择供应商代码', trigger: 'change' } - ], - poNumber: [ - { required: true, message: '请选择采购订单号', trigger: 'change' } - ], - deliveryDate: [ - { required: true, message: '请选择送达时间', trigger: 'change' } - ], - status: [ - { required: true, message: '请选择状态', trigger: 'change' } - ], - number: [ - { required: true, message: '请输入单据号', trigger: 'blur' } - ], - businessType: [ - { required: true, message: '请输入业务类型', trigger: 'blur' } - ], - remark: [ - { max: 50, message: '不得超过50个字符', trigger: 'blur' } - ], + available: [{ required: true, message: '请选择是否可用', trigger: 'change' }], + supplierCode: [{ required: true, message: '请选择供应商代码', trigger: 'change' }], + poNumber: [{ required: true, message: '请选择采购订单号', trigger: 'change' }], + deliveryDate: [{ required: true, message: '请选择送达时间', trigger: 'change' }], + status: [{ required: true, message: '请选择状态', trigger: 'change' }], + number: [{ required: true, message: '请输入单据号', trigger: 'blur' }], + businessType: [{ required: true, message: '请输入业务类型', trigger: 'blur' }], + remark: [{ max: 50, message: '不得超过50个字符', trigger: 'blur' }] }) /** * @returns {Array} 要货计划子表 */ -export const PurchasePlanDetail = useCrudSchemas(reactive([ - { - label: '采购订单号', - field: 'poNumber', - isSearch:true, - isTable:true, - sortTableDefault:11, - sortSearchDefault:11, - isForm:false, - isTableForm:false, - table: { - width: 150 - }, - search: { - // labelMessage: '信息提示说明!!!', - componentProps: { - dialogWidth:'1085px',//搜索出来弹窗的宽度 - isSearchList: true, - enterSearch: true, - searchListPlaceholder: '请选择采购订单', - searchField: 'number', - searchTitle: '采购订单信息', - searchAllSchemas: PurchaseMain.allSchemas, - searchPage: PurchaseMainApi.getPurchaseMainPage, - searchCondition: [{ - key: 'available', - value: 'TRUE', - isMainValue: false - },{ - key: 'supplierCode', - value: 'supplierCode', - message: '请填写供应商代码!', - isMainValue: true - },{ - key: 'status', - value: 2, - isMainValue: false - }] +export const PurchasePlanDetail = useCrudSchemas( + reactive([ + { + label: '采购订单号', + field: 'poNumber', + isSearch: true, + isTable: true, + sortTableDefault: 11, + sortSearchDefault: 11, + isForm: false, + isTableForm: false, + table: { + width: 150 + }, + search: { + // labelMessage: '信息提示说明!!!', + componentProps: { + dialogWidth: '1085px', //搜索出来弹窗的宽度 + isSearchList: true, + enterSearch: true, + searchListPlaceholder: '请选择采购订单', + searchField: 'number', + searchTitle: '采购订单信息', + searchAllSchemas: PurchaseMain.allSchemas, + searchPage: PurchaseMainApi.getPurchaseMainPage, + searchCondition: [ + { + key: 'available', + value: 'TRUE', + isMainValue: false + }, + { + key: 'supplierCode', + value: 'supplierCode', + message: '请填写供应商代码!', + isMainValue: true + }, + { + key: 'status', + value: 2, + isMainValue: false + } + ] + } } - } - }, - { - label: '订单行', - field: 'poLine', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault:12, - form: { - // labelMessage: '信息提示说明!!!', - componentProps: { + }, + { + label: '订单行', + field: 'poLine', + sort: 'custom', + table: { + width: 150 + }, + sortTableDefault: 12, + form: { + // labelMessage: '信息提示说明!!!', + componentProps: { + disabled: true, + isSearchList: false, + searchListPlaceholder: '请选择订单行', + searchField: 'lineNumber', + searchTitle: '采购订单信息', + searchAllSchemas: PurchaseDetail.allSchemas, + searchPage: PurchaseDetailApi.getPurchaseDetailPagePoNumber, + searchCondition: [ + { + key: 'number', + value: 'poNumber', + message: '请填写订单号!', + isMainValue: true + }, + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } + }, + tableForm: { + multiple: true, disabled: true, - isSearchList: false, + isInpuFocusShow: false, searchListPlaceholder: '请选择订单行', searchField: 'lineNumber', searchTitle: '采购订单信息', searchAllSchemas: PurchaseDetail.allSchemas, searchPage: PurchaseDetailApi.getPurchaseDetailPagePoNumber, - searchCondition: [{ - key: 'number', - value: 'poNumber', - message: '请填写订单号!', - isMainValue: true - },{ - key: 'available', - value: 'TRUE', - isMainValue: false - }] + searchCondition: [ + { + key: 'number', + value: 'poNumber', + message: '请填写订单号!', + isMainValue: true + }, + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] } }, - tableForm: { - multiple:true, - disabled: true, - isInpuFocusShow: false, - searchListPlaceholder: '请选择订单行', - searchField: 'lineNumber', - searchTitle: '采购订单信息', - searchAllSchemas: PurchaseDetail.allSchemas, - searchPage: PurchaseDetailApi.getPurchaseDetailPagePoNumber, - searchCondition: [{ - key: 'number', - value: 'poNumber', - message: '请填写订单号!', - isMainValue: true - },{ - key: 'available', - value: 'TRUE', - isMainValue: false - }] - } - }, - { - label: '品番', - field: 'itemCode', - sort: 'custom', - table: { - width: 150 - }, - sortTableDefault:5, - sortSearchDefault:5, - isSearch:true, - form: { - componentProps: { + { + label: '品番', + field: 'itemCode', + sort: 'custom', + table: { + width: 150 + }, + sortTableDefault: 5, + sortSearchDefault: 5, + isSearch: true, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { disabled: true + }, + search: { + // labelMessage: '信息提示说明!!!', + componentProps: { + multiple: true, + enterSearch: true, + isSearchList: true, // 开启查询弹窗 + searchListPlaceholder: '请选择物料代码', // 输入框占位文本 + searchField: 'code', // 查询弹窗赋值字段 + searchTitle: '物料基础信息', // 查询弹窗标题 + searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 + searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 + searchCondition: [ + { + key: 'supplierCode', + value: 'supplierCode', + message: '请填写供应商代码!', + isMainValue: true + }, + { + key: 'available', + value: 'TRUE', + isMainValue: false + } + ] + } } }, - tableForm: { - disabled: true - }, - search: { - // labelMessage: '信息提示说明!!!', - componentProps: { - multiple: true, - enterSearch: true, - isSearchList: true, // 开启查询弹窗 - searchListPlaceholder: '请选择物料代码', // 输入框占位文本 - searchField: 'code', // 查询弹窗赋值字段 - searchTitle: '物料基础信息', // 查询弹窗标题 - searchAllSchemas: Itembasic.allSchemas, // 查询弹窗所需类 - searchPage: ItembasicApi.getItembasicPage, // 查询弹窗所需分页方法 - searchCondition: [{ - key: 'supplierCode', - value: 'supplierCode', - message: '请填写供应商代码!', - isMainValue: true, - },{ - key: 'available', - value: 'TRUE', - isMainValue: false - }] - } - } - }, - { - label: '受入地', - field: 'receivedLocation', - sort: 'custom', - sortTableDefault:6, - sortSearchDefault:6, - table: { - width: 150 - }, - isTableForm: true, - isForm: true, - form: { - componentProps: { + { + label: '物料状态', + field: 'itemStatus', + sort: 'custom', + dictType: DICT_TYPE.ITEM_STATUS, + dictClass: 'string', + isTable: true, + sortTableDefault: 10, + sortSearchDefault: 10, + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + type: 'Select', disabled: true } }, - tableForm: { - type: 'Select', - disabled:true, - }, - }, - { - label: '受入号', - field: 'receivedNumber', - sort: 'custom', - sortTableDefault:7, - sortSearchDefault:7, - table: { - width: 150 - }, - isTableForm: true, - isForm: true, - form: { - componentProps: { + { + label: '默认收货库区', + field: 'defaultAreaCode', + table: { + width: 150 + }, + sortTableDefault: 7, + isTableForm: true, + isForm: true, + isTable: true + }, + { + label: '库区描述', + field: 'areaDescription', + table: { + width: 150 + }, + isTableForm: true, + isForm: true, + isTable: true + }, + { + label: '受入号', + field: 'receivedNumber', + sort: 'custom', + sortTableDefault: 7, + sortSearchDefault: 7, + table: { + width: 150 + }, + isTableForm: true, + isForm: true, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + type: 'Select', disabled: true } }, - tableForm: { - type: 'Select', - disabled:true, - }, - }, - { - label: '订单数量', - field: 'orderQty', - sort: 'custom', - sortTableDefault:8, - sortSearchDefault:8, - table: { - width: 150 - }, - form: { - componentProps: { + { + label: '订单数量', + field: 'orderQty', + sort: 'custom', + sortTableDefault: 8, + sortSearchDefault: 8, + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { disabled: true } }, - tableForm: { - disabled: true - } - - }, - { - label: '计划数量', - field: 'planQty', - sort: 'custom', -    sortTableDefault:9, -    sortSearchDefault:9, - table: { - width: 150 - }, - tableForm: { - type: 'InputNumber', - precision: 6 - }, - form: { - component: 'InputNumber', - componentProps: { - min: 0, + { + label: '计划数量', + field: 'planQty', + sort: 'custom', + sortTableDefault: 9, + sortSearchDefault: 9, + table: { + width: 150 + }, + tableForm: { + type: 'InputNumber', precision: 6 + }, + form: { + component: 'InputNumber', + componentProps: { + min: 0, + precision: 6 + } } - } - }, - { - label: '已发货数量', - field: 'shippedQty', - sort: 'custom', - table: { - width: 150 - }, - isTableForm: false, - isForm: false, - isTable: false, - }, + }, + { + label: '已发货数量', + field: 'shippedQty', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + isTable: false + }, - { - label: '在途数量', - field: 'notReceiveQty', - sort: 'custom', - table: { - width: 150 - }, - isTableForm: false, - isForm: false, - isTable: false, - sortTableDefault:7, - }, - { - label: '计量单位', - field: 'uom', - sort: 'custom', - dictType: DICT_TYPE.UOM, - dictClass: 'string', - isTable: true, -    sortTableDefault:10, -    sortSearchDefault:10, - table: { - width: 150 - }, - form: { - componentProps: { + { + label: '在途数量', + field: 'notReceiveQty', + sort: 'custom', + table: { + width: 150 + }, + isTableForm: false, + isForm: false, + isTable: false, + sortTableDefault: 7 + }, + { + label: '计量单位', + field: 'uom', + sort: 'custom', + dictType: DICT_TYPE.UOM, + dictClass: 'string', + isTable: true, + sortTableDefault: 10, + sortSearchDefault: 10, + table: { + width: 150 + }, + form: { + componentProps: { + disabled: true + } + }, + tableForm: { + type: 'Select', disabled: true } }, - tableForm: { - type: 'Select', - disabled:true, - } - }, - { - label: '要货计划单号', - field: 'number', - sort: 'custom', - isTableForm: false, - hiddenInMain:true, - table: { - width: 180 - }, - form: { - componentProps: { - disabled: true + { + label: '要货计划单号', + field: 'number', + sort: 'custom', + isTableForm: false, + hiddenInMain: true, + table: { + width: 180 + }, + form: { + componentProps: { + disabled: true + } } - } - }, - { - label: '已收货数量', - field: 'receivedQty', - sort: 'custom', - table: { - width: 150 - }, - - isTableForm: false, - isForm: false, - isTable: false, - sortTableDefault:6, - }, - { - label: '是否可用', - field: 'available', - dictType: DICT_TYPE.TRUE_FALSE, - dictClass: 'string', - isTable: true, - isTableForm:false, - isForm:false, - hiddenInMain:true, - sort: 'custom', - table: { - width: 150 - }, - tableForm: { - type: 'Select', - inactiveValue: 'FALSE', - disabled: true - }, - form: { - component: 'Switch', - value: 'TRUE', - componentProps: { + }, + { + label: '已收货数量', + field: 'receivedQty', + sort: 'custom', + table: { + width: 150 + }, + + isTableForm: false, + isForm: false, + isTable: false, + sortTableDefault: 6 + }, + { + label: '是否可用', + field: 'available', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', + isTable: true, + isTableForm: false, + isForm: false, + hiddenInMain: true, + sort: 'custom', + table: { + width: 150 + }, + tableForm: { + type: 'Select', inactiveValue: 'FALSE', - activeValue: 'TRUE' + disabled: true + }, + form: { + component: 'Switch', + value: 'TRUE', + componentProps: { + inactiveValue: 'FALSE', + activeValue: 'TRUE' + } } - } - }, - { - label: '最后更新者', - field: 'updater', - sort: 'custom', - isTableForm: false, - hiddenInMain:true, - table: { - width: 150 - }, - isForm: false, - }, - { - label: '最后更新时间', - field: 'updateTime', - sort: 'custom', - isTableForm: false, - hiddenInMain:true, - formatter: dateFormatter, - detail: { - dateFormat: 'YYYY-MM-DD HH:mm:ss' - }, - table: { - width: 180 - }, - isForm: false, - form: { - component: 'DatePicker', - componentProps: { - style: { width: '100%' }, - type: 'datetime', - dateFormat: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'x', + }, + { + label: '最后更新者', + field: 'updater', + sort: 'custom', + isTableForm: false, + hiddenInMain: true, + table: { + width: 150 + }, + isForm: false + }, + { + label: '最后更新时间', + field: 'updateTime', + sort: 'custom', + isTableForm: false, + hiddenInMain: true, + formatter: dateFormatter, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, + table: { + width: 180 + }, + isForm: false, + form: { + component: 'DatePicker', + componentProps: { + style: { width: '100%' }, + type: 'datetime', + dateFormat: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'x' + } + } + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + hiddenInMain: true, + isTableForm: false, + table: { + width: 150 } + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false, + hiddenInMain: true, + table: { + width: 150, + fixed: 'right' + }, + isTableForm: false } - }, - { - label: '备注', - field: 'remark', - sort: 'custom', - hiddenInMain:true, - isTableForm:false, - table: { - width: 150 - }, - }, - { - label: '操作', - field: 'action', - isDetail: false, - isForm: false, - hiddenInMain:true, - table: { - width: 150, - fixed: 'right' - }, - isTableForm: false, - } -])) + ]) +) const validatePlanQty = (rule, value, callback) => { - console.log('validatePlanQty',value) + console.log('validatePlanQty', value) const numReg = /^[\d]+$/ - if (numReg.test(value)&&value>=0) { - callback() + if (numReg.test(value) && value >= 0) { + callback() } else { - callback(new Error('计划数量不能小于0')) + callback(new Error('计划数量不能小于0')) } } //表单校验 @@ -915,17 +949,11 @@ export const PurchasePlanDetailRules = reactive({ // available: [ // { required: true, message: '请选择是否可用', trigger: 'change' } // ], - shippedQty: [ - { required: true, message: '请输入已发货数量', trigger: 'blur' } - ], - uom: [ - { required: true, message: '请选择计量单位', trigger: 'change' } - ], + shippedQty: [{ required: true, message: '请输入已发货数量', trigger: 'blur' }], + uom: [{ required: true, message: '请选择计量单位', trigger: 'change' }], planQty: [ { required: true, message: '请输入计划数量', trigger: 'blur' }, - { validator:validatePlanQty, message: '计划数量不能小于0', trigger: 'blur'} - ], - remark: [ - { max: 50, message: '不得超过50个字符', trigger: 'blur' } + { validator: validatePlanQty, message: '计划数量不能小于0', trigger: 'blur' } ], + remark: [{ max: 50, message: '不得超过50个字符', trigger: 'blur' }] }) diff --git a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue index da7d1e0fe..899bf6789 100644 --- a/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue +++ b/src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue @@ -882,7 +882,7 @@ const openForm = async (type: string, row?: any) => { if ( item.field == 'taxRate' || item.field == 'procurementCreator' || - item.field == 'beforeTaxAmount' || + // item.field == 'beforeTaxAmount' || item.field == 'totalTaxAmount' || item.field == 'goldenTaxInvoiceNumber' || item.field == 'invoiceTime' ||