From a3a2b238a2626ef8744e7a135f9ca2e2fbb5184c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 21 5月 2025 10:17:36 +0800
Subject: [PATCH] 优化

---
 PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx |  339 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 256 insertions(+), 83 deletions(-)

diff --git a/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx b/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx
index 32c31fb..91441ff 100644
--- a/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx
+++ b/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx
@@ -1,7 +1,8 @@
 import { defineComponent, onMounted, ref } from 'vue'
 import type { Ref } from 'vue'
 import styles from './PipeAccessoryAssembly.module.scss'
-import pipeImage from '@/images/pipe-assembly-drawing-example.png';
+import pipeImage from '@/images/pipe-assembly-drawing-example.png'
+import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
 import {
   ElInput,
   ElForm,
@@ -16,6 +17,9 @@
   getPlaceNoForStockList,
   getMaterialModelList,
   instock,
+  findSingleWorkPlanByFilter,
+  startProduction,
+  finishProduction
 } from '@/widgets/PipeAccessoryAssembly/Models/Service/PipeAccessoryAssembly'
 import { Message } from '@element-plus/icons-vue/dist/types'
 
@@ -23,12 +27,22 @@
   name: 'PipeAccessoryAssembly',
   setup() {
     // 鏌ヨ琛ㄥ崟鏁版嵁
-    const queryForm = ref({
-      materialModel: '',
-      placeNo: '',
-      materialBatch: '',
-      stockNumber: '',
-    })
+const queryForm = ref({
+  pipeSpecCode: '',
+  processRouteNumber: '',
+  taskCode: '',
+  length: '',
+  projectNumber: '',
+  shipNumber: '',
+  material: '',
+  outerDiameter: '',
+  thickness: '',
+  plannedStartTime: '',
+  plannedEndTime: '',
+  workstationCode: '',
+  processName: '',
+  equipmentCode: ''
+})
 
     // 鏁版嵁婧�
     const modelOptions = ref<Array<{ value: string; label: string }>>([])
@@ -36,8 +50,8 @@
 
     onMounted(() => {
       // 缁勪欢鎸傝浇鍚庤幏鍙栧瀷鍙峰垪琛ㄥ拰搴撲綅鍙峰垪琛�
-      getModelList()
-      getPlaceNoList()
+      // getModelList()
+      // getPlaceNoList()
     })
 
     // 缁勭洏鎿嶄綔
@@ -80,105 +94,265 @@
         label: item.placeNoDesc,
       }))
     }
+    const handleChange =async (value) => {
+      console.log('杈撳叆鍐呭纭:', value); // 澶卞幓鐒︾偣鎴栧洖杞︽椂瑙﹀彂
+      if(value==''){
+        initQueryForm();
+        return;
+      }
+      // 鍦ㄦ澶勬坊鍔犱笟鍔¢�昏緫锛堝鏍¢獙銆佹彁浜ょ瓑锛�
+      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 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 (
-        <div class={styles.PipeAccessoryAssemblyContent}  style="overflow-y: auto !important;  height: 100%;">
+        <div
+          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>
           <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>
 
-          {/* <div class={styles.modelRrow}> */}
-          {/* <div> */}
-          <div class={styles.headerContent}>
-            <div class={styles.header}>
-              <ElForm label-position="right" class={styles.h5Form}>
-                <ElFormItem label="鍨嬪彿1">
-                  <ElSelect
-                    v-model={queryForm.value.materialModel}
-                    placeholder="璇烽�夋嫨鍨嬪彿"
-                    clearable
+          <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}
-                  >
-                    {modelOptions.value.map((item) => (
-                      <ElOption
-                        key={item.value}
-                        label={item.label}
-                        value={item.value}
-                      />
-                    ))}
-                  </ElSelect>
+                  />
                 </ElFormItem>
-                <ElFormItem label="鍨嬪彿2">
-                  <ElSelect
-                    v-model={queryForm.value.materialModel}
-                    placeholder="璇烽�夋嫨鍨嬪彿"
-                    clearable
+                <ElFormItem label="浠诲姟缂栧彿&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
+                  <ElInput
+                    v-model={queryForm.value.taskCode}
                     disabled
+                    clearable
                     class={styles.formInput}
-                  >
-                    {modelOptions.value.map((item) => (
-                      <ElOption
-                        key={item.value}
-                        label={item.label}
-                        value={item.value}
-                      />
-                    ))}
-                  </ElSelect>
+                  />
                 </ElFormItem>
-                <ElFormItem label="鍨嬪彿3">
-                  <ElSelect
-                    v-model={queryForm.value.materialModel}
-                    placeholder="璇烽�夋嫨鍨嬪彿"
-                    clearable
+                <ElFormItem label="绠℃闀垮害&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;">
+                  <ElInput
+                    v-model={queryForm.value.length}
                     disabled
+                    clearable
                     class={styles.formInput}
-                  >
-                    {modelOptions.value.map((item) => (
-                      <ElOption
-                        key={item.value}
-                        label={item.label}
-                        value={item.value}
-                      />
-                    ))}
-                  </ElSelect>
+                  />
                 </ElFormItem>
-                <ElFormItem label="鍨嬪彿4">
-                  <ElSelect
-                    v-model={queryForm.value.materialModel}
-                    placeholder="璇烽�夋嫨鍨嬪彿"
-                    clearable
+                <ElFormItem label="椤圭洰&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;鍙�">
+                  <ElInput
+                    v-model={queryForm.value.projectNumber}
                     disabled
+                    clearable
                     class={styles.formInput}
-                  >
-                    {modelOptions.value.map((item) => (
-                      <ElOption
-                        key={item.value}
-                        label={item.label}
-                        value={item.value}
-                      />
-                    ))}
-                  </ElSelect>
+                  />
+                </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>
-            </div>
-          </div>
 
-          <div class="info-block">
+              <h2 class={styles.blockTitle}>褰撳墠宸ヤ綅/璁惧淇℃伅</h2>
+          <ElForm label-position="left" >
+                <ElFormItem label="宸ヤ綅浠g爜&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="璁惧浠g爜&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
+                    clearable
+                    class={styles.formInput}
+                  />
+                </ElFormItem> */}
+                {/* <ElFormItem label="鎿嶄綔浜�">
+                  <ElInput
+                    v-model={queryForm.value.materialBatch}
+                    disabled
+                    clearable
+                    class={styles.formInput}
+                  />
+                </ElFormItem> */}
+              </ElForm>
+
+          {/* <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}
@@ -186,7 +360,6 @@
             style="height:1250px;"
             class="equipment-image"
           ></img>
-
         </div>
       )
     }

--
Gitblit v1.9.3