2
0

2 Коммиты 9d165eeea6 ... 268dc61bae

Автор SHA1 Сообщение Дата
  leo 268dc61bae Merge branch 'develop' of http://code.nyzhwlw.com:10202/yf_zhb/bigdata_WX into develop 1 неделя назад
  leo 02d1f26762 feat: 故障报修 1 неделя назад
3 измененных файлов с 811 добавлено и 594 удалено
  1. 705 509
      pages/afterSale/addafter.vue
  2. 70 57
      pages/deviceDetails/weatherStation/index.vue
  3. 36 28
      pages/equipList/index.vue

Разница между файлами не показана из-за своего большого размера
+ 705 - 509
pages/afterSale/addafter.vue


+ 70 - 57
pages/deviceDetails/weatherStation/index.vue

@@ -26,7 +26,7 @@
         <text class="info-value">{{ formatTimestamp(deviceInfo.uptime) }}</text>
       </view>
       <view class="dev-status">{{
-        deviceInfo.devStatus == "1" ? "在线" : "离线"
+        deviceInfo.devStatus == '1' ? '在线' : '离线'
       }}</view>
     </view>
 
@@ -75,7 +75,9 @@
           <view class="card-title">{{ item.factorName }}</view>
           <view class="data-value-row">
             <view>
-              <text v-if="item.yData && item.yData.length" class="data-value">{{ item.yData[0] }}</text>
+              <text v-if="item.yData && item.yData.length" class="data-value">{{
+                item.yData[0]
+              }}</text>
               <text class="data-unit">{{ item.factorUnit }}</text>
             </view>
             <image
@@ -200,21 +202,23 @@
           </view>
 
           <view class="pagination" v-if="tableData && tableData.length > 0">
-            <view 
-              class="page-item prev" 
+            <view
+              class="page-item prev"
               :class="{ disabled: page <= 1 }"
               @click="prevPage"
-            >上一页</view>
+              >上一页</view
+            >
             <view class="page-info">
               <text class="curret-page">{{ page }}</text>
               <text>/</text>
               <text>{{ totalPages }}</text>
             </view>
-            <view 
-              class="page-item next" 
+            <view
+              class="page-item next"
               :class="{ disabled: page >= totalPages }"
               @click="nextPage"
-            >下一页</view>
+              >下一页</view
+            >
           </view>
         </view>
       </view>
