Browse Source

库存品条码记录表、库存品明细表

fix_bug_pro20231227
kilo 2 years ago
parent
commit
5d70956fa4
  1. 50
      src/api/distribution/disStockListDetail.js
  2. 50
      src/api/distribution/disStockOrdercodeReco.js
  3. 122
      src/option/distribution/disStockListDetail.js
  4. 94
      src/option/distribution/disStockOrdercodeReco.js
  5. 2
      src/views/distribution/deliverylist/distributionDeliveryListedt.vue
  6. 318
      src/views/distribution/disStockListDetail/disStockListDetail.vue
  7. 297
      src/views/distribution/disStockOrdercodeReco/disStockOrdercodeReco.vue
  8. 12
      src/views/distribution/turndelivery/deliveryMarket.vue

50
src/api/distribution/disStockListDetail.js

@ -0,0 +1,50 @@
import request from '@/axios';
export const getList = (current, size, params) => {
return request({
url: '/disStockOrdercodeReco/disStockListDetail/list',
method: 'get',
params: {
...params,
current,
size,
}
})
}
export const getDetail = (id) => {
return request({
url: '/disStockOrdercodeReco/disStockListDetail/detail',
method: 'get',
params: {
id
}
})
}
export const remove = (ids) => {
return request({
url: '/disStockOrdercodeReco/disStockListDetail/remove',
method: 'post',
params: {
ids,
}
})
}
export const add = (row) => {
return request({
url: '/disStockOrdercodeReco/disStockListDetail/submit',
method: 'post',
data: row
})
}
export const update = (row) => {
return request({
url: '/disStockOrdercodeReco/disStockListDetail/submit',
method: 'post',
data: row
})
}

50
src/api/distribution/disStockOrdercodeReco.js

@ -0,0 +1,50 @@
import request from '@/axios';
export const getList = (current, size, params) => {
return request({
url: '/disStockOrdercodeReco/disStockOrdercodeReco/list',
method: 'get',
params: {
...params,
current,
size,
}
})
}
export const getDetail = (id) => {
return request({
url: '/disStockOrdercodeReco/disStockOrdercodeReco/detail',
method: 'get',
params: {
id
}
})
}
export const remove = (ids) => {
return request({
url: '/disStockOrdercodeReco/disStockOrdercodeReco/remove',
method: 'post',
params: {
ids,
}
})
}
export const add = (row) => {
return request({
url: '/disStockOrdercodeReco/disStockOrdercodeReco/submit',
method: 'post',
data: row
})
}
export const update = (row) => {
return request({
url: '/disStockOrdercodeReco/disStockOrdercodeReco/submit',
method: 'post',
data: row
})
}

122
src/option/distribution/disStockListDetail.js

@ -0,0 +1,122 @@
export default {
expand: false,
index: true,
border: true,
selection: true,
column: [
{
label: "租户号",
prop: "tenantId",
display: false,
hide: true,
},
{
label: "创建人",
prop: "createUser",
display: false,
hide: true,
},
{
label: "创建时间",
prop: "createTime",
display: false,
hide: true,
},
{
label: "更新人",
prop: "updateUser",
display: false,
hide: true,
},
{
label: "更新时间",
prop: "updateTime",
display: false,
hide: true,
},
{
label: "创建部门",
prop: "createDept",
display: false,
hide: true,
},
{
label: "是否删除",
prop: "isDeleted",
display: false,
hide: true,
},
{
label: "主键",
prop: "id",
display: false,
hide: true,
},
{
label: "关联库存品ID",
prop: "stockListId",
},
{
label: "SKU",
prop: "sku",
},
{
label: "库存品包件编码",
prop: "stockPackageCode",
},
{
label: "类型 1 扫码 2 手动",
prop: "stockType",
},
{
label: "装车状态 10 未装车 20 已装车",
prop: "stockLockingStatus",
},
{
label: "状态 10 待绑定 20 已绑定",
prop: "stockStatus",
},
{
label: "签收状态 10 待签收 20 已签收",
prop: "stockSignfoStatus",
},
{
label: "仓库id",
prop: "warehouseId",
},
{
label: "仓库名称",
prop: "warehouseName",
},
{
label: "数量",
prop: "num",
},
{
label: "状态",
prop: "status",
display: false,
hide: true,
},
{
label: "预留1",
prop: "reserve1",
},
{
label: "预留2",
prop: "reserve2",
},
{
label: "预留3",
prop: "reserve3",
},
{
label: "预留4",
prop: "reserve4",
},
{
label: "预留5",
prop: "reserve5",
},
]
}

