Blame view

pages-sub/daily/quick-order/index.vue 5.63 KB
9b30ab8c   刘淇   新增快速工单,原版
1
  <template>
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
2
    <view class="page-container">
9b30ab8c   刘淇   新增快速工单,原版
3
4
5
      <!-- 顶部固定搜索栏 -->
      <up-sticky>
        <view class="search-header">
420cb443   刘淇   快速工单列表
6
          <!-- 左侧下拉框:替换为uView Plus的Select组件 -->
2f1e3176   刘淇   图片参数处理
7
          <view class="select-wrap common-text-color">
420cb443   刘淇   快速工单列表
8
9
10
11
12
13
14
15
            <up-select
                v-model:current="selectedSortValue"
                :options="sortOptions"
                :showOptionsLabel="true"
                @select="handleSortChange"
                border="surround"
                :style="{ flex: 1 }"
            />
9b30ab8c   刘淇   新增快速工单,原版
16
          </view>
c293da23   刘淇   新园林init
17
  
9b30ab8c   刘淇   新增快速工单,原版
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
          <!-- 右侧搜索框 -->
          <view class="search-input-wrap">
            <up-search
                v-model="searchValue"
                placeholder="请输入关键字"
                @search="handleSearch"
                bg-color="#f5f5f5"
                :clearabled="false"
                :show-action="true"
                actionText="搜索"
                :animation="true"
                @custom="handleSearch"
            />
          </view>
        </view>
      </up-sticky>
c293da23   刘淇   新园林init
34
  
9b30ab8c   刘淇   新增快速工单,原版
35
36
37
38
39
      <!-- 列表容器 -->
      <z-paging
          ref="paging"
          v-model="orderList"
          @query="queryList"
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
40
          :auto-show-system-loading="true"
9b30ab8c   刘淇   新增快速工单,原版
41
      >
420cb443   刘淇   快速工单列表
42
43
44
45
        <template #empty>
          <empty-view/>
        </template>
  
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
        <view class="common-card-list" style=" padding-top: 100rpx;">
          <up-card
              :border="false"
              :foot-border-top="false"
              v-for="(item,index) in orderList"
              :key="`${item.orderNo}_${index}`"
              :show-head="false"
          >
  
            <template #body>
              <view class="card-body">
                <view class="u-body-item u-flex">
                  <view class="u-body-item-title">工单编号:</view>
                  <view class="u-line-1 u-body-value">{{ item.orderNo || '-' }}</view>
                </view>
                <view class="u-body-item u-flex">
                  <view class="u-body-item-title">工单位置:</view>
4570c70a   刘淇   消息中心
63
                  <view class="u-line-1 u-body-value">{{ item.lonLatAddress || '-' }}</view>
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
                </view>
  
                <view class="u-body-item u-flex ">
                  <view class="u-body-item-title">工单名称:</view>
                  <view class="u-line-1 u-body-value"> {{ item.orderName || '未填写' }}</view>
                </view>
  
                <view class="u-body-item u-flex">
                  <view class="u-body-item-title">情况描述:</view>
                  <view class="u-line-1 u-body-value">{{ item.remark || '无' }}</view>
                </view>
  
                <view class="u-body-item u-flex common-item-center common-justify-between">
                  <view class="u-body-item-title u-body-value">提交时间:{{ timeFormat(item.createTime, 'yyyy-mm-dd hh:MM:ss') }}</view>
                  <view class="">
                    <up-button
                        type="primary"
                        size="mini"
                        @click="handleDetail(item)"
  
                    >
                      工单详情
                    </up-button>
                  </view>
  
                </view>
              </view>
            </template>
          </up-card>
9b30ab8c   刘淇   新增快速工单,原版
93
        </view>
9b30ab8c   刘淇   新增快速工单,原版
94
      </z-paging>
c293da23   刘淇   新园林init
95
  
9b30ab8c   刘淇   新增快速工单,原版
96
97
98
99
100
101
      <view class="fixed-bottom-btn-wrap">
        <up-button type="primary" size="large" @click="handleAddOrder">
          新增工单
        </up-button>
      </view>
    </view>
c293da23   刘淇   新园林init
102
103
  </template>
  
9b30ab8c   刘淇   新增快速工单,原版
104
  <script setup>
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
105
  import { ref } from 'vue';
9b30ab8c   刘淇   新增快速工单,原版
106
107
  import { workorderPage } from "@/api/quick-order/quick-order";
  import { timeFormat } from '@/uni_modules/uview-plus';
9b30ab8c   刘淇   新增快速工单,原版
108
  const selectedSortValue = ref(1);
