| | |
| | | /* |
| | | * @Description: 送货单(U9)明细 |
| | | * @Author: Ben Lin |
| | | * @Author: 杨云刚 |
| | | * @version: |
| | | * @Date: 2024-06-19 20:34:27 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditors: 杨云刚 |
| | | * @LastEditTime: 2024-09-29 21:28:37 |
| | | */ |
| | | |
| | | import { Tag, Tooltip } from 'ant-design-vue'; |
| | | import { ActionItem, BasicColumn, FormSchema } from '/@/components/Table'; |
| | | import { ActionItem, BasicColumn } from '/@/components/Table'; |
| | | import { useI18n } from '/@/hooks/web/useI18n'; |
| | | import { h } from 'vue'; |
| | | import { getEntity, SaveEntity } from '/@/api/tigerapi/system'; |
| | | import { useLocale } from '/@/locales/useLocale'; |
| | | import { useModal } from '/@/components/Modal'; |
| | | import { CustModalParams, FunctionType } from '/@/api/tigerapi/model/systemModel'; |
| | | import { CustModalParams } from '/@/api/tigerapi/model/systemModel'; |
| | | import { useForm } from '/@/components/Form'; |
| | | import { useMessage } from '/@/hooks/web/useMessage'; |
| | | import { UpdateWoBatchStatus } from '/@/api/tigerapi/mes/wo'; |
| | | import { useUserStore } from '/@/store/modules/user'; |
| | | import { formatToDateTime } from '/@/utils/dateUtil'; |
| | | |
| | | const { getLocale } = useLocale(); |
| | | const { createMessage, createErrorModal } = useMessage(); |
| | | const { t } = useI18n(); |
| | | |
| | | function _default() { |
| | |
| | | * @return {*} |
| | | */ |
| | | GetHomeUrl: (params: {}) => { |
| | | return `/BIZ_U9_ASN/LC/${encodeURI(JSON.stringify({ ID: 'BIZ_U9_ASN',"EntityName":"BIZ_U9_ASN", colSlots: params['colSlots'], crudColSlots: [] }))}`; |
| | | return `/BIZ_U9_ASN/LC/${encodeURI(JSON.stringify({ ID: 'BIZ_U9_ASN', EntityName: 'BIZ_U9_ASN', colSlots: params['colSlots'], crudColSlots: [] }))}`; |
| | | }, |
| | | GetBaseColumns: () => { |
| | | return [ |
| | | { |
| | | dataIndex: 'ORDER_NO', |
| | | title: '单据号', |
| | | // ifShow: false, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | // { |
| | | // dataIndex: 'BATCH_NO', |
| | | // title: '工单批次号', |
| | | // ifShow: true, |
| | | // sorter: true, |
| | | // resizable: true, |
| | | // customRender: () => {}, |
| | | // }, |
| | | { |
| | | dataIndex: 'STATUS', |
| | | title: '状态', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: ({ record }) => { |
| | | let color = ''; |
| | | let text = ''; |
| | | switch ( |
| | | record.STATUS //状态(0Init初始化|1Imported已导入|2Release已下发|3Working生产中|4Paused已暂停|5Closed已关闭) |
| | | ) { |
| | | case 0: |
| | | text ='初始化'; |
| | | color = '#8a8a8a'; |
| | | break; |
| | | case 1: |
| | | text = '已导入';color = 'blue'; |
| | | break; |
| | | case 2: |
| | | text = '已送达';color = 'green'; |
| | | break; |
| | | case 3: |
| | | text = '清点中';color = 'orange'; |
| | | break; |
| | | case 4: |
| | | text = '上架中';color = 'red'; |
| | | break; |
| | | case 5: |
| | | text = '待审核';color = '#e1822c'; |
| | | break; |
| | | case 6: |
| | | text = '已完成';color = '#009966'; |
| | | break; |
| | | case 7: |
| | | text = '已作废';color = '#CCCCCC'; |
| | | break; |
| | | } |
| | | return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); |
| | | }, |
| | | }, |
| | | { |
| | | dataIndex: 'SUPP_CODE', |
| | | title: '供应商编码', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'SUPP_NAME', |
| | | title: '供应商名称', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ORDER_DATE', |
| | | title: '单据日期', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'DELIVERY_DATE', |
| | | title: '送货日期', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PLANARRIVED_DATE', |
| | | title: '预计送达日期', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'RECEIVER', |
| | | title: '收货人', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'RECEIVE_DATE', |
| | | title: '收货日期', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'REMARK', |
| | | title: '备注', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | ]; |
| | | GetBaseColumns: (type: string) => { |
| | | switch (type) { |
| | | case 'BIZ_U9_ASN_DTL': |
| | | return [ |
| | | { |
| | | dataIndex: 'ORDER_NO', |
| | | title: '单据号', |
| | | // ifShow: false, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LINE_NO', |
| | | title: '单据行号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'STATUS', |
| | | title: '状态', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: ({ record }) => { |
| | | let color = ''; |
| | | let text = ''; |
| | | switch ( |
| | | record.STATUS //状态(0Init初始化|1Imported已导入|2Release已下发|3Working生产中|4Paused已暂停|5Closed已关闭) |
| | | ) { |
| | | case 0: |
| | | text = '初始化'; |
| | | color = '#8a8a8a'; |
| | | break; |
| | | case 1: |
| | | text = '已导入'; |
| | | color = 'blue'; |
| | | break; |
| | | case 2: |
| | | text = '已送达'; |
| | | color = 'green'; |
| | | break; |
| | | case 3: |
| | | text = '清点中'; |
| | | color = 'orange'; |
| | | break; |
| | | case 4: |
| | | text = '上架中'; |
| | | color = 'red'; |
| | | break; |
| | | case 5: |
| | | text = '待审核'; |
| | | color = '#e1822c'; |
| | | break; |
| | | case 6: |
| | | text = '已完成'; |
| | | color = '#009966'; |
| | | break; |
| | | case 7: |
| | | text = '已作废'; |
| | | color = '#CCCCCC'; |
| | | break; |
| | | } |
| | | return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); |
| | | }, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: '物料编码', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'UNIT', |
| | | title: '单位', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY', |
| | | title: '单据数量', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_PACKING', |
| | | title: '包装数量', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_IN', |
| | | title: '入库数量', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_OK', |
| | | title: '良品数量', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY_RETURN', |
| | | title: '退货数量', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_GIFT', |
| | | title: '是否赠品(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'SUPP_CODE', |
| | | title: '供应商编码', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'SUPP_LOTNO', |
| | | title: '供应商批次号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LOTNO', |
| | | title: '批次号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PO_ID', |
| | | title: '采购单ID', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PO_NO', |
| | | title: '采购单号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PO_LINE', |
| | | title: '采购单行号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IQC_ID', |
| | | title: '送货单ID', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IQC_NO', |
| | | title: '送检单号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'REMARK', |
| | | title: '备注', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | |
| | | ]; |
| | | case 'BIZ_U9_ASN_SN': |
| | | return [ |
| | | { |
| | | dataIndex: 'ORDER_NO', |
| | | title: '单据号', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LINE_NO', |
| | | title: '单据行号', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'SN', |
| | | title: '条码', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'META_SN', |
| | | title: '元条码', |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'ITEM_CODE', |
| | | title: '物料编码', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: () => {}, |
| | | }, |
| | | { |
| | | dataIndex: 'STATUS', |
| | | title: '状态', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | customRender: ({ record }) => { |
| | | let color = ''; |
| | | let text = ''; |
| | | switch ( |
| | | record.STATUS //状态(0Init初始化|1Imported已导入|2Release已下发|3Working生产中|4Paused已暂停|5Closed已关闭) |
| | | ) { |
| | | case 0: |
| | | text = '初始化'; |
| | | color = '#8a8a8a'; |
| | | break; |
| | | case 1: |
| | | text = '已导入'; |
| | | color = 'blue'; |
| | | break; |
| | | case 2: |
| | | text = '已送达'; |
| | | color = 'green'; |
| | | break; |
| | | case 3: |
| | | text = '清点中'; |
| | | color = 'orange'; |
| | | break; |
| | | case 4: |
| | | text = '上架中'; |
| | | color = 'red'; |
| | | break; |
| | | case 5: |
| | | text = '待审核'; |
| | | color = '#e1822c'; |
| | | break; |
| | | case 6: |
| | | text = '已完成'; |
| | | color = '#009966'; |
| | | break; |
| | | case 7: |
| | | text = '已作废'; |
| | | color = '#CCCCCC'; |
| | | break; |
| | | } |
| | | return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); |
| | | }, |
| | | }, |
| | | { |
| | | dataIndex: 'QTY', |
| | | title: '数量', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'UNIT', |
| | | title: '单位', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_GIFT', |
| | | title: '是否赠品(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_OK', |
| | | title: '是否良品(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_IN', |
| | | title: '是否入库(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'IS_RETURN', |
| | | title: '是否退货(Y/N)', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'LOTNO', |
| | | title: '批次号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'CARTON_NO', |
| | | title: '箱号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'PALLET_NO', |
| | | title: '栈板号', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | { |
| | | dataIndex: 'REMARK', |
| | | title: '备注', |
| | | ifShow: true, |
| | | sorter: true, |
| | | resizable: true, |
| | | }, |
| | | ]; |
| | | } |
| | | }, |
| | | GetSearchForm: () => { |
| | | return [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | label: t('单据号'), |
| | | colProps: { span: 8 }, |
| | | component: 'Input', |
| | | }, |
| | | ]; |
| | | GetSearchForm: (type: string) => { |
| | | switch (type) { |
| | | case 'BIZ_U9_ASN_DTL': |
| | | return [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | label: t('单据号'), |
| | | colProps: { span: 8 }, |
| | | component: 'Input', |
| | | }, |
| | | ]; |
| | | case 'BIZ_U9_ASN_SN': |
| | | return [ |
| | | { |
| | | field: 'ORDER_NO', |
| | | label: t('单据号'), |
| | | colProps: { span: 8 }, |
| | | component: 'Input', |
| | | }, |
| | | ]; |
| | | }; |
| | | }, |
| | | GetCrudForm: () => { |
| | | return []; |
| | |
| | | }; |
| | | |
| | | /* 以下是内部方法,不export,供上面的方法调用 */ |
| | | |
| | | |
| | | return [methods, ActionColumn]; |
| | | } |