Ver Fonte

fix: 8025 室内质控月分析总结报告列表,导入数据格式限制未去除

johnsen há 1 dia atrás
pai
commit
8c83de5d0d

+ 16 - 8
src/views/component/qualityControl/index.vue

@@ -1,18 +1,15 @@
 <template>
   <div class="qualityControl">
     <div v-if="!readonly && shiFouGuoShen" class="btn">
-      <el-button type="primary" icon="ibps-icon-plus" @click="onAddClick"
+      <el-button icon="ibps-icon-edit" @click="onCopy">复制</el-button>
+      <el-button type="success" icon="ibps-icon-plus" @click="onAddClick"
         >添加</el-button
       >
       <el-button type="danger" icon="ibps-icon-close" @click="onRemoveClick"
         >删除</el-button
       >
-      <el-button type="primary" icon="ibps-icon-import" @click="onImportClick"
-        >导入</el-button
-      >
-      <el-button type="primary" icon="ibps-icon-export" @click="onExportClick"
-        >导出</el-button
-      >
+      <el-button icon="ibps-icon-import" @click="onImportClick">导入</el-button>
+      <el-button icon="ibps-icon-export" @click="onExportClick">导出</el-button>
     </div>
     <div class="table">
       <el-table
@@ -87,6 +84,7 @@
 </template>
 
 <script>
+import { cloneDeep } from 'lodash'
 import xlsx from 'xlsx'
 import fs from 'file-saver'
 import dayjs from 'dayjs'
@@ -170,6 +168,16 @@ export default {
   },
 
   methods: {
+    onCopy() {
+      console.log('复制')
+      if (this.multipleSelection.length > 0) {
+        this.tableData = this.tableData.concat(
+          cloneDeep(this.multipleSelection)
+        )
+      } else {
+        this.$message.warning('请选择数据')
+      }
+    },
     xlsx(json, fields, filename = '.xlsx') {
       // 导出xlsx
       json.forEach((item) => {
@@ -300,7 +308,7 @@ export default {
         const data = xlsx.utils.sheet_to_json(workSheet)
         const importData = this.switchDeviceObj(data, this.columns)
         // console.log(JSON.parse(JSON.stringify(importData)))
-        this.checkDate(importData)
+        // this.checkDate(importData)
         await this.switchXmToId(importData)
         this.tableData.push(...importData)
         // console.log(JSON.parse(JSON.stringify(this.tableData)))

+ 14 - 3
src/views/component/qualityControl/indexChuanBei.vue

@@ -1,6 +1,7 @@
 <template>
   <div class="qualityControl">
     <div v-if="!readonly && shiFouGuoShen" class="btn">
+      <el-button icon="ibps-icon-edit" @click="onCopy">复制</el-button>
       <el-button type="success" icon="ibps-icon-plus" @click="onAddClick"
         >添加</el-button
       >
@@ -99,6 +100,7 @@
 </template>
 
 <script>
+import { cloneDeep } from 'lodash'
 import xlsx from 'xlsx'
 import fs from 'file-saver'
 import dayjs from 'dayjs'
@@ -199,6 +201,15 @@ export default {
   },
 
   methods: {
+    onCopy() {
+      if (this.multipleSelection.length > 0) {
+        this.tableData = this.tableData.concat(
+          cloneDeep(this.multipleSelection)
+        )
+      } else {
+        this.$message.warning('请选择数据')
+      }
+    },
     xlsx(json, fields, filename = '.xlsx') {
       // 导出xlsx
       json.forEach((item) => {
@@ -329,9 +340,9 @@ export default {
         const data = xlsx.utils.sheet_to_json(workSheet)
         const importData = this.switchDeviceObj(data, this.columns)
         // console.log(JSON.parse(JSON.stringify(importData)))
-        this.checkDate(importData)
-        // await this.switchXmToId(importData)
-        // this.tableData.push(...importData)
+        // this.checkDate(importData)
+        await this.switchXmToId(importData)
+        this.tableData.push(...importData)
         // console.log(JSON.parse(JSON.stringify(this.tableData)))
       } catch (error) {
         this.$message.warning(error?.message || '导入失败')