From 191c452776f818fe2105ead9270ef8f1f3872b3e Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 23 八月 2025 01:21:28 +0800
Subject: [PATCH] 修改机床导入提示信息

---
 src/views/basesetting/machine.vue |  296 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 218 insertions(+), 78 deletions(-)

diff --git a/src/views/basesetting/machine.vue b/src/views/basesetting/machine.vue
index ed759ad..1e95e38 100644
--- a/src/views/basesetting/machine.vue
+++ b/src/views/basesetting/machine.vue
@@ -1,44 +1,72 @@
 <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"
-    >
-      <template #menu-left>
-        <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleExport">瀵煎嚭</el-button>
-        <!-- <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleView">瀵煎叆</el-button> -->
-        <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleAdd">鏂板</el-button>
-      </template>
-      <template #menu="scope">
-        <el-button type="primary" text size="default" icon="el-icon-upload" @click.stop="handleEdit(scope.row, scope.index)">缂栬緫</el-button>
-        <el-button type="primary" text size="default" icon="el-icon-upload" @click.stop="handleDel(scope.row, scope.index)">鍒犻櫎</el-button>
-        <el-button type="primary" text size="default" icon="el-icon-upload" @click.stop="handleUp(scope.row, scope.index)">浜х敓鏈哄簥鍥炰紶鏈烘瀯鏍�</el-button>
-      </template>
+  <el-row>
+    <el-col :span="5">
+      <div class="box">
+        <el-scrollbar>
+          <basic-container>
+            <avue-tree :option="treeOption" :data="treeData" @node-click="nodeClick" />
+          </basic-container>
+        </el-scrollbar>
+      </div>
+    </el-col>
+    <el-col :span="19">
+      <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"
+        >
+          <template #menu-left>
+            <div class="menuLeft">
+              <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleExport">瀵煎嚭</el-button>
+              <!-- <el-upload :show-file-list="false" class="upload-demo"
+                  action="/api/blade-mdm/machine/import"
+                        :on-change="handleChange">
+                <el-button type="primary" plain size="default">瀵煎叆</el-button>
+              </el-upload> -->
+              <el-button type="primary" plain @click="importAction">瀵煎叆</el-button>
+              <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleAdd">鏂板</el-button>
+            </div>
 
-      <template #status="{ row }">
-        <span>{{ row.status=="1"?"鍚敤":"绂佺敤" }}</span>
-      </template>
-    </avue-crud>
+          </template>
+          <template #menu="scope">
+            <el-button type="primary" text size="default" icon="el-icon-edit" @click.stop="handleEdit(scope.row, scope.index)">缂栬緫</el-button>
+            <el-button type="primary" text size="default" icon="el-icon-delete" @click.stop="handleDel(scope.row, scope.index)">鍒犻櫎</el-button>
+            <!--
+            <el-button type="primary" text size="default" icon="el-icon-upload" @click.stop="handleUp(scope.row, scope.index)">浜х敓鏈哄簥鍥炰紶鏈烘瀯鏍�</el-button>
+            -->
+          </template>
 
-    <el-dialog :title="machineTitle" append-to-body v-model="editBox" width="60%">
-      <avue-form ref="editFormModal1" :option="editFormModal" v-model="editForm" @submit="formSubmit" @resetForm="resetForm">
-        <template #ownerDept="{}">
-          <el-tree-select v-model="editForm.ownerDept" :data="organizationTreeList"/>
-        </template>
-      </avue-form>
-    </el-dialog>
-  </basic-container>
+          <template #status="{ row }">
+            <span>{{ row.status=="1"?"鍚敤":"绂佺敤" }}</span>
+          </template>
+        </avue-crud>
+
+        <el-dialog :title="machineTitle" append-to-body v-model="editBox" width="60%">
+          <avue-form ref="editFormModal1" :option="editFormModal" v-model="editForm" @submit="formSubmit" @resetForm="resetForm">
+            <template #ownerDept="{}">
+              <el-tree-select v-model="editForm.ownerDept" :data="organizationTreeList" :props="treePropsConfig"/>
+            </template>
+          </avue-form>
+        </el-dialog>
+
+        <el-dialog title="" append-to-body v-model="excelBox" width="555px">
+            <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
+            </avue-form>
+        </el-dialog>
+      </basic-container>
+    </el-col>
+  </el-row>
 </template>
 
 <script>
