index.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. <template>
  2. <hc-sys :tabbar="false" isNavBar>
  3. <template #navBar>
  4. <view class="hc-home-nav-bar px-5 py-4">
  5. <view class="title">应用主页</view>
  6. <view class="icon">
  7. <text class="i-ri-layout-masonry-fill" v-if="isListType" @click="isListType = false"/>
  8. <text class="i-material-symbols-view-list-rounded" v-else @click="isListType = true"/>
  9. </view>
  10. </view>
  11. </template>
  12. <template v-if="!isListType">
  13. <view class="hc-flex-conten mt-4">
  14. <view class="left-col-card-1" :class="isAnimation?'is-animation':''" @click="isDataFill">
  15. <view class="card-bg">
  16. <view class="icon">
  17. <text class="i-solar-calendar-search-outline"/>
  18. </view>
  19. </view>
  20. <view class="text-box">
  21. <text class="text">资料填报</text>
  22. </view>
  23. </view>
  24. <view class="right-col-card-1" :class="isAnimation?'is-animation':''">
  25. <view class="card-bg">
  26. <text class="text">进度查询</text>
  27. </view>
  28. <view class="icon">
  29. <text class="i-ic-outline-list-alt"/>
  30. </view>
  31. </view>
  32. <view class="right-col-card-2"
  33. :class="isAnimation?'is-animation':''"
  34. @click="homeToPage('/pages/ledger/index')"
  35. >
  36. <view class="card-bg">
  37. <text class="text">日志填报</text>
  38. </view>
  39. <view class="icon">
  40. <text class="i-mdi-text-box-edit-outline"/>
  41. </view>
  42. </view>
  43. </view>
  44. <view class="hc-flex-conten __150 mt-4">
  45. <view class="left-col-card-2" :class="isAnimation?'is-animation':''">
  46. <view class="card-bg">
  47. <view class="icon">
  48. <text class="i-fluent-task-list-square-settings-20-filled"/>
  49. </view>
  50. <view class="text-box">
  51. <text class="text">任务管理</text>
  52. </view>
  53. </view>
  54. </view>
  55. </view>
  56. <view class="hc-flex-conten __180 mt-4">
  57. <view class="left-col-card-3"
  58. :class="isAnimation?'is-animation':''"
  59. @click="homeToPage('/pages/image/index')"
  60. >
  61. <view class="card-bg">
  62. <view class="icon">
  63. <text class="i-solar-videocamera-record-linear"/>
  64. </view>
  65. </view>
  66. <view class="text-box">
  67. <text class="text">声像资料</text>
  68. </view>
  69. </view>
  70. <view class="right-col-card-3" :class="isAnimation?'is-animation':''">
  71. <view class="card-bg">
  72. <view class="icon">
  73. <text class="i-icon-park-outline-history-query"/>
  74. </view>
  75. <text class="text">资料查询</text>
  76. </view>
  77. </view>
  78. <view class="right-col-card-4" :class="isAnimation?'is-animation':''">
  79. <view class="card-bg">
  80. <text class="text">工单消息</text>
  81. </view>
  82. <view class="icon">
  83. <text class="i-icon-park-outline-message"/>
  84. </view>
  85. </view>
  86. </view>
  87. </template>
  88. <template v-else>
  89. <view class="hc-list-container">
  90. <view class="hc-list-item shadow-sm" :class="isAnimation?'a-l':''" @click="isDataFill">
  91. <view class="icon bg-1">
  92. <text class="i-solar-calendar-search-outline"/>
  93. </view>
  94. <view class="container">
  95. <view class="title">资料填报</view>
  96. <view class="text">派发监理通知单及监理指令</view>
  97. </view>
  98. </view>
  99. <view class="hc-list-item shadow-sm" :class="isAnimation?'a-r':''">
  100. <view class="icon bg-2">
  101. <text class="i-ic-outline-list-alt"/>
  102. </view>
  103. <view class="container">
  104. <view class="title">进度查询</view>
  105. <view class="text">资料进度数据统计查询</view>
  106. </view>
  107. </view>
  108. <view class="hc-list-item shadow-sm"
  109. :class="isAnimation?'a-l':''"
  110. @click="homeToPage('/pages/ledger/index')"
  111. >
  112. <view class="icon bg-3">
  113. <text class="i-mdi-text-box-edit-outline"/>
  114. </view>
  115. <view class="container">
  116. <view class="title">日志填报</view>
  117. <view class="text">施工及监理日志填报</view>
  118. </view>
  119. </view>
  120. <view class="hc-list-item shadow-sm" :class="isAnimation?'a-r':''">
  121. <view class="icon bg-4">
  122. <text class="i-fluent-form-48-regular"/>
  123. </view>
  124. <view class="container">
  125. <view class="title">资料填报</view>
  126. <view class="text">质检资料及试验资料数据填报</view>
  127. </view>
  128. </view>
  129. <view class="hc-list-item shadow-sm"
  130. :class="isAnimation?'a-l':''"
  131. @click="homeToPage('/pages/image/index')"
  132. >
  133. <view class="icon bg-5">
  134. <text class="i-solar-videocamera-record-linear"/>
  135. </view>
  136. <view class="container">
  137. <view class="title">声像资料</view>
  138. <view class="text">拍照及上传影像资料</view>
  139. </view>
  140. </view>
  141. <view class="hc-list-item shadow-sm" :class="isAnimation?'a-r':''">
  142. <view class="icon bg-6">
  143. <text class="i-icon-park-outline-history-query"/>
  144. </view>
  145. <view class="container">
  146. <view class="title">资料查询</view>
  147. <view class="text">质检及试验报表资料查看</view>
  148. </view>
  149. </view>
  150. <view class="hc-list-item shadow-sm" :class="isAnimation?'a-l':''">
  151. <view class="icon bg-7">
  152. <text class="i-solar-calendar-linear"/>
  153. </view>
  154. <view class="container">
  155. <view class="title">施工台账</view>
  156. <view class="text">完善外业台账数据</view>
  157. </view>
  158. </view>
  159. </view>
  160. </template>
  161. <!--弹窗-->
  162. <view class="hc-popover-box" :class="isPopovershow ? 'show' : ''">
  163. <view class="img-box">
  164. <view class="img-bg"/>
  165. </view>
  166. <view class="close-icon" @click="closePopover">
  167. <text class="i-material-symbols-cancel-rounded"/>
  168. </view>
  169. <view class="hc-popover-container">
  170. <view class="project-name">项目名称</view>
  171. <view class="contrac-name">合同段名称</view>
  172. <view class="tip-title">填报规则温馨提示</view>
  173. <view class="tip-content-box">
  174. <view class="tip-item">
  175. <view class="icon">
  176. <text class="i-ri-magic-fill"/>
  177. </view>
  178. <view class="text">填报之后务必点击保存按钮,避免数据丢失</view>
  179. </view>
  180. <view class="tip-item">
  181. <view class="icon">
  182. <text class="i-ri-magic-fill"/>
  183. </view>
  184. <view class="text">灰色按键为非必填项,系统已内置公式模型,可不用手动填写</view>
  185. </view>
  186. <view class="tip-item">
  187. <view class="icon">
  188. <text class="i-ri-magic-fill"/>
  189. </view>
  190. <view class="text">当前工序上报的报表数据必填项少于90%的填报率,系统不允许上报</view>
  191. </view>
  192. </view>
  193. <view class="mt-16">
  194. <uni-data-checkbox multiple v-model="checkbox1" :localdata="hobby"/>
  195. </view>
  196. <view class="mt-10">
  197. <button class="hc-btn rounded-36" type="primary" @click="startDataFill">开始填报</button>
  198. </view>
  199. </view>
  200. </view>
  201. </hc-sys>
  202. </template>
  203. <script setup>
  204. import {ref} from "vue";
  205. import {useAppStore} from "@/store";
  206. import {onShow, onHide} from '@dcloudio/uni-app'
  207. //变量
  208. const store = useAppStore()
  209. const isListType = ref(false);
  210. const checkbox1 = ref([])
  211. const hobby = [{text: '以后忽略此页面提示', value: 0}]
  212. //是否动画
  213. const isAnimation = ref(store.isAnimation)
  214. onShow(()=>{
  215. if(store.isAnimation) {
  216. isAnimation.value = true
  217. }
  218. })
  219. onHide(() => {
  220. isAnimation.value = false
  221. })
  222. //资料填报
  223. const isPopovershow = ref(false);
  224. const isDataFill = () => {
  225. isPopovershow.value = true;
  226. }
  227. //关闭弹窗
  228. const closePopover = () => {
  229. isPopovershow.value = false;
  230. }
  231. //开始填报
  232. const startDataFill = () => {
  233. isPopovershow.value = false;
  234. homeToPage('/pages/data-fill/index')
  235. }
  236. //跳转页面
  237. const homeToPage = (url) => {
  238. uni.navigateTo({
  239. url: url
  240. })
  241. }
  242. </script>
  243. <style lang="scss" scoped>
  244. @import "@/style/index/index.scoped.scss";
  245. </style>