|
|
@@ -1,17 +1,18 @@
|
|
1
|
1
|
<template>
|
|
2
|
2
|
<view class="wrapper">
|
|
3
|
3
|
|
|
4
|
|
- <div style="width: 96%;margin:10px auto; ">
|
|
|
4
|
+ <div style="width: 96%;margin:10px auto; ">
|
|
5
|
5
|
<input type="text" v-model="keyWords" placeholder="请输入工单标题" class="orderState key" @confirm="searchList">
|
|
6
|
6
|
</div>
|
|
7
|
|
- <div style="width: 96%;margin: 0 auto;" v-if=" tap == '查询工单' ">
|
|
8
|
|
- <uni-data-select v-model="orderState" :localdata="range" class="orderState" @change="chageList" placeholder="请输入工单状态"></uni-data-select>
|
|
9
|
|
- <depart-select @post-select-data = "postSelectData" class="orderState"></depart-select>
|
|
10
|
|
- </div>
|
|
|
7
|
+ <!-- <div style="width: 96%;margin: 0 auto;" v-if="tap == '查询工单' ">
|
|
|
8
|
+ <uni-data-select v-model="orderState" :localdata="range" class="orderState" @change="chageList"
|
|
|
9
|
+ placeholder="请输入工单状态"></uni-data-select>
|
|
|
10
|
+ <depart-select @post-select-data="postSelectData" class="orderState"></depart-select>
|
|
|
11
|
+ </div> -->
|
|
11
|
12
|
|
|
12
|
|
- <view v-if="isDisplay.displaySegmentedControl" class="segmentedControlWrapper">
|
|
|
13
|
+ <view v-if="segmenter.isShow" class="segmentedControlWrapper">
|
|
13
|
14
|
<uni-segmented-control :current="segmenter.current" :values="segmenter.items"
|
|
14
|
|
- @clickItem="onClickSegmentedControl" styleType="text" activeColor="#007aff"/>
|
|
|
15
|
+ @clickItem="onClickSegmentedControl" styleType="text" activeColor="#007aff" />
|
|
15
|
16
|
</view>
|
|
16
|
17
|
<view class="tableWrapper">
|
|
17
|
18
|
<!-- 基于 uni-list 的页面布局 -->
|
|
|
@@ -37,7 +38,7 @@
|
|
37
|
38
|
<view class="textState">{{ item.F_WorkState | workOrderState(item)}}</view>
|
|
38
|
39
|
</view>
|
|
39
|
40
|
</template>
|
|
40
|
|
-
|
|
|
41
|
+
|
|
41
|
42
|
</uni-list-item>
|
|
42
|
43
|
</uni-list>
|
|
43
|
44
|
<uni-load-more :status="loadMoreState"></uni-load-more>
|
|
|
@@ -47,21 +48,9 @@
|
|
47
|
48
|
</template>
|
|
48
|
49
|
|
|
49
|
50
|
<script>
|
|
50
|
|
- import departSelect from '@/pages/components/commonSelect/departSelect/departSelect.vue'
|
|
51
|
|
- const urlData = [
|
|
52
|
|
- "WorkOrder/GetList",
|
|
53
|
|
- "WorkOrder/GetLDDealList",
|
|
54
|
|
- "WorkOrder/GetDWDealList",
|
|
55
|
|
- "WorkOrder/GetZXDealList",
|
|
56
|
|
- "WorkOrder/GetTimeOutList",
|
|
57
|
|
- "workorder/GetSupervList",
|
|
58
|
|
- "workorder/GetEJDWDealList"
|
|
59
|
|
- ]
|
|
60
|
|
- const segmenterData = {
|
|
61
|
|
- 0: ["热线件", "督办件"], // 已办待回访
|
|
62
|
|
- 1: ["未追加回复", "已追加回复"], // 已办未果
|
|
63
|
|
- 2: ["督办待办", "督办重办"], // 督办工单
|
|
64
|
|
- }
|
|
|
51
|
+ import departSelect from '@/pages/components/commonSelect/departSelect/departSelect.vue';
|
|
|
52
|
+ import listUrl from '@/utils/listUrl.js'
|
|
|
53
|
+
|
|
65
|
54
|
export default {
|
|
66
|
55
|
components: {
|
|
67
|
56
|
departSelect
|
|
|
@@ -76,37 +65,37 @@
|
|
76
|
65
|
range: [{
|
|
77
|
66
|
value: 0,
|
|
78
|
67
|
text: '新工单'
|
|
79
|
|
- },{
|
|
|
68
|
+ }, {
|
|
80
|
69
|
value: 1,
|
|
81
|
70
|
text: '待交办'
|
|
82
|
|
- },{
|
|
|
71
|
+ }, {
|
|
83
|
72
|
value: 2,
|
|
84
|
73
|
text: '待查收'
|
|
85
|
|
- },{
|
|
|
74
|
+ }, {
|
|
86
|
75
|
value: 3,
|
|
87
|
76
|
text: '退回审核中'
|
|
88
|
|
- },{
|
|
|
77
|
+ }, {
|
|
89
|
78
|
value: 4,
|
|
90
|
79
|
text: '办理中'
|
|
91
|
|
- },{
|
|
|
80
|
+ }, {
|
|
92
|
81
|
value: 5,
|
|
93
|
82
|
text: '延时审核中'
|
|
94
|
|
- },{
|
|
|
83
|
+ }, {
|
|
95
|
84
|
value: 6,
|
|
96
|
85
|
text: '已办待审核'
|
|
97
|
|
- },{
|
|
|
86
|
+ }, {
|
|
98
|
87
|
value: 7,
|
|
99
|
88
|
text: '已办待回访'
|
|
100
|
|
- },{
|
|
|
89
|
+ }, {
|
|
101
|
90
|
value: 8,
|
|
102
|
91
|
text: '重办中'
|
|
103
|
|
- },{
|
|
|
92
|
+ }, {
|
|
104
|
93
|
value: 9,
|
|
105
|
94
|
text: '已结案'
|
|
106
|
|
- },{
|
|
|
95
|
+ }, {
|
|
107
|
96
|
value: 11,
|
|
108
|
97
|
text: '重办待交办'
|
|
109
|
|
- },{
|
|
|
98
|
+ }, {
|
|
110
|
99
|
value: 13,
|
|
111
|
100
|
text: '重办驳回'
|
|
112
|
101
|
}],
|
|
|
@@ -114,16 +103,29 @@
|
|
114
|
103
|
paramsData: {},
|
|
115
|
104
|
loadMoreState: 'more', //more loading no-more
|
|
116
|
105
|
segmenter: {
|
|
|
106
|
+ isShow: false,
|
|
117
|
107
|
current: 0,
|
|
118
|
|
- items: ["0", "1", "2"],
|
|
119
|
|
- type: "",
|
|
|
108
|
+ items: [],
|
|
120
|
109
|
},
|
|
121
|
110
|
isDisplay: {
|
|
122
|
111
|
displaySegmentedControl: false, // 分段器
|
|
123
|
112
|
},
|
|
|
113
|
+ urlData: null,
|
|
124
|
114
|
}
|
|
125
|
115
|
},
|
|
126
|
116
|
onLoad(optioin) {
|
|
|
117
|
+ console.log(optioin, 'optioin')
|
|
|
118
|
+ this.urlData = listUrl.getUrlData(optioin.menuCode);
|
|
|
119
|
+ if (!this.urlData) {
|
|
|
120
|
+ return;
|
|
|
121
|
+ }
|
|
|
122
|
+ if (this.urlData.tabs && this.urlData.tabs.length > 1) {
|
|
|
123
|
+ this.segmenter.isShow = true;
|
|
|
124
|
+ this.segmenter.items = this.urlData.tabs.map((o) => {
|
|
|
125
|
+ return o.label;
|
|
|
126
|
+ })
|
|
|
127
|
+ this.segmenter.current = 0;
|
|
|
128
|
+ }
|
|
127
|
129
|
this.tap = optioin.stingText
|
|
128
|
130
|
this.init(optioin)
|
|
129
|
131
|
},
|
|
|
@@ -142,8 +144,8 @@
|
|
142
|
144
|
this.getList(this.paramsData)
|
|
143
|
145
|
// this.departid = data
|
|
144
|
146
|
},
|
|
145
|
|
- init(optioin){
|
|
146
|
|
-
|
|
|
147
|
+ init(optioin) {
|
|
|
148
|
+
|
|
147
|
149
|
optioin.page = 1 // 页码
|
|
148
|
150
|
optioin.pagesize = 10 // 条数
|
|
149
|
151
|
optioin.keyWords = ''
|
|
|
@@ -165,25 +167,41 @@
|
|
165
|
167
|
this.getList(this.paramsData)
|
|
166
|
168
|
})
|
|
167
|
169
|
},
|
|
168
|
|
-
|
|
|
170
|
+
|
|
169
|
171
|
getList(optioin) {
|
|
170
|
|
- const params = {
|
|
|
172
|
+ let params = {
|
|
171
|
173
|
page: optioin.page,
|
|
172
|
174
|
pagesize: optioin.pagesize,
|
|
173
|
175
|
ComTitle: optioin.keyWords,
|
|
174
|
|
- deptid: optioin.departid == undefined ? "" : optioin.departid,
|
|
175
|
|
- tab: optioin.tab == undefined ? "" : optioin.tab,
|
|
176
|
|
- state: optioin.state == undefined ? "" : optioin.state,
|
|
177
|
|
- db: optioin.db == undefined ? "" : optioin.db,
|
|
178
|
|
- isproresult: optioin.isproresult == undefined ? "" : optioin.isproresult,
|
|
179
|
|
- Supervisor: optioin.Supervisor == undefined ? "" : optioin.Supervisor,
|
|
180
|
|
- iscb: optioin.iscb == undefined ? "" : optioin.iscb,
|
|
181
|
|
- tobereply: optioin.tobereply == undefined ? "" : optioin.tobereply,
|
|
182
|
|
- distribute: optioin.distribute == undefined ? "" : optioin.distribute,
|
|
|
176
|
+ // deptid: optioin.departid == undefined ? "" : optioin.departid,
|
|
|
177
|
+ // tab: optioin.tab == undefined ? "" : optioin.tab,
|
|
|
178
|
+ // state: optioin.state == undefined ? "" : optioin.state,
|
|
|
179
|
+ // db: optioin.db == undefined ? "" : optioin.db,
|
|
|
180
|
+ // isproresult: optioin.isproresult == undefined ? "" : optioin.isproresult,
|
|
|
181
|
+ // Supervisor: optioin.Supervisor == undefined ? "" : optioin.Supervisor,
|
|
|
182
|
+ // iscb: optioin.iscb == undefined ? "" : optioin.iscb,
|
|
|
183
|
+ // tobereply: optioin.tobereply == undefined ? "" : optioin.tobereply,
|
|
|
184
|
+ // distribute: optioin.distribute == undefined ? "" : optioin.distribute,
|
|
183
|
185
|
token: uni.getStorageSync("token"),
|
|
184
|
186
|
}
|
|
185
|
|
- let workOrderListType = Number(optioin.workOrderListType)
|
|
186
|
|
- let url = urlData[workOrderListType]
|
|
|
187
|
+
|
|
|
188
|
+ params = {
|
|
|
189
|
+ ...params,
|
|
|
190
|
+ ...this.urlData.params
|
|
|
191
|
+ };
|
|
|
192
|
+
|
|
|
193
|
+ if (this.segmenter.isShow) {
|
|
|
194
|
+ const current = this.urlData.tabs[this.segmenter.current]
|
|
|
195
|
+ params = {
|
|
|
196
|
+ ...params,
|
|
|
197
|
+ ...{
|
|
|
198
|
+ [`${current.field}`]: current.value,
|
|
|
199
|
+ },
|
|
|
200
|
+ }
|
|
|
201
|
+ }
|
|
|
202
|
+
|
|
|
203
|
+
|
|
|
204
|
+ let url = this.urlData.url
|
|
187
|
205
|
this.$http
|
|
188
|
206
|
.get(url, params)
|
|
189
|
207
|
.then((response) => {
|
|
|
@@ -222,33 +240,10 @@
|
|
222
|
240
|
|
|
223
|
241
|
onClickSegmentedControl(e) {
|
|
224
|
242
|
this.resetListData()
|
|
225
|
|
- switch (String(this.segmenter.type)) {
|
|
226
|
|
- case "0":
|
|
227
|
|
- if (String(e.currentIndex) === "0") {
|
|
228
|
|
- this.paramsData.db = 0
|
|
229
|
|
- } else if (String(e.currentIndex) === "1") {
|
|
230
|
|
- this.paramsData.db = 1
|
|
231
|
|
- }
|
|
232
|
|
- break
|
|
233
|
|
- case "1":
|
|
234
|
|
- if (String(e.currentIndex) === "0") {
|
|
235
|
|
- this.paramsData.isproresult = 1
|
|
236
|
|
- } else if (String(e.currentIndex) === "1") {
|
|
237
|
|
- this.paramsData.isproresult = 2
|
|
238
|
|
- }
|
|
239
|
|
- break
|
|
240
|
|
- case "2":
|
|
241
|
|
- if (String(e.currentIndex) === "0") {
|
|
242
|
|
- this.paramsData.iscb = 0
|
|
243
|
|
- } else if (String(e.currentIndex) === "1") {
|
|
244
|
|
- this.paramsData.iscb = 1
|
|
245
|
|
- }
|
|
246
|
|
- break
|
|
247
|
|
- }
|
|
248
|
|
-
|
|
|
243
|
+ this.segmenter.current = e.currentIndex;
|
|
249
|
244
|
this.getList(this.paramsData)
|
|
250
|
245
|
},
|
|
251
|
|
- resetListData(){
|
|
|
246
|
+ resetListData() {
|
|
252
|
247
|
this.listData = []
|
|
253
|
248
|
this.paramsData.page = 1
|
|
254
|
249
|
this.paramsData.pagesize = 10
|
|
|
@@ -320,7 +315,6 @@
|
|
320
|
315
|
*/
|
|
321
|
316
|
onReachBottom() {
|
|
322
|
317
|
if (this.listData.length >= 6) {
|
|
323
|
|
- console.loh(22222)
|
|
324
|
318
|
this.loadMoreState = 'loading'
|
|
325
|
319
|
this.paramsData.page = this.paramsData.page + 1
|
|
326
|
320
|
this.getList(this.paramsData)
|
|
|
@@ -334,18 +328,21 @@
|
|
334
|
328
|
|
|
335
|
329
|
<style lang="scss">
|
|
336
|
330
|
@import '@/common/uni-ui.scss';
|
|
337
|
|
- .orderState{
|
|
|
331
|
+
|
|
|
332
|
+ .orderState {
|
|
338
|
333
|
background-color: #fff;
|
|
339
|
|
- border: none;
|
|
340
|
|
- padding:2px 15px !important;
|
|
|
334
|
+ border: none;
|
|
|
335
|
+ padding: 2px 15px !important;
|
|
341
|
336
|
outline: none !important;
|
|
342
|
337
|
margin-bottom: 10px;
|
|
343
|
338
|
}
|
|
344
|
|
- .key{
|
|
|
339
|
+
|
|
|
340
|
+ .key {
|
|
345
|
341
|
border-radius: 4px;
|
|
346
|
|
- padding:8px 15px !important;
|
|
|
342
|
+ padding: 8px 15px !important;
|
|
347
|
343
|
font-size: 14px !important;
|
|
348
|
344
|
}
|
|
|
345
|
+
|
|
349
|
346
|
.wrapper {
|
|
350
|
347
|
padding: 5px 0 0 0;
|
|
351
|
348
|
|