123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <template>
- <view class="processWrapper exportBody">
- <view style="height: 98rpx"></view>
- <view class="ding">
- <!-- <calendar></calendar> -->
- <view class="example-body">
- <uni-datetime-picker
- v-model="datetimerange"
- type="daterange"
- start-placeholder="请选择开始时间"
- end-placeholder="请选择结束时间"
- start="2000-3-20 12:00:00"
- end="2025-10-20 20:00:00"
- rangeSeparator="至"
- />
- </view>
- </view>
- <block>
- <view class="processList">
- <view class="cu-list menu-avatar">
- <view class="cu-item" v-for="(item, index) in getExportData" :key="index">
- <view class="cu-avatar lg">
- <image class="image-bg" :src="item.clzt == 0 ? '@/static/images/export/process-icon.png' : '@/static/images/export/processed-icon.png'" />
- </view>
- <view class="content">
- <view class="pro-title">
- <view class="cut">{{ keyWords == "人工督察单" ? item.artificial_code : item.supervise_code }}</view>
- </view>
- <view class="pro-des">
- <view class="text-cut">{{ item.content }}</view>
- </view>
- <view class="pro-date">{{ item.timestamp }}</view>
- </view>
- <view class="action" style="z-index: 99">
- <view class="unProcess" style="color: #ff4e00" v-if="item.clzt == 0">未处理</view>
- <view class="processed" style="color: #08be04" v-else>已处理</view>
- </view>
- </view>
- <view class="text-center margin-top" v-if="!getExportData.length && dataRes">暂无数据...</view>
- </view>
- </view>
- </block>
- <view v-if="getExportData.length > 0" class="padding-lr padding-bottom-lg bg-white" style="position: fixed; bottom: 0; width: 100%">
- <view class="btn-area">
- <button class="bg-blue round missReport margin-top" @tap="exportButton()">导 出</button>
- </view>
- </view>
- </view>
- </template>
- <script setup>
- import config from "@/config";
- import { onLoad, onShow, onHide, onLaunch } from "@dcloudio/uni-app";
- import { ref, reactive, computed, getCurrentInstance, toRefs, inject, watchEffect } from "vue";
- import { publicStores, useStores } from "@/store/modules/index";
- const useStore = useStores();
- const { proxy } = getCurrentInstance();
- const data = reactive({
- getExportData: [],
- dataRes: 0,
- datetimerange: ["", ""],
- keyWords: "",
- });
- let { getExportData, dataRes, datetimerange, keyWords } = toRefs(data);
- onLoad((option) => {
- keyWords = option.keywords;
- getData({
- company_code: uni.getStorageSync("selectedCode"),
- start_time: "",
- end_time: "",
- });
- });
- function datetimerange1(newval) {
- getData({
- company_code: uni.getStorageSync("selectedCode"),
- start_time: newval[0],
- end_time: newval[1],
- });
- }
- async function getData(params = {}) {
- const res = await this.$myRequest({
- // url: listUrl, //人员督察单渲染
- url: keyWords == "人工督察单" ? "FireInspector/getManualInspectorList" : "FireInspector/getElectronicInspectorList",
- data: params,
- showLoading: true,
- });
- getExportData = res.data.data;
- dataRes = 1;
- }
- function exportButton() {
- let url2 = "";
- switch (keyWords) {
- case "人工督察单":
- url2 = "ExportModule/getManualInspectorListExpor";
- break;
- case "电子督察单":
- url2 = "ExportModule/getElectronicInspectorListExpor";
- break;
- default:
- break;
- }
- //#ifdef H5
- var start_time = datetimerange[0] ? `start_time/${datetimerange[0]}/` : "";
- var end_time = datetimerange[1] ? `end_time/${datetimerange[1]}/` : "";
- let exportUrl = config.BASE_URL + url2 + `/${start_time}${end_time}company_code/${uni.getStorageSync("selectedCode")}/`;
- var ua = window.navigator.userAgent.toLowerCase();
- if (ua.match(/MicroMessenger/i) == "micromessenger") {
- uni.showModal({
- showCancel: false,
- content: "如需下载,请在默认浏览器中操作",
- success: function (res) {
- window.location.href = exportUrl;
- },
- });
- } else {
- window.location.href = exportUrl;
- }
- //#endif
- }
- watchEffect(() => {
- datetimerange1();
- });
- </script>
- <style lang="scss"></style>
|