feat: 物料导入功能
This commit is contained in:
parent
03168c01d5
commit
962dae3fde
|
|
@ -135,6 +135,14 @@ export default {
|
||||||
data);
|
data);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
daoru: {
|
||||||
|
name: "导入",
|
||||||
|
req: async function(data){
|
||||||
|
return await http.post(
|
||||||
|
`${config.API_URL}/mtm/material/daoru/`,
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
// 测点集
|
// 测点集
|
||||||
mgroup: {
|
mgroup: {
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@
|
||||||
<el-header>
|
<el-header>
|
||||||
<div class="left-panel">
|
<div class="left-panel">
|
||||||
<el-button type="primary" icon="el-icon-plus" @click="add" v-auth="'material.create'">新增</el-button>
|
<el-button type="primary" icon="el-icon-plus" @click="add" v-auth="'material.create'">新增</el-button>
|
||||||
|
<scFileImport :templateUrl="materialTemplate" accept=".xlsx" :apiObj="$API.common.upload" @success="upSuccess">
|
||||||
|
</scFileImport>
|
||||||
</div>
|
</div>
|
||||||
</el-header>
|
</el-header>
|
||||||
<el-main class="nopadding">
|
<el-main class="nopadding">
|
||||||
|
|
@ -30,12 +32,13 @@
|
||||||
<span><el-tag>{{ typeOptions[scope.row.type] }}</el-tag>
|
<span><el-tag>{{ typeOptions[scope.row.type] }}</el-tag>
|
||||||
<el-tag type="warning" v-if="scope.row.is_assemb" effect="plain">组</el-tag>
|
<el-tag type="warning" v-if="scope.row.is_assemb" effect="plain">组</el-tag>
|
||||||
<el-tag type="warning" v-if="scope.row.process_name" effect="plain">{{ scope.row.process_name
|
<el-tag type="warning" v-if="scope.row.process_name" effect="plain">{{ scope.row.process_name
|
||||||
}}</el-tag>
|
}}</el-tag>
|
||||||
<el-tag type="warning" v-if="scope.row.is_hidden" effect="plain">隐</el-tag></span>
|
<el-tag type="warning" v-if="scope.row.is_hidden" effect="plain">隐</el-tag></span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column label="关联物料" prop="brothers">
|
<el-table-column label="关联物料" prop="brothers">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-icon v-if="scope.row.brothers.length > 0" color="green">
|
<el-icon v-if="scope.row.brothers.length > 0" color="green">
|
||||||
<CircleCheckFilled />
|
<CircleCheckFilled />
|
||||||
|
|
@ -49,6 +52,7 @@
|
||||||
<el-table-column label="安全库存" prop="count_safe" width="80">
|
<el-table-column label="安全库存" prop="count_safe" width="80">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="center" width="140">
|
<el-table-column label="操作" fixed="right" align="center" width="140">
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link type="primary" @click="table_edit(scope.row)" v-auth="'material.update'">
|
<el-button link type="primary" @click="table_edit(scope.row)" v-auth="'material.update'">
|
||||||
编辑
|
编辑
|
||||||
|
|
@ -70,15 +74,23 @@
|
||||||
<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSaveSuccess"
|
<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSaveSuccess"
|
||||||
@closed="dialog.save = false"></save-dialog>
|
@closed="dialog.save = false"></save-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import saveDialog from "./materials_form.vue";
|
import saveDialog from "./materials_form.vue";
|
||||||
|
import scFileImport from '@/components/scFileImport'
|
||||||
|
import scFileExport from '@/components/scFileExport'
|
||||||
|
import { ElLoading } from 'element-plus'
|
||||||
export default {
|
export default {
|
||||||
name: "rparty",
|
name: "rparty",
|
||||||
components: {
|
components: {
|
||||||
saveDialog,
|
saveDialog,
|
||||||
|
scFileImport,
|
||||||
|
scFileExport,
|
||||||
|
ElLoading
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
materialTemplate: '/media/template/material.xlsx',
|
||||||
dialog: {
|
dialog: {
|
||||||
save: false,
|
save: false,
|
||||||
},
|
},
|
||||||
|
|
@ -181,6 +193,17 @@ export default {
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.query = {};
|
this.query = {};
|
||||||
},
|
},
|
||||||
|
upSuccess(res, close) {
|
||||||
|
close();
|
||||||
|
const loading = ElLoading.service({ fullscreen: true, text: "解析中...请稍等" });
|
||||||
|
this.$API.mtm.material.daoru.req({ path: res.path }).then(res => {
|
||||||
|
loading.close();
|
||||||
|
this.$message.success("导入成功");
|
||||||
|
this.$refs.table.queryData(this.query)
|
||||||
|
}).catch(err => {
|
||||||
|
loading.close();
|
||||||
|
})
|
||||||
|
},
|
||||||
hiddenChange(val) {
|
hiddenChange(val) {
|
||||||
if (val) {
|
if (val) {
|
||||||
this.query.is_hidden = ''
|
this.query.is_hidden = ''
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue