YangJian0701 2 yıl önce
ebeveyn
işleme
35add8a0b1

+ 2 - 2
src/components/FormList.vue

@@ -213,9 +213,9 @@ const handleChangeByIndex = async ({ file }, i) => {
 
 // 全选
 const handleSelectAll = (i) => {
-  if (formList.value[i].T_value.length === 0) {
+  console.log('formList.value[i]',formList.value[i].T_value)
+  if (formList.value[i].T_value == null) {
     formList.value[i].T_value = [];
-    console.log(formList.value[i].T_value);
   } else {
     const arr = classList.value
       .filter((item) => !formList.value[i].T_value.includes(item.T_sn))

+ 98 - 6
src/views/data/edit/FormList.vue

@@ -15,7 +15,7 @@
         </n-select>
         <!-- 单选id -->
         <n-select v-model:value="item.T_value" label-field="T_id" value-field="T_sn" :options="classList"
-          v-else-if="item.T_label === 4" />
+          v-else-if="item.T_label === 4"/>
         <!-- 时间 -->
         <n-date-picker v-model:formatted-value="item.T_value" value-format="yyyy-MM-dd HH:mm" type="datetime" clearable
           class="w-full" v-else-if="item.T_label === 7" />
@@ -38,6 +38,35 @@
             <n-button @click="() => handleRefresh(index)">刷新</n-button>
           </n-space>
         </template>
+
+         <!-- 时间 注释 -->
+         <template v-else-if="item.T_label === 12">
+          <n-space vertical class="w-full">
+            <n-date-picker
+              v-model:formatted-value="item.T_value[0]"
+              format="yyyy-MM-dd HH:mm"
+              :time-picker-props="{ format: 'HH:mm' }"
+              type="datetime"
+              clearable
+            />
+            <n-input v-model:value="item.T_value[1]" type="text" />
+          </n-space>
+        </template>
+        <!-- 时间区间 注释 -->
+        <template v-else-if="item.T_label === 13">
+          <n-space vertical class="w-full">
+            <n-date-picker
+              v-model:formatted-value="item.T_value[0]"
+              format="yyyy-MM-dd HH:mm"
+              :time-picker-props="{ format: 'HH:mm' }"
+              type="datetimerange"
+              clearable
+            />
+            <n-input v-model:value="item.T_value[1]" type="text" />
+          </n-space>
+        </template>
+
+
         <!-- 可输入的表单项 -->
         <template v-else>
           <n-input v-model:value="item.T_value" />
@@ -58,7 +87,9 @@
 </template>
 
 <script setup>
-import { getVerifyTemplateMapDataList } from '@/api';
+
+import { getVerifyTemplateMapDataList,putVerifyTemplateMapData} from '@/api';
+import { getToken } from '@/utils/storage/sessionToken';
 import { watch } from 'vue';
 import { InformationCircleOutline } from '@vicons/ionicons5';
 
@@ -89,6 +120,7 @@ const formValue = reactive({
 watch(
   () => props.time,
   (newValue) => {
+    console.log('时间',classList)
     const index = formValue.formList.findIndex((item) => item.T_label === 7);
     formValue.formList[index].T_value = newValue;
   }
@@ -97,11 +129,60 @@ watch(
 watch(
   () => props.temporalInterval,
   (newValue) => {
-    const index = formValue.formList.findIndex((item) => item.T_label === 9);
-    formValue.formList[index].T_value = newValue;
+    formValue.formList.forEach((item,i)=>{
+        if(item.T_label === 9){
+          formValue.formList[i].T_value = newValue
+        }
+        if(item.T_label === 13){
+          formValue.formList[i].T_value[0] = newValue
+        }
+    })
   }
 );
+watch(()=>formValue.formList, async(newValue,old)=>{
+  console.log('最新',newValue,old)
+  if(old.length!=0){
+    const res = await dataPicker()
+    const token = getToken();
+  putVerifyTemplateMapData({
+      User_tokey: token,
+      T_source: queryData.T_source,
+      T_task_id: queryData.T_task_id,
+      T_VerifyTemplate_id: queryData.T_VerifyTemplate_id,
+      VerifyTemplateMapData:res
+    });
+    console.log('修改值',res)
+  }
+ 
+},{deep:true})
 
+const dataPicker = ()=>{
+  let arr = []
+  return new Promise(resolve=>{
+    formValue.formList.forEach(item=>{
+      let obj = {...item}
+      if(obj.T_label==3 || obj.T_label==9){//多选id  sn|sn|
+       
+        obj.T_value!=null? obj.T_value = obj.T_value.join("|"): obj.T_value = null
+      }else if(obj.T_label==12){
+        console.log('当前为12',obj.T_value)
+        obj.T_value = obj.T_value.join("/")
+       
+      }else if(obj.T_label==13){
+        console.log('当前为13',obj.T_value)
+        if(obj.T_value[0]!=null){
+          obj.T_value = obj.T_value[0].join("|") + '/' + obj.T_value[1]
+          console.log('13选择了',obj.T_value)
+        }else{
+          obj.T_value =  '/'+ obj.T_value[1]==null?'':obj.T_value[1]
+        }
+      }
+      arr.push(obj)
+    })
+    resolve(arr)
+  })
+  console.log('失去焦点',formValue.formList)
+}
 //
 const queryData = reactive({
   T_source: 3,
@@ -130,9 +211,20 @@ const getTemplateList = async () => {
   try {
     const { data: res } = await getVerifyTemplateMapDataList(queryData);
     formValue.formList = res.Data || [];
-    formValue.formList.forEach((item) => {
-      if (item.T_label === 4 || item.T_label === 9) {
+    formValue.formList.forEach((item,index) => {
+      console.log(item,item.T_value,index)
+      if (item.T_label === 3 || item.T_label === 9) {
         item.T_value = item.T_value ? item.T_value.split('|') : null;
+      }else if(item.T_label === 12){
+        if(item.T_value==null){
+          item.T_value = [null,null]
+        }else{
+          item.T_value = item.T_value.split('/')
+        }
+        console.log('12处理哈',item.T_value )
+      }else if( item.T_label === 13){ 
+        item.T_value = item.T_value ? [item.T_value.split('/')[0].split('|'),item.T_value.split('/')[1]]: [null,null];
+        
       } else {
         item.T_value = item.T_value ? item.T_value : null;
       }

+ 13 - 2
src/views/data/edit/index.vue

@@ -5,7 +5,7 @@
     </n-page-header>
     <div class="flex-1 grid grid-cols-4 gap-x-3">
       <n-card>
-        <n-tabs>
+        <n-tabs display-directive="show">
           <n-tab-pane name="1" tab="设备">
             <n-list>
               <template #header>
@@ -91,6 +91,7 @@
       </n-form-item>
     </template>
     <n-space justify="end">
+      <n-button type="primary" @click="chooseTime">选择时间</n-button>
       <n-popconfirm @positive-click="deleteTask">
         <template #trigger>
           <n-button type="error">删除该点</n-button>
@@ -98,6 +99,7 @@
         是否确认删除?
       </n-popconfirm>
       <n-button type="primary" @click="editTask">确定</n-button>
+      
     </n-space>
   </n-modal>
 </template>
@@ -250,6 +252,7 @@ const handleSelectAll = async (value) => {
           cursor: 'pointer',
           events: {
             click(e) {
+              
               modal.title = '温度';
               modal.showModal = true;
               time.value = dateFormat('%Y-%m-%d %H:%M:%S', e.point.x);
@@ -272,6 +275,7 @@ const handleSelectAll = async (value) => {
           cursor: 'pointer',
           events: {
             click(e) {
+              console.log('////',e)
               modal.title = '湿度';
               modal.showModal = true;
               time.value = dateFormat('%Y-%m-%d %H:%M:%S', e.point.x);
@@ -322,6 +326,7 @@ const handleCheckValues = async (values, meta) => {
         cursor: 'pointer',
         events: {
           click(e) {
+            console.log('/=======================///',e.point.x)
             modal.title = '温度';
             modal.showModal = true;
             time.value = dateFormat('%Y-%m-%d %H:%M:%S', e.point.x);
@@ -339,6 +344,7 @@ const handleCheckValues = async (values, meta) => {
         data: data2,
         events: {
           click(e) {
+            console.log('点击11119',e)
             modal.title = '湿度';
             modal.showModal = true;
             time.value = dateFormat('%Y-%m-%d %H:%M:%S', e.point.x);
@@ -368,7 +374,7 @@ const chartOptions1 = {
       format: '{value:%Y-%m-%d %H:%M:%S}',
     },
   },
-
+  
   yAxis: {
     labels: {
       format: '{text}℃',
@@ -461,6 +467,11 @@ const chartOptions2 = {
   series: [],
 };
 
+const chooseTime = ()=>{
+  console.log('选择时间点',formValue)
+}
+
+
 // 删除
 const deleteTask = async () => {
   const { data: res } = await deleteTaskData({

+ 5 - 3
src/views/report/create/index.vue

@@ -328,10 +328,11 @@ const getTemplateList = async () => {
   try {
     const { data: res } = await getVerifyTemplateMapDataList(queryData);
     formValue.formList = res.Data;
-    formValue.formList.forEach((item) => {
-      if (item.T_label === 3 || item.T_label === 9) {
+
+    formValue.formList.forEach(item => {
+      if (item.T_label === 3 || item.T_label == 9){
         item.T_value = item.T_value ? item.T_value.split('|') : null;
-      } else if (item.T_label === 12) {
+      }else if (item.T_label === 12) {
         item.T_value = item.T_value
           ? [item.T_value.split('/')[0], item.T_value.split('/')[1]]
           : null;
@@ -343,6 +344,7 @@ const getTemplateList = async () => {
         item.T_value = item.T_value ? item.T_value : null;
       }
     });
+    console.log('==-=-=-=-=**********', formValue.formList)
   } catch (e) {
     console.log(e);
   }