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