n20-common-lib 1.3.43 → 1.3.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/nstc-g6/components/NstcElectronicFile/NstcElectronicFile.vue +168 -48
  2. package/nstc-g6/components/NstcUploadCustomExcel/NstcUploadCustomExcel.vue +153 -155
  3. package/{src → nstc-g6}/utils/mapper_aims.js +0 -0
  4. package/package.json +3 -2
  5. package/src/components/ApprovalRecord/approvalImgPro.vue +120 -15
  6. package/src/components/DragList/index.vue +5 -1
  7. package/src/components/ECharts/index.vue +5 -2
  8. package/src/components/InputNumber/index.vue +1 -1
  9. package/src/components/LoginTemporary/form.vue +8 -2
  10. package/src/components/LoginTemporary/index.vue +16 -17
  11. package/src/components/LoginTemporary/qrcode.vue +5 -3
  12. package/src/components/Statis/index.vue +2 -0
  13. package/src/components/Statis/statisItem.vue +7 -2
  14. package/src/components/Table/index.vue +2 -49
  15. package/src/components/TableOperateColumn/OperateBtns.vue +13 -0
  16. package/src/index.js +1 -0
  17. package/src/utils/importGlobal.js +16 -0
  18. package/src/utils/toExcel.js +10 -2
  19. package/src/utils/xls2json.js +6 -2
  20. package/src/utils/xlsx2json.js +6 -2
  21. package/style/index.css +1 -1
  22. package/style/index.css.map +1 -1
  23. package/theme/blue.css +1 -1
  24. package/theme/green.css +1 -1
  25. package/theme/lightBlue.css +1 -1
  26. package/theme/orange.css +1 -1
  27. package/theme/purple.css +1 -1
  28. package/theme/red.css +1 -1
  29. package/theme/yellow.css +1 -1
  30. package/src/assets/.DS_Store +0 -0
  31. package/src/components/.DS_Store +0 -0
  32. package/src/components/Empty/.DS_Store +0 -0
  33. package/src/components/Empty/img/.DS_Store +0 -0
  34. package/src/components/Layout/.DS_Store +0 -0
  35. package/src/components/Table/ThSelectHeader.vue +0 -128
  36. package/src/plugins/.DS_Store +0 -0
  37. package/src/plugins/Sign/.DS_Store +0 -0
@@ -21,310 +21,308 @@
21
21
  accept=".xlsx, .xls, .csv"
22
22
  @change="handleClick"
23
23
  />
24
- <i class="el-icon-upload" />
24
+ <i class="el-icon-upload"></i>
25
25
  </div>
26
26
  </template>
27
27
 
28
28
  <script>
29
- import XLSX from "xlsx";
30
- import { mapperData } from "@/utils/mapper_aims.js";
29
+ import XLSX from 'xlsx'
30
+ import { mapperData } from '../../utils/mapper_aims.js'
31
31
  export default {
32
- name: "NstcUploadCustomExcel",
32
+ name: 'NstcUploadCustomExcel',
33
33
  props: {
34
34
  beforeUpload: Function, // eslint-disable-line
35
- onSuccess: Function, // eslint-disable-line
35
+ onSuccess: Function // eslint-disable-line
36
36
  },
37
37
  data() {
38
38
  return {
39
39
  loading: false,
40
40
  excelData: {
41
41
  header: null,
42
- results: null,
42
+ results: null
43
43
  },
44
44
  excelDataAll: {},
45
- analysisText: "analysis",
45
+ analysisText: 'analysis',
46
46
  columnsList: [],
47
- columnsListNew: [],
48
- };
47
+ columnsListNew: []
48
+ }
49
49
  },
