| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-tabs v-model="activeTab" @tab-change="handleTabChange"> |
| | | <!-- <el-tab-pane label="采购入库" name="production"> |
| | | <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> |
| | | </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" 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="unitPrice" width="150"></el-table-column> |
| | | <el-table-column label="总价(元)" prop="totalPrice" width="150"></el-table-column> |
| | | <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,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 label="采购入库" name="purchase"> |
| | | <div class="search_form"> |
| | | <div> |
| | |
| | | :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="inboundDate" width="100" show-overflow-tooltip /> |
| | | <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" width="100" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | |
| | | </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="taxInclusiveUnitPrice" width="150"></el-table-column> |
| | | <el-table-column label="单价(美元)/件" prop="dollarPrice" 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> |
| | | <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> |
| | |
| | | </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="taxInclusiveUnitPrice" width="150"></el-table-column> |
| | | <el-table-column label="单价(美元)/件" prop="dollarPrice" 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" width="150" 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-dialog> |
| | | <el-dialog v-model="barcodeDia" title="产品信息" width="40%" @close="closeBarcodeDia"> |
| | | <div> |
| | | <el-row :gutter="30"> |
| | | <el-row v-if="barcodeDetail.url" :gutter="30"> |
| | | <el-col :span="12"> |
| | | <div class="barcode-item"> |
| | | <div class="barcode-label">图片</div> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <div class="barcode-item"> |
| | | <div class="barcode-label">产品高度</div> |
| | | <div class="barcode-value">{{barcodeDetail.specificationModel}}{{barcodeDetail.unit}}</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.productCategory}}元</div> |
| | | <div class="barcode-value">{{barcodeDetail.taxInclusiveUnitPrice}}元/件</div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <div class="barcode-item"> |
| | | <div class="barcode-label">单价</div> |
| | | <div class="barcode-value">{{barcodeDetail.dollarPrice}}美元/件</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.inboundNum}}</div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <div class="barcode-item"> |
| | | <div class="barcode-label">每件数量/支</div> |
| | | <div class="barcode-value">{{barcodeDetail.boxNum}}</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.cartonSpecifications}}</div> |
| | | </div> |
| | | </el-col> |
| | | <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> |
| | |
| | | // 切换 tab 时清空搜索条件 |
| | | searchForm.value.supplierName = '' |
| | | searchForm.value.customerName = '' |
| | | searchForm.value.timeStr = '' |
| | | searchForm.value.timeStr = getCurrentDate() // 重置为当前日期 |
| | | searchForm.value.productCategory = '' |
| | | getList() |
| | | } |
| | |
| | | const scanBarcodeInput = ref(''); |
| | | const barcodeDetail = ref({}) |
| | | // 扫码函数 |
| | | const scanBarcode = (e) => { |
| | | function scanBarcode (e){ |
| | | if(!e||!e.target||!e.target.tagName){ |
| | | return; |
| | | } |
| | |
| | | return |
| | | } |
| | | detailApi({id:barcodeId}).then((resp) => { |
| | | if(resp.code!=200||!resp.data)return |
| | | if(!resp.data){ |
| | | proxy.$modal.msgError("商品不存在") |
| | | return |
| | | } |
| | | if(resp.code!=200){ |
| | | proxy.$modal.msgError(res.msg) |
| | | return |
| | | } |
| | | barcodeDetail.value = resp.data |
| | | barcodeDia.value = true |
| | | }).catch(() => { |
| | |
| | | |
| | | onMounted(() => { |
| | | // 添加扫码枪监听事件 |
| | | document.removeEventListener('keypress',scanBarcode) |
| | | document.addEventListener('keypress', scanBarcode) |
| | | getList() |
| | | }) |