22
schangxiang@126.com
2025-05-21 05c47e0a832bbd2b8bafb732fc55c1ef8e9b97e0
22
已修改4个文件
926 ■■■■ 文件已修改
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Controllers/PipeAccessoryAssembly.ts 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Models/PipeAccessoryAssembly.ts 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/Config.ts 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx 675 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Controllers/PipeAccessoryAssembly.ts
@@ -1,6 +1,6 @@
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' 
@@ -9,8 +9,8 @@
  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() 
  /** 
   * 头部配置 
@@ -19,7 +19,7 @@
  /** 
   * 动态列配置 
   */ 
  const wmsMaterialContainerColumns = ref<Record<string, any>>([])
  const PipeAccessoryAssemblyColumns = ref<Record<string, any>>([])
  /** 
   * 搜索值 
   */ 
@@ -118,7 +118,7 @@
    // { 
    //   label: '创建副本', 
    //   fn: async ({ row }: CurrentType) => { 
    //     await wmsMaterialContainer.cloneData([row.id])
    //     await PipeAccessoryAssembly.cloneData([row.id])
    //     ElMessage.success('创建副本成功') 
    //     tableRef.value?.getList() 
    //   }, 
@@ -133,7 +133,7 @@
          `是否删除${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() 
        }) 
@@ -146,7 +146,7 @@
    selection.value = records 
  } 
 
  const onAddWmsMaterialContainer = () => {
  const onAddPipeAccessoryAssembly = () => {
    const params = tableRef.value?.getPaginationParams() 
    current.value = null 
    dialogConfig.visible = true 
@@ -164,7 +164,7 @@
    dialogConfigForQuery.title = '高级查询' 
  } 
  
  const onConfirmWmsMaterialContainer = async () => {
  const onConfirmPipeAccessoryAssembly = async () => {
    dialogConfig.visible = false 
    if (dialogConfig.isAdd) { 
      tableRef.value?.scrollToRow({ 
@@ -187,7 +187,7 @@
   */ 
  const onExport = (data={}) => { 
    //const params = tableRef.value?.getParams() 
    exportFile('/api/v1/HIAWms/wmsMaterialContainer/export', data, 'wmsMaterialContainer')
    exportFile('/api/v1/HIAWms/PipeAccessoryAssembly/export', data, 'PipeAccessoryAssembly')
  } 
 
  /** 
@@ -257,7 +257,7 @@
    current, 
    search, 
    sort, 
    wmsMaterialContainerColumns,
    PipeAccessoryAssemblyColumns,
    paginationParams, 
    headers, 
    onBeforeUpload, 
@@ -267,9 +267,9 @@
    onSearch, 
    onExport, 
    onRowClick, 
    onConfirmWmsMaterialContainer,
    onConfirmPipeAccessoryAssembly,
    onCheck, 
    onAddWmsMaterialContainer,
    onAddPipeAccessoryAssembly,
    onAdvancedQuery 
  } 
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Models/PipeAccessoryAssembly.ts
@@ -1,11 +1,11 @@
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: [], 
@@ -17,8 +17,8 @@
   * @param id 
   * @returns 
   */ 
  async deleteWmsMaterialContainers(ids: string[]) {
    return deleteWmsMaterialContainers(ids)
  async deletePipeAccessoryAssemblys(ids: string[]) {
   // return deletePipeAccessoryAssemblys(ids)
  } 
 
  /** 
@@ -26,8 +26,8 @@
   * @param data 
   * @returns 
   */ 
  addWmsMaterialContainer(data: Record<string, any>) {
    return addWmsMaterialContainer(data)
  addPipeAccessoryAssembly(data: Record<string, any>) {
    //return addPipeAccessoryAssembly(data)
  } 
 
  /** 
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/Config.ts
@@ -5,23 +5,218 @@
    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,
},  
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx
@@ -1,8 +1,13 @@
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,
@@ -19,31 +24,111 @@
  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 }>>([])
@@ -94,30 +179,31 @@
        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: '',
@@ -130,69 +216,203 @@
        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 (
@@ -200,134 +420,137 @@
          class={styles.PipeAccessoryAssemblyContent}
          style="overflow-y: auto !important;  height: 100%;"
        >
             <ElFormItem label="管段编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.pipeSpecCode}
                    clearable
                    class={styles.formInput}
                    onInput={handleChange}
                  />
                </ElFormItem>
          <ElFormItem label="管段编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
            <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="物料流向&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.processRouteNumber}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="任务编号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.taskCode}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="管段长度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.length}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="项目&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号">
                  <ElInput
                    v-model={queryForm.value.projectNumber}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="船&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号">
                  <ElInput
                    v-model={queryForm.value.shipNumber}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="材&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;质">
                  <ElInput
                    v-model={queryForm.value.material}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="外&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;径">
                  <ElInput
                    v-model={queryForm.value.outerDiameter}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="壁&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;厚">
                  <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="物料流向&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
              <ElInput
                v-model={queryForm.value.processRouteNumber}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="任务编号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
              <ElInput
                v-model={queryForm.value.taskCode}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="管段长度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
              <ElInput
                v-model={queryForm.value.length}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="项目&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号">
              <ElInput
                v-model={queryForm.value.projectNumber}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="船&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号">
              <ElInput
                v-model={queryForm.value.shipNumber}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="材&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;质">
              <ElInput
                v-model={queryForm.value.material}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="外&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;径">
              <ElInput
                v-model={queryForm.value.outerDiameter}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="壁&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;厚">
              <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="工位代码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.workstationCode}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="工序名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.processName}
                    disabled
                    clearable
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="设备代码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <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="工位代码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
              <ElInput
                v-model={queryForm.value.workstationCode}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="工序名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
              <ElInput
                v-model={queryForm.value.processName}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            <ElFormItem label="设备代码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
              <ElInput
                v-model={queryForm.value.equipmentCode}
                disabled
                clearable
                class={styles.formInput}
              />
            </ElFormItem>
            {/* <ElFormItem label="设备状态">
                  <ElInput
                    v-model={queryForm.value.materialBatch}
                    disabled
@@ -335,7 +558,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem> */}
                {/* <ElFormItem label="操作人">
            {/* <ElFormItem label="操作人">
                  <ElInput
                    v-model={queryForm.value.materialBatch}
                    disabled
@@ -343,16 +566,38 @@
                    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}