From 4b3fd35893972bb05fd7ab89dc624ab805093ff3 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周日, 18 5月 2025 19:47:46 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx |  360 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 360 insertions(+), 0 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
new file mode 100644
index 0000000..b27033c
--- /dev/null
+++ b/PipeLineLems/pipelinelems_web/src/widgets/PipeAccessoryAssembly/Views/Pages/PipeAccessoryAssembly/PipeAccessoryAssembly.tsx
@@ -0,0 +1,360 @@
+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 { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' 
+import {
+  ElInput,
+  ElForm,
+  ElFormItem,
+  ElButton,
+  ElSelect,
+  ElOption,
+  ElMessage,
+  ElCol,
+} from 'element-plus'
+import {
+  getPlaceNoForStockList,
+  getMaterialModelList,
+  instock,
+  findSingleWorkPlanByFilter,
+  startProduction,
+  finishProduction
+} from '@/widgets/PipeAccessoryAssembly/Models/Service/PipeAccessoryAssembly'
+import { Message } from '@element-plus/icons-vue/dist/types'
+
+export default defineComponent({
+  name: 'PipeAccessoryAssembly',
+  setup() {
+    // 鏌ヨ琛ㄥ崟鏁版嵁
+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 }>>([])
+    const placeNoOptions = ref<Array<{ value: string; label: string }>>([])
+
+    onMounted(() => {
+      // 缁勪欢鎸傝浇鍚庤幏鍙栧瀷鍙峰垪琛ㄥ拰搴撲綅鍙峰垪琛�
+      getModelList()
+      getPlaceNoList()
+    })
+
+    // 缁勭洏鎿嶄綔
+    const handlePalletize = () => {
+      console.log('缁勭洏鎿嶄綔', queryForm.value)
+      // 杩欓噷娣诲姞缁勭洏閫昏緫
+    }
+
+    // 缁勭洏鍏ュ簱鎿嶄綔
+    const handlePalletizeStorage = () => {
+      console.log('缁勭洏鍏ュ簱鎿嶄綔', queryForm.value)
+      instock(queryForm.value), resetQueryForm()
+      ElMessage.success({
+        message: '缁勭洏鍏ュ簱鎴愬姛',
+        type: 'success',
+      })
+      // 杩欓噷娣诲姞缁勭洏鍏ュ簱閫昏緫
+    }
+
+    const resetQueryForm = () => {
+      queryForm.value.materialModel = ''
+      queryForm.value.placeNo = ''
+      queryForm.value.materialBatch = ''
+      queryForm.value.stockNumber = ''
+    }
+
+    const getModelList = async () => {
+      const models = await getMaterialModelList()
+      modelOptions.value = models.map((item: string) => ({
+        value: item.materialModel,
+        label: item.materialModelDesc,
+      }))
+    }
+
+    const getPlaceNoList = async () => {
+      const placeNos = await getPlaceNoForStockList(2)
+      console.log('搴撲綅鍙峰垪琛�:', placeNos)
+      placeNoOptions.value = placeNos.map((item: string) => ({
+        value: item.placeNo,
+        label: item.placeNoDesc,
+      }))
+    }
+    const handleChange =async (value) => {
+      console.log('杈撳叆鍐呭纭:', value); // 澶卞幓鐒︾偣鎴栧洖杞︽椂瑙﹀彂
+      // 鍦ㄦ澶勬坊鍔犱笟鍔¢�昏緫锛堝鏍¢獙銆佹彁浜ょ瓑锛�
+      const param={
+        pipeSpecCode:value,
+        pipeSpecCode_FilterMode:2,//绮惧噯鏌ヨ
+        processName:'瑁呴厤宸ュ簭',
+        processName_FilterMode:2,//绮惧噯鏌ヨ
+      }
+      const workPlan = await findSingleWorkPlanByFilter(param);
+      console.log('杩斿洖:'+workPlan);
+      if(workPlan==''){
+        ElMessage.error('娌℃湁鎵惧埌鏁版嵁'); 
+        queryForm.value ={ pipeSpecCode: '',
+          processRouteNumber: '',
+          taskCode: '',
+          length: '',
+          projectNumber: '',
+          shipNumber: '',
+          material: '',
+          outerDiameter: '',
+          thickness: '',
+          plannedStartTime: '',
+          plannedEndTime: '',
+          workstationCode: '',
+          processName: '',
+          equipmentCode: ''}
+      }else{
+        queryForm.value=workPlan;
+      }
+    };
+
+    // 寮�宸ヤ簨浠跺鐞�
+    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%;"
+        >
+             <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">鏆傚仠</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>
+
+              <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  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> */}
+          <h2 class="block-title">鍥剧焊</h2>
+          <img
+            src={pipeImage}
+            alt="璁惧鍥剧墖"
+            style="height:1250px;"
+            class="equipment-image"
+          ></img>
+        </div>
+      )
+    }
+  },
+})

--
Gitblit v1.9.3