¶Ô±ÈÐÂÎļþ |
| | |
| | | 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="å·¥ä½ä»£ç "> |
| | | <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="设å¤ä»£ç "> |
| | | <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> |
| | | ) |
| | | } |
| | | }, |
| | | }) |