| | |
| | | |
| | | <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/outboundOrder.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([ |
| | | [ |
| | | { |
| | | title: "åæ®ç±»å", |
| | | required: true, |
| | | field: "orderType", |
| | | type: "select", |
| | | dataKey: "outOrderType", |
| | | data: [], |
| | | field: "orderNo", |
| | | title: "åæ®ç¼å·", |
| | | type: "string", |
| | | readonly: true |
| | | }, |
| | | { |
| | | field: "orderNo", |
| | | title: "åæ®ç¼å·", |
| | | type: "string", |
| | | readonly:true |
| | | }, |
| | | { |
| | | title: "䏿¸¸åæ®ç¼å·", |
| | | field: "upperOrderNo", |
| | |
| | | readonly: true, |
| | | }, |
| | | { |
| | | title: "ä»åº", |
| | | field: "warehouseId", |
| | | type: "select", |
| | | dataKey: "warehouses", |
| | | data: [], |
| | | required: true, |
| | | title: "ååº", |
| | | field: "factoryArea", |
| | | type: "string", |
| | | }, |
| | | ], |
| | | [ |
| | | { |
| | | title: "夿³¨", |
| | | field: "remark", |
| | | type: "textarea", |
| | | }, |
| | | { |
| | | title: "ä¸å¡ç±»å", |
| | | field: "businessType", |
| | | type: "select", |
| | | dataKey: "businessType", |
| | | data: [], |
| | | require: true, |
| | | }, |
| | | { |
| | | title: "æ¯å¦åæ¹", |
| | | field: "isBatch", |
| | | type: "select", |
| | | dataKey: "enable", |
| | | data: [], |
| | | require: true, |
| | | }, |
| | | { |
| | | title: "æä½è
", |
| | | field: "operator", |
| | | type: "string", |
| | | hidden: true, |
| | | readonly: true, |
| | | |
| | | }, |
| | | ], |
| | | ]); |
| | |
| | | { title: "åæ®ç¼å·", field: "orderNo", type: "like" }, |
| | | { title: "䏿¸¸åæ®ç¼å·", field: "upperOrderNo", type: "like" }, |
| | | { |
| | | title: "åæ®ç±»å", |
| | | field: "orderType", |
| | | title: "ä¸å¡ç±»å", |
| | | field: "businessType", |
| | | type: "select", |
| | | dataKey: "outOrderType", |
| | | dataKey: "documentTypeEmun", |
| | | data: [], |
| | | hidden:true |
| | | }, |
| | | { |
| | | title: "åæ®ç¶æ", |
| | |
| | | type: "string", |
| | | width: 160, |
| | | align: "left", |
| | | // link: true, |
| | | }, |
| | | { |
| | | field: "upperOrderNo", |
| | |
| | | width: 150, |
| | | align: "left", |
| | | bind: { key: "outOrderType", data: [] }, |
| | | hidden:true |
| | | hidden: true |
| | | }, |
| | | { |
| | | field: "businessType", |
| | |
| | | bind: { key: "createType", data: [] }, |
| | | }, |
| | | { |
| | | field: "remark", |
| | | title: "夿³¨", |
| | | type: "string", |
| | | width: 180, |
| | | align: "left" |
| | | }, |
| | | { |
| | | field: "returnToMESStatus", |
| | | title: "åä¼ MESç¶æ", |
| | | width: 120, |
| | | bind: { key: "createType", data: [{ key: 0, value: "æªåä¼ " }, { key: 1, value: "å·²åä¼ æå" }, { key: 2, value: "åä¼ å¤±è´¥" },{ key: 3, value: "é¨ååä¼ æå" },{ key: 4, value: "é¨ååä¼ å¤±è´¥" },{ key: 5, value: "æ éåä¼ " }] }, |
| | | }, |
| | | { |
| | | field: "factoryArea", |
| | | title: "ååº", |
| | | type: "string", |
| | |
| | | type: "string", |
| | | width: 120, |
| | | align: "left", |
| | | hidden:true |
| | | hidden: true |
| | | }, |
| | | { |
| | | field: "departmentName", |
| | | title: "é¨é¨åç§°", |
| | | field: "operator", |
| | | title: "æä½äºº", |
| | | type: "string", |
| | | width: 160, |
| | | width: 120, |
| | | align: "left", |
| | | }, |
| | | { |
| | |
| | | type: "string", |
| | | width: 90, |
| | | align: "left", |
| | | hidden: true, |
| | | }, |
| | | { |
| | | field: "createDate", |
| | |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "modifier", |
| | | field: "operator", |
| | | title: "ä¿®æ¹äºº", |
| | | type: "string", |
| | | width: 100, |
| | |
| | | width: 160, |
| | | align: "left", |
| | | }, |
| | | { |
| | | field: "remark", |
| | | title: "夿³¨", |
| | | type: "string", |
| | | width: 100, |
| | | align: "left", |
| | | }, |
| | | ]); |
| | | const detail = ref({ |
| | | cnName: "åºåºæç»å", |
| | | table: "OnboundOrderDetail", |
| | | table: "Details", |
| | | columns: [ |
| | | { |
| | | field: "id", |
| | |
| | | width: 90, |
| | | align: "left", |
| | | edit: { type: "string" }, |
| | | required: true, |
| | | }, |
| | | { |
| | | field: "supplyCode", |
| | |
| | | width: 90, |
| | | align: "left", |
| | | edit: { type: "string" }, |
| | | required: true, |
| | | }, |
| | | { |
| | | field: "orderQuantity", |
| | |
| | | required: true, |
| | | }, |
| | | { |
| | | field: "rowNo", |
| | | field: "unit", |
| | | title: "åºååä½", |
| | | type: "string", |
| | | width: 90, |
| | | align: "left", |
| | | edit: { type: "string" }, |
| | | required: true, |
| | | }, |
| | | { |
| | | field: "barcodeUnit", |
| | | title: "åºåºåä½", |
| | | type: "string", |
| | | width: 90, |
| | | align: "left", |
| | | edit: { type: "string" }, |
| | | required: true, |
| | | }, |
| | | { |
| | | field: "lineNo", |
| | | title: "è¡å·", |
| | | type: "string", |
| | | width: 90, |
| | | align: "left", |
| | | edit: { type: "number" }, |
| | | required: true, |
| | | readonly: true |
| | | }, |
| | | { |
| | | field: "rowNo", |
| | | title: "è¡å·2", |
| | | type: "int", |
| | | width: 90, |
| | | align: "left", |
| | | edit: { type: "number" }, |
| | | readonly: true |
| | | }, |
| | | { |
| | | field: "lockQuantity", |
| | |
| | | type: "string", |
| | | width: 180, |
| | | align: "left", |
| | | edit: { type: "select" }, |
| | | bind: { key: "orderDetailStatusEnum", data: [] }, |
| | | readonly: true |
| | | }, |
| | | { |
| | | field: "creater", |
| | |
| | | sortName: "id", |
| | | key: "id", |
| | | }); |
| | | // åºåºå¼¹çªç¸å
³ |
| | | const outboundVisible = ref(false); |
| | | const selectedOutboundDocument = ref({}); // åå¨éä¸çåºåºåæ°æ® |
| | | |
| | | // æå¼åºåºå¼¹çªï¼ä»æ©å±é
ç½®çæé®äºä»¶è§¦åï¼ |
| | | const handleOpenOutboundDialog = (docData) => { |
| | | selectedOutboundDocument.value = docData; // ä¿åéä¸çåæ®æ°æ® |
| | | outboundVisible.value = true; // æ¾ç¤ºå¼¹çª |
| | | }; |
| | | |
| | | // åºåºæååçåè° |
| | | 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); |
| | | } |
| | | }; |
| | | } |
| | | }; |
| | | return { |
| | | table, |
| | | extend, |
| | |
| | | searchFormOptions, |
| | | columns, |
| | | detail, |
| | | // åºåºç¸å
³ |
| | | outboundVisible, |
| | | selectedOutboundDocument, |
| | | handleOpenOutboundDialog, |
| | | handleOutboundSuccess |
| | | }; |
| | | }, |
| | | }); |