chenhaozhe
2025-07-14 25100ec3d663fdab00f6dacb9f427b772c2f806f
pages/baoyangjilu/table_son.vue
@@ -1,15 +1,9 @@
<template>
   <view class="content">
      <view class="infoArea">
         <!-- #ifdef MP-WEIXIN -->
         <view class="name">{{infoData['设备名称']}}</view>
         <view class="dm">( 代码:{{infoData['设备代码']}} )</view>
         <!-- #endif -->
         <!-- #ifndef MP-WEIXIN -->
         <view class="name">{{infoData.设备名称}}</view>
         <view class="dm">( 代码:{{infoData.设备代码}} )</view>
         <!-- #endif -->
         <!-- <view class="other">
<!--          <view class="other">
            <view class="half">出厂编号: <text>{{infoData.设备出厂编号}}</text></view>
            <view class="half">出厂日期: <text>{{infoData.设备出厂日期.substr(0,10)}}</text></view>
            <view class="half">设备编码: <text v-if="infoData.设备编码 != 'null'">{{infoData.设备编码}}</text></view>
@@ -19,62 +13,53 @@
            <view class="all">设备规格: <text v-if="infoData.设备规格 != 'null'">{{infoData.设备规格}}</text></view>
            <view class="all">设备型号: <text v-if="infoData.设备型号 != 'null'">{{infoData.设备型号}}</text></view>
         </view> -->
         <view class="choose">
            <view class="tab" :class="{focus: number == 1}" @tap="number = 1">保养项信息</view>
            <view class="tab" :class="{focus: number == 2}" @tap="number = 2">配件信息</view>
         </view>
      </view>
      <view style="width: 100%;height: 200rpx;"></view>
      <view v-if="number == 1">
         <view class="list" v-for="(item,index) in listData1" :key="index" v-if="listData1[0].HManagerName">
            <!-- #ifdef MP-WEIXIN -->
            <uni-card style="margin: 10px;"
               @tap="showDetail = showDetail==index?-1:index">
            <!-- #endif -->
            <!-- #ifndef MP-WEIXIN -->
            <uni-card :title="item.HMaintainItem" :extra="item.HMaintainItemNumber" style="margin: 10px;"
               @tap="showDetail = showDetail==index?-1:index">
            <!-- #endif -->
                  <view class="card-detail">
                     <view class="detail" v-if="item.HMaintainPart">
                        <text>保养部位:</text>{{item.HMaintainPart}}
                     </view>
                     <view class="detail" v-if="item.HManagerName">
                        <text>负责人:</text>{{item.HManagerName}}
                     </view>
                     <view class="detail" v-if="item.HManagerNumber">
                        <text>负责人代码:</text>{{item.HManagerNumber}}
                     </view>
                     <view class="detail" v-if="item.HRemark">
                        <text>备注:</text>{{item.HRemark}}
                     </view>
            <uni-card :title="item.HMaintainItem" :extra="item.HMaintainItemNumber" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index">
               <view class="card-detail">
                  <view class="detail" v-if="item.HMaintainPart">
                     <text>保养部位:</text>{{item.HMaintainPart}}
                  </view>
                  <view class="card-detail" v-if="showDetail == index">
                     <view class="detail">
                        <text>具体要求:</text>{{item.HClaim?item.HClaim:'暂无具体要求'}}
                     </view>
                  <view class="detail" v-if="item.HManagerName">
                     <text>负责人:</text>{{item.HManagerName}}
                  </view>
                  <view class="morea" v-if="showDetail == index">
                     <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>收起
                  <view class="detail" v-if="item.HManagerNumber">
                     <text>负责人代码:</text>{{item.HManagerNumber}}
                  </view>
                  <view class="morea" v-if="showDetail != index">
                     <uni-icons type="bottom" style="color: #888;margin-right: 10rpx;"
                        size="14"></uni-icons>查看具体要求
                  <view class="detail" v-if="item.HRemark">
                     <text>备注:</text>{{item.HRemark}}
                  </view>
               </uni-card>
               </view>
               <view class="card-detail" v-if="showDetail == index">
                  <view class="detail">
                     <text>具体要求:</text>{{item.HClaim?item.HClaim:'暂无具体要求'}}
                  </view>
               </view>
               <view class="morea" v-if="showDetail == index" >
                  <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>收起
               </view>
               <view class="morea" v-if="showDetail != index">
                  <uni-icons type="bottom" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>查看具体要求
               </view>
            </uni-card>
         </view>
         <view class="over" v-if="listData1.length == 0 || !listData1[0].HManagerName">暂无数据</view>
         <view class="over" v-if="listData1.length != 0 && listData1[0].HManagerName">已到底</view>
      </view>
      <view v-if="number == 2">
         <view class="list" v-for="(item,index) in listData2" :key="index" v-if="listData2[0].HManagerName">
            <uni-card :title="item.HMaterName" :extra="item.HMaterNumber" style="margin: 10px;"
               @tap="showDetail = showDetail==index?-1:index">
            <uni-card :title="item.HMaterName" :extra="item.HMaterNumber" style="margin: 10px;" @tap="showDetail = showDetail==index?-1:index">
               <view class="card-detail">
                  <view class="detail" v-if="item.HUnitName">
                     <text>单位名称:</text>{{item.HUnitName}}
