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, } ]))