@@ -47,10 +75,66 @@
 import NProgress from 'nprogress';
 import { downloadXls } from '@/utils/util';
 import 'nprogress/nprogress.css';
+import { getDeptLazyTree } from '@/api/system/dept';
 export default {
   data() {
     var that = this;
     return {
+      excelBox: false,
+      excelOption: {
+          submitBtn: false,
+          emptyBtn: false,
+          column: [
+              {
+                  label: '鏂囦欢瀵煎叆',
+                  prop: 'file',
+                  type: 'upload',
+                  drag: true,
+                  loadText: '瀵煎叆涓紝璇风◢鍚�',
+                  span: 24,
+                  propsHttp: {
+                      res: 'data',
+                  },
+                  data: {
+                  },
+                  tip: '',
+                  action: '/blade-mdm/machine/import',
+              },
+          ],
+      },
+      excelForm: {},
+      treeOption: {
+        nodeKey: 'id',
+        lazy: true,
+        treeLoad: function (node, resolve) {
+          const parentId = node.level === 0 ? 0 : node.data.id;
+          getDeptLazyTree(parentId).then(res => {
+            resolve(
+              res.data.data.map(item => {
+                return {
+                  ...item,
+                  leaf: !item.hasChildren,
+                };
+              })
+            );
+          });
+        },
+        addBtn: false,
+        menu: false,
+        size: 'small',
+        props: {
+          labelText: '鏍囬',
+          label: 'title',
+          value: 'value',
+          children: 'children',
+        },
+      },
+      treeData: [],
+      treePropsConfig: {
+        value:  'id',
+        label: 'title',
+        children: 'children'
+      },
       organizationTreeList: [],
       machineTitle: "鏂板",
       isAdd: true,
@@ -94,6 +178,7 @@
           {
             label: '鏈哄簥缁�',
             prop: 'machineGroupName',
+            filterable:true,
             search: true,
             type: 'select',
             dicUrl: '/blade-system/dict-biz/dictionary?code=machine_group',
@@ -177,6 +262,7 @@
           {
             label: '鎵�灞炴満搴婄粍',
             prop: 'machineGroupCode',
+            filterable:true,
             type: 'select',
             span: 12,
             dicUrl: '/blade-system/dict-biz/dictionary?code=machine_group',
@@ -202,12 +288,13 @@
           {
             label: '鎵�灞炵粍缁�',
             prop: 'ownerDept',
+            type: 'tree',
             span: 12,
             rules: [
               {
                 required: true,
                 message: '璇烽�夋嫨鎵�灞炵粍缁�',
-                trigger: 'change'
+                trigger: 'click'
               }
             ]
           },
@@ -219,7 +306,7 @@
             dataType: 'string',
           },
           {
-            label: '绯荤粺鎺у埗',
+            label: '鎺у埗绯荤粺',
             prop: 'controlSystem',
             type: 'select',
             span: 12,
@@ -240,11 +327,27 @@
             }]
           },
           {
+            label: '绋嬪簭涓存椂鐩綍',
+            prop: 'progTempDir',
+            type: 'input',
+            span: 12,
+            dataType: 'string',
+          },
+          {
             label: '绋嬪簭涓嬪彂鐩綍',
             prop: 'progSendDir',
             type: 'input',
             span: 12,
             dataType: 'string',
+          },
+          {
+            label: '涓嬪彂鐩綍淇濆瓨鏃堕棿',
+            prop: 'sendDirExpiryHours',
+            placeholder:"(灏忔椂)",
+            max:24,
+            min:1,
+            type: 'number',
+            span: 12,
           },
           {
             label: '绋嬪簭鍥炰紶鐩綍',
@@ -253,6 +356,16 @@
             span: 12,
             dataType: 'string',
           },
+          {
+            label: '鍥炰紶鐩綍淇濆瓨鏃堕棿',
+            prop: 'receiveDirExpiryHours',
+             max:24,
+            min:1,
+            placeholder:"(灏忔椂)",
+            type: 'number',
+            span: 12,
+          },
+		      
           {
             label: '澶囨敞',
             prop: 'remark',
@@ -266,6 +379,33 @@
     };
   },
   methods: {
+    importAction() {
+      this.excelBox = true;
+    },
+    uploadAfter(res, done, loading, column) {
+        window.console.log('res',res);
+        //console.log('res',res)
+        if(res.failure==0 && res.success>0){
+            //鏈夋垚鍔熺殑锛屽叧闂璇濇
+            this.excelBox = false;
+            this.$message.success(res.message);
+            this.onLoad(this.page);
+            //done();
+        }else{
+            //0鎴愬姛鐨勶紝浠呮彁绀�
+            this.$message.info("鎴愬姛"+res.success+",澶辫触"+res.failure+":"+res.message);
+            done();
+        }
+        
+    },
+    handleChange(a,b,c) {
+      console.log(a,b,c);
+    },
+    nodeClick(data) {
+      this.treeDeptId = data.id;
+      this.mypage.current = 1;
+      this.onLoad(this.page);
+    },
     handleAdd() {
       this.machineTitle = "鏂板";
       this.isAdd = true;
@@ -393,28 +533,31 @@
       
     },
     onLoad() {
-      this.loading = true;
-      var obj = {
-        keyword: this.search.keyword,
-        machineGroupCode: this.search.machineGroupName,
-        current: this.mypage.current,
-        size: this.mypage.size,
-      }
-      axios({
-        url: '/blade-mdm/machine/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 => {
-            
+      this.$nextTick(()=> {
+        this.loading = true;
+        var obj = {
+          keyword: this.search.keyword,
+          machineGroupCode: this.search.machineGroupName,
+          current: this.mypage.current,
+          size: this.mypage.size,
+          deptId: this.treeDeptId
         }
-      );
+        axios({
+          url: '/blade-mdm/machine/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 => {
+              
+          }
+        );
+      })
     },
     traversalLabelValueToTree(tree) {  //閬嶅巻鏁扮粍
       return tree.map(node => {
@@ -432,26 +575,23 @@
       });
     }
   },
-  mounted() {
-    //鍒ゆ柇鐗堟湰  0:娑夊瘑缃戯紝1:宸ユ帶缃戯紱//宸ユ帶缃�5涓紝娑夊瘑缃�4涓�  宸ユ帶缃戜笉鍋氫簡
-    // 宸ユ帶缃戞槸/blade-mdm/system/dept/lazy-list
-    // 娑夊瘑缃戞槸/blade-mdm/dept/lazy-list
-    axios({url: '/blade-mdm/system/param/getValue?paramKey=networkType',method: 'get'}).then(res => {
-        // if(res.data.data === "0") {
-        //   var aurl = "/blade-mdm/dept/lazy-list";
-        // }else {
-        //   var aurl = "/blade-mdm/system/dept/lazy-list";
-        // }
-        var aurl = "/blade-mdm/system/dept/lazy-list";
-        axios({url: aurl,method: 'get'}).then(resp => {
-          this.organizationTreeList = this.traversalLabelValueToTree(resp.data.data);
-        })
-      }
-    );
+  mounted() { 
+    //鎵�灞炵粍缁� /api/blade-system/dept/tree
+    axios({url: '/blade-system/dept/tree',method: 'get'}).then(resp => {
+      this.organizationTreeList = this.traversalLabelValueToTree(resp.data.data);
+    })
   }
 };
 </script>
 
 <style lang="scss">
-
+.upload-demo {
+  display: inline-block;
+  margin-left: 6px;
+  margin-right: 6px;
+}
+.menuLeft {
+  display: flex;
+  align-items: center;
+}
 </style>

--
Gitblit v1.9.3