| src/api/inventoryManagement/stockIn.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/dispatchLog/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/issueManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/receiptManagement/components/formDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/receiptManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/stockManagement/components/FormDiaManual.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/stockManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/inventoryManagement/stockIn.js
@@ -117,8 +117,8 @@ // 删除自定义入库信息 export function delStockInCustom(ids) { return request({ url: '/stockin/delteCustom', method: 'post', url: '/stockin/deleteCustom', method: 'delete', data: ids }) } @@ -141,6 +141,23 @@ }) } // 自定义入库-详情 export function detailManagementByCustom(query) { return request({ url: '/stockin/detailManagementByCustom', method: 'get', params: query }) } // 采购入库-详情 export function stockinDetail(query) { return request({ url: '/stockin/detail', method: 'get', params: query }) } // src/views/inventoryManagement/dispatchLog/index.vue
@@ -1,18 +1,9 @@ <template> <div class="app-container"> <el-tabs v-model="activeTab" @tab-change="handleTabChange"> <el-tab-pane label="采购出库" name="production"> <!-- <el-tab-pane label="采购出库" name="production"> <div class="search_form"> <div> <!-- <span class="search_title">客户名称:</span>--> <!-- <el-input--> <!-- v-model="searchForm.customerName"--> <!-- style="width: 240px"--> <!-- placeholder="请输入"--> <!-- @change="handleQuery"--> <!-- clearable--> <!-- prefix-icon="Search"--> <!-- />--> <span class="search_title ml10">出库日期:</span> <el-date-picker v-model="searchForm.timeStr" @@ -54,80 +45,12 @@ <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="出库日期" prop="createTime" min-width="120" show-overflow-tooltip /> <!-- <el-table-column label="客户名称" prop="customerName" width="250" show-overflow-tooltip />--> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="80" show-overflow-tooltip /> <el-table-column label="出库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="单价(元)" prop="unitPrice" width="150"></el-table-column> <el-table-column label="总价(元)" prop="totalPrice" width="150"></el-table-column> <!-- <el-table-column label="含税单价(元)" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="含税总价(元)" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="税率(%)" prop="taxRate" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="不含税总价(元)" prop="taxExclusiveTotalPrice" width="180" show-overflow-tooltip />--> <el-table-column label="出库人" prop="createBy" width="80" show-overflow-tooltip /> </el-table> <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current" :limit="page.size" @pagination="paginationChange" /> </div> </el-tab-pane> <!-- <el-tab-pane label="原料出库" name="purchase"> <div class="search_form"> <div> <span class="search_title ml10">出库日期:</span> <el-date-picker v-model="searchForm.timeStr" type="date" placeholder="请选择日期" value-format="YYYY-MM-DD" format="YYYY-MM-DD" clearable @change="handleQuery" /> <span class="search_title ml10">产品大类:</span> <el-input v-model="searchForm.productCategory" style="width: 240px" placeholder="请输入" clearable /> <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button> </div> <div> <el-button @click="handleOut">导出</el-button> <el-button type="danger" plain @click="handleDelete">删除</el-button> <el-button type="primary" plain @click="handlePrint">打印</el-button> </div> </div> <div class="table_list"> <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange" :expand-row-keys="expandedRowKeys" :row-key="(row) => row.id" show-summary style="width: 100%" :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)" > <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="出库日期" prop="createTime" min-width="120" show-overflow-tooltip /> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="80" show-overflow-tooltip /> <el-table-column label="出库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="含税单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="含税总价(元)" prop="taxInclusiveTotalPrice" width="150"></el-table-column> <el-table-column label="出库人" prop="createBy" width="80" show-overflow-tooltip /> </el-table> <pagination @@ -141,18 +64,9 @@ </div> </el-tab-pane> --> <el-tab-pane label="成品出库" name="manual"> <el-tab-pane label="采购出库" name="purchase"> <div class="search_form"> <div> <!-- <span class="search_title">供应商名称:</span>--> <!-- <el-input--> <!-- v-model="searchForm.supplierName"--> <!-- style="width: 240px"--> <!-- placeholder="请输入"--> <!-- @change="handleQuery"--> <!-- clearable--> <!-- prefix-icon="Search"--> <!-- />--> <span class="search_title ml10">出库日期:</span> <el-date-picker v-model="searchForm.timeStr" @@ -194,18 +108,90 @@ <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="出库日期" prop="createTime" show-overflow-tooltip /> <!-- <el-table-column label="供应商名称" prop="supplierName" width="250" show-overflow-tooltip /> --> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" show-overflow-tooltip /> <el-table-column label="物品类型" prop="itemType" show-overflow-tooltip /> <el-table-column label="出库数量" prop="inboundNum" show-overflow-tooltip /> <!-- <el-table-column label="单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column>--> <!-- <el-table-column label="总价(元)" prop="taxInclusiveTotalPrice" width="150"></el-table-column>--> <!-- <el-table-column label="含税单价(元)" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="含税总价(元)" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="税率(%)" prop="taxRate" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="不含税总价(元)" prop="taxExclusiveTotalPrice" width="180" show-overflow-tooltip />--> <el-table-column label="产品名称" prop="productCategory" show-overflow-tooltip /> <el-table-column label="产品高度" prop="specificationModel" width="100" show-overflow-tooltip> <template #default="scope"> <div>{{ scope.row.specificationModel }}{{ scope.row.unit }}</div> </template> </el-table-column> <el-table-column label="出库数量/件" prop="inboundNum" show-overflow-tooltip /> <el-table-column label="每件数量/支" prop="boxNum" width="100" show-overflow-tooltip /> <el-table-column label="单价(元)/支" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="150"></el-table-column> <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> <el-table-column label="出库人" prop="createBy" show-overflow-tooltip /> </el-table> <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current" :limit="page.size" @pagination="paginationChange" /> </div> </el-tab-pane> <el-tab-pane label="成品出库" name="manual"> <div class="search_form"> <div> <span class="search_title ml10">出库日期:</span> <el-date-picker v-model="searchForm.timeStr" type="date" placeholder="请选择日期" value-format="YYYY-MM-DD" format="YYYY-MM-DD" clearable @change="handleQuery" /> <span class="search_title ml10">产品大类:</span> <el-input v-model="searchForm.productCategory" style="width: 240px" placeholder="请输入" clearable /> <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button> </div> <div> <el-button @click="handleOut">导出</el-button> <el-button type="danger" plain @click="handleDelete">删除</el-button> <el-button type="primary" plain @click="handlePrint">打印</el-button> </div> </div> <div class="table_list"> <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange" :expand-row-keys="expandedRowKeys" :row-key="(row) => row.id" show-summary style="width: 100%" :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)" > <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="产品图片" width="100" align="center"> <template #default="scope"> <img class="barcode-img" :src="javaApiUrl+scope.row.url"></img> </template> </el-table-column> <el-table-column label="出库日期" prop="createTime" show-overflow-tooltip /> <el-table-column label="产品名称" prop="productCategory" show-overflow-tooltip /> <el-table-column label="产品高度" prop="specificationModel" width="100" show-overflow-tooltip> <template #default="scope"> <div>{{ scope.row.specificationModel }}{{ scope.row.unit }}</div> </template> </el-table-column> <el-table-column label="出库数量/件" prop="inboundNum" show-overflow-tooltip /> <el-table-column label="每件数量/支" prop="boxNum" width="100" show-overflow-tooltip /> <el-table-column label="单价(元)/支" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="150"></el-table-column> <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> <el-table-column label="出库人" prop="createBy" show-overflow-tooltip /> </el-table> <pagination @@ -353,7 +339,7 @@ const userStore = useUserStore(); const { proxy } = getCurrentInstance(); const tableData = ref([]); const activeTab = ref('production'); const activeTab = ref('purchase'); const selectedRows = ref([]); const tableLoading = ref(false); const page = reactive({ @@ -994,6 +980,12 @@ page-break-after: avoid; } } .barcode-img{ width: 80px; height: 80px; border-radius: 5px; background-color: #F5F5F5; } </style> src/views/inventoryManagement/issueManagement/index.vue
@@ -1,12 +1,9 @@ <template> <div class="app-container"> <el-tabs v-model="activeTab" @tab-change="handleTabChange"> <el-tab-pane label="成品出库" name="production"> <!-- <el-tab-pane label="采购出库" name="production"> <div class="search_form"> <div> <!-- <span class="search_title">客户名称:</span>--> <!-- <el-input v-model="searchForm.customerName" style="width: 240px" placeholder="请输入" @change="handleQuery"--> <!-- clearable prefix-icon="Search" />--> <span class="search_title ml10">入库日期:</span> <el-date-picker v-model="searchForm.timeStr" @@ -36,18 +33,11 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库时间" prop="createTime" width="100" show-overflow-tooltip /> <!-- <el-table-column label="入库批次" prop="inboundBatches" width="160" show-overflow-tooltip /> --> <!-- <el-table-column label="客户名称" prop="customerName" width="240" show-overflow-tooltip />--> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="90" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" width="90" show-overflow-tooltip /> <!-- <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />--> <!-- <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> --> <el-table-column fixed="right" label="操作" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm(scope.row);">领用</el-button> @@ -57,14 +47,11 @@ <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current" :limit="page.size" @pagination="paginationChange" /> </div> </el-tab-pane> </el-tab-pane> --> <el-tab-pane label="原料出库" name="purchase"> <el-tab-pane label="采购出库" name="purchase"> <div class="search_form"> <div> <!-- <!– <span class="search_title">供应商名称:</span>–> <!– <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请输入" @change="handleQuery"–> <!– clearable prefix-icon="Search" />–> --> <span class="search_title ml10">入库日期:</span> <el-date-picker v-model="searchForm.timeStr" @@ -94,16 +81,19 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库时间" prop="createTime" width="100" show-overflow-tooltip /> <!-- <el-table-column label="入库批次" prop="inboundBatches" width="160" show-overflow-tooltip /> --> <!--<el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />--> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="90" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" width="90" show-overflow-tooltip /> <el-table-column label="含税单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="含税总价(元)" prop="taxInclusiveTotalPrice" width="150"></el-table-column> <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip /> <el-table-column label="产品名称" prop="productCategory" show-overflow-tooltip /> <el-table-column label="产品高度" prop="specificationModel" width="100" show-overflow-tooltip> <template #default="scope"> <div>{{ scope.row.specificationModel }}{{ scope.row.unit }}</div> </template> </el-table-column> <el-table-column label="入库数量/件" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="每件数量/支" prop="boxNum" width="100" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" width="90" show-overflow-tooltip /> <el-table-column label="单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="150"></el-table-column> <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="操作" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm(scope.row);">领用</el-button> @@ -115,7 +105,7 @@ </div> </el-tab-pane> <el-tab-pane label="材料出库" name="manual"> <el-tab-pane label="成品出库" name="manual"> <div class="search_form"> <div> <!-- <span class="search_title">供应商名称:</span>--> @@ -148,22 +138,26 @@ <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange" :expand-row-keys="expandedRowKeys" :row-key="row => row.id" show-summary style="width: 100%" :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <!-- <el-table-column align="center" type="selection" width="55" /> --> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="产品图片" width="100" align="center"> <template #default="scope"> <img class="barcode-img" :src="javaApiUrl+scope.row.url"></img> </template> </el-table-column> <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip /> <!-- <el-table-column label="入库批次" prop="inboundBatches" width="160" show-overflow-tooltip /> --> <!-- <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />--> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip /> <el-table-column label="物品类型" prop="itemType" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" width="90" show-overflow-tooltip /> <!-- <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />--> <!-- <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="入库人" prop="createBy" show-overflow-tooltip /> --> <el-table-column label="产品名称" prop="productCategory" show-overflow-tooltip /> <el-table-column label="产品高度" prop="specificationModel" width="100" show-overflow-tooltip> <template #default="scope"> <div>{{ scope.row.specificationModel }}{{ scope.row.unit }}</div> </template> </el-table-column> <el-table-column label="入库数量/件" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="每件数量/支" prop="boxNum" width="100" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" width="90" show-overflow-tooltip /> <el-table-column label="单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="150"></el-table-column> <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="操作" width="100" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm(scope.row);">领用</el-button> @@ -179,7 +173,7 @@ <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef"> <div>可出库数量:{{currentRowNum}}</div> <el-form-item label="出库数量:" prop="salesContractNo"> <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.inboundQuantity" placeholder="请输入" clearable /> <el-input-number :step="1" :min="0" style="width: 100%" v-model="form.inboundQuantity" placeholder="请输入" clearable /> </el-form-item> <el-form-item label="出库日期:" prop="projectName"> <el-date-picker style="width: 100%" v-model="form.inboundTime" value-format="YYYY-MM-DD" format="YYYY-MM-DD" @@ -235,7 +229,7 @@ // 用户信息表单弹框数据 const dialogFormVisible = ref(false) const activeTab = ref('production') const activeTab = ref('purchase') const data = reactive({ searchForm: { supplierName: '', @@ -457,4 +451,11 @@ }) </script> <style scoped lang="scss"></style> <style scoped lang="scss"> .barcode-img{ width: 80px; height: 80px; border-radius: 5px; background-color: #F5F5F5; } </style> src/views/inventoryManagement/receiptManagement/components/formDia.vue
@@ -285,12 +285,12 @@ const stockInData = { ...form.value, inboundTime: formatDateTime(form.value.inboundTime), inboundTime: formatDateTime(), nickName: userStore.nickName, details: selectedRows.value.map(product => ({ id: product.id, inboundQuantity: Number(product.quantityStock), taxInclusiveUnitPrice: Number(product.taxInclusiveUnitPrice), unitPrice: Number(product.taxInclusiveUnitPrice), taxInclusiveTotalPrice: Number(product.taxInclusiveTotalPrice) })), }; src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue
@@ -34,27 +34,32 @@ </el-upload> </template> </el-table-column> <el-table-column label="产品大类" prop="productCategory" width="200"> <el-table-column label="产品名称" prop="productCategory" width="200"> <template #default="scope"> <el-input v-model="scope.row.productCategory" placeholder="请输入产品大类" /> <el-input v-model="scope.row.productCategory" placeholder="请输入产品名称" /> </template> </el-table-column> <el-table-column label="规格型号" prop="specificationModel" width="200"> <el-table-column label="产品高度" prop="specificationModel" width="200"> <template #default="scope"> <el-input v-model="scope.row.specificationModel" placeholder="请输入规格型号" /> <el-input v-model="scope.row.specificationModel" placeholder="请输入产品高度" /> </template> </el-table-column> <el-table-column label="单位" prop="unit" width="100"> <el-table-column label="高度单位" prop="unit" width="100"> <template #default="scope"> <el-input v-model="scope.row.unit" placeholder="请输入单位" /> <el-input v-model="scope.row.unit" placeholder="请输入高度单位" /> </template> </el-table-column> <el-table-column label="供应商" prop="supplierName" width="200"> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="200"> <template #default="scope"> <el-input v-model="scope.row.cartonSpecifications" placeholder="请输入产品高度" /> </template> </el-table-column> <!-- <el-table-column label="供应商" prop="supplierName" width="200"> <template #default="scope"> <el-input v-model="scope.row.supplierName" placeholder="请输入供应商" /> </template> </el-table-column> <el-table-column label="物品类型" prop="itemType" width="150"> </el-table-column> --> <!-- <el-table-column label="物品类型" prop="itemType" width="150"> <template #default="scope"> <el-select v-model="scope.row.itemType" filterable allow-create placeholder="请选择物品类型" style="width: 100%"> <el-option @@ -65,12 +70,22 @@ /> </el-select> </template> </el-table-column> <el-table-column label="入库数量" prop="inboundNum" width="150"> </el-table-column> --> <el-table-column label="入库数量-件" prop="inboundNum" width="150"> <template #default="scope"> <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.inboundNum" @change="() => calculateTotalPrice(scope.row)" /> <el-input-number :step="1" :min="0" style="width: 100%" v-model="scope.row.inboundNum" @change="() => calculateTotalPrice(scope.row)" /> </template> </el-table-column> <el-table-column label="每件数量/支" prop="boxNum" width="150"> <template #default="scope"> <el-input-number :step="1" :min="0" style="width: 100%" v-model="scope.row.boxNum" @change="() => calculateTotalPrice(scope.row)" /> </template> </el-table-column> <el-table-column label="单价(元)/支" prop="taxInclusiveUnitPrice" width="150"> <template #default="scope"> <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.taxInclusiveUnitPrice" @change="() => calculateTotalPrice(scope.row)" /> </template> </el-table-column> <el-table-column label="入库日期" prop="inboundDate" width="180"> <template #default="scope"> <el-date-picker @@ -88,11 +103,7 @@ <!-- <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.quantityStock" @change="() => calculateTotalPrice(scope.row)" />--> <!-- </template>--> <!-- </el-table-column>--> <!-- <el-table-column label="单价(元)" prop="taxInclusiveUnitPrice" width="150">--> <!-- <template #default="scope">--> <!-- <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.taxInclusiveUnitPrice" @change="() => calculateTotalPrice(scope.row)" />--> <!-- </template>--> <!-- </el-table-column>--> <!-- <el-table-column --> <!-- label="总价(元)" --> <!-- prop="taxInclusiveTotalPrice" --> @@ -127,10 +138,7 @@ Authorization: "Bearer " + getToken(), }); const imeUrl = ref(import.meta.env.VITE_APP_ENV) console.log(import.meta) const javaApiUrl = __BASE_API__; console.log('Java API 地址:', javaApiUrl) const userStore = useUserStore() const { proxy } = getCurrentInstance() @@ -200,6 +208,7 @@ id: null, productCategory: '', specificationModel: '', cartonSpecifications:'', unit: '', supplierName: form.value.supplierName || '', itemType: '', @@ -210,6 +219,7 @@ taxInclusiveTotalPrice: 0, taxRate: null, taxExclusiveTotalPrice: 0, boxNum: 0 }); }; @@ -250,10 +260,10 @@ proxy.$modal.msgError(`第${i + 1}行产品数据未填写完整(产品大类、规格型号、单位为必填)`) return } if (!product.itemType) { proxy.$modal.msgError(`第${i + 1}行请选择物品类型`) return } // if (!product.itemType) { // proxy.$modal.msgError(`第${i + 1}行请选择物品类型`) // return // } if (!product.inboundDate) { proxy.$modal.msgError(`第${i + 1}行请选择入库日期`) return @@ -263,6 +273,12 @@ proxy.$modal.msgError(`第${i + 1}行本次入库数量需大于0`) return } const boxNum = Number(product?.boxNum ?? 0); if (!Number.isFinite(boxNum) || boxNum <= 0) { proxy.$modal.msgError(`第${i + 1}每盒数量需大于0`) return } } const payloadList = productList.value.map(product => ({ @@ -278,7 +294,9 @@ taxExclusiveTotalPrice: Number(product.taxExclusiveTotalPrice || 0), taxInclusiveUnitPrice: Number(product.taxInclusiveUnitPrice || 0), taxInclusiveTotalPrice: Number(product.taxInclusiveTotalPrice || 0), url: product.url, boxNum:Number(product.boxNum), cartonSpecifications: product.cartonSpecifications, url: product.url||'/src/assets/logo/logo.png', })); loading.value = true if (operationType.value === 'edit') { src/views/inventoryManagement/receiptManagement/index.vue
@@ -1,12 +1,9 @@ <template> <div class="app-container"> <el-tabs v-model="activeTab" @tab-change="handleTabChange"> <el-tab-pane label="成品入库" name="production"> <!-- <el-tab-pane label="采购入库" name="production"> <div class="search_form"> <div> <!-- <span class="search_title">客户名称:</span>--> <!-- <el-input v-model="searchForm.customerName" style="width: 240px" placeholder="请输入" @change="handleQuery"--> <!-- clearable prefix-icon="Search" />--> <span class="search_title ml10">入库日期:</span> <el-date-picker v-model="searchForm.timeStr" @@ -38,39 +35,28 @@ <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库时间" prop="createTime" show-overflow-tooltip /> <!-- <el-table-column label="入库批次" prop="inboundBatches" show-overflow-tooltip /> --> <!-- <el-table-column label="客户名称" prop="customerName" width="240" show-overflow-tooltip />--> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <!-- <el-table-column label="剩余库存" prop="inboundNum0" show-overflow-tooltip />--> <el-table-column label="单价(元)" prop="unitPrice" width="150"></el-table-column> <el-table-column label="总价(元)" prop="totalPrice" width="150"></el-table-column> <!-- <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />--> <!-- <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> --> <el-table-column fixed="right" label="操作" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm('edit', scope.row, 'production');">编辑</el-button> <el-button link type="success" size="small" @click="showQRCode(scope.row)">生成条形码</el-button> <el-button link type="success" size="small" @click="showERCode(scope.row)">生成二维码</el-button> <el-button link type="success" size="small" @click="showQRCode(scope.row,1)">生成条形码</el-button> <el-button link type="success" size="small" @click="showERCode(scope.row,1)">生成二维码</el-button> </template> </el-table-column> </el-table> <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current" :limit="page.size" @pagination="paginationChange" /> </div> </el-tab-pane> </el-tab-pane> --> <el-tab-pane label="原料入库" name="purchase"> <el-tab-pane label="采购入库" name="purchase"> <div class="search_form"> <div> <!--<!– <span class="search_title">供应商名称:</span>–>--> <!--<!– <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请输入" @change="handleQuery"–>--> <!--<!– clearable prefix-icon="Search" />–>--> <span class="search_title ml10">入库日期:</span> <el-date-picker v-model="searchForm.timeStr" @@ -102,21 +88,18 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库时间" prop="createTime" width="100" show-overflow-tooltip /> <!-- <el-table-column label="入库批次" prop="inboundBatches" width="160" show-overflow-tooltip /> --> <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip /> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <!-- <el-table-column label="剩余库存" prop="inboundNum0" show-overflow-tooltip />--> <el-table-column label="含税单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="含税总价(元)" prop="taxInclusiveTotalPrice" width="150"></el-table-column> <!--<!– <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />–>--> <!--<!– <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />–>--> <!--<!– <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />–>--> <!--<!– <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />–>--> <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip /> <el-table-column label="产品名称" prop="productCategory" show-overflow-tooltip /> <el-table-column label="产品高度" prop="specificationModel" width="100" show-overflow-tooltip> <template #default="scope"> <div>{{ scope.row.specificationModel }}{{ scope.row.unit }}</div> </template> </el-table-column> <el-table-column label="入库数量/件" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="每件数量/支" prop="boxNum" width="100" show-overflow-tooltip /> <el-table-column label="单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="150"></el-table-column> <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="操作" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm('edit', scope.row, 'purchase');">编辑</el-button> @@ -130,12 +113,9 @@ </div> </el-tab-pane> <el-tab-pane label="材料入库" name="manual"> <el-tab-pane label="成品入库" name="manual"> <div class="search_form"> <div> <!-- <span class="search_title">供应商名称:</span>--> <!-- <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请输入" @change="handleQuery"--> <!-- clearable prefix-icon="Search" />--> <span class="search_title ml10">入库日期:</span> <el-date-picker v-model="searchForm.timeStr" @@ -167,27 +147,28 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="产品图片" width="100" align="center"> <template #default="scope"> <img class="barcode-img" :src="javaApiUrl+scope.row.url"></img> </template> </el-table-column> <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip /> <!-- <el-table-column label="入库批次" prop="inboundBatches" show-overflow-tooltip /> --> <!-- <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />--> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip /> <el-table-column label="物品类型" prop="itemType" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <!-- <el-table-column label="剩余库存" prop="inboundNum0" show-overflow-tooltip />--> <!-- <el-table-column label="单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column>--> <!-- <el-table-column label="总价(元)" prop="taxInclusiveTotalPrice" width="150"></el-table-column>--> <!-- <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />--> <!-- <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />--> <el-table-column label="产品名称" prop="productCategory" show-overflow-tooltip /> <el-table-column label="产品高度" prop="specificationModel" width="100" show-overflow-tooltip> <template #default="scope"> <div>{{ scope.row.specificationModel }}{{ scope.row.unit }}</div> </template> </el-table-column> <el-table-column label="入库数量/件" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="每件数量/支" prop="boxNum" width="100" show-overflow-tooltip /> <el-table-column label="单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="150"></el-table-column> <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="操作" width="100" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm('edit', scope.row, 'manual');">编辑</el-button> <el-button link type="success" size="small" @click="showQRCode(scope.row)">生成条形码</el-button> <el-button link type="success" size="small" @click="showERCode(scope.row)">生成二维码</el-button> <el-button link type="success" size="small" @click="showQRCode(scope.row,2)">生成条形码</el-button> <el-button link type="success" size="small" @click="showERCode(scope.row,2)">生成二维码</el-button> </template> </el-table-column> </el-table> @@ -228,6 +209,59 @@ </div> </div> </el-dialog> <el-dialog v-model="barcodeDia" title="产品信息" width="40%" @close="closeBarcodeDia"> <div> <el-row :gutter="30"> <el-col :span="12"> <div class="barcode-item"> <div class="barcode-label">图片</div> <img class="barcode-img" :src="javaApiUrl+barcodeDetail.url"></img> </div> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <div class="barcode-item"> <div class="barcode-label">名称</div> <div class="barcode-value">{{barcodeDetail.productCategory}}</div> </div> </el-col> <el-col :span="12"> <div class="barcode-item"> <div class="barcode-label">单价</div> <div class="barcode-value">{{barcodeDetail.productCategory}}元</div> </div> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <div class="barcode-item"> <div class="barcode-label">入库人</div> <div class="barcode-value">{{barcodeDetail.createBy}}</div> </div> </el-col> <el-col :span="12"> <div class="barcode-item"> <div class="barcode-label">数量/{{barcodeDetail.unit}}</div> <div class="barcode-value">{{barcodeDetail.inboundNum}}</div> </div> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <div class="barcode-item"> <div class="barcode-label">规格</div> <div class="barcode-value">{{barcodeDetail.specificationModel}}</div> </div> </el-col> </el-row> </div> <template #footer> <div class="dialog-footer"> <el-button @click="closeBarcodeDia">关闭</el-button> </div> </template> </el-dialog> </div> </template> @@ -237,11 +271,13 @@ import { ElMessageBox } from "element-plus"; import useUserStore from '@/store/modules/user' import dayjs from 'dayjs' const javaApiUrl = __BASE_API__; import { getStockInPage, getStockInPageByProduction, delStockIn, delStockInCustom, getInPageByCustom, stockinDetail,detailManagementByCustom } from "@/api/inventoryManagement/stockIn.js"; import FormDia from './components/formDia.vue' import FormDiaManual from './components/formDiaManual.vue' @@ -262,7 +298,7 @@ const formDia = ref() const formDiaManual = ref() const formDiaProduct = ref() const activeTab = ref('production') // 当前激活的 tab const activeTab = ref('purchase') // 当前激活的 tab const page = reactive({ current: 1, @@ -353,6 +389,7 @@ // 打开弹框 const openForm = async (type, row, tabType) => { if(barcodeDia.value)return const currentTab = tabType || activeTab.value await nextTick(() => { if (currentTab === 'manual') { @@ -424,7 +461,7 @@ } else { // 材料入库 deleteApi = delStockInCustom deleteParams = { ids } deleteParams = [...ids] } deleteApi(deleteParams).then(() => { @@ -442,15 +479,17 @@ // 二维码相关变量 const qrCodeDialogVisible = ref(false); const qrCodeUrl = ref(""); const showQRCode = async (row) => { const showQRCode = async (row,type) => { if(barcodeDia.value)return try { // 构建二维码内容,只包含采购合同号(纯文本) const qrContent = row.id || ''; let qrContent = row.id || ''; // 检查内容是否为空 if (!qrContent) { proxy.$modal.msgWarning("该行商品id,无法生成条形码"); return; } qrContent+=`,${type}` qrCodeDialogVisible.value = true; await nextTick(); JsBarcode("#barcode", qrContent+'', { @@ -466,13 +505,15 @@ const erCodeDialogVisible = ref(false); const erCodeUrl = ref(""); const showERCode = async (row) => { const qrContent = row.id || ''; const showERCode = async (row,type) => { if(barcodeDia.value)return let qrContent = row.id || ''; // 检查内容是否为空 if (!qrContent) { proxy.$modal.msgWarning("该行商品id,无法生成二维码"); return; } qrContent+=`,${type}` try { erCodeUrl.value = await QRCode.toDataURL(qrContent+'', { width: 200, @@ -519,12 +560,80 @@ proxy.$modal.msgSuccess("下载成功"); }; //扫码相关参数 const barcodeDia = ref(false); const scanBarcodeInput = ref(''); const barcodeDetail = ref({}) // 扫码函数 const scanBarcode = (e) => { if(!e||!e.target||!e.target.tagName){ return; } if (e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA') { return } if (e.key === 'Enter') { let _value = scanBarcodeInput.value getDetail(_value) scanBarcodeInput.value = "" } else { scanBarcodeInput.value += e.key } } const getDetail = (barcode)=>{ if(barcode.indexOf(",")==-1){ proxy.$modal.msgWarning("请扫描正确的条形码") return } let barcodeList = barcode.split(",") let barcodeId = barcodeList[0] let type = barcodeList[1] let detailApi = null if(type==1){ detailApi = stockinDetail }else if(type==2){ detailApi = detailManagementByCustom } if(!detailApi){ proxy.$modal.msgWarning("请扫描正确的条形码") return } detailApi({id:barcodeId}).then((resp) => { if(resp.code!=200||!resp.data)return barcodeDetail.value = resp.data barcodeDia.value = true }).catch(() => { proxy.$modal.msgError("查看详情失败") }) } const closeBarcodeDia = () => { barcodeDia.value = false } onMounted(() => { // 添加扫码枪监听事件 document.addEventListener('keypress', scanBarcode) getList() }) </script> <style scoped lang="scss"></style> <style scoped lang="scss"> .barcode-item{ display: flex; justify-content: space-between; padding: 5px 0; } .barcode-img{ width: 80px; height: 80px; border-radius: 5px; background-color: #F5F5F5; } </style> src/views/inventoryManagement/stockManagement/components/FormDiaManual.vue
@@ -4,27 +4,28 @@ <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef"> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="产品大类:" prop="productCategory"> <el-form-item label="产品名称:" prop="productCategory"> <el-input disabled v-model="form.productCategory" placeholder="请输入" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="规格型号:" prop="specificationModel"> <el-input disabled v-model="form.specificationModel" placeholder="请输入" clearable /> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="单位:" prop="unit"> <el-input disabled v-model="form.unit" placeholder="请输入" clearable /> <el-form-item label="产品高度:" prop="specificationModel"> <el-input disabled v-model="form.specificationModel" placeholder="请输入" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="高度单位:" prop="unit"> <el-input disabled v-model="form.unit" placeholder="请输入" clearable /> </el-form-item> </el-col> <!-- <el-col :span="12"> <el-form-item label="物品类型:" prop="itemType"> <el-input disabled v-model="form.itemType" placeholder="请输入" clearable /> </el-form-item> </el-col> </el-col> --> </el-row> <el-row :gutter="30"> <el-col :span="12"> @@ -34,19 +35,19 @@ </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="库存数量:" prop="inboundNum"> <el-form-item label="库存数量/件:" prop="inboundNum"> <el-input v-model="form.inboundNum" placeholder="请输入" clearable @input="calculateTotalPrice" /> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="已出库数量:" prop="totalInboundNum"> <el-form-item label="已出库数量/件:" prop="totalInboundNum"> <el-input disabled v-model="form.totalInboundNum" placeholder="请输入" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="待出库数量:" prop="inboundNum0"> <el-form-item label="待出库数量/件:" prop="inboundNum0"> <el-input disabled v-model="form.inboundNum0" placeholder="请输入" clearable /> </el-form-item> </el-col> src/views/inventoryManagement/stockManagement/index.vue
@@ -1,12 +1,9 @@ <template> <div class="app-container"> <el-tabs v-model="activeTab" @tab-change="handleTabChange"> <el-tab-pane label="成品库存" name="production"> <!-- <el-tab-pane label="采购库存" name="production"> <div class="search_form"> <div> <!-- <span class="search_title">客户名称:</span>--> <!-- <el-input v-model="searchForm.customerName" style="width: 240px" placeholder="请输入" @change="handleQuery"--> <!-- clearable prefix-icon="Search" />--> <span class="search_title ml10">入库日期:</span> <el-date-picker v-model="searchForm.timeStr" @@ -28,7 +25,6 @@ </div> <div> <el-button @click="handleOut">导出</el-button> <!-- <el-button type="danger" plain @click="handleDelete">删除</el-button>--> </div> </div> <div class="table_list"> @@ -39,7 +35,6 @@ <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库日期" prop="createTime" width="100" show-overflow-tooltip /> <!-- <el-table-column label="客户名称" prop="customerName" width="240" show-overflow-tooltip />--> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="80" show-overflow-tooltip /> @@ -48,11 +43,6 @@ <el-table-column label="剩余库存" prop="inboundNum0" width="100" show-overflow-tooltip /> <el-table-column label="单价(元)" prop="unitPrice" width="150"></el-table-column> <el-table-column label="总价(元)" prop="totalPrice" width="150"></el-table-column> <!-- <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="税率(%)" prop="taxRate" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> --> <el-table-column fixed="right" label="操作" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">编辑</el-button> @@ -62,9 +52,9 @@ <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current" :limit="page.size" @pagination="paginationChange" /> </div> </el-tab-pane> </el-tab-pane> --> <el-tab-pane label="原料库存" name="purchase"> <el-tab-pane label="采购库存" name="purchase"> <div class="search_form"> <div> <span class="search_title ml10">入库日期:</span> @@ -88,7 +78,6 @@ </div> <div> <el-button @click="handleOut">导出</el-button> <!-- <el-button type="danger" plain @click="handleDelete">删除</el-button>--> </div> </div> <div class="table_list"> @@ -98,22 +87,25 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库日期" prop="createTime" width="100" show-overflow-tooltip /> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="80" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="已出库数量" prop="totalInboundNum" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" show-overflow-tooltip /> <el-table-column label="含税单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column> <el-table-column label="含税总价(元)" prop="taxInclusiveTotalPrice" width="150"></el-table-column> <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip /> <el-table-column label="产品名称" prop="productCategory" show-overflow-tooltip /> <el-table-column label="产品高度" prop="specificationModel" width="100" show-overflow-tooltip> <template #default="scope"> <div>{{ scope.row.specificationModel }}{{ scope.row.unit }}</div> </template> </el-table-column> <el-table-column label="每件数量/支" prop="boxNum" width="100" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="已出库数量" prop="totalInboundNum" width="100" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" width="100" show-overflow-tooltip /> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="150"></el-table-column> </el-table> <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current" :limit="page.size" @pagination="paginationChange" /> </div> </el-tab-pane> <el-tab-pane label="材料库存" name="manual"> <el-tab-pane label="成品库存" name="manual"> <div class="search_form"> <div> <!-- <span class="search_title">供应商名称:</span>--> @@ -150,22 +142,23 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库日期" prop="createTime" width="100" show-overflow-tooltip /> <!-- <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />--> <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="80" show-overflow-tooltip /> <el-table-column label="物品类型" prop="itemType" width="120" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="已出库数量" prop="totalInboundNum" width="100" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" width="100" show-overflow-tooltip /> <!-- <el-table-column label="单价(元)" prop="taxInclusiveUnitPrice" width="150"></el-table-column>--> <!-- <el-table-column label="总价(元)" prop="taxInclusiveTotalPrice" width="150"></el-table-column>--> <!-- <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="税率(%)" prop="taxRate" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />--> <!-- <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> --> <el-table-column label="产品图片" width="100" align="center"> <template #default="scope"> <img class="barcode-img" :src="javaApiUrl+scope.row.url"></img> </template> </el-table-column> <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip /> <el-table-column label="产品名称" prop="productCategory" show-overflow-tooltip /> <el-table-column label="产品高度" prop="specificationModel" width="100" show-overflow-tooltip> <template #default="scope"> <div>{{ scope.row.specificationModel }}{{ scope.row.unit }}</div> </template> </el-table-column> <el-table-column label="每件数量/支" prop="boxNum" width="100" show-overflow-tooltip /> <el-table-column label="入库数量" prop="inboundNum" width="100" show-overflow-tooltip /> <el-table-column label="已出库数量" prop="totalInboundNum" width="100" show-overflow-tooltip /> <el-table-column label="剩余库存" prop="inboundNum0" width="100" show-overflow-tooltip /> <el-table-column label="纸箱规格" prop="cartonSpecifications" width="150"></el-table-column> <el-table-column fixed="right" label="操作" width="100" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">编辑</el-button> @@ -274,11 +267,6 @@ import FormDiaPurchase from './components/FormDiaPurchase.vue' import FormDiaManual from './components/FormDiaManual.vue' //扫码相关参数 const barcodeDia = ref(false); const scanBarcodeInput = ref(''); const barcodeDetail = ref({}) const userStore = useUserStore() const { proxy } = getCurrentInstance() const tableData = ref([]) @@ -298,7 +286,7 @@ const loading = ref(false); // 用户信息表单弹框数据 const operationType = ref('') const activeTab = ref('production') const activeTab = ref('purchase') // 三个独立的弹框显示状态 const productionDialogVisible = ref(false) @@ -628,6 +616,11 @@ const day = String(today.getDate()).padStart(2, '0'); return `${year}-${month}-${day}`; } //扫码相关参数 const barcodeDia = ref(false); const scanBarcodeInput = ref(''); const barcodeDetail = ref({}) // 扫码函数 const scanBarcode = (e) => { if(!e||!e.target||!e.target.tagName){ @@ -656,7 +649,7 @@ } onMounted(() => { // 添加扫码枪监听事件 document.addEventListener('keypress', scanBarcode) // document.addEventListener('keypress', scanBarcode) getList() // checkStockAndCreatePurchase(); // 每小时检查一次库存