94
src/option/distribution/disStockOrdercodeReco.js

@ -0,0 +1,94 @@
export default {
expand: false,
index: true,
border: true,
selection: true,
column: [
{
label: "租户号",
prop: "tenantId",
display: false,
hide: true,
},
{
label: "创建人",
prop: "createUser",
display: false,
hide: true,
},
{
label: "创建时间",
prop: "createTime",
display: false,
hide: true,
},
{
label: "更新人",
prop: "updateUser",
display: false,
hide: true,
},
{
label: "更新时间",
prop: "updateTime",
display: false,
hide: true,
},
{
label: "创建部门",
prop: "createDept",
display: false,
hide: true,
},
{
label: "是否删除",
prop: "isDeleted",
display: false,
hide: true,
},
{
label: "主键",
prop: "id",
display: false,
hide: true,
},
{
label: "状态 1 启动 0禁用",
prop: "codeStatus",
},
{
label: "码值",
prop: "code",
},
{
label: "码值类型 1 库存品明细",
prop: "codeType",
},
{
label: "状态",
prop: "status",
display: false,
hide: true,
},
{
label: "预留1",
prop: "reserve1",
},
{
label: "预留2",
prop: "reserve2",
},
{
label: "预留3",
prop: "reserve3",
},
{
label: "预留4",
prop: "reserve4",
},
{
label: "预留5",
prop: "reserve5",
},
]
}

2
src/views/distribution/deliverylist/distributionDeliveryListedt.vue

@ -121,7 +121,7 @@
<!-- </div>-->
<!-- </el-row>-->
<el-tabs type="border-card" v-model="activeTab" @tab-click="handleTabClick">
<el-tab-pane label="预 约 列 表" name="tab1">
<el-tab-pane label="客 户 列 表" name="tab1">
<tablecmt
:columnList="columnList"
:tableData="data"

318
src/views/distribution/disStockListDetail/disStockListDetail.vue

