Blame view

pages-sub/daily/patrol-manage/pending-plan-detail/index.vue 4.51 KB
a2702f6d   刘淇   巡查计划
1
2
3
  <template>
    <view class="pending-plan-detail">
      <!-- 计划详情卡片 -->
5cb33b90   刘淇   完成巡查计划 详情
4
      <view class="detail-card" v-for="i in planInfo" :key="i.planNo">
a2702f6d   刘淇   巡查计划
5
6
        <!-- 标题行 -->
        <view class="detail-item">
993d98fa   刘淇   工作台
7
          <text class="label">计划名称:</text>
5cb33b90   刘淇   完成巡查计划 详情
8
          <text class="value up-line-1">{{ i.planName || '-' }}</text>
a2702f6d   刘淇   巡查计划
9
10
11
12
13
        </view>
  
        <!-- 计划编码行 -->
        <view class="detail-item">
          <text class="label">计划编码:</text>
5cb33b90   刘淇   完成巡查计划 详情
14
          <text class="value up-line-1">{{ i.planNo || '-' }}</text>
a2702f6d   刘淇   巡查计划
15
16
17
18
19
        </view>
  
        <!-- 养护周期行 -->
        <view class="detail-item">
          <text class="label">养护周期:</text>
5cb33b90   刘淇   完成巡查计划 详情
20
21
          <text class="value up-line-1">{{ i.rate || '-' }} {{ uni.$dict.getDictLabel('cycle_id_type', i.cycleId) }}
          </text>
a2702f6d   刘淇   巡查计划
22
        </view>
5cb33b90   刘淇   完成巡查计划 详情
23
        <!--      cycle_id_type-->
a2702f6d   刘淇   巡查计划
24
25
26
        <!-- 计划完成次数行 -->
        <view class="detail-item">
          <text class="label">计划完成次数:</text>
5cb33b90   刘淇   完成巡查计划 详情
27
          <text class="value up-line-1">{{ i.planNum || 0 }} 次</text>
a2702f6d   刘淇   巡查计划
28
29
30
31
32
33
        </view>
  
        <!-- 已完成次数行 + 查看记录按钮 -->
        <view class="detail-item flex-between">
          <view class="left-wrap">
            <text class="label">已完成次数:</text>
5cb33b90   刘淇   完成巡查计划 详情
34
            <text class="value up-line-1">{{ planInfo.i || 0 }} 次</text>
a2702f6d   刘淇   巡查计划
35
36
          </view>
          <!-- 查看记录按钮(限制宽度+紧凑样式) -->
5cb33b90   刘淇   完成巡查计划 详情
37
  
993d98fa   刘淇   工作台
38
          <up-button
5cb33b90   刘淇   完成巡查计划 详情
39
              v-if="i.planFinishNum>0"
a2702f6d   刘淇   巡查计划
40
41
              type="primary"
              size="mini"
5cb33b90   刘淇   完成巡查计划 详情
42
              @click="gotoFinishPlanDetail(i)"
993d98fa   刘淇   工作台
43
              :style="{ width: '80px', height: '28px', fontSize: '14px', borderRadius: 4 }"
a2702f6d   刘淇   巡查计划
44
45
          >
            查看记录
993d98fa   刘淇   工作台
46
          </up-button>
a2702f6d   刘淇   巡查计划
47
48
49
50
51
        </view>
  
        <!-- 计划有效期行 -->
        <view class="detail-item">
          <text class="label">计划有效期:</text>
5cb33b90   刘淇   完成巡查计划 详情
52
53
54
55
          <!--        <text class="value up-line-1">{{ planInfo && planInfo.validTime ? planInfo.validTime : '-' }}</text>-->
          <text class="value up-line-1">{{ timeFormat(i.beginTime, 'yyyy-mm-dd') }} 至
            {{ timeFormat(i.endTime, 'yyyy-mm-dd') }}
          </text>
a2702f6d   刘淇   巡查计划
56
57
58
        </view>
      </view>
  
5cb33b90   刘淇   完成巡查计划 详情
59
60
      <!-- 底部新增记录按钮     status=3-->
      <view class="fixed-bottom-btn-wrap" v-if="finishState==1">
993d98fa   刘淇   工作台
61
        <up-button
a2702f6d   刘淇   巡查计划
62
63
            type="primary"
            size="default"
