export.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <template>
  2. <view class="processWrapper exportBody ">
  3. <view style="height:98rpx"></view>
  4. <view class="ding">
  5. <!-- <calendar></calendar> -->
  6. <view class="example-body">
  7. <uni-datetime-picker v-model="datetimerange" type="daterange" start-placeholder="请选择开始时间"
  8. end-placeholder="请选择结束时间" start="2000-3-20 12:00:00" end="2025-10-20 20:00:00" rangeSeparator="至" />
  9. </view>
  10. </view>
  11. <block>
  12. <view class="processList">
  13. <view class="cu-list menu-avatar">
  14. <view class="cu-item" v-for="(item,index) in getExportData" :key="index">
  15. <view class="cu-avatar lg">
  16. <image class="image-bg"
  17. :src="item.clzt==0?'/static/process-icon.png':'/static/processed-icon.png'" />
  18. </view>
  19. <view class="content">
  20. <view class="pro-title">
  21. <view class="cut">{{keyWords=='人工督察单'?item.artificial_code:item.supervise_code}}</view>
  22. </view>
  23. <view class="pro-des ">
  24. <view class="text-cut">{{item.content}}</view>
  25. </view>
  26. <view class="pro-date ">{{item.timestamp}}</view>
  27. </view>
  28. <view class="action" style="z-index:99">
  29. <view class="unProcess" v-if="item.clzt==0">未处理</view>
  30. <view class="processed" v-else>已处理</view>
  31. </view>
  32. </view>
  33. <view class=" text-center margin-top" v-if="!this.getExportData.length&&this.dataRes">暂无数据...</view>
  34. </view>
  35. </view>
  36. </block>
  37. <view v-if="this.getExportData.length>0" class="padding-lr padding-bottom-lg bg-white" style="position:fixed;bottom:0;width:100%">
  38. <view class="btn-area">
  39. <button class="bg-blue round missReport margin-top" @tap="exportButton()">导 出 </button>
  40. </view>
  41. </view>
  42. </view>
  43. </template>
  44. <script>
  45. import json from '../../data/json.js';
  46. export default {
  47. data() {
  48. return {
  49. getExportData: [],
  50. dataRes: 0,
  51. datetimerange: ['', ''],
  52. keyWords:'',
  53. };
  54. },
  55. onLoad: function(option) {
  56. this.keyWords=option.keywords;
  57. this.getData({
  58. "company_code": uni.getStorageSync('selectedCode'),
  59. "start_time": '',
  60. "end_time": '',
  61. })
  62. },
  63. watch: {
  64. datetimerange(newval) {
  65. this.getData({
  66. "company_code": uni.getStorageSync('selectedCode'),
  67. "start_time":newval[0],
  68. "end_time": newval[1],
  69. })
  70. }
  71. },
  72. methods: {
  73. async getData(params = {}) {
  74. const res = await this.$myRequest({
  75. // url: listUrl, //人员督察单渲染
  76. url:this.keyWords=='人工督察单'?'FireInspector/getManualInspectorList':'FireInspector/getElectronicInspectorList',
  77. data: params,
  78. showLoading: true
  79. })
  80. this.getExportData = res.data.data;
  81. this.dataRes = 1;
  82. },
  83. exportButton() {
  84. let url2 = "";
  85. switch (this.keyWords) {
  86. case '人工督察单':
  87. url2 = "ExportModule/getManualInspectorListExpor"
  88. break;
  89. case '电子督察单':
  90. url2 = "ExportModule/getElectronicInspectorListExpor"
  91. break;
  92. default:
  93. break;
  94. }
  95. //#ifdef H5
  96. var start_time =this.datetimerange[0]?`start_time/${this.datetimerange[0]}/`:'';
  97. var end_time =this.datetimerange[1]?`end_time/${this.datetimerange[1]}/`:'';
  98. let exportUrl = this.$BASE_URL +url2+
  99. `/${start_time}${end_time}company_code/${uni.getStorageSync('selectedCode')}/`
  100. var ua = window.navigator.userAgent.toLowerCase();
  101. // alert(exportUrl)
  102. if (ua.match(/MicroMessenger/i) == 'micromessenger') {
  103. uni.showModal({
  104. showCancel: false,
  105. content: '如需下载,请在默认浏览器中操作',
  106. success: function(res) {
  107. window.location.href = exportUrl;
  108. }
  109. });
  110. } else {
  111. window.location.href = exportUrl;
  112. }
  113. //#endif
  114. }
  115. }
  116. }
  117. </script>
  118. <style lang="scss">
  119. </style>