|
|
@@ -16,41 +16,46 @@
|
|
16
|
16
|
<div class="child-warp">
|
|
17
|
17
|
<div class="center_item2_tit">
|
|
18
|
18
|
<span class="btn_tit" @click="goToPage('/')">郑州市</span> /
|
|
19
|
|
- <span class="btn_tit" @click="goToPage('/childMap')">荥阳市</span>/
|
|
20
|
|
- <span class="btn_tit" @click="goToPage('/orderList')">广武镇 区域工单</span>
|
|
|
19
|
+ <span class="btn_tit" @click="goToPage('/childMap')">{{ parentName }}</span>/
|
|
|
20
|
+ <span class="btn_tit" @click="goToPage('/orderList')">{{ areaName }} 区域工单</span>
|
|
21
|
21
|
</div>
|
|
22
|
|
- <div class="center_item2_search">
|
|
23
|
|
- <el-input class="search_item" v-model="queryParams.workordercode" placeholder="请输入编号" clearable/>
|
|
24
|
|
- <el-input class="search_item" v-model="queryParams.workordercode" placeholder="请输入编号" clearable/>
|
|
25
|
|
- <el-input class="search_item" v-model="queryParams.workordercode" placeholder="请输入编号" clearable/>
|
|
26
|
|
- <el-input class="search_item" v-model="queryParams.workordercode" placeholder="请输入编号" clearable/>
|
|
|
22
|
+ <div class="center_item2_search">
|
|
|
23
|
+ <el-input class="search_item" v-model="queryParams.workordercode" placeholder="请输入编号" clearable @blur="getWorkorder"/>
|
|
|
24
|
+ <el-input class="search_item" v-model="queryParams.createusername" placeholder="请输入受理人姓名"
|
|
|
25
|
+ clearable @blur="getWorkorder"/>
|
|
|
26
|
+ <el-cascader class="search_item" v-model="queryParams.workordercate" :options="orderTypes"
|
|
|
27
|
+ placeholder="请选择工单类型" :props="{
|
|
|
28
|
+ value: 'id',
|
|
|
29
|
+ children: 'children',
|
|
|
30
|
+ }" @change="getWorkorder" clearable />
|
|
|
31
|
+
|
|
|
32
|
+ <el-date-picker class="search_item" v-model="searchTimes" type="datetimerange" range-separator="至"
|
|
|
33
|
+ start-placeholder="开始时间" end-placeholder="结束时间" clearable @change="timeChange"/>
|
|
27
|
34
|
</div>
|
|
28
|
35
|
<div class="item2_con">
|
|
29
|
|
- <div class="item2_con_tit">
|
|
30
|
|
- <div style="width: 50%;">工单类别</div>
|
|
31
|
|
- <div style="width: 25%;">数量</div>
|
|
32
|
|
- <div style="width: 25%;">百分比</div>
|
|
|
36
|
+ <div class="item2_con_tit" style="width: 100%;">
|
|
|
37
|
+ <div style="width: 150px;">工单编号</div>
|
|
|
38
|
+ <div style="width: 150px;">工单类型</div>
|
|
|
39
|
+ <div style="width: calc(100vw - 700px);">工单内容</div>
|
|
|
40
|
+ <div style="width: 100px;">受理人</div>
|
|
|
41
|
+ <div style="width: 150px;">受理时间</div>
|
|
33
|
42
|
</div>
|
|
34
|
|
- <div class="scroll-container item2_con_con" ref="scrollContainerRef"
|
|
35
|
|
- @mouseenter="pauseScroll" @mouseleave="resumeScroll">
|
|
|
43
|
+ <div class="scroll-container item2_con_con" ref="scrollContainerRef" @mouseenter="pauseScroll"
|
|
|
44
|
+ @mouseleave="resumeScroll">
|
|
36
|
45
|
<div class="con_list" v-for="item in WorkordeData" :key="item.id">
|
|
37
|
|
- <div style="width: 50%; color: #50AEF8;">{{ item.workordercode }}</div>
|
|
38
|
|
- <div style="width: 25%;">{{ item.dealusername }}</div>
|
|
39
|
|
- <div style="width: 25%;">{{ item.workorderstatename }}</div>
|
|
|
46
|
+ <div style="width: 150px; color: #50AEF8;">{{ item.workordercode }}</div>
|
|
|
47
|
+ <div style="width: 150px;">{{ item.workordercatename }}</div>
|
|
|
48
|
+ <div style="width: calc(100vw - 700px);">{{ item.content }}</div>
|
|
|
49
|
+ <div style="width: 100px;">{{ item.createusername }}</div>
|
|
|
50
|
+ <div style="width: 150px;">{{ item.createtime }}</div>
|
|
40
|
51
|
</div>
|
|
41
|
52
|
</div>
|
|
42
|
53
|
</div>
|
|
43
|
|
- <el-pagination
|
|
44
|
|
- :background="false"
|
|
45
|
|
- class="pageEle"
|
|
46
|
|
- v-show="total > 0"
|
|
47
|
|
- :total="total"
|
|
48
|
|
- v-model:current-page="queryParams.pageNum"
|
|
49
|
|
- v-model:page-size="queryParams.pageSize"
|
|
50
|
|
- @pagination="getWorkorder"
|
|
51
|
|
- />
|
|
|
54
|
+ <el-pagination :background="false" class="pageEle" v-show="total > 0" :total="total"
|
|
|
55
|
+ v-model:current-page="queryParams.pageNum" v-model:page-size="queryParams.pageSize"
|
|
|
56
|
+ @pagination="getWorkorder" />
|
|
52
|
57
|
</div>
|
|
53
|
|
-
|
|
|
58
|
+
|
|
54
|
59
|
</div>
|
|
55
|
60
|
</div>
|
|
56
|
61
|
</template>
|
|
|
@@ -59,12 +64,18 @@
|
|
59
|
64
|
import { ref, onMounted } from 'vue'
|
|
60
|
65
|
import { useDataStore } from '@/stores/data'
|
|
61
|
66
|
import { getPageListData } from '@/api/index.js'
|
|
62
|
|
-import { useRouter } from 'vue-router';
|
|
|
67
|
+import { useRouter, useRoute } from 'vue-router';
|
|
|
68
|
+import moment from 'moment'
|
|
63
|
69
|
|
|
64
|
70
|
const router = useRouter()
|
|
65
|
|
-const dataStore = useDataStore()
|
|
|
71
|
+// const dataStore = useDataStore()
|
|
66
|
72
|
const currentTime = ref('')
|
|
67
|
73
|
|
|
|
74
|
+const route = useRoute()
|
|
|
75
|
+const parentName = ref(route.query.pName || '')
|
|
|
76
|
+const areaName = ref(route.query.area || '')
|
|
|
77
|
+const areaId = ref(route.query.areaId || '')
|
|
|
78
|
+
|
|
68
|
79
|
|
|
69
|
80
|
// 实时时钟
|
|
70
|
81
|
let timer = null
|
|
|
@@ -72,17 +83,26 @@ const updateTime = () => {
|
|
72
|
83
|
currentTime.value = new Date().toLocaleString()
|
|
73
|
84
|
}
|
|
74
|
85
|
|
|
|
86
|
+const orderTypes = ref([])
|
|
|
87
|
+
|
|
75
|
88
|
// 初始化数据
|
|
76
|
89
|
onMounted(() => {
|
|
77
|
90
|
init()
|
|
78
|
91
|
timer = setInterval(updateTime, 1000)
|
|
79
|
|
- dataStore.fetchRealTimeData()
|
|
|
92
|
+ // dataStore.initDictorys()
|
|
|
93
|
+
|
|
|
94
|
+ orderTypes.value = useDataStore().orderTypes
|
|
|
95
|
+ console.log(orderTypes.value, 'orderTypes')
|
|
80
|
96
|
})
|
|
81
|
97
|
function init() {
|
|
82
|
98
|
getWorkorder()
|
|
83
|
99
|
}
|
|
84
|
100
|
// 工单列表
|
|
85
|
101
|
const queryParams = ref({
|
|
|
102
|
+ starttime: '',
|
|
|
103
|
+ endtime: '',
|
|
|
104
|
+ workordercate: '',
|
|
|
105
|
+ createusername: '',
|
|
86
|
106
|
workordercode:'',
|
|
87
|
107
|
pageNum: 1,
|
|
88
|
108
|
pageSize: 10,
|
|
|
@@ -91,14 +111,35 @@ const total = ref(0)
|
|
91
|
111
|
const WorkordeData = ref({})
|
|
92
|
112
|
function getWorkorder() {
|
|
93
|
113
|
const params = {
|
|
|
114
|
+ area: 24574,//areaId.value,
|
|
94
|
115
|
pageNum: queryParams.value.pageNum,
|
|
95
|
116
|
pageSize: queryParams.value.pageSize,
|
|
96
|
117
|
listType: 0
|
|
97
|
118
|
}
|
|
|
119
|
+
|
|
|
120
|
+ if (queryParams.value.workordercode) {
|
|
|
121
|
+ params.workordercode = queryParams.value.workordercode
|
|
|
122
|
+ }
|
|
|
123
|
+
|
|
|
124
|
+ if (queryParams.value.createusername) {
|
|
|
125
|
+ params.createusername = queryParams.value.createusername
|
|
|
126
|
+ }
|
|
|
127
|
+
|
|
|
128
|
+ if (queryParams.value.workordercate) {
|
|
|
129
|
+ params.workordercate = queryParams.value.workordercate[queryParams.value.workordercate.length - 1]
|
|
|
130
|
+ }
|
|
|
131
|
+
|
|
|
132
|
+ if (queryParams.value.createtime) {
|
|
|
133
|
+ params.createtime = queryParams.value.createtime
|
|
|
134
|
+ }
|
|
|
135
|
+ if (queryParams.value.endtime) {
|
|
|
136
|
+ params.endtime = queryParams.value.endtime
|
|
|
137
|
+ }
|
|
|
138
|
+
|
|
98
|
139
|
getPageListData('/order/workorder', params).then((res) => {
|
|
99
|
140
|
if (res.state === 'success') {
|
|
100
|
141
|
WorkordeData.value = res.data
|
|
101
|
|
- total.value = 99
|
|
|
142
|
+ total.value = res.total
|
|
102
|
143
|
}
|
|
103
|
144
|
})
|
|
104
|
145
|
}
|
|
|
@@ -111,12 +152,26 @@ function goToPage(params) {
|
|
111
|
152
|
// }
|
|
112
|
153
|
});
|
|
113
|
154
|
}
|
|
|
155
|
+const searchTimes = ref([])
|
|
|
156
|
+const timeChange = (val) => {
|
|
|
157
|
+ console.log(val, 'val')
|
|
|
158
|
+ if (val?.length === 2) {
|
|
|
159
|
+ queryParams.value.createtime = moment(val[0]).format('YYYY-MM-DD HH:mm:ss')
|
|
|
160
|
+ queryParams.value.endtime = moment(val[1]).format('YYYY-MM-DD HH:mm:ss')
|
|
|
161
|
+ } else {
|
|
|
162
|
+ queryParams.value.createtime = ''
|
|
|
163
|
+ queryParams.value.endtime = ''
|
|
|
164
|
+ }
|
|
|
165
|
+
|
|
|
166
|
+ getWorkorder();
|
|
|
167
|
+}
|
|
114
|
168
|
</script>
|
|
115
|
169
|
|
|
116
|
170
|
<style lang="scss" scoped>
|
|
117
|
171
|
/* 使用 :deep() 穿透作用域样式 */
|
|
118
|
172
|
:deep() {
|
|
119
|
173
|
/* 输入框通用样式 */
|
|
|
174
|
+ .el-cascader,
|
|
120
|
175
|
.el-input,
|
|
121
|
176
|
.el-select,
|
|
122
|
177
|
.el-date-editor {
|