5cb33b90   刘淇   完成巡查计划 详情
64
            @click="addNewRecord"
993d98fa   刘淇   工作台
65
            :style="{ width: '100%', height: '88rpx', fontSize: '32rpx', borderRadius: 0 }"
a2702f6d   刘淇   巡查计划
66
67
        >
          新增记录
993d98fa   刘淇   工作台
68
        </up-button>
a2702f6d   刘淇   巡查计划
69
70
71
72
73
      </view>
    </view>
  </template>
  
  <script setup>
993d98fa   刘淇   工作台
74
  import { timeFormat } from '@/uni_modules/uview-plus';
a2702f6d   刘淇   巡查计划
75
76
  import { ref } from 'vue';
  import { onLoad, onShow } from '@dcloudio/uni-app';
993d98fa   刘淇   工作台
77
  import { inspectionPlanDetail } from "@/api/patrol-manage/patrol-plan";
a2702f6d   刘淇   巡查计划
78
  // 响应式数据定义
5cb33b90   刘淇   完成巡查计划 详情
79
  const planInfo = ref([]);
993d98fa   刘淇   工作台
80
  const batchNo = ref('')
5cb33b90   刘淇   完成巡查计划 详情
81
  const planNo = ref('')
993d98fa   刘淇   工作台
82
  const finishState = ref('')
a2702f6d   刘淇   巡查计划
83
84
  // 页面加载接收参数
  onLoad((options) => {
993d98fa   刘淇   工作台
85
86
    console.log('计划ID:', options.batchNo);
    batchNo.value = options.batchNo;
5cb33b90   刘淇   完成巡查计划 详情
87
    // planNo.value = options.planNo;
993d98fa   刘淇   工作台
88
    finishState.value = options.status
a2702f6d   刘淇   巡查计划
89
  });
a2702f6d   刘淇   巡查计划
90
91
  // 页面显示时请求数据
  onShow(() => {
993d98fa   刘淇   工作台
92
    if (!batchNo.value) {
a2702f6d   刘淇   巡查计划
93
94
95
96
97
98
      uni.showToast({
        title: '计划ID不存在',
        icon: 'none'
      });
      return;
    }
993d98fa   刘淇   工作台
99
    getPlanDetail(batchNo.value);
a2702f6d   刘淇   巡查计划
100
  });
993d98fa   刘淇   工作台
101
102
103
104
105
106
107
  const getPlanDetail = async () => {
    const queryData = {
      batchNo: batchNo.value,
      finishState: finishState.value
    }
    console.log(queryData)
    const planInfoRes = await inspectionPlanDetail(queryData)
5cb33b90   刘淇   完成巡查计划 详情
108
    planInfo.value = planInfoRes
993d98fa   刘淇   工作台
109
    console.log(planInfoRes)
a2702f6d   刘淇   巡查计划
110
  };
a2702f6d   刘淇   巡查计划
111
  // 跳转到已完成计划明细
5cb33b90   刘淇   完成巡查计划 详情
112
  const gotoFinishPlanDetail = (i) => {
a2702f6d   刘淇   巡查计划
113
    uni.navigateTo({
5cb33b90   刘淇   完成巡查计划 详情
114
      url: `/pages-sub/daily/patrol-manage/finish-plan-detail/index?planNo=${i.planNo}`
a2702f6d   刘淇   巡查计划
115
116
    });
  };
a2702f6d   刘淇   巡查计划
117
118
  // 新增记录
  const addNewRecord = () => {
a2702f6d   刘淇   巡查计划
119
    uni.navigateTo({
5cb33b90   刘淇   完成巡查计划 详情
120
      url: `/pages-sub/daily/patrol-manage/add-patrol-record/index?planNo=${planInfo.value[0].planNo}&batchNo=${batchNo.value}`,
a2702f6d   刘淇   巡查计划
121
122
123
124
125
126
    });
  };
  </script>
  
  <style scoped lang="scss">
  .pending-plan-detail {
5cb33b90   刘淇   完成巡查计划 详情
127
  
a2702f6d   刘淇   巡查计划
128
129
130
131
132
  }
  
  .detail-card {
    padding: 20rpx;
    background-color: #fff;
5cb33b90   刘淇   完成巡查计划 详情
133
    margin-bottom: 20px;
a2702f6d   刘淇   巡查计划
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
  }
  
  .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   刘淇   巡查计划
173
  </style>