From 1cda9317f0b2164c54efedbc731a960bc1a48da7 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 15:24:25 +0800
Subject: [PATCH] 111
---
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="绠℃缂栫爜 ">
+ <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="鐗╂枡娴佸悜 ">
+ <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="浠诲姟缂栧彿 ">
+ <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="绠℃闀垮害 ">
+ <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="椤圭洰 鍙�">
+ <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="鑸� 鍙�">
+ <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>
- </div>
- </div>
- <div class="info-block">
+ <h2 class={styles.blockTitle}>褰撳墠宸ヤ綅/璁惧淇℃伅</h2>
+ <ElForm label-position="left" >
+ <ElFormItem label="宸ヤ綅浠g爜 ">
+ <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="璁惧浠g爜 ">
+ <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