Blame view

pages-sub/daily/patrol-manage/pending-plan-detail/index.vue 4.78 KB
a2702f6d   刘淇   巡查计划
1
2
3
4
5
6
  <template>
    <view class="pending-plan-detail">
      <!-- 计划详情卡片 -->
      <view class="detail-card">
        <!-- 标题行 -->
        <view class="detail-item">
993d98fa   刘淇   工作台
7
          <text class="label">计划名称:</text>
a2702f6d   刘淇   巡查计划
8
9
10
11
12
13
          <text class="value up-line-1">{{ planInfo && planInfo.title ? planInfo.title : '-' }}</text>
        </view>
  
        <!-- 计划编码行 -->
        <view class="detail-item">
          <text class="label">计划编码:</text>
993d98fa   刘淇   工作台
14
          <text class="value up-line-1">{{ planInfo.planNo ? planInfo.planNo : '-' }}</text>
a2702f6d   刘淇   巡查计划
15
16
17
18
19
        </view>
  
        <!-- 养护周期行 -->
        <view class="detail-item">
          <text class="label">养护周期:</text>
993d98fa   刘淇   工作台
20
          <text class="value up-line-1">{{ planInfo && planInfo.rate ? planInfo.rate : '-' }}</text>
a2702f6d   刘淇   巡查计划
21
22
23
24
25
        </view>
  
        <!-- 计划完成次数行 -->
        <view class="detail-item">
          <text class="label">计划完成次数:</text>
993d98fa   刘淇   工作台
26
          <text class="value up-line-1">{{ planInfo && planInfo.planNum ? planInfo.planNum : 0 }} 次</text>
a2702f6d   刘淇   巡查计划
27
28
29
30
31
32
        </view>
  
        <!-- 已完成次数行 + 查看记录按钮 -->
        <view class="detail-item flex-between">
          <view class="left-wrap">
            <text class="label">已完成次数:</text>
993d98fa   刘淇   工作台
33
            <text class="value up-line-1">{{ planInfo && planInfo.planFinishNum ? planInfo.planFinishNum : 0 }} 次</text>
a2702f6d   刘淇   巡查计划
34
35
          </view>
          <!-- 查看记录按钮(限制宽度+紧凑样式) -->
993d98fa   刘淇   工作台
36
          <up-button
a2702f6d   刘淇   巡查计划
37
38
              type="primary"
              size="mini"
a2702f6d   刘淇   巡查计划
39
              @click="gotoFinishPlanDetail"
993d98fa   刘淇   工作台
40
              :style="{ width: '80px', height: '28px', fontSize: '14px', borderRadius: 4 }"
a2702f6d   刘淇   巡查计划
41
42
          >
            查看记录
993d98fa   刘淇   工作台
43
          </up-button>
a2702f6d   刘淇   巡查计划
44
45
46
47
48
        </view>
  
        <!-- 计划有效期行 -->
        <view class="detail-item">
          <text class="label">计划有效期:</text>
993d98fa   刘淇   工作台
49
50
  <!--        <text class="value up-line-1">{{ planInfo && planInfo.validTime ? planInfo.validTime : '-' }}</text>-->
          <text class="value up-line-1">{{ timeFormat(planInfo.beginTime,'yyyy-mm-dd')}} 至 {{ timeFormat(planInfo.endTime,'yyyy-mm-dd')}} </text>
a2702f6d   刘淇   巡查计划
51
52
53
54
        </view>
      </view>
  
      <!-- 底部新增记录按钮 -->
993d98fa   刘淇   工作台
55
56
      <view class="fixed-bottom-btn-wrap">
        <up-button
a2702f6d   刘淇   巡查计划
57
58
            type="primary"
            size="default"
993d98fa   刘淇   工作台
59
60
            @click="submit"
            :style="{ width: '100%', height: '88rpx', fontSize: '32rpx', borderRadius: 0 }"
a2702f6d   刘淇   巡查计划
61
62
        >
          新增记录
993d98fa   刘淇   工作台
63
        </up-button>
a2702f6d   刘淇   巡查计划
64
65
66
67
68
      </view>
    </view>
  </template>
  
  <script setup>
