mg-ocr-invoice 0.2.4-beta → 0.2.4-beta0.5
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/dist/index.es.js +1606 -1590
- package/dist/index.umd.js +21 -21
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/Invoice/index.vue +15 -5
- package/src/components/InvoiceList/const.ts +6 -3
- package/src/components/InvoiceList/index.vue +30 -22
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<template #title>
|
|
13
13
|
<div class="Field-title">
|
|
14
14
|
<span class="titleLeft">公司信息</span>
|
|
15
|
-
<span class="titleright">重新查验</span>
|
|
15
|
+
<!-- <span class="titleright">重新查验</span> -->
|
|
16
16
|
</div>
|
|
17
17
|
</template>
|
|
18
18
|
<div class="marPX">
|
|
@@ -211,11 +211,11 @@
|
|
|
211
211
|
</CellGroup>
|
|
212
212
|
<div class="submit">
|
|
213
213
|
<span
|
|
214
|
-
style="
|
|
214
|
+
style="flex: 1; background-color: #07c160; color: #fff"
|
|
215
215
|
@click="close">
|
|
216
216
|
返回
|
|
217
217
|
</span>
|
|
218
|
-
<span @click="submit">保存</span>
|
|
218
|
+
<span v-if="isEdit" @click="submit">保存</span>
|
|
219
219
|
</div>
|
|
220
220
|
</Form>
|
|
221
221
|
</div>
|
|
@@ -317,7 +317,15 @@ const close = () => {
|
|
|
317
317
|
const openPreViewImg = () => {
|
|
318
318
|
showImagePreview([props.invoiceData.attachmentLink])
|
|
319
319
|
}
|
|
320
|
-
|
|
320
|
+
const isEdit = computed(() => {
|
|
321
|
+
// true 允许
|
|
322
|
+
return (
|
|
323
|
+
props.invoiceData.realStatus === 'noNeed' ||
|
|
324
|
+
props.invoiceData.invoiceExceptionInfo === 'abnormal' ||
|
|
325
|
+
props.invoiceData.manualModify ||
|
|
326
|
+
props.invoiceData.rerealStatus === 'checkFail'
|
|
327
|
+
)
|
|
328
|
+
})
|
|
321
329
|
const submit = async () => {
|
|
322
330
|
showLoading.value = true
|
|
323
331
|
try {
|
|
@@ -525,9 +533,11 @@ onMounted(() => {
|
|
|
525
533
|
padding: 0 12px;
|
|
526
534
|
z-index: 2;
|
|
527
535
|
background-color: #fff;
|
|
536
|
+
gap: 12px;
|
|
528
537
|
span {
|
|
538
|
+
flex: 2;
|
|
529
539
|
background-color: #266fe8;
|
|
530
|
-
width: 68%;
|
|
540
|
+
// width: 68%;
|
|
531
541
|
font-size: 15px;
|
|
532
542
|
color: #fff;
|
|
533
543
|
height: 44px;
|
|
@@ -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,10 +251,11 @@ const getList = async () => {
|
|
|
245
251
|
const clickItem = (row: any) => {
|
|
246
252
|
row.selected = !row.selected
|
|
247
253
|
}
|
|
254
|
+
|
|
248
255
|
const openDetails = (row: any) => {
|
|
249
|
-
if (row
|
|
250
|
-
|
|
251
|
-
}
|
|
256
|
+
// if (!isEdit(row)) {
|
|
257
|
+
// return
|
|
258
|
+
// }
|
|
252
259
|
emit(
|
|
253
260
|
'edit',
|
|
254
261
|
{
|
|
@@ -259,28 +266,29 @@ const openDetails = (row: any) => {
|
|
|
259
266
|
list.value
|
|
260
267
|
)
|
|
261
268
|
}
|
|
262
|
-
const
|
|
269
|
+
const selectStatus = (item: any) => {
|
|
270
|
+
// 未使用&& (验真通过||无需验真|| 手工录入||验真异常) && 发票推断状态错误值为空 && 发票识别任务已完成
|
|
263
271
|
return (
|
|
264
|
-
item.invoiceStatus === 'unused'
|
|
265
|
-
item.
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
item.
|
|
271
|
-
|
|
272
|
-
|
|
272
|
+
item.invoiceStatus === 'unused' &&
|
|
273
|
+
(item.realStatus === 'checked' ||
|
|
274
|
+
item.realStatus === 'noNeed' ||
|
|
275
|
+
item.manualModify ||
|
|
276
|
+
item.realStatus === 'checkFail' ||
|
|
277
|
+
!item.invoiceExceptionInfo) &&
|
|
278
|
+
(item.taskStatus === 'ocr_success' ||
|
|
279
|
+
item.taskStatus === 'repeat' ||
|
|
280
|
+
item.taskStatus === 'finish')
|
|
273
281
|
)
|
|
274
282
|
}
|
|
275
283
|
const selectedAll: any = ref(false)
|
|
276
284
|
const changeSelectAll = (v: any) => {
|
|
277
285
|
list.value.forEach((item: any) => {
|
|
278
|
-
item.selected =
|
|
286
|
+
item.selected = selectStatus(item) && selectedAll.value
|
|
279
287
|
})
|
|
280
288
|
}
|
|
281
289
|
const changeItemCheckbox = () => {
|
|
282
290
|
const status = list.value
|
|
283
|
-
.filter((item: any) =>
|
|
291
|
+
.filter((item: any) => selectStatus(item))
|
|
284
292
|
.every((item: any) => item.selected)
|
|
285
293
|
selectedAll.value = status
|
|
286
294
|
}
|
|
@@ -341,16 +349,16 @@ const submitBtn = computed(() => {
|
|
|
341
349
|
const flag = list.value
|
|
342
350
|
.filter((item: any) => item.selected)
|
|
343
351
|
.every((item: any) => {
|
|
344
|
-
return
|
|
352
|
+
return selectStatus(item)
|
|
345
353
|
})
|
|
346
354
|
return flag && list.value.filter((item: any) => item.selected).length > 0
|
|
347
355
|
})
|
|
348
356
|
const selectedLength = computed(() => {
|
|
349
|
-
return list.value.filter((item: any) => item.selected &&
|
|
357
|
+
return list.value.filter((item: any) => item.selected && selectStatus(item))
|
|
350
358
|
.length
|
|
351
359
|
})
|
|
352
360
|
const selectedLengthCount = computed(() => {
|
|
353
|
-
return list.value.filter((item: any) =>
|
|
361
|
+
return list.value.filter((item: any) => selectStatus(item)).length
|
|
354
362
|
})
|
|
355
363
|
const openErrImg = (url: any) => {
|
|
356
364
|
showImagePreview([url])
|
|
@@ -361,7 +369,10 @@ const ok = () => {
|
|
|
361
369
|
return
|
|
362
370
|
}
|
|
363
371
|
if (!submitBtn.value) {
|
|
364
|
-
showToast({
|
|
372
|
+
showToast({
|
|
373
|
+
type: 'text',
|
|
374
|
+
message: '存在异常发票,无法提交, 请先去修改发票金额',
|
|
375
|
+
})
|
|
365
376
|
return
|
|
366
377
|
}
|
|
367
378
|
// showDeleteBtn.value = false
|
|
@@ -370,9 +381,6 @@ const ok = () => {
|
|
|
370
381
|
.map((item: any) => {
|
|
371
382
|
let obj: any = { ...item }
|
|
372
383
|
// 验真状态 1,绿色 2,黄色, 3,红色
|
|
373
|
-
// 绿色: 验真成功或(无需验真且金额校验成功)或无需验证
|
|
374
|
-
// 黄色: (未验真或验真异常)且金额校验失败
|
|
375
|
-
// 剩下的场景都为红色
|
|
376
384
|
if (
|
|
377
385
|
item.realStatus === 'checked' ||
|
|
378
386
|
(item.realStatus === 'noNeed' && !item.manualModify)
|