Преглед изворни кода

fix:“修复设备刷新时间除北京时区外会错乱的问题”

soobin пре 1 година
родитељ
комит
229c9521bb
2 измењених фајлова са 38 додато и 12 уклоњено
  1. 19 3
      src/views/device/index.vue
  2. 19 9
      src/views/orderCenter/orderSearch.vue

+ 19 - 3
src/views/device/index.vue

@@ -395,9 +395,25 @@ export default {
       console.log("/tEquipment/eliminate", e);
     };
     const showDateTime = (date) => {
-      return date
-        ? dateUtil.formateDate(new Date(date), "yyyy-MM-dd hh:mm:ss")
-        : "";
+      if (!date) {
+        return "";
+      }
+      const currentDate = new Date(dateUtil.formateDate(new Date(date), "yyyy-MM-dd hh:mm:ss"));
+      // 获取设备的时区偏移量(分钟)
+      const deviceTimezoneOffset = new Date().getTimezoneOffset();
+      // 获取北京时间的时区偏移量(分钟)
+      const beijingTimezoneOffset = -480; // -480分钟为北京时区偏移量
+      // 计算设备时区与北京时区的偏移量差
+      const offsetDifference = deviceTimezoneOffset - beijingTimezoneOffset;
+      // 将设备的时区偏移量转换为毫秒数
+      const offsetMilliseconds = offsetDifference * 60 * 1000;
+      // 将北京时间的毫秒数加上设备的时区偏移量的毫秒数(仅对非北京时间进行调整)
+      const adjustedMilliseconds = offsetMilliseconds !== 0 ? currentDate.getTime() + offsetMilliseconds : currentDate.getTime();
+      // 使用调整后的时间创建一个新的Date对象
+      const adjustedDate = new Date(adjustedMilliseconds);
+      // 格式化调整后的时间
+      const formattedDate = dateUtil.formateDate(adjustedDate, 'yyyy-MM-dd hh:mm:ss');
+      return formattedDate;
     };
 
     // 点击查看定位

+ 19 - 9
src/views/orderCenter/orderSearch.vue

@@ -5,13 +5,13 @@
       <div class="content">
         <van-form @submit="onSubmit">
           <van-field v-model="userName" name="userName" :label="$t('orderCenter.userNameLabel')"
-                     :placeholder="$t('orderCenter.userNamePlaceholder')" />
+            :placeholder="$t('orderCenter.userNamePlaceholder')" />
           <van-field v-model="sn" name="sn" :label="$t('orderCenter.orderNo')"
-                     :placeholder="$t('orderCenter.orderNoPlaceholder')" />
+            :placeholder="$t('orderCenter.orderNoPlaceholder')" />
           <van-field v-model="trxNo" name="trxNo" :label="$t('orderCenter.orderSerialNumberLabel')"
-                     :placeholder="$t('orderCenter.orderSerialNumberPlaceholder')" />
+            :placeholder="$t('orderCenter.orderSerialNumberPlaceholder')" />
           <van-field v-model="clientId" name="clientId" :label="$t('orderCenter.equipmentNo')"
-                     :placeholder="$t('orderCenter.equipmentNoPlaceholder')" />
+            :placeholder="$t('orderCenter.equipmentNoPlaceholder')" />
 
           <div class="van-cell van-field">
             <div class="van-cell__title van-field__label">
@@ -20,10 +20,10 @@
             <div class="van-cell__value van-field__value">
               <div class="van-field__body">
                 <input type="text" class="van-field__control" :placeholder="$t('orderCenter.startTime')"
-                       style="text-align: center; width: 50%;" v-model="startTime" @click="startTimeClick()" />
+                  style="text-align: center; width: 50%;" v-model="startTime" @click="startTimeClick()" />
                 <span>{{ $t('orderCenter.to') }}</span>
                 <input type="text" class="van-field__control" :placeholder="$t('orderCenter.endTime')"
-                       style="text-align: center; width: 50%;" v-model="endTime" @click="endTimeClick()" />
+                  style="text-align: center; width: 50%;" v-model="endTime" @click="endTimeClick()" />
               </div>
             </div>
           </div>
@@ -39,11 +39,11 @@
     </van-popup>
     <van-popup v-model:show="startDateShow" round position="bottom">
       <van-datetime-picker v-model="startDate" type="datetime" :title="$t('orderCenter.selectFullTime')"
-                           @confirm="startDateConFirm($event)" @cancel="startDateCancel()" :min-date="minDate" />
+        @confirm="startDateConFirm($event)" @cancel="startDateCancel()" :min-date="minDate" />
     </van-popup>
     <van-popup v-model:show="endDateShow" round position="bottom">
       <van-datetime-picker v-model="endDate" type="datetime" :title="$t('orderCenter.selectFullTime')"
-                           @confirm="endDateConFirm($event)" @cancel="endDateCancel()" :min-date="minDate" />
+        @confirm="endDateConFirm($event)" @cancel="endDateCancel()" :min-date="minDate" />
     </van-popup>
   </div>
 </template>
@@ -51,6 +51,7 @@
 <script>
 import { ref } from 'vue';
 import dateUtil from "@/utils/dateUtil";
+import { Toast } from 'vant';
 export default {
   name: 'orderSearch',
   setup(prop, context) {
@@ -93,7 +94,16 @@ export default {
     }
     // 提交搜索表单触发搜索
     const onSubmit = () => {
-      console.log('startTime.value',startTime.value)
+      console.log('startTime.value', startTime.value)
+      if (userName.value == '' && sn.value == '' && trxNo.value == '' && clientId.value == '') {
+        if (startTime.value != '' || endTime.value != '') {
+          Toast("请输入正确时间");
+          return;
+        } else {
+          Toast("请输入搜索条件");
+          return;
+        }
+      }
       const searchParam = {
         userName: userName.value,
         sn: sn.value,