diff --git a/src/api/warehouse/WarehouseStock.js b/src/api/warehouse/WarehouseStock.js new file mode 100644 index 00000000..43829cca --- /dev/null +++ b/src/api/warehouse/WarehouseStock.js @@ -0,0 +1,50 @@ +import request from '@/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api/logpm-warehouse/warehouseStock/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api/logpm-warehouse/warehouseStock/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api/logpm-warehouse/warehouseStock/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api/logpm-warehouse/warehouseStock/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api/logpm-warehouse/warehouseStock/submit', + method: 'post', + data: row + }) +} + diff --git a/src/option/warehouse/warehouseStock.js b/src/option/warehouse/warehouseStock.js new file mode 100644 index 00000000..fc64643d --- /dev/null +++ b/src/option/warehouse/warehouseStock.js @@ -0,0 +1,267 @@ +export default { + height:'auto', + calcHeight: 30, + tip: false, + searchShow: true, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + selection: false, + dialogClickModal: false, + column: [ + { + label: "租户号", + prop: "tenantId", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "创建人", + prop: "createUser", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "创建时间", + prop: "createTime", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "更新人", + prop: "updateUser", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "更新时间", + prop: "updateTime", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "状态", + prop: "status", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "是否已删除", + prop: "isDeleted", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "创建部门", + prop: "createDept", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "主键", + prop: "id", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "reserve1", + prop: "reserve1", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "预留2", + prop: "reserve2", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "预留3", + prop: "reserve3", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + // { + // label: "", + // prop: "reserve4", + // type: "input", + // addDisplay: false, + // editDisplay: false, + // viewDisplay: false, + // hide: true, + // }, + { + label: "预留5", + prop: "reserve5", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "货位信息", + prop: "goodsAllocation", + type: "input", + }, + { + label: "在库订单ID", + prop: "stockArticle", + type: "input", + }, + { + label: "包条码", + prop: "coding", + type: "input", + }, + { + label: " 状态 1 配送 2自提", + prop: "conditions", + type: "input", + }, + { + label: "货物名称", + prop: "goodsName", + type: "input", + }, + { + label: "库存品ID", + prop: "stockListId", + type: "input", + }, + { + label: "拆包数", + prop: "unpackingQuantity", + type: "input", + }, + { + label: "在库包件ID", + prop: "parcelListId", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "单位", + prop: "unit", + type: "input", + hide: true, + }, + { + label: "订单自编号", + prop: "orderSelfNumbering", + type: "input", + }, + { + label: "预约id", + prop: "reservationId", + type: "input", + }, + { + label: "预约单号", + prop: "reservationCode", + type: "input", + hide: true, + }, + // { + // label: "出库类型 1商 2市 3自", + // prop: "outboundType", + // type: "input", + // }, + // { + // label: "配送ID", + // prop: "deliveryListId", + // type: "input", + // addDisplay: false, + // editDisplay: false, + // viewDisplay: false, + // hide: true, + // }, + { + label: "配送编号", + prop: "deliveryListCode", + type: "input", + }, + { + label: "备货区", + prop: "stockupArea", + type: "input", + }, + // { + // label: "自提ID", + // prop: "billLadingId", + // type: "input", + // addDisplay: false, + // editDisplay: false, + // viewDisplay: false, + // hide: true, + // }, + { + label: "扫码类型 1包件 2库存品", + prop: "type", + type: "input", + }, + // { + // label: "物料id", + // prop: "materialId", + // type: "input", + // addDisplay: false, + // editDisplay: false, + // viewDisplay: false, + // hide: true, + // }, + // { + // label: "商场/客户", + // prop: "marketId", + // type: "input", + // }, + { + label: "备货id", + prop: "stockupId", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + ] +} diff --git a/src/views/warehouse/warehouseStock/warehouseStock.vue b/src/views/warehouse/warehouseStock/warehouseStock.vue new file mode 100644 index 00000000..b1ef5f80 --- /dev/null +++ b/src/views/warehouse/warehouseStock/warehouseStock.vue @@ -0,0 +1,225 @@ +<template> + <basic-container> + <avue-crud :option="option" + v-model:search="search" + v-model:page="page" + v-model="form" + :table-loading="loading" + :data="data" + :permission="permissionList" + :before-open="beforeOpen" + ref="crud" + @row-update="rowUpdate" + @row-save="rowSave" + @row-del="rowDel" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> +<!-- <template #menu-left>--> +<!-- <el-button type="danger"--> +<!-- icon="el-icon-delete"--> +<!-- plain--> +<!-- v-if="permission.distributionStock_delete"--> +<!-- @click="handleDelete">删 除--> +<!-- </el-button>--> +<!-- <el-button type="warning"--> +<!-- plain--> +<!-- icon="el-icon-download"--> +<!-- @click="handleExport">导 出--> +<!-- </el-button>--> +<!-- </template>--> + </avue-crud> + </basic-container> +</template> + +<script> + import {getList, getDetail, add, update, remove} from "@/api/warehouse/warehouseStock"; + import option from "@/option/warehouse/warehouseStock"; + import {mapGetters} from "vuex"; + import {exportBlob} from "@/api/common"; + import {getToken} from '@/utils/auth'; + import {downloadXls} from "@/utils/util"; + import {dateNow} from "@/utils/date"; + import NProgress from 'nprogress'; + import 'nprogress/nprogress.css'; + + export default { + data() { + return { + form: {}, + query: {}, + search: {}, + loading: true, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + selectionList: [], + option: option, + data: [] + }; + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.validData(this.permission.distributionStock_add, false), + viewBtn: this.validData(this.permission.distributionStock_view, false), + delBtn: this.validData(this.permission.distributionStock_delete, false), + editBtn: this.validData(this.permission.distributionStock_edit, false) + }; + }, + ids() { + let ids = []; + this.selectionList.forEach(ele => { + ids.push(ele.id); + }); + return ids.join(","); + } + }, + methods: { + rowSave(row, done, loading) { + add(row).then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + done(); + }, error => { + loading(); + window.console.log(error); + }); + }, + rowUpdate(row, index, done, loading) { + update(row).then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + done(); + }, error => { + loading(); + console.log(error); + }); + }, + rowDel(row) { + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(row.id); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }); + }, + handleDelete() { + if (this.selectionList.length === 0) { + this.$message.warning("请选择至少一条数据"); + return; + } + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(this.ids); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + this.$refs.crud.toggleSelection(); + }); + }, + handleExport() { + let downloadUrl = `/distributionStock/distributionStock/export-distributionStock?${this.website.tokenHeader}=${getToken()}`; + const { + } = this.query; + let values = { + }; + this.$confirm("是否导出数据?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }).then(() => { + NProgress.start(); + exportBlob(downloadUrl, values).then(res => { + downloadXls(res.data, `备货扫描记录${dateNow()}.xlsx`); + NProgress.done(); + }) + }); + }, + beforeOpen(done, type) { + if (["edit", "view"].includes(type)) { + getDetail(this.form.id).then(res => { + this.form = res.data.data; + }); + } + done(); + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage){ + this.page.currentPage = currentPage; + }, + sizeChange(pageSize){ + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page, this.query); + }, + onLoad(page, params = {}) { + this.loading = true; + + const { + } = this.query; + + let values = { + }; + + getList(page.currentPage, page.pageSize, values).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }); + } + } + }; +</script> + +<style> +</style> diff --git a/src/views/warehouse/warehousesignedorder/distributionStockArticle.vue b/src/views/warehouse/warehousesignedorder/distributionStockArticle.vue index 40cd993c..279eaebd 100644 --- a/src/views/warehouse/warehousesignedorder/distributionStockArticle.vue +++ b/src/views/warehouse/warehousesignedorder/distributionStockArticle.vue @@ -446,6 +446,16 @@ export default { fixed: false, sortable: true, }, + { + prop: 'driverName', + label: '配送司机', + type: 1, + values: '', + width: '150', + checkarr: [], + fixed: false, + sortable: true, + }, { prop: 'fee', label: '增值服务',