Merge remote-tracking branch 'origin/master'

master
mengjiao 7 months ago
commit cdbf2eeaff

@ -52,6 +52,16 @@
v-hasPermi="['mes:mesBox:remove']">删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
v-hasPermi="['mes:mesBox:import']"
>导入</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['mes:mesBox:export']">导出
@ -62,15 +72,18 @@
<el-table v-loading="loading" :data="mesBoxList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="箱体主键" align="center" prop="boxId" />
<!-- <el-table-column label="箱体主键" align="center" prop="boxId" />-->
<el-table-column label="箱体名称" align="center" prop="boxName" />
<el-table-column label="箱体类型" align="center" prop="boxType" >
<template slot-scope="scope">
<router-link :to="'/mes/box-detail/index/' + scope.row.boxId" class="link-type">
<span>{{ scope.row.boxType }}</span>
</router-link>
</template>
</el-table-column>
<el-table-column label="箱体类型" align="center" prop="boxType" />
<el-table-column label="长mm" align="center" prop="length" />
<el-table-column label="宽mm" align="center" prop="width" />
<el-table-column label="高mm" align="center" prop="height" />
<!-- <template slot-scope="scope">-->
<!-- <router-link :to="'/mes/box-detail/index/' + scope.row.boxId" class="link-type">-->
<!-- <span>{{ scope.row.boxType }}</span>-->
<!-- </router-link>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="状态" align="center" prop="status" >
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
@ -98,9 +111,18 @@
<el-form-item label="箱体名称" prop="boxName">
<el-input v-model="form.boxName" placeholder="请输入箱体名称" />
</el-form-item>
<el-form-item label="字典类型" prop="boxType">
<el-form-item label="箱体类型" prop="boxType">
<el-input v-model="form.boxType" placeholder="请输入字典类型" />
</el-form-item>
<el-form-item label="长mm" prop="length">
<el-input type="number" v-model="form.length" placeholder="请输入长" />
</el-form-item>
<el-form-item label="宽mm" prop="width">
<el-input type="number" v-model="form.width" placeholder="请输入宽" />
</el-form-item>
<el-form-item label="高mm" prop="height">
<el-input type="number" v-model="form.height" placeholder="请输入高" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
@ -119,10 +141,40 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body v-loading="upload.loading">
<el-upload
ref="upload"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip">
<div class="el-upload__tip" slot="tip">
<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的箱型信息
</div>
<span>仅允许导入xlsxlsx格式文件</span>
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate"></el-link>
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm"> </el-button>
<el-button @click="upload.open = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
import {
listMesBox,
getMesBox,
@ -154,6 +206,22 @@ export default {
//
open: false,
//
//
upload: {
loading: false,
//
open: false,
//
title: "",
//
isUploading: false,
//
updateSupport: 0,
//
headers: {poolName: localStorage.getItem("USER_POOL_NAME_CURRENT"), Authorization: "Bearer " + getToken()},
//
url: process.env.VUE_APP_BASE_API + "/mes/mesBox/importData"
},
queryParams: {
pageNum: 1,
pageSize: 10,
@ -279,6 +347,38 @@ export default {
...this.queryParams
}, `箱体类型导出_${new Date().getTime()}.xlsx`)
},
/** 导入按钮操作 */
handleImport() {
this.upload.title = "导入";
this.upload.open = true;
},
/** 下载模板操作 */
importTemplate() {
this.download('mes/mesBox/importTemplate', {}, `箱型导入模板_${new Date().getTime()}.xlsx`)
},
//
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
//
handleFileSuccess(response, file, fileList) {
console.log(2)
this.upload.loading=false;
this.upload.open = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", {dangerouslyUseHTMLString: true});
this.getList();
},
//
submitFileForm() {
console.log(3)
this.upload.loading=true;
this.$refs.upload.submit();
},
}
}
</script>

@ -430,20 +430,35 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="箱型" prop="mtart">
<el-select
v-model="form.boxType"
placeholder="请选择箱型"
style="width: 320px"
@change="handleBoxTypeChange"
>
<el-option
v-for="box in boxTypes"
:key="box.boxType"
:label="box.boxType"
:value="box.boxType"
></el-option>
</el-select>
</el-form-item>
<el-row>
<el-col :span="8">
<el-form-item label="长" prop="length" label-width="50px">
<el-input type="number" v-model="form.length" placeholder="请输入长" />
<el-input type="number" v-model="form.length" placeholder="请输入长" :readonly="true" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宽" prop="width" label-width="50px">
<el-input type="number" v-model="form.width" placeholder="请输入宽" />
<el-input type="number" v-model="form.width" placeholder="请输入宽" :readonly="true" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="高" prop="height" label-width="50px">
<el-input type="number" v-model="form.height" placeholder="请输入高" />
<el-input type="number" v-model="form.height" placeholder="请输入高" :readonly="true" />
</el-form-item>
</el-col>
</el-row>
@ -667,6 +682,9 @@ import {
updateProductAttached,
addProductAttached,
} from "@/api/wms/product";
import {
listMesBox
} from "@/api/mes/mesBox"
import { syncProductSAP } from "@/api/technology/proroute";
export default {
@ -695,6 +713,7 @@ export default {
total: 0,
//
productList: [],
boxTypes: [], // boxType
//
title: "",
//
@ -870,6 +889,19 @@ export default {
this.reset();
this.open = true;
this.title = "添加产品信息";
// MesBox
listMesBox().then((response) => {
// boxType boxTypes
this.boxTypes = response.rows.map((item) => ({
boxType: item.boxType, // boxType
length:item.length,
width:item.width,
height:item.height,
}));
}).catch((error) => {
console.error("请求 MesBox 数据失败:", error); //
});
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -880,6 +912,19 @@ export default {
this.open = true;
this.title = "修改产品信息";
});
// MesBox
listMesBox().then((response) => {
// boxType boxTypes
this.boxTypes = response.rows.map((item) => ({
boxType: item.boxType, // boxType
length:item.length,
width:item.width,
height:item.height,
}));
}).catch((error) => {
console.error("请求 MesBox 数据失败:", error); //
});
},
//
@ -985,6 +1030,26 @@ export default {
const productCodes = this.productCodes;
return syncProductSAP(productCodes);
},
handleBoxTypeChange(selectedBoxType) {
console.log(selectedBoxType)
// boxType
const selectedBox = this.boxTypes.find(
(box) => box.boxType === selectedBoxType
);
console.log(selectedBox)
if (selectedBox) {
console.log("222")
this.form.length = selectedBox.length;
this.form.width = selectedBox.width;
this.form.height = selectedBox.height;
} else {
//
this.form.length = null;
this.form.width = null;
this.form.height = null;
}
},
},
};
</script>

Loading…
Cancel
Save