index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <script setup lang="ts">
  2. import { useUserStoreWithOut } from "@/stores/modules/user";
  3. import { getAssetsURI } from "@/utils/common";
  4. import { createProcessByModalId } from '@/service/flow';
  5. import reqest from "@/utils/request";
  6. const userStore = useUserStoreWithOut();
  7. interface MenuItem {
  8. title: string;
  9. corner?: number;
  10. path?: string;
  11. icon: string;
  12. }
  13. const navMenus: MenuItem[] = [
  14. {
  15. title: "办件中心",
  16. corner: 1,
  17. path: "http://10.10.10.7:18080/workflow/HandlerCaseCenter/mobileIndex",
  18. icon: "../assets/images/bjzx_icon.png",
  19. },
  20. {
  21. title: "日志填写",
  22. icon: "../assets/images/rztx_icon.png",
  23. path: "daily",
  24. },
  25. {
  26. title: "周报填写",
  27. icon: "../assets/images/wdxx_icon.png",
  28. },
  29. {
  30. title: "我的日志",
  31. icon: "../assets/images/wdrz_icon.png",
  32. },
  33. {
  34. title: "我的周报",
  35. icon: "../assets/images/wdrz_icon.png",
  36. },
  37. ];
  38. interface ProcessMenuItem extends MenuItem {
  39. instanceId: string
  40. }
  41. const processMenus: ProcessMenuItem[] = [
  42. {
  43. title: "请假申请",
  44. corner: 0,
  45. icon: "../assets/images/qjsq_icon.png",
  46. instanceId: '018c1f593f2c09477b1b8c1080b6000b'
  47. },
  48. {
  49. title: "出差申请",
  50. corner: 0,
  51. icon: "../assets/images/ccsq_icon.png",
  52. instanceId: '018c389986fb0947969a8c33d89b000a'
  53. },
  54. {
  55. title: "考情说明条",
  56. corner: 0,
  57. icon: "../assets/images/kqsmt_icon.png",
  58. instanceId: '018c24045d65094794178c23e986001e'
  59. },
  60. {
  61. title: "借款申请",
  62. corner: 0,
  63. icon: "../assets/images/jksq_icon.png",
  64. instanceId: '018e36519fd70a0796ba8dd062c80830'
  65. },
  66. ];
  67. const personMenus: MenuItem[] = [
  68. {
  69. title: "我的考勤",
  70. icon: "../assets/images/wdkq_icon.png",
  71. },
  72. {
  73. title: "我的资产",
  74. path: "asset",
  75. icon: "../assets/images/wdzc_icon.png",
  76. },
  77. {
  78. title: "通知公告",
  79. corner: 1,
  80. icon: "../assets/images/tzgg_icon.png",
  81. },
  82. ];
  83. const toPageHandle = (path: string) => {
  84. window.location.href = path;
  85. };
  86. const toProcessHandle = (item: ProcessMenuItem): void => {
  87. createProcessByModalId({
  88. templateId:item.instanceId
  89. }).then((result: any) => {
  90. if (typeof(result) === 'string') {
  91. location.href = result
  92. }
  93. })
  94. }
  95. </script>
  96. <template>
  97. <div class="home_box">
  98. <div class="header">
  99. <div class="nav">
  100. <div class="login_info">
  101. <img src="@/assets/images/user_log.jpg" />
  102. <span>{{ userStore.userInfo.nickname }}</span>
  103. </div>
  104. </div>
  105. <ul>
  106. <li
  107. v-for="(item, index) in navMenus"
  108. :key="index"
  109. @click="toPageHandle(item.path as string)"
  110. >
  111. <img :src="getAssetsURI(item['icon'])" />
  112. <p class="title">{{ item["title"] }}</p>
  113. <span class="corner" v-if="item['corner']">{{ item["corner"] }}</span>
  114. </li>
  115. </ul>
  116. </div>
  117. <div class="content">
  118. <div class="card">
  119. <p class="card_title">常用流程</p>
  120. <ul>
  121. <li v-for="(item, index) in processMenus" :key="index" @click="toProcessHandle(item)">
  122. <span class="title">{{ item["title"] }}</span>
  123. <img :src="getAssetsURI(item['icon'])" />
  124. </li>
  125. </ul>
  126. </div>
  127. <div class="item">
  128. <p class="card_title">个人中心</p>
  129. <ul>
  130. <li v-for="(item, index) in personMenus" :key="index" @click="toPageHandle(item.path as string)">
  131. <img :src="getAssetsURI(item['icon'])" />
  132. <span class="title">{{ item["title"] }}</span>
  133. <span class="corner" v-if="item['corner']">{{ item["corner"] }}</span>
  134. </li>
  135. </ul>
  136. </div>
  137. </div>
  138. </div>
  139. </template>
  140. <style scoped>
  141. @import "./index.scss";
  142. </style>