993d98fa   刘淇   工作台
69
  import { timeFormat } from '@/uni_modules/uview-plus';
a2702f6d   刘淇   巡查计划
70
71
  import { ref } from 'vue';
  import { onLoad, onShow } from '@dcloudio/uni-app';
993d98fa   刘淇   工作台
72
  import { inspectionPlanDetail } from "@/api/patrol-manage/patrol-plan";
a2702f6d   刘淇   巡查计划
73
  // 响应式数据定义
993d98fa   刘淇   工作台
74
75
76
  const planInfo = ref({});
  const batchNo = ref('')
  const finishState = ref('')
a2702f6d   刘淇   巡查计划
77
78
  // 页面加载接收参数
  onLoad((options) => {
993d98fa   刘淇   工作台
79
80
81
    console.log('计划ID:', options.batchNo);
    batchNo.value = options.batchNo;
    finishState.value = options.status
a2702f6d   刘淇   巡查计划
82
  });
a2702f6d   刘淇   巡查计划
83
84
  // 页面显示时请求数据
  onShow(() => {
993d98fa   刘淇   工作台
85
    if (!batchNo.value) {
a2702f6d   刘淇   巡查计划
86
87
88
89
90
91
      uni.showToast({
        title: '计划ID不存在',
        icon: 'none'
      });
      return;
    }
993d98fa   刘淇   工作台
92
    getPlanDetail(batchNo.value);
a2702f6d   刘淇   巡查计划
93
  });
993d98fa   刘淇   工作台
94
95
96
97
98
99
100
101
102
  const getPlanDetail = async () => {
    const queryData = {
      batchNo: batchNo.value,
      finishState: finishState.value
    }
    console.log(queryData)
    const planInfoRes = await inspectionPlanDetail(queryData)
    planInfo.value = planInfoRes[0]
    console.log(planInfoRes)
a2702f6d   刘淇   巡查计划
103
  };
a2702f6d   刘淇   巡查计划
104
105
  // 跳转到已完成计划明细
  const gotoFinishPlanDetail = () => {
993d98fa   刘淇   工作台
106
  
a2702f6d   刘淇   巡查计划
107
    uni.navigateTo({
993d98fa   刘淇   工作台
108
      url: `/pages-sub/daily/patrol-manage/finish-plan-detail/index?batchNo=${planInfo.value.code}`
a2702f6d   刘淇   巡查计划
109
110
    });
  };
a2702f6d   刘淇   巡查计划
111
112
113
114
115
116
117
118
119
120
  // 新增记录
  const addNewRecord = () => {
    if (!planInfo.value || !planInfo.value.code) {
      uni.showToast({
        title: '计划数据未加载完成',
        icon: 'none'
      });
      return;
    }
    uni.navigateTo({
993d98fa   刘淇   工作台
121
      url: `/pages-sub/daily/patrol-manage/add-patrol-record/index?batchNo=${planInfo.value.code}`
a2702f6d   刘淇   巡查计划
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
    });
  };
  </script>
  
  <style scoped lang="scss">
  .pending-plan-detail {
    background-color: #f8f8f8;
    display: flex;
    flex-direction: column;
    min-height: 100vh; // 恢复最小高度,保证页面占满屏幕
    padding-bottom: 88rpx; // 给底部按钮留空间
  }
  
  .detail-card {
    padding: 20rpx;
    background-color: #fff;
    border-radius: 12rpx;
    box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
    flex: 1;
  }
  
  .detail-item {
    display: flex;
    align-items: center;
    font-size: 28rpx;
    line-height: 1.8;
    padding: 10rpx 0;
    border-bottom: 1px solid #f5f5f5;
  
    &:last-child {
      border-bottom: none;
    }
  }
  
  .flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
  
    .left-wrap {
      display: flex;
      align-items: center;
      flex: 1; // 占满剩余空间,按钮靠右
    }
  }
  
  .label {
    color: #999;
    width: 200rpx;
    flex-shrink: 0;
  }
  
  .value {
    color: #333;
    flex: 1;
    word-break: break-all;
  }
  
a2702f6d   刘淇   巡查计划
180
  </style>