50
50
  methods: {
51
51
  generateData(datas, list) {
52
52
  // this.excelData.header = header
53
53
  // this.excelData.results = results
54
- this.onSuccess && this.onSuccess(datas, list);
54
+ this.onSuccess && this.onSuccess(datas, list)
55
55
  },
56
56
  handleDrop(e) {
57
- e.stopPropagation();
58
- e.preventDefault();
59
- if (this.loading) return;
60
- const files = e.dataTransfer.files;
57
+ e.stopPropagation()
58
+ e.preventDefault()
59
+ if (this.loading) return
60
+ const files = e.dataTransfer.files
61
61
  if (files.length !== 1) {
62
- this.$message.error("Only support uploading one file!");
63
- return;
62
+ this.$message.error('Only support uploading one file!')
63
+ return
64
64
  }
65
- const rawFile = files[0]; // only use files[0]
65
+ const rawFile = files[0] // only use files[0]
66
66
 
67
67
  if (!this.isExcel(rawFile)) {
68
68
  this.$message.error(
69
- "Only supports upload .xlsx, .xls, .csv suffix files"
70
- );
71
- return false;
69
+ 'Only supports upload .xlsx, .xls, .csv suffix files'
70
+ )
71
+ return false
72
72
  }
73
- this.upload(rawFile);
74
- e.stopPropagation();
75
- e.preventDefault();
73
+ this.upload(rawFile)
74
+ e.stopPropagation()
75
+ e.preventDefault()
76
76
  },
77
77
  handleDragover(e) {
78
- e.stopPropagation();
79
- e.preventDefault();
80
- e.dataTransfer.dropEffect = "copy";
78
+ e.stopPropagation()
79
+ e.preventDefault()
80
+ e.dataTransfer.dropEffect = 'copy'
81
81
  },
82
82
  handleUpload() {
83
- this.$refs["excel-upload-input"].click();
83
+ this.$refs['excel-upload-input'].click()
84
84
  },
85
85
  handleClick(e) {
86
- const files = e.target.files;
87
- const rawFile = files[0]; // only use files[0]
88
- if (!rawFile) return;
89
- this.upload(rawFile);
86
+ const files = e.target.files
87
+ const rawFile = files[0] // only use files[0]
88
+ if (!rawFile) return
89
+ this.upload(rawFile)
90
90
  },
91
91
  upload(rawFile) {
92
- this.$refs["excel-upload-input"].value = null; // fix can't select the same excel
92
+ this.$refs['excel-upload-input'].value = null // fix can't select the same excel
93
93
 
94
94
  if (!this.beforeUpload) {
95
- this.readerData(rawFile);
96
- return;
95
+ this.readerData(rawFile)
96
+ return
97
97
  }
98
- const before = this.beforeUpload(rawFile);
98
+ const before = this.beforeUpload(rawFile)
99
99
  if (before) {
100
- this.readerData(rawFile);
100
+ this.readerData(rawFile)
101
101
  }
102
102
  },
