feat(biz): 添加生产订单管理功能
This commit is contained in:
parent
70b9038a1e
commit
c6adab5443
1
mes-ui/mes-ui-admin-vue3/.gitignore
vendored
1
mes-ui/mes-ui-admin-vue3/.gitignore
vendored
@ -59,3 +59,4 @@ env/
|
|||||||
.venv/
|
.venv/
|
||||||
/pytest.ini
|
/pytest.ini
|
||||||
/pnpm-lock.yaml
|
/pnpm-lock.yaml
|
||||||
|
/requirements-test.txt
|
||||||
|
|||||||
@ -1,72 +0,0 @@
|
|||||||
import request from '@/config/axios'
|
|
||||||
|
|
||||||
export interface StockOutVO {
|
|
||||||
id: number
|
|
||||||
stockOutNo: string
|
|
||||||
stockOutDate: string
|
|
||||||
warehouseId: number
|
|
||||||
warehouseName: string
|
|
||||||
storeAreaId: number
|
|
||||||
storeAreaName: string
|
|
||||||
customerId: number
|
|
||||||
customerName: string
|
|
||||||
contact: string
|
|
||||||
contactPhone: string
|
|
||||||
deliveryAddress: string
|
|
||||||
deliveryMethod: string
|
|
||||||
transportNo: string
|
|
||||||
carrier: string
|
|
||||||
stockOutType: string
|
|
||||||
stockOutStatus: number
|
|
||||||
billStatus: number
|
|
||||||
totalQty: number
|
|
||||||
totalAmount: number
|
|
||||||
remark: string
|
|
||||||
items?: StockOutItemVO[]
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface StockOutItemVO {
|
|
||||||
id?: number
|
|
||||||
materialId?: number
|
|
||||||
materialCode?: string
|
|
||||||
materialName?: string
|
|
||||||
spec?: string
|
|
||||||
unit?: string
|
|
||||||
stockQty?: number
|
|
||||||
outQty?: number
|
|
||||||
price?: number
|
|
||||||
amount?: number
|
|
||||||
remark?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getStockOutPage = async (params) => {
|
|
||||||
return await request.get({ url: `/biz/stock-out/page`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getStockOut = async (id: number) => {
|
|
||||||
return await request.get({ url: `/biz/stock-out/get?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const createStockOut = async (data: StockOutVO) => {
|
|
||||||
return await request.post({ url: `/biz/stock-out/create`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const updateStockOut = async (data: StockOutVO) => {
|
|
||||||
return await request.put({ url: `/biz/stock-out/update`, data })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const deleteStockOut = async (id: number) => {
|
|
||||||
return await request.delete({ url: `/biz/stock-out/delete?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const exportStockOut = async (params) => {
|
|
||||||
return await request.download({ url: `/biz/stock-out/export-excel`, params })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const submitStockOut = async (id: number) => {
|
|
||||||
return await request.put({ url: `/biz/stock-out/submit?id=` + id })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const auditStockOut = async (id: number) => {
|
|
||||||
return await request.put({ url: `/biz/stock-out/audit?id=` + id })
|
|
||||||
}
|
|
||||||
204
mes-ui/mes-ui-admin-vue3/src/types/auto-components.d.ts
vendored
Normal file
204
mes-ui/mes-ui-admin-vue3/src/types/auto-components.d.ts
vendored
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
/* eslint-disable */
|
||||||
|
/* prettier-ignore */
|
||||||
|
// @ts-nocheck
|
||||||
|
// Generated by unplugin-vue-components
|
||||||
|
// Read more: https://github.com/vuejs/core/pull/3399
|
||||||
|
export {}
|
||||||
|
|
||||||
|
declare module 'vue' {
|
||||||
|
export interface GlobalComponents {
|
||||||
|
__init__: typeof import('./../../tests/pages/__init__.py')['default']
|
||||||
|
'__init__.cpython314': typeof import('./../../tests/pages/__pycache__/__init__.cpython-314.pyc')['default']
|
||||||
|
'.gitignore': typeof import('./../../.pytest_cache/.gitignore')['default']
|
||||||
|
AddForm: typeof import('./../../screenshots/add-form.png')['default']
|
||||||
|
AddFormFilled: typeof import('./../../screenshots/add-form-filled.png')['default']
|
||||||
|
AfterSave: typeof import('./../../screenshots/after-save.png')['default']
|
||||||
|
AppLinkInput: typeof import('./../components/AppLinkInput/index.vue')['default']
|
||||||
|
AppLinkSelectDialog: typeof import('./../components/AppLinkInput/AppLinkSelectDialog.vue')['default']
|
||||||
|
Backtop: typeof import('./../components/Backtop/src/Backtop.vue')['default']
|
||||||
|
Base: typeof import('./../../tests/pages/base.py')['default']
|
||||||
|
'Base.cpython314': typeof import('./../../tests/pages/__pycache__/base.cpython-314.pyc')['default']
|
||||||
|
CACHEDIR: typeof import('./../../.pytest_cache/CACHEDIR.TAG')['default']
|
||||||
|
CardTitle: typeof import('./../components/Card/src/CardTitle.vue')['default']
|
||||||
|
ColorInput: typeof import('./../components/ColorInput/index.vue')['default']
|
||||||
|
ComponentContainer: typeof import('./../components/DiyEditor/components/ComponentContainer.vue')['default']
|
||||||
|
ComponentContainerProperty: typeof import('./../components/DiyEditor/components/ComponentContainerProperty.vue')['default']
|
||||||
|
ComponentLibrary: typeof import('./../components/DiyEditor/components/ComponentLibrary.vue')['default']
|
||||||
|
Config: typeof import('./../../tests/config.json')['default']
|
||||||
|
ConfigGlobal: typeof import('./../components/ConfigGlobal/src/ConfigGlobal.vue')['default']
|
||||||
|
Conftest: typeof import('./../../tests/conftest.py')['default']
|
||||||
|
'Conftest.cpython314Pytest9.0.3': typeof import('./../../tests/__pycache__/conftest.cpython-314-pytest-9.0.3.pyc')['default']
|
||||||
|
'Conftest.cpython314Pytest9.0.3.pyc': typeof import('./../../tests/__pycache__/conftest.cpython-314-pytest-9.0.3.pyc.38960')['default']
|
||||||
|
ContentDetailWrap: typeof import('./../components/ContentDetailWrap/src/ContentDetailWrap.vue')['default']
|
||||||
|
ContentWrap: typeof import('./../components/ContentWrap/src/ContentWrap.vue')['default']
|
||||||
|
CopperModal: typeof import('./../components/Cropper/src/CopperModal.vue')['default']
|
||||||
|
CountTo: typeof import('./../components/CountTo/src/CountTo.vue')['default']
|
||||||
|
Crontab: typeof import('./../components/Crontab/src/Crontab.vue')['default']
|
||||||
|
Cropper: typeof import('./../components/Cropper/src/Cropper.vue')['default']
|
||||||
|
CropperAvatar: typeof import('./../components/Cropper/src/CropperAvatar.vue')['default']
|
||||||
|
Descriptions: typeof import('./../components/Descriptions/src/Descriptions.vue')['default']
|
||||||
|
DescriptionsItemLabel: typeof import('./../components/Descriptions/src/DescriptionsItemLabel.vue')['default']
|
||||||
|
Dialog: typeof import('./../components/Dialog/src/Dialog.vue')['default']
|
||||||
|
DictTag: typeof import('./../components/DictTag/src/DictTag.vue')['default']
|
||||||
|
DiyEditor: typeof import('./../components/DiyEditor/index.vue')['default']
|
||||||
|
DocAlert: typeof import('./../components/DocAlert/index.vue')['default']
|
||||||
|
Echart: typeof import('./../components/Echart/src/Echart.vue')['default']
|
||||||
|
Editor: typeof import('./../components/Editor/src/Editor.vue')['default']
|
||||||
|
ElAlert: typeof import('element-plus/es')['ElAlert']
|
||||||
|
ElAvatar: typeof import('element-plus/es')['ElAvatar']
|
||||||
|
ElButton: typeof import('element-plus/es')['ElButton']
|
||||||
|
ElCard: typeof import('element-plus/es')['ElCard']
|
||||||
|
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
|
||||||
|
ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
|
||||||
|
ElCol: typeof import('element-plus/es')['ElCol']
|
||||||
|
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
|
||||||
|
ElDialog: typeof import('element-plus/es')['ElDialog']
|
||||||
|
ElDivider: typeof import('element-plus/es')['ElDivider']
|
||||||
|
ElDrawer: typeof import('element-plus/es')['ElDrawer']
|
||||||
|
ElDropdown: typeof import('element-plus/es')['ElDropdown']
|
||||||
|
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
|
||||||
|
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
|
||||||
|
ElementBaseInfo: typeof import('./../components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue')['default']
|
||||||
|
ElementForm: typeof import('./../components/bpmnProcessDesigner/package/penal/form/ElementForm.vue')['default']
|
||||||
|
ElementListeners: typeof import('./../components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue')['default']
|
||||||
|
ElementMultiInstance: typeof import('./../components/bpmnProcessDesigner/package/penal/multi-instance/ElementMultiInstance.vue')['default']
|
||||||
|
ElementOtherConfig: typeof import('./../components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue')['default']
|
||||||
|
ElementProperties: typeof import('./../components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue')['default']
|
||||||
|
ElementTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/ElementTask.vue')['default']
|
||||||
|
ElForm: typeof import('element-plus/es')['ElForm']
|
||||||
|
ElFormItem: typeof import('element-plus/es')['ElFormItem']
|
||||||
|
ElIcon: typeof import('element-plus/es')['ElIcon']
|
||||||
|
ElImageViewer: typeof import('element-plus/es')['ElImageViewer']
|
||||||
|
ElInput: typeof import('element-plus/es')['ElInput']
|
||||||
|
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
|
||||||
|
ElLink: typeof import('element-plus/es')['ElLink']
|
||||||
|
ElOption: typeof import('element-plus/es')['ElOption']
|
||||||
|
ElPagination: typeof import('element-plus/es')['ElPagination']
|
||||||
|
ElPopover: typeof import('element-plus/es')['ElPopover']
|
||||||
|
ElRadio: typeof import('element-plus/es')['ElRadio']
|
||||||
|
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
|
||||||
|
ElRow: typeof import('element-plus/es')['ElRow']
|
||||||
|
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
|
||||||
|
ElSelect: typeof import('element-plus/es')['ElSelect']
|
||||||
|
ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
|
||||||
|
ElSwitch: typeof import('element-plus/es')['ElSwitch']
|
||||||
|
ElTable: typeof import('element-plus/es')['ElTable']
|
||||||
|
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
|
||||||
|
ElTabPane: typeof import('element-plus/es')['ElTabPane']
|
||||||
|
ElTabs: typeof import('element-plus/es')['ElTabs']
|
||||||
|
ElTag: typeof import('element-plus/es')['ElTag']
|
||||||
|
ElTooltip: typeof import('element-plus/es')['ElTooltip']
|
||||||
|
ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
|
||||||
|
ElUpload: typeof import('element-plus/es')['ElUpload']
|
||||||
|
Error: typeof import('./../components/Error/src/Error.vue')['default']
|
||||||
|
ErrorScreenshot: typeof import('./../../error-screenshot.png')['default']
|
||||||
|
FlowCondition: typeof import('./../components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue')['default']
|
||||||
|
Form: typeof import('./../components/Form/src/Form.vue')['default']
|
||||||
|
Form_components: typeof import('./../../tests/components/form_components.py')['default']
|
||||||
|
'Form_components.cpython314': typeof import('./../../tests/components/__pycache__/form_components.cpython-314.pyc')['default']
|
||||||
|
Highlight: typeof import('./../components/Highlight/src/Highlight.vue')['default']
|
||||||
|
Icon: typeof import('./../components/Icon/src/Icon.vue')['default']
|
||||||
|
IconSelect: typeof import('./../components/Icon/src/IconSelect.vue')['default']
|
||||||
|
IFrame: typeof import('./../components/IFrame/src/IFrame.vue')['default']
|
||||||
|
ImageViewer: typeof import('./../components/ImageViewer/src/ImageViewer.vue')['default']
|
||||||
|
Infotip: typeof import('./../components/Infotip/src/Infotip.vue')['default']
|
||||||
|
InputPassword: typeof import('./../components/InputPassword/src/InputPassword.vue')['default']
|
||||||
|
InputWithColor: typeof import('./../components/InputWithColor/index.vue')['default']
|
||||||
|
Lastfailed: typeof import('./../../.pytest_cache/v/cache/lastfailed')['default']
|
||||||
|
Login_page: typeof import('./../../tests/pages/login_page.py')['default']
|
||||||
|
'Login_page.cpython314': typeof import('./../../tests/pages/__pycache__/login_page.cpython-314.pyc')['default']
|
||||||
|
'Login_page.cpython314.pyc': typeof import('./../../tests/pages/__pycache__/login_page.cpython-314.pyc.2012673802768')['default']
|
||||||
|
LoginPage: typeof import('./../../login-page.png')['default']
|
||||||
|
MagicCubeEditor: typeof import('./../components/MagicCubeEditor/index.vue')['default']
|
||||||
|
MoneyInput: typeof import('./../views/biz/components/MoneyInput.vue')['default']
|
||||||
|
Nodeids: typeof import('./../../.pytest_cache/v/cache/nodeids')['default']
|
||||||
|
Order_test_data: typeof import('./../../tests/data/order_test_data.json')['default']
|
||||||
|
Pagination: typeof import('./../components/Pagination/index.vue')['default']
|
||||||
|
PlaywrightTest: typeof import('./../../tests/playwright-test.py')['default']
|
||||||
|
ProcessDesigner: typeof import('./../components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue')['default']
|
||||||
|
ProcessPalette: typeof import('./../components/bpmnProcessDesigner/package/palette/ProcessPalette.vue')['default']
|
||||||
|
ProcessViewer: typeof import('./../components/bpmnProcessDesigner/package/designer/ProcessViewer.vue')['default']
|
||||||
|
PropertiesPanel: typeof import('./../components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue')['default']
|
||||||
|
Prostorage: typeof import('./../api/biz/prostorage/index.ts')['default']
|
||||||
|
ProStorageInventorySelectDialog: typeof import('./../views/biz/prostorageinventory/ProStorageInventorySelectDialog.vue')['default']
|
||||||
|
Prostoragelog: typeof import('./../api/biz/prostoragelog/index.ts')['default']
|
||||||
|
Prostoragemat: typeof import('./../api/biz/prostoragemat/index.ts')['default']
|
||||||
|
Pytest: typeof import('./../../pytest.ini')['default']
|
||||||
|
Qrcode: typeof import('./../components/Qrcode/src/Qrcode.vue')['default']
|
||||||
|
README: typeof import('./../../.pytest_cache/README.md')['default']
|
||||||
|
ReceiveTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue')['default']
|
||||||
|
RequirementsTest: typeof import('./../../requirements-test.txt')['default']
|
||||||
|
RouterLink: typeof import('vue-router')['RouterLink']
|
||||||
|
RouterSearch: typeof import('./../components/RouterSearch/index.vue')['default']
|
||||||
|
RouterView: typeof import('vue-router')['RouterView']
|
||||||
|
Sale_order_page: typeof import('./../../tests/pages/sale_order_page.py')['default']
|
||||||
|
'Sale_order_page.cpython314': typeof import('./../../tests/pages/__pycache__/sale_order_page.cpython-314.pyc')['default']
|
||||||
|
'Sale_order_page.cpython314.pyc': typeof import('./../../tests/pages/__pycache__/sale_order_page.cpython-314.pyc.1680447423472')['default']
|
||||||
|
ScriptTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/task-components/ScriptTask.vue')['default']
|
||||||
|
Search: typeof import('./../components/Search/src/Search.vue')['default']
|
||||||
|
ShortcutDateRangePicker: typeof import('./../components/ShortcutDateRangePicker/index.vue')['default']
|
||||||
|
SignalAndMessage: typeof import('./../components/bpmnProcessDesigner/package/penal/signal-message/SignalAndMessage.vue')['default']
|
||||||
|
Sticky: typeof import('./../components/Sticky/src/Sticky.vue')['default']
|
||||||
|
SummaryCard: typeof import('./../components/SummaryCard/index.vue')['default']
|
||||||
|
Table: typeof import('./../components/Table/src/Table.vue')['default']
|
||||||
|
Test_sale_order: typeof import('./../../tests/test_sale_order.py')['default']
|
||||||
|
'Test_sale_order.cpython314Pytest9.0.3': typeof import('./../../tests/__pycache__/test_sale_order.cpython-314-pytest-9.0.3.pyc')['default']
|
||||||
|
'Test_sale_order.cpython314Pytest9.0.3.pyc': typeof import('./../../tests/__pycache__/test_sale_order.cpython-314-pytest-9.0.3.pyc.16136')['default']
|
||||||
|
TestAfterLogin: typeof import('./../../test-after-login.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_basic_150308': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_basic_150308.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_basic_150541': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_basic_150541.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_cancel_150346': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_cancel_150346.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_cancel_150618': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_cancel_150618.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_cancel_151150': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_cancel_151150.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_cancel_151240': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_cancel_151240.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_dialog_opens_151141': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_dialog_opens_151141.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_dialog_opens_151231': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_dialog_opens_151231.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_partial_fill_154225': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_partial_fill_154225.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_partial_fill_154326': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_partial_fill_154326.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_151545': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_151545.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_152057': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_152057.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_152324': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_152324.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_152412': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_152412.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153127': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153127.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153158': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153158.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153341': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153341.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153433': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153433.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153706': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153706.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153802': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_success_153802.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_validation_154052': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_validation_154052.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_validation_154215': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_validation_154215.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_validation_154314': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_validation_154314.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_with_all_fields_150342': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_with_all_fields_150342.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_with_all_fields_150615': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderCRUD_test_add_order_with_all_fields_150615.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderDataDriven_test_add_order_parametrized[test_case0]_150350': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderDataDriven_test_add_order_parametrized[test_case0]_150350.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderDataDriven_test_add_order_parametrized[test_case0]_150622': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderDataDriven_test_add_order_parametrized[test_case0]_150622.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderDataDriven_test_add_order_parametrized[test_case1]_150353': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderDataDriven_test_add_order_parametrized[test_case1]_150353.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderDataDriven_test_add_order_parametrized[test_case1]_150625': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderDataDriven_test_add_order_parametrized[test_case1]_150625.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderLogin_test_login_success_145839': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderLogin_test_login_success_145839.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderLogin_test_login_success_145911': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderLogin_test_login_success_145911.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderSearch_test_reset_search_150305': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderSearch_test_reset_search_150305.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderSearch_test_reset_search_150538': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderSearch_test_reset_search_150538.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderSearch_test_search_by_date_range_150232': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderSearch_test_search_by_date_range_150232.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderSearch_test_search_by_date_range_150505': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderSearch_test_search_by_date_range_150505.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderSearch_test_search_by_order_no_150159': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderSearch_test_search_by_order_no_150159.png')['default']
|
||||||
|
'Tests_test_sale_order.py_TestSaleOrderSearch_test_search_by_order_no_150432': typeof import('./../../tests/screenshots/tests_test_sale_order.py_TestSaleOrderSearch_test_search_by_order_no_150432.png')['default']
|
||||||
|
TestScreenshot: typeof import('./../../test-screenshot.png')['default']
|
||||||
|
Tooltip: typeof import('./../components/Tooltip/src/Tooltip.vue')['default']
|
||||||
|
UploadFile: typeof import('./../components/UploadFile/src/UploadFile.vue')['default']
|
||||||
|
UploadFileBatch: typeof import('./../components/UploadFile/src/UploadFileBatch.vue')['default']
|
||||||
|
UploadImg: typeof import('./../components/UploadFile/src/UploadImg.vue')['default']
|
||||||
|
UploadImgs: typeof import('./../components/UploadFile/src/UploadImgs.vue')['default']
|
||||||
|
UserTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue')['default']
|
||||||
|
UserTaskListeners: typeof import('./../components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue')['default']
|
||||||
|
Verify: typeof import('./../components/Verifition/src/Verify.vue')['default']
|
||||||
|
VerifyPoints: typeof import('./../components/Verifition/src/Verify/VerifyPoints.vue')['default']
|
||||||
|
VerifySlide: typeof import('./../components/Verifition/src/Verify/VerifySlide.vue')['default']
|
||||||
|
VerticalButtonGroup: typeof import('./../components/VerticalButtonGroup/index.vue')['default']
|
||||||
|
'Workspace.xml': typeof import('./../../.idea/workspace.xml.tmp')['default']
|
||||||
|
XButton: typeof import('./../components/XButton/src/XButton.vue')['default']
|
||||||
|
XTextButton: typeof import('./../components/XButton/src/XTextButton.vue')['default']
|
||||||
|
}
|
||||||
|
export interface ComponentCustomProperties {
|
||||||
|
vLoading: typeof import('element-plus/es')['ElLoadingDirective']
|
||||||
|
}
|
||||||
|
}
|
||||||
81
mes-ui/mes-ui-admin-vue3/src/types/auto-imports.d.ts
vendored
Normal file
81
mes-ui/mes-ui-admin-vue3/src/types/auto-imports.d.ts
vendored
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/* eslint-disable */
|
||||||
|
/* prettier-ignore */
|
||||||
|
// @ts-nocheck
|
||||||
|
// noinspection JSUnusedGlobalSymbols
|
||||||
|
// Generated by unplugin-auto-import
|
||||||
|
export {}
|
||||||
|
declare global {
|
||||||
|
const DICT_TYPE: typeof import('@/utils/dict')['DICT_TYPE']
|
||||||
|
const EffectScope: typeof import('vue')['EffectScope']
|
||||||
|
const computed: typeof import('vue')['computed']
|
||||||
|
const createApp: typeof import('vue')['createApp']
|
||||||
|
const customRef: typeof import('vue')['customRef']
|
||||||
|
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
||||||
|
const defineComponent: typeof import('vue')['defineComponent']
|
||||||
|
const effectScope: typeof import('vue')['effectScope']
|
||||||
|
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||||
|
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||||
|
const h: typeof import('vue')['h']
|
||||||
|
const inject: typeof import('vue')['inject']
|
||||||
|
const isProxy: typeof import('vue')['isProxy']
|
||||||
|
const isReactive: typeof import('vue')['isReactive']
|
||||||
|
const isReadonly: typeof import('vue')['isReadonly']
|
||||||
|
const isRef: typeof import('vue')['isRef']
|
||||||
|
const markRaw: typeof import('vue')['markRaw']
|
||||||
|
const nextTick: typeof import('vue')['nextTick']
|
||||||
|
const onActivated: typeof import('vue')['onActivated']
|
||||||
|
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
||||||
|
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
|
||||||
|
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
|
||||||
|
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
||||||
|
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
||||||
|
const onDeactivated: typeof import('vue')['onDeactivated']
|
||||||
|
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
||||||
|
const onMounted: typeof import('vue')['onMounted']
|
||||||
|
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
||||||
|
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
||||||
|
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
||||||
|
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
||||||
|
const onUnmounted: typeof import('vue')['onUnmounted']
|
||||||
|
const onUpdated: typeof import('vue')['onUpdated']
|
||||||
|
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
|
||||||
|
const provide: typeof import('vue')['provide']
|
||||||
|
const reactive: typeof import('vue')['reactive']
|
||||||
|
const readonly: typeof import('vue')['readonly']
|
||||||
|
const ref: typeof import('vue')['ref']
|
||||||
|
const required: typeof import('@/utils/formRules')['required']
|
||||||
|
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||||
|
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||||
|
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||||
|
const shallowRef: typeof import('vue')['shallowRef']
|
||||||
|
const toRaw: typeof import('vue')['toRaw']
|
||||||
|
const toRef: typeof import('vue')['toRef']
|
||||||
|
const toRefs: typeof import('vue')['toRefs']
|
||||||
|
const toValue: typeof import('vue')['toValue']
|
||||||
|
const triggerRef: typeof import('vue')['triggerRef']
|
||||||
|
const unref: typeof import('vue')['unref']
|
||||||
|
const useAttrs: typeof import('vue')['useAttrs']
|
||||||
|
const useCrudSchemas: typeof import('@/hooks/web/useCrudSchemas')['useCrudSchemas']
|
||||||
|
const useCssModule: typeof import('vue')['useCssModule']
|
||||||
|
const useCssVars: typeof import('vue')['useCssVars']
|
||||||
|
const useI18n: typeof import('@/hooks/web/useI18n')['useI18n']
|
||||||
|
const useId: typeof import('vue')['useId']
|
||||||
|
const useLink: typeof import('vue-router')['useLink']
|
||||||
|
const useMessage: typeof import('@/hooks/web/useMessage')['useMessage']
|
||||||
|
const useModel: typeof import('vue')['useModel']
|
||||||
|
const useRoute: typeof import('vue-router')['useRoute']
|
||||||
|
const useRouter: typeof import('vue-router')['useRouter']
|
||||||
|
const useSlots: typeof import('vue')['useSlots']
|
||||||
|
const useTable: typeof import('@/hooks/web/useTable')['useTable']
|
||||||
|
const useTemplateRef: typeof import('vue')['useTemplateRef']
|
||||||
|
const watch: typeof import('vue')['watch']
|
||||||
|
const watchEffect: typeof import('vue')['watchEffect']
|
||||||
|
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
||||||
|
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
||||||
|
}
|
||||||
|
// for type re-export
|
||||||
|
declare global {
|
||||||
|
// @ts-ignore
|
||||||
|
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
||||||
|
import('vue')
|
||||||
|
}
|
||||||
@ -23,9 +23,9 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="单据日期" prop="ordDate">
|
<el-form-item label="单据日期" prop="deliveryDate">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="formData.ordDate"
|
v-model="formData.deliveryDate"
|
||||||
type="date"
|
type="date"
|
||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
format="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
||||||
@ -254,7 +254,6 @@ const formData = reactive({
|
|||||||
deliveryDate: getToday(),
|
deliveryDate: getToday(),
|
||||||
deliveryStatus: '1',
|
deliveryStatus: '1',
|
||||||
deliveryType: undefined,
|
deliveryType: undefined,
|
||||||
ordDate: undefined,
|
|
||||||
custId: undefined,
|
custId: undefined,
|
||||||
custName: undefined,
|
custName: undefined,
|
||||||
contact: undefined,
|
contact: undefined,
|
||||||
@ -374,22 +373,28 @@ const open = async (type: string, id?: number) => {
|
|||||||
formType.value = type
|
formType.value = type
|
||||||
resetForm()
|
resetForm()
|
||||||
|
|
||||||
// 加载销售订单选项
|
|
||||||
await loadSaleOrderOptions()
|
|
||||||
|
|
||||||
// 修改时,设置数据
|
// 修改时,设置数据
|
||||||
if (id) {
|
if (id) {
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
try {
|
try {
|
||||||
const data = await SaleDeliveryApi.getSaleDelivery(id)
|
const data = await SaleDeliveryApi.getSaleDelivery(id)
|
||||||
Object.assign(formData, data)
|
Object.assign(formData, data)
|
||||||
// 加载产品列表
|
// 加载产品列表 - 支持多种字段名
|
||||||
if (data.items) {
|
if (data.items && data.items.length > 0) {
|
||||||
productList.value = data.items
|
productList.value = data.items
|
||||||
|
} else if (data.detailList && data.detailList.length > 0) {
|
||||||
|
productList.value = data.detailList
|
||||||
|
} else if (data.products && data.products.length > 0) {
|
||||||
|
productList.value = data.products
|
||||||
|
} else {
|
||||||
|
productList.value = []
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
formLoading.value = false
|
formLoading.value = false
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 新增时才加载销售订单选项
|
||||||
|
await loadSaleOrderOptions()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
@ -462,12 +467,12 @@ const handleOrderSelect = async (data: any) => {
|
|||||||
// 确保日期格式为 YYYY-MM-DD 字符串类型
|
// 确保日期格式为 YYYY-MM-DD 字符串类型
|
||||||
const ordDateStr = String(data.ordDate).trim()
|
const ordDateStr = String(data.ordDate).trim()
|
||||||
if (/^\d{4}-\d{2}-\d{2}$/.test(ordDateStr)) {
|
if (/^\d{4}-\d{2}-\d{2}$/.test(ordDateStr)) {
|
||||||
formData.ordDate = ordDateStr
|
formData.deliveryDate = ordDateStr
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
const date = new Date(data.ordDate)
|
const date = new Date(data.ordDate)
|
||||||
if (!isNaN(date.getTime())) {
|
if (!isNaN(date.getTime())) {
|
||||||
formData.ordDate = date.toISOString().split('T')[0]
|
formData.deliveryDate = date.toISOString().split('T')[0]
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn('日期转换失败:', e)
|
console.warn('日期转换失败:', e)
|
||||||
@ -475,7 +480,7 @@ const handleOrderSelect = async (data: any) => {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 如果没有订单日期,清空单据日期
|
// 如果没有订单日期,清空单据日期
|
||||||
formData.ordDate = null
|
formData.deliveryDate = null
|
||||||
}
|
}
|
||||||
console.log('formData after set:', formData)
|
console.log('formData after set:', formData)
|
||||||
|
|
||||||
@ -493,8 +498,8 @@ const handleOrderSelect = async (data: any) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果有客户ID,查询客户联系人信息
|
// 只有在新增模式下才查询客户联系人信息(编辑模式下已有数据)
|
||||||
if (data.custId) {
|
if (data.custId && formType.value === 'create') {
|
||||||
await loadCustomerContact(data.custId)
|
await loadCustomerContact(data.custId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -704,7 +709,6 @@ const resetForm = () => {
|
|||||||
ordQty: undefined,
|
ordQty: undefined,
|
||||||
remaimQty: undefined,
|
remaimQty: undefined,
|
||||||
deliveriedQty: undefined,
|
deliveriedQty: undefined,
|
||||||
ordDate: null,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
productList.value = []
|
productList.value = []
|
||||||
|
|||||||
@ -143,15 +143,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 明细表格 -->
|
<!-- 明细表格 -->
|
||||||
<div style="flex: 1; min-height: 0;">
|
<div style="flex: 1; min-height: 0;" >
|
||||||
<div style="font-weight: bold; margin-bottom: 8px;">出库单明细</div>
|
<div style="font-weight: bold; margin-bottom: 8px;">出库单明细</div>
|
||||||
<el-table v-loading="detailLoading" :data="detailList" :stripe="true" :show-overflow-tooltip="true" border :summary-method="getDetailSummary" show-summary>
|
<el-table v-loading="detailLoading" :data="detailList" :stripe="true" :show-overflow-tooltip="true" border :summary-method="getDetailSummary" show-summary style="width: 50%">
|
||||||
<el-table-column label="序号" align="center" type="index" width="60px"/>
|
<el-table-column label="序号" align="center" type="index" width="60px"/>
|
||||||
<el-table-column label="库区" align="center" prop="warehouseArea" width="100px" />
|
<el-table-column label="库区" align="center" prop="warehouseArea" width="120px" />
|
||||||
<el-table-column label="库位" align="center" prop="warehouseLoc" width="100px" />
|
<el-table-column label="库位" align="center" prop="warehouseLoc" width="120px" />
|
||||||
<el-table-column label="批次号" align="center" prop="batchNo" width="120px" />
|
<el-table-column label="批次号" align="center" prop="batchNo" width="120px" />
|
||||||
<el-table-column label="发货数量" align="center" prop="deliveriedQty" width="100px" />
|
<el-table-column label="发货数量" align="center" prop="deliveriedQty" width="120px" />
|
||||||
<el-table-column label="发货袋数" align="center" prop="deliveriedBag" width="100px" />
|
<el-table-column label="发货袋数" align="center" prop="deliveriedBag" width="120px" />
|
||||||
<el-table-column label="单据规格" align="center" prop="spec" width="120px" />
|
<el-table-column label="单据规格" align="center" prop="spec" width="120px" />
|
||||||
<el-table-column label="单位" align="center" prop="unit" width="80px" />
|
<el-table-column label="单位" align="center" prop="unit" width="80px" />
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
@ -161,7 +161,7 @@
|
|||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 表单弹窗:添加/修改 -->
|
<!-- 表单弹窗:添加/修改 -->
|
||||||
<SaleDeliveryForm ref="formRef" @success="getList" @close="handleQuery"/>
|
<SaleDeliveryForm ref="formRef" @success="getList"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user