+
+
{{ t(`ts.${'确 定'}`) }}
- {{ t(`ts.${'取 消'}`) }}
+ {{ t(`ts.${'取 消'}`) }}
@@ -64,7 +65,12 @@ const props = defineProps({
isCheckStrictly:{
type:Boolean,
default:false
- }
+ },
+ // 隐藏底部操作
+ hiddenFooterActions:{
+ type:Boolean,
+ default:false
+ },
})
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
@@ -248,7 +254,6 @@ const buttonBaseClick = (val, item) => {
}
-defineExpose({ open,openData,updateData,hiddenFilterButton ,changeDialogWidth,searchFormClick}) // 提供 open 方法,用于打开弹窗
// Table 组件 ref
const searchTableRef = ref()
@@ -307,6 +312,11 @@ const rowClick = (row: any, column: any, event: Event) => {
searchTableRef.value?.elTableRef?.toggleRowSelection(row, false)
}
}
+const cancleClick = ()=>{
+ searchDialogVisible.value = false
+}
+defineExpose({ open,openData,updateData,hiddenFilterButton ,changeDialogWidth,searchFormClick,submitForm,cancleClick,}) // 提供 open 方法,用于打开弹窗
+
\ No newline at end of file
diff --git a/src/layout/components/UserInfo/src/UserInfo.vue b/src/layout/components/UserInfo/src/UserInfo.vue
index 2c14ae415..8eeb365cb 100644
--- a/src/layout/components/UserInfo/src/UserInfo.vue
+++ b/src/layout/components/UserInfo/src/UserInfo.vue
@@ -62,7 +62,7 @@ const toDocument = () => {
diff --git a/src/views/login/components/LoginForm.vue b/src/views/login/components/LoginForm.vue
index 768601fbc..c9a9d3052 100644
--- a/src/views/login/components/LoginForm.vue
+++ b/src/views/login/components/LoginForm.vue
@@ -300,6 +300,7 @@
getCode()
return
}
+
loading.value = ElLoading.service({
lock: true,
text: '正在加载系统中...',
diff --git a/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfo/index.vue b/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfo/index.vue
new file mode 100644
index 000000000..42aa324d1
--- /dev/null
+++ b/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfo/index.vue
@@ -0,0 +1,246 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfo/onlinesettlementInfo.data.ts b/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfo/onlinesettlementInfo.data.ts
new file mode 100644
index 000000000..5926d8ff0
--- /dev/null
+++ b/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfo/onlinesettlementInfo.data.ts
@@ -0,0 +1,387 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const OnlinesettlementInfoRules = reactive({
+ poNumber: [required],
+ poLine: [required],
+ itemCode: [required],
+ inventoryStatus: [required],
+ concurrencyStamp: [required],
+})
+
+export const OnlinesettlementInfo = useCrudSchemas(reactive([
+ {
+ label: 'id',
+ field: 'id',
+ sort: 'custom',
+ isForm: false,
+ isTable:false,
+ },
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ fixed: 'left',
+ width: 180
+ },
+ },
+ {
+ label: '收料记录单号',
+ field: 'receiptRecordNumber',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '收货日期',
+ field: 'receiptDate',
+ sort: 'custom',
+ formatter: dateFormatter,
+ table: {
+ width: 180
+ },
+ 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: 'outTransactionType',
+ sort: 'custom',
+ isSearch: false,
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '入库事务类型',
+ field: 'inTransactionType',
+ sort: 'custom',
+ isSearch: false,
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '供应商代码',
+ field: 'supplierCode',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '供应商物料代码',
+ field: 'supplierItemCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '订单号',
+ field: 'poNumber',
+ sort: 'custom',
+ isSearch: false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '订单行',
+ field: 'poLine',
+ sort: 'custom',
+ isSearch: false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '物品代码',
+ field: 'itemCode',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '物品名称',
+ field: 'itemName',
+ sort: 'custom',
+ isSearch: false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '物品描述1',
+ field: 'itemDesc1',
+ sort: 'custom',
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '物品描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '项目代码',
+ field: 'projectCode',
+ sort: 'custom',
+ isSearch: false,
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ isSearch: false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ sort: 'custom',
+ isSearch: false,
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '包装号',
+ field: 'packingNumber',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ sort: 'custom',
+ isSearch: false,
+ isTable:false,
+ form: {
+ component: 'Radio'
+ },
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '来源库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ isTable:false,
+ isSearch: false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '来源库位组代码',
+ field: 'fromLocationGroupCode',
+ sort: 'custom',
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '来源库区代码',
+ field: 'fromAreaCode',
+ sort: 'custom',
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '来源仓库',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '目标库位代码',
+ field: 'toLocationCode',
+ sort: 'custom',
+ isSearch: true,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '目标库位组代码',
+ field: 'toLocationGroupCode',
+ sort: 'custom',
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '目标库区代码',
+ field: 'toAreaCode',
+ sort: 'custom',
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '目标仓库',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '结算数量',
+ field: 'settlementQty',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '结算记录单号',
+ field: 'settlementRecordNumber',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '结算业务类型',
+ field: 'settlementBusinessType',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '结算日期',
+ field: 'settlementDatetime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: true,
+ table: {
+ width: 180
+ },
+ 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: 'concurrencyStamp',
+ // sort: 'custom',
+ // isSearch: false,
+ // isTable:false,
+ // form: {
+ // component: 'InputNumber',
+ // value: 0
+ // },
+ // },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: false,
+ isTable:false,
+ table: {
+ width: 180
+ },
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ table: {
+ width: 180
+ },
+ isSearch: true,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ // {
+ // label: '操作',
+ // field: 'action',
+ // isForm: false,
+ // table: {
+ // width: 150,
+ // fixed: 'right'
+ // }
+ // }
+]))
diff --git a/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfoDetail/index.vue b/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfoDetail/index.vue
new file mode 100644
index 000000000..30964e2ad
--- /dev/null
+++ b/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfoDetail/index.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
diff --git a/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfoDetail/onlinesettlementInfoDetail.data.ts b/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfoDetail/onlinesettlementInfoDetail.data.ts
new file mode 100644
index 000000000..fafadd962
--- /dev/null
+++ b/src/views/wms/issueManage/onlinesettlement/onlinesettlementInfoDetail/onlinesettlementInfoDetail.data.ts
@@ -0,0 +1,91 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const OnlinesettlementInfoDetailRules = reactive({
+ masterId: [required],
+ concurrencyStamp: [required],
+})
+
+export const OnlinesettlementInfoDetail = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '主表ID',
+ field: 'masterId',
+ sort: 'custom',
+ isTable:false,
+ },
+ {
+ label: '结算数量',
+ field: 'settlementQty',
+ sort: 'custom',
+ },
+ {
+ label: '结算记录单号',
+ field: 'settlementRecordNumber',
+ sort: 'custom',
+ },
+ {
+ label: '结算业务类型',
+ field: 'settlementBusinessType',
+ sort: 'custom',
+ },
+ {
+ label: '结算日期',
+ field: 'settlementDatetime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ type: 'datetime',
+ valueFormat: 'x'
+ }
+ },
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: true,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ // {
+ // label: '操作',
+ // field: 'action',
+ // isForm: false,
+ // table: {
+ // width: 150,
+ // fixed: 'right'
+ // }
+ // }
+]))
diff --git a/src/views/wms/issueManage/onlinesettlement/settlementConfiguration/index.vue b/src/views/wms/issueManage/onlinesettlement/settlementConfiguration/index.vue
new file mode 100644
index 000000000..391ed0961
--- /dev/null
+++ b/src/views/wms/issueManage/onlinesettlement/settlementConfiguration/index.vue
@@ -0,0 +1,401 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.code }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
来源仓库
+
+ handleDeleteTable(item, index,'from')"
+ @tableSelectionDelete="(selection)=>tableSelectionDelete(selection,'from')"
+ @inpuFocus="inpuFocus"
+ @inputStringBlur="inputStringBlur"
+ :routeName="routeName"
+ >
+
+
+
+
+
+
目标仓库
+
+ handleDeleteTable(item, index,'to')"
+ @tableSelectionDelete="(selection)=>tableSelectionDelete(selection,'to')"
+ @inpuFocus="inpuFocus"
+ @inputStringBlur="inputStringBlur"
+ :routeName="routeName"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/issueManage/onlinesettlement/settlementConfiguration/settlementConfiguration.data.ts b/src/views/wms/issueManage/onlinesettlement/settlementConfiguration/settlementConfiguration.data.ts
new file mode 100644
index 000000000..ab4b0f97e
--- /dev/null
+++ b/src/views/wms/issueManage/onlinesettlement/settlementConfiguration/settlementConfiguration.data.ts
@@ -0,0 +1,240 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as SupplierApi from '@/api/wms/supplier'
+import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data'
+import * as SupplieritemApi from '@/api/wms/supplieritem'
+import { Supplieritem} from '@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data'
+import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
+import * as WarehouseApi from '@/api/wms/warehouse'
+
+// 表单校验
+export const SettlementConfigurationRules = reactive({
+ supplierCode: [
+ { required: true, message: '请选择供应商代码', trigger: 'blur' }
+ ],
+ itemCode: [
+ { required: true, message: '请选择物料代码', trigger: 'blur' }
+ ],
+})
+
+export const SettlementConfiguration = useCrudSchemas(reactive([
+ {
+ label: 'ID',
+ field: 'id',
+ sort: 'custom',
+ isForm: false,
+ isTable:false,
+ },
+ {
+ label: '供应商代码',
+ field: 'supplierCode',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ componentProps: {
+ enterSearch:true,
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择供应商代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '供应商信息', // 查询弹窗标题
+ searchAllSchemas: Supplier.allSchemas, // 查询弹窗所需类
+ searchPage: SupplierApi.getSupplierPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }],
+ verificationParams: [{
+ key: 'code',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true,
+ }], // 失去焦点校验参数
+ }
+ },
+ },
+ {
+ label: '供应商名称',
+ field: 'supplierName',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ componentProps: {
+ enterSearch:true,
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择物料代码', // 输入框占位文本
+ searchField: 'itemCode', // 查询弹窗赋值字段
+ searchTitle: '供应商物料信息', // 查询弹窗标题
+ searchAllSchemas: Supplieritem.allSchemas, // 查询弹窗所需类
+ searchPage: SupplieritemApi.getSupplieritemPage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'supplierCode',
+ value: 'supplierCode',
+ message: '请填写供应商代码!',
+ isMainValue: true,
+ isCSV:true,//是否用逗号分隔参数
+ },{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '物料名称',
+ field: 'itemName',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '物料描述',
+ field: 'itemDesc1',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '物料描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ isTable: false,
+ isForm: false,
+ },
+ {
+ label: '来源仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ isForm: false
+ },
+ {
+ label: '目标仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ isForm: false
+ },
+ // {
+ // label: '备注',
+ // field: 'remark',
+ // sort: 'custom',
+ // isSearch: true,
+ // },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: true,
+ isForm: false,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: true,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ // {
+ // label: '并发乐观锁',
+ // field: 'concurrencyStamp',
+ // sort: 'custom',
+ // isSearch: false,
+ // isTable: false,
+ // form: {
+ // component: 'InputNumber',
+ // value: 0
+ // },
+ // },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
+
+export const SettlementConfigurationDetail = useCrudSchemas(reactive([
+ {
+ label: '仓库代码',
+ field: 'warehouseCode',
+ sort: 'custom',
+ tableForm:{
+ multiple:true,//多选
+ enterSearch: false,
+ isInpuFocusShow: false, // 开启查询弹窗
+ disabled: true,
+ searchListPlaceholder: '请选择仓库代码',
+ searchField: 'code',
+ searchTitle: '仓库信息',
+ searchAllSchemas: Warehouse.allSchemas,
+ searchPage: WarehouseApi.getWarehousePage,
+ searchCondition: [
+ {
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }
+ ],
+ verificationParams: [
+ {
+ key: 'code',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true
+ }
+ ] // 失去焦点校验参数
+ },
+ },
+ {
+ label: '仓库名称',
+ field: 'warehouseName',
+ sort: 'custom',
+ tableForm:{
+ disabled: true
+ }
+ },
+]))
+
+
+//表单校验
+export const SettlementConfigurationDetailRules = reactive({
+ fromWarehouseCode: [
+ { required: true, message: '请选择来源仓库', trigger: 'change' }
+ ]
+})
diff --git a/src/views/wms/issueManage/onlinesettlement/settlementReport/index.vue b/src/views/wms/issueManage/onlinesettlement/settlementReport/index.vue
new file mode 100644
index 000000000..9fefd8abc
--- /dev/null
+++ b/src/views/wms/issueManage/onlinesettlement/settlementReport/index.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 结算库位
+ {{ t(`ts.${'取 消'}`) }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/issueManage/onlinesettlement/settlementReport/settlementReport.data.ts b/src/views/wms/issueManage/onlinesettlement/settlementReport/settlementReport.data.ts
new file mode 100644
index 000000000..9b7a95083
--- /dev/null
+++ b/src/views/wms/issueManage/onlinesettlement/settlementReport/settlementReport.data.ts
@@ -0,0 +1,206 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as SupplierApi from '@/api/wms/supplier'
+import { Supplier } from '@/views/wms/basicDataManage/supplierManage/supplier/supplier.data'
+import * as SupplieritemApi from '@/api/wms/supplieritem'
+import { Supplieritem} from '@/views/wms/basicDataManage/supplierManage/supplieritem/supplieritem.data'
+import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
+import * as WarehouseApi from '@/api/wms/warehouse'
+import * as LocationApi from '@/api/wms/location'
+import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
+
+// 表单校验
+export const SettlementReportRules = reactive({
+})
+
+export const SettlementReport = useCrudSchemas(reactive([
+
+ {
+ label: '供应商代码',
+ field: 'supplierCode',
+ sort: 'custom',
+ isSearch: true,
+
+ },
+ {
+ label: '供应商名称',
+ field: 'supplierName',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ },
+ {
+ label: '物料名称',
+ field: 'itemName',
+ sort: 'custom',
+ },
+ {
+ label: '累计收货量',
+ field: 'totalReceiptQty',
+ sort: 'custom',
+ },
+ {
+ label: '已结算数量',
+ field: 'totalSettledQty',
+ sort: 'custom',
+ },
+ {
+ label: '未结算数量',
+ field: 'totalOutstandingSettleQty',
+ sort: 'custom',
+ isForm: false
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
+
+export const SettlementReportSelection = useCrudSchemas(reactive([
+ {
+ label: ' ',
+ field: 'hahaha',
+ table: {
+ width: 180
+ },
+ isTable:false,
+ isDetail:false,
+ form: {
+ componentProps: {
+ type: 'slot',
+ }
+ },
+ },
+ {
+ label: '供应商代码',
+ field: 'supplierCode',
+ sort: 'custom',
+ isSearch: true,
+
+ },
+ {
+ label: '供应商名称',
+ field: 'supplierName',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '物料名称',
+ field: 'itemName',
+ sort: 'custom',
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ },
+ {
+ label: '包装号',
+ field: 'packingNumber',
+ sort: 'custom',
+ },
+ {
+ label: '库位代码',
+ field: 'locationCode',
+ sort: 'custom',
+ },
+ {
+ label: '库存数量',
+ field: 'qty',
+ sort: 'custom',
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ }
+]))
+//表单校验
+export const SettlementReportSelectionRules = reactive({
+ // fromWarehouseCode: [
+ // { required: true, message: '请选择来源仓库', trigger: 'change' }
+ // ],
+})
+
+
+export const SettlementReportSelectionForm = useCrudSchemas(reactive([
+ {
+ label: '结算库位',
+ field: 'toLocationCode',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ enterSearch: true,
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择结算库位代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '库位信息', // 查询弹窗标题
+ searchAllSchemas: Location.allSchemas, // 查询弹窗所需类
+ searchPage: LocationApi.getLocationPageOnlineSettlement, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ },{
+ key: 'supplierCode',
+ value: 'supplierCode',
+ message: '请填写供应商代码!',
+ isMainValue: true
+ },{
+ key: 'itemCode',
+ value: 'itemCode',
+ message: '请填写物料代码!',
+ isMainValue: true
+ }],
+ verificationParams: [{
+ key: 'code',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true
+ }], // 失去焦点校验参数
+ }
+ }
+ }
+]))
+
+export const SettlementReportSelectionFormRules = reactive({
+ toLocationCode: [
+ { required: true, message: '请选择结算库位', trigger: 'change' }
+ ],
+})
diff --git a/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/index.vue b/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/index.vue
new file mode 100644
index 000000000..bc6b4f320
--- /dev/null
+++ b/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/index.vue
@@ -0,0 +1,482 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+./inventorymoveRecordRequestMain.data
diff --git a/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/inventorymoveRecordMainNew.data.ts b/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/inventorymoveRecordMainNew.data.ts
new file mode 100644
index 000000000..f928301b2
--- /dev/null
+++ b/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/inventorymoveRecordMainNew.data.ts
@@ -0,0 +1,479 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter,dateFormatter2 } from '@/utils/formatTime'
+
+/**
+ * @returns {Array} 库存转移记录主表
+ */
+export const InventorymoveRecordMainNew = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 180,
+ fixed: 'left'
+ },
+ isSearch: true
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:22
+
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:23
+ },
+ {
+ label: '出库事务类型',
+ field: 'outTransactionType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:24
+ },
+ {
+ label: '入库事务类型',
+ field: 'inTransactionType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:25
+ },
+ {
+ label: '业务类型',
+ field: 'businessType',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:36
+ },
+ {
+ 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',
+ }
+ },
+ 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')]
+ }
+ },
+ sortTableDefault:34
+ },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:35
+ },
+ {
+ label: '最后更新时间',
+ field: 'updateTime',
+ sort: 'custom',
+ isDetail: true,
+ isForm: false,
+ isTable: false,
+ 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: false,
+ table: {
+ width: 150
+ }
+ },
+ // {
+ // label: '代码',
+ // field: 'code',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // },
+ // {
+ // label: '是否可用',
+ // field: 'available',
+ // dictType: DICT_TYPE.TRUE_FALSE,
+ // dictClass: 'string',
+ // isSearch: true,
+ // isTable: true,
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // form: {
+ // component: 'Switch',
+ // value: 'TRUE',
+ // componentProps: {
+ // inactiveValue: 'FALSE',
+ // activeValue: 'TRUE'
+ // }
+ // }
+ // },
+ // {
+ // label: '操作',
+ // field: 'action',
+ // isDetail: false,
+ // isForm: false ,
+ // table: {
+ // width: 120,
+ // fixed: 'right'
+ // },
+ // }
+]))
+
+//表单校验
+export const InventorymoveRecordMainNewRules = reactive({
+ requestNumber: [
+ { required: true, message: '请选择申请单号', trigger: 'change' }
+ ],
+ fromWarehouseCode: [
+ { required: true, message: '请选择从仓库代码', trigger: 'change' }
+ ],
+ fromAreaTypes: [
+ { required: true, message: '请选择从库区类型范围', trigger: 'change' }
+ ],
+ fromAreaCodes: [
+ { required: true, message: '请选择从库区代码范围', trigger: 'change' }
+ ],
+ toWarehouseCode: [
+ { required: true, message: '请选择到仓库代码', trigger: 'change' }
+ ],
+ toAreaTypes: [
+ { required: true, message: '请选择到库区类型范围', trigger: 'change' }
+ ],
+ outTransaction: [
+ { required: true, message: '请输入出库事务类型', trigger: 'blur' }
+ ],
+ inTransaction: [
+ { required: true, message: '请输入入库事务类型', trigger: 'blur' }
+ ],
+ executeTime: [
+ { required: true, message: '请输入执行时间', trigger: 'change' }
+ ],
+ activeDate: [
+ { required: true, message: '请输入生效日期', trigger: 'change' }
+ ],
+ available: [
+ { required: true, message: '请输入是否可用', trigger: 'blur' }
+ ],
+ departmentCode: [
+ { required: true, message: '请输入部门', trigger: 'blur' }
+ ],
+ interfaceType: [
+ { required: true, message: '请选择接口类型', trigger: 'change' }
+ ],
+ number: [
+ { required: true, message: '请输入单据号', trigger: 'blur' }
+ ],
+ businessType: [
+ { required: true, message: '请输入业务类型', trigger: 'blur' }
+ ],
+ createTime: [
+ { required: true, message: '请输入创建时间', trigger: 'blur' }
+ ],
+ creator: [
+ { required: true, message: '请输入创建者', trigger: 'blur' }
+ ],
+})
+
+/**
+ * @returns {Array} 库存转移记录子表
+ */
+export const InventorymoveRecordDetailNew = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 180
+ },
+ hiddenInMain: true,
+ },
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:10,
+ },
+ {
+ label: '物料名称',
+ field: 'itemName',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:27
+ },
+ {
+ label: '物料描述1',
+ field: 'itemDesc1',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:28
+ },
+ {
+ label: '物料描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:29
+ },
+ {
+ label: '从批次',
+ field: 'fromBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:18
+ },
+ {
+ label: '到批次',
+ field: 'toBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:19
+ },
+ {
+ label: '从包装号',
+ field: 'fromPackingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:11
+ },
+ {
+ label: '到包装号',
+ field: 'toPackingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:12
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ },
+ sortTableDefault:17
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:30
+ },
+ {
+ label: '从库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:13
+ },
+ {
+ label: '到库位代码',
+ field: 'toLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:14
+ },
+ {
+ label: '从库存状态',
+ field: 'fromInventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:15
+ },
+ {
+ label: '到库存状态',
+ field: 'toInventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:16
+ },
+ {
+ label: '从库位组代码',
+ field: 'fromLocationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:31
+ },
+ {
+ label: '到库位组代码',
+ field: 'toLocationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:32
+ },
+ {
+ label: '从库区代码',
+ field: 'fromAreaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:20
+ },
+ {
+ label: '到库区代码',
+ field: 'toAreaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ sortTableDefault:21
+ },
+]))
+
+//表单校验
+export const InventorymoveRecordDetailNewRules = reactive({
+ fromPackingNumber: [
+ { required: true, message: '请选择从包装号', trigger: 'change' }
+ ],
+ fromBatch: [
+ { required: true, message: '请输入从批次', trigger: 'blur' }
+ ],
+ fromLocationCode: [
+ { required: true, message: '请选择从库位代码', trigger: 'change' }
+ ],
+ fromLocationGroupCode: [
+ { required: true, message: '请选择从库位组代码', trigger: 'change' }
+ ],
+ fromAreaCode: [
+ { required: true, message: '请选择从库区代码', trigger: 'change' }
+ ],
+ fromInventoryStatus: [
+ { required: true, message: '请选择从库存状态', trigger: 'change' }
+ ],
+ toPackingNumber: [
+ { required: true, message: '请选择到包装号', trigger: 'change' }
+ ],
+ toBatch: [
+ { required: true, message: '请输入到批次', trigger: 'blur' }
+ ],
+ toLocationCode: [
+ { required: true, message: '请选择到库位代码', trigger: 'change' }
+ ],
+ toLocationGroupCode: [
+ { required: true, message: '请选择到库位组代码', trigger: 'change' }
+ ],
+ toAreaCode: [
+ { required: true, message: '请选择到库区代码', trigger: 'change' }
+ ],
+ toInventoryStatus: [
+ { required: true, message: '请选择到库存状态', trigger: 'change' }
+ ],
+ number: [
+ { required: true, message: '请输入单据号', trigger: 'blur' }
+ ],
+ itemCode: [
+ { required: true, message: '请选择物料代码', trigger: 'change' }
+ ],
+ createTime: [
+ { required: true, message: '请输入创建时间', trigger: 'blur' }
+ ],
+ creator: [
+ { required: true, message: '请输入创建者', trigger: 'blur' }
+ ],
+})
diff --git a/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/inventorymoveRecordRequestMain.data.ts b/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/inventorymoveRecordRequestMain.data.ts
new file mode 100644
index 000000000..f447783cf
--- /dev/null
+++ b/src/views/wms/moveManage/inventorymove/inventorymoveRecordMainSettlement/inventorymoveRecordRequestMain.data.ts
@@ -0,0 +1,988 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
+import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
+
+import * as BalanceApi from '@/api/wms/balance'
+import { Balance } from '@/views/wms/inventoryManage/balance/balance.data'
+
+import * as LocationApi from '@/api/wms/location'
+import { Location } from '@/views/wms/basicDataManage/factoryModeling/location/location.data'
+import * as ItempackagingApi from '@/api/wms/itempackage'
+import { Itempackaging } from '@//views/wms/basicDataManage/itemManage/itempackage/itempackage.data'
+
+import * as WarehouseApi from '@/api/wms/warehouse'
+import { Warehouse } from '@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data'
+
+const { t } = useI18n() // 国际化
+
+// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
+const queryParams = {
+ pageSize:10,
+ pageNo:1,
+ code:'MoveRequest'
+}
+ const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
+ const requestsettingData =data?.list[0]||{}
+
+ // 获取当前操作人的部门
+ import { useUserStore } from '@/store/modules/user'
+ import { TableColumn } from '@/types/table'
+ const userStore = useUserStore()
+ const userDept = userStore.userSelfInfo.dept
+ // id 转str 否则form回显匹配不到
+ userDept.id = userDept.id.toString()
+ const userDeptArray:any = [userDept]
+
+/**
+ * @returns {Array} 库存转移申请主表
+ */
+export const InventorymoveRequestMain = useCrudSchemas(reactive([
+ {
+ label: '从库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ enterSearch: true,
+ isInpuFocusShow: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择从库位代码',
+ searchField: 'code',
+ searchTitle: '库位信息',
+ searchAllSchemas: Location.allSchemas,
+ searchPage: LocationApi.selectBusinessTypeToLocation,
+ searchCondition: [
+ {
+ key: 'businessType',
+ value: 'Move',
+ isMainValue: false
+ },{
+ key: 'isIn',
+ value: 'out',
+ isMainValue: false
+ }],
+ isRepeat:true,
+ verificationParams: [{
+ key: 'code',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true,
+ }], // 失去焦点校验参数
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ enterSearch: true,
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择从库位代码',
+ searchField: 'code',
+ searchTitle: '库位信息',
+ searchAllSchemas: Location.allSchemas,
+ searchPage: LocationApi.selectBusinessTypeToLocation,
+ searchCondition: [
+ {
+ key: 'businessType',
+ value: 'Move',
+ isMainValue: false
+ },{
+ key: 'isIn',
+ value: 'out',
+ isMainValue: false
+ }],
+ verificationParams: [{
+ key: 'code',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true,
+ }], // 失去焦点校验参数
+ }
+ }
+ },
+ {
+ label: '到库位代码',
+ field: 'toLocationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ enterSearch: true,
+ isInpuFocusShow: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择到库位代码',
+ searchField: 'code',
+ searchTitle: '库位信息',
+ searchAllSchemas: Location.allSchemas,
+ searchPage: LocationApi.selectBusinessTypeToLocation,
+ searchCondition: [
+ {
+ key: 'businessType',
+ value: 'Move',
+ isMainValue: false
+ },{
+ key: 'isIn',
+ value: 'in',
+ isMainValue: false
+ },
+ {
+ key:'available', // 查询列表中字段
+ value:'TRUE', // 指查询具体值
+ isMainValue: false // 表示查询条件不是主表的字段的值
+ }],
+ isRepeat:true,
+ verificationParams: [{
+ key: 'code',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true,
+ }], // 失去焦点校验参数
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ enterSearch: true,
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择到库位代码',
+ searchField: 'code',
+ searchTitle: '库位信息',
+ searchAllSchemas: Location.allSchemas,
+ searchPage: LocationApi.selectBusinessTypeToLocation,
+ searchCondition: [
+ {
+ key: 'businessType',
+ value: 'Move',
+ isMainValue: false
+ },{
+ key: 'isIn',
+ value: 'in',
+ isMainValue: false
+ },
+ {
+ key:'available', // 查询列表中字段
+ value:'TRUE', // 指查询具体值
+ isMainValue: false // 表示查询条件不是主表的字段的值
+ }],
+ verificationParams: [{
+ key: 'code',
+ action: '==',
+ value: '',
+ isMainValue: false,
+ isSearch: true,
+ isFormModel: true,
+ }], // 失去焦点校验参数
+ }
+ }
+ },
+ {
+ label: '到库存状态',
+ field: 'toInventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ disabled: false,
+ type: 'Select'
+ },
+ form: {
+ value:'OK',
+ componentProps: {
+ disabled: false,
+ }
+ }
+ },
+ {
+ label: '截止时间',
+ field: 'dueTime',
+ 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',
+ }
+ },
+ },
+]))
+
+//表单校验
+export const InventorymoveRequestMainRules = reactive({
+ fromWarehouseCode: [
+ { required: true, message: '请选择从仓库代码', trigger: 'blur' }
+ ],
+ toWarehouseCode: [
+ { required: true, message: '请选择到仓库代码', trigger: 'blur' }
+ ],
+ fromLocationCode: [
+ { required: true, message: '请选择从库位代码', trigger: 'change' }
+ ],
+ toLocationCode: [
+ { required: true, message: '请选择到库位代码', trigger: 'change' }
+ ]
+})
+export const BalanceCopy = useCrudSchemas(
+ reactive([
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isSearch: true
+ },
+ {
+ label: '物料名称',
+ field: 'itemName',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isSearch: true
+ },
+ {
+ label: '包装数量',
+ field: 'packQty',
+ sort: 'custom',
+ table: {
+ width: 150
+ }
+ },
+ // {
+ // label: '器具代码',
+ // field: 'containerNumber',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // isTable:false
+ // },
+ {
+ label: '库存数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber'
+ }
+ },
+ {
+ label: '物料描述1',
+ field: 'itemDesc1',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenSearchHigh: true,// 高级筛选中隐藏
+ isSearch: true
+ },
+ {
+ label: '物料描述2',
+ field: 'itemDesc2',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ hiddenSearchHigh: true,// 高级筛选中隐藏
+ isSearch: true
+ },
+ {
+ label: '物料类型',
+ field: 'itemType',
+ sort: 'custom',
+ dictType: DICT_TYPE.ITEM_TYPE,
+ dictClass: 'string',
+ isSearch: true,
+ table: {
+ width: 100
+ }
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isSearch: true
+ },
+ {
+ label: '供应商批次',
+ field: 'altBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isSearch: false
+ },
+ {
+ label: '包装号',
+ field: 'packingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isSearch: true
+ },
+ {
+ label: '包装规格',
+ field: 'packUnit',
+ sort: 'custom',
+ table: {
+ width: 150
+ }
+ },
+ // {
+ // label: '器具代码',
+ // field: 'containerNumber',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // isTable:false
+ // },
+ {
+ label: '创建者',
+ field: 'creator',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isForm: false
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ }
+ },
+ {
+ label: '库位代码',
+ field: 'locationCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isSearch: true
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ }
+ },
+ {
+ label: '库区类型',
+ field: 'areaType',
+ sort: 'custom',
+ dictType: DICT_TYPE.AREA_TYPE,
+ dictClass: 'string',
+ isTable: true,
+ table: {
+ width: 150
+ }
+ },
+
+ {
+ label: '仓库代码',
+ field: 'warehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ }
+ },
+ {
+ label: '库位组代码',
+ field: 'locationGroupCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ }
+ },
+ {
+ label: '库区代码',
+ field: 'areaCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ }
+ },
+ // {
+ // label: 'ERP库位代码',
+ // field: 'erpLocationCode',
+ // dictType: DICT_TYPE.ERP_LOCATION,
+ // dictClass: 'string',
+ // isTable: false,
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // },
+ // {
+ // label: '替代批次',
+ // field: 'altBatch',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // isTable: false,
+ // },
+ {
+ label: '到货日期',
+ field: 'arriveDate',
+ isTable: true,
+ formatter: dateFormatter2,
+ detail: {
+ dateFormat: 'YYYY-MM-DD'
+ },
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ style: { width: '100%' },
+ type: 'date',
+ dateFormat: 'YYYY-MM-DD',
+ valueFormat: 'x'
+ }
+ }
+ },
+ {
+ label: '生产日期',
+ field: 'produceDate',
+ isTable: true,
+ formatter: dateFormatter2,
+ detail: {
+ dateFormat: 'YYYY-MM-DD'
+ },
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ style: { width: '100%' },
+ type: 'date',
+ dateFormat: 'YYYY-MM-DD',
+ valueFormat: 'x'
+ }
+ }
+ },
+ {
+ label: '失效日期',
+ field: 'expireDate',
+ isTable: true,
+ formatter: dateFormatter2,
+ detail: {
+ dateFormat: 'YYYY-MM-DD'
+ },
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'DatePicker',
+ componentProps: {
+ style: { width: '100%' },
+ type: 'date',
+ dateFormat: 'YYYY-MM-DD',
+ valueFormat: 'x'
+ }
+ }
+ },
+ {
+ label: '货主代码',
+ field: 'ownerCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false
+ },
+ {
+ label: '锁定数量',
+ field: 'lockedQty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTable: false,
+ form: {
+ component: 'InputNumber'
+ }
+ },
+ // {
+ // label: '可用数量',
+ // field: 'usableQty',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // form: {
+ // component: 'InputNumber',
+ // }
+ // },
+ // {
+ // label: '单价',
+ // field: 'singlePrice',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // form: {
+ // component: 'InputNumber',
+ // }
+ // },
+ // {
+ // label: '金额',
+ // field: 'amount',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // form: {
+ // component: 'InputNumber',
+ // }
+ // },
+ // {
+ // label: '入库时间',
+ // field: 'putInTime',
+ // isTable: true,
+ // formatter: dateFormatter,
+ // detail: {
+ // dateFormat: 'YYYY-MM-DD HH:mm:ss'
+ // },
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // form: {
+ // component: 'DatePicker',
+ // componentProps: {
+ // type: 'datetime',
+ // }
+ // }
+ // },
+ {
+ label: '是否冻结',
+ field: 'frozen',
+ 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: 'frozenReason',
+ // dictType: DICT_TYPE.FROZEN_REASON,
+ // dictClass: 'string',
+ // isTable: true,
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // },
+ // {
+ // label: '重量',
+ // field: 'weight',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // form: {
+ // component: 'InputNumber',
+ // }
+ // },
+ // {
+ // label: '面积',
+ // field: 'area',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // form: {
+ // component: 'InputNumber',
+ // }
+ // },
+ // {
+ // label: '体积',
+ // field: 'volume',
+ // sort: 'custom',
+ // table: {
+ // width: 150
+ // },
+ // form: {
+ // component: 'InputNumber',
+ // }
+ // },
+ {
+ label: '最后事务号',
+ field: 'lastTransNumber',
+ 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: {
+ style: { width: '100%' },
+ type: 'datetime',
+ dateFormat: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'x'
+ }
+ },
+ isForm: false,
+ isSearch: true,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'datetimerange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ }
+ },
+ {
+ label: '最后更新时间',
+ field: 'updateTime',
+ 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'
+ }
+ },
+ isForm: false,
+ isTable: true
+ },
+ {
+ label: '最后更新者',
+ field: 'updater',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isForm: false,
+ isTable: true
+ },
+ // TODO: 临时添加 方便操作
+ {
+ label: '操作',
+ field: 'action',
+ isDetail: false,
+ isForm: false,
+ table: {
+ width: 200,
+ fixed: 'right'
+ }
+ }
+ ])
+)
+/**
+ * @returns {Array} 库存转移申请子表
+ */
+export const InventorymoveRequestDetail = useCrudSchemas(reactive([
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ multiple:true,
+ disabled: true,
+ isInpuFocusShow: false, // 开启查询弹窗
+ searchListPlaceholder: '请选择从包装号',
+ searchField: 'packingNumber',
+ searchTitle: '库存余额信息',
+ searchAllSchemas: BalanceCopy.allSchemas,
+ searchPage: BalanceApi.selectLocationTypeToBalance,
+ searchCondition: [{
+ key: 'businessType',
+ value: 'Move',
+ isMainValue: false
+ },{
+ key:'locationCode', // 查询列表中字段
+ value:'fromLocationCode', // 指主表某字段
+ message: '请选择从库位代码!', // 当前置条件为空时 弹出信息提示
+ isMainValue: true, // 表示查询条件是主表的字段的值
+ action: '==', // 查询拼接条件
+ }]
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ disabled: true,
+ isSearchList: false, // 开启查询弹窗
+ searchListPlaceholder: '请选择从包装号',
+ searchField: 'packingNumber',
+ searchTitle: '库存余额信息',
+ searchAllSchemas: BalanceCopy.allSchemas,
+ searchPage: BalanceApi.selectLocationTypeToBalance,
+ searchCondition: [{
+ key: 'businessType',
+ value: 'Move',
+ isMainValue: false
+ }]
+ }
+ }
+
+ },
+ {
+ label: '从包装号',
+ field: 'fromPackingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm:false,
+ tableForm: {
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '到包装号',
+ field: 'toPackingNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm:false,
+ isForm: false,
+ },
+ {
+ label: '从库存状态',
+ field: 'fromInventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ disabled: true,
+ type: 'Select'
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '包装规格',
+ field: 'packUnit',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isTableForm: true,
+ isForm: false,
+ tableForm:{
+ multiple:false,
+ isInpuFocusShow: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择物料代码',
+ searchField: 'packUnit',
+ searchTitle: '物料包装信息',
+ searchAllSchemas: Itempackaging.allSchemas,
+ searchPage: ItempackagingApi.getItempackagingPageTree,
+ searchCondition: [{
+ key:'itemCode', // 查询列表中字段
+ value:'itemCode', // 指主表某字段
+ message: '请选择物料代码!', // 当前置条件为空时 弹出信息提示
+ isMainValue: true, // 表示查询条件是主表的字段的值
+ action: '==', // 查询拼接条件
+ }]
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ disabled: true,
+ isSearchList: false, // 开启查询弹窗
+ searchListPlaceholder: '请选择物料代码',
+ searchField: 'packUnit',
+ searchTitle: '物料包装信息',
+ searchAllSchemas: Itempackaging.allSchemas,
+ searchPage: ItempackagingApi.getItempackagingPageTree,
+ searchCondition: [{
+ key:'itemCode', // 查询列表中字段
+ value:'itemCode', // 指主表某字段
+ message: '请选择物料代码!', // 当前置条件为空时 弹出信息提示
+ isMainValue: true, // 表示查询条件是主表的字段的值
+ action: '==', // 查询拼接条件
+ }]
+ }
+ }
+ },
+ {
+ label: '包装数量',
+ field: 'packQty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ disabled:true
+ },
+ isTableForm: true,
+ isForm: false,
+ },
+ {
+ label: '批次',
+ field: 'fromBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '供应商批次',
+ field: 'altBatch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ componentProps: {
+ // min: 0,
+ precision: 6
+ }
+ },
+ tableForm: {
+ disabled: false,
+ type: 'InputNumber',
+ // min: 0,
+ precision: 6
+ }
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ type: 'Select',
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ }
+]))
+
+//表单校验
+export const InventorymoveRequestDetailRules = reactive({
+ itemCode: [
+ { required: true, message: '请点击从包装号选择物料代码', trigger: 'change' }
+ ],
+ fromInventoryStatus: [
+ { required: true, message: '请选择从库存状态', trigger: 'change' }
+ ],
+ toInventoryStatus: [
+ { required: true, message: '请选择到库存状态', trigger: 'change' }
+ ]
+})