| | |
| | | //æ¤jsæä»¶æ¯ç¨æ¥èªå®ä¹æ©å±ä¸å¡ä»£ç ï¼å¯ä»¥æ©å±ä¸äºèªå®ä¹é¡µé¢æè
éæ°é
ç½®çæç代ç |
| | | import gridHeader from "./extend/EmptyTrayInbound.vue"; |
| | | import gridBody from "./extend/Pallet.vue"; |
| | | import http from "@/api/http.js"; |
| | | import { h, createVNode, render, reactive, ref } from "vue"; |
| | | import { |
| | | ElDialog, |
| | | ElForm, |
| | | ElFormItem, |
| | | ElInput, |
| | | ElButton, |
| | | ElMessage, |
| | | ElSelect, |
| | | ElOption, |
| | | } from "element-plus"; |
| | | import gridFooter from "./extend/UndoPalletGroup.vue"; |
| | | let extension = { |
| | | components: { |
| | | //æ¥è¯¢ç颿©å±ç»ä»¶ |
| | | gridHeader: gridHeader, |
| | | gridBody: gridBody, |
| | | gridFooter: "", |
| | | gridFooter: gridFooter, |
| | | //æ°å»ºãç¼è¾å¼¹åºæ¡æ©å±ç»ä»¶ |
| | | modelHeader: "", |
| | | modelBody: "", |
| | |
| | | tableAction: "", //æå®æå¼ 表çæé(è¿éå¡«å表å,é»è®¤ä¸ç¨å¡«å) |
| | | buttons: { |
| | | view: [ |
| | | { |
| | | name: "æ¤éç»ç", |
| | | type: "primary", |
| | | value: "æ¤éç»ç", |
| | | onClick: function() { |
| | | console.log("æ¤éç»çæé®è¢«ç¹å»"); |
| | | const mountNode = document.createElement("div"); |
| | | document.body.appendChild(mountNode); |
| | | |
| | | // ååºå¼è¡¨åæ°æ®ï¼æçå·ï¼å¿
å¡«ï¼ |
| | | const formData = reactive({ |
| | | palletCode: "", // æçå·è¾å
¥æ¡ |
| | | barcode: "", |
| | | }); |
| | | |
| | | // æäº¤è¡¨åçç»ä¸é»è¾ |
| | | const submitForm = async () => { |
| | | const formRef = vnode.component.refs.cancelPalletForm; |
| | | try { |
| | | // æ§è¡è¡¨åæ ¡éªï¼æçå·å¿
å¡«ï¼ |
| | | await formRef.validate(); |
| | | } catch (err) { |
| | | ElMessage.warning("请è¾å
¥ææçæçå·"); |
| | | return; |
| | | } |
| | | |
| | | // åèµ·æ¤éç»çè¯·æ± |
| | | try { |
| | | const response = await http.post( |
| | | "/api/InboundOrder/UndoPalletGroup?palletCode=" + |
| | | formData.palletCode.trim() + |
| | | "&barcode=" + |
| | | formData.barcode.trim() |
| | | ); |
| | | const { status, message, data } = response; |
| | | if (status) { |
| | | ElMessage.success(response.message); |
| | | this.refresh(); // æååå·æ°å表 |
| | | // å
³éå¯¹è¯æ¡ |
| | | render(null, mountNode); |
| | | document.body.removeChild(mountNode); |
| | | } else { |
| | | ElMessage.error(message || data?.message || "æ¤éç»ç失败"); |
| | | selectPalletCodeInput(); // éä¸è¾å
¥æ¡æ¹ä¾¿éæ°è¾å
¥ |
| | | } |
| | | } catch (error) { |
| | | console.error("æ¤éç»ç请æ±å¼å¸¸ï¼", error); |
| | | ElMessage.error("ç½ç»å¼å¸¸ææ¥å£é误ï¼è¯·ç¨åéè¯"); |
| | | selectPalletCodeInput(); |
| | | } |
| | | }; |
| | | |
| | | // éä¸è¾å
¥æ¡ææ¬ï¼æ¹ä¾¿éæ°è¾å
¥ï¼ |
| | | const selectPalletCodeInput = () => { |
| | | setTimeout(() => { |
| | | const inputRef = vnode.component.refs.palletCodeInput; |
| | | if (inputRef) { |
| | | const targetInput = |
| | | inputRef.$el?.querySelector("input") || inputRef; |
| | | targetInput?.focus(); |
| | | targetInput?.select(); |
| | | } |
| | | }, 100); |
| | | }; |
| | | |
| | | // åå»ºå¯¹è¯æ¡VNode |
| | | const vnode = createVNode( |
| | | ElDialog, |
| | | { |
| | | title: "æ¤éç»ç", |
| | | width: "400px", |
| | | modelValue: true, |
| | | appendToBody: true, |
| | | onOpened: () => { |
| | | // å¯¹è¯æ¡æå¼åèªå¨èç¦è¾å
¥æ¡ |
| | | setTimeout(() => { |
| | | const inputRef = vnode.component.refs.palletCodeInput; |
| | | inputRef?.focus(); |
| | | }, 100); |
| | | }, |
| | | "onUpdate:modelValue": (isVisible) => { |
| | | if (!isVisible) { |
| | | render(null, mountNode); |
| | | document.body.removeChild(mountNode); |
| | | } |
| | | }, |
| | | }, |
| | | { |
| | | default: () => |
| | | h( |
| | | ElForm, |
| | | { |
| | | model: formData, |
| | | rules: { |
| | | palletCode: [ |
| | | { |
| | | required: true, |
| | | message: "请è¾å
¥æçå·", |
| | | trigger: ["blur", "enter"], |
| | | }, |
| | | { |
| | | min: 1, |
| | | max: 50, |
| | | message: "æçå·é¿åº¦ä¸è½è¶
è¿50个å符", |
| | | trigger: ["blur", "input"], |
| | | }, |
| | | ], |
| | | }, |
| | | ref: "cancelPalletForm", |
| | | }, |
| | | [ |
| | | // æçå·è¾å
¥é¡¹ |
| | | h( |
| | | ElFormItem, |
| | | { label: "æçæ¡ç ", prop: "palletCode", required: true }, |
| | | [ |
| | | h(ElInput, { |
| | | type: "text", |
| | | modelValue: formData.palletCode, |
| | | "onUpdate:modelValue": (val) => { |
| | | formData.palletCode = val; |
| | | }, |
| | | ref: "palletCodeInput", |
| | | placeholder: "æ«ç è¾å
¥ææå¨è¾å
¥æçå·", |
| | | maxLength: 50, |
| | | // çå¬å车äºä»¶ï¼æ«ç æªé»è®¤ä¼åéåè½¦ï¼ |
| | | onKeydown: (e) => { |
| | | if (e.key === "Enter") { |
| | | e.preventDefault(); |
| | | submitForm(); |
| | | } |
| | | }, |
| | | }), |
| | | ] |
| | | ), |
| | | h(ElFormItem, { label: " å
ç®±æ ç¾", prop: "barcode" }, [ |
| | | h(ElInput, { |
| | | type: "text", |
| | | modelValue: formData.barcode, |
| | | "onUpdate:modelValue": (val) => { |
| | | formData.barcode = val; |
| | | }, |
| | | placeholder: "å¯éï¼æ«ç è¾å
¥ææå¨è¾å
¥æ¡ç ", |
| | | maxLength: 50, |
| | | onKeydown: (e) => { |
| | | if (e.key === "Enter") { |
| | | e.preventDefault(); |
| | | submitForm(); |
| | | } |
| | | }, |
| | | }), |
| | | ]), |
| | | // åºé¨æé®åº |
| | | h( |
| | | "div", |
| | | { style: { textAlign: "right", marginTop: "16px" } }, |
| | | [ |
| | | h( |
| | | ElButton, |
| | | { |
| | | type: "text", |
| | | onClick: () => { |
| | | render(null, mountNode); |
| | | document.body.removeChild(mountNode); |
| | | ElMessage.info("åæ¶æ¤éç»ç"); |
| | | }, |
| | | }, |
| | | "åæ¶" |
| | | ), |
| | | h( |
| | | ElButton, |
| | | { |
| | | type: "primary", |
| | | onClick: submitForm.bind(this), // ç»å®thisä¸ä¸æ |
| | | }, |
| | | "确认æ¤é" |
| | | ), |
| | | ] |
| | | ), |
| | | ] |
| | | ), |
| | | } |
| | | ); |
| | | |
| | | vnode.appContext = this.$.appContext; |
| | | render(vnode, mountNode); |
| | | }, |
| | | }, |
| | | // { |
| | | // name: 'åæ¹å
¥åº', |
| | | // type: 'primary', |
| | | // value: 'åæ¹å
¥åº', |
| | | // onClick: async function () { |
| | | // console.log('åæ¹å
¥åºæé®è¢«ç¹å»ï¼å¼å§æ ¡éª'); |
| | | // const selectedRows = this.$refs.table.getSelected(); |
| | | |
| | | // // æ ¡éª1ï¼æ¯å¦éä¸è¡ï¼è³å°éæ©ä¸æ¡ï¼ |
| | | // if (selectedRows.length === 0) { |
| | | // console.log('æ ¡éªä¸éè¿ï¼æªéä¸ä»»ä½åæ®'); |
| | | // ElMessage.warning('è¯·éæ©è³å°ä¸æ¡åæ®'); |
| | | // return; |
| | | // } |
| | | |
| | | // // æ¶éææéä¸åæ®çç¼å·ï¼è¿æ»¤æ åæ®å·çå¼å¸¸è¡ï¼ |
| | | // const inboundOrderNos = selectedRows |
| | | // .filter(row => row.inboundOrderNo) |
| | | // .map(row => row.inboundOrderNo); |
| | | |
| | | // // æ ¡éª2ï¼æ¯å¦æææåæ®å· |
| | | // if (inboundOrderNos.length === 0) { |
| | | // console.log('æ ¡éªä¸éè¿ï¼éä¸åæ®æ ææç¼å·'); |
| | | // ElMessage.warning('éä¸ç忮䏿 ææç¼å·ï¼è¯·éæ°éæ©'); |
| | | // return; |
| | | // } |
| | | |
| | | // try { |
| | | // console.log('åèµ·åæ¹å
¥åºè¯·æ±ï¼åæ°ï¼', { inboundOrderNos }); |
| | | // const response = await http.post('/api/InboundOrder/BatchOrderFeedbackToMes', { |
| | | // orderNos: inboundOrderNos, |
| | | // inout: 1 |
| | | // }); |
| | | |
| | | // const { status, message, data } = response; |
| | | // if (status) { |
| | | // console.log('åæ¹å
¥åºæåï¼å端è¿åï¼', data); |
| | | // ElMessage.success(`åæ¹å
¥åºæåï¼`); |
| | | // this.refresh(); // å
¥åºæååå·æ°å表ï¼å¤ç¨åæé»è¾ï¼ |
| | | // } else { |
| | | // console.log('åæ¹å
¥åºå¤±è´¥ï¼å端æç¤ºï¼', message); |
| | | // ElMessage.error(message || data?.message || 'åæ¹å
¥åºå¤±è´¥'); |
| | | // } |
| | | // } catch (error) { |
| | | // console.error('åæ¹å
¥åºè¯·æ±å¼å¸¸ï¼', error); |
| | | // ElMessage.error('ç½ç»å¼å¸¸ææ¥å£é误ï¼è¯·ç¨åéè¯'); |
| | | // } |
| | | // } |
| | | // }, |
| | | |
| | | ], |
| | | box: [], |
| | | detail: [], |
| | |
| | | if (EmptyTrayInboundBtn != null) { |
| | | EmptyTrayInboundBtn.onClick = () => { |
| | | this.$refs.gridHeader.open(); |
| | | }; |
| | | } |
| | | var UndoPalletGroupBtn = this.buttons.find( |
| | | (x) => x.value == "UndoPalletGroup" |
| | | ); |
| | | if (UndoPalletGroupBtn != null) { |
| | | UndoPalletGroupBtn.onClick = () => { |
| | | this.$refs.gridFooter.open(); |
| | | }; |
| | | } |
| | | var BatchInOrderFeedbackToMesBtn = this.buttons.find( |
| | |
| | | }); |
| | | }; |
| | | } |
| | | |
| | | // let BatchInOrderFeedbackToMesBtn = this.buttons.find((x) => x.value == "BatchInOrderFeedbackToMes"); |
| | | // if (BatchInOrderFeedbackToMesBtn != null) { |
| | | // BatchInOrderFeedbackToMesBtn.onClick = ()=> { |
| | | // let selectedRows = this.$refs.table.getSelected(); |
| | | |
| | | // // æ ¡éªæ¯å¦æé䏿°æ® |
| | | // if (!selectedRows || selectedRows.length === 0) { |
| | | // return this.$Message.warning("请å
éæ©éè¦å¤ççåæ®"); |
| | | // } |
| | | // if (selectedRows.length > 1) { |
| | | // return this.$Message.warning("è¯·éæ©ä¸æ¡æ°æ®"); |
| | | // } |
| | | // this.http.post(`api/Inbound/BatchInOrderFeedbackToMes?orderNo=${selectedRows[0].orderNo}`,{},"æ°æ®å¤çä¸...") |
| | | // .then((x) => { |
| | | // if (x.status) { |
| | | // this.$Message.success("åæ¹åºåºåè°å®æ"); |
| | | // this.refresh(); |
| | | // } else { |
| | | // return this.$Message.error("åæ¹åºåºåè°å¤±è´¥"); |
| | | // } |
| | | // }) |
| | | // .catch((error) => { |
| | | // // å¢å å¼å¸¸æè·ï¼å¤çç½ç»é误çæ
åµ |
| | | // //_this.$Message.error('请æ±å¤±è´¥ï¼' + (error.message || 'æªç¥é误')); |
| | | // }); |
| | | // }; |
| | | // } |
| | | |
| | | var GroupPalletBtn = this.buttons.find((x) => x.value == "GroupPallet"); |
| | | if (GroupPalletBtn != null) { |
| | | GroupPalletBtn.onClick = () => { |