diff --git a/src/api/wms/purchasereceiptJobDetail/index.ts b/src/api/wms/purchasereceiptJobDetail/index.ts
index 4163887b2..c012a623f 100644
--- a/src/api/wms/purchasereceiptJobDetail/index.ts
+++ b/src/api/wms/purchasereceiptJobDetail/index.ts
@@ -55,6 +55,18 @@ export const getPurchasereceiptJobDetailPageSapre = async (params) => {
}
}
+// 查询采购收货任务子列表
+export const getPurchasereceiptJobDetailPageSCP = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/purchasereceipt-job-detail/seniorSCP', data })
+ } else {
+ return await request.get({ url: `/wms/purchasereceipt-job-detail/pageSCP`, params })
+ }
+}
+
+
// 查询采购收货任务子详情
export const getPurchasereceiptJobDetail = async (id: number) => {
return await request.get({ url: `/wms/purchasereceipt-job-detail/get?id=` + id })
diff --git a/src/api/wms/relegateRequest/index.ts b/src/api/wms/relegateRequestDetail/index.ts
similarity index 50%
rename from src/api/wms/relegateRequest/index.ts
rename to src/api/wms/relegateRequestDetail/index.ts
index a26e8c360..98aa10e73 100644
--- a/src/api/wms/relegateRequest/index.ts
+++ b/src/api/wms/relegateRequestDetail/index.ts
@@ -1,6 +1,6 @@
import request from '@/config/axios'
-export interface RelegateRequestVO {
+export interface RelegateRequestDetailVO {
id: number
itemCode: string
downItemCode: string
@@ -32,39 +32,39 @@ export interface RelegateRequestVO {
}
// 查询物料降级信息列表
-export const getRelegateRequestPage = async (params) => {
+export const getRelegateRequestDetailPage = async (params) => {
if (params.isSearch) {
delete params.isSearch
const data = {...params}
- return await request.post({ url: '/wms/relegate-request/senior', data })
+ return await request.post({ url: '/wms/relegate-request-detail/senior', data })
} else {
- return await request.get({ url: `/wms/relegate-request/page`, params })
+ return await request.get({ url: `/wms/relegate-request-detail/page`, params })
}
}
// 查询物料降级信息详情
-export const getRelegateRequest = async (id: number) => {
- return await request.get({ url: `/wms/relegate-request/get?id=` + id })
+export const getRelegateRequestDetail = async (id: number) => {
+ return await request.get({ url: `/wms/relegate-request-detail/get?id=` + id })
}
// 新增物料降级信息
-export const createRelegateRequest = async (data: RelegateRequestVO) => {
- return await request.post({ url: `/wms/relegate-request/create`, data })
+export const createRelegateRequestDetail = async (data: RelegateRequestDetailVO) => {
+ return await request.post({ url: `/wms/relegate-request-detail/create`, data })
}
// 修改物料降级信息
-export const updateRelegateRequest = async (data: RelegateRequestVO) => {
- return await request.put({ url: `/wms/relegate-request/update`, data })
+export const updateRelegateRequestDetail = async (data: RelegateRequestDetailVO) => {
+ return await request.put({ url: `/wms/relegate-request-detail/update`, data })
}
// 删除物料降级信息
-export const deleteRelegateRequest = async (id: number) => {
- return await request.delete({ url: `/wms/relegate-request/delete?id=` + id })
+export const deleteRelegateRequestDetail = async (id: number) => {
+ return await request.delete({ url: `/wms/relegate-request-detail/delete?id=` + id })
}
// 导出物料降级信息 Excel
-export const exportRelegateRequest = async (params) => {
- return await request.download({ url: `/wms/relegate-request/export-excel`, params })
+export const exportRelegateRequestDetail = async (params) => {
+ return await request.download({ url: `/wms/relegate-request-detail/export-excel`, params })
}
// 下载用户导入模板
diff --git a/src/api/wms/relegateRequestMain/index.ts b/src/api/wms/relegateRequestMain/index.ts
new file mode 100644
index 000000000..1b3ca3018
--- /dev/null
+++ b/src/api/wms/relegateRequestMain/index.ts
@@ -0,0 +1,68 @@
+import request from '@/config/axios'
+
+export interface RelegateRequestMainVO {
+ id: number
+ fromWarehouseCode: string
+ number: string
+ businessType: string
+ remark: string
+ extraProperties: string
+ siteId: string
+ requestTime: Date
+ dueTime: Date
+ departmentCode: string
+ status: string
+ autoCommit: string
+ autoAgree: string
+ autoExecute: string
+ directCreateRecord: string
+ concurrencyStamp: number
+ ruleUserId: number
+ fromAreaTypes: string
+ fromAreaCodes: string
+ serialNumber: string
+ inInventoryStatuses: string
+ outInventoryStatuses: string
+ reason: string
+}
+
+// 查询物料降级申请主列表
+export const getRelegateRequestMainPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/relegate-request-main/senior', data })
+ } else {
+ return await request.get({ url: `/wms/relegate-request-main/page`, params })
+ }
+}
+
+// 查询物料降级申请主详情
+export const getRelegateRequestMain = async (id: number) => {
+ return await request.get({ url: `/wms/relegate-request-main/get?id=` + id })
+}
+
+// 新增物料降级申请主
+export const createRelegateRequestMain = async (data: RelegateRequestMainVO) => {
+ return await request.post({ url: `/wms/relegate-request-main/create`, data })
+}
+
+// 修改物料降级申请主
+export const updateRelegateRequestMain = async (data: RelegateRequestMainVO) => {
+ return await request.put({ url: `/wms/relegate-request-main/update`, data })
+}
+
+// 删除物料降级申请主
+export const deleteRelegateRequestMain = async (id: number) => {
+ return await request.delete({ url: `/wms/relegate-request-main/delete?id=` + id })
+}
+
+// 导出物料降级申请主 Excel
+export const exportRelegateRequestMain = async (params) => {
+ return await request.download({ url: `/wms/relegate-request-main/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/relegate-request-main/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/views/mes/abilityInfo/index.vue b/src/views/mes/abilityInfo/index.vue
index 945375f6f..85bc873ae 100644
--- a/src/views/mes/abilityInfo/index.vue
+++ b/src/views/mes/abilityInfo/index.vue
@@ -66,6 +66,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons'
import TableHead from '@/components/TableHead/src/TableHead.vue'
import ImportForm from '@/components/ImportForm/src/ImportForm.vue'
import Detail from '../components/Detail.vue'
+import {MesOrderMonthMain} from "@/views/mes/ordermonthplan/mesOrderMonthMain.data";
defineOptions({ name: 'AbilityInfo' })
@@ -150,6 +151,15 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ let disabledFlag = false
+ if(type==='update'){
+ disabledFlag = true
+ }
+ AbilityInfo.allSchemas.formSchema.forEach(item => {
+ if (item.field == 'ablityCode') {
+ item.componentProps.disabled =disabledFlag
+ }
+ })
basicFormRef.value.open(type, row)
}
diff --git a/src/views/mes/opersteps/index.vue b/src/views/mes/opersteps/index.vue
index 6250e6ef1..48bb42dd9 100644
--- a/src/views/mes/opersteps/index.vue
+++ b/src/views/mes/opersteps/index.vue
@@ -159,7 +159,6 @@ const openForm = (type: string, row?: any) => {
}
})
basicFormRef.value.open(type, row)
- basicFormRef.value.open(type, row)
}
// form表单提交
diff --git a/src/views/mes/ordermonthplan/index.vue b/src/views/mes/ordermonthplan/index.vue
index 6c59a287a..d525dfc0f 100644
--- a/src/views/mes/ordermonthplan/index.vue
+++ b/src/views/mes/ordermonthplan/index.vue
@@ -185,6 +185,15 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ let disabledFlag = false
+ if(type==='update'){
+ disabledFlag = true
+ }
+ MesOrderMonthMain.allSchemas.formSchema.forEach(item => {
+ if (item.field == 'planMasterCode' || item.field == 'planSubCode') {
+ item.componentProps.disabled =disabledFlag
+ }
+ })
basicFormRef.value.open(type, row)
}
diff --git a/src/views/mes/pattern/index.vue b/src/views/mes/pattern/index.vue
index e7a6f128d..459f4190f 100644
--- a/src/views/mes/pattern/index.vue
+++ b/src/views/mes/pattern/index.vue
@@ -149,6 +149,15 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ let disabledFlag = false
+ if(type==='update'){
+ disabledFlag = true
+ }
+ Pattern.allSchemas.formSchema.forEach(item => {
+ if (item.field == 'code') {
+ item.componentProps.disabled =disabledFlag
+ }
+ })
basicFormRef.value.open(type, row)
}
diff --git a/src/views/mes/patternType/index.vue b/src/views/mes/patternType/index.vue
index 6a1ad681a..e0cc50b14 100644
--- a/src/views/mes/patternType/index.vue
+++ b/src/views/mes/patternType/index.vue
@@ -149,6 +149,15 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ let disabledFlag = false
+ if(type==='update'){
+ disabledFlag = true
+ }
+ PatternType.allSchemas.formSchema.forEach(item => {
+ if (item.field == 'code') {
+ item.componentProps.disabled =disabledFlag
+ }
+ })
basicFormRef.value.open(type, row)
}
diff --git a/src/views/mes/qualityclass/index.vue b/src/views/mes/qualityclass/index.vue
index bd691dd60..aa7018cab 100644
--- a/src/views/mes/qualityclass/index.vue
+++ b/src/views/mes/qualityclass/index.vue
@@ -149,7 +149,15 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
- console.log(row)
+ let disabledFlag = false
+ if(type==='update'){
+ disabledFlag = true
+ }
+ Qualityclass.allSchemas.formSchema.forEach(item => {
+ if (item.field == 'code') {
+ item.componentProps.disabled =disabledFlag
+ }
+ })
basicFormRef.value.open(type, row)
}
diff --git a/src/views/mes/qualitygroup/index.vue b/src/views/mes/qualitygroup/index.vue
index 2255e5593..04d6a8e6b 100644
--- a/src/views/mes/qualitygroup/index.vue
+++ b/src/views/mes/qualitygroup/index.vue
@@ -149,6 +149,15 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ let disabledFlag = false
+ if(type==='update'){
+ disabledFlag = true
+ }
+ Qualitygroup.allSchemas.formSchema.forEach(item => {
+ if (item.field == 'code') {
+ item.componentProps.disabled =disabledFlag
+ }
+ })
basicFormRef.value.open(type, row)
}
diff --git a/src/views/mes/reworkBatch/index.vue b/src/views/mes/reworkBatch/index.vue
index d081b8355..72022d168 100644
--- a/src/views/mes/reworkBatch/index.vue
+++ b/src/views/mes/reworkBatch/index.vue
@@ -51,7 +51,7 @@
/>
-
diff --git a/src/views/mes/reworkSingle/index.vue b/src/views/mes/reworkSingle/index.vue
index a5254d728..e8b17bdd4 100644
--- a/src/views/mes/reworkSingle/index.vue
+++ b/src/views/mes/reworkSingle/index.vue
@@ -51,7 +51,7 @@
/>
-
diff --git a/src/views/mes/workstation/index.vue b/src/views/mes/workstation/index.vue
index 13b6a688f..95255959d 100644
--- a/src/views/mes/workstation/index.vue
+++ b/src/views/mes/workstation/index.vue
@@ -171,6 +171,15 @@ const buttonTableClick = async (val, row) => {
/** 添加/修改操作 */
const basicFormRef = ref()
const openForm = (type: string, row?: any) => {
+ let disabledFlag = false
+ if(type==='update'){
+ disabledFlag = true
+ }
+ Workstation.allSchemas.formSchema.forEach(item => {
+ if (item.field == 'code') {
+ item.componentProps.disabled =disabledFlag
+ }
+ })
basicFormRef.value.open(type, row)
}
diff --git a/src/views/system/user/UserForm.vue b/src/views/system/user/UserForm.vue
index 8e880a02a..d673cdc96 100644
--- a/src/views/system/user/UserForm.vue
+++ b/src/views/system/user/UserForm.vue
@@ -7,6 +7,23 @@
:rules="formRules"
label-width="80px"
>
+
+
+
+
+
+
+
+
+
+
+
+
@@ -38,23 +55,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue
new file mode 100644
index 000000000..637efc95c
--- /dev/null
+++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/index.vue
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts
new file mode 100644
index 000000000..80f8bb35c
--- /dev/null
+++ b/src/views/wms/basicDataManage/itemManage/relegate/relegateRequest/relegateRequestMain.data.ts
@@ -0,0 +1,539 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
+
+import * as ItembasicApi from '@/api/wms/itembasic'
+import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
+
+import {Warehouse} from "@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data";
+import * as WarehouseApi from "@/api/wms/warehouse";
+
+import * as BalanceApi from '@/api/wms/balance'
+import { Balance } from '@/views/wms/inventoryManage/balance/balance.data'
+
+// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
+const queryParams = {
+ pageSize:10,
+ pageNo:1,
+ code:'RelegateRequest'
+}
+ const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
+ const requestsettingData =data?.list[0]||{}
+// 表单校验
+export const RelegateRequestMainRules = reactive({
+ fromWarehouseCode: [required],
+ number: [required],
+ businessType: [required],
+ autoCommit: [required],
+ autoAgree: [required],
+ autoExecute: [required],
+ directCreateRecord: [required],
+ concurrencyStamp: [required],
+ fromAreaTypes: [required],
+ fromAreaCodes: [required],
+})
+
+export const RelegateRequestMain = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择仓库代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '仓库信息', // 查询弹窗标题
+ searchAllSchemas: Warehouse.allSchemas, // 查询弹窗所需类
+ searchPage: WarehouseApi.getWarehousePage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ }
+ },
+
+ {
+ label: '业务类型',
+ field: 'businessType',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '扩展属性',
+ field: 'extraProperties',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '申请时间',
+ field: 'requestTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '截止时间',
+ field: 'dueTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.REQUEST_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ isForm: false,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '自动提交',
+ field: 'autoCommit',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: false,
+ isForm: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: false,
+ isForm: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '自动执行',
+ field: 'autoExecute',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: false,
+ isForm: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: false,
+ isForm: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '权限所属人员id',
+ field: 'ruleUserId',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '工作流流水号',
+ field: 'serialNumber',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '原因',
+ field: 'reason',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
+
+// 表单校验
+export const RelegateRequestDetailRules = reactive({
+ itemCode: [required],
+ downItemCode: [required],
+ businessType: [required],
+ available: [required],
+ departmentCode: [required],
+ concurrencyStamp: [required],
+})
+
+export const RelegateRequestDetail = useCrudSchemas(reactive([
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ isSearch: true,
+ form: {
+ componentProps: {
+ isSearchList: true,
+ searchListPlaceholder: '请选择物料代码',
+ searchField: 'itemCode',
+ searchTitle: '物料基础信息',
+ searchAllSchemas: Itembasic.allSchemas,
+ searchPage: ItembasicApi.getItembasicPage,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '降级物料代码',
+ field: 'downItemCode',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ isSearchList: true,
+ searchListPlaceholder: '请选择降级物料代码',
+ searchField: 'itemCode',
+ searchTitle: '物料基础信息',
+ searchAllSchemas: Itembasic.allSchemas,
+ searchPage: ItembasicApi.getItembasicPage,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
+ isSearch: true
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ type: 'Select',
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ },
+ {
+ label: '从批次',
+ field: 'fromBatch',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true,
+ }
+ },
+ },
+ {
+ label: '从包装号',
+ field: 'fromPackingNumber',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true,
+ }
+ },
+ },
+ {
+ label: '从库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true,
+ }
+ },
+ },
+ {
+ label: '从库区类型',
+ field: 'fromAreaTypes',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '从库区代码',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '到包装号',
+ field: 'toPackingNumber',
+ sort: 'custom',
+ },
+ {
+ label: '到批次',
+ field: 'toBatch',
+ sort: 'custom',
+ },
+ {
+ label: '到库位代码',
+ field: 'toLocationCode',
+ sort: 'custom',
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '到库区类型',
+ field: 'toAreaTypes',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '到库区代码',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ isForm:false,
+ },
+ {
+ label: '扩展属性',
+ field: 'extraProperties',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.REQUEST_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ isForm: false,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isForm:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '工作流流水号',
+ field: 'serialNumber',
+ isForm:false,
+ sort: 'custom',
+ },
+ {
+ label: '权限所属人员id',
+ field: 'ruleUserId',
+ sort: 'custom',
+ isForm:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/wms/basicDataManage/itemManage/relegateRequest/relegateRequestMain.data.ts b/src/views/wms/basicDataManage/itemManage/relegateRequest/relegateRequestMain.data.ts
new file mode 100644
index 000000000..cc7ee6027
--- /dev/null
+++ b/src/views/wms/basicDataManage/itemManage/relegateRequest/relegateRequestMain.data.ts
@@ -0,0 +1,553 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+import * as getRequestsettingApi from '@/api/wms/requestsetting/index'
+
+import * as ItembasicApi from "@/api/wms/itembasic";
+
+import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
+
+import {Warehouse} from "@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data";
+import * as WarehouseApi from "@/api/wms/warehouse";
+
+import * as BalanceApi from '@/api/wms/balance'
+import { Balance } from '@/views/wms/inventoryManage/balance/balance.data'
+
+// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
+const queryParams = {
+ pageSize:10,
+ pageNo:1,
+ code:'RelegateRequest'
+}
+ const data = await getRequestsettingApi.getRequestsettingPage(queryParams)
+ const requestsettingData =data?.list[0]||{}
+// 表单校验
+export const RelegateRequestMainRules = reactive({
+ fromWarehouseCode: [required],
+ number: [required],
+ businessType: [required],
+ autoCommit: [required],
+ autoAgree: [required],
+ autoExecute: [required],
+ directCreateRecord: [required],
+ concurrencyStamp: [required],
+ fromAreaTypes: [required],
+ fromAreaCodes: [required],
+})
+
+export const RelegateRequestMain = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择仓库代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '仓库信息', // 查询弹窗标题
+ searchAllSchemas: Warehouse.allSchemas, // 查询弹窗所需类
+ searchPage: WarehouseApi.getWarehousePage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ }
+ },
+
+ {
+ label: '业务类型',
+ field: 'businessType',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ isSearch: true,
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '扩展属性',
+ field: 'extraProperties',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '申请时间',
+ field: 'requestTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '截止时间',
+ field: 'dueTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.REQUEST_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ isForm: false,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '自动提交',
+ field: 'autoCommit',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: false,
+ isForm: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '自动通过',
+ field: 'autoAgree',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: false,
+ isForm: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '自动执行',
+ field: 'autoExecute',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: false,
+ isForm: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '直接生成记录',
+ field: 'directCreateRecord',
+ dictType: DICT_TYPE.TRUE_FALSE,
+ dictClass: 'string',
+ isTable: false,
+ isForm: false,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'Switch',
+ value: requestsettingData.autoCommit,
+ componentProps: {
+ inactiveValue: 'FALSE',
+ activeValue: 'TRUE',
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '权限所属人员id',
+ field: 'ruleUserId',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '工作流流水号',
+ field: 'serialNumber',
+ sort: 'custom',
+ isForm: false,
+ isTable: false
+ },
+ {
+ label: '原因',
+ field: 'reason',
+ sort: 'custom',
+ isForm: false,
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
+
+// 表单校验
+export const RelegateRequestDetailRules = reactive({
+ itemCode: [required],
+ downItemCode: [required],
+ businessType: [required],
+ available: [required],
+ departmentCode: [required],
+ concurrencyStamp: [required],
+})
+
+export const RelegateRequestDetail = useCrudSchemas(reactive([
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ isSearch: true,
+ tableForm:{
+ isInpuFocusShow: false, // 开启查询弹窗
+ searchListPlaceholder: '请选择物料代码',
+ searchField: 'code',
+ searchTitle: '物料基础信息',
+ searchAllSchemas: Itembasic.allSchemas,
+ searchPage: ItembasicApi.getItembasicPage,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ },
+ form: {
+ componentProps: {
+ isSearchList: true,
+ searchListPlaceholder: '请选择物料代码',
+ searchField: 'itemCode',
+ searchTitle: '物料基础信息',
+ searchAllSchemas: Itembasic.allSchemas,
+ searchPage: ItembasicApi.getItembasicPage,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '降级物料代码',
+ field: 'downItemCode',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ isSearchList: true,
+ searchListPlaceholder: '请选择降级物料代码',
+ searchField: 'itemCode',
+ searchTitle: '物料基础信息',
+ searchAllSchemas: Itembasic.allSchemas,
+ searchPage: ItembasicApi.getItembasicPage,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ },
+ isSearch: true
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm: {
+ type: 'Select',
+ disabled: true
+ },
+ form: {
+ componentProps: {
+ disabled: true
+ }
+ }
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ },
+ {
+ label: '从批次',
+ field: 'fromBatch',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true,
+ }
+ },
+ },
+ {
+ label: '从包装号',
+ field: 'fromPackingNumber',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true,
+ }
+ },
+ },
+ {
+ label: '从库位代码',
+ field: 'fromLocationCode',
+ sort: 'custom',
+ form: {
+ componentProps: {
+ disabled: true,
+ }
+ },
+ },
+ {
+ label: '从库区类型',
+ field: 'fromAreaTypes',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '从库区代码',
+ field: 'fromAreaCodes',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '从仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '到包装号',
+ field: 'toPackingNumber',
+ sort: 'custom',
+ },
+ {
+ label: '到批次',
+ field: 'toBatch',
+ sort: 'custom',
+ },
+ {
+ label: '到库位代码',
+ field: 'toLocationCode',
+ sort: 'custom',
+ },
+ {
+ label: '到仓库代码',
+ field: 'toWarehouseCode',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '到库区类型',
+ field: 'toAreaTypes',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '到库区代码',
+ field: 'toAreaCodes',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '是否可用',
+ field: 'available',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '地点ID',
+ field: 'siteId',
+ sort: 'custom',
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ isForm:false,
+ },
+ {
+ label: '扩展属性',
+ field: 'extraProperties',
+ sort: 'custom',
+ isForm:false,
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.REQUEST_STATUS,
+ dictClass: 'string',
+ isSearch: true,
+ isForm: false,
+ isTable: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '并发乐观锁',
+ field: 'concurrencyStamp',
+ sort: 'custom',
+ isForm:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '工作流流水号',
+ field: 'serialNumber',
+ isForm:false,
+ sort: 'custom',
+ },
+ {
+ label: '权限所属人员id',
+ field: 'ruleUserId',
+ sort: 'custom',
+ isForm:false,
+ form: {
+ component: 'InputNumber',
+ value: 0
+ },
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
diff --git a/src/views/wms/basicDataManage/itemManage/relegateRequest/index.vue b/src/views/wms/basicDataManage/itemManage/relegateRequestDetail/index.vue
similarity index 98%
rename from src/views/wms/basicDataManage/itemManage/relegateRequest/index.vue
rename to src/views/wms/basicDataManage/itemManage/relegateRequestDetail/index.vue
index e60621efe..ca983bb05 100644
--- a/src/views/wms/basicDataManage/itemManage/relegateRequest/index.vue
+++ b/src/views/wms/basicDataManage/itemManage/relegateRequestDetail/index.vue
@@ -60,7 +60,7 @@