浏览代码

完成上传表格的功能

vothin 2 年之前
父节点
当前提交
68840da815
共有 3 个文件被更改,包括 51 次插入24 次删除
  1. 15 15
      package-lock.json
  2. 11 0
      src/api/ncs_excel.js
  3. 25 9
      src/views/ncs-orginazition/components/partInfoEdit.vue

+ 15 - 15
package-lock.json

@@ -7253,10 +7253,6 @@
       "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
       "dev": true
     },
-    "eve": {
-      "version": "git://github.com/adobe-webplatform/eve.git#eef80ed8d188423c2272746fb8ae5cc8dad84cb1",
-      "from": "git://github.com/adobe-webplatform/eve.git#eef80ed"
-    },
     "event-pubsub": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz",
@@ -8174,7 +8170,8 @@
         "ansi-regex": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+          "optional": true
         },
         "is-fullwidth-code-point": {
           "version": "1.0.0",
@@ -8200,6 +8197,7 @@
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -12495,7 +12493,8 @@
     "npm-normalize-package-bin": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
-      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
+      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
+      "optional": true
     },
     "npm-packlist": {
       "version": "1.4.8",
@@ -13255,7 +13254,8 @@
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
       "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "pify": {
       "version": "4.0.1",
@@ -14391,13 +14391,6 @@
       "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
       "dev": true
     },
-    "raphael": {
-      "version": "git+https://github.com/nhn/raphael.git#78a6ed3ec269f33b6457b0ec66f8c3d1f2ed70e0",
-      "from": "git+https://github.com/nhn/raphael.git#2.2.0-c",
-      "requires": {
-        "eve": "git://github.com/adobe-webplatform/eve.git#eef80ed8d188423c2272746fb8ae5cc8dad84cb1"
-      }
-    },
     "raw-body": {
       "version": "2.4.0",
       "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
@@ -16637,6 +16630,7 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -17015,10 +17009,16 @@
       "integrity": "sha512-DUJIutBG/tOdvJnGCo1PcBhFyGBWsY8VIMdXe3WRtGXynMwOcC5cojYpULf3qFJ4Jj1Riv3/kbF6Ygmi+BpjCw==",
       "requires": {
         "core-js": "^3.6.4",
-        "raphael": "git+https://github.com/nhn/raphael.git#78a6ed3ec269f33b6457b0ec66f8c3d1f2ed70e0",
         "tui-code-snippet": "^2.3.1"
       },
       "dependencies": {
+        "raphael": {
+          "version": "git+https://github.com/nhn/raphael.git#78a6ed3ec269f33b6457b0ec66f8c3d1f2ed70e0",
+          "from": "git+https://github.com/nhn/raphael.git#78a6ed3ec269f33b6457b0ec66f8c3d1f2ed70e0",
+          "requires": {
+            "eve": "git://github.com/adobe-webplatform/eve.git#eef80ed"
+          }
+        },
         "tui-code-snippet": {
           "version": "2.3.2",
           "resolved": "https://registry.npmjs.org/tui-code-snippet/-/tui-code-snippet-2.3.2.tgz",

+ 11 - 0
src/api/ncs_excel.js

@@ -0,0 +1,11 @@
+import request from '@/utils/request'
+
+/** 插入表格数据 **/
+export function getExcelFile(params) {
+  return request({
+    url: '/ncs/excel/excel_file',
+    method: 'post',
+    loading: false,
+    data: params
+  })
+}

+ 25 - 9
src/views/ncs-orginazition/components/partInfoEdit.vue

@@ -532,7 +532,7 @@
               <el-form-item :label="this.$t('action.excelUpload')">
                 <el-upload
                     class="excel-uploader"
-                    :action="`${excelUpload}`"
+                    :action="`${excelUploadUrl}`"
                     :show-file-list="false"
                     :on-success="excelUploaded"
                     :before-upload="handleExcelBefore"
@@ -567,7 +567,9 @@ import {bindDeviceTransAudio, init485Device, initData, initDeviceList} from '@/a
 import * as API_Clerk from '@/api/ncs_clerk'
 import * as API_SystemConfig from '@/api/ncs_systemconfig'
 import * as API_Device from '@/api/ncs_device'
+import * as API_Excel from "@/api/ncs_excel";
 const serverUrl = domain.serverUrl
+const DeviceUrl = domain.DeviceUrl
 export default {
   name: 'PartInfoEdit',
   props: {
@@ -598,8 +600,8 @@ export default {
       otherHostDevice: [],
       uploadurl: serverUrl + '/ncs/upload/uploadFile',
       imageUrl: '',
-      excelUpload: serverUrl + '/ncs/excel/upload/' + this.partId + '/',
-      excelUploadDemo: serverUrl + '/upload/excel/demo/excel_demo.xlsx'
+      excelUploadUrl: DeviceUrl + '/ncs/excel/upload/' + this.partId,
+      excelUploadDemo: serverUrl + '/upload/excel/demo/excel_demo.xlsx',
     }
   },
   async mounted() {
@@ -609,7 +611,7 @@ export default {
     this.getParents()
     this.getRoles({ page_size: 200, page_no: 1, fixedCondition: ' shop_id = -1 and role_name<>"护士"', sort: ' role_id', dir: 'desc' })
     this.getOtherHostDevice(this.partId)
-    console.log(this.excelUpload)
+    console.log(this.excelUploadUrl)
   },
   methods: {
     getPartInfo() {
@@ -892,15 +894,29 @@ export default {
         reader.readAsDataURL(file)
       })
     },
-    getUploadUrl() {
-
-    },
     excelUploaded(res) {
       console.log(res)
+      let param = {}
+      param.part_id = this.partId
+      param.filename = res
+      API_Excel.getExcelFile(param).then(r => {
+        console.log(r)
+      })
     },
     handleExcelBefore(file) {
-      console.log(file.type)
-
+      console.log(file)
+      const extension = file.name.split('.')[1] === 'xls'
+      const extension2 = file.name.split('.')[1] === 'xlsx'
+      const isLt5M = file.size / 1024 / 1024 < 5
+      if (!extension && !extension2) {
+        this.$message.info("上传文件只能是xls、xlsx格式!")
+        return false
+      }
+      if (!isLt5M) {
+        this.$message.info("上传文件大小不能超过5M!")
+        return false
+      }
+      return true
     }
   }
 }