editLeak.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <template>
  2. <!-- 补漏 -->
  3. <n-button @click="showImportModal">补漏</n-button>
  4. </template>
  5. <script setup>
  6. import { TaskRepairSen } from '@/api';
  7. import { reactive } from 'vue'
  8. import { useMessage, useDialog } from 'naive-ui';
  9. import { TimeDate } from '@/plugin/timeFun.js'
  10. const message = useMessage();
  11. const props = defineProps({
  12. queryObj: {
  13. type: Object,
  14. default: () => ({}),
  15. },
  16. checkData: {
  17. type: Array,
  18. default: () => ([])
  19. }
  20. })
  21. const data = reactive({
  22. T_saveT: 60,
  23. T_task_id: '',
  24. SN_List: ''
  25. })
  26. const model = reactive({
  27. StartTime: null,
  28. EndTime: null,
  29. })
  30. const dialog = useDialog();
  31. const showImportModal = () => {
  32. if (props.checkData == null) {
  33. message.error('请选择需要补漏的设备')
  34. return
  35. } else if (props.queryObj.Time_start == '' && props.queryObj.Time_end == '') {
  36. message.error('请选择补漏的时间')
  37. return
  38. } else {
  39. data.T_task_id = props.queryObj.T_task_id
  40. model.StartTime = props.queryObj.Time_start
  41. model.EndTime = props.queryObj.Time_end
  42. dialog.warning({
  43. title: '提示',
  44. content: `确定对${props.queryObj.Time_start}至${props.queryObj.Time_end}进行数据补漏吗?`,
  45. positiveText: '立即补漏',
  46. negativeText: '取消',
  47. onPositiveClick: () => {
  48. TaskCopyApi()
  49. },
  50. onNegativeClick: () => {
  51. message.error('已取消补漏')
  52. }
  53. })
  54. }
  55. }
  56. const TaskCopyApi = async () => {
  57. let resIt = await dataFun()
  58. TaskRepairSen(resIt).then(res => {
  59. if (res.data.Code == 200) {
  60. message.success(res.data.Msg)
  61. }
  62. })
  63. }
  64. const dataFun = () => {
  65. return new Promise(resolve => {
  66. let models = { ...model }
  67. let snList = [...props.checkData]
  68. //处理时间戳转时间格式
  69. Object.keys(models).forEach(item => {
  70. models[item] = TimeDate(models[item]) + ':00'
  71. })
  72. //处理sn List
  73. const arr1 = snList.map(item => item.T_sn + ',' + item.T_id)
  74. data.SN_List = arr1.join('|') + '|'
  75. console.log(data, models)
  76. resolve({
  77. ...data, ...models
  78. })
  79. })
  80. }
  81. </script>
  82. <style lang="scss" scoped></style>