Browse Source

更新包件记录

dev-warehouse
zhangsiyu 2 years ago
parent
commit
bb70ccffe3
  1. 4
      src/api/warehouse/warehouseUpdownGoodsLog.js
  2. 37
      src/router/views/index.js
  3. 7
      src/views/basicdata/brand/basicClient.vue
  4. 178
      src/views/basicdata/brand/basicClientDetail.vue
  5. 408
      src/views/warehouse/updownGoods/warehouseUpdownGoodsLog.vue
  6. 1
      vite.config.js

4
src/api/warehouse/warehouseUpdownGoodsLog.js

@ -1,8 +1,8 @@
import request from '@/axios';
export const getList = (current, size, params) => {
export const getpage = (current, size, params) => {
return request({
url: '/api/logpm-warehouse/warehouseUpdownGoodsLog/list',
url: '/api/logpm-warehouse/warehouseUpdownGoodsLog/page',
method: 'get',
params: {
...params,

37
src/router/views/index.js

@ -819,25 +819,24 @@ export default [
},
],
},
// {
// path: '/basicdata/warehouse/goodsShelf/basicdataGoodsShelfView',
// component: Layout,
// redirect: '/warehouse/goodsShelf/basicdataGoodsShelfView',
// children: [
// {
// path: '/basicdata/warehouse/goodsShelf/basicdataGoodsShelfView',
// name: '货位可视化',
// meta: {
// i18n: 'dict',
// },
// props: route => ({
// name: route.query.name,
// id: route.query.id
// }),
// component: () => import('@/views/basicdata/warehouse/tray/basicdataGoodsShelfView.vue'),
// },
// ],
// },
{
path: '/basicdata/brand/basicClientDetail',
component: Layout,
redirect: '/basicdata/brand/basicClientDetail',
children: [
{
path: '/basicdata/brand/basicClientDetail',
name: '客户信息详情',
meta: {
i18n: 'dict',
},
props: route => ({
id: route.query.id
}),
component: () => import('@/views/basicdata/brand/basicClientDetail.vue'),
},
],
},
// {
// path: 'basicdata/goodsShelf/basicdataGoodsShelfView',
// component: Layout,

7
src/views/basicdata/brand/basicClient.vue

@ -910,6 +910,13 @@ export default {
this.view = true;
this.box = true;
this.fileList = [];
this.$router.push({
path:'/basicdata/brand/basicClientDetail',
query:{
id:row.id
}
})
return
getDetail(row.id).then(res => {
// res.data.data.typeService = res.data.data.typeService.toString();
console.log('>>>>>', res.data.data);

178
src/views/basicdata/brand/basicClientDetail.vue

@ -0,0 +1,178 @@
<template>
<el-descriptions
class="margin-top"
title="客户信息详情"
:column="2"
size="Large"
border
>
<!-- <template #extra>
<el-button type="primary">Operation</el-button>
</template> -->
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <user /> -->
</el-icon>
客户编码
</div>
</template>
{{ detail.clientCode }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <user /> -->
</el-icon>
客户名称
</div>
</template>
{{ detail.clientName }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <user /> -->
</el-icon>
客户类型
</div>
</template>
{{ detail.clientType }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <user /> -->
</el-icon>
服务类型
</div>
</template>
{{ detail.typeServiceList }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <iphone /> -->
</el-icon>
联系人
</div>
</template>
{{ detail.linkman }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <iphone /> -->
</el-icon>
联系电话
</div>
</template>
{{ detail.phone }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <iphone /> -->
</el-icon>
地址
</div>
</template>
{{ detail.bladeRegionProvinceId }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <tickets /> -->
</el-icon>
详细地址
</div>
</template>
{{ detail.detailedly }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <office-building /> -->
</el-icon>
合同附件
</div>
</template>
<el-image style="width: 100px; height: 100px;border-radius: 5px;" :src="detail.leaseAccessories" :fit="fit" />
<!-- 图片 leaseAccessories -->
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <office-building /> -->
</el-icon>
合同开始时间
</div>
</template>
{{ detail.contractStartTime }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <office-building /> -->
</el-icon>
合同结束时间
</div>
</template>
{{ detail.contractEntTime }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<div class="cell-item">
<el-icon :style="iconStyle">
<!-- <office-building /> -->
</el-icon>
</div>
</template>
</el-descriptions-item>
</el-descriptions>
<!-- <el-button type="primary" @click="bkbut">返回</el-button> -->
</template>
<script setup>
import { getDetail } from '@/api/basicdata/basicClient';
import { useRoute, useRouter } from 'vue-router';
import { reactive,onMounted } from 'vue';
const route = useRoute();
const router=useRouter()
const details = reactive({
id:'',
detail:{}
});
onMounted(() => {
details.id=route.query.id
init()
})
async function init() {
let res=await getDetail(details.id)
details.detail=res.data.data
}
function bkbut(){
router.go(-1)
}
const { detail }=toRefs(details)
</script>
<style lang="scss">
.margin-top{
margin-top: 20px;
margin-left: 20px;
margin-right: 20px;
}
</style>

408
src/views/warehouse/updownGoods/warehouseUpdownGoodsLog.vue

@ -1,60 +1,24 @@
<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>
<tablecmt
:columnList="columnList"
:tableData="data"
:loading="loading"
@inputTxt="inputsc"
@timeCheck="timesc"
@btnCheck="btnsc"
@selectCheck="selectsc"
@selection="selectionChange"
>
<!-- <template #default="slotProps">-->
<!-- <el-button type="primary" text icon="el-icon-view" @click="handleView(slotProps.scope)">查看</el-button>-->
<!-- <el-button type="primary" text icon="el-icon-edit" @click="handleCallDeliveryOwn(slotProps.scope)">修改客户信息</el-button>-->
<!-- </template>-->
</tablecmt>
</el-row>
<el-row>
<div class="avue-crud__pagination" style="width:100%">
@ -72,79 +36,171 @@
</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="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="orderCode">
<el-input v-model="form.orderCode" placeholder="请输入订单自编码"/>
</el-form-item>
<el-form-item label="包件编码" prop="orderPackageCode">
<el-input v-model="form.orderPackageCode" placeholder="请输入包件编码"/>
</el-form-item>
<el-form-item label="上架类型;1=上架,2=下架" prop="bindingType">
<el-input v-model="form.bindingType" placeholder="请输入上架类型;1=上架,2=下架"/>
</el-form-item>
<el-form-item label="是否整托;0不是 1是" prop="isAlltrays">
<el-input v-model="form.isAlltrays" placeholder="请输入是否整托;0不是 1是"/>
</el-form-item>
<el-form-item label="货物类型;有数据 无数据" prop="goodsType">
<el-input v-model="form.goodsType" placeholder="请输入货物类型;有数据 无数据"/>
</el-form-item>
<el-form-item label="关联类型" prop="associationType">
<el-input v-model="form.associationType" placeholder="请输入关联类型"/>
</el-form-item>
<el-form-item label="关联值" prop="associationValue">
<el-input v-model="form.associationValue" placeholder="请输入关联值"/>
</el-form-item>
<el-form-item label="关联id" prop="associationId">
<el-input v-model="form.associationId" placeholder="请输入关联id"/>
</el-form-item>
<el-form-item label="上下架数量" prop="num">
<el-input v-model="form.num" placeholder="请输入上下架数量"/>
</el-form-item>
<el-form-item label="上架方式id" prop="updownTypeId">
<el-input v-model="form.updownTypeId" placeholder="请输入上架方式id"/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注"/>
</el-form-item>
<el-form-item label="商场id" prop="marketId">
<el-input v-model="form.marketId" placeholder="请输入商场id"/>
</el-form-item>
<el-form-item label="商场名称" prop="marketName">
<el-input v-model="form.marketName" placeholder="请输入商场名称"/>
</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>
<edittablehead
@setcolum="setnewcolum"
@closce="showdrawer"
:drawerShow="drawerShow"
:columnList="columnList"
></edittablehead>
</template>
<script>
import { getList, getDetail, add, update, remove } from "@/api/warehouse/warehouseUpdownGoodsLog";
import { getDetail, getpage, update, remove } from "@/api/warehouse/warehouseUpdownGoodsLog";
import option from "@/option/warehouse/warehouseUpdownGoodsLog";
import { mapGetters } from "vuex";
export default {
data () {
return {
columnList: [
// {
// prop: '',
// label: '',
// type: 0,
// values: '',
// width: 55,
// checkarr: [],
// fixed: true,
// },
{
prop: 'warehouseName',
label: '仓库名称',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: true,
sortable: false,
head: false,
},
{
prop: 'orderCode',
label: '订单自编码',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'orderPackageCode',
label: '包件编码',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'orderPackageCode',
label: '物料编号',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'orderPackageCode',
label: '物料名称',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'bindingType',
label: '上架类型;1=上架,2=下架',
type: 3,
values: '',
width: '230',
checkarr: [
{label:'上架',value:1},
{label:'下架',value:2}
],
fixed: false,
sortable: true,
},
{
prop: 'areaTitle',
label: '货区',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: false,
},
{
prop: 'shelfTitle',
label: '货架',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: false,
},
{
prop: 'allocationTitle',
label: '货位',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: false,
},
{
prop: 'createUserName',
label: '操作员',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: false,
},
{
prop: 'palletCode',
label: '托盘码',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
},
{
prop: 'createTime',
label: '创建时间',
type: 2,
values: '',
width: '180',
checkarr: [],
fixed: false,
sortable: true,
},
// {
// prop: '',
// label: '',
// type: 6,
// values: '',
// width: '230',
// checkarr: [],
// fixed: 'right',
// hide: true,
// },
// ...
],
height: 0,
//
title: '',
@ -177,6 +233,81 @@ export default {
mounted () {
this.init();
this.onLoad(this.page);
/**
* 初始化获取本地缓存的编辑隐藏的列表
* 固定搭配不能更改
*/
// let checkList=[]
// this.columnList.map(item => {
// item.head = false;
// });
let checkListnewarr = this.$functions.getStorage(window.location.pathname + 'checkList');
let flexListnewarr = this.$functions.getStorage(window.location.pathname + 'flexList');
let sortlistnewarr = this.$functions.getStorage(window.location.pathname + 'sortlist');
if (checkListnewarr) {
this.columnList.map(item => {
item.head = false;
});
checkListnewarr.map(ite => {
this.columnList.map(item => {
if (ite == item.label) {
item.head = true;
}
});
});
} else {
let arr = [];
this.columnList.map(item => {
if (item.head) {
arr.push(item.label);
}
});
this.$functions.setStorage(window.location.pathname + 'checkList', arr);
}
if (flexListnewarr) {
this.columnList.map(item => {
item.fixed = false;
});
flexListnewarr.map(ite => {
this.columnList.map(item => {
if (ite == item.label) {
if (item.type == 6) {
item.fixed = 'right';
} else {
item.fixed = true;
}
}
});
});
} else {
let arr = [];
this.columnList.map(item => {
if (item.fixed) {
arr.push(item.label);
}
});
this.$functions.setStorage(window.location.pathname + 'flexList', arr);
}
if (sortlistnewarr) {
this.columnList.map(item => {
item.sortable = false;
});
sortlistnewarr.map(ite => {
this.columnList.map(item => {
if (ite == item.label) {
item.sortable = true;
}
});
});
} else {
let arr = [];
this.columnList.map(item => {
if (item.sortable) {
arr.push(item.label);
}
});
this.$functions.setStorage(window.location.pathname + 'sortlist', arr);
}
},
computed: {
...mapGetters(["permission"]),
@ -189,6 +320,51 @@ export default {
}
},
methods: {
showdrawer(value) {
this.drawerShow = value;
},
/**
* 弹窗的勾选回调用于更改头部数组
* 固定搭配只需要更换 columnList
*/
setnewcolum(newarr, headarr, type) {
// console.log(newarr,'+++++++++++')
if (type == 1) {
this.columnList = newarr;
this.$functions.setStorage(window.location.pathname + 'checkList', headarr);
} else if (type == 2) {
this.columnList = newarr;
this.$functions.setStorage(window.location.pathname + 'flexList', headarr);
} else if (type == 3) {
this.columnList = newarr;
this.$functions.setStorage(window.location.pathname + 'sortlist', headarr);
}
},
selectionsc(value) {
console.log('11111', value);
},
delectsolt(scope) {
const { row } = scope;
console.log('2222222', row);
},
editsolt(scope) {
const { row } = scope;
console.log('33333', row);
},
btnsc(index, row) {
console.log('4444444', index, row);
},
selectsc(index, row) {
console.log(index, row);
},
timesc(index, row) {
console.log(index, row);
},
inputsc(index, row) {
console.log(index, row);
},
init () {
this.height = this.setPx(document.body.clientHeight - 340);
},
@ -293,7 +469,7 @@ export default {
},
selectionClear () {
this.selectionList = [];
this.$refs.table.clearSelection();
// this.$refs.table.clearSelection();
},
currentChange (currentPage) {
this.page.currentPage = currentPage;
@ -305,7 +481,7 @@ export default {
},
onLoad (page, params = {}) {
this.loading = true;
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
getpage(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;

1
vite.config.js

@ -13,6 +13,7 @@ export default ({ mode, command }) => {
proxy: {
'/api': {
target: 'http://192.168.10.126:8889',
// target: 'http://192.168.10.75:8777',
//target: 'http://test3.javablade.com',
changeOrigin: true,
rewrite: path => path.replace(/^\/api/, ''),

Loading…
Cancel
Save