103
-
103
+
104
104
  readerData(rawFile) {
105
- this.loading = true;
105
+ this.loading = true
106
106
  //清空表头
107
- this.columnsList = [];
108
- this.columnsListNew = [];
107
+ this.columnsList = []
108
+ this.columnsListNew = []
109
109
  return new Promise((resolve) => {
110
- const reader = new FileReader();
110
+ const reader = new FileReader()
111
111
 
112
112
  // 重写FileReader上的readAsBinaryString方法
113
113
  FileReader.prototype.readAsBinaryString = (rawFile) => {
114
- var binary = "";
115
- var wb; // 读取完成的数据
116
- var reader = new FileReader();
114
+ var binary = ''
115
+ var wb // 读取完成的数据
116
+ var reader = new FileReader()
117
117
  reader.onload = () => {
118
118
  // 读取成Uint8Array,再转换为Unicode编码(Unicode占两个字节)
119
- var bytes = new Uint8Array(reader.result);
120
- var length = bytes.byteLength;
119
+ var bytes = new Uint8Array(reader.result)
120
+ var length = bytes.byteLength
121
121
  for (var i = 0; i < length; i++) {
122
- binary += String.fromCharCode(bytes[i]);
122
+ binary += String.fromCharCode(bytes[i])
123
123
  }
124
124
  // 接下来就是xlsx了,具体可看api
125
125
  wb = XLSX.read(binary, {
126
- type: "binary",
127
- });
128
- let datas = [];
126
+ type: 'binary'
127
+ })
128
+ let datas = []
129
129
  for (let st = 0; st < wb.SheetNames.length; st++) {
130
- var sheet = wb.Sheets[wb.SheetNames[st]];
131
- let ref = sheet["!ref"];
132
- if (ref == undefined || ref == "undefined") {
133
- continue;
130
+ var sheet = wb.Sheets[wb.SheetNames[st]]
131
+ let ref = sheet['!ref']
132
+ if (ref == undefined || ref == 'undefined') {
133
+ continue
134
134
  }
135
- var result0 = [];
136
- var result1 = [];
137
- var result2 = [];
138
- var row;
139
- var rowNum;
140
- var colNum;
141
- var range = XLSX.utils.decode_range(ref);
135
+ var result0 = []
136
+ var result1 = []
137
+ var result2 = []
138
+ var row
139
+ var rowNum
140
+ var colNum
141
+ var range = XLSX.utils.decode_range(ref)
142
142
  for (rowNum = range.s.r; rowNum <= range.e.r; rowNum++) {
143
- row = [];
143
+ row = []
144
144
  for (colNum = range.s.c; colNum <= range.e.c; colNum++) {
145
145
  var nextCell =
146
146
  sheet[
147
147
  XLSX.utils.encode_cell({
148
148
  r: rowNum,
149
- c: colNum,
149
+ c: colNum
150
150
  })
151
- ];
151
+ ]
152
152
 
153
- if (typeof nextCell === "undefined") {
154
- row.push(void 0);
153
+ if (typeof nextCell === 'undefined') {
154
+ row.push(void 0)
155
155
  } else {
156
- let cellw = nextCell.v;
157
- if (cellw == "" || cellw == null || cellw === "undefined") {
158
- row.push(cellw);
156
+ let cellw = nextCell.v
157
+ if (cellw == '' || cellw == null || cellw === 'undefined') {
158
+ row.push(cellw)
159
159
  } else {
160
- let val = cellw.toString().trim();
161
- row.push(val);
160
+ let val = cellw.toString().trim()
161
+ row.push(val)
162
162
  }
163
163
  }
164
164
  }
165
- result0.push(row);
165
+ result0.push(row)
166
166
  }
167
- console.log("处理的数据", result0);
168
- let lastIndex = 0; //最长数组位置
169
- let lastLength = 0; //最长数组长度
167
+ console.log('处理的数据', result0)
168
+ let lastIndex = 0 //最长数组位置
169
+ let lastLength = 0 //最长数组长度
170
170
  for (let i = 0; i < result0.length; i++) {
171
- let rows = result0[i];
172
- let temp = [];
171
+ let rows = result0[i]
172
+ let temp = []
173
173
  for (let item of rows) {
174
174
  if (item) {
175
- temp.push(item);
175
+ temp.push(item)
176
176
  }
177
177
  }
178
178
  if (lastLength < temp.length) {
179
- lastIndex = i;
180
- lastLength = temp.length;
179
+ lastIndex = i
180
+ lastLength = temp.length
181
181
  }
182
- temp.splice(0, temp.length); //清空
182
+ temp.splice(0, temp.length) //清空
183
183
  }
184
- result1 = result0.slice(0, lastIndex);
185
- result2 = result0.slice(lastIndex, result0.length);
184
+ result1 = result0.slice(0, lastIndex)
185
+ result2 = result0.slice(lastIndex, result0.length)
186
186
  // outdata = XLSX.utils.sheet_to_json(sheet);
187
187
  // 自定义方法向父组件传递数据
188
188
  // that.$emit("getResult", outdata);
189
189
 
190
190
  // window.console.log(JSON.stringify(result1))
191
191
  // window.console.log(JSON.stringify(result2))
192
- var json = {};
193
- var jsons = [];
192
+ var json = {}
193
+ var jsons = []
194
194
  for (let i = 0; i < result1.length; i++) {
195
- let content = result1[i];
195
+ let content = result1[i]
196
196
  for (let j = 0; j < content.length; j++) {
197
- let key = content[j];
197
+ let key = content[j]
198
198
  if (Object.prototype.hasOwnProperty.call(mapperData, key)) {
199
199
  this.columnsList.push({
200
200
  prop: mapperData[key],
201
- label: key,
202
- });
203
- json[mapperData[key]] = content[++j];
201
+ label: key
202
+ })
203
+ json[mapperData[key]] = content[++j]
204
204
  } else {
205
- json[content[j]] = content[++j];
205
+ json[content[j]] = content[++j]
206
206
  }
207
207
  }
208
208
  }
209
- var title = result2[0];
209
+ var title = result2[0]
210
210
  //过滤result2全为空的行
211
211
  result2 = result2.filter((item) => {
212
- let flag = 0;
212
+ let flag = 0
213
213
  item.forEach((cloum) => {
214
214
  if (!cloum) {
215
- flag++;
215
+ flag++
216
216
  }
217
- });
218
- return flag < item.length;
219
- });
220
- console.log("---------", result2);
217
+ })
218
+ return flag < item.length
219
+ })
220
+ console.log('---------', result2)
221
221
  for (let k = 1; k < result2.length; k++) {
222
- let content = result2[k];
223
- let tempJson = {};
224
- Object.assign(tempJson, json);
222
+ let content = result2[k]
223
+ let tempJson = {}
224
+ Object.assign(tempJson, json)
225
225
  for (let l = 0; l < title.length; l++) {
226
- let key = title[l];
226
+ let key = title[l]
227
227
  if (Object.prototype.hasOwnProperty.call(mapperData, key)) {
228
228
  this.columnsList.push({
229
229
  prop: mapperData[key],
230
- label: key,
231
- });
232
- key = mapperData[key];
230
+ label: key
231
+ })
232
+ key = mapperData[key]
233
233
  } else {
234
- key = title[l];
234
+ key = title[l]
235
235
  }
