From 9bbef384d825044ec6160b980ed1dc6ebfba515f Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期一, 18 八月 2025 18:50:32 +0800
Subject: [PATCH] update
---
src/views/flowmgr/backImport.vue | 208 +++---------------
src/api/flowmgr/backImport.js | 6
src/views/flowmgr/backImport1.vue | 182 ++++++++++++++++
src/views/flowmgr/backImport2.vue | 217 +++++++++++++++++++
4 files changed, 436 insertions(+), 177 deletions(-)
diff --git a/src/api/flowmgr/backImport.js b/src/api/flowmgr/backImport.js
index a5df521..9af9502 100644
--- a/src/api/flowmgr/backImport.js
+++ b/src/api/flowmgr/backImport.js
@@ -1,13 +1,13 @@
/*
* @Date: 2025-06-12 22:38:05
* @LastEditors: gaoshp
- * @LastEditTime: 2025-07-08 21:08:24
+ * @LastEditTime: 2025-08-17 19:29:16
* @FilePath: /mdmweb/src/api/flowmgr/backImport.js
*/
import request from '@/axios';
export const getList = (current, size, params) => {
return request({
- url: '',
+ url: '/blade-mdm/program/dncsendback/dnc-back-page',
method: 'get',
params: {
...params,
@@ -15,4 +15,4 @@
size,
},
})
-};
\ No newline at end of file
+};
diff --git a/src/views/flowmgr/backImport.vue b/src/views/flowmgr/backImport.vue
index ee5585b..1e986fd 100644
--- a/src/views/flowmgr/backImport.vue
+++ b/src/views/flowmgr/backImport.vue
@@ -1,182 +1,42 @@
+<!--
+ * @Date: 2025-08-10 14:14:58
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2025-08-18 18:47:02
+ * @FilePath: /mdmweb/src/views/flowmgr/backImport.vue
+-->
<template>
- <basic-container>
- <avue-crud :addBtn="false" :option="option" :table-loading="loading" :data="data" ref="crud"
- @selection-change="selectionChange">
- <template #menu-left>
- <div style="display: flex;">
- <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>
- <template #menu="scope">
- <el-button type="primary" text size="default" @click.stop="fileView(scope.row, scope.index)">鏌ョ湅鏂囦欢</el-button>
- </template>
- </avue-crud>
- <el-dialog title="宸ユ帶缃戞枃浠跺鍏�" append-to-body v-model="excelBox" width="555px">
- <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter" :upload-error="uploadError">
- <!-- <template #excelTemplate>
- <el-button type="primary" @click="handleTemplate">
- 鐐瑰嚮涓嬭浇<i class="el-icon-download el-icon--right"></i>
- </el-button>
- </template> -->
- </avue-form>
- </el-dialog>
- <el-dialog title="鏂囦欢鍚嶇О" append-to-body v-model="fileViewModel">
- <el-table :data="tableData" border @row-click="showContent" max-height="200" highlight-current-row>
- <el-table-column type="index" label="#" width="40" align="center"/>
- <el-table-column prop="name" label="绋嬪簭鍚嶇О"></el-table-column>
- </el-table>
- <h4>绋嬪簭鍐呭</h4>
- <div v-html="appContent" class="app-content"></div>
- </el-dialog>
- </basic-container>
+ <basic-container>
+ <el-tabs
+ v-model="activeName"
+ type="card"
+ class="demo-tabs"
+ >
+ <el-tab-pane label="瀵煎叆" name="todo">
+ <backImport1 v-if="activeName==='todo'"></backImport1>
+ </el-tab-pane>
+ <el-tab-pane label="鍥炰紶璁板綍" name="done">
+ <backImport2 v-if="activeName==='done'"> </backImport2>
+ </el-tab-pane>
+ </el-tabs>
+ </basic-container>
</template>
-
<script>
-import {
- getList,
-} from '@/api/system/user';
+import backImport1 from './backImport1.vue';
+import backImport2 from './backImport2.vue';
export default {
- data() {
- return {
- appContent: '',//绋嬪簭鍐呭
- tableData: [],
- fileViewModel: false,
- selection: [],
- excelBox: false,
- loading: false,
- option: {
- addBtn: false,
- editBtn: false,
- delBtn: false,
- labelWidth: 120,
- emptyBtn: false,
- searchSpan: 8,
- menu: true,
- selection: true,
- column: [
- {
- label: '绋嬪簭缂栧彿',
- prop: 'programNo'
- },
- {
- label: '绋嬪簭鍖呭悕',
- prop: 'programName',
- },
- {
- label: '鏂囦欢鍒拌揪鏃堕棿',
- prop: 'fileBackTime',
- },
- {
- label: '鏂囦欢鏁版嵁搴撶紪鍙�',
- prop: 'id',
- },
- ],
- },
- 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: {
- showContent(row, column, event) {
- console.log(row,111)
- axios({
- url: '/blade-mdm/program/dncsendback/back-file-content',
- method: 'get',
- params: {entryName: row.entryName}
- }).then(
- res => {
- console.log(res)
- if(res.data.code === 200) {
- this.appContent = res.data.data;
- } else {
- this.appContent = '绋嬪簭鍐呭鍔犺浇澶辫触'
- }
- });
+ components: {
+ backImport1,
+ backImport2
},
- fileView(row) {
- this.tableData = row.files;
- this.fileViewModel = true;
+ data() {
+ return {
+ activeName: 'todo',
+ };
},
- selectionChange(selection) {
- this.selection = selection;
+ methods: {
+ handleTabClick(tab, event) {
+ console.log(tab, event);
+ },
},
- importData() {
- this.excelBox = true;
- },
- uploadAfter(res, done, loading, column) {
- console.log(res, done, loading, column, 2233)
- this.excelBox = false;
- this.data = res || []
- done();
- },
- uploadError(error, column) {
-
- },
- handleWarehouse() {
- if (this.selection.length == 0) {
- return this.$message.error("璇烽�夋嫨鏁版嵁")
- }
- let selection = [];
- this.selection.forEach(item => {
- selection.push(item.id);
- })
- this.loading = true;
- var obj = {
- ids: selection.join(","),
- }
- axios({
- url: '/blade-mdm/program/dncsendback/accept',
- method: 'post',
- params: obj,
- }).then(
- res => {
- console.log(res);
- if (res.data.code === 200) {
- this.$message.success("鎿嶄綔鎴愬姛");
- this.loading = false;
- this.data = []
- } else {
- this.$message.error(res.data.msg || "鎿嶄綔澶辫触");
- this.loading = false;
- }
-
- }
- ).finally(() => {
- this.loading = false;
- });
- }
- },
-};
-</script>
-
-<style lang="scss">
-.app-content {
- background-color: #fffee1;
- padding: 10px 30px;
- min-height: 100px;
- overflow: auto;
- max-height: 400px;
- white-space: pre-wrap;
}
-</style>
\ No newline at end of file
+</script>
\ No newline at end of file
diff --git a/src/views/flowmgr/backImport1.vue b/src/views/flowmgr/backImport1.vue
new file mode 100644
index 0000000..2f2dd51
--- /dev/null
+++ b/src/views/flowmgr/backImport1.vue
@@ -0,0 +1,182 @@
+<template>
+ <basic-container>
+ <avue-crud :addBtn="false" :option="option" :table-loading="loading" :data="data" ref="crud"
+ @selection-change="selectionChange">
+ <template #menu-left>
+ <div style="display: flex;">
+ <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>
+ <template #menu="scope">
+ <el-button type="primary" text size="default" @click.stop="fileView(scope.row, scope.index)">鏌ョ湅鏂囦欢</el-button>
+ </template>
+ </avue-crud>
+ <el-dialog title="宸ユ帶缃戞枃浠跺鍏�" append-to-body v-model="excelBox" width="555px">
+ <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter" :upload-error="uploadError">
+ <!-- <template #excelTemplate>
+ <el-button type="primary" @click="handleTemplate">
+ 鐐瑰嚮涓嬭浇<i class="el-icon-download el-icon--right"></i>
+ </el-button>
+ </template> -->
+ </avue-form>
+ </el-dialog>
+ <el-dialog title="鏂囦欢鍚嶇О" append-to-body v-model="fileViewModel">
+ <el-table :data="tableData" border @row-click="showContent" max-height="200" highlight-current-row>
+ <el-table-column type="index" label="#" width="40" align="center"/>
+ <el-table-column prop="name" label="绋嬪簭鍚嶇О"></el-table-column>
+ </el-table>
+ <h4>绋嬪簭鍐呭</h4>
+ <div v-html="appContent" class="app-content"></div>
+ </el-dialog>
+ </basic-container>
+</template>
+
+<script>
+import {
+ getList,
+} from '@/api/system/user';
+export default {
+ data() {
+ return {
+ appContent: '',//绋嬪簭鍐呭
+ tableData: [],
+ fileViewModel: false,
+ selection: [],
+ excelBox: false,
+ loading: false,
+ option: {
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ labelWidth: 120,
+ emptyBtn: false,
+ searchSpan: 8,
+ menu: true,
+ selection: true,
+ column: [
+ {
+ label: '绋嬪簭缂栧彿',
+ prop: 'programNo'
+ },
+ {
+ label: '绋嬪簭鍚嶇О',
+ prop: 'programName',
+ },
+ {
+ label: '鏂囦欢鍒拌揪鏃堕棿',
+ prop: 'fileBackTime',
+ },
+ {
+ label: '鏂囦欢鏁版嵁搴撶紪鍙�',
+ prop: 'id',
+ },
+ ],
+ },
+ 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: {
+ showContent(row, column, event) {
+ console.log(row,111)
+ axios({
+ url: '/blade-mdm/program/dncsendback/back-file-content',
+ method: 'get',
+ params: {entryName: row.entryName}
+ }).then(
+ res => {
+ console.log(res)
+ if(res.data.code === 200) {
+ this.appContent = res.data.data;
+ } else {
+ this.appContent = '绋嬪簭鍐呭鍔犺浇澶辫触'
+ }
+ });
+ },
+ fileView(row) {
+ this.tableData = row.files;
+ this.fileViewModel = true;
+ },
+ selectionChange(selection) {
+ this.selection = selection;
+ },
+ importData() {
+ this.excelBox = true;
+ },
+ uploadAfter(res, done, loading, column) {
+ console.log(res, done, loading, column, 2233)
+ this.excelBox = false;
+ this.data = res || []
+ done();
+ },
+ uploadError(error, column) {
+
+ },
+ handleWarehouse() {
+ if (this.selection.length == 0) {
+ return this.$message.error("璇烽�夋嫨鏁版嵁")
+ }
+ let selection = [];
+ this.selection.forEach(item => {
+ selection.push(item.id);
+ })
+ this.loading = true;
+ var obj = {
+ ids: selection.join(","),
+ }
+ axios({
+ url: '/blade-mdm/program/dncsendback/accept',
+ method: 'post',
+ params: obj,
+ }).then(
+ res => {
+ console.log(res);
+ if (res.data.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.loading = false;
+ this.data = []
+ } else {
+ this.$message.error(res.data.msg || "鎿嶄綔澶辫触");
+ this.loading = false;
+ }
+
+ }
+ ).finally(() => {
+ this.loading = false;
+ });
+ }
+ },
+};
+</script>
+
+<style lang="scss">
+.app-content {
+ background-color: #fffee1;
+ padding: 10px 30px;
+ min-height: 100px;
+ overflow: auto;
+ max-height: 400px;
+ white-space: pre-wrap;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/flowmgr/backImport2.vue b/src/views/flowmgr/backImport2.vue
new file mode 100644
index 0000000..a5c91fc
--- /dev/null
+++ b/src/views/flowmgr/backImport2.vue
@@ -0,0 +1,217 @@
+<template>
+ <basic-container>
+ <avue-crud :addBtn="false" :option="option" :table-loading="loading" :data="data" ref="crud" @current-change="currentChange"
+ @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"
+ >
+ <template #menu-left>
+ <!-- <div style="display: flex;">
+ <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>
+ <template #menu="scope">
+ <!-- <el-button type="primary" text size="default" @click.stop="fileView(scope.row, scope.index)">鏌ョ湅鏂囦欢</el-button> -->
+ </template>
+ </avue-crud>
+ <el-dialog title="鏂囦欢鍚嶇О" append-to-body v-model="fileViewModel">
+ <el-table :data="tableData" border @row-click="showContent" max-height="200" highlight-current-row>
+ <el-table-column type="index" label="#" width="40" align="center"/>
+ <el-table-column prop="name" label="绋嬪簭鍚嶇О"></el-table-column>
+ </el-table>
+ <h4>绋嬪簭鍐呭</h4>
+ <div v-html="appContent" class="app-content"></div>
+ </el-dialog>
+ </basic-container>
+</template>
+
+<script>
+import {
+ getList,
+} from '@/api/flowmgr/backImport';
+export default {
+ data() {
+ return {
+ appContent: '',//绋嬪簭鍐呭
+ tableData: [],
+ fileViewModel: false,
+ selection: [],
+ excelBox: false,
+ loading: false,
+ option: {
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ labelWidth: 120,
+ emptyBtn: false,
+ searchSpan: 8,
+ menu: true,
+ // selection: true,
+ column: [
+ {
+ label: '绋嬪簭缂栧彿',
+ prop: 'code'
+ },
+ {
+ label: '鏈哄簥缂栧彿',
+ prop: 'machineCode',
+ },
+ {
+ label: '鏂囦欢鍚嶇О',
+ prop: 'name',
+ },
+ ],
+ },
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ form: {},
+ query: {},
+ 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: {
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ // this.onLoad();
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ /** * 椤甸潰鍔犺浇鏃惰幏鍙栨暟鎹�
+ */
+ onLoad(page, params = {}) {
+ console.log('onLoad', page, params);
+ const data = {
+ ...this.query,
+ createTimeBegin: params.createTimeBegin,
+ createTimeEnd: params.createTimeEnd,
+ keyword: params.keyword || '',
+ myProcessName: params.myProcessName || ''
+ };
+ this.loading = true;
+ getList(page.currentPage, page.pageSize, Object.assign(data, params)).then(res => {
+ const data = res.data.data
+ this.page.total = data.total;
+ this.data = data.records.map(v=> {
+ return {
+ ...v,
+ id: v.processInstanceId,
+ }
+ });
+ this.loading = false;
+ }, () => {
+ this.data = [];
+ this.loading = false;
+ }).catch(err => {
+ this.data = [];
+ this.loading = false;
+ });
+ },
+ showContent(row, column, event) {
+ console.log(row,111)
+ axios({
+ url: '/blade-mdm/program/dncsendback/back-file-content',
+ method: 'get',
+ params: {entryName: row.entryName}
+ }).then(
+ res => {
+ console.log(res)
+ if(res.data.code === 200) {
+ this.appContent = res.data.data;
+ } else {
+ this.appContent = '绋嬪簭鍐呭鍔犺浇澶辫触'
+ }
+ });
+ },
+ fileView(row) {
+ this.tableData = row.files;
+ this.fileViewModel = true;
+ },
+ selectionChange(selection) {
+ this.selection = selection;
+ },
+ importData() {
+ this.excelBox = true;
+ },
+ uploadAfter(res, done, loading, column) {
+ console.log(res, done, loading, column, 2233)
+ this.excelBox = false;
+ this.data = res || []
+ done();
+ },
+ uploadError(error, column) {
+
+ },
+ handleWarehouse() {
+ if (this.selection.length == 0) {
+ return this.$message.error("璇烽�夋嫨鏁版嵁")
+ }
+ let selection = [];
+ this.selection.forEach(item => {
+ selection.push(item.id);
+ })
+ this.loading = true;
+ var obj = {
+ ids: selection.join(","),
+ }
+ axios({
+ url: '/blade-mdm/program/dncsendback/accept',
+ method: 'post',
+ params: obj,
+ }).then(
+ res => {
+ console.log(res);
+ if (res.data.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.loading = false;
+ this.data = []
+ } else {
+ this.$message.error(res.data.msg || "鎿嶄綔澶辫触");
+ this.loading = false;
+ }
+
+ }
+ ).finally(() => {
+ this.loading = false;
+ });
+ }
+ },
+};
+</script>
+
+<style lang="scss">
+.app-content {
+ background-color: #fffee1;
+ padding: 10px 30px;
+ min-height: 100px;
+ overflow: auto;
+ max-height: 400px;
+ white-space: pre-wrap;
+}
+</style>
\ No newline at end of file
--
Gitblit v1.9.3