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="绠℃缂栫爜 "> + <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="鐗╂枡娴佸悜 "> + <ElInput + v-model={queryForm.value.processRouteNumber} + disabled + clearable + class={styles.formInput} + /> + </ElFormItem> + <ElFormItem label="浠诲姟缂栧彿 "> + <ElInput + v-model={queryForm.value.taskCode} + disabled + clearable + class={styles.formInput} + /> + </ElFormItem> + <ElFormItem label="绠℃闀垮害 "> + <ElInput + v-model={queryForm.value.length} + disabled + clearable + class={styles.formInput} + /> + </ElFormItem> + <ElFormItem label="椤圭洰 鍙�"> + <ElInput + v-model={queryForm.value.projectNumber} + disabled + clearable + class={styles.formInput} + /> + </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> + + <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 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