Ver Fonte

20230616

YangJian0701 há 1 ano atrás
pai
commit
3dd52f8637

+ 0 - 1
src/components/FormList.vue

@@ -242,7 +242,6 @@ const getClassList = async () => {
       T_task_id: queryData.T_task_id,
     });
     classList.value = res.Data || [];
-    console.log('88888888888888',res)
   } catch (e) {
     console.log(e);
   }

+ 3 - 0
src/login/index.vue

@@ -47,6 +47,7 @@
         </n-form>
       </n-card>
     </n-config-provider>
+    
   </div>
 </template>
 
@@ -57,6 +58,8 @@ import md5 from 'md5';
 import { setToken } from '@/utils/storage/sessionToken';
 import { darkTheme } from 'naive-ui';
 
+
+
 const formRef = ref(null);
 
 const router = useRouter();

+ 51 - 35
src/views/data/edit/ImportPlatform.vue

@@ -68,7 +68,7 @@
           <div class="flex justify-end">
             <n-popconfirm @positive-click="handleImport">
               <template #trigger>
-                <n-button type="primary" :disabled="dataList.length==0?true:false">导入</n-button>
+                <n-button type="primary" :disabled="disableds">导入</n-button>
               </template>
               是否确认导入?
             </n-popconfirm>
@@ -80,7 +80,7 @@
 </template>
 
 <script setup>
-import { getV3DataList, addTaskData } from '@/api';
+import { getV3DataList, addTaskDatas } from '@/api';
 import { useMessage } from 'naive-ui';
 
 const message = useMessage();
@@ -93,7 +93,7 @@ const props = defineProps({
     default: {},
   },
 });
-
+const disableds = ref(false)
 // 是否展示 Modal
 const showModal = ref(false);
 
