mg-ocr-invoice 0.2.4-beta → 0.2.4-beta0.1

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mg-ocr-invoice",
3
3
  "private": false,
4
- "version": "0.2.4-beta",
4
+ "version": "0.2.4-beta0.1",
5
5
  "type": "module",
6
6
  "types": "dist/types/index.d.ts",
7
7
  "module": "dist/index.es.js",
@@ -15,8 +15,8 @@ export const const_invoiceExceptionInfo: any = {
15
15
  invalid: '无效发票',
16
16
  }
17
17
  export const const_manualModify: any = {
18
- '手动录入': true,
19
- '非手动录入': false,
18
+ 手动录入: true,
19
+ 非手动录入: false,
20
20
  }
21
21
  export const const_taskStatus: any = {
22
22
  init: '初始状态',
@@ -39,7 +39,6 @@ export const setClass = (type: any) => {
39
39
  return 'ok'
40
40
  case 'used':
41
41
  return 'default'
42
-
43
42
  case 'noNeed':
44
43
  return 'ok'
45
44
  case 'notCheck':
@@ -48,6 +47,10 @@ export const setClass = (type: any) => {
48
47
  return 'ok'
49
48
  case 'checkFail':
50
49
  return 'error'
50
+ case 'abnormal':
51
+ return 'error'
52
+ case 'invalid':
53
+ return 'error'
51
54
  default:
52
55
  return 'ok'
53
56
  }
@@ -48,6 +48,11 @@
48
48
  <span v-if="item.manualModify" class="manual">
49
49
  手工录入
50
50
  </span>
51
+ <div v-else-if="item.invoiceExceptionInfo">
52
+ <span :class="setClass(item.invoiceExceptionInfo)">{{
53
+ const_invoiceExceptionInfo[item.invoiceExceptionInfo]
54
+ }}</span>
55
+ </div>
51
56
  <span v-else :class="setClass(item.realStatus)">{{
52
57
  const_realStatus[item.realStatus]
53
58
  }}</span>
@@ -185,6 +190,7 @@ import {
185
190
  const_invoiceStatus,
186
191
  const_realStatus,
187
192
  const_taskStatus,
193
+ const_invoiceExceptionInfo,
188
194
  setClass,
189
195
  } from './const'
190
196
  import { showImagePreview } from 'vant'
@@ -245,8 +251,17 @@ const getList = async () => {
245
251
  const clickItem = (row: any) => {
246
252
  row.selected = !row.selected
247
253
  }
254
+ const isEdit = (row: any) => {
255
+ // true 允许
256
+ return (
257
+ row.realStatus === 'noNeed' ||
258
+ row.invoiceExceptionInfo === 'abnormal' ||
259
+ row.manualModify ||
260
+ row.rerealStatus === 'checkFail'
261
+ )
262
+ }
248
263
  const openDetails = (row: any) => {
249
- if (row.taskStatus !== 'finish' && row.taskStatus !== 'repeat') {
264
+ if (!isEdit(row)) {
250
265
  return
251
266
  }
252
267
  emit(
@@ -259,28 +274,30 @@ const openDetails = (row: any) => {
259
274
  list.value
260
275
  )
261
276
  }
262
- const everyStatus = (item: any) => {
277
+ const selectStatus = (item: any) => {
278
+ console.log(item)
279
+ // 未使用&& (验真通过||无需验真|| 手工录入||验真异常) && 发票推断状态错误值为空 && 发票识别任务已完成
263
280
  return (
264
- item.invoiceStatus === 'unused' ||
265
- item.invoiceStatus === 'invalid' ||
266
- item.taskStatus === 'ocr_success' ||
267
- item.taskStatus === 'repeat' ||
268
- item.taskStatus === 'finish' ||
269
- item.realStatus === 'noNeed' ||
270
- item.realStatus === 'notCheck' ||
271
- item.realStatus === 'checked' ||
272
- item.realStatus === 'checkFail'
281
+ item.invoiceStatus === 'unused' &&
282
+ (item.realStatus === 'checked' ||
283
+ item.realStatus === 'noNeed' ||
284
+ item.manualModify ||
285
+ item.realStatus === 'checkFail' ||
286
+ !item.invoiceExceptionInfo) &&
287
+ (item.taskStatus === 'ocr_success' ||
288
+ item.taskStatus === 'repeat' ||
289
+ item.taskStatus === 'finish')
273
290
  )
274
291
  }
275
292
  const selectedAll: any = ref(false)
276
293
  const changeSelectAll = (v: any) => {
277
294
  list.value.forEach((item: any) => {
278
- item.selected = everyStatus(item) && selectedAll.value
295
+ item.selected = selectStatus(item) && selectedAll.value
279
296
  })
280
297
  }
281
298
  const changeItemCheckbox = () => {
282
299
  const status = list.value
283
- .filter((item: any) => everyStatus(item))
300
+ .filter((item: any) => selectStatus(item))
284
301
  .every((item: any) => item.selected)
285
302
  selectedAll.value = status
286
303
  }
@@ -341,16 +358,16 @@ const submitBtn = computed(() => {
341
358
  const flag = list.value
342
359
  .filter((item: any) => item.selected)
343
360
  .every((item: any) => {
344
- return everyStatus(item)
361
+ return selectStatus(item)
345
362
  })
346
363
  return flag && list.value.filter((item: any) => item.selected).length > 0
347
364
  })
348
365
  const selectedLength = computed(() => {
349
- return list.value.filter((item: any) => item.selected && everyStatus(item))
366
+ return list.value.filter((item: any) => item.selected && selectStatus(item))
350
367
  .length
351
368
  })
352
369
  const selectedLengthCount = computed(() => {
353
- return list.value.filter((item: any) => everyStatus(item)).length
370
+ return list.value.filter((item: any) => selectStatus(item)).length
354
371
  })
355
372
  const openErrImg = (url: any) => {
356
373
  showImagePreview([url])
@@ -361,7 +378,10 @@ const ok = () => {
361
378
  return
362
379
  }
363
380
  if (!submitBtn.value) {
364
- showToast({ type: 'text', message: '存在异常发票,无法提交' })
381
+ showToast({
382
+ type: 'text',
383
+ message: '存在异常发票,无法提交, 请先去修改发票金额',
384
+ })
365
385
  return
366
386
  }
367
387
  // showDeleteBtn.value = false
@@ -370,9 +390,6 @@ const ok = () => {
370
390
  .map((item: any) => {
371
391
  let obj: any = { ...item }
372
392
  // 验真状态 1,绿色 2,黄色, 3,红色
373
- // 绿色: 验真成功或(无需验真且金额校验成功)或无需验证
374
- // 黄色: (未验真或验真异常)且金额校验失败
375
- // 剩下的场景都为红色
376
393
  if (
377
394
  item.realStatus === 'checked' ||
378
395
  (item.realStatus === 'noNeed' && !item.manualModify)