From 6d71d664b8330452f0795d408e8c9de67b42ab08 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期二, 08 七月 2025 21:11:05 +0800
Subject: [PATCH] DNC文件导入
---
src/views/flowmgr/backImport.vue | 119 +++++++++++++++++----------------------
src/api/flowmgr/backImport.js | 18 ++++++
2 files changed, 70 insertions(+), 67 deletions(-)
diff --git a/src/api/flowmgr/backImport.js b/src/api/flowmgr/backImport.js
new file mode 100644
index 0000000..a5df521
--- /dev/null
+++ b/src/api/flowmgr/backImport.js
@@ -0,0 +1,18 @@
+/*
+ * @Date: 2025-06-12 22:38:05
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2025-07-08 21:08:24
+ * @FilePath: /mdmweb/src/api/flowmgr/backImport.js
+ */
+import request from '@/axios';
+export const getList = (current, size, params) => {
+ return request({
+ url: '',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size,
+ },
+ })
+};
\ No newline at end of file
diff --git a/src/views/flowmgr/backImport.vue b/src/views/flowmgr/backImport.vue
index 765128e..c589b99 100644
--- a/src/views/flowmgr/backImport.vue
+++ b/src/views/flowmgr/backImport.vue
@@ -6,40 +6,37 @@
:table-loading="loading"
:data="data"
ref="crud"
- v-model:search="search"
- v-model:page="mypage"
- @search-change="searchChange"
- @search-reset="searchReset"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
@selection-change="selectionChange"
>
<template #menu-left>
<div style="display: flex;">
- <el-upload action="/blade-mdm/program/dncsendback/upload">
- <el-button type="primary" size="default" icon="el-icon-circle-plus">瀵煎叆</el-button>
- </el-upload>
+ <el-button type="primary" size="default" icon="el-icon-circle-plus" @click="importData">瀵煎叆</el-button>
<el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleWarehouse" style="margin-left: 12px;">鍏ュ簱</el-button>
</div>
</template>
</avue-crud>
+ <el-dialog title="DNC鏂囦欢瀵煎叆" append-to-body v-model="excelBox" width="555px">
+ <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
+ <!-- <template #excelTemplate>
+ <el-button type="primary" @click="handleTemplate">
+ 鐐瑰嚮涓嬭浇<i class="el-icon-download el-icon--right"></i>
+ </el-button>
+ </template> -->
+ </avue-form>
+ </el-dialog>
</basic-container>
</template>
<script>
+import {
+ getList,
+} from '@/api/system/user';
export default {
data() {
return {
selection: [],
- search: {},
- loading: true,
- mypage: {
- size: 10,
- current: 1,
- total: 0,
- },
+ excelBox: false,
+ loading: false,
option: {
addBtn: false,
editBtn: false,
@@ -50,13 +47,12 @@
menu: false,
selection: true,
column: [
- {
- label: '鏂囦欢璺緞',
- type: 'input',
- prop: 'keyword',
- search: true,
- hide: true
- },
+ // {
+ // label: '鏂囦欢璺緞',
+ // type: 'input',
+ // prop: 'keyword',
+ // hide: true
+ // },
{
label: '浠诲姟缂栧彿',
prop: 'programNo'
@@ -96,11 +92,41 @@
],
},
data: [],
+ excelForm: {},
+ excelOption: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: '鏂囦欢瀵煎叆',
+ prop: 'excelFile',
+ type: 'upload',
+ drag: true,
+ loadText: 'DNC鏂囦欢瀵煎叆锛岃绋嶇瓑',
+ span: 24,
+ propsHttp: {
+ res: 'data',
+ },
+ tip: '',
+ action: '/blade-mdm/program/dncsendback/upload',
+ },
+ ],
+ },
};
},
methods: {
selectionChange(selection) {
this.selection = selection;
+ },
+ importData () {
+ this.excelBox = true;
+ },
+ uploadAfter(res, done, loading, column) {
+ window.console.log(column);
+ this.excelBox = false;
+ console.log('data', res);
+ this.data = res || []
+ done();
},
handleWarehouse(row,index) {
if(this.selection.length == 0) {
@@ -116,7 +142,7 @@
}
axios({
url: '/blade-mdm/program/dncsendback/accept',
- method: 'get',
+ method: 'post',
params: obj,
}).then(
res => {
@@ -126,47 +152,6 @@
);
}
},
- searchReset() {
- //this.onLoad(this.mypage);
- },
- searchChange(params, done) {
- this.mypage.current = 1;
- this.onLoad();
- done();
- },
- currentChange(current) {
- this.mypage.current = current;
- },
- sizeChange(size) {
- this.mypage.size = size;
- },
- refreshChange() {
-
- },
- onLoad() {
- this.loading = true;
- var obj = {
- keyword: this.search.keyword,
- machineSpec: "",
- current: this.mypage.current,
- size: this.mypage.size,
- }
- axios({
- url: '/blade-mdm/program/dncsendback/page',
- method: 'get',
- params: obj,
- }).then(
- res => {
- const data = res.data.data;
- this.mypage.total = data.total;
- this.data = data.records;
- this.loading = false;
- },
- error => {
-
- }
- );
- }
},
};
</script>
--
Gitblit v1.9.3