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
|
@@ -15,8 +15,8 @@ export const const_invoiceExceptionInfo: any = {
|
|
|
15
15
|
invalid: '无效发票',
|
|
16
16
|
}
|
|
17
17
|
export const const_manualModify: any = {
|
|
18
|
-
|
|
19
|
-
|
|
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
|
|
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
|
|
277
|
+
const selectStatus = (item: any) => {
|
|
278
|
+
console.log(item)
|
|
279
|
+
// 未使用&& (验真通过||无需验真|| 手工录入||验真异常) && 发票推断状态错误值为空 && 发票识别任务已完成
|
|
263
280
|
return (
|
|
264
|
-
item.invoiceStatus === 'unused'
|
|
265
|
-
item.
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
item.
|
|
271
|
-
|
|
272
|
-
|
|
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 =
|
|
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) =>
|
|
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
|
|
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 &&
|
|
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) =>
|
|
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({
|
|
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)
|