| | |
| | | import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' |
| | | import { injectModel } from '@/libs/Provider/Provider' |
| | | import { WmsMaterialContainer } from '../Models/PipeAccessoryAssembly' |
| | | import { PipeAccessoryAssembly } from '../Models/PipeAccessoryAssembly' |
| | | import { ElMessage } from 'element-plus' |
| | | import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' |
| | | import { useFile } from './File' |
| | |
| | | row: any |
| | | index: number |
| | | } |
| | | export const useWmsMaterialContainer = (props: any, ctx?: any) => { |
| | | const wmsMaterialContainer = injectModel<WmsMaterialContainer>('wmsMaterialContainer') |
| | | export const usePipeAccessoryAssembly = (props: any, ctx?: any) => { |
| | | const PipeAccessoryAssembly = injectModel<PipeAccessoryAssembly>('PipeAccessoryAssembly') |
| | | const { exportFile } = useFile() |
| | | /** |
| | | * 头部配置 |
| | |
| | | /** |
| | | * 动态列配置 |
| | | */ |
| | | const wmsMaterialContainerColumns = ref<Record<string, any>>([]) |
| | | const PipeAccessoryAssemblyColumns = ref<Record<string, any>>([]) |
| | | /** |
| | | * 搜索值 |
| | | */ |
| | |
| | | // { |
| | | // label: '创建副本', |
| | | // fn: async ({ row }: CurrentType) => { |
| | | // await wmsMaterialContainer.cloneData([row.id]) |
| | | // await PipeAccessoryAssembly.cloneData([row.id]) |
| | | // ElMessage.success('创建副本成功') |
| | | // tableRef.value?.getList() |
| | | // }, |
| | |
| | | `是否删除${names.length ? names.join(',') : c.row.materialId}` |
| | | ).then(async () => { |
| | | const ids = selection.value.map((item: { id: string }) => item.id) |
| | | await wmsMaterialContainer.deleteWmsMaterialContainers(ids.length ? ids : [c.row.id]) |
| | | await PipeAccessoryAssembly.deletePipeAccessoryAssemblys(ids.length ? ids : [c.row.id]) |
| | | ElMessage.success('删除成功') |
| | | tableRef.value.getList() |
| | | }) |
| | |
| | | selection.value = records |
| | | } |
| | | |
| | | const onAddWmsMaterialContainer = () => { |
| | | const onAddPipeAccessoryAssembly = () => { |
| | | const params = tableRef.value?.getPaginationParams() |
| | | current.value = null |
| | | dialogConfig.visible = true |
| | |
| | | dialogConfigForQuery.title = '高级查询' |
| | | } |
| | | |
| | | const onConfirmWmsMaterialContainer = async () => { |
| | | const onConfirmPipeAccessoryAssembly = async () => { |
| | | dialogConfig.visible = false |
| | | if (dialogConfig.isAdd) { |
| | | tableRef.value?.scrollToRow({ |
| | |
| | | */ |
| | | const onExport = (data={}) => { |
| | | //const params = tableRef.value?.getParams() |
| | | exportFile('/api/v1/HIAWms/wmsMaterialContainer/export', data, 'wmsMaterialContainer') |
| | | exportFile('/api/v1/HIAWms/PipeAccessoryAssembly/export', data, 'PipeAccessoryAssembly') |
| | | } |
| | | |
| | | /** |
| | |
| | | current, |
| | | search, |
| | | sort, |
| | | wmsMaterialContainerColumns, |
| | | PipeAccessoryAssemblyColumns, |
| | | paginationParams, |
| | | headers, |
| | | onBeforeUpload, |
| | |
| | | onSearch, |
| | | onExport, |
| | | onRowClick, |
| | | onConfirmWmsMaterialContainer, |
| | | onConfirmPipeAccessoryAssembly, |
| | | onCheck, |
| | | onAddWmsMaterialContainer, |
| | | onAddPipeAccessoryAssembly, |
| | | onAdvancedQuery |
| | | } |
| | | } |
| | |
| | | import { Base } from '@/libs/Base/Base' |
| | | import { |
| | | deleteWmsMaterialContainers, |
| | | addWmsMaterialContainer, |
| | | // deletePipeAccessoryAssemblys, |
| | | // addPipeAccessoryAssembly, |
| | | cloneData, |
| | | } from './Service/PipeAccessoryAssembly' |
| | | |
| | | export class WmsMaterialContainer extends Base<{ [key: string]: any }> { |
| | | export class PipeAccessoryAssembly extends Base<{ [key: string]: any }> { |
| | | constructor() { |
| | | super({ |
| | | data: [], |
| | |
| | | * @param id |
| | | * @returns |
| | | */ |
| | | async deleteWmsMaterialContainers(ids: string[]) { |
| | | return deleteWmsMaterialContainers(ids) |
| | | async deletePipeAccessoryAssemblys(ids: string[]) { |
| | | // return deletePipeAccessoryAssemblys(ids) |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param data |
| | | * @returns |
| | | */ |
| | | addWmsMaterialContainer(data: Record<string, any>) { |
| | | return addWmsMaterialContainer(data) |
| | | addPipeAccessoryAssembly(data: Record<string, any>) { |
| | | //return addPipeAccessoryAssembly(data) |
| | | } |
| | | |
| | | /** |
| | |
| | | title: '序号', |
| | | }, |
| | | { |
| | | field: 'containerNo', |
| | | title: '托盘编号', |
| | | field: 'son_TaskCode', |
| | | title: '子任务编码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'materialId', |
| | | title: '物料ID', |
| | | field: 'taskCode', |
| | | title: '任务编码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'sort', |
| | | title: '', |
| | | field: 'pipeSpecCode', |
| | | title: '管段编码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'pipeSectionName', |
| | | title: '管段名称', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'pipeSpecMode', |
| | | title: '管段型号', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'processName', |
| | | title: '工序名称', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'shipNumber', |
| | | title: '船号', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'projectNumber', |
| | | title: '项目号', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'workPlanStatusDesc', |
| | | title: '计划状态', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'callMaterialStatusDesc', |
| | | title: '叫料状态', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'processRouteNumber', |
| | | title: '工艺流向编号', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'dataIdentifier', |
| | | title: '原料标识', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'materialMode', |
| | | title: '原料型号', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'length', |
| | | title: '长度(mm)', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'markingContent', |
| | | title: '打码内容', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'markingPosition', |
| | | title: '打码位置', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'cuttingPosition', |
| | | title: '切割位置', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'quantity', |
| | | title: '管段数量', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'flangeThickness', |
| | | title: '法兰厚度(mm)', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'flangeInnerDiameter', |
| | | title: '法兰直径(mm)', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'weldingHeatInput', |
| | | title: '法兰公称压力', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'pipeAllowableStress', |
| | | title: '法兰冲码内容', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'pipeDiameter', |
| | | title: '套管长度(mm)', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'pipeWallThickness', |
| | | title: '套管直径(mm)', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'factoryCode', |
| | | title: '工厂代码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'productCode', |
| | | title: '产品代码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'workstationCode', |
| | | title: '工位代码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'equipmentCode', |
| | | title: '设备代码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'prodLineCode', |
| | | title: '产线编码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'pipeFittingCode', |
| | | title: '管件编码', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'preSerialNumber', |
| | | title: '顺序号', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'outerDiameter', |
| | | title: '外径(mm)', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'thickness', |
| | | title: '壁厚(mm)', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'material', |
| | | title: '材质', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'plannedStartTime', |
| | | title: '计划开始时间', |
| | | width:180, |
| | | }, |
| | | { |
| | | field: 'plannedEndTime', |
| | | title: '计划完成时间', |
| | | width:180, |
| | | }, |
| | | { |
| | | field: 'teamInfo', |
| | | title: '班组信息', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'timestamp', |
| | | title: '时间戳', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'creationTime', |
| | | title: '是否禁用', |
| | | title: '创建时间', |
| | | width:180, |
| | | }, |
| | | { |
| | | field: 'deletionTime', |
| | | title: '', |
| | | field: 'lastModificationTime', |
| | | title: '修改时间', |
| | | width:180, |
| | | }, |
| | | { |
| | | field: 'creatorName', |
| | | title: '创建人', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'lastModifierName', |
| | | title: '修改人', |
| | | width:160, |
| | | }, |
| | | { |
| | | field: 'remark', |
| | | title: '备注', |
| | | width:160, |
| | | }, |
| | | ] |
| | |
| | | import { defineComponent, onMounted, ref } from 'vue' |
| | | import type { Ref } from 'vue' |
| | | import styles from './PipeAccessoryAssembly.module.scss' |
| | | import { usePipeAccessoryAssembly } from '../../../Controllers/PipeAccessoryAssembly' |
| | | import pipeImage from '@/images/pipe-assembly-drawing-example.png' |
| | | import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' |
| | | import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' |
| | | import { columns } from './Config' |
| | | import TdButton from '@/components/TdButton/TdButton' |
| | | import BaseTable from '@/components/Table/Table' |
| | | import dayjs from 'dayjs' |
| | | import { |
| | | ElInput, |
| | | ElForm, |
| | |
| | | instock, |
| | | findSingleWorkPlanByFilter, |
| | | startProduction, |
| | | finishProduction |
| | | finishProduction, |
| | | } from '@/widgets/PipeAccessoryAssembly/Models/Service/PipeAccessoryAssembly' |
| | | import { Message } from '@element-plus/icons-vue/dist/types' |
| | | |
| | | interface RenderTableType { |
| | | url?: string |
| | | dataSource: Ref<any[]> |
| | | isDrag?: boolean |
| | | isChecked?: boolean |
| | | isHidePagination?: boolean |
| | | params?: Record<string, any> |
| | | autoHeight?: boolean |
| | | } |
| | | |
| | | export default defineComponent({ |
| | | name: 'PipeAccessoryAssembly', |
| | | setup() { |
| | | // 查询表单数据 |
| | | const queryForm = ref({ |
| | | pipeSpecCode: '', |
| | | processRouteNumber: '', |
| | | taskCode: '', |
| | | length: '', |
| | | projectNumber: '', |
| | | shipNumber: '', |
| | | material: '', |
| | | outerDiameter: '', |
| | | thickness: '', |
| | | plannedStartTime: '', |
| | | plannedEndTime: '', |
| | | workstationCode: '', |
| | | processName: '', |
| | | equipmentCode: '' |
| | | }) |
| | | setup(props, ctx) { |
| | | const { |
| | | dataSource, |
| | | contextMenu, |
| | | dialogConfig, |
| | | dialogConfigForQuery, |
| | | tableRef, |
| | | current, |
| | | search, |
| | | sort, |
| | | headers, |
| | | onError, |
| | | onSearch, |
| | | onRowClick, |
| | | // onConfirmWorkTask, |
| | | onCheck, |
| | | // onAddWorkTask, |
| | | onAdvancedQuery, |
| | | onExport, |
| | | openDetail, |
| | | onSuccess, |
| | | onBeforeUpload, |
| | | } = usePipeAccessoryAssembly(props, ctx) |
| | | |
| | | // 查询表单数据 |
| | | const queryForm = ref({ |
| | | pipeSpecCode: '', |
| | | processRouteNumber: '', |
| | | taskCode: '', |
| | | length: '', |
| | | projectNumber: '', |
| | | shipNumber: '', |
| | | material: '', |
| | | outerDiameter: '', |
| | | thickness: '', |
| | | plannedStartTime: '', |
| | | plannedEndTime: '', |
| | | workstationCode: '', |
| | | processName: '', |
| | | equipmentCode: '', |
| | | }) |
| | | |
| | | const tableData = ref([ |
| | | { sequence: 1, flangeA: 'RF-200-1.6MPa', flangeB: 'WN-200-1.6MPa' }, |
| | | { sequence: 2, flangeA: 'WN-250-2.5MPa', flangeB: 'SO-250-2.5MPa' }, |
| | | { sequence: 3, flangeA: 'PL-300-1.0MPa', flangeB: 'RF-300-1.0MPa' }, |
| | | { sequence: 4, flangeA: 'SO-150-2.0MPa', flangeB: 'WN-150-2.0MPa' }, |
| | | { sequence: 5, flangeA: 'RF-400-1.6MPa', flangeB: 'PL-400-1.6MPa' }, |
| | | { sequence: 6, flangeA: 'WN-200-4.0MPa', flangeB: 'SO-200-4.0MPa' }, |
| | | { sequence: 7, flangeA: 'SO-300-1.6MPa', flangeB: 'RF-300-1.6MPa' }, |
| | | { sequence: 8, flangeA: 'PL-250-1.0MPa', flangeB: 'WN-250-1.0MPa' }, |
| | | { sequence: 9, flangeA: 'RF-150-2.5MPa', flangeB: 'SO-150-2.5MPa' }, |
| | | { sequence: 10, flangeA: 'WN-400-2.0MPa', flangeB: 'PL-400-2.0MPa' }, |
| | | ]) |
| | | const tableData2 = [ |
| | | { sequence: 1, flangeA: 'RF-200-1.6MPa', flangeB: 'WN-200-1.6MPa' }, |
| | | { sequence: 2, flangeA: 'WN-250-2.5MPa', flangeB: 'SO-250-2.5MPa' }, |
| | | { sequence: 3, flangeA: 'PL-300-1.0MPa', flangeB: 'RF-300-1.0MPa' }, |
| | | { sequence: 4, flangeA: 'SO-150-2.0MPa', flangeB: 'WN-150-2.0MPa' }, |
| | | { sequence: 5, flangeA: 'RF-400-1.6MPa', flangeB: 'PL-400-1.6MPa' }, |
| | | { sequence: 6, flangeA: 'WN-200-4.0MPa', flangeB: 'SO-200-4.0MPa' }, |
| | | { sequence: 7, flangeA: 'SO-300-1.6MPa', flangeB: 'RF-300-1.6MPa' }, |
| | | { sequence: 8, flangeA: 'PL-250-1.0MPa', flangeB: 'WN-250-1.0MPa' }, |
| | | { sequence: 9, flangeA: 'RF-150-2.5MPa', flangeB: 'SO-150-2.5MPa' }, |
| | | { sequence: 10, flangeA: 'WN-400-2.0MPa', flangeB: 'PL-400-2.0MPa' }, |
| | | ] |
| | | |
| | | const tableData3 = [ |
| | | { |
| | | date: '2016-05-03', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-02', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-04', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | { |
| | | date: '2016-05-01', |
| | | name: 'Tom', |
| | | address: 'No. 189, Grove St, Los Angeles', |
| | | }, |
| | | ] |
| | | // 数据源 |
| | | const modelOptions = ref<Array<{ value: string; label: string }>>([]) |
| | | const placeNoOptions = ref<Array<{ value: string; label: string }>>([]) |
| | |
| | | label: item.placeNoDesc, |
| | | })) |
| | | } |
| | | const handleChange =async (value) => { |
| | | console.log('输入内容确认:', value); // 失去焦点或回车时触发 |
| | | if(value==''){ |
| | | initQueryForm(); |
| | | return; |
| | | const handleChange = async (value) => { |
| | | console.log('输入内容确认:', value) // 失去焦点或回车时触发 |
| | | if (value == '') { |
| | | initQueryForm() |
| | | return |
| | | } |
| | | // 在此处添加业务逻辑(如校验、提交等) |
| | | const param={ |
| | | pipeSpecCode:value, |
| | | pipeSpecCode_FilterMode:2,//精准查询 |
| | | processName:'装配工序', |
| | | processName_FilterMode:2,//精准查询 |
| | | const param = { |
| | | pipeSpecCode: value, |
| | | pipeSpecCode_FilterMode: 2, //精准查询 |
| | | processName: '装配工序', |
| | | processName_FilterMode: 2, //精准查询 |
| | | } |
| | | const workPlan = await findSingleWorkPlanByFilter(param); |
| | | console.log('返回:'+workPlan); |
| | | if(workPlan==''){ |
| | | ElMessage.error('没有找到数据'); |
| | | initQueryForm(); |
| | | }else{ |
| | | queryForm.value=workPlan; |
| | | const workPlan = await findSingleWorkPlanByFilter(param) |
| | | console.log('返回:' + workPlan) |
| | | if (workPlan == '') { |
| | | ElMessage.error('没有找到数据') |
| | | initQueryForm() |
| | | } else { |
| | | queryForm.value = workPlan |
| | | } |
| | | }; |
| | | const initQueryForm=()=>{ |
| | | queryForm.value ={ pipeSpecCode: '', |
| | | } |
| | | const initQueryForm = () => { |
| | | queryForm.value = { |
| | | pipeSpecCode: '', |
| | | processRouteNumber: '', |
| | | taskCode: '', |
| | | length: '', |
| | |
| | | plannedEndTime: '', |
| | | workstationCode: '', |
| | | processName: '', |
| | | equipmentCode: ''} |
| | | equipmentCode: '', |
| | | } |
| | | } |
| | | |
| | | //您的业务逻辑 |
| | | const paramForProcessRoute= { |
| | | processName: '法兰冲码工序', |
| | | ProcessName_FilterMode:2,//精准查询 |
| | | pipeSpecCode: queryForm.value.pipeSpecCode, |
| | | pipeSpecCode_FilterMode:2,//精准查询 |
| | | } |
| | | // 刷新工艺信息 |
| | | const refreshProcessRoute = () => { |
| | | console.log('执行 刷新工艺信息') |
| | | // if (queryForm.value.pipeSpecCode == '') { |
| | | // ElMessage.error('请输入管段编码') |
| | | // return |
| | | // } |
| | | |
| | | tableRef.value.getList(paramForProcessRoute) |
| | | } |
| | | // 开工事件处理 |
| | | const startWork = () => { |
| | | console.log('执行开工操作'); |
| | | if(queryForm.value.pipeSpecCode==''){ |
| | | ElMessage.error('请输入管段编码'); |
| | | console.log('执行开工操作') |
| | | if (queryForm.value.pipeSpecCode == '') { |
| | | ElMessage.error('请输入管段编码') |
| | | return |
| | | } |
| | | ConfirmBox( |
| | | `确定要将管段编码${queryForm.value.pipeSpecCode}开工吗` |
| | | ).then(async () => { |
| | | //您的业务逻辑 |
| | | const param={ |
| | | taskCode:queryForm.value.taskCode, |
| | | }; |
| | | const ret = await startProduction(param); |
| | | console.log('返回:'+ret); |
| | | if(ret.code="200"){ |
| | | ElMessage.success('开工成功'); |
| | | }else{ |
| | | ElMessage.error('开工失败:'+ret.message); |
| | | } |
| | | }) |
| | | } |
| | | ConfirmBox(`确定要将管段编码${queryForm.value.pipeSpecCode}开工吗`).then( |
| | | async () => { |
| | | //您的业务逻辑 |
| | | const param = { |
| | | taskCode: queryForm.value.taskCode, |
| | | } |
| | | const ret = await startProduction(param) |
| | | console.log('返回:' + ret) |
| | | if ((ret.code = '200')) { |
| | | ElMessage.success('开工成功') |
| | | } else { |
| | | ElMessage.error('开工失败:' + ret.message) |
| | | } |
| | | } |
| | | ) |
| | | } |
| | | // 完工事件处理 |
| | | const finishWork = () => { |
| | | console.log('执行开工操作'); |
| | | if(queryForm.value.pipeSpecCode==''){ |
| | | ElMessage.error('请输入管段编码'); |
| | | console.log('执行开工操作') |
| | | if (queryForm.value.pipeSpecCode == '') { |
| | | ElMessage.error('请输入管段编码') |
| | | return |
| | | } |
| | | ConfirmBox( |
| | | `确定要将管段编码${queryForm.value.pipeSpecCode}完工吗` |
| | | ).then(async () => { |
| | | //您的业务逻辑 |
| | | const param={ |
| | | pipeSpecCode:queryForm.value.pipeSpecCode, |
| | | processName:queryForm.value.processName, |
| | | }; |
| | | const ret = await finishProduction(param); |
| | | console.log('返回:'+ret); |
| | | if(ret.code="200"){ |
| | | ElMessage.success('完工成功'); |
| | | }else{ |
| | | ElMessage.error('完工失败:'+ret.message); |
| | | } |
| | | }) |
| | | ConfirmBox(`确定要将管段编码${queryForm.value.pipeSpecCode}完工吗`).then( |
| | | async () => { |
| | | //您的业务逻辑 |
| | | const param = { |
| | | pipeSpecCode: queryForm.value.pipeSpecCode, |
| | | processName: queryForm.value.processName, |
| | | } |
| | | const ret = await finishProduction(param) |
| | | console.log('返回:' + ret) |
| | | if ((ret.code = '200')) { |
| | | ElMessage.success('完工成功') |
| | | } else { |
| | | ElMessage.error('完工失败:' + ret.message) |
| | | } |
| | | } |
| | | ) |
| | | } |
| | | const tableData = ref([ |
| | | { sequence: 1, flangeA: 'RF-200-1.6MPa', flangeB: 'WN-200-1.6MPa' }, |
| | | { sequence: 2, flangeA: 'WN-250-2.5MPa', flangeB: 'SO-250-2.5MPa' }, |
| | | { sequence: 3, flangeA: 'PL-300-1.0MPa', flangeB: 'RF-300-1.0MPa' }, |
| | | { sequence: 4, flangeA: 'SO-150-2.0MPa', flangeB: 'WN-150-2.0MPa' }, |
| | | { sequence: 5, flangeA: 'RF-400-1.6MPa', flangeB: 'PL-400-1.6MPa' }, |
| | | { sequence: 6, flangeA: 'WN-200-4.0MPa', flangeB: 'SO-200-4.0MPa' }, |
| | | { sequence: 7, flangeA: 'SO-300-1.6MPa', flangeB: 'RF-300-1.6MPa' }, |
| | | { sequence: 8, flangeA: 'PL-250-1.0MPa', flangeB: 'WN-250-1.0MPa' }, |
| | | { sequence: 9, flangeA: 'RF-150-2.5MPa', flangeB: 'SO-150-2.5MPa' }, |
| | | { sequence: 10, flangeA: 'WN-400-2.0MPa', flangeB: 'PL-400-2.0MPa' } |
| | | ]); |
| | | |
| | | /** |
| | | * @returns 表格 |
| | | */ |
| | | const RenderBaseTable = (props: RenderTableType) => { |
| | | const { |
| | | url, |
| | | dataSource, |
| | | isDrag, |
| | | isChecked, |
| | | isHidePagination, |
| | | params, |
| | | autoHeight, |
| | | maxHeight, |
| | | } = props |
| | | |
| | | return ( |
| | | <div |
| | | class={{ |
| | | [styles.workTaskList]: true, |
| | | }} |
| | | > |
| | | <BaseTable |
| | | ref={tableRef} |
| | | url={url} |
| | | sortUrlTpl="/api/v1/PipeLineLems/workTask/{id}/adjustsort/{sort}" |
| | | v-model:dataSource={dataSource.value} |
| | | columns={columns} |
| | | contextMenu={contextMenu} |
| | | params={params} |
| | | isDrag={isDrag} |
| | | isChecked={isChecked} |
| | | autoHeight={autoHeight} |
| | | maxHeight={maxHeight} |
| | | onCheck={onCheck} |
| | | onRowClick={onRowClick} |
| | | isHidePagination={isHidePagination} |
| | | pageSize={20} |
| | | v-slots={{ |
| | | plannedStartTime: ({ row }: any) => { |
| | | return ( |
| | | <div> |
| | | {row.plannedStartTime != null |
| | | ? dayjs(row.plannedStartTime).format( |
| | | 'YYYY-MM-DD HH:mm:ss' |
| | | ) |
| | | : '-'} |
| | | </div> |
| | | ) |
| | | }, |
| | | plannedEndTime: ({ row }: any) => { |
| | | return ( |
| | | <div> |
| | | {row.plannedEndTime != null |
| | | ? dayjs(row.plannedEndTime).format('YYYY-MM-DD HH:mm:ss') |
| | | : '-'} |
| | | </div> |
| | | ) |
| | | }, |
| | | creationTime: ({ row }: any) => { |
| | | return ( |
| | | <div> |
| | | {row.creationTime != null |
| | | ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss') |
| | | : '-'} |
| | | </div> |
| | | ) |
| | | }, |
| | | lastModificationTime: ({ row }: any) => { |
| | | return ( |
| | | <div> |
| | | {row.lastModificationTime != null |
| | | ? dayjs(row.lastModificationTime).format( |
| | | 'YYYY-MM-DD HH:mm:ss' |
| | | ) |
| | | : '-'} |
| | | </div> |
| | | ) |
| | | }, |
| | | isDeleted: ({ row }: any) => { |
| | | return ( |
| | | <div> |
| | | {row.isDeleted != null |
| | | ? row.isDeleted |
| | | ? '是' |
| | | : '否' |
| | | : '-'} |
| | | </div> |
| | | ) |
| | | }, |
| | | deletionTime: ({ row }: any) => { |
| | | return ( |
| | | <div> |
| | | {row.deletionTime != null |
| | | ? dayjs(row.deletionTime).format('YYYY-MM-DD HH:mm:ss') |
| | | : '-'} |
| | | </div> |
| | | ) |
| | | }, |
| | | isDisabled: ({ row }: any) => { |
| | | return ( |
| | | <div> |
| | | {row.isDisabled != null |
| | | ? row.isDisabled |
| | | ? '是' |
| | | : '否' |
| | | : '-'} |
| | | </div> |
| | | ) |
| | | }, |
| | | name: ({ row }: any) => { |
| | | return row?.name ? ( |
| | | <TdButton |
| | | onClick={() => openDetail(row)} |
| | | text={<span style="color:#5a84ff">详情</span>} |
| | | icon="scale" |
| | | tip={row?.name} |
| | | hover |
| | | > |
| | | {row?.name} |
| | | </TdButton> |
| | | ) : ( |
| | | '-' |
| | | ) |
| | | }, |
| | | }} |
| | | ></BaseTable> |
| | | </div> |
| | | ) |
| | | } |
| | | |
| | | return () => { |
| | | return ( |
| | |
| | | class={styles.PipeAccessoryAssemblyContent} |
| | | style="overflow-y: auto !important; height: 100%;" |
| | | > |
| | | <ElFormItem label="管段编码 "> |
| | | <ElInput |
| | | v-model={queryForm.value.pipeSpecCode} |
| | | clearable |
| | | class={styles.formInput} |
| | | onInput={handleChange} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="管段编码 "> |
| | | <ElInput |
| | | v-model={queryForm.value.pipeSpecCode} |
| | | clearable |
| | | class={styles.formInput} |
| | | onInput={handleChange} |
| | | /> |
| | | </ElFormItem> |
| | | <div class={styles.actionButtons}> |
| | | <ElButton type="warning" onClick={startWork}>开工</ElButton> |
| | | <ElButton type="warning" onClick={finishWork}>完工</ElButton> |
| | | <ElButton type="warning" onClick={startWork}> |
| | | 开工 |
| | | </ElButton> |
| | | <ElButton type="warning" onClick={finishWork}> |
| | | 完工 |
| | | </ElButton> |
| | | {/* <ElButton type="warning">暂停</ElButton> |
| | | <ElButton type="warning">自动</ElButton> |
| | | <ElButton type="warning">质检</ElButton> */} |
| | | </div> |
| | | |
| | | <h2 class={styles.blockTitle}>当前任务</h2> |
| | | <ElForm label-position="left" > |
| | | |
| | | <ElFormItem label="物料流向 "> |
| | | <ElInput |
| | | v-model={queryForm.value.processRouteNumber} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="任务编号 "> |
| | | <ElInput |
| | | v-model={queryForm.value.taskCode} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="管段长度 "> |
| | | <ElInput |
| | | v-model={queryForm.value.length} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="项目 号"> |
| | | <ElInput |
| | | v-model={queryForm.value.projectNumber} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="船 号"> |
| | | <ElInput |
| | | v-model={queryForm.value.shipNumber} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="材 质"> |
| | | <ElInput |
| | | v-model={queryForm.value.material} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="外 径"> |
| | | <ElInput |
| | | v-model={queryForm.value.outerDiameter} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="壁 厚"> |
| | | <ElInput |
| | | v-model={queryForm.value.thickness} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="计划开始时间"> |
| | | <ElInput |
| | | v-model={queryForm.value.plannedStartTime} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="计划完成时间"> |
| | | <ElInput |
| | | v-model={queryForm.value.plannedEndTime} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | </ElForm> |
| | | <ElForm label-position="left"> |
| | | <ElFormItem label="物料流向 "> |
| | | <ElInput |
| | | v-model={queryForm.value.processRouteNumber} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="任务编号 "> |
| | | <ElInput |
| | | v-model={queryForm.value.taskCode} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="管段长度 "> |
| | | <ElInput |
| | | v-model={queryForm.value.length} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="项目 号"> |
| | | <ElInput |
| | | v-model={queryForm.value.projectNumber} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="船 号"> |
| | | <ElInput |
| | | v-model={queryForm.value.shipNumber} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="材 质"> |
| | | <ElInput |
| | | v-model={queryForm.value.material} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="外 径"> |
| | | <ElInput |
| | | v-model={queryForm.value.outerDiameter} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="壁 厚"> |
| | | <ElInput |
| | | v-model={queryForm.value.thickness} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="计划开始时间"> |
| | | <ElInput |
| | | v-model={queryForm.value.plannedStartTime} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="计划完成时间"> |
| | | <ElInput |
| | | v-model={queryForm.value.plannedEndTime} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | </ElForm> |
| | | |
| | | <h2 class={styles.blockTitle}>当前工位/设备信息</h2> |
| | | <ElForm label-position="left" > |
| | | <ElFormItem label="工位代码 "> |
| | | <ElInput |
| | | v-model={queryForm.value.workstationCode} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="工序名称 "> |
| | | <ElInput |
| | | v-model={queryForm.value.processName} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="设备代码 "> |
| | | <ElInput |
| | | v-model={queryForm.value.equipmentCode} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | {/* <ElFormItem label="设备状态"> |
| | | <h2 class={styles.blockTitle}>当前工位/设备信息</h2> |
| | | <ElForm label-position="left"> |
| | | <ElFormItem label="工位代码 "> |
| | | <ElInput |
| | | v-model={queryForm.value.workstationCode} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="工序名称 "> |
| | | <ElInput |
| | | v-model={queryForm.value.processName} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="设备代码 "> |
| | | <ElInput |
| | | v-model={queryForm.value.equipmentCode} |
| | | disabled |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | {/* <ElFormItem label="设备状态"> |
| | | <ElInput |
| | | v-model={queryForm.value.materialBatch} |
| | | disabled |
| | |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> */} |
| | | {/* <ElFormItem label="操作人"> |
| | | {/* <ElFormItem label="操作人"> |
| | | <ElInput |
| | | v-model={queryForm.value.materialBatch} |
| | | disabled |
| | |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> */} |
| | | </ElForm> |
| | | </ElForm> |
| | | |
| | | {/* <div class="info-block"> |
| | | <h2 class="block-title">工艺信息</h2> |
| | | <el-table stripe v-model:dataSource={tableData}> |
| | | <el-table stripe :data={tableData}> |
| | | <el-table-column prop="sequence" label="序"></el-table-column> |
| | | <el-table-column prop="flangeA" label="法兰A"></el-table-column> |
| | | <el-table-column prop="flangeB" label="法兰B"></el-table-column> |
| | | </el-table> |
| | | </div> */} |
| | | <div class="info-block"> |
| | | <h2 class="block-title">工艺信息</h2> |
| | | <div class={styles.actionButtons}> |
| | | <ElButton type="warning" onClick={refreshProcessRoute}> |
| | | 刷新 |
| | | </ElButton> |
| | | </div> |
| | | {/* <el-table stripe :data="tableData3" style="width: 100%"> |
| | | <el-table-column prop="date" label="Date" width="180" /> |
| | | <el-table-column prop="name" label="Name" width="180" /> |
| | | <el-table-column prop="address" label="Address" /> |
| | | </el-table> */} |
| | | <RenderBaseTable |
| | | url="/api/v1/PipeLineLems/workTask/page" |
| | | dataSource={dataSource} |
| | | isChecked={true} |
| | | isDrag={true} |
| | | autoHeight={false} |
| | | maxHeight="500px" |
| | | params={paramForProcessRoute} |
| | | /> |
| | | </div> |
| | | <h2 class="block-title">图纸</h2> |
| | | <img |
| | | src={pipeImage} |