ny
昨天 282fbc6488f4e8ceb5fda759f963ee88fbf7b999
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<script lang="ts" setup>
import { computed } from 'vue';
 
import { openWindow } from '@jnpf/utils';
 
import { Badge } from 'ant-design-vue';
 
import { APP_PREFIX } from '#/utils/constants';
 
const props = defineProps({
  list: {
    default: () => [],
    type: Array as any,
  },
});
 
const getList = computed(() => props.list.filter((o) => !o.urlAddress.includes('flowQuickLaunch')));
const ifShowAdd = computed(() => props.list.some((o) => o.urlAddress.includes('flowQuickLaunch')));
 
function openSystem(url) {
  const fullUrl = `${window.location.origin}/${APP_PREFIX}workFlow/${url}`;
  openWindow(fullUrl);
}
function getClass(url: string) {
  if (url.includes('flowToSign')) return 'flow-item-flowToSign';
  if (url.includes('flowTodo')) return 'flow-item-flowTodo';
  if (url.includes('flowDoing')) return 'flow-item-flowDoing';
  if (url.includes('flowDone')) return 'flow-item-flowDone';
  if (url.includes('flowCirculate')) return 'flow-item-flowCirculate';
  return '';
}
</script>
<template>
  <div class="flow-pane dashboard-pane">
    <div class="dashboard-header">
      <div class="dashboard-header-title">审批中心</div>
      <div class="dashboard-header-more" @click="openSystem('')">更多<i class="icon-ym icon-ym-right"></i></div>
    </div>
    <div class="flow-pane-main">
      <div class="flow-list" v-if="getList.length">
        <div class="flow-item" :class="getClass(item.urlAddress)" v-for="(item, i) in getList" :key="i" @click="openSystem(item.urlAddress)">
          <div class="flow-item-icon">
            <i :class="item.icon"></i>
          </div>
          <div class="flow-item-title">{{ item.fullName }}</div>
          <Badge :count="item.count || 0" class="flow-item-num" />
        </div>
      </div>
      <div class="add-flow" @click="openSystem('workFlow/flowQuickLaunch')" v-if="ifShowAdd">
        <i class="icon-ym icon-ym-add-flow"></i>
        <div class="add-flow-title">发起流程</div>
      </div>
    </div>
  </div>
</template>