236
- let val = content[l];
236
+ let val = content[l]
237
237
 
238
238
  if (!tempJson[key]) {
239
- tempJson[key] = val;
239
+ tempJson[key] = val
240
240
  }
241
241
  }
242
- jsons.push(tempJson);
242
+ jsons.push(tempJson)
243
243
  }
244
244
  // window.console.log("jsons:" + JSON.stringify(jsons))
245
- window.console.log("jsons:", jsons);
245
+ window.console.log('jsons:', jsons)
246
246
 
247
- datas.push(jsons);
247
+ datas.push(jsons)
248
248
  }
249
249
 
250
250
  //处理数据
251
251
 
252
252
  // this.excelDataAll = datas
253
253
 
254
- let datasAll = [].concat(...datas);
255
- console.log("datasAll", datasAll);
256
- let reg = /.*[\u4e00-\u9fa5]+.*$/;
254
+ let datasAll = [].concat(...datas)
255
+ console.log('datasAll', datasAll)
256
+ let reg = /.*[\u4e00-\u9fa5]+.*$/
257
257
 
258
258
  datasAll.forEach((item) => {
259
259
  for (const key in item) {
260
260
  if (
261
- key === "recAmount" ||
262
- key === "payAmount" ||
263
- key === "amount" ||
264
- key === "balance"
261
+ key === 'recAmount' ||
262
+ key === 'payAmount' ||
263
+ key === 'amount' ||
264
+ key === 'balance'
265
265
  ) {
266
- item[key] && (item[key] = Number(item[key].replace(/,/g, "")));
266
+ item[key] && (item[key] = Number(item[key].replace(/,/g, '')))
267
267
  }
268
- if (reg.test(key) || key === "undefined" || key === "") {
269
- delete item[key];
268
+ if (reg.test(key) || key === 'undefined' || key === '') {
269
+ delete item[key]
270
270
  }
271
271
  }
272
- });
272
+ })
273
273
 
