ExportVue.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <n-button type="primary" @click="showImportModal">导出数据</n-button>
  3. <!-- <n-modal style="width: 30%" v-model:show="showModal" :show-icon="false" preset="dialog" title="导出" positive-text="确认"
  4. negative-text="取消" @positive-click="exportTask">
  5. <n-form :model="formValue" label-width="auto" show-require-mark>
  6. <n-form-item label="Id" path="T_sn_list">
  7. <n-select v-model:value="formValue.T_sn_list" label-field="T_id" value-field="T_sn" :options="options" multiple
  8. :max-tag-count="2" clearable>
  9. </n-select>
  10. </n-form-item>
  11. <n-form-item label="开始时间" path="Time_start">
  12. <n-date-picker v-model:formatted-value="formValue.Time_start" value-format="yyyy.MM.dd HH:mm:ss" type="datetime"
  13. clearable class="w-full" />
  14. </n-form-item>
  15. <n-form-item label="结束时间" path="Time_end">
  16. <n-date-picker v-model:formatted-value="formValue.Time_end" value-format="yyyy.MM.dd HH:mm:ss" type="datetime"
  17. clearable class="w-full" />
  18. </n-form-item>
  19. </n-form>
  20. </n-modal> -->
  21. </template>
  22. <script setup>
  23. import { exportTaskData } from '@/api';
  24. import { useMessage } from 'naive-ui';
  25. import {TimeDate} from '@/plugin/timeFun.js'
  26. const message = useMessage();
  27. const props = defineProps({
  28. queryObj: {
  29. type: Object,
  30. default: () => ({}),
  31. },
  32. pickleveTime:{
  33. type:Array,
  34. default: () => ([])
  35. },
  36. checkData: {
  37. type: Array,
  38. default: () => ([])
  39. }
  40. });
  41. const options = computed(() => {
  42. return props.classList;
  43. });
  44. // 表单数据
  45. const formValue = reactive({
  46. T_task_id: '',
  47. T_sn_list: [],
  48. Time_start: null,
  49. Time_end: null,
  50. });
  51. // 显示导入
  52. const showImportModal = async () => {
  53. console.log('sds',props.pickleveTime)
  54. // return
  55. if (props.checkData == null || props.checkData.length == 0) {
  56. message.error('请选择需要导出的设备')
  57. return
  58. } else {
  59. formValue.T_task_id = props.queryObj.T_task_id
  60. formValue.Time_start = props.pickleveTime==null?'':TimeDate(props.pickleveTime[0])
  61. formValue.Time_end = props.pickleveTime==null?'':TimeDate(props.pickleveTime[1])
  62. formValue.T_sn_list = exportTask(props.checkData);
  63. exportTaskData(formValue).then(res => {
  64. console.log('请求完成', res)
  65. if (res.data.Code === 200){
  66. location.href = res.data.Data;
  67. }
  68. })
  69. }
  70. };
  71. const exportTask = (dataArr) => {
  72. let arr = dataArr.map((item) => item.T_sn);
  73. return arr.join(',')
  74. try {
  75. if (formValue.T_sn_list.length === 0) {
  76. formValue.T_sn_list = props.classList.map((item) => item.T_sn);
  77. }
  78. const { data: res } = exportTaskData({
  79. T_task_id: props.task.T_task_id,
  80. T_sn_list: formValue.T_sn_list.join(),
  81. Time_start: formValue.Time_start + '',
  82. Time_end: formValue.Time_end + '',
  83. });
  84. location.href = res.Data;
  85. } catch (e) {
  86. console.log(e);
  87. }
  88. };
  89. </script>
  90. <style lang="scss" scoped></style>