@@ -100,7 +85,7 @@
               </view>
            </uni-card>
         </view>
         <view class="over" v-if="listData2.length == 0 || !listData2[0].HManagerName">暂无数据</view>
         <view class="over" v-if="listData2.length != 0 && listData2[0].HManagerName">已到底</view>
      </view>
@@ -108,51 +93,47 @@
</template>
<script>
   import {
      getUserInfo
   } from "@/utils/auth.js";
   import { getUserInfo } from "@/utils/auth.js";
   export default {
      data() {
         return {
            userInfo: getUserInfo(),
            serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
            infoData: {},
            number: 1,
            listData1: [],
            listData2: [],
            showDetail: -1,
         }
      },
       data() {
           return {
            userInfo:getUserInfo(),
            serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API',
            infoData:{},
            number:1,
            listData1:[],
            listData2:[],
            showDetail:-1,
           }
       },
      onLoad(e) {
         console.log(e)
         uni.setNavigationBarTitle({
            title: e['设备名称']
            title: e.设备名称
         });
         this.infoData = e
         this.getList(e.HInterID)
      },
      methods: {
         getList(HInterID) {
       methods: {
         getList(HInterID){
            uni.showLoading({
               title: '加载中...'
               title:'加载中...'
            })
            uni.request({
               url: this.serverUrl + '/Sb_EquipMaintainBill/Sb_EquipMaintainBillListProjectDetaiNew',
               data: {
                  "HInterID": HInterID
               },
               success: (res) => {
                  if (res.data.count == 1) {
                url: this.serverUrl + '/Sb_EquipMaintainBill/Sb_EquipMaintainBillListProjectDetaiNew',
               data: { "HInterID": HInterID },
                success: (res) => {
                  if(res.data.count == 1){
                     this.listData1 = res.data.list[0]
                     this.listData2 = res.data.list[1]
                     console.log(1, this.listData1);
                     console.log(2, this.listData2);
                     console.log(1,this.listData1);
                     console.log(2,this.listData2);
                     uni.hideLoading()
                  } else {
                  }else{
                     uni.hideLoading()
                     uni.showToast({
                        title: res.data.Message,
                        icon: 'none'
                        title:res.data.Message,
                        icon:'none'
                     })
                  }
               },
@@ -160,18 +141,18 @@
                  console.log(res);
                  uni.hideLoading()
                  uni.showToast({
                     title: '接口请求失败',
                     icon: 'none'
                     title:'接口请求失败',
                     icon:'none'
                  })
               },
            });
         },
      }
       }
   }
</script>
<style lang="scss" scoped>
   .infoArea {
   .infoArea{
      width: 100%;
      padding-top: 20rpx;
      background-color: #f0f0f0;
@@ -179,23 +160,20 @@
      top: 0;
      left: 0;
      z-index: 99;
      .name {
      .name{
         text-align: center;
         font-size: 32rpx;
         font-weight: 600;
         color: #333;
         line-height: 150%;
      }
      .dm {
      .dm{
         text-align: center;
         font-size: 27rpx;
         font-weight: 500;
         color: #333;
      }
      .other {
      .other{
         display: flex;
         flex-wrap: wrap;
         width: 90%;
@@ -203,23 +181,19 @@
         margin-top: 12rpx;
         font-size: 27rpx;
         color: #666;
         text {
         text{
            font-size: 28rpx;
            color: #333;
            margin-left: 10rpx;
         }
         .half {
         .half{
            width: 50%;
         }
         .all {
         .all{
            width: 100%;
         }
      }
      .choose {
      .choose{
         height: 70rpx;
         margin-top: 20rpx;
         padding: 0 30rpx;
@@ -228,15 +202,13 @@
         border-radius: 40rpx 40rpx 0 0;
         border-bottom: 2px solid #eee;
         display: flex;
         .tab {
         .tab{
            margin: 0 20rpx;
            text-align: center;
            font-size: 28rpx;
            color: #666;
         }
         .focus {
         .focus{
            font-size: 30rpx;
            color: #333;
            font-weight: 600;
@@ -244,49 +216,45 @@
         }
      }
   }
   .list {
   .list{
      width: 100%;
      .card-detail {
      .card-detail{
         width: 100%;
         display: flex;
         flex-wrap: wrap;
         justify-content: space-between;
         line-height: 120%;
         .detail {
         .detail{
            // width: 50%;
            font-size: 26rpx;
            margin-bottom: 12rpx;
            color: #555;
            margin-right: 20rpx;
            text {
            text{
               color: #999;
               font-size: 26rpx;
            }
         }
      }
      .more {
      .more{
         color: #888;
         font-size: 24rpx;
         display: flex;
         border-top: 1px solid #eee;
         padding-top: 20rpx;
         .part {
         .part{
            width: 50%;
            text-align: center;
         }
      }
      .morea {
      .morea{
         color: #888;
         font-size: 24rpx;
         padding-top: 10rpx;
         text-align: right;
      }
   }
</style>
</style>