Browse Source

Merge branch 'pre-production'

fix_bug_pro20231227
pref_mail@163.com 1 year ago
parent
commit
a49d6eeb4a
  1. 55
      src/views/basicdata/team/basicdataTeamGroup.vue
  2. 192
      src/views/basicdata/warehouse/goodsArea/basicdataGoodsArea.vue
  3. 267
      src/views/basicdata/warehouse/goodsShelf/basicdataGoodsShelfView.vue

55
src/views/basicdata/team/basicdataTeamGroup.vue

@ -149,7 +149,11 @@
<!-- 表单按钮 -->
<template #footer>
<span v-if="!view" class="dialog-footer">
<el-button type="primary" icon="el-icon-circle-check" @click="handleSubmit('form')"
<el-button
type="primary"
icon="el-icon-circle-check"
:loading="buttonLoadingList.handleSubmitBtn"
@click="handleSubmit('form')"
> </el-button
>
<el-button icon="el-icon-circle-close" @click="box = false"> </el-button>
@ -274,6 +278,7 @@ export default {
department: [{ required: true, message: '请选择班组', trigger: 'change' }],
belongTo: [{ required: true, message: '请选择仓库', trigger: 'change' }],
},
buttonLoadingList: { handleSubmitBtn: false },
};
},
mounted() {
@ -385,27 +390,33 @@ export default {
handleSubmit(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
if (!this.form.id) {
this.form.groupType = this.form.groupTypes.join(',');
this.buttonLoadingList.handleSubmitBtn = true;
try {
if (!this.form.id) {
this.form.groupType = this.form.groupTypes.join(',');
add(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
add(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
});
} else {
this.form.groupType = this.form.groupTypes.join(',');
update(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
} else {
this.form.groupType = this.form.groupTypes.join(',');
update(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
});
}
} finally {
console.log('finally');
this.buttonLoadingList.handleSubmitBtn = false;
}
} else {
console.log('error submit!!');
@ -423,9 +434,9 @@ export default {
async getWarehouseList() {
// let userDept = await getListUser();
var value = localStorage.getItem('TWMS-userInfo');
let s= JSON.parse(value)
// s.user_id
console.log(s,'=========================================='); // : value
let s = JSON.parse(value);
// s.user_id
console.log(s, '=========================================='); // : value
// console.log('<><><>', userDept.data.data);
let sole = await getUserDetail(s.content.user_id);
console.log(',....t=用户信息s', sole);

192
src/views/basicdata/warehouse/goodsArea/basicdataGoodsArea.vue

@ -3,52 +3,52 @@
<div class="avue-crud">
<el-row v-if="!search">
<!-- 查询模块 -->
<el-form :inline="true" :model="query" style='width:100%'>
<el-form :inline="true" :model="query" style="width: 100%">
<!-- 查询按钮 -->
<el-form-item class='fr-fo'>
<el-col class='el-sl'>
<el-form-item class="fr-fo">
<el-col class="el-sl">
<div>
<el-form-item label="启用状态:" prop="areaStatus">
<!-- <el-input v-model="form.areaStatus" placeholder="请输入货区状态;1-启用,2-禁用"/>-->
<el-select
v-model="query.enableStatus"
clearable
placeholder="请选择启用状态"
style="width: 88%"
>
<el-option
v-for="item in enableStatus"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey"
<el-form-item label="启用状态:" prop="areaStatus">
<!-- <el-input v-model="form.areaStatus" placeholder="请输入货区状态;1-启用,2-禁用"/>-->
<el-select
v-model="query.enableStatus"
clearable
placeholder="请选择启用状态"
style="width: 88%"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="货区类型:" prop="areaStatus">
<el-select
v-model="query.areaType"
clearable
placeholder="请选择货区类型"
style="width: 88%"
>
<el-option
v-for="item in areaTypeData"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey"
<el-option
v-for="item in enableStatus"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="货区类型:" prop="areaStatus">
<el-select
v-model="query.areaType"
clearable
placeholder="请选择货区类型"
style="width: 88%"
>
</el-option>
</el-select>
</el-form-item>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="searchChange"
> </el-button
>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</div>
<el-option
v-for="item in areaTypeData"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey"
>
</el-option>
</el-select>
</el-form-item>
</div>
<div>
<el-button type="primary" icon="el-icon-search" @click="searchChange"
> </el-button
>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</div>
</el-col>
</el-form-item>
</el-form>
@ -61,7 +61,12 @@
<el-button type="danger" icon="el-icon-delete" @click="handleDelete" plain
> </el-button
>
<el-button type="danger" icon="el-icon-download" @click="handleExport" plain
<el-button
type="danger"
icon="el-icon-download"
:loading="buttonLoadingList.handleExportBtn"
@click="handleExport"
plain
> </el-button
>
<el-button type="danger" icon="el-icon-upload" plain @click="handleImport"
@ -229,7 +234,11 @@
<!-- 表单按钮 -->
<template #footer>
<span v-if="!view" class="dialog-footer">
<el-button type="primary" icon="el-icon-circle-check" @click="handleSubmit"
<el-button
type="primary"
icon="el-icon-circle-check"
:loading="buttonLoadingList.handleSubmitBtn"
@click="handleSubmit"
> </el-button
>
<el-button icon="el-icon-circle-close" @click="handleClose"> </el-button>
@ -470,6 +479,7 @@ export default {
areaType: [{ required: true, message: '请选择货区类型!', trigger: 'change' }],
},
aaa: false,
buttonLoadingList: { handleSubmitBtn: false, handleExportBtn: false },
};
},
created() {
@ -571,52 +581,62 @@ export default {
});
},
handleExport(row) {
let downloadUrl = `/api/logpm-basicdata/goodsArea/export-warehouseGoodsArea?${
this.website.tokenHeader
}=${getToken()}`;
const {} = this.query;
let values = null;
if (!!row) {
values = { ids: this.ids };
} else {
values = { id: row.id };
}
this.$confirm('是否导出数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
NProgress.start();
exportBlob(downloadUrl, values).then(res => {
console.log('导出>>>>>>>>>>{}', res);
downloadXls(res.data, `货区信息` + `${dateNow()}.xlsx`);
NProgress.done();
try {
this.buttonLoadingList.handleExportBtn = true;
let downloadUrl = `/api/logpm-basicdata/goodsArea/export-warehouseGoodsArea?${
this.website.tokenHeader
}=${getToken()}`;
const {} = this.query;
let values = null;
if (!!row) {
values = { ids: this.ids };
} else {
values = { id: row.id };
}
this.$confirm('是否导出数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
NProgress.start();
exportBlob(downloadUrl, values).then(res => {
console.log('导出>>>>>>>>>>{}', res);
downloadXls(res.data, `货区信息` + `${dateNow()}.xlsx`);
NProgress.done();
});
});
});
} finally {
this.buttonLoadingList.handleExportBtn = false;
}
},
handleSubmit() {
//
this.$refs.form.validate(valid => {
if (valid) {
if (!this.form.id) {
add(this.form).then(() => {
this.box = false;
this.isShow = false;
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
this.buttonLoadingList.handleSubmitBtn = true;
try {
if (!this.form.id) {
add(this.form).then(() => {
this.box = false;
this.isShow = 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: '操作成功!',
} else {
update(this.form).then(() => {
this.box = false;
this.onLoad(this.page);
this.$message({
type: 'success',
message: '操作成功!',
});
});
});
}
} finally {
this.buttonLoadingList.handleSubmitBtn = false;
}
} else {
console.log('error submit!!');
@ -853,12 +873,12 @@ export default {
};
</script>
<style scoped lang='scss'>
.fr-fo{
width:100%;
<style scoped lang="scss">
.fr-fo {
width: 100%;
}
.el-sl{
display:flex;
.el-sl {
display: flex;
justify-content: space-between;
}
</style>

267
src/views/basicdata/warehouse/goodsShelf/basicdataGoodsShelfView.vue

@ -248,45 +248,100 @@
:value="index"
/>
</el-select> -->
<div class="inptx">
<div class="asbor">
{{
isshowupt == 1
? '服务号'
: isshowupt == 2
? '订单号'
: isshowupt == 3
? '包件'
: isshowupt == 4
? '托盘'
: isshowupt == 5
? '库存品'
: isshowupt == 6
? '零担订单号'
: ''
}}
</div>
<el-input
style="flex: 1"
v-model="inputtxts"
:placeholder="
'请输入' +
(isshowupt == 1
? '服务号'
: isshowupt == 2
? '订单号'
: isshowupt == 3
? '包件'
: isshowupt == 4
? '托盘'
: isshowupt == 5
? '库存品'
: isshowupt == 6
? '零担订单号'
: '')
"
/>
</div>
<div class="inptx">
<div class="asbor">
{{
isshowupt == 1
? '服务号'
: isshowupt == 2
? '订单号'
: isshowupt == 3
? '包件'
: isshowupt == 4
? '托盘'
: isshowupt == 5
? '客户名称'
: isshowupt == 6
? '零担订单号'
: ''
}}
</div>
<el-input
style="flex: 1"
v-model="inputtxts"
:placeholder="
'请输入' +
(isshowupt == 1
? '服务号'
: isshowupt == 2
? '订单号'
: isshowupt == 3
? '包件'
: isshowupt == 4
? '托盘'
: isshowupt == 5
? '客户名称'
: isshowupt == 6
? '零担订单号'
: '')
"
/>
</div>
<!-- 当isshowupt等于5时显示额外的5搜索框 -->
<div class="asbor">
{{
isshowupt == 5? '订单自编码:': ''
}}
</div>
<el-input
v-if="isshowupt === 5"
style="flex: 1; margin-right: 20px;"
v-model="Orderselfnumber"
:placeholder="'请输入订单自编码'"
clearable
></el-input>
<div class="asbor">
{{
isshowupt == 5? '入库批次号:': ''
}}
</div>
<el-input
v-if="isshowupt === 5"
style="flex: 1; margin-right: 20px;"
v-model="Receiptbatchnumber"
:placeholder="'请输入入库批次号'"
clearable
></el-input>
<div class="asbor">
{{
isshowupt == 5? '物料编码:': ''
}}
</div>
<el-input
v-if="isshowupt === 5"
style="flex: 1; margin-right: 20px;"
v-model="materialcode"
:placeholder="'请输入物料编码'"
clearable
></el-input>
<div class="asbor">
{{
isshowupt == 5? '入库时间:': ''
}}
</div>
<el-date-picker
v-if="isshowupt === 5"
v-model="Warehousingtime"
type="datetime"
placeholder="请输入入库时间"
format="YYYY/MM/DD HH:mm:ss"
value-format="YYYY-MM-DD h:m:s"
size="default"
/>
</div>
<div>
<el-button type="primary" @click="searchbuts">搜索</el-button>
@ -410,37 +465,39 @@
"
/>
</div>
<div class="inptx" v-if="isshowdow == 1">
<div>
{{
isshowdow == 1
? '订单自编号'
: isshowdow == 2
? '零担'
: isshowdow == 3
? '物料名称'
: isshowdow == 4
? '托盘'
: ''
}}
</div>
<el-input
style="flex: 1"
v-model="inputtxts1"
:placeholder="
'请输入' +
(isshowdow == 1
? '订单自编号'
: isshowdow == 2
? '零担'
: isshowdow == 3
? '物料名称'
: isshowdow == 4
? '托盘'
: '')
"
/>
</div>
<div class="inptx" v-if="isshowdow == 1">
<div v-if="isshowdow !== 5">
{{
isshowdow == 1
? '订单自编号'
: isshowdow == 2
? '零担'
: isshowdow == 3
? '物料名称'
: isshowdow == 4
? '托盘'
: ''
}}
</div>
<el-input
style="flex: 1"
v-model="inputtxts1"
:placeholder="
'请输入' +
(isshowdow == 1
? '订单自编号'
: isshowdow == 2
? '零担'
: isshowdow == 3
? '物料名称'
: isshowdow == 4
? '托盘'
: '')
"
/>
<!-- 在isshowdow为5时循环生成多个搜索框 -->
</div>
</div>
<div>
<el-button type="primary" @click="searchbutdown">搜索</el-button>
@ -509,13 +566,18 @@ import {
Alloclocationsnub,
disable,
} from '@/api/basicdata/basicdataGoodsShelfView';
import { reactive, toRefs, onMounted, getCurrentInstance } from 'vue';
import { reactive, ref,toRefs, onMounted, getCurrentInstance } from 'vue';
import { getToken } from '@/utils/auth';
import NProgress from 'nprogress';
import { exportBlob } from '@/api/common';
import { downloadXls } from '@/utils/util';
import { dateNow } from '@/utils/date';
const { proxy } = getCurrentInstance();
const CustomerName=ref(null);//
const Orderselfnumber=ref(null);//
const Receiptbatchnumber=ref(null);//
const materialcode=ref(null);//
const Warehousingtime=ref(null);//
let loadtc = ref(false);
const eldc = ref(false); //
let details = reactive({
@ -556,6 +618,7 @@ let details = reactive({
],
countnumber: {},
inputtxts: '',
checkselectchangearr: [],
isshowdow: false,
inputtxts1: '',
@ -695,10 +758,15 @@ async function searchbuts() {
break;
case 5:
//
url = 'Inventory';
data = {
// warehouseId: details.arrlist[details.checkindex]?.id || '',
orderCode: details.inputtxts,
marketName: details.inputtxts,//
orderCode:Orderselfnumber.value,//
incomingBatch:Receiptbatchnumber.value,//
cargoNumber:materialcode.value,//
warehousingTime:Warehousingtime.value,//
// serviceNumber: details.inputtxts,
current: details.currentPage,
size: details.pageSize,
@ -1222,6 +1290,61 @@ const showupt = value => {
sortable: true,
head: false,
},
{
prop: 'marketName',
label: '客户名称',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'orderCode',
label: '订单自编码',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'incomingBatch',
label: '入库批次号',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'cargoNumber',
label: '物料编码',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'warehousingTime',
label: '入库时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'materialCode',
label: '物料编号',

Loading…
Cancel
Save