Kaynağa Gözat

240718新增批量去重

YangJian0701 9 ay önce
ebeveyn
işleme
00b5dc897c

+ 2 - 2
.env.development

@@ -12,8 +12,8 @@ VITE_API_BASE_URL5="https://coldverify.coldbaozhida.com/local/api"  #外网
 
 
 # 测试
-VITE_API_BASE_URL1="https://coldverify.coldbaozhida.com/testapi"
-# VITE_API_BASE_URL1="https://coldverify.coldbaozhida.com/api"
+# VITE_API_BASE_URL1="https://coldverify.coldbaozhida.com/testapi"
+VITE_API_BASE_URL1="https://coldverify.coldbaozhida.com/api"
 
 # VITE_API_BASE_URL4="http://192.168.11.23:6401"  #本地
 

+ 18 - 0
src/api/modules/editApi.js

@@ -66,6 +66,24 @@ export const CopyFromPosit = (data) => {
   });
 };
 
+//批量删除
+export const DataBatchDelete = (data) => {
+    return service.request({
+      method: 'POST',
+      url: '/TaskData/DataBatchDelete',
+      data,
+      baseURL: localStorage.getItem('ping')?baseURL4:baseURL5,
+    });
+  };
+//去重
+export const DataRemoveDuplicates = (data) => {
+    return service.request({
+      method: 'POST',
+      url: '/TaskData/DataRemoveDuplicates',
+      data,
+      baseURL: localStorage.getItem('ping')?baseURL4:baseURL5,
+    });
+  };
 //补漏
 export const TaskRepairSen = (data) => {
   return service.request({

+ 1 - 1
src/views/data/edit/ImportVue.vue

@@ -26,7 +26,7 @@
       </n-button>
     </div>
   </n-modal>
-</template>
+</template> 
 
 <script setup>
 import { addTaskDatas } from '@/api';

+ 53 - 0
src/views/data/edit/deWeight.vue

@@ -0,0 +1,53 @@
+<template>
+    <!-- 去重 -->
+    <n-button @click="showImportModal">去重</n-button>
+</template>
+
+<script setup>
+import { DataRemoveDuplicates } from '@/api';
+import { useMessage, useDialog } from 'naive-ui';
+const messages = useMessage();
+
+const props = defineProps({
+    queryObj: {
+        type: Object,
+        default: () => ({}),
+    },
+    pickleveTime: {
+        type: Array,
+        default: () => ([])
+    },
+    checkData: {
+        type: Array,
+        default: () => ([])
+    }
+})
+
+const dialog = useDialog();
+const showImportModal = () => {
+    dialog.warning({
+        title: '提示',
+        content:'确定去重操作吗?',
+        positiveText: '立即去重',
+        negativeText: '取消',
+        onPositiveClick: () => {
+            TaskCopyApi()
+        },
+        onNegativeClick: () => {
+            messages.info('已取消去重')
+        }
+    })
+    
+}
+const TaskCopyApi = async () => {
+    DataRemoveDuplicates({
+        T_task_id: props.queryObj.T_task_id
+    }).then(res => {
+        if (res.data.Code == 200) {
+            messages.success(res.data.Msg + ',请刷新一下界面') 
+        }
+    })
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 95 - 0
src/views/data/edit/deletionBatch.vue

@@ -0,0 +1,95 @@
+<template>
+    <!-- 批量删除 -->
+    <n-button @click="showImportModal">批量删除</n-button>
+</template>
+
+<script setup>
+import { reactive} from 'vue'
+import { DataBatchDelete } from '@/api';
+import { useMessage, useDialog } from 'naive-ui';
+import { TimeDate } from '@/plugin/timeFun.js'
+const messages = useMessage();
+
+const props = defineProps({
+    queryObj: {
+        type: Object,
+        default: () => ({}),
+    },
+    pickleveTime: {
+        type: Array,
+        default: () => ([])
+    },
+    checkData: {
+        type: Array,
+        default: () => ([])
+    }
+})
+
+const data = reactive({
+  T_task_id: '',
+  SN_List: ''
+})
+
+const model = reactive({
+  StartTime: null,
+  EndTime: null,
+})
+
+const dialog = useDialog();
+const showImportModal = () => {
+    console.log('是多少',props)
+    if ( props.checkData==null || props.checkData.length==0) {
+        messages.error('请选择需要批量删除的设备')
+        return
+    } else if (props.pickleveTime==null) {
+        messages.error('请选择时间区间')
+        return
+    } else {
+        data.T_task_id = props.queryObj.T_task_id
+        model.StartTime = new Date(props.pickleveTime[0]).getTime()
+        model.EndTime = new Date(props.pickleveTime[1]).getTime()
+        dialog.warning({
+            title: '提示',
+            content:'确定批量删除操作吗?',
+            positiveText: '立即删除',
+            negativeText: '取消',
+            onPositiveClick: () => {
+                TaskCopyApi()
+            },
+            onNegativeClick: () => {
+                messages.info('已取消')
+            }
+        })
+    }
+    
+    
+}
+const TaskCopyApi = async () => {
+    let resIt = await dataFun()
+    DataBatchDelete(resIt).then(res => {
+        if (res.data.Code == 200) {
+            messages.success(res.data.Msg + ',请刷新一下界面') 
+        }
+    })
+}
+const dataFun = () => {
+  return new Promise(resolve => {
+    let models = { ...model }
+    let snList = [...props.checkData]
+    //处理时间戳转时间格式
+    Object.keys(models).forEach(item => {
+      models[item] = TimeDate(models[item]) + ':00'
+    })
+
+    //处理sn List
+    const arr1 = snList.map(item => item.T_sn + ',' + item.T_id)
+    data.SN_List = arr1.join('|') + '|'
+    console.log(data, models)
+    resolve({
+      ...data, ...models
+    })
+  })
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 8 - 0
src/views/data/edit/index.vue

@@ -112,6 +112,9 @@
                 :classList="classList" />
               <AverageCopy v-if="showBtn" :queryObj="queryData" :pickleveTime="pickTimes.pickleveTime" :checkData="checkValues"
                 :classList="classList"></AverageCopy>
+            
+                
+                
               <editLeak v-if="showBtn" :queryObj="queryData" :pickleveTime="pickTimes.pickleveTime" :checkData="checkValues" />
               <editTendency v-if="showBtn" :queryObj="queryData" :pickleveTime="pickTimes.pickleveTime" :checkData="checkValues" />
 
@@ -120,6 +123,8 @@
               <skewSection v-if="showBtn" :queryObj="queryData" :pickleveTime="pickTimes.pickleveTime" :checkData="checkValues" />
               <editSmooth v-if="showBtn" :queryObj="queryData" :pickleveTime="pickTimes.pickleveTime" :checkData="checkValues" />
               <BesselCurve v-if="showBtn" :queryObj="queryData" :pickleveTime="pickTimes.pickleveTime" :checkData="checkValues"/>
+              <deWeight v-if="showBtn" :queryObj="queryData" :pickleveTime="pickTimes.pickleveTime" :checkData="checkValues" />
+              <deletionBatch v-if="showBtn" :queryObj="queryData" :pickleveTime="pickTimes.pickleveTime" :checkData="checkValues" />
             </n-space>
           </n-space>
           <n-tabs type="segment" animated v-model:value="tabChart" @update:value="handleTabChange">
@@ -228,6 +233,9 @@ import skewSection from './skewSection.vue';
 import editSmooth from './editSmooth.vue';
 import BesselCurve from './BesselCurve.vue';
 
+import deWeight from './deWeight.vue';
+import deletionBatch  from './deletionBatch.vue';
+
 
 
 import { useWindowSize } from '@vueuse/core';