From cafa9ae77da5ae18db0336a353a79a639b7cc299 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 17 八月 2025 10:32:46 +0800
Subject: [PATCH] Merge branch 'master' of http://www.beijingsoft.cn:9090/r/mdmweb

---
 src/views/flowmgr/backImport.vue |  226 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 116 insertions(+), 110 deletions(-)

diff --git a/src/views/flowmgr/backImport.vue b/src/views/flowmgr/backImport.vue
index 765128e..2f2dd51 100644
--- a/src/views/flowmgr/backImport.vue
+++ b/src/views/flowmgr/backImport.vue
@@ -1,45 +1,51 @@
 <template>
   <basic-container>
-    <avue-crud
-      :addBtn="false"
-      :option="option"
-      :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"
-    >
+    <avue-crud :addBtn="false" :option="option" :table-loading="loading" :data="data" ref="crud"
+      @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" plain @click="handleWarehouse" style="margin-left: 12px;">鍏ュ簱</el-button>
+          <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: [],
-      search: {},
-      loading: true,
-      mypage: {
-        size: 10,
-        current: 1,
-        total: 0,
-      },
+      excelBox: false,
+      loading: false,
       option: {
         addBtn: false,
         editBtn: false,
@@ -47,18 +53,11 @@
         labelWidth: 120,
         emptyBtn: false,
         searchSpan: 8,
-        menu: false,
+        menu: true,
         selection: true,
         column: [
           {
-            label: '鏂囦欢璺緞',
-            type: 'input',
-            prop: 'keyword',
-            search: true,
-            hide: true
-          },
-          {
-            label: '浠诲姟缂栧彿',
+            label: '绋嬪簭缂栧彿',
             prop: 'programNo'
           },
           {
@@ -71,106 +70,113 @@
           },
           {
             label: '鏂囦欢鏁版嵁搴撶紪鍙�',
-            prop: '',
+            prop: 'id',
           },
-          {
-            label: '澶勭悊鐘舵��',
-            prop: '',
-          },
-          {
-            label: '澶勭悊鏂瑰紡',
-            prop: ''
-          },
-          {
-            label: '澶勭悊鏃堕棿',
-            prop: ''
-          },
-          {
-            label: '澶勭悊浜�',
-            prop: ''
-          },
-          {
-            label: 'MD5鍊�',
-            prop: 'md5	'
-          }
         ],
       },
       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;
     },
-    handleWarehouse(row,index) {
-      if(this.selection.length == 0) {
-        this.$message.error("璇烽�夋嫨鏁版嵁")
-      }else {
-        var 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: 'get',
-          params: obj,
-        }).then(
-          res => {
-            this.$message.success("鎿嶄綔鎴愬姛");
-            this.loading = false;
-          }
-        );
-      }
+    importData() {
+      this.excelBox = true;
     },
-    searchReset() {
-      //this.onLoad(this.mypage);
-    },
-    searchChange(params, done) {
-      this.mypage.current = 1;
-      this.onLoad();
+    uploadAfter(res, done, loading, column) {
+      console.log(res, done, loading, column, 2233)
+      this.excelBox = false;
+      this.data = res || []
       done();
     },
-    currentChange(current) {
-      this.mypage.current = current;
+    uploadError(error, column) {
+
     },
-    sizeChange(size) {
-      this.mypage.size = size;
-    },
-    refreshChange() {
-      
-    },
-    onLoad() {
+    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 = {
-        keyword: this.search.keyword,
-        machineSpec: "",
-        current: this.mypage.current,
-        size: this.mypage.size,
+        ids: selection.join(","),
       }
       axios({
-        url: '/blade-mdm/program/dncsendback/page',
-        method: 'get',
+        url: '/blade-mdm/program/dncsendback/accept',
+        method: 'post',
         params: obj,
       }).then(
         res => {
-          const data = res.data.data;
-          this.mypage.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-        },
-        error => {
-            
+          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