YangJian0701 2 vuotta sitten
vanhempi
commit
ae14eeceea

+ 25 - 10
src/views/data/edit/AddVue.vue

@@ -4,16 +4,12 @@
     v-model:show="showModal"
     :show-icon="false"
     preset="dialog"
-    title="添加"
-    positive-text="确认"
-    negative-text="取消"
-    @positive-click="addTask"
-  >
+    title="添加">
     <n-form :model="formValue" label-width="auto" show-require-mark>
       <n-form-item label="测点" path="T_id">
         <n-select
           v-model:value="formValue.T_id"
-          label-field="T_sn"
+          label-field="T_id"
           value-field="T_id"
           @update:value="handleUpdateValue"
           :options="classList"
@@ -38,6 +34,12 @@
           class="w-full"
         />
       </n-form-item>
+      <n-form-item>
+        <n-button type="primary" style="margin-right: 20px;" @click="addTask">
+          立即提交
+        </n-button>
+        <n-button @click="showModal = false">取消</n-button>
+      </n-form-item>
     </n-form>
   </n-modal>
 </template>
@@ -74,6 +76,7 @@ const formValue = reactive({
 
 // 值更新时执行的回调
 const handleUpdateValue = (value, option) => {
+  console.log('handleUpdateValue',option)
   formValue.T_id = option.T_id;
   formValue.T_sn = option.T_sn;
 };
@@ -85,20 +88,32 @@ const showAddModal = () => {
 };
 
 // 获取设备列表
-const addTask = async () => {
-  try {
+const addTask = async () => { 
+  const sto = await inspect(formValue)
+  if(sto){
     Object.keys(formValue).forEach((key) => (formValue[key] += ''));
     const { data: res } = await addTaskData({
       T_task_id: props.task.T_task_id,
       ...formValue,
     });
     if (res.Code === 200) {
+      showModal.value = false
       message.success(res.Msg);
     }
-  } catch (e) {
-    console.log(e);
+  }else{
+    message.error('所有选项都为必填哦')
+    return
   }
 };
+const inspect = (value)=>{
+  return new Promise(resolve=>{
+    const j = Object.keys(value).every(key=>{
+      return value[key] != null
+    })
+    resolve(j)
+  })
+ 
+} 
 </script>
 
 <style lang="scss" scoped></style>

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

@@ -19,7 +19,7 @@
         <n-input v-model:value="formValue.T_id" />
       </n-form-item>
       <n-form-item label="SN" path="T_sn">
-        <n-input v-model:value="formValue.T_sn" />
+        <n-input v-model:value="formValue.T_sn" disabled="false" />
       </n-form-item>
     </n-form>
   </n-modal>

+ 3 - 3
src/views/data/edit/ExportVue.vue

@@ -11,11 +11,11 @@
     @positive-click="exportTask"
   >
     <n-form :model="formValue" label-width="auto" show-require-mark>
-      <n-form-item label="SN" path="T_sn_list">
+      <n-form-item label="Id" path="T_sn_list">
         <n-select
           v-model:value="formValue.T_sn_list"
-          label-field="T_sn"
-          value-field="T_sn"
+          label-field="T_id"
+          value-field="T_id"
           :options="options"
           multiple
           :max-tag-count="2"

+ 62 - 36
src/views/data/edit/ImportPlatform.vue

@@ -21,7 +21,6 @@
             <n-date-picker
               value-format="yyyy.MM.dd HH:mm:ss"
               type="datetimerange"
-              clearable
               @update:formatted-value="
                 (value) => {
                   formValue.Time_start = value[0];
@@ -69,7 +68,7 @@
           <div class="flex justify-end">
             <n-popconfirm @positive-click="handleImport">
               <template #trigger>
-                <n-button type="primary">导入</n-button>
+                <n-button type="primary" :disabled="dataList.length==0?true:false">导入</n-button>
               </template>
               是否确认导入?
             </n-popconfirm>
@@ -127,50 +126,69 @@ const showImportModal = () => {
   formValue.Time_end = null;
   formValue.T_sn = null;
   formValue.T_id = null;
+  // formValue.Time_start = '2023.04.25 00:00:00';
+  // formValue.Time_end = '2023.04.25 00:30:00';
+  // formValue.T_sn = 2023141974576341;
+  // formValue.T_id = 1;
+
   total.value = 0;
   percentage.value = 0;
 };
 
 // 批量导入
 const handleImport = async () => {
-  if (dataList.value.length === 0) {
-    return message.info('无数据');
-  }
-  dataList.value.forEach(async (item) => {
-    const code = await addTask(item);
-    if (code !== 200) {
-      return false;
+  // if (dataList.value.length === 0) {
+  //   return message.info('无数据');
+  // }
+  
+  let arr = dataList.value
+  console.log('点击导入',arr)
+  for (let i = 0 ;i< arr.length;i++) {
+      const {data:res} = await addTask(arr[i]);
+      console.log('返回了',res)
+      if (res.Code == 200) {
+        percentage.value += 1;
+        if (percentage.value === total.value) {
+          notification.success({
+            title: 'ok! 导入数据已完成',
+            duration: 2000,
+            keepAliveOnHover: true,
+          });
+        }
+      }
     }
-  });
+
 };
 
 // 导入任务
-const addTask = async (item) => {
-  const { data: res } = await 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,
-  });
-  if (res.Code === 200) {
-    percentage.value += 1;
-    if (percentage.value === total.value) {
-      notification.success({
-        title: res.Msg,
-        duration: 2500,
-        keepAliveOnHover: true,
-      });
-    }
-  }
-  return res.Code;
+const addTask = (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)
+  }) 
+  
+  
+  
 };
 
 // 查询数据
 const getDataList = async () => {
-  try {
-    spinShow.value = true;
+  console.log('查询1',formValue)
+  
+  const sto = await inspect(formValue)
+  console.log('查询2',formValue)
+  if(sto){
+    // spinShow.value = true;
     const { data: res } = await getV3DataList({
       Time_start: formValue.Time_start + '',
       Time_end: formValue.Time_end + '',
@@ -180,12 +198,20 @@ const getDataList = async () => {
     });
     dataList.value = res.Data.Data || [];
     total.value = res.Data.Num || 0;
-  } catch (e) {
-    console.log(e);
-  } finally {
-    spinShow.value = false;
+  }else{
+    message.error('搜索条件全部必填哦')
   }
 };
+const inspect = (value)=>{
+  return new Promise(resolve=>{
+    if(value.Time_start!= null && value.Time_end!=null && value.T_sn!=null && value.T_id!=null){
+      resolve(true)
+    }else{
+      resolve(false)
+    }
+  })
+ 
+} 
 </script>
 
 <style lang="scss" scoped></style>

+ 24 - 9
src/views/data/source/index.vue

@@ -64,12 +64,14 @@
 </template>
 
 <script setup>
-import { NSpace, NButton } from 'naive-ui';
+import { NSpace, NButton,useMessage} from 'naive-ui';
 import { extractTaskData, getTaskDataList } from '@/api';
+import { reactive, ref } from 'vue';
 
 const router = useRouter();
-
+const message = useMessage()
 const dialog = useDialog();
+const formRef = ref()
 
 const task = window.sessionStorage.getItem('task')
   ? JSON.parse(window.sessionStorage.getItem('task'))
@@ -125,11 +127,16 @@ const pagination = reactive({
 const showModal = ref(false);
 
 //
-const handleSearch = () => {
-  queryData.T_id = '';
-  queryData.T_sn = '';
-  showModal.value = false;
-  extractTask();
+const handleSearch = (e) => {
+  if(queryData.Time_start==null&&queryData.Time_end==null){
+    message.error('请选择查询时间')
+  }else{
+    queryData.T_id = '';
+    queryData.T_sn = '';
+    showModal.value = false;
+    extractTask();
+  }
+  
 };
 
 // 重置
@@ -148,13 +155,19 @@ const handleReset = () => {
 //
 const extractTask = async () => {
   try {
-    const { data: res } = await extractTaskData({
+    const { data: res } = await extractTaskData({     
       T_task_id: queryData.T_task_id,
       Time_start: queryData.Time_start,
       Time_end: queryData.Time_end,
     });
     if (res.Code === 200) {
-      router.back();
+      setTimeout(function() {
+				router.replace('/')
+			}, 500)
+    }else{
+      setTimeout(function() {
+				router.replace('/')
+			}, 500)
     }
   } catch (e) {
     console.log(e);
@@ -165,6 +178,8 @@ const extractTask = async () => {
 const getDataList = async () => {
   try {
     const { data: res } = await getTaskDataList(queryData);
+    console.log('返回数据',res)
+   
     pagination.itemCount = res.Data.Num;
     if (!res.Data.List) {
       showModal.value = true;