@@ -225,7 +229,7 @@
 <script>
 export default {
   onLoad(options) {
-    console.log(options, "optionsss");
+    console.log(options, 'optionsss');
     this.deviceInfo = options;
     this.initDateRange(options.uptime);
     this.getQxzObData();
@@ -235,13 +239,13 @@ export default {
   data() {
     return {
       deviceInfo: {},
-      activeTab: "monitoring",
+      activeTab: 'monitoring',
       monitorList: [],
       statusList: [],
       show: false,
-      mode: "range",
-      startDate: "",
-      endDate: "",
+      mode: 'range',
+      startDate: '',
+      endDate: '',
       page: 1,
       pageSize: 9,
       total: 0,
@@ -256,20 +260,20 @@ export default {
   },
   methods: {
     formatTimestamp(timestamp) {
-      if (!timestamp) return "";
+      if (!timestamp) return '';
       const date = new Date(Number(timestamp) * 1000);
       const year = date.getFullYear();
-      const month = String(date.getMonth() + 1).padStart(2, "0");
-      const day = String(date.getDate()).padStart(2, "0");
-      const hours = String(date.getHours()).padStart(2, "0");
-      const minutes = String(date.getMinutes()).padStart(2, "0");
-      const seconds = String(date.getSeconds()).padStart(2, "0");
+      const month = String(date.getMonth() + 1).padStart(2, '0');
+      const day = String(date.getDate()).padStart(2, '0');
+      const hours = String(date.getHours()).padStart(2, '0');
+      const minutes = String(date.getMinutes()).padStart(2, '0');
+      const seconds = String(date.getSeconds()).padStart(2, '0');
       return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
     },
     formatDate(date) {
       const year = date.getFullYear();
-      const month = String(date.getMonth() + 1).padStart(2, "0");
-      const day = String(date.getDate()).padStart(2, "0");
+      const month = String(date.getMonth() + 1).padStart(2, '0');
+      const day = String(date.getDate()).padStart(2, '0');
       return `${year}-${month}-${day}`;
     },
     initDateRange(timestamp) {
@@ -295,19 +299,24 @@ export default {
       uni.setClipboardData({
         data: item,
         success: function () {
-          console.log("success");
+          console.log('success');
         },
       });
     },
     goPage(type, eleItem) {
-      let url = ''
+      let url = '';
       if (eleItem && eleItem.key) {
-        url = `/pages/deviceDetails/weatherStation/${type}?deviceInfo=${encodeURIComponent(JSON.stringify(this.deviceInfo))}&eleKey=${eleItem.key}`
+        url = `/pages/deviceDetails/weatherStation/${type}?deviceInfo=${encodeURIComponent(JSON.stringify(this.deviceInfo))}&eleKey=${eleItem.key}`;
       } else {
-        url = `/pages/deviceDetails/weatherStation/${type}?deviceInfo=${encodeURIComponent(JSON.stringify(this.deviceInfo))}`
+        url = `/pages/deviceDetails/weatherStation/${type}?deviceInfo=${encodeURIComponent(JSON.stringify(this.deviceInfo))}`;
       }
+
+      if (type === 'devRepair') {
+        url = `/pages/afterSale/addafter?d_id=${this.deviceInfo.d_id}&device_id=${this.deviceInfo.devBid}&device_type=${this.deviceInfo.deviceType}`;
+      }
+
       uni.navigateTo({
-        url
+        url,
       });
     },
     openDatePicker() {
@@ -335,16 +344,16 @@ export default {
     // 获取设备最新监测数据
     async getQxzObData() {
       const res = await this.$myRequest({
-        url: "/api/api_gateway?method=qxz.data.qxz_ob_last_data",
+        url: '/api/api_gateway?method=qxz.data.qxz_ob_last_data',
         data: {
           device_id: this.deviceInfo.devBid,
         },
       });
-      console.log("设备最新监测数据:", res);
-      const title = res.title
-      const data = res.data
-      const alias = res.alias
-      this.monitorList = this.formatChartData(title, data, alias)
+      console.log('设备最新监测数据:', res);
+      const title = res.title;
+      const data = res.data;
+      const alias = res.alias;
+      this.monitorList = this.formatChartData(title, data, alias);
     },
     formatChartData(obj, data, alias) {
       const keys = Object.keys(obj);
@@ -359,7 +368,7 @@ export default {
             yData: data[prop],
             factorUnit: objArr[3],
             newData: objArr[5],
-            alias: alias[prop]
+            alias: alias[prop],
           });
         }
       }
@@ -377,7 +386,7 @@ export default {
           result.push({
             label: String(value),
             prop,
-            align: 'center'
+            align: 'center',
           });
         }
       }
@@ -386,19 +395,19 @@ export default {
     // 获取设备状态数据
     async getDeviceStatus() {
       const res = await this.$myRequest({
-        url: "/api/api_gateway?method=qxz.data.qxz_status",
+        url: '/api/api_gateway?method=qxz.data.qxz_status',
         data: {
           device_id: this.deviceInfo.devBid,
         },
       });
-      console.log("getDeviceStatus:", res);
+      console.log('getDeviceStatus:', res);
       const newArr = this.transformObjectToArray(res);
       this.statusList = newArr;
-      console.log(this.statusList, "getDevStatus");
+      console.log(this.statusList, 'getDevStatus');
     },
     transformObjectToArray(originalData) {
       if (
-        typeof originalData !== "object" ||
+        typeof originalData !== 'object' ||
         originalData === null ||
         Array.isArray(originalData)
       ) {
@@ -406,7 +415,7 @@ export default {
       }
 
       return Object.keys(originalData).map((key) => {
-        const [val = "", label = ""] = originalData[key] || [];
+        const [val = '', label = ''] = originalData[key] || [];
         return {
           label,
           val,
@@ -417,17 +426,21 @@ export default {
     // 设备数据列表
     async getDeviceData() {
       const data = await this.$myRequest({
-        url: "/api/api_gateway?method=qxz.data.qxz_device_data",
+        url: '/api/api_gateway?method=qxz.data.qxz_device_data',
         data: {
           device_id: this.deviceInfo.devBid,
           page: String(this.page),
           page_size: String(this.pageSize),
-          start: String(Math.floor(new Date(this.startDate + " 00:00:00").getTime() / 1000)),
-          end: String(Math.floor(new Date(this.endDate + " 23:59:59").getTime() / 1000)),
+          start: String(
+            Math.floor(new Date(this.startDate + ' 00:00:00').getTime() / 1000),
+          ),
+          end: String(
+            Math.floor(new Date(this.endDate + ' 23:59:59').getTime() / 1000),
+          ),
         },
       });
-      console.log(data, "resss");
-      
+      console.log(data, 'resss');
+
       if (Array.isArray(data) && data.length > 0) {
         this.total = data[0]?.count || 0;
         this.tableData = data[0].data || [];
@@ -439,15 +452,15 @@ export default {
               prop: item[0],
             };
           })
-          .filter((item) => item.prop !== "uptime");
+          .filter((item) => item.prop !== 'uptime');
       } else {
         // 没数据时,设置为空
         this.total = 0;
         this.tableData = [];
         this.tableColumn = [];
       }
-      console.log(this.tableColumn, "tableCol");
-      console.log(this.tableData, "tableData");
+      console.log(this.tableColumn, 'tableCol');
+      console.log(this.tableData, 'tableData');
     },
   },
 };
@@ -484,7 +497,7 @@ export default {
     width: 116rpx;
     color: #999999;
     text-align: right;
-    font-family: "Source Han Sans CN VF";
+    font-family: 'Source Han Sans CN VF';
     font-size: 28rpx;
     font-style: normal;
     font-weight: 400;
@@ -495,7 +508,7 @@ export default {
 
   .info-value {
     color: #333333;
-    font-family: "Source Han Sans CN VF";
+    font-family: 'Source Han Sans CN VF';
     font-size: 28rpx;
     font-style: normal;
     font-weight: 400;
@@ -553,7 +566,7 @@ export default {
     position: relative;
     color: #666666;
     text-align: center;
-    font-family: "Source Han Sans CN VF";
+    font-family: 'Source Han Sans CN VF';
     font-size: 28rpx;
     font-style: normal;
     font-weight: 400;
@@ -615,7 +628,7 @@ export default {
     border-radius: 16rpx;
     padding: 16rpx 24rpx;
     height: 186rpx;
-    font-family: "Source Han Sans CN VF";
+    font-family: 'Source Han Sans CN VF';
     font-size: 28rpx;
     font-weight: 400;
     box-sizing: border-box;
@@ -628,7 +641,7 @@ export default {
       justify-content: space-between;
       align-items: center;
       color: #042118;
-      font-family: "Source Han Sans CN VF";
+      font-family: 'Source Han Sans CN VF';
       font-weight: 400;
       .data-value {
         font-size: 40rpx;
@@ -665,7 +678,7 @@ export default {
       margin-bottom: 24rpx;
       .control-left {
         color: #999999;
-        font-family: "Source Han Sans CN VF";
+        font-family: 'Source Han Sans CN VF';
         font-size: 28rpx;
         display: flex;
         align-items: center;
@@ -732,7 +745,7 @@ export default {
       margin-bottom: 16rpx;
       .title {
         color: #042118;
-        font-family: "Source Han Sans CN VF";
+        font-family: 'Source Han Sans CN VF';
         font-size: 28rpx;
         font-style: normal;
         font-weight: 700;
@@ -742,7 +755,7 @@ export default {
         display: flex;
         align-items: center;
         color: #020305;
-        font-family: "Source Han Sans CN VF";
+        font-family: 'Source Han Sans CN VF';
         font-size: 24rpx;
         font-weight: 400;
         border-radius: 32rpx;
@@ -766,7 +779,7 @@ export default {
       box-sizing: border-box;
       margin: 20rpx 0;
       color: #042118;
-      font-family: "Source Han Sans CN VF";
+      font-family: 'Source Han Sans CN VF';
       font-size: 24rpx;
       font-style: normal;
       font-weight: 400;
@@ -845,7 +858,7 @@ export default {
       }
       .page-info {
         color: #999999;
-        font-family: "Source Han Sans CN VF";
+        font-family: 'Source Han Sans CN VF';
         font-size: 24rpx;
         font-style: normal;
         font-weight: 400;

+ 36 - 28
pages/equipList/index.vue

@@ -55,7 +55,8 @@
               <p class="p1">
                 <image
                   :src="
-                    $imageURL+'/bigdata_app/image/fourMoodBase/' +
+                    $imageURL +
+                    '/bigdata_app/image/fourMoodBase/' +
                     type_id +
                     '.png'
                   "
@@ -124,7 +125,8 @@
     <view class="top" v-if="isTop" @click="top">
       <image
         :src="
-          $imageURL+'/bigdata_app' +
+          $imageURL +
+          '/bigdata_app' +
           '/image/6209a98f0cb3b5086f2ca36152c9269.png'
         "
         mode=""
@@ -339,10 +341,13 @@ export default {
       this.width = '90%';
     },
     modification(item) {
-      console.log(item,'itemitmeimteimtei')
+      console.log(item, 'itemitmeimteimtei');
       uni.navigateTo({
         url:
-          './seabox/modification?data=' + JSON.stringify(item) + '&id=' + this.type_id,
+          './seabox/modification?data=' +
+          JSON.stringify(item) +
+          '&id=' +
+          this.type_id,
       });
     },
     top() {
@@ -384,20 +389,20 @@ export default {
               '../prevention/equipmentdetails?shebei=' + JSON.stringify(item),
           });
           break;
-		case 38:
-			// console.log(item);
-			var obj = {};
-			obj.d_id = item.d_id;
-			obj.equip_id = item.imei;
-			obj.is_online = item.is_online;
-			obj.lat = item.lat;
-			obj.lng = item.lng;
-			obj.equip_name = item.device_name;
-			obj.uptime = item.uptime;
-			uni.navigateTo({
-			  url: '../environment/equipment-new?shebei=' + JSON.stringify(obj),
-			});
-			break;
+        case 38:
+          // console.log(item);
+          var obj = {};
+          obj.d_id = item.d_id;
+          obj.equip_id = item.imei;
+          obj.is_online = item.is_online;
+          obj.lat = item.lat;
+          obj.lng = item.lng;
+          obj.equip_name = item.device_name;
+          obj.uptime = item.uptime;
+          uni.navigateTo({
+            url: '../environment/equipment-new?shebei=' + JSON.stringify(obj),
+          });
+          break;
         case 5:
           console.log(item);
           var obj = {};
@@ -423,10 +428,13 @@ export default {
           break;
         case 44:
           uni.navigateTo({
-            url: "/pages/webview?device_id=" + item.device_id + "&accessToken=" + uni
-              .getStorageSync('session_key') +
-              '&type=dgp'
-          })
+            url:
+              '/pages/webview?device_id=' +
+              item.device_id +
+              '&accessToken=' +
+              uni.getStorageSync('session_key') +
+              '&type=dgp',
+          });
           break;
         case 3:
           item.addtime = item.uptime;
@@ -648,16 +656,16 @@ export default {
           break;
         case 45:
           item.addtime = item.uptime;
-          console.log(item,'itemitmeimtie')
+          console.log(item, 'itemitmeimtie');
           uni.navigateTo({
             url: `../cb/shuifeizsFirst/shuifeizs?devBid=${item.d_id}&devName=${item.device_name}&devStatus=${item.is_online}`,
           });
           break;
-				case 46:
-				  uni.navigateTo({
-				    url: `../deviceDetails/weatherStation/index?devBid=${item.imei}&devName=${item.device_name}&devStatus=${item.is_online}&address=${item.address}&uptime=${item.uptime}&d_id=${item.d_id}`,
-				  });
-				  break;
+        case 46:
+          uni.navigateTo({
+            url: `../deviceDetails/weatherStation/index?devBid=${item.imei}&devName=${item.device_name}&devStatus=${item.is_online}&address=${item.address}&uptime=${item.uptime}&d_id=${item.d_id}&deviceType=46`,
+          });
+          break;
       }
     },
     search() {