diff --git a/src/api/mes/workstation/index.ts b/src/api/mes/workstation/index.ts index 7fe301a2d..37694b15d 100644 --- a/src/api/mes/workstation/index.ts +++ b/src/api/mes/workstation/index.ts @@ -48,8 +48,7 @@ export const exportWorkstation = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/mes/workstation/get-import-template' }) -} -// 查询班组列表 +}// 查询班组列表 export const getTeamPage = async (params) => { console.log(goalParams.workstationCode) params.workstationCode = goalParams.workstationCode @@ -61,6 +60,35 @@ export const getTeamPage = async (params) => { return await request.get({ url: `/mes/team/pageListByWorkstationCode`, params }) } } +// 查询选择班组列表 +export const checkTeamPageList = async (params) => { + console.log(goalParams.workstationCode) + params.workstationCode = goalParams.workstationCode + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/team/senior', data }) + } else { + return await request.get({ url: `/mes/team/pageCheckListByWorkstationCode`, params }) + } +} +// 添加班组关联 +export const createTeamRelation = async (workstationCode,teamCodes:string[]) => { + const data = { + workstationCode : workstationCode, + teamCodes : teamCodes + } + return await request.post({ url: `/mes/team/createRelation`, data }) +} + +// 删除班组关联 +export const deleteTeamRelation = async (workstationCode,teamCodes:string[]) => { + const data = { + workstationCode : workstationCode, + teamCodes : teamCodes + } + return await request.post({ url: `/mes/team/deleteRelation`, data }) +} export const getEquipmentPage = async (params) => { console.log(goalParams.workstationCode) params.workstationCode = goalParams.workstationCode @@ -72,6 +100,35 @@ export const getEquipmentPage = async (params) => { return await request.get({ url: `/mes/equipment/pageListByWorkstationCode`, params }) } } +// 查询选择设备列表 +export const checkEquipmentPageList = async (params) => { + console.log(goalParams.workstationCode) + params.workstationCode = goalParams.workstationCode + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/equipment/senior', data }) + } else { + return await request.get({ url: `/mes/equipment/pageCheckListByWorkstationCode`, params }) + } +} +// 添加设备关联 +export const createEquipmentRelation = async (workstationCode,equipmentCodes:string[]) => { + const data = { + workstationCode : workstationCode, + equipmentCodes : equipmentCodes + } + return await request.post({ url: `/mes/team/createRelation`, data }) +} + +// 删除设备关联 +export const deleteEquipmentRelation = async (workstationCode,equipmentCodes:string[]) => { + const data = { + workstationCode : workstationCode, + equipmentCodes : equipmentCodes + } + return await request.post({ url: `/mes/team/deleteRelation`, data }) +} export const getProcessPage = async (params) => { if (params.isSearch) { delete params.isSearch @@ -81,6 +138,32 @@ export const getProcessPage = async (params) => { return await request.get({ url: `/mes/production-process/pageListByWorkstationCode`, params }) } } +export const checkProcessPageList = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/production-process/senior', data }) + } else { + return await request.get({ url: `/mes/production-process/pageCheckListByWorkstationCode`, params }) + } +} +// 添加工序关联 +export const createProcessRelation = async (workstationCode,processCodes:string[]) => { + const data = { + workstationCode : workstationCode, + processCodes : processCodes + } + return await request.post({ url: `/mes/production-process/createRelation`, data }) +} + +// 删除工序关联 +export const deleteProcessRelation = async (workstationCode,processCodes:string[]) => { + const data = { + workstationCode : workstationCode, + processCodes : processCodes + } + return await request.post({ url: `/mes/production-process/deleteRelation`, data }) +} export const getProductionPage = async (params) => { if (params.isSearch) { delete params.isSearch @@ -90,3 +173,29 @@ export const getProductionPage = async (params) => { return await request.get({ url: `/mes/production-process/pageListByWorkstationCode`, params }) } } +export const checkProductionPageList = async (params) => { + if (params.isSearch) { + delete params.isSearch + const data = {...params} + return await request.post({ url: '/mes/production-process/senior', data }) + } else { + return await request.get({ url: `/mes/production-process/pageCheckListByWorkstationCode`, params }) + } +} +// 添加产品关联 +export const createProductionRelation = async (workstationCode,productionCodes:string[]) => { + const data = { + workstationCode : workstationCode, + productionCodes : productionCodes + } + return await request.post({ url: `/mes/production-process/createRelation`, data }) +} + +// 删除产品关联 +export const deleteProductionRelation = async (workstationCode,productionCodes:string[]) => { + const data = { + workstationCode : workstationCode, + productionCodes : productionCodes + } + return await request.post({ url: `/mes/production-process/deleteRelation`, data }) +} diff --git a/src/views/mes/workstation/components/Detail.vue b/src/views/mes/workstation/components/Detail.vue new file mode 100644 index 000000000..443256baf --- /dev/null +++ b/src/views/mes/workstation/components/Detail.vue @@ -0,0 +1,681 @@ + + + + + diff --git a/src/views/mes/workstation/components/TableHead.vue b/src/views/mes/workstation/components/TableHead.vue new file mode 100644 index 000000000..507ba8de4 --- /dev/null +++ b/src/views/mes/workstation/components/TableHead.vue @@ -0,0 +1,160 @@ + + + diff --git a/src/views/mes/workstation/index.vue b/src/views/mes/workstation/index.vue index 1aa880115..96b18035e 100644 --- a/src/views/mes/workstation/index.vue +++ b/src/views/mes/workstation/index.vue @@ -58,9 +58,50 @@ :detailAllSchemasRules="WorkstationRules" :apiPage="apiPage" :tabs="TabsList" - :detailButtonIsShowAdd = "true" - :detailButtonIsShowDelete="true" @changeTabs="changeTabs" + :buttondataTable="buttondataTable" + @tableFormButton="tableFormButton" + /> + + + + + @@ -81,18 +122,15 @@ import * as WorkstationApi from '@/api/mes/workstation' 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 { - getEquipmentPage, - getProcessPage, - getProductionPage, goalParams, - params } from "@/api/mes/workstation"; defineOptions({ name: 'Workstation' }) const message = useMessage() // 消息弹窗 const { t } = useI18n() // 国际化 - +const teamRef = ref() const route = useRoute() // 路由信息 const routeName = ref() routeName.value = route.name @@ -283,4 +321,65 @@ const changeTabs = (data) =>{ detailAllSchemas.value = Production.allSchemas } } +const buttondataTable = ref([{ + label: '取消关联', + name: 'viewParentPickingNumber', + hide: false, + type: 'primary', + icon: '', + color: '', + hasPermi: '', + link: true, // 文本展现按钮 +}]) +const teamListRef = ref() +const { tableObject: selectTeamListTableData, tableMethods: selectTeamListTableMethods } = useTable({ + getListApi: WorkstationApi.checkTeamPageList +}) +const { getList:selectTeamList } = selectTeamListTableMethods + +const equipmentListRef = ref() +const { tableObject: selectEquipmentListTableData, tableMethods: selectEquipmentListTableMethods } = useTable({ + getListApi: WorkstationApi.checkEquipmentPageList +}) +const { getList:selectEquipmentList } = selectEquipmentListTableMethods + +const processListRef = ref() +const { tableObject: selectProcessListTableData, tableMethods: processListTableMethods } = useTable({ + getListApi: WorkstationApi.checkProcessPageList +}) +const { getList:selectProcessListList } = processListTableMethods + +const productionListRef = ref() +const { tableObject: selectProductionListTableData, tableMethods: productionListTableMethods } = useTable({ + getListApi: WorkstationApi.checkProductionPageList +}) +const { getList:selectProductionList } = productionListTableMethods + +const tableFormButton = async (val , row) => { + if(val == 'Team'){ + selectTeamListTableData.params = { + workstationCode:row.workstationCode + } + await selectTeamList() + teamListRef.value.open('create', row, null,'viewDetail')//查看明细数据 + }else if(val == 'Equipment'){ + selectEquipmentListTableData.params = { + workstationCode:row.workstationCode + } + await selectEquipmentList() + equipmentListRef.value.open('create', row, null,'viewDetail')//查看明细数据 + }else if(val == 'Process'){ + selectProcessListTableData.params = { + workstationCode:row.workstationCode + } + await selectProcessListList() + processListRef.value.open('create', row, null,'viewDetail')//查看明细数据 + }else if(val == 'Production'){ + selectProductionListTableData.params = { + workstationCode:row.workstationCode + } + await selectProductionList() + productionListRef.value.open('create', row, null,'viewDetail')//查看明细数据 + } +} diff --git a/src/views/mes/workstation/workstation.data.ts b/src/views/mes/workstation/workstation.data.ts index baf468591..fe87fb777 100644 --- a/src/views/mes/workstation/workstation.data.ts +++ b/src/views/mes/workstation/workstation.data.ts @@ -105,6 +105,33 @@ export const Workstation = useCrudSchemas(reactive([ } ])) export const Team = useCrudSchemas(reactive([ + { + label: '代码', + field: 'code', + sort: 'custom', + isSearch: true, + isForm: false + }, + { + label: '名称', + field: 'name', + sort: 'custom', + isSearch: true, + isForm: false + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + isTableForm:true, + } +])) +export const TeamSelect = useCrudSchemas(reactive([ { label: '代码', field: 'code', @@ -134,6 +161,17 @@ export const Equipment = useCrudSchemas(reactive([ sort: 'custom', isSearch: true, isForm: false + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + isTableForm:true } ])) export const Process = useCrudSchemas(reactive([ @@ -150,6 +188,17 @@ export const Process = useCrudSchemas(reactive([ sort: 'custom', isSearch: true, isForm: false + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + isTableForm:true, } ])) export const Production = useCrudSchemas(reactive([ @@ -166,5 +215,16 @@ export const Production = useCrudSchemas(reactive([ sort: 'custom', isSearch: true, isForm: false + }, + { + label: '操作', + field: 'action', + isDetail: false, + isForm: false , + table: { + width: 150, + fixed: 'right' + }, + isTableForm:true, } ])) diff --git a/src/views/wms/basicDataManage/itemManage/itemarea/index.vue b/src/views/wms/basicDataManage/itemManage/itemarea/index.vue index e78f9d9cb..6a60ba6a9 100644 --- a/src/views/wms/basicDataManage/itemManage/itemarea/index.vue +++ b/src/views/wms/basicDataManage/itemManage/itemarea/index.vue @@ -128,9 +128,9 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) => setV['areaCode'] = val[0]['code'] setV['areaType'] = val[0]['type'] }else if(formField == 'inPackUnit') { - setV['inPackUnit'] = val[0]['code'] + setV['inPackUnit'] = val[0]['packUnit'] }else if(formField == 'outPackUnit') { - setV['outPackUnit'] = val[0]['code'] + setV['outPackUnit'] = val[0]['packUnit'] }else if(formField == 'itemCode') { setV['itemCode'] = val[0]['code'] }else{ @@ -227,7 +227,7 @@ const butttondata = (row) => { row.status = "1" return [ defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:itemarea:update'}), // 编辑 - // defaultButtons.mainListDeleteBtn({hasPermi:'wms:itemarea:delete'}), // 删除 + defaultButtons.mainListDeleteBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:itemarea:delete'}), // 删除 ] } diff --git a/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts b/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts index d3d4ff013..a1c2328fc 100644 --- a/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts +++ b/src/views/wms/basicDataManage/itemManage/itemarea/itemarea.data.ts @@ -96,7 +96,7 @@ export const Itemarea = useCrudSchemas(reactive([ componentProps: { isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择物料包装代码', // 输入框占位文本 - searchField: 'code', // 查询弹窗赋值字段 + searchField: 'packUnit', // 查询弹窗赋值字段 searchTitle: '物料包装信息', // 查询弹窗标题 searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类 searchPage: ItempackageApi.getItempackagingPage, // 查询弹窗所需分页方法 @@ -125,7 +125,7 @@ export const Itemarea = useCrudSchemas(reactive([ componentProps: { isSearchList: true, // 开启查询弹窗 searchListPlaceholder: '请选择物料包装代码', // 输入框占位文本 - searchField: 'code', // 查询弹窗赋值字段 + searchField: 'packUnit', // 查询弹窗赋值字段 searchTitle: '物料包装信息', // 查询弹窗标题 searchAllSchemas: Itempackaging.allSchemas, // 查询弹窗所需类 searchPage: ItempackageApi.getItempackagingPage, // 查询弹窗所需分页方法 @@ -212,7 +212,7 @@ export const Itemarea = useCrudSchemas(reactive([ }, form: { component: 'Switch', - value: 'TRUE', + value: 'FALSE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE' @@ -315,7 +315,7 @@ export const Itemarea = useCrudSchemas(reactive([ }, form: { component: 'Switch', - value: 'TRUE', + value: 'FALSE', componentProps: { inactiveValue: 'FALSE', activeValue: 'TRUE' @@ -648,12 +648,6 @@ export const ItemareaRules = reactive({ outPackUnit: [ { required: true, message: '请选择出库包装规格', trigger: 'change' } ], - needReceive: [ - { required: true, message: '请选择需要接受确认', trigger: 'change' } - ], - available: [ - { required: true, message: '请选择是否可用', trigger: 'change' } - ], manageMode: [ { required: true, message: '请选择管理精度', trigger: 'change' } ],