diff --git a/src/api/eam/inspectionItemSelectSet/index.ts b/src/api/eam/inspectionItemSelectSet/index.ts new file mode 100644 index 000000000..af1f6e522 --- /dev/null +++ b/src/api/eam/inspectionItemSelectSet/index.ts @@ -0,0 +1,61 @@ +import request from '@/config/axios' +import {EquipmentMainPartVO} from "@/api/eam/equipmentMainPart"; + +export interface InspectionItemSelectSetVO { + id: number + name: string + itemCode: string + departmentCode: string + remark: string + siteId: string + available: string + deletionTime: Date + deleterId: byte[] + concurrencyStamp: number +} + +// 查询巡检项选择集列表 +export const getInspectionItemSelectSetPage = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/eam/inspection-item-select-set/senior', data }) + } else { + return await request.get({ url: `/eam/inspection-item-select-set/page`, params }) + } +} + +// 查询巡检项选择集详情 +export const getInspectionItemSelectSet = async (id: number) => { + return await request.get({ url: `/eam/inspection-item-select-set/get?id=` + id }) +} + +// 新增巡检项选择集 +export const createInspectionItemSelectSet = async (data: InspectionItemSelectSetVO) => { + return await request.post({ url: `/eam/inspection-item-select-set/create`, data }) +} + +// 修改巡检项选择集 +export const updateInspectionItemSelectSet = async (data: InspectionItemSelectSetVO) => { + return await request.put({ url: `/eam/inspection-item-select-set/update`, data }) +} + +// 删除巡检项选择集 +export const deleteInspectionItemSelectSet = async (id: number) => { + return await request.delete({ url: `/eam/inspection-item-select-set/delete?id=` + id }) +} + +// 导出巡检项选择集 Excel +export const exportInspectionItemSelectSet = async (params) => { + return await request.download({ url: `/eam/inspection-item-select-set/export-excel`, params }) +} + +// 下载用户导入模板 +export const importTemplate = () => { + return request.download({ url: '/eam/inspection-item-select-set/get-import-template' }) +} + +// 启用 / 禁用 +export const updateEnableCode = async (data: EquipmentMainPartVO) => { + return await request.post({ url: `/eam/inspection-item-select-set/ables` , data }) +} 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/components/Annex/src/Annex.vue b/src/components/Annex/src/Annex.vue index 5f5f144d6..812be654f 100644 --- a/src/components/Annex/src/Annex.vue +++ b/src/components/Annex/src/Annex.vue @@ -8,7 +8,7 @@
- +
{{ item.name }}
diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index 28f77a0cc..4157195f5 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -79,9 +79,11 @@ :tableFormRules="tableFormRules" :isShowButton="isShowButton" :isShowReduceButton="isShowReduceButton" + :isShowReduceButtonSelection="isShowReduceButtonSelection" @handleAddTable="handleAddTable" @handleDeleteTable="handleDeleteTable" @tableSelectionChange="tableSelectionChange" + @tableSelectionDelete="tableSelectionDelete" @extendedButtonsClick="extendedButtonsClick" @formSelectChange="formSelectChange" @formSelectvVisibleChange="formSelectvVisibleChange" @@ -139,6 +141,11 @@ const props = defineProps({ type: Boolean, default: true }, + // 是否显示删除按钮--多选 + isShowReduceButtonSelection:{ + type: Boolean, + default: false, + }, // 是否显示tableForm 删除按钮 isShowReduceButton: { type: Boolean, @@ -612,6 +619,7 @@ const resetForm = () => { const emit = defineEmits([ 'success', 'tableSelectionChange', + 'tableSelectionDelete', 'tableFormSelectOnBlur', 'extendedButtonsClick', 'formSelectChange', @@ -653,6 +661,9 @@ const formSelectvVisibleChange = (field, val, row) => { const tableSelectionChange = (val) => { emit('tableSelectionChange', val) } +const tableSelectionDelete = (val) => { + emit('tableSelectionDelete', val) +} // tableform select bulr const tableFormSelectOnBlur = (field, val, row, index) => { emit('tableFormSelectOnBlur', field, val, row, index) diff --git a/src/components/TableForm/src/TableForm.vue b/src/components/TableForm/src/TableForm.vue index 1cfc8ba01..2ac2fb922 100644 --- a/src/components/TableForm/src/TableForm.vue +++ b/src/components/TableForm/src/TableForm.vue @@ -12,11 +12,13 @@ @sort-change="tableSortChange" @row-click="handleTableSelect" > + + @@ -299,18 +301,34 @@ + + + + -
-
+
+
{{t('ts.添加明细')}}
+
+ +
{{t('ts.批量删除')}}
+
diff --git a/src/views/eam/inspectionItemSelectSet/inspectionItemSelectSet.data.ts b/src/views/eam/inspectionItemSelectSet/inspectionItemSelectSet.data.ts new file mode 100644 index 000000000..67508f157 --- /dev/null +++ b/src/views/eam/inspectionItemSelectSet/inspectionItemSelectSet.data.ts @@ -0,0 +1,141 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const InspectionItemSelectSetRules = reactive({ + name: [required], + itemCode: [required], + concurrencyStamp: [required], +}) + +export const InspectionItemSelectSet = useCrudSchemas(reactive([ + { + label: 'id', + field: 'id', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '选择集名称', + field: 'name', + sort: 'custom', + isSearch: true, + }, + { + label: '项编号', + field: 'itemCode', + 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: '部门id', + field: 'departmentCode', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '备注', + field: 'remark', + sort: 'custom', + isSearch: true, + }, + { + label: '地点ID', + field: 'siteId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '是否可用', + field: 'available', + sort: 'custom', + dictType: DICT_TYPE.TRUE_FALSE, + dictClass: 'string', // 默认都是字符串类型其他暂不考虑 + isTable: true, + isDetail: false, + isSearch: true, + isTableForm: false, + isForm: false, + }, + { + label: '删除时间', + field: 'deletionTime', + sort: 'custom', + formatter: dateFormatter, + isSearch: false, + isTable: false, + isForm: false, + isDetail: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: '删除人id', + field: 'deleterId', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + }, + { + label: '并发乐观锁', + field: 'concurrencyStamp', + sort: 'custom', + isSearch: false, + isTable: false, + isForm: false, + isDetail:false, + form: { + component: 'InputNumber', + value: 0 + }, + }, + { + label: '操作', + field: 'action', + isForm: false, + table: { + width: 150, + fixed: 'right' + } + } +])) diff --git a/src/views/eam/inspectionItemSelectSet/itemSelectSetForm.vue b/src/views/eam/inspectionItemSelectSet/itemSelectSetForm.vue new file mode 100644 index 000000000..f7aa42b20 --- /dev/null +++ b/src/views/eam/inspectionItemSelectSet/itemSelectSetForm.vue @@ -0,0 +1,283 @@ + + + + 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/itemRequestMain/index.vue b/src/views/mes/itemRequestMain/index.vue index ec23d1d99..291647ef1 100644 --- a/src/views/mes/itemRequestMain/index.vue +++ b/src/views/mes/itemRequestMain/index.vue @@ -61,9 +61,9 @@ :apiCreate="ItemRequestDetailApi.createItemRequestDetail" :apiUpdate="ItemRequestDetailApi.updateItemRequestDetail" :apiDelete="ItemRequestDetailApi.deleteItemRequestDetail" - :detailButtonIsShowAdd="true" - :detailButtonIsShowEdit="true" - :detailButtonIsShowDelete="true" + :detailButtonIsShowAdd="false" + :detailButtonIsShowEdit="false" + :detailButtonIsShowDelete="false" @handleMainFefresh="handleMainFefresh" @searchTableSuccessDetail="searchTableSuccessDetail" :key="count" @@ -150,7 +150,7 @@ const buttonBaseClick = (val, item) => { // 列表-操作按钮 const butttondata = [ - defaultButtons.mainListEditBtn({hasPermi:'mes:itemRequestMain:update'}), // 编辑 + //defaultButtons.mainListEditBtn({hasPermi:'mes:itemRequestMain:update'}), // 编辑 defaultButtons.mainListDeleteBtn({hasPermi:'mes:itemRequestMain:delete'}), // 删除 ] diff --git a/src/views/mes/itemRequestMain/itemRequestMain.data.ts b/src/views/mes/itemRequestMain/itemRequestMain.data.ts index 32e25a10e..19bfee525 100644 --- a/src/views/mes/itemRequestMain/itemRequestMain.data.ts +++ b/src/views/mes/itemRequestMain/itemRequestMain.data.ts @@ -3,7 +3,7 @@ import { dateFormatter } from '@/utils/formatTime' // 表单校验 export const ItemRequestMainRules = reactive({ - concurrencyStamp: [required], + requestBillNo:[{required : true, message: '请输入删除时间', trigger: 'blur' }] }) export const ItemRequestMain = useCrudSchemas(reactive([ @@ -24,6 +24,9 @@ export const ItemRequestMain = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, form: { component: 'DatePicker', componentProps: { @@ -37,6 +40,7 @@ export const ItemRequestMain = useCrudSchemas(reactive([ field: 'requestBillNo', sort: 'custom', isSearch: true, + disabled: true, }, { label: '主键', @@ -132,13 +136,20 @@ export const ItemRequestMain = useCrudSchemas(reactive([ isSearch: true, }, { - label: '类型(1:叫料、2:补料)', + label: '类型', field: 'requestType', sort: 'custom', isSearch: true, - form: { - component: 'SelectV2' - }, + dictType: DICT_TYPE.MES_REQUEST_TYPE, + dictClass: 'string', + form: { + component: 'Select', + // componentProps:{ + // options:[{label:'叫料',value:'1'},{label:'补料',value:'2'}] + // }, + value:'1' + }, + }, { label: '创建时间', @@ -154,6 +165,9 @@ export const ItemRequestMain = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, isForm: false, }, { @@ -275,6 +289,9 @@ export const ItemRequestDetail = useCrudSchemas(reactive([ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, + detail: { + dateFormat: 'YYYY-MM-DD HH:mm:ss' + }, isForm: false, }, { @@ -287,6 +304,7 @@ export const ItemRequestDetail = useCrudSchemas(reactive([ label: '操作', field: 'action', isForm: false, + isTable: false, table: { width: 150, fixed: 'right' 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/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/itemarea/index.vue b/src/views/wms/basicDataManage/itemManage/itemarea/index.vue index 1fde14968..c3ef67643 100644 --- a/src/views/wms/basicDataManage/itemManage/itemarea/index.vue +++ b/src/views/wms/basicDataManage/itemManage/itemarea/index.vue @@ -55,6 +55,8 @@ :isBusiness="true" @handleAddTable="handleAddTable" @handleDeleteTable="handleDeleteTable" + :isShowReduceButtonSelection="true" + @tableSelectionDelete="tableSelectionDelete" @searchTableSuccess="searchTableSuccess" @submitForm="submitForm" :isShowButton = isShowButton @@ -350,7 +352,9 @@ const handleAddTable = () => { const handleDeleteTable = (item, index) => { tableData.value.splice(index, 1) } - +const tableSelectionDelete = (selection) => { + tableData.value = tableData.value.filter(item => !selection.includes(item)) +} // 主子数据 提交 const submitForm = async (formType, data) => { data.subList = tableData.value // 拼接子表数据参数 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 @@ + + + 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 @@