Browse Source

设备详情tab处理,巡检工单样式调整

lipenghui 2 months ago
parent
commit
dd9857f8e4

+ 1 - 1
src/config/axios/service.ts

@@ -182,7 +182,7 @@ service.interceptors.response.use(
       // 判断是否包含rq/iot路径
       if (requestUrl.includes('rq/')||requestUrl.includes('system/dict')||requestUrl.includes('system/auth/get-permission-info')||requestUrl.includes('system/dept/list')
         ||requestUrl.includes('system/menu/simple-list')||requestUrl.includes('system/menu/list')||requestUrl.includes('system/dept/simple-list')
-        ||requestUrl.includes('pms/')) {
+        ||requestUrl.includes('pms/')||requestUrl.includes('system/user/page')) {
         const localeStore = useLocaleStore()
         const lang = localeStore.getCurrentLocale.lang
         if (data&& data.data) {

+ 33 - 17
src/views/pms/device/DeviceInfo.vue

@@ -13,13 +13,13 @@
         <el-form ref="formRef" :disabled="false" :model="formData" label-width="120px">
           <el-row>
             <el-col :span="8">
-              <el-form-item :label="t('chooseMaintain.deviceCode')" prop="deviceCode"
-                >{{ formData.deviceCode }}
+              <el-form-item :label="t('chooseMaintain.deviceCode')" prop="deviceCode">
+                {{ formData.deviceCode }}
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item :label="t('chooseMaintain.deviceName')" prop="deviceName"
-                >{{ formData.deviceName }}
+              <el-form-item :label="t('chooseMaintain.deviceName')" prop="deviceName">
+                {{ formData.deviceName }}
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -67,7 +67,7 @@
     </div>
   </ContentWrap>
   <ContentWrap v-loading="formLoading">
-    <el-tabs v-model="activeName">
+    <el-tabs v-model="activeName" @tab-click="handleTabClick">
       <el-tab-pane :label="t('deviceInfo.basicInformation')" name="info">
         <el-form style="margin-top: 5px; margin-left: 35px; margin-right: 35px">
           <el-row style="border-bottom: 1px solid #dcdfe6">
@@ -144,54 +144,58 @@
         </el-form>
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.fileLibrary')" name="file">
-        <DeviceUpload ref="fileRef" v-model:activeName="activeName" />
+        <DeviceUpload ref="fileRef" v-if="loadedTabs.includes('1')" />
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.deviceBOM')" name="bom">
-<!--        <BomInfo ref="bomRef" v-model:activeName="activeName" />-->
-        <BomList ref="bomRef" v-model:activeName="activeName" :deviceId="id" />
+        <BomList ref="bomRef" v-model:activeName="activeName" :deviceId="id" v-if="loadedTabs.includes('2')" />
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.operationRecords')" name="record">
-        <RecordList ref="recordRef" v-model:activeName="activeName" :deviceId="id" />
+        <RecordList ref="recordRef" v-model:activeName="activeName" :deviceId="id" v-if="loadedTabs.includes('3')" />
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.faultRecords')" name="failure">
-        <FailureList ref="failureRef" v-model:activeName="activeName" :deviceId="id" />
+        <FailureList ref="failureRef" v-model:activeName="activeName" :deviceId="id" v-if="loadedTabs.includes('4')" />
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.repairRecords')" name="maintain">
-        <MaintainList ref="maintainRef" v-model:activeName="activeName" :deviceId="id" />
+        <MaintainList ref="maintainRef" v-model:activeName="activeName" :deviceId="id" v-if="loadedTabs.includes('5')" />
       </el-tab-pane>
-      <el-tab-pane :label="t('deviceInfo.maintenanceRecords')"  name="maintenance">
+      <el-tab-pane :label="t('deviceInfo.maintenanceRecords')" name="maintenance">
         <MaintenanceList
           ref="maintenanceRef"
           v-model:activeName="activeName"
-          :deviceId = "id"
+          :deviceId="id"
+          v-if="loadedTabs.includes('6')"
         />
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.inspectionRecords')" name="inspect">
         <InspectList
           ref="inspectRef"
           v-model:activeName="activeName"
-          :deviceId = "id"
+          :deviceId="id"
+          v-if="loadedTabs.includes('7')"
         />
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.transferRecords')" name="allot">
         <AllotLogList
           ref="allotRef"
           v-model:activeName="activeName"
-          :deviceId = "id"
+          :deviceId="id"
+          v-if="loadedTabs.includes('8')"
         />
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.statusChangeRecords')" name="status">
         <DeviceStatusLogList
           ref="statusRef"
           v-model:activeName="activeName"
-          :deviceId = "id"
+          :deviceId="id"
+          v-if="loadedTabs.includes('9')"
         />
       </el-tab-pane>
       <el-tab-pane :label="t('deviceInfo.RPAdjustmentRecords')" name="person">
         <PersonList
           ref="personRef"
           v-model:activeName="activeName"
-          :deviceId = "id"
+          :deviceId="id"
+          v-if="loadedTabs.includes('10')"
         />
       </el-tab-pane>
     </el-tabs>
@@ -213,6 +217,7 @@ import DeviceStatusLogList from "@/views/pms/device/statuslog/DeviceStatusLogLis
 import PersonList from '@/views/pms/device/personlog/PersonList.vue'
 import RecordList from '@/views/pms/device/record/RecordList.vue'
 import { createImageViewer } from '@/components/ImageViewer'
+import { ref, onMounted } from 'vue';
 
 const defaultPicUrl = ref(
   'https://iot.deepoil.cc/admin-api/infra/file/29/get/IntegratedSolution.png'
@@ -251,6 +256,8 @@ const formData = ref({
 })
 const pics = ref([])
 const imgSrc = ref('')
+const loadedTabs = ref(['info']); // 记录已加载的标签
+
 /** 获得详情 */
 const getDetail = async () => {
   if (id) {
@@ -272,11 +279,20 @@ const getDetail = async () => {
     }
   }
 }
+
 const imagePreview = (imgUrl: string) => {
   createImageViewer({
     urlList: [imgUrl]
   })
 }
+
+const handleTabClick = (tab) => {
+  if (!loadedTabs.value.includes(tab.index)) {
+    // 这里可以添加每个标签对应的加载逻辑,如果有的话
+    loadedTabs.value.push(tab.index);
+  }
+}
+
 /** 初始化 */
 onMounted(async () => {
   await getDetail()

+ 7 - 7
src/views/pms/inspect/order/index.vue

@@ -106,13 +106,13 @@
           </el-table-column>
           <el-table-column :label="t('iotMaintain.PersonInCharge')" align="center" prop="chargeName" />
 <!--          <el-table-column label="备注" align="center" prop="remark" />-->
-<!--          <el-table-column-->
-<!--            label="创建时间"-->
-<!--            align="center"-->
-<!--            prop="createTime"-->
-<!--            :formatter="dateFormatter"-->
-<!--            width="180px"-->
-<!--          />-->
+          <el-table-column
+            label="生成时间"
+            align="center"
+            prop="createTime"
+            :formatter="dateFormatter"
+            width="180px"
+          />
           <el-table-column :label="t('iotMaintain.operation')" align="center" min-width="120px">
             <template #default="scope">
               <!--          <el-button-->

+ 4 - 4
src/views/pms/inspect/plan/IotInspectPlan.vue

@@ -70,8 +70,8 @@
     </ContentWrap>
     <ContentWrap>
       <!-- 列表 -->
-      <ContentWrap>
-        <ContentWrap>
+<!--      <ContentWrap>-->
+<!--        <ContentWrap>-->
           <el-form
             class="-mb-15px"
             :model="queryParams"
@@ -123,8 +123,8 @@
               </template>
             </el-table-column>
           </el-table>
-        </ContentWrap>
-      </ContentWrap>
+<!--        </ContentWrap>-->
+<!--      </ContentWrap>-->
     </ContentWrap>
     <ContentWrap>
       <el-form>