@@ -126,6 +126,7 @@ const showImportModal = () => {
   formValue.Time_end = null;
   formValue.T_sn = null;
   formValue.T_id = null;
+  disableds.value = false
   // formValue.Time_start = '2023.04.25 00:00:00';
   // formValue.Time_end = '2023.04.25 00:30:00';
   // formValue.T_sn = 2023141974576341;
@@ -140,47 +141,62 @@ const handleImport = async () => {
   if (dataList.value.length === 0) {
     return message.info('无数据');
   }
-  
+  disableds.value = true
   let arr = dataList.value
-  for (let i = 0 ;i< arr.length;i++) {
-      const {data:res} = await addTask(arr[i]);
-      if (res.Code == 200) {
-        percentage.value += 1;
-        if (percentage.value === total.value) {
-          notification.success({
-            title: 'ok! 导入数据已完成',
-            duration: 2000,
-            keepAliveOnHover: true,
-          });
-        }
-      }else{
-        break
-      }
+  let chunk = 100;
+  for (let i = 0; i < arr.length; i += chunk) {
+    let dataIt = await dataFun(arr.slice(i, i + chunk))
+    
+    const resIt = await addTask(dataIt)
+    console.log('已经处理',resIt)
+
+    percentage.value += Number(resIt.data.Data)
+    if(percentage.value==total.value){
+      message.success('数据导入完成')
     }
+  }
+
+
+  // for (let i = 0 ;i< arr.length;i++) {
+  //     const {data:res} = await addTask(arr[i]);
+  //     if (res.Code == 200) {
+  //       percentage.value += 1;
+  //       if (percentage.value === total.value) {
+  //         notification.success({
+  //           title: 'ok! 导入数据已完成',
+  //           duration: 2000,
+  //           keepAliveOnHover: true,
+  //         });
+  //       }
+  //     }else{
+  //       break
+  //     }
+  //   }
 
 };
 
+const dataFun = (arr)=>{
+  return new Promise(resolve=>{
+    const arr1 = arr.map(item => item.T_sn + '|' + item.T_id + '|' + item.T_t + '|' + item.T_rh + '|' + item.T_time)
+    resolve(arr1.join('?'))
+  })
+}
 // 导入任务
-const addTask = (item) => {
+const addTask = async (item) => {
   return new Promise(resolve=>{
-    const res = addTaskData({
-      T_task_id: props.task.T_task_id,
-      T_sn: `${formValue.T_sn}-${item.T_id}`,
-      T_id: item.T_id,
-      T_t: item.T_t,
-      T_rh: item.T_rh,
-      T_time: item.T_time,
-    });
-     setTimeout(()=>{
-      resolve(res);
-    },300)
-    console.log('res',res)
-  }) 
-  
-  
-  
+    setTimeout(() => {
+      const res = addTaskDatas({
+        T_task_id: props.task.T_task_id,
+        T_Data:item
+      });
+      resolve(res)
+    },100)
+   
+  })
 };
 
+
+
 // 查询数据
 const getDataList = async () => {
   console.log('查询1',formValue)

+ 109 - 113
src/views/scheme/index.vue

@@ -20,46 +20,35 @@
       <FormList :form-list="formValue.formList" />
     </n-scrollbar>
   </div>
-  <n-modal
-    v-model:show="modal.showModal"
-    :show-icon="false"
-    preset="dialog"
-    :title="modal.title"
-    @close="onCloseModal"
-  >
-    <n-upload
-      list-type="image-card"
-      :default-upload="false"
-      :max="1"
-      @change="handleChange"
-      v-if="modal.title === '上传验证'"
-    >
+  <n-modal style="width: 60%" v-model:show="modal.showModal" :show-icon="false" preset="dialog" :title="modal.title" @close="onCloseModal">
+    <n-upload list-type="image-card" :default-upload="false" :max="1" @change="handleChange"
+      v-if="modal.title === '上传验证'">
       上传文件
     </n-upload>
     <template v-else>
       <n-card embedded :bordered="false">
         <template #header>
           <div class="flex justify-center">
-            <n-progress
-              :status="
-                keyInfo.Code === 600
-                  ? 'default'
-                  : keyInfo.Code === 601
+            <n-progress :status="keyInfo.Code === 600
+                ? 'default'
+                : keyInfo.Code === 601
                   ? 'success'
                   : 'error'
-              "
-              type="line"
-              gap-position="bottom"
-              :percentage="keyInfo.Schedule"
-            />
+              " type="line" gap-position="bottom" :percentage="keyInfo.Schedule" />
           </div>
-        </template> 
-        <div  class=" pis" style="overflow:auto;height:200px;" ref="scrollbarRef" >
-         <div class="flex" v-for="(item, index) of items" :key="index"> <!-- items -->
+          
+        </template>
+        <div class=" pis" v-show="loadingFun==false" style="overflow:auto;height:400px;" ref="scrollbarRef">
+          <div class="flex" v-for="(item, index) of items" :key="index"> <!-- items -->
             <n-badge class="mr-5" type="info" :value="index + 1" />
             <span>{{ item }}</span>
           </div>
         </div>
+        <n-spin v-show="loadingFun==true" :show="true">
+            <n-alert title="请等待..." type="success">
+              服务器正在处理中,请等待...
+            </n-alert>
+          </n-spin>
       </n-card>
     </template>
     <template #action>
@@ -67,13 +56,7 @@
         <n-button @click="modal.showModal = false">取消</n-button>
         <n-button type="primary" @click="editTaskInfo">确认</n-button>
       </n-space>
-      <n-button
-        v-else
-        type="primary"
-        :disabled="!keyInfo.Code === 601"
-        @click="handleDownload"
-        >下载文件</n-button
-      >
+      <n-button v-else type="primary" :disabled="!keyInfo.Code === 601" @click="handleDownload">下载文件</n-button>
     </template>
   </n-modal>
 </template>
@@ -91,7 +74,7 @@ import {
 import * as qiniu from 'qiniu-js';
 import { getToken } from '@/utils/storage/sessionToken';
 import { getFileToken } from '@/common';
-import { NButton,useMessage } from 'naive-ui';
+import { NButton, useMessage } from 'naive-ui';
 import { useWindowSize } from '@vueuse/core';
 import { onBeforeUnmount } from 'vue';
 import FormList from '@/components/FormList.vue';
@@ -100,7 +83,7 @@ import { useStore } from 'vuex';
 const { height } = useWindowSize();
 
 const message = useMessage();
-
+const loadingFun = ref(false)
 const scrollbarRef = ref(null);
 
 const task = window.sessionStorage.getItem('task')
@@ -130,25 +113,25 @@ const modal = reactive({
 });
 const store = useStore()
 //复制
-const setCopy = ()=>{
+const setCopy = () => {
   message.success("复制成功")
-  store.commit('setTaskId',queryData.T_task_id)  
- 
+  store.commit('setTaskId', queryData.T_task_id)
+
 }
 //粘贴
-const setPaste = async ()=>{
-  console.log('粘贴',store.state.TaskId,queryData.T_task_id)
-  if(store.state.TaskId==''){
+const setPaste = async () => {
+  console.log('粘贴', store.state.TaskId, queryData.T_task_id)
+  if (store.state.TaskId == '') {
     message.error('请先复制模板,在进行粘贴哦')
     return
   }
   const resIt = await TempCopy({
     T_copy_task_id: store.state.TaskId,
     T_paste_task_id: queryData.T_task_id,
-    T_source:1
+    T_source: 1
   })
-  if(resIt.data.Code==200){
-    message.success('粘贴成功') 
+  if (resIt.data.Code == 200) {
+    message.success('粘贴成功')
     getTemplateList()
   }
 }
@@ -208,16 +191,29 @@ const editTaskInfo = async () => {
     console.log(e);
   }
 };
-
+const obsData = reactive({
+  obj: {}
+})
 // 验证报告生成 方案
 const generateSchemeInfo = async (obj) => {
+  obsData.obj = obj
+  var times = null
   const { data: res } = await generateScheme({
     T_task_id: task.T_task_id,
     T_VerifyTemplate_id: task.T_VerifyTemplate_id,
     ...obj,
   });
   if (res.Code === 200) {
+    loadingFun.value = false
     generateKeyInfo(res.Data);
+  } else if (res.Code == 501) {
+    loadingFun.value = true
+    times = setTimeout(() => {
+      generateSchemeInfo(obsData.obj);
+    }, 1000);
+  } else {
+    loadingFun.value = true
+    clearTimeout(times);
   }
 };
 
@@ -225,12 +221,12 @@ let timer = 0;
 const keyInfo = ref({});
 
 const items = computed(() => {
-  if(keyInfo.value.Item){
-    nextTick(()=>{
+  if (keyInfo.value.Item) {
+    nextTick(() => {
       scrollbarRef.value.scrollTop = scrollbarRef.value.scrollHeight
     })
-    return keyInfo.value.Item.split('\n').filter((item) => item) 
-  }else{
+    return keyInfo.value.Item.split('\n').filter((item) => item)
+  } else {
     return [];
   }
 });
@@ -270,34 +266,34 @@ const handleDownload = () => {
  * 生成报告
  * @returns {Promise<void>}
  */
- const putTemplateData = async () => {
+const putTemplateData = async () => {
   try {
     const arr = toRaw(formValue.formList);
-  //  return
-    const VerifyTemplateMapData = arr.map((item,i) => {
+    //  return
+    const VerifyTemplateMapData = arr.map((item, i) => {
       if (item.T_label === 3) {
-        console.log('等于3',item.T_value,item.T_label,i)
+        console.log('等于3', item.T_value, item.T_label, i)
         return {
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
-          T_value: item.T_value.length!=0?item.T_value.join('|'):'',
+          T_value: item.T_value.length != 0 ? item.T_value.join('|') : '',
           T_source: item.T_source,
           T_flow_sort: item.T_flow_sort,
           T_max_time: item.T_max_time,
           T_min_time: item.T_min_time,
         };
       } else if (item.T_label === 9) {
-        console.log('等于9',item.T_value,item.T_label,i)
+        console.log('等于9', item.T_value, item.T_label, i)
         return {
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
-          T_value: item.T_value!=null?item.T_value.join('|'):'',
+          T_value: item.T_value != null ? item.T_value.join('|') : '',
           T_source: item.T_source,
           T_flow_sort: item.T_flow_sort,
           T_max_time: item.T_max_time,
           T_min_time: item.T_min_time,
         };
       } else if (item.T_label === 12) {
-        console.log('等于12',item.T_value,item.T_label,i)
-        if(item.T_value[0]==null && item.T_value[1]==null){
+        console.log('等于12', item.T_value, item.T_label, i)
+        if (item.T_value[0] == null && item.T_value[1] == null) {
           return {
             T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
             T_value: '',
@@ -306,8 +302,8 @@ const handleDownload = () => {
             T_max_time: item.T_max_time,
             T_min_time: item.T_min_time,
           };
-        }else{
-          if(item.T_value[0]!=null){
+        } else {
+          if (item.T_value[0] != null) {
             return {
               T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
               T_value: `${item.T_value[0]}/${item.T_value[1]}`,
@@ -316,7 +312,7 @@ const handleDownload = () => {
               T_max_time: item.T_max_time,
               T_min_time: item.T_min_time,
             };
-          }else{
+          } else {
             return {
               T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
               T_value: `/${item.T_value[1]}`,
@@ -326,12 +322,12 @@ const handleDownload = () => {
               T_min_time: item.T_min_time,
             };
           }
-         
+
         }
-       
+
       } else if (item.T_label === 13) {
-        console.log('等于13',item.T_value,item.T_label,i)
-        if(item.T_value[0]==null && item.T_value[1]==null){
+        console.log('等于13', item.T_value, item.T_label, i)
+        if (item.T_value[0] == null && item.T_value[1] == null) {
           return {
             T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
             T_value: '',
@@ -340,8 +336,8 @@ const handleDownload = () => {
             T_max_time: item.T_max_time,
             T_min_time: item.T_min_time,
           };
-        }else{
-          if(item.T_value[0]!=null){
+        } else {
+          if (item.T_value[0] != null) {
             return {
               T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
               T_value: `${item.T_value[0].join('|')}/${item.T_value[1]}`,
@@ -350,7 +346,7 @@ const handleDownload = () => {
               T_max_time: item.T_max_time,
               T_min_time: item.T_min_time,
             }
-          }else{
+          } else {
             return {
               T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
               T_value: `/${item.T_value[1]}`,
@@ -360,13 +356,13 @@ const handleDownload = () => {
               T_min_time: item.T_min_time,
             }
           }
-          
+
         }
       } else {
-        console.log('等于其他',item.T_value,item.T_label,i)
+        console.log('等于其他', item.T_value, item.T_label, i)
         return {
           T_VerifyTemplateMap_id: item.T_VerifyTemplateMap_id,
-          T_value: item.T_value!=null?item.T_value + '':'',
+          T_value: item.T_value != null ? item.T_value + '' : '',
           T_source: item.T_source,
           T_flow_sort: item.T_flow_sort,
           T_max_time: item.T_max_time,
@@ -374,7 +370,7 @@ const handleDownload = () => {
         };
       }
     });
-    console.log('提交参数',VerifyTemplateMapData)
+    console.log('提交参数', VerifyTemplateMapData)
     // return
     const token = getToken();
     const { data: res } = await putVerifyTemplateMapData({
@@ -384,41 +380,41 @@ const handleDownload = () => {
       T_VerifyTemplate_id: queryData.T_VerifyTemplate_id,
       VerifyTemplateMapData,
     });
-    
+
     if (res.Code === 200) {
       const obj = {};
-      console.log('打印arr',arr)
+      console.log('打印arr', arr)
       for (let i of arr) {
-        if (i.T_label === 3 || i.T_label === 9) {          
-          obj[i.T_name] = i.T_value!=null?i.T_value.join('|'):'';
-        } else if (i.T_label === 12 ) {
-          console.log('打印12',i.T_value)
-          if(i.T_value[0]== null && i.T_value[1]==''){
-            console.log('12',i.T_value)
+        if (i.T_label === 3 || i.T_label === 9) {
+          obj[i.T_name] = i.T_value != null ? i.T_value.join('|') : '';
+        } else if (i.T_label === 12) {
+          console.log('打印12', i.T_value)
+          if (i.T_value[0] == null && i.T_value[1] == '') {
+            console.log('12', i.T_value)
             obj[i.T_name] = ''
-          }else{
-            if(i.T_value[0]==null && i.T_value[1]!=null){
-              obj[i.T_name] = ''+ '/' + i.T_value[1]
-            }else if(i.T_value[0]!=null && i.T_value[1]==null){
+          } else {
+            if (i.T_value[0] == null && i.T_value[1] != null) {
+              obj[i.T_name] = '' + '/' + i.T_value[1]
+            } else if (i.T_value[0] != null && i.T_value[1] == null) {
               obj[i.T_name] = i.T_value[0] + '/' + ''
-            }else{
+            } else {
               obj[i.T_name] = i.T_value[0] + '/' + i.T_value[1]
             }
-            console.log('打印arr22222',obj[i.T_name])
+            console.log('打印arr22222', obj[i.T_name])
           }
-        } else if (i.T_label === 13) {    
-          if(i.T_value[0]!=null && i.T_value[1]!=null){
+        } else if (i.T_label === 13) {
+          if (i.T_value[0] != null && i.T_value[1] != null) {
             obj[i.T_name] = ''
-          }else{
-            obj[i.T_name] = `${i.T_value[0]==null?'':i.T_value[0].join('|')+'/'+i.T_value[1]==null?'':i.T_value[1]}`;
-          }      
+          } else {
+            obj[i.T_name] = `${i.T_value[0] == null ? '' : i.T_value[0].join('|') + '/' + i.T_value[1] == null ? '' : i.T_value[1]}`;
+          }
         } else {
           obj[i.T_name] = i.T_value;
         }
       }
-      
+
       modal.title = '生成报告';
-      modal.showModal = true;     
+      modal.showModal = true;
       generateSchemeInfo(obj);
     }
   } catch (e) {
@@ -449,41 +445,41 @@ const getClassList = async () => {
 const getTemplateList = async () => {
   try {
     const { data: res } = await getVerifyTemplateMapDataList(queryData);
-    console.log('999999999999999',res)
+    console.log('999999999999999', res)
     // return
     formValue.formList = res.Data;
 
     formValue.formList.forEach(item => {
-      if (item.T_label === 3){
-        if(item.T_value=='' || item.T_value==null){
+      if (item.T_label === 3) {
+        if (item.T_value == '' || item.T_value == null) {
           item.T_value = []
-        }else{
+        } else {
           item.T_value = item.T_value.split('|')
         }
-      }else if(item.T_label == 9){
-        if(item.T_value=='' || item.T_value==null){
+      } else if (item.T_label == 9) {
+        if (item.T_value == '' || item.T_value == null) {
           item.T_value = null
-        }else{
+        } else {
           item.T_value = item.T_value.split('|')
         }
-      }else if (item.T_label === 12) {
-        if(item.T_value=='' || item.T_value==null){
-          item.T_value = [null,null]
-        }else{
-          if(item.T_value.split('/')[0]==""){
+      } else if (item.T_label === 12) {
+        if (item.T_value == '' || item.T_value == null) {
+          item.T_value = [null, null]
+        } else {
+          if (item.T_value.split('/')[0] == "") {
             item.T_value = [null, item.T_value.split('/')[1]]
-          }else{
+          } else {
             item.T_value = [item.T_value.split('/')[0], item.T_value.split('/')[1]]
           }
-         
+
         }
       } else if (item.T_label === 13) {
-        if(item.T_value=='' || item.T_value==null){
-          item.T_value = [null,null]
-        }else{
-          if(item.T_value.split('/')[0]==""){//前面时间区间没选
+        if (item.T_value == '' || item.T_value == null) {
+          item.T_value = [null, null]
+        } else {
+          if (item.T_value.split('/')[0] == "") {//前面时间区间没选
             item.T_value = [null, item.T_value.split('/')[1]]
-          }else{//前面时间区间已经选
+          } else {//前面时间区间已经选
             item.T_value = [item.T_value.split('/')[0].split('|'), item.T_value.split('/')[1]]
           }
         }