274
274
  datasAll = datasAll.filter((item) => {
275
- let num = Object.keys(item).length;
276
- let flag = num;
275
+ let num = Object.keys(item).length
276
+ let flag = num
277
277
  for (var key in item) {
278
278
  if (!item[key]) {
279
- flag--;
279
+ flag--
280
280
  }
281
281
  }
282
- return flag > 0;
283
- });
284
- console.log("datas", datasAll);
285
- let obj = {};
282
+ return flag > 0
283
+ })
284
+ console.log('datas', datasAll)
285
+ let obj = {}
286
286
  for (let i = 0; i < this.columnsList.length; i++) {
287
287
  if (
288
288
  !obj[this.columnsList[i].label] &&
289
289
  !obj[this.columnsList[i].prop]
290
290
  ) {
291
- this.columnsListNew.push(this.columnsList[i]);
292
- obj[this.columnsList[i].label] = true;
293
- obj[this.columnsList[i].prop] = true;
291
+ this.columnsListNew.push(this.columnsList[i])
292
+ obj[this.columnsList[i].label] = true
293
+ obj[this.columnsList[i].prop] = true
294
294
  }
295
295
  }
296
296
  // console.log("表头", this.columnsListNew);
297
- this.generateData(datasAll, this.columnsListNew);
297
+ this.generateData(datasAll, this.columnsListNew)
298
298
 
299
- resolve();
300
- };
301
- reader.readAsArrayBuffer(rawFile);
302
- };
303
- reader.readAsBinaryString(rawFile);
304
- });
299
+ resolve()
300
+ }
301
+ reader.readAsArrayBuffer(rawFile)
302
+ }
303
+ reader.readAsBinaryString(rawFile)
304
+ })
305
305
  },
306
306
  getHeaderRow(sheet) {
307
- console.log(sheet);
308
- const headers = [];
309
- const range = XLSX.utils.decode_range(sheet["!ref"]);
310
- let C;
311
- const R = range.s.r;
307
+ console.log(sheet)
308
+ const headers = []
309
+ const range = XLSX.utils.decode_range(sheet['!ref'])
310
+ let C
311
+ const R = range.s.r
312
312
  /* start in the first row */
313
313
  for (C = range.s.c; C <= range.e.c; ++C) {
314
314
  /* walk every column in the range */
315
- const cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })];
315
+ const cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })]
316
316
  /* find the cell in the first row */
317
- let hdr = "UNKNOWN " + C; // <-- replace with your desired default
318
- if (cell && cell.t) hdr = XLSX.utils.format_cell(cell);
319
- headers.push(hdr);
317
+ let hdr = 'UNKNOWN ' + C // <-- replace with your desired default
318
+ if (cell && cell.t) hdr = XLSX.utils.format_cell(cell)
319
+ headers.push(hdr)
320
320
  }
321
- return headers;
321
+ return headers
322
322
  },
323
323
  isExcel(file) {
324
- return /\.(xlsx|xls|csv)$/.test(file.name);
325
- },
326
- },
327
- };
324
+ return /\.(xlsx|xls|csv)$/.test(file.name)
325
+ }
326
+ }
327
+ }
328
328
  </script>
329
-
330
-
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "1.3.43",
3
+ "version": "1.3.46",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -44,7 +44,8 @@
44
44
  "jsonwebtoken": "^8.5.1",
45
45
  "normalize.css": "^8.0.1",
46
46
  "numerify": "*",
47
- "qrcode": "^1.5.0",
47
+ "panzoom": "*",
48
+ "qrcode": "*",
48
49
  "resize-detector": "*",
49
50
  "vuedraggable": "*"
50
51
  },