| | |
| | | |
| | | <template> |
| | | <view-grid |
| | | ref="grid" |
| | | @openOutboundDialog="handleOpenOutboundDialog" |
| | | :columns="columns" |
| | | :detail="detail" |
| | | :editFormFields="editFormFields" |
| | | :editFormOptions="editFormOptions" |
| | | :searchFormFields="searchFormFields" |
| | | :searchFormOptions="searchFormOptions" |
| | | :table="table" |
| | | :extend="extend" |
| | | > |
| | | <view-grid ref="grid" @openOutboundDialog="handleOpenOutboundDialog" :columns="columns" :detail="detail" |
| | | :editFormFields="editFormFields" :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" |
| | | :searchFormOptions="searchFormOptions" :table="table" :extend="extend"> |
| | | </view-grid> |
| | | <!-- åºåºæä½å¼¹çª --> |
| | | <OutboundDialog |
| | | v-model:visible="outboundVisible" |
| | | :selected-document="selectedOutboundDocument" |
| | | @outbound-success="handleOutboundSuccess" |
| | | ></OutboundDialog> |
| | | </template> |
| | | <script> |
| | | <script> |
| | | import extend from "@/extension/outbound/allocateoutboundOrder.js"; |
| | | import ViewGrid from '@/components/basic/ViewGrid/ViewGrid.vue'; |
| | | import { ref, defineComponent } from "vue"; |
| | | import { ElMessage } from "element-plus"; |
| | | import OutboundDialog from "@/extension/outbound/extend/OutBound.vue"; // å¼å
¥åºåºå¼¹çªç»ä»¶ |
| | | |
| | | |
| | | export default defineComponent({ |
| | | components: { |
| | | // å
³é®ä¿®å¤2ï¼ç»ä»¶æ³¨åå䏿¨¡æ¿æ ç¾åéé
ï¼kebab-case对åºview-gridï¼ |
| | | viewGrid: ViewGrid, // 注å为kebab-caseï¼æ¨¡æ¿ç¨<view-grid> |
| | | OutboundDialog // 注ååºåºå¼¹çªç»ä»¶ |
| | | }, |
| | | setup() { |
| | | const table = ref({ |
| | | key: "id", |
| | |
| | | }); |
| | | const editFormFields = ref({ |
| | | orderType: "", |
| | | orderNo:"", |
| | | orderNo: "", |
| | | upperOrderNo: "", |
| | | orderStatus: "", |
| | | remark: "", |
| | | warehouseId:"" |
| | | warehouseId: "" |
| | | }); |
| | | const editFormOptions = ref([ |
| | | [ |
| | |
| | | data: [], |
| | | }, |
| | | { |
| | | field: "orderNo", |
| | | title: "åæ®ç¼å·", |
| | | type: "string", |
| | | readonly:true |
| | | }, |
| | | field: "orderNo", |
| | | title: "åæ®ç¼å·", |
| | | type: "string", |
| | | readonly: true |
| | | }, |
| | | { |
| | | title: "䏿¸¸åæ®ç¼å·", |
| | | field: "upperOrderNo", |
| | |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | hidden:true |
| | | hidden: true |
| | | }, |
| | | { |
| | | field: "departmentName", |
| | |
| | | sortName: "id", |
| | | key: "id", |
| | | }); |
| | | // è°æ¨å¼¹çªç¸å
³ |
| | | const outboundVisible = ref(false); |
| | | const selectedOutboundDocument = ref({}); // åå¨éä¸çè°æ¨åæ°æ® |
| | | // è°æ¨å¼¹çªç¸å
³ |
| | | // const outboundVisible = ref(false); |
| | | // const selectedOutboundDocument = ref({}); // åå¨éä¸çè°æ¨åæ°æ® |
| | | |
| | | // æå¼è°æ¨å¼¹çªï¼ä»æ©å±é
ç½®çæé®äºä»¶è§¦åï¼ |
| | | const handleOpenOutboundDialog = (docData) => { |
| | | selectedOutboundDocument.value = docData; // ä¿åéä¸çåæ®æ°æ® |
| | | outboundVisible.value = true; // æ¾ç¤ºå¼¹çª |
| | | }; |
| | | // // æå¼è°æ¨å¼¹çªï¼ä»æ©å±é
ç½®çæé®äºä»¶è§¦åï¼ |
| | | // const handleOpenOutboundDialog = (docData) => { |
| | | // selectedOutboundDocument.value = docData; // ä¿åéä¸çåæ®æ°æ® |
| | | // outboundVisible.value = true; // æ¾ç¤ºå¼¹çª |
| | | // }; |
| | | |
| | | // è°æ¨æååçåè° |
| | | const handleOutboundSuccess = (docNo) => { |
| | | ElMessage.success(`åæ® ${docNo} è°æ¨æå`); |
| | | gridRef.value?.refresh(); // å·æ°è¡¨æ ¼æ°æ® |
| | | }; |
| | | // // è°æ¨æååçåè° |
| | | // const handleOutboundSuccess = (docNo) => { |
| | | // ElMessage.success(`åæ® ${docNo} è°æ¨æå`); |
| | | // gridRef.value?.refresh(); // å·æ°è¡¨æ ¼æ°æ® |
| | | // }; |
| | | |
| | | // åå§åæ©å±é
ç½®ï¼ä¸ºè°æ¨æé®æ·»å äºä»¶è§¦åé»è¾ |
| | | const initExtension = () => { |
| | | // æ¾å°"è°æ¨"æé®å¹¶ç»å®æå¼å¼¹çªçé»è¾ |
| | | const outboundBtn = extend.buttons.view.find(btn => btn.name === 'åºåº'); |
| | | if (outboundBtn) { |
| | | const originalOnClick = outboundBtn.onClick; |
| | | outboundBtn.onClick = function() { |
| | | // å
æ§è¡åææ ¡éªé»è¾ |
| | | const selectedRows = this.$refs.table.getSelected(); |
| | | if (selectedRows.length === 1) { |
| | | // æ ¡éªéè¿åï¼è§¦å主ç»ä»¶çåºåºå¼¹çªäºä»¶ |
| | | this.$emit('openOutboundDialog', selectedRows[0]); |
| | | } else { |
| | | // åæé»è¾å·²å¤çæç¤ºï¼æ ééå¤ |
| | | originalOnClick.call(this); |
| | | } |
| | | }; |
| | | } |
| | | }; |
| | | // // åå§åæ©å±é
ç½®ï¼ä¸ºè°æ¨æé®æ·»å äºä»¶è§¦åé»è¾ |
| | | // const initExtension = () => { |
| | | // // æ¾å°"è°æ¨"æé®å¹¶ç»å®æå¼å¼¹çªçé»è¾ |
| | | // const outboundBtn = extend.buttons.view.find(btn => btn.name === 'åºåº'); |
| | | // if (outboundBtn) { |
| | | // const originalOnClick = outboundBtn.onClick; |
| | | // outboundBtn.onClick = function () { |
| | | // // å
æ§è¡åææ ¡éªé»è¾ |
| | | // const selectedRows = this.$refs.table.getSelected(); |
| | | // if (selectedRows.length === 1) { |
| | | // // æ ¡éªéè¿åï¼è§¦å主ç»ä»¶çåºåºå¼¹çªäºä»¶ |
| | | // this.$emit('openOutboundDialog', selectedRows[0]); |
| | | // } else { |
| | | // // åæé»è¾å·²å¤çæç¤ºï¼æ ééå¤ |
| | | // originalOnClick.call(this); |
| | | // } |
| | | // }; |
| | | // } |
| | | // }; |
| | | return { |
| | | table, |
| | | extend, |
| | |
| | | searchFormOptions, |
| | | columns, |
| | | detail, |
| | | // åºåºç¸å
³ |
| | | outboundVisible, |
| | | selectedOutboundDocument, |
| | | handleOpenOutboundDialog, |
| | | handleOutboundSuccess |
| | | // åºåºç¸å
³ |
| | | // outboundVisible, |
| | | // selectedOutboundDocument, |
| | | // handleOpenOutboundDialog, |
| | | // handleOutboundSuccess |
| | | }; |
| | | }, |
| | | }); |