diff --git a/src/api/inventory/inventoryInboundApi.js b/src/api/inventory/inventoryInboundApi.js
new file mode 100644
index 0000000..b9b0a73
--- /dev/null
+++ b/src/api/inventory/inventoryInboundApi.js
@@ -0,0 +1,32 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/inventory/inbound/` + url, ...arg)
+
+/**
+ * 入库单Api接口管理器
+ *
+ * @author Luck
+ * @date 2024/09/13 22:39
+ **/
+export default {
+ // 获取入库单分页
+ inventoryInboundPage(data) {
+ return request('page', data, 'get')
+ },
+ // 获取入库单 明细列表
+ inventoryInboundDetailList(data) {
+ return request('/detail/list', data, 'get')
+ },
+ // 获取入库单 条码列表
+ inventoryInboundBarcodeTree(data) {
+ return request('/barcode/tree/list', data, 'get')
+ },
+ // 获取入库单 条码(子级)列表
+ inventoryInboundBarcodeTreeChildren(data) {
+ return request('/barcode/tree/childrenList', data, 'get')
+ },
+ // 获取入库单详情
+ inventoryInboundDetail(data) {
+ return request('detail', data, 'get')
+ }
+}
diff --git a/src/api/inventory/inventoryInvoiceApi.js b/src/api/inventory/inventoryInvoiceApi.js
new file mode 100644
index 0000000..68c8dd3
--- /dev/null
+++ b/src/api/inventory/inventoryInvoiceApi.js
@@ -0,0 +1,32 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/inventory/invoice/` + url, ...arg)
+
+/**
+ * 发货通知单Api接口管理器
+ *
+ * @author Luck
+ * @date 2024/09/23 20:53
+ **/
+export default {
+ // 获取发货通知单分页
+ inventoryInvoicePage(data) {
+ return request('page', data, 'get')
+ },
+ // 提交发货通知单表单 edit为true时为编辑,默认为新增
+ inventoryInvoiceSubmitForm(data, edit = false) {
+ return request(edit ? 'edit' : 'add', data)
+ },
+ // 删除发货通知单
+ inventoryInvoiceDelete(data) {
+ return request('delete', data)
+ },
+ // 获取发货通知单详情
+ inventoryInvoiceDetail(data) {
+ return request('detail', data, 'get')
+ },
+ // 审核发货单 通过
+ inventoryInvoiceAuditPass(data, edit = false) {
+ return request('audit/pass', data)
+ },
+}
diff --git a/src/api/production/produceTask/produceBarcodeHistoryApi.js b/src/api/production/produceTask/produceBarcodeHistoryApi.js
new file mode 100644
index 0000000..d7f8329
--- /dev/null
+++ b/src/api/production/produceTask/produceBarcodeHistoryApi.js
@@ -0,0 +1,20 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/produce/barcode/history/` + url, ...arg)
+
+/**
+ * 产品条码历史记录Api接口管理器
+ *
+ * @author Luck
+ * @date 2024/09/09 19:41
+ **/
+export default {
+ // 获取产品条码历史记录分页
+ produceBarcodeHistoryPage(data) {
+ return request('page', data, 'get')
+ },
+ // 获取产品条码历史记录详情
+ produceBarcodeHistoryDetail(data) {
+ return request('detail', data, 'get')
+ }
+}
diff --git a/src/views/productionBusiness/inventory/inbound/columns/tableColumn.js b/src/views/productionBusiness/inventory/inbound/columns/tableColumn.js
new file mode 100644
index 0000000..ea874c3
--- /dev/null
+++ b/src/views/productionBusiness/inventory/inbound/columns/tableColumn.js
@@ -0,0 +1,87 @@
+export const tableColumns = [
+ {
+ title: '单号',
+ dataIndex: 'billNumber',
+ align: 'center',
+ resizable: true,
+ width: 200,
+ ellipsis: true
+ },
+ {
+ title: '业务日期',
+ dataIndex: 'businessDate',
+ align: 'center',
+ sorter: true,
+ sortDirections: ['descend', 'ascend'],
+ resizable: true,
+ width: 200,
+ ellipsis: true
+ },
+ {
+ title: '类型',
+ dataIndex: 'type',
+ align: 'center',
+ resizable: true,
+ width: 100,
+ ellipsis: true
+ },
+ {
+ title: '供货单位',
+ dataIndex: 'customerName',
+ align: 'center',
+ resizable: true,
+ width: 200,
+ ellipsis: true
+ },
+ {
+ title: '供货单位编码',
+ dataIndex: 'customerNumber',
+ align: 'center',
+ resizable: true,
+ width: 200,
+ ellipsis: true
+ },
+ {
+ title: '仓库',
+ dataIndex: 'storeName',
+ align: 'center',
+ resizable: true,
+ width: 200,
+ ellipsis: true
+ },
+ {
+ title: '仓库编码',
+ dataIndex: 'storeNumber',
+ align: 'center',
+ resizable: true,
+ width: 250,
+ ellipsis: true
+ },
+ {
+ title: '备注',
+ dataIndex: 'remarks',
+ align: 'center',
+ resizable: true,
+ width: 200,
+ ellipsis: true
+ },
+
+ {
+ title: '创建人',
+ dataIndex: 'createUserName',
+ align: 'center',
+ resizable: true,
+ width: 200,
+ ellipsis: true
+ },
+ {
+ title: '创建时间',
+ dataIndex: 'createTime',
+ sorter: true,
+ sortDirections: ['descend', 'ascend'],
+ align: 'center',
+ resizable: true,
+ width: 200,
+ ellipsis: true
+ }
+]
diff --git a/src/views/productionBusiness/inventory/inbound/formFields/searchFields.js b/src/views/productionBusiness/inventory/inbound/formFields/searchFields.js
new file mode 100644
index 0000000..2d4ce9d
--- /dev/null
+++ b/src/views/productionBusiness/inventory/inbound/formFields/searchFields.js
@@ -0,0 +1,33 @@
+import tool from '@/utils/tool'
+
+export const searchFields = [
+ { name: 'billNumber', label: '单号', component: 'a-input', props: { placeholder: '请输入单号' } },
+ {
+ label: '类型:',
+ name: 'type',
+ type: 'a-select',
+ attrs: {
+ placeholder: '请选择类型',
+ allowClear: true,
+ options: tool.dictList('INBOUND_TYPE')
+ }
+ },
+ {
+ label: '仓库:',
+ name: 'storeId',
+ type: 'a-tree-select',
+ span: 6,
+ attrs: {
+ placeholder: '请选择仓库',
+ treeData: [],
+ fieldNames: {
+ children: 'children',
+ label: 'name',
+ value: 'id'
+ }
+ },
+ defaultValue: ''
+ },
+ { name: 'customerName', label: '供货单位名称', component: 'a-input', props: { placeholder: '请输入供货单位名称' } },
+ { name: 'customerNumber', label: '供货单位编码', component: 'a-input', props: { placeholder: '请输入供货单位编码' } }
+]
diff --git a/src/views/productionBusiness/inventory/inbound/index.vue b/src/views/productionBusiness/inventory/inbound/index.vue
new file mode 100644
index 0000000..1ac45af
--- /dev/null
+++ b/src/views/productionBusiness/inventory/inbound/index.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ record.billNumber }}
+
+
+ {{
+ $TOOL.dictTypeData('INBOUND_TYPE', record.type || '')
+ }}
+
+
+
+
+
+ 查看
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/productionBusiness/inventory/invoice/detail/index.vue b/src/views/productionBusiness/inventory/invoice/detail/index.vue
new file mode 100644
index 0000000..2b124a4
--- /dev/null
+++ b/src/views/productionBusiness/inventory/invoice/detail/index.vue
@@ -0,0 +1,250 @@
+
+
+
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+ {
+ cityChange(value, options, record)
+ }
+ "
+ :filter-option="filterOption"
+ >
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/productionBusiness/inventory/invoice/formFields/detailFields.js b/src/views/productionBusiness/inventory/invoice/formFields/detailFields.js
new file mode 100644
index 0000000..a6a45f8
--- /dev/null
+++ b/src/views/productionBusiness/inventory/invoice/formFields/detailFields.js
@@ -0,0 +1,187 @@
+import tool from '@/utils/tool'
+import { required } from '@/utils/formRules'
+
+const basicInfoFormRules = {
+ type: [required('请选择类型')],
+ businessDate: [required('请选择业务日期')],
+ storeId: [required('请选择仓库')],
+ customerName: [required('请选择客户')]
+}
+
+const basicInfoFormItems = [
+ {
+ label: '单据号:',
+ name: 'billNumber',
+ type: 'a-input',
+ attrs: {
+ placeholder: '请输入单号',
+ allowClear: true
+ }
+ },
+ {
+ label: '业务日期:',
+ name: 'businessDate',
+ type: 'a-date-picker',
+ attrs: {
+ placeholder: '请选择业务日期',
+ allowClear: true,
+ valueFormat: 'YYYY-MM-DD HH:mm:ss'
+ }
+ },
+ {
+ label: '类型:',
+ name: 'type',
+ type: 'a-select',
+ attrs: {
+ placeholder: '请选择类型',
+ allowClear: true,
+ options: tool.dictList('OUTBOUND_TYPE')
+ }
+ },
+ {
+ label: '客户:',
+ name: 'customerName',
+ type: 'a-input',
+ isUseSlot: true,
+ slotName: 'customerNameSlot',
+ attrs: {
+ placeholder: '请选择客户'
+ }
+ },
+ {
+ label: '仓库:',
+ name: 'storeId',
+ type: 'a-tree-select',
+ span: 6,
+ attrs: {
+ placeholder: '请选择仓库',
+ treeData: [],
+ fieldNames: {
+ children: 'children',
+ label: 'name',
+ value: 'id'
+ }
+ },
+ defaultValue: ''
+ },
+ {
+ label: '车牌号:',
+ name: 'carNumber',
+ type: 'a-input',
+ attrs: {
+ placeholder: '请输入车牌号',
+ allowClear: true
+ }
+ },
+ {
+ label: '停车位:',
+ name: 'parkingSpace',
+ type: 'a-input',
+ attrs: {
+ placeholder: '请输入停车位',
+ allowClear: true
+ }
+ },
+ {
+ label: '业务员:',
+ name: 'salesman',
+ type: 'a-input',
+ attrs: {
+ placeholder: '请输入业务员',
+ allowClear: true
+ }
+ },
+ {
+ label: '收货方:',
+ name: 'receiveParty',
+ type: 'a-input',
+ attrs: {
+ placeholder: '请输入收货方',
+ allowClear: true
+ }
+ },
+ {
+ label: '交货日期:',
+ name: 'deliveryDate',
+ type: 'a-date-picker',
+ attrs: {
+ placeholder: '请选择交货日期',
+ allowClear: true,
+ valueFormat: 'YYYY-MM-DD HH:mm:ss'
+ }
+ },
+ {
+ label: '交货地址:',
+ name: 'deliveryAddress',
+ type: 'a-input',
+ attrs: {
+ placeholder: '请输入交货地址',
+ allowClear: true
+ }
+ },
+ {
+ label: '备注:',
+ name: 'remarks',
+ type: 'a-input',
+ span: 12,
+ attrs: {
+ placeholder: '请输入备注',
+ allowClear: true
+ }
+ }
+]
+
+const productDetailFormItems = [
+ {
+ title: '序号',
+ dataIndex: 'index',
+ editable: true,
+ width: 80
+ },
+ {
+ title: '商品名称',
+ dataIndex: 'productName',
+ editable: true,
+ width: 300,
+ dataType: 'select' // 或 'number', 'select'
+ },
+ {
+ title: '商品编码',
+ dataIndex: 'productNumber',
+ editable: true,
+ width: 300
+ },
+ {
+ title: '规格型号',
+ dataIndex: 'specification',
+ editable: true,
+ width: 300
+ },
+ {
+ title: '基本单位',
+ dataIndex: 'baseUnitName',
+ editable: true,
+ width: 300
+ },
+ {
+ title: '批次号',
+ dataIndex: 'batchNumber',
+ width: 300,
+ editable: true
+ },
+ {
+ title: '单位',
+ dataIndex: 'unitName',
+ width: 300,
+ editable: true
+ },
+ {
+ title: '计划数量',
+ dataIndex: 'planAmount',
+ width: 300,
+ editable: true,
+ dataType: 'number' // 或 'number', 'select'
+ }
+]
+
+export { basicInfoFormRules, basicInfoFormItems, productDetailFormItems }
\ No newline at end of file
diff --git a/src/views/productionBusiness/inventory/invoice/index.vue b/src/views/productionBusiness/inventory/invoice/index.vue
new file mode 100644
index 0000000..46f67e3
--- /dev/null
+++ b/src/views/productionBusiness/inventory/invoice/index.vue
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+ 新增
+
+
+
+
+ 审核
+
+
+
+
+
+ {{ record.billNumber }}
+
+
+ {{
+ $TOOL.dictTypeData('PRODUCE_TASK_STATE', record.state || '')
+ }}
+
+
+ {{
+ $TOOL.dictTypeData('OUTBOUND_TYPE', record.type || '')
+ }}
+
+
+
+
+
+ 查看
+
+
+
+
+
+ 更多
+
+
+
+
+
+
+
+ 编辑
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/productionBusiness/productionCenter/task/index.vue b/src/views/productionBusiness/productionCenter/task/index.vue
index 716c568..617dd9b 100644
--- a/src/views/productionBusiness/productionCenter/task/index.vue
+++ b/src/views/productionBusiness/productionCenter/task/index.vue
@@ -76,6 +76,11 @@
$TOOL.dictTypeData('PRODUCE_TASK_STATE', record.state || '')
}}
+
+ {{
+ $TOOL.dictTypeData('PRODUCE_TYPE', record.produceType || '')
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 导出
+
+
+
+
+
+ {{ record.barcode }}
+
+
+
+
+
+
+
+
+
+
+
+
+