420cb443   刘淇   快速工单列表
109
  // 1 位置 2 工单名称 3 情况描述 4 工单编号
9b30ab8c   刘淇   新增快速工单,原版
110
  const sortOptions = ref([
420cb443   刘淇   快速工单列表
111
112
113
114
    {name: '位置', id: 1},
    {name: '名称', id: 2},
    {name: '描述', id: 3},
    {name: '编号', id: 4},
9b30ab8c   刘淇   新增快速工单,原版
115
116
  ]);
  // 分页相关(核心:声明orderList)
9b30ab8c   刘淇   新增快速工单,原版
117
118
119
120
  const paging = ref(null);
  const orderList = ref([]); // 修复:新增列表变量
  // 搜索相关
  const searchValue = ref('');
b0e2f1a9   刘淇   快速工单和巡查计划样式优化
121
  // ========== 适配z-paging回调参数 ==========
420cb443   刘淇   快速工单列表
122
  const queryList = async (pageNo, pageSize) => {
9b30ab8c   刘淇   新增快速工单,原版
123
    try {
9b30ab8c   刘淇   新增快速工单,原版
124
125
126
127
      const apiParams = {
        searchContent: searchValue.value.trim() || '',
        pageNo: pageNo,
        pageSize: pageSize,
420cb443   刘淇   快速工单列表
128
        type: selectedSortValue.value //  1 位置 2 工单名称 3 情况描述 4 工单编号
9b30ab8c   刘淇   新增快速工单,原版
129
130
131
132
      };
      console.log('请求参数:', apiParams);
      const res = await workorderPage(apiParams);
      console.log('接口返回:', res);
9b30ab8c   刘淇   新增快速工单,原版
133
134
135
136
      paging.value.complete(res.list);
    } catch (error) {
      console.error('加载失败:', error);
      paging.value?.complete(false);
420cb443   刘淇   快速工单列表
137
      uni.showToast({title: '加载失败,请重试', icon: 'none'});
9b30ab8c   刘淇   新增快速工单,原版
138
139
    }
  };
9b30ab8c   刘淇   新增快速工单,原版
140
141
142
  // ========== 其他方法补充 ==========
  const handleSortChange = (val) => {
    console.log('排序变更:', val);
420cb443   刘淇   快速工单列表
143
144
    searchValue.value = ''
    selectedSortValue.value = val.id; // 更新选中值
9b30ab8c   刘淇   新增快速工单,原版
145
146
    paging.value?.reload(); // 排序后刷新列表
  };
9b30ab8c   刘淇   新增快速工单,原版
147
148
149
150
151
  const handleSearch = (val) => {
    console.log('搜索内容:', val);
    searchValue.value = val;
    paging.value?.reload(); // 搜索后刷新列表
  };
9b30ab8c   刘淇   新增快速工单,原版
152
153
154
155
156
157
  const handleDetail = (item) => {
    console.log('工单详情:', item);
    uni.navigateTo({
      url: `/pages-sub/daily/quick-order/order-detail?id=${item.id}`
    });
  };
9b30ab8c   刘淇   新增快速工单,原版
158
159
160
161
162
  const handleAddOrder = () => {
    uni.navigateTo({
      url: '/pages-sub/daily/quick-order/add-order'
    });
  };
9b30ab8c   刘淇   新增快速工单,原版
163
164
165
  </script>
  
  <style scoped lang="scss">
9b30ab8c   刘淇   新增快速工单,原版
166
167
168
169
170
171
  // 顶部搜索栏
  .search-header {
    display: flex;
    align-items: center;
    padding: 20rpx;
    background-color: #fff;
9b30ab8c   刘淇   新增快速工单,原版
172
173
    box-sizing: border-box;
  
420cb443   刘淇   快速工单列表
174
175
    // 下拉选择框容器
    .select-wrap {
2f1e3176   刘淇   图片参数处理
176
      width: 60px;
9b30ab8c   刘淇   新增快速工单,原版
177
      margin-right: 20rpx;
420cb443   刘淇   快速工单列表
178
179
180
181
182
183
184
185
186
      // 适配up-select样式
      :deep(.u-select) {
        width: 100%;
        font-size: 28rpx;
      }
  
      :deep(.u-input__placeholder) {
        font-size: 28rpx;
      }
9b30ab8c   刘淇   新增快速工单,原版
187
    }
9b30ab8c   刘淇   新增快速工单,原版
188
    .search-input-wrap {
420cb443   刘淇   快速工单列表
189
      flex: 3;
9b30ab8c   刘淇   新增快速工单,原版
190
191
192
    }
  }
  
c293da23   刘淇   新园林init
193
194
  
  </style>