schangxiang@126.com
2025-05-19 ed231e8624dd3b5ad021ea02cb0818d9fdfc4eb1
PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx
@@ -2,6 +2,7 @@
import type { Ref } from 'vue'
import styles from './PipeAccessoryAssembly.module.scss'
import pipeImage from '@/images/pipe-assembly-drawing-example.png'
import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
import {
  ElInput,
  ElForm,
@@ -16,7 +17,9 @@
  getPlaceNoForStockList,
  getMaterialModelList,
  instock,
  findSingleWorkPlanByFilter
  findSingleWorkPlanByFilter,
  startProduction,
  finishProduction
} from '@/widgets/PipeAccessoryAssembly/Models/Service/PipeAccessoryAssembly'
import { Message } from '@element-plus/icons-vue/dist/types'
@@ -47,8 +50,8 @@
    onMounted(() => {
      // 组件挂载后获取型号列表和库位号列表
      getModelList()
      getPlaceNoList()
      // getModelList()
      // getPlaceNoList()
    })
    // 组盘操作
@@ -93,6 +96,10 @@
    }
    const handleChange =async (value) => {
      console.log('输入内容确认:', value); // 失去焦点或回车时触发
      if(value==''){
        initQueryForm();
        return;
      }
      // 在此处添加业务逻辑(如校验、提交等)
      const param={
        pipeSpecCode:value,
@@ -104,24 +111,88 @@
      console.log('返回:'+workPlan);
      if(workPlan==''){
        ElMessage.error('没有找到数据'); 
        queryForm.value ={ pipeSpecCode: '',
          processRouteNumber: '',
          taskCode: '',
          length: '',
          projectNumber: '',
          shipNumber: '',
          material: '',
          outerDiameter: '',
          thickness: '',
          plannedStartTime: '',
          plannedEndTime: '',
          workstationCode: '',
          processName: '',
          equipmentCode: ''}
        initQueryForm();
      }else{
        queryForm.value=workPlan;
      }
    };
    const initQueryForm=()=>{
      queryForm.value ={ pipeSpecCode: '',
        processRouteNumber: '',
        taskCode: '',
        length: '',
        projectNumber: '',
        shipNumber: '',
        material: '',
        outerDiameter: '',
        thickness: '',
        plannedStartTime: '',
        plannedEndTime: '',
        workstationCode: '',
        processName: '',
        equipmentCode: ''}
    }
    // 开工事件处理
    const startWork = () => {
      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);
                }
              })
    }
    // 完工事件处理
    const finishWork = () => {
      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);
                }
              })
    }
    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' }
    ]);
    return () => {
      return (
@@ -129,7 +200,7 @@
          class={styles.PipeAccessoryAssemblyContent}
          style="overflow-y: auto !important;  height: 100%;"
        >
             <ElFormItem label="管段编号">
             <ElFormItem label="管段编码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.pipeSpecCode}
                    clearable
@@ -138,17 +209,17 @@
                  />
                </ElFormItem>
          <div class={styles.actionButtons}>
            <ElButton type="warning">开工</ElButton>
            <ElButton type="warning">完工</ElButton>
            <ElButton type="warning">暂停</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>
            <ElButton type="warning">质检</ElButton> */}
          </div>
          <h2 class={styles.blockTitle}>当前任务</h2>
          <ElForm label-position="left" >
             
                <ElFormItem label="物料流向">
                <ElFormItem label="物料流向&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.processRouteNumber}
                    disabled
@@ -156,7 +227,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="任务编号">
                <ElFormItem label="任务编号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.taskCode}
                    disabled
@@ -164,7 +235,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="管段长度">
                <ElFormItem label="管段长度&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.length}
                    disabled
@@ -172,7 +243,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="项目号">
                <ElFormItem label="项目&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号">
                  <ElInput
                    v-model={queryForm.value.projectNumber}
                    disabled
@@ -180,7 +251,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="船号">
                <ElFormItem label="船&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号">
                  <ElInput
                    v-model={queryForm.value.shipNumber}
                    disabled
@@ -188,7 +259,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="材质">
                <ElFormItem label="材&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;质">
                  <ElInput
                    v-model={queryForm.value.material}
                    disabled
@@ -196,7 +267,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="外径">
                <ElFormItem label="外&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;径">
                  <ElInput
                    v-model={queryForm.value.outerDiameter}
                    disabled
@@ -204,7 +275,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="壁         &nbsp;&nbsp;&nbsp;厚">
                <ElFormItem label="壁&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;厚">
                  <ElInput
                    v-model={queryForm.value.thickness}
                    disabled
@@ -232,7 +303,7 @@
              <h2 class={styles.blockTitle}>当前工位/设备信息</h2>
          <ElForm label-position="left" >
                <ElFormItem label="工位代码">
                <ElFormItem label="工位代码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.workstationCode}
                    disabled
@@ -240,7 +311,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="工序名称">
                <ElFormItem label="工序名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.processName}
                    disabled
@@ -248,7 +319,7 @@
                    class={styles.formInput}
                  />
                </ElFormItem>
                <ElFormItem label="设备代码">
                <ElFormItem label="设备代码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
                  <ElInput
                    v-model={queryForm.value.equipmentCode}
                    disabled
@@ -274,14 +345,14 @@
                </ElFormItem> */}
              </ElForm>
          <div class="info-block">
          {/* <div class="info-block">
            <h2 class="block-title">工艺信息</h2>
            <el-table stripe>
            <el-table stripe  v-model:dataSource={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> */}
          <h2 class="block-title">图纸</h2>
          <img
            src={pipeImage}