@ -0,0 +1,318 @@
<template>
<basic-container>
<div class="avue-crud">
<el-row :hidden="!search" style="padding:6px 18px">
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<!-- 查询按钮 -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"> </el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain> </el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="el-icon-search" @click="searchHide" circle></el-button>
</div>
</div>
</el-row>
<el-row>
<!-- 列表模块 -->
<el-table ref="table" v-loading="loading"
@selection-change="selectionChange"
:data="data"
:height="height"
style="width: 100%"
:border="option.border">
<el-table-column type="selection" v-if="option.selection" width="55" align="center"></el-table-column>
<el-table-column type="expand" v-if="option.expand" align="center"></el-table-column>
<el-table-column v-if="option.index" label="#" type="index" width="50" align="center">
</el-table-column>
<template v-for="(item,index) in option.column">
<!-- table字段 -->
<el-table-column v-if="item.hide!==true"
:prop="item.prop"
:label="item.label"
:width="item.width"
:key="index">
</el-table-column>
</template>
<!-- 操作栏模块 -->
<el-table-column prop="menu" label="操作" :width="220" align="center">
<template #="{row}">
<el-button type="primary" text icon="el-icon-view" @click="handleView(row)">查看</el-button>
<el-button type="primary" text icon="el-icon-edit" @click="handleEdit(row)">编辑</el-button>
<el-button type="primary" text icon="el-icon-delete" @click="rowDel(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row>
<div class="avue-crud__pagination" style="width:100%">
<!-- 分页模块 -->
<el-pagination align="right"
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="page.currentPage"
:page-sizes="[10, 20, 30, 40, 50, 100]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
</el-pagination>
</div>
</el-row>
<!-- 表单模块 -->
<el-dialog :title="title"
v-model="box"
width="50%"
:before-close="beforeClose"
append-to-body>
<el-form :disabled="view" ref="form" :model="form" label-width="80px">
<!-- 表单字段 -->
<el-form-item label="关联库存品ID" prop="stockListId">
<el-input v-model="form.stockListId" placeholder="请输入关联库存品ID"/>
</el-form-item>
<el-form-item label="SKU" prop="sku">
<el-input v-model="form.sku" placeholder="请输入SKU"/>
</el-form-item>
<el-form-item label="库存品包件编码" prop="stockPackageCode">
<el-input v-model="form.stockPackageCode" placeholder="请输入库存品包件编码"/>
</el-form-item>
<el-form-item label="类型 1 扫码 2 手动" prop="stockType">
<el-input v-model="form.stockType" placeholder="请输入类型 1 扫码 2 手动"/>
</el-form-item>
<el-form-item label="装车状态 10 未装车 20 已装车" prop="stockLockingStatus">
<el-input v-model="form.stockLockingStatus" placeholder="请输入装车状态 10 未装车 20 已装车"/>
</el-form-item>
<el-form-item label="状态 10 待绑定 20 已绑定" prop="stockStatus">
<el-input v-model="form.stockStatus" placeholder="请输入状态 10 待绑定 20 已绑定"/>
</el-form-item>
<el-form-item label="签收状态 10 待签收 20 已签收" prop="stockSignfoStatus">
<el-input v-model="form.stockSignfoStatus" placeholder="请输入签收状态 10 待签收 20 已签收"/>
</el-form-item>
<el-form-item label="仓库id" prop="warehouseId">
<el-input v-model="form.warehouseId" placeholder="请输入仓库id"/>
</el-form-item>
<el-form-item label="仓库名称" prop="warehouseName">
<el-input v-model="form.warehouseName" placeholder="请输入仓库名称"/>
</el-form-item>
<el-form-item label="数量" prop="num">
<el-input v-model="form.num" placeholder="请输入数量"/>
</el-form-item>
<el-form-item label="预留1" prop="reserve1">
<el-input v-model="form.reserve1" placeholder="请输入预留1"/>
</el-form-item>
<el-form-item label="预留2" prop="reserve2">
<el-input v-model="form.reserve2" placeholder="请输入预留2"/>
</el-form-item>
<el-form-item label="预留3" prop="reserve3">
<el-input v-model="form.reserve3" placeholder="请输入预留3"/>
</el-form-item>
<el-form-item label="预留4" prop="reserve4">
<el-input v-model="form.reserve4" placeholder="请输入预留4"/>
</el-form-item>
<el-form-item label="预留5" prop="reserve5">
<el-input v-model="form.reserve5" placeholder="请输入预留5"/>
</el-form-item>
</el-form>
<!-- 表单按钮 -->
<template #footer>
<span v-if="!view" class="dialog-footer">
<el-button type="primary" icon="el-icon-circle-check" @click="handleSubmit"> </el-button>
<el-button icon="el-icon-circle-close" @click="box = false"> </el-button>
</span>
</template>
</el-dialog>
</div>
</basic-container>
</template>
<script>
import { getList, getDetail, add, update, remove } from "@/api/disStockListDetail/disStockListDetail";
import option from "@/option/disStockListDetail/disStockListDetail";
import { mapGetters } from "vuex";
export default {
data () {
return {
height: 0,
//
title: '',
//
box: false,
//
search: true,
//
loading: true,
//
view: false,
//
query: {},
//
page: {
currentPage: 1,
pageSize: 10,
total: 40
},
//
form: {},
//
selectionList: [],
//
option: option,
//
data: [],
}
},
mounted () {
this.init();
this.onLoad(this.page);
},
computed: {
...mapGetters(["permission"]),
ids () {
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.id);
});
return ids.join(",");
}
},
methods: {
init () {
this.height = this.setPx(document.body.clientHeight - 340);
},
searchHide () {
this.search = !this.search;
},
searchChange () {
this.onLoad(this.page);
},
searchReset () {
this.query = {};
this.page.currentPage = 1;
this.onLoad(this.page);
},
handleSubmit () {
if (!this.form.id) {
add(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
} else {
update(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
})
}
},
handleAdd () {
this.title = '新增'
this.form = {}
this.box = true
},
handleEdit (row) {
this.title = '编辑'
this.box = true
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
handleView (row) {
this.title = '查看'
this.view = true;
this.box = true;
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
handleDelete () {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(this.ids);
})
.then(() => {
this.selectionClear();
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
rowDel (row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(row.id);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
beforeClose (done) {
done()
this.form = {};
this.view = false;
},
selectionChange (list) {
this.selectionList = list;
},
selectionClear () {
this.selectionList = [];
this.$refs.table.clearSelection();
},
currentChange (currentPage) {
this.page.currentPage = currentPage;
this.onLoad(this.page);
},
sizeChange (pageSize) {
this.page.pageSize = pageSize;
this.onLoad(this.page);
},
onLoad (page, params = {}) {
this.loading = true;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
this.selectionClear();
});
}
}
};
</script>

297
src/views/distribution/disStockOrdercodeReco/disStockOrdercodeReco.vue

@ -0,0 +1,297 @@
<template>
<basic-container>
<div class="avue-crud">
<el-row :hidden="!search" style="padding:6px 18px">
<!-- 查询模块 -->
<el-form :inline="true" :model="query">
<!-- 查询按钮 -->
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"> </el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain> </el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChange" circle></el-button>
<el-button icon="el-icon-search" @click="searchHide" circle></el-button>
</div>
</div>
</el-row>
<el-row>
<!-- 列表模块 -->
<el-table ref="table" v-loading="loading"
@selection-change="selectionChange"
:data="data"
:height="height"
style="width: 100%"
:border="option.border">
<el-table-column type="selection" v-if="option.selection" width="55" align="center"></el-table-column>
<el-table-column type="expand" v-if="option.expand" align="center"></el-table-column>
<el-table-column v-if="option.index" label="#" type="index" width="50" align="center">
</el-table-column>
<template v-for="(item,index) in option.column">
<!-- table字段 -->
<el-table-column v-if="item.hide!==true"
:prop="item.prop"
:label="item.label"
:width="item.width"
:key="index">
</el-table-column>
</template>
<!-- 操作栏模块 -->
<el-table-column prop="menu" label="操作" :width="220" align="center">
<template #="{row}">
<el-button type="primary" text icon="el-icon-view" @click="handleView(row)">查看</el-button>
<el-button type="primary" text icon="el-icon-edit" @click="handleEdit(row)">编辑</el-button>
<el-button type="primary" text icon="el-icon-delete" @click="rowDel(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row>
<div class="avue-crud__pagination" style="width:100%">
<!-- 分页模块 -->
<el-pagination align="right"
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="page.currentPage"
:page-sizes="[10, 20, 30, 40, 50, 100]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total">
</el-pagination>
</div>
</el-row>
<!-- 表单模块 -->
<el-dialog :title="title"
v-model="box"
width="50%"
:before-close="beforeClose"
append-to-body>
<el-form :disabled="view" ref="form" :model="form" label-width="80px">
<!-- 表单字段 -->
<el-form-item label="状态 1 启动 0禁用" prop="codeStatus">
<el-input v-model="form.codeStatus" placeholder="请输入状态 1 启动 0禁用"/>
</el-form-item>
<el-form-item label="码值" prop="code">
<el-input v-model="form.code" placeholder="请输入码值"/>
</el-form-item>
<el-form-item label="码值类型 1 库存品明细" prop="codeType">
<el-input v-model="form.codeType" placeholder="请输入码值类型 1 库存品明细"/>
</el-form-item>
<el-form-item label="预留1" prop="reserve1">
<el-input v-model="form.reserve1" placeholder="请输入预留1"/>
</el-form-item>
<el-form-item label="预留2" prop="reserve2">
<el-input v-model="form.reserve2" placeholder="请输入预留2"/>
</el-form-item>
<el-form-item label="预留3" prop="reserve3">
<el-input v-model="form.reserve3" placeholder="请输入预留3"/>
</el-form-item>
<el-form-item label="预留4" prop="reserve4">
<el-input v-model="form.reserve4" placeholder="请输入预留4"/>
</el-form-item>
<el-form-item label="预留5" prop="reserve5">
<el-input v-model="form.reserve5" placeholder="请输入预留5"/>
</el-form-item>
</el-form>
<!-- 表单按钮 -->
<template #footer>
<span v-if="!view" class="dialog-footer">
<el-button type="primary" icon="el-icon-circle-check" @click="handleSubmit"> </el-button>
<el-button icon="el-icon-circle-close" @click="box = false"> </el-button>
</span>
</template>
</el-dialog>
</div>
</basic-container>
</template>
<script>
import { getList, getDetail, add, update, remove } from "@/api/disStockOrdercodeReco/disStockOrdercodeReco";
import option from "@/option/disStockOrdercodeReco/disStockOrdercodeReco";
import { mapGetters } from "vuex";
export default {
data () {
return {
height: 0,
//
title: '',
//
box: false,
//
search: true,
//
loading: true,
//
view: false,
//
query: {},
//
page: {
currentPage: 1,
pageSize: 10,
total: 40
},
//
form: {},
//
selectionList: [],
//
option: option,
//
data: [],
}
},
mounted () {
this.init();
this.onLoad(this.page);
},
computed: {
...mapGetters(["permission"]),
ids () {
let ids = [];
this.selectionList.forEach(ele => {
ids.push(ele.id);
});
return ids.join(",");
}
},
methods: {
init () {
this.height = this.setPx(document.body.clientHeight - 340);
},
searchHide () {
this.search = !this.search;
},
searchChange () {
this.onLoad(this.page);
},
searchReset () {
this.query = {};
this.page.currentPage = 1;
this.onLoad(this.page);
},
handleSubmit () {
if (!this.form.id) {
add(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
} else {
update(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
})
}
},
handleAdd () {
this.title = '新增'
this.form = {}
this.box = true
},
handleEdit (row) {
this.title = '编辑'
this.box = true
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
handleView (row) {
this.title = '查看'
this.view = true;
this.box = true;
getDetail(row.id).then(res => {
this.form = res.data.data;
});
},
handleDelete () {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(this.ids);
})
.then(() => {
this.selectionClear();
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
rowDel (row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(row.id);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
beforeClose (done) {
done()
this.form = {};
this.view = false;
},
selectionChange (list) {
this.selectionList = list;
},
selectionClear () {
this.selectionList = [];
this.$refs.table.clearSelection();
},
currentChange (currentPage) {
this.page.currentPage = currentPage;
this.onLoad(this.page);
},
sizeChange (pageSize) {
this.page.pageSize = pageSize;
this.onLoad(this.page);
},
onLoad (page, params = {}) {
this.loading = true;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
this.selectionClear();
});
}
}
};
</script>

12
src/views/distribution/turndelivery/deliveryMarket.vue

@ -347,7 +347,7 @@
v-model="dialogVisible"
width="30%"
>
<span>是否进行配送计划取消!?</span>
<h4>是否进行配送计划取消!?</h4>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="qqq"> </el-button>
@ -574,6 +574,16 @@
fixed: false,
sortable: true,
},
{
prop: '',
label: '操作',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: 'right',
hide: true,
},
],
height: 0,
loading: false,

Loading…
Cancel
Save