工单小程序2024-11-20
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

179 lines
3.5 KiB

5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
  1. <template>
  2. <view class="page">
  3. <navbar bgColor="#169bd5"/>
  4. <view class="Carousel-image">
  5. <view class="imgs">
  6. <uv-swiper
  7. :list="bannerList"
  8. indicator indicatorMode="dot"
  9. keyName="image"
  10. circular height="420">
  11. </uv-swiper>
  12. </view>
  13. <view class="search">
  14. <uv-search
  15. placeholder="请输入搜索任务号"
  16. bgColor="#fff"
  17. @search="getData"
  18. @custom="getData"
  19. v-model="queryParams.taskNo"></uv-search>
  20. </view>
  21. </view>
  22. <view class="festival">
  23. <uv-notice-bar
  24. @click="toNotice"
  25. :text="text" direction="column" ></uv-notice-bar>
  26. </view>
  27. <view class="task">
  28. <uv-grid :border="false">
  29. <uv-grid-item
  30. @click="$utils.navigateTo(item.url)"
  31. v-for="(item,index) in baseList" :key="index">
  32. <uv-icon
  33. :name="item.name"
  34. size="50rpx"></uv-icon>
  35. <text style="font-size: 28rpx;">{{item.title}}</text>
  36. </uv-grid-item>
  37. </uv-grid>
  38. </view>
  39. <view class="Urgent-Work-Order">
  40. <view class="Urgent-Work">
  41. 紧急工单
  42. </view>
  43. <WorkOrderitem
  44. v-for="(item,index) in list"
  45. :obj="item"
  46. isShowCollect
  47. @getData="getData"
  48. :key="index"
  49. @click="$utils.navigateTo('/pages_order/order/WorkOrders?id=' + item.id)"
  50. />
  51. </view>
  52. <PrivacyAgreementPoup/>
  53. <tabber select="0"/>
  54. </view>
  55. </template>
  56. <script>
  57. import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
  58. import tabber from '@/components/base/tabbar.vue'
  59. import WorkOrderitem from '@/components/work/WorkOrderitem.vue'
  60. import mixinsList from '@/mixins/list.js'
  61. import { mapGetters } from 'vuex'
  62. export default {
  63. mixins: [mixinsList],
  64. components: {
  65. tabber,
  66. PrivacyAgreementPoup,
  67. WorkOrderitem,
  68. },
  69. data() {
  70. return {
  71. bannerList: [],
  72. CollectionList:[],
  73. mixinsListApi : 'queryTemplateList',
  74. baseList: [
  75. {
  76. name: 'photo',
  77. title: '全部工单',
  78. url : '/pages_order/order/WorkOrderList',
  79. },
  80. {
  81. name: 'lock',
  82. title: '汇总列表',
  83. url : '/pages_order/order/WorkOrderTotalList',
  84. },
  85. ],
  86. NewsList : [],//公告列表
  87. text : [],//公告列表标题
  88. }
  89. },
  90. computed: {
  91. },
  92. onLoad() {
  93. this.queryParams.isEmergency = 1
  94. this.queryBannerList()
  95. this.queryNewsList()
  96. this.$store.commit('getUserInfo')
  97. },
  98. methods: {
  99. //轮播图
  100. queryBannerList(){
  101. this.$api('queryBannerList', res =>{
  102. if(res.code == 200){
  103. this.bannerList = res.result.records
  104. }
  105. })
  106. },
  107. //公告列表
  108. queryNewsList(){
  109. this.$api('queryNewsList', res =>{
  110. if(res.code == 200){
  111. this.NewsList = res.result.records
  112. res.result.records.forEach(n => {
  113. this.text.push(n.title)
  114. })
  115. }
  116. })
  117. },
  118. toNotice(index){
  119. uni.navigateTo({
  120. url: '/pages_order/order/Worknotice?id=' + this.NewsList[index].id
  121. })
  122. },
  123. }
  124. }
  125. </script>
  126. <style scoped lang="scss">
  127. .Carousel-image {
  128. position: relative;
  129. display: inline-block;
  130. width: 100%;
  131. .search {
  132. height: 82rpx;
  133. width: 710rpx;
  134. background: #FFFFFF;
  135. margin: 20rpx auto;
  136. border-radius: 41rpx;
  137. box-sizing: border-box;
  138. padding: 0 15rpx;
  139. display: flex;
  140. align-items: center;
  141. position: absolute;
  142. top: 10px;
  143. left: 10px;
  144. }
  145. }
  146. .Urgent-Work-Order{
  147. padding: 20rpx;
  148. }
  149. .festival {
  150. padding: 20rpx;
  151. }
  152. .task {
  153. padding: 20rpx 0;
  154. background-color: #FFFFFF;
  155. margin: 20rpx;
  156. border-radius: 20rpx;
  157. box-shadow: 0 0 10rpx 10rpx #00000005;
  158. }
  159. </style>