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/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.5",
5
5
  "type": "module",
6
6
  "types": "dist/types/index.d.ts",
7
7
  "module": "dist/index.es.js",
@@ -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="width: 30%; background-color: #07c160; color: #fff"
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
- '手动录入': 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,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.taskStatus !== 'finish' && row.taskStatus !== 'repeat') {
250
- return
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 everyStatus = (item: any) => {
269
+ const selectStatus = (item: any) => {
270
+ // 未使用&& (验真通过||无需验真|| 手工录入||验真异常) && 发票推断状态错误值为空 && 发票识别任务已完成
263
271
  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'
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 = everyStatus(item) && selectedAll.value
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) => everyStatus(item))
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 everyStatus(item)
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 && everyStatus(item))
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) => everyStatus(item)).length
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({ type: 'text', message: '存在异